kD77by nameby nameBUILDd kHA./AA kz (m 777$ ./lpp_namemm4 R S IBMVJava.html.en_US { IBMVJava.html.en_US.enterprise 2.0.0.2 01 N B en_US VA Java Enterprise Documentation--U.S. English [ % /usr/IBMVJava/html/enterp/en_US/cics/ref 296 /usr/lpp/SAVESPACE 97896 /usr/lib/objrepos 1664 /usr/IBMVJava/html/enterp/en_US/dataacc/ref 2672 /usr/IBMVJava/html/enterp/en_US/dax/ref 840 /usr/IBMVJava/html/enterp/en_US/debug390/ui 8 /usr/IBMVJava/html/enterp/en_US/debug400/ref 8 /usr/IBMVJava/html/enterp/en_US/debug400/tasks 32 /usr/IBMVJava/html/enterp/en_US/debug400/ui 112 /usr/IBMVJava/html/enterp/en_US/debugwks/ui 8 /usr/IBMVJava/html/enterp/en_US/eab/concepts 328 /usr/IBMVJava/html/enterp/en_US/eab/images 72 /usr/IBMVJava/html/enterp/en_US/eab/ref 11736 /usr/IBMVJava/html/enterp/en_US/eab/tasks 456 /usr/IBMVJava/html/enterp/en_US/eab/ui 96 /usr/IBMVJava/html/enterp/en_US/encina/ref 1520 /usr/IBMVJava/html/enterp/en_US/gsolent/addapp 24 /usr/IBMVJava/html/enterp/en_US/gsolent/addstat 24 /usr/IBMVJava/html/enterp/en_US/gsolent/frstapp 48 /usr/IBMVJava/html/enterp/en_US/gsolent/images 2112 /usr/IBMVJava/html/enterp/en_US/gsolent/team 136 /usr/IBMVJava/html/enterp/en_US/gsolent/vceextra 16 /usr/IBMVJava/html/enterp/en_US 4280 /usr/IBMVJava/html/enterp/en_US/hpcj/images 32 /usr/IBMVJava/html/enterp/en_US/hpj400/examples 72 /usr/IBMVJava/html/enterp/en_US/hpj400/images 312 /usr/IBMVJava/html/enterp/en_US/hpj400/ref 2744 /usr/IBMVJava/html/enterp/en_US/hpj400/samples 96 /usr/IBMVJava/html/enterp/en_US/ide/concepts 24 /usr/IBMVJava/html/enterp/en_US/ide/images 40 /usr/IBMVJava/html/enterp/en_US/ide/tasks 160 /usr/IBMVJava/html/enterp/en_US/ide/ui 192 /usr/IBMVJava/html/enterp/en_US/images 16 /usr/IBMVJava/html/enterp/en_US/j2cpp/concepts 80 /usr/IBMVJava/html/enterp/en_US/j2cpp/ref 1488 /usr/IBMVJava/html/enterp/en_US/j2cpp/tasks 8 /usr/IBMVJava/html/enterp/en_US/jdkref 22520 /usr/IBMVJava/html/enterp/en_US/jdkref/images-awt 136 /usr/IBMVJava/html/enterp/en_US/jfcref 11256 /usr/IBMVJava/html/enterp/en_US/notes/samples 120 /usr/IBMVJava/html/enterp/en_US/rmi/concepts 32 /usr/IBMVJava/html/enterp/en_US/rmi/ref 496 /usr/IBMVJava/html/enterp/en_US/rmi/tasks 16 /usr/IBMVJava/html/enterp/en_US/sap/concepts 104 /usr/IBMVJava/html/enterp/en_US/sap/ref 6104 /usr/IBMVJava/html/enterp/en_US/sap/samples 2808 /usr/IBMVJava/html/enterp/en_US/sap/tasks 184 /usr/IBMVJava/html/enterp/en_US/team/concepts 48 /usr/IBMVJava/html/enterp/en_US/team/images 920 /usr/IBMVJava/html/enterp/en_US/tivoli/images 8 /usr/IBMVJava/html/enterp/en_US/tivoli/ref 8 /usr/IBMVJava/html/enterp/en_US/toolint/ref 1096 /usr/IBMVJava/html/enterp/en_US/visbuild/html 3632 /usr/IBMVJava/html/enterp/en_US/visbuild/images 2520 /usr/IBMVJava/html/enterp/en_US/visbuild/samples 296 /usr/lpp/IBMVJava.html.en_US/IBMVJava.html.en_US.enterprise/2.0.0.2/inst_root/var/docsearch/indexes/IVJXENUS/data 13416 /usr/IBMVJava/html/enterp/en_US/eabUpdate/samples/applet/images 640 /usr/IBMVJava/html/enterp/en_US/eabUpdate/samples/applet 320 /usr/IBMVJava/html/enterp/en_US/eabUpdate/samples/base3270 80 /usr/IBMVJava/html/enterp/en_US/eabUpdate/samples/basemenu 160 /usr/IBMVJava/html/enterp/en_US/eabUpdate/samples 40 /usr/IBMVJava/html/enterp/en_US/eabUpdate/samples/mqadder 80 /usr/IBMVJava/html/enterp/en_US/eabUpdate/samples/servlet 768 INSTWORK 3535 3521 /lpp/IBMVJava.html.en_US 8 /var/docsearch/indexes/IVJXENUS/data 13416 /lpp/SAVESPACE 13416 /etc/objrepos 8 % % % IX84947 34 I18N fixes to base product IX88498 18 Misc. fixes to eConnectors % ] } k/mth/A stp/rsuavaJaJavedc/./usrIBAA kfmth/A stp/rsuavaJaJavedc/./usr/lppJava/hAA kmth/A stp/rsuavaJaJavedc/./usr/lpp/IBMVJava.html.en_US/IBMVJava.html.en_US.enterprise/2.0.0.2terAA l)mw7i7i7$>R4./usr/lpp/IBMVJava.html.en_US/IBMVJava.html.en_US.enterprise/2.0.0.2/liblpp.amm  e ./ailmnprst4=I_bchouv",BJMSUVdfgjy01235:ELkwz6789Fxq-\CNX A`PR$DGHT()<>KW6"@@   (/ P88 0oR%?p0*,pաX=wF@pP( @ ? @`J+(,pաX=wF]Ʒ9MԵPXS[`FW:!$Z `j@ \ůĥGFL[OAѺ`ќ! Zn"isNǭXјE;aq6:`-ҳq (Vib1I=r1ў==)ڹ+7[Oб>hƳiT39-J(+(@ (0008W 0oR% 8SSjЬF.[Z5FdbT ,p!X=ˉF0FN1ym)tZF痜(I)A*S/lb5Fd$XMMBz&nrj86@@г20éLJaE+[q4h5atZF痜(I)A*S/lb5Fd$XMMBz&nrj86Pp= <.C/P R&)VeƷ92hь=ѓ =-AgFk=g \{jb++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2.JbT ,p!X=ˉF0FN0`cgEz0QqzЬD27r1GXan: =Ϫ3Y>=c>F4l++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(e(éLJaE+[q4h㠳ьl5}'tE)vrЬD27F4++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm%YtJxp@0@.JbT ,p!X=ˉF0FN0`cgEtksir1GXg.s[O%g- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx00= <.C/ S`c56 &\M12vA,c>g.F6W#JZF痜(I)A*S/lb5Fd$XMMBz&nrj86@p@,% 9@u)Rl0HšX`\ks.&}; тtz1Tf}rs[O%g> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^ S`c56 &\M12vA,c>g.F6W#J6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86P0@,% 88éLJaE+[q4hI n: =Ϫ3Y>BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÔ u)Rl0HšX`\ks.&}; hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAg(el:ĩ6$XMMB{.5ɗF`խF-![JnfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^)_zx]^0S`c56 &\M1V; тt C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/@_<:ĩ6$XMMB{.5ɗF`խ)_Rr `PJ))_Rr `PJ))_Rr `PJ)&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/P 0S`c56 &\M1V; тt<:J4 bЬD27)_Rr `PJ)$mAX C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0= <.C/PéLJaE+[q4hmZdF qXK}Y}N rЬD27kphVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n B PÂP( R&)VeƷ92hьڵ㠱.>kp=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n 0,% 8+1*M 8SSkˍnreѣ=kO= =-Ac]-}iVqrЬD27)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyyEg(e@e+1*M 8SSkˍnreѣ=kO= =-Ac]*.5գV- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/ ,:ĩ6$XMMB{.5ɗF`խ)_Rr `PJ)BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P _zx]^ éLJaE+[q4hmZdF qXJ gtI4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86P0rg(e ࠘u)Rl0HšX`\ks.&Zy읐an: rVq>BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ P_zx]^éLJaE+[q4hmZdF qXJ gtIi VsZF痜(I)A*S/lb5Fd$XMMBz&nrj86@P@eYtJxp02 1*M 8SSkˍnreѣ=kO= =-Ac]*.5'դ+s{[=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n+B PÁS`c56 &\M1V; тt<ҭY}ZB7̓`!:*3E)e:*">)_Rr `PJ))_Rr `PJ)Y6$mn73GX)_Rr `PJ)CGX)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx WDS`c56 &\M1V; тt,yI[cE:-M[Tfl++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`,% 8 :ĩ6$XMMB{.5ɗF`խ)_Rr `PJ))_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(= <.C/ u)Rl0HšX`\ks.&Zy읐an: rd<㭱t!BFBfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDP éLJaE+[q4hmZdF q[$-'m:J4MZF痜(I)A*S/lb5Fd$XMMBz&nrj86@Rg(e@u)Rl0HšX`\ks.&Zy읐an: rd<㭱t!BFIBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ B PÂ@ ?1*M 8SSkˍnreѣ=kO= =-AnLǜu4[$<](7CI49hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n*г2eL:ĩ6$XMMB{.5ɗF`խ)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ) H̓`!:*3E)e:*">)_Rr `PJ))_Rr `PJ)W#X)_Rr `PJ)BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^  R,% 8((aԦ%I" jmbqL4cdF q[$iӗ$GpX)_Rr `PJ)H@`lhFT➉䚴+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/jг2? R&)VeƷ92hьg$D06$$qMc+!:*3E)e:*">)_Rr `PJ)H@`lIHSZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^  = <.C/@l:ĩ6$XMMB{.5ɗF`9"%'1#AUhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx((02,% 8 aԦ%I" jmbqL4c( 9Q&ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ g(eJl:ĩ6$XMMB{.5ɗF`9"%'1#$%X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm _zx]^ aԦ%I" jmbqL4c( 9TT`D27H@`lIHӨ+!:*3E)e:*">)_Rr `PJ)H@`lIH⪀ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ )_zx]^  aԦ%I" jmbqL4c( 9RR) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÁ`1*M 8SSkˍnreѣ>H@`lIHk"+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)H@`lIH|%%X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm eYtJxp0 o:ĩ6$XMMB{.5ɗF`9"!tbNbGBѷЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P(_zx]^P' R&)VeƷ92hьщ*чrTDX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm PEYtJxp0` aԦ%I" jmbqL4c-0b}ʴazЬF痜(I)A*S/lb5Fd$XMMBz&nrj86= <.C/ 1*M 8SSkˍnreѣm9U@aBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@UYtJxp0 pS`c56 &\M1Әz1>Z0tF1X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmJг2@@/VJbT ,p!X=ˉF2sF'ܫFSZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDS`c56 &\M1Әz1>Z0t.'+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`г2`?JbT ,p!X=ˉF2sF'ܫF)Z- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/)_zx]^éLJaE+[q4h[Nah%3X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm ,% 88R&)VeƷ92hьщ*чJcBW^s#4R^s#/('+{iLɈtS`c56 븚4b5njг2ࠠ R&)VeƷ92hьщ*чJcաX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm _zx]^ 1*M 8SSkˍnreѣm9U@BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2p JbT ,p!X=ˉF2sF'ܫF) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e%S`c56 &\M1Әz1>Z0t NvzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@p 2,% 8@JbT ,p!X=ˉF2sF'ܫF)+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`jг2@1*M 8SSkˍnreѣm9U@;ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P(YtJxp@!@0!Xu)Rl0HšX`\ks.&i=rx:lEX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm _zx]^u)Rl0HšX`\ks.&i=rx:jn"+!:*3E)e:*">)_Rr `PJ)Z0t'gzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P@EYtJxp0@@' R&)VeƷ92hьщ*ч; !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(eJ(:ĩ6$XMMB{.5ɗFeOV< ԍhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0(_zx]^++1*M 8SSkˍnreѣm9Ht=d\@!_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(_zx]^ PéLJaE+[q4h[Nc7FD\+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`г2 01*M 8SSkˍnreѣm9H0N" C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 0 _zx]^pS`c56 &\M1Ә4ё"VEF痜(I)A*S/lb5Fd$XMMBz&nrj86Ug(eJL:ĩ6$XMMB{.5ɗFe: #tdHBEF痜(I)A*S/lb5Fd$XMMBz&nrj86`PEYtJxp`0P0?1*M 8SSkˍnreѣm9H3. D27 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx1@Bg(e ``Xu)Rl0HšX`\ks.&i̝an: =Ϫ3[_;hgrrЬD27)_Rr `PJ)gr1b75cg HCօ`!:*3E)e:*">)_Rr `PJ)F0lZFьlirЬD27)_Rr `PJ)F5t.l$Qڹ C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^éLJaE+[q4h[NdF qY6}QF1cŤnk=ϫ] [ 6D6F&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^Q@ 5YtJxr|:ĩ6$XMMB{.5ɗFeN0`cgc>F0lZFьlкUiDOsjbl++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmeYtJxp @0 éLJaE+[q4h[NdF qY6}QF1cŤnkh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2@\:ĩ6$XMMB{.5ɗFeN0`cgc>F0lZF溶fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^  = <.C/P _.JbT ,p!X=ˉF2s'dz0[F1z1W#6-#s][@`XF0lZF溶ut.kBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/ pS`c56 &\M1ә; тtz1Tfьliй> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx8(= <.C/@1*M 8SSkˍnreѣm9 =-AgFk=ϫ]] rЬD27F4++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@Jг2` @` R&)VeƷ92hь㠳ьl5cgƒCօ`!:*3E)e:*">)_Rr `PJ) H.5ѕή> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/ 0S`c56 &\M1ә; тtz1TfьlV|\k)+]t6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86Pp0,% 9@ aԦ%I" jmbqL4c-2vA,c>gFvrЬD27 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0= <.C/l:ĩ6$XMMB{.5ɗFeN0`cgc>Ur16ZF痜(I)A*S/lb5Fd$XMMBz&nrj86_zx]^  0S`c56 &\M1ә; тtz1TfDJ#gǺ-3ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@rUg(e.JbT ,p!X=ˉF2s'dz0[F1萛iY}RQEFfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÔ,:ĩ6$XMMB{.5ɗFeN0`cg!6ҳH;Y1j̓`!:*3E)e:*">)_Rr `PJ)D1tH"l++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(eA .JbT ,p!X=ˉF2s'dz0[F1萛iY}R}jOJ\q++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm UYtJxppp@p R&)VeƷ92hь㠳ьl5$&ViTkd6җ4}> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/+Ԧ%I" jmbqL4c-2vA,c>n G)ʹ7fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P0_zx]^(éLJaE+[q4h[NdF qY6}Qm+4S}Ʈ ЬD27n G)56Si1jCօ`!:*3E)e:*">)_Rr `PJ)NIdOEt[Tg` * C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/ Ԧ%I" jmbqL4c-2vA,c>n G)56Si1j>W#GX)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxWD,:ĩ6$XMMB{.5ɗFeN0`cg!6ҳH;Y&ՒjmiKn>̓`!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)n G)މbD9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@@,% 8)@1*M 8SSkˍnreѣm9 =-AgFktHM>NFc C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8_zx]^_.JbT ,p!X=ˉF2s'dz0[F1萛iY}R)=碌Ǻ-34}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86rAg(e `1*M 8SSkˍnreѣm9 =-AgFktHM>NFc- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 0 _zx]^pS`c56 &\M1ә; тtz1TfDJ#qIpXn G)R曏`X)_Rr `PJ)N֔\RZF痜(I)A*S/lb5Fd$XMMBz&nrj86@pP,% 8(81*M 8SSkˍnreѣm9 =-AgFktHM>N֔\R4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86`P`UYtJxpp R&)VeƷ92hь㠳ьl5$&ViTkJ.)[- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx= <.C/  aԦ%I" jmbqL4c-2vA,c>nnm>F4++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmUg(eApS`c56 &\M1ә; тtz1TfF6W#J4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@ _zx]^ P0/ R&)VeƷ92hь㠳ьl55VyrЬD27nnm>F4Gܦuu=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n `jг2`VJbT ,p!X=ˉF2s'dz0[F1cIYD}hW] `!:*3E)e:*">)_Rr `PJ)` * C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 88",% 88éLJaE+[q4h[NdF qY6}Q׬tSFcvrzЬD27` *- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^0S`c56 &\M1ә; тtz1TfF8=ϫ C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 80_zx]^u)Rl0HšX`\ks.&i̝an: =Ϫ3[[Zcg HCօ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ)nnqkօ7R)_Rr `PJ))_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@PuYtJxp`P1_>JbT ,p!X=ˉF2s'dz0[F1plZFǛ- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8_zx]^ / R&)VeƷ92hь㠳ьl55ů\}Q5X)_Rr `PJ))_Rr `PJ)nnqk;)L\V`!:*3E)e:*">)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx01E+B PÃ@Xu)Rl0HšX`\ks.&i̝an: =Ϫ3[[ZS>>W#`XF6rzЬD27nm{m}\l>W#`XoD1\V`!:*3E)e:*">)_Rr `PJ))_Rr `PJ)qFrrЬD27)_Rr `PJ)=XFlOIЬD27Cօ`!:*3E)e:*">)_Rr `PJ)̓`!:*3E)e:*">)_Rr `PJ)BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDJbT ,p!X=ˉF2s'dz0[ܙ%NYQѺQY[J҈JϩrЬD27vMhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n г2`éLJaE+[q4h[NdF q[$i9*:7J"q+>qQѺQY fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^(R,% 8 8@ 1*M 8SSkˍnreѣm9 =-AnL,(Ĭ%GFDN%g.ɛ- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/L:ĩ6$XMMB{.5ɗFeN0`2Kt':4b}M>օ`!:*3E)e:*">)_Rr `PJ)̓`!:*3E)e:*">)_Rr `PJ)&h"5X&h"3GXl++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2@`_1*M 8SSkˍnreѣm9 =-AnL,(Ĭn*؟tOXU>&fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/ pS`c56 &\M1ә; тt.rJ҈JϪY}RtiV} C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8 _zx]^ Ԧ%I" jmbqL4c-2vA-ɒ]圕8UҳH;ҭI44}ZF痜(I)A*S/lb5Fd$XMMBz&nrj860Jг2`e,:ĩ6$XMMB{.5ɗFeN0`2Kt'ViTcU>&fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDu)Rl0HšX`\ks.&i̝an: rdm9g%GFDN%guBv6=ѥ[i++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@uYtJxp@`0` R&)VeƷ92hь㠷&IvӖrTtnDV}WT'msicU>&fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD(`o:ĩ6$XMMB{.5ɗFeN0`2Kt'꺡;hKҭI46ZF痜(I)A*S/lb5Fd$XMMBz&nrj86 _zx]^ éLJaE+[q4h[NdF q[$i=AфBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P= <.C/pS`c56 &\M1ә; тt.rFlGayzЬD27)_Rr `PJ)ӸhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n +B PÂA@ .JbT ,p!X=ˉF2s'dz0[ܙ%NY ؏54}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86 _zx]^P aԦ%I" jmbqL4c-2vA-ɒ]垌 ؏Y NS`X 2;4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj8608:,% 8  S`c56 &\M1ә; тt.rFlGa|):$e7Arvl++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm :,% 8 éLJaE+[q4h[NdF q[$i=AфJϭfЅStW'kBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDeu)Rl0HšX`\ks.&i̝an: rdm9g6#z0b=Yn=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n %YtJxp`pp`oR&)VeƷ92hь㠷&IvӖz0b=g6#8Zͱ :N̓`!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)W#`XW#`X)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)vz3RrX)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)6z1NG#OUhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n5YtJxpPPP`?1*M 8SSkˍnreѣm9 =-AnL.vz39GܚFF)c` *> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx1@@,% 8( R&)VeƷ92hь㠷&Ivӗ;=Y蜋z#M#gtr1\M`!:*3E)e:*">)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (8= <.C/P)@?AS`c56 &\M1ә; тt.rg1^l{$jnptZ9YrЬD27)_Rr `PJ)fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÂ ,:ĩ6$XMMB{.5ɗFeN0`2Kzs׬[vz3Rr`X)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx P5YtJxp0 0S`c56 &\M1ә; тt.rg1^VE x- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@г2 0o1*M 8SSkˍnreѣm9 =-AnL.vz3unptZ}Iօ`!:*3E)e:*">)_Rr `PJ)q#T+sאu}I̓`!:*3E)e:*">)_Rr `PJ)q#T+sFcNVl++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm+B PÔaԦ%I" jmbqL4c-2vA.vz3ęHԜhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n )_zx]^(Ԧ%I" jmbqL4c-2vA.vz3ęHԜ=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@ :,% 8(Ԧ%I" jmbqL4c-2vA.vz3ęHԜ9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2\:ĩ6$XMMB{.5ɗFeN0`FcؓN-ԜhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n g(e@ .JbT ,p!X=ˉF2s'dz0[g1lI'FcNVh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm` eYtJxppP R&)VeƷ92hь㠹zcŰqј- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(= <.C/  aԦ%I" jmbqL4c-2vA.vz3ę[ǭ C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@EYtJxp!@.JbT ,p!X=ˉF2s'dz0[g1lIuyzЬD27kBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P= <.C/P0pS`c56 &\M1ә; тt;=[bL;=9YzЬD27JbT ,p!X=ˉF2s'dz0[g1lIԜhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n )_zx]^pS`c56 &\M1ә; тt;=[bNfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P = <.C/Q@@:ĩ6$XMMB{.5ɗFeN0`Fcؓ9YrЬD27)_Rr `PJ))_Rr `PJ)Cօ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx8R,% 88 aԦ%I" jmbqL4c-2vA.vz3NWEA趦BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÁA?JbT ,p!X=ˉF2s'dz0[g1>tYV`!:*3E)e:*">)_Rr `PJ)tYlH6ͤNV++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2@`_1*M 8SSkˍnreѣm9 =-AsјRr,$Rilu'+4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86 _zx]^ <:ĩ6$XMMB{.5ɗFeN0`Fc}IؑImIԜ9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n*г20 (? R&)VeƷ92hь㠹zϩ9]{)4FcZ%[ЬD27)_Rr `PJ)tYlH6\jNV++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг22\:ĩ6$XMMB{.5ɗFeN0`Fc}IؑIm(Ԝ=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n = <.C/u)Rl0HšX`\ks.&i̝an: Ǭg"HQr19YrЬD27tYF$^H> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx888 _zx]^:ĩ6$XMMB{.5ɗFeN0`Fc}IތH6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86p= <.C/P/éLJaE+[q4h[NdF q\f=gԜ>#: C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@г2`.JbT ,p!X=ˉF2s'dz0[g1>tYA=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n` ,% 8 Ԧ%I" jmbqL4c-2vA.vz3NWEDM`!:*3E)e:*">)_Rr `PJ))_Rr `PJ)fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^Ug(e` `?@\:ĩ6$XMMB{.5ɗFeN0`FczT0Ԝ9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(eu)Rl0HšX`\ks.&i̝an: Ǭy8>vz3++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmR,% 8 pS`c56 &\M1ә; тt;=Xql|f<=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nABg(e 0oA@Xu)Rl0HšX`\ks.&i̝an: Ǭy8>vz3l++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm00P",% 88 éLJaE+[q4h[NdF q\f=do++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm= <.C/ ?.JbT ,p!X=ˉF2s'dz0[g1 xGX.mrЬD27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF2s'dz0[g1sbL̓`!:*3E)e:*">)_Rr `PJ))_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 88:,% 88PéLJaE+[q4h[NdF q\f=n=*UNFc̓`!:*3E)e:*">)_Rr `PJ)fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P = <.C/ Ԧ%I" jmbqL4c-2vA.vz3*'g1'+6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86_zx]^1*M 8SSkˍnreѣm9 =-Asјy8>vz3++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmWDpS`c56 &\M1ә; тt;=[`g1握BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^  )_zx]^ P@JbT ,p!X=ˉF2s'dz0[g1pql|f<9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n г2`eéLJaE+[q4h[NdF q\f=n xX)_Rr `PJ))_Rr `PJ))_Rr `PJ)vz3ABxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P= <.C/\:ĩ6$XMMB{.5ɗFeN0`Fc+cg1oh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm` ,% 8 éLJaE+[q4h[NdF q\f=nҶ>vz3ABxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDu)Rl0HšX`\ks.&i̝an: ǭȧs{IuzЬD27 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@0 ,% 888éLJaE+[q4h[NdF q\f=nǶJC`XCօ`!:*3E)e:*">)_Rr `PJ)q#T'g1'+6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86 _zx]^+éLJaE+[q4h[NdF q\f=nMsN}FThVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n = <.C/ pS`c56 &\M1ә; тt;=[lӟo'+4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@_zx]^ pS`c56 &\M1ә; тt;=[lӟo'+6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86` *,% 80éLJaE+[q4h[NdF q\f=qVFc:=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n = <.C/P0 R&)VeƷ92hь㠹ztǐuyzЬD27)_Rr `PJ))_Rr `PJ))_Rr `PJ)Ur14}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86`@0,% 8080 R&)VeƷ92hь㠹zg1rrЬD27)_Rr `PJ)-` * C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8(_zx]^ @01*M 8SSkˍnreѣm9 =-AsјFc:>-` *> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0= <.C/ P'VJbT ,p!X=ˉF2s'dz0[g1띞ǐu|[ 5Ur16ZF痜(I)A*S/lb5Fd$XMMBz&nrj860 _zx]^ éLJaE+[q4h[NdF q\f=sј5 Q` * C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8 _zx]^ Ԧ%I" jmbqL4c-2vA.vz3y[E(\MCօ`!:*3E)e:*">)_Rr `PJ)Ur1ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@p`",% 8p? R&)VeƷ92hь㠹zg1oRrT\MCօ`!:*3E)e:*">)_Rr `PJ)W#`X)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)cǸd)Bڣ5XcǸd)Bڣ3GXF-;P9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n ",% 8  Ԧ%I" jmbqL4c-2vA.vz374$jHԜhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2 éLJaE+[q4h[NdF q\f=iniϷHф9YzЬD27fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^  WDéLJaE+[q4h[NdF q\f=iniϷH C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@",% 8`` R&)VeƷ92hь㠹zlӟo'+4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86g(e 2S`c56 &\M1ә; тt;=Zms5BfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD(0S`c56 &\M1ә; 4𶑰=-AgFklڹ C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxWD`&JbT ,p!X=ˉF2s'd&6',c>gr1b75XNօ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ)DX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmࠀ",% 8 0!@6JbT ,p!X=ˉF2s*ѕ@|BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@г2eԦ%I" jmbqL4c-2]PtΧhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx)@г2`0_1*M 8SSkˍnreѣm9mʃc#`D27)_Rr `PJ))_Rr `PJ)kBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n 5YtJxp0p Ԧ%I" jmbqL4c-2]Pt LhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@ PEYtJxpr ?@|:ĩ6$XMMB{.5ɗFeU *)KZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD( R&)VeƷ92hьʶteAЃdօ`D27)_Rr `PJ)(Uc n9* `!:*3E)e:*">)_Rr `PJ))_Rr `PJ)c"V>z1 EǶF&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^g(e.JbT ,p!X=ˉF2{N0`ͱfzF1>(Uccgƒօ`!:*3E)e:*">)_Rr `PJ)JbT ,p!X=ˉF2{N0`ͱfzF1>(Uc5VzЬD27)_Rr `PJ)c"V>z1N)ZЬD27(Uc^> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@@,% 80 éLJaE+[q4h\OtZY4lY6}QE }cRSkҳ`Xr=IԜhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n B PÔPéLJaE+[q4h\OtZY4lX{Ulu'+4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86p`,% 8 éLJaE+[q4h\OtZY4lX{Ulu'+6ZF痜(I)A*S/lb5Fd$XMMBz&nrj8682,% 8 0S`c56 &\M1vAm3>(Uc#m}Iօ`!:*3E)e:*">)_Rr `PJ)(Uc#F1b++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(e @@o1*M 8SSkˍnreѣq=k'dz0]fѳ=c"V>rF&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ +B PÁԦ%I" jmbqL4c.'-dF 6g}PGcg9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nWDA@Xu)Rl0HšX`\ks.&ˉY; т6ƍoq*r1:D+BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/u)Rl0HšX`\ks.&ˉY; т6ƍoq*r1:D&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÔP08aԦ%I" jmbqL4c.'-dF 6g}PGcgl]- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^(éLJaE+[q4h\OtZY4lX{UbٓZF痜(I)A*S/lb5Fd$XMMBz&nrj86B`г2@`_1*M 8SSkˍnreѣq=k'dz0]fѳ=c"V>r<{fL=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAAAg(e@u)Rl0HšX`\ks.&ˉY; т6ƍoq*}\[2fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P 0",% 88 !@>JbT ,p!X=ˉF2{N0`ͱfzE |}ċkBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P_zx]^ (Ԧ%I" jmbqL4c.'-dF 6g}PGH6h++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm `P",% 88 `JbT ,p!X=ˉF2{N0`ͱfzE |}ċfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ (= <.C/ aԦ%I" jmbqL4c.'-dF 6g}PG}ʮF+BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P _zx]^ Ԧ%I" jmbqL4c.'-dF 6g}PG}ʮF&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ +B PÔaԦ%I" jmbqL4c.'-dF 6g}PG}ʮF&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/?&JbT ,p!X=ˉF2{N0`ͱfzE |}+4SX(Uc#Y}R> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx  _zx]^@ R&)VeƷ92hь赓 =.lhٞB9J#9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@@",% 889E?l:ĩ6$XMMB{.5ɗFeEaucFXViTtG- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8,% 8éLJaE+[q4h\OtZY4lX{UfJwJqzЬD27r>G)*BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/PéLJaE+[q4h\OtZY4lX{UfJwJqغ$ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@rg(eԦ%I" jmbqL4c.'-dF 6g}PGҳH;R8l]> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@0,% 888S`c56 &\M1vAm3>(Uc#Y}Rҩu.M`!:*3E)e:*">)_Rr `PJ)(Uc#Y}RԜhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(e@@u)Rl0HšX`\ks.&ˉY; т6ƍoq*>NNVh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmP,% 89E|:ĩ6$XMMB{.5ɗFeEaucFXViTu'+6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86_zx]^`  aԦ%I" jmbqL4c.'-dF 6g}PGҩ++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÃ\:ĩ6$XMMB{.5ɗFeEaucFXU#Cօ`!:*3E)e:*">)_Rr `PJ)r>H`X)_Rr `PJ)r> 'ܪbh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@0@,% 80 aԦ%I" jmbqL4c.'-dF 6g}PG\M`!:*3E)e:*">)_Rr `PJ)(UsҫrЬD27օ`!:*3E)e:*">)_Rr `PJ)̓`!:*3E)e:*">)_Rr `PJ)F&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ B PÔ+éLJaE+[q4h\OtZY4lX{Um}\N ЬD27 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx= <.C/ ,:ĩ6$XMMB{.5ɗFeEaucF]fѧl]- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 0= <.C/ u)Rl0HšX`\ks.&ˉY; 4𶑰=.lhٞьl5ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@@@EYtJxpp@( R&)VeƷ92hь赓 O iт6ƍoq*++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm ",% 80S`c56 &\M1vAЬD27JbT ,p!X=ˉF0}Ƭh픙SьQV`D27Ӏ ȸByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^jг2 0oR&)VeƷ92hь#D_q1iVEF痜(I)A*S/lb5Fd$XMMBz&nrj86@г2``u)Rl0HšX`\ks.&4EiQ'k" C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8 0_zx]^  R&)VeƷ92hь#D_q1i0Eq!:*3E)e:*">)_Rr `PJ))_Rr `PJ)oYW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@ EYtJxp` (1*M 8SSkˍnreѣFV: #tcjA<2 " C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx WD( éLJaE+[q4h/ՎHڐt^. D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF0}ƬtF֕&. D27)_Rr `PJ)JbT ,p!X=ˉF0}ƬtFEd\@!_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD_&JbT ,p!X=ˉF0}ƬtFʦ}',+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm``YtJxp0P 1*M 8SSkˍnreѣFV: #teCȸByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD R&)VeƷ92hь#D_q17XcR " C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx   _zx]^éLJaE+[q4h/ՕNS$+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF1'PeX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm2g(e:ĩ6$XMMB{.5ɗFbOF - !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ@EpS`c56 &\M1= !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e` oR&)VeƷ92hь@+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF125X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÃ@@u)Rl0HšX`\ks.&gA`D27)_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF1205X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm P0 ,% 8(8JbT ,p!X=ˉF120EX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÂJJbT ,p!X=ˉF120UX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@`uYtJxpPP('éLJaE+[q4h FS< +!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF13BW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(ee|:ĩ6$XMMB{.5ɗFbgd ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P(= <.C/u)Rl0HšX`\ks.& !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂxu)Rl0HšX`\ks.&V`D27JbT ,p!X=ˉF13BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n :,% 8(0/éLJaE+[q4h Fv@ hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyyEg(e0p_1*M 8SSkˍnreѣPEX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm г2S`c56 &\M1ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ g(eAAl:ĩ6$XMMB{.5ɗFbgdA`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF13BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nB PÂJbT ,p!X=ˉF13X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@ _zx]^pS`c56 &\M1- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ag(eS`c56 &\M1 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e@@' R&)VeƷ92hь@ hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(1@г2@6JbT ,p!X=ˉF135X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm+B PÔP :ĩ6$XMMB{.5ɗFbgdBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n(_zx]^ P'R&)VeƷ92hь@! EX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmYtJxpP`B\:ĩ6$XMMB{.5ɗFbi  !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÃ@6JbT ,p!X=ˉF14`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF15JBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@`jг2AS`c56 &\M1U !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÔ?JbT ,p!X=ˉF15J%X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2ࠠ>JbT ,p!X=ˉF15J5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2 p +1*M 8SSkˍnreѣP"ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p0 _zx]^u)Rl0HšX`\ks.&$y&: #tdH٬+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0Jг20S`c56 &\M1HLtFȑ)_Rr `PJ))_Rr `PJ)ӪЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@8_zx]^ (éLJaE+[q4h!"EiEq!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF1 ( =-AnL*m  x`XCօ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0(_zx]^R&)VeƷ92hьBDdF q[$@`kJzǶ9]uQrЬD27 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0(_zx]^ éLJaE+[q4h!"EvA-ɒ]Ԡ05W=v==cTfl++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmUg(e`07 R&)VeƷ92hьBDdF q[$@`kJz{z#MauԜǺhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@`jг2@P0o1*M 8SSkˍnreѣ㠷&IwR֕\TGܛ6s9]uQzЬD27)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@eB PÀA@`OBS`c56 &\M1H@`lan: rdu( iU]uC`X)_Rr `PJ))_Rr `PJ)Y xXY xGXEB&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^(= <.C/ (aԦ%I" jmbqL4c"; тt.Pҫ$q>EB#샢 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ( _zx]^ pS`c56 &\M1H@`lan: rdu( iU]8gAu\MCօ`!:*3E)e:*">)_Rr `PJ)EB#샢- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@`jг2.JbT ,p!X=ˉF1 ( =-AnL*GsY xX526ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@00eYtJxp0aԦ%I" jmbqL4c"; тt.Pҫ$q>жtH C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ( :,% 89Eu)Rl0HšX`\ks.&$H06N0`2K箉Aϴ-&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^Q@EYtJxpp Ԧ%I" jmbqL4c"; тt.Pҫ$q>жtH- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx((_zx]^ S`c56 &\M1H@`lan: rdu( iU]8ou*++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`jг2@O1*M 8SSkˍnreѣ㠷&IwR֕\#9RBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ P(:,% 8 :ĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsD J- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxWD(Xu)Rl0HšX`\ks.&$H06N0`2K箉Aϸ7m\NJF+BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDpS`c56 &\M1H@`lan: rdu( iU]8qjn"ڹjMCօ`!:*3E)e:*">)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx9@г2R&)VeƷ92hьBDdF q[$@`kJzǛ- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(= <.C/ S`c56 &\M1H@`lan: rdu( iU]8uBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/(Ԧ%I" jmbqL4c"; тt.Pҫ$q>` MCօ`!:*3E)e:*">)_Rr `PJ)/94}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86((,% 8)@L:ĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsD QE6fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ B PÂXu)Rl0HšX`\ks.&$H06N0`2K箳i++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm 5YtJxp`P8' R&)VeƷ92hьBDdF q[$@`kJz6fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD8u)Rl0HšX`\ks.&$H06N0`2K箳il++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2`@? R&)VeƷ92hьBDdF q[$@`kJzk=&zx]I{օ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)V.e%5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`г2 1*M 8SSkˍnreѣʶte\t)Y- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( _zx]^+éLJaE+[q4h8}]W0+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)V.Fm BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@B PÂ.JbT ,p!X=ˉF1mʺwBЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 = <.C/ ,:ĩ6$XMMB{.5ɗFc*ѕpkdV`D27ؓuV`D27ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ P:,% 8808Ԧ%I" jmbqL4c>ؓ=ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 _zx]^aԦ%I" jmbqL4c>ؓO ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^@g(e@"xu)Rl0HšX`\ks.&$$å4I- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/@Jг2e_1*M 8SSkˍnreѣ4ё"{Of. D27RahǒtP !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(eAA?S`c56 &\M1Oz1>Z0u@zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86RWDAl:ĩ6$XMMB{.5ɗFa S&OVEi S#V`!:*3E)e:*">)_Rr `PJ)R49hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n EYtJxpP`` éLJaE+[q4h>RdF q[$i$ |ϺQfэ+435hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@ г2@ ? R&)VeƷ92hь$ |㠷&IvӖHIt6)=ViTfizЬD27)_Rr `PJ)ElաXq{6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86Jг2 aԦ%I" jmbqL4c )2vA-ɒ]>Ri(&HJwDR++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÃ@.JbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋrdtE)fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD( :ĩ6$XMMB{.5ɗFa S&N0`2K@M<)NS>̓`!:*3E)e:*">)_Rr `PJ))_Rr `PJ)R}؏}9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@`г2?.JbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋrd)mAX C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0= <.C/ AS`c56 &\M1O; тt.r)4[$HHl]- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^ ` R&)VeƷ92hь$ |㠷&IvӖHItܙ"GuZF痜(I)A*S/lb5Fd$XMMBz&nrj86@P`5YtJxp @@ éLJaE+[q4h>RdF q[$i$ |ϺQnL#ъw:> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxP:,% 8 S`c56 &\M1O; тt.r)4[$HbΦBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ P _zx]^ P/ R&)VeƷ92hь$ |㠷&IvӖHItܙ"VrЬD27RdF q[$i$ |ϺQnL+OU=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@%YtJxpPPp/VJbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋrdX}ʮF&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD(  aԦ%I" jmbqL4c )2vA-ɒ]>Ri(f++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`jг20@ éLJaE+[q4h>RdF q[$i$ |ϺQr==hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n5YtJxpb 0 &JbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋ6fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P_zx]^pS`c56 &\M1O; тt.r)4\ϵXRdF q[$i$ |ϺQr [SGXRdF q[$i$ |ϺQrtj++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@uYtJxpP)@.JbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋSGXEѩrЬD27RdF q[$i$ |ϺQrz1"++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`jг2`` éLJaE+[q4h>RdF q[$i$ |ϺQrz1"h++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmBUg(e1*M 8SSkˍnreѣHI =-AnL,)O>EĉrЬD27RdF q[$i$ |ϺQr6kBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/(@?1*M 8SSkˍnreѣHI =-AnL,)O>Eʇٚ> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@@,% 8W!Xu)Rl0HšX`\ks.&@Lan: rdm9dOyJ.T=9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nB PÔu)Rl0HšX`\ks.&@Lan: rdm9dOyJ.TAhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@g(e@@/1*M 8SSkˍnreѣHI =-AnL,)O>Eʈ#:> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^P_R&)VeƷ92hь$ |㠷&IvӖHItDM`!:*3E)e:*">)_Rr `PJ)Ri($z ЬD27Ri($hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@g(e.JbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋNMCօ`!:*3E)e:*">)_Rr `PJ)RdF q[$i$ |ϺQrIѩrЬD27)_Rr `PJ)E* h++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmp,% 888 aԦ%I" jmbqL4c )2vA-ɒ]>Ri(%DM`!:*3E)e:*">)_Rr `PJ)Ri(f++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`г2`@ R&)VeƷ92hь$ |㠷&IvӖHItz zЬD27Ri(f++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`jг2`@0` R&)VeƷ92hь$ |㠷&IvӖHItz zЬD27)_Rr `PJ)Ri(z-zЬD27RdF q[$i$ |ϺQstj++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@uYtJxp0(éLJaE+[q4h>RdF q[$i$ |ϺQstjh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@:,% 8(Ԧ%I" jmbqL4c )2vA-ɒ]>Ri(56ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@@p5YtJxp`1*M 8SSkˍnreѣHI =-AnL,)O>EĊЬD27E·ٛ- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/u)Rl0HšX`\ks.&@Lan: rdm9dOyJ.tAhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@g(eA .JbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋFu4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj860:,% 808 (Ԧ%I" jmbqL4c )2vA-ɒ]>Ri(gS`XRi(z zЬD27Ri(=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n%Ug(e` 1*M 8SSkˍnreѣHI =-AnL,)O>E'FBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDpS`c56 &\M1O; тt.r)4\z1"++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`г2`ࠟ.JbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋOF$MCօ`!:*3E)e:*">)_Rr `PJ)E* ++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2u)Rl0HšX`\ks.&@Lan: rdm9dOyJ.iQgSGXE03GXRi(f++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`jг20@éLJaE+[q4h>RdF q[$i$ |ϺQt==hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n= <.C/P8!@O1*M 8SSkˍnreѣHI =-AnL,)O>E3`XRi(A4}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86JWDA|:ĩ6$XMMB{.5ɗFa S&N0`2K@M<6fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDA?L:ĩ6$XMMB{.5ɗFa S&N0`2K@M<UXRi(H> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx8 WD( pS`c56 &\M1O; тt.r)4ZOF$M`!:*3E)e:*">)_Rr `PJ)EDV`!:*3E)e:*">)_Rr `PJ)EDM`!:*3E)e:*">)_Rr `PJ)RdF q[$i$ |ϺQa٭ C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (,% 800Ԧ%I" jmbqL4c )2vA-ɒ]>Ri(lCօ`!:*3E)e:*">)_Rr `PJ)Efl++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm00UYtJxrAL:ĩ6$XMMB{.5ɗFa S&N2M<-lOF q[$i$ |ϺQhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n%YtJxr@``/R&)VeƷ92hь$ |VwkBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD( WéLJaE+[q4h>Re[@2:X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm2g(eaԦ%I" jmbqL4c  c@` ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 WDA ,:ĩ6$XMMB{.5ɗFa!s k{J]`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)z15ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P_zx]^ P' R&)VeƷ92hь$<.vAVIUR}c[jh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)궤=ȞH9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@0EYtJxpP@  R&)VeƷ92hь$<.vAVʭ%JЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@@eYtJxp`01*M 8SSkˍnreѣHx\ 56[GJiϳGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0`",% 8@0'éLJaE+[q4h; MMheV䒥Zs9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(E+B PÔ u)Rl0HšX`\ks.&CdIm [њЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@0eYtJxpb ?1*M 8SSkˍnreѣHx\ 56[C+s34}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ +B PÃ?l:ĩ6$XMMB{.5ɗFa!s $ڶUm h9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx1@5YtJxr`@PO1*M 8SSkˍnreѣHx\ 56[C+ij+!:*3E)e:*">)_Rr `PJ)==hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@B PÃ+|:ĩ6$XMMB{.5ɗFa!s $ڶUm q}\{i[rЬF痜(I)A*S/lb5Fd$XMMBz&nrj86  = <.C/ P(' JbT ,p!X=ˉF0jm[C*VUr1ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/ pS`c56 &\M10SjU2rzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P0_zx]^u)Rl0HšX`\ks.&CdIm [OU9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0YtJxp@ (1*M 8SSkˍnreѣHx\ 56Y}&UZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/u)Rl0HšX`\ks.&CdIm Fcoi4RzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@ = <.C/P81@<:ĩ6$XMMB{.5ɗFa!s $ڶUg#17)T9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx( _zx]^ bl:ĩ6$XMMB{.5ɗFa!s $ڶUg%ZX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`@eYtJxpPP@0O1*M 8SSkˍnreѣHx\ 56YV=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (= <.C/S`c56 &\M10SjUjM`D27JbT ,p!X=ˉF0jm[C*C`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm+B PÃ 0S`c56 &\M10SjUُ{IV`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ)̓`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e<:ĩ6$XMMB{.5ɗFa!s $ڶUg:#3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm``г2u)Rl0HšX`\ks.&CdIm ǶG"ُZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÂA\:ĩ6$XMMB{.5ɗFa!s $ڶUcVm\{#lǚ> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÃJ:ĩ6$XMMB{.5ɗFa!s $ڶUcVm\{#lǛ- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÔu)Rl0HšX`\ks.&CdIm ǶG"ُD275X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг200P' R&)VeƷ92hь$<.vAVʬ{jͱ {r-C#s4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD@6JbT ,p!X=ˉF0jm[C*k6Ƅ.k=ȶc 9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@EYtJxp000 éLJaE+[q4h; MMheV=mfЅcV{SFkBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2/1*M 8SSkˍnreѣHx\ 56XյcB5mZAM> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ  R&)VeƷ92hь$<.vAVʬ{jͱ Ƕ ̓`D27F+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nA*г2@O1*M 8SSkˍnreѣHx\ 56XյcB5ҳtHg=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx9@0",% 8881@R&)VeƷ92hь$<.vAVʬ{jͱ Y$iobl+!:*3E)e:*">)_Rr `PJ)օ`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)F6ƫBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nWD\:ĩ6$XMMB{.5ɗFa!s $ڶUvƫir154}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/,:ĩ6$XMMB{.5ɗFa!s $ڶUvƫir156ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÃeu)Rl0HšX`\ks.&CdIm ;VbRЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@_zx]^P8Ԧ%I" jmbqL4c  a&մ25[OJnfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nA jг2`6JbT ,p!X=ˉF0jm[C*NUԭl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WDaԦ%I" jmbqL4c  a&մ25YHW̓`D27)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ag(e  R&)VeƷ92hь$<.vAVʮӸgѹԭl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂ`L:ĩ6$XMMB{.5ɗFa!s $ڶUvƫ)R;M`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e@6JbT ,p!X=ˉF0jm[C*NUpFF/u+q- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÔ(aԦ%I" jmbqL4c  a&մ25\ӸhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx !@EYtJxp`Ԧ%I" jmbqL4c  a&մ25\Ӹ=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx8WD8u)Rl0HšX`\ks.&CdIm ;W&556ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDpS`c56 &\M10SjUwӸhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx !E+B PÔ  pS`c56 &\M10SjUwӸ=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@@",% 8 8 Ԧ%I" jmbqL4c  a&մ25]lqrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86*,% 8  0S`c56 &\M10SjUwn75X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmEYtJxpP``p R&)VeƷ92hь$<.vAVʮӸuu+q> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÔP8éLJaE+[q4h; MMheWijW̓`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ag(e@0éLJaE+[q4h; MMheWijDz!ƦBW^s#4R^s#/('+{iLɈtS`c56 븚4b5njг2 éLJaE+[q4h; MMheWijDz!u+q !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e` ' R&)VeƷ92hь$<.vAVʮӸaCVs4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P_zx]^P'R&)VeƷ92hь$<.vAVʮӸaCVs6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDJpS`c56 &\M10SjUw> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(_zx]^P1*M 8SSkˍnreѣHx\ 56]qrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86= <.C/ P S`c56 &\M10SjUw+ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/ pS`c56 &\M10SjUw+4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P 8 _zx]^P'R&)VeƷ92hь$<.vAVʮӸiYrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86E+B PÃ@@&JbT ,p!X=ˉF0jm[C*}s^X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2@.JbT ,p!X=ˉF0jm[C*}s^GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm= <.C/aԦ%I" jmbqL4c  a&մ2 56ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDu)Rl0HšX`\ks.&CdIm =Ǵ)UhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 2,% 8 00 éLJaE+[q4h; MMheVA=JBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@@5YtJxppb éLJaE+[q4h; MMheVA=JBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAJг2 R6JbT ,p!X=ˉF0jm[C*ƫBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`г2 p1*M 8SSkˍnreѣHx\ 56YcSGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm2g(e@ u)Rl0HšX`\ks.&CdIm #- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÀJ\:ĩ6$XMMB{.5ɗFa!s $ڶUdauЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@@,% 8 Ԧ%I" jmbqL4c  a&մ2 k } Cօ`D27BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n 0_zx]^(Ԧ%I" jmbqL4c  a&մ2#6C`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmPpeYtJxpp ((aԦ%I" jmbqL4c  a&մ2#79OF4֋BW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(eu)Rl0HšX`\ks.&CdIm iэ+65zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@(!Jг2@JbT ,p!X=ˉF0jm[C*3pDcJͮhl+!:*3E)e:*">)_Rr `PJ)l+!:*3E)e:*">)_Rr `PJ)hi h+!:*3E)e:*">)_Rr `PJ)3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`@",% 808(' R&)VeƷ92hь$<.vAVʭiXNϩX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm ",% 88 éLJaE+[q4h; MMheV4{g^yzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 = <.C/ PaԦ%I" jmbqL4c  a&մ2tF=ӳz/FpD}9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8 :,% 8Ԧ%I" jmbqL4c  a&մ2tFAϭǺ #tE)kBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n+B PÂA\:ĩ6$XMMB{.5ɗFa!s $ڶUnH9An3=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxBg(eA1*M 8SSkˍnreѣHx\ 56[6}nv=i)L6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD.JbT ,p!X=ˉF0jm[C*AmhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx  = <.C/ u)Rl0HšX`\ks.&CdIm  #g% ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@ Jг2/1*M 8SSkˍnreѣHx\ 56[6AlcDs4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ g(e`?BS`c56 &\M10SjU #ktFF4J3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmࠠjг2``o1*M 8SSkˍnreѣHx\ 56[6Al[ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@rg(e%u)Rl0HšX`\ks.&CdIm  #dCօ`D27JbT ,p!X=ˉF0jm[C*AmnOE- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(_zx]^u)Rl0HšX`\ks.&CdIm ɺ #tE)kBW^s#4R^s#/('+{iLɈtS`c56 븚4b5ne+B PÔW R&)VeƷ92hь$<.vAVʭi\.̛7DRh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0`EYtJxp0b`.JbT ,p!X=ˉF0jm[C*Ams"s6AϭhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/P00 éLJaE+[q4h; MMheV4dNtF9> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂA éLJaE+[q4h; MMheV4dNtF9- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÁpS`c56 &\M10SjU #fBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAAWD(1*M 8SSkˍnreѣHx\ 56[6l+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)Cօ`D279l+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/@*г2```?P&JbT ,p!X=ˉF0jm[C*X6iw3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm Jг2l:ĩ6$XMMB{.5ɗFa!s $ڶUp+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e@u)Rl0HšX`\ks.&CdIm qH9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/?\:ĩ6$XMMB{.5ɗFa!s $ڶUpz01hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ( _zx]^u)Rl0HšX`\ks.&CdIm qHa$cqzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 0YtJxp0 9EԦ%I" jmbqL4c  a&մ2#фƦBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n g(e` P1*M 8SSkˍnreѣHx\ 56\.)jF+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(2,% 8(  Ԧ%I" jmbqL4c  a&մ22JPl+!:*3E)e:*">)_Rr `PJ)BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@%+B PÂl:ĩ6$XMMB{.5ɗFa!s $ڶUrR3lq6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD(?1*M 8SSkˍnreѣHx\ 56\Ԓ'- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD(pS`c56 &\M10SjUnI"qzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86eB PÃ|:ĩ6$XMMB{.5ɗFa!s $ڶUrRHl+!:*3E)e:*">)_Rr `PJ)h6kBW^s#4R^s#/('+{iLɈtS`c56 븚4b5njг2@_.JbT ,p!X=ˉF0jm[C*4^3GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@p Jг2 éLJaE+[q4h; MMheWCsfl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/jг2éLJaE+[q4h; MMheWBt^̓`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)|*3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0_zx]^ P? R&)VeƷ92hь$<.vAVu4[>)+I7JhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (,% 80)@o1*M 8SSkˍnreѣHx\ 56lhD}6>SFW:t>nQzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@0`@5YtJxr%0S`c56 &\M10SjζƋtGc4es1CU- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(YtJxpP0p01*M 8SSkˍnreѣHx\ 56lhFFc` * !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B Pà `.JbT ,p!X=ˉF0jmYnf%gUr14}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD(Q@O1*M 8SSkˍnreѣHx\ 56lhFFc` *- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( = <.C/ 0S`c56 &\M10SjζƋtk4i+>hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 02,% 80  Ԧ%I" jmbqL4c  a&՝mhV}QzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86= <.C/ xu)Rl0HšX`\ks.&CdIg[cE54Tfl+!:*3E)e:*">)_Rr `PJ)|*3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0`5YtJxpp`0rL:ĩ6$XMMB{.5ɗFa!s $ڳٶ[tօ`D27)_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(eA@pS`c56 &\M10SjζƋѕΤTfl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)A#tJRFu6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/ P( R&)VeƷ92hь$<.vAVu4ZnsRkBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAg(e.JbT ,p!X=ˉF0jmYi9uI> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e@Xu)Rl0HšX`\ks.&CdIg[cE8=&l+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/`YtJxr@éLJaE+[q4h; MMr+9".v=$J`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm` ,% 8 1*M 8SSkˍnreѣHx\ 56ȬGօ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÃԦ%I" jmbqL4c  a&չ;;hrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@`P,% 888( éLJaE+[q4h; MMr+9".v<2nhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (:,% 8( W R&)VeƷ92hь$<.vAVVrD\xd[zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 00 _zx]^@P?@<:ĩ6$XMMB{.5ɗFa!s $ڷ" Bc&̓`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÁJéLJaE+[q4h; MMr+8mI2J6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD+éLJaE+[q4h; MMr+8mIdiY`+!:*3E)e:*">)_Rr `PJ)+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(exu)Rl0HšX`\ks.&CdInEgٶsi9G̓`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm5YtJxp@0(?VJbT ,p!X=ˉF0jm[]BUr16ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P8 _zx]^` @?1*M 8SSkˍnreѣHx\ 56Ȯ׸5>օ`D27)_Rr `PJ))_Rr `PJ)%ZVv- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD( Ԧ%I" jmbqL4c  a&չsђUgmzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@`` Jг2P8'!Xu)Rl0HšX`\ks.&CdInEdtdiY`l+!:*3E)e:*">)_Rr `PJ)Y>3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm",% 80S`c56 &\M10Sj܊9jA>Ur1ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD( éLJaE+[q4h; MMr+ QROU=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0(:,% 8 P/VJbT ,p!X=ˉF0jm[Y>H"G}ʮF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@g(e@/1*M 8SSkˍnreѣHx\ 56ȬhY%ZVv- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD Ԧ%I" jmbqL4c  a&չs$JGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0,% 80éLJaE+[q4h; MMr+ )VIVBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@5YtJxpPr@.JbT ,p!X=ˉF0jm[Y>msZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/P PéLJaE+[q4h; MMr+ fBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n)_zx]^ éLJaE+[q4h; MMr+ fBW^s#4R^s#/('+{iLɈtS`c56 븚4b5ne+B PÃ@`' R&)VeƷ92hь$<.vAVVAϰɺ5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`%YtJxpP éLJaE+[q4h; MMr+ d[zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86`_zx]^ WVJbT ,p!X=ˉF0jm[Y>&̓`D27)_Rr `PJ)4R+;l Cօ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/= <.C/ xu)Rl0HšX`\ks.&CdInEdms6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^)_zx]^ W R&)VeƷ92hь$<.vAVVAϭ2nhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^pS`c56 &\M10Sj܊9Mչ> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e 1*M 8SSkˍnreѣHx\ 56Ȭ[d[rЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 8_zx]^  aԦ%I" jmbqL4c  a&չ2JZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/ u)Rl0HšX`\ks.&CdInEn+;l Cօ`D27)_Rr `PJ)W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmUYtJxp0@ (? R&)VeƷ92hь$<.vAVV׸ym)` *> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( = <.C/ u)Rl0HšX`\ks.&CdInEnm{ҖrrЬF痜(I)A*S/lb5Fd$XMMBz&nrj862,% 80 éLJaE+[q4h; MMr+tSk=Y\V`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( = <.C/P'VJbT ,p!X=ˉF0jm[[^Jϭ'ܪbl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÃ` R&)VeƷ92hь$<.vAVVF2JZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD@`.JbT ,p!X=ˉF0jm[[P:*ҳ=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 00YtJxpp +1*M 8SSkˍnreѣHx\ 56ȭ(stdiY`l+!:*3E)e:*">)_Rr `PJ)N>W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2`1*M 8SSkˍnreѣHx\ 56Ȯ(֗75 iϻOUhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/ (éLJaE+[q4h; MMr+5{ZsUr14}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^  = <.C/ P :ĩ6$XMMB{.5ɗFa!s $ڷ"Z\׸5>>W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm+B PÂ@@?1*M 8SSkˍnreѣHx\ 56ȭYtdV`D27+;l Cօ`D27m{F+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n г2ࠀ`.JbT ,p!X=ˉF0jm[Z'*׸{jbh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD( Ԧ%I" jmbqL4c  a&չq+>Y%S`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0@5YtJxpp0P0O1*M 8SSkˍnreѣHx\ 56ȭYE**ҳhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx !@г20 Ԧ%I" jmbqL4c  a&չq+>Y%ZVv> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(WD(RS`c56 &\M10Sj܊8TR+;l `D27W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmUYtJxp0@ 1_.JbT ,p!X=ˉF0jm[Z'J OU=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0eYtJxp0R&)VeƷ92hь$<.vAVVĬҳUr16ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/ 0S`c56 &\M10Sj܊ѕ\Zl>W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmUYtJxp@ 8 éLJaE+[q4h; MMr+FUr1kǶ\MCօ`D27)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÔXu)Rl0HšX`\ks.&CdInEhY%ZVv- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e?&JbT ,p!X=ˉF0jm[Z)VIVunkBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n WD pS`c56 &\M10Sj܊JJ s4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^Ug(e`0o R&)VeƷ92hь$<.vAVVUUgmd[rЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P0UYtJxp @ ?1*M 8SSkˍnreѣHx\ 56ȮNtdiY`+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF0jm[\+;hrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 _zx]^0S`c56 &\M10Sj܊Xɺ5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2`0' R&)VeƷ92hь$<.vAVW'JdžMչ> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD:ĩ6$XMMB{.5ɗFa!s $ڷ":V<2n9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/ u)Rl0HšX`\ks.&CdInErZVv- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD( pS`c56 &\M10Sj܊7F4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÔ éLJaE+[q4h; MMr+ҳ9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx( _zx]^ u)Rl0HšX`\ks.&CdInErPɺ5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2`7 R&)VeƷ92hь$<.vAVW)5 s4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^Q@%YtJxp`R`u)Rl0HšX`\ks.&CdInErPɺ3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm+B PÀAXu)Rl0HšX`\ks.&CdInErJ%ZVv- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WDu)Rl0HšX`\ks.&CdInErJ%ZVv> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(_zx]^ W 6JbT ,p!X=ˉF0jm[\4FIVBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n g(e( Ԧ%I" jmbqL4c  a&չ* sO }hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (:,% 9@@`' R&)VeƷ92hь$<.vAVW$<.v3GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmBg(e ?@<:ĩ6$XMMB{.5ɗFa!s $ڷ"%Dis- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/= <.C/ P(_.JbT ,p!X=ˉF0jm[\t>օ`D27B}> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(YtJxr0S`c56 &\M10Sj܊؏F <9l+!:*3E)e:*">)_Rr `PJ)h+!:*3E)e:*">)_Rr `PJ)%ZVv> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/@*г2@ aԦ%I" jmbqL4c  a&չ WђUgmrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 = <.C/ 0S`c56 &\M10Sj܊ss^֜ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/u)Rl0HšX`\ks.&CdInEtpkN}> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÁA|:ĩ6$XMMB{.5ɗFa!s $ڷ"\׸5>̓`D27)_Rr `PJ)W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`jг2AS`c56 &\M10Sj܊Y`z3R\M`D27l+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/jг20? R&)VeƷ92hь$<.vAVWBq<\` *- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ 0S`c56 &\M10Sj܊ҍl}G$l>W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@,% 8  Ԧ%I" jmbqL4c  a&չ%)#:tH}ʮF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`%YtJxp0+1*M 8SSkˍnreѣHx\ 56ȭ()IOD{FUr16ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÃAL:ĩ6$XMMB{.5ɗFa!s $ڷ"@{j 'ܪb+!:*3E)e:*">)_Rr `PJ)W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm%YtJxpP  aԦ%I" jmbqL4c  a&չMնc>W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmUYtJxr1*M 8SSkˍnreѣHx\ 56Ȭ2ng[` *> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(g(eu)Rl0HšX`\ks.&CdInEaum#:OU9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx= <.C/ 0S`c56 &\M10Sj܊&օ`D27)_Rr `PJ)W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(e@ ' R&)VeƷ92hь$<.vAVĊ7U]\}'ܪbh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)R$E('ܪb+!:*3E)e:*">)_Rr `PJ)R$E('ܪbh+!:*3E)e:*">)_Rr `PJ)W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmUYtJxppb.JbT ,p!X=ˉF0jm[+lt3OU=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx1@ ,% 8@Xu)Rl0HšX`\ks.&CdIolHIҨ>W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2`` p_1*M 8SSkˍnreѣHx\ 56/hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx Jг2`@`?1*M 8SSkˍnreѣHx\ 56/=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx= <.C/ Ԧ%I" jmbqL4c  a&ս"E؛- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ\:ĩ6$XMMB{.5ɗFa!s $ڷ$Vq:ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@0_zx]^Q@?1*M 8SSkˍnreѣHx\ 56Nh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)Ur14}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ +B PÔaԦ%I" jmbqL4c  a&ս"R(Ԃ)D}'ܪbl+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÃ``1*M 8SSkˍnreѣHx\ 56$̓`D27W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm= <.C/ JbT ,p!X=ˉF0jm[+\M`D27W#Eu\׸6s3ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ R,% 800éLJaE+[q4h; MM{bEvr躮ks> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(WDJS`c56 &\M10Sjؑ]'ܪb.sFfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n` EYtJxp @&JbT ,p!X=ˉF0jm[+ [UX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`Bg(e@/1*M 8SSkˍnreѣHx\ 56z-zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@ ,% 8( _xu)Rl0HšX`\ks.&CdIolHmM`D27KњЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@p",% 9@\:ĩ6$XMMB{.5ɗFa!s $ڷ$Vȵ<.sFfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n jг20PpO:ĩ6$XMMB{.5ɗFa!s $ڷ$Vȵ<.sFfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(e @ R&)VeƷ92hь$<.vAVĊt'ܪb+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(eYtJxpP éLJaE+[q4h; MM{bEn{^ϺRUr16ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/u)Rl0HšX`\ks.&CdIolH}k2)B[OUhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/ u)Rl0HšX`\ks.&CdIolH}k2)B[OU=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0 _zx]^+1*M 8SSkˍnreѣHx\ 56-{fE(\k` *- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(= <.C/ Q@ ' R&)VeƷ92hь$<.vAVĊFtkvrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P0",% 8  Ԧ%I" jmbqL4c  a&ս"=E1uQ*݀'ܪbh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ){iClHh9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx8_zx]^ 0S`c56 &\M10Sjؑ[>R$E('ܪb+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm ",% 8( Ԧ%I" jmbqL4c  a&ս"FljUr14}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ P _zx]^+1*M 8SSkˍnreѣHx\ 564cW6F6rrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p`eYtJxpP@p0_1*M 8SSkˍnreѣHx\ 56575X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpme+B PÃ`.JbT ,p!X=ˉF0jm[+tkdnfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAUg(e R&)VeƷ92hь$<.vAVĊrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P Jг20 R&)VeƷ92hь$<.vAVĊօ`D27)_Rr `PJ))_Rr `PJ)Ur14}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD++1*M 8SSkˍnreѣHx\ 565)V}ʮF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2e&JbT ,p!X=ˉF0jm[+{7s3ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDu)Rl0HšX`\ks.&CdIolH[Hh=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0eYtJxpp ?:ĩ6$XMMB{.5ɗFa!s $ڷ$VD-n4fl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)E(- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂL:ĩ6$XMMB{.5ɗFa!s $ڷ$Whu}hhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx !@%YtJxp0@` R&)VeƷ92hь$<.vAVĊ=> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂ?S`c56 &\M10Sjؑ\QGA93`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(e@0P R&)VeƷ92hь$<.vAVĊ=\V`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e```6JbT ,p!X=ˉF0jm[+4H:>Ur16ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDu)Rl0HšX`\ks.&CdIolH(#ЅGօ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÃ@ 0 R&)VeƷ92hь$<.vAVĊ=]PD}'ܪbl+!:*3E)e:*">)_Rr `PJ)EX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`г2u)Rl0HšX`\ks.&CdIolHSD Cօ`D27)_Rr `PJ))_Rr `PJ)Ϫ:<=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(WDaԦ%I" jmbqL4c  a&ս"Y[Ǜ- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD(aԦ%I" jmbqL4c  a&ս"['F5ll>W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÂ_.JbT ,p!X=ˉF0jm[+}U){jcV̍Ur14}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P( _zx]^ P(éLJaE+[q4h; MM{bEsE4Om\jّ}ʮF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2@u)Rl0HšX`\ks.&CdIolHvA}W 5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(e@@.JbT ,p!X=ˉF0jm[+}Uu=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@`uYtJxp`S`c56 &\M10Sjؑ\fBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@+B PÂ`&JbT ,p!X=ˉF0jm[+}U#օ`D27G> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÁS`c56 &\M10Sjؑ\Tl+!:*3E)e:*">)_Rr `PJ)#A5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm%YtJxppp 0' R&)VeƷ92hь$<.vAVĊdgpD{:h+!:*3E)e:*">)_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( _zx]^ u)Rl0HšX`\ks.&CdIolHiF}ʮF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n+B PÁu)Rl0HšX`\ks.&CdIolHzSuI}ʮF+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nWD(? R&)VeƷ92hь$<.vAVĊg7T'ܪbh+!:*3E)e:*">)_Rr `PJ)W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг20_1*M 8SSkˍnreѣHx\ 56Jn86-#sZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P*,% 801*M 8SSkˍnreѣHx\ 56Jn86-#s4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P8= <.C/ R&)VeƷ92hь$<.vAVĊg7T- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(_zx]^ (Ԧ%I" jmbqL4c  a&ս" +!:*3E)e:*">)_Rr `PJ))_Rr `PJ)R$E('ܪbh+!:*3E)e:*">)_Rr `PJ)R$E('ܪbl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)Cօ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WDaԦ%I" jmbqL4c  a&ս"C#s36ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P_zx]^u)Rl0HšX`\ks.&CdIolH(ѵu:ǽ  !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e/1*M 8SSkˍnreѣHx\ 566X!w93GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÃ`Xu)Rl0HšX`\ks.&CdIolH(ѵu:ǽ - !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÔu)Rl0HšX`\ks.&CdIolH; !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/)_zx]^pS`c56 &\M10SjؑZw7's34}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/(:ĩ6$XMMB{.5ɗFa!s $ڷ$V ̓`D27)_Rr `PJ))_Rr `PJ)tGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm PPeYtJxp` R&)VeƷ92hь$<.vAW#A6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P _zx]^+1*M 8SSkˍnreѣHx\ 56 9]ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@@,% 80pS`c56 &\M10SjڠEѭ> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂu)Rl0HšX`\ks.&CdIpmPY"̓`D27Ur14}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ P_zx]^ (+1*M 8SSkˍnreѣHx\ 567U菰\M`D27W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm+B PÂA .JbT ,p!X=ˉF0jm\n=ϭ'ܪbh+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(= <.C/   Ԧ%I" jmbqL4c  a&эn5ArЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p05YtJxr`B&JbT ,p!X=ˉF0jm\n=T﹐iFdօ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/)_zx]^PP@o:ĩ6$XMMB{.5ɗFa!s $ڸVz1ƨ6#s ɛ- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂu)Rl0HšX`\ks.&CdIq{j3l$BW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(eJu)Rl0HšX`\ks.&CdIq{j3l$BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@EYtJxpp0(/éLJaE+[q4h; MMcVa&u6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ P",% 8(pS`c56 &\M10SjuXդfQBW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(eu)Rl0HšX`\ks.&CdIq{j3l(wSGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@`p,% 8888 1*M 8SSkˍnreѣHx\ 567UmZFm<.l+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)F&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n @UYtJxp0+1*M 8SSkˍnreѣHx\ 567UZ)c>F&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@@%YtJxrA+Ԧ%I" jmbqL4c  a&FtЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@@,% 8(8 Ԧ%I" jmbqL4c  a&FtzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 0= <.C/PԦ%I" jmbqL4c  a&FtrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P`UYtJxr.JbT ,p!X=ˉF0jm\n^Aǥ7}ʮF+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n 5YtJxp Ԧ%I" jmbqL4c  a&5,zS}'ܪbh+!:*3E)e:*">)_Rr `PJ)=<.l+!:*3E)e:*">)_Rr `PJ)W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm PEYtJxpBAS`c56 &\M10Sju\Q)VҶrrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p`5YtJxp@0S`c56 &\M10Sju\Q=}ʮF+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n B PÂ?\:ĩ6$XMMB{.5ɗFa!s $ڸW)TOErzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86`P0UYtJxp`PPpVJbT ,p!X=ˉF0jm\nѪ'OU9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@@uYtJxpp éLJaE+[q4h; MMts'V`D27W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm5YtJxp`p`01*M 8SSkˍnreѣHx\ 567UrzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86bAUg(eéLJaE+[q4h; MMtD𻭀'ܪbl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)̚ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@ _zx]^ pS`c56 &\M10SjuZS}+;llGA4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ B PÀ@@1*M 8SSkˍnreѣHx\ 567U7ҳ{d}Q3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm+B P aԦ%I" jmbqL4c  a&[O>KOUhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 0 _zx]^ u)Rl0HšX`\ks.&CdIsϺRUr14}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD(éLJaE+[q4h; MM}ҖrrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p`uYtJxp@p éLJaE+[q4h; MMvE(\V`D27)_Rr `PJ)rЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@Bg(epS`c56 &\M10Sj,c>rzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86`b*г2 +1*M 8SSkˍnreѣHx\ 56prF1` *- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(_zx]^ éLJaE+[q4h; MMьlOUhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 82,% 80u)Rl0HšX`\ks.&CdIsz1W#` *> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ@@Xu)Rl0HšX`\ks.&CdIsz1W#` *- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ`@ R&)VeƷ92hь$<.vAW89cȞOZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/u)Rl0HšX`\ks.&CdIs<DGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`P,% 9@/éLJaE+[q4h; MMOX'- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(YtJxp0 0 éLJaE+[q4h; MMO[X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2`.JbT ,p!X=ˉF0jm\"zm> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/= <.C/ l:ĩ6$XMMB{.5ɗFa!s $ڹDK6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^QJг2ࠠ1*M 8SSkˍnreѣHx\ 56prǑ=iօ`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ)rЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@ _zx]^ pS`c56 &\M10Sj.(#DV}l>W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0@eYtJxp`p aԦ%I" jmbqL4c  a&\QGĬ}ʮF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nWD`?1*M 8SSkˍnreѣHx\ 56prNE(\V`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e .JbT ,p!X=ˉF0jm\l9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(!Jг2ࠠ0' R&)VeƷ92hь$<.vAW89s#[\V`D27)_Rr `PJ)W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmeYtJxp`P00 R&)VeƷ92hь$<.vAW89sg7T'ܪbh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF0jm\RplZFl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2/:ĩ6$XMMB{.5ɗFa!s $ڹ˥;3'ܪbl+!:*3E)e:*">)_Rr `PJ)b=5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm 5YtJxp`01*M 8SSkˍnreѣHx\ 56prsN淢4﹚> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(P,% 8( S`c56 &\M10Sj.4kz-sArЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 _zx]^0S`c56 &\M10Sj.4kz$iY`+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n5YtJxp@8 éLJaE+[q4h; MM\ӹwks BW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(e `?1*M 8SSkˍnreѣHx\ 56prsN> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/*г21*M 8SSkˍnreѣHx\ 56prsN- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(eu)Rl0HšX`\ks.&CdIsKw5n4kBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n г2 éLJaE+[q4h; MM\ӹwkts4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P_zx]^ u)Rl0HšX`\ks.&CdIsKw5n4fBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`г2`"L:ĩ6$XMMB{.5ɗFa!s $ڹ˥;pFJrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@puYtJxp @`u)Rl0HšX`\ks.&CdIsKw5nHGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(e +1*M 8SSkˍnreѣHx\ 56prsNҩl+!:*3E)e:*">)_Rr `PJ)h+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)N>W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmuYtJxp` aԦ%I" jmbqL4c  a&].iKw9X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2@ éLJaE+[q4h; MM\ӹ4sBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nWD?S`c56 &\M10Sj.4k;쁰rЬF痜(I)A*S/lb5Fd$XMMBz&nrj86+B PÂ@O1*M 8SSkˍnreѣHx\ 56prsNhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx !@г2.JbT ,p!X=ˉF0jm\t QzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86`0_zx]^ @?:ĩ6$XMMB{.5ɗFa!s $ڹ˥;o`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmEYtJxpPp ' R&)VeƷ92hь$<.vAW89ts]TcR X}ʮF+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAg(eu)Rl0HšX`\ks.&CdIsKw5.uF0u ڞ'ܪbh+!:*3E)e:*">)_Rr `PJ)W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÃ?L:ĩ6$XMMB{.5ɗFa!s $ڹ˥;oRrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P`5YtJxp @?1*M 8SSkˍnreѣHx\ 56prsN(Ԃ)D}'ܪbh+!:*3E)e:*">)_Rr `PJ)Ur16ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÁ@&JbT ,p!X=ˉF0jm\tD,ꓰ\V`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD|:ĩ6$XMMB{.5ɗFa!s $ڹ˥;ҋm+;5N%g9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx_zx]^  éLJaE+[q4h; MM\ӹ(\'X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmuYtJxr`.JbT ,p!X=ˉF0jm\iFvBq>ǚ> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e?l:ĩ6$XMMB{.5ɗFa!s $ڹ˥;Ҍ}6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/L:ĩ6$XMMB{.5ɗFa!s $ڹ˥;hhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^u)Rl0HšX`\ks.&CdIsKw;љzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P _zx]^ S`c56 &\M10Sj.4w93`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm2g(eL:ĩ6$XMMB{.5ɗFa!s $ڹ˥;'ܪb+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD?l:ĩ6$XMMB{.5ɗFa!s $ڹ˥;ҍ] \M`D27)_Rr `PJ)W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm ,% 88O1*M 8SSkˍnreѣHx\ 56prҍ2c>W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm5YtJxp@p/ R&)VeƷ92hь$<.vAW89iFYrzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86``_zx]^R&)VeƷ92hь$<.vAW89iFYrrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p2,% 8   aԦ%I" jmbqL4c  a&ZQ !AVUr1ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDu)Rl0HšX`\ks.&CdIsBdPF\MCօ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e` P?:ĩ6$XMMB{.5ɗFa!s $ڹJ0l_` *- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ&JbT ,p!X=ˉF0jm],[Oz{օ`D27W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm%YtJxp@0bl:ĩ6$XMMB{.5ɗFa!s $ںYM&E(\M`D27)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÃA6JbT ,p!X=ˉF0jm],[OzU>W#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm2g(e@u)Rl0HšX`\ks.&CdItқMm=5D27;OUhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (*,% 8(0 Ԧ%I" jmbqL4c  a&Jn5(>W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@EYtJxpP 8éLJaE+[q4h; MMRki\Q!}ʮF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`jг2@?&JbT ,p!X=ˉF0jm],[Oz hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx !@г2\:ĩ6$XMMB{.5ɗFa!s $ںYM&zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86pp` ,% 8( 0?éLJaE+[q4h; MMRkiZ!- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e@@1*M 8SSkˍnreѣHx\ 56zSuIrԣЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@ _zx]^p)_.JbT ,p!X=ˉF0jm],[OzsG#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm%YtJxppP`+1*M 8SSkˍnreѣHx\ 56zSuIrԣrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86*г2`00O1*M 8SSkˍnreѣHx\ 56zSuI\AǶ+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)WTЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@`EYtJxr07 R&)VeƷ92hь$<.vAWK=)Cօ`D27 kBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`EYtJxpr u)Rl0HšX`\ks.&CdItқMnnd}cл&h+!:*3E)e:*">)_Rr `PJ) fBW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(e@ L:ĩ6$XMMB{.5ɗFa!s $ںYM&F2 >h]]27jօ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(eJbT ,p!X=ˉF0jm],[[tX4.ɮ͵FfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n%B PÁ O1*M 8SSkˍnreѣHx\ 56zSuIѭ̃O,}&ͰЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P2g(e?\:ĩ6$XMMB{.5ɗFa!s $ںYM&F2 >l6†BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nJг2``Xu)Rl0HšX`\ks.&CdItқMnnd}c6m `D27ܛkavL=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(_zx]^PpéLJaE+[q4h; MMRktks FnM&l+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm _zx]^R&)VeƷ92hь$<.vAWK=)׸|6s\M`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(= <.C/aԦ%I" jmbqL4c  a&Jn5$z yf OU9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx88_zx]^Q@&JbT ,p!X=ˉF0jm],\QG)>W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`5YtJxr .JbT ,p!X=ˉF0jm],\QG)>W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmEYtJxpp éLJaE+[q4h; MMRk4H%4Sp'ܪbl+!:*3E)e:*">)_Rr `PJ)` *> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( = <.C/P0!@O:ĩ6$XMMB{.5ɗFa!s $ںYM&M>` *- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD(' R&)VeƷ92hь$<.vAWK=)${ kBW^s#4R^s#/('+{iLɈtS`c56 븚4b5njг2pS`c56 &\M10Sjg7TqvL=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx((0",% 8(+éLJaE+[q4h; MMRkG=Dž3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmࠠг2@01*M 8SSkˍnreѣHx\ 56zSuIzS#тЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@peYtJxpp@?1*M 8SSkˍnreѣHx\ 56zSuIzS#сzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86EYtJxr`L:ĩ6$XMMB{.5ɗFa!s $ںYM&YN؏FBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n0eYtJxpp (éLJaE+[q4h; MMRkRkBW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(e%\:ĩ6$XMMB{.5ɗFa!s $ںYM&YM&h+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ag(e@OR&)VeƷ92hь$<.vAWK=)G9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/P(0 éLJaE+[q4h; MMzkӟtkphV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx !@5YtJxpp`(? R&)VeƷ92hь$<.vAW@׽>VqzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@ :,% 88  éLJaE+[q4h; MMzkӟtkp9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx((:,% 888 Ԧ%I" jmbqL4c  a&gr1ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/ +éLJaE+[q4h; MMzF1bh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)nNl+!:*3E)e:*">)_Rr `PJ)nNŤnfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n @5YtJxpP0b.JbT ,p!X=ˉF0jm] >nN)+I$ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/P8éLJaE+[q4h; MMz4es7D&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nB PÂ@ >JbT ,p!X=ˉF0jm] >nN)+I$6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/u)Rl0HšX`\ks.&CdIt/\rl}*.5ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P_zx]^u)Rl0HšX`\ks.&CdIt/\rl}*.54}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^  WDԦ%I" jmbqL4c  a&rɳkp9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0 _zx]^QEaԦ%I" jmbqL4c  a&s$+!:*3E)e:*">)_Rr `PJ)- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(*,% 9@"Eu)Rl0HšX`\ks.&CdIt/\>V`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÀA1*M 8SSkˍnreѣHx\ 56뫡ta#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`jг2@ Ԧ%I" jmbqL4c  a&u'+ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@0 _zx]^P@/ R&)VeƷ92hь$<.vAW@ԜBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAg(e`0éLJaE+[q4h; MMzNWC`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm _zx]^\:ĩ6$XMMB{.5ɗFa!s $ںU;h[smQЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@bg(e `  R&)VeƷ92hь$<.vAW[jm unm34}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ +B PÁéLJaE+[q4h; MM5YӶ6- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/= <.C/u)Rl0HšX`\ks.&CdIu=ͧTf+!:*3E)e:*">)_Rr `PJ)#86BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@г2@.JbT ,p!X=ˉF0jm]lAdSGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm _zx]^  BS`c56 &\M10Sj` Vz ڛ- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/= <.C/l:ĩ6$XMMB{.5ɗFa!s $ںUڹ6 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e`.JbT ,p!X=ˉF0jm]lEm\m ][jCօ`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÃéLJaE+[q4h; MM5Yg9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx= <.C/P( éLJaE+[q4h; MM5\.i ڭ !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/)_zx]^0 (éLJaE+[q4h; MM5\.i ښ> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/EYtJxpP@ 7 1*M 8SSkˍnreѣHx\ 56pQl3jl+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/%+B PÃ@ 1*M 8SSkˍnreѣHx\ 56sIsicEmQrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P@",% 80pS`c56 &\M10Sj` WGBOFpmV`D27ǶA6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/aԦ%I" jmbqL4c  a&D6[smQЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@Jг2R .JbT ,p!X=ˉF0jm]lY$OAi6> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/*г2eaԦ%I" jmbqL4c  a&D6[smQrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@ _zx]^Ԧ%I" jmbqL4c  a&եW=g: !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(eu)Rl0HšX`\ks.&CdIiUYέ.BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n @Jг2`0@@?R&)VeƷ92hь$<.vAV\l+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)J#fBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@г2`<:ĩ6$XMMB{.5ɗFa!s $ڴgtE)g%`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm Bg(e` _1*M 8SSkˍnreѣHx\ 56*z'+!:*3E)e:*">)_Rr `PJ)W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0",% 8 éLJaE+[q4h; MMJz= }[OU9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx802,% 8)@&JbT ,p!X=ˉF0jmZUs։ԹӟkBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2A\:ĩ6$XMMB{.5ɗFa!s $ڴsM>Cօ`D27)_Rr `PJ))_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÁ S`c56 &\M10SjҫJgD{9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@+B PÃ@\:ĩ6$XMMB{.5ɗFa!s $ڴ箎ut,5ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@`",% 80 Ԧ%I" jmbqL4c  a&եW=tt$aCօ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(P_zx]^0P@O1*M 8SSkˍnreѣHx\ 56*ZxYrЬF痜(I)A*S/lb5Fd$XMMBz&nrj868:,% 9E&JbT ,p!X=ˉF0jmZUsJ#TB. !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(_zx]^ Ԧ%I" jmbqL4c  a&եW=t5D.ۙzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@0_zx]^ 8' &JbT ,p!X=ˉF0jmZUsJ#TB. - !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÔ Ԧ%I" jmbqL4c  a&եW=ut,5ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@0,% 80 Ԧ%I" jmbqL4c  a&եW=ut,5٣zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@2`%YtJxp` 1*M 8SSkˍnreѣHx\ 56*뫡a̓`D27W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmBg(e@1*M 8SSkˍnreѣHx\ 56*(&R,>W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm= <.C/ aԦ%I" jmbqL4c  a&եW=uE6$Vs'ܪbl+!:*3E)e:*">)_Rr `PJ)=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx((!E+B PÁApS`c56 &\M10Sjҫ3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm05YtJxp@Xu)Rl0HšX`\ks.&CdIiUXk}hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ( _zx]^1*M 8SSkˍnreѣHx\ 56* t﹃> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂJaԦ%I" jmbqL4c  a&եW=a=0`S`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0PuYtJxr@eu)Rl0HšX`\ks.&CdIiUXkг{$JX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0eYtJxpP` Ԧ%I" jmbqL4c  a&եW=aB +;l Cօ`D27)_Rr `PJ)g !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÁ`.JbT ,p!X=ˉF0jmZUs, h+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)=- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÔu)Rl0HšX`\ks.&CdIiUXkA$JX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@eYtJxp`0? R&)VeƷ92hь$<.vAV\KdJJ4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD@1*M 8SSkˍnreѣHx\ 56* t>=diY`l+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)Cօ`D27̓`D27)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD0S`c56 &\M10SjҫIa)VIVBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n Ug(e`_1*M 8SSkˍnreѣHx\` ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@ _zx]^  .JbT ,p!X=ˉF0<] !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂaԦ%I" jmbqL4c  d` ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p@0`eYtJxp`00 1*M 8SSkˍnreѣHx\".V`D27X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm_zx]^éLJaE+[q4h; >X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm 9E+B PÔ@,:ĩ6$XMMB{.5ɗFa!s O iMMlЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 = <.C/u)Rl0HšX`\ks.&Cd&6$Vʬ{jͱ ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@`_zx]^ (éLJaE+[q4h; 4𶑰$ڶUvƫBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nB PÔR&)VeƷ92hь$<.vAim#`Im ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86g(eJbT ,p!X=ˉF0I &մ2tFօ`D27)_Rr `PJ))_Rr `PJ)X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@  _zx]^  Ԧ%I" jmbqL4c  e` ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P0` YtJxr@0O@S`c56 &\M12菰hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^@p  R&)VeƷ92hь$<.vAЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 @``jг2@ éLJaE+[q4h; Ā` ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P`YtJxp9@aԦ%I" jmbqL4c  b`菰hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0_zx]^ `JbT ,p!X=ˉF0 >X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmJг2 P/9Xu)Rl0HšX`\ks.&Cd >X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmWD|:ĩ6$XMMB{.5ɗFa!s &.V`D27G纤ϺQ>օ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/@jг2?l:ĩ6$XMMB{.5ɗFa"0`%jm[O>G纤ϺQ>̓`D27F+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAg(epo1*M 8SSkˍnreѣH =.EdVϺQ95q϶W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@jг2e|:ĩ6$XMMB{.5ɗFa"0`%jm[O>G纤ϺQ>}\M`D27G9(}> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ag(e (R&)VeƷ92hь$@DMMi(TyJ8D{9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx  _zx]^péLJaE+[q4h |F QY&մq{Mm<sa$cqЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P _zx]^ pS`c56 &\M1; тVIm<s[O>G=Ijh+!:*3E)e:*">)_Rr `PJ)vA(SjyJ8=&}Ҏ9z15ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDpS`c56 &\M1; тVIm<s[O>G=> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/)_zx]^éLJaE+[q4h |F QY&մq{Mm<sc[jl+!:*3E)e:*">)_Rr `PJ)G{IV`D27G纤ϺQ>hSGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@02,% 80(0S`c56 &\M1; тVIm<s[O>G{IM`D27vA(SjyJ8=&}Ҏ9;)L9(}> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD?S`c56 &\M1; тVIm<s[O>G}G̓`D27G纤ϺQ>hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx )@г2.JbT ,p!X=ˉF0dz0]56tsRki(sEh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)G纤ϺQ>ob+!:*3E)e:*">)_Rr `PJ)vA(SjyJ8=&}Ҏ9JKЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P2,% 8(éLJaE+[q4h |F QY&մq{Mm<smnSGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0P_zx]^8aԦ%I" jmbqL4c >vA(SjyJ8=&}Ҏ9JKrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@0,% 8(0' R&)VeƷ92hь$@DMMi(TyJ8ZshV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx )@YtJxr@`O1*M 8SSkˍnreѣH =.EdVϺQ95qϺ٣zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86UYtJxp0p aԦ%I" jmbqL4c >vA(SjyJ8=&}Ҏ9V6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P!Jг2b?\:ĩ6$XMMB{.5ɗFa"0`%jm[O>G纤ϺQ>` V`D27vA(SjyJ8=&}Ҏ9^ !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(= <.C/P(0!_.JbT ,p!X=ˉF0dz0]56tsRki(iYzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p0_zx]^ Ԧ%I" jmbqL4c >vA(SjyJ8=&}Ҏ9^- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e`u)Rl0HšX`\ks.&DatJ+$ں:$VөY !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ@@ R&)VeƷ92hь$@DMMcEm:OOzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86_zx]^0S`c56 &\M1; тVIt tHRiir16ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^  WD@`6JbT ,p!X=ˉF0dz0]56Vm>%ZX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@eYtJxrA@\:ĩ6$XMMB{.5ɗFa"0`%jm]+iԬ}NJF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@ EYtJxp`PppO`\:ĩ6$XMMB{.5ɗFa"0`%jm]+iԬ}NJF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n ,% 8 R&)VeƷ92hь$@DMMcEm:OJX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2\:ĩ6$XMMB{.5ɗFa"0`%jm]+iԬ}^V> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD,:ĩ6$XMMB{.5ɗFa"0`%jm]+iԬ}^V- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÃ_.JbT ,p!X=ˉF0dz0]56 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD\:ĩ6$XMMB{.5ɗFa"0`%jm]+ir14}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^)_zx]^ 0S`c56 &\M1; тVIt tH9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8_zx]^W R&)VeƷ92hь$@DMMcEg#15Vm>#15X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг20 Ԧ%I" jmbqL4c >vA(SjY}m:O}=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx85YtJxpp 9@1*M 8SSkˍnreѣH =.EdW@DFckiԬ}NFcfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2``@0 R&)VeƷ92hь$@DMMcEg#15iFckBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAAUg(eA\:ĩ6$XMMB{.5ɗFa"0`%jm]+9Nr3s4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÂ`u)Rl0HšX`\ks.&DatJ+$ں:$Vr3sY֝f>l+!:*3E)e:*">)_Rr `PJ)vA(SjY}g#13`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm 2g(eu)Rl0HšX`\ks.&DatJ+$ں:$Vr3sYH#15X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2`?1*M 8SSkˍnreѣH =.EdW@DFck=Ih+!:*3E)e:*">)_Rr `PJ)+!:*3E)e:*">)_Rr `PJ)滩XzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 _zx]^Ԧ%I" jmbqL4c >vA(SjY}wSб#13`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmࠠг2péLJaE+[q4h |F QY&1"}hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ( _zx]^ u)Rl0HšX`\ks.&DatJ+$ں:$Vr3s[9> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/@EYtJxp@S`c56 &\M1; тVIt tHf>淺6r3s6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÃu)Rl0HšX`\ks.&DatJ+$ں:$Vr3s\Z}hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ((*,% 8  Ԧ%I" jmbqL4c >vA(SjY}pmkg#13GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm rg(e@@p?R&)VeƷ92hь$@DMMcEg#15̓`D27l+!:*3E)e:*">)_Rr `PJ)溺#13`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm *,% 88(pS`c56 &\M1; тVIt tHf>AZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDA\:ĩ6$XMMB{.5ɗFa"0`%jm]+9iFdCօ`D27A6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ g(e@`Xu)Rl0HšX`\ks.&DatJ+$ں:$Vr)D}bFzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P@5YtJxpp Ԧ%I" jmbqL4c >vA(SjYȥ>m#握BW^s#4R^s#/('+{iLɈtS`c56 븚4b5njг2 éLJaE+[q4h |F QY&1"J#|7G̓`D27vA(SjYȀ&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n YtJxpPpS`c56 &\M1; тVIt tH@)UhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx  _zx]^éLJaE+[q4h |F QY&1"^hSGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm ,% 88801*M 8SSkˍnreѣH =.EdW@DD{IM`D27vA(SjYU !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÀJ\:ĩ6$XMMB{.5ɗFa"0`%jm]+>3GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm"g(e@`R&)VeƷ92hь$@DMMcEgcTfl+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)l+!:*3E)e:*">)_Rr `PJ)vA(SjX9"$f h+!:*3E)e:*">)_Rr `PJ)"G$n !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(_zx]^ pS`c56 &\M1; тVIt tH}jOȥ>m#握BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n (= <.C/ éLJaE+[q4h |F QY&1"A>"G$n- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/= <.C/PéLJaE+[q4h |F QY&1"A>%Z">޴+!:*3E)e:*">)_Rr `PJ)%Z">h+!:*3E)e:*">)_Rr `PJ)5'TcG̓`D275'{{օ`D275'{{̓`D27TeŤnkBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAg(e@ R&)VeƷ92hь$@DMMcEcR}Gꌠش=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (8 ",% 8( R&)VeƷ92hь$@DMMcEcR}Gꌠش9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@``г20 ?VJbT ,p!X=ˉF0dz0]56 I R Hօ`D27vA(SjX ԟR ش9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx eYtJxpP`` éLJaE+[q4h |F QY&1"A>u+Gօ`D27h+!:*3E)e:*">)_Rr `PJ)l+!:*3E)e:*">)_Rr `PJ)F0D}=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 00 ,% 81@@o@l:ĩ6$XMMB{.5ɗFa"0`%jm]+dRr1#BW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(eAA@>JbT ,p!X=ˉF0dz0]56 IEK}W#">޴+!:*3E)e:*">)_Rr `PJ)5'֎-}\`yzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p0rg(eJS`c56 &\M1; тVIt tH}jO/[`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm 2g(e%A?\:ĩ6$XMMB{.5ɗFa"0`%jm]+t 2b75X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@uYtJxp@ Ԧ%I" jmbqL4c >vA(SjX]Q> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÃaԦ%I" jmbqL4c >vA(SjX]Q- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e O1*M 8SSkˍnreѣH =.EdW@D;V؟t35ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD(P/ R&)VeƷ92hь$@DMMcEvƫlOUw> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(P:,% 8(8éLJaE+[q4h |F QY&1"NU'*;M`D27)_Rr `PJ))_Rr `PJ)vA(Sj]qlƦBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n `%YtJxpRL:ĩ6$XMMB{.5ɗFa"0`%jm]+5Yn75X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmYtJxpP@07 R&)VeƷ92hь$@DMMcEvƫ=ԭh+!:*3E)e:*">)_Rr `PJ)vA(Sj]qϷǺn75X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2`1*M 8SSkˍnreѣH =.EdW@D;V}=Fou+q> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(el:ĩ6$XMMB{.5ɗFa"0`%jm]+5YUԭl+!:*3E)e:*">)_Rr `PJ)vA(Sj]qǢzPӸ9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^ !_&JbT ,p!X=ˉF0dz0]56wz' ^VsZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ P",% 80( éLJaE+[q4h |F QY&1"NUDqJnfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(e P'VJbT ,p!X=ˉF0dz0]56wz' ^Vs6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/0S`c56 &\M1; тVIt tHӸvƯu+qԪЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@R*г2@  R&)VeƷ92hь$@DMMcEvƫ5{[MCօ`D27vA(Sj]q'+NS`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm `",% 8(00 éLJaE+[q4h |F QY&1"NUNW7!ou+q !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(YtJxpp (0/ R&)VeƷ92hь$@DMMcEvƫ@otBVs4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD\:ĩ6$XMMB{.5ɗFa"0`%jm]+5Zs{RrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86jг2 @ / R&)VeƷ92hь$@DMMcEvƫtks^Bm{e[ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@Pp",% 8 9@0o1*M 8SSkˍnreѣH =.EdW@D;V hʷ3GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0_zx]^P0aԦ%I" jmbqL4c >vA(Sj]qאamVl+!:*3E)e:*">)_Rr `PJ)vA(Sj]qאavƫBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nJ+B PÃP(éLJaE+[q4h |F QY&1"NU5ů!6;MCօ`D27)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WDXu)Rl0HšX`\ks.&DatJ+$ں:$WijڶӸ9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 0 _zx]^ Ԧ%I" jmbqL4c >vA(Sj]qT{j׺օ`D27vA(Sj]qV>F6ƦBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nEYtJxp`pP7 R&)VeƷ92hь$@DMMcEvƫ{Z[ԭ+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)vA(Sj]qqIn73`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm P ,% 8  aԦ%I" jmbqL4c >vA(Sj]q䌒.)Zw !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÁ Ԧ%I" jmbqL4c >vA(Sj]q䌒.)Zw> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD(PaԦ%I" jmbqL4c >vA(Sj]q䌒.)Zw- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( YtJxp0PBL:ĩ6$XMMB{.5ɗFa"0`%jm]+5\R'օ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WDéLJaE+[q4h |F QY&1"NU%(\R{[9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx UYtJxp2 &JbT ,p!X=ˉF0dz0]56w9z/J#ƫBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@ YtJxpb@1*M 8SSkˍnreѣH =.EdW@D;WV=NSGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm = <.C/ S`c56 &\M1; тVIt tHӸuiϳzPo56ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/  W R&)VeƷ92hь$@DMMcEvƫN}҄`{JnkBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@`г2@p ' R&)VeƷ92hь$@DMMcEvƫN}҄`{JnfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n(= <.C/ u)Rl0HšX`\ks.&DatJ+$ں:$Wij(Fԭl+!:*3E)e:*">)_Rr `PJ)ij+!:*3E)e:*">)_Rr `PJ)ijl+!:*3E)e:*">)_Rr `PJ)RЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@Rг2`@B\:ĩ6$XMMB{.5ɗFa"0`%jm]+5]Zsԭh+!:*3E)e:*">)_Rr `PJ)vA(Sj]q;dn75X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm ,% 80Ԧ%I" jmbqL4c >vA(Sj]q;dn73GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmJг2``P R&)VeƷ92hь$@DMMcEvƫcG#̓`D27vA(Sj]q;">RzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p0puYtJxp` 0éLJaE+[q4h |F QY&1"NUwpD}n73`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@Jг2`&JbT ,p!X=ˉF0dz0]56wϫqЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@PpEYtJxpéLJaE+[q4h |F QY&1"NUwtr154}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^@г2S`c56 &\M1; тVIt tHӸu-}\m;M`D27vA(Sj]q҈ZsǺƦBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nJг2` aԦ%I" jmbqL4c >vA(Sj]q҈ZsǺƦBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nYtJxp@0@&JbT ,p!X=ˉF0dz0]56w(E>{RЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P",% 8 Ԧ%I" jmbqL4c >vA(Sj]q҈ZsǺu+q> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD(aԦ%I" jmbqL4c >vA(Sj]q҈ZsǺu+q- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(= <.C/ 0S`c56 &\M1; тVIt tH'H6-#sZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDu)Rl0HšX`\ks.&DatJ+$ں:$VAҤ> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD,:ĩ6$XMMB{.5ɗFa"0`%jm]+ R H̓`D27)_Rr `PJ)vA(SjY&O !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ\:ĩ6$XMMB{.5ɗFa"0`%jm]+$ISGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm @p,% 880R&)VeƷ92hь$@DMMcEd)>l+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÃ<:ĩ6$XMMB{.5ɗFa"0`%jm]+$rU16ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD( Ԧ%I" jmbqL4c >vA(SjY#гDZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÂA /1*M 8SSkˍnreѣH =.EdW@Dr zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 WDS`c56 &\M1; тVIt tHYg"- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÔu)Rl0HšX`\ks.&DatJ+$ں:$VH,aqIո- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÃu)Rl0HšX`\ks.&DatJ+$ں:$VH,aqIո> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD +1*M 8SSkˍnreѣH =.EdW@Dr .):`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2P' R&)VeƷ92hь$@DMMcEdF"r ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@ _zx]^ Ԧ%I" jmbqL4c >vA(SjY#сȜh+!:*3E)e:*">)_Rr `PJ)JbT ,p!X=ˉF0dz0]56t 2ckBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`г2?\:ĩ6$XMMB{.5ɗFa"0`%jm]+$>Te&Cօ`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ)vA(SjY'yrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86B PÂWR&)VeƷ92hь$@DMMcEdw;&օ`D27vA(SjY'ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P _zx]^ Ԧ%I" jmbqL4c >vA(SjY'4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^г2u)Rl0HšX`\ks.&DatJ+$ں:$VIM`D27)_Rr `PJ)vA(SjY(\R94}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^(= <.C/Ԧ%I" jmbqL4c >vA(SjY(\R96ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ )_zx]^ R&)VeƷ92hь$@DMMcEdqIո- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÔ u)Rl0HšX`\ks.&DatJ+$ں:$VJ[zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@r WDpS`c56 &\M1; тVIt tH.):`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@2g(e`/1*M 8SSkˍnreѣH =.EdW@D#*ɱX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm05YtJxpP \:ĩ6$XMMB{.5ɗFa"0`%jm]+$c&Cօ`D27JbT ,p!X=ˉF0dz0]56coZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/ pS`c56 &\M1; тVIt tHyzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86)Jг2 8u)Rl0HšX`\ks.&DatJ+$ں:$VJM9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^pS`c56 &\M1; тVIt tHJ#1o+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)vA(SjY){9* !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂu)Rl0HšX`\ks.&DatJ+$ں:$VJmNJF&BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAAg(eAS`c56 &\M1; тVIt tH=ȜjM`D27)_Rr `PJ)JbT ,p!X=ˉF0dz0]56(M- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/)_zx]^ S`c56 &\M1; тVIt tH/y͚ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@:,% 9@ r\:ĩ6$XMMB{.5ɗFa"0`%jm]+%Csfh+!:*3E)e:*">)_Rr `PJ)h6fBW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(e`01*M 8SSkˍnreѣH =.EdW@DPɱX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm05YtJxp @` R&)VeƷ92hь$@DMMcEd|{٣zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@p _zx]^éLJaE+[q4h |F QY&1"T>hll9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@= <.C/|:ĩ6$XMMB{.5ɗFa"0`%jm]+%Kfڣ5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm eYtJxpP@`@ R&)VeƷ92hь$@DMMcEdrlTfh+!:*3E)e:*">)_Rr `PJ)vA(SjY*|4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDaԦ%I" jmbqL4c >vA(SjY*|6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^(WD@@ 1*M 8SSkˍnreѣH =.EdW@DU>օ`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e?R&)VeƷ92hь$@DMMcEdӟfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`0P5YtJxpPp0/ 1*M 8SSkˍnreѣH =.EdW@DVvաX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm,% 88 (Ԧ%I" jmbqL4c >vA(SjY*Vh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)vA(SjY*DTb+!:*3E)e:*">)_Rr `PJ)vA(SjY*l̓`D27vA(SjY*> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e@e<:ĩ6$XMMB{.5ɗFa"0`%jm]+%TQ}]#`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2 Ԧ%I" jmbqL4c >vA(SjY*hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8,% 80)@@1*M 8SSkˍnreѣH =.EdW@DVwfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`0PUYtJxp0p` :ĩ6$XMMB{.5ɗFa"0`%jm]+%Yݛ- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(e`  1*M 8SSkˍnreѣH =.EdW@D& 3ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@,% 8809@?1*M 8SSkˍnreѣH =.EdW@D& 3zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P2`г2 8/(&JbT ,p!X=ˉF0dz0]56M$gS`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmAg(eS`c56 &\M1; тVIt tHc=šX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm5YtJxp`@`' R&)VeƷ92hь$@DMMcEd> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( R,% 9@ `0?@|:ĩ6$XMMB{.5ɗFa"0`%jm]+$D09hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(_zx]^ aԦ%I" jmbqL4c >vA(SjX]f] !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÃ\:ĩ6$XMMB{.5ɗFa"0`%jm]+ t GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`г2@0@L:ĩ6$XMMB{.5ɗFa"0`%jm]+ t `X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm `5YtJxp2ApS`c56 &\M1; тVIt tHOw;ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P0eYtJxpR@ .JbT ,p!X=ˉF0dz0]56ԩ>s4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P( = <.C/P Ԧ%I" jmbqL4c >vA(Sj[Jo|#w3`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг20 éLJaE+[q4h |F QY&1"#BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n 5YtJxp1@.JbT ,p!X=ˉF0dz0]56Ԭo4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDJéLJaE+[q4h |F QY&1"#BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`e+B PÃu)Rl0HšX`\ks.&DatJ+$ں:$VRr1#BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAg(eJ(pS`c56 &\M1; тVIt tHiocGCօ`D27vA(Sj\.)[- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD?\:ĩ6$XMMB{.5ɗFa"0`%jm]+*[iЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@PPuYtJxp@``P R&)VeƷ92hь$@DMMcEpK}W#6-#s4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P((,% 8'R&)VeƷ92hь$@DMMcEpK}W#6-#s6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÃu)Rl0HšX`\ks.&DatJ+$ں:$Vw7M+!:*3E)e:*">)_Rr `PJ)vA(Sj\#w3GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@@EYtJxpP8 éLJaE+[q4h |F QY&1"GfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n+B PÃP éLJaE+[q4h |F QY&1"ܚ Hօ`D27)_Rr `PJ)h9+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(WD|:ĩ6$XMMB{.5ɗFa"0`%jm]+EcgU `D27vA(Sj]/[X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2pb\:ĩ6$XMMB{.5ɗFa"0`%jm]+EK}W#">h+!:*3E)e:*">)_Rr `PJ)vA(Sj]sp֋BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@g(e@/ R&)VeƷ92hь$@DMMcEtpm NZ> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(= <.C/éLJaE+[q4h |F QY&1"86`'Nq `D27өYէ>yzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P_zx]^@O@l:ĩ6$XMMB{.5ɗFa"0`%jm]+N}RiN}`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm` ,% 880  aԦ%I" jmbqL4c >vA(Sj]ZscR}jӟg;hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ( _zx]^0 éLJaE+[q4h |F QY&1"է>Ϸw;zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86 *,% 8( 'éLJaE+[q4h |F QY&1"է>Ϸw;rЬF痜(I)A*S/lb5Fd$XMMBz&nrj86Bg(e /1*M 8SSkˍnreѣH =.EdW@DӟkdV=X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm ,% 80((( éLJaE+[q4h |F QY&1"է>EB0D}=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/  aԦ%I" jmbqL4c >vA(Sj]ZscR}jӟg">l+!:*3E)e:*">)_Rr `PJ)>5'֭9Gօ`D27iϸ">h+!:*3E)e:*">)_Rr `PJ)iϸ">l+!:*3E)e:*">)_Rr `PJ)J9}9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/8u)Rl0HšX`\ks.&DatJ+$ں:$WV]Zs{{օ`D27ϷǺ9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx8,% 8(0S`c56 &\M1; тVIt tH9>sZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ QJг2ࠀ 1*M 8SSkˍnreѣH =.EdW@DӟkN}o|#w3GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmJг2@0:ĩ6$XMMB{.5ɗFa"0`%jm]+N}9}󸏹̓`D27V=- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Jг2:ĩ6$XMMB{.5ɗFa"0`%jm]+N}9z/J#BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nJWD.JbT ,p!X=ˉF0dz0]56է>V=GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm Jг2@p .JbT ,p!X=ˉF0dz0]56է>V=`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`e+B PÂ_6JbT ,p!X=ˉF0dz0]56է>V#BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@г28 R&)VeƷ92hь$@DMMcEuiϵէ>yzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86Eg(e éLJaE+[q4h |F QY&1"ӟpD}9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx!@@",% 8(pS`c56 &\M1; тVIt tHm:OOJ !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD(u)Rl0HšX`\ks.&DatJ+$ں:$W[jJͧz' MCօ`D27vA(Sj]lDMh+!:*3E)e:*">)_Rr `PJ)vA(Sj]lDMl+!:*3E)e:*">)_Rr `PJ)vA(Sj]lFF ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDpS`c56 &\M1; тVIt tHg #GVu> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(eS`c56 &\M1; тVIt tHg #GVu- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/ = <.C/ ?S`c56 &\M1; тVIt tHcR}OlBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAg(eA@.JbT ,p!X=ˉF0dz0]56}jO=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(!@г2@@(&JbT ,p!X=ˉF0dz0]56}jO9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx802,% 8 )@?1*M 8SSkˍnreѣH =.EdW@D` V>5'Ǻ-ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/ @.JbT ,p!X=ˉF0dz0]56}jOuQ[h+!:*3E)e:*">)_Rr `PJ)8q+s4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD<:ĩ6$XMMB{.5ɗFa"0`%jm]+5X ԟTE- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD( pS`c56 &\M1; тVIt tHcR}iRo=(\j+!:*3E)e:*">)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/ WDԦ%I" jmbqL4c >vA(Sj]lҤcǢzP9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0R,% 8((  R&)VeƷ92hь$@DMMcEud[j`D278=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(0 ,% 9@0`(6JbT ,p!X=ˉF0dz0]56}jOlN6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P0 _zx]^ Ԧ%I" jmbqL4c >vA(Sj]lǢzPhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^Q_.JbT ,p!X=ˉF0dz0]56z' MCօ`D27)_Rr `PJ) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e ,:ĩ6$XMMB{.5ɗFa"0`%jm]+5]qrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@`PEYtJxpP``P?1*M 8SSkˍnreѣH =.EdW@D` VA`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e@u)Rl0HšX`\ks.&DatJ+$ں:$W[jMl+!:*3E)e:*">)_Rr `PJ)vA(Sj]lq(V+!:*3E)e:*">)_Rr `PJ)vA(Sj]lV$n5ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/ JpS`c56 &\M1; тVIt tHd` OFF7> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD`/pl:ĩ6$XMMB{.5ɗFa"0`%jm]+5Y*SфƦBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nEYtJxp``éLJaE+[q4h |F QY&1"U86KBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`г2 ' R&)VeƷ92hь$@DMMcEu plCօ`D27)_Rr `PJ)Z%[9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx )@EYtJxp`@0@o1*M 8SSkˍnreѣH =.EdW@D` W&ͤf 1hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ((,% 9@0` R&)VeƷ92hь$@DMMcEuf3lMh+!:*3E)e:*">)_Rr `PJ)vA(Sj]lٴ$u- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(eAAl:ĩ6$XMMB{.5ɗFa"0`%jm]+5\J#1`D27vA(Sj]lP1Ml+!:*3E)e:*">)_Rr `PJ)vA(Sj]l)`D27 !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/@ г2 8?(JbT ,p!X=ˉF0dz0]56Ok09hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0_zx]^aԦ%I" jmbqL4c >vA(Sj]lW#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@uYtJxp0(0? R&)VeƷ92hь$@DMMcEu4u\MCօ`D27)_Rr `PJ)vA(Sj]lIn9*.BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nA*г2`?@l:ĩ6$XMMB{.5ɗFa"0`%jm]+5] >Z%[9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0(YtJxp`( +1*M 8SSkˍnreѣH =.EdW@D` WJ"z1ƫBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nA@g(e?.JbT ,p!X=ˉF0dz0]56Dc[MCօ`D27vA(Sj]lRoэ*ֆBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`"*г2ࠀ éLJaE+[q4h |F QY&1"UҤgUX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2pS`c56 &\M1; тVIt tHt7ƶ=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(((_zx]^p87(.JbT ,p!X=ˉF0dz0]56&=- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( _zx]^éLJaE+[q4h |F QY&1"UҤcǢzPhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ((:,% 9@`  R&)VeƷ92hь$@DMMcEuIǏDqzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@_zx]^  R&)VeƷ92hь$@DMMcEuIǏDqrЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P@pUYtJxpb 6JbT ,p!X=ˉF0dz0]56&cTf !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ\:ĩ6$XMMB{.5ɗFa"0`%jm]+5]*M>Ǻ-4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÃ1*M 8SSkˍnreѣH =.EdW@D` WJ}3 uM`D27u> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/`г2`@aԦ%I" jmbqL4c >vA(Sj]lӟi `D27)_Rr `PJ)vA(Sj]l` Z}\MCօ`D27vA(Sj]lu- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÂ@@ ?1*M 8SSkˍnreѣH =.EdW@D` V0=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(_zx]^ aԦ%I" jmbqL4c >vA(Sj]lu- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( = <.C/u)Rl0HšX`\ks.&DatJ+$ں:$W[ja}Q5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2@p' R&)VeƷ92hь$@DMMcEuMA4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD( S`c56 &\M1; тVIt tHi42fBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2@`&JbT ,p!X=ˉF0dz0]562m|E7XbЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P`uYtJxp` éLJaE+[q4h |F QY&1"UM 4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^*г2``  1*M 8SSkˍnreѣH =.EdW@D` V6V>Ok09hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(,% 8((  aԦ%I" jmbqL4c >vA(Sj]] ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@@p5YtJxp@0péLJaE+[q4h |F QY&1"3GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`00EYtJxp`007 &JbT ,p!X=ˉF0dz0]56й- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÁu)Rl0HšX`\ks.&DatJ+$ں:$WTQ}](6-#sZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDu)Rl0HšX`\ks.&DatJ+$ں:$WTQ}](6-#s4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÔ(Ԧ%I" jmbqL4c >vA(Sj]QEtش9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(0 ,% 9@  éLJaE+[q4h |F QY&1"cR}`Zs#hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (_zx]^pS`c56 &\M1; тVIt tHX ԟX%V4}ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P8(= <.C/ (1*M 8SSkˍnreѣH =.EdW@D; IUiϺ(`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm2AUg(e@&JbT ,p!X=ˉF0dz0]56wkdYX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2@O1*M 8SSkˍnreѣH =.EdW@D; IyzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@WD( éLJaE+[q4h |F QY&1"cR}k;">l+!:*3E)e:*">)_Rr `PJ)vA(Sj]gvA>-}\`zЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@P,% 88Ԧ%I" jmbqL4c >vA(Sj]gvA>-}\`yzЬF痜(I)A*S/lb5Fd$XMMBz&nrj86P`( _zx]^ VJbT ,p!X=ˉF0dz0]56wkdYg- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÂAJbT ,p!X=ˉF0dz0]56wkUiϺ(X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm5YtJxpP éLJaE+[q4h |F QY&1"pJ9Yh+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)GfBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n WD( R&)VeƷ92hь$@DMMcEu;}l+!:*3E)e:*">)_Rr `PJ)޴+!:*3E)e:*">)_Rr `PJ)h+!:*3E)e:*">)_Rr `PJ)Cօ`D27)_Rr `PJ)l+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)vA(SjZNb73GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@г2@p' >JbT ,p!X=ˉF0dz0]566-#s6ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ +B P VJbT ,p!X=ˉF0dz0]56譧RiJ#iϻ !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WDW R&)VeƷ92hь$@DMMcEiDz+iԬ}RZsǺBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n uYtJxp0@@@éLJaE+[q4h |F QY&1"=Vm>Dz-9cS`X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmࠀYtJxp` 8éLJaE+[q4h |F QY&1"=ǣ` * !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(= <.C/ u)Rl0HšX`\ks.&DatJ+$ں:$VGYl>W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0@UYtJxpp08 éLJaE+[q4h |F QY&1"=ǣ` *- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/( _zx]^ aԦ%I" jmbqL4c >vA(SjZQlbRl>W#X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2 @ R&)VeƷ92hь$@DMMcEiDz+=5J#Ѱ\MCօ`D27)_Rr `PJ)ǺBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@WD_6JbT ,p!X=ˉF0dz0]56讕mnǺBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@g(eJu)Rl0HšX`\ks.&DatJ+$ں:$VGU> !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÁ@0éLJaE+[q4h |F QY&1"=ҭT9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx  _zx]^ pS`c56 &\M1; тVIt tH(Etkv=iϵX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm5YtJxp0p` éLJaE+[q4h |F QY&1"=ҭU>Cօ`D27̓`D27{l+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)W#GX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0p ,% 88S`c56 &\M1; тVIt tH()IǽB.` *- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(= <.C/L:ĩ6$XMMB{.5ɗFa"0`%jm]+M$gW)UhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^ pS`c56 &\M1; тVIt tH7Xd^hSGX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(eA|:ĩ6$XMMB{.5ɗFa"0`%jm]+M$gW)T9hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8*,% 9@0 éLJaE+[q4h |F QY&1"Dz!U`D27vAim#`z0]56wkBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@Ag(e`?1*M 8SSkˍnreѣH O iтVIt tH(EhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^pS`c56 &\M1; hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@Rг2éLJaE+[q4hEFO2* !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/Ug(eaԦ%I" jmbqL4c"na'@xOZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/ éLJaE+[q4hEFO2@ !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e@0S`c56 &\M1FFQ C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx8uYtJxp@pԦ%I" jmbqL4c'2vA-ɒ]YuƫrdsifBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/u)Rl0HšX`\ks.&̝an: rdm9s{qܙ)}ʮF+BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ R,% 80 éLJaE+[q4hNdF q[$i˜VNUr14}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@`г2``@!_>JbT ,p!X=ˉF2ps'dz0[ܙ%N\\j&JvrrЬD27)_Rr `PJ))_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(R,% 8p@ R&)VeƷ92hь㠷&Ivӗ89gɒ.i6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86p0,% 8880S`c56 &\M1; тt.r,U2Sҍ#h6#sZF痜(I)A*S/lb5Fd$XMMBz&nrj86@Pp",% 8 0o1*M 8SSkˍnreѣ89 =-AnL.pr{5[%8](6b=3GX)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)օ`!:*3E)e:*">)_Rr `PJ)̓`!:*3E)e:*">)_Rr `PJ)lG++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmBg(e@0O1*M 8SSkˍnreѣ89 =-AnL.prsN&Jts}؏}=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAg(e@b|:ĩ6$XMMB{.5ɗFdN0`2K˥;ܙ)wDRb=3`X)_Rr `PJ)gΧhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@g(e u)Rl0HšX`\ks.&6L=rx=u`D27Z0z&hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx((8_zx]^0@P R&)VeƷ92hьdщ*чz' !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/B PÀAA@`1*M 8SSkˍnreѣFɇU- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(YtJxpP )@Xu)Rl0HšX`\ks.&6L=rx=X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2`@p_:ĩ6$XMMB{.5ɗFe&N04𶑳Vim(jЬD27)_Rr `PJ))_Rr `PJ)ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@@0UYtJxp0P0/ R&)VeƷ92hьd&6jͫN}h++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmUg(e@0o@l:ĩ6$XMMB{.5ɗFe&N04𶑳VmZs`XӸhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5ne+B PÁPéLJaE+[q4hQdF q]%9g6NGw> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(8(",% 8)@0p R&)VeƷ92hьd㠺6K9rl 56ZF痜(I)A*S/lb5Fd$XMMBz&nrj86` 2,% 80aԦ%I" jmbqL4c(2vA.l'B#;^VsZF痜(I)A*S/lb5Fd$XMMBz&nrj86@PRg(e@ éLJaE+[q4hQdF q]%9g6NGwԭh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2`O:ĩ6$XMMB{.5ɗFe&N0`ѲY͓sd]PD}qJnfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÔP éLJaE+[q4hQdF q]%9g6N֮- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/ W R&)VeƷ92hьd㠺6K9rlK]44}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86P@ 0*,% 9@2 P\:ĩ6$XMMB{.5ɗFe&N0`ѲY͓sd]j葡rЬD27JbT ,p!X=ˉF2'dz0[,96Ql.iϵXCօ`!:*3E)e:*">)_Rr `PJ)nQЬD27)_Rr `PJ))_Rr `PJ)nQzЬD27|*5X C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(YtJxp0@`` R&)VeƷ92hьd㠺6K9rFk cҪ36ZF痜(I)A*S/lb5Fd$XMMBz&nrj86`p5YtJxp0 éLJaE+[q4hQdF q]%9g#5#Tf++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2@(éLJaE+[q4hQdF q]%9g#5#Tfh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`02,% 8(0 (/ &JbT ,p!X=ˉF2'dz0[,9T>|*3`XCօ`!:*3E)e:*">)_Rr `PJ)NTf++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm5YtJxpP!@.JbT ,p!X=ˉF2'dz0[,9G)tCօ`!:*3E)e:*">)_Rr `PJ)Tf++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`5YtJxp0 pS`c56 &\M1l; тtFg6NYuiϱCU> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx080",% 8( R&)VeƷ92hьd㠺6K9rFkN}7J9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nWD@`&JbT ,p!X=ˉF2'dz0[,9njӟkBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÂ@.JbT ,p!X=ˉF2'dz0[,9njӟfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P ",% 80!@>JbT ,p!X=ˉF2'dz0[,9njӟfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÂ@&JbT ,p!X=ˉF2'dz0[,=kBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ R,% 80Ԧ%I" jmbqL4c(2vA.lzh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm _zx]^ Xu)Rl0HšX`\ks.&6Lan: d',- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 8(",% 880  Ԧ%I" jmbqL4c(2vA.lф` AzӟkBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDu)Rl0HšX`\ks.&6Lan: d',a'D٣zЬD27)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/P((0 1*M 8SSkˍnreѣFɓ =-Atlsd垌cg9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nг2`!@Xu)Rl0HšX`\ks.&6Lan: d',c>F6ưIqnkBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD?\:ĩ6$XMMB{.5ɗFe&N0`ѲY͓z1W#NX$ҷ3GX)_Rr `PJ))_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx_zx]^P1*M 8SSkˍnreѣFɓ =-Atlsd(gtH#&l++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`г20 éLJaE+[q4hQdF q]%9oD1["ƫBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/u)Rl0HšX`\ks.&6Lan: d'-F+z$Q BӸ=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nJWDS`c56 &\M1l; тtFg6N["VH@qrЬD27)_Rr `PJ))_Rr `PJ))_Rr `PJ)l++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm@",% 9@ PP R&)VeƷ92hьd㠺6K9r4es86KBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^)_zx]^p éLJaE+[q4hQdF q]%9r2Ԝ#GX)_Rr `PJ)F&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^= <.C/P _&JbT ,p!X=ˉF2'dz0[,˙kBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^R,% 9@@ éLJaE+[q4hQdF q]%9s |=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nJUg(eA@pS`c56 &\M1l; тtFg6N\G6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@YtJxp`PԦ%I" jmbqL4c(2vA.l++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm+B PÃ\:ĩ6$XMMB{.5ɗFe&N0`ѲY͓4C Cօ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF2'dz0[,ˣdĬ C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 9Jг2 ` 7 R&)VeƷ92hьd㠺6K9r"q+>BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ g(eApS`c56 &\M1l; тtFg6N]$N%g9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nUg(eXu)Rl0HšX`\ks.&6Lan: d'.kBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDpS`c56 &\M1l; тtFg6N] >Cօ`!:*3E)e:*">)_Rr `PJ)42fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD( S`c56 &\M1l; тtFg6N] >42fBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÃ@_1*M 8SSkˍnreѣFɓ =-AtlsdҳH;ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@@rg(eA\:ĩ6$XMMB{.5ɗFe&N0`ѲY͓J#=hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nA@@`5YtJxp01*M 8SSkˍnreѣFɓ =-AtlsdҳH;6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86P _zx]^' R&)VeƷ92hьd㠺6K9rY}RiFdօ`!:*3E)e:*">)_Rr `PJ)̙zЬD27օ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF2'dz0[,JzU>yrЬD27 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx( = <.C/aԦ%I" jmbqL4c(2vAѲ\ьl$6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86Ag(eA@O1*M 8SSkˍnreѣFɓ =.@cgӸhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nWDu)Rl0HšX`\ks.&6Latl2c>F6ƦBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ (= <.C/ u)Rl0HšX`\ks.&6Latl2c>F6ƦBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD&JbT ,p!X=ˉF2'dz0]%́=ϫJnkBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÁ_.JbT ,p!X=ˉF2'dz0]%́=ϫJnfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P8 _zx]^ éLJaE+[q4hQdF d=gr1{[9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n ,% 88(0 éLJaE+[q4hQdF d=vrL6` * C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx ()Jг2`0pO1*M 8SSkˍnreѣFɓ =.@}ʮF+%2]'ܪbh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm,% 88 0Ԧ%I" jmbqL4c(2vAѲ\OUd@K\M`!:*3E)e:*">)_Rr `PJ)W#GX C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@`г2|:ĩ6$XMMB{.5ɗFe&N0`6K` *{JVUr16ZF痜(I)A*S/lb5Fd$XMMBz&nrj86_zx]^R_&JbT ,p!X=ˉF2'dz0]%́\VJd=Im[` * C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx (8_zx]^ Ԧ%I" jmbqL4c(2vAѲ\OUd@ф`նrzЬD27W#F}#V$zo` * C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 0!Jг2`@@ R&)VeƷ92hьdFs z>W#F}#V$zo` *> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@p",% 8 S`c56 &\M1l; т.d]'ܪbS yO{jأD@>W#`X C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@,% 8(R&)VeƷ92hьdFs z>W#mnUr16ZF痜(I)A*S/lb5Fd$XMMBz&nrj86_zx]^P(/ R&)VeƷ92hьdFs z>W#Q r)D},>W#XR$E('ܪbh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(e Ԧ%I" jmbqL4c(2vAѲ\OUd@D}(THQKOU9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`г2`0`O1*M 8SSkˍnreѣFɓ =.@}ʮF+%2OUhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nA WD pS`c56 &\M1l; т.d]'ܪbS {\MCօ`!:*3E)e:*">)_Rr `PJ)W#`XW#`XW#GXW#`X)_Rr `PJ)W#pFԪ>W#Xv݀'ܪbl++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0`uYtJxpP  aԦ%I" jmbqL4c(2vAѲ\OUd@}ʮF+BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ R,% 89@ ' R&)VeƷ92hьdFs z>W#pF` *> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyy@5YtJxp@ Ԧ%I" jmbqL4c(2vAѲ\OUd@}ʮF&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WDaԦ%I" jmbqL4c(2vAѲ\OUd@Q! 3's3ZF痜(I)A*S/lb5Fd$XMMBz&nrj86@P_zx]^ éLJaE+[q4hQdF d=vrL#[E*BfN4fh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmjг2`@ +1*M 8SSkˍnreѣFɓ =.@}ʮF+%2m\;љrЬD27wkts\M`!:*3E)e:*">)_Rr `PJ)W#GXW#@K\M`!:*3E)e:*">)_Rr `PJ)W#`XW#I=kNlF)c` * C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 0)Jг2 Ԧ%I" jmbqL4c(2vAѲ\OUd@:}mZӛ#ъw:9}ʮF&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P WD/1*M 8SSkˍnreѣFɓ =.@}ʮF+%2Г{j֜SUr16ZF痜(I)A*S/lb5Fd$XMMBz&nrj86 :,% 88 aԦ%I" jmbqL4c(2vAѲ\OUd@:}mZ{i[OUhVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@E+B PÂo1*M 8SSkˍnreѣFɓ =.@}ʮF+%2Г{jJ}ʮF&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P YtJxp@P`2|:ĩ6$XMMB{.5ɗFe&N0`6K` *GBOOm+` *- C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^ aԦ%I" jmbqL4c(2vAѲ\OUd@:}mZ=A\V`!:*3E)e:*">)_Rr `PJ)W#I=m'ܪbh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm+B PÔ S`c56 &\M1l; т.d]'ܪbS } >Ƕ\M`!:*3E)e:*">)_Rr `PJ)ǶP:A\MCօ`!:*3E)e:*">)_Rr `PJ)ǶP:A\M`!:*3E)e:*">)_Rr `PJ)ǶJ!qD25'+\MCօ`!:*3E)e:*">)_Rr `PJ)cV}ʮF&BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^B PÂ_&JbT ,p!X=ˉF2'dz0]%́ iЬD27)_Rr `PJ)6mЬD27 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx YtJxpp0 éLJaE+[q4hQdF d=nt%` ٶBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ = <.C/  0S`c56 &\M1l; т.d[ٶ[ЬD27 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxR,% 8 (0R&)VeƷ92hьdFs z&Ͱ̓`!:*3E)e:*">)_Rr `PJ)F$}Q5XIh++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0p:,% 9@ éLJaE+[q4hQdF d=nfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P_zx]^8u)Rl0HšX`\ks.&6Latl2 |O3&++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmg(e ?1*M 8SSkˍnreѣFɓ =.@d#}iFdCօ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)ٶ BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD\:ĩ6$XMMB{.5ɗFe&N0`6K:}ɳl Cօ`!:*3E)e:*">)_Rr `PJ)N42kBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^)_zx]^ pS`c56 &\M1l; т.d[Y}RiFdCօ`!:*3E)e:*">)_Rr `PJ) C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(= <.C/0S`c56 &\M1l; т.d[ӟfBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ +B PÂ@_6JbT ,p!X=ˉF2'dz0]%́uZsO3&++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm= <.C/+éLJaE+[q4hQdF d=nN}iFdCօ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/ (1*M 8SSkˍnreѣFɓ =.@Г rЬD27)_Rr `PJ)W#X)_Rr `PJ)ƟW&ꓩ9ZЬD27)_Rr `PJ))_Rr `PJ))_Rr `PJ)Ò:z1OЬD27v=FkBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ (_zx]^+R&)VeƷ92hьd6}чǺi碔j++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm  ",% 88)@,:ĩ6$XMMB{.5ɗFe&Q=*Ta'Ѫ3sZF痜(I)A*S/lb5Fd$XMMBz&nrj86b г2r@_Xu)Rl0HšX`\ks.&6La'zT0 C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxYtJxpP!@@L:ĩ6$XMMB{.5ɗFe&Q=*U\sBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ B PÔS`c56 &\M1lFO0Tas=m>BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ B PÃéLJaE+[q4hQe >ҥQ}ɭ C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0)@г2` 7VJbT ,p!X=ˉF2(IF*.nI&++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm uYtJxpr Xu)Rl0HšX`\ks.&6La'zT015X˄;X)_Rr `PJ)l{iKO=UX7^FE(hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@YtJxp0  R&)VeƷ92hьd6}фQD} w V`!:*3E)e:*">)_Rr `PJ))_Rr `PJ)675BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^PB PÂ(R&)VeƷ92hьd6}ё#0XJbT ,p!X=ˉF2(IF#+j=sЬD27)_Rr `PJ)z$V`!:*3E)e:*">)_Rr `PJ)MV}GEr1ZF痜(I)A*S/lb5Fd$XMMBz&nrj86b@г200+1*M 8SSkˍnreѣFɔl$$Af>++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`г2 Ԧ%I" jmbqL4c(2td6;.hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n)_zx]^  P&JbT ,p!X=ˉF2(IFI)is C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0uYtJxp @ '01*M 8SSkˍnreѣFɔl$$AtHk6UX)_Rr `PJ)ͱ."hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n+B PÃ ?1*M 8SSkˍnreѣFɔl$FkBxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P0(_zx]^'R&)VeƷ92hьd6}щG05m\g`ZF痜(I)A*S/lb5Fd$XMMBz&nrj86`p`5YtJxp2`Xu)Rl0HšX`\ks.&6La'7RrX)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)Z0 BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@p",% 8 (0 Ԧ%I" jmbqL4c+mF'ܫFZQhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0= <.C/ éLJaE+[q4hV: #teaC " C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx _zx]^@p  1*M 8SSkˍnreѣ[l4ѕ+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm08= <.C/Ԧ%I" jmbqL4c+m2eq!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)+<9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@`YtJxpP@`PO1*M 8SSkˍnreѣTQ{VN0`2KJzm-n]A#t++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm= <.C/PԦ%I" jmbqL4c*/tj㠷&IiUYͥВ3[6$nCօ`!:*3E)e:*">)_Rr `PJ)W#GXW#`X)_Rr `PJ)W#X)_Rr `PJ)W#GXW#`X C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/ ,:ĩ6$XMMB{.5ɗFeQEY; тt-*9`X)_Rr `PJ)BxByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P= <.C/ pS`c56 &\M1E5dF q[$)Jϭu\V`!:*3E)e:*">)_Rr `PJ)=r14}ZF痜(I)A*S/lb5Fd$XMMBz&nrj86pBg(eA@1*M 8SSkˍnreѣTQ{VN0`2KJzm-r$U9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5njг2J0S`c56 &\M1E5dF q[$;4uQ5X C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxWD,:ĩ6$XMMB{.5ɗFeQEY; тt-*9TfL9hVW^s#4R^s#/('+{iLɈtS`c56 븚4b5nAUg(e`.JbT ,p!X=ˉF2Fan: rd\ZrF3'Gօ`!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)օ`!:*3E)e:*">)_Rr `PJ)̓`!:*3E)e:*">)_Rr `PJ)މ`X)_Rr `PJ)h++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm0@г2` éLJaE+[q4hU^Փ =-AnLҫKXb3 }`XE#IsZF痜(I)A*S/lb5Fd$XMMBz&nrj86@PP,% 809@/1*M 8SSkˍnreѣTQ{VN0`2KJzIsuA$珹> C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyyEUg(e>JbT ,p!X=ˉF2Fan: rd\>E#Is6ZF痜(I)A*S/lb5Fd$XMMBz&nrj86 _zx]^`0o1*M 8SSkˍnreѣTQ{VN0`2KJzIsNVrNxЬD27l++ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm`+B PÂ\:ĩ6$XMMB{.5ɗFeQEY; 4𶑰=-AnLҫKZF痜(I)A*S/lb5Fd$XMMBz&nrj86bг2`@/VJbT ,p!X=ˉF2Fdx[H㠷&IiUY9tZF痜(I)A*S/lb5Fd$XMMBz&nrj86 0:,% 8 1@@ R&)VeƷ92hь(ѫ'dYݭ C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx9@eYtJxpR@@'éLJaE+[q4h&=VaHa%X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm```г2xu)Rl0HšX`\ks.&CsDZ <:աX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm` :,% 8(éLJaE+[q4h&=VaH.ɵhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx_zx]^  S`c56 &\M1$bztǵhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx 1@%YtJxpB/@L:ĩ6$XMMB{.5ɗFbn9؅`|+!:*3E)e:*">)_Rr `PJ)BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n `г2`/R&)VeƷ92hьM9'<{$yЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@ _zx]^0S`c56 &\M1$bzF1ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@p_zx]^ PéLJaE+[q4h&=Vad$X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm `:,% 80Ԧ%I" jmbqL4cuI+ qZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD(+1*M 8SSkˍnreѣrNx!X=H hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(= <.C/ S`c56 &\M1$bz`D27)_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF17PB{@.kBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nB PÁ@>JbT ,p!X=ˉF17PB{@hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxWD@`xu)Rl0HšX`\ks.&CsDZ =TgEhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx= <.C/ (@<:ĩ6$XMMB{.5ɗFbn9؅`*'C+!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)5ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86`_zx]^ (+1*M 8SSkˍnreѣrNx!X=@hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxB PÃxu)Rl0HšX`\ks.&CsDZ tiUX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm5YtJxpP0PpO1*M 8SSkˍnreѣrNx!X=@и+!:*3E)e:*">)_Rr `PJ))_Rr `PJ)rZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WD( aԦ%I" jmbqL4cuI+h%Kօ`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF17PB{&*ThV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx8= <.C/ 8u)Rl0HšX`\ks.&CsDZ SBW^s#4R^s#/('+{iLɈtS`c56 븚4b5ng(e@>JbT ,p!X=ˉF17PB{&*V !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e` éLJaE+[q4h&=Vd%J5jЬF痜(I)A*S/lb5Fd$XMMBz&nrj86`02,% 8(0éLJaE+[q4h&=Vd%J5ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86PRг2`@PéLJaE+[q4h&=Vd$UX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2eAl:ĩ6$XMMB{.5ɗFbn9؅`MI3+!:*3E)e:*">)_Rr `PJ)BW^s#4R^s#/('+{iLɈtS`c56 븚4b5nJ(YtJxpP@@1*M 8SSkˍnreѣrNx!X=@ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86bг2R&)VeƷ92hьM9'<{ʃ V`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ)hhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx(8 _zx]^(aԦ%I" jmbqL4cuI+ъЬF痜(I)A*S/lb5Fd$XMMBz&nrj86p _zx]^JbT ,p!X=ˉF17PB{* !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(eYtJxp`aԦ%I" jmbqL4cuI+ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ WDu)Rl0HšX`\ks.&CsDZ X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmࠀ@uYtJxp0`2l:ĩ6$XMMB{.5ɗFbn9؅`U4BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@ г2`0Po1*M 8SSkˍnreѣrNx!X=@|(^+!:*3E)e:*">)_Rr `PJ)ZЬF痜(I)A*S/lb5Fd$XMMBz&nrj86Rg(e@@ R&)VeƷ92hьM9'<{ʠ=) !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e @@éLJaE+[q4h&=VePfMhV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0= <.C/ S`c56 &\M1$bT dօ`D27ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^ (= <.C/u)Rl0HšX`\ks.&CsDZ %X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2  R&)VeƷ92hьM9'<{ʠH< !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(e? éLJaE+[q4h&=VeP$uN} !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WDxu)Rl0HšX`\ks.&CsDZ 5ZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^WD?&JbT ,p!X=ˉF17PB{*#"<1hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxWD(?@<:ĩ6$XMMB{.5ɗFbn9؅`UG>$V`D27JbT ,p!X=ˉF17PB{*(6.=hV C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxWDAS`c56 &\M1$bT At`D27)_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF17PB{**0ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86R@г2 @RS`c56 &\M1$bT V5X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmࠠ5YtJxr@6JbT ,p!X=ˉF17PB{@yšBW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`г2@1*M 8SSkˍnreѣrNx!X= >^+!:*3E)e:*">)_Rr `PJ)AdC`D27)_Rr `PJ)- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/g(eS`c56 &\M1$bؒpZByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^g(e%@JbT ,p!X=ˉF17PB{@!X- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(Jг2@@1*M 8SSkˍnreѣrNx!X= Hօ`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)+BW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@+B PÁ aԦ%I" jmbqL4cuI+$ PX+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm``YtJxp@ aԦ%I" jmbqL4cuI+$ RjЬF痜(I)A*S/lb5Fd$XMMBz&nrj86@ = <.C/P9@/1*M 8SSkˍnreѣrNx!X= J`D27)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)VEF痜(I)A*S/lb5Fd$XMMBz&nrj86P _zx]^ aԦ%I" jmbqL4cuIAnBd\@!_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/+B PÔ(0S`c56 &\M1$c7F![j . D27)_Rr `PJ))_Rr `PJ))_Rr `PJ)+" C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx = <.C/?L:ĩ6$XMMB{.5ɗFbn94фӥ@ ȸByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^+B PÃJ0S`c56 &\M1$c7FV q!:*3E)e:*">)_Rr `PJ))_Rr `PJ)hҋ" C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx  = <.C/P0S`c56 &\M1$c7FEGCEF痜(I)A*S/lb5Fd$XMMBz&nrj86 0_zx]^0S`c56 &\M1$c7FEG^. D27)_Rr `PJ))_Rr `PJ)" C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyxWD 1*M 8SSkˍnreѣrNx: #tdP%C " C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx  WD?&JbT ,p!X=ˉF17PtFȠJ-EF痜(I)A*S/lb5Fd$XMMBz&nrj86@0( _zx]^éLJaE+[q4h&=H Pd\@!_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/%+B PÁ&JbT ,p!X=ˉF17PtFȠJ" C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx+B PÂ<:ĩ6$XMMB{.5ɗFbn94ё@2YW^s#4R^s#/('+{iLɈtS`c56 븚4b5nEYtJxpp0(/VJbT ,p!X=ˉF17PtFȠJpYW^s#4R^s#/('+{iLɈtS`c56 븚4b5n 5YtJxp09@Xu)Rl0HšX`\ks.&CsDZi"*)d\@!_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WD<:ĩ6$XMMB{.5ɗFbn94ё@LYW^s#4R^s#/('+{iLɈtS`c56 븚4b5nJg(e ``/P|:ĩ6$XMMB{.5ɗFbn94ё@-ȸByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^)_zx]^ 0S`c56 &\M1$c7FETq!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF17PtFȠHak" C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0= <.C/(VJbT ,p!X=ˉF17PtFȠH]q!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)JbT ,p!X=ˉF17PtF,EF痜(I)A*S/lb5Fd$XMMBz&nrj86P`:,% 888S`c56 &\M1$c7FHb. D27JbT ,p!X=ˉF17PtF(YW^s#4R^s#/('+{iLɈtS`c56 븚4b5nB PÂ@ R&)VeƷ92hьM9'<{2Dh 5q!:*3E)e:*">)_Rr `PJ)rVEF痜(I)A*S/lb5Fd$XMMBz&nrj86@ _zx]^PaԦ%I" jmbqL4cuIAnlVEF痜(I)A*S/lb5Fd$XMMBz&nrj86@@p,% 88(éLJaE+[q4h&=HKxb+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpmг2@``?1*M 8SSkˍnreѣrNx: #te x"ȸByyE9^^0(%_{Je픞LCƨ̘)hV]ѣqSu-_G^P5YtJxp0 1*M 8SSkˍnreѣrNx: #te Hd\@!_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/WDéLJaE+[q4h&=H@EYW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`0 ,% 8)@?BS`c56 &\M1$c7FPiYW^s#4R^s#/('+{iLɈtS`c56 븚4b5n@ г2 ?@L:ĩ6$XMMB{.5ɗFbn94є/jmEF痜(I)A*S/lb5Fd$XMMBz&nrj86p(2,% 8( éLJaE+[q4h&=H@q!:*3E)e:*">)_Rr `PJ)JbT ,p!X=ˉF17PtFE%`vjD27)_Rr `PJ) Hc- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/(g(e@?0S`c56 &\M1$e > HW- !_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/= <.C/( :ĩ6$XMMB{.5ɗFbn9FO2{IkBW^s#4R^s#/('+{iLɈtS`c56 븚4b5nUg(e PJbT ,p!X=ˉF2pmml$)>And\@!_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/JWDS`c56 &\M1ӆ{kla'IV: #te`" C#stUfRtUD}Ryxm)Ry1w2b ,pաX=wF]Ʒ9MԵyx0WD éLJaE+[q4h[N!tce'X4є>ك,+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÁpS`c56 &\M1ӆ{kla'IV: #tee,+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm _zx]^aԦ%I" jmbqL4c- FO1tFqlEF痜(I)A*S/lb5Fd$XMMBz&nrj86g(eAJR&)VeƷ92hь6C[e >Oi(}ų+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7RpmB PÂ (1*M 8SSkˍnreѣm8l6}эuc7FPfYW^s#4R^s#/('+{iLɈtS`c56 븚4b5n`%YtJxrAS`c56 &\M1ӆ{kla'IV: #te`5q!:*3E)e:*">)_Rr `PJ)X+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm г20PO1*M 8SSkˍnreѣm8l6}ѐ->ql܊ЬF痜(I)A*S/lb5Fd$XMMBz&nrj86`@5YtJxp0p éLJaE+[q4h[N!te.i ҥQd\@!_dnyyΊJYyΊWԜ/=2O&!NTfLAEڴ+hы)o/ WD(P/ R&)VeƷ92hь6C[e >\}Ղfe,T0+ /9W)K/9WQJSU罴^I:)jɈ0HšV`M1w7Rpm00 _zx]^ 1*M 8SSkˍnreѣm8l6}єr1ش"5q!:*3E)e:*">)_Rr `PJ))_Rr `PJ))_Rr `PJ)*bT ,p!X=ˉF1퇣U R&)VeƷ92hьpc7L51*M 8SSkˍnreѣʶt jbT ,p!X=ˉF1;Rl0HšX`\ks.&An LJaE+[q4h>Raiĩ6$XMMB{.5ɗFa S&N`jbT ,p!X=ˉF0)*Rl0HšX`\ks.&Cd0PPpP51*M 8SSkˍnreѣHx\ C+Tĩ6$XMMB{.5ɗFa"`1*M 8SSkˍnreѣkte >Rl0HšX`\ks.&=r0`U1*M 8SSkˍnreѣ89@@ &)VeƷ92hьʶt*bT ,p!X=ˉF2F'ܫL 1*M 8SSkˍnreѣFɓ 1*M 8SSkˍnreѣFɔl$ Rl0HšX`\ks.&6LhLR&)VeƷ92hь =r2jbT ,p!X=ˉF21iS`c56 &\M1rhtFĩ6$XMMB{.5ɗFe\/s'd0&)VeƷ92hь(ѫ'd0@0 LJaE+[q4h&=V bT ,p!X=ˉF17PtF邃Rl0HšX`\ks.&CsDzt@1*M`c56 븚4c ,pաX=wF]Ʒ9MԶ `kcJ4Ql=m1` ц 4cRl0HšX`\ks.&id=Ql`ĩ6$XMMB{.5ɗFe(IF6R}S`c56 &\M1ӆ{kla'si` <%I" jmbqL4c- FO0qKRl0HšX`\ks.&id=Q@jbT ,p!X=ˉF2pmml$ Z<}Rl0HšX`\ks.&id=Q7p` 0(@@0( _J+W 8SSjЬF.[Z0*ĩ6$XMMB{.5ɗFa>c^R+lJaE+[q4h5atZԶ%I" jmbqL4cqdF qY6}QqY>%ڹ [`c56 &\M12vA,c>g,Cфm\MCօ`-Rl0HšX`\ks.&}; тtz1Tf}{ EǶF&Bzĩ6$XMMB{.5ɗFa>an: =Ϫ3Y>=c>F4+lJaE+[q4h㠳ьl5}F1cIY握Bzĩ6$XMMB{.5ɗFa>an: =Ϫ3Y>=c>F4l+lJaE+[q4h㠳ьl5}'tE)vrЬ*M 8SSkˍnreѣ{'dz0[F1{q}}ʮF&Bzĩ6$XMMB{.5ɗFa>an: =Ϫ3Y>=wDR` *- [`c56 &\M12vA,c>g.s[O%g [`c56 &\M12vA,c>g.s[O%g> [`c56 &\M12vA,c>g.s[O%g- [`c56 &\M12vA,c>g.F6W#JZԶ%I" jmbqL4cqdF qY6}Qq]΍nm>F4h+lJaE+[q4h㠳ьl5軓}\i+<9hVRؕ&)VeƷ92hь=ѓ O iтtz1Tf}`-Rl0HšX`\ks.&}; hVRؕ&)VeƷ92hьڵ5=.Bzĩ6$XMMB{.5ɗF`խF&Bzĩ6$XMMB{.5ɗF`խBzĩ6$XMMB{.5ɗF`խ$- [`c56 &\M1V; тtkpl]> [`c56 &\M1V; тt [`c56 &\M1V; тt<ҭS3̓`-Rl0HšX`\ks.&Zy읐an: rVq.ڵhVRؕ&)VeƷ92hьڵ㠱.mnMCօ`-Rl0HšX`\ks.&Zy읐an: rVq.ڴ9hVRؕ&)VeƷ92hьڵ㠱.mnN Ь*M 8SSkˍnreѣ=kO= =-Ac]*.5գVmAGX=KbT ,p!X=ˉF0{j֞{'dz0[ǜU\k G:D&Bzĩ6$XMMB{.5ɗF`խY6$mn73`X=KbT ,p!X=ˉF0{j֞{'dz0[ܙ%9i8lhZB7օ`-Rl0HšX`\ks.&Zy읐an: rd<㭱Ƕi Vs4}ZԶ%I" jmbqL4civA-ɒX󖓎Ƌڵ+s{[9hVRؕ&)VeƷ92hьڵ㠷&IcZN:,{jӛKi(+lJaE+[q4hmZdF q[$-'m=iͥ4}ZԶ%I" jmbqL4civA-ɒX󖓎ƋڴyJ- [`c56 &\M1V; тt,yI[cEmZuFvRЬ*M 8SSkˍnreѣ=kO= =-AnLǜu4XէYgou+q> [`c56 &\M1V; тt,yI[cEmZuFvRrЬ*M 8SSkˍnreѣ=kO= =-AnLǜu4XEFkBzĩ6$XMMB{.5ɗF`խ [`c56 &\M1V; тt,yI[cE:-M[Tfl+lJaE+[q4hmZdF q[$-'m<7mQغ$ZԶ%I" jmbqL4civA-ɒX󖓎ƋtZl]> [`c56 &\M1V; тt,yI[cE:-M[Tfu.M`-Rl0HšX`\ks.&Zy읐an: rd<㭱>W#NUX=KbT ,p!X=ˉF0{j֞{'dz0[ܙ%9i8lhOUӸ=hVRؕ&)VeƷ92hьڵ㠷&IcZN:.Ur156ZԶ%I" jmbqL4civA-ɒX󖓎Ƌ\^VsZԶ%I" jmbqL4civA-ɒX󖓎Ƌ\^Vs4}ZԶ%I" jmbqL4civA-ɒX󖓎Ƌ\^Vs6ZԶ%I" jmbqL4civA-ɒX󖓎Ƌqrd F+lJaE+[q4hmZdF q[$-'m:J4=hVRؕ&)VeƷ92hьڵ㠷&IcZN:-Aɒt.iEX=KbT ,p!X=ˉF0{j֞{'dz0[ܙ%9i8lh&HyкQn Cօ`-Rl0HšX`\ks.&Zy읐an: rd<㭱t!BFt6ZԶ%I" jmbqL4civA-ɒX󖓎Ƌqrd Fi [`c56 &\M1V; тt,yI[cE92C΅ҍ#t4Cօ`-Rl0HšX`\ks.&Zy읐an: rd<㭱t!BFBfBzĩ6$XMMB{.5ɗF`խ [`c56 &\M1V; тt,yI[cEg9hVRؕ&)VeƷ92hьڵ㠷&IcZN:.>[bEhVRؕ&)VeƷ92hьڵ㠷&IcZN:.>[bD=hVRؕ&)VeƷ92hьڵ㠷&IcZN:.>[bD9hVRؕ&)VeƷ92hьڵ㠷&IcZN:.OmQЬ*M 8SSkˍnreѣ=kO= =-AnLǜu4]%gڣ3GX=KbT ,p!X=ˉF0{j֞{'dz0[ܙ%9i8lhJϣ=FfBzĩ6$XMMB{.5ɗF`խ [`c56 &\M1V; тt,yI[cEҭS`X=KbT ,p!X=ˉF0{j֞{'d&6',yBzĩ6$XMMB{.5ɗF`խ [`c56 &\M1vAɧO{iCM`-Rl0HšX`\ks.&Y; dFYVzЬ*M 8SSkˍnreѣ= 'dlx[H٫44{j4}ZԶ%I" jmbqL4cd O i5f҆mZBzĩ6$XMMB{.5ɗF`,aim#fP\> Hօ`-Rl0HšX`\ks.&Y; dFYV|> [`c56 &\M1vAɧO{iCGp6-#s6ZԶ%I" jmbqL4cd O i5f҆m[J;ZԶ%I" jmbqL4cd O i5f҆m[J;4}ZԶ%I" jmbqL4cd O i5f҆m[J;6ZԶ%I" jmbqL4cd O i5f҆iЬ*M 8SSkˍnreѣ= 'dlx[H٫46 HCօ`-Rl0HšX`\ks.&Y; dFYlZFl+lJaE+[q4hh5atZԶ%I" jmbqL4cdF q[$iӖ=rЬ*M 8SSkˍnreѣ= 'dz0[ܙ%NX\MCօ`-Rl0HšX`\ks.&Y; тt.rǴm'ܪbl+lJaE+[q4hh㠷&IvӖ=,{\+;l`-Rl0HšX`\ks.&Y; тt.rǴkgmzЬ*M 8SSkˍnreѣ= 'dz0[ܙ%NXr46ZԶ%I" jmbqL4cdF q[$iӖ=lZF+lJaE+[q4hh㠷&IvӖ=,{`ش=hVRؕ&)VeƷ92hь =-AnL,{NXirЬ*M 8SSkˍnreѣ= 'dz0[ܙ%NXiTgdzЬ*M 8SSkˍnreѣ= 'dz0[ܙ%NXiTgdyzЬ*M 8SSkˍnreѣ= 'dz0[ܙ%NXiTgdyrЬ*M 8SSkˍnreѣ= 'dz0[ܙ%NX\VTN%ghVRؕ&)VeƷ92hь =-AnL,{N\tu+q'h+lJaE+[q4hh㠷&IvӖ=.W::Y6ZԶ%I" jmbqL4cdF q[$iӗ$GpX=KbT ,p!X=ˉF0{@N0`2K9rD{j4}ZԶ%I" jmbqL4cdF q[$iӗ$Gp`X=KbT ,p!X=ˉF0{@N2M<-lMO i5hVRؕ&)VeƷ92hь O iтt.rǴX=KbT ,p!X=ˉF0{@N2` ^hV [`c56 &\M1vAЬ*M 8SSkˍnreѣ>H0 9 FkBRؕ&)VeƷ92hьg$D06N2gօ`*M 8SSkˍnreѣ>H@`lhFT➉hV [`c56 &\M1䈔ʶteN)V`*M 8SSkˍnreѣ>H@`lhFT➉䚴+-Rl0HšX`\ks.&rDJe[@2OBRؕ&)VeƷ92hьg$D06$$qMc+-Rl0HšX`\ks.&rDJbNbGH@`lIHFZĩ6$XMMB{.5ɗF`9"%'1#$kBRؕ&)VeƷ92hьg$D06$$qDd+-Rl0HšX`\ks.&rDJbNbG&X)lJaE+[q4h"Ps8#: KbT ,p!X=ˉF0}ؓUQhV [`c56 &\M1䈔ĜĎ*X)lJaE+[q4h"Ps8>SZĩ6$XMMB{.5ɗF`9"%'1#DЬ%I" jmbqL4c( 9I@2+BRؕ&)VeƷ92hьg$D06$$rT>Ь%I" jmbqL4c s:օ`*M 8SSkˍnreѣm9U@䨉BRؕ&)VeƷ92hьщ*ч{BRؕ&)VeƷ92hьщ*чz0X)lJaE+[q4h[Nah=օ`*M 8SSkˍnreѣm9UBr) KbT ,p!X=ˉF2sF'ܫFEhV [`c56 &\M1Әz1>Z0t LhV [`c56 &\M1Әz1>Z0t LhV [`c56 &\M1Әz1>Z0t L}hV [`c56 &\M1Әz1>Z0t L|ڴ+-Rl0HšX`\ks.&i=rx:>nZĩ6$XMMB{.5ɗFeOV<SE;Zĩ6$XMMB{.5ɗFeOV<S+-Rl0HšX`\ks.&i=rx:Cȭ KbT ,p!X=ˉF2sF'ܫF)v+-Rl0HšX`\ks.&i=rx:lEX)lJaE+[q4h[NahЋSqX)lJaE+[q4h[NahНF+BRؕ&)VeƷ92hьщ*ч;>cօ`*M 8SSkˍnreѣm9UBv=Zĩ6$XMMB{.5ɗFeOV< ԍhV [`c56 &\M1Ә4ёAE%I" jmbqL4c-1i"EVE%I" jmbqL4c-1i"F d\AKbT ,p!X=ˉF2s2$Q*ȸĩ6$XMMB{.5ɗFe: #tdHBE%I" jmbqL4c-1i"FvE%I" jmbqL4c-1i"Fv)lJaE+[q4h[Nc7FDYRؕ&)VeƷ92hьAnEd\AKbT ,p!X=ˉF2s'd׼- [`c56 &\M1ә; ƽl.Bzĩ6$XMMB{.5ɗFeN0`cgy3ьlOUhVRؕ&)VeƷ92hь㠳ьl5&z1[` *> [`c56 &\M1ә; тtz1TfvF1c>W#`X=KbT ,p!X=ˉF2s'dz0[F1I=r1["^HZԶ%I" jmbqL4c-2vA,c>mW#(DGX=KbT ,p!X=ˉF2s'dz0[F1I=r1["^H6ZԶ%I" jmbqL4c-2vA,c>g%ڹ [`c56 &\M1ә; тtz1Tfфm\MCօ`-Rl0HšX`\ks.&i̝an: =Ϫ3Y EǶF&Bzĩ6$XMMB{.5ɗFeN0`cgaW#OUhVRؕ&)VeƷ92hь㠳ьl5 \{jc` *> [`c56 &\M1ә; тtz1Tfфm\l>W#`X=KbT ,p!X=ˉF2s'dz0[F1z1W#6-#sY6}\`شhVRؕ&)VeƷ92hь㠳ьl5cg Hz1W#6-#s4}ZԶ%I" jmbqL4c-2vA,c>gr1b75cg H̓`-Rl0HšX`\ks.&i̝an: =Ϫ3Y6}\`شgr1Fd[օ`-Rl0HšX`\ks.&i̝an: =Ϫ3Y6}\`شgr1Fd[Cօ`-Rl0HšX`\ks.&i̝an: =Ϫ3Y6}\`شgr1Fd[̓`-Rl0HšX`\ks.&i̝an: =Ϫ3Y6}\`شgr1ta&҈hVRؕ&)VeƷ92hь㠳ьl5cg Hz1W#Jm(m\MCօ`-Rl0HšX`\ks.&i̝an: =Ϫ3Y6}\`شgr1ta&҈9hVRؕ&)VeƷ92hь㠳ьl5cg HV-hVRؕ&)VeƷ92hь㠳ьl5cg HV,=hVRؕ&)VeƷ92hь㠳ьl5cg HV,9hVRؕ&)VeƷ92hь㠳ьl5cg HV.hVRؕ&)VeƷ92hь㠳ьl5cg HV.=hVRؕ&)VeƷ92hь㠳ьl5cg HV.9hVRؕ&)VeƷ92hь㠳ьl5cgƒօ`-Rl0HšX`\ks.&i̝an: =Ϫ3Y6}\i+<=hVRؕ&)VeƷ92hь㠳ьl5cgƒ̓`-Rl0HšX`\ks.&i̝an: =Ϫ3Y6}\i+> H.5ѕή- [`c56 &\M1ә; тtz1TfьlV|\k)+]t4}ZԶ%I" jmbqL4c-2vA,c>gr16-#pSFW:l+lJaE+[q4h[NdF qY6}QF1>W#X=KbT ,p!X=ˉF2s'dz0[F1z1Tg` *> [`c56 &\M1ә; тtz1Tfьl;OU9hVRؕ&)VeƷ92hь㠳ьl5$&ViTk=f=mQЬ*M 8SSkˍnreѣm9 =-AgFktHM>Nz({ڣ3GX=KbT ,p!X=ˉF2s'dz0[F1萛iY}RQEFfBzĩ6$XMMB{.5ɗFeN0`cg!6ҳH;X ԟWE$ZԶ%I" jmbqL4c-2vA,c>n G)( zЬ*M 8SSkˍnreѣm9 =-AgFktHM>N>5'F.M`-Rl0HšX`\ks.&i̝an: =Ϫ3[BmfJvA>m)sMЬ*M 8SSkˍnreѣm9 =-AgFktHM>N>5'm.i4}ZԶ%I" jmbqL4c-2vA,c>n G)ʹ7fBzĩ6$XMMB{.5ɗFeN0`cg!6ҳH;[j [`c56 &\M1ә; тtz1TfDJ#nq:h+lJaE+[q4h[NdF qY6}Qm+4S}Ʈ 뙰rЬ*M 8SSkˍnreѣm9 =-AgFktHM>NIdOEt[Tf+lJaE+[q4h[NdF qY6}Qm+4SjmY&Fc> [`c56 &\M1ә; тtz1TfDJ#dVIQEFfBzĩ6$XMMB{.5ɗFeN0`cg!6ҳH;Y&Ւjm=f=mQ'ܪb+lJaE+[q4h[NdF qY6}Qm+4SjmY&Fc}ʮF&Bzĩ6$XMMB{.5ɗFeN0`cg!6ҳH;Y&Ւjm=f=mQ'ܪbl+lJaE+[q4h[NdF qY6}Qm+4SjmY&ٶhVRؕ&)VeƷ92hь㠳ьl5$&ViTk$ڲMMm)sM٣zЬ*M 8SSkˍnreѣm9 =-AgFktHM>NIdfR曏`X=KbT ,p!X=ˉF2s'dz0[F1萛iY}RSj56(гэlЬ*M 8SSkˍnreѣm9 =-AgFktHM>NIdfjYƶ=hVRؕ&)VeƷ92hь㠳ьl5$&ViTk$ڲMMJ5t,c[jl+lJaE+[q4h[NdF qY6}Qm+4S( Ь*M 8SSkˍnreѣm9 =-AgFktHM>NHD&Bzĩ6$XMMB{.5ɗFeN0`cg!6ҳH;["]- [`c56 &\M1ә; тtz1TfDJ#qI=f=mQЬ*M 8SSkˍnreѣm9 =-AgFktHM>NFc> [`c56 &\M1ә; тtz1TfDJ#qI=f=mQrЬ*M 8SSkˍnreѣm9 =-AgFktHM>NZԶ%I" jmbqL4c-2vA,c>n G)握Bzĩ6$XMMB{.5ɗFeN0`cg!6ҳH;\R{<9hVRؕ&)VeƷ92hь㠳ьl5$&ViTkiKn>օ`-Rl0HšX`\ks.&i̝an: =Ϫ3[BmfJv=hVRؕ&)VeƷ92hь㠳ьl5$&ViTkiKn>̓`-Rl0HšX`\ks.&i̝an: =Ϫ3[BmfJvz15ZԶ%I" jmbqL4c-2vA,c>n G)jYƶ=hVRؕ&)VeƷ92hь㠳ьl5$&ViTkQgS`X=KbT ,p!X=ˉF2s'dz0[F1萛iY}R(n+lJaE+[q4h[NdF qY6}Qm+4SCօ`-Rl0HšX`\ks.&i̝an: =Ϫ3[BmfJvyrЬ*M 8SSkˍnreѣm9 =-AgFktksir1X=KbT ,p!X=ˉF2s'dz0[F1cIY握Bzĩ6$XMMB{.5ɗFeN0`cgѭͧƒ̓`-Rl0HšX`\ks.&i̝an: =Ϫ3[[O%g)+]tZԶ%I" jmbqL4c-2vA,c>nnm>F4Gܦuu=hVRؕ&)VeƷ92hь㠳ьl55V|r2C`X=KbT ,p!X=ˉF2s'dz0[F1g4{3s\V`-Rl0HšX`\ks.&i̝an: =Ϫ3[[Zh}Ur14}ZԶ%I" jmbqL4c-2vA,c>nnqksG)1;OU9hVRؕ&)VeƷ92hь㠳ьl55ůY6}\`شhVRؕ&)VeƷ92hь㠳ьl55ůY6}\`ش=hVRؕ&)VeƷ92hь㠳ьl55ůY6}\`ش9hVRؕ&)VeƷ92hь㠳ьl55ůX ԟSьliЬ*M 8SSkˍnreѣm9 =-AgFktks^A>r1b73GX=KbT ,p!X=ˉF2s'dz0[F1cR}OF1cŤnfBzĩ6$XMMB{.5ɗFeN0`cgѭ-zдUǞ [`c56 &\M1ә; тtz1TfF8BқWz0h+lJaE+[q4h[NdF qY6}Q׭ Jn\yrЬ*M 8SSkˍnreѣm9 =-AgFktks^-)q45+lJaE+[q4h[NdF qY6}Q׭ Jn\z lǚ> [`c56 &\M1ә; тtz1TfF8BқWC[1Bzĩ6$XMMB{.5ɗFeN0`cgѭ-zдU ZԶ%I" jmbqL4c-2vA,c>nnqkօ7R>lyzЬ*M 8SSkˍnreѣm9 =-AgFktks^-)qpc̓`-Rl0HšX`\ks.&i̝an: =Ϫ3[[ZiMԫ/y<-hVRؕ&)VeƷ92hь㠳ьl55ůZJCօ`-Rl0HšX`\ks.&i̝an: =Ϫ3[[ZiMԫ/y<,9hVRؕ&)VeƷ92hь㠳ьl55ů["] - [`c56 &\M1ә; тtz1TfF8z$QAVCGX=KbT ,p!X=ˉF2s'dz0[F1oD1tH"(l+lJaE+[q4h[NdF qY6}Q׮ HX=KbT ,p!X=ˉF2s'dz0[F1plZFǚ> [`c56 &\M1ә; тtz1TfF8b6<9hVRؕ&)VeƷ92hь㠳ьl55ů\}Q5X=KbT ,p!X=ˉF2s'dz0[F1plZFǐiFdCօ`-Rl0HšX`\ks.&i̝an: =Ϫ3[[ZiA6ZԶ%I" jmbqL4c-2vA,c>nnqkk)ܛ;+lJaE+[q4h[NdF qY6}Q׮(S6v<=hVRؕ&)VeƷ92hь㠳ьl55ů\QrlyrЬ*M 8SSkˍnreѣm9 =-AgFktks^JgЬ*M 8SSkˍnreѣm9 =-AgFktks^Jg٣zЬ*M 8SSkˍnreѣm9 =-AgFktks^JgٰrЬ*M 8SSkˍnreѣm9 =-AgFktks^Jg݀'ܪb+lJaE+[q4h[NdF qY6}Q׮wDR` *> [`c56 &\M1ә; тtz1TfF8}}ʮF&Bzĩ6$XMMB{.5ɗFeN0`cgѭ-z6ƍ>F3E4X=KbT ,p!X=ˉF2s'dz0[F1ucFW#xYzЬ*M 8SSkˍnreѣm9 =-AgFktks^ͱO{y<,9hVRؕ&)VeƷ92hь㠳ьl5)Y4ir1\V`-Rl0HšX`\ks.&i̝an: =Ϫ3[^cFW#OU=hVRؕ&)VeƷ92hь㠳ьl5)Y4ir1\M`-Rl0HšX`\ks.&i̝an: =Ϫ3["l>W#X=KbT ,p!X=ˉF2s'dz0[F1HOU=hVRؕ&)VeƷ92hь㠳ьl5(Ur16ZԶ%I" jmbqL4c-2vA,c>qDc>F-M{N}}ʮF+Bzĩ6$XMMB{.5ɗFeN0`cg(cgũiϻOU=hVRؕ&)VeƷ92hь㠳ьl5ьl69` *- [`c56 &\M1ә; тtz1TfSьlOUhVRؕ&)VeƷ92hь㠳ьl5cg}ʮF&Bzĩ6$XMMB{.5ɗFeN0`cg(c>>Ur16ZԶ%I" jmbqL4c-2vA-ɒ]圕8U8UX=KbT ,p!X=ˉF2s'dz0[ܙ%NYQѺQYYQѺQY4}ZԶ%I" jmbqL4c-2vA-ɒ]圕8U8S`X=KbT ,p!X=ˉF2s'dz0[ܙ%NYQѺQYYQѺQY kBzĩ6$XMMB{.5ɗFeN0`2Kt'곒t'dCօ`-Rl0HšX`\ks.&i̝an: rdm9g%GFDN%gg%GFDN%g.ɛ- [`c56 &\M1ә; тt.rJ҈JϪF56=ѥ[i+lJaE+[q4h[NdF q[$i9*:7J"q+>=XFlOI٣zЬ*M 8SSkˍnreѣm9 =-AnL,(Ĭc[jsicU>&fBzĩ6$XMMB{.5ɗFeN0`2Kt'8UX=KbT ,p!X=ˉF2s'dz0[ܙ%NYQѺQY[J҈JϩzЬ*M 8SSkˍnreѣm9 =-AnL,(Ĭ%GFDN%g9hVRؕ&)VeƷ92hь㠷&IvӖrTtnDV}V㒣t'dօ`-Rl0HšX`\ks.&i̝an: rdm9g%GFDN%gn9*:7J"q+>vL=hVRؕ&)VeƷ92hь㠷&IvӖrTtnDV}V㒣t'd̓`-Rl0HšX`\ks.&i̝an: rdm9g%GFDN%gntiV} [`c56 &\M1ә; тt.rJ҈JϪҭI44}ZԶ%I" jmbqL4c-2vA-ɒ]圕8Uѥ[il+lJaE+[q4h[NdF q[$i9*:7J"q+>tiV}օ`-Rl0HšX`\ks.&i̝an: rdm9g%GFDN%gn*؟tOxzЬ*M 8SSkˍnreѣm9 =-AnL,(Ĭѥ[i/s6ZԶ%I" jmbqL4c-2vA-ɒ]圕8UГѥ[i+lJaE+[q4h[NdF q[$i9*:7J"q+>'ۣJ'$=hVRؕ&)VeƷ92hь㠷&IvӖrTtnDV}WGBOFlOIٰrЬ*M 8SSkˍnreѣm9 =-AnL,(ĬG)FlOIЬ*M 8SSkˍnreѣm9 =-AnL,(ĬG)FlOI٣zЬ*M 8SSkˍnreѣm9 =-AnL,(ĬG)FlOIٰrЬ*M 8SSkˍnreѣm9 =-AnL,(ĬN<Ǻ4b}M>օ`-Rl0HšX`\ks.&i̝an: rdm9g%GFDN%guBv6=ѥ[ih+lJaE+[q4h[NdF q[$i9*:7J"q+>9*؟tO`X=KbT ,p!X=ˉF2s'dz0[ܙ%NY ؏ZԶ%I" jmbqL4c-2vA-ɒ]垌 ؏Y GX=KbT ,p!X=ˉF2s'dz0[ܙ%NY ؏6ZԶ%I" jmbqL4c-2vA-ɒ]垌 ؏Y фm\e7Arv+lJaE+[q4h[NdF q[$i=Aф%ڹn=hVRؕ&)VeƷ92hь㠷&IvӖz0b=g6#FJ.=r1UٰrЬ*M 8SSkˍnreѣm9 =-AnL,azFlGw [`c56 &\M1ә; тt.rFlGa}qzЬ*M 8SSkˍnreѣm9 =-AnL,azFlGw- [`c56 &\M1ә; тt.rFlGa}'ܪb+lJaE+[q4h[NdF q[$i=AфrzЬ*M 8SSkˍnreѣm9 =-AnL,azFlG}ʮF&Bzĩ6$XMMB{.5ɗFeN0`2Kф=ANMu\ [`c56 &\M1ә; тt.rFlGa|):$e7Arvh+lJaE+[q4h[NdF q[$i=Aфl葔UٰrЬ*M 8SSkˍnreѣm9 =-AnL,azFlGq+>cB9Mu\ [`c56 &\M1ә; тt.rFlGaz'Y4!sU٣zЬ*M 8SSkˍnreѣm9 =-AnL,azFlGq+>cB9Mu\- [`c56 &\M1ә; тt.rFlGaW#фBzĩ6$XMMB{.5ɗFeN0`2Kф=A(ayzЬ*M 8SSkˍnreѣm9 =-AnL,azFJ.=r1=Al+lJaE+[q4h[NdF q[$i=Aфm\bEFkBzĩ6$XMMB{.5ɗFeN0`2Kф=A(-M[Tfh+lJaE+[q4h[NdF q[$i=Aфm\bEFfBzĩ6$XMMB{.5ɗFeN0`2KфJF6rЬ*M 8SSkˍnreѣm9 =-AnL,azҫ'ܪbh+lJaE+[q4h[NdF q[$i=Alc` *- [`c56 &\M1ә; тt.rFlGǣ6#օ`-Rl0HšX`\ks.&i̝an: rdm9g6#ф握Bzĩ6$XMMB{.5ɗFeN0`2Kфq `X=KbT ,p!X=ˉF2s'dz0[ܙ%NY a|:Nօ`-Rl0HšX`\ks.&i̝an: rdm9g6#ф;4}ZԶ%I" jmbqL4c-2vA-ɒ]垌 ؏[FlGn9hVRؕ&)VeƷ92hь㠷&IvӖz0b=nm{2JkvrЬ*M 8SSkˍnreѣm9 =-AnL,aztdiV>W#GX=KbT ,p!X=ˉF2s'dz0[ܙ%NY )*ҭ}ʮF&Bzĩ6$XMMB{.5ɗFeN0`2KфtSk=$J` * [`c56 &\M1ә; тt.rFlGMpR*݀'ܪbh+lJaE+[q4h[NdF q[$i=AE6JJkvrrЬ*M 8SSkˍnreѣm9 =-AnL,azDΕmnUr1ZԶ%I" jmbqL4c-2vA-ɒ]垌 ؏[^ҭ}ʮF&Bzĩ6$XMMB{.5ɗFeN0`2KфtSk>q7:UOU9hVRؕ&)VeƷ92hь㠷&IvӖz0b=qjn"ڣ5X=KbT ,p!X=ˉF2s'dz0[ܙ%NY ũjCօ`-Rl0HšX`\ks.&i̝an: rdm9g6#-36ZԶ%I" jmbqL4c-2vA-ɒ]垌 ؏]-}Qf=hVRؕ&)VeƷ92hь㠷&IvӖz0b=tFsјGX=KbT ,p!X=ˉF2s'dz0[ܙ%NY gFc̓`-Rl0HšX`\ks.&i̝an: rdm9pls[J+lJaE+[q4h[NdF q[$i˃e+W3GX=KbT ,p!X=ˉF2s'dz0[ܙ%N\)\6R- [`c56 &\M1ә; тt.rJ6R [`c56 &\M1ә; тt.rJ6R> [`c56 &\M1ә; тt.rJ6R- [`c56 &\M1ә; тt.rg1=zD^ͤNV+lJaE+[q4h[NdF q[$i˝ǬNE={g69YzЬ*M 8SSkˍnreѣm9 =-AnL.vz39NENfBzĩ6$XMMB{.5ɗFeN0`2KzD^9'FcNV+lJaE+[q4h[NdF q[$i˝ǬNE=xql|f>fBzĩ6$XMMB{.5ɗFeN0`2KzD^9'FcNVl+lJaE+[q4h[NdF q[$i˝ǬNE={깯MJ8UX=KbT ,p!X=ˉF2s'dz0[ܙ%N\f=gr/Y蜋UzmzVĬ> [`c56 &\M1ә; тt.rg1=zD^躮kkҴN%g9hVRؕ&)VeƷ92hь㠷&Ivӗ;=Y蜋z'"SNV+lJaE+[q4h[NdF q[$i˝ǬNE=z)u'+4}ZԶ%I" jmbqL4c-2vA-ɒ]Fcz'"Ƚoi:- [`c56 &\M1ә; тt.rg1=zD_;=ZԶ%I" jmbqL4c-2vA-ɒ]Fcz'"Ⱦvz3h+lJaE+[q4h[NdF q[$i˝ǬNE=|f<9hVRؕ&)VeƷ92hь㠷&Ivӗ;=Y蜋z'"{kYtZԶ%I" jmbqL4c-2vA-ɒ]Fcz'"Ⱦvz3n9* Cօ`-Rl0HšX`\ks.&i̝an: rdm9sјȽgr/ǶJC`X=KbT ,p!X=ˉF2s'dz0[ܙ%N\f=gr/Y蜋g1rЬ*M 8SSkˍnreѣm9 =-AnL.vz39NEјOU=hVRؕ&)VeƷ92hь㠷&Ivӗ;=Y蜋z'"}'ܪbl+lJaE+[q4h[NdF q[$i˝ǬNE=}Iօ`-Rl0HšX`\ks.&i̝an: rdm9sјȽgr/9YzЬ*M 8SSkˍnreѣm9 =-AnL.vz39NE'+6ZԶ%I" jmbqL4c-2vA-ɒ]Fcz'"H;l>W#X=KbT ,p!X=ˉF2s'dz0[ܙ%N\f=gr/Y菹4SUr14}ZԶ%I" jmbqL4c-2vA-ɒ]Fcz'"H;l>W#`X=KbT ,p!X=ˉF2s'dz0[ܙ%N\f=ukA }čP^n9*Iօ`-Rl0HšX`\ks.&i̝an: rdm9sјEY6=5B8:-{kYu'+4}ZԶ%I" jmbqL4c-2vA-ɒ]Fc[dH f㒭Ԝ9hVRؕ&)VeƷ92hь㠷&Ivӗ;=]nptZpcq#T+sאu}Iօ`-Rl0HšX`\ks.&i̝an: rdm9sјEY6=5B8:-y[Ԝ=hVRؕ&)VeƷ92hь㠷&Ivӗ;=]nptZpcq#T+sאu}I̓`-Rl0HšX`\ks.&i̝an: rdm9sјEY6=5B8:-|f>kBzĩ6$XMMB{.5ɗFeN0`2Kzs׬[vz3RrGX=KbT ,p!X=ˉF2s'dz0[ܙ%N\f=ukA }čP_;=9YrЬ*M 8SSkˍnreѣm9 =-AnL.vz3p{'+ZԶ%I" jmbqL4c-2vA-ɒ]Fc[not[[fBzĩ6$XMMB{.5ɗFeN0`2Kzs׭csԜ9hVRؕ&)VeƷ92hь㠷&Ivӗ;=]nptZM>E9ZЬ*M 8SSkˍnreѣm9 =-AnL.vz3t<}_RrGX=KbT ,p!X=ˉF2s'dz0[ܙ%N\f=uk4x[fBzĩ6$XMMB{.5ɗFeN0`2Kzs׭չk jNV+lJaE+[q4h[NdF q[$i˝Ǯ8:-z[p֤fBzĩ6$XMMB{.5ɗFeN0`2Kzs׭չk jNVl+lJaE+[q4h[NdF q[$i˝Ǯ8:-z[NV+lJaE+[q4h[NdF q[$i˝Ǯ8:-z[NVh+lJaE+[q4h[NdF q[$i˝Ǯ8:-z[NVl+lJaE+[q4h[NdF q[$i˝Ǯ8:-z[vz3RrX=KbT ,p!X=ˉF2s'dz0[ܙ%N\f=ukј> [`c56 &\M1ә; тt.rg1^VEԜ9hVRؕ&)VeƷ92hь㠷&Ivӗ;=]nptZ8:-}Iօ`-Rl0HšX`\ks.&i̝an: rdm9sјE[sԜ=hVRؕ&)VeƷ92hь㠷&Ivӗ;=]nptZ8:-}I̓`-Rl0HšX`\ks.&i̝an: rdm9sјE]nptZ{kYtZԶ%I" jmbqL4c-2vA-ɒ]Fc[ukg1f㒭=hVRؕ&)VeƷ92hь㠷&Ivӗ;=]nptZEǶJC`X=KbT ,p!X=ˉF2s'dz0[ܙ%N\f=uk֛f}čP^A'+ZԶ%I" jmbqL4c-2vA-ɒ]Fc[iniϷH oRrGX=KbT ,p!X=ˉF2s'dz0[ܙ%N\f=uk֛f}čP^A'+6ZԶ%I" jmbqL4c-2vA-ɒ]Fc[iniϷH ј [`c56 &\M1ә; тt.rg1^74$jnptZ}ICօ`-Rl0HšX`\ks.&i̝an: rdm9sјEZms5B8:-|f>fBzĩ6$XMMB{.5ɗFeN0`Fcؓ=IX [`c56 &\M1ә; тt;=[bLa$icNVh+lJaE+[q4h[NdF q\f=m3ф9YrЬ*M 8SSkˍnreѣm9 =-Asј$Ǔ`g1'+ZԶ%I" jmbqL4c-2vA.vz3Ęql|f>fBzĩ6$XMMB{.5ɗFeN0`FcؓN-Ԝ9hVRؕ&)VeƷ92hь㠹zdo+lJaE+[q4h[NdF q\f=m24}ZԶ%I" jmbqL4c-2vA.vz3ę[Ǜ- [`c56 &\M1ә; тt;=[bL;=9ZЬ*M 8SSkˍnreѣm9 =-Asј$8︑ј> [`c56 &\M1ә; тt;=[bL;=9YrЬ*M 8SSkˍnreѣm9 =-Asј$NV+lJaE+[q4h[NdF q\f=m:> [`c56 &\M1ә; тt;=[bNfBzĩ6$XMMB{.5ɗFeN0`Fcͤ:=hVRؕ&)VeƷ92hь㠹z9[ǚ> [`c56 &\M1ә; тt;=[g6 x`X=KbT ,p!X=ˉF2s'dz0[g19qјֳqV+lJaE+[q4h[NdF q\f=g6>vz3n9* Cօ`-Rl0HšX`\ks.&i̝an: ǬFcZ%[rЬ*M 8SSkˍnreѣm9 =-Asј҄`HͳIԜhVRؕ&)VeƷ92hь㠹zEB0i$fͤNVh+lJaE+[q4h[NdF q\f=g43lu'+6ZԶ%I" jmbqL4c-2vA.vz3NWEz Ь*M 8SSkˍnreѣm9 =-AsјRr,lCօ`-Rl0HšX`\ks.&i̝an: Ǭgfl+lJaE+[q4h[NdF q\f=gԜ [`c56 &\M1ә; тt;=Y'+G>̓`-Rl0HšX`\ks.&i̝an: Ǭgz-Ь*M 8SSkˍnreѣm9 =-AsјRr,E4}ZԶ%I" jmbqL4c-2vA.vz3NWEA趦Bzĩ6$XMMB{.5ɗFeN0`Fc}I [`c56 &\M1ә; тt;=Y'+tjh+lJaE+[q4h[NdF q\f=gԜ=ѩrЬ*M 8SSkˍnreѣm9 =-AsјRr,$Rilu'+ZԶ%I" jmbqL4c-2vA.vz3NWEĊM#mNfBzĩ6$XMMB{.5ɗFeN0`Fc}IؑImIԜ9hVRؕ&)VeƷ92hь㠹zϩ9]{)4FcZ%[Ь*M 8SSkˍnreѣm9 =-AsјRr,$RiǶJCGX=KbT ,p!X=ˉF2s'dz0[g1>tYlH7;=mk7nBzĩ6$XMMB{.5ɗFeN0`Fc}IؑInvz3RrX=KbT ,p!X=ˉF2s'dz0[g1>tYlH7;=9YzЬ*M 8SSkˍnreѣm9 =-AsјRr,$RiԜ9hVRؕ&)VeƷ92hь㠹zϩ9]{)4# [`c56 &\M1ә; тt;=Y'+{bE&cRrGX=KbT ,p!X=ˉF2s'dz0[g1>tYlH6\jNVl+lJaE+[q4h[NdF q\f=gԜ=ĊЬ*M 8SSkˍnreѣm9 =-AsјRr,&Bzĩ6$XMMB{.5ɗFeN0`Fc}IތH- [`c56 &\M1ә; тt;=Y'+z1"bEhVRؕ&)VeƷ92hь㠹zϩ9]{щ&Bzĩ6$XMMB{.5ɗFeN0`Fc}IތH6ZԶ%I" jmbqL4c-2vA.vz3NWEDV`-Rl0HšX`\ks.&i̝an: ǬggSGX=KbT ,p!X=ˉF2s'dz0[g1>tYA9hVRؕ&)VeƷ92hь㠹zϩ9]xa6kBzĩ6$XMMB{.5ɗFeN0`Fc}IA4}ZԶ%I" jmbqL4c-2vA.vz3NWEz rЬ*M 8SSkˍnreѣm9 =-Asј*'g1Bzĩ6$XMMB{.5ɗFeN0`FczT0ǚ> [`c56 &\M1ә; тt;=YRvz3l+lJaE+[q4h[NdF q\f=gJ }Iօ`-Rl0HšX`\ks.&i̝an: ǬTa;=9YzЬ*M 8SSkˍnreѣm9 =-Asј*'g1'+6ZԶ%I" jmbqL4c-2vA.vz38zЬ*M 8SSkˍnreѣm9 =-Asј'FcCօ`-Rl0HšX`\ks.&i̝an: Ǭy8>vz3l+lJaE+[q4h[NdF q\f=do+lJaE+[q4h[NdF q\f=doh+lJaE+[q4h[NdF q\f=dol+lJaE+[q4h[NdF q\f=do=jЬ*M 8SSkˍnreѣm9 =-AsјuxզBzĩ6$XMMB{.5ɗFeN0`FcAV- [`c56 &\M1ә; тt;=Y[R͵r1ZԶ%I" jmbqL4c-2vA.vz3 jbh+lJaE+[q4h[NdF q\f=doqJ69hVRؕ&)VeƷ92hь㠹z8︑ #KRrX=KbT ,p!X=ˉF2s'dz0[g1 ǾF$,}ICօ`-Rl0HšX`\ks.&i̝an: Ǭz04'+6ZԶ%I" jmbqL4c-2vA.vz3l{$jf>kBzĩ6$XMMB{.5ɗFeN0`FcA }čPԜ=hVRؕ&)VeƷ92hь㠹z8︑ј- [`c56 &\M1ә; тt;=Y6=5BkBzĩ6$XMMB{.5ɗFeN0`FcA }čP9YzЬ*M 8SSkˍnreѣm9 =-Asјpcq#T*NVl+lJaE+[q4h[NdF q\f=nlI$,}Iօ`-Rl0HšX`\ks.&i̝an: ǭ͉3ф9YzЬ*M 8SSkˍnreѣm9 =-Asј&z04'+6ZԶ%I" jmbqL4c-2vA.vz36$Ǔ`g1'+ZԶ%I" jmbqL4c-2vA.vz36$Ǔ`g1'+4}ZԶ%I" jmbqL4c-2vA.vz36$Ǔ`g1'+6ZԶ%I" jmbqL4c-2vA.vz36$:=hVRؕ&)VeƷ92hь㠹zؓ xGX=KbT ,p!X=ˉF2s'dz0[g1sbL̓`-Rl0HšX`\ks.&i̝an: ǭ͉2l{$jf>kBzĩ6$XMMB{.5ɗFeN0`Fcę6=5Bvz3RrGX=KbT ,p!X=ˉF2s'dz0[g1sbL;=9YrЬ*M 8SSkˍnreѣm9 =-Asј'RrX=KbT ,p!X=ˉF2s'dz0[g1sbNfBzĩ6$XMMB{.5ɗFeN0`FcĝI̓`-Rl0HšX`\ks.&i̝an: ǭ͜Lօ`-Rl0HšX`\ks.&i̝an: ǭ͜LCօ`-Rl0HšX`\ks.&i̝an: ǭ͜L̓`-Rl0HšX`\ks.&i̝an: ǭ͜NkBzĩ6$XMMB{.5ɗFeN0`Fcm'RrGX=KbT ,p!X=ˉF2s'dz0[g1sg69YrЬ*M 8SSkˍnreѣm9 =-Asјu B+lJaE+[q4h[NdF q\f=n8l> [`c56 &\M1ә; тt;=['[9".fBzĩ6$XMMB{.5ɗFeN0`FcҥQf=hVRؕ&)VeƷ92hь㠹zzT0ǚ> [`c56 &\M1ә; тt;=[JFј`X=KbT ,p!X=ˉF2s'dz0[g1qRvz3RrX=KbT ,p!X=ˉF2s'dz0[g1qRvz3RrGX=KbT ,p!X=ˉF2s'dz0[g1qRvz3Rr`X=KbT ,p!X=ˉF2s'dz0[g1pql|f=hVRؕ&)VeƷ92hь㠹z<[;=4}ZԶ%I" jmbqL4c-2vA.vz3'Fc̓`-Rl0HšX`\ks.&i̝an: ǭo+lJaE+[q4h[NdF q\f=n xGX=KbT ,p!X=ˉF2s'dz0[g1q[Ǜ- [`c56 &\M1ә; тt;=[:>.mЬ*M 8SSkˍnreѣm9 =-Asј)Bڹ> [`c56 &\M1ә; тt;=[:>.mrЬ*M 8SSkˍnreѣm9 =-Asјz04'+ZԶ%I" jmbqL4c-2vA.vz3pcq#TFF>fBzĩ6$XMMB{.5ɗFeN0`Fcl{$jHԜ9hVRؕ&)VeƷ92hь㠹zA }čPԜhVRؕ&)VeƷ92hь㠹zA }čPԜ=hVRؕ&)VeƷ92hь㠹zA }čPԜ9hVRؕ&)VeƷ92hь㠹zA }čP9ZЬ*M 8SSkˍnreѣm9 =-AsјRrGX=KbT ,p!X=ˉF2s'dz0[g1q6=5BfBzĩ6$XMMB{.5ɗFeN0`Fc+cg1o+lJaE+[q4h[NdF q\f=nҶ>vz3A握Bzĩ6$XMMB{.5ɗFeN0`Fc+cg1ol+lJaE+[q4h[NdF q\f=nE;Lօ`-Rl0HšX`\ks.&i̝an: ǭȧs{IuyzЬ*M 8SSkˍnreѣm9 =-Asјoi26ZԶ%I" jmbqL4c-2vA.vz3"'RrX=KbT ,p!X=ˉF2s'dz0[g1r)u'+4}ZԶ%I" jmbqL4c-2vA.vz3"'Rr`X=KbT ,p!X=ˉF2s'dz0[g1tf=hVRؕ&)VeƷ92hь㠹z;=4}ZԶ%I" jmbqL4c-2vA.vz3NFc̓`-Rl0HšX`\ks.&i̝an: ǭӳјֳqV+lJaE+[q4h[NdF q\f=nǶJCGX=KbT ,p!X=ˉF2s'dz0[g1tf=rU- [`c56 &\M1ә; тt;=[g1'+ZԶ%I" jmbqL4c-2vA.vz3NFcNVh+lJaE+[q4h[NdF q\f=nԜ9hVRؕ&)VeƷ92hь㠹zGN} [`c56 &\M1ә; тt;=[iϳGX=KbT ,p!X=ˉF2s'dz0[g1um9l+lJaE+[q4h[NdF q\f=n9[AX=KbT ,p!X=ˉF2s'dz0[g1uI> [`c56 &\M1ә; тt;=[NVD9hVRؕ&)VeƷ92hь㠹zRr]] [`c56 &\M1ә; тt;=[NWKAGX=KbT ,p!X=ˉF2s'dz0[g1uIutH"l+lJaE+[q4h[NdF q\f=nMsN}F$,}Iօ`-Rl0HšX`\ks.&i̝an: ǭɶniϷHф9YzЬ*M 8SSkˍnreѣm9 =-Asј69z04'+6ZԶ%I" jmbqL4c-2vA.vz3&ٹ>q#T'g1'+ZԶ%I" jmbqL4c-2vA.vz3&ٹ>q#T'g1'+4}ZԶ%I" jmbqL4c-2vA.vz3&ٹ>q#T'g1'+6ZԶ%I" jmbqL4c-2vA.vz3&ٹ>q#T*NV+lJaE+[q4h[NdF q\f=nMsN}FT=hVRؕ&)VeƷ92hь㠹zܛf}čP9YrЬ*M 8SSkˍnreѣm9 =-Asј[;= xX=KbT ,p!X=ˉF2s'dz0[g1Ҷ>vz3A握Bzĩ6$XMMB{.5ɗFeN0`Fcl|f<̓`-Rl0HšX`\ks.&i̝an: ǭoi2ZԶ%I" jmbqL4c-2vA.vz3S:<=hVRؕ&)VeƷ92hь㠹zN x`X=KbT ,p!X=ˉF2s'dz0[g1E;NkBzĩ6$XMMB{.5ɗFeN0`Fc֊w7ICօ`-Rl0HšX`\ks.&i̝an: ǭoi:- [`c56 &\M1ә; тt;=\<{FkBzĩ6$XMMB{.5ɗFeN0`Fc&葩9YzЬ*M 8SSkˍnreѣm9 =-AsјɣǺ$jNVl+lJaE+[q4h[NdF q\f=sјX=KbT ,p!X=ˉF2s'dz0[g1띞ǚ> [`c56 &\M1ә; тt;=\f<9hVRؕ&)VeƷ92hь㠹zg1LNWj^rЬ*M 8SSkˍnreѣm9 =-AsјFc9ͥԜ(6>W#GX=KbT ,p!X=ˉF2s'dz0[g1띞Ƕsi3K9\Qm{}ʮF&Bzĩ6$XMMB{.5ɗFeN0`Fc;==sN>W#X=KbT ,p!X=ˉF2s'dz0[g1띞ǞSă\vrzЬ*M 8SSkˍnreѣm9 =-AsјFcF)bAzSOU9hVRؕ&)VeƷ92hь㠹zg1tr1J4JRFurЬ*M 8SSkˍnreѣm9 =-AsјFcF)bhc>W#GX=KbT ,p!X=ˉF2s'dz0[g1띞ǞS()I}ʮF&Bzĩ6$XMMB{.5ɗFeN0`Fc;=\V`-Rl0HšX`\ks.&i̝an: Ǯvz3` *> [`c56 &\M1ә; тt;=\f>Ur16ZԶ%I" jmbqL4c-2vA.vz3y[Űvu+KOUhVRؕ&)VeƷ92hь㠹zg1oGԭ,>W#GX=KbT ,p!X=ˉF2s'dz0[g1띞ǐu|[ kmNR\M`-Rl0HšX`\ks.&i̝an: Ǯvz3Al.(֗[OUhVRؕ&)VeƷ92hь㠹zg1oiu\MCօ`-Rl0HšX`\ks.&i̝an: Ǯvz3Al.(֗[OU9hVRؕ&)VeƷ92hь㠹zg1ojA>Ur1ZԶ%I" jmbqL4c-2vA.vz3y[E(\MCօ`-Rl0HšX`\ks.&i̝an: Ǯvz3AFJ#>W#`X=KbT ,p!X=ˉF2s'dz0[g1띞ǐu}ISk>Ur1ZԶ%I" jmbqL4c-2vA.vz3y[Ԝ(6>W#GX=KbT ,p!X=ˉF2s'dz0[g1띞ǐu}ISk>Ur16ZԶ%I" jmbqL4c-2vA.vz3FmNkBzĩ6$XMMB{.5ɗFeN0`Fc4C HͳIԜ=hVRؕ&)VeƷ92hь㠹zdIsi:- [`c56 &\M1ә; тt;=] >NVEhVRؕ&)VeƷ92hь㠹zIRrD&Bzĩ6$XMMB{.5ɗFeN0`FcGBO$6ZԶ%I" jmbqL4c-2vA.vz3:}ԜWD+Bzĩ6$XMMB{.5ɗFeN0`FcGBOD=hVRؕ&)VeƷ92hь㠹zIRr]]- [`c56 &\M1ә; тt;=]IǶZԶ%I" jmbqL4c-2vA.vz3mZh+lJaE+[q4h[NdF q\f=u'+ڴ9hVRؕ&)VeƷ92hь㠹zҫ/jQ= Ь*M 8SSkˍnreѣm9 =-AsјW=g[b=z$^Ԣz3GX=KbT ,p!X=ˉF2s'dz0[g1Jzζ{HD.fBzĩ6$XMMB{.5ɗFeN0`Fc֕\.(Q͉: [`c56 &\M1ә; тt;=ZUsยG6$NVh+lJaE+[q4h[NdF q\f=iU[eؓ9YrЬ*M 8SSkˍnreѣm9 =-AsјW=nFcv<{fN.m3ZԶ%I" jmbqL4c-2vA.vz3}Ǐqr1lR͵FfBzĩ6$XMMB{.5ɗFeN0`Fc֕\>F-;P9hVRؕ&)VeƷ92hь㠹zҫf>cǸdօ`-Rl0HšX`\ks.&i̝an: ǭ*Fcv<{fL=hVRؕ&)VeƷ92hь㠹zҫf>cǸd̓`-Rl0HšX`\ks.&i̝an: ǭ*Fcv<{fN.m3ZԶ%I" jmbqL4c-2vA.vz3>F-;P=hVRؕ&)VeƷ92hь㠹zҫf>cǸd)Bڣ3`X=KbT ,p!X=ˉF2s'dz0[g1MsN}F$,}Iօ`-Rl0HšX`\ks.&i̝an: ǭ69z04'+4}ZԶ%I" jmbqL4c-2vA.vz374$jHԜ9hVRؕ&)VeƷ92hь㠹zlӟoј [`c56 &\M1ә; тt;=Zms5Bvz3RrGX=KbT ,p!X=ˉF2s'dz0[g1MsN}FNFcNVl+lJaE+[q4h[NdF q\f=iniϷH [`c56 &\M1ә; тt;=Zms5BfBzĩ6$XMMB{.5ɗFeN0`Fc֛f}čP9YrЬ*M 8SSkˍnreѣm9 O iтtz1TfOqЬ*M 8SSkˍnreѣm9 O iтtz1TfьliЬ*M 8SSkˍnreѣm9 O iтtz1Tf+lJaE+[q4h[Nd$F`cg!6ҳH;ZԶ%I" jmbqL4c-2vAim#`z0[F1萛iY}RSjЬ*M 8SSkˍnreѣm9 O iтtz1TfF8Bzĩ6$XMMB{.5ɗFeN2M<-lOF q[$i9*:7J"q+>Bzĩ6$XMMB{.5ɗFeN2M<-lOF q[$i=A+lJaE+[q4h[Nd$F`2K6R [`c56 &\M1ә; 4𶑰=-AnL.vz39 [`c56 &\M1ә; 4𶑰=-AnL.vz3Bzĩ6$XMMB{.5ɗFeN2M<-lOF q\f=gԜBzĩ6$XMMB{.5ɗFeN2M<-lOF q\f=hVRؕ&)VeƷ92hьI n: ǭ*Bzĩ6$XMMB{.5ɗFeN2`ϒЬ%I" jmbqL4c-2vA@gSօ`*M 8SSkˍnreѣm9 օ`-Rl0HšX`\ks.&i̫hFT)hV [`c56 &\M1әV.:- KbT ,p!X=ˉF2s*ѕ@aUX)lJaE+[q4h[Ne[@2 +-Rl0HšX`\ks.&i̫hFTф Zĩ6$XMMB{.5ɗFeU *BRؕ&)VeƷ92hьʶteA=@+-Rl0HšX`\ks.&i̫hFTфKBRؕ&)VeƷ92hьʶteA=@+-Rl0HšX`\ks.&i̫hFTфBRؕ&)VeƷ92hьʶteA>p9X)lJaE+[q4h[Ne[@24EhV [`c56 &\M1әV.:qЬ%I" jmbqL4c-2]Ptțb+-Rl0HšX`\ks.&i̫hFT&ڭ KbT ,p!X=ˉF2s*ѕ@||`*M 8SSkˍnreѣm9mʃc#`*M 8SSkˍnreѣm9mʃF3`*M 8SSkˍnreѣm9mʃF3> BRؕ&)VeƷ92hьʶteA#X)lJaE+[q4h[Ne[@2:: BRؕ&)VeƷ92hьʶteAt$yBRؕ&)VeƷ92hьʶteAt% BRؕ&)VeƷ92hьʶteA%3ϚЬ%I" jmbqL4c-2]Pt LZĩ6$XMMB{.5ɗFeU *) KbT ,p!X=ˉF2s*ѕ@ҥ KbT ,p!X=ˉF2s*ѕB 3Zĩ6$XMMB{.5ɗFeU *%Zĩ6$XMMB{.5ɗFeU *%4SZĩ6$XMMB{.5ɗFeU *Z"Ь%I" jmbqL4c-2]Pt"V`*M 8SSkˍnreѣm9mʃ +-Rl0HšX`\ks.&i̫hFT2`*M 8SSkˍnreѣm9mʃ; KbT ,p!X=ˉF2ssBv=Zĩ6$XMMB{.5ɗFe$$A`*M 8SSkˍnreѣm99;UX)lJaE+[q4h[NbNb@NDhV [`c56 &\M1Ә:)hV [`c56 &\M1Ә:Zĩ6$XMMB{.5ɗFe$$@+BRؕ&)VeƷ92hьĜāНЈ hV [`c56 &\M1vA{{iKЬ*M 8SSkˍnreѣq=k'd׾-hVRؕ&)VeƷ92hь赓 =.lhٞьl5Xy'6JEX=KbT ,p!X=ˉF2{N0`ͱfzF1>(Uc n9* Cօ`-Rl0HšX`\ks.&ˉY; т6ƍ=Ϫ3X{Ubz0kYt6ZԶ%I" jmbqL4c.'-dF 6gc>c"V>z1 EǶF+Bzĩ6$XMMB{.5ɗFeEaucFcg}PF1=A(=hVRؕ&)VeƷ92hь赓 =.lhٞьl5Xy'%ڹ- [`c56 &\M1vAm3z1TfBo=c>F4+lJaE+[q4h\OtZY4lY6}QE }cьlVyzЬ*M 8SSkˍnreѣq=k'dz0]fѳ=gFkoq*ьOF1cIYBzĩ6$XMMB{.5ɗFeEaucFcg}PF1tksir1X=KbT ,p!X=ˉF2{N0`ͱfzF1>(Uc5VyzЬ*M 8SSkˍnreѣq=k'dz0]fѳ=gFkoq*ь]}\i+<9hVRؕ&)VeƷ92hь赓 =.lhٞьl5Xy38ץkBzĩ6$XMMB{.5ɗFeEaucFcg}PF1)6+4}ZԶ%I" jmbqL4c.'-dF 6gc>c"V>z1N)YrЬ*M 8SSkˍnreѣq=k'dz0]fѳ=c"V>r=IԜhVRؕ&)VeƷ92hь赓 =.lhٞB9ͤNVh+lJaE+[q4h\OtZY4lX{Ulu'+6ZԶ%I" jmbqL4c.'-dF 6g}PG8 [`c56 &\M1vAm3>(Uc#m}ICօ`-Rl0HšX`\ks.&ˉY; т6ƍoq*6>fBzĩ6$XMMB{.5ɗFeEaucFXьl [`c56 &\M1vAm3>(Uc#F1bh+lJaE+[q4h\OtZY4lX{U=ϫrЬ*M 8SSkˍnreѣq=k'dz0]fѳ=c"V>rF'[bEhVRؕ&)VeƷ92hь赓 =.lhٞB9z1W#tH"h+lJaE+[q4h\OtZY4lX{U=ϫغ$6ZԶ%I" jmbqL4c.'-dF 6g}PGqr1lɭ [`c56 &\M1vAm3>(Uc#ǸdCօ`-Rl0HšX`\ks.&ˉY; т6ƍoq*}\[2fBzĩ6$XMMB{.5ɗFeEaucFXFօ`-Rl0HšX`\ks.&ˉY; т6ƍoq*.> [`c56 &\M1vAm3>(Uc#$]6ZԶ%I" jmbqL4c.'-dF 6g}PG}ʮF+Bzĩ6$XMMB{.5ɗFeEaucFXOU=hVRؕ&)VeƷ92hь赓 =.lhٞB9` *- [`c56 &\M1vAm3>(Uc#Y}R [`c56 &\M1vAm3>(Uc#Y}R> [`c56 &\M1vAm3>(Uc#Y}R- [`c56 &\M1vAm3>(Uc#Y}Rҩ+lJaE+[q4h\OtZY4lX{UfJwJqzЬ*M 8SSkˍnreѣq=k'dz0]fѳ=c"V>r>G)*Bzĩ6$XMMB{.5ɗFeEaucFXViTtGmAX=KbT ,p!X=ˉF2{N0`ͱfzE |}+4SU# zЬ*M 8SSkˍnreѣq=k'dz0]fѳ=c"V>r>G)*[bD9hVRؕ&)VeƷ92hь赓 =.lhٞB9J#kBzĩ6$XMMB{.5ɗFeEaucFXViTu'+4}ZԶ%I" jmbqL4c.'-dF 6g}PGҳH;9YrЬ*M 8SSkˍnreѣq=k'dz0]fѳ=c"V>r>HX=KbT ,p!X=ˉF2{N0`ͱfzE |}*ƏBzĩ6$XMMB{.5ɗFeEaucFXU#`-Rl0HšX`\ks.&ˉY; т6ƍoq*GmAX=KbT ,p!X=ˉF2{N0`ͱfzE |}*[bD=hVRؕ&)VeƷ92hь赓 =.lhٞB9Jqغ$6ZԶ%I" jmbqL4c.'-dF 6g}PG\V`-Rl0HšX`\ks.&ˉY; т6ƍoq*l>W#GX=KbT ,p!X=ˉF2{N0`ͱfzE |}@OU9hVRؕ&)VeƷ92hь赓 =.lhٞB9RrX=KbT ,p!X=ˉF2{N0`ͱfzE |}ICօ`-Rl0HšX`\ks.&ˉY; т6ƍoq*'+6ZԶ%I" jmbqL4c.'-dF 6g}P#W#X=KbT ,p!X=ˉF2{N0`ͱfzE r<}Ur14}ZԶ%I" jmbqL4c.'-dF 6g}P#W#`X=KbT ,p!X=ˉF2{N0`ͱfzE r=V`-Rl0HšX`\ks.&ˉY; т6ƍoq*4}ZԶ%I" jmbqL4c.'-dF 6g}P#T9hVRؕ&)VeƷ92hь赓 =.lhٞBգV [`c56 &\M1vAm3>(Us{jGX=KbT ,p!X=ˉF2{N0`ͱfzE r>VmZl+lJaE+[q4h\OtZY4lX{U曏X=KbT ,p!X=ˉF2{N0`ͱfzE 4}> [`c56 &\M1vAm3>(Ut9hVRؕ&)VeƷ92hь赓 =.lhٞB4 [`c56 &\M1vAm3>(UucFW#GX=KbT ,p!X=ˉF2{N0`ͱfzE lhbl+lJaE+[q4h\OtZY4lX{Um}\N Ь*M 8SSkˍnreѣq=k'dz0]fѳ=c"WY4ir1:D&Bzĩ6$XMMB{.5ɗFeEaucF]fѧl]- [`c56 &\M1vAim#`z0]fѳ=gFkoq*+lJaE+[q4h\OtZI ucFZԶ%I" jmbqL4c.'-d+;X=KbT ,p!X=ˉF0}Ƭh픙SьQV`*M 8SSkˍnreѣFV4xL>ǼЬ%I" jmbqL4cjƏJhX)lJaE+[q4h/Մ'JReQZĩ6$XMMB{.5ɗFa"XBte&U`EX)lJaE+[q4h/ՎH֔E%I" jmbqL4cjAni=ǣq-Rl0HšX`\ks.&4EiQE%I" jmbqL4cjAnmGpyq-Rl0HšX`\ks.&4EiQ'k" [`c56 &\M1h5c7F68&. *M 8SSkˍnreѣFV: #tcj>ӂg)lJaE+[q4h/ՎHڏ YRؕ&)VeƷ92hь#D_q1iVE%I" jmbqL4cjAnmGtLd\AKbT ,p!X=ˉF0}ƬtFԃx "ȸĩ6$XMMB{.5ɗFa"X4эDH,)lJaE+[q4h/ՎHڐtOE%I" jmbqL4cjAnmH:'Ad\AKbT ,p!X=ˉF0}ƬtFԃ@5q-Rl0HšX`\ks.&4EiRk" [`c56 &\M1h5c7F6>k" [`c56 &\M1h5c7F6,)lJaE+[q4h/ՎHڐtdI5q-Rl0HšX`\ks.&4EiRq-Rl0HšX`\ks.&4EiRE%I" jmbqL4cjAnmH:4q-Rl0HšX`\ks.&4EiRgd\AKbT ,p!X=ˉF0}ƬtFԃE%I" jmbqL4cjAnmH:)k" [`c56 &\M1h5c7F6#тȸĩ6$XMMB{.5ɗFa"X4эEd\AKbT ,p!X=ˉF0}ƬtF`YRؕ&)VeƷ92hь#D_q1A:V. *M 8SSkˍnreѣFV: #tcj0h. *M 8SSkˍnreѣFV: #tcj0Ցq-Rl0HšX`\ks.&4EiT@K" [`c56 &\M1h5c7F6#SYRؕ&)VeƷ92hь#D_q1կ=d\AKbT ,p!X=ˉF0}ƬtF֗Vq-Rl0HšX`\ks.&4EiZ]Ohq-Rl0HšX`\ks.&4EiZ]O 9d\AKbT ,p!X=ˉF0}ƬtF֗SYRؕ&)VeƷ92hь#D_q1VE%I" jmbqL4cjAnmiu1YRؕ&)VeƷ92hь#D_q1m=d\AKbT ,p!X=ˉF0}ƬtF֗Y%q-Rl0HšX`\ks.&4EiZ]f|E%I" jmbqL4cjAnmiuYRؕ&)VeƷ92hь#D_q1h". *M 8SSkˍnreѣFV: #tckKq-Rl0HšX`\ks.&4EiZ]i;YRؕ&)VeƷ92hь#D_q1֕ȸĩ6$XMMB{.5ɗFa"X4э.E%I" jmbqL4cjAnmiuTYRؕ&)VeƷ92hь#D_q1ֳq-Rl0HšX`\ks.&4EiZ]RVE%I" jmbqL4cjAnmiYDE%I" jmbqL4cjAnmiYPYRؕ&)VeƷ92hь#D_q1fJq-Rl0HšX`\ks.&4EiZVp%k" [`c56 &\M1h5c7F6E%I" jmbqL4cjAnmiY¯YRؕ&)VeƷ92hь#D_q1gYRؕ&)VeƷ92hь#D_q1gd\AKbT ,p!X=ˉF0}ƬtF֕ȸĩ6$XMMB{.5ɗFa"X4э+4[Eq-Rl0HšX`\ks.&4EiZVrjK" [`c56 &\M1h5c7F6z+" [`c56 &\M1h5c7F6pYRؕ&)VeƷ92hь#D_q1g+Ed\AKbT ,p!X=ˉF0}ƬtF֕Ցq-Rl0HšX`\ks.&4EiZVrF " [`c56 &\M1h5c7F6VE%I" jmbqL4cjAnmiYmYRؕ&)VeƷ92hь#D_q1g*YRؕ&)VeƷ92hь#D_q1g$. *M 8SSkˍnreѣFV: #tckJ·d\AKbT ,p!X=ˉF0}ƬtF֕ q-Rl0HšX`\ks.&4EiZVtbȸĩ6$XMMB{.5ɗFa"X4э+:ȸĩ6$XMMB{.5ɗFa"X4э+:k" [`c56 &\M1h5c7F6E%I" jmbqL4cjAnmiY,)lJaE+[q4h/ՎHҳNPYRؕ&)VeƷ92hь#D_q2!Uq-Rl0HšX`\ks.&4Ei*zC. *M 8SSkˍnreѣFV: #teOAhpbȸĩ6$XMMB{.5ɗFa"X4ѕ=,)lJaE+[q4h/ՎHSьQLq-Rl0HšX`\ks.&4Ei+iǂ)lJaE+[q4h/ՎH[N>E%I" jmbqL4cjAnyd\AKbT ,p!X=ˉF0}ƬtFʒ!6Ǭ)lJaE+[q4h/ՎHRDhz/YRؕ&)VeƷ92hь#D_q2>hQYRؕ&)VeƷ92hь#D_q2c" [`c56 &\M1h5c7FT0:)lJaE+[q4h/ՎH1Uq-Rl0HšX`\ks.&4E1id`*M 8SSkˍnreѣFVV6LЬ%I" jmbqL4cj`֗ZM5X)lJaE+[q4h/Օ+9LЬ%I" jmbqL4cjϻk65@ +-Rl0HšX`\ks.&A`*M 8SSkˍnreѣш Ь%I" jmbqL4c"z1Zĩ6$XMMB{.5ɗFbOF BRؕ&)VeƷ92hь@hV [`c56 &\M1=+-Rl0HšX`\ks.&Aօ`*M 8SSkˍnreѣш hV [`c56 &\M1=`*M 8SSkˍnreѣш hV [`c56 &\M1=`*M 8SSkˍnreѣш*Ь%I" jmbqL4c"z1Zĩ6$XMMB{.5ɗFbOF BRؕ&)VeƷ92hь@hV [`c56 &\M1=- KbT ,p!X=ˉF1'R`*M 8SSkˍnreѣш(:Ь%I" jmbqL4c"z1 KbT ,p!X=ˉF1'PЬ%I" jmbqL4c"z1 KbT ,p!X=ˉF1'P"Ь%I" jmbqL4c"z1Zĩ6$XMMB{.5ɗFbOF kBRؕ&)VeƷ92hь@hV [`c56 &\M1= KbT ,p!X=ˉF1'`eX)lJaE+[q4h Db RЬ%I" jmbqL4c"z1Zĩ6$XMMB{.5ɗFbOF X)lJaE+[q4h Db Zĩ6$XMMB{.5ɗFbOF 5X)lJaE+[q4h Db Zĩ6$XMMB{.5ɗFbOF%- KbT ,p!X=ˉF1'օ`*M 8SSkˍnreѣщ@BRؕ&)VeƷ92hь@ĠUX)lJaE+[q4h DbP2Ь%I" jmbqL4c"z1(X)lJaE+[q4h DbP:Ь%I" jmbqL4c"z1(+-Rl0HšX`\ks.&J- KbT ,p!X=ˉF1'kBRؕ&)VeƷ92hь@Ġ"Ь%I" jmbqL4c"z1Zĩ6$XMMB{.5ɗFbOF X)lJaE+[q4h DbZĩ6$XMMB{.5ɗFbOF 5X)lJaE+[q4h DbZĩ6$XMMB{.5ɗFbe3`*M 8SSkˍnreѣL@5X)lJaE+[q4h FS< hV [`c56 &\M1Zĩ6$XMMB{.5ɗFbe3V`*M 8SSkˍnreѣL@0eX)lJaE+[q4h FS< X)lJaE+[q4h FS< hV [`c56 &\M1 KbT ,p!X=ˉF12`%X)lJaE+[q4h FS< +-Rl0HšX`\ks.&g`*M 8SSkˍnreѣL@EX)lJaE+[q4h FS< hV [`c56 &\M1Zĩ6$XMMB{.5ɗFbe3V`*M 8SSkˍnreѣL@@eX)lJaE+[q4h FS<X)lJaE+[q4h FS<hV [`c56 &\M1 KbT ,p!X=ˉF12%X)lJaE+[q4h FS<+-Rl0HšX`\ks.&g`*M 8SSkˍnreѣL@UX)lJaE+[q4h FS< hV [`c56 &\M1Zĩ6$XMMB{.5ɗFbe3AV`*M 8SSkˍnreѣL@PeX)lJaE+[q4h FS<X)lJaE+[q4h FS<hV [`c56 &\M1 KbT ,p!X=ˉF12%X)lJaE+[q4h FS<+-Rl0HšX`\ks.&g`*M 8SSkˍnreѣL@eX)lJaE+[q4h FS< hV [`c56 &\M1Zĩ6$XMMB{.5ɗFbe3V`*M 8SSkˍnreѣL@`eX)lJaE+[q4h FS<X)lJaE+[q4h FS<hV [`c56 &\M1 KbT ,p!X=ˉF12%X)lJaE+[q4h FS<+-Rl0HšX`\ks.&g`*M 8SSkˍnreѣLB`*M 8SSkˍnreѣLBօ`*M 8SSkˍnreѣLB`*M 8SSkˍnreѣLBV`*M 8SSkˍnreѣLB`*M 8SSkˍnreѣLBZĩ6$XMMB{.5ɗFbe3 Zĩ6$XMMB{.5ɗFbe3 KbT ,p!X=ˉF12`*M 8SSkˍnreѣLBkBRؕ&)VeƷ92hь@x :Ь%I" jmbqL4c#)Zĩ6$XMMB{.5ɗFbe3KBRؕ&)VeƷ92hь@x hV [`c56 &\M1- KbT ,p!X=ˉF12BRؕ&)VeƷ92hь@x(Ь%I" jmbqL4c#) +-Rl0HšX`\ks.&g KbT ,p!X=ˉF12BRؕ&)VeƷ92hь@x)KBRؕ&)VeƷ92hь@x(:Ь%I" jmbqL4c#) Zĩ6$XMMB{.5ɗFbe3@KBRؕ&)VeƷ92hь@x( hV [`c56 &\M1- KbT ,p!X=ˉF12BRؕ&)VeƷ92hь@x0Ь%I" jmbqL4c#) +-Rl0HšX`\ks.&g KbT ,p!X=ˉF12BRؕ&)VeƷ92hь@x1KBRؕ&)VeƷ92hь@x0:Ь%I" jmbqL4c#) Zĩ6$XMMB{.5ɗFbe3KBRؕ&)VeƷ92hь@x0 hV [`c56 &\M1- KbT ,p!X=ˉF12- KbT ,p!X=ˉF12 KbT ,p!X=ˉF12- KbT ,p!X=ˉF12 KbT ,p!X=ˉF12- KbT ,p!X=ˉF12+-Rl0HšX`\ks.&g+-Rl0HšX`\ks.&gZĩ6$XMMB{.5ɗFbe3- KbT ,p!X=ˉF12օ`*M 8SSkˍnreѣLBRؕ&)VeƷ92hь@x:Ь%I" jmbqL4c#)+-Rl0HšX`\ks.&g- KbT ,p!X=ˉF12BRؕ&)VeƷ92hь@x82Ь%I" jmbqL4c#)RЬ%I" jmbqL4c#)+-Rl0HšX`\ks.&gV`*M 8SSkˍnreѣLpЬ%I" jmbqL4c#)Zĩ6$XMMB{.5ɗFbe3BRؕ&)VeƷ92hь@xhV [`c56 &\M1 KbT ,p!X=ˉF12EX)lJaE+[q4h FS< +-Rl0HšX`\ks.&gA`*M 8SSkˍnreѣL KBRؕ&)VeƷ92hь@xhV [`c56 &\M1V`*M 8SSkˍnreѣL hV [`c56 &\M1օ`*M 8SSkˍnreѣLhV [`c56 &\M1- KbT ,p!X=ˉF12 5X)lJaE+[q4h FS<+-Rl0HšX`\ks.&gV`*M 8SSkˍnreѣL2Ь%I" jmbqL4c#))hV [`c56 &\M1 KbT ,p!X=ˉF12 Ь%I" jmbqL4c#)- KbT ,p!X=ˉF12 Ь%I" jmbqL4c#)- KbT ,p!X=ˉF125X)lJaE+[q4h FS<+-Rl0HšX`\ks.&g`*M 8SSkˍnreѣL*Ь%I" jmbqL4c#)Zĩ6$XMMB{.5ɗFbe3e- KbT ,p!X=ˉF120uX)lJaE+[q4h FS<Zĩ6$XMMB{.5ɗFbe3`%X)lJaE+[q4h FS<Zĩ6$XMMB{.5ɗFbe3`EX)lJaE+[q4h FS<+-Rl0HšX`\ks.&gօ`*M 8SSkˍnreѣL "Ь%I" jmbqL4c#)Zĩ6$XMMB{.5ɗFbe3BRؕ&)VeƷ92hь@xX)lJaE+[q4h FS<+-Rl0HšX`\ks.&g+BRؕ&)VeƷ92hь@x+-Rl0HšX`\ks.&gkBRؕ&)VeƷ92hь@x+-Rl0HšX`\ks.&- KbT ,p!X=ˉF13kBRؕ&)VeƷ92hь@ "Ь%I" jmbqL4c#;  +-Rl0HšX`\ks.&- KbT ,p!X=ˉF13- KbT ,p!X=ˉF13BRؕ&)VeƷ92hь@ hV [`c56 &\M1- KbT ,p!X=ˉF135X)lJaE+[q4h Fv@+-Rl0HšX`\ks.& KbT ,p!X=ˉF13kBRؕ&)VeƷ92hь@("Ь%I" jmbqL4c#; +-Rl0HšX`\ks.&- KbT ,p!X=ˉF13- KbT ,p!X=ˉF13BRؕ&)VeƷ92hь@(hV [`c56 &\M1- KbT ,p!X=ˉF135X)lJaE+[q4h Fv@+-Rl0HšX`\ks.&- KbT ,p!X=ˉF13kBRؕ&)VeƷ92hь@0"Ь%I" jmbqL4c#; +-Rl0HšX`\ks.&- KbT ,p!X=ˉF13- KbT ,p!X=ˉF13BRؕ&)VeƷ92hь@0hV [`c56 &\M1- KbT ,p!X=ˉF135X)lJaE+[q4h Fv@+-Rl0HšX`\ks.&+-Rl0HšX`\ks.&+-Rl0HšX`\ks.&+-Rl0HšX`\ks.& +-Rl0HšX`\ks.& +-Rl0HšX`\ks.&RЬ%I" jmbqL4c#; P:Ь%I" jmbqL4c#; PhV [`c56 &\M1(+-Rl0HšX`\ks.&Zĩ6$XMMB{.5ɗFbgd - KbT ,p!X=ˉF13BRؕ&)VeƷ92hь@8Ь%I" jmbqL4c#; +-Rl0HšX`\ks.& KbT ,p!X=ˉF13BRؕ&)VeƷ92hь@9KBRؕ&)VeƷ92hь@8:Ь%I" jmbqL4c#; Zĩ6$XMMB{.5ɗFbgdKBRؕ&)VeƷ92hь@hV [`c56 &\M1- KbT ,p!X=ˉF135X)lJaE+[q4h Fv@+-Rl0HšX`\ks.&Zĩ6$XMMB{.5ɗFbi  KbT ,p!X=ˉF14`*M 8SSkˍnreѣB@BRؕ&)VeƷ92hь@! @eX)lJaE+[q4h F!KBRؕ&)VeƷ92hь@! @uX)lJaE+[q4h F*Ь%I" jmbqL4c#HHhV [`c56 &\M1$RЬ%I" jmbqL4c#HHhV [`c56 &\M1$Zĩ6$XMMB{.5ɗFbi `*M 8SSkˍnreѣB@5X)lJaE+[q4h FhV [`c56 &\M1UZĩ6$XMMB{.5ɗFbjAօ`*M 8SSkˍnreѣP@EX)lJaE+[q4h FThV [`c56 &\M1UZĩ6$XMMB{.5ɗFbjA Zĩ6$XMMB{.5ɗFbjAօ`*M 8SSkˍnreѣPUX)lJaE+[q4h FThV [`c56 &\M1U)hV [`c56 &\M1UZĩ6$XMMB{.5ɗFbj@+BRؕ&)VeƷ92hь@R hV [`c56 &\M1U KbT ,p!X=ˉF15JEX)lJaE+[q4h!#1i"D6d\AKbT ,p!X=ˉF1 IH' f. *M 8SSkˍnreѣ$An螲. *M 8SSkˍnreѣ$An[Ǣzȸĩ6$XMMB{.5ɗFb$P,l$skօ`*M 8SSkˍnreѣ[ >ӪЬ%I" jmbqL4c"4юH"ȸĩ6$XMMB{.5ɗFb$P1iYRؕ&)VeƷ92hьBDc7F: #`" [`c56 &\M1H@`ltFAld\AKbT ,p!X=ˉF1 ( H4,)lJaE+[q4h!"EiBE%I" jmbqL4c"4юH :ȸĩ6$XMMB{.5ɗFb$P1iYRؕ&)VeƷ92hьBDc7F: #`" [`c56 &\M1H@`ltFAlq-Rl0HšX`\ks.&$H06: #tc6. *M 8SSkˍnreѣAntF+" [`c56 &\M1H@`ltFAl. *M 8SSkˍnreѣAntFk" [`c56 &\M1H@`ltFAl. *M 8SSkˍnreѣAnBRYRؕ&)VeƷ92hьBDdҗEX=KbT ,p!X=ˉF1 ( k+lJaE+[q4h!"EvA-ɒ]Ԡ05W=m@`w̙[ǭ [`c56 &\M1H@`lan: rdu( iU[hPƳ&A握Bzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsqɐuyrЬ*M 8SSkˍnreѣ㠷&IwR֕\uzЬ*M 8SSkˍnreѣ㠷&IwR֕\uyzЬ*M 8SSkˍnreѣ㠷&IwR֕\uyrЬ*M 8SSkˍnreѣ㠷&IwR֕\uzЬ*M 8SSkˍnreѣ㠷&IwR֕\uyzЬ*M 8SSkˍnreѣ㠷&IwR֕\uyrЬ*M 8SSkˍnreѣ㠷&IwR֕\$#9+lJaE+[q4h!"EvA-ɒ]Ԡ05W=m@`i5H}> [`c56 &\M1H@`lan: rdu( iU[hPnM}8fBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUs_[jABzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUs_[jA握Bzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUs_[jABzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUs_[jA[bEhVRؕ&)VeƷ92hьBDdF q[$@`kJzBuk` H: [`c56 &\M1H@`lan: rdu( iU[hPnM}l[ǝmA`X=KbT ,p!X=ˉF1 ( =-AnL*=IuI{օ`-Rl0HšX`\ks.&$H06N0`2Ka&F5'+34}ZԶ%I" jmbqL4c"; тt.Pҫф7QԜǺ9hVRؕ&)VeƷ92hьBDdF q[$@`kJzǶ9]uQЬ*M 8SSkˍnreѣ㠷&IwR֕\m[Rr3GX=KbT ,p!X=ˉF1 ( =-AnL*ڶv=FfBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUscSv=FkBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUscSv=FfBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUscSv=FfBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUscSrl Τv=FkBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUscSrl Τv=FfBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUscSrl Τv=FfBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUscZU [`c56 &\M1H@`lan: rdu( iU]ujNWcTfh+lJaE+[q4h!"EvA-ɒ]Ԡ05W=v=թ9]uQrЬ*M 8SSkˍnreѣ㠷&IwR֕\T1ZԶ%I" jmbqL4c"; тt.Pҫ#1握Bzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUscPf<9hVRؕ&)VeƷ92hьBDdF q[$@`kJz:=rU- [`c56 &\M1H@`lan: rdu( iUY[ǶJCGX=KbT ,p!X=ˉF1 ( =-AnL* xֳqVl+lJaE+[q4h!"EvA-ɒ]Ԡ05W=don9* Ь*M 8SSkˍnreѣ㠷&IwR֕\u{kYt:D&Bzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsAf㒭l]- [`c56 &\M1H@`lan: rdu( iUY[Ǧ׸{jօ`-Rl0HšX`\ks.&$H06N0`2K笃k=FfBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsAڣ3`X=KbT ,p!X=ˉF1 ( =-AnL*tjrD\օ`-Rl0HšX`\ks.&$H06N0`2Kѩ!s4}ZԶ%I" jmbqL4c"; тt.PҫF$@9hVRؕ&)VeƷ92hьBDdF q[$@`kJz.n>Y xX=KbT ,p!X=ˉF1 ( =-AnL*PfLCօ`-Rl0HšX`\ks.&$H06N0`2K)B526ZԶ%I" jmbqL4c"; тt.Pҫ$q>օ`-Rl0HšX`\ks.&$H06N0`2K箉AϳGX=KbT ,p!X=ˉF1 ( =-AnL*Gs9hVRؕ&)VeƷ92hьBDdF q[$@`kJz>X=KbT ,p!X=ˉF1 ( =-AnL*Gs{Cօ`-Rl0HšX`\ks.&$H06N0`2K箉Aϳ6ZԶ%I" jmbqL4c"; тt.Pҫ$q>EB+Bzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsD (D=hVRؕ&)VeƷ92hьBDdF q[$@`kJz=- [`c56 &\M1H@`lan: rdu( iU]8gAu\V`-Rl0HšX`\ks.&$H06N0`2K箉AϳzP 躮F&Bzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsD (D}t]W#`X=KbT ,p!X=ˉF1 ( =-AnL*GsY xX=KbT ,p!X=ˉF1 ( =-AnL*GsY xGX=KbT ,p!X=ˉF1 ( =-AnL*GsY x`X=KbT ,p!X=ˉF1 ( =-AnL*Gs hDЬ*M 8SSkˍnreѣ㠷&IwR֕\#9{D=hVRؕ&)VeƷ92hьBDdF q[$@`kJzB="l+lJaE+[q4h!"EvA-ɒ]Ԡ05W=tH}ԪЬ*M 8SSkˍnreѣ㠷&IwR֕\#9RBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsD J- [`c56 &\M1H@`lan: rdu( iU]8qjn"ڹjV`-Rl0HšX`\ks.&$H06N0`2K箉Aϸ7m\NJF&Bzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsD ZF'%Z`X=KbT ,p!X=ˉF1 ( =-AnL*Gsvz3+lJaE+[q4h!"EvA-ɒ]Ԡ05W=tH}FcCօ`-Rl0HšX`\ks.&$H06N0`2K箉AϹyrЬ*M 8SSkˍnreѣ㠷&IwR֕\#9[j+lJaE+[q4h!"EvA-ɒ]Ԡ05W=tH}> [`c56 &\M1H@`lan: rdu( iU]8uBzĩ6$XMMB{.5ɗFb$P'dz0[ܙ%JZUsD l[ǭ [`c56 &\M1H@`lan: rdu( iU]8uoh+lJaE+[q4h!"EvA-ɒ]Ԡ05W=tH}uyrЬ*M 8SSkˍnreѣ㠷&IwR֕\#9TQy͚Ь*M 8SSkˍnreѣ㠷&IwR֕\#9TQy͙zЬ*M 8SSkˍnreѣ㠷&IwR֕\#9TQy͙rЬ*M 8SSkˍnreѣ㠷&IwR֕\m>օ`-Rl0HšX`\ks.&$H06N0`2K箳ih+lJaE+[q4h!"EvA-ɒ]Ԡ05W=uO`X=KbT ,p!X=ˉF1 ( =-AnL*MpTYu'+3ZԶ%I" jmbqL4c"; тt.PҫuIRr3GX=KbT ,p!X=ˉF1 ( =-AnL*MpTYu'+36ZԶ%I" jmbqL4c"; тt.PҫEhVRؕ&)VeƷ92hьBDdF q[$@`kJz=3GX=KbT ,p!X=ˉF1 ( =-AnL*L^̓`-Rl0HšX`\ks.&$H06N0`2K5{׭ [`c56 &\M1H@`lan: rdu( iUXj1A4}ZԶ%I" jmbqL4c"; тt.Pҫcc^l+lJaE+[q4h!"EvAim#`z0[ܙ%JZUsօ`-Rl0HšX`\ks.&$H06N2ZԶ%I" jmbqL4c"FO2ѰЬ%I" jmbqL4c>z1>Z0&NkBRؕ&)VeƷ92hьpah9օ`*M 8SSkˍnreѣAnh"\0. *M 8SSkˍnreѣAn:4RYRؕ&)VeƷ92hьpc7FXRId\AKbT ,p!X=ˉF1펃HubmgvE%I" jmbqL4c>4єA3 ȸĩ6$XMMB{.5ɗFc*ѕqȢX)lJaE+[q4h8}]W0H-hV [`c56 &\M1lhFUL2Ь%I" jmbqL4c>V.e+%X)lJaE+[q4h8}]W0+-Rl0HšX`\ks.&U *фkBRؕ&)VeƷ92hьpe[@2N-BRؕ&)VeƷ92hьpe[@26RZĩ6$XMMB{.5ɗFc*ѕtl0hV [`c56 &\M1lhFU#6X)lJaE+[q4h8}]WNAZĩ6$XMMB{.5ɗFc*ѕpkdV`*M 8SSkˍnreѣĜĜ{}b+-Rl0HšX`\ks.&$$ރkBRؕ&)VeƷ92hьpbNbN=IZĩ6$XMMB{.5ɗFcstЬ%I" jmbqL4c>ؓqm`*M 8SSkˍnreѣĜĝ#}b+-Rl0HšX`\ks.&$$&+-Rl0HšX`\ks.&$$hV [`c56 &\M1lII Ь%I" jmbqL4c>ؓ=Ь%I" jmbqL4c>ؓO Zĩ6$XMMB{.5ɗFcspaҚ$`*M 8SSkˍnreѣ4ё"{Of. *M 8SSkˍnreѣ4ё"xȶk" [`c56 &\M1Oz1>Z0䈽+-Rl0HšX`\ks.&@L=rxN5X)lJaE+[q4h>RahǒBRؕ&)VeƷ92hь$ |щ*ч$uZĩ6$XMMB{.5ɗFa S&OVRdŰ- [`c56 &\M1O; тt.r)4YtZZԶ%I" jmbqL4c )2vA-ɒ]>Ri(M h+lJaE+[q4h>RdF q[$i$ |ϺQfAks49hVRؕ&)VeƷ92hь$ |㠷&IvӖHIt4)Bzĩ6$XMMB{.5ɗFa S&N0`2K@M<iO4}ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(M$ |irЬ*M 8SSkˍnreѣHI =-AnL,)O>ElR{F4>աX=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋ4ؤiY}QBzĩ6$XMMB{.5ɗFa S&N0`2K@M<iI=ҳH3M`-Rl0HšX`\ks.&@Lan: rdm9dOyJ,Q& [`c56 &\M1O; тt.r)4Y"M4}ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(MFDl+lJaE+[q4h>RdF q[$i$ |ϺQf'ƣs5hVRؕ&)VeƷ92hь$ |㠷&IvӖHIt6Oi GVizЬ*M 8SSkˍnreѣHI =-AnL,)O>El`X=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋrdtE)kBzĩ6$XMMB{.5ɗFa S&N0`2K@M<)NS>Cօ`-Rl0HšX`\ks.&@Lan: rdm9dOyJ-ɒ>R}- [`c56 &\M1O; тt.r)4[$|;)LAЬ*M 8SSkˍnreѣHI =-AnL,)O>E2GS"ϴ﹚> [`c56 &\M1O; тt.r)4[$|;)LArЬ*M 8SSkˍnreѣHI =-AnL,)O>E2DO Ь*M 8SSkˍnreѣHI =-AnL,)O>E2DO zЬ*M 8SSkˍnreѣHI =-AnL,)O>E2DO rЬ*M 8SSkˍnreѣHI =-AnL,)O>E2DF)+lJaE+[q4h>RdF q[$i$ |ϺQnL#ъw:> [`c56 &\M1O; тt.r)4[$HbΦBzĩ6$XMMB{.5ɗFa S&N0`2K@M<\V`-Rl0HšX`\ks.&@Lan: rdm9dOyJ-ɒ%` *> [`c56 &\M1O; тt.r)4[$JUr16ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(f+lJaE+[q4h>RdF q[$i$ |ϺQr==hVRؕ&)VeƷ92hь$ |㠷&IvӖHItz rЬ*M 8SSkˍnreѣHI =-AnL,)O>Ez)ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(E#fBzĩ6$XMMB{.5ɗFa S&N0`2K@M<!s9hVRؕ&)VeƷ92hь$ |㠷&IvӖHItA趫Bzĩ6$XMMB{.5ɗFa S&N0`2K@M<"E4}ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(z-rЬ*M 8SSkˍnreѣHI =-AnL,)O>EѪЬ*M 8SSkˍnreѣHI =-AnL,)O>EѩzЬ*M 8SSkˍnreѣHI =-AnL,)O>EѩrЬ*M 8SSkˍnreѣHI =-AnL,)O>EĊЬ*M 8SSkˍnreѣHI =-AnL,)O>EĉzЬ*M 8SSkˍnreѣHI =-AnL,)O>EĉrЬ*M 8SSkˍnreѣHI =-AnL,)O>Eʇ٭ [`c56 &\M1O; тt.r)4\z zЬ*M 8SSkˍnreѣHI =-AnL,)O>Eʇٛ- [`c56 &\M1O; тt.r)4\3Ь*M 8SSkˍnreѣHI =-AnL,)O>Eʈ#:> [`c56 &\M1O; тt.r)4\3rЬ*M 8SSkˍnreѣHI =-AnL,)O>E#lօ`-Rl0HšX`\ks.&@Lan: rdm9dOyJ.Ifh+lJaE+[q4h>RdF q[$i$ |ϺQrH3`X=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋNV`-Rl0HšX`\ks.&@Lan: rdm9dOyJ.I:54}ZԶ%I" jmbqL4c )2vA-ɒ]>Ri($9hVRؕ&)VeƷ92hь$ |㠷&IvӖHItщX=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋOF$MCօ`-Rl0HšX`\ks.&@Lan: rdm9dOyJ.I=6ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(%DV`-Rl0HšX`\ks.&@Lan: rdm9dOyJ.IQgSGX=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋTA9hVRؕ&)VeƷ92hь$ |㠷&IvӖHItz Ь*M 8SSkˍnreѣHI =-AnL,)O>E03GX=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋa6fBzĩ6$XMMB{.5ɗFa S&N0`2K@M<3lօ`-Rl0HšX`\ks.&@Lan: rdm9dOyJ.gٚ> [`c56 &\M1O; тt.r)4\A6ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(E#kBzĩ6$XMMB{.5ɗFa S&N0`2K@M<1s=hVRؕ&)VeƷ92hь$ |㠷&IvӖHIt=}- [`c56 &\M1O; тt.r)4\=hVRؕ&)VeƷ92hь$ |㠷&IvӖHItA趦Bzĩ6$XMMB{.5ɗFa S&N0`2K@M<2E6ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(5ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(54}ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(56ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(4}ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(6ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(5X=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋA4}ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(3`X=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋFuZԶ%I" jmbqL4c )2vA-ɒ]>Ri(gSGX=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋFu6ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(z Ь*M 8SSkˍnreѣHI =-AnL,)O>E#lCօ`-Rl0HšX`\ks.&@Lan: rdm9dOyJ.ifl+lJaE+[q4h>RdF q[$i$ |ϺQsIѪЬ*M 8SSkˍnreѣHI =-AnL,)O>E'FBzĩ6$XMMB{.5ɗFa S&N0`2K@M<4- [`c56 &\M1O; тt.r)4\z1"+lJaE+[q4h>RdF q[$i$ |ϺQsIĉzЬ*M 8SSkˍnreѣHI =-AnL,)O>E'&Bzĩ6$XMMB{.5ɗFa S&N0`2K@M<43Ь*M 8SSkˍnreѣHI =-AnL,)O>E* h+lJaE+[q4h>RdF q[$i$ |ϺQsJ#:- [`c56 &\M1O; тt.r)4\AZԶ%I" jmbqL4c )2vA-ɒ]>Ri(fh+lJaE+[q4h>RdF q[$i$ |ϺQs =9hVRؕ&)VeƷ92hь$ |㠷&IvӖHItz Ь*M 8SSkˍnreѣHI =-AnL,)O>E3GX=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋ6fBzĩ6$XMMB{.5ɗFa S&N0`2K@M<6kBzĩ6$XMMB{.5ɗFa S&N0`2K@M<6fBzĩ6$XMMB{.5ɗFa S&N0`2K@M<6fBzĩ6$XMMB{.5ɗFa S&N0`2K@M<UX=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋIѩzЬ*M 8SSkˍnreѣHI =-AnL,)O>E9hVRؕ&)VeƷ92hь$ |㠷&IvӖHItz1"+lJaE+[q4h>RdF q[$i$ |ϺQi=4}ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(H- [`c56 &\M1O; тt.r)4ZTAhVRؕ&)VeƷ92hь$ |㠷&IvӖHItҢΦBzĩ6$XMMB{.5ɗFa S&N0`2K@M<Fu6ZԶ%I" jmbqL4c )2vA-ɒ]>Ri(lօ`-Rl0HšX`\ks.&@Lan: rdm9dOyJ,03GX=KbT ,p!X=ˉF0)'dz0[ܙ%NY S&}ҋ =9hVRؕ&)VeƷ92hь$ |I n: rdm9dOyJ- [`c56 &\M1O; hVRؕ&)VeƷ92hь$ |ʶteG>u=BRؕ&)VeƷ92hь$<.vAD}+BRؕ&)VeƷ92hь$<.vA{{iKЬ%I" jmbqL4c  a菰hV [`c56 &\M10tG+-Rl0HšX`\ks.&Cd<] KbT ,p!X=ˉF0X#Zĩ6$XMMB{.5ɗFa!s .V`*M 8SSkˍnreѣHx\ >X)lJaE+[q4h; ` Ь%I" jmbqL4c  c` Ь%I" jmbqL4c  c7@heXr3s{I@d\AKbT ,p!X=ˉF0: #tU%ZYRؕ&)VeƷ92hь$<.vAHaYg""ȸĩ6$XMMB{.5ɗFa!s tF- B 9J@. *M 8SSkˍnreѣHx\ C*E,)lJaE+[q4h; Anʰ {I@d\AKbT ,p!X=ˉF0: #tUau,)lJaE+[q4h; Anʰ<{I@d\AKbT ,p!X=ˉF0: #tUfi4R,)lJaE+[q4h; Anʱ: " [`c56 &\M11i2{PYRؕ&)VeƷ92hь$<.vAHd.)ـ"ȸĩ6$XMMB{.5ɗFa!s tF- (|{ld\AKbT ,p!X=ˉF0: #tU>h6` . *M 8SSkˍnreѣHx\ C*V " [`c56 &\M11i25 xYRؕ&)VeƷ92hь$<.vA` Ь%I" jmbqL4c  a&նR}muZĩ6$XMMB{.5ɗFa!s $ڶOBRؕ&)VeƷ92hь$<.vAVIUR}9hV [`c56 &\M10Sj)>Ok` V`*M 8SSkˍnreѣHx\ 56lƶ=hV [`c56 &\M10Sj)>Ok` M`*M 8SSkˍnreѣHx\ 56l*BRؕ&)VeƷ92hь$<.vAVIUR}֕HGX)lJaE+[q4h; MMl)>JqrЬ%I" jmbqL4c  a&նR}mH{=Ь%I" jmbqL4c  a&նR}mH{=zЬ%I" jmbqL4c  a&նR}mH{=rЬ%I" jmbqL4c  a&մ2hIR9+-Rl0HšX`\ks.&CdIm KbT ,p!X=ˉF0jm[C*$*ӟfBRؕ&)VeƷ92hь$<.vAVʭ KbT ,p!X=ˉF0jm[C*V4fh+-Rl0HšX`\ks.&CdIm [љrЬ%I" jmbqL4c  a&մ2hem;V`*M 8SSkˍnreѣHx\ 56[C+ijh+-Rl0HšX`\ks.&CdIm [NS`X)lJaE+[q4h; MMheVw'Ƕ KbT ,p!X=ˉF0jm[C*VӸ >==hV [`c56 &\M10SjU2ưIqnfBRؕ&)VeƷ92hь$<.vAVʭ\V`*M 8SSkˍnreѣHx\ 56[C+` *> KbT ,p!X=ˉF0jm[C*VUr16Zĩ6$XMMB{.5ɗFa!s $ڶUg#17)UhV [`c56 &\M10SjUhSGX)lJaE+[q4h; MMheVr3s{IM`*M 8SSkˍnreѣHx\ 56YVhV [`c56 &\M10SjUjMCօ`*M 8SSkˍnreѣHx\ 56YV9hV [`c56 &\M10SjUئ- KbT ,p!X=ˉF0jm[C*CGX)lJaE+[q4h; MMheV{bhl+-Rl0HšX`\ks.&CdIm lǽJBRؕ&)VeƷ92hь$<.vAVʬ{Mh+-Rl0HšX`\ks.&CdIm lǽJBRؕ&)VeƷ92hь$<.vAVʬ,V`*M 8SSkˍnreѣHx\ 56YYg"> KbT ,p!X=ˉF0jm[C*гD6Zĩ6$XMMB{.5ɗFa!s $ڶUggFh%X)lJaE+[q4h; MMheVzxYȀ$fR4}Zĩ6$XMMB{.5ɗFa!s $ڶUggFh#`X)lJaE+[q4h; MMheVzxYȀ0`*M 8SSkˍnreѣHx\ 56YYg"⓫p4}Zĩ6$XMMB{.5ɗFa!s $ڶUgg N9hV [`c56 &\M10SjU.>օ`*M 8SSkˍnreѣHx\ 56Y"=hV [`c56 &\M10SjU.>̓`*M 8SSkˍnreѣHx\ 56Y KbT ,p!X=ˉF0jm[C*z34}Zĩ6$XMMB{.5ɗFa!s $ڶUgfl+-Rl0HšX`\ks.&CdIm FF7 KbT ,p!X=ˉF0jm[C*фƦBRؕ&)VeƷ92hь$<.vAVʬa$cqrЬ%I" jmbqL4c  a&մ2=ծhV [`c56 &\M10SjUjFh+-Rl0HšX`\ks.&CdIm F5ks6Zĩ6$XMMB{.5ɗFa!s $ڶUg:#5X)lJaE+[q4h; MMheVzS34}Zĩ6$XMMB{.5ɗFa!s $ڶUg:#3`X)lJaE+[q4h; MMheV=mfЅg9zЬ%I" jmbqL4c  a&մ2ڶlhBf<=hV [`c56 &\M10SjUm[Y4!sYtEl+-Rl0HšX`\ks.&CdIm ǶG"ُD275X)lJaE+[q4h; MMheV=mfЅg9z!> KbT ,p!X=ˉF0jm[C*k6Ƅ.k=ȶc 9hV [`c56 &\M10SjUm[Y4!sXդњЬ%I" jmbqL4c  a&մ2ڶlhBH=3GX)lJaE+[q4h; MMheV=mfЅcV{SFfBRؕ&)VeƷ92hь$<.vAVʬ{jͱ Y$iob+-Rl0HšX`\ks.&CdIm ǶF>F&BRؕ&)VeƷ92hь$<.vAVʬ{jͱ Y$iobl+-Rl0HšX`\ks.&CdIm ǶlhBӟkBRؕ&)VeƷ92hь$<.vAVʬ{jͱ 6Ƅ.m9h+-Rl0HšX`\ks.&CdIm ǶlhBӟfBRؕ&)VeƷ92hь$<.vAVʬ{jͱ ҍly4g` * KbT ,p!X=ˉF0jm[C*k6Ƅ.kJ4JRFuѝ'ܪbh+-Rl0HšX`\ks.&CdIm Ƕ()Iǐ{SFvrrЬ%I" jmbqL4c  a&մ2+BRؕ&)VeƷ92hь$<.vAVʬ{H> KbT ,p!X=ˉF0jm[C*k"l+-Rl0HšX`\ks.&CdIm Ǻ9 KbT ,p!X=ˉF0jm[C*ƎF&BRؕ&)VeƷ92hь$<.vAVʬ{qrЬ%I" jmbqL4c  a&մ25[OqЬ%I" jmbqL4c  a&մ25[OqzЬ%I" jmbqL4c  a&մ25[OqrЬ%I" jmbqL4c  a&մ25[OJnkBRؕ&)VeƷ92hь$<.vAVʮӸm>F/u+q> KbT ,p!X=ˉF0jm[C*NUԭl+-Rl0HšX`\ks.&CdIm ;V䒥aqqЬ%I" jmbqL4c  a&մ25[GJƶƦBRؕ&)VeƷ92hь$<.vAVʮӸmI*Vw- KbT ,p!X=ˉF0jm[C*NUy$X\jRЬ%I" jmbqL4c  a&մ25[GJƯu+q> KbT ,p!X=ˉF0jm[C*NUy$X\jRrЬ%I" jmbqL4c  a&մ25YHVlsZĩ6$XMMB{.5ɗFa!s $ڶUvƫ=IjnfBRؕ&)VeƷ92hь$<.vAVʮӸg #Z=9hV [`c56 &\M10SjUwa$cqqЬ%I" jmbqL4c  a&մ25YH[NSGX)lJaE+[q4h; MMheWijфƶƦBRؕ&)VeƷ92hь$<.vAVʮӸg #^VsZĩ6$XMMB{.5ɗFa!s $ڶUvƫ=IjRzЬ%I" jmbqL4c  a&մ25YHW̓`*M 8SSkˍnreѣHx\ 56]qF5kshʷ5X)lJaE+[q4h; MMheWijэZ==hV [`c56 &\M10SjUwcV76ls6Zĩ6$XMMB{.5ɗFa!s $ڶUvƫ=ծӸhV [`c56 &\M10SjUwcV7;NSGX)lJaE+[q4h; MMheWijэZ;M`*M 8SSkˍnreѣHx\ 56]qF5ks{[hV [`c56 &\M10SjUwcV77Cօ`*M 8SSkˍnreѣHx\ 56]qF5ks{[9hV [`c56 &\M10SjUw'FlsZĩ6$XMMB{.5ɗFa!s $ڶUvƫ Q*Cօ`*M 8SSkˍnreѣHx\ 56]q"zThʷ3`X)lJaE+[q4h; MMheWij-;V`*M 8SSkˍnreѣHx\ 56]q"zT54}Zĩ6$XMMB{.5ɗFa!s $ڶUvƫ RӸ9hV [`c56 &\M10SjUw'Gօ`*M 8SSkˍnreѣHx\ 56]q"zT{[=hV [`c56 &\M10SjUw'G̓`*M 8SSkˍnreѣHx\ 56]qЬ%I" jmbqL4c  a&մ25[$ij+-Rl0HšX`\ks.&CdIm ;V*w> KbT ,p!X=ˉF0jm[C*NU2JƦBRؕ&)VeƷ92hь$<.vAVʮӸnӸhV [`c56 &\M10SjUwոZw> KbT ,p!X=ˉF0jm[C*NU NS`X)lJaE+[q4h; MMheWijVRЬ%I" jmbqL4c  a&մ25[p{[=hV [`c56 &\M10SjUwո=ԭl+-Rl0HšX`\ks.&CdIm ;Vd=hV [`c56 &\M10SjUw.ɴ{e[zЬ%I" jmbqL4c  a&մ25X]hʷ3`X)lJaE+[q4h; MMheWij'ij+-Rl0HšX`\ks.&CdIm ;Vd;MCօ`*M 8SSkˍnreѣHx\ 56]q읧qrЬ%I" jmbqL4c  a&մ25X]{[hV [`c56 &\M10SjUw.ɽԭh+-Rl0HšX`\ks.&CdIm ;VdVs6Zĩ6$XMMB{.5ɗFa!s $ڶUvƫ)R=hV [`c56 &\M10SjUwKhʷ3GX)lJaE+[q4h; MMheWij"-*̓`*M 8SSkˍnreѣHx\ 56]qTNUX)lJaE+[q4h; MMheWij".Ӹ=hV [`c56 &\M10SjUwK56Zĩ6$XMMB{.5ɗFa!s $ڶUvƫ)RVsZĩ6$XMMB{.5ɗFa!s $ڶUvƫ)RVs4}Zĩ6$XMMB{.5ɗFa!s $ڶUvƫ)RVs6Zĩ6$XMMB{.5ɗFa!s $ڶUvƫ)R\Z=hV [`c56 &\M10SjUwK5r1hʷ3GX)lJaE+[q4h; MMheWij".ţ*̓`*M 8SSkˍnreѣHx\ 56]qT#W#օ`*M 8SSkˍnreѣHx\ 56]qT#W#Cօ`*M 8SSkˍnreѣHx\ 56]qT#W#̓`*M 8SSkˍnreѣHx\ 56]qFƫBRؕ&)VeƷ92hь$<.vAVʮӸrk[NSGX)lJaE+[q4h; MMheWij5ѭqrЬ%I" jmbqL4c  a&մ25]lqЬ%I" jmbqL4c  a&մ25]lqzЬ%I" jmbqL4c  a&մ25]lqrЬ%I" jmbqL4c  a&մ25]lJnkBRؕ&)VeƷ92hь$<.vAVʮӸuu+q> KbT ,p!X=ˉF0jm[C*NUԭl+-Rl0HšX`\ks.&CdIm ;VD1*օ`*M 8SSkˍnreѣHx\ 56]q4{e[zЬ%I" jmbqL4c  a&մ25Xc=Əls6Zĩ6$XMMB{.5ɗFa!s $ڶUvƫ tGij+-Rl0HšX`\ks.&CdIm ;VD2Ӹ=hV [`c56 &\M10SjUw1eqrЬ%I" jmbqL4c  a&մ25Xc=Ǻօ`*M 8SSkˍnreѣHx\ 56]q=ԭh+-Rl0HšX`\ks.&CdIm ;VD1n73`X)lJaE+[q4h; MMheWijh+-Rl0HšX`\ks.&CdIm ;M`*M 8SSkˍnreѣHx\ 56]qJҵX)lJaE+[q4h; MMheWijR=hV [`c56 &\M10SjUw+6Zĩ6$XMMB{.5ɗFa!s $ڶUd+BRؕ&)VeƷ92hь$<.vAVʬcעD=hV [`c56 &\M10SjUs{H- KbT ,p!X=ˉF0jm[C*D1&UZĩ6$XMMB{.5ɗFa!s $ڶUdcMh+-Rl0HšX`\ks.&CdIm =Ǵ)T9hV [`c56 &\M10SjUF5Zĩ6$XMMB{.5ɗFa!s $ڶUdMCօ`*M 8SSkˍnreѣHx\ 56YcS`X)lJaE+[q4h; MMheVAY- KbT ,p!X=ˉF0jm[C*ư=hV [`c56 &\M10SjUF5n>BRؕ&)VeƷ92hь$<.vAVʬ Zĩ6$XMMB{.5ɗFa!s $ڶUd&YzЬ%I" jmbqL4c  a&մ2!6̓`*M 8SSkˍnreѣHx\ 56YH8- KbT ,p!X=ˉF0jm[C*3lq4}Zĩ6$XMMB{.5ɗFa!s $ڶUdf l+-Rl0HšX`\ks.&CdIm iэ+65Ь%I" jmbqL4c  a&մ2#79OF4ֆBRؕ&)VeƷ92hь$<.vAVʬ<=ҳkZ- KbT ,p!X=ˉF0jm[C*3pE&UZĩ6$XMMB{.5ɗFa!s $ڶUdf4Mh+-Rl0HšX`\ks.&CdIm i)T9hV [`c56 &\M10SjUJBRؕ&)VeƷ92hь$<.vAVʬ=&U4}Zĩ6$XMMB{.5ɗFa!s $ڶUdfi4RrЬ%I" jmbqL4c  a&մ2sdZфƴkvrЬ%I" jmbqL4c  a&մ2sdZфƴkvrzЬ%I" jmbqL4c  a&մ2sdZфƴkvrrЬ%I" jmbqL4c  a&մ2tFZͤ]4=}nkBRؕ&)VeƷ92hь$<.vAVʭimjw6tH9> KbT ,p!X=ˉF0jm[C*AmmE#C l+-Rl0HšX`\ks.&CdIm ќoZĩ6$XMMB{.5ɗFa!s $ڶUnHE> KbT ,p!X=ˉF0jm[C*AmggG̓`*M 8SSkˍnreѣHx\ 56[6挝}nkBRؕ&)VeƷ92hь$<.vAVʭiYFNH>3GX)lJaE+[q4h; MMheV4'Al[rЬ%I" jmbqL4c  a&մ2tF=ӳz/FpD}hV [`c56 &\M10SjU #k=8">h+-Rl0HšX`\ks.&CdIm tќo6Zĩ6$XMMB{.5ɗFa!s $ڶUnH9An3hV [`c56 &\M10SjU #k c"ϳGX)lJaE+[q4h; MMheV4[tFS>̓`*M 8SSkˍnreѣHx\ 56[6+-Rl0HšX`\ks.&CdIm  #g% Ь%I" jmbqL4c  a&մ2tF4h.fBRؕ&)VeƷ92hь$<.vAVʭi1P- KbT ,p!X=ˉF0jm[C*AmnH>5X)lJaE+[q4h; MMheV4i h+-Rl0HšX`\ks.&CdIm  #d̓`*M 8SSkˍnreѣHx\ 56[6AmsN+-Rl0HšX`\ks.&CdIm  #hKw3GX)lJaE+[q4h; MMheV4iD\ӹ- KbT ,p!X=ˉF0jm[C*AmnHܦ􏹭 KbT ,p!X=ˉF0jm[C*AmnHܦ􏹚> KbT ,p!X=ˉF0jm[C*AmnHܦ􏹛- KbT ,p!X=ˉF0jm[C*AmnOE KbT ,p!X=ˉF0jm[C*AmnOE> KbT ,p!X=ˉF0jm[C*AmnOE- KbT ,p!X=ˉF0jm[C*Amp#2nHJgЬ%I" jmbqL4c  a&մ2tF 3&4}> KbT ,p!X=ˉF0jm[C*Amp#2nHJgٰrЬ%I" jmbqL4c  a&մ2tF'63i\օ`*M 8SSkˍnreѣHx\ 56[68N:h+-Rl0HšX`\ks.&CdIm  q3`X)lJaE+[q4h; MMheV4w'{_dօ`*M 8SSkˍnreѣHx\ 56[6ܞ[}ss4}Zĩ6$XMMB{.5ɗFa!s $ڶUnHr{mnAϭ9hV [`c56 &\M10SjU #k}nkBRؕ&)VeƷ92hь$<.vAVʭi\Ȝ4ss4}Zĩ6$XMMB{.5ɗFa!s $ڶUnHDAl[rЬ%I" jmbqL4c  a&մ2tFCօ`*M 8SSkˍnreѣHx\ 56[6l+-Rl0HšX`\ks.&CdIm ]h+-Rl0HšX`\ks.&CdIm ]hh+-Rl0HšX`\ks.&CdIm ]hl+-Rl0HšX`\ks.&CdIm [-}ZshV [`c56 &\M10SjU [٣zЬ%I" jmbqL4c  a&մ2uniϳ`X)lJaE+[q4h; MMheVoZĩ6$XMMB{.5ɗFa!s $ڶUoiGX)lJaE+[q4h; MMheVo6Zĩ6$XMMB{.5ɗFa!s $ڶUoi4R KbT ,p!X=ˉF0jm[C*)V HV`*M 8SSkˍnreѣHx\ 56[MŤn`BRؕ&)VeƷ92hь$<.vAVʭ&Ub70S`X)lJaE+[q4h; MMheVE*izЬ%I" jmbqL4c  a&մ2{I`ش9hV [`c56 &\M10SjUԪЬ%I" jmbqL4c  a&մ2{SGX)lJaE+[q4h; MMheVRBRؕ&)VeƷ92hь$<.vAVʮ=ͬx]hV [`c56 &\M10SjUǹO > KbT ,p!X=ˉF0jm[C*X6iw3`X)lJaE+[q4h; MMheW KBRؕ&)VeƷ92hь$<.vAVʮCօ`*M 8SSkˍnreѣHx\ 56\.)- KbT ,p!X=ˉF0jm[C*\R9Zĩ6$XMMB{.5ɗFa!s $ڶUpsfh+-Rl0HšX`\ks.&CdIm qH9hV [`c56 &\M10SjUHUX)lJaE+[q4h; MMheW G #MCօ`*M 8SSkˍnreѣHx\ 56\.)$n56Zĩ6$XMMB{.5ɗFa!s $ڶUpz1]Ь%I" jmbqL4c  a&մ2#эZCօ`*M 8SSkˍnreѣHx\ 56\.)jFl+-Rl0HšX`\ks.&CdIm qIո- KbT ,p!X=ˉF0jm[C*\RunBRؕ&)VeƷ92hь$<.vAVʮ[rЬ%I" jmbqL4c  a&մ2* zUZĩ6$XMMB{.5ɗFa!s $ڶUpDOJBRؕ&)VeƷ92hь$<.vAVʮ3T9hV [`c56 &\M10SjUɱ KbT ,p!X=ˉF0jm[C*66GX)lJaE+[q4h; MMheW&l+-Rl0HšX`\ks.&CdIm 䋣UX)lJaE+[q4h; MMheW$]> KbT ,p!X=ˉF0jm[C*"9hV [`c56 &\M10SjU"V`*M 8SSkˍnreѣHx\ 56\y2(=hV [`c56 &\M10SjU"M`*M 8SSkˍnreѣHx\ 56\R%X)lJaE+[q4h; MMheW$dqH=hV [`c56 &\M10SjU%(\R6Zĩ6$XMMB{.5ɗFa!s $ڶUrR3lqZĩ6$XMMB{.5ɗFa!s $ڶUrR3lq4}Zĩ6$XMMB{.5ɗFa!s $ڶUrR3lq6Zĩ6$XMMB{.5ɗFa!s $ڶUrRH+-Rl0HšX`\ks.&CdIm 7F8=hV [`c56 &\M10SjUnI"qrЬ%I" jmbqL4c  a&մ2VċhV [`c56 &\M10SjUϫbEh+-Rl0HšX`\ks.&CdIm gձ"6Zĩ6$XMMB{.5ɗFa!s $ڶUt>h6kBRؕ&)VeƷ92hь$<.vAVʮ=hV [`c56 &\M10SjUٛ- KbT ,p!X=ˉF0jm[C*4^66+-Rl0HšX`\ks.&CdIm |{٣zЬ%I" jmbqL4c  a&մ2EcfBRؕ&)VeƷ92hь$<.vAVʮ6V+-Rl0HšX`\ks.&CdIm efBRؕ&)VeƷ92hь$<.vAVʮ6Vl+-Rl0HšX`\ks.&CdIm NњЬ%I" jmbqL4c  a&մ2:Vz/FfBRؕ&)VeƷ92hь$<.vAVʮ[- KbT ,p!X=ˉF0jm[C*Vڴ+-Rl0HšX`\ks.&CdIm ` [;izЬ%I" jmbqL4c  a&մ25lBRؕ&)VeƷ92hь$<.vAVʮa$cqЬ%I" jmbqL4c  a&մ25=Ijh+-Rl0HšX`\ks.&CdIm ` OFF7- KbT ,p!X=ˉF0jm[C*RZĩ6$XMMB{.5ɗFa!s $ڶUuoh+-Rl0HšX`\ks.&CdIm ` H:<9hV [`c56 &\M10SjU^ KbT ,p!X=ˉF0jm[C*SGX)lJaE+[q4h; MMheWTQx[l+-Rl0HšX`\ks.&CdIm - KbT ,p!X=ˉF0jm[C*Dz!BRؕ&)VeƷ92hь$<.vAVʬ1arЬ%I" jmbqL4c  a&՝mu#Ҫ3Zĩ6$XMMB{.5ɗFa!s $ڳζ}UFfBRؕ&)VeƷ92hь$<.vAVu4Y؏7J9hV [`c56 &\M10SjζƋ:D+BRؕ&)VeƷ92hь$<.vAVu4Yغ$4}Zĩ6$XMMB{.5ɗFa!s $ڳζ rЬ%I" jmbqL4c  a&՝mu4Zĩ6$XMMB{.5ɗFa!s $ڳζƆBRؕ&)VeƷ92hь$<.vAVu4Y9hV [`c56 &\M10SjζƋ=*U86+-Rl0HšX`\ks.&CdIg[cE*s4}Zĩ6$XMMB{.5ɗFa!s $ڳJF - KbT ,p!X=ˉF0jmYvƴ7JhV [`c56 &\M10SjζƋ5}UFfBRؕ&)VeƷ92hь$<.vAVu4]q.Ҫ36Zĩ6$XMMB{.5ɗFa!s $ڳ[j}UFkBRؕ&)VeƷ92hь$<.vAVu4Y mR7J=hV [`c56 &\M10SjζƋ!mSCU- KbT ,p!X=ˉF0jmYnl|u&>|*5X)lJaE+[q4h; MM:-` ѕΤTfh+-Rl0HšX`\ks.&CdIg[cE#2Ԙt̓`*M 8SSkˍnreѣHx\ 56lhFFc` * KbT ,p!X=ˉF0jmYnf%gUr14}Zĩ6$XMMB{.5ɗFa!s $ڳJϫ'ܪbl+-Rl0HšX`\ks.&CdIg[cE54Tf+-Rl0HšX`\ks.&CdIg[cE54Tfh+-Rl0HšX`\ks.&CdIg[cE54Tfl+-Rl0HšX`\ks.&CdIg[cE#Tf+-Rl0HšX`\ks.&CdIg[cE#Tfh+-Rl0HšX`\ks.&CdIg[cE#Tfl+-Rl0HšX`\ks.&CdIg[cEɳl.1CU KbT ,p!X=ˉF0jmYrl }UFfBRؕ&)VeƷ92hь$<.vAVu4\6st>nQrЬ%I" jmbqL4c  a&՝m)+IbF;V`*M 8SSkˍnreѣHx\ 56lhM\L7ijh+-Rl0HšX`\ks.&CdIg[cEhRgؑNS`X)lJaE+[q4h; MM:.SFW:=čԭ+-Rl0HšX`\ks.&CdIg[cEhRgؑCօ`*M 8SSkˍnreѣHx\ 56lhM\L6RrЬ%I" jmbqL4c  a&՝m)+IbF蔤+-Rl0HšX`\ks.&CdIg[cEhRgؑ%)#:> KbT ,p!X=ˉF0jmYr2ԙ6$nJHΦBRؕ&)VeƷ92hь$<.vAVu4\u&>|*5X)lJaE+[q4h; MM:.SFW:t>nQzЬ%I" jmbqL4c  a&՝m)+I7J9hV [`c56 &\M10SjζƋѕΤ{օ`*M 8SSkˍnreѣHx\ 56lhM\NǺ=hV [`c56 &\M10SjζƋѕΤ{̓`*M 8SSkˍnreѣHx\ 56lhM\NǺ Hօ`*M 8SSkˍnreѣHx\ 56lhM\NǺ HCօ`*M 8SSkˍnreѣHx\ 56lhM\NǺ H̓`*M 8SSkˍnreѣHx\ 56lhM\NǺΉJHΫBRؕ&)VeƷ92hь$<.vAVu4\u'cTgD$gSGX)lJaE+[q4h; MM:.SFW:3R3rЬ%I" jmbqL4c  a&՝m)+IuFUr1Zĩ6$XMMB{.5ɗFa!s $ڳ4es4}ʮF&BRؕ&)VeƷ92hь$<.vAVu4\u&OU9hV [`c56 &\M10SjζƋ'غ$Zĩ6$XMMB{.5ɗFa!s $ڳIu.MCօ`*M 8SSkˍnreѣHx\ 56lh:}mA`X)lJaE+[q4h; MM:-;-9z {[hV [`c56 &\M10SjζƋNN}bFVs4}Zĩ6$XMMB{.5ɗFa!s $ڳӺӟgؑ̓`*M 8SSkˍnreѣHx\ 56lh6$nJHΫBRؕ&)VeƷ92hь$<.vAVu4ZwTZs7D$gSGX)lJaE+[q4h; MM:-;-9z R3rЬ%I" jmbqL4c  a&՝mTЬ%I" jmbqL4c  a&՝mTzЬ%I" jmbqL4c  a&՝mTrЬ%I" jmbqL4c  a&չ;*ҳhV [`c56 &\M10Sj܊H tdiY`h+-Rl0HšX`\ks.&CdInEg$@Ǻ2J6Zĩ6$XMMB{.5ɗFa!s $ڷ" BcJJZĩ6$XMMB{.5ɗFa!s $ڷ" BcJJ4}Zĩ6$XMMB{.5ɗFa!s $ڷ" BcJJ6Zĩ6$XMMB{.5ɗFa!s $ڷ" BcmsZĩ6$XMMB{.5ɗFa!s $ڷ" Bcms4}Zĩ6$XMMB{.5ɗFa!s $ڷ" Bcms6Zĩ6$XMMB{.5ɗFa!s $ڷ" Bc&օ`*M 8SSkˍnreѣHx\ 56Ȭɺ3GX)lJaE+[q4h; MMr+9".v<2n9hV [`c56 &\M10Sj܊'[ln+;l`*M 8SSkˍnreѣHx\ 56Ȭum&*ҳ=hV [`c56 &\M10Sj܊'[ln+;l `*M 8SSkˍnreѣHx\ 56Ȭum&UUgmЬ%I" jmbqL4c  a&չNͤJJ4}Zĩ6$XMMB{.5ɗFa!s $ڷ"9)VIVBRؕ&)VeƷ92hь$<.vAVVz g6}hV [`c56 &\M10Sj܊Als> KbT ,p!X=ˉF0jm[Y6mNv3`X)lJaE+[q4h; MMr+=ͳIMչ KbT ,p!X=ˉF0jm[Y6mL2n=hV [`c56 &\M10Sj܊AlaunfBRؕ&)VeƷ92hь$<.vAVVz ;l>W#X)lJaE+[q4h; MMr+=bΎF6rzЬ%I" jmbqL4c  a&չfz1NG#OU9hV [`c56 &\M10Sj܊ǶtdV`*M 8SSkˍnreѣHx\ 56Ȭ{jFIT=hV [`c56 &\M10Sj܊ǶtdM`*M 8SSkˍnreѣHx\ 56Ȭ{jFIV BRؕ&)VeƷ92hь$<.vAVV=k$JGX)lJaE+[q4h; MMr+ڵђUgmrЬ%I" jmbqL4c  a&չmZUUZĩ6$XMMB{.5ɗFa!s $ڷ"QJJBRؕ&)VeƷ92hь$<.vAVV=j)VIT9hV [`c56 &\M10Sj܊ǶE**ҳhV [`c56 &\M10Sj܊ǶE**ҳ=hV [`c56 &\M10Sj܊ǶE**ҳ9hV [`c56 &\M10Sj܊rЬ%I" jmbqL4c  a&չ$,>W#GX)lJaE+[q4h; MMr+HX}ʮF&BRؕ&)VeƷ92hь$<.vAVW` nqkӟkBRؕ&)VeƷ92hь$<.vAVW` nqkӟfBRؕ&)VeƷ92hь$<.vAVW` nqkӟfBRؕ&)VeƷ92hь$<.vAVVAϵX)lJaE+[q4h; MMr+ ٣zЬ%I" jmbqL4c  a&չs9hV [`c56 &\M10Sj܊9>|*5X)lJaE+[q4h; MMr+ tCօ`*M 8SSkˍnreѣHx\ 56ȬcҪ36Zĩ6$XMMB{.5ɗFa!s $ڷ"}2JZĩ6$XMMB{.5ɗFa!s $ڷ"}2J4}Zĩ6$XMMB{.5ɗFa!s $ڷ"}2J6Zĩ6$XMMB{.5ɗFa!s $ڷ"}Ű}nkBRؕ&)VeƷ92hь$<.vAVVAϸAϭ=hV [`c56 &\M10Sj܊99- KbT ,p!X=ˉF0jm[Y>H"G}ʮF+BRؕ&)VeƷ92hь$<.vAVVAϸRrzЬ%I" jmbqL4c  a&չs(Ԃ)D}'ܪbl+-Rl0HšX`\ks.&CdInEdE**ҳhV [`c56 &\M10Sj܊9UUgmzЬ%I" jmbqL4c  a&չs$J`X)lJaE+[q4h; MMr+ kBRؕ&)VeƷ92hь$<.vAVVAϹGCօ`*M 8SSkˍnreѣHx\ 56Ȭs- KbT ,p!X=ˉF0jm[Y>&օ`*M 8SSkˍnreѣHx\ 56ȬaunfBRؕ&)VeƷ92hь$<.vAVVAϰɺ3`X)lJaE+[q4h; MMr+ *ҳhV [`c56 &\M10Sj܊92J4}Zĩ6$XMMB{.5ɗFa!s $ڷ"}nn+;l `*M 8SSkˍnreѣHx\ 56Ȭ[)VIV BRؕ&)VeƷ92hь$<.vAVVAϭ$JGX)lJaE+[q4h; MMr+ UUgmrЬ%I" jmbqL4c  a&չss}hV [`c56 &\M10Sj܊9>h+-Rl0HšX`\ks.&CdInEdms6Zĩ6$XMMB{.5ɗFa!s $ڷ"}naunkBRؕ&)VeƷ92hь$<.vAVVAϭ2n=hV [`c56 &\M10Sj܊9Mչ- KbT ,p!X=ˉF0jm[[$JX)lJaE+[q4h; MMr+tdiY`h+-Rl0HšX`\ks.&CdInEn+;l `*M 8SSkˍnreѣHx\ 56ȭђUgmkBRؕ&)VeƷ92hь$<.vAVV*ҳv3GX)lJaE+[q4h; MMr+tdiYa;hrЬ%I" jmbqL4c  a&չ5)VǹOUhV [`c56 &\M10Sj܊攫c܍'ܪbh+-Rl0HšX`\ks.&CdInEnnsJUFUr16Zĩ6$XMMB{.5ɗFa!s $ڷ"E6{iKOUhV [`c56 &\M10Sj܊=,>W#GX)lJaE+[q4h; MMr+tSk<\M`*M 8SSkˍnreѣHx\ 56ȭMpN%gUr1Zĩ6$XMMB{.5ɗFa!s $ڷ"E68[OU=hV [`c56 &\M10Sj܊DV}l>W#`X)lJaE+[q4h; MMr+r6rЬ%I" jmbqL4c  a&չOU=hV [`c56 &\M10Sj܊܍'ܪbl+-Rl0HšX`\ks.&CdInEotn)@뛣$JX)lJaE+[q4h; MMr+{qJ\%ZVv> KbT ,p!X=ˉF0jm[[P:*ҳ9hV [`c56 &\M10Sj܊R9Gօ`*M 8SSkˍnreѣHx\ 56ȭ(s}=hV [`c56 &\M10Sj܊R9G̓`*M 8SSkˍnreѣHx\ 56Ȯ(է݀'ܪb+-Rl0HšX`\ks.&CdInEqF>N>W#GX)lJaE+[q4h; MMr+5irw` *- KbT ,p!X=ˉF0jm[\Q.nkӟvrЬ%I" jmbqL4c  a&չ9` *> KbT ,p!X=ˉF0jm[\Q.nkӟvrrЬ%I" jmbqL4c  a&չq+>Ь%I" jmbqL4c  a&չq+>zЬ%I" jmbqL4c  a&չq+>rЬ%I" jmbqL4c  a&չq+>+;l`*M 8SSkˍnreѣHx\ 56ȭYtdiY`h+-Rl0HšX`\ks.&CdInEhJϫ$J`X)lJaE+[q4h; MMr+DV}]%Tm\V`*M 8SSkˍnreѣHx\ 56ȭYtdSk=r14}Zĩ6$XMMB{.5ɗFa!s $ڷ"N%gђUMp9hV [`c56 &\M10Sj܊8TRЬ%I" jmbqL4c  a&չq+>Y%SGX)lJaE+[q4h; MMr+DV}QJJBRؕ&)VeƷ92hь$<.vAVVĬdiY`+-Rl0HšX`\ks.&CdInEhJϪ)VIVBRؕ&)VeƷ92hь$<.vAVVĬdiY`l+-Rl0HšX`\ks.&CdInEhJϭ+;l{iEX)lJaE+[q4h; MMr+DV}iY`{J> KbT ,p!X=ˉF0jm[Z'JP9hV [`c56 &\M10Sj܊8ZVvX}ʮF+BRؕ&)VeƷ92hь$<.vAVVĬҳUr14}Zĩ6$XMMB{.5ɗFa!s $ڷ"N%g֕rrЬ%I" jmbqL4c  a&չ*V}ʮF+BRؕ&)VeƷ92hь$<.vAVVb׏m[` *> KbT ,p!X=ˉF0jm[Z2^=m'ܪbl+-Rl0HšX`\ks.&CdInEhY%ZVv- KbT ,p!X=ˉF0jm[Z)VIVBRؕ&)VeƷ92hь$<.vAVVUUgmrЬ%I" jmbqL4c  a&չdiY`7V+-Rl0HšX`\ks.&CdInEhY%ZVvMչ> KbT ,p!X=ˉF0jm[Z)VIVunfBRؕ&)VeƷ92hь$<.vAVW'JǺ2JZĩ6$XMMB{.5ɗFa!s $ڷ":V=ђUgmzЬ%I" jmbqL4c  a&չұ+;l `*M 8SSkˍnreѣHx\ 56ȮNE**ҳhV [`c56 &\M10Sj܊XR+;l Cօ`*M 8SSkˍnreѣHx\ 56ȮNE**ҳ9hV [`c56 &\M10Sj܊XGօ`*M 8SSkˍnreѣHx\ 56ȮN}=hV [`c56 &\M10Sj܊XG̓`*M 8SSkˍnreѣHx\ 56ȮN sZĩ6$XMMB{.5ɗFa!s $ڷ":V<2n=hV [`c56 &\M10Sj܊Xɺ3`X)lJaE+[q4h; MMr+ҳhV [`c56 &\M10Sj܊7F4}Zĩ6$XMMB{.5ɗFa!s $ڷ"Mѭ+;l `*M 8SSkˍnreѣHx\ 56ȮStj7V+-Rl0HšX`\ks.&CdInErPɺ3GX)lJaE+[q4h; MMr+Mչ- KbT ,p!X=ˉF0jm[\4FIV BRؕ&)VeƷ92hь$<.vAVW$<-ђUgmzЬ%I" jmbqL4c  a&չ* sO tdiY`l+-Rl0HšX`\ks.&CdInErJmsZĩ6$XMMB{.5ɗFa!s $ڷ"%Dis> KbT ,p!X=ˉF0jm[\4G̓`*M 8SSkˍnreѣHx\ 56Ȯm`ϺPkBRؕ&)VeƷ92hь$<.vAVW6z0i(AϳGX)lJaE+[q4h; MMr+b=4 ٰrЬ%I" jmbqL4c  a&չ>+-Rl0HšX`\ks.&CdInEs> KbT ,p!X=ˉF0jm[\fBRؕ&)VeƷ92hь$<.vAVWK)\OFIV BRؕ&)VeƷ92hь$<.vAVWK)\OFIVBRؕ&)VeƷ92hь$<.vAVWK)\OFIVBRؕ&)VeƷ92hь$<.vAVWKЬ%I" jmbqL4c  a&չ9h+-Rl0HšX`\ks.&CdInEtpkN}- KbT ,p!X=ˉF0jm[]+;lFsJUrЬ%I" jmbqL4c  a&չҳg4[` *> KbT ,p!X=ˉF0jm[]+;lFsJUrrЬ%I" jmbqL4c  a&չҳ¨\sZĩ6$XMMB{.5ɗFa!s $ڷ"VvUnfBRؕ&)VeƷ92hь$<.vAVWJ qpm9hV [`c56 &\M10Sj܊Y$NH $JX)lJaE+[q4h; MMr+f9".n+;l Cօ`*M 8SSkˍnreѣHx\ 56ȮD2J6Zĩ6$XMMB{.5ɗFa!s $ڷ"VnGօ`*M 8SSkˍnreѣHx\ 56ȮFv3GX)lJaE+[q4h; MMr+f葝}9hV [`c56 &\M10Sj܊Y$C&օ`*M 8SSkˍnreѣHx\ 56ȮD2n=hV [`c56 &\M10Sj܊Y$C&̓`*M 8SSkˍnreѣHx\ 56Ȯy>Ur1Zĩ6$XMMB{.5ɗFa!s $ڷ"OU=hV [`c56 &\M10Sj܊N'kc>W#`X)lJaE+[q4h; MMr+J4JRFu葰\V`*M 8SSkˍnreѣHx\ 56ȭ()IOD{FUr14}Zĩ6$XMMB{.5ɗFa!s $ڷ"D$g[q=OU9hV [`c56 &\M10Sj܊ҩH#86rЬ%I" jmbqL4c  a&չRVFpml>W#GX)lJaE+[q4h; MMr+J }ʮF&BRؕ&)VeƷ92hь$<.vAVV7Vr3\V`*M 8SSkˍnreѣHx\ 56Ȭ2ng[` *> KbT ,p!X=ˉF0jm[Xd[iζ>Ur16Zĩ6$XMMB{.5ɗFa!s $ڷ"ɺ5X)lJaE+[q4h; MMr+ s4}Zĩ6$XMMB{.5ɗFa!s $ڷ"ɺ3`X)lJaE+[q4h; MM{bEm:O.">4f+-Rl0HšX`\ks.&CdIolHRiGCօ`*M 8SSkˍnreѣHx\ 56Vm>љrЬ%I" jmbqL4c  a&ս"BW` * KbT ,p!X=ˉF0jm[+lT!uqrzЬ%I" jmbqL4c  a&ս"BW` *- KbT ,p!X=ˉF0jm[+lnQJ9>rЬ%I" jmbqL4c  a&ս"m&菰J#` *> KbT ,p!X=ˉF0jm[+lnQJ9>rrЬ%I" jmbqL4c  a&ս"m'J;\V`*M 8SSkˍnreѣHx\ 56si:U݀'ܪbh+-Rl0HšX`\ks.&CdIolHIҨ>W#`X)lJaE+[q4h; MM{bEg"Zĩ6$XMMB{.5ɗFa!s $ڷ$Vr(GX)lJaE+[q4h; MM{bEg"6Zĩ6$XMMB{.5ɗFa!s $ڷ$Vq:Ь%I" jmbqL4c  a&ս"Cօ`*M 8SSkˍnreѣHx\ 56Nl+-Rl0HšX`\ks.&CdIolH6[Ь%I" jmbqL4c  a&ս"l}nfBRؕ&)VeƷ92hь$<.vAVĊAi- KbT ,p!X=ˉF0jm[+=`*M 8SSkˍnreѣHx\ 56҆BRؕ&)VeƷ92hь$<.vAVĊ{iC`X)lJaE+[q4h; MM{bEgl>W#X)lJaE+[q4h; MM{bEgl>W#GX)lJaE+[q4h; MM{bEgl>W#`X)lJaE+[q4h; MM{bEg=uIօ`*M 8SSkˍnreѣHx\ 56҇g's34}Zĩ6$XMMB{.5ɗFa!s $ڷ$V{J鞓7Th9hV [`c56 &\M10SjؑYm(A KbT ,p!X=ˉF0jm[+=#8693GX)lJaE+[q4h; MM{bEgg4fl+-Rl0HšX`\ks.&CdIolHz-sZĩ6$XMMB{.5ɗFa!s $ڷ$V{J=> KbT ,p!X=ˉF0jm[+=G̓`*M 8SSkˍnreѣHx\ 56ґFJ#>W#X)lJaE+[q4h; MM{bEgQROU=hV [`c56 &\M10SjؑYm)jA>Ur16Zĩ6$XMMB{.5ɗFa!s $ڷ$V{эЬ%I" jmbqL4c  a&ս"ތm>Cօ`*M 8SSkˍnreѣHx\ 56cm9l+-Rl0HšX`\ks.&CdIolH5R3\V`*M 8SSkˍnreѣHx\ 56cqFJRFurzЬ%I" jmbqL4c  a&ս"ތn(։JHζ>Ur16Zĩ6$XMMB{.5ɗFa!s $ڷ$Vz0sZĩ6$XMMB{.5ɗFa!s $ڷ$Vz0s4}Zĩ6$XMMB{.5ɗFa!s $ڷ$Vz0s6Zĩ6$XMMB{.5ɗFa!s $ڷ$V=} KbT ,p!X=ˉF0jm[+G>Cօ`*M 8SSkˍnreѣHx\ 56E#fBRؕ&)VeƷ92hь$<.vAVĊsFkBRؕ&)VeƷ92hь$<.vAVĊsFfBRؕ&)VeƷ92hь$<.vAVĊsFfBRؕ&)VeƷ92hь$<.vAVĊ>W#X)lJaE+[q4h; MM{bEvrzЬ%I" jmbqL4c  a&ս"OU9hV [`c56 &\M10Sjؑ]'ܪb.sFkBRؕ&)VeƷ92hь$<.vAVĊ>W#Eu\׸6s34}Zĩ6$XMMB{.5ɗFa!s $ڷ$W` *.;љrЬ%I" jmbqL4c  a&ս"EZĩ6$XMMB{.5ɗFa!s $ڷ$VA趦BRؕ&)VeƷ92hь$<.vAVĊ=9hV [`c56 &\M10Sjؑ["״ KbT ,p!X=ˉF0jm[+sdZ}җ93GX)lJaE+[q4h; MM{bEn{^ϺR4fl+-Rl0HšX`\ks.&CdIolH}kyJX}ʮF+BRؕ&)VeƷ92hь$<.vAVĊt'ܪbh+-Rl0HšX`\ks.&CdIolH}kyJX}ʮF&BRؕ&)VeƷ92hь$<.vAVĊ".5\V`*M 8SSkˍnreѣHx\ 56-{fE(\k` *> KbT ,p!X=ˉF0jm[+sdZ̊PUr16Zĩ6$XMMB{.5ɗFa!s $ڷ$VȵF.3[[\V`*M 8SSkˍnreѣHx\ 56-|V>W#GX)lJaE+[q4h; MM{bEn{_b:UOU9hV [`c56 &\M10Sjؑ["ҭ}ʮF+BRؕ&)VeƷ92hь$<.vAVĊmnUr14}Zĩ6$XMMB{.5ɗFa!s $ڷ$VȵkvrrЬ%I" jmbqL4c  a&ս"=E[[\V`*M 8SSkˍnreѣHx\ 56-}P}*݀'ܪbh+-Rl0HšX`\ks.&CdIolH}kV>W#`X)lJaE+[q4h; MM{bEnM}҇ؑњЬ%I" jmbqL4c  a&ս"Da&>{iClHh=hV [`c56 &\M10Sjؑ[z0jg6$n4fl+-Rl0HšX`\ks.&CdIolH` )U"GUr1Zĩ6$XMMB{.5ɗFa!s $ڷ$V菰J#` *> KbT ,p!X=ˉF0jm[+tGUDȥ\M`*M 8SSkˍnreѣHx\ 564cW6F795X)lJaE+[q4h; MM{bEn*ͫh=hV [`c56 &\M10Sjؑ[J5sjcs36Zĩ6$XMMB{.5ɗFa!s $ڷ$Vҭ\ڹ}ʮF+BRؕ&)VeƷ92hь$<.vAVĊUW#OU=hV [`c56 &\M10Sjؑ[J5sjc` *- KbT ,p!X=ˉF0jm[+tkdnkBRؕ&)VeƷ92hь$<.vAVĊzЬ%I" jmbqL4c  a&ս"FFl+-Rl0HšX`\ks.&CdIolHѭ-}hhV [`c56 &\M10Sjؑ[[ZљzЬ%I" jmbqL4c  a&ս"F893`X)lJaE+[q4h; MM{bEnnsJUrЬ%I" jmbqL4c  a&ս"F9*OU=hV [`c56 &\M10Sjؑ[[ҕl}'ܪbl+-Rl0HšX`\ks.&CdIolH[HhhV [`c56 &\M10Sjؑ[љzЬ%I" jmbqL4c  a&ս"!m#w93`X)lJaE+[q4h; MM{bEoF$V`*M 8SSkˍnreѣHx\ 564}Zĩ6$XMMB{.5ɗFa!s $ڷ$VbD9hV [`c56 &\M10Sjؑ\T`*M 8SSkˍnreѣHx\ 56@=hV [`c56 &\M10Sjؑ\T `*M 8SSkˍnreѣHx\ 56ȶN9vrЬ%I" jmbqL4c  a&ս"g6nUr14}Zĩ6$XMMB{.5ɗFa!s $ڷ$W"ڹ;ltpm}ʮF&BRؕ&)VeƷ92hь$<.vAVĊm(>E( KbT ,p!X=ˉF0jm[+' A>4fh+-Rl0HšX`\ks.&CdIolH(҃RљrЬ%I" jmbqL4c  a&ս"D@sFkBRؕ&)VeƷ92hь$<.vAVĊ=> KbT ,p!X=ˉF0jm[+4H:>4fl+-Rl0HšX`\ks.&CdIolH(# xOUhV [`c56 &\M10Sjؑ\QGArzЬ%I" jmbqL4c  a&ս"D@>W#`X)lJaE+[q4h; MM{bEqF.">4f+-Rl0HšX`\ks.&CdIolH(#ЅGCօ`*M 8SSkˍnreѣHx\ 56$zљrЬ%I" jmbqL4c  a&ս"DBT` * KbT ,p!X=ˉF0jm[+4H!uArzЬ%I" jmbqL4c  a&ս"DBT` *- KbT ,p!X=ˉF0jm[+O|tks\V`*M 8SSkˍnreѣHx\ 56'H5}ʮF&BRؕ&)VeƷ92hь$<.vAVĊ$]>W#`X)lJaE+[q4h; MM{bEqJ\օ`*M 8SSkˍnreѣHx\ 56(s4}Zĩ6$XMMB{.5ɗFa!s $ڷ$Wu9hV [`c56 &\M10Sjؑ\R2 'ܪb+-Rl0HšX`\ks.&CdIolH)@gUr14}Zĩ6$XMMB{.5ɗFa!s $ڷ$Wû3k` *- KbT ,p!X=ˉF0jm[+DV}V`*M 8SSkˍnreѣHx\ 56q+>BRؕ&)VeƷ92hь$<.vAVĊ8S`X)lJaE+[q4h; MM{bEhTHBօ`*M 8SSkˍnreѣHx\ 56Q! 3's34}Zĩ6$XMMB{.5ɗFa!s $ڷ$VUD.̝h9hV [`c56 &\M10Sjؑ\J- KbT ,p!X=ˉF0jm[+>CGX)lJaE+[q4h; MM{bEr'(l+-Rl0HšX`\ks.&CdIolHvA}Vͤօ`*M 8SSkˍnreѣHx\ 56>Ϫ9zЬ%I" jmbqL4c  a&ս"[g66Zĩ6$XMMB{.5ɗFa!s $ڷ$W; >=ҳH5X)lJaE+[q4h; MM{bEsэ+434}Zĩ6$XMMB{.5ɗFa!s $ڷ$W; >=ҳH3`X)lJaE+[q4h; MM{bEsZĩ6$XMMB{.5ɗFa!s $ڷ$W; > xGX)lJaE+[q4h; MM{bEs6Zĩ6$XMMB{.5ɗFa!s $ڷ$W; >tSDƭ'ܪb+-Rl0HšX`\ks.&CdIolHvA}V覉[27[OU=hV [`c56 &\M10Sjؑ\MW#dnrrЬ%I" jmbqL4c  a&ս"\.\օ`*M 8SSkˍnreѣHx\ 56>Ϫp:h+-Rl0HšX`\ks.&CdIolHvA}W 3`X)lJaE+[q4h; MM{bEs]PDzЬ%I" jmbqL4c  a&ս"\."<=hV [`c56 &\M10Sjؑ\Tl+-Rl0HšX`\ks.&CdIolHvA}WGkBRؕ&)VeƷ92hь$<.vAVĊdgpD{:h+-Rl0HšX`\ks.&CdIolHvA}WGfBRؕ&)VeƷ92hь$<.vAVĊbӟkBRؕ&)VeƷ92hь$<.vAVĊbӟfBRؕ&)VeƷ92hь$<.vAVĊbӟfBRؕ&)VeƷ92hь$<.vAVĊjZЬ%I" jmbqL4c  a&ս"h+-Rl0HšX`\ks.&CdIolHiF- KbT ,p!X=ˉF0jm[+QvrЬ%I" jmbqL4c  a&ս"` *> KbT ,p!X=ˉF0jm[+QvrrЬ%I" jmbqL4c  a&ս"YM'` * KbT ,p!X=ˉF0jm[+RvrzЬ%I" jmbqL4c  a&ս"YM'` *- KbT ,p!X=ˉF0jm[+RplZF+-Rl0HšX`\ks.&CdIolHzSuIizЬ%I" jmbqL4c  a&ս"YM'ŤnfBRؕ&)VeƷ92hь$<.vAVĊ3Ь%I" jmbqL4c  a&ս" h+-Rl0HšX`\ks.&CdIolH#:- KbT ,p!X=ˉF0jm[+ZxZ)=˜њЬ%I" jmbqL4c  a&ս"Ũ > KbT ,p!X=ˉF0jm[+ZxZ)=˜љrЬ%I" jmbqL4c  a&ս"VnX)lJaE+[q4h; MM{bEt&BRؕ&)VeƷ92hь$<.vAVĊY$M`*M 8SSkˍnreѣHx\ 56ҳtH5X)lJaE+[q4h; MM{bEt'$@=hV [`c56 &\M10Sjؑ]+7D!s6Zĩ6$XMMB{.5ɗFa!s $ڷ$WJ"菰J#` * KbT ,p!X=ˉF0jm[+ftGUDȥ\MCօ`*M 8SSkˍnreѣHx\ 56ҳtH#E*@RX}ʮF&BRؕ&)VeƷ92hь$<.vAVĊN- KbT ,p!X=ˉF0jm[+:Vh+-Rl0HšX`\ks.&CdIolH[rЬ%I" jmbqL4c  a&ս";hX)lJaE+[q4h; MM{bEuBv握BRؕ&)VeƷ92hь$<.vAVĊ̓`*M 8SSkˍnreѣHx\ 56 GX)lJaE+[q4h; MM{bEuBv@=hV [`c56 &\M10Sjؑ]PxmP6Zĩ6$XMMB{.5ɗFa!s $ڷ$WT'mFh%X)lJaE+[q4h; MM{bEuBvfR4}Zĩ6$XMMB{.5ɗFa!s $ڷ$WT'mFh#`X)lJaE+[q4h; MM{bEuBh4Ь%I" jmbqL4c  a&ս"4Cs=hV [`c56 &\M10Sjؑ]P!9l+-Rl0HšX`\ks.&CdIolH(օ`*M 8SSkˍnreѣHx\ 56љzЬ%I" jmbqL4c  a&ս"C#s36Zĩ6$XMMB{.5ɗFa!s $ڷ$Vhںcօ`*M 8SSkˍnreѣHx\ 566X!w93GX)lJaE+[q4h; MM{bEiFA=]h9hV [`c56 &\M10SjؑZw7's3Zĩ6$XMMB{.5ɗFa!s $ڷ$V Cօ`*M 8SSkˍnreѣHx\ 56sqw93`X)lJaE+[q4h; MM{bEiuIOAѻњЬ%I" jmbqL4c  a&ս":h=hV [`c56 &\M10SjؑZnRktn4fl+-Rl0HšX`\ks.&CdIolH4\=hV [`c56 &\M10SjؑZhyzЬ%I" jmbqL4c  a&ս"p`X)lJaE+[q4h; MMjq{׭ KbT ,p!X=ˉF0jm\Ts=hV [`c56 &\M10SjڠD}5BRؕ&)VeƷ92hь$<.vAW.lhV [`c56 &\M10SjڠEѭ> KbT ,p!X=ˉF0jm\Ts573`X)lJaE+[q4h; MMg:#>W#X)lJaE+[q4h; MMg:#>W#GX)lJaE+[q4h; MMg:#>W#`X)lJaE+[q4h; MMg\V`*M 8SSkˍnreѣHx\ 567UcgUr14}Zĩ6$XMMB{.5ɗFa!s $ڸVz1[OU9hV [`c56 &\M10SjuYƷ؏}hV [`c56 &\M10SjuYƷ؏}=hV [`c56 &\M10SjuYƷ؏}9hV [`c56 &\M10SjuYƷ؏}̃O3&+-Rl0HšX`\ks.&CdIqc[PlGA4}Zĩ6$XMMB{.5ɗFa!s $ڸVz1ƨ6#s ɛ- KbT ,p!X=ˉF0jm\nڴ 4Ь%I" jmbqL4c  a&HͰO > KbT ,p!X=ˉF0jm\nڴ 4𻩰rЬ%I" jmbqL4c  a&HͰ'V`*M 8SSkˍnreѣHx\ 567UmZFm<.h+-Rl0HšX`\ks.&CdIq{j3l(wS`X)lJaE+[q4h; MMcVaDO zЬ%I" jmbqL4c  a&HͰ'] <=hV [`c56 &\M10SjuXդfQl+-Rl0HšX`\ks.&CdIqql. Ь%I" jmbqL4c  a&}Ű6FBRؕ&)VeƷ92hь$<.vAW9- KbT ,p!X=ˉF0jm\nBSy6}\V`*M 8SSkˍnreѣHx\ 567UZ)c>F&BRؕ&)VeƷ92hь$<.vAWЭdz1W#`X)lJaE+[q4h; MMnգEX)lJaE+[q4h; MMnգCGX)lJaE+[q4h; MMnգC`X)lJaE+[q4h; MMpk#8XOUhV [`c56 &\M10Sju\=)Ur14}Zĩ6$XMMB{.5ɗFa!s $ڸW3Jo\M`*M 8SSkˍnreѣHx\ 567U'Ƕ'V`*M 8SSkˍnreѣHx\ 567U'Ƕ'MCօ`*M 8SSkˍnreѣHx\ 567U'Ƕ'M`*M 8SSkˍnreѣHx\ 567Un+` * KbT ,p!X=ˉF0jm\n3E*QAVUr14}Zĩ6$XMMB{.5ɗFa!s $ڸWfU4'ܪbl+-Rl0HšX`\ks.&CdIqSF>W#X)lJaE+[q4h; MMr5D_` *> KbT ,p!X=ˉF0jm\nѪ'OU9hV [`c56 &\M10Sju].iwUX)lJaE+[q4h; MMts'MCօ`*M 8SSkˍnreѣHx\ 567UΈu6Zĩ6$XMMB{.5ɗFa!s $ڸWDO KbT ,p!X=ˉF0jm\n'MCօ`*M 8SSkˍnreѣHx\ 567UBRؕ&)VeƷ92hь$<.vAWw[OUhV [`c56 &\M10Sju]<.` *> KbT ,p!X=ˉF0jm\n'l>W#`X)lJaE+[q4h; MMtD𻫡' KbT ,p!X=ˉF0jm\n'] <=hV [`c56 &\M10Sju]<.IBRؕ&)VeƷ92hь$<.vAWwWBO ɭ KbT ,p!X=ˉF0jm\n'] ̙rЬ%I" jmbqL4c  a&괢C"4'ܪb+-Rl0HšX`\ks.&CdIq(Ƞ+` *> KbT ,p!X=ˉF0jm\nJ!qD2(#J}ʮF&BRؕ&)VeƷ92hь$<.vAW҈\Q .i\V`*M 8SSkˍnreѣHx\ 567U\q` *> KbT ,p!X=ˉF0jm\nJ!qD24Ur16Zĩ6$XMMB{.5ɗFa!s $ڸV޴+-Rl0HšX`\ks.&CdIq)=hV [`c56 &\M10SjuZSyrЬ%I" jmbqL4c  a&괦ьl KbT ,p!X=ˉF0jm\nJo=ϫzЬ%I" jmbqL4c  a&괦ьl- KbT ,p!X=ˉF0jm\nJoЬ%I" jmbqL4c  a&괦菹> KbT ,p!X=ˉF0jm\nJorЬ%I" jmbqL4c  a&괦Vv ؏}hV [`c56 &\M10SjuZS}+;llGh+-Rl0HšX`\ks.&CdIq)6#s6Zĩ6$XMMB{.5ɗFa!s $ڸVJ﹐iFdօ`*M 8SSkˍnreѣHx\ 567U7ҳ{d}Q3GX)lJaE+[q4h; MMiMATfL9hV [`c56 &\M10Sj-t'ܪb+-Rl0HšX`\ks.&CdIsϺRUr14}Zĩ6$XMMB{.5ɗFa!s $ڹi)` *- KbT ,p!X=ˉF0jm\&r)D}'ܪb+-Rl0HšX`\ks.&CdIs<ȥrzЬ%I" jmbqL4c  a&[_;hg"G}ʮF&BRؕ&)VeƷ92hь$<.vAW89g\V`*M 8SSkˍnreѣHx\ 56prF1` *> KbT ,p!X=ˉF0jm\垌cgUr16Zĩ6$XMMB{.5ɗFa!s $ڹ=ϫ\V`*M 8SSkˍnreѣHx\ 56prF1l>W#GX)lJaE+[q4h; MMьlOU9hV [`c56 &\M10Sj,y KbT ,p!X=ˉF0jm\ }'ܪbl+-Rl0HšX`\ks.&CdIs"+-Rl0HšX`\ks.&CdIs"h+-Rl0HšX`\ks.&CdIs"l+-Rl0HšX`\ks.&CdIsh"q+>rЬ%I" jmbqL4c  a&\QGĬ}ʮF&BRؕ&)VeƷ92hь$<.vAW89qF'` *- KbT ,p!X=ˉF0jm\Q` * KbT ,p!X=ˉF0jm\Q` *> KbT ,p!X=ˉF0jm\Q` *- KbT ,p!X=ˉF0jm\Ⱥ5[u+2kBRؕ&)VeƷ92hь$<.vAW89s.fMoDd]J̙zЬ%I" jmbqL4c  a&\싩Y[=R&l+-Rl0HšX`\ks.&CdIs;"Vd;"Vdօ`*M 8SSkˍnreѣHx\ 56prd]J̚d]J̙zЬ%I" jmbqL4c  a&\싩Y\싩Y6Zĩ6$XMMB{.5ɗFa!s $ڹ˝u+2ku+2h6#sZĩ6$XMMB{.5ɗFa!s $ڹ˝u+2ku+2h6#s4}Zĩ6$XMMB{.5ɗFa!s $ڹ˝u+2ku+2h6#s6Zĩ6$XMMB{.5ɗFa!s $ڹ˝Ь%I" jmbqL4c  a&\Cօ`*M 8SSkˍnreѣHx\ 56prpFl+-Rl0HšX`\ks.&CdIs;5OUhV [`c56 &\M10Sj.wkvrzЬ%I" jmbqL4c  a&\>W#`X)lJaE+[q4h; MMԳқNUr1Zĩ6$XMMB{.5ɗFa!s $ڹ˜K=)>W#GX)lJaE+[q4h; MMԳқNUr16Zĩ6$XMMB{.5ɗFa!s $ڹ˜K=)شhV [`c56 &\M10Sj.pu,꓃b73GX)lJaE+[q4h; MMԳқN H̓`*M 8SSkˍnreѣHx\ 56prsNd` * KbT ,p!X=ˉF0jm\vUr14}Zĩ6$XMMB{.5ɗFa!s $ڹ˥;3'ܪbl+-Rl0HšX`\ks.&CdIsKw5؏}hV [`c56 &\M10Sj.4kz-sAzЬ%I" jmbqL4c  a&].iZ>b=3`X)lJaE+[q4h; MM\ӹ葥gmЬ%I" jmbqL4c  a&].iHҳ=hV [`c56 &\M10Sj.4kz$iY`l+-Rl0HšX`\ks.&CdIsKw5q'Zĩ6$XMMB{.5ɗFa!s $ڹ˥;8> KbT ,p!X=ˉF0jm\hI̓`*M 8SSkˍnreѣHx\ 56prsNesm\V`*M 8SSkˍnreѣHx\ 56prsNesm\MCօ`*M 8SSkˍnreѣHx\ 56prsNesm\M`*M 8SSkˍnreѣHx\ 56prsN׽hV [`c56 &\M10Sj.4k{Cօ`*M 8SSkˍnreѣHx\ 56prsN׼9hV [`c56 &\M10Sj.4k'+-Rl0HšX`\ks.&CdIsKw5mY4}Zĩ6$XMMB{.5ɗFa!s $ڹ˥;pFĬ- KbT ,p!X=ˉF0jm\s#[Zĩ6$XMMB{.5ɗFa!s $ڹ˥;pF; h+-Rl0HšX`\ks.&CdIsKw5nv@9hV [`c56 &\M10Sj.4k.iօ`*M 8SSkˍnreѣHx\ 56prsN=hV [`c56 &\M10Sj.4k.i̓`*M 8SSkˍnreѣHx\ 56prsNҩ+-Rl0HšX`\ks.&CdIsKw5nHGX)lJaE+[q4h; MM\ӹwktG- KbT ,p!X=ˉF0jm\s{iG5X)lJaE+[q4h; MM\ӹpqm(Z>h+-Rl0HšX`\ks.&CdIsKw5=G̓`*M 8SSkˍnreѣHx\ 56prsN;AЬ%I" jmbqL4c  a&].i88\h6#s4}Zĩ6$XMMB{.5ɗFa!s $ڹ˥;k{fBRؕ&)VeƷ92hь$<.vAW89ts\"x]ԃO3&+-Rl0HšX`\ks.&CdIsKw5'H42fBRؕ&)VeƷ92hь$<.vAW89ts\"x]ԃO3&l+-Rl0HšX`\ks.&CdIsKw5\V`*M 8SSkˍnreѣHx\ 56prsN\ӹcvrzЬ%I" jmbqL4c  a&].iKw3ތnUr16Zĩ6$XMMB{.5ɗFa!s $ڹ˥;sNjUr1Zĩ6$XMMB{.5ɗFa!s $ڹ˥;sNjUr14}Zĩ6$XMMB{.5ɗFa!s $ڹ˥;sNjUr16Zĩ6$XMMB{.5ɗFa!s $ڹ˥;sN; +-Rl0HšX`\ks.&CdIsKw5v@=hV [`c56 &\M10Sj.4k;쁰rЬ%I" jmbqL4c  a&].i@} KbT ,p!X=ˉF0jm\t QzЬ%I" jmbqL4c  a&].i@}- KbT ,p!X=ˉF0jm\t QH6` * KbT ,p!X=ˉF0jm\t QH6` *> KbT ,p!X=ˉF0jm\t QH6` *- KbT ,p!X=ˉF0jm\t QQROUhV [`c56 &\M10Sj.4k]bH"G}ʮF&BRؕ&)VeƷ92hь$<.vAW89ts]TcjA>Ur16Zĩ6$XMMB{.5ɗFa!s $ڹ˥;wZYM'` * KbT ,p!X=ˉF0jm\tD,ꓰ\MCօ`*M 8SSkˍnreѣHx\ 56prsN"x]֖zSuI}ʮF&BRؕ&)VeƷ92hь$<.vAW89tsZN+-Rl0HšX`\ks.&CdIsKw5握BRؕ&)VeƷ92hь$<.vAW89tsZNl+-Rl0HšX`\ks.&CdIsKw5VwkhJϪЬ%I" jmbqL4c  a&].i֔\{iYq+>BRؕ&)VeƷ92hь$<.vAW89tsZQqgpFĬ- KbT ,p!X=ˉF0jm\iFvBq>ǭ KbT ,p!X=ˉF0jm\iFvBq>ǚ> KbT ,p!X=ˉF0jm\iFvBq>Ǜ- KbT ,p!X=ˉF0jm\4f+-Rl0HšX`\ks.&CdIsKw;љzЬ%I" jmbqL4c  a&].isFfBRؕ&)VeƷ92hь$<.vAW89ts\V`*M 8SSkˍnreѣHx\ 56prsN` *> KbT ,p!X=ˉF0jm\Ur16Zĩ6$XMMB{.5ɗFa!s $ڹ˥;ҍ] \V`*M 8SSkˍnreѣHx\ 56prsN4WB>W#GX)lJaE+[q4h; MM\ӹ(лOU9hV [`c56 &\M10Sj.HRrЬ%I" jmbqL4c  a&]*FJ#>W#GX)lJaE+[q4h; MMU#H"G}ʮF&BRؕ&)VeƷ92hь$<.vAW89iFYrЬ%I" jmbqL4c  a&ZQV}l}'ܪbh+-Rl0HšX`\ks.&CdIsl[` *- KbT ,p!X=ˉF0jm\l>W#X)lJaE+[q4h; MMC"4'ܪbh+-Rl0HšX`\ks.&CdIsBdPF\M`*M 8SSkˍnreѣHx\ 56prҌ: }ʮF+BRؕ&)VeƷ92hь$<.vAW89iF k>W#GX)lJaE+[q4h; MMΈ5rrЬ%I" jmbqL4c  a&Jn5hV [`c56 &\M10Sjg7T{h+-Rl0HšX`\ks.&CdItқMm=i6Zĩ6$XMMB{.5ɗFa!s $ںYM&k2kBRؕ&)VeƷ92hь$<.vAWK=)޶fL=hV [`c56 &\M10Sjg7T{qɛ- KbT ,p!X=ˉF0jm],[Oz{H"G}ʮF+BRؕ&)VeƷ92hь$<.vAWK=)޶RrzЬ%I" jmbqL4c  a&Jn5(Ԃ)D}'ܪbl+-Rl0HšX`\ks.&CdItқMm=#4RЬ%I" jmbqL4c  a&Jn5JFBRؕ&)VeƷ92hь$<.vAWK=)޲3E)- KbT ,p!X=ˉF0jm],[OzU>W#X)lJaE+[q4h; MMRki[J'ܪbh+-Rl0HšX`\ks.&CdItқMm={iTC#s\M`*M 8SSkˍnreѣHx\ 56zSuIqFF` * KbT ,p!X=ˉF0jm],[OzQ Ur14}Zĩ6$XMMB{.5ɗFa!s $ںYM&'ܪbl+-Rl0HšX`\ks.&CdItқMm=D275X)lJaE+[q4h; MMRkiZ!> KbT ,p!X=ˉF0jm],[Oz 9hV [`c56 &\M10Sjg7T{+J9 KbT ,p!X=ˉF0jm],[OzsG#GX)lJaE+[q4h; MMRki\pu(bl+-Rl0HšX`\ks.&CdItқMg=X)lJaE+[q4h; MMRk>Wq> KbT ,p!X=ˉF0jm],Y:ml9hV [`c56 &\M10Sjg7TǸҶrЬ%I" jmbqL4c  a&Jn5ql>W#GX)lJaE+[q4h; MMRk7J}ʮF&BRؕ&)VeƷ92hь$<.vAWK=)=ntdiY`+-Rl0HšX`\ks.&CdItқMcFWFIVBRؕ&)VeƷ92hь$<.vAWK=)=ntdiY`l+-Rl0HšX`\ks.&CdItқMcFTR+;l`*M 8SSkˍnreѣHx\ 56zSuI{*UUgmzЬ%I" jmbqL4c  a&Jn5qQJJ6Zĩ6$XMMB{.5ɗFa!s $ںYM&&+-Rl0HšX`\ks.&CdItқMnqL=hV [`c56 &\M10Sjg7T>WTrЬ%I" jmbqL4c  a&Jn5}Ʈ:hV [`c56 &\M10Sjg7T>WTFVh+-Rl0HšX`\ks.&CdItқMnqN+6Zĩ6$XMMB{.5ɗFa!s $ںYM&F2 >h]Zĩ6$XMMB{.5ɗFa!s $ںYM&F2 >h]4}Zĩ6$XMMB{.5ɗFa!s $ںYM&F2 >h]6Zĩ6$XMMB{.5ɗFa!s $ںYM&F2 >h]]27jօ`*M 8SSkˍnreѣHx\ 56zSuIѭ̃O,}dLڣ3GX)lJaE+[q4h; MMRktks F95#q9hV [`c56 &\M10Sjg7T4Ѳl - KbT ,p!X=ˉF0jm],[[tX6MaCGX)lJaE+[q4h; MMRktks Fɳl(l+-Rl0HšX`\ks.&CdItқMnnd}cMɶdօ`*M 8SSkˍnreѣHx\ 56zSuIѭ̃O,})6왣zЬ%I" jmbqL4c  a&Jn55iEe7&]6Zĩ6$XMMB{.5ɗFa!s $ںYM&F2 >l9<.ɭ KbT ,p!X=ˉF0jm],[[tX6IdCօ`*M 8SSkˍnreѣHx\ 56zSuIѭ̃O,}${ fBRؕ&)VeƷ92hь$<.vAWK=)׸x]\V`*M 8SSkˍnreѣHx\ 56zSuIMp'` *> KbT ,p!X=ˉF0jm],[^vNUr16Zĩ6$XMMB{.5ɗFa!s $ںYM&E6ٶ['ܪb+-Rl0HšX`\ks.&CdItқMnm{ɳl.;OU=hV [`c56 &\M10Sjg7Tf]nvrrЬ%I" jmbqL4c  a&Jn55X)lJaE+[q4h; MMRk fBRؕ&)VeƷ92hь$<.vAWK=)d̓`*M 8SSkˍnreѣHx\ 56zSuI.}ʮF+BRؕ&)VeƷ92hь$<.vAWK=)d>W#GX)lJaE+[q4h; MMRk vrrЬ%I" jmbqL4c  a&Jn586-#pUr1Zĩ6$XMMB{.5ɗFa!s $ںYM&'Ťn}ʮF&BRؕ&)VeƷ92hь$<.vAWK=)dش[OU9hV [`c56 &\M10Sjg7T윚 KbT ,p!X=ˉF0jm],X]]3GX)lJaE+[q4h; MMRk rkl+-Rl0HšX`\ks.&CdItқMavNMtnm3Zĩ6$XMMB{.5ɗFa!s $ںYM&'&dn76> KbT ,p!X=ˉF0jm],X]]27j̓`*M 8SSkˍnreѣHx\ 56zSuIJ4qV`*M 8SSkˍnreѣHx\ 56zSuIJ4qMCօ`*M 8SSkˍnreѣHx\ 56zSuIJ4qM`*M 8SSkˍnreѣHx\ 56zSuI(#kȣ7UX}ʮF+BRؕ&)VeƷ92hь$<.vAWK=)h5Q,>W#GX)lJaE+[q4h; MMRk4H(BrrЬ%I" jmbqL4c  a&Jn5$z)}Ur1Zĩ6$XMMB{.5ɗFa!s $ںYM&DBSE7}ʮF&BRؕ&)VeƷ92hь$<.vAWK=)hJh;OU9hV [`c56 &\M10Sjg7T7DIZĩ6$XMMB{.5ɗFa!s $ںYM&M=kCօ`*M 8SSkˍnreѣHx\ 56zSuIStOt`X)lJaE+[q4h; MMRkܛkavMhV [`c56 &\M10Sjg7T7&]4}Zĩ6$XMMB{.5ɗFa!s $ںYM&Mɶd̓`*M 8SSkˍnreѣHx\ 56zSuISE7 KbT ,p!X=ˉF0jm],\ns4}Zĩ6$XMMB{.5ɗFa!s $ںYM&M>l+-Rl0HšX`\ks.&CdItқMr)}Ur1Zĩ6$XMMB{.5ɗFa!s $ںYM&M>` *> KbT ,p!X=ˉF0jm],\ns\M`*M 8SSkˍnreѣHx\ 56zSuIIdօ`*M 8SSkˍnreѣHx\ 56zSuIIdCօ`*M 8SSkˍnreѣHx\ 56zSuIId̓`*M 8SSkˍnreѣHx\ 56zSuIzS#тЬ%I" jmbqL4c  a&Jn5Jw6z04}Zĩ6$XMMB{.5ɗFa!s $ںYM&YN؏FBRؕ&)VeƷ92hь$<.vAWK=)K=)օ`*M 8SSkˍnreѣHx\ 56zSuIzSuI> KbT ,p!X=ˉF0jm],],6Zĩ6$XMMB{.5ɗFa!s $ںYM&8[TkBRؕ&)VeƷ92hь$<.vAWK=)Gj=hV [`c56 &\M10Sjg7T1mR- KbT ,p!X=ˉF0jm],]F-SOUhV [`c56 &\M10Sjg7T1mR}ʮF&BRؕ&)VeƷ92hь$<.vAWK=)GjUr16Zĩ6$XMMB{.5ɗFa!s $ںYM&8nkBRؕ&)VeƷ92hь$<.vAWK=)G=hV [`c56 &\M10Sjg7T1- KbT ,p!X=ˉF0jm] {^[[ƫBRؕ&)VeƷ92hь$<.vAW@׽>VqzЬ%I" jmbqL4c  a&giϺU\jl+-Rl0HšX`\ks.&CdIt/Y6}\V`*M 8SSkˍnreѣHx\ 56=ϫzЬ%I" jmbqL4c  a&gr16Zĩ6$XMMB{.5ɗFa!s $ں{jӛKգV KbT ,p!X=ˉF0jm] =iͥMCօ`*M 8SSkˍnreѣHx\ 56ڴuhզBRؕ&)VeƷ92hь$<.vAW@m[YW#X)lJaE+[q4h; MMzǶ҉zЬ%I" jmbqL4c  a&cViD9hV [`c56 &\M10Sj^ KbT ,p!X=ˉF0jm] =GX)lJaE+[q4h; MMzǶl+-Rl0HšX`\ks.&CdIt/X;Ь%I" jmbqL4c  a&cfBRؕ&)VeƷ92hь$<.vAW@- KbT ,p!X=ˉF0jm] >nNŤnkBRؕ&)VeƷ92hь$<.vAW@izЬ%I" jmbqL4c  a&cplZFl+-Rl0HšX`\ks.&CdIt/X;u&EhV [`c56 &\M10Sj^rw9M\M zЬ%I" jmbqL4c  a&cr2ԛA`X)lJaE+[q4h; MMz;gcVqЬ%I" jmbqL4c  a&rɳkp=hV [`c56 &\M10Sj^NU\jl+-Rl0HšX`\ks.&CdIt/\> KbT ,p!X=ˉF0jm] ;O.BRؕ&)VeƷ92hь$<.vAW@KrЬ%I" jmbqL4c  a&s$ GZĩ6$XMMB{.5ɗFa!s $ںwDZ]auhզBRؕ&)VeƷ92hь$<.vAW@K.ڴ9hV [`c56 &\M10Sj^}ʮF+BRؕ&)VeƷ92hь$<.vAW@Ur14}Zĩ6$XMMB{.5ɗFa!s $ںrrЬ%I" jmbqL4c  a&t/ lZĩ6$XMMB{.5ɗFa!s $ں፜]&BRؕ&)VeƷ92hь$<.vAW@1D9hV [`c56 &\M10Sj^U\j+-Rl0HšX`\ks.&CdIt/]*.54}Zĩ6$XMMB{.5ɗFa!s $ںmn- KbT ,p!X=ˉF0jm] WBօ`*M 8SSkˍnreѣHx\ 56뫡fBRؕ&)VeƷ92hь$<.vAW@г`X)lJaE+[q4h; MMz]*IhV [`c56 &\M10Sj^J4}Zĩ6$XMMB{.5ɗFa!s $ںҭ`*M 8SSkˍnreѣHx\ 569]`*M 8SSkˍnreѣHx\ 569] Cօ`*M 8SSkˍnreѣHx\ 569] `*M 8SSkˍnreѣHx\ 56gNTf+-Rl0HšX`\ks.&CdIu:vзVڣ3GX)lJaE+[q4h; MM5YӶ6- KbT ,p!X=ˉF0jm]lAi6 KbT ,p!X=ˉF0jm]lAi6> KbT ,p!X=ˉF0jm]lAi6- KbT ,p!X=ˉF0jm]lAdUX)lJaE+[q4h; MM5Y"3jh+-Rl0HšX`\ks.&CdIu=\}FpmM`*M 8SSkˍnreѣHx\ 56gF6Ʈ͵FkBRؕ&)VeƷ92hь$<.vAW[j{W#}WVڣ3GX)lJaE+[q4h; MM5YqsmQrЬ%I" jmbqL4c  a&^.ɭ KbT ,p!X=ˉF0jm]lEm\B왣zЬ%I" jmbqL4c  a&^.ɛ- KbT ,p!X=ˉF0jm]lEmQЬ%I" jmbqL4c  a&^> KbT ,p!X=ˉF0jm]lEmQrЬ%I" jmbqL4c  a&{kdUX)lJaE+[q4h; MM5X#86BRؕ&)VeƷ92hь$<.vAW[jFpmM`*M 8SSkˍnreѣHx\ 56c[ МEZĩ6$XMMB{.5ɗFa!s $ںUml3kBp9=hV [`c56 &\M10Sj` V= _C`X)lJaE+[q4h; MM5X=k#86BRؕ&)VeƷ92hь$<.vAW[j{אFpmMCօ`*M 8SSkˍnreѣHx\ 56cA ڛ- KbT ,p!X=ˉF0jm]l^A8+-Rl0HšX`\ks.&CdIug ygքr/zЬ%I" jmbqL4c  a&}5ZȾBRؕ&)VeƷ92hь$<.vAW[j4u\V`*M 8SSkˍnreѣHx\ 56do$h> KbT ,p!X=ˉF0jm]l:>Hr16Zĩ6$XMMB{.5ɗFa!s $ںUFpmV`*M 8SSkˍnreѣHx\ 56dSGX)lJaE+[q4h; MM5Yg9hV [`c56 &\M10Sj` W F#86BRؕ&)VeƷ92hь$<.vAW[j](6A4}Zĩ6$XMMB{.5ɗFa!s $ںUF rЬ%I" jmbqL4c  a&)@ghV [`c56 &\M10Sj` Wû3jh+-Rl0HšX`\ks.&CdIuP:A6Zĩ6$XMMB{.5ɗFa!s $ںUɳ}ʮF+BRؕ&)VeƷ92hь$<.vAW[j6tOU=hV [`c56 &\M10Sj` W&Η` *- KbT ,p!X=ˉF0jm]lW#X)lJaE+[q4h; MM5\:\bh+-Rl0HšX`\ks.&CdIugK4u\M`*M 8SSkˍnreѣHx\ 56sIsicEmQЬ%I" jmbqL4c  a&i>m,y34}Zĩ6$XMMB{.5ɗFa!s $ںU'ͥ=FfBRؕ&)VeƷ92hь$<.vAW[j:}ml3j+-Rl0HšX`\ks.&CdIu'#86BRؕ&)VeƷ92hь$<.vAW[j:}ml3jl+-Rl0HšX`\ks.&CdIuf=ͧTf+-Rl0HšX`\ks.&CdIuf=ͧTfh+-Rl0HšX`\ks.&CdIuf=ͧTfl+-Rl0HšX`\ks.&CdIiUYέ.BRؕ&)VeƷ92hь$<.vAV\h+-Rl0HšX`\ks.&CdIiUYέ.BRؕ&)VeƷ92hь$<.vAV\GkBRؕ&)VeƷ92hь$<.vAV\GfBRؕ&)VeƷ92hь$<.vAV\GfBRؕ&)VeƷ92hь$<.vAV\mmhV [`c56 &\M10Sjҫ> KbT ,p!X=ˉF0jmZUs=`X)lJaE+[q4h; MMJzǸdօ`*M 8SSkˍnreѣHx\ 56*bٓ4}Zĩ6$XMMB{.5ɗFa!s $ڴ{fL9hV [`c56 &\M10SjҫNivrЬ%I" jmbqL4c  a&եW=w T*>W#GX)lJaE+[q4h; MMJz:U}ʮF&BRؕ&)VeƷ92hь$<.vAV\R͵r1Zĩ6$XMMB{.5ɗFa!s $ڴ.mzЬ%I" jmbqL4c  a&եW=wsm\M`*M 8SSkˍnreѣHx\ 56*5{[hV [`c56 &\M10SjҫNWCօ`*M 8SSkˍnreѣHx\ 56*5{[9hV [`c56 &\M10SjҫNTN%ghV [`c56 &\M10SjҫNTN%g=hV [`c56 &\M10SjҫNTN%g9hV [`c56 &\M10Sjҫ3(͉}{f+-Rl0HšX`\ks.&CdIiUYf=4}Zĩ6$XMMB{.5ɗFa!s $ڴ笌3sb{_qٛ- KbT ,p!X=ˉF0jmZUsփhZshV [`c56 &\M10SjҫD*ӟfBRؕ&)VeƷ92hь$<.vAV\!V6Zĩ6$XMMB{.5ɗFa!s $ڴgtE)g%ﵡX)lJaE+[q4h; MMJzVwDRrQ4}Zĩ6$XMMB{.5ɗFa!s $ڴgtE)g%`X)lJaE+[q4h; MMJzމ} KbT ,p!X=ˉF0jmZUsOk=hV [`c56 &\M10Sjҫ{_fBRؕ&)VeƷ92hь$<.vAV\ԣFwDR` * KbT ,p!X=ˉF0jmZUsRJg݀'ܪbh+-Rl0HšX`\ks.&CdIiU\J:$gtE)vrrЬ%I" jmbqL4c  a&եW=qFq'ܪb+-Rl0HšX`\ks.&CdIiU\QGo\k` *> KbT ,p!X=ˉF0jmZUsh[}ʮF&BRؕ&)VeƷ92hь$<.vAV\u.iЬ%I" jmbqL4c  a&եW=hKm9h+-Rl0HšX`\ks.&CdIiUZ'RN}- KbT ,p!X=ˉF0jmZUs։ԹsZĩ6$XMMB{.5ɗFa!s $ڴsNh+-Rl0HšX`\ks.&CdIiUZ'R9hV [`c56 &\M10SjҫM\Ь%I" jmbqL4c  a&եW=r2CGX)lJaE+[q4h; MMJz4esBRؕ&)VeƷ92hь$<.vAV\hRs"ϳЬ%I" jmbqL4c  a&եW=r2Ԝ3=h+-Rl0HšX`\ks.&CdIiU\u';)L9(}- KbT ,p!X=ˉF0jmZUs6z0Zĩ6$XMMB{.5ɗFa!s $ڴm`h+-Rl0HšX`\ks.&CdIiU\9hV [`c56 &\M10SjҫJgD{hV [`c56 &\M10SjҫJgD{=hV [`c56 &\M10SjҫJgD{9hV [`c56 &\M10Sjҫ:}аckBRؕ&)VeƷ92hь$<.vAV\Г4}Zĩ6$XMMB{.5ɗFa!s $ڴ箎ut,5ٰrЬ%I" jmbqL4c  a&եW=tO Zĩ6$XMMB{.5ɗFa!s $ڴ箕ifBRؕ&)VeƷ92hь$<.vAV\ҭ<,9hV [`c56 &\M10SjҫVnqpmhV [`c56 &\M10SjҫVnqpm=hV [`c56 &\M10SjҫVnqpm9hV [`c56 &\M10SjҫmhV [`c56 &\M10Sjҫl=hV [`c56 &\M10Sjҫl9hV [`c56 &\M10Sjҫou+qUr1Zĩ6$XMMB{.5ɗFa!s $ڴ箨ěJnt\MCօ`*M 8SSkˍnreѣHx\ 56*(&R,>W#`X)lJaE+[q4h; MMJzӳօ`*M 8SSkˍnreѣHx\ 56*NϪ34}Zĩ6$XMMB{.5ɗFa!s $ڴ;>9hV [`c56 &\M10SjҫIm0*Ь%I" jmbqL4c  a&եW=a=0`SGX)lJaE+[q4h; MMJz]%{`BRؕ&)VeƷ92hь$<.vAV\K= <.Ǻ2JZĩ6$XMMB{.5ɗFa!s $ڴ5YYv=ђUgmzЬ%I" jmbqL4c  a&եW=aB +;l `*M 8SSkˍnreѣHx\ 56* tzx]E**ҳhV [`c56 &\M10SjҫIggR+;l Cօ`*M 8SSkˍnreѣHx\ 56* tzx]E**ҳ9hV [`c56 &\M10SjҫIgg(- KbT ,p!X=ˉF0jmZUs,,%GX)lJaE+[q4h; MMJz]%Dl+-Rl0HšX`\ks.&CdIiUXkx0*Ь%I" jmbqL4c  a&եW=aϙBRؕ&)VeƷ92hь$<.vAV\K>g- KbT ,p!X=ˉF0jmZUs,{j 'ܪb+-Rl0HšX`\ks.&CdIiUXkH#86rzЬ%I" jmbqL4c  a&եW=aǶ }ʮF&BRؕ&)VeƷ92hь$<.vAV\Kdօ`*M 8SSkˍnreѣHx\ 56* t>=> KbT ,p!X=ˉF0jmZUs,}{ks6Zĩ6$XMMB{.5ɗFa!s $ڴ5X UUgmЬ%I" jmbqL4c  a&եW=a4R+;l Cօ`*M 8SSkˍnreѣHx\ 56* t>=diY`l+-Rl0HšX`\ks.&CdIiUXk!$JX)lJaE+[q4h; MMJz]% t%ZVv> KbT ,p!X=ˉF0jmZUs,k*ҳ9hV [`c56 &\M10SjҫIdC]$R+;l`*M 8SSkˍnreѣHx\ 56* tD5E**ҳ=hV [`c56 &\M10SjҫIdC]$R+;l `*M 8SSkˍnreѣHx\ 56* t{ksZĩ6$XMMB{.5ɗFa!s $ڴ5[A=hV [`c56 &\M10SjҫIn3`X)lJaE+[q4h; MMJz]%$%ZVv- KbT ,p!X=ˉF0jmZUs- *ҳ=hV [`c56 &\M10SjҫIn7FIVBRؕ&)VeƷ92hь$<.vAV\K t55X)lJaE+[q4h; MMJz]%W̙zЬ%I" jmbqL4c  a&եW=a]+fL9hV [`c56 &\M10SjҫIa'ܪb+-Rl0HšX`\ks.&CdIiUXkJUr14}Zĩ6$XMMB{.5ɗFa!s $ڴ5Xk` *- KbT ,p!X=ˉF0jmZUs,5 Ь%I" jmbqL4c  a&եW=a]"}> KbT ,p!X=ˉF0jmZUs,5 ٰrЬ%I" jmbqL4c  a&եW=a]'FIV BRؕ&)VeƷ92hь$<.vAV\K t%ZVv> KbT ,p!X=ˉF0jmZUs,5tdiY`l+-Rl0HšX`\ks.&CdIiUXkI$JX)lJaE+[q4h; MMJz]%HY%ZVv> KbT ,p!X=ˉF0jmZUs,5E**ҳ9hV [`c56 &\M10,] KbT ,p!X=ˉF0<] KbT ,p!X=ˉF0@] KbT ,p!X=ˉF0D] KbT ,p!X=ˉF0".V`*M 8SSkˍnreѣHx\$.V`*M 8SSkˍnreѣHx\$FSj)>+-Rl0HšX`\ks.&Cd&6$Vʬ{jͱ Ь%I" jmbqL4c  dx[Hjm[C*NUX)lJaE+[q4h; 4𶑰$ڶUhV [`c56 &\M12M<-lI56[6+-Rl0HšX`\ks.&Cd&6$Vu4Zĩ6$XMMB{.5ɗFa!s O iMMr+BRؕ&)VeƷ92hь$<.vAim#`IolH KbT ,p!X=ˉF0I &ս"Zĩ6$XMMB{.5ɗFa!s O iMMjЬ%I" jmbqL4c  dx[Hjm\nBRؕ&)VeƷ92hь$<.vAim#`IsX)lJaE+[q4h; ɀ >X)lJaE+[q4h; >X)lJaE+[q4h; ʀ >X)lJaE+[q4h; hV [`c56 &\M11 tG+-Rl0HšX`\ks.&Cd#Zĩ6$XMMB{.5ɗFa!s D}+BRؕ&)VeƷ92hь$<.vA#Zĩ6$XMMB{.5ɗFa!s &.V`*M 8SSkˍnreѣHx\@` Ь%I" jmbqL4c >vA{{iKЬ%I" jmbqL4c >vA(SjyJ8=&}Ҏ9+-Rl0HšX`\ks.&DatJ+$ڶ}Ҏ9uIt}> KbT ,p!X=ˉF0dz0]56tsRki(fBRؕ&)VeƷ92hь$@DMMi(TyJ8OЬ%I" jmbqL4c >vA(SjyJ8=&}Ҏ9bh+-Rl0HšX`\ks.&DatJ+$ڶ}Ҏ9uIt}- KbT ,p!X=ˉF0dz0]56tsRki(g%ﵡX)lJaE+[q4h |F QY&մq{Mm<s=h+-Rl0HšX`\ks.&DatJ+$ڶ}Ҏ9uIt}G̓`*M 8SSkˍnreѣH =.EdVϺQ95qϳфƫBRؕ&)VeƷ92hь$@DMMi(TyJ8HSGX)lJaE+[q4h |F QY&մq{Mm<sa$cqrЬ%I" jmbqL4c >vA(SjyJ8=&}Ҏ9z15Zĩ6$XMMB{.5ɗFa"0`%jm[O>G纤ϺQ>F5BRؕ&)VeƷ92hь$@DMMi(TyJ8ƶ9hV [`c56 &\M1; тVIm<s[O>G{IV`*M 8SSkˍnreѣH =.EdVϺQ95qϷ)T=hV [`c56 &\M1; тVIm<s[O>G{IM`*M 8SSkˍnreѣH =.EdVϺQ95qϹJgD{hV [`c56 &\M1; тVIm<s[O>G}GCօ`*M 8SSkˍnreѣH =.EdVϺQ95qϹJgD{9hV [`c56 &\M1; тVIm<s[O>G/X)lJaE+[q4h |F QY&մq{Mm<shCօ`*M 8SSkˍnreѣH =.EdVϺQ95qϹ6Zĩ6$XMMB{.5ɗFa"0`%jm[O>G纤ϺQ>ob+-Rl0HšX`\ks.&DatJ+$ڶ}Ҏ9uIt}g=hV [`c56 &\M1; тVIm<s[O>GϫrЬ%I" jmbqL4c >vA(SjyJ8=&}Ҏ9J+-Rl0HšX`\ks.&DatJ+$ڶ}Ҏ9uIt}ҭ> KbT ,p!X=ˉF0dz0]56tsRki(tkfBRؕ&)VeƷ92hь$@DMMi(TyJ8*.BRؕ&)VeƷ92hь$@DMMi(TyJ8*.BRؕ&)VeƷ92hь$@DMMi(TyJ8*.BRؕ&)VeƷ92hь$@DMMi(TyJ8ZshV [`c56 &\M1; тVIm<s[O>GN}> KbT ,p!X=ˉF0dz0]56tsRki(uiϳ`X)lJaE+[q4h |F QY&մq{Mm<shV [`c56 &\M1; тVIm<s[O>G54}Zĩ6$XMMB{.5ɗFa"0`%jm[O>G纤ϺQ>` M`*M 8SSkˍnreѣH =.EdVϺQ95qϴhV [`c56 &\M1; тVIm<s[O>GMJCօ`*M 8SSkˍnreѣH =.EdVϺQ95qϴ9hV [`c56 &\M1; тVIt tHRiir1Zĩ6$XMMB{.5ɗFa"0`%jm]+iԬ}Z}\MCօ`*M 8SSkˍnreѣH =.EdW@Du+6VW#`X)lJaE+[q4h |F QY&1"JͧTb+-Rl0HšX`\ks.&DatJ+$ں:$VөYjMCօ`*M 8SSkˍnreѣH =.EdW@Du+6SQrЬ%I" jmbqL4c >vA(Sj[NfRD}hV [`c56 &\M1; тVIt tHRi{X">h+-Rl0HšX`\ks.&DatJ+$ں:$VөYԬo6Zĩ6$XMMB{.5ɗFa"0`%jm]+ir1Zĩ6$XMMB{.5ɗFa"0`%jm]+ir14}Zĩ6$XMMB{.5ɗFa"0`%jm]+ir16Zĩ6$XMMB{.5ɗFa"0`%jm]+9Ri9 KbT ,p!X=ˉF0dz0]56өYCօ`*M 8SSkˍnreѣH =.EdW@DFckiԬ}NFcfBRؕ&)VeƷ92hь$@DMMcEg#15iFckBRؕ&)VeƷ92hь$@DMMcEg#15iFcfBRؕ&)VeƷ92hь$@DMMcEg#15iFcfBRؕ&)VeƷ92hь$@DMMcEg#15օ`*M 8SSkˍnreѣH =.EdW@DFck9> KbT ,p!X=ˉF0dz0]56r3s6Zĩ6$XMMB{.5ɗFa"0`%jm]+9a$RЬ%I" jmbqL4c >vA(SjY}g "GCօ`*M 8SSkˍnreѣH =.EdW@DFck=Il+-Rl0HšX`\ks.&DatJ+$ں:$Vr3s]U&r3sZĩ6$XMMB{.5ɗFa"0`%jm]+9*9> KbT ,p!X=ˉF0dz0]56pI̓`*M 8SSkˍnreѣH =.EdW@DFck9 KbT ,p!X=ˉF0dz0]56u= r3s4}Zĩ6$XMMB{.5ɗFa"0`%jm]+9zl+-Rl0HšX`\ks.&DatJ+$ں:$Vr3s[9 KbT ,p!X=ˉF0dz0]56FFcfBRؕ&)VeƷ92hь$@DMMcEg#15ѳrЬ%I" jmbqL4c >vA(SjY}pmkg#15X)lJaE+[q4h |F QY&1"FcfBRؕ&)VeƷ92hь$@DMMcEg#15̓`*M 8SSkˍnreѣH =.EdW@DFck$*uo9 KbT ,p!X=ˉF0dz0]56DHTNr3s4}Zĩ6$XMMB{.5ɗFa"0`%jm]+9֝f>l+-Rl0HšX`\ks.&DatJ+$ں:$Vr3s]]WЬ%I" jmbqL4c >vA(SjY}uu_cFcfBRؕ&)VeƷ92hь$@DMMcEg#15}9- KbT ,p!X=ˉF0dz0]5642kBRؕ&)VeƷ92hь$@DMMcEg#12 >̙zЬ%I" jmbqL4c >vA(SjY}̃O3&l+-Rl0HšX`\ks.&DatJ+$ں:$Vr)D}bFzЬ%I" jmbqL4c >vA(SjYȥ>m#握BRؕ&)VeƷ92hь$@DMMcEg"G$n- KbT ,p!X=ˉF0dz0]56+-Rl0HšX`\ks.&DatJ+$ں:$Vr zЬ%I" jmbqL4c >vA(SjYȀ&BRؕ&)VeƷ92hь$@DMMcEg"JBRؕ&)VeƷ92hь$@DMMcEg"JBRؕ&)VeƷ92hь$@DMMcEg"JBRؕ&)VeƷ92hь$@DMMcEg%Z3E)- KbT ,p!X=ˉF0dz0]56jHh+-Rl0HšX`\ks.&DatJ+$ں:$VrU1#4RrЬ%I" jmbqL4c >vA(SjYV KbT ,p!X=ˉF0dz0]56j`yzЬ%I" jmbqL4c >vA(SjYV- KbT ,p!X=ˉF0dz0]56o}uQЬ%I" jmbqL4c >vA(SjYU> KbT ,p!X=ˉF0dz0]56o}uQrЬ%I" jmbqL4c >vA(SjY>sckBRؕ&)VeƷ92hь$@DMMcEg;M> KbT ,p!X=ˉF0dz0]56o|#w966l+-Rl0HšX`\ks.&DatJ+$ں:$Vz/Fg4ɱ KbT ,p!X=ˉF0dz0]56љ".rlm握BRؕ&)VeƷ92hь$@DMMcEgfzKyrЬ%I" jmbqL4c >vA(SjYND3Zĩ6$XMMB{.5ɗFa"0`%jm]+=Ȁ6=FfBRؕ&)VeƷ92hь$@DMMcEg9Ǻ9hV [`c56 &\M1; тVIt tH`r'"X)lJaE+[q4h |F QY&1"сȜGCօ`*M 8SSkˍnreѣH =.EdW@DF"r o6Zĩ6$XMMB{.5ɗFa"0`%jm]+g$D$}`*M 8SSkˍnreѣH =.EdW@D#6CGX)lJaE+[q4h |F QY&1"rDHͲA9hV [`c56 &\M1; тVIt tH}jOȥ>m#BRؕ&)VeƷ92hь$@DMMcEcR}NE(lHo4}Zĩ6$XMMB{.5ɗFa"0`%jm]+dr)D}bFyrЬ%I" jmbqL4c >vA(SjX ԟSQoZĩ6$XMMB{.5ɗFa"0`%jm]+drU1#握BRؕ&)VeƷ92hь$@DMMcEcR}NJF0D}9hV [`c56 &\M1; тVIt tH}jOU KbT ,p!X=ˉF0dz0]56 I>3GX)lJaE+[q4h |F QY&1"A>cTfl+-Rl0HšX`\ks.&DatJ+$ں:$V>5'}. Hօ`*M 8SSkˍnreѣH =.EdW@DAizЬ%I" jmbqL4c >vA(SjX ԟQ@(6-#s6Zĩ6$XMMB{.5ɗFa"0`%jm]+dAҤ KbT ,p!X=ˉF0dz0]56 I R HCօ`*M 8SSkˍnreѣH =.EdW@DDŤnfBRؕ&)VeƷ92hь$@DMMcEcR}^V KbT ,p!X=ˉF0dz0]56 I{X">h+-Rl0HšX`\ks.&DatJ+$ں:$V>5'`yrЬ%I" jmbqL4c >vA(SjX ԟWϫoZĩ6$XMMB{.5ɗFa"0`%jm]+dRr1#握BRؕ&)VeƷ92hь$@DMMcEcR}^V>F0D}9hV [`c56 &\M1; тVIt tH}jO/[X)lJaE+[q4h |F QY&1"A>tHocGCօ`*M 8SSkˍnreѣH =.EdW@D"ϫo6Zĩ6$XMMB{.5ɗFa"0`%jm]+t 2b75X)lJaE+[q4h |F QY&1"@(6-#s4}Zĩ6$XMMB{.5ɗFa"0`%jm]+t 2b73`X)lJaE+[q4h |F QY&1"NU'*;V`*M 8SSkˍnreѣH =.EdW@D;V؟t354}Zĩ6$XMMB{.5ɗFa"0`%jm]+5[b}ҨӸ9hV [`c56 &\M1; тVIt tHӸmJ7օ`*M 8SSkˍnreѣH =.EdW@D;V؟t3{[=hV [`c56 &\M1; тVIt tHӸmJ7̓`*M 8SSkˍnreѣH =.EdW@D;V{gu5Zĩ6$XMMB{.5ɗFa"0`%jm]+5YӸ=hV [`c56 &\M1; тVIt tHӸgw[NS`X)lJaE+[q4h |F QY&1"NU^VsZĩ6$XMMB{.5ɗFa"0`%jm]+5Yn73GX)lJaE+[q4h |F QY&1"NU^Vs6Zĩ6$XMMB{.5ɗFa"0`%jm]+5YUԭ+-Rl0HšX`\ks.&DatJ+$ں:$Wij3{[=hV [`c56 &\M1; тVIt tHӸgcTfRrЬ%I" jmbqL4c >vA(Sj]qA#vƫBRؕ&)VeƷ92hь$@DMMcEvƫ=čw> KbT ,p!X=ˉF0dz0]56w7ijl+-Rl0HšX`\ks.&DatJ+$ں:$WijlHJnkBRؕ&)VeƷ92hь$@DMMcEvƫ=čԭh+-Rl0HšX`\ks.&DatJ+$ں:$WijlHJnfBRؕ&)VeƷ92hь$@DMMcEvƫB[NUX)lJaE+[q4h |F QY&1"NUDqqzЬ%I" jmbqL4c >vA(Sj]qǢzPӸ9hV [`c56 &\M1; тVIt tHӸc=(\jRЬ%I" jmbqL4c >vA(Sj]qǢzPn73GX)lJaE+[q4h |F QY&1"NUDqJnfBRؕ&)VeƷ92hь$@DMMcEvƫ5{[V`*M 8SSkˍnreѣH =.EdW@D;WijRJ> KbT ,p!X=ˉF0dz0]56wӸn776Zĩ6$XMMB{.5ɗFa"0`%jm]+5Zs{ij+-Rl0HšX`\ks.&DatJ+$ں:$Wij D.Ӹ=hV [`c56 &\M1; тVIt tHӸh]qrЬ%I" jmbqL4c >vA(Sj]q'+օ`*M 8SSkˍnreѣH =.EdW@D;V9\腽ԭh+-Rl0HšX`\ks.&DatJ+$ں:$Wij D-n73`X)lJaE+[q4h |F QY&1"NU5ů!6=hV [`c56 &\M1; тVIt tHӸnnqkMls4}Zĩ6$XMMB{.5ɗFa"0`%jm]+5[[Zl-*̓`*M 8SSkˍnreѣH =.EdW@D;V 5Zĩ6$XMMB{.5ɗFa"0`%jm]+5[[Zl.Ӹ=hV [`c56 &\M1; тVIt tHӸnnqkMNS`X)lJaE+[q4h |F QY&1"NU5ů!6VsZĩ6$XMMB{.5ɗFa"0`%jm]+5[[Zl-n73GX)lJaE+[q4h |F QY&1"NU5ů!6Vs6Zĩ6$XMMB{.5ɗFa"0`%jm]+5[Jm[ij+-Rl0HšX`\ks.&DatJ+$ں:$WijڶӸ=hV [`c56 &\M1; тVIt tHӸou*=mqrЬ%I" jmbqL4c >vA(Sj]qT{j׺օ`*M 8SSkˍnreѣH =.EdW@D;VRVԭh+-Rl0HšX`\ks.&DatJ+$ں:$Wijڵn73`X)lJaE+[q4h |F QY&1"NUԭ-}\m;V`*M 8SSkˍnreѣH =.EdW@D;VRr154}Zĩ6$XMMB{.5ɗFa"0`%jm]+5[JgӸ9hV [`c56 &\M1; тVIt tHӸou+K}W#օ`*M 8SSkˍnreѣH =.EdW@D;VRr1{[=hV [`c56 &\M1; тVIt tHӸou+K}W#̓`*M 8SSkˍnreѣH =.EdW@D;W VƫBRؕ&)VeƷ92hь$@DMMcEvƫ+NSGX)lJaE+[q4h |F QY&1"NU╧qrЬ%I" jmbqL4c >vA(Sj]qqIn75X)lJaE+[q4h |F QY&1"NUJnfBRؕ&)VeƷ92hь$@DMMcEvƫ'̓`*M 8SSkˍnreѣH =.EdW@D;W$dqJӸhV [`c56 &\M1; тVIt tHӸrFIJ;MCօ`*M 8SSkˍnreѣH =.EdW@D;W$dqJӸ9hV [`c56 &\M1; тVIt tHӸrFIJVsZĩ6$XMMB{.5ɗFa"0`%jm]+5\R'Cօ`*M 8SSkˍnreѣH =.EdW@D;W$dqIn73`X)lJaE+[q4h |F QY&1"NUէ>EB0D}ӸhV [`c56 &\M1; тVIt tHӸuiϳzPo54}Zĩ6$XMMB{.5ɗFa"0`%jm]+5]Zs^#G;M`*M 8SSkˍnreѣH =.EdW@D;WV=օ`*M 8SSkˍnreѣH =.EdW@D;WV=Cօ`*M 8SSkˍnreѣH =.EdW@D;WV=̓`*M 8SSkˍnreѣH =.EdW@D;WV#ƫBRؕ&)VeƷ92hь$@DMMcEvƫN}NSGX)lJaE+[q4h |F QY&1"NUէ>}qrЬ%I" jmbqL4c >vA(Sj]qӟpD}n75X)lJaE+[q4h |F QY&1"NUէ>{JnfBRؕ&)VeƷ92hь$@DMMcEvƫN}̓`*M 8SSkˍnreѣH =.EdW@D;WY&ƎF6ƫBRؕ&)VeƷ92hь$@DMMcEvƫcG#NSGX)lJaE+[q4h |F QY&1"NUwvɱqrЬ%I" jmbqL4c >vA(Sj]q;dn75X)lJaE+[q4h |F QY&1"NUwvɱJnfBRؕ&)VeƷ92hь$@DMMcEvƫcG#̓`*M 8SSkˍnreѣH =.EdW@D;WYNUX)lJaE+[q4h |F QY&1"NUwpD}Ӹ=hV [`c56 &\M1; тVIt tHӸuo56Zĩ6$XMMB{.5ɗFa"0`%jm]+5]gwGVsZĩ6$XMMB{.5ɗFa"0`%jm]+5]gwGVs4}Zĩ6$XMMB{.5ɗFa"0`%jm]+5]gwGVs6Zĩ6$XMMB{.5ɗFa"0`%jm]+5]gwK}W#NUX)lJaE+[q4h |F QY&1"NUwtr154}Zĩ6$XMMB{.5ɗFa"0`%jm]+5]gwK}W#NS`X)lJaE+[q4h |F QY&1"NUwtr1{[hV [`c56 &\M1; тVIt tHӸu-}\^Vs4}Zĩ6$XMMB{.5ɗFa"0`%jm]+5]gwK}W#̓`*M 8SSkˍnreѣH =.EdW@D;VGӟv=մ5Zĩ6$XMMB{.5ɗFa"0`%jm]+5ZQN}VӸ=hV [`c56 &\M1; тVIt tHӸiDz-9c[NS`X)lJaE+[q4h |F QY&1"NUݏu^VsZĩ6$XMMB{.5ɗFa"0`%jm]+5ZQN}Un73GX)lJaE+[q4h |F QY&1"NUݏu^Vs6Zĩ6$XMMB{.5ɗFa"0`%jm]+ R Hօ`*M 8SSkˍnreѣH =.EdW@D"zTb73GX)lJaE+[q4h |F QY&1" ش9hV [`c56 &\M1; тVIt tHL[Ь%I" jmbqL4c >vA(SjY>3GX)lJaE+[q4h |F QY&1"3i2}nfBRؕ&)VeƷ92hь$@DMMcEn= KbT ,p!X=ˉF0dz0]56bh+-Rl0HšX`\ks.&DatJ+$ں:$VщrЬ%I" jmbqL4c >vA(Sj[6ъЬ%I" jmbqL4c >vA(Sj[6щzЬ%I" jmbqL4c >vA(Sj[6щrЬ%I" jmbqL4c >vA(SjY&O KbT ,p!X=ˉF0dz0]56lzЬ%I" jmbqL4c >vA(SjY&O- KbT ,p!X=ˉF0dz0]569* KbT ,p!X=ˉF0dz0]569*> KbT ,p!X=ˉF0dz0]569*- KbT ,p!X=ˉF0dz0]56= <,@X)lJaE+[q4h |F QY&1"Ggh+-Rl0HšX`\ks.&DatJ+$ں:$VH,M`*M 8SSkˍnreѣH =.EdW@Dr .):X)lJaE+[q4h |F QY&1"Gg N=hV [`c56 &\M1; тVIt tHYg"⓫p6Zĩ6$XMMB{.5ɗFa"0`%jm]+$z09V`*M 8SSkˍnreѣH =.EdW@DD@GX)lJaE+[q4h |F QY&1"G99hV [`c56 &\M1; тVIt tHHUX)lJaE+[q4h |F QY&1"G #MCօ`*M 8SSkˍnreѣH =.EdW@D$n56Zĩ6$XMMB{.5ɗFa"0`%jm]+$>Te&օ`*M 8SSkˍnreѣH =.EdW@DIGX)lJaE+[q4h |F QY&1"CuFRll9hV [`c56 &\M1; тVIt tH5Zĩ6$XMMB{.5ɗFa"0`%jm]+$=z$MCօ`*M 8SSkˍnreѣH =.EdW@Ds^`X)lJaE+[q4h |F QY&1"V=FrlmhV [`c56 &\M1; тVIt tHuQ4}Zĩ6$XMMB{.5ɗFa"0`%jm]+%cTg&̓`*M 8SSkˍnreѣH =.EdW@DakBRؕ&)VeƷ92hь$@DMMcEdMGX)lJaE+[q4h |F QY&1"D&YrЬ%I" jmbqL4c >vA(SjY'F8&ZЬ%I" jmbqL4c >vA(SjY'F8&YzЬ%I" jmbqL4c >vA(SjY'F8&YrЬ%I" jmbqL4c >vA(SjY'zЬ%I" jmbqL4c >vA(SjY'yzЬ%I" jmbqL4c >vA(SjY'yrЬ%I" jmbqL4c >vA(SjY'ɱX)lJaE+[q4h |F QY&1"Oi;cfBRؕ&)VeƷ92hь$@DMMcEdw;&̓`*M 8SSkˍnreѣH =.EdW@D=ԪЬ%I" jmbqL4c >vA(SjY'4}Zĩ6$XMMB{.5ɗFa"0`%jm]+$RBRؕ&)VeƷ92hь$@DMMcEdqIhV [`c56 &\M1; тVIt tH.)> KbT ,p!X=ˉF0dz0]56#`X)lJaE+[q4h |F QY&1"Psf+-Rl0HšX`\ks.&DatJ+$ں:$VJlCօ`*M 8SSkˍnreѣH =.EdW@DB͙rЬ%I" jmbqL4c >vA(SjY(\Run BRؕ&)VeƷ92hь$@DMMcEdqIո> KbT ,p!X=ˉF0dz0]56'Vl+-Rl0HšX`\ks.&DatJ+$ں:$VIUM KbT ,p!X=ˉF0dz0]56FUr1cfBRؕ&)VeƷ92hь$@DMMcEd\dٰrЬ%I" jmbqL4c >vA(SjY)66X)lJaE+[q4h |F QY&1"Rlm握BRؕ&)VeƷ92hь$@DMMcEd̓`*M 8SSkˍnreѣH =.EdW@DIb3ABRؕ&)VeƷ92hь$@DMMcEdP1 xGX)lJaE+[q4h |F QY&1"Rm(ǐuyrЬ%I" jmbqL4c >vA(SjY)#$ KBRؕ&)VeƷ92hь$@DMMcEd.)> KbT ,p!X=ˉF0dz0]562JPl+-Rl0HšX`\ks.&DatJ+$ں:$VJSD9Zĩ6$XMMB{.5ɗFa"0`%jm]+%)FwJٚ> KbT ,p!X=ˉF0dz0]56#;l̓`*M 8SSkˍnreѣH =.EdW@DM܉VhV [`c56 &\M1; тVIt tH=ȜjMCօ`*M 8SSkˍnreѣH =.EdW@DM܉V9hV [`c56 &\M1; тVIt tH=ȜjaqIո- KbT ,p!X=ˉF0dz0]56GQ.):GX)lJaE+[q4h |F QY&1"Sh"rU1'Vl+-Rl0HšX`\ks.&DatJ+$ں:$VJhY66+-Rl0HšX`\ks.&DatJ+$ں:$VJhY66h+-Rl0HšX`\ks.&DatJ+$ں:$VJhY66l+-Rl0HšX`\ks.&DatJ+$ں:$VJhV [`c56 &\M1; тVIt tH/y͙zЬ%I" jmbqL4c >vA(SjY*4^3`X)lJaE+[q4h |F QY&1"T>hlmhV [`c56 &\M1; тVIt tH/|4}Zĩ6$XMMB{.5ɗFa"0`%jm]+%C&̓`*M 8SSkˍnreѣH =.EdW@DRٶhV [`c56 &\M1; тVIt tH.MjCօ`*M 8SSkˍnreѣH =.EdW@DRٶ9hV [`c56 &\M1; тVIt tH5X)lJaE+[q4h |F QY&1"T{Cօ`*M 8SSkˍnreѣH =.EdW@DQs6Zĩ6$XMMB{.5ɗFa"0`%jm]+%I=ՓckBRؕ&)VeƷ92hь$@DMMcEd'll=hV [`c56 &\M1; тVIt tH$VM- KbT ,p!X=ˉF0dz0]56N:ɱX)lJaE+[q4h |F QY&1"UiX66h+-Rl0HšX`\ks.&DatJ+$ں:$VJ8&̓`*M 8SSkˍnreѣH =.EdW@DU>օ`*M 8SSkˍnreѣH =.EdW@DU>Cօ`*M 8SSkˍnreѣH =.EdW@DU>̓`*M 8SSkˍnreѣH =.EdW@DVvաX)lJaE+[q4h |F QY&1"U=hV [`c56 &\M1; тVIt tHlgm6Zĩ6$XMMB{.5ɗFa"0`%jm]+%[jABRؕ&)VeƷ92hь$@DMMcEd` H:<=hV [`c56 &\M1; тVIt tHl[Ǜ- KbT ,p!X=ˉF0dz0]565ckBRؕ&)VeƷ92hь$@DMMcEd` d٣zЬ%I" jmbqL4c >vA(SjY*Y66l+-Rl0HšX`\ks.&DatJ+$ں:$VJ"9* KbT ,p!X=ˉF0dz0]56$HJF&BRؕ&)VeƷ92hь$@DMMcEd/QrЬ%I" jmbqL4c >vA(SjY*lօ`*M 8SSkˍnreѣH =.EdW@DU^sfh+-Rl0HšX`\ks.&DatJ+$ں:$VJ3`X)lJaE+[q4h |F QY&1"UEZĩ6$XMMB{.5ɗFa"0`%jm]+%TQ}]#GX)lJaE+[q4h |F QY&1"UE6Zĩ6$XMMB{.5ɗFa"0`%jm]+%Yݭ KbT ,p!X=ˉF0dz0]56Cօ`*M 8SSkˍnreѣH =.EdW@DVwfBRؕ&)VeƷ92hь$@DMMcEduIhV [`c56 &\M1; тVIt tHn#:> KbT ,p!X=ˉF0dz0]56M$gS`X)lJaE+[q4h |F QY&1"AC`*M 8SSkˍnreѣH =.EdW@D:# 4}Zĩ6$XMMB{.5ɗFa"0`%jm]+$D09hV [`c56 &\M1; тVIt tH.ҳD.օ`*M 8SSkˍnreѣH =.EdW@D+4B=hV [`c56 &\M1; тVIt tH.ҳD.̓`*M 8SSkˍnreѣH =.EdW@DT{qs KbT ,p!X=ˉF0dz0]56ԩ>s4}Zĩ6$XMMB{.5ɗFa"0`%jm]+{S}l+-Rl0HšX`\ks.&DatJ+$ں:$VRD}hV [`c56 &\M1; тVIt tH`yzЬ%I" jmbqL4c >vA(Sj[J`X)lJaE+[q4h |F QY&1"ϫoZĩ6$XMMB{.5ɗFa"0`%jm]+{Z[GX)lJaE+[q4h |F QY&1"ϫo6Zĩ6$XMMB{.5ɗFa"0`%jm]+z(#]hV [`c56 &\M1; тVIt tH؏!vGX)lJaE+[q4h |F QY&1"[b<̓`*M 8SSkˍnreѣH =.EdW@DqJphV [`c56 &\M1; тVIt tH MCօ`*M 8SSkˍnreѣH =.EdW@DqJp9hV [`c56 &\M1; тVIt tHocŤnkBRؕ&)VeƷ92hь$@DMMcEpK}W#6-#s4}Zĩ6$XMMB{.5ɗFa"0`%jm]+*[irЬ%I" jmbqL4c >vA(SjZ)oi4RЬ%I" jmbqL4c >vA(SjZ)oi4RzЬ%I" jmbqL4c >vA(SjZ)oi4RrЬ%I" jmbqL4c >vA(Sj\)b5X)lJaE+[q4h |F QY&1"M3RFfBRؕ&)VeƷ92hь$@DMMcEr$gt̓`*M 8SSkˍnreѣH =.EdW@D4HH#U2JZĩ6$XMMB{.5ɗFa"0`%jm]+#; ]Tf*ҳ=hV [`c56 &\M1; тVIt tHSD1uQ$J`X)lJaE+[q4h |F QY&1"GkBRؕ&)VeƷ92hь$@DMMcEsCօ`*M 8SSkˍnreѣH =.EdW@Dqs- KbT ,p!X=ˉF0dz0]56FlZF+-Rl0HšX`\ks.&DatJ+$ں:$W;]izЬ%I" jmbqL4c >vA(Sj\MtkŤnfBRؕ&)VeƷ92hь$@DMMcEsEɱэZօ`*M 8SSkˍnreѣH =.EdW@D5cgѹ> KbT ,p!X=ˉF0dz0]56k&F5ks6Zĩ6$XMMB{.5ɗFa"0`%jm]+EiϵX)lJaE+[q4h |F QY&1"4^4}Zĩ6$XMMB{.5ɗFa"0`%jm]+Eiϳ`X)lJaE+[q4h |F QY&1"4^66z1[hV [`c56 &\M1; тVIt tHMiVƴ4}Zĩ6$XMMB{.5ɗFa"0`%jm]+EcgU `*M 8SSkˍnreѣH =.EdW@D|{M+-Rl0HšX`\ks.&DatJ+$ں:$WC&hSGX)lJaE+[q4h |F QY&1"4^66E*- KbT ,p!X=ˉF0dz0]56"ϫoZĩ6$XMMB{.5ɗFa"0`%jm]+EK}W#">h+-Rl0HšX`\ks.&DatJ+$ں:$WGD>F0D}9hV [`c56 &\M1; тVIt tH IӸ\kEX)lJaE+[q4h |F QY&1"86`'Nq Cօ`*M 8SSkˍnreѣH =.EdW@D۝;ƴ6Zĩ6$XMMB{.5ɗFa"0`%jm]+cDcJ5Ь%I" jmbqL4c >vA(Sj]'U Cօ`*M 8SSkˍnreѣH =.EdW@D=ҭhl+-Rl0HšX`\ks.&DatJ+$ں:$W@DUsW]`*M 8SSkˍnreѣH =.EdW@DJ{롣zЬ%I" jmbqL4c >vA(Sj])Uu]t6Zĩ6$XMMB{.5ɗFa"0`%jm]+8 tFօ`*M 8SSkˍnreѣH =.EdW@DN5BGX)lJaE+[q4h |F QY&1"PAl9hV [`c56 &\M1; тVIt tH9J֭ͧ9Gօ`*M 8SSkˍnreѣH =.EdW@DӟkiԬ}jӟpD}=hV [`c56 &\M1; тVIt tH9J֭ͧ9G̓`*M 8SSkˍnreѣH =.EdW@DӟkdV>GkBRؕ&)VeƷ92hь$@DMMcEuiϵ IN}o|#w3GX)lJaE+[q4h |F QY&1"է>Ϸw;rЬ%I" jmbqL4c >vA(Sj]ZscR}jӟg">޴+-Rl0HšX`\ks.&DatJ+$ں:$WVX ԟZ(F> KbT ,p!X=ˉF0dz0]56է>>5'֭9z/J#BRؕ&)VeƷ92hь$@DMMcEuiϵ IN}X)lJaE+[q4h |F QY&1"է>yzЬ%I" jmbqL4c >vA(Sj]ZscR}jӟpD}9hV [`c56 &\M1; тVIt tH9Uiϴ-kBRؕ&)VeƷ92hь$@DMMcEuiϵN}ms4}Zĩ6$XMMB{.5ɗFa"0`%jm]+N}Zs hrЬ%I" jmbqL4c >vA(Sj]Zsuiϳ3Zĩ6$XMMB{.5ɗFa"0`%jm]+N}9}=FfBRؕ&)VeƷ92hь$@DMMcEuiϵէ>ϷǺ9hV [`c56 &\M1; тVIt tH9>sZĩ6$XMMB{.5ɗFa"0`%jm]+N}9}󸏹Cօ`*M 8SSkˍnreѣH =.EdW@DӟkN}o|#w3`X)lJaE+[q4h |F QY&1"ӟgX)lJaE+[q4h |F QY&1"ӟgGX)lJaE+[q4h |F QY&1"ӟg`X)lJaE+[q4h |F QY&1"ӟg">޴+-Rl0HšX`\ks.&DatJ+$ں:$WV]Zs^#GCօ`*M 8SSkˍnreѣH =.EdW@DӟkN}҄`yrЬ%I" jmbqL4c >vA(Sj]Zsuiϸ">޴+-Rl0HšX`\ks.&DatJ+$ں:$WV]Zs> KbT ,p!X=ˉF0dz0]56է>V#BRؕ&)VeƷ92hь$@DMMcEuiԬ}GzPhV [`c56 &\M1; тVIt tHm:OOJ> KbT ,p!X=ˉF0dz0]56RiBS`X)lJaE+[q4h |F QY&1"UJKЬ%I" jmbqL4c >vA(Sj]lZ%[=hV [`c56 &\M1; тVIt tHmf㒭l+-Rl0HšX`\ks.&DatJ+$ں:$W[j=ڹ}ʮF+BRؕ&)VeƷ92hь$@DMMcEu9މ'ܪbh+-Rl0HšX`\ks.&DatJ+$ں:$W[j=ڹ}ʮF&BRؕ&)VeƷ92hь$@DMMcEu97XbЬ%I" jmbqL4c >vA(Sj]lDMh+-Rl0HšX`\ks.&DatJ+$ں:$W[jSu- KbT ,p!X=ˉF0dz0]56+-Rl0HšX`\ks.&DatJ+$ں:$W[j;zЬ%I" jmbqL4c >vA(Sj]llBRؕ&)VeƷ92hь$@DMMcEu=Ij1hV [`c56 &\M1; тVIt tHg #Su> KbT ,p!X=ˉF0dz0]56a$cqn`X)lJaE+[q4h |F QY&1"U$[M+-Rl0HšX`\ks.&DatJ+$ں:$W[jфi Cօ`*M 8SSkˍnreѣH =.EdW@D` Vz04um7XarЬ%I" jmbqL4c >vA(Sj]lV`*M 8SSkˍnreѣH =.EdW@D` V>5'h+-Rl0HšX`\ks.&DatJ+$ں:$W[jA>wS`X)lJaE+[q4h |F QY&1"U I3 uV`*M 8SSkˍnreѣH =.EdW@D` V>5'Ǻ-4}Zĩ6$XMMB{.5ɗFa"0`%jm]+5X ԟ[0T9hV [`c56 &\M1; тVIt tHcR}Pq(V+-Rl0HšX`\ks.&DatJ+$ں:$W[jA>8q+s4}Zĩ6$XMMB{.5ɗFa"0`%jm]+5X ԟTE- KbT ,p!X=ˉF0dz0]56}jO*M5'֕&=҅ƦBRؕ&)VeƷ92hь$@DMMcEudJ}BS`X)lJaE+[q4h |F QY&1"U I5IBRؕ&)VeƷ92hь$@DMMcEud[jCօ`*M 8SSkˍnreѣH =.EdW@D` V>5'ֶ'- KbT ,p!X=ˉF0dz0]56z' V`*M 8SSkˍnreѣH =.EdW@D` V=҅ƦBRؕ&)VeƷ92hь$@DMMcEuBS`X)lJaE+[q4h |F QY&1"UUBRؕ&)VeƷ92hь$@DMMcEu3 uMCօ`*M 8SSkˍnreѣH =.EdW@D` WcTf- KbT ,p!X=ˉF0dz0]56phV [`c56 &\M1; тVIt tHvƦBRؕ&)VeƷ92hь$@DMMcEu.56Zĩ6$XMMB{.5ɗFa"0`%jm]+5Y[Ǧ Zĩ6$XMMB{.5ɗFa"0`%jm]+5Y[Ǧ 4}Zĩ6$XMMB{.5ɗFa"0`%jm]+5Y[Ǧ 6Zĩ6$XMMB{.5ɗFa"0`%jm]+5Z"E օ`*M 8SSkˍnreѣH =.EdW@D` VB3GX)lJaE+[q4h |F QY&1"U(=P9hV [`c56 &\M1; тVIt tHhVZ{UX)lJaE+[q4h |F QY&1"UX=hV3 uMCօ`*M 8SSkˍnreѣH =.EdW@D` V`X>Ǻ-6Zĩ6$XMMB{.5ɗFa"0`%jm]+5[F)`*M 8SSkˍnreѣH =.EdW@D` VъnGX)lJaE+[q4h |F QY&1"Ub09hV [`c56 &\M1; тVIt tHd` OFF7 KbT ,p!X=ˉF0dz0]56lHSGX)lJaE+[q4h |F QY&1"U5=Ijl+-Rl0HšX`\ks.&DatJ+$ں:$W[j'hV [`c56 &\M1; тVIt tHavN zЬ%I" jmbqL4c >vA(Sj]l#`X)lJaE+[q4h |F QY&1"U[u- KbT ,p!X=ˉF0dz0]56:ޛ0=hV [`c56 &\M1; тVIt tHoiaBRؕ&)VeƷ92hь$@DMMcEuUi϶ֳqVuZĩ6$XMMB{.5ɗFa"0`%jm]+5\N}JKzЬ%I" jmbqL4c >vA(Sj]lZsrU]M`*M 8SSkˍnreѣH =.EdW@D` W&ͤf 1hV [`c56 &\M1; тVIt tHrlFm Cօ`*M 8SSkˍnreѣH =.EdW@D` W&ͤf 09hV [`c56 &\M1; тVIt tHrm(Ǧ Zĩ6$XMMB{.5ɗFa"0`%jm]+5\J#1 Cօ`*M 8SSkˍnreѣH =.EdW@D` W&ҁzn`X)lJaE+[q4h |F QY&1"UtGzPhV [`c56 &\M1; тVIt tHr{]螔.54}Zĩ6$XMMB{.5ɗFa"0`%jm]+5\Dz' M`*M 8SSkˍnreѣH =.EdW@D` W'M+-Rl0HšX`\ks.&DatJ+$ں:$W[j=nGX)lJaE+[q4h |F QY&1"UtSu- KbT ,p!X=ˉF0dz0]56Hr1Zĩ6$XMMB{.5ɗFa"0`%jm]+5\bh+-Rl0HšX`\ks.&DatJ+$ں:$W[j#GU9hV [`c56 &\M1; тVIt tHsΤ,{UX)lJaE+[q4h |F QY&1"UΤ:3 uMCօ`*M 8SSkˍnreѣH =.EdW@D` W:\BǺ-6Zĩ6$XMMB{.5ɗFa"0`%jm]+5],.5Zĩ6$XMMB{.5ɗFa"0`%jm]+5],.54}Zĩ6$XMMB{.5ɗFa"0`%jm]+5],.56Zĩ6$XMMB{.5ɗFa"0`%jm]+5] >Z%[hV [`c56 &\M1; тVIt tHtt$mk7nSGX)lJaE+[q4h |F QY&1"UГrU]M`*M 8SSkˍnreѣH =.EdW@D` WJ"z1ƫBRؕ&)VeƷ92hь$@DMMcEuf=SGX)lJaE+[q4h |F QY&1"UҳtHkqrЬ%I" jmbqL4c >vA(Sj]lRoX)lJaE+[q4h |F QY&1"UҤfBRؕ&)VeƷ92hь$@DMMcEuI̓`*M 8SSkˍnreѣH =.EdW@D` WJ}iVƴZĩ6$XMMB{.5ɗFa"0`%jm]+5]*Mz1[=hV [`c56 &\M1; тVIt tHt7ƕlkC`X)lJaE+[q4h |F QY&1"UҤgUX)lJaE+[q4h |F QY&1"UҤgSGX)lJaE+[q4h |F QY&1"UҤgS`X)lJaE+[q4h |F QY&1"UҤcǢzPhV [`c56 &\M1; тVIt tHt7螔.54}Zĩ6$XMMB{.5ɗFa"0`%jm]+5]*MvA(Sj]lӟi Cօ`*M 8SSkˍnreѣH =.EdW@D` WVMl+-Rl0HšX`\ks.&DatJ+$ں:$W[j]V`*M 8SSkˍnreѣH =.EdW@D` WVKzЬ%I" jmbqL4c >vA(Sj]lөu6Zĩ6$XMMB{.5ɗFa"0`%jm]+5]Zu*`*M 8SSkˍnreѣH =.EdW@D` WVJ#GX)lJaE+[q4h |F QY&1"UէR9hV [`c56 &\M1; тVIt tHu>F+BRؕ&)VeƷ92hь$@DMMcEu5ir14}Zĩ6$XMMB{.5ɗFa"0`%jm]+5]lOrЬ%I" jmbqL4c >vA(Sj]lҫ+-Rl0HšX`\ks.&DatJ+$ں:$W[j纮> KbT ,p!X=ˉF0dz0]56*BRؕ&)VeƷ92hь$@DMMcEuM+-Rl0HšX`\ks.&DatJ+$ں:$W[jaBRؕ&)VeƷ92hь$@DMMcEuMl+-Rl0HšX`\ks.&DatJ+$ں:$W[ja}Q5X)lJaE+[q4h |F QY&1"U ɚ> KbT ,p!X=ˉF0dz0]567XaTfL9hV [`c56 &\M1; тVIt tHalc)`*M 8SSkˍnreѣH =.EdW@D` V6V>Ok0=hV [`c56 &\M1; тVIt tHalc) `*M 8SSkˍnreѣH =.EdW@D\օ`*M 8SSkˍnreѣH =.EdW@D\Cօ`*M 8SSkˍnreѣH =.EdW@D\̓`*M 8SSkˍnreѣH =.EdW@D/ŤnkBRؕ&)VeƷ92hь$@DMMcEuE҃b73GX)lJaE+[q4h |F QY&1"AirЬ%I" jmbqL4c >vA(Sj]gvA>J9Y+-Rl0HšX`\ks.&DatJ+$ں:$WYݬ}jON}wqD}> KbT ,p!X=ˉF0dz0]56wkdӟuQfBRؕ&)VeƷ92hь$@DMMcEuwpD}hV [`c56 &\M1; тVIt tHX ԟZ> KbT ,p!X=ˉF0dz0]56wkdY`X)lJaE+[q4h |F QY&1"cR}k;[X)lJaE+[q4h |F QY&1"cR}k;[GX)lJaE+[q4h |F QY&1"cR}k;[`X)lJaE+[q4h |F QY&1"pJ9Y+-Rl0HšX`\ks.&DatJ+$ں:$WYݮ U>;>Cօ`*M 8SSkˍnreѣH =.EdW@D;*gwGٰrЬ%I" jmbqL4c >vA(Sj]gvW5X)lJaE+[q4h |F QY&1"sD2 fBRؕ&)VeƷ92hь$@DMMcEud)\̓`*M 8SSkˍnreѣH =.EdW@D;wgcTf+-Rl0HšX`\ks.&DatJ+$ں:$WYݮ>3GX)lJaE+[q4h |F QY&1"uU- KbT ,p!X=ˉF0dz0]56wkϷw;Ь%I" jmbqL4c >vA(Sj]gv{qs> KbT ,p!X=ˉF0dz0]56wkϷw;rЬ%I" jmbqL4c >vA(Sj]gv KbT ,p!X=ˉF0dz0]56wkyzЬ%I" jmbqL4c >vA(Sj]gv- KbT ,p!X=ˉF0dz0]56wkZĩ6$XMMB{.5ɗFa"0`%jm]+Yh+-Rl0HšX`\ks.&DatJ+$ں:$WYݮ#9hV [`c56 &\M1; тVIt tH]gw&X)lJaE+[q4h |F QY&1"uܛT Cօ`*M 8SSkˍnreѣH =.EdW@D;wrmP6Zĩ6$XMMB{.5ɗFa"0`%jm]+Yg KbT ,p!X=ˉF0dz0]56wkocGCօ`*M 8SSkˍnreѣH =.EdW@D;wtr1#BRؕ&)VeƷ92hь$@DMMcEi8}jO`*M 8SSkˍnreѣH =.EdW@Dp ԟZ> KbT ,p!X=ˉF0dz0]56A>6Zĩ6$XMMB{.5ɗFa"0`%jm]+IlZF+-Rl0HšX`\ks.&DatJ+$ں:$Vش=hV [`c56 &\M1; тVIt tH'AirЬ%I" jmbqL4c >vA(SjZQu+6T=Ь%I" jmbqL4c >vA(SjZQu+6T=zЬ%I" jmbqL4c >vA(SjZQu+6T=rЬ%I" jmbqL4c >vA(SjZQlbgcѰ\V`*M 8SSkˍnreѣH =.EdW@D҈V{ck;'ܪbh+-Rl0HšX`\ks.&DatJ+$ں:$VGYl>W#`X)lJaE+[q4h |F QY&1"=}ʮF+BRؕ&)VeƷ92hь$@DMMcEiDz+=5J#Ѱ\MCօ`*M 8SSkˍnreѣH =.EdW@D҈V{cjG` *- KbT ,p!X=ˉF0dz0]56a$R KbT ,p!X=ˉF0dz0]56a$R> KbT ,p!X=ˉF0dz0]56a$R- KbT ,p!X=ˉF0dz0]56讕mnǺBRؕ&)VeƷ92hь$@DMMcEiDz+[[zЬ%I" jmbqL4c >vA(SjZQV{l+-Rl0HšX`\ks.&DatJ+$ں:$VGUЬ%I" jmbqL4c >vA(SjZQV{ӟfBRؕ&)VeƷ92hь$@DMMcEiDz+[[N}- KbT ,p!X=ˉF0dz0]56(E>{+-Rl0HšX`\ks.&DatJ+$ں:$VG=zЬ%I" jmbqL4c >vA(SjZQ҈ZsǺBRؕ&)VeƷ92hь$@DMMcEiDz+J#iϻ)IhV [`c56 &\M1; тVIt tH(EiDz-9cZ%)#:> KbT ,p!X=ˉF0dz0]56(E>{D$gS`X)lJaE+[q4h |F QY&1"=iЬ%I" jmbqL4c >vA(SjZQ҈`ش=hV [`c56 &\M1; тVIt tH(EiDz0lZFl+-Rl0HšX`\ks.&DatJ+$ں:$Vhcފ!mo\V`*M 8SSkˍnreѣH =.EdW@Dҍl{D-BrzЬ%I" jmbqL4c >vA(SjZQR3z(#]Ur16Zĩ6$XMMB{.5ɗFa"0`%jm]+M$gW)UhV [`c56 &\M1; тVIt tH7Xd^hSGX)lJaE+[q4h |F QY&1"aFu{IM`*M 8SSkˍnreѣH =.EdW@DiVƴZĩ6$XMMB{.5ɗFa"0`%jm]+ tGz1[=hV [`c56 &\M1; тVIt tH1aƕlkC`X)lJaE+[q4h |$F`%jm[O>G纤օ`*M 8SSkˍnreѣH O iтVIt tHf>+-Rl0HšX`\ks.&Ddx[HDMMcEvƫBRؕ&)VeƷ92hь$@I tJ+$ں:$V`*M 8SSkˍnreѣH O iтVIt tH9+-Rl0HšX`\ks.&Ddx[HDMMcEuBRؕ&)VeƷ92hь$@I tJ+$ں:$W[j+ KbT ,p!X=ˉF0d&6'(Sj]lR BRؕ&)VeƷ92hь$@I tJ+$ں:$WYݭ KbT ,p!X=ˉF0d&6'(SjZQЬ%I" jmbqL4c >vAЬ%I" jmbqL4c"na'@xV`*M 8SSkˍnreѣkte >zЬ%I" jmbqL4c"na'@x Sօ`*M 8SSkˍnreѣkte >- KbT ,p!X=ˉF2(6}єSZĩ6$XMMB{.5ɗFdOV<|b+-Rl0HšX`\ks.&=rxuV`*M 8SSkˍnreѣ89 k{J]`-Rl0HšX`\ks.&̝c^EX=KbT ,p!X=ˉF2ps'dz0[ܙ%N\\j&Jg6+lJaE+[q4hNdF q[$i˜VLCօ`-Rl0HšX`\ks.&̝an: rdm9s{qܙ)YrЬ*M 8SSkˍnreѣ89 =-AnL.pr{5[%;OUhVRؕ&)VeƷ92hь㠷&Ivӗ89gɒ'ܪbh+lJaE+[q4hNdF q[$i˜VNUr16ZԶ%I" jmbqL4c'2vA-ɒ]YuƫrdAX=KbT ,p!X=ˉF2ps'dz0[ܙ%N\\j&Jnnd}4}ZԶ%I" jmbqL4c'2vA-ɒ]YuƫrdA`X=KbT ,p!X=ˉF2ps'dz0[ܙ%N\\j&Jnnd}:D+Bzĩ6$XMMB{.5ɗFdN0`2K=nL4u.MCօ`-Rl0HšX`\ks.&̝an: rdm9s{qܙ)5i88l]- [`c56 &\M1; тt.r,U2Sҍ#kBzĩ6$XMMB{.5ɗFdN0`2K=nLtH٣zЬ*M 8SSkˍnreѣ89 =-AnL.pr{5[%8](6l+lJaE+[q4hNdF q[$i˜VNJ4؏}hVRؕ&)VeƷ92hь㠷&Ivӗ89gɒ.iAzЬ*M 8SSkˍnreѣ89 =-AnL.pr{5[%8](6b=3`X=KbT ,p!X=ˉF2ps'dz0[ܙ%N\\j&Jr 3tH"+lJaE+[q4hNdF q[$i˜VNSD&u.MCօ`-Rl0HšX`\ks.&̝an: rdm9s{qܙ)h$ζ rЬ*M 8SSkˍnreѣ89 =-AnL.pr{5[%9Jg օ`-Rl0HšX`\ks.&̝an: rdm9s{qܙ)S>lGh+lJaE+[q4hNdF q[$i˜VNwDRb=3`X=KbT ,p!X=ˉF2ps'dz0[ܙ%N\nL4b79Bzĩ6$XMMB{.5ɗFdN0`2K˥;ܙ)5iŤnsCօ`-Rl0HšX`\ks.&̝an: rdm9sKw52Stks H- [`c56 &\M1; тt.r.4krdKw5X=KbT ,p!X=ˉF2ps'dz0[ܙ%N\nLsNh+lJaE+[q4hNdF q[$i˜\ӹɒ.i̓`-Rl0HšX`\ks.&̝an: rdm9sKw52S;3hVRؕ&)VeƷ92hь㠷&Ivӗ89ts[%:\ӹS>Cօ`-Rl0HšX`\ks.&̝an: rdm9sKw52S;39hVRؕ&)VeƷ92hь㠷&Ivӗ89ts[%:\ӹS>lG+lJaE+[q4hNdF q[$i˜\ӹɒ.itE)h6#s4}ZԶ%I" jmbqL4c'2vA-ɒ]].iN4s"ϴ﹛- [`c56 &\M1; 4𶑰=-AnL.pr{5ZԶ%I" jmbqL4c'2vAim#`z0[ܙ%N\hVRؕ&)VeƷ92hьVwkBzĩ6$XMMB{.5ɗFdU *>gΧhV [`c56 &\M1lz1>Z0z4- KbT ,p!X=ˉF2F'ܫFCyBRؕ&)VeƷ92hьdщ*чЬ%I" jmbqL4c(0b}ʴa<}X)lJaE+[q4hQahyЬ%I" jmbqL4c(0b}ʴa>MЬ%I" jmbqL4c(0b}ʴaBRؕ&)VeƷ92hьdщ*ч`*M 8SSkˍnreѣFɇUY+-Rl0HšX`\ks.&6Laim#fPաX=KbT ,p!X=ˉF2'dlx[H٫44=hVRؕ&)VeƷ92hьd&6j= 6Tl6‹Bzĩ6$XMMB{.5ɗFe&N04𶑳Vim(idٶ4}ZԶ%I" jmbqL4c(2vAɧO{iCMG&ͰrЬ*M 8SSkˍnreѣFɓ 6M<-l՚{Jl+lJaE+[q4hQd O i5fu}IZԶ%I" jmbqL4c(2vAɧH:>f> [`c56 &\M1l; dFYoRrM`-Rl0HšX`\ks.&6Laim#f6mRrV`-Rl0HšX`\ks.&6Laim#f6mRrMCօ`-Rl0HšX`\ks.&6Laim#f6mRrM`-Rl0HšX`\ks.&6Laim#fViTf [`c56 &\M1l; dFY>N4}ZԶ%I" jmbqL4c(2vAɧiY}Rl+lJaE+[q4hQd O i5fէ>ZԶ%I" jmbqL4c(2vAɧjӟf> [`c56 &\M1l; dFYiϳM`-Rl0HšX`\ks.&6Laim#fڴٳD1hVRؕ&)VeƷ92hьd&6jͫN}4C Cօ`-Rl0HšX`\ks.&6Laim#fڴٳD09hVRؕ&)VeƷ92hьd5=.Bzĩ6$XMMB{.5ɗFe&N1|[ Ь*M 8SSkˍnreѣFɓ =-Atlsd89Ь*M 8SSkˍnreѣFɓ =-Atlsd89zЬ*M 8SSkˍnreѣFɓ =-Atlsd89rЬ*M 8SSkˍnreѣFɓ =-Atlsd:Tij+lJaE+[q4hQdF q]%9g6NGw> [`c56 &\M1l; тtFg6NY͓uAƦBzĩ6$XMMB{.5ɗFe&N0`ѲY͓sd]PD}qJnkBzĩ6$XMMB{.5ɗFe&N0`ѲY͓sd]PD}qJnfBzĩ6$XMMB{.5ɗFe&N0`ѲY͓sd]PD}qJnfBzĩ6$XMMB{.5ɗFe&N0`ѲY͓sd]j葢Ь*M 8SSkˍnreѣFɓ =-Atlsd:Z$hh+lJaE+[q4hQdF q]%9g6N֮- [`c56 &\M1l; тtFg6NYm9atN} [`c56 &\M1l; тtFg6NYm9atN}> [`c56 &\M1l; тtFg6NYm9atN}- [`c56 &\M1l; тtFg6NYmf㒭7JhVRؕ&)VeƷ92hьd㠺6K9rFkmk7l}UFfBzĩ6$XMMB{.5ɗFe&N0`ѲY͓r3[kYcҪ36ZԶ%I" jmbqL4c(2vA.llz1zЬ*M 8SSkˍnreѣFɓ =-Atlsd圌sdэfCօ`-Rl0HšX`\ks.&6Lan: d',f'k4^l+lJaE+[q4hQdF q]%9g#57JhVRؕ&)VeƷ92hьd㠺6K9rFk.5t>nQzЬ*M 8SSkˍnreѣFɓ =-Atlsd圌o\j>|*3`X=KbT ,p!X=ˉF2'dz0[,9Ӹ}UFkBzĩ6$XMMB{.5ɗFe&N0`ѲY͓r3]qtCօ`-Rl0HšX`\ks.&6Lan: d',fNQCU- [`c56 &\M1l; тtFg6NYd-Jv>|*5X=KbT ,p!X=ˉF2'dz0[,9NTfh+lJaE+[q4hQdF q]%9g#5)t̓`-Rl0HšX`\ks.&6Lan: d',f&>|*5X=KbT ,p!X=ˉF2'dz0[,9.ɏ7J=hVRؕ&)VeƷ92hьd㠺6K9rFk cҪ36ZԶ%I" jmbqL4c(2vA.luAҪ3ZԶ%I" jmbqL4c(2vA.luAҪ34}ZԶ%I" jmbqL4c(2vA.luAҪ36ZԶ%I" jmbqL4c(2vA.lٶ[tօ`-Rl0HšX`\ks.&6Lan: d',f6m>|*3GX=KbT ,p!X=ˉF2'dz0[,9Mau7J9hVRؕ&)VeƷ92hьd㠺6K9rFk%bEhVRؕ&)VeƷ92hьd㠺6K9rFk%bD=hVRؕ&)VeƷ92hьd㠺6K9rFk%bD9hVRؕ&)VeƷ92hьd㠺6K9rFk%bDЬ*M 8SSkˍnreѣFɓ =-Atlsd圌2J' = iϳGX=KbT ,p!X=ˉF2'dz0[,9d OAzӟfBzĩ6$XMMB{.5ɗFe&N0`ѲY͓r3\N9+lJaE+[q4hQdF q]%9g#5DӟfBzĩ6$XMMB{.5ɗFe&N0`ѲY͓r3\N9l+lJaE+[q4hQdF q]%9g#5ѲDV}] [`c56 &\M1l; тtFg6NYtl8WD&Bzĩ6$XMMB{.5ɗFe&N0`ѲY͓r3]$N%g rЬ*M 8SSkˍnreѣFɓ =-Atlsd圌J#}UFkBzĩ6$XMMB{.5ɗFe&N0`ѲY͓r3]+4SCU> [`c56 &\M1l; тtFg6NYt>NTfl+lJaE+[q4hQdF q]%9g#5է>Tf+lJaE+[q4hQdF q]%9g#5է>Tfh+lJaE+[q4hQdF q]%9g#5է>Tfl+lJaE+[q4hQdF q]%9g#5Ԝ ZshVRؕ&)VeƷ92hьd㠺6K9rFk9[A٣zЬ*M 8SSkˍnreѣFɓ =-Atlsd圌RrD5iϳ`X=KbT ,p!X=ˉF2'dz0[,=kBzĩ6$XMMB{.5ɗFe&N0`ѲY͓{OBCօ`-Rl0HšX`\ks.&6Lan: d',- [`c56 &\M1l; тtFg6NYO = iϵX=KbT ,p!X=ˉF2'dz0[,=I$=m9h+lJaE+[q4hQdF q]%9g >D'->̓`-Rl0HšX`\ks.&6Lan: d',c>F+Bzĩ6$XMMB{.5ɗFe&N0`ѲY͓z1W#GX=KbT ,p!X=ˉF2'dz0[,=ϫrЬ*M 8SSkˍnreѣFɓ =-Atlsd垌cgӸ >=hVRؕ&)VeƷ92hьd㠺6K9rF1cikWVh+lJaE+[q4hQdF q]%9gr15Om+s6ZԶ%I" jmbqL4c(2vA.lъw:օ`-Rl0HšX`\ks.&6Lan: d',bη3GX=KbT ,p!X=ˉF2'dz0[,=s9hVRؕ&)VeƷ92hьd㠺6K9rJtFkBzĩ6$XMMB{.5ɗFe&N0`ѲY͓zS34}ZԶ%I" jmbqL4c(2vA.lҝrЬ*M 8SSkˍnreѣFɓ =-Atlsdu{J [`c56 &\M1l; тtFg6NY[ǽԩzЬ*M 8SSkˍnreѣFɓ =-Atlsdu{J- [`c56 &\M1l; тtFg6N[i[N} [`c56 &\M1l; тtFg6N[i[N}> [`c56 &\M1l; тtFg6N[i[N}- [`c56 &\M1l; тtFg6N[:=m V`-Rl0HšX`\ks.&6Lan: d'-oRƦBzĩ6$XMMB{.5ɗFe&N0`ѲY͓{[}S`X=KbT ,p!X=ˉF2'dz0[,z$`شhVRؕ&)VeƷ92hьd㠺6K9rމ6-#s4}ZԶ%I" jmbqL4c(2vA.lF H̓`-Rl0HšX`\ks.&6Lan: d'-F+=ϫA5X=KbT ,p!X=ˉF2'dz0[,z$QF1FǺ=hVRؕ&)VeƷ92hьd㠺6K9rމbьl$36ZԶ%I" jmbqL4c(2vA.lEc>dօ`-Rl0HšX`\ks.&6Lan: d'-F+=ϫA66GX=KbT ,p!X=ˉF2'dz0[,z$QF1FM9hVRؕ&)VeƷ92hьd㠺6K9rމbE-;V`-Rl0HšX`\ks.&6Lan: d'-F+z$Q BӸ=hVRؕ&)VeƷ92hьd㠺6K9rމbE-;M`-Rl0HšX`\ks.&6Lan: d'-F+z$Q An75X=KbT ,p!X=ˉF2'dz0[,z$QމH{[=hVRؕ&)VeƷ92hьd㠺6K9rމbEVs6ZԶ%I" jmbqL4c(2vA.lEF6ƫBzĩ6$XMMB{.5ɗFe&N0`ѲY͓H(Ӹ=hVRؕ&)VeƷ92hьd㠺6K9rމbEw- [`c56 &\M1l; тtFg6N["VHօ`-Rl0HšX`\ks.&6Lan: d'-F+z$QJnfBzĩ6$XMMB{.5ɗFe&N0`ѲY͓H(n73`X=KbT ,p!X=ˉF2'dz0[,z$Qމb1hVRؕ&)VeƷ92hьd㠺6K9rމbE 4}ZԶ%I" jmbqL4c(2vA.lEF) `-Rl0HšX`\ks.&6Lan: d'-F+z$QnítH"+lJaE+[q4hQdF q]%9oD1["SumAGX=KbT ,p!X=ˉF2'dz0[,z$Qމb0l]- [`c56 &\M1l; тtFg6N["V.nl{օ`-Rl0HšX`\ks.&6Lan: d'-F+J7D6=FfBzĩ6$XMMB{.5ɗFe&N0`ѲY͓HKA3`X=KbT ,p!X=ˉF2'dz0[,z$Qҥ zЬ*M 8SSkˍnreѣFɓ =-Atlsd(iRFM=hVRؕ&)VeƷ92hьd㠺6K9rމbstH#&l+lJaE+[q4hQdF q]%9pNX$ҷ5X=KbT ,p!X=ˉF2'dz0[,˅Gw'Ƕ> [`c56 &\M1l; тtFg6N\.">Ӹ >=9hVRؕ&)VeƷ92hьd㠺6K9r8WZԶ%I" jmbqL4c(2vA.lN%gCօ`-Rl0HšX`\ks.&6Lan: d'-Yp`X=KbT ,p!X=ˉF2'dz0[,˔ѕΤ- [`c56 &\M1l; тtFg6N\u'=hVRؕ&)VeƷ92hьd㠺6K9r4es86FBzĩ6$XMMB{.5ɗFe&N0`ѲY͓2J'hVRؕ&)VeƷ92hьd㠺6K9r@ D> [`c56 &\M1l; тtFg6N\A(W#`X=KbT ,p!X=ˉF2'dz0[,˙kBzĩ6$XMMB{.5ɗFe&N0`ѲY͓2>Cօ`-Rl0HšX`\ks.&6Lan: d'.d#}- [`c56 &\M1l; тtFg6N\ ZԶ%I" jmbqL4c(2vA.lh+lJaE+[q4hQdF q]%9sD09hVRؕ&)VeƷ92hьd㠺6K9re.MhVRؕ&)VeƷ92hьd㠺6K9re.L=hVRؕ&)VeƷ92hьd㠺6K9re.L9hVRؕ&)VeƷ92hьd㠺6K9re.:#5X=KbT ,p!X=ˉF2'dz0[,˚!Cօ`-Rl0HšX`\ks.&6Lan: d'.hRzS36ZԶ%I" jmbqL4c(2vA.l6HJϪЬ*M 8SSkˍnreѣFɓ =-AtlsdѲDV}MCօ`-Rl0HšX`\ks.&6Lan: d'.'l+lJaE+[q4hQdF q]%9tt$ZԶ%I" jmbqL4c(2vA.l:}> [`c56 &\M1l; тtFg6N] >̓`-Rl0HšX`\ks.&6Lan: d'.d}Q5X=KbT ,p!X=ˉF2'dz0[,ˣ'TfL=hVRؕ&)VeƷ92hьd㠺6K9rIA6ZԶ%I" jmbqL4c(2vA.lViTkBzĩ6$XMMB{.5ɗFe&N0`ѲY͓J#=hVRؕ&)VeƷ92hьd㠺6K9rY}R- [`c56 &\M1l; тtFg6N]+4S >̚Ь*M 8SSkˍnreѣFɓ =-AtlsdҳH; ɚ> [`c56 &\M1l; тtFg6N]+4S >̙rЬ*M 8SSkˍnreѣFɓ =-Atlsdէ>օ`-Rl0HšX`\ks.&6Lan: d'.9h+lJaE+[q4hQdF q]%9uiϳ`X=KbT ,p!X=ˉF2'dz0[,˫N}еX=KbT ,p!X=ˉF2'dz0[,˫N}гGX=KbT ,p!X=ˉF2'dz0[,˫N}г`X=KbT ,p!X=ˉF2'dz0[,JzЬ1hVRؕ&)VeƷ92hьd㠺6K9rҫ+ 4}ZԶ%I" jmbqL4c(2vA.l `-Rl0HšX`\ks.&6Lan: d'-*%V#Bzĩ6$XMMB{.5ɗFe&N0`ѲY͓\N}GX=KbT ,p!X=ˉF2'dz0[,JzU>yrЬ*M 8SSkˍnreѣFɓ =.@$] [`c56 &\M1l; т.dYO zЬ*M 8SSkˍnreѣFɓ =.@$]- [`c56 &\M1l; т.dY6}] [`c56 &\M1l; т.dY6}]> [`c56 &\M1l; т.dY6}]- [`c56 &\M1l; т.dY6}\m;V`-Rl0HšX`\ks.&6Latl2c>F6ƦBzĩ6$XMMB{.5ɗFe&N0`6Kz1W#NS`X=KbT ,p!X=ˉF2'dz0]%́=ϫJnkBzĩ6$XMMB{.5ɗFe&N0`6Kz1W#Cօ`-Rl0HšX`\ks.&6Latl2c>F/u+q- [`c56 &\M1l; т.d]'ܪbS yͥ}ʮF+Bzĩ6$XMMB{.5ɗFe&N0`6K` *sivrzЬ*M 8SSkˍnreѣFɓ =.@}ʮF+%2]'ܪbl+lJaE+[q4hQdF d=vrL64WB>W#X=KbT ,p!X=ˉF2'dz0]%́\VJd9` *> [`c56 &\M1l; т.d]'ܪbS yͥ(лOU9hVRؕ&)VeƷ92hьdFs z>W#{iCJ}ʮF+Bzĩ6$XMMB{.5ɗFe&N0`6K` *{JVUr14}ZԶ%I" jmbqL4c(2vAѲ\OUd@PҶrrЬ*M 8SSkˍnreѣFɓ =.@}ʮF+%2$G\V`-Rl0HšX`\ks.&6Latl2Ur1Y)l>W#`X=KbT ,p!X=ˉF2'dz0]%́\VJd=Im[hu}'ܪb+lJaE+[q4hQdF d=vrL >b=\MCօ`-Rl0HšX`\ks.&6Latl2Ur1Y)rЬ*M 8SSkˍnreѣFɓ =.@}ʮF+%2#E*@RX}ʮF&Bzĩ6$XMMB{.5ɗFe&N0`6K` *菰J#` *- [`c56 &\M1l; т.d]'ܪbS {\V`-Rl0HšX`\ks.&6Latl2Ur1Y)=}ʮF&Bzĩ6$XMMB{.5ɗFe&N0`6K` *l>W#`X=KbT ,p!X=ˉF2'dz0]%́\VJd}6w` * [`c56 &\M1l; т.d]'ܪbS |<{1OU=hVRؕ&)VeƷ92hьdFs z>W#a}ʮF&Bzĩ6$XMMB{.5ɗFe&N0`6K` *hIl.;OUhVRؕ&)VeƷ92hьdFs z>W#= 6m` *> [`c56 &\M1l; т.d]'ܪbS |QG&Ͱ>W#`X=KbT ,p!X=ˉF2'dz0]%́\VJdO|tks\V`-Rl0HšX`\ks.&6Latl2Ur1Y)>)=EѭUr14}ZԶ%I" jmbqL4c(2vAѲ\OUd@F;OU9hVRؕ&)VeƷ92hьdFs z>W#pFԪ>W#X=KbT ,p!X=ˉF2'dz0]%́\VJdR'[\MCօ`-Rl0HšX`\ks.&6Latl2Ur1Y)>wkmJ;mnUr16ZԶ%I" jmbqL4c(2vAѲ\OUd@}ʮF+Bzĩ6$XMMB{.5ɗFe&N0`6K` *;5OU=hVRؕ&)VeƷ92hьdFs z>W#pF` *- [`c56 &\M1l; т.d]'ܪbS |J [`c56 &\M1l; т.d]'ܪbS |J> [`c56 &\M1l; т.d]'ܪbS |J- [`c56 &\M1l; т.d]'ܪbS |sN` * [`c56 &\M1l; т.d]'ܪbS |sN` *> [`c56 &\M1l; т.d]'ܪbS |sN` *- [`c56 &\M1l; т.d]'ܪbS |ӛ+OUhVRؕ&)VeƷ92hьdFs z>W#@X}ʮF&Bzĩ6$XMMB{.5ɗFe&N0`6K` *2Ur16ZԶ%I" jmbqL4c(2vAѲ\OUd@<>W#X=KbT ,p!X=ˉF2'dz0]%́\VJdm.Ur14}ZԶ%I" jmbqL4c(2vAѲ\OUd@<>W#`X=KbT ,p!X=ˉF2'dz0]%́\VJdF1c` * [`c56 &\M1l; т.d]'ܪbS |z1W#OU=hVRؕ&)VeƷ92hьdFs z>W#@ьl}ʮF&Bzĩ6$XMMB{.5ɗFe&N0`6K` *2ɳl.;OUhVRؕ&)VeƷ92hьdFs z>W#@6m` *> [`c56 &\M1l; т.d]'ܪbS |&Ͱ>W#`X=KbT ,p!X=ˉF2'dz0]%́\VJd'խ9=s'ܪb+lJaE+[q4hQdF d=vrLt$ڵ6Gtr1\MCօ`-Rl0HšX`\ks.&6Latl2Ur1Y)>cVbΎF6rrЬ*M 8SSkˍnreѣFɓ =.@}ʮF+%2Г{jJ}ʮF+Bzĩ6$XMMB{.5ɗFe&N0`6K` *GBOOm+` *> [`c56 &\M1l; т.d]'ܪbS } >Ƕ='ܪbl+lJaE+[q4hQdF d=vrLt$ڴ{kut,3k` * [`c56 &\M1l; т.d]'ܪbS } >Ƕ] }ʮF&Bzĩ6$XMMB{.5ɗFe&N0`6K` *GBOGWB#86rrЬ*M 8SSkˍnreѣFɓ =.@}ʮF+%2Г{jOUhVRؕ&)VeƷ92hьdFs z>W#I=m'ܪbh+lJaE+[q4hQdF d=vrLt$ڶUr16ZԶ%I" jmbqL4c(2vAѲ\OUd@:}m[û3k` * [`c56 &\M1l; т.d]'ܪbS } >ǶP:A\MCօ`-Rl0HšX`\ks.&6Latl2Ur1Y)>cV(s }ʮF&Bzĩ6$XMMB{.5ɗFe&N0`6K` *GBOR\Q I>W#X=KbT ,p!X=ˉF2'dz0]%́\VJd'թD.(FvrzЬ*M 8SSkˍnreѣFɓ =.@}ʮF+%2Г{jԢC#RrOU9hVRؕ&)VeƷ92hьdFs z42plZF+lJaE+[q4hQdF d=d}Q86-#s4}ZԶ%I" jmbqL4c(2vAѲ\ >̜- [`c56 &\M1l; т.d[F}$o+lJaE+[q4hQdF d=n=IuyzЬ*M 8SSkˍnreѣFɓ =.@a'ABzĩ6$XMMB{.5ɗFe&N0`6Kф` 6hVRؕ&)VeƷ92hьdFs zz0f> [`c56 &\M1l; т.d[F}2l`X=KbT ,p!X=ˉF2'dz0]%́qNhVRؕ&)VeƷ92hьdFs zzS34}ZԶ%I" jmbqL4c(2vAѲ\̓`-Rl0HšX`\ks.&6Latl2o+lJaE+[q4hQdF d=n xGX=KbT ,p!X=ˉF2'dz0]%́q[Ǜ- [`c56 &\M1l; т.d[:= Ь*M 8SSkˍnreѣFɓ =.@> [`c56 &\M1l; т.d[:= rЬ*M 8SSkˍnreѣFɓ =.@Е2f- [`c56 &\M1l; т.d[ X)6mzЬ*M 8SSkˍnreѣFɓ =.@Е2f- [`c56 &\M1l; т.d[ٶ[Ь*M 8SSkˍnreѣFɓ =.@Mau> [`c56 &\M1l; т.d[ٶ[rЬ*M 8SSkˍnreѣFɓ =.@d=ϫЬ*M 8SSkˍnreѣFɓ =.@d=ϫzЬ*M 8SSkˍnreѣFɓ =.@d=ϫrЬ*M 8SSkˍnreѣFɓ =.@d=ϫTfMhVRؕ&)VeƷ92hьdFs z2cgăO3&h+lJaE+[q4hQdF d=nF1bA6ZԶ%I" jmbqL4c(2vAѲ\LDzOX=KbT ,p!X=ˉF2'dz0]%́tG4}ZԶ%I" jmbqL4c(2vAѲ\LDzO`X=KbT ,p!X=ˉF2'dz0]%́tG ɭ [`c56 &\M1l; т.d[@"='TfL=hVRؕ&)VeƷ92hьdFs z2>42fBzĩ6$XMMB{.5ɗFe&N0`6K+lJaE+[q4hQdF d=n!Bzĩ6$XMMB{.5ɗFe&N0`6Kl+lJaE+[q4hQdF d=n'Ь*M 8SSkˍnreѣFɓ =.@fBzĩ6$XMMB{.5ɗFe&N0`6K:}- [`c56 &\M1l; т.d[IAZԶ%I" jmbqL4c(2vAѲ\QГO3&h+lJaE+[q4hQdF d=n'TfL9hVRؕ&)VeƷ92hьdFs zGBOZԶ%I" jmbqL4c(2vAѲ\QГ샭Cօ`-Rl0HšX`\ks.&6Latl2t$ x`X=KbT ,p!X=ˉF2'dz0]%́u >ٶ Bzĩ6$XMMB{.5ɗFe&N0`6K:}ɳl Cօ`-Rl0HšX`\ks.&6Latl2t$f- [`c56 &\M1l; т.d[Y}R [`c56 &\M1l; т.d[Y}R> [`c56 &\M1l; т.d[Y}R- [`c56 &\M1l; т.d[Y}RiFdօ`-Rl0HšX`\ks.&6Latl2Ԭ>N42fBzĩ6$XMMB{.5ɗFe&N0`6KViTd}Q3`X=KbT ,p!X=ˉF2'dz0]%́uZshVRؕ&)VeƷ92hьdFs zV4}ZԶ%I" jmbqL4c(2vAѲ\U>̓`-Rl0HšX`\ks.&6Latl2iϲ >̚Ь*M 8SSkˍnreѣFɓ =.@9A4}ZԶ%I" jmbqL4c(2vAѲ\U>42fBzĩ6$XMMB{.5ɗFe&N0`6K 5ZԶ%I" jmbqL4c(2vAѲ\]PD}qzЬ*M 8SSkˍnreѣFɓ =.@#;M`-Rl0HšX`\ks.&6Latl2TRЬ*M 8SSkˍnreѣFɓ =.@#Vs4}ZԶ%I" jmbqL4c(2vAѲ\]PD{JnfBzĩ6$XMMB{.5ɗFe&N0`6K l Ь*M 8SSkˍnreѣFɓ =.@Ǿ;tH"h+lJaE+[q4hQdF d=pp- [`c56 &\M1l; т.d] > [`c56 &\M1l; т.d] >> [`c56 &\M1l; т.d] >- [`c56 &\M1l; т.d] ҷD+Bzĩ6$XMMB{.5ɗFe&N0`6KBt zЬ*M 8SSkˍnreѣFɓ =.@Н+ptH"l+lJaE+[q4hQdF d=iREhVRؕ&)VeƷ92hьdFs zҥ zЬ*M 8SSkˍnreѣFɓ =.@KA`X=KbT ,p!X=ˉF2'd&6&ɧ+lJaE+[q4hQd$F`ѲY͓r3ZԶ%I" jmbqL4c(2vAim#`z0[,Bzĩ6$XMMB{.5ɗFe&N2M<-lOF q]%9oD1ZԶ%I" jmbqL4c(2vAim#`z0[,JzЬ*M 8SSkˍnreѣFɓ O iт.d]'ܪb+lJaE+[q4hQd$F`6Kօ`-Rl0HšX`\ks.&6Ld>+-Rl0HšX`\ks.&6LdъkBRؕ&)VeƷ92hьdVwkBzĩ6$XMMB{.5ɗFe&QimkRrX=KbT ,p!X=ˉF2(IF4J5ZԶ%I" jmbqL4c(2tcO=WDOJ [`c56 &\M1lFO1ɺNV+lJaE+[q4hQe >ɧQЬ*M 8SSkˍnreѣFɔl$)=Ƕ5ZԶ%I" jmbqL4c(2tce'hVRؕ&)VeƷ92hьd6}эO=UX=KbT ,p!X=ˉF2(IFX=KbT ,p!X=ˉF2(IF;jЬ*M 8SSkˍnreѣFɔl$JҒlЬ*M 8SSkˍnreѣFɔl$JҒ'(+lJaE+[q4hQe >Ò:z1OЬ*M 8SSkˍnreѣFɔl$FlI [`c56 &\M1lFO0a&ę菵X=KbT ,p!X=ˉF2(IFk4^DgmZԶ%I" jmbqL4c(2taҧksZԶ%I" jmbqL4c(2taҷJ [`c56 &\M1lFO0iZ [`c56 &\M1lFO0U [`c56 &\M1lFO0V+lJaE+[q4hQe >ҥQhVRؕ&)VeƷ92hьd6}чJ {#=hVRؕ&)VeƷ92hьd6}чJ ƳiZԶ%I" jmbqL4c(2taR>dօ`-Rl0HšX`\ks.&6La'zT0 'LЬ*M 8SSkˍnreѣFɔl$JF4f>+lJaE+[q4hQe >ҥQ[W#X=KbT ,p!X=ˉF2(IF*U{m#;\j+lJaE+[q4hQe >ҥhz='qЬ*M 8SSkˍnreѣFɔl$έy [`c56 &\M1lFO0}Tf+lJaE+[q4hQe >螔.5ZԶ%I" jmbqL4c(2teODЬ*M 8SSkˍnreѣFɔl$.z$+lJaE+[q4hQe >l{iKЬ*M 8SSkˍnreѣFɔl$8. Ь*M 8SSkˍnreѣFɔl$ [`c56 &\M1lFO1Ѥ [`c56 &\M1lFO1ѤЬ*M 8SSkˍnreѣFɔl$ף15X=KbT ,p!X=ˉF2(IFDX=KbT ,p!X=ˉF2(IF'6+Bzĩ6$XMMB{.5ɗFe&Q][(zЬ*M 8SSkˍnreѣFɔl$ FFckBzĩ6$XMMB{.5ɗFe&QbTFckBzĩ6$XMMB{.5ɗFe&Qi[Jօ`-Rl0HšX`\ks.&6La'hVRؕ&)VeƷ92hьd6}ё#0X=KbT ,p!X=ˉF2(IF#+j=sЬ*M 8SSkˍnreѣFɔl$͵tHV`-Rl0HšX`\ks.&6La'ȶ. m\Z [`c56 &\M1lFO2M'4^z)FhVRؕ&)VeƷ92hьd6}ђ [`c56 &\M1lFO2NRtqЬ*M 8SSkˍnreѣFɔl$$ƫBzĩ6$XMMB{.5ɗFe&Q4u\V`-Rl0HšX`\ks.&6La')=#{jעEhVRؕ&)VeƷ92hьd6}ђ#>F(}hVRؕ&)VeƷ92hьd6}ђ$S5 [`c56 &\M1lFO2SDQAu\V`-Rl0HšX`\ks.&6La'$z 15X=KbT ,p!X=ˉF2(IFI)is`-Rl0HšX`\ks.&6La'$z Nb+lJaE+[q4hQe >%3m'ͧhVRؕ&)VeƷ92hьd6}ђJgȶ. m\V`-Rl0HšX`\ks.&6La'$zW63j+lJaE+[q4hQe >%3СX.5ZԶ%I" jmbqL4c(2t`Iqڹ [`c56 &\M1lFO0׺\AǶF+Bzĩ6$XMMB{.5ɗFe&Q=>+-Rl0HšX`\ks.&6La'Fօ`-Rl0HšX`\ks.&6La'Fȶ. m\V`-Rl0HšX`\ks.&6La'Kn>\AǶF+Bzĩ6$XMMB{.5ɗFe&Q.5ZԶ%I" jmbqL4c(2tet葒.V`-Rl0HšX`\ks.&6La'WB HիBzĩ6$XMMB{.5ɗFe&QJOlb葒.V`-Rl0HšX`\ks.&6La'z3ZԶ%I" jmbqL4c(2tbw[W#V`-Rl0HšX`\ks.&6La'7RrX=KbT ,p!X=ˉF2(IF6v)RF}+Bzĩ6$XMMB{.5ɗFe&Q FagN=ҳH [`c56 &\M1lFO01qhVRؕ&)VeƷ92hьdʶteAq Ь%I" jmbqL4c(2]PzF+-Rl0HšX`\ks.&6LhFT:X)lJaE+[q4hQe[@2y+BRؕ&)VeƷ92hьdʶteAF+BRؕ&)VeƷ92hьdʶteA3EX)lJaE+[q4hQe[@2{օ`*M 8SSkˍnreѣFɕmʃ:X)lJaE+[q4hQe[@2GЬ%I" jmbqL4c(2]Pz.9*- KbT ,p!X=ˉF2*ѕhV [`c56 &\M1U͢Ь%I" jmbqL4c+mF'ܫFZAhV [`c56 &\M1U +-Rl0HšX`\ks.&`щ*чևƔZĩ6$XMMB{.5ɗFemc7FV>. *M 8SSkˍnreѣ[l4ѕ)lJaE+[q4hV: #teaC " [`c56 &\M1HXPK" [`c56 &\M1HXP:ȸĩ6$XMMB{.5ɗFemc7FV>YRؕ&)VeƷ92hь tF‡@K" [`c56 &\M1rhtFTgUq-Rl0HšX`\ks.&ʹ4^N2`:X)lJaE+[q4hU^Փ k{J]`-Rl0HšX`\ks.&ʢvA{]`-Rl0HšX`\ks.&ʢvA-ɒZUssikHΧ>+=hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6dz#Cօ`-Rl0HšX`\ks.&ʢvA-ɒZUssikHΧ>+<9hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6dz X=KbT ,p!X=ˉF2Fan: rd\Z3[6$nCօ`-Rl0HšX`\ks.&ʢvA-ɒZUssikHήngؑJ6ZԶ%I" jmbqL4c*/tj㠷&IiUYͥВ3菺JZԶ%I" jmbqL4c*/tj㠷&IiUYͥВ3菺J4}ZԶ%I" jmbqL4c*/tj㠷&IiUYͥВ3菺J6ZԶ%I" jmbqL4c*/tj㠷&IiUYͥВ3[6$nօ`-Rl0HšX`\ks.&ʢvA-ɒZUssikt$z GX=KbT ,p!X=ˉF2Fan: rd\Z #:5bF+<9hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6&JUr1ZԶ%I" jmbqL4c*/tj㠷&IiUYͥɒ\MCօ`-Rl0HšX`\ks.&ʢvA-ɒZUssikrd>W#`X=KbT ,p!X=ˉF2Fan: rd\Zܙ+d` * [`c56 &\M1E5dF q[$X$g[OU=hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6&J#:}ʮF&Bzĩ6$XMMB{.5ɗFeQEY; тt-*92Nl>W#X=KbT ,p!X=ˉF2Fan: rd\Zܙ'BHζrzЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-nL$g[OU9hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6&IMpUOUhVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6&IMpUOU=hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6&IMpUOU9hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6&I(ӱrЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-nLQc>W#GX=KbT ,p!X=ˉF2Fan: rd\Zܙ$;/N}ʮF&Bzĩ6$XMMB{.5ɗFeQEY; тt-*9X=KbT ,p!X=ˉF2Fan: rd\ZyzЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-pD}9hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g64𶑵X=KbT ,p!X=ˉF2Fan: rd\ZFCօ`-Rl0HšX`\ks.&ʢvA-ɒZUssikO i6ZԶ%I" jmbqL4c*/tj㠷&IiUYͥM<-nǺF+Bzĩ6$XMMB{.5ɗFeQEY; тt-*9ɧU=hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g64𶑻- [`c56 &\M1E5dF q[$)JϪЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-r$> [`c56 &\M1E5dF q[$)JϩrЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-r$UhVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6MV}l{bh+lJaE+[q4hU^Փ =-AnLҫK\+>=r16ZԶ%I" jmbqL4c*/tj㠷&IiUYͥw$h2kBzĩ6$XMMB{.5ɗFeQEY; тt-*9TfL=hVRؕ&)VeƷ92hь(ѫ'dz0[ܙ%W=g6ܑɛ- [`c56 &\M1E5dF q[$;4uQ8">޴+lJaE+[q4hU^Փ =-AnLҫK\HFdyzЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-s#GU#Bzĩ6$XMMB{.5ɗFeQEY; тt-*9^=jЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-uEmZh+lJaE+[q4hU^Փ =-AnLҫK]QEV- [`c56 &\M1E5dF q[$TQ}5X=KbT ,p!X=ˉF2Fan: rd\Z/h+lJaE+[q4hU^Փ =-AnLҫK]QE̓`-Rl0HšX`\ks.&ʢvA-ɒZUssik9ZЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-u'+4}ZԶ%I" jmbqL4c*/tj㠷&IiUYͥfBzĩ6$XMMB{.5ɗFeQEY; тt-*9ԜǺF+Bzĩ6$XMMB{.5ɗFeQEY; тt-*9ԜǺF&Bzĩ6$XMMB{.5ɗFeQEY; тt-*9ԜǺF&Bzĩ6$XMMB{.5ɗFeQEY; тt-*9#0IЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-a.ih+lJaE+[q4hU^Փ =-AnLҫKXb3 }- [`c56 &\M1E5dF q[$&oDЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-a.iH> [`c56 &\M1E5dF q[$&oDrЬ*M 8SSkˍnreѣTQ{VN0`2KJzm-a.iGօ`-Rl0HšX`\ks.&ʢvA-ɒZUssik FatO">h+lJaE+[q4hU^Փ =-AnLҫKXb3 }`X=KbT ,p!X=ˉF2Fan: rd\>E>AZԶ%I" jmbqL4c*/tj㠷&IiUY9tY9d}Q3GX=KbT ,p!X=ˉF2Fan: rd\>E>A6ZԶ%I" jmbqL4c*/tj㠷&IiUY9t\."<5X=KbT ,p!X=ˉF2Fan: rd\>E#Is4}ZԶ%I" jmbqL4c*/tj㠷&IiUY9t\."<3`X=KbT ,p!X=ˉF2Fan: rd\>EԜ5X=KbT ,p!X=ˉF2Fan: rd\>EԜ3GX=KbT ,p!X=ˉF2Fan: rd\>EԜ3`X=KbT ,p!X=ˉF2Fdx[H㠷&IiUYͥ [`c56 &\M1E5d$F`2KJzIsЬ*M 8SSkˍnreѣTQ{VN2ZԶ%I" jmbqL4cuI+{$z0Ь%I" jmbqL4cuI+{$V`*M 8SSkˍnreѣrNx!X= &աX)lJaE+[q4h&=VaiաX)lJaE+[q4h&=Va>'ʫBRؕ&)VeƷ92hьM9'<{$sh}`*M 8SSkˍnreѣrNx!X=H7X)lJaE+[q4h&=Va=ƋBRؕ&)VeƷ92hьM9'<{$>IBRؕ&)VeƷ92hьM9'<{$>IhV [`c56 &\M1$bz`*M 8SSkˍnreѣrNx!X=H IhV [`c56 &\M1$bzUZĩ6$XMMB{.5ɗFbn9؅`(#9 +-Rl0HšX`\ks.&CsDZ =Q}`*M 8SSkˍnreѣrNx!X=JMzЬ%I" jmbqL4cuI+ JhhV [`c56 &\M1$bzSEX)lJaE+[q4h&=Vaw+BRؕ&)VeƷ92hьM9'<{%KЬ%I" jmbqL4cuI+ QѬօ`*M 8SSkˍnreѣrNx!X=JL KbT ,p!X=ˉF17PB{@Zĩ6$XMMB{.5ɗFbn9؅`*- KbT ,p!X=ˉF17PB{@Q AhV [`c56 &\M1$bzNWEX)lJaE+[q4h&=VaLb+-Rl0HšX`\ks.&CsDZ =9ڴ+-Rl0HšX`\ks.&CsDZ =9hV [`c56 &\M1$b0{$=- KbT ,p!X=ˉF17PB{&dF KbT ,p!X=ˉF17PB{&d+-Rl0HšX`\ks.&CsDZ =իBRؕ&)VeƷ92hьM9'<{Ƀ("օ`*M 8SSkˍnreѣrNx!X=@հBRؕ&)VeƷ92hьM9'<{ɠHȏ Zĩ6$XMMB{.5ɗFbn9؅`MD'hV [`c56 &\M1$b4 9*hV [`c56 &\M1$b4 =`*M 8SSkˍnreѣrNx!X=@# Ь%I" jmbqL4cuI+h$z09hV [`c56 &\M1$b4 hV [`c56 &\M1$b4 @- KbT ,p!X=ˉF17PB{&"V>Zĩ6$XMMB{.5ɗFbn9؅`MDN+-Rl0HšX`\ks.&CsDZ 8+-Rl0HšX`\ks.&CsDZ ==hV [`c56 &\M1$b4 {UX)lJaE+[q4h&=Vd$J6kBRؕ&)VeƷ92hьM9'<{ɠH.)- KbT ,p!X=ˉF17PB{&"Pu`+-Rl0HšX`\ks.&CsDZ #*hV [`c56 &\M1$b4 bX)lJaE+[q4h&=Vd$JMX)lJaE+[q4h&=Vd$JH BRؕ&)VeƷ92hьM9'<{ɠHDX)lJaE+[q4h&=Vd$JmrЬ%I" jmbqL4cuI+h%6Ь%I" jmbqL4cuI+h%CrЬ%I" jmbqL4cuI+h%C%X)lJaE+[q4h&=Vd$J) KbT ,p!X=ˉF17PB{&"Tx KbT ,p!X=ˉF17PB{&"T+-Rl0HšX`\ks.&CsDZ UIhV [`c56 &\M1$b4 =hV [`c56 &\M1$b4 ϵX)lJaE+[q4h&=Vd$J^rЬ%I" jmbqL4cuI+h%WrЬ%I" jmbqL4cuI+h%W5X)lJaE+[q4h&=Vd$J:BRؕ&)VeƷ92hьM9'<{ɠHgv+-Rl0HšX`\ks.&CsDZ TV`*M 8SSkˍnreѣrNx!X=@*5 +-Rl0HšX`\ks.&CsDZ T`*M 8SSkˍnreѣrNx!X=@ ȏ Zĩ6$XMMB{.5ɗFbn9؅`MSUhV [`c56 &\M1$b4 Q}V`*M 8SSkˍnreѣrNx!X=@h+-Rl0HšX`\ks.&CsDZ rUЬ%I" jmbqL4cuI+h+-Rl0HšX`\ks.&CsDZ {kBRؕ&)VeƷ92hьM9'<{ɠJX)lJaE+[q4h&=Vd%CэV`*M 8SSkˍnreѣrNx!X=@}`*M 8SSkˍnreѣrNx!X=@.Zĩ6$XMMB{.5ɗFbn9؅`MTԂЬ%I" jmbqL4cuI+hgX)lJaE+[q4h&=Vd%BX)lJaE+[q4h&=Vd%D=BRؕ&)VeƷ92hьM9'<{ɠJH KbT ,p!X=ˉF17PB{&*=9hV [`c56 &\M1$b4 QV`*M 8SSkˍnreѣrNx!X=@JhV [`c56 &\M1$b4 QѪЬ%I" jmbqL4cuI+hFօ`*M 8SSkˍnreѣrNx!X=@$ٵhV [`c56 &\M1$b4 RDHAhV [`c56 &\M1$b4 RmrЬ%I" jmbqL4cuI+h} KbT ,p!X=ˉF17PB{&*PhV [`c56 &\M1$b4 RABRؕ&)VeƷ92hьM9'<{ɠJ/=hV [`c56 &\M1$b4 RZĩ6$XMMB{.5ɗFbn9؅`MTIhV [`c56 &\M1$b4 RBRؕ&)VeƷ92hьM9'<{ɠJiZĩ6$XMMB{.5ɗFbn9؅`MT=hV [`c56 &\M1$b4 R>kBRؕ&)VeƷ92hьM9'<{ɠJ>޴+-Rl0HšX`\ks.&CsDZ [j+-Rl0HšX`\ks.&CsDZ PZĩ6$XMMB{.5ɗFbn9؅`MTZ- KbT ,p!X=ˉF17PB{&$4 KbT ,p!X=ˉF17PB{&$әZĩ6$XMMB{.5ɗFbn9؅`TE#+-Rl0HšX`\ks.&CsDZ =4օ`*M 8SSkˍnreѣrNx!X=@#ȭ KbT ,p!X=ˉF17PB{*YX)lJaE+[q4h&=VePUBRؕ&)VeƷ92hьM9'<{ʠ=BRؕ&)VeƷ92hьM9'<{ʠ=%X)lJaE+[q4h&=VePUX)lJaE+[q4h&=VePVkBRؕ&)VeƷ92hьM9'<{ʠ=V`*M 8SSkˍnreѣrNx!X=@{iTօ`*M 8SSkˍnreѣrNx!X=@yZĩ6$XMMB{.5ɗFbn9؅`U΋SZĩ6$XMMB{.5ɗFbn9؅`U挖`*M 8SSkˍnreѣrNx!X=@}V`*M 8SSkˍnreѣrNx!X=@}uV`*M 8SSkˍnreѣrNx!X=@} Ь%I" jmbqL4cuI+\hV`*M 8SSkˍnreѣrNx!X=@| $zЬ%I" jmbqL4cuI+ օ`*M 8SSkˍnreѣrNx!X=@} EX)lJaE+[q4h&=VeP@5hV [`c56 &\M1$bTմ Zĩ6$XMMB{.5ɗFbn9؅`UH}hV [`c56 &\M1$bTZĩ6$XMMB{.5ɗFbn9؅`U5X)lJaE+[q4h&=VeP$sd KbT ,p!X=ˉF17PB{*#JZĩ6$XMMB{.5ɗFbn9؅`UGhV [`c56 &\M1$bT m`*M 8SSkˍnreѣrNx!X=@΍*+-Rl0HšX`\ks.&CsDZ }*+-Rl0HšX`\ks.&CsDZ %X)lJaE+[q4h&=VeP$u}V`*M 8SSkˍnreѣrNx!X=@9+-Rl0HšX`\ks.&CsDZ 5Zĩ6$XMMB{.5ɗFbn9؅`UGDxbЬ%I" jmbqL4cuI+="+-Rl0HšX`\ks.&CsDZ  9hV [`c56 &\M1$bT 2Zĩ6$XMMB{.5ɗFbn9؅`UV< KbT ,p!X=ˉF17PB{*+N+-Rl0HšX`\ks.&CsDZ hV [`c56 &\M1$bT =+-Rl0HšX`\ks.&CsDZ ظX)lJaE+[q4h&=VeP%Zĩ6$XMMB{.5ɗFbn9؅`UP=hV [`c56 &\M1$bT ASZĩ6$XMMB{.5ɗFbn9؅`UPD|+-Rl0HšX`\ks.&CsDZ - KbT ,p!X=ˉF17PB{*)NZĩ6$XMMB{.5ɗFbn9؅`UR2Zĩ6$XMMB{.5ɗFbn9؅`US`+-Rl0HšX`\ks.&CsDZ sAhV [`c56 &\M1$bT PȊЬ%I" jmbqL4cuI+ȭ KbT ,p!X=ˉF17PB{**VUX)lJaE+[q4h&=VeP%@Zĩ6$XMMB{.5ɗFbn9؅`UUhV [`c56 &\M1$bؒF- Zĩ6$XMMB{.5ɗFbn9؅`$xbЬ%I" jmbqL4cuI+$-6hV [`c56 &\M1$bؒ@šX)lJaE+[q4h&=VbHYšX)lJaE+[q4h&=VbH4BRؕ&)VeƷ92hьM9'<{Đ;+-Rl0HšX`\ks.&CsDZ I=X)lJaE+[q4h&=VbHxbЬ%I" jmbqL4cuI+$Ь%I" jmbqL4cuI+$ 4ҫBRؕ&)VeƷ92hьM9'<{Đ$ھZĩ6$XMMB{.5ɗFbn9؅`$#>- KbT ,p!X=ˉF17PB{@B BRؕ&)VeƷ92hьM9'<{Đ$sV BRؕ&)VeƷ92hьM9'<{Đ$sVkBRؕ&)VeƷ92hьM9'<{Đ$s BRؕ&)VeƷ92hьM9'<{Đ$s- KbT ,p!X=ˉF17PB{@΄h+-Rl0HšX`\ks.&CsDZ IG:M"+-Rl0HšX`\ks.&CsDZ IG:=hV [`c56 &\M1$bؒu^rЬ%I" jmbqL4cuI+$ 꾋BRؕ&)VeƷ92hьM9'<{Đ$}|`*M 8SSkˍnreѣrNx!X= HuZĩ6$XMMB{.5ɗFbn9؅`$#GhV [`c56 &\M1$bؒhЬ%I" jmbqL4cuI+$ "+-Rl0HšX`\ks.&CsDZ IGЬ%I" jmbqL4cuI+$ |X)lJaE+[q4h&=VbHZ- KbT ,p!X=ˉF17PB{@QšX)lJaE+[q4h&=VbH! NBRؕ&)VeƷ92hьM9'<{Đ$F} KbT ,p!X=ˉF17PB{@tZĩ6$XMMB{.5ɗFbn9؅`$"1Fcօ`*M 8SSkˍnreѣrNx!X= I'EX)lJaE+[q4h&=VbH#`*M 8SSkˍnreѣrNx!X= JH- KbT ,p!X=ˉF17PB{@:+-Rl0HšX`\ks.&CsDZ IRFIIhV [`c56 &\M1$bؒ2UX)lJaE+[q4h&=VbH KbT ,p!X=ˉF17PB{@UhV [`c56 &\M1$bؒt Zĩ6$XMMB{.5ɗFbn9؅`$*]e5X)lJaE+[q4h&=VbHЬ%I" jmbqL4cuI+$ POЬ%I" jmbqL4cuI+$ Pk5X)lJaE+[q4h&=VbHzЬ%I" jmbqL4cuI+$ PΊЬ%I" jmbqL4cuI+$ PZĩ6$XMMB{.5ɗFbn9؅`$*hV [`c56 &\M1$bؒFzЬ%I" jmbqL4cuI+$ PEX)lJaE+[q4h&=VbHX)lJaE+[q4h&=VbHN BRؕ&)VeƷ92hьM9'<{Đ%JѫBRؕ&)VeƷ92hьM9'<{Đ%TQyBRؕ&)VeƷ92hьM9'<{PBRؕ&)VeƷ92hьM9'<{Pօ`*M 8SSkˍnreѣrNx!X==+օ`*M 8SSkˍnreѣrNx!X= #Zĩ6$XMMB{.5ɗFbn9؅`(q-Rl0HšX`\ks.&CsDZi9@ ȸĩ6$XMMB{.5ɗFbn94ф&X d\AKbT ,p!X=ˉF17PtF)<d\AKbT ,p!X=ˉF17PtF,d\AKbT ,p!X=ˉF17PtFB YRؕ&)VeƷ92hьM9'<{1D-" [`c56 &\M1$c7F!p:ǃ)lJaE+[q4h&=HƳ& . *M 8SSkˍnreѣrNx: #tbVE%I" jmbqL4cuIAn@3`Uq-Rl0HšX`\ks.&CsDZiA0*ȸĩ6$XMMB{.5ɗFbn94ш: #`" [`c56 &\M1$c7F J9" [`c56 &\M1$c7F J`Uq-Rl0HšX`\ks.&CsDZi{Q" [`c56 &\M1$c7F RYRؕ&)VeƷ92hьM9'<{1 4)lJaE+[q4h&=H6)lJaE+[q4h&=H)lJaE+[q4h&=H=ȃ)lJaE+[q4h&=H})lJaE+[q4h&=H . *M 8SSkˍnreѣrNx: #tb . *M 8SSkˍnreѣrNx: #tbPd\AKbT ,p!X=ˉF17PtF)Ro`Uq-Rl0HšX`\ks.&CsDZiN}rĩ6$XMMB{.5ɗFbn94шU>VE%I" jmbqL4cuIAnBd\AKbT ,p!X=ˉF17PtF+` AVE%I" jmbqL4cuIAn$y#@@ ȸĩ6$XMMB{.5ɗFbn94фE@. *M 8SSkˍnreѣrNx: #ta#сȂVE%I" jmbqL4cuIAn$> d\AKbT ,p!X=ˉF17PtFV> d\AKbT ,p!X=ˉF17PtFDAVE%I" jmbqL4cuIAn$l+" [`c56 &\M1$c7FFUA+" [`c56 &\M1$c7F͘ d\AKbT ,p!X=ˉF17PtFR q-Rl0HšX`\ks.&CsDZi M܈ d\AKbT ,p!X=ˉF17PtFS @ ȸĩ6$XMMB{.5ɗFbn94ф@ ȸĩ6$XMMB{.5ɗFbn94ф' q-Rl0HšX`\ks.&CsDZi U>+" [`c56 &\M1$c7FNA+" [`c56 &\M1$c7FV q-Rl0HšX`\ks.&CsDZi U^p d\AKbT ,p!X=ˉF17PtFU d\AKbT ,p!X=ˉF17PtFUɠq-Rl0HšX`\ks.&CsDZi TYRؕ&)VeƷ92hьM9'<{1:YRؕ&)VeƷ92hьM9'<{1A+" [`c56 &\M1$c7FB d\AKbT ,p!X=ˉF17PtF\R:`q-Rl0HšX`\ks.&CsDZi!qI)lJaE+[q4h&=Hd\AKbT ,p!X=ˉF17PtFRقVE%I" jmbqL4cuIAnzȸĩ6$XMMB{.5ɗFbn94ё"Hq-Rl0HšX`\ks.&CsDZi"FvE%I" jmbqL4cuIAn. *M 8SSkˍnreѣrNx: #tdHUq-Rl0HšX`\ks.&CsDZi"&j. *M 8SSkˍnreѣrNx: #tdP$ןY)lJaE+[q4h&=H 5!Uq-Rl0HšX`\ks.&CsDZi"&. *M 8SSkˍnreѣrNx: #tdP$̝VE%I" jmbqL4cuIAn%q-Rl0HšX`\ks.&CsDZi"#Ud\AKbT ,p!X=ˉF17PtFȠH󞕬)lJaE+[q4h&=H <,E%I" jmbqL4cuIAn#:,)lJaE+[q4h&=H q-Rl0HšX`\ks.&CsDZi"#гE%I" jmbqL4cuIAnAd\AKbT ,p!X=ˉF17PtFȠHJ,)lJaE+[q4h&=H D YRؕ&)VeƷ92hьM9'<{2(=7"q-Rl0HšX`\ks.&CsDZi"!#0Ցq-Rl0HšX`\ks.&CsDZi"!. *M 8SSkˍnreѣrNx: #tdP%`=d\AKbT ,p!X=ˉF17PtFȠJ[j. *M 8SSkˍnreѣrNx: #tdP%dd\AKbT ,p!X=ˉF17PtFȠHVE%I" jmbqL4cuIAnJ*. *M 8SSkˍnreѣrNx: #tdP$BR!Uq-Rl0HšX`\ks.&CsDZi""'4ȸĩ6$XMMB{.5ɗFbn94ё@A )lJaE+[q4h&=H @*. *M 8SSkˍnreѣrNx: #tdP%ڬ)lJaE+[q4h&=H BM9d\AKbT ,p!X=ˉF17PtFȠJkE%I" jmbqL4cuIAnSȸĩ6$XMMB{.5ɗFbn94ё@LYRؕ&)VeƷ92hьM9'<{2(YRؕ&)VeƷ92hьM9'<{2()lJaE+[q4h&=H RDzȸĩ6$XMMB{.5ɗFbn94ё@(|h. *M 8SSkˍnreѣrNx: #tdP%JX%q-Rl0HšX`\ks.&CsDZi"*QYRؕ&)VeƷ92hьM9'<{2(<YRؕ&)VeƷ92hьM9'<{2(& HlG KbT ,p!X=ˉF17Pa'D !pZĩ6$XMMB{.5ɗFbn9FO2=ƋBRؕ&)VeƷ92hьM9'<{(IFQGJhV [`c56 &\M1$e > I' KbT)0" jmZq4h$XMMBz&nrlX F6hV&ٰz'3c> ($hmZB- ĩ6>RaEڴ+hь0HšV`M1w7R 5*lFM`OgD}7F8P(H ьڵOld ĩ6>RaEڴ+hь0HšV`M1w7R 5*lFM`OgD}7F8P(H ьڵOD*Ƕ[I 8SSjЬF0" jmZq4hksK`*V:4E6̓>ٞ`@ F0{j:` V=Rؕ&L0HšV`M1 8SSjЬF.[[V5ѥM(Չl菰  1VЈd T%I ,pաX=wFaEڴ+hы)U `tiSf5bm}-=:#0€B@`լt"=cU-Rl|)hV]ѣ`c56 븚4b5n`kX+T٢XfKlAn0pPA=kp UmT%I ,pաX=wFaEڴ+hы)U `tiSf5bm}-=:#0€B@`լt"= V ĩ6>RaEڴ+hь0HšV`M1w7R 5*lFM`OgD}7F8P(H ьڵGcU-Rl|)hV]ѣ`c56 븚4b5n`kX+T٢XfKlAn0pPA=kp UmT%I" jmbqL4c- FO1tFqlE%I" jmbqL4c- FO1tFqlVE%I" jmbqL4c- FO1tFqlE%I" jmbqL4c- FO1tFqlYRؕ&)VeƷ92hь6C[e >Oi(}ųYRؕ&)VeƷ92hь6C[e >Oi(}ų)lJaE+[q4h[N!tce'X4є>ـE%I" jmbqL4c- FO1tFqlk" [`c56 &\M1ӆ{kla'IVPfV`*M 8SSkˍnreѣm8l6}ч6 e)\ͣa'Ь%I" jmbqL4c- FO0qI'#86BRؕ&)VeƷ92hь6C[e >D}+BRؕ&)VeƷ92hь6C[e >senEhV [`c56 &\M1ӆ{kla'Ko\}Ղfe,T0)lJaE+[q4h[N!te.ih6}\E-#sȼ}d\AKbT ,p!X=ˉF2pmml$)sMV:*.tYRؕ&)VeƷ92hь6C[e >\}Ճ.m>­;zȸĩ6$XMMB{.5ɗFe(IFR7V`*M 8SSkˍnreѣm8l6}щR<Ь  /P(8 A@J+W )hV]ѣqSu-dmZQ! ŰP@BJVm>y0LTsK4G}T9^^A@2}L9Eڳs`ьl:- 51 ,p՜>cgs `k @)g$珹)>X" jmY9k$ |V5 QEڳs+JO}BV5 QEڳs+JOζ 51 ,p՜>h `k @)g$珹pr[XF 8SSjIs]%}BV5 QEڳsFs `k @)g$珹4u[G `kX b$XMM9'<}t[XF 8SSjБ% ,gaX" jmZ$%ζ 51 ,pա"Ktkdfڹ `k @)hVX `@*@*0HšV` BV5 QEڴ+hы) 51 ,pո}gaX" jm[5n `k @)nkJ0U `T`c56螻F,54c>΁X" jm[=wFY9k$ | 51 ,pսq4hŜ>X" jm[=wFY9kd 51 ,p„Wq4hŜ>@AX" jm\(EwFY9kΎn'@*@*0HšW!q4hŞ BV5 QEڹ F.[X@*@*0HšW;5g$D `kX b$XMMg$D `kX b$XMMa'rNx) `k @)tl$Is] U `T`c56kqV5 PuN0ÇR8P-ejVm>xP:4c>ΊԜ/ >u^" jmY9kh6}QX F 8SSjIs]F1V5 QEڴ+hы) 51 ,pո}gaX" jm[5n `k @)nkJ0U e QEڷz٠%g$珹FtXF 8SSjމ븚4bIs]F1 51 ,pսt4$bIs]F1 51 ,pսBf@U>cg `kX b$XMMz'4s`ьl: `k @)oDiE>cg `kX b$XMMz'-@Y9kh6}QV5 QEڷzSD9'<}v Ϫ3@*@*0HšVOXjY9kh6}QV5 QEڷzP4g$珹FtXF 8SSj<&nraX@" jm] >賒s`ьl: `k @М%Ta?@@0? 2BA@ `?Pp8@`?SDzG,pաX=wF]Ʒ9MԵPEڴ+hы)E;Q03)hV]ѣqSu-tpm$XMMBz&nrkk,pաX=wF]Ʒ9MԵp=h@$e k |AR)29-c #68./usr/lpp/IBMVJava.html.en_US/IBMVJava.html.en_US.enterprise/2.0.0.2/inst_rootAA kT`qmr7l7l7$Cr./usr/lpp/IBMVJava.html.en_US/IBMVJava.html.en_US.enterprise/2.0.0.2/inst_root/liblpp.amm 3496 0 68 2862 0 2664 2862 0 923335788 1703 244 644 40 IBMVJava.html.en_US.enterprise.inventory` /var/docsearch/indexes/IVJXENUS/data/imnadmtb.dat: owner = imnadm group = imnadm mode = 664 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = VOLATILE checksum = VOLATILE /var/docsearch/indexes/IVJXENUS/data/imncanp2.dat: owner = imnadm group = imnadm mode = 664 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = VOLATILE checksum = VOLATILE /var/docsearch/indexes/IVJXENUS/data/imncoxp2.dat: owner = imnadm group = imnadm mode = 664 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = VOLATILE checksum = VOLATILE /var/docsearch/indexes/IVJXENUS/data/imndexp2.dat: owner = imnadm group = imnadm mode = 664 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = VOLATILE checksum = VOLATILE /var/docsearch/indexes/IVJXENUS/data/imndexp2.idx: owner = imnadm group = imnadm mode = 444 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = 2048 checksum = "54751 2 " /var/docsearch/indexes/IVJXENUS/data/imndicp2.dat: owner = imnadm group = imnadm mode = 664 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = VOLATILE checksum = VOLATILE /var/docsearch/indexes/IVJXENUS/data/imndixp2.dat: owner = imnadm group = imnadm mode = 664 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = VOLATILE checksum = VOLATILE /var/docsearch/indexes/IVJXENUS/data/imndixp2.idx: owner = imnadm group = imnadm mode = 444 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = 2048 checksum = "42854 2 " /var/docsearch/indexes/IVJXENUS/data/imndoxp2.dat: owner = imnadm group = imnadm mode = 664 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = VOLATILE checksum = VOLATILE /var/docsearch/indexes/IVJXENUS/data/imnfixp2.dat: owner = imnadm group = imnadm mode = 664 type = FILE class = apply,inventory,IBMVJava.html.en_US.enterprise size = VOLATILE checksum = VOLATILE 510 3496 68 923335788 1703 244 644 33 IBMVJava.html.en_US.enterprise.al` ./var/docsearch/indexes/IVJXENUS/data/imnadmtb.dat ./var/docsearch/indexes/IVJXENUS/data/imncanp2.dat ./var/docsearch/indexes/IVJXENUS/data/imncoxp2.dat ./var/docsearch/indexes/IVJXENUS/data/imndexp2.dat ./var/docsearch/indexes/IVJXENUS/data/imndexp2.idx ./var/docsearch/indexes/IVJXENUS/data/imndicp2.dat ./var/docsearch/indexes/IVJXENUS/data/imndixp2.dat ./var/docsearch/indexes/IVJXENUS/data/imndixp2.idx ./var/docsearch/indexes/IVJXENUS/data/imndoxp2.dat ./var/docsearch/indexes/IVJXENUS/data/imnfixp2.dat 111 0 2862 0 0 0 0 0 ` 2 68 2862 IBMVJava.html.en_US.enterprise.inventoryIBMVJava.html.en_US.enterprise.al"292 kQ $Y7I6]6$@7J./usr/IBMVJava/html/enterp/en_US/cics/ref/allclasses.html$$ Class and Interface Index (CICS IBM e-business Connector)
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

Class and Interface Index (CICS IBM e-business Connector)


C
CICSCommunication
CICSConnectionSpec
CICSResourceException

E
ECIInteractionSpec
EPIInteractionSpec


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
 l~R $bdY7I6]6$@J>./usr/IBMVJava/html/enterp/en_US/cics/ref/allnames.html$$  .ceinot<>adhmrs "C_blp#()/=ISfgu EMTvy-LNPRj,3AOUwx0DFW1BGHKk89:JQVXY!24Z[]+5;@K:iPPH("W{N@8HҒIgBjZI! <HHH$ $XE_o$,*+|Q_`_gQLS~+`@ RI !} Z:  $$$~y֒H.8lV/|,Yc XE{ݺpH@:IRI7;( AQ` 0$6g RI""""! Q;E)(uۅyŠEY4p1I${ZP㒅CcE{N)%'-u0-TBQQ{i$8,= R`8g-\_ {Tq@ZP'ܒH@QZP%xH1B 4 THB 4 $%I$*(,@Ŕ%I$*(,@t RI! :Ɗ(0K09I@$ch{M%I$*(,@R@!THB 4 %$P%I$*(,@H RI! :Ɗ(0K0H%I$*(,@R@)THB 4 ) t RI! :Ɗ(0K0AI@$ch{M H!THB 4 !THB 4 ) RI! :Ɗ(0K0 H%I$*(,@ @$ch{M )#%I$*(,@%$%THB 4 %THB 4 RI! :Ɗ(0K0 ) %THB 4 RI! :Ɗ(0K0H%I$*(,@P%I$HCHCdooU)N QI$z9oj"rŖ28DXͷ ۯ$ @$*5ME{M%THCdooU)N QI$*5ME{M&x@$$ooX$I_ch8kfvYO}vkϺ1ogZ.[ppZ&ڵ wnح`|ۄ-`q -Tq -D@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZo@%}bu{nHB0 CcE\[5۷_Κ|foە_>žӃ)kxYlV>?mj Tj%}bu{nRT]ۼ,+GX RC]ۼ,+GXIlQ{⹳kn5Bl᭚ۯMe>n7ʯןtbRi<’X{Wh%I$-iַ >eZ:I$D!~Bl᭚ۯMe>lrԳpe-`q -8-AJmZxYlV>?m JKwh܁*HpKwh"I "͊9O|W6pv󦲟(T14QU͜5]u鬧͟nU~v{N gpH{Wh%I$-iַ >eZ:I$ JI$!Qm(%hJ$F(ibJ$9$@߁R8eITjb `,p*I$ HJI$!g$"L!PXEW6pv󦲟5ۯןtbRiXvaAŖ0ݺ}!I$pt E+8kfvYO*(ٮݺtS沟]u[Y81ǘRKXvaHDBp e/n;Fu$` :Ɗ*kn55)_-,vÈ)5۷^*HqIlQ{⹳kn5Bl᭚ۯMe>k)hWi}K=3 Ib_5)_DBV+b_5)_g Vu+n;d"L!PXEW6pv󦲟5ۯןtbRi֯J ӭ_eZ?rځ*HqIlQ{⹳kn5Bl᭚ۯMe>k)۷_>žӃy$e/n;Ft*I$D!kL@*{,Yc ~+8]$ JI$!Qm(%h RI! rI! UV(;p 8*)E$64 Lx@$$ooX$I_ch8kfvYO}sZ?rbRiݺ J۷^*HqIlQ{⹳kn5Bl᭚ۯMe>k)hWi}K=3 Ib_5)_DB|zWُŖ0kGR;`kjCq]u$+9$F(i`r*I$!I$!2P7jbYg_(BآX=L$#{}($HB0 CcE\[5۷_Κ|foە_>žӃ, ) 0r(BP%IH SFqrl᭚ۯMe>Pch8kfvYOrԳpc?0,^U0 RI"! Z`Wˋv;e(` X ˊbu"L!PXEW6pv󦲟7YWkϺ1og0 XII,YP%IH SFqrl᭚ۯMe>Pch8kfvYOrԳpc?0,^U0 RI"! Z`Wˋv;e(` X s[ˊbu"L!PXEW6pv󦲟7YWkϺ1ognU~v>8X{Wh%I"I o:(=\[5۷_Κ|PXEW6pv󦲟7YWkϺ1ogaI,XraHDBp¶/~ܪ}ԒDBd*(ٮݺtS߷*;^}ы}K=nU~v>8 /~ܪ}!I$pt E+8kfvYO*(ٮݺtS߷*;^}ы}K=3 H8$XraHDBp¶"ە_HB0 CcE\[5۷_Κ|S{N `]͜5]unU~v>Z'+GHh.X)RrtAI.!ە_`4u,D@E9qrl᭚ۯMe>Pch8kfvYO}sZ?rbRi<’XhWj$1olfUV{#q]u$ Y$*5ME{M*I$!I$!2P7jbYg_(BآX=AIBKdBrI"! 2 uUsg ln:k)YOݺyF-,n:.[8-AJg4p *NV ]׀ PRh x7`q -ց*Hq, ]׈Hg.3bS͜5]u鬧 uUsg ln:k)YOݺyF-,)%,a}u0 RI"! ZbF: Kwh h\s"L!PXEW6pv󦲟7YWkϺ1ogq wnحaj T#=٣X)RrtZ'+GHh.xYlV RCf`4u,D@E9qrl᭚ۯMe>Pch8kfvYOrԳpc?0,^U0 RI"! ZbF: Kwh h\s"L!PXEW6pv󦲟6~fU[Y80u]ۼ,+GXpZ'+GHvhj T A`I $n:.[T=٣X x A$~\f+8kfvYO*(ٮݺtS߷*;^}ы}K=3 H8$XraHDBuq -{ и;$ JI$!Qm(%h J$9$@߁R8eITjb `BKdBrI"! 2 uUsg ln:k)goە_>žӃŀp HX@$8$r6(=\[5۷_Κ|PXEW6pv󦲟6~fU[Y81ǘRA"ە_@$" ~=\<>rI_ch8kfvYO{=v՟bRi_,9/a,`m!I$_G)ٮݺtS :Ɗ*kn5W`]Y-,)%,`*V՟ځ*I$D!kL@*{,Yc!Fޮ+rI_ch8kfvYO{=v՟bRi_,vAI~XǻK!I$_G)ٮݺtS :Ɗ*kn5W`]Y-,)%,`*V՟ځ*I$D!kL@*{,Yc!ݱ\HB0 CcE\[5۷_Κ|So.{N :e_v˱,`*{]f@$8$r6(=\[5۷_Κ|PXEW6pv󦲟5[{ ?žӃy$e[{;P%I$-i_v=,d:{+p g4tDBd*(ٮݺtS沟]u[Y80Ŗ0e*AI~X [%I"I "͊9O|W6pv󦲟(T14QU͜5]u鬧e>vԳpc?0,h%I$-iHUkpX [q HB0 CcE\[5۷_Κ|Sn;^}ы}K=~Y{.<, ,CݞY{ mJD@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZ |{.(CݞY{ m$` :Ɗ*kn55)_-,u}u0 HvaH$~\f+8kfvYO*(ٮݺtS沟\֏ܥ~vԳpc?0,Z?rځ*I$D!kL@*{/n;Fu6=,Yc ~+thu>7 ݺ})}G,a|֏ܥ~v$D!~Bl᭚ۯMe>k)۷_>žӃ/n;Bq8:ݺ  RCHg.3bS͜5]u鬧 uUsg ln:k)YOݺyF-,)%,a}u0 RI"! ZbWݯevhN6$` :Ɗ*kn57ʯןtbRi_=nRG_=nJD@E9qrl᭚ۯMe>Pch8kfvYO?3~ܪyF-,) bʯч JIZ |{.({Ίㇷ`q HB0 CcE\[5۷_Κ|WkϺ1ogï\RG_= @$8$r6(=\[5۷_Κ|PXEW6pv󦲟6~fU[Y81ǘRA"ە_@$" ~=\P?*wn$/T14QU͜5]u鬧fU[Y80rńoq$u9bqT$/ˌأsg ln:k)CcE\[5۷_Κ|foە_>žӃy$bʯч JIZ |{.{wK1ebXgo($` :Ɗ*kn5߷*;^}ы}K=~-wrAI~-wr܁*HqIlQ{⹳kn5Bl᭚ۯMe>n7ʯןtbRi<’X{Wh%I$-i_v=nۼ.I"! 2 uUsg ln:k)YOݺyF-,uvw AI~ݠ~FJD@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZ |{.5M?bS$` :Ɗ*kn5n~v{N :!@Y}u Hek%I"I "͊9O|W6pv󦲟(T14QU͜5]u鬧e>vԳpc?0,h%I$-i_v= P_n~vwn$/T14QU͜5]u鬧e>vԳpakÈ)#3KۯנJD@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZ |{._n~vwn$/T14QU͜5]u鬧fU[Y80]RG_rT$/ˌأsg ln:k)CcE\[5۷_Κ|foە_>žӃy$bʯч JIZ |{.˸=}>o>"L!PXEW6pv󦲟7YWkϺ1ogï*{rÈ)#*{r%I"I "͊9O|W6pv󦲟(T14QU͜5]u鬧fU[Y81ǘRA/~ܪ}$1Dz=W9p{w$D!~Bl᭚ۯMe>n7ʯןtbRi_]Ü 9M)*HqIlQ{⹳kn5Bl᭚ۯMe>n7ʯןtbRi<’X{Wh%I$-i_v=9M)x\DBd*(ٮݺtS沟]u[Y80UmRG_GmT$/ˌأsg ln:k)CcE\[5۷_Κ|Sn;^}ы}K=3 Ib_n~v>THB֘UkpQ8ۃۼ.I"! 2 uUsg ln:k)YOݺyF-,upUegrBa-VCݞY{ mJD@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZ |{.n SSnwn$/T14QU͜5]u鬧e>vԳpa6]AI~nnj$~\f+8kfvYO*(ٮݺtS沟]u[Y81ǘRKXvaHDBǻ_ˏ75GCyvt>rI_ch8kfvYOrԳpa.VUSl8:%ת;A mJD@E9qrl᭚ۯMe>Pch8kfvYOrԳpc?0,^U0 RI"! ZbWݯeǹZWh!M=}"L!PXEW6pv󦲟5ۯןtbRi_:=m t{a8*HqIlQ{⹳kn5Bl᭚ۯMe>k)۷_>žӃy$e/n;Ft*I$D!kL@*{k =}"L!PXEW6pv󦲟5ۯןtbRi_ 8q$u JD@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZDz q HB0 CcE\[5۷_Κ|foە_>žӃ_nŇRG_/b%I"I "͊9O|W6pv󦲟(T14QU͜5]u鬧fU[Y81ǘRA/~ܪ}$1Dz{ظ=}%g$64 %%THCHCdooU)N QI$*5ME{MII RI!FP%2I! 9$` :Ɗ*kn5n~v{N =8=T$/ˌأsg ln:k)CcE\[5۷_Κ|Sn;^}ы}K=3 Ib_n~v>THB֘UkP=˸5Ol{. X}*+W˂Ŗ2\z (.PI"! 2 uUsg ln:k)YOݺyF-,{ vh K˱$~\f+8kfvYO*(ٮݺtS沟]u[Y81ǘRKXvaHDBǻ_ jk\,pU5MV=,dZWi$@+ P\ n7ʯןtbRi<’X{Wh%I$-i_v=,`8 0ep/Wk?Q|p< x\DBd*(ٮݺtS߷*;^}ы}K=ǀ|}vׁ-gXq'۷^hh$~\f+8kfvYO*(ٮݺtS߷*;^}ы}K=3 H8$XraHDBǻ_˅n;cu$` :Ɗ*kn5߷*;^}ы}K=DŽA.VUSl8 \z!I$_G)ٮݺtS :Ɗ*kn5߷*;^}ы}K=3 H9bە_@$" ~=\A.VUSnwn$ Y$*5ME{MJITjb `*I$!Qm(%hRP%I$*5ME{M RI! SlQA,@*I$!Qm(%h)(BآX=%%THBTPK0 J$F(i`QI@$$(5UbSGRI! SlQA,@@$$ooX$I_ch8kfvYO}vkϺ1ogζU]ۼ,+GX*Mk>eZ:).U]ۼ,+GX RC]ۼ,+GXIlQ{⹳kn5Bl᭚ۯMe>k)۷_>žӃy$e/n;Ft*I$D!kL@*VT]ۼ,+GX$/T14QU͜5]u鬧fU[Y83`q -8-AJmZxYlV>?m K`q -Tq -D@E9qrl᭚ۯMe>Pch8kfvYOrԳpc?0,^U0 RI"! ZbV T]ۼ,+GX$/T14QU͜5]u鬧͟nU~v{N oX%}bu{n PRVA.[poX%}bu{n@$8%}bu{n$~\f+8kfvYO*(ٮݺtS߷*;^}ы}K=3 H8$XraHDBo@%}bu{nH@HBTPK0’*I$!I$!2P7jbYg_(BآX=BKdBrI"! 2 uUsg ln:k)goە_>žӃ>6pv󦲟 8 %I$/ˌأsg ln:k)CcE\[5۷_Κ|WkϺ1ogaInU~v>THB֘e,$` :Ɗ*kn5߷*;^}ы}K=}b@Hs{hŖ0 RCuDI$_G)ٮݺtS :Ɗ*kn5߷*;^}ы}K=3 H9bە_@$" epXXvN {w$D!~Bl᭚ۯMe>k)۷_>žӃ>en )RrtfR_~X [%I3ݚ8D@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZ/˂Ŗ0e*x\DBd*(ٮݺtS沟]u[Y83;/|egrBaj T#=٣ߖv^ˡ ,=6%I3ݚ8D@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZ2츣]vxYg))x\DBd*(ٮݺtS沟\֏ܥ~vԳpgߗ۷_\[5۷_ΒvaB Kۯч Jݺ}Љ$r6(=\[5۷_Κ|PXEW6pv󦲟5~+žӃy$e/ RI"! Zb_=,a}u0SՊ\Yf> XJHB0 CcE\[5۷_Κ|Sn;^}ы}K=}}u ݺ  RC8D@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZ2츮ݺ =}"L!PXEW6pv󦲟6~fU[Y83ㇷCǹ RC$r6(=\[5۷_Κ|PXEW6pv󦲟6~fU[Y81ǘRA"ە_@$" eqCtW=x\DBd*(ٮݺtS߷*;^}ы}K=}cp+ 8R!|D@E9qrl᭚ۯMe>Pch8kfvYO?3~ܪyF-,) bʯч JIZ2측:T>rI_ch8kfvYO?3~ܪyF-,]uFYZ nk:%Ioq֭$~\f+8kfvYO*(ٮݺtS߷*;^}ы}K=3 H8$XraHDB |{.ݺYx\DBd*(ٮݺtS3~ܪyF-, g;߃,'|?%IsD@E9qrl᭚ۯMe>Pch8kfvYOrԳpc?0,^U0 RI"! Zb_= =}"L!PXEW6pv󦲟7YWkϺ1ogϿnh_)/n@$9`"I "͊9O|W6pv󦲟(T14QU͜5]u鬧fU[Y81ǘRA/~ܪ}$1/ˌ]ܷA$` :Ɗ*kn5n~v{N ?48-AJg4p?5T=٣I$_G)ٮݺtS :Ɗ*kn5n~v{N gŖ0ݺ}$1/ˍSn8l{.;øhأ$D!~Bl᭚ۯMe>k)۷_>žӃ>!@Y}uvR_~,ݺz!"I "͊9O|W6pv󦲟(T14QU͜5]u鬧e>vԳpc?0,h%I$-i~\5@Y}u=}"L!PXEW6pv󦲟5ۯןtbRi~_n~v9ݣ߄f۷_@$9ݣI$_G)ٮݺtS :Ɗ*kn5n~v{N gŖ0ݺ}$1/ˆ۷_ۼ.I"! 2 uUsg ln:k)unU~v{N ]%@$>oHg.3bS͜5]u鬧 uUsg ln:k)unU~v{N grŋ߷*;Ft*I$D!kL@DzἻۼ. QI"! 2 uUsg ln:k)unU~v{N J+*NV K*{r%I3ݚ8D@E9qrl᭚ۯMe>Pch8kfvYOrԳpc?0,^U0 RI"! Zb_=˃ۼ.I"! 2 uUsg ln:k)unU~v{N KsBaj T#=٣߂]Ü@$8vhIlQ{⹳kn5Bl᭚ۯMe>n7ʯןtbRi<’X{Wh%I$-i~\4>rI_ch8kfvYO}vkϺ1ogϿZ sG)/Z !"I "͊9O|W6pv󦲟(T14QU͜5]u鬧e>vԳpc?0,h%I$-i~\:xN6q HB0 CcE\[5۷_Κ|Sn;^}ы}K=}pUegrBaj T#=٣ߌ[]vxYg))*Hq$/ˌأsg ln:k)CcE\[5۷_Κ|Sn;^}ы}K=3 Ib_n~v>THB֘eVCݞY{ m$` :Ɗ*kn5n~v{N ssTpG. PRh &˳%I3ݚ8D@E9qrl᭚ۯMe>Pch8kfvYO}vkϺ1ogaI,Yc ۯч JIZ2ssTt7gA$` :Ɗ*kn5߷*;^}ы}K=}H$k_6ÛuD߄A.VUSmTjIlQ{⹳kn5Bl᭚ۯMe>n7ʯןtbRi<’X{Wh%I$-i~\A.VUSnwn$/T14QU͜5]u鬧fU[Y83\zpZ'+GHvh%.VUSmT=٣I$_G)ٮݺtS :Ɗ*kn5߷*;^}ы}K=3 H9bە_@$" eqVUSnwn$/T14QU͜5]u鬧e>vԳpg߁:=mwh%N}'|?%IwhIlQ{⹳kn5Bl᭚ۯMe>k)۷_>žӃy$e/n;Ft*I$D!kL@Dz~}'|?q HB0 CcE\[5۷_Κ|Sn;^}ы}K=} )RrtfR_~"I "͊9O|W6pv󦲟(T14QU͜5]u鬧e>vԳpc?0,h%I$-iHe $` :Ɗ*kn5߷*;^}ы}K=}v,8-AJg4p%Z!{GHg.3bS͜5]u鬧 uUsg ln:k)unU~v{N grŋ߷*;Ft*I$D!kL@Dz{ظ=}%g$64 RP%I$*5ME{M%%THBTPK0JJ$F(i`RP%I$*5ME{M(JITjb `YI@$&"""! Q;E)(uۅyŠEY4p1I${ZP㒅CcE{N)%'-u0-TBQQ{i$8,= R`8g-\_ {Tq@ZP'ܒH@QZP%xH@yai$ g@0) kꖹT $Y7I6]6$P=J./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.cicscommunication.html$$ com.ibm.connector.cics.CICSCommunication <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.cics.cicscommunication_dsc.html#_top_">com.ibm.connector.cics.CICSCommunication (no frames)</a></b></p> </body>  kꎗU $'Y7I6]6$J'./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.cicscommunication_dsc.html$$ Class com.ibm.connector.cics.CICSCommunication

Class com.ibm.connector.cics.CICSCommunication

java.lang.Object
   |
   +----com.ibm.connector.cics.CICSCommunication

public class CICSCommunication
extends Object
implements Communication, Serializable

This class allows you to create a Communication path to the CICS Transaction Gateway; and to use this to flow requests to the CICS Transaction Gateway.

A CICSCommunication object is created by the invoking the CICSConnectionSpec's createCommunication() method. For example:

 	CICSConnectionSpec cicsCSpec = new CICSConnectionSpec();
	CICSCommunication cicsC = (CICSCommunication) cicsCSpec.createCommunication();
 

Before using a CICSCommunication object to flow requests to the CICS Transaction Gateway, you must invoke the connect() method of the CICSCommunication object. This associates the CICSCommunication with a connection to the CICS Transaction Gateway.

After connecting you may invoke the execute() method to flow requests to the CICS Transaction Gateway.


Method Index

connect()
Associates this CICSCommunication with a managed connection.
disconnect()
Disassociates this CICSCommunication from a managed connection.
execute(InteractionSpec, Object, Object)
Drives an interaction with the connector.
getConnectionSpec()
Returns the ConnectionSpec of this CICSCommunication, or null if there is no ConnectionSpec associated with this CICSCommunication.
setConnectionSpec(ConnectionSpec)
Sets the CICSConnectionSpec associated with this CICSCommunication.

Methods

connect
 public void connect() throws AlreadyConnectedException, NoConnectionAvailableException, LogonException, CommunicationException
Associates this CICSCommunication with a managed connection. Before using a CICSCommunication object, to flow requests to the CICS Transaction Gateway, you must connect the CICSCommunication object.

You must not issue two connect() requests for the same CICSCommunication, without an intervening disconnect() request.

If you attempt to connect with a ConnectionSpec that is not an instance of the CICSConnectionSpec, then a CommunicationException will be thrown.

Throws: AlreadyConnectedException
Thrown if the CICSCommunication is already connected.
Throws: NoConnectionAvailableException
Thrown if no connection is available.
Throws: LogonException
Thrown if the logon fails.
Throws: CommunicationException
Thrown if an internal communication problem occurs.
disconnect
 public void disconnect() throws NotConnectedException, CommunicationException
Disassociates this CICSCommunication from a managed connection. After disconnecting a CICSCommunication object, you may not invoke its execute() method.

Throws: NotConnectedException
Thrown if communication is not connected.
Throws: CommunicationException
Thrown if internal communication problem occurs.
execute
 public synchronized void execute(InteractionSpec interactionSpec,
                                  Object input,
                                  Object output) throws CommunicationException, LogonException, IllegalArgumentException, NotConnectedException, CICSResourceException, TransactionRolledBack, ResourceException
Drives an interaction with the connector. It will cause a request to be flowed to the CICS Transaction Gateway. The CICSCommunication object's connect() method must be invoked before its execute() method.

A set of properties describing the interaction are specified in an InteractionSpec.

An ECIInteractionSpec allows you to select, amongst other properties, the mode that should be carried out on this interaction.

An ECIInteractionSpec also allows you to specify whether an interaction is for an extended logical unit of work. Each interaction that is part of an extended unit of work must be flagged as such, on the ECIInteractionSpec.

Input and output objects are passed as arguments to the CICSCommunication. If a passed argument is not accepted by the CICSCommunication, the IllegalArgumentException is raised. Acceptable input and output objects are: byte arrays (byte[]) or instances of a class that implements the com.ibm.record.IByteBuffer interface (containing a byte array).

For ECI interactions you should ensure that the input or output byte arrays are large enough to hold the data actually returned by CICS: even if you do not wish to make use of all this data. Failure to do this will result in a CICS error. The CICS Connector will use the larger of the two byte arrays you provide, to calculate the size of the byte array (commarea) to be passed to CICS. If the output byte array is not large enough to hold all the data returned by CICS then the data will be truncated by the CICS Connector, no error will be thrown.

For EPI interactions you should ensure that the input and output byte arrays are the same size as each other and the same size as the screen (that is, the number of rows multiplied by the number of columns). Failure to do this will result in an error.

If an instance of a class that implements the com.ibm.record.IByteBuffer is unable to be set with the byte array returned by the CICS Transaction Gateway, then an IllegalArgumentException will be thrown.

A CICSResourceException may be thrown to pass back CICS information such as the CICS return code or the CICS abend code. A CICSResourceException will not be thrown if the CICS return code is normal.

The execute() method may be invoked many times using the same CICSCommunication object.

Parameters:
interactionSpec - com.ibm.connector.InteractionSpec
input - Object input value
output - Object output value
Throws: NotConnectedException
Thrown if the communication is not connected.
Throws: IllegalArgumentException
Thrown if the input value passed is invalid.
Throws: LogonException
Thrown if the logon fails.
Throws: CommunicationException
Thrown if an internal communication problem occurs.
Throws: CICSResourceException
Thrown to pass back CICS information
Throws: TransactionRolledBack
Thrown if an ECI_COMMIT request is known to have failed
Throws: ResourceException
Thrown if a resource problem occurs.
getConnectionSpec
 public ConnectionSpec getConnectionSpec()
Returns the ConnectionSpec of this CICSCommunication, or null if there is no ConnectionSpec associated with this CICSCommunication.

Returns:
com.ibm.connector.ConnectionSpec the CICSConnectionSpec associated with this CICSCommunication
setConnectionSpec
 public synchronized void setConnectionSpec(ConnectionSpec connSpec)
Sets the CICSConnectionSpec associated with this CICSCommunication. Only CICSConnectionSpec objects should be set into CICSCommunication objects.

Parameters:
connectionSpec - the CICSConnectionSpec associated with this CICSCommunication.

lA k0V $/Y7I6]6$PsJ/./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.cicscommunication_mi.html$$ Method Index for com.ibm.connector.cics.CICSCommunication

Method Index

connect()
disconnect()
execute(InteractionSpec, Object, Object)
getConnectionSpec()
setConnectionSpec(ConnectionSpec)
r kFW $Y7I6]6$PvJ./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.cicsconnectionspec.htmll$$ com.ibm.connector.cics.CICSConnectionSpec <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.cics.cicsconnectionspec_dsc.html#_top_">com.ibm.connector.cics.CICSConnectionSpec (no frames)</a></b></p> </body> < l:#X $EY7I6]6$JT,./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.cicsconnectionspec_dsc.html$$  aent <>diloprs"./CSbcghmuy()Tfv:=ILPRj #-MNUwx,0FGOz14AEJ_'389HWYq!+25?k;D|X5;Oq S!vvS"f)+;O{t)+>Q0H(PX  2\ +>۱Xa  F67267H;OxêSt`(0RT%`? VyhM; H88 bvؤKs@Y 3a!qJ&fTl%dk%dt)+. Gi|$0 `81I]| ` "7;Fb}&܂[8юB[k] 'ײb\ϧ#oB{Ε;Bܵ0ru=]RVC^ŊH>cs>8َ:ϰC2߰uBI+dt35 }cT 9 $;s!fowO|H` $'dt35 |$G51ԕŊO 6fYNHI%q2p&FsОp}rBI+dt1IMm) l>'N}h?,0(8݆:,0+rNGN'yrP|JeY:3] Mm) :[#(l R##[ xZBȌJ'T>q)HI%q2p&fpuJ#Sczb[yhc\-BНb"0C;u]uFsО:.]u'Q>݆:A%Ҭ$D 8X'VbvKsQ@JΤ q)\J }2fBn~|Ӡ;BI(q7Nn~|JR|B_(?\NxI/C2߰uتA $;ӯIE\ܔB7-G 8$w$$B] vتAqlt`PO\X]!WЛߧ_!a 7Fs+<~nG)6(Fl G{mv;] C2a܏vSÒIC+ΟtC|~}ITe?Нu',Rx@`T \B7-GQsǣN{ F}l GRyռ翗|{m{>d3,Ͷ$$cyv*R{]3!fmu%qb%u򏰁hY%gv)? 68+ %m{X]sbID2C @$$e1dSR[ZɆOd?\J&fTlԕױIYbRޝmTpbJ۬.ұA #rI: t6d #rI: t fSZ(F娒uadSj$Xm:{yr~\IՆS!ԕX]sb+`yct08dɁ硎2őL!Imk? BY?\J&8C< 4u%m\X+ #rI:Bw9['a7 t;  ,6кfh)ҰB7-D LVh lXmֳ!ҹrnZ'V`$]G˔RV`uΕm!$U]8m!$U]dSR[ZΤ%uBI(:ˮtP@soI{41 ;Q%9 fzKyYIډ/GȦ^,ӯ^iVbvKsQ(F娎2+0afk\}  fzL3,t0K!"B~zNd3,t0K!2nZJ۬.ұAͽ Bޅ@`T K"B~zN} u +RV`uΕm&2C&@6@afkYֳ%uL3,t2~2nZJ۬.ұAͽ eL8m%L3,t2k"B~zN{fYdeܵԕX]sbzu.>Èކ]DKL!Imk? BY?_D#rGRV`uΕmW!w"$D 8mW!w"$D dSR[Z/POrr*BNI}N`>eܵԕX]sbz&{ m oD܏vS0mdSR[Z/PO{σm2nZJ۬.ұAͽq48m/K!"B~zN!;hpC|eܵԕX]sbz  fz Yֳ<2 d|(F娎2+0@:q0m`q OkYeT2 ]NNHI%y܅ܾQ䄒W*њbR<:ˮtP@sg['a êg['a"B~z~['a>|J |7 $&U5'5 x,0(u%m\X.ܵN6= t9wY1ܵN6=.ܵN6=,`pB7-D Oo.Bֳ>~\IՆS!ԕX]sbJ*.64rND ޒIE\ܖE09['aֳ<:!$U]PQI[ue:V( `$$e0f,bG@ĄQ0̳5£f3E1IYl$$e1d%qI@HI% 3] *6`q JȌJ)?g&=lrBI(fYaQRW)+!bG@ޝf,bŜؤ : RW_(йB7-D Oo.Ah]]LpB7-D Oo.BbȦ)+-օj$Xm:{yrYI\elR|P-30Cx9йB7-D Oo.AܵN6=x JȌJ)?g lpB7-D Oo.C+ֱm{[ue.Gܦ bkYc#кrnZ'VaN\C^ŐֱIY {>2W[dZ`q1dS%uL= q,ؤ2)>(Ɂ硎2dɁ硎2[R[Zz~!$L= qxfhJ'[^'gYl BY0u[[ZHI%CekNly~܅\z+] Id5Y kױI]| aNj$Xm t; кfh h]G 4@Y%eSarnZ'Vk )+OqpsxJܵN6Õv #rAT}OXmS)?Qaf!IYI[^'CsܵN6HX{),R[ZŵRmu{r:-Og.PQQ64rNT[Z)Bw8XmOg*h]G 5Id5Y kױI]| coI $BA őLRV[ $$ ,ؤ2)>(tm!$U]8%dFV%m{ֳ^,ӯIE\ܼeܵ>}Fa䄒W]c+ֱm{[ue2 dAlRmk9['aNHI%y܅ܾQ:kز)+!bG@ޒ^iVbvKsQ@Y%e^*BNI}N`>AlRW[ {G :PvVo6J_S*[R[ZzNcyYIډ/Gߌ:ĜO\JeY:3] Mm)y/_T.{476Rx?;1 ;Q>>G] ܴ7WvO:{.yPR|B@f!'j6fY`pCC"zL3,t0K! )+Ow ޓ 3] hq JȌJ)?g BY?_2f%B7-Du%qb-bn^,:-Og|0d3,t0K!?!b)+} m&2C&@Y%eMIeMd%qI@aMIeL8%dFV%m{ֳ^,ӯ@afk#rGRW)?b)?:`eɃؤw 4fYdRY {CZ%d5RW_(KfYdÈ"z v 3] -J+boqya0̳5ɇؤbp%u݄2C'(F娎,R[ZŵRmu%YIv 3] O!bkXJazu.>È"zu.>AlRW[ {ͽ a)+"2)+kؤ2 d~WQPQI\Xkؤ۬-K& bkY 7"\},JkؤQ1\܊_S*bȦ)+-ޕrr*BNI}N`>AlRW[ {G :PvVo6VbvKsQB#+bOkY/POrr*BNI}N`>eܵԞ$ON} 䄒W*њgklH$$G5}N`7 }: uԟ;"nm':~vbv}N}Ohopmuh8]>x tMͿ;1 ;Q>>z]hJ'[^'gYl BY0u[[ZBw9['aN;VbvKsQ(F娩?!b)+} m/K! őLRV[ q5d%qI@a^!;hpCCRVDelRVױImk8e:\} #rGRW)?b)?:`eɃؤw bq4u'ױd5RVC^%u򏰁3E1IYl6 bؤ[g8a҆8 Ny[R[ZzN #rGNtBv߰FNHI%q2u'5 GRz':* [+ $&U52郩=q2<)`񄴅[ŊO!/`>/WӯPOuӯ:[4ȃA GtG@񄴅[I"~2?|:BGL2r60#+b)<$WӯPOSy#{[)"2)+ֱm{[ue2 dAlRmk9['aIa_a˾av;>|JeY:3] Mm)ԟC^ŐֱIY {>6Me<È"z&{ m )+Oy(co+d7z&{ m)+"2)+kؤ2 dnG)6(F娎,R[ZŵRmu%YIuxO!bkXJazaP63E1IYl6*l YI\elR|P-30Cy['aШ (8%dFV%m{ֳ^,ӯ~|*l >1ԕŊOkXOβz` )?N} u +RY {CZ%d5RW_(@Y%e bؤ[g8a҆8 fgq JȌJ)?g BY?\A˩|3 $;>c~|JeY:3] Rx[`GRx 3] Q.}#Н9T2 mR>voHI%k(i0̳5'voHI%k(i0̳5'}Fa䄒W]c+ֱm{[ue.Gܦ bkY; HI%y܅ܾQ:kز)+!bG@ӽ%Ҭ$D 8m Xhl"NJ_S*[V'<1]zKyYIډ/GrN|DךU)+"2)+kؤ:uf!'j$0U~2nZOs?_>rBI+dt35 @~vbv>0|PO1DINt$Gt2r]?4#Yp}BI &ߝS= .enmu%qb-bnԨ۔AlRmk9['a%Ҭ$D,JkؤQ4Ie q4;ᆈ"NfY`pCVAlRW[ {ޓ 3] hw &\} ؤbrgC2C(F娎,R[ZŵRmu{r:-Og|0&\} RY {CZ%d5RW_(w 3] w 3E1IYl&2C& bؤ[g7@afka ɈRVDelRVױImk9WuL3,t2~2nZJ'[^'gYl Q)ؤw MIdԟC^ŐֱIY {>%L3,t2a 4@Y%ewa0̳5ɬؤ2)>( eL;]2b[R[ZU|a0̳5j#+ֱm{[ue.Gܦ bkY 7;.a5'ױd5RVC^%u򏰁zu.>þh)JdC.%-J+boq\;˨q{.%؅%dFV%m{ֳ{?_D#rGRW)?b)?:`]JLd'ֳow]DK'ױd5RVC^%u򏰁zU]ȫ1 ;Q%9Bw9['abȦ)+-*.UT}ؤ2)>(t\;ҮBEYIډ/GrN|E\܊_S%dFV%m{ֳ{?_]ȫ1 ;Q%9#rGRx>:Q+I\L'Fk e"`o19T%*R|B@:ĜوIڏ19O:e<塽»~hF/uמt*ғ{476$GOyw( sm+ֱm{[ue.Gܦ bkY; =W!w"$D,JkؤQ4Ax\} abȦ)+-q5d%qI@.o/K! 7N% JȌJ)?g*N!;hpC|eܵԕŊOkXOβRnSYIBv.>ԟC^ŐֱIY {>,0(8m Xhl"N bؤ[g8a҆8 ps|AaA; )+"2)+kؤ:,0+PQ9ӯ×} ~w}:!$ʲtf&O\X'_6O#|}:!$ʲtfR<0u'2FPE50#+b)<hn_NC`d?GןN*>`I댭dA R##[ xZBȌO\X_NC`d>v~y#{[݈9[`DwDzkdKHYI+(l )NuP댭u[ŊOkXOβRnSYIlGӯ×} ~w}:!$ʲtfR#?!b)+} ;7#ݔLoBw9['abȦ)+-r=O[V'<1]z&{ m; !IYI[^'^{σm2nZJ'[^'gYl Q)ؤ}_ۑ> اcϔ},JkؤQ4Bl0*P.}av f,b;Ш )d%qI@4på pmޅ@`T A; 1 JȌJ)?g*N} u +RW)?b)?:`]JLd'ֳ# l0*PcsGO!bkXJΓ=@qh^o\$ې@8{1h@8{MkЁqL^um@/aұAqgd3,̈́1Lsd̆eN6`iu?dS:+6s_S\FȦu:V( j{}Nw13C}Nw5LtP@s=0=uӠ٬bșdkX6LRFo,[%I\XJ 8969xjFބ d3o4f-Ǜ#rF\YEppnAp H p! H f,bȋ\v)*H`)+ k Y $Y7I6]6$J./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.cicsconnectionspec_mi.html$$ Method Index for com.ibm.connector.cics.CICSConnectionSpec

Constructor Index

CICSConnectionSpec()

Method Index

addPropertyChangeListener(PropertyChangeListener)
createCommunication()
firePropertyChange(String, Object, Object)
getCICSServer()
getClientSecurityClassName()
getConnectionTimeout()
getLogonLogoff()
getMaxConnections()
getMinConnections()
getReapTime()
getServerSecurityClassName()
getTerminalModel()
getUnusedTimeout()
getURL()
hashCode()
hashCodeString()
removePropertyChangeListener(PropertyChangeListener)
setCICSServer(String)
setClientSecurityClassName(String)
setConnectionTimeout(long)
setLogonLogoff(String)
setMaxConnections(long)
setMinConnections(long)
setReapTime(long)
setServerSecurityClassName(String)
setTerminalModel(String)
setUnusedTimeout(long)
setURL(String)
aN kZZ $Z7I6]6$PyJ./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.cicsresourceexception.html$$ com.ibm.connector.cics.CICSResourceException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.cics.cicsresourceexception_dsc.html#_top_">com.ibm.connector.cics.CICSResourceException (no frames)</a></b></p> </body> scon k`[ $Z7I6]6$J./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.cicsresourceexception_dsc.html$$ Class com.ibm.connector.cics.CICSResourceException

Class com.ibm.connector.cics.CICSResourceException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.internal.ResourceException
                                           |
                                           +----com.ibm.connector.cics.CICSResourceException

public class CICSResourceException
extends ResourceException

This class is used by the CICS Connector to pass back CICS information. It is used to pass back the CICS return code, and abend code, to the Java program. Not every ResourceException thrown by the CICS Connector will be of the type: CICSResourceException.

After a CICSResourceException an interaction may sometimes be retried. For example, after an interaction using an ECIInteractionSpec with a mode of MODE_RECEIVE, the same interaction may be retried if the CICS return code is ECI_ERR_NO_REPLY. This CICS return code indicates that there is no reply outstanding for the identifier specified on the ECIInteractionSpec. ECI_ERR_NO_REPLY can occur if the identifier on the ECIInteractionSpec has been wrongly specified, it can also occur if the previous MODE_SEND operation has not yet completed.


Method Index

getCICSAbendCode()
Returns the CICS abend code.
getCICSReturnCode()
Returns the CICS return code.
getCICSReturnCodeString()
Returns the CICS return code as a String.

Methods

getCICSAbendCode
 public synchronized String getCICSAbendCode()
Returns the CICS abend code. If a CICS abend code has not been set, then the value returned is "".

Returns:
java.lang.String
getCICSReturnCode
 public synchronized int getCICSReturnCode()
Returns the CICS return code. If a CICS return code has not been set, then the value returned is -1.

Returns:
int
getCICSReturnCodeString
 public synchronized String getCICSReturnCodeString()
Returns the CICS return code as a String. If a CICS return code has not been set, then the value returned is "".

Returns:
java.lang.String

">All  kO\ $ Z7I6]6$`J ./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.cicsresourceexception_mi.html$$ Method Index for com.ibm.connector.cics.CICSResourceException

Method Index

getCICSAbendCode()
getCICSReturnCode()
getCICSReturnCodeString()
h3> k] $Z7I6]6$PJ./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.eciinteractionspec.html.html$$ com.ibm.connector.cics.ECIInteractionSpec <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.cics.eciinteractionspec_dsc.html#_top_">com.ibm.connector.cics.ECIInteractionSpec (no frames)</a></b></p> </body> nal l$^ $dEZ7I6]6$Jw,./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.eciinteractionspec_dsc.htmll$$   aert <>dhinos./CIbcglmpu"()ESTfvy=LMNOPU_jw #,-:ARWkx04DFqz1BKV[]'2389;GHY!+5?Q|J`]#WߨL w (8P Hq QW-ZEL}Ӛ1l I`H` '(B,}թjb7ߺ&@ Irt8V'(B(G9 `@0KRA?7w48 @ $(p`87Z3a[VB>t&IҌlt# 0Fg-L+a[V5jaqiI `@8 H``a-Z^4 $%*!9ߢZͣPlׁ@aQ>5^իЩϝ$It;eH2;yGl%YS (XSSj$J$PPL=8 pAZ!D(*'h*ZA 05NcgltYGo(턢5+9jaIejcSVoI3P*s5 0Fg0Z~k}D,Zcq#vQo!H@ PG2;yGl%YRu䒼\֦Ě|'B?H!!2O~ A;,0af|);v$ի}"`Rw=VtӜ"Fp+:;Щ: aGIVĚq4`Rw=4GaŽeƒF00V0c@,,'sJ΀[|v?:ڌl(:\(04`XB;0V0$` 0 0`А `Rw=4GaŽeƒ0ZGx '&\i`QgsoQ&{s,t#[,x{2V`s,t#[,_qdF0`Б:>tmFNtmqX`PQGxa`.$6{ԇN0ZӜ"au:Qu`xqP ad7~!HAj/4#:ږHBaGIޖI+#_q`Rw=O0 0wz`x=EF!Q:J>q#d]5jGy=G,ϖ's߲J|~]nHHt eG#$$r{tm,ƌ oK$.m9;/}x}s,t#[,Z'͸Dĭ]5jv# |); >y[~|/8s$w6֯=[E9ۼsЭp `x0ac #>XI~QߑPz߉`:sO޾N:Nzc;-'[xs^iYD9🃮;Z$w6|#0 Q DjVp#|Vtƒ0?]݇Iޘ|/ aGIzؓVrOQ@GӜ"|afԬV$թƭLF.xjǀZ5Pd]`<j թց]c`x h@`pMZc2.ۋ aCsht߯s'֦;ZewY8KF`yaAFaTի9"ﯿ`Б:?Qw:H >}jaNAScv_(q3Y̋0Z13+,x@82;yGl%Y…h2;yGl%Y*(Z\=YGo(턢5+89L~5ڵ~z;X=jaOڵ15jcfW~X zsrI^iQ>a= IQ!$4oa0om9$4oa0oU4PnI+"['L'kWs-ΟJH 𕩎ց]c,7$-PPHDGJ 4BGJ 4BbZ>a$4ol*(n"x#!gh#!gh9 \pܒWDO.;^G dLv $}nIbZ}nI ~9/S,FI^iG>S/Y :nI!H'dLv $}鎸P->\vx©_o3u`>,WDց]cϽ P->*NM-js^FNI+#B:/V;Zew>61c Cjs9SE ZcgҩFXI+"Jk@̮@ކD.BĴܑH6©_o3dD.I+"Jk@̮@ގʌ턢HءbZ}ΎJ!thkWs2#X-鎸SEGlkWs}: ΖI+"Jk@̮@ T#ĶwRuhGE_oogѓJHP)앩ց]czS„(DFB'ކ#,s -js{?Nb2tI^iV;ZewnHB!D(*'7r}͉5jaNAS+Ƒ# 0<ÄSVхe(֭LK-WI3P{[FeS K-SV7wBGCo#,=E8$6$թ9LF(q3Y1-aTթƱ;V˔g,žjex6$afԬ-aTթH@dvJ#R MZkFa;a(JaFjbYmZI 0Fg 0ڵ15jsyr;ga=1&_kVc6)ի7r(mfHnI+"['L'ūœL)5jex6$|2rI^iQ>Q % ܄Oq !DQaf7$P-aTթх:ܓkV%ի@77z0Az(Z’j ի93 0t',WDτ4acyhB΀~{R +Wnj,Fw?wum~XxC[ͿFH},jB%j:ܓBNu_Q]"[s߯Xz4G`=Zf7.:J>Ka(O[Β(]n 'D/ӽE8{);ӈ@+WdYM#ЅJxBED) y'ӝ}:ܓޖI+" VH"z?>myEnۼGI+Sj5j;[kAf aFj9|~nIK$ZaNA)jœVW#aO1^ %*0֟zc;aFjbYmZI#w4 |qkS K-SV7/S^tI^iV }x2;yGl%Ya01Ԭ﯄qK.wZf7\G*tfOqsH}, xGo(턣5(%jIWF?t;e?4! #^w_~ƒF WvJ$7_}9\Ҕg`4|Y O^qI?j:Nzc;-'[z7=Ew  ,a$gYGo(턢5+9jⓜ"auw: BQuz8_6/>OaP`0<0LIWs իoa^)ի7Gl\vy%yVSk s0 թH@B,KXU5ja>*NkV%ի@219( xGyRu0ڵ15jsx2<2uI^i*| qϾ},WG.շ>"}});ǑN~J2N~XzdZFN@/}Β(|GO칷vKmĭ\_}:'`yaAF08,;?_| 0$8%yz)yyNZV5AWZ O#0S 5Wow'_K$)앫œL)5jex6$ڜe,KXU5ja>61cQZ[Vf.B'Cjs8P%թAWsgҩFXI+"OOIO쾾f7SĭLIWs իoa^)ի7Q % ܄OT#,wK$ZaNA)jœVW#aO ]#bk L5ކD.kV%ի@219( qܑH6(Z’j ի93dD.I+"OOIO쾾f7?)FZV5AWZ O#0S 5WoJ]#},WEj99S r Z^4 >vTgGl%F MZkO D.kV%ի@219( qQB-jaIejcjey}ʌ턢HK$'|'Ѥ__| *3#dLIWs իoa^)ի7Q % ܄O D.I+"~œXSթ9LFz;8P-aTթA(֭LK-WI3PdbsQnw!Ӽ ZRYmZ~9zF_}9A,WD9F}},oNwq+Sj5j;[kAf aFj9BBy#w!sY$4 r aNsV2i acFE MZka2,hk 5SjL w6RB>,ƌ 0ڵ15jsx2I+#֯74Ϳ;߲_qIa$j!_}8|`;9(=_.rOtke. D!-\|x2;yGl%Ye敝}td`yaAF08,8<~'6`!$JXFY?oNvGy'N{9~qX`PQ<~˝$Q<:JĚ~9r ZeyQZsyQ%j99S r Z^4 ʌ턢HءbZ©S l&84,vTgGl%FQZ[VfQбQB-jaIejcjey}c:;a(7%yIW0},WG~we},o-\w<#eܨΎJ!t],WG>΀~Q|qIK6~΀~QV\vy1dLIWs իoa^)ի7)!uœL)5jex6'-ܒWDOOn7(mfHnI+"['L'bZ©S nZ2!a$4oa0oQZ[Vf.Jhȅ䒼%}{qJH r֦[V9_oZ2!~nI+"['L'V$ի9cjvֆR70ZCxM %yK}D x~œXSթ9LF 0$8(I MZkgzY aFjbYmZI%yޖacFE)!uhh%թAWsacFx,oۋ&GCF?e},WD?,#vQ˝gҬ!f7?n.po~d=j|A/>:|Eo9'_:RB5ū}9۽oFZq#`Q.rOtketFYH!֮mӌ7C}ҍ~I3$JXFX HRr=G,#vQ^iYGFN!af`, 0<ÉZq#`Q.rOtken}}Ǒ}w+WY;?Y.GEo˜îdLIWs իoa oo& aFj9 O6RB+W)59ZSjl LF`#rOEM%*0af7$թej&j;z0Az*oo:ܓkS K-SV7Y=d$τ4acyhB΀~{R +Wnj,Fw?wum~XxC[ͿFH},jB%j:ܓBNu_Q]"[s߯Xz4G`=Zf7.:J>Ka(O[Β(]n 'D/ӽE8{);ӈ@+WdYM#ЅJxBED) y'ӝ}:ܓޖI+" VH"z?>myEnۼGI+Sj5j;[kCk)ɂQZs}FO嚵~œXSթ9LF\vx(;`(MZkgzc;aFjbYmZI#w!(;\vx(;~#8kS K-SV7߃;d$\dvJ#R'ӝ_acKcgl%Y_ : ϖ\;>}},o ΏT<>y[nJ1Y 0,Q FkWP"JؓV ߉`<7_|F6v.iJ3BG~qyƌ Ios9(i{🃮;ⓜ"tm>\vx([ :No_' z|7;/\(0 XH0 Q DjVr'8DälLu`>oFpm_߰}'} `x0ac # ZV5AWZYHLjs:c'GlœL)5jex6&wRutXj[;Щ:QZ[Vf.J T#:ŭL),Lr Zc6_}:Y$4BNZFNI+#@۟}>X|'F'?%'?,ZLN~J2Nd\s'_FBrum޾xIaYͣO|'\hV`~ 0<ygYX Y d=Z~'dLIWs իoa oo& aFj9?_~6#R ,d$_ 5jaNAS+Ƒ3 FXBBBy#w!ʼnk L5 FXkV%ի@219( rCjs8PD\-jaIejcjT#,wK$'|'Ѥ__| js85jsX5L(֭_9)xPHDœL)5jex6&w# lPPHDbZ©S lCrG"H 5SjL w`۹ Aw# lPDEL),Lr Zc6_},H7%yI i),G#H+Sj5j;[kCk)ɂQZszQ!D(*'7r=j99S r Z^4 бQBlEk L5;*3]#l(֭LK-WI3PdbsQn%yގ  D.FH]GQ0ڵ15jsx}c:;a(7%yIW0},WG~we},o-\w<#eܨΎJ!t],WG>΀~Q|qIK6~΀~QV\vy1dLIWs իoa oo& aFj9x')!uœL)5jex6&w:;a(6(BQ(TO$n"x-aTթw:;a(6jIJڵt5F'?%vBPwΎJ!t"֦[V9_o{?QBd$τ4ac~FtvQl5jsX5L(֭_9c H~!=c$It;eMGo(턣4_%_# W~X;dQ@KKB>P9XU7DŽ 9 dQ@KAh!B; W~X4ndQ@KAh!Z^N H k j¶B Z5ߖ< I$I%<,@"~z$Gn:%'I$I*2| D䈒|x$( Hp0 @0 k 0d-ZS-@@ kZ _ $) Z7I6]6$J) ./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.eciinteractionspec_mi.htmll$$ Method Index for com.ibm.connector.cics.ECIInteractionSpec

Constructor Index

ECIInteractionSpec()

Method Index

addPropertyChangeListener(PropertyChangeListener)
firePropertyChange(String, Object, Object)
getECITimeout()
getIdentifier()
getMode()
getPassword()
getProgramName()
getTransactionName()
getUserid()
isCICSELUW()
isTPNTransactionName()
removePropertyChangeListener(PropertyChangeListener)
setCICSELUW(boolean)
setECITimeout(short)
setIdentifier(byte[])
setMode(int)
setPassword(String)
setProgramName(String)
setTPNTransactionName(boolean)
setTransactionName(String)
setUserid(String)

Variable Index

ECI_BACKOUT
ECI_COMMIT
~q k` $Z7I6]6$PJ./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.epiinteractionspec.htmlmll$$ com.ibm.connector.cics.EPIInteractionSpec <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.cics.epiinteractionspec_dsc.html#_top_">com.ibm.connector.cics.EPIInteractionSpec (no frames)</a></b></p> </body> nsa ka $Z7I6]6$K./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.epiinteractionspec_dsc.htmll$$ Class com.ibm.connector.cics.EPIInteractionSpec

Class com.ibm.connector.cics.EPIInteractionSpec

java.lang.Object
   |
   +----com.ibm.connector.cics.EPIInteractionSpec

public class EPIInteractionSpec
extends Object
implements InteractionSpec, Serializable

This class allows you to set the values for a CICS EPI request.

On each EPI request, a screen of data is sent to CICS and the next screen is received in reply. Use the properties provided by this class to indicate the AID key that should be sent to CICS and to set the cursor position.

The terminal is connected to CICS the first time a request is made. It is disconnected either when the Communication object is disconnected, or when the current transaction ends if you have set the property 'disconnectOnIdle' to true.

The terminal cannot be disconnected while a transaction is running.

The properties that can be set are as follows:

AID
the AID to be sent to CICS. The default value is enter.
cursorRow
the screen row at which the cursor should be placed. The first row is 1.
cursorColumn
the screen column at which the cursor should be placed. The first column is 1.
disconnectOnIdle
set this property to true to indicate that the terminal should be disconnected if, following this request, no transaction is running.


Constructor Index

EPIInteractionSpec()
Constructs an EPIInteractionSpec.

Method Index

addPropertyChangeListener(PropertyChangeListener)
Adds a PropertyChangeListener.
firePropertyChange(String, Object, Object)
Fires a PropertyChangeEvent to any listeners.
getAID()
Returns the AID property.
getCursorColumn()
Returns the cursor column property.
getCursorRow()
Returns the cursor row property.
isDisconnectOnIdle()
Returns the disconnect on idle property.
removePropertyChangeListener(PropertyChangeListener)
Removes a PropertyChangeListener.
setAID(AID)
Sets the AID property.
setCursorColumn(int)
Sets the cursor column property.
setCursorRow(int)
Sets the cursor row property.
setDisconnectOnIdle(boolean)
Sets the disconnect on idle property.

Constructors

EPIInteractionSpec
 public EPIInteractionSpec()
Constructs an EPIInteractionSpec.


Methods

addPropertyChangeListener
 public synchronized void addPropertyChangeListener(PropertyChangeListener pcl)
Adds a PropertyChangeListener.

Parameters:
pcl - java.beans.PropertyChangeListener
removePropertyChangeListener
 public synchronized void removePropertyChangeListener(PropertyChangeListener pcl)
Removes a PropertyChangeListener.

Parameters:
pcl - java.beans.PropertyChangeListener
firePropertyChange
 public void firePropertyChange(String strPropertyName,
                                Object oOld,
                                Object oNew)
Fires a PropertyChangeEvent to any listeners.

Parameters:
strPropertyName - java.lang.String
oOld - java.lang.Object
oNew - java.lang.Object
getAID
 public AID getAID()
Returns the AID property.

Returns:
the AID property
setAID
 public synchronized void setAID(AID aid)
Sets the AID property.

Parameters:
aid - the AID property
getCursorRow
 public int getCursorRow()
Returns the cursor row property.

Returns:
the cursor row property
setCursorRow
 public synchronized void setCursorRow(int row)
Sets the cursor row property.

Parameters:
row - the cursor row property
getCursorColumn
 public int getCursorColumn()
Returns the cursor column property.

Returns:
the cursor column property
setCursorColumn
 public synchronized void setCursorColumn(int col)
Sets the cursor column property.

Parameters:
col - the cursor column property
isDisconnectOnIdle
 public boolean isDisconnectOnIdle()
Returns the disconnect on idle property.

Returns:
the disconnect on idle property
setDisconnectOnIdle
 public synchronized void setDisconnectOnIdle(boolean discon)
Sets the disconnect on idle property.

Parameters:
discon - set to true to disconnect when the transaction ends

 k*b $Z7I6]6$@K./usr/IBMVJava/html/enterp/en_US/cics/ref/com.ibm.connector.cics.epiinteractionspec_mi.htmll$$ Method Index for com.ibm.connector.cics.EPIInteractionSpec

Constructor Index

EPIInteractionSpec()

Method Index

addPropertyChangeListener(PropertyChangeListener)
firePropertyChange(String, Object, Object)
getAID()
getCursorColumn()
getCursorRow()
isDisconnectOnIdle()
removePropertyChangeListener(PropertyChangeListener)
setAID(AID)
setCursorColumn(int)
setCursorRow(int)
setDisconnectOnIdle(boolean)
d>
 k?c $5Z7I6]6$PK5./usr/IBMVJava/html/enterp/en_US/cics/ref/package-com.ibm.connector.cics.htmlns$$ Package com.ibm.connector.cics

All Packages

package com.ibm.connector.cics

Class Index

CICSCommunication
CICSConnectionSpec
ECIInteractionSpec
EPIInteractionSpec

Exception Index

CICSResourceException
rCo kd $ [7I6]6$0K ./usr/IBMVJava/html/enterp/en_US/cics/ref/tree.htmlm.ib$$ Class Hierarchy (CICS IBM e-business Connector)

Class Hierarchy (CICS IBM e-business Connector)

  • class java.lang.Object
    • class com.ibm.connector.cics.CICSCommunication (implements com.ibm.connector.Communication, java.io.Serializable)
    • class com.ibm.connector.cics.CICSConnectionSpec (implements com.ibm.connector.ConnectionSpec, com.ibm.connector.ConnectionSpecManagementProperties, java.io.Serializable)
    • class com.ibm.connector.cics.ECIInteractionSpec (implements com.ibm.connector.InteractionSpec, java.io.Serializable, com.ibm.connector.InteractionSpecModeProperties)
    • class com.ibm.connector.cics.EPIInteractionSpec (implements com.ibm.connector.InteractionSpec, java.io.Serializable)
    • class java.lang.Throwable (implements java.io.Serializable)
      • class java.lang.Exception
        • class java.lang.RuntimeException
          • class com.ibm.connector.ConnectorException

mn p klg $[75^6$K./usr/IBMVJava/html/enterp/en_US/dataacc/ref/allclasses.htmlnec$$ Interface com.ibm.db.DatabaseConnectionAfterListener

Interface com.ibm.db.DatabaseConnectionAfterListener

public interface DatabaseConnectionAfterListener
extends EventListener

The event set listener interface for the databaseConnectionAfter feature.

Version:
1.0 06/30/98

Method Index

committed(DataEvent)
Invoked after DatabaseConnection.commit is executed.
connected(DataEvent)
Invoked after DatabaseConnection.connect is executed..
disconnected(DataEvent)
Invoked after DatabaseConnection.disconnect is executed..
rolledBack(DataEvent)
Invoked after DatabaseConnection.rollback is executed.

Methods

committed
 public abstract void committed(DataEvent event)
Invoked after DatabaseConnection.commit is executed.

Parameters:
event - DataEvent
connected
 public abstract void connected(DataEvent event)
Invoked after DatabaseConnection.connect is executed..

Parameters:
event - DataEvent
disconnected
 public abstract void disconnected(DataEvent event)
Invoked after DatabaseConnection.disconnect is executed..

Parameters:
event - DataEvent
rolledBack
 public abstract void rolledBack(DataEvent event)
Invoked after DatabaseConnection.rollback is executed.

Parameters:
event - DataEvent

 kYo $B[75^6$`>KB./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.databaseconnectionafterlistener_mi.html$$ Class com.ibm.db.DatabaseConnectionBeanInfo

Class com.ibm.db.DatabaseConnectionBeanInfo

java.lang.Object
   |
   +----java.beans.SimpleBeanInfo
           |
           +----com.ibm.db.DatabaseConnectionBeanInfo

public class DatabaseConnectionBeanInfo
extends SimpleBeanInfo

The bean information class for com.ibm.db.DatabaseConnection.

Version:
1.0 06/30/98
See Also:
DatabaseConnection

Constructor Index

DatabaseConnectionBeanInfo()

Method Index

autoCommitPropertyDescriptor()
Gets the autoCommitproperty descriptor.
commitMethodDescriptor()
Gets the commit method descriptor.
connectionAliasPropertyDescriptor()
Gets the alias property descriptor.
connectionSpecPropertyDescriptor()
Gets the connectionSpecproperty descriptor.
connectMethodDescriptor()
Gets the connect method descriptor.
dataAfter_committedMethodDescriptor()
Gets the committed method descriptor.
dataAfter_connectedMethodDescriptor()
Gets the connected method descriptor.
dataAfter_disconnectedMethodDescriptor()
Gets the disconnected method descriptor.
dataAfter_rolledBackMethodDescriptor()
Gets the rolledBack method descriptor.
databaseConnectionAfterEventSetDescriptor()
Gets the databaseConnectionAfter event set descriptor.
databaseConnectionBeforeEventSetDescriptor()
Gets the databaseConnectionBefore event set descriptor.
dataBefore_aboutToCommitMethodDescriptor()
Gets the aboutToCommit method descriptor.
dataBefore_aboutToConnectMethodDescriptor()
Gets the aboutToConnect method descriptor.
dataBefore_aboutToDisconnectMethodDescriptor()
Gets the aboutToDisconnect method descriptor.
dataBefore_aboutToRollbackMethodDescriptor()
Gets the aboutToRollback method descriptor.
dataSourceNamePropertyDescriptor()
Gets the dataSourceNameproperty descriptor.
disconnectMethodDescriptor()
Gets the disconnect method descriptor.
driverNamePropertyDescriptor()
Gets the driverName property descriptor.
getBeanClass()
Gets the bean class.
getBeanDescriptor()
getEventSetDescriptors()
Return the event set descriptors for this bean.
getMethodDescriptors()
Return the method descriptors for this bean.
getPropertyDescriptors()
Return the property descriptors for this bean.
passwordPropertyDescriptor()
Gets the password property descriptor.
promptUIDPropertyDescriptor()
Gets the promptUID property descriptor.
rollbackMethodDescriptor()
Gets the rollback method descriptor.
userIDPropertyDescriptor()
Gets the userID property descriptor.

Constructors

DatabaseConnectionBeanInfo
 public DatabaseConnectionBeanInfo()

Methods

autoCommitPropertyDescriptor
 public PropertyDescriptor autoCommitPropertyDescriptor()
Gets the autoCommitproperty descriptor.

Returns:
java.beans.PropertyDescriptor
commitMethodDescriptor
 public MethodDescriptor commitMethodDescriptor()
Gets the commit method descriptor.

Returns:
java.beans.MethodDescriptor
connectionAliasPropertyDescriptor
 public PropertyDescriptor connectionAliasPropertyDescriptor()
Gets the alias property descriptor.

Returns:
java.beans.PropertyDescriptor
connectionSpecPropertyDescriptor
 public PropertyDescriptor connectionSpecPropertyDescriptor()
Gets the connectionSpecproperty descriptor.

Returns:
java.beans.PropertyDescriptor
connectMethodDescriptor
 public MethodDescriptor connectMethodDescriptor()
Gets the connect method descriptor.

Returns:
java.beans.MethodDescriptor
dataAfter_committedMethodDescriptor
 public MethodDescriptor dataAfter_committedMethodDescriptor()
Gets the committed method descriptor.

Returns:
java.beans.MethodDescriptor
dataAfter_connectedMethodDescriptor
 public MethodDescriptor dataAfter_connectedMethodDescriptor()
Gets the connected method descriptor.

Returns:
java.beans.MethodDescriptor
dataAfter_disconnectedMethodDescriptor
 public MethodDescriptor dataAfter_disconnectedMethodDescriptor()
Gets the disconnected method descriptor.

Returns:
java.beans.MethodDescriptor
dataAfter_rolledBackMethodDescriptor
 public MethodDescriptor dataAfter_rolledBackMethodDescriptor()
Gets the rolledBack method descriptor.

Returns:
java.beans.MethodDescriptor
databaseConnectionAfterEventSetDescriptor
 public EventSetDescriptor databaseConnectionAfterEventSetDescriptor()
Gets the databaseConnectionAfter event set descriptor.

Returns:
java.beans.EventSetDescriptor
databaseConnectionBeforeEventSetDescriptor
 public EventSetDescriptor databaseConnectionBeforeEventSetDescriptor()
Gets the databaseConnectionBefore event set descriptor.

Returns:
java.beans.EventSetDescriptor
dataBefore_aboutToCommitMethodDescriptor
 public MethodDescriptor dataBefore_aboutToCommitMethodDescriptor()
Gets the aboutToCommit method descriptor.

Returns:
java.beans.MethodDescriptor
dataBefore_aboutToConnectMethodDescriptor
 public MethodDescriptor dataBefore_aboutToConnectMethodDescriptor()
Gets the aboutToConnect method descriptor.

Returns:
java.beans.MethodDescriptor
dataBefore_aboutToDisconnectMethodDescriptor
 public MethodDescriptor dataBefore_aboutToDisconnectMethodDescriptor()
Gets the aboutToDisconnect method descriptor.

Returns:
java.beans.MethodDescriptor
dataBefore_aboutToRollbackMethodDescriptor
 public MethodDescriptor dataBefore_aboutToRollbackMethodDescriptor()
Gets the aboutToRollback method descriptor.

Returns:
java.beans.MethodDescriptor
dataSourceNamePropertyDescriptor
 public PropertyDescriptor dataSourceNamePropertyDescriptor()
Gets the dataSourceNameproperty descriptor.

Returns:
java.beans.PropertyDescriptor
disconnectMethodDescriptor
 public MethodDescriptor disconnectMethodDescriptor()
Gets the disconnect method descriptor.

Returns:
java.beans.MethodDescriptor
driverNamePropertyDescriptor
 public PropertyDescriptor driverNamePropertyDescriptor()
Gets the driverName property descriptor.

Returns:
the driver name
getBeanClass
 public static Class getBeanClass()
Gets the bean class.

Returns:
java.lang.Class
getBeanDescriptor
 public BeanDescriptor getBeanDescriptor()
Overrides:
getBeanDescriptor in class SimpleBeanInfo
getEventSetDescriptors
 public EventSetDescriptor[] getEventSetDescriptors()
Return the event set descriptors for this bean.

Returns:
java.beans.EventSetDescriptor[]
Overrides:
getEventSetDescriptors in class SimpleBeanInfo
getMethodDescriptors
 public MethodDescriptor[] getMethodDescriptors()
Return the method descriptors for this bean.

Returns:
java.beans.MethodDescriptor[]
Overrides:
getMethodDescriptors in class SimpleBeanInfo
getPropertyDescriptors
 public PropertyDescriptor[] getPropertyDescriptors()
Return the property descriptors for this bean.

Returns:
java.beans.PropertyDescriptor[]
Overrides:
getPropertyDescriptors in class SimpleBeanInfo
passwordPropertyDescriptor
 public PropertyDescriptor passwordPropertyDescriptor()
Gets the password property descriptor.

Returns:
password property descriptor
promptUIDPropertyDescriptor
 public PropertyDescriptor promptUIDPropertyDescriptor()
Gets the promptUID property descriptor.

Returns:
promptUID property descriptor
rollbackMethodDescriptor
 public MethodDescriptor rollbackMethodDescriptor()
Gets the rollback method descriptor.

Returns:
java.beans.MethodDescriptor
userIDPropertyDescriptor
 public PropertyDescriptor userIDPropertyDescriptor()
Gets the userID property descriptor.

Returns:
userID

d>
 klVr $c\75^6$Kc./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.databaseconnectionbeaninfo_mi.htmltml$$ Interface com.ibm.db.DatabaseConnectionBeforeListener

Interface com.ibm.db.DatabaseConnectionBeforeListener

public interface DatabaseConnectionBeforeListener
extends EventListener

The event set listener interface for the databaseConnectionBefore feature.

Version:
1.0 06/30/98

Method Index

aboutToCommit(DataEvent)
Invoked before DatabaseConnection.commit is executed.
aboutToConnect(DataEvent)
Invoked before DatabaseConnection.connect is executed.
aboutToDisconnect(DataEvent)
Invoked before DatabaseConnection.disconnect is executed.
aboutToRollback(DataEvent)
Invoked before DatabaseConnection.rollback is executed.

Methods

aboutToCommit
 public abstract void aboutToCommit(DataEvent event)
Invoked before DatabaseConnection.commit is executed.

Parameters:
event - DataEvent
aboutToConnect
 public abstract void aboutToConnect(DataEvent event)
Invoked before DatabaseConnection.connect is executed.

Parameters:
event - DataEvent
aboutToDisconnect
 public abstract void aboutToDisconnect(DataEvent event)
Invoked before DatabaseConnection.disconnect is executed.

Parameters:
event - DataEvent
aboutToRollback
 public abstract void aboutToRollback(DataEvent event)
Invoked before DatabaseConnection.rollback is executed.

Parameters:
event - DataEvent

d ku $m\75^6$`|Jm./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.databaseconnectionbeforelistener_mi.html$$ Class com.ibm.db.DataEvent

Class com.ibm.db.DataEvent

java.lang.Object
   |
   +----java.util.EventObject
           |
           +----com.ibm.db.DataEvent

public class DataEvent
extends EventObject

This is the event class to support the Listener interfaces in com.ibm.db package.

Version:
1.0 06/30/98

Constructor Index

DataEvent(Object)
Constructs a new DataEvent.

Constructors

DataEvent
 public DataEvent(Object source)
Constructs a new DataEvent.

Parameters:
source - java.lang.Object

boutTo k| $e\75^6$pJe./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.dataevent_mi.htmlefore$$ Class com.ibm.db.IBMDBMessages

Class com.ibm.db.IBMDBMessages

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.db.IBMDBMessages

public class IBMDBMessages
extends ListResourceBundle

IBMDBMessages contains the text for the messages that are issued by classes in the com.ibm.db package.

Version:
1.0 06/30/98

Variable Index

badJavaClass
badSQLType
badUidPwd
beforeCacheStart
Cancel
cannotConvert
cloneNotSupported
connectionClosed
driverNotFound
duplicateColumn
duplicateParm
EnterLogonID
EnterPassword
errorMakeField
ErrorMessages
externallyManaged
illegalAccess
indexTooLarge
instantiationException
internalError
logonIDPwd
maxSize
multipleTables
noActiveConnection
noConnection
noConnectionSpec
noDefinedLength
noDefinedScale
noGui
noLogonSpec
noMetaData
noResults
noStatement
noStatementMetaData
noSuchColumn
noSuchParm
noSuchTable
notExecuted
notOpen
OK
readOnly
rowChanged
rowNotFound
rowNotInDatabase
SQLDisconnectException
sqlException

Constructor Index

IBMDBMessages()

Method Index

getContents()
getText(String)

Variables

sqlException
 public static String sqlException
badUidPwd
 public static String badUidPwd
noSuchColumn
 public static String noSuchColumn
noSuchParm
 public static String noSuchParm
noDefinedLength
 public static String noDefinedLength
noDefinedScale
 public static String noDefinedScale
rowNotFound
 public static String rowNotFound
noConnection
 public static String noConnection
notOpen
 public static String notOpen
connectionClosed
 public static String connectionClosed
externallyManaged
 public static String externallyManaged
SQLDisconnectException
 public static String SQLDisconnectException
badJavaClass
 public static String badJavaClass
errorMakeField
 public static String errorMakeField
notExecuted
 public static String notExecuted
noResults
 public static String noResults
readOnly
 public static String readOnly
beforeCacheStart
 public static String beforeCacheStart
rowNotInDatabase
 public static String rowNotInDatabase
multipleTables
 public static String multipleTables
cloneNotSupported
 public static String cloneNotSupported
instantiationException
 public static String instantiationException
illegalAccess
 public static String illegalAccess
cannotConvert
 public static String cannotConvert
noConnectionSpec
 public static String noConnectionSpec
noLogonSpec
 public static String noLogonSpec
noStatementMetaData
 public static String noStatementMetaData
noActiveConnection
 public static String noActiveConnection
internalError
 public static String internalError
noGui
 public static String noGui
noStatement
 public static String noStatement
noMetaData
 public static String noMetaData
badSQLType
 public static String badSQLType
noSuchTable
 public static String noSuchTable
duplicateColumn
 public static String duplicateColumn
duplicateParm
 public static String duplicateParm
indexTooLarge
 public static String indexTooLarge
maxSize
 public static String maxSize
driverNotFound
 public static String driverNotFound
rowChanged
 public static String rowChanged
Cancel
 public static String Cancel
OK
 public static String OK
EnterLogonID
 public static String EnterLogonID
EnterPassword
 public static String EnterPassword
ErrorMessages
 public static String ErrorMessages
logonIDPwd
 public static String logonIDPwd

Constructors

IBMDBMessages
 public IBMDBMessages()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle
getText
 public static String getText(String key)

b> kD $]7 I6^6$PL./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.ibmdbmessages_es.htmle$$ com.ibm.db.IBMDBMessages_es <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.db.ibmdbmessages_es_dsc.html#_top_">com.ibm.db.IBMDBMessages_es (no frames)</a></b></p> </body> BMessag kꖮ $ ]7 I6^6$ L ./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.ibmdbmessages_es_dsc.htmlstener$$ Class com.ibm.db.IBMDBMessages_es

Class com.ibm.db.IBMDBMessages_es

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.db.IBMDBMessages_es

public class IBMDBMessages_es
extends ListResourceBundle


Constructor Index

IBMDBMessages_es()

Method Index

getContents()

Constructors

IBMDBMessages_es
 public IBMDBMessages_es()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

/ k $]75^6$pK./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.ibmdbmessages_es_mi.htmlstener$$ Class com.ibm.db.IBMDBMessages_fr

Class com.ibm.db.IBMDBMessages_fr

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.db.IBMDBMessages_fr

public class IBMDBMessages_fr
extends ListResourceBundle


Constructor Index

IBMDBMessages_fr()

Method Index

getContents()

Constructors

IBMDBMessages_fr
 public IBMDBMessages_fr()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

/ k] $]75^6$pK./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.ibmdbmessages_fr_mi.htmlstener$$ Class com.ibm.db.IBMDBMessages_ja

Class com.ibm.db.IBMDBMessages_ja

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.db.IBMDBMessages_ja

public class IBMDBMessages_ja
extends ListResourceBundle


Constructor Index

IBMDBMessages_ja()

Method Index

getContents()

Constructors

IBMDBMessages_ja
 public IBMDBMessages_ja()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

/ k $^75^6$peL./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.ibmdbmessages_ja_mi.htmlstener$$ Class com.ibm.db.IBMDBMessages_ko

Class com.ibm.db.IBMDBMessages_ko

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.db.IBMDBMessages_ko

public class IBMDBMessages_ko
extends ListResourceBundle


Constructor Index

IBMDBMessages_ko()

Method Index

getContents()

Constructors

IBMDBMessages_ko
 public IBMDBMessages_ko()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

/ k7 $^75^6$pfL./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.ibmdbmessages_ko_mi.htmlstener$$ Class com.ibm.db.IBMDBMessages_zh_CN

Class com.ibm.db.IBMDBMessages_zh_CN

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.db.IBMDBMessages_zh_CN

public class IBMDBMessages_zh_CN
extends ListResourceBundle


Constructor Index

IBMDBMessages_zh_CN()

Method Index

getContents()

Constructors

IBMDBMessages_zh_CN
 public IBMDBMessages_zh_CN()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

D4 k( $^75^6$pL./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.ibmdbmessages_zh_cn_mi.htmlner$$ Class com.ibm.db.IBMDBMessages_zh_TW

Class com.ibm.db.IBMDBMessages_zh_TW

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.db.IBMDBMessages_zh_TW

public class IBMDBMessages_zh_TW
extends ListResourceBundle


Constructor Index

IBMDBMessages_zh_TW()

Method Index

getContents()

Constructors

IBMDBMessages_zh_TW
 public IBMDBMessages_zh_TW()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

D4 kTm+ $_75^6$pL./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.ibmdbmessages_zh_tw_mi.htmlner$$ Class com.ibm.db.LogonDialog

Class com.ibm.db.LogonDialog

java.lang.Object
   |
   +----java.awt.Component
           |
           +----java.awt.Container
                   |
                   +----java.awt.Window
                           |
                           +----java.awt.Dialog
                                   |
                                   +----com.ibm.db.LogonDialog

public class LogonDialog
extends Dialog
implements ActionListener, WindowListener

LogonDialog represents a dialog to obtain the userID and password prior to making a connection to the database.

Version:
1.0 06/30/98

Constructor Index

LogonDialog(Component)
Constructs a new LogonDialog.

Method Index

actionPerformed(ActionEvent)
Handles actionPerformed events.
getInsets()
Returns the insets for the dialog.
promptAndSetUID(DatabaseConnectionSpec)
Displays a logon dialog to obtain the userid and password.
promptAndSetUID(String[], String[])
Displays a logon dialog to obtain the userid and password.
windowActivated(WindowEvent)
Method to handle events for the WindowListener interface.
windowClosed(WindowEvent)
Method to handle events for the WindowListener interface.
windowClosing(WindowEvent)
Method to handle events for the WindowListener interface.
windowDeactivated(WindowEvent)
Method to handle events for the WindowListener interface.
windowDeiconified(WindowEvent)
Method to handle events for the WindowListener interface.
windowIconified(WindowEvent)
Method to handle events for the WindowListener interface.
windowOpened(WindowEvent)
Method to handle events for the WindowListener interface.

Constructors

LogonDialog
 public LogonDialog(Component c)
Constructs a new LogonDialog.


Methods

actionPerformed
 public void actionPerformed(ActionEvent e)
Handles actionPerformed events.

Parameters:
e - ActionPerformed event
getInsets
 public Insets getInsets()
Returns the insets for the dialog.

Overrides:
getInsets in class Container
promptAndSetUID
 public boolean promptAndSetUID(String uid[],
                                String pwd[])
Displays a logon dialog to obtain the userid and password. The passed userid and password are used to initialize the dialog.

Parameters:
uid - the userid
pwd - password
promptAndSetUID
 public boolean promptAndSetUID(DatabaseConnectionSpec c) throws DataException
Displays a logon dialog to obtain the userid and password. The userid and password from the specified DatabaseConnectionSpec are used to initialize the dialog. If a connection has already been established for the connection alias name specified in the DatabaseConnectionSpec, no dialog is displayed since the connection is already established.

Parameters:
c - the DatabaseConnectionSpec
windowActivated
 public void windowActivated(WindowEvent e)
Method to handle events for the WindowListener interface.

Parameters:
e - java.awt.event.WindowEvent
windowClosed
 public void windowClosed(WindowEvent e)
Method to handle events for the WindowListener interface.

Parameters:
e - java.awt.event.WindowEvent
windowClosing
 public void windowClosing(WindowEvent e)
Method to handle events for the WindowListener interface.

Parameters:
e - java.awt.event.WindowEvent
windowDeactivated
 public void windowDeactivated(WindowEvent e)
Method to handle events for the WindowListener interface.

Parameters:
e - java.awt.event.WindowEvent
windowDeiconified
 public void windowDeiconified(WindowEvent e)
Method to handle events for the WindowListener interface.

Parameters:
e - java.awt.event.WindowEvent
windowIconified
 public void windowIconified(WindowEvent e)
Method to handle events for the WindowListener interface.

Parameters:
e - java.awt.event.WindowEvent
windowOpened
 public void windowOpened(WindowEvent e)
Method to handle events for the WindowListener interface.

Parameters:
e - java.awt.event.WindowEvent

 kڽ. $_75^6$@SM./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.logondialog_mi.htmli.h$$ Class com.ibm.db.SelectStatement

Class com.ibm.db.SelectStatement

java.lang.Object
   |
   +----com.ibm.db.Statement
           |
           +----com.ibm.db.SelectStatement

public class SelectStatement
extends Statement

SelectStatement represents a SQL Select statement.

Version:
1.0 06/30/98
See Also:
Statement

Constructor Index

SelectStatement()
Constructs a new SelectStatement.

Method Index

execute()
Executes the SQL SELECT statement and positions to the first row in the result set.
getMaximumPacketsInCache()
Returns the maximum number of packets the cache can contain.
getMaximumRows()
Returns the maximum size of the result set.
getPacketSize()
Returns the number of rows that are in one packet in the cache.
getResult()
Returns the SelectResult that is associated with this SelectStatement.
isFillCacheOnExecute()
Returns true if the entire cache will be filled when execute is invoked.
isLockRows()
Returns true if a database lock is automatically held on a row while it is the current row in the associated Select Result.
refresh()
Refreshes the result set from the database by re-executing the SQL SELECT statement.
setFillCacheOnExecute(boolean)
If true, the entire cache will be filled when execute is invoked.
setLockRows(boolean)
If true, a database lock is automatically held on a row while it is the current row in the associated Select Result.
setMaximumPacketsInCache(int)
Sets the maximum number of packets the cache can contain.
setMaximumRows(int)
Sets the maximum size of the result set.
setPacketSize(int)
Sets the number of rows that are in one packet in the cache.

Constructors

SelectStatement
 public SelectStatement()
Constructs a new SelectStatement.


Methods

execute
 public void execute() throws DataException
Executes the SQL SELECT statement and positions to the first row in the result set. If needed, a connection is made to the database prior to executing the SQL statement, using the associated DatabaseConnection. The SQL statement is obtained from the StatementMetaData associated with this SelectStatement. The result set can be accessed through the SelectResult associated with this SelectStatement.

The events aboutToExecute and executed are triggered by this method.

The event cacheRowsChanged of the associated SelectResult is triggered by this method.

Throws: DataException
noConnection - if no associated DatabaseConnection
Throws: DataException
noGui - if no GUI available and logon prompt requested
Throws: DataException
badUidPwd - if incorrect Userid or password specified
Throws: DataException
noSQL - if SQL statement is null
Throws: DataException
notSelect - if SQL statement is not a SELECT statement
Throws: DataException
sqlException - if a SQLException occurred
Overrides:
execute in class Statement
See Also:
DatabaseConnection, StatementMetaData, SelectResult
getMaximumPacketsInCache
 public int getMaximumPacketsInCache()
Returns the maximum number of packets the cache can contain.

Returns:
the maximum number of packets in the cache
See Also:
setMaximumPacketsInCache
getMaximumRows
 public int getMaximumRows()
Returns the maximum size of the result set. If there is no limit to the size of the result set, the value will be 0.

Returns:
the maximum size of the result set.
See Also:
setMaximumRows
getPacketSize
 public int getPacketSize()
Returns the number of rows that are in one packet in the cache.

Returns:
the size of the packet in the cache.
See Also:
setPacketSize
getResult
 public SelectResult getResult()
Returns the SelectResult that is associated with this SelectStatement. The user can access the result set from executing the SQL statement through the SelectResult.

Returns:
the associated SelectResult
isFillCacheOnExecute
 public boolean isFillCacheOnExecute()
Returns true if the entire cache will be filled when execute is invoked.

Returns:
true if the entire cache will be filled when execute is invoked, else false.
See Also:
setFillCacheOnExecute
isLockRows
 public boolean isLockRows()
Returns true if a database lock is automatically held on a row while it is the current row in the associated Select Result. Returns false if a database lock is only held on a row while it is being updated in the database.

See the lockRow method of SelectResult for a fuller discussion of what it means for a row to be locked.

Returns:
The lockRows property value.
See Also:
setLockRows, lockRow
refresh
 public void refresh() throws DataException
Refreshes the result set from the database by re-executing the SQL SELECT statement. The statement must currently be open.

The event cacheRowsChanged of the associated SelectResult is triggered by this method.

Throws: DataException
noActiveConnection - if no active connection exists
Throws: DataException
notOpen - if the result set is not open
Throws: DataException
sqlException - if a SQLException occurred
See Also:
execute
setFillCacheOnExecute
 public void setFillCacheOnExecute(boolean fillCacheOnExecute)
If true, the entire cache will be filled when execute is invoked. Otherwise, rows will be fetched into the cache as needed to satisfy a request to set the current row position.

The default value is true.

Parameters:
fillCacheOnExecute - true, fill entire cache on execute ; false fill cache only as needed
See Also:
getFillCacheOnExecute
setLockRows
 public void setLockRows(boolean lockRows)
If true, a database lock is automatically held on a row while it is the current row in the associated Select Result. If false, a database lock is only held on a row while it is being updated in the database.

The default value is false.

See the lockRow method of SelectResult for a fuller discussion of what it means for a row to be locked.

Parameters:
lockRows - true, hold database lock while a row is the current row; false hold database lock only while a row is updated.
See Also:
getLockRows, lockRow
setMaximumPacketsInCache
 public void setMaximumPacketsInCache(int maximumPacketsInCache)
Sets the maximum number of packets the cache can contain. Set the value to 0 if there is no limit on the number of packets in the cache.

The default value is 0.

Parameters:
maximumPacketsInCache - the maximum number of packets in cache
See Also:
getMaximumPacketsInCache
setMaximumRows
 public void setMaximumRows(int maximumRows)
Sets the maximum size of the result set. Set the value to 0 if there is no limit on the number of rows that can be contained in the result set.

The default value is 0.

Parameters:
maximumRows - the maximum number of rows in the result set
See Also:
getMaximumRows
setPacketSize
 public void setPacketSize(int packetSize)
Sets the number of rows that are in one packet in the cache. Set the value to 0 if there is no limit on the number of rows in a packet.

The default value is 0.

Parameters:
packetSize - the size of the packet in the cache
See Also:
getPacketSize

 k|; $`75^6$@N./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.selectstatement_mi.html$$ Class com.ibm.db.SQLStatement

Class com.ibm.db.SQLStatement

java.lang.Object
   |
   +----com.ibm.db.Statement
           |
           +----com.ibm.db.SQLStatement

public class SQLStatement
extends Statement

SQLStatement represents a SQL statement that doesn't return a result set.

Version:
1.0 06/30/98
See Also:
Statement

Constructor Index

SQLStatement()
Construsts a new SQLStatement.

Method Index

execute()
Executes the SQL statement.
getNumAffectedRows()
Returns the number of rows that were affected by executing the SQL statement.

Constructors

SQLStatement
 public SQLStatement()
Construsts a new SQLStatement.


Methods

execute
 public void execute() throws DataException
Executes the SQL statement. If needed, a connection is made to the database prior to executing the SQL statement, using the associated DatabaseConnection. The SQL statement is obtained from the StatementMetaData associated with this SQLStatement.

The events aboutExecute and executed are triggered by this method.

Throws: DataException
if no associated DatabaseConnection
Throws: DataException
if SQL statement is null
Overrides:
execute in class Statement
See Also:
DatabaseConnection, StatementMetaData
getNumAffectedRows
 public int getNumAffectedRows()
Returns the number of rows that were affected by executing the SQL statement.

Returns:
the number of affected rows

rence"> kꌴA $8a75^6$`UN8./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.sqlstatement_mi.htmlo_$$ Class com.ibm.db.SQLStatementBeanInfo

Class com.ibm.db.SQLStatementBeanInfo

java.lang.Object
   |
   +----java.beans.SimpleBeanInfo
           |
           +----com.ibm.db.SQLStatementBeanInfo

public class SQLStatementBeanInfo
extends SimpleBeanInfo

The bean information class for com.ibm.db.SQLStatement.

Version:
1.0 06/30/98
See Also:
SQLStatement

Constructor Index

SQLStatementBeanInfo()

Method Index

connectionPropertyDescriptor()
Gets the connection property descriptor.
executedPropertyDescriptor()
Gets the execute dproperty descriptor.
executeMethodDescriptor()
Gets the execute() method descriptor.
getBeanClass()
Gets the bean class.
getBeanDescriptor()
getEventSetDescriptors()
Return the event set descriptors for this bean.
getMethodDescriptors()
Return the method descriptors for this bean.
getParameter_intMethodDescriptor()
Gets the getParameter(int) method descriptor.
getParameter_StringMethodDescriptor()
Gets the getParameter(int) method descriptor.
getParameterToString_intMethodDescriptor()
Gets the getParameter(int) method descriptor.
getParameterToString_StringMethodDescriptor()
Gets the getParameter(int) method descriptor.
getPropertyDescriptors()
Return the property descriptors for this bean.
metaDataPropertyDescriptor()
Gets the alias property descriptor.
numAffectedRowsPropertyDescriptor()
Gets the numAffectedRows property descriptor.
setParameter_int_javalangObjectMethodDescriptor()
Gets the setParameter(int, java.lang.Object) method descriptor.
setParameter_String_javalangObjectMethodDescriptor()
Gets the setParameter(int, java.lang.Object) method descriptor.
setParameterFromString_int_StringMethodDescriptor()
Gets the setParameterFromString(int, String) method descriptor.
setParameterFromString_String_StringMethodDescriptor()
Gets the setParameterFromString(String, String) method descriptor.
statementAfterEventSetDescriptor()
Gets the statementAfter event set descriptor.
statementAfterexecuted_DataEventMethodEventDescriptor()
Gets the statementAfter.executed(DataEvent) method descriptor.
statementBeforeaboutToExecute_DataEventMethodEventDescriptor()
Gets the statementBefore.aboutToExecute(DataEvent) method descriptor.
statementBeforeEventSetDescriptor()
Gets the statementBeforeevent set descriptor.

Constructors

SQLStatementBeanInfo
 public SQLStatementBeanInfo()

Methods

connectionPropertyDescriptor
 public PropertyDescriptor connectionPropertyDescriptor()
Gets the connection property descriptor.

Returns:
java.beans.PropertyDescriptor
executedPropertyDescriptor
 public PropertyDescriptor executedPropertyDescriptor()
Gets the execute dproperty descriptor.

Returns:
java.beans.PropertyDescriptor
executeMethodDescriptor
 public MethodDescriptor executeMethodDescriptor()
Gets the execute() method descriptor.

Returns:
java.beans.MethodDescriptor
getBeanClass
 public static Class getBeanClass()
Gets the bean class.

Returns:
java.lang.Class
getBeanDescriptor
 public BeanDescriptor getBeanDescriptor()
Overrides:
getBeanDescriptor in class SimpleBeanInfo
getEventSetDescriptors
 public EventSetDescriptor[] getEventSetDescriptors()
Return the event set descriptors for this bean.

Returns:
java.beans.EventSetDescriptor[]
Overrides:
getEventSetDescriptors in class SimpleBeanInfo
getMethodDescriptors
 public MethodDescriptor[] getMethodDescriptors()
Return the method descriptors for this bean.

Returns:
java.beans.MethodDescriptor[]
Overrides:
getMethodDescriptors in class SimpleBeanInfo
getParameter_intMethodDescriptor
 public MethodDescriptor getParameter_intMethodDescriptor()
Gets the getParameter(int) method descriptor.

Returns:
java.beans.MethodDescriptor
getParameter_StringMethodDescriptor
 public MethodDescriptor getParameter_StringMethodDescriptor()
Gets the getParameter(int) method descriptor.

Returns:
java.beans.MethodDescriptor
getParameterToString_intMethodDescriptor
 public MethodDescriptor getParameterToString_intMethodDescriptor()
Gets the getParameter(int) method descriptor.

Returns:
java.beans.MethodDescriptor
getParameterToString_StringMethodDescriptor
 public MethodDescriptor getParameterToString_StringMethodDescriptor()
Gets the getParameter(int) method descriptor.

Returns:
java.beans.MethodDescriptor
getPropertyDescriptors
 public PropertyDescriptor[] getPropertyDescriptors()
Return the property descriptors for this bean.

Returns:
java.beans.PropertyDescriptor[]
Overrides:
getPropertyDescriptors in class SimpleBeanInfo
metaDataPropertyDescriptor
 public PropertyDescriptor metaDataPropertyDescriptor()
Gets the alias property descriptor.

Returns:
java.beans.PropertyDescriptor
numAffectedRowsPropertyDescriptor
 public PropertyDescriptor numAffectedRowsPropertyDescriptor()
Gets the numAffectedRows property descriptor.

Returns:
java.beans.PropertyDescriptor
setParameter_int_javalangObjectMethodDescriptor
 public MethodDescriptor setParameter_int_javalangObjectMethodDescriptor()
Gets the setParameter(int, java.lang.Object) method descriptor.

Returns:
java.beans.MethodDescriptor
setParameter_String_javalangObjectMethodDescriptor
 public MethodDescriptor setParameter_String_javalangObjectMethodDescriptor()
Gets the setParameter(int, java.lang.Object) method descriptor.

Returns:
java.beans.MethodDescriptor
setParameterFromString_int_StringMethodDescriptor
 public MethodDescriptor setParameterFromString_int_StringMethodDescriptor()
Gets the setParameterFromString(int, String) method descriptor.

Returns:
java.beans.MethodDescriptor
setParameterFromString_String_StringMethodDescriptor
 public MethodDescriptor setParameterFromString_String_StringMethodDescriptor()
Gets the setParameterFromString(String, String) method descriptor.

Returns:
java.beans.MethodDescriptor
statementAfterEventSetDescriptor
 public EventSetDescriptor statementAfterEventSetDescriptor()
Gets the statementAfter event set descriptor.

Returns:
java.beans.EventSetDescriptor
statementAfterexecuted_DataEventMethodEventDescriptor
 public MethodDescriptor statementAfterexecuted_DataEventMethodEventDescriptor()
Gets the statementAfter.executed(DataEvent) method descriptor.

Returns:
java.beans.MethodDescriptor
statementBeforeaboutToExecute_DataEventMethodEventDescriptor
 public MethodDescriptor statementBeforeaboutToExecute_DataEventMethodEventDescriptor()
Gets the statementBefore.aboutToExecute(DataEvent) method descriptor.

Returns:
java.beans.MethodDescriptor
statementBeforeEventSetDescriptor
 public EventSetDescriptor statementBeforeEventSetDescriptor()
Gets the statementBeforeevent set descriptor.

Returns:
java.beans.EventSetDescriptor

dd>< kD $a75^6$P./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.sqlstatementbeaninfo_mi.htmll$$ Interface com.ibm.db.StatementAfterListener

Interface com.ibm.db.StatementAfterListener

public interface StatementAfterListener
extends EventListener

The event set listener interface for the statementAfter feature.

Version:
1.0 06/30/98

Method Index

executed(DataEvent)
Invoked after Statement.exeucte has been executed.

Methods

executed
 public abstract void executed(DataEvent event)
Invoked after Statement.exeucte has been executed.

Parameters:
event - DataEvent

 k6cL $b75^6$pL./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.statementafterlistener_mi.html$$ Interface com.ibm.db.StatementBeforeListener

Interface com.ibm.db.StatementBeforeListener

public interface StatementBeforeListener
extends EventListener

The event set listener interface for the statementBefore feature.

Version:
1.0 06/30/98

Method Index

aboutToExecute(DataEvent)
Invoked before Statement.exeucte is executed.

Methods

aboutToExecute
 public abstract void aboutToExecute(DataEvent event)
Invoked before Statement.exeucte is executed.

Parameters:
event - DataEvent

 k3P $b75^6$pWM./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.statementbeforelistener_mi.html$$ Interface com.ibm.db.StatementResultAfterListener

Interface com.ibm.db.StatementResultAfterListener

public interface StatementResultAfterListener
extends EventListener

The event set listener interface for the statementResultAfter feature.

Version:
1.0 06/30/98

Method Index

addedNewRow(DataEvent)
Invoked after StatementResult.newRow has been executed.
cacheRowsChanged(DataEvent)
Invoked after the rows in the the cahce have changed.
closed(DataEvent)
Invoked after StatementResult.close has been executed.
deletedRow(DataEvent)
Invoked after StatementResult.deleteRow has been executed.
updatedRow(DataEvent)
Invoked after StatementResult.updateRow has been executed.

Methods

addedNewRow
 public abstract void addedNewRow(DataEvent event)
Invoked after StatementResult.newRow has been executed.

Parameters:
event - DataEvent
cacheRowsChanged
 public abstract void cacheRowsChanged(DataEvent event)
Invoked after the rows in the the cahce have changed.

Parameters:
event - DataEvent
closed
 public abstract void closed(DataEvent event)
Invoked after StatementResult.close has been executed.

Parameters:
event - DataEvent
deletedRow
 public abstract void deletedRow(DataEvent event)
Invoked after StatementResult.deleteRow has been executed.

Parameters:
event - DataEvent
updatedRow
 public abstract void updatedRow(DataEvent event)
Invoked after StatementResult.updateRow has been executed.

Parameters:
event - DataEvent

ibm.db. k,] $c75_6$`N./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.statementresultafterlistener_mi.htmlml$$ Interface com.ibm.db.StatementResultBeforeListener

Interface com.ibm.db.StatementResultBeforeListener

public interface StatementResultBeforeListener
extends EventListener

The event set listener interface for the statementResultBefore feature.

Version:
1.0 06/30/98

Method Index

aboutToAddNewRow(DataEvent)
Invoked before StatementResult.newRow is executed.
aboutToClose(DataEvent)
Invoked before StatementResult.close is executed.
aboutToDeleteRow(DataEvent)
Invoked before StatementResult.deleteRow is executed.
aboutToUpdateRow(DataEvent)
Invoked before StatementResult.updateRow is executed.

Methods

aboutToAddNewRow
 public abstract void aboutToAddNewRow(DataEvent event)
Invoked before StatementResult.newRow is executed.

Parameters:
event - DataEvent
aboutToClose
 public abstract void aboutToClose(DataEvent event)
Invoked before StatementResult.close is executed.

Parameters:
event - DataEvent
aboutToDeleteRow
 public abstract void aboutToDeleteRow(DataEvent event)
Invoked before StatementResult.deleteRow is executed.

Parameters:
event - DataEvent
aboutToUpdateRow
 public abstract void aboutToUpdateRow(DataEvent event)
Invoked before StatementResult.updateRow is executed.

Parameters:
event - DataEvent

 k0=` $`d75_6$`N`./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.statementresultbeforelistener_mi.htmll$$ Interface com.ibm.db.StatementResultValueChangeListener

Interface com.ibm.db.StatementResultValueChangeListener

public interface StatementResultValueChangeListener
extends EventListener

The event set listener interface for the statementResultValueChange feature.

Version:
1.0 06/30/98

Method Index

aboutToSetColumnValue(PropertyChangeEvent)
Invoked before StatementResult.setColumnValue is executed.
columnValueSet(PropertyChangeEvent)
Invoked after StatementResult.setColumnValue is executed.

Methods

aboutToSetColumnValue
 public abstract void aboutToSetColumnValue(PropertyChangeEvent event)
Invoked before StatementResult.setColumnValue is executed.

Parameters:
event - PropertyChangeEvent
columnValueSet
 public abstract void columnValueSet(PropertyChangeEvent event)
Invoked after StatementResult.setColumnValue is executed.

Parameters:
event - PropertyChangeEvent

/ kXc $sd75_6$`qOs./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.db.statementresultvaluechangelistener_mi.html$$ Interface com.ibm.ivj.db.uibeans.DataAfterListener

Interface com.ibm.ivj.db.uibeans.DataAfterListener

public interface DataAfterListener
extends EventListener

The event set listener interface for the dataAfter feature.

Version:
1.0 06/30/98

Method Index

addedNewRow(DataEvent)
cacheRowsChanged(DataEvent)
closed(DataEvent)
committed(DataEvent)
connected(DataEvent)
deletedRow(DataEvent)
disconnected(DataEvent)
executed(DataEvent)
rolledBack(DataEvent)
updatedRow(DataEvent)

Methods

addedNewRow
 public abstract void addedNewRow(DataEvent event)
Parameters:
event - DataAfterEvent
cacheRowsChanged
 public abstract void cacheRowsChanged(DataEvent event)
Parameters:
event - DataEvent
closed
 public abstract void closed(DataEvent event)
Parameters:
event - DataAfterEvent
committed
 public abstract void committed(DataEvent event)
Parameters:
event - DataAfterEvent
connected
 public abstract void connected(DataEvent event)
Parameters:
event - DataAfterEvent
deletedRow
 public abstract void deletedRow(DataEvent event)
Parameters:
event - DataAfterEvent
disconnected
 public abstract void disconnected(DataEvent event)
Parameters:
event - DataAfterEvent
executed
 public abstract void executed(DataEvent event)
Parameters:
event - DataAfterEvent
rolledBack
 public abstract void rolledBack(DataEvent event)
Parameters:
event - DataAfterEvent
updatedRow
 public abstract void updatedRow(DataEvent event)
Parameters:
event - DataAfterEvent

aEve kf $d75_6$@Q./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.dataafterlistener_mi.htmlt$$ Class com.ibm.ivj.db.uibeans.DatabaseAccess

Class com.ibm.ivj.db.uibeans.DatabaseAccess

java.lang.Object
   |
   +----com.ibm.ivj.db.uibeans.DatabaseAccess

public class DatabaseAccess
extends Object

Super class for all DatabaseAccess classes. A DatabaseAccess class contains methods that define connection aliases and SQL specifications for a Select bean.

Version:
1.0 06/30/98

Constructor Index

DatabaseAccess()

Constructors

DatabaseAccess
 public DatabaseAccess()

 k`i ${d75_6$p?N{./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.databaseaccess_mi.htmllt$$ Interface com.ibm.ivj.db.uibeans.DataBeforeListener

Interface com.ibm.ivj.db.uibeans.DataBeforeListener

public interface DataBeforeListener
extends EventListener

The event set listener interface for the dataBefore feature.

Version:
1.0 06/30/98

Method Index

aboutToAddNewRow(DataEvent)
aboutToClose(DataEvent)
aboutToCommit(DataEvent)
aboutToConnect(DataEvent)
aboutToDeleteRow(DataEvent)
aboutToDisconnect(DataEvent)
aboutToExecute(DataEvent)
aboutToRollback(DataEvent)
aboutToUpdateRow(DataEvent)

Methods

aboutToAddNewRow
 public abstract void aboutToAddNewRow(DataEvent event)
Parameters:
event - DataEvent
aboutToClose
 public abstract void aboutToClose(DataEvent event)
Parameters:
event - DataEvent
aboutToCommit
 public abstract void aboutToCommit(DataEvent event)
Parameters:
event - DataEvent
aboutToConnect
 public abstract void aboutToConnect(DataEvent event)
Parameters:
event - DataEvent
aboutToDeleteRow
 public abstract void aboutToDeleteRow(DataEvent event)
Parameters:
event - DataEvent
aboutToDisconnect
 public abstract void aboutToDisconnect(DataEvent event)
Parameters:
event - DataEvent
aboutToExecute
 public abstract void aboutToExecute(DataEvent event)
Parameters:
event - DataEvent
aboutToRollback
 public abstract void aboutToRollback(DataEvent event)
Parameters:
event - DataEvent
aboutToUpdateRow
 public abstract void aboutToUpdateRow(DataEvent event)
Parameters:
event - DataEvent

ve kl $Ye75_6$@QY./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.databeforelistener_mi.html$$ Class com.ibm.ivj.db.uibeans.DBNavigatorBeanInfo

Class com.ibm.ivj.db.uibeans.DBNavigatorBeanInfo

java.lang.Object
   |
   +----java.beans.SimpleBeanInfo
           |
           +----com.ibm.uvm.awt.beaninfo.IvjBeanInfo
                   |
                   +----com.ibm.ivj.db.uibeans.DBNavigatorBeanInfo

public class DBNavigatorBeanInfo
extends IvjBeanInfo


Constructor Index

DBNavigatorBeanInfo()

Method Index

exceptionEventSetDescriptor()
Gets the exceptioin event set descriptor.
getAdditionalBeanInfo()
Returns the BeanInfo for the superclass of our bean, so that its features will be included.
getBeanClass()
Gets the bean class.
getBeanDescriptor()
This method was created by a SmartGuide.
getEventSetDescriptors()
Return the event set descriptors for this bean.
getIcon(int)
getMethodDescriptors()
Return the method descriptors for this bean.
getPropertyDescriptors()
Return the property descriptors for this bean.

Constructors

DBNavigatorBeanInfo
 public DBNavigatorBeanInfo()

Methods

exceptionEventSetDescriptor
 public EventSetDescriptor exceptionEventSetDescriptor()
Gets the exceptioin event set descriptor.

Returns:
java.beans.EventSetDescriptor
getAdditionalBeanInfo
 public BeanInfo[] getAdditionalBeanInfo()
Returns the BeanInfo for the superclass of our bean, so that its features will be included.

Overrides:
getAdditionalBeanInfo in class IvjBeanInfo
getBeanClass
 public static Class getBeanClass()
Gets the bean class.

Returns:
java.lang.Class
getBeanDescriptor
 public BeanDescriptor getBeanDescriptor()
This method was created by a SmartGuide.

Returns:
java.beans.BeanDescriptor
Overrides:
getBeanDescriptor in class SimpleBeanInfo
getEventSetDescriptors
 public EventSetDescriptor[] getEventSetDescriptors()
Return the event set descriptors for this bean.

Returns:
java.beans.EventSetDescriptor[]
Overrides:
getEventSetDescriptors in class SimpleBeanInfo
getIcon
 public Image getIcon(int kind)
Returns:
an icon of the specified kind for JButton
Overrides:
getIcon in class SimpleBeanInfo
getMethodDescriptors
 public MethodDescriptor[] getMethodDescriptors()
Return the method descriptors for this bean.

Returns:
java.beans.MethodDescriptor[]
Overrides:
getMethodDescriptors in class SimpleBeanInfo
getPropertyDescriptors
 public PropertyDescriptor[] getPropertyDescriptors()
Return the property descriptors for this bean.

Returns:
java.beans.PropertyDescriptor[]
Overrides:
getPropertyDescriptors in class SimpleBeanInfo

Class com.ibm.ivj.db.uibeans.ExceptionEvent

Class com.ibm.ivj.db.uibeans.ExceptionEvent

java.lang.Object
   |
   +----java.util.EventObject
           |
           +----com.ibm.ivj.db.uibeans.ExceptionEvent

public class ExceptionEvent
extends EventObject

This is the event class to support the com.ibm.ivj.db.uibeans.ExeceptionListener interface.

Version:
1.0 06/30/98

Constructor Index

ExceptionEvent(Object, Exception)

Method Index

getException()

Constructors

ExceptionEvent
 public ExceptionEvent(Object source,
                       Exception raisedException)

Methods

getException
 public Exception getException()

 ku $7f75_6$`O7./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.exceptionevent_mi.htmltml$$ Interface com.ibm.ivj.db.uibeans.ExceptionListener

Interface com.ibm.ivj.db.uibeans.ExceptionListener

public interface ExceptionListener
extends EventListener

The event set listener interface for the exception feature.

Version:
1.0 06/30/98

Method Index

exceptionOccurred(ExceptionEvent)

Methods

exceptionOccurred
 public abstract void exceptionOccurred(ExceptionEvent event)
Parameters:
event - com.ibm.ivj.db.uibeans.ExceptionEvent

cep kҀx $f75_6$pN./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.exceptionlistener_mi.html$$ Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages

Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.ivj.db.uibeans.IBMIVJDBMessages

public class IBMIVJDBMessages
extends ListResourceBundle


Variable Index

commit
delete
execute
first
insert
introspectionException
last
next
noConnection
noConnectionException
noConnectionSpec
noDBAClassException
noDesignTimeQueryData
noSelect
noSelectStatement
noSQLException
noStatementMetaData
prev
refresh
rollback

Constructor Index

IBMIVJDBMessages()

Method Index

getContents()
getText(String)

Variables

first
 public static String first
prev
 public static String prev
next
 public static String next
last
 public static String last
insert
 public static String insert
delete
 public static String delete
refresh
 public static String refresh
commit
 public static String commit
rollback
 public static String rollback
execute
 public static String execute
noConnectionSpec
 public static String noConnectionSpec
noDesignTimeQueryData
 public static String noDesignTimeQueryData
noStatementMetaData
 public static String noStatementMetaData
noSelectStatement
 public static String noSelectStatement
noConnection
 public static String noConnection
introspectionException
 public static String introspectionException
noSelect
 public static String noSelect
noDBAClassException
 public static String noDBAClassException
noSQLException
 public static String noSQLException
noConnectionException
 public static String noConnectionException

Constructors

IBMIVJDBMessages
 public IBMIVJDBMessages()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle
getText
 public static String getText(String key)

e kt{ $f7I6_6$P9R./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.ibmivjdbmessages_es.html$$ com.ibm.ivj.db.uibeans.IBMIVJDBMessages_es <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.db.uibeans.ibmivjdbmessages_es_dsc.html#_top_">com.ibm.ivj.db.uibeans.IBMIVJDBMessages_es (no frames)</a></b></p> </body>  kF| $ f7I6_6$ XR ./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.ibmivjdbmessages_es_dsc.htmll$$ Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_es

Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_es

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.ivj.db.uibeans.IBMIVJDBMessages_es

public class IBMIVJDBMessages_es
extends ListResourceBundle


Constructor Index

IBMIVJDBMessages_es()

Method Index

getContents()

Constructors

IBMIVJDBMessages_es
 public IBMIVJDBMessages_es()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

n. kM} $g75_6$`:P./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.ibmivjdbmessages_es_mi.html$$ Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_fr

Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_fr

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.ivj.db.uibeans.IBMIVJDBMessages_fr

public class IBMIVJDBMessages_fr
extends ListResourceBundle


Constructor Index

IBMIVJDBMessages_fr()

Method Index

getContents()

Constructors

IBMIVJDBMessages_fr
 public IBMIVJDBMessages_fr()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

n: kx $g75_6$`P./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.ibmivjdbmessages_fr_mi.html$$ Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_ja

Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_ja

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.ivj.db.uibeans.IBMIVJDBMessages_ja

public class IBMIVJDBMessages_ja
extends ListResourceBundle


Constructor Index

IBMIVJDBMessages_ja()

Method Index

getContents()

Constructors

IBMIVJDBMessages_ja
 public IBMIVJDBMessages_ja()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

nF k$A $g75_6$`6Q./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.ibmivjdbmessages_ja_mi.html$$ Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_ko

Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_ko

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.ivj.db.uibeans.IBMIVJDBMessages_ko

public class IBMIVJDBMessages_ko
extends ListResourceBundle


Constructor Index

IBMIVJDBMessages_ko()

Method Index

getContents()

Constructors

IBMIVJDBMessages_ko
 public IBMIVJDBMessages_ko()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

nR k $g75_6$`>Q./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.ibmivjdbmessages_ko_mi.html$$ Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_zh_CN

Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_zh_CN

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.ivj.db.uibeans.IBMIVJDBMessages_zh_CN

public class IBMIVJDBMessages_zh_CN
extends ListResourceBundle


Constructor Index

IBMIVJDBMessages_zh_CN()

Method Index

getContents()

Constructors

IBMIVJDBMessages_zh_CN
 public IBMIVJDBMessages_zh_CN()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

 kJ $'h75_6$`Q'./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.ibmivjdbmessages_zh_cn_mi.html$$ Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_zh_TW

Class com.ibm.ivj.db.uibeans.IBMIVJDBMessages_zh_TW

java.lang.Object
   |
   +----java.util.ResourceBundle
           |
           +----java.util.ListResourceBundle
                   |
                   +----com.ibm.ivj.db.uibeans.IBMIVJDBMessages_zh_TW

public class IBMIVJDBMessages_zh_TW
extends ListResourceBundle


Constructor Index

IBMIVJDBMessages_zh_TW()

Method Index

getContents()

Constructors

IBMIVJDBMessages_zh_TW
 public IBMIVJDBMessages_zh_TW()

Methods

getContents
 public Object[][] getContents()
Overrides:
getContents in class ListResourceBundle

 k $'h75_6$`gR'./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.ibmivjdbmessages_zh_tw_mi.html$$ Class com.ibm.ivj.db.uibeans.Query

Class com.ibm.ivj.db.uibeans.Query

java.lang.Object
   |
   +----com.ibm.ivj.db.uibeans.Query

public class Query
extends Object
implements Serializable

Query contains references to a connection alias and a SQL specification. Query is used to set the query property of a Select bean.

Version:
1.0 06/30/98

Constructor Index

Query(DatabaseConnection, StatementMetaData)
Constructs a new Query and sets the connection alias and the SQL specification the the specified values.

Method Index

getConnectionAlias()
Returns the associated com.ibm.db.DatabaseConnection that represents the connection alias for a Select bean.
getSQLSpec()
Returns the associated com.ibm.db.StatementMetaData that represents a SQL specification for a Select bean.
setConnectionAlias(DatabaseConnection)
Associates a com.ibm.db.DatabaseConnection with the Query.
setSQLSpec(StatementMetaData)
Associates a com.ibm.db.StatementMetaData with the Query.

Constructors

Query
 public Query(DatabaseConnection conAlias,
              StatementMetaData sqlSpec)
Constructs a new Query and sets the connection alias and the SQL specification the the specified values.

Parameters:
conAlias - the connection alias represented by a DatabaseConnection
sqlSpec - the SQL specification represented by a StatementMetadata
See Also:
DatabaseConnection, StatementMetaData

Methods

getConnectionAlias
 public DatabaseConnection getConnectionAlias()
Returns the associated com.ibm.db.DatabaseConnection that represents the connection alias for a Select bean.

Returns:
the associated DatabaseConnection that represents a connection alias
See Also:
setConnectionAlias
getSQLSpec
 public StatementMetaData getSQLSpec()
Returns the associated com.ibm.db.StatementMetaData that represents a SQL specification for a Select bean.

Returns:
the associated StatementMetaData that represents a SQL specification
See Also:
setSQLSpec
setConnectionAlias
 public void setConnectionAlias(DatabaseConnection connectionAlias)
Associates a com.ibm.db.DatabaseConnection with the Query. A DatabaseConnection represents a connection alias for a Select bean.

Parameters:
connectionAlias - the associated DatabaseConnection
See Also:
getConnectionAlias
setSQLSpec
 public void setSQLSpec(StatementMetaData SQLspec)
Associates a com.ibm.db.StatementMetaData with the Query. A StatementMetaData represents a SQL specification for a Select bean.

Parameters:
SQLspec - the associated StatementMetaData
See Also:
getSQLspec

a SQL k $i75_6$`R./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.query_mi.htmls_zh_$$ Class com.ibm.ivj.db.uibeans.SelectBeanInfo

Class com.ibm.ivj.db.uibeans.SelectBeanInfo

java.lang.Object
   |
   +----java.beans.SimpleBeanInfo
           |
           +----com.ibm.uvm.awt.beaninfo.IvjBeanInfo
                   |
                   +----com.ibm.ivj.db.uibeans.SelectBeanInfo

public class SelectBeanInfo
extends IvjBeanInfo


Constructor Index

SelectBeanInfo()

Method Index

dataAfterEventSetDescriptor()
Returns the dataAfter event set descriptor.
dataBeforeEventSetDescriptor()
Returns the dataBefore event set descriptor.
getAdditionalBeanInfo()
Returns the BeanInfo for the superclass of our bean, so that its features will be included.
getBeanClass()
Returns the bean class.
getBeanDescriptor()
Returns the bean descriptor for the Select bean.
getEventSetDescriptors()
Returns the event set descriptors for this bean.
getIcon(int)
Returns the specified icon for the Select bean.
getMethodDescriptors()
Returns the method descriptors for this bean.
getPropertyDescriptors()
Returns the property descriptors for this bean.
tableModelEventSetDescriptor()
Returns the tableModel event set descriptor.

Constructors

SelectBeanInfo
 public SelectBeanInfo()

Methods

dataAfterEventSetDescriptor
 public EventSetDescriptor dataAfterEventSetDescriptor()
Returns the dataAfter event set descriptor.

Returns:
java.beans.EventSetDescriptor
dataBeforeEventSetDescriptor
 public EventSetDescriptor dataBeforeEventSetDescriptor()
Returns the dataBefore event set descriptor.

Returns:
java.beans.EventSetDescriptor
getAdditionalBeanInfo
 public BeanInfo[] getAdditionalBeanInfo()
Returns the BeanInfo for the superclass of our bean, so that its features will be included.

Overrides:
getAdditionalBeanInfo in class IvjBeanInfo
getBeanClass
 public static Class getBeanClass()
Returns the bean class.

Returns:
java.lang.Class
getBeanDescriptor
 public BeanDescriptor getBeanDescriptor()
Returns the bean descriptor for the Select bean.

Returns:
java.beans.BeanDescriptor
Overrides:
getBeanDescriptor in class SimpleBeanInfo
getEventSetDescriptors
 public EventSetDescriptor[] getEventSetDescriptors()
Returns the event set descriptors for this bean.

Returns:
java.beans.EventSetDescriptor[]
Overrides:
getEventSetDescriptors in class SimpleBeanInfo
getIcon
 public Image getIcon(int kind)
Returns the specified icon for the Select bean. The Select bean has a 16 bit icon and a 32 bit color icon.

Returns:
an icon of the specified kind for Select
Overrides:
getIcon in class SimpleBeanInfo
getMethodDescriptors
 public MethodDescriptor[] getMethodDescriptors()
Returns the method descriptors for this bean.

Returns:
java.beans.MethodDescriptor[]
Overrides:
getMethodDescriptors in class SimpleBeanInfo
getPropertyDescriptors
 public PropertyDescriptor[] getPropertyDescriptors()
Returns the property descriptors for this bean.

Returns:
java.beans.PropertyDescriptor[]
Overrides:
getPropertyDescriptors in class SimpleBeanInfo
tableModelEventSetDescriptor
 public EventSetDescriptor tableModelEventSetDescriptor()
Returns the tableModel event set descriptor.

Returns:
java.beans.EventSetDescriptor

dat k6 $i75_6$@R./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.selectbeaninfo_mi.htmli.ht$$ Class com.ibm.ivj.db.uibeans.SpecsLocator

Class com.ibm.ivj.db.uibeans.SpecsLocator

java.lang.Object
   |
   +----com.ibm.ivj.db.uibeans.SpecsLocator

public class SpecsLocator
extends Object
implements PropertyValueSpecification, Serializable, Cloneable

SpecsLocator is used by the custom property editor for the query property of the Select bean. It contains information to create the connection alias and SQL specification associated with the query property. The VAJ IDE will serialize the specsLocator of the specifications themselves to save space.

Version:
1.0 06/30/98

Constructor Index

SpecsLocator()

Method Index

clone()
getAsPropertyValue()
getConnectBundleName()
getConnectFullName()
getConnectName()
getConnectSpec()
getSqlBundleName()
getSqlFullName()
getSqlName()
getSqlSpec()
setConnectBundleName(String)
setConnectName(String)
setSqlBundleName(String)
setSqlName(String)

Constructors

SpecsLocator
 public SpecsLocator()

Methods

clone
 public synchronized Object clone()
Overrides:
clone in class Object
getAsPropertyValue
 public Object getAsPropertyValue()
getConnectBundleName
 public String getConnectBundleName()
getConnectFullName
 public String getConnectFullName()
getConnectName
 public String getConnectName()
getConnectSpec
 public DatabaseConnection getConnectSpec() throws ClassNotFoundException, NoSuchMethodException, Throwable
getSqlBundleName
 public String getSqlBundleName()
getSqlFullName
 public String getSqlFullName()
getSqlName
 public String getSqlName()
getSqlSpec
 public StatementMetaData getSqlSpec() throws ClassNotFoundException, NoSuchMethodException, Throwable
setConnectBundleName
 public void setConnectBundleName(String s)
setConnectName
 public void setConnectName(String s)
setSqlBundleName
 public void setSqlBundleName(String s)
setSqlName
 public void setSqlName(String s)

l s k $0i75`6$0S0./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.specslocator_mi.htmli.ht$$ Class com.ibm.ivj.db.uibeans.Statement

Class com.ibm.ivj.db.uibeans.Statement

java.lang.Object
   |
   +----com.ibm.ivj.db.uibeans.Statement

public abstract class Statement
extends Object
implements Serializable, DatabaseConnectionAfterListener, DatabaseConnectionBeforeListener

Statement is the abstract super class for data access beans. Data access beans allow you to access data in a relational database using JDBC.

Version:
1.0 06/30/98
See Also:
Select

Constructor Index

Statement()
Constructs a new Statement.

Method Index

getDatabaseConnection()
Returns the associated com.ibm.db.DatabaseConnection that contains the specifications for the connection.
setDatabaseConnection(DatabaseConnection)
Associates a com.ibm.db.DatabaseConnection with this Statement.

Constructors

Statement
 public Statement()
Constructs a new Statement.


Methods

getDatabaseConnection
 public DatabaseConnection getDatabaseConnection()
Returns the associated com.ibm.db.DatabaseConnection that contains the specifications for the connection.

Returns:
the associated DatabaseConnection
See Also:
setDatabaseConnection, DatabaseConnection
setDatabaseConnection
 public void setDatabaseConnection(DatabaseConnection connection)
Associates a com.ibm.db.DatabaseConnection with this Statement.

Parameters:
connection - the associated DatabaseConnection
See Also:
getDatabaseConnection, DatabaseConnection

ml;  kG $j75`6$`R./usr/IBMVJava/html/enterp/en_US/dataacc/ref/com.ibm.ivj.db.uibeans.statement_mi.htmll$$ Package com.ibm.db

All Packages

package com.ibm.db

Interface Index

DatabaseConnectionAfterListener
DatabaseConnectionBeforeListener
StatementAfterListener
StatementBeforeListener
StatementResultAfterListener
StatementResultBeforeListener
StatementResultValueChangeListener

Class Index

DataEvent
DatabaseConnection
DatabaseConnectionBeanInfo
IBMDBMessages
IBMDBMessages_es
IBMDBMessages_fr
IBMDBMessages_ja
IBMDBMessages_ko
IBMDBMessages_zh_CN
IBMDBMessages_zh_TW
LogonDialog
SQLStatement
SQLStatementBeanInfo
SelectResult
SelectResultBeanInfo
SelectStatement
SelectStatementBeanInfo
Statement
StatementMetaData
StatementMetaDataBeanInfo
StatementResult

Exception Index

DataException
name="D k $" j7I6`6$r\" ./usr/IBMVJava/html/enterp/en_US/dataacc/ref/package-com.ibm.ivj.db.uibeans.htmlhtmll$$ Package com.ibm.ivj.db.uibeans

All Packages

package com.ibm.ivj.db.uibeans

Interface Index

DataAfterListener
DataBeforeListener
ExceptionListener

Class Index

DBNavigator
DBNavigatorBeanInfo
DatabaseAccess
ExceptionEvent
IBMIVJDBMessages
IBMIVJDBMessages_es
IBMIVJDBMessages_fr
IBMIVJDBMessages_ja
IBMIVJDBMessages_ko
IBMIVJDBMessages_zh_CN
IBMIVJDBMessages_zh_TW
Query
Select
SelectBeanInfo
SpecsLocator
Statement
MVJava k $@$j7I6^6$\@$./usr/IBMVJava/html/enterp/en_US/dataacc/ref/tree.htmlm$$ Class Hierarchy (DataAccess Beans)

Class Hierarchy (DataAccess Beans)


 k $Nj7 I6`6$PDBN./usr/IBMVJava/html/enterp/en_US/dax/ref/_package_._class_.html$$ _Package_._Class_ <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="_package_._class__dsc.html#_top_">_Package_._Class_ (no frames)</a></b></p> </body> re l~. $Ej7 I6`6$DQ./usr/IBMVJava/html/enterp/en_US/dax/ref/_package_._class__dsc.htmluibe$$    adet <>chilnors./bmpuv"&;D_fgjw()=CIOSTy#',-:AENPRUqxFLMQk0BHJW4X[] !123589GY+?|zP,sL4q "fU$@!M֔)c֔% nU(QF`X`  h,Oda ,0J҄Ffn頌ĆF@'0܆M/)慺q H VJ/#Qqg8px@A H$# H@ BXcs⟢&,OaPZPkJd_( (б P @(J҄FUF`XFZV% @n?>bd+Vo\ey Of=6 Dcm]ĀQ+J?[%mjU?4,H݉{eč6H>1Lx䳂(_Uvf1~ԇ慉2+ }N|%RcDTU/e%c e:V {csɨ_UvfL?4,I X)+?P75KQS2Ҁ(ߋQV֔% Betau3ԝO~kBV,SX6?EK%GԖ),19Q%:0ըiBPeJ]bI$I(2c4m̈́Lؚ4JQK,3TU-(WlpXD\YMd d16[< 7bh+dL%ŘK NQdH7%7OrY fZQ ( >O``CP,RX(~QGԖ(eJ6KJ[֔~՚qos;SQkQ%~ }Nb}Ij(^;WlpXD\YMd d16[< 7bh+CC!KG[5fCgeE:PQJc6~#}N~Xly Cs͍+LZ7sFj|ʼ'7>>l{'ln~g1'avu ?8:y EC-(35O1;ݿ[~C%[q:L8x>Ԡe<bwVdo8sF>?܋==[̫ģc'1;of7?*ܾ 3[em%3'>s$ ܇dss7|B8J/9(ե B% BZŒ.DJU-E(S@aG3c. QS@iBPz҅^]b@0 OaPj(BQ O0le,>Ol}Nb}I~%o"oG?|u>^=G sV2zZPRZX8,Hf, q ,[S@ %bS-ERQ%e ` J?J?UF͌%?]GԖ)-P/IJ]sVmn%3qu=֔*}GԖ H7I +j*,%GԖ),19Q% J?J?UF͌%?]GԖ)-P/IJ]7+h6Bҏ2y<֔*}GԖ H7I ?dL%ŘK NQdHڞX`+j*,%GԖ),19Q%20+b t# f]ܟK(~QGԗY f.nype~iGevE[֔% l2|l/)GQMe BJz +K J?J?U3[w?^Q#?[hs_[ >å,evW` V>0+c QT]}@y!ŐhP@|U,$8 GX>y351E}nv)d7IJ{<'vM(nsjs:%i=E](UX8,H~h+vN,Ʉ XVYۓQT~Z3[,ӥå,Ciݓ;sO;'~R8͙=E](UX8,H~h+vN,>a!BV?4'v~5K GX>y35:P:Rod189~*NU҅^eāG)d4emOc, JY [SU,$+`ֺ|4CsmOc,߭å,RX>1CZ>c5(.{:2yϙ*iBW]b@FVm Xѕj*ҏv|]>fkccnq~8չ|[JY >Ol}Nb}IiGIJ' _UvڞX%cF`92(XHWJ?UϭtxC8չ|Z>2zZPWlpX(јn!!BV?5GԖ),'v-ERZt]OQWkJz mLemHP2mERBQ}klo}t3nkr_[JY >Ol}Nb}I~%omOQ+h6*iBW]b@7aa} MGԖ),'v-ERX0羋~(XHWJ?Uϭtܑr-nKʇo癸v_8>ǪtazjJ?QWkJz tV [ʰ<0#Q#ȶ32oZ;Y f ?t6?[JY ,3I*iBW]b@[A3 Fa2l(J2mERT}IbS-ERX ~Z3[<߭å,Cicͩ,uRX>1CZ>iGIJ' _Uv4f+j{`K"a.,\yr&FV20 \F`92(XHڞX`]K(~QGԖJQZPWlpX,Fat \T}Ib[qgn Q%XJ,SX+vN,pP,)((Wk>f7>y[f9~dmNy`CO; *iBW]b@,3FVm&%ǐ'(n$2l(JY fQThp ]#ֺ|}n%=2Ζ֔*}U,$ :BbtXHWJ?U3[:P=?0enB:Rod18'K?|;:fryqCsdܟ&4*ܾXnIѲzZPWlpX.?d !G/$?d ~a!'@xWJ?U3[:P=?0enB:Rod18'K?|;:fryqCsdܟ&4' _Uv!BVKQ%XH(?EjTfnH@D?EKI ~~1;t2s^t2Cs۩O>f7>GCq(3[%E](UX8,HnBnU,$)((Wk>f7OaP,$)(QF% (WkkOds62VuRX>1CZ>c7vy Vm9+j{`Q=E](QV 3Čt%0a.<9EtY#+j{`(Jj҅K-j>OaP-EE(QťӋ{}IbS-ERXJX8,K"a.,\yr&n6[< 7bh+[S@ ~V2E,ZP*޴]Ada=˲Y[}Ibj(K!E^=emߨ_Q7[S *iGZJ?^ER3rSҏWk=>8ڞX`c7FcΞqї>Ol}Nb}IiGK!zZQ*޴vE[֔*( 3 Бn3 ѕaBV% 5iBRX(~QGԖZPZP(bҎiŽ>OaP,%U,$i&F9uؚ4J}IbS-ERX K2l)(QF% (WkkOds62VuRX>1CZ>c7vsc;/ J?{ڞY目zZQ֫zҏWQkԨܔ*(Uem}nuRX>1CZ>~%o܍C~ǝOaP-EE(QťӋ{}IbS-ERXJX8,HiMcsusa-4h?E>1CZ>j*em( ȘK0@ɺ,e, ؚ4JV20(_=)(QF% (WkkOds62VuRX>1CZ>c7vsc;/ J?emOc,'j(zmJL_J?]VmGQ%~cs?EK[AY f7y:2=GԖ)-P-(d1OQWkJ?]V2+j{`0+JER[b-iB5iBPeJ93C0$)(QF% (Wk>f7=}Ibj(K!E߭:38 :Q+j{`/Yۓ?å,Cv]VV:P%E^<0,3I*iGը& QE֪ ȘK0@ɺ,rSt!,3FKtǁXB1ERX8,K"a.,\yr&MM܆IJsa-4hrSt!ŐjvUiG*iB(UxQ'SB_PHqd1%iBPV(_Qk֔(V% 6Xqos9q u>a!ŐoCIB6X(UiGX>y351E}nv)d7IJ{<'vM(nsjs:%i1CZ>%i=E](zvi҄*(U*y;ta*taͩ,xCStc4]S X|EN5}ü#vUZÏIדҏWkUv$$B_PLK![p u>a$(%CBWQTv>>Y fvUiG*iB(UxQ$~hG?FV2+JERXј:~e(j҄FsN-gֹU,%0a.<9EtY7[SYlsa-4he ` QT?4f+j{`HRP-(JoZQ}klox߭u=IJ9Ŏ]O9]GԖ)-P-(Ct]?u=wvO;s;gY fe9'j(zvi҄*(UV20xC8չ|ZRX>1CZ>zZQ*޴vE[֔*( <ј:~e, q ,[S@ %iBPV(_QkhG?FV2Z5iBPeJ93k\|]~y0u[SU]bY qfY7Eu=61QFXڞX`K2% (b҄V`ֺ|7smOc,1;oV"od1?ZRX>1CZ>RuRX>1CZ>c7sΞ}kwG|{Bwlҏd1wO缞֔~޴UZ*37%0J-}(v[S8#se ` ,3xNj>8չȻ[Q%~cs?EK%(UҏQV *޴UF`XJY [SB(Jj҅K-cC2(QJ,ZQ8U,%0a.<9EtY7[SYlsa-4he ` QT?40K!+j{`HRP-(JoZQ}klo|N>=2ϭ:RoQ%~cs?EK,3R"翝<.ퟺ.̜̞֔~޴UZ٧JҏWk[S@ Y fmot;qїd1Of(Oq(d1ڞXA9mot{,3@[S;s,ӥ n%}N~u[S9~N[[?O|{[Y fsmOc,QR?vf(OsѦ̭taUҏWQk?%'^L_J?]U,%0a.<9EtY&CbY f :RhڞX%cC2(ZQv>> ȘK0@ɺ,rSt!,3FKtǁFM%`ܔ=hqd1}E](oZQZPJ^fmLemHP BZP}E1j(j҄FsN-g.1~T;jc+h6BliBPzҏv|]>fkcc7$cs[:RoQ%~cs?EK,3{j~[AOQWkJ?UoZQj-`ӥ TQkG.1~T9wTW;TW;sIJ+h62jS*taJ?;}''V~JN%EZX8,K"a.,\yr&MM܆IJsa-mLemHP2mERX8,K"a.,\yr&MM܆IJsa-4hrSt!ŐjvUiG*iB(UxQ%eXt"%iBPV(_QktVQJ,ZQ8P;*àE,ZP*޴]y35m@~}npvK>oLfNy|ΣK(~QGԖJQ tψ"1htxd|2 ~q%[4@(짿/A`84X,坼F'r5 LfNiG 8`_:\fNM{ZÑϾ{ҏk#L@Ha`A¾Ǚ@N}nv6? *iGZJ?^ER3rSҏWkO\?dϴ[s\F'r5 t𞢮֔(E](QV 3ďsA!BV% 5iBAvIEZP(bҎiŽ3~hu=Ý JQť BJ?Uϭt~xQS9.å,G}k tҏn*m@~_"oQ%~cs?EK&yAvH$ u<(֔~޴UZ٧JҏWktFN?ss\te~v)d5=O9b=GԖ)-P,QWkJ?E[֔~֔(z҅Wbv!'@xI >}@y!'@xP BZP}Ebt֔(V% 6Xqos8~!'@xH~? VAIB6X(UiGX]>fkc~YJtF V=[JY ,3@'vbQ7/7@tLЎ_cqO.!}npVYۓDܖ&v]VV Q)TQkG~R#:<6[[dܟ"܇gLЎY=E](zvi҄*(UӠnzݓ;r~xfїLЉ=E](zRu*(U]bY qfY7EnJn6%hۛ n.?d !G/$?d ~iGX8,K"a.,\yr&MM܆IJsa-4hrSt!ŐjvUiG*iB(UxQ'bt ZP(ե *Z!'@z-iB5iBPeJ93bt% (b҄Vb tf(Oמ2!Znv)d7IJOYۓG%Gܾt[3_B9}<{[qgnOerZQ|Gڕn_,G7$=E](WkUiGըN& QEtFN?vN,F^3_B$vUZÏIדҏWkUvdL%ŘK NQdI){ؖCnl%c<$(J!'@zC9WlpXD\YMd d16[< 7bh+CC!K*iGzҏU҅oZP0,Hѕa!BV% 5iB+h6Qk(ե B-([Ϊ 4`Ci#Xm:KtǁFM%j>OaP,emڊ+h6BliBPzҏv|]>fkccnq~8չ|[JY >Ol}Nb}IiGIJ'j(zvi҄*(U}Ibj(VmC8չ|[JY >Ol}Nb}IiGK!zZQ*޴vE[֔*( ?48[A%iBPV(_QkY fQEV% 6Xqos:X8,K"a.,\yr&MӬm̈́LxnѢV [A|~hqd12l$)(QF% (Wk>f7<~o[As[Ȼ[tc4:PS48em߉d1OQWkJ?UoZQj-`ӥ TQkGsCVmC8չ|[JY >Ol}Nb}I~%i=E](zRu*(U]bY qfY7EnJn6%hۛ n(c4emHP,3FVmZQv>> ȘK0@ɺ,rSt!,3FKtǁFM%`ܔ=hqd1}E](oZQZPJ^fhqd12l%0a.<9EtY ᕴaBV% 5iBC+h6Qk(ե B-([|]~yŐh WlpXD\YMdXۛ n(݉D2mER DX8,K"a.,\yr&n"7] ؚ4JaaER҅liBPzҏv|]>fkcctc4 >2o~99 [AY fUҏv[֔ZX6Ff QEC+h6#>848em߉d1bw#P߱O8sK!GԖ)-P-(d1OQWkJ?^EATQk`, q ,ɺ0t`6[< 7bh+ YKGv3     0}øNц=*ta'V~JN%EZX8,K"a.,\yr&MM܆IJsa-hqd12l%0a.<9EtY ᕴaBWf7>y[JY ,3@+h6sSX!>Ol}Nb}Ic+h6ҏd1OQWkJ?UoZQj-`ڕ%E] ΣK(~QGԖ2oIJ1;otetޣK(~QGԖIJ'V D*(WlpXD\YMd`En0sa-4h,uтUȻ[·  F `P@F'sjsTW:0ՓUҏQV *޴UF`X0݄BB(Jj҅K-cT}Ib[qgn Q%QJ,ZQ8GԖ),'v(~QGԗ?Ed?EK JQť BJ?Uϭti҇癸v_88sK!%i<:;rxϺ|~C%[F_)Y fvN,Ɂǝn[em=E](WkUiGըN& QE׭3q[qgnwC>-;sYۀi7 *iGzҏU҅oZP0,LFat ZP(ե *Z皣K ݓ;pP-EZP(bҎiŽ皣K ݓ;pP,%GԖ),'v(~QGԗ >O`8j(’liBPzҏv|]>fkccn1ÝvN,ϱt9 ?!/,3@'vcη@y2l֔~޴UZ*37%0J-}(v,SX+vN,CZ>\3q[qgnD-(>vwO3q[qgnUҏQV *޴UF`XLf0羋~ ZP(ե *Z5RXVYۂ}I`Þ-_QF(JliG4rCj>O`8j(=[$)(QF% (Wk>f7>rF:ȷ5.#*y[f9~dц=*ta%(T=nŝ}@tu<}n{xns/8}"1GsY۝Qá#'>?!/,3@J?dܘ y;VmUҏv[֔ZX;4B`ZQuˌ_}<:0:0'veCyc:0EN5`t2jS*taݽGI*iGzҏU҅oZP0,Intn (QJU/m-iB5iBPeJ93_8ۭWlpXI6i6[< 7bh+Q%~ }Nb}Ic+h6U/ HϪeIJ&%ǐ'(n&,uрۛ n(݉D`(fU-(QF% (Wk>f7d ϭ(jiGd?,_C70ta;8x| F,aҖ_[E=E](oZQZPJ^f8ۭ+JERYn(֔(V% 6Xqos9u DX8,K"a.,\yr&n"7] ؚ4JaaER҅liBPzҏv|]>fkcc6sהH-󌭠V?å,CidQ4"K9n_"o89~#;Y fGzJ?9_tHEn0$`:Ro:܌dA:[ɁgovG{"aA9n{e1ú~ycGlC"axh#mjǁ9nv6?&짿s/yt'=E](WkUiGը6Q#0J-}U,%0a.<9EtY7XfKtǁFM%c@0t`}(v.2sFqACX`X ;?<#ʼda f0\P@ Æ (`pp ::/wkq n=yD%GE0h(C 088;sƿvOf}nyD#SJ?'abe<YޡEn0c'@.̜*iGzҏU҅oZP0,M] ZP(ե *ZEE(QťӋ{ϋHW$g]bY qfY7Euam̈́LxnѢV0  F *(eJ[֔~5f7~G~=u<纾;S}JY [S # iȼ!ϧ,@NCL:Rod18&Oklo~?!J?te}Ibj(}nv>>(rכWO8xp!%[󐋠p?8ۭ-O ?\k FD[GK!;|Gr1 ȘK0@ɺ, Fnl%cv&XEn0QTE,ZP*޴]y35u$yyVm+XܟaҖC|K!4 xq(D}yB~n/vsYۜy?[JY ,3I tM(>?[n9Yklom=dܘԭ9܋s[t}~v6?, ulom`YۓJ?[[G/2t[Q#d?,;~ 3f;Q#?aҖCyvc ' yדm@~L;{~Șcr~N[GmOc,!F ;b vGq0o#P߱Na[Ɂ)J?Q{˦<*iGZJ?^EATQk`, q ,ɺ0t`6[< 7bh+ YKGv3  4<@P@F'vUu]O;#c5р2GE0h(C Hx}þ=3]{Nmu$E(::,pA@(  0h$}Ӡta6ч}<[GY fvN,ɓUҏQV *޴UF`X8&%iBPV(_Qk ݓ;rj(j҄FsN-g,3@ xVYۓ JQť BJ?Uϭti҇aҖC|K!4nŝϧ?P)PY f̞֔~޴UZ٧JҏWkzGw,3gm:}<[JY ,3@'v*iGzҏU҅oZP0,Hx40$(J҄F(QT֣K ?EKQEE(QťӋ{}Ib٧J&-ER_Q%~ Q%B,SX6FfMCZ>J>O`ڕ?EKI (eJ[֔~1;t2ye͔Yt}np5u>#ֺ|}n%=2Ζ֔~޴UZ*37%0J-iGE(?EjTfnHP,x#ͩQ)peCsc,l̳GAvUZ٧JҏWkž?xCf9}/(,g;]֔(E](QV 3ă!BV% 5iBRXxP-Ej҄FsN-gQ%~f(}I}GԖ),0?EK RXmJ}I~}Ib*37$(~QGԖ$@$)(QF% (Wk bweO$eCs۩O>f7>GCs**iGZJ?^ER3rS֔XR,SX6Ffj('==[ڕv_t>9/:iG΃с**iGըN& QEuх= P,3|8sΞHx9f7:FJ?QWkJUiBPiBP%[X8{tJմ[^H,Hُ|ͦ:ĀQ=Wn JҏVjZe=U} 7bh`#M4?5i-%`%,8hJ*]bvYLx!bL@JSTK`49n?jCBęNj*]bi%c e:V { }/ERŢj+mj+dJ+hU BPV I%IMO%`!bYnCDN0$J$eɕ,"Hˌ$$$4` @Oq (Z5iB.6"E7Lz҄? k, $j75`6$WB./usr/IBMVJava/html/enterp/en_US/dax/ref/_package_._class__mi.htmluibe$$ Class <Package>.<Class>DataIdManager

Class <Package>.<Class>DataIdManager

java.lang.Object
   |
   +----com.ibm.ivj.eab.dab.DAManager
           |
           +----<Package>.<Class>DataIdManager

public class <Class>DataIdManager
extends DAManager

This class manages a collection of <class>DataId objects, and provides methods for querying the table mapped to the <class>, opening a cursor on the collection, and deleting and updating rows in the collection. This class is generated only if the mapping has a DataId specified for it.


Constructor Index

<Class>DataIdManager()
This default constructor creates <class>DataIdManager object.
<Class>DataIdManager(DatastoreJDBC)
This constructor lets you specify a datastore for the DataId manager object.

Method Index

deleteFetched()
This method deletes a row in the table corresponding to the current fetched (cached) DataId.
element()
Use this method to return the current fetched object.
getCurrentDatastore()
Use this method to return the current datastore for the current <class>DataIdManager object.
newElement()
Use this method to return a new  <Class>DataId object.
open(String)
Use this method to select DataIds from the table, as specified in the passed-in SQL query, and then open a cursor at the first item in the internal sequence of DataIds selected.
open<UDM>([<ParameterType>,...])
If you defined a user-defined method in the Manager Methods dialog, then use this method to open a cursor on the collection of DataIds that the user-defined method selects.
select(String)
Use this method to retrieve the collection DataIds specified in the passed-in SQL SELECT predicate, from the table mapped to the current <class>.
select<UDM>([<ParameterType>,...])
If you defined a user-defined method in the Manager Methods dialog, then use this method to retrieve the collection of DataIds that the user-defined method selects into memory.
updateFetched()
This method updates a row in the table corresponding to the fetched (cached) DataId.


Constructors

<Class>DataIdManager

 public <Class>DataIdManager()
This default constructor creates <class>DataIdManager object. Its current datastore is the class-level default datastore.

<Class>DataIdManager

 public <Class>DataIdManager(DatastoreJDBC aDatastore)
This constructor lets you specify a datastore for the DataId manager object.
Parameters:
aDatastore - a DatastoreJDBC object specifying the datastore object you want to use for this DataId manager object.


Methods

select

 public void select(String sqlSuffix) throws DAException
Use this method to retrieve the collection DataIds specified in the passed-in SQL SELECT predicate, from the table mapped to the current <class>. If you pass in nothing, it will select all the DataIds in the table. The database cursor opened in the process of the select is closed at the end.
Parameters:
sqlSuffix - the SQL predicate specifying which DataIds you want to select from the table (for example,"WHERE column = x"), or how you want the DataIds presented in the internal sequence (for example, "ORDER BY column").
Throws: DAException
with message ID "NO_CONNECT_EXIST" if no datastore connection exists. If the exception occurred because of an SQL problem, then the exception has message ID "SELECT_FAILED" and contains the SQL exception object.
Overrides:
select in class DAManager

select<UDM>

 public void select<UDM>([<ParameterType> a<Parameter>,...]) throws DAException
If you defined a user-defined method in the Manager Methods dialog, then use this method to retrieve the collection of DataIds that the user-defined method selects into memory.
Parameters:
[a<Parameter>] - all the parameters specified in the user-defined method definition.
Throws: DAException
with message ID "NO_CONNECT_EXIST" if no datastore connection exists. If the exception occurred because of an SQL problem, then the exception has message ID "SELECT_FAILED" and contains the SQL exception object.

open

 public void open(String sqlSuffix) throws DAException
Use this method to select DataIds from the table, as specified in the passed-in SQL query, and then open a cursor at the first item in the internal sequence of DataIds selected. Using other DataIdManager methods, you can then cursor through the sequence and manipulate the data in the objects. If a cursor is already open when you call the open method, that that cursor will be closed before the new one is opened. You can use this to reset the pointer to the first item in the internal sequence after a series of fetches. If you pass in nothing, the cursor is opened on all the DataIds from the table.
Parameters:
suffix - the SQL predicate specifying which DataIds you want to select from the table (for example,"WHERE column = x"), or how you want the DataIds presented in the internal sequence (for example, "ORDER BY column").
Throws: DAException
with message ID "NO_CONNECT_EXIST" if there is no database connection made; or "OPEN_FAILED", along with an SQL exception, if a database problem threw the exception.
Overrides:
open in class DAManager

open<UDM>

 public void open<UDM>([<ParameterType> a<Parameter>,...]) throws DAException
If you defined a user-defined method in the Manager Methods dialog, then use this method to open a cursor on the collection of DataIds that the user-defined method selects.
Parameters:
[a<Parameter>] - all the parameters specified in the user-defined method definition.
Throws: DAException
with message ID "NO_CONNECT_EXIST" if there is no database connection made; or "OPEN_FAILED", along with an SQL exception, if a database problem threw the exception.

deleteFetched

 public void deleteFetched() throws DAException
This method deletes a row in the table corresponding to the current fetched (cached) DataId.
Throws: DAException
with message ID "NO_CONNECT_EXIST" if there is no database connection made; or "CURSOR_NOT_OPEN" if no cursor is open; or "ROW_NOT_FETCHED" if there is no fetched DataId (that is, the current DataId is not fetched, or has been fetched into an object); or "METHOD_FAILED", along with an SQL exception, if a database problem threw the exception.
Overrides:
deleteFetched in class DAManager

updateFetched

 public void updateFetched() throws DAException
This method updates a row in the table corresponding to the fetched (cached) DataId. The attributes of the current <class> object are used to update the row's fields.
Throws: DAException
with message ID "NO_CONNECT_EXIST" if there is no database connection made; or "CURSOR_NOT_OPEN" if no cursor is open; or "ROW_NOT_FETCHED" if there is no fetched DataId (that is, the current DataId is not fetched, or has been fetched into an object); or "METHOD_FAILED", along with an SQL exception, if a database problem threw the exception.
Overrides:
updateFetched in class DAManager

element

 public <Class>DataId element()
Use this method to return the current fetched object.
Returns:
the current fetched object, if there is one, in a <class>DataId object.

newElement

 protected DataAccessObject newElement()
Use this method to return a new  <Class>DataId object.
Returns:
a new <class>DataId object in a DataAccessObject.
Overrides:
newElement in class DAManager

getCurrentDatastore

 public DatastoreJDBC getCurrentDatastore()
Use this method to return the current datastore for the current <class>DataIdManager object. This datastore will be used for database transactions on the object.
Returns:
the DatastoreJDBC object that is the current datastore for the object. Returns the object's datastore, unless that is null; if the object's datastore is null, it returns the class default datastore unless that is also null; if both object and default datastores are null, it returns the application datastore.
Overrides:
getCurrentDatastore in class DAManager

pti khT $k75`6$@B./usr/IBMVJava/html/enterp/en_US/dax/ref/_package_._class_dataidmanager_mi.html$$ Class <Package>.<Class>Datastore

Class <Package>.<Class>Datastore

java.lang.Object
   |
   +----com.ibm.ivj.eab.dab.DatastoreJDBC
           |
           +----<Package>.<Class>Datastore

public class <Class>Datastore
extends DatastoreJDBC
implements Serializable

Objects of this class represent datastore connections for <class> objects.


Constructor Index

<Class>Datastore()
This default constructor sets the driver and URL to the database you specified in the mapping.
<Class>Datastore(String)
This constructor sets the URL to the database you specified in the mapping and the driver to the passed-in string.

Method Index

setAsDefaultDatastore()
Use this method to set the default datastore for the <class> to the current datastore.


Constructors

<Class>Datastore

 public <Class>Datastore()
This default constructor sets the driver and URL to the database you specified in the mapping. You can use the setURL method to change the URL after constructing the object. If the default datastore for the current <class>is null, then this constructor sets the default datastore to this <class>Datastore object.

<Class>Datastore

 public <Class>Datastore(String driver)
This constructor sets the URL to the database you specified in the mapping and the driver to the passed-in string. You can use the setURL method to change the URL after constructing the object. If the default datastore for the current <class> is null, then this constructor sets the default datastore to this <class>Datastore object.
Parameters:
driver - a String indicating the driver to use for the connection.


Methods

setAsDefaultDatastore

 public void setAsDefaultDatastore()
Use this method to set the default datastore for the <class> to the current datastore.

="right k $k75`6$`B./usr/IBMVJava/html/enterp/en_US/dax/ref/_package_._class_datastore_mi.htmlml$$ Class com.ibm.ivj.eab.dab.DAException

Class com.ibm.ivj.eab.dab.DAException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----com.ibm.ivj.eab.dab.DAException

public class DAException
extends Exception

This class is for exceptions thrown by Data Access Builder and its generated code.


Constructor Index

DAException(String)
Class constructor.
DAException(String, SQLException)
Class constructor.
DAException(String, String)
Class constructor.
DAException(String, String, SQLException)
Class constructor.

Method Index

getExtendedInfo()
This method returns extended exception information, if any was passed to the current DAException object.
getId()
This method gets the String message ID for the current DAException object.
getProperty()
This method returns the name of the property (attribute) that caused the DAException to occur.
getSQLException()
This method gets the SQL Exception object that is associated with the current DAException object.

Constructors

DAException
 public DAException(String id)
Class constructor. Creates an exception with the specified message ID.

Parameters:
id - The message ID for the exception.
DAException
 public DAException(String id,
                    SQLException exc)
Class constructor. Creates an exception with the specified message ID and an SQL Exception.

Parameters:
id - The message ID for the exception.
exc - SQL Exception associated with this exception.
DAException
 public DAException(String id,
                    String append)
Class constructor. Creates an exception with the specified message ID and a string to append to the message text (and no associated SQL Exception).

Parameters:
id - The message ID for the exception.
append - String to be appended to the message text.
DAException
 public DAException(String id,
                    String append,
                    SQLException exc)
Class constructor. Creates an exception with the specified message ID, a string to append to the message text, and an SQL Exception.

Parameters:
id - The message ID for the exception.
append - String to be appended to the message text.
exc - SQL Exception associated with this exception.

Methods

getId
 public String getId()
This method gets the String message ID for the current DAException object.

Returns:
the String representing the message that corresponds to the DAException object.
getProperty
 public String getProperty()
This method returns the name of the property (attribute) that caused the DAException to occur. For example, if you tried to set a non-nullable attribute to null, then this will return the name of that attribute.

Returns:
the String representing the property that caused the exception, or null if no specific property was associated with it.
getExtendedInfo
 public Object getExtendedInfo()
This method returns extended exception information, if any was passed to the current DAException object.

Returns:
the SQLException object, or null if none was thrown
getSQLException
 public SQLException getSQLException()
This method gets the SQL Exception object that is associated with the current DAException object.

Returns:
the SQLException object, or null if none was thrown

ame= k^ $7l75a6$PC7./usr/IBMVJava/html/enterp/en_US/dax/ref/com.ibm.ivj.eab.dab.daexception_mi.htmltmll$$ Class com.ibm.ivj.eab.dab.PODataId

Class com.ibm.ivj.eab.dab.PODataId

java.lang.Object
   |
   +----com.ibm.ivj.eab.dab.PODataId

public abstract class PODataId
extends Object
implements Cloneable, Serializable

This abstract class is the base class for objects that uniquely identify rows in tables.


Constructor Index

PODataId()
This constructor creates a PODataID object.

Method Index

addPropertyChangeListener(PropertyChangeListener)
Use this method to register a listener for property changes.
clone()
This method allows a class that implements PODataID to use the clone method.
removePropertyChangeListener(PropertyChangeListener)
Use this method to remove the property change listener on the PODataId.
toString()
This method, when implemented in a subclass (such as <class>DataId, which is generated by Data Access Builder), returns a string made up of any of the object's attributes for which you selected IsDisplayed in the Attribute Properties dialog.
toString(String)
This method, when implemented in a subclass (such as <class>DataId, which is generated by Data Access Builder), returns a string made up of any of the object's attributes for which you selected IsDisplayed in the Attribute Properties dialog.

Constructors

PODataId
 public PODataId()
This constructor creates a PODataID object.


Methods

clone
 public abstract Object clone()
This method allows a class that implements PODataID to use the clone method.

Overrides:
clone in class Object
addPropertyChangeListener
 public void addPropertyChangeListener(PropertyChangeListener l)
Use this method to register a listener for property changes.

Parameters:
l - a PropertyChangeListener to listen for property changes.
removePropertyChangeListener
 public void removePropertyChangeListener(PropertyChangeListener l)
Use this method to remove the property change listener on the PODataId.

Parameters:
l - the PropertyChangeListener you wish to remove.
toString
 public abstract String toString()
This method, when implemented in a subclass (such as <class>DataId, which is generated by Data Access Builder), returns a string made up of any of the object's attributes for which you selected IsDisplayed in the Attribute Properties dialog.

Returns:
a String containing the attributes specified for display.
Overrides:
toString in class Object
toString
 public abstract String toString(String aseparator)
This method, when implemented in a subclass (such as <class>DataId, which is generated by Data Access Builder), returns a string made up of any of the object's attributes for which you selected IsDisplayed in the Attribute Properties dialog.

Parameters:
aseparator - a string used to separate the toString representation of each attribute.
Returns:
a String containing the attributes specified for display.

ePr k꺁 $n75a6$PC./usr/IBMVJava/html/enterp/en_US/dax/ref/com.ibm.ivj.eab.dab.podataid_mi.htmli$$ Package Package

All Packages

package <Package>

Class Index

<Class>
<Class>DataId"><Class>DataId
<Class>DataIdManager"><Class>DataIdManager
<Class>Datastore"><Class>Datastore
<Class>Manager"><Class>Manager
ifie k" $n7 I6a6$PG./usr/IBMVJava/html/enterp/en_US/dax/ref/package-com.ibm.ivj.eab.dab.htmltmli$$ Package com.ibm.ivj.eab.dab

All Packages

package com.ibm.ivj.eab.dab

Class Index

DAIOStream
DAManager
DatastoreJDBC
PODataId
PersistentObject

Exception Index

DAException
 kI $'n7FI6a6$H'./usr/IBMVJava/html/enterp/en_US/dax/ref/rxnlinks.htmbm$$ Data Access Class Library and Generated Code

Data Access Class Library and Generated Code

The Data Access classes enable you to connect to databases, map database tables to objects, and work with the data inside the databases by using object-oriented programming. The base classes in the Data Access Class Library provide generic methods for accessing and manipulating database information, interacting with other builders, handling messages and exceptions, and working with large objects. The generated classes extend the base classes and implement operations tailored for specific situations, as you define them in the main Data Access Builder window. In most cases, you will use the generated classes in your data access applications.

Reference Library Notation
In all documentation for generated code, the notation <class> represents the name of the Data Access class for which you are generating code. The notation <package> represents the name of the package in which the generated classes are located. The notation <attribute> represents any one of the class' attributes, as mapped from the database table or view (corresponding to a column from the table), and <attrType> represents that attribute's type.

Also, square brackets enclosing one or more parameters in a method's signature indicate that the parameters are repeated to include all attributes of the object. For example,

public <class>([<attrType> an<Attribute>, ...]) throws DAException

Here, the parameter list will be a list of each attribute (and its type) mapped from the table to the object.

When a method name includes <attribute>, it means that the generated code will include an implementation of that method for each attribute that the class has. For example, if <class> has two attributes, Attr1 and Attr2, and set<attribute> is one of the generated methods for <class>, then two methods, setAttr1 and setAttr2 will be generated.

Data Access Class Library Reference
The Data Access Class Library contains the following classes. They belong to the package com.ibm.ivj.eab.dab. Click on the name of the class to access class member reference information.

Class Name Description
DatastoreJDBC Manages database connections, providing client connection to the database, disconnection from the database, and the ability to commit and roll back database transactions.
PersistentObject Provides interfaces for adding, deleting, retrieving, and updating a row from a table.
PODataId Base class for objects that uniquely identify rows in tables
DAManager Provides the ability to work with a collection of rows from a table, and facilitates movement through a collection of rows via a database cursor.
DAIOStream Used for handling Large Object (LOB) input and output by using streams.
DAException Defines exceptions thrown by the Data Access Builder and its generated code.
Data Access Property Editor classes A group of classes that let you use a GUI to edit the property values for a variety of data types. Useful when writing apps with the Visual Composition Editor.

Note:  To support compatibility for applications built with previous versions of VisualAge for Java, these classes are also shipped in a package called COM.ibm.ivj.eab.data.  For new development, use the classes in com.ibm.ivj.eab.dab.

Data Access Generated Classes Reference
Data Access Builder generates the following classes. Click on the name of the class to access class member reference information.

Class and an Example Description
<class>Datastore
e.g.
EmployeeDatastore
Extends DatastoreJDBC. Objects represent connections to the database.
<class>
e.g.
Employee
Extends PersistentObject. Objects represent rows from the schema. Class contains database access methods, including any user-defined methods you have defined.
<class>DataId
e.g.
EmployeeDataId
Extends PODataId. Objects represent the set of columns that uniquely identify a row. This class is only generated if the mapping specifies a data ID column or columns.
<class>Manager
e.g.
EmployeeManager
Extends DAManager. Enables you to select a collection of rows from the table and work with them, or to open a database cursor and access a collection of rows one at a time. Contains any user-defined manager methods you have defined.
<class>DataIdManager
e.g. EmployeeDataIdManager
Extends DAManager. Enables you to select a collection of Data IDs from the table and work with them, or to open a database cursor and access a collection of Data IDs one at a time. This class is only generated if the mapping specifies a data ID column or columns.
BeanInfo Classes
e.g.
EmployeeBeanInfo
Enable builders, such as the Visual Composition Editor, to use the Data Access classes by notifying the builder when an object's properties change. You will not need to use the methods in these classes directly.
Form Classes
e.g.
EmployeeForm
Ready-to-use GUI parts that will run the basic functions of your generated classes. You can import these into builders such as the Visual Composition Editor for use in your own applications.
AccessApp
e.g.
EmployeeAccessApp
Executable java class that will run the basic functions of your generated classes. With its simple GUI, you can use the generated classes to connect to datastores and manipulate data. You can use the AccessApp as an applet or application. It is useful for demonstrating your database, for testing your generated classes, or for using as a final data access solution.


Rapid Application Development Features
Generated Methods
Read-Only Considerations
Null Value Considerations
Events and Property Changes
Background Threads
Data Access Classes in the Visual Composition Editor


Test Generated Code with AccessApp
Extend Generated Classes with Your Own Classes
Connect and Disconnect
Commit and Roll Back
Access Large Objects (LOBs)
Retrieve Rows from the Database


File Naming Conventions and Package Structure
Datastore Transaction Scenarios
Datastores: Application, Default, Object, and Current
Exception Messages

th= kX# $ n7 I6a6$H ./usr/IBMVJava/html/enterp/en_US/dax/ref/tree.htmltmbm$$ Class Hierarchy (Data Access Classes)


Class Hierarchy (Data Access Classes)

  • class java.lang.Object
    • class com.ibm.ivj.eab.dab.DAIOStream (implements java.lang.Cloneable, java.io.Serializable)
    • class com.ibm.ivj.eab.dab.DAManager (implements java.io.Serializable)
    • class com.ibm.ivj.eab.dab.DatastoreJDBC (implements java.io.Serializable)
    • class com.ibm.ivj.eab.dab.PODataId (implements java.lang.Cloneable, java.io.Serializable)
      • class <Package>.<Class>DataId (implements java.lang.Cloneable, java.io.Serializable)
    • class com.ibm.ivj.eab.dab.PersistentObject (implements java.lang.Cloneable, java.io.Serializable)
      • class <Package>.<Class> (implements java.lang.Cloneable, java.io.Serializable)
    • class java.lang.Throwable (implements java.io.Serializable)
      • class java.lang.Exception

g speci k)E$ n7nL6e6$ R ./usr/IBMVJava/html/enterp/en_US/debug390/ui/ubmeoele.htmvj.eab$$ Other Elements (OS/390)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Other Elements (OS/390)

If an array, or object in a monitor contains more than 50 elements, only 50 elements are displayed at a time. By default, the first 50 elements are displayed. To display a different range of elements, select Edit->Other elements (or select Other elements from the monitor popup menu), and enter the number of the first element to display.

You can change the default maximum of 50 elements to a different maximum by setting the IVJ_DBG_NUMBEROFELEMENTS environment variable on the local workstation before starting the debugger daemon.

In a Java class object, elements are listed in declaration order, regardless of their access specifier (private, protected or public).

The 50-element limit applies to each level within an array or a Java class object. For example, if a Java class contains 100 member variables and the first variable is a 60-element array, the debugger displays the name of the array only (with a "+" to its left so that you can expand it) and the next 49 elements of the Java class object. When you expand the array, the debugger displays the first 50 elements of the array, and the next 49 elements of the Java class object. To view more elements of the array, position the pointer on the array name and select Other elements. To view more elements of the Java class object, position the pointer on the object name and select Other elements.

 kp$6n7z5h6$ `6./usr/IBMVJava/html/enterp/en_US/debug400/ref/rb4optol.htmj.eab$$ OPM Compiler Options for CL, COBOL, and RPG (AS/400)

OPM Compiler Options for CL, COBOL, and RPG

Programs written in OPM COBOL or OPM RPG need to be compiled with either the *SRCDBG or the *LSTDBG option to be debuggable in the ILE environment.

Programs written in OPM CL need to be compiled with the *SRCDBG option.

 

"> kd$On7 Locate Source Code Written in C++ (AS/400)

Locate Source Code Written in C++

When you compile C++ source code with the /Ti+ or the /Tis+ option, the compiler stores the name of the source file and its directory path in the module object.

When you ask to display the source file, the debugger tries to find the file, using the directory path and filename that was captured when the program was compiled. The debugger searches for the file in this order:

  1. In the directory path that was stored when the module was compiled.
  2. In the directory where the last file, if any, was found.
  3. In the directories defined in the Source Path environment setting.

If the file is not found in any of these directories, you will be prompted for the name of the file. If the source file is not available, click on the Cancel push button on the file prompt and a different view will be used.


Compiling a Program


Locate Source Code written in Java
Locate Source Code written in ILE or OPM Languages


Debugger Environment Settings

p kꂻ$o7@5h6$ 0./usr/IBMVJava/html/enterp/en_US/debug400/tasks/tb4locio.htmeab$$ Locate Source Code Written in ILE/OPM Languages (AS/400)

Locate Source Code Written in ILE/OPM Languages

Note: The following applies to source code written in AS/400 languages other than C++ or Java.

When you compile ILE (C, CL, COBOL, and RPG) modules, or OPM (CL, COBOL, RPG) programs, the name of the AS/400 source member is stored in the module or program object. When you ask to display the source for a module or program, the debugger attempts to read the information from the AS/400 source member used to create the module or program.

If the source member is not found, the debugger builds a name using the module name or program name and a file extension based on the language. The file extensions used are as follows:

C
For ILE C language modules
CBL
For ILE COBOL language modules
CL
For ILE CL language modules.
RPG
For ILE RPG language modules

The debugger searches for the file in this order:

  1. In the directory where the last file, if any, was found.
  2. In the directories listed in the Source Path environment setting.

If the file is not found, you are prompted to enter the name of the file. If you do not have the source available, click on the Cancel push button on the file prompt and a different view will be used.


Locate Source Code Written in C++
Locate Source Code Written in Java


Debugger Environment Settings

r  kC$o7 Locate Source Code Written in Java (AS/400)

Locate Source Code Written in Java

When you ask to display the source for a Java class, the debugger tries to locate the source as follows:

  1. It searches for a file that has the same IFS location and filename as the class file, but with the extension .java.
  2. It searches the path specified in the Source Path environment setting.
  3. It prompts you for the name of the file.

If you want to override the source location to another IFS drive, you must first map the network drive to your PC, and specify the location from the view of the PC, for example:   

mapped-drive-letter:\path\filename.ext

If the source file is not available, press the Cancel push button on the file prompt and a statement view will be displayed.


Compiling a Program


Locate Source Code written in C++
Locate Source Code written in ILE or OPM Languages


Debugger Environment Settings

2 k~7 $xo7 Locate Source Code (AS/400)

Locate Source Code

How the debugger locates source code depends on whether the source was written in C++, Java, or any of the ILE or OPM languages.


Locate Source Code written in C++
Locate Source Code written in Java
Locate Source Code written in ILE or OPM Languages

 kꜗ/$ o7nL6i6$ ./usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4apwin.htmtmeab$$ Add Program Dialog (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Add Program Dialog

Use the Add Program dialog to specify the type and the name of the program or java class that you want to add to the list of programs to be debugged. Programs to debug must include at least one module that has been compiled with debug data. Java classes must be compiled with debug data.

Specify the type of program you want to add by selecting one of the following radio buttons.

Program
Enable this radio button if you are adding a program (*PGM) to the list of programs being debugged.
Service Program
Enable this radio button if you are adding a service program (*SRVPGM) to the list of programs being debugged.
Java Class
Enable this radio button if you are adding a Java program to the list of programs being debugged.

Specify the name of the program or Java class that you want to add to the list of programs being debugged in the Program Name entry field. The program name can be in any of the following formats:

  • Library/program
  • *LIBL/program
  • *CURLIB/program
  • Program (same as *LIBL/program)

Note: Adding a program that has multiple modules with the same name is not supported and will result in an error message being displayed.


Authorities for Debugging
Compile with Debug Data

  k&8$Ko7PpL6i6$ 0K./usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4dbmrb.htmtmeab$$ Invocation Mode Radio Buttons (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Invocation Mode Radio Buttons

Select one of the Invocation mode radio buttons in the Startup Information dialog to specify in which mode you want to invoke the debugger. You can choose from the following settings:

Default
Select this setting to debug non-threaded applications (except Java applications).
Java
Select this setting to debug all Java applications.


Invoke the Debugger


Start the Debugger for a Threaded Application


Threads Debugging

to a kg9$So7pL6i6$ 0S./usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4denv.htmtmeab$$ Debugger Environment (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Debugger Environment

Use the Debugger Environment notebook page to modify the following debugger environment settings:

Click on the Apply push button followed by the Cancel push
button to enable the new debugger environment settings for the
current debug session only.

Click on the OK push button to save the new settings for the
current debug session, and to enable them for future sessions.


Debugger Environment Default Settings

to th k?$o7mL6i6$ 0./usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4host.htmtmeab$$ Host Name (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Host Name

Specify the name of the AS/400 on which you want to run the application to be debugged in the Host Name entry field of the Debugger Environment page of the Debugger Environment Options notebook. You can enter the host name in one of the following formats:

  • An IP address, such as 9.99.99.99
  • A hostname which is defined in your local host table or on a name server to which you link, such as name.name.name.com

To determine the IP address of your AS/400, type GO CFGTCP on an AS/400 command line, and choose menu option 12 = Change local domain and host names. (Be careful not to change the local domain name and hostname when you use this option.)


Specify the Name of the Debug Host


Debugger Environment Settings

eld. T k.@$3 o7nL6i6$ 3 ./usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4javae.htmtmeab$$ Java Environment (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Java Environment

Use the Java Environment page in the Debugger Environment Options notebook to specify all AS/400 environment variables and their values for the job in which the Java Virtual Machine will run on the AS/400.

The CLASSPATH variable is mandatory. It defaults to /QJAVA/.

Note: AS/400 environment variable names and values may not contain blanks. The environment variable value may not be an empty string.

To add a new AS/400 environment variable proceed as follows:

  1. Enter the name of the variable in the Variable Name entry field.
  2. Enter the value for the variable in the Variable Value entry field.
  3. Click on the Set push button to set the variable and its value.

To modify an existing AS/400 environment variable proceed as follows:

  1. Select an existing variable from the container.
  2. Change the existing value for the variable in the Variable Value entry field.
  3. Click on the Set push button to set the variable and its value.

To delete an existing AS/400 environment variable proceed as follows:

  1. Select an existing property from the container.
  2. Click on the Delete push button to delete the variable and its value.


Debugger Environment Default Settings

/ k|A$ o7.oL6i6$ ./usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4javap.htmtmeab$$ Java Properties (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Java Properties

Use the Java Properties page of the Debugger Environment Options notebook to specify property names and values that will be passed to the Java Virtual Machine. These can be retrieved by the Java program running on the AS/400. (See your Java documentation for more information.)

Note: Property names and values may not contain blanks. The property value may not be an empty string.

To add a new property proceed as follows:

  1. Enter the name of the property in the Property Name entry field.
  2. Enter the value for the property in the Property Value entry field.
  3. Click on the Set push button to set the property and its value.

To modify an existing property proceed as follows:

  1. Select an existing property from the container.
  2. Change the existing value for the property in the Property Value entry field.
  3. Click on the Set push button to set the property and its value.

To delete an existing property proceed as follows:

  1. Select an existing property from the container.
  2. Click on the Delete push button to delete the variable and its value.


Debugger Environment Settings

1  k Q$p70oL6i6$ @&./usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4path.htmtmeab$$ Source Path (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Source Path

Use the Source Path entry field on the Debugger Environment page of the Debugger Environment Options notebook to specify the paths the debugger should search to locate source code that resides on the workstation. Multiple paths must be separated by semicolons.


Debugger Environment Settings

 k/T$.p7 qL6i6$ 02../usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4port.htmtmeab$$ Port Number (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Port Number

You need to specify the port number only if you want to connect to the AS/400 using a port other than the default port.

Use the Port number entry field of the Debugger Environment page of the Debugger Environment Options notebook to specify the port permanently used by the AS/400 debug server.

Note: For the initial connection to a port other than the default port, you must specify the port number in the AS/400 Logon dialog.

Enter a value between 1 and 64,767 that matches the port number specified for the QDBGSVR entry on the AS/400.

By default, the port number is set to 3001.


Debugger Environment Settings

g4 k &_$p7mL6i6$ @j./usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4tabs.htmtmeab$$ Tab Settings (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Tab Settings

Use the Tab Settings entry field on the Debugger Environment page of the Debugger Environment Options notebook to expand control characters to a specific number of spaces corresponding to the Tab settings you used in your editor. Enter a value between 1 and 64, inclusive.

The default setting is 8.


Debugger Environment Settings

. Threaded Job Message Dialog (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Threaded Job Message Dialog

The Threaded Job message dialog informs you that the debugger has detected multiple threaded jobs running under your user profile, waiting to be debugged.

Use this dialog to indicate whether you want to debug this job, release this job and allow it to run, or ignore this job and go to the next job waiting to be debugged. Select one of the following push buttons:

Debug
Debug this job
Release
Allow this job to run without debugging it. If this job, in turn, spawns another job with support of native threads, you will be able to debug a threaded application running in the newly spawned job.
Ignore
Skip to the next threaded job that was started under debug mode. This allows you to select a specific threaded job waiting to be debugged.
Cancel
Terminate this debug session and display the Startup Information dialog
Help
Display help information for this window.


Invoke the Debugger
Start the Debugger for a Threaded Application


Threads Debugging

/ khb$p7oL6i6$ @w./usr/IBMVJava/html/enterp/en_US/debug400/ui/ub4updpr.htmtmeab$$ Update Production Files (AS/400)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Update Production Files

Select the Update Production Files check box in the Debugger Environment page of the Debugger Environment Options notebook to specify whether database files in a production library can be opened for updating or adding records.

If you do not select this choice, production files will not be updated, and you will run into an exception when the program tries to access the files.

The default is not to update production files.


Debugger Environment Settings

This a kꖠ$bp7oL6j6$ @Eb./usr/IBMVJava/html/enterp/en_US/debug400/ui/ubdialog.htmtmeab$$ Debugger Dialogs
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Debugger Dialogs

You can get to help on the following debugger dialogs from here:

See also the following main help pages:

2"> Source Filename Dialog
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Source Filename Dialog

The Open dialog is displayed when you try to debug a component that contains debug data for which the source code cannot be located. To respond to this dialog, do one of the following:

  • If your source is located on your workstation, but in a different directory than it was at compile time, type the path.
  • If you do not have the source for this component, click Cancel. If a *Listing view is available, it will be selected. Otherwise, a *Statement view is displayed.

T kh^$- p7pL6k6$ - ./usr/IBMVJava/html/enterp/en_US/debug400/ui/ubuscmpp.htmtmeab$$ Using the Components Pane
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Using the Components Pane

You can expand any item in the Components pane that has a "+" beside it. The following list shows what items you can expand, and what items appear when you do:

Item with +
Expands to
Program object
Modules contained within a program object.
Module
A list of source files used to compile the module, if more than one source file was used. Otherwise, the module expands to the procedures defined in the source file.
Note:
OPM entries in the Components pane are treated like single-module ILE programs, with the module expandable to a single procedure.
Java entries in the Components pane are shown as single-module programs, with the module expandable to all methods.
Source file
(C++ only): File-scope functions and class member functions defined within each source file. C++ class member functions are not shown.

To shift the focus within the Session Control window between the Threads and Components panes, use the pointer or the cursor left and right keys. To move between items in the list, use the mouse or the cursor up and down keys. To expand or collapse items in the list, use the + and - keys.

To open or raise the focus of the Source window for a program object, a module, or a procedure, double-click on the item, or highlight it and press Enter.

To access the popup menu for a procedure, select that procedure and click mouse button 2 . This menu lets you view the source code for the procedure.

You specify which modules and procedures display in the Components list by selecting Options->Window settings->Display style->Show all components. When this choice is enabled, all modules and procedures are listed. Otherwise, only modules and procedures compiled with debug data are listed.

 

 k$ p7&nL6o6$  ./usr/IBMVJava/html/enterp/en_US/debugwks/ui/ubmeoele.htmtmeab$$ Other Elements (AIX, OS/2, and Windows)
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Other Elements (AIX, OS/2, and Windows)

If an array, structure, or Java class object in a monitor contains more than 50 elements, only 50 elements are displayed at a time. By default, the first 50 elements are displayed. To display a different range of elements, select Edit->Other elements (or select Other elements from the monitor popup menu), and enter the number of the first element to display.

You can change the default maximum of 50 elements to a different maximum by setting the IVJ_DBG_NUMBEROFELEMENTS environment variable on the local workstation before starting the debugger.

In a Java class object, elements are listed in declaration order, regardless of their access specifier (private, protected or public).

The 50-element limit applies to each level within an array or a Java class object. For example, if a Java class contains 100 member variables and the first variable is a 60-element array, the debugger displays the name of the array only (with a "+" to its left so that you can expand it) and the next 49 elements of the Java class object. When you expand the array, the debugger displays the first 50 elements of the array, and the next 49 elements of the Java class object. To view more elements of the array, position the pointer on the array name and select Other elements. To view more elements of the Java class object, position the pointer on the object name and select Other elements.

 k5$ p7FI6p6$ ,B ./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hbusob.htmmeab$$ Business Objects

Business Objects

A business object makes core logic portable to execution environments. You can use a business object to map many different host interactions with many different host resources.

A business object is an object that implements the BusinessObject interface. A business object can also contain any number of Java properties. There are two types of business objects.

  • Managed business objects

A managed business object contains a key. A key is a class that includes a set of the business object's Java properties. It is also valid to have a managed business object with a key that contains none of the properties of the object. The Enterprise Access Builder run time manages instances of business objects, allowing only one instance of a business object with the same key. If the key contains none of the properties of the business object, this business object is referred to as a singleton, meaning only one instance of the class can exist at any one time. The key object is a class supplied as part of the business object framework.

  • Unmanaged business objects

An unmanaged business object is a class that implements the BusinessObject interface, but, like a normal Java class, has no key object.

Business objects interact with Commands or Navigators. This interaction consists of the exchange of data between the business object and the record data contained in the Commands. This interaction is defined through mappers; for more information, see the topic Mappers.

ngrelc.gif (533 bytes)
Enterprise Access Builder: Overview
Mappers

ngrelt.gif (466 bytes)
Accessing Enterprise Data: Overview
Creating a Managed Business Object
Creating an Unmanaged Business Object
Mapping Between a Business Object and a Record Bean

"(D4 kp$rq7FI6p6$dr./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hcicsc.htmmeab$$ CICS Connector

CICS Connector

The CICS Connector includes the CICS Transaction Gateway and provides a powerful way to access CICS servers from the Internet. The CICS Connector combines the Java programming environment with the power, high integrity, robustness, and flexibility of CICS to bring open, easy, access from the Internet to CICS applications running on a wide variety of platforms.

The CICS Connector classes include a CICS ConnectionSpec, an External Call Interface (ECI) InteractionSpec, and an External Presentation Interface (EPI) InteractionSpec.

An applet or servlet uses the CICS Connector classes to access the CICS Transaction Gateway over TCP/IP using its own protocol, or HTTP, HTTPS, or SSL. If running on the same Web server, the applet or servlet uses the Gateway-specific local protocol. The CICS Transaction Gateway, a Java application residing on the Web server, uses the CICS Universal Client to communicate with the CICS server. The Gateway can communicate with CICS servers either on the same processor or across a TCP/IP, SNA, or NetBIOS link. It can concurrently manage many communication links to connected Web browsers, and can control asynchronous conversations to multiple CICS servers. The multithreaded architecture of the CICS Transaction Gateway enables a single Gateway to support multiple concurrently connected users.

How Clients and Servers Communicate Using the CICS Connector
For a CICS client to make a call to a CICS gateway, the client must do the following:

  1. Create an instance of a CICS connection specification defining the location of the CICS Transaction Gateway and the name of the CICS server to which the Gateway will connect.
    You would create multiple connection specification for different Gateways and CICS servers.
  2. Create an instance of a CICS interaction specification describing the call to be made to the CICS server.
  3. Create a data object to pass input and output between the applet or servlet and the CICS Transaction Gateway.
    This is a byte array or an instance of a class that implements the com.ibm.record.IByteBuffer interface.
  4. Create a communication object using the ConnectionSpec.createCommunication() method.
  5. Connect the communication using the Communication.connect() method.
  6. Execute the request specified in the CICS Connector InteractionSpec using the Communication.execute(InteractionSpec,Object,Object) method where the first Object is the input to the CICS Transaction Gateway and the second Object is the output from the CICS Transaction Gateway.

CICS Connector Installation
When you install the CICS Connector, you will find the following:

  • CICS Connector classes
  • CICS Transaction Gateway
  • CICS Universal Client
  • HTML documentation (in the Gateway's \html subdirectory):
    • CICS Transaction Gateway Administration Guide
    • CICS Transaction Gateway Programming Interface
    • CICS Transaction Gateway Messages
    • CICS Universal Client Administration Guide (for your platform)
    • CICS Universal Client Messages
    • CICS Family Client/Server Programming
    • CICS Family OO Programming in C++ for CICS Clients
    • CICS Family OO Programming in BASIC for CICS Clients

Before starting the CICS Transaction Gateway, you must configure the Gateway properties, the CICS Universal Client, and the Web server. See the section "Configuring the CICS Transaction Gateway" in the CICS Transaction Gateway Administration book.

To access the HTML documentation:

  1. NGAIX.GIF (1051 bytes) On AIX, open the file cclga800.html in a browser to see a list containing links to each of the books. (You will find this file in the usr/lpp/ctg/html subdirectory.)
    You will find the pdf files in the usr/lpp/ctg/pdf subdirectory.
  2. NGOS2.GIF (402 bytes) On OS/2, open the CICS Transaction Gateway desktop folder, and select the Documentation icon. This will launch the file cclga800.html (a list containing links to each of the books) in Web Explorer. You will find all the PDF files in the "PDF" subdirectory within the directory where you installed the CICS Transaction Gateway.
  3. NGWIN.GIF (1069 bytes) On Windows, from the Start menu, go to the folder where you installed Visualage for Java, and select IBM Connectors - IBM CICS
    Transaction Gateway
    . Then, select Documentation for the HTML, or the book title of the PDF file you want to view.

Note: To help you access the PDF files, we have provided the Adobe Acrobat Reader for Windows, which you can install from the "adobe" folder on the CD. However, we do recommend that you download the latest Adobe browser from the Adobe Web site.

NGRELC.GIF (533 bytes)
Connectors: Overview
Encina Connector
Enterprise Access Builder Commands: Overview
Navigators: Overview

NGRELT.GIF (466 bytes)
Setting Up Connector Run-Time Contexts
Creating an Enterprise Access Builder Command
Creating a Navigator
Exporting Code
Deploying an Applet on the Network Station
Deploying an Application on the Network Station

 


ommuni kvX$q7FI6p6$d./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hcommd.htmmeab$$ Enterprise Access Builder Commands: Overview

Enterprise Access Builder Commands: Overview

An Enterprise Access Builder Command wraps a single interaction with a host system. Upon execution, an Enterprise Access Builder Command does the following:

  1. It takes its input data and sends the data via a connector to a host system.
  2. It then sets, as its output, the data returned by the host system.

The Command itself is a composite, whereby the composition follows a specific construction pattern.

n5hcom01.gif (16390 bytes)

You can construct a Command within the Enterprise Access Builder using the Visual Composition Editor, or the Command Editor. To construct a Command, you must be familiar with VisualAge for Java class creation and the concepts of the VisualAge for Java Visual Composition Editor. When constructing a Command, you must provide the following information:

  • Input data
    The input data is required by the Command to perform the execution.
  • Output data
    The output data is the result of the Command's execution.
  • Connection information
    This information is a set of classes used to communicate with the host system. A connection specification and an interaction specification define how a Command communicates with a host system. You would use the ConnectionSpec interface to specify the connection to the host system. You would use the InteractionSpec interface to specify to the Command which program to call through the connection derived from ConnectionSpec. Specific implementations of the Common Connector Framework are shipped with VisualAge for Java, Version 2.0.

The input of a Command is defined by a record bean. The output of a Command is also defined by a record bean; however, there may exist multiple output record beans defined as candidates. A Command can show an entire RecordBean in its interface, or only selected record bean properties.

Note: The types of record beans available depends on the Common Connector Framework-based connector that you are using. We can distinguish three types of connectors, with respect to record beans:

  • Connectors that support only RecordJava-based record beans (i.e. they implement the IByteBuffer interface)
  • Connectors that support both the RecordJava-based record beans and a connector-specific form of record beans
  • Connectors that support only a connector-specific form of record beans.

The method driving the execution of Commands is named execute. This method does the following:

  1. It takes the connection specification and factors a communication from it.
  2. It then connects the communication to the host system.
  3. After connecting to the host system, it sends the data of the input record bean, and receives the data for an output record.
  4. If no exception occurred, the method will signal an executionSuccessful event; otherwise, the method will signal an executionUnsuccessful event. The client of the execute method is able to catch an exception that is not handled by the receiver of the executionUnsuccessful event.

A Complete Composition of an Enterprise Access Builder Command
The following is a Visual Composition Editor view of a complete composition of an Enterprise Access Builder Command:

n5hcom12.gif (19691 bytes)

 

NGRELC.GIF (533 bytes)
Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Implementing the handleException Method for an Enterprise Access Builder Command
Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command
Associating Mappers with Input and/or Output Record Beans
Defining More than One Output Bean for an Enterprise Access Builder Command
Checking the Input State of an Enterprise Access Builder Command
Checking the Trigger State of an Enterprise Access Builder Command
Executing an Enterprise Access Builder Command
Creating a Navigator
Mapping Between a Business Object and a Record Bean
Accessing Enterprise Data: Overview

and  k$ q7FI6p6$d ./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hconne.htmmeab$$ Connectors: Overview

Connectors: Overview

The Common Connector Framework (CCF) provides a consistent means of interacting with enterprise resources (for example, CICS and Encina transactions) from any Java execution environment. IBM e-business Connectors use the Common Connector Framework. The connectors are beans that wrap the client/server APIs of the various resource managers in a way that both provides a consistent programming interface, and supports product-specific capabilities and host-system resource control.

Application developers and tools may use the Common Connector Framework and connectors to do the following tasks:

  • Extend existing enterprise data and applications to any Java execution environment
  • Reduce the learning curve required to access multiple host-system resources
  • Integrate coordination and management of enterprise resources at run time
  • Improve performance by sharing and reusing client-server connections.

The Common Connector Framework consists of interface or class definitions for the connectors. You will usually work with only the three main interfaces (although some tasks may require you to use additional interfaces):

  • The Communication interface defines the common communication interface for all connectors. It allows you to connect, disconnect, and pass data to a host system.
  • The ConnectionSpec interface defines the common connection specification interface for all connectors. It allows you to create a new communication configured with properties specific to the host system.
  • The InteractionSpec interface defines the host-specific properties for a single interaction with that host resource manager.

The following IBM e-business Connectors are provided within the VisualAge for Java Enterprise Access Builder:

  • CICS Connector
  • Encina Connector

NGRELC.GIF (533 bytes)
CICS Connector
Encina Connector
Enterprise Access Builder Commands: Overview
Navigators: Overview

NGRELT.GIF (466 bytes)
Setting Up Connector Run-Time Contexts
Accessing Enterprise Data: Overview
Creating an Enterprise Access Builder Command
Creating a Navigator
Exporting Code
Deploying an Applet on the Network Station
Deploying an Application on the Network Station

wil kr$ q7FI6p6$!d ./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5heabov.htmmeab$$ Enterprise Access Builder: Overview

Enterprise Access Builder: Overview

The Enterprise Access Builder consists of frameworks and tools that allow you to create Java applications that access existing host applications and data. Existing applications and data can be reused to implement object behavior.

An interaction with a backend system often involves sending input data to a host application which would respond with some output data; this interaction, in the Enterprise Access Builder, is called a Command. Commands dictate the data that gets passed to and from the backend system in a single interaction. Records are used as input and/or output for the Commands. Records define the layout of the input and output data within the backend system. In the case of more complex interactions, you may wish to use a sequence of Commands for a sequence of interactions with a legacy system. In this case, you would create Navigators to encapsulate the sequence of Commands. A business object is an object representing an entity in the application space and contains a number of Java properties. The relationship between Commands/Navigators and business objects are defined through objects called, in the Enterprise Access Builder, mappers. Mapper objects are classes that map record properties within Commands and Navigators to business objects.

For this release of VisualAge Java, the Enterprise Access Builder supports CICS (both ECI and EPI) and Encina DELight transactions.

By creating reusable business objects, you can define interactions with host applications and wire these interactions into multiple Java applications.The Enterprise Access Builder enables you to be efficient in a number of ways:

  • Migrate to object-oriented technology while making full use of your traditional programs
  • Export Java beans to other development environments, such as Component Broker, Object Builder, or WebSphere
  • Use the resulting objects in multiple applications

The following graphic demonstrates a simplified interaction between a Java program using code generated by the Enterprise Access Builder and a host application:

n5hinter.gif (8877 bytes)

For an overview of the steps to use the Enterprise Access Builder tools to access a host application, see the topic Accessing Enterprise Data: Overview.

ngrelc.gif (533 bytes)
Commands
Navigators
Business Objects
Mappers
Records: Overview

ngrelt.gif (466 bytes)
Accessing Enterprise Data: Overview

tch  kXb$q7FI6p6$(d./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hencin.htmmeab$$ Encina Connector

Encina Connector

The Encina Connector provides a Common Connector Framework compliant Java interface to the DE-Light client. This interface, consistent with other IBM e-business Connectors, allows clients to access DCE and Encina from systems that do not support DCE, but that do support Java. Communications between the Encina Connector clients and the DE-Light gateway can use the TCP/IP or HTTP transport protocols. Encina Connector clients can use the Internet as the transport mechanism for secure commercial applications.

A traditional Distributed Computing Environment (DCE) or Encina application uses the DCE remote procedure call (RPC) mechanism to communicate directly with DCE or Encina servers. Server developers use the DCE Interface Definition Language (IDL) to define a set of RPCs that represent the requests to a server. For transaction processing applications, the Transactional Interface Definition Language (TIDL) extends DCE IDL to provide server developers with the ability to define transactional remote procedure calls (TRPCs). Client applications can call these RPCs and TRPCs remotely to request that a server perform work on their behalf.

To run a standard DCE or Encina client application, a computer must have installed and configured a full-client implementation of DCE. For applications that must run on systems that do not have DCE support installed, the DCE Encina Lightweight Client (DE-Light) is available. DE-Light provides a gateway to enable systems that are not DCE clients to make requests of DCE and Encina server. Like DCE clients, DE-Light clients have the benefit of load balancing, scalability, and server replication. DE-Light clients also use a simpler interface that requires fewer administrative and networking resources.

How Clients and Servers Communicate Using the Encina Connector
For a DE-Light client to make a call to a DE-Light gateway, the client must do the following:

  1. Open a connection with the DE-Light gateway.

    The Encina Connector connection specification has several properties that allow for the specification of the server and gateway names. The connection specification also includes properties for setting the level of Secure Sockets Layer (SSL) security between the client and the gateway, and the default level of DCE security between the gateway and the server. The connection specification is able to give the client an object (The Encina Connector Communication) that represents the connection to the gateway.

    If the client intends to invoke TRPCs, you must associate a coordinator with the current run-time context, so that multiple TRPCs can be invoked within the context of a single transaction. If a coordinator is present when the communication object is created, a transaction is automatically begun and the client can invoke TRPCs within the context of that transaction. The client commits or rolls back the transaction by using methods provided by the connectors infrastructure in the Connection class.
  2. Build a data object to hold the data passed to and from the server.

    An application development tool (drpcidl) that generates the JavaBean stub for this object is provided with the Encina Connector. At application build time, this tool uses, as input, the IDL or TIDL file that describes the valid RPC or TRPC calls to the server. The drpcidl utility outputs a JavaBean stub that has a property for each parameter on each of the calls, and outputs a property that the client uses to specify which RPC call is to be made.
  3. Set properties on an instance of the Encina Connector interaction specification, to further describe the call to be made. One of these properties enables the client to set the DCE security level to be used between the gateway and the server for each RPC.

    The Common Connector Framework infrastructure maintains user logon information, including the username and password, for each session. The Encina Connector retrieves this information from the run-time context when needed, to authenticate to DCE, unless the client specifies that server requests be unauthenticated.
  4. Pass the data object and the interaction specification as parameters to the communication object.

    The Encina Connector will marshal the appropriate parameters and invoke the appropriate RPC. When the DE-Light gateway, a server process running within the DCE cell, receives the client's RPC request, it translates the simplified RPC into a full DCE RPC or Encina TRPC, and communicates with a DCE or Encina server on behalf of the client. The gateway also translates the communications from these servers into responses for the clients, to complete the communications loop between clients and servers. Note: For the gateway to translate the client's requests into an RPC or TRPC, you must load the gateway with the IDL and TIDL files that the client is using. You can load the IDL and TIDL files while the gateway is running, which will enable you to dynamically reconfigure the set of servers that a particular gateway can support.

Encina Connector Installation
When you install the Encina Connector, you will find the following:

  • Encina Connector classes
  • DE-Light Java Client classes
  • JavaBean DE-Light stub generator (drpcidl)
  • HTML documentation (in the DE-Light/docs subdirectory):
    • Transarc DE-Light Overview
    • Transarc DE-Light Administrator's Guide
    • Transarc DE-Light Administrator's Reference
    • Transarc DE-Light Java Programmer's Guide
    • Transarc DE-Light Java Programmer's Reference -- Java 1.0.2
    • Transarc DE-Light Java Programmer's Reference -- Java 1.1
    • Transarc DE-Light Java Connector Programmer's Reference
    • Transarc DE-Light C Programmer's Guide
    • Transarc DE-Light C Programmer's Reference
    • Transarc DE-Light Certificate User's Guide and Reference
    • Transarc DE-Light Release Notes

To view the DE-Light documentation, open the open_me_first.html file from the DE-Light/docs subdirectory in a Web browser.

See the Transarc DE-Light Administrator's Guide for instructions on starting and configuring a DE-Light gateway.

NGRELC.GIF (533 bytes)
Connectors: Overview
CICS Connector
Enterprise Access Builder Commands: Overview
Navigators: Overview

NGRELT.GIF (466 bytes)
Setting Up Connector Run-Time Contexts
Creating an Enterprise Access Builder Command
Creating a Navigator
Exporting Code
Deploying an Applet on the Network Station
Deploying an Application on the Network Station

 


s k$ q7FI6p6$Hd ./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hjrbts.htmmeab$$ Builder Tool Support

Builder Tool Support

The reference implementation of the Java Record Framework supplies all the concrete construction classes in the form of Java beans. The beans are not required for execution time use of the framework, but are intended for use by record builder tools. Developers providing alternate implementations of the framework classes should also supply these as beans. The BeanInfo for each extended implementation should define any new properties that are supplied as part of the alternate implementation.

A pair of convenience concrete classes is provided to help create additional base type implementations. This set of classes (????????) supplies the default behavior of ITypeInfo and ITypeSetInfo. Type developers may choose to derive the convenience classes, rather than directly implement their corresponding interfaces.

SimpleTypeInfo (implements ITypeInfo and extends java.beans.SimpleBeanInfo) is a reference implementation of a type information class. Implementers of concrete types need to keep in mind the fact that the type information class is simply an extended BeanInfo class. Consequently, you need to name the type information class, for type Foo, FooBeanInfo. There is one type information class for each concrete type implementation.

SimpleTypeSetInfo (implements ITypeSetInfo) is a reference implementation of an information class describing a set of related types (for example, S390 COBOL types).

There can be several type set information classes supplied with any one set of concrete type implementations. The supplied set definitions may overlap in their content.

NGRELC.GIF (533 bytes)
Java Record Framework: Overview
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Custom Record Implementation
Support Required for the Code Generator
Support Required for the Java Record Editor
Java Record Editor

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Dynamic Records Using an Existing Typeset
Creating Custom Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor

 

466 by k$ $jq7FI6p6$Odj./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hjrcri.htmmeab$$ Custom Record Implementation

Custom Record Implementation

A set of concrete class implementations is provided for the custom record support as defined by the Java Record Framework. These are:

  • CustomRecord (implements ICustomRecord)
  • BasicRecordAttributes (implements IRecordAttributes)
  • CustomRecordType (implements ICustomRecordType)

The custom record classes do not use fields and dynamic record type structures, and do not define a separate set of type implementations. The simple and array type implementations are used by both sets of record implementations.

CustomRecord is a convenience abstract class containing reference implementation of a custom record. This class must be extended by a specific custom record class, adding the appropriate accessor methods. Since a dynamic field description structure does not exist in custom records, the accessor method implementations "hardwire" specific byte offset representing the field being accessed, and directly invoke the appropriate static conversion methods supplied with the corresponding type implementation. (Using the static conversion methods will eliminate the need for creating "throwaway" type objects).

BasicRecordAttributes provides a common set of attributes that apply to most records. It provides the ability to describe the code page, endian, and floating point representation of the record bytes.

A common CustomRecordType class is provided as part of the implementation. It does not contain any field level information. Its purpose within the framework is to act as a factory for custom records and be able to return the size of a specific custom record.

Rather than requiring a separate custom record type class to be defined for each custom record, the reference implementation makes use of a single custom record class. All derived custom record classes provide a static method getCustomRecordType() that returns a properly initialized CustomRecordType instance.

NGRELC.GIF (533 bytes)
Java Record Framework: Overview
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Builder Tool Support
Support Required for the Code Generator
Support Required for the Java Record Editor
Java Record Editor

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Dynamic Records Using an Existing Typeset
Creating Custom Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor

 

ying a lN!$2q7FI6p6$Wd../usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hjrdes.htmmeab$$    eaorstcdhinp <>bflmuy./gv"(),ITw&;=AFRXjkqx5CDEJO'-01BGLPS234689:HNUV#W[]7MY!Vi0$q79`48 C/! L1A$0oʻh,/@q9HMU`#!O5@A$138Έ\>$8 L M0%]H1BO D , a:F!  $BIa!@I/ 8I c| N˛AK H$qE\zX`+b=T8 `C:"Sr~Of]aS?-wb:qGW@z(q+b=Na 5 J$6C7eke, ?pgt_kAx qo[Ќj]`<3Zms]V 5ˬf+݆[:pzPuޅ6,֙췵$Œ8b`;._O/b>Y3okg0=Ϭu}9kaZalXmr~KtzYKga ֯,֙췵2GHmzYٜǿkL[=v:S ֯Ո I$qq0H`Ar~kbp G5s Hk51žtD 8ÌA8bWޅ=X0-UӖ~M1ž[/nD 1d6@5˭W؏kL[-^r ;.0ٯɵje &, I8ÌCIWsEߛkh/Z.\ˬHӖ~M{¦j* ȆUȺ𩃚 <:/Zk֍M1w1k;Z8[ܣ8*է%4{գ;u\%40_SzZѬe\\0qStmj9QrxX⹐aU߭joev$q]sy] -V@̋{\0,AZH1 $+T @ `t A8=iB@!9]b` P:Sh>(IZH1 $©bH*}"VWN[1s Hbt[L@ '9P/kW=|\>$X0O-lf&ւ~Kt}\e#r}̭ e-QikWb <:Z, `P Ʉoe -$q_V _(֯yBaT@m;1_SL]Z," s5aT@j]Z~=)~^Pe-Z{8ao+rVgЀ; JL ֯yBze-ZdA5s {}gbuX^/Z ?)-Gj{`ՋXG*լ@8ÌCI"atD*Ib0Q!4yB孞➾+Ů'Ay3ODJhF tD.X9Ur֯z0=)g~:>[3u8  ֮8̋\3AyDFR-0U[+>D%:o jx%G߬jz"S>br}"VR+Z{YG_a^=蕊[G tX  tX#-Z ˺{}؈J+!O.򺵢W(FJݞ0q q\3d=al= `09e~_} tDw+( © N]0t#Db-pD%3t#+PW[kWź/Zt(qbp=lN:"Su=Gp`p` i#84(9@3%9lXQ5Oxu}W=jѧ%#HhFW΄z57ez"S_15~MWr s}h,q_"&}6V-|DB0oBZ3&孝8 ^|S`1žK=Q % y D݁jTMe1A!3&(@VD 8HP;D`kWU\,3;؎Zvbr/D➸-VD 擢q $ (d Y"0k41vxf|b'{~Y3okP=T!o}8=vjy~{Ӌ_19>|Z ֯Q5Yg98rs8=KB`?;7 HGVegʌZӋv$ŰVbk[Dإsx^v'<˟ˬn켶'B%0C@gDJrcd^O-l~-|B=TMl^Apn]bGxd7θ͘jЏUYl֯ Dfoe=XQ˷(Ϯ5l1h{\3qbJxW桀\(,+'KڼSVa^YaAad Y"Gqi$U0Q Έ肤 M\A)=)~^Pykgjqk^s '%m`4DY#:"R{~]0UˢZ)1]N-q: az"Sf|S]c3;S֧jȵ4ODJu#Zra3ODJuY֟E t\Ip`CYq9Y?ODJkAywZo@8ÌCI 0(9H3%!ǷZ]N-q8'Z2 :-piBbG>+mЌ[a_9K1v~ΔefO3 ́|3;ܯ8[n&3:.WůHkZ݇$AZH1 $e@fd_֯8[LlW۱Ax4Έ߃j֯AL<8RG]i=J[r6`ZӖG57Wӧ%4 -$q+50gYB Y$ ($4\f.$֯ ϧ%#[OUsg\F_pv^," ^|z"SOJq9usa:,53:,eƵ|Z΄zoBGJj91}:_"&}6VApnΔ ϫނ&S!d,+$,qY<u\%:oj9z=) i#84*(Z G5s Hr 0Z_(ZZ)⺜Zt2OcbH'%mk&WN]$9F=U~d^:pzYU=)5W. aYȃJ[ ^veZNc51O[bN39k'O1b˯yl֯%8 cqt8k`W'"Ξ ©ZTj9jvނ-'"V-;1q:k$AZH1 $bk9]jY1\5'tffv޵=Wů7֞8=vz"Sq0zODJqG߬N{YG_[mpN|Tu^R٧%#Q/Az=Z+UȳC-ŰV|Z@8ÌCI-okVy<fϋ_15Ak$,33M0PhgDJAk$,3<˟_15AS.x-|ąbt cX(4 <bB`-СƞYZZZ+AywX'ɇ -$qE\{}T8 `Akcah)ߔ/(Q<ֵ|Su8/9k=qkL[#)uZalR٭_.oSS&z֯sZq%8v';.zr!#Y㫧ՊVIsVNAphODJk-k`Pڱk&2٭_WD19_Y+0ƞ_t : ΄zoBh,F=֘~|8Y|:,Q#q_}BߖkL[Ӫf?>kt֌`4f7ڡ48E&,3;Db~kkAyЏUMhT&|nqtYfKC`sWNzyW΄zoBri{\3-TZOcgbrtD%0Ch)ߖ[DY𷕹F|g`V|Z=8Vgv7e.[ܣ>3UY0r.\孞GoBk\4-O_Y7;2i{x ϋXG*լ #{Zo ֯_:kkW΄zVy&=fE,M{\03u{Wkzfvgs>`- >/Z٭_ODJD`̀YzXZt#DЌn[59Az ˭=::pzY1bQq#.kL:,X tX ,3Pfi@@8ÌCI"a#Ӏo`V=UD `HGq(@< t_$q!I $(H5A+4 AΈHf[/b@˯ad$6i gDJtD3-_1 ieװ p0NkI KIbd :/8ÌB y[g7U߁HGIa !|؄By$4)i h7 pPh3%:z"R> >*e $q(.`h7:"S%! na,4洒 KIbd :/8ÌCIYjt,!ХV.' y[gv k=57ڡ48MtWgߠ3W} ?'tfs {}kKfk-4D(\9_O_Y(/PWN`8@Ak9 㛭_ODJ@=bee-|:`. it<˟QhVu_YG߬kWN|Í+Ax][5HQF 0>ΖV|QhVz/n|k=KBy5wXYl֯%"0.'p8fYz2>.Q񝂭X=+`j/ojz"S>haW{|Qq}, ̋֯}g`V-|ĈVW<˟Μ cb0ȼW֯qy^(53㫤3ZaƕAx:G>18}§֧f|g`Vt}.x; ]Y(/P֯]WW} c}#{Bgan_%Ƴ=bX=KBOW{~[54DFsZg ϋ}g`Vlt=(#ޟgK+;3̹ bX=KB"nVs ^|kGqi!Ƿo+{\2孝88 tX#YAkV4^Vo`Pqy؝jʹ9Ӭ!rr/Yr~giM`Z= 7U0h3VgDJCoWNzϬ.}0Ph*e=/;_Ah&9Ƿ[Zyft]kWO[j-hWdDϦ {xZr aZD2NE=9Ur辜0h)0kbCob 9>;b+AyXy؜@=l̈e\k=%0H`@K~arr.*Ib0Q / N}'0Zkbl3Z.\孞},SEߑ t8͘}"VXM{\39PuWȆ"}g9f ӊ$#^+m_aq&YC3{xEu8DQ48y؜\NjD׵gk=(Hӊ? X:,5k(Azoux"&}6ߑ +ޣ'6`TG8aXbHhq.2ykgjޅk=,֙췵`#}8WvP݁.`͘Tb>ebu zȞfGz"SX* [Zh{~D0_\3<8ˠ{գODJuX(CgXfuDLl1+`k=Vs*3dָ+\dC*u8Sk=Ʀ,Y*%0CCoX\g0\_3Z𩃛Ӗˌ:,5k(q͘[mb[ 5pA׭_Y|utϮ q0&8Oe=\kWW i#84Zxf|\>$0-icf.e-3QVzůq^ 8_q_q`1Ÿ8{\3e KIa!EjBD\W,<s` ,"`h/XNZm@)V H*Ib*y` L f8Έ\>$8 Zy\ GʞX$%B=f8Έ\>$8zDa\ GʞX$%Bҙq BIc`gDJp)Xz KARHSP:S+4$(9FtD9a\ GʞX$%B҉XY$'UkL[ rH*Ib*y` IWBfY <&T8>T!(@ BI57 r_0gg$$1 @(r*! II#CO, @zЛUHR+Z[gDJp.\ KARHS&ށ& BIg{գ:"SX)l lod rH*Ib*y`>t!VhI LVNp3%52YـX8@$!  MM Jbf{[gq.II#CO, @zЛ=+ BIһ[`gDJpqj qo)ZWq$ rHGqi vM%0H|BD @ 3s* +$%찒HYJ!"  Jq^R5 <@OHH  (    $.IZH$I1UfH lZ"$1q7FI6p6$d./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hjrdra.htmmeab$$   aert <>bdilnos/;cfghmpuy"&.Xw(),2=INT[]qvx1345:CRSk{}'-08EFJLYj79ADGBHOU#6PWZYt+6RVux,8< A0 _*QێJ%Y1lRT{\[A⁢tDʔv㡢tt6wP@-J `F4s*XJ*9gj0~ؤ+ ۧ1IRV9 % H"خ 0  bC\*E>mRPdcG< spv .Q,A RTo/_{Ywas/{袮sO,}$pm<ۚ\ JO|Ll  [{|Ur=F?Es7|/'ZQ"7=| }6*{˒袮sy0(~g\v~ERf r׀yQz̤yo8o6o>/oY?ߍjLmpp m(yF}|L>&z:㼹gohRk/ypG{ܹg*QUdT}kR~tu M3袮sMIk7}fR>E>&OGbGw_7_\>YR6o;Ǝ5 =<הj\uȿ-vg7GΖ_*G T/}ܪ9[|)]^7=| T{o-w*XI*Q|m{}fR!~Y#־Q/Zhc2/q2}bh?-dyh6o;Ǝ5To/ʖ;W?o*Q|}EY|~4u~HQ|Lm_oo( ys8*X#yF6o;|GiwϏ~D/$9Oy!G|~~4uVk7e#u{o*;p m\ǟgp~HQTV^ړbqm(z.cVARTrQ1RY5=Du%I\'YRusܔL`ù [)dOrQ1"ٞJ*Nu}.ouϾ>!~)peK7ao8>g3M:mpp'(M\ |L= 2O}kn1IG V FE<-[qOfy#"ٞOg-'GŷیRB^*?-u-,9}!;{מg}6A R`K}Ж [qO':89o8> -$0M i$'(D LATL8Io8>VDض[qOBQH!?mH{gxk_(_@N|gȿ= 'bn1IΎ=L"&p*4Jȝ{bȃؤ=*N.{8w2p$"%}u)dOrQ1 :ض6o;׍mYB)peKM[*Q|msreKB~[>Y/}fR#zȳ?QH'ǚu^[M[~o\<`_)>)'<o(BC=!=m'FX-m)?AO=-|>9C_bT&2HϾ"(o}6ԟH{gy V~V> [qOیR:8Oqfy#"ٞO|w䭸'd[3|+x n1IFE< D[ %m)?"ٞHȶg縁[fy#"ٞHȶg2-䌋fy=[l$d[3FEE7.'{_M'B [qOیR:89o8>p& 0M i!|`@`B4%#Ж%m)?L"&pr *X^r$G\‰Ybʓn1IYIŷBQH!?mH{gxk_(_@N|gȿ= 'pP-m)?n1I\ Dr \g @([VDضdAR6o;׍m,c^Qp;_̤F mI.P&pgjs?Q+G 'm)?{'[[qOȶg2-yo8JیRE&rpp}a}Yt]bK!YIŷ} yQz̤Fs{} K*XoefR!uI2 :Mvߢ7P>|B{ebn1IΎ=@Am)?2-䌋fy=[D'EYt]bDDZeIβ =||mIBFI o(BC83[ZG6*w{=~E V@یRscC7-@q"VDزbȃؤ=*N-8w2p$}uDDfR!u,d'[b-w9kW<(=fR!~s{} K*XoefR!uI}fR>El6)ǚHq߲QW9.P&pb@C/Gح|,[qOtqo n1Il$d[3ppȶg2-yo80D0HD$"'Gŕ'[b :ض2 :D  yCђ|!GG;2-I7.θR E5m)?\|L:o&pp`4%|we"X  Vbr *X^GxIo8>Yt]bDDZm)?5~PBe ־Q#ͼ j%_~{O 'b{"Tio80D  'Gŷ )?bʓk̽8w n>&rpp}s ̤C Y b*N-' [7_sθCe".ߗ7^7=yg9kXX,p'g2)VE6fR>g\w鵽.QW9ۆ o(BC81I V~V> [qO':8Oq FE<-@0+n1Il$d[3LI+n1I+n1I+x[qOfy#"ٞO|w䭸'E6-,9c"ٞJ2CrmH{g-?Y;f^w* [qO':89o8>p&pp`4%hKI- -$"JیRYt]b7[qO;D:;yȃlcz%:2T(:8-'b||oj2HO쾛|B2<$yAP~D/qI@یRscC7- -ABDDZm)?=OزbÇs/GAۏ"\G\"^)BCX n1Io뜄5+uoj);~\|}x!abTzVe"Xȳ>)"e[}syF̤}θz( o(BC81I V?SbqZیRm)?Dz{ ȶg2-yo8JیRd[3|%9o8"  [qOqȶg2-yo8JیRd[3|+x}'$DZm)?2 :D0HD%_-yRn]ppbȳђ|?$(_o(BC9o8>̤}E2efR!u9)ZیRm)?ǰ}uDK4% -$/BZIo80M i!Vb̤C VbL"&pr *X^r$G\fR!u'Gŕ'[:*N-'b||oj2HO쾛|B2<$yAP~D/qI@یRsd%9ȁr7- -DCADDZdARVD%IY6r$=3ح|/B{?*G5t'F_~*7QHprTۻTM|}G,>)$@ϕ$ PmId~2~) mooe#{ H$JیRB$DZm)+n1I2 :D0HD%_-9RnG,HDyg0,(>HAM\ |L:2wlλ9HE*,z̤Ak*N-%m)+ :عǰ}uDK4% -$/BZH 0M i!|`@4%#Ж[ BZHD;2TDK`_I[qKC76ʖ8i\g -0Yt]bDDZm)+n1I5~PBe ־Q#ͼ j%_~{HZʓn1I[qJ*N.tq|wtwQHD -CA "tqYRuHTlYIRV{=Dx([qJȞc Y~oye\wQȿ;Es|g[#oƎ%sʭU WmN}vgphehP mߓߣ袮sy0()3y}),,p_S\EsQE\ Re!\3|PHpto.}e{y>\{袮sOBRgG_1?MeY1@k:M)PBoRT R\şI=w [/;T~[D'Ylz8p|L:*XR?-O"b, I8w n>&rpp}a}Yt]b|pR,ؤ )?b`;Çpvg-HE**XR?-O"b, I8w n>&rpp}s ̤C ,)d'Ip{~[$yގ;Do8>舗D:.P8p)PB–AlRY{(1IRV{ƒECΣ.dD̸4ǖ/44XxX0hxH(GnaBM  7CEAl[qJ뛖XhF!Kn-U WRp'(, ^ >ǬbیRW\ܲE 4 ̲ `BT : V<|)n1I]sr P(7sn-U WRp'(,ȬbیRW\ܲE 4 cƛ `F4s*Xq;ZEdSb,Qnn-';lcqθkL[qJ뛖XhFݘtl$^q J5dSb,QnL `9ϖoؚw.Y:VE1m)+nYaƛ `9ϖoؚw.YU WRp!bȦ-%u,4Y@rn-U WRp!bȦ,ؤ+=yyAƍ!Q2"f\4i,_hh 8  44X/o0 m)+nYaƍ#j`@Bv48[oMPpm,wrzȦ-%u,4XѤmL24h; `3.3dcG< Y&z_=|LsYŷe4Fpip2_81 *Xg U ;ՑL[qJ뛖XhHژ>dh(7 7Nf]kgc'VE1m)+nYaƍ#j`rn-CeK>R6ʖ;~E1d%IYVART7,cF4i 248_/CE(Eo8<(4XѤ CΣ.dDǴDi,_lׁa| a/ @4X0[E1d%d6NEJ7N kj#$P%q7FI6p6$dP%./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hjrdri.htmmeab$$ Dynamic Record Implementation

Dynamic Record Implementation

A set of concrete and abstract class implementations are provided for the dynamic record support as defined by the Java Record Framework:

  • DynamicRecord (implements IDynamicRecord)
  • BasicRecordAttributes (implements IRecordAttributes)
  • FixedLengthRecordType (implements IFixedLengthRecordType)
  • VariableLengthRecordType (implements IVariableLengthRecordType)
  • Field (implements IField)
  • ArrayField (implements IArrayType)
  • OverlayField (implements IOverlayField)
  • NestedRecordField (implements INestedRecordField)
  • RowMajorArrayType (implements IArrayType)
  • ColumnMajorArrayType (implements IArrayType)
  • OverlayType (implements IOverlayType)

A sample reference implementation of C language data types (all implementing IFixedLengthType) is supplied in the package com.ibm.record.ctypes.

The overall structure of the implementation is illustrated in the following diagram (using OMT notation):

n5himple.jpg (19849 bytes)

DynamicRecord aggregates the actual record bytes (byte[]), an instance of a dynamic record type, and various information describing the system environment that the record bytes originated from. The using application has the ability to indicate the record starting offset within the bytes (if not 0).

Note: The record starting offset is not factored into packing and alignment calculations for the record type (it simply offsets the start of the record bytes). There is an alignment offset, however, which is factored into packing and alignment calculations for the record type. It is the application's responsibility to ensure that the referenced bytes actually contain a full record.

BasicRecordAttributes provides a common set of attributes that apply to most records.  It provides the ability to describe the code page, endian, and floating point representation of the record bytes.

AnyDynamicRecordType is an implementation of a collection of fields. The record type is constructed by adding the individual field descriptors (instances of the field classes). The classes FixedLengthRecordType and VariableLengthRecordType are abstract implementations of fixed and variable length record types.

Fields within dynamic record types can be accessed either directly, by name, or sequentially. For sequential access, a field enumerator is provided as part of the reference implementation.

Four concrete field implementations are provided. In all cases, the field implementation combines the name of the field with the field type and relative offset in the record bytes.

Field is an implementation for use with simple types (user-supplied implementations of IFixedLengthType or IVariableLengthType). OverlayField implements a "union" of fields. The implementation causes the maximum allocation based on the size of the union elements (i.e. the union size is the size of its largest element). Overlay field is simply a grouping construct. The actual data fields must be accessed through the union element fields. ArrayField is a reference implementation of an array field. It supports array style accessors to individual array elements, as well as the standards accessors applying to the array as a whole. NestedRecordField is a field implementation for creating nested record structures. If required, developers can define additional field types by deriving the supplied concrete classes, or directly implementing the framework interfaces.

The type implementations are the actual accessors of record data, performing any necessary data conversions. As mentioned before, a sample reference implementation of C language data types is provided. Additional type implementations can (and should) be supplied by developers handling access to application data within a specific target environment.

A reference implementation of the constructed types is also supplied with the framework.

An OverlayType implements a union group. The supplied implementation does not support access to the union as a whole (neither as a base Java type, nor as an Object). The union data must always be accessed through one of the specific element fields within the union.

RowMajorArrayType is the "row major" reference implementation of an array. The implementation supports methods for accessing the entire array as Object, and methods for accessing the individual array elements. Individual array elements are passed and returned either as their base underlying type cast to Object, or as the corresponding Java base type (with conversion). The entire array is passed and returned as the appropriate type array (of correct dimension) cast as Object. For example, if we define a two-dimensional array of Widget, then individual elements are passed and returned as (Object)Widget, and the entire array is passed and returned as (Object)Widget[][].

The reference implementation only supports "fully formed" arrays, arrays that are assumed to be fully allocated. When passing an entire array as argument (cast as Object) the array is expected to contain all of the possible array elements as dictated by the array allocation bounds.

ColumnMajorArrayType is the second supplied reference implementation of an array type. It is identical in all aspects to RowMajorArrayType, except that it implements a "column major" element layout.

Developers can provide additional array implementations (including their own storage algorithms) by extending RowMajorArrayType, or by implementing IArrayType.

Finally, AnyDynamicRecordType described earlier, is also used to indicate the type for a nested record field. Application developers can use this mechanism to construct user-defined types. In this case, an application class can extend FixedLengthRecordType or VariableLengthRecordType and provide its definition (add field method calls) as part of the application class constructor. Nested records can be accessed in their entirety . The supplied implementation of the accessors expects and returns (Object)IDynamicRecord. In both cases (get and set accessors) the implementation copies the record bytes into a new record structure (get) or from the supplied record (set).

The reference implementation of the dynamic record classes calculates the correct field offsets for fixed length record types. This is done through an explicit call to the pack() method after the record type has been completely constructed. The supplied algorithm uses the alignment and packing "hints" supplied on the type implementations to do this.

The base packing algorithm follows that of the C language. It interprets the alignment hint as a byte-multiple boundary to be used for the type. Packing hints can be used to force alternate alignment. They are interpreted as byte-multiple boundaries used to align types that have larger "natural" alignment boundaries. For example, packing hint of 1 forces single-byte alignment for all types. Packing hint of 4 will force double to 4-byte boundary (assuming 8-byte natural alignment) but will let a short to align itself on a 2-byte boundary (assuming 2-byte natural alignment). A packing hint of 8 results in an unpacked structure ("naturally" aligned). For a detailed description of the default packing algorithm, please refer to the implementation.

NGRELC.GIF (533 bytes)
Java Record Framework: Overview
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Custom Record Implementation
Builder Tool Support
Support Required for the Code Generator
Support Required for the Java Record Editor
Java Record Editor

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Dynamic Records Using an Existing Typeset
Creating Custom Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor

 

 k.a$$r7FI6p6$qd./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hjrove.htmmeab$$ Java Record Framework: Overview

Java Record Framework: Overview

The bulk of enterprise data resides either in a database or a record-oriented store (for example, VSAM on S390). This data is processed by industry-specific applications, most of which are written in programming languages such as COBOL. Java provides support for database access (for example, JDBC function), but has no facilities for handling non-database record data.

Similar situations exist in many popular transaction environments, such as CICS. Although Java facilities already exist providing access to, and interaction with, the existing application programs (again, written mostly in COBOL), the Java programmer must determine how to correctly handle the application data contained in the transaction messages.

Java Record Framework describes and converts record data. You can use the framework as the base for record-oriented file input/output, as well as for record-based message passing schemes. You can also use the framework for new applications requiring record services, and for applications accessing existing record structures.

Records
A record is a logical collection of application data elements. These data elements are related by an application-level semantic that is stored and retrieved as a unit. When you retrieve a record, you can access the individual data elements directly, typically through a native language structure, such as COBOL.

The main purpose of the record-oriented framework is to provide run-time support for accessing application record data. The Java Record Framework also defines a set of mechanisms for record builder tools to use.

API Specification
The API specification for the framework interfaces and concrete implementation classes is provided in javadoc format as part of the com.ibm.record package.

Usage Examples
Examples of the various facilities of the framework, including working with dynamic and custom records, and constructed types and sample base types are provided as part of the com.ibm.record.examples package. Supplied classes with main() methods represent example test cases.

NGRELC.GIF (533 bytes)
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Custom Record Implementation
Builder Tool Support
Support Required for the Code Generator
Support Required for the Java Record Editor
Java Record Editor

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Dynamic Records Using an Existing Typeset
Creating Custom Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor

 

 kCS$=r7FI6p6$d=./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hjrrec.htmmeab$$ Java Record Framework: Record Description

Java Record Framework: Record Description

Dynamic vs. Custom Records
Two separate mechanisms for record data access are provided as part of the Java Record Framework.

The first is an implementation of a dynamic descriptor structure. It allows you to define a record as a collection of separate data fields, with descriptive field level information being captured as part of a run-time access structure. You can access any record, using a dynamic description. The access uses symbolic field name, performs run-time field lookup, and invokes the appropriate element accessor/converter. The value accessor methods take the form:

Object getObject(String name) and void setObject(String name, Object value)

Because of the additional run-time overhead, this mechanism is particularly suitable for access to records whose format is not known ahead of time (such as a variable length record).

The second mechanism is intended for optimized access to records whose format is known ahead of time and does not change, referred to here as a "custom record". Instead of a dynamic record descriptor, the custom record makes direct references to fields based on their field offsets relative to the record. The value accessor methods take the form similar to bean properties:

Person getPerson() and void setPerson(Person person)

This form is particularly suitable for accessing existing line-of-business data (known, stable definition).

Note: A variable length record can only take the form of a dynamic record, because its format is not known ahead of time.

Although quite different in their usage and implementation, both styles of records implement a common set of record handling interfaces. Consequently, you can use either record style in higher-level frameworks based on the record support (for example, record file i/o).

Records, Record Types, Fields and Types
The framework uses four base construction elements in defining a record. Each plays a specific role within the overall structure.

Record is the top level construct that combines the actual record bytes together with its record type. In addition, it carries information describing the attributes or "environment" that originated the bytes (for example, string encoding used, endianess of integers, floating point representation). For programming convenience, you can access specific record fields directly through the record construct. The accessor style differs between dynamic records and custom records (see Dynamic vs. Custom Records above). Dynamic records allow field values to be retrieved and set either in terms of one of the base Java data types (char, byte, short, int, long, float, double), as java.lang.String, or as java.lang.Object. In the case of custom records, the accessor method argument and return types are up to the developer of the custom method.

Record Type describes the type, or field content, of a record. It also acts as a factory for records of the given type. For dynamic records, its type is an explicit collection of field descriptors that define the type. In the case of custom records, the explicit descriptors are actually "compiled" into the custom accessor methods of the custom record class.

Field is an explicit field descriptor. It is used only in defining dynamic record types. A field is simply a combination of its string name, relative offset into the record   bytes, and a specification of the underlying data type. Type represents the data type used in the record. This is the actual "workhorse" of the framework. In the framework, this is an abstract definition of a type-converter. In running applications, there would be a concrete implementation corresponding to each of the data types being used in the application records. Type converters retrieve and set values in terms of the base Java datatypes, java.lang.String, and java.lang.Object.

Nested Record Fields
It is often convenient to treat a record as a series of nested subrecords. This involves building up a composite record type descriptor. The framework supports this concept, with no restriction on the number of nesting levels. This is analogous to the support of structures in high-level programming languages.

Field values in nested records are accessed directly by specifying a composite field name consisting of all the naming tokens for the nesting levels and the field itself. Such "path" names are specified in the record accessors as a String[] argument.

The nested records can also be retrieved and set in their entirety as a single field. In this case, the corresponding field value is expressed as a record. On retrieval, a record is returned (as Object) with a copy of the nested record bytes. When you save, a record is supplied (as Object) and its bytes are copied into the nested record.

Note: Instead of returning a reference to the original bytes, this semantic is chosen because it results in a more consistent behavior (all of the other accessors return mutated copies of the bytes). Also, we avoid rather confusing semantics of setBytes() done on the extracted record. Also, calling setObject(String,Object) for nested record field clearly must copy its bytes, unless we interpret this as setBytes() (even more confusing).

Array Fields
The Java Record Framework supports array fields with arbitrary number of dimensions. You can access individual array elements directly by the base field accessors (using variations of the base accessor methods that take an index argument). You can access array fields in their entirety. In this case, their value is expressed as an array (with appropriate dimension) of the underlying type (cast as Object in the accessors).

The framework provides two reference implementations of the array type classes. These implementations support "regularly" shaped arrays (fully populated to each dimension bound), implements accessors allowing manipulation of individual elements, as well as the entire array as an Object. One reference implementation provides default alignment and "row major" packing of the array elements (RowMajorArrayType). The other reference implementation does the same, but with "column major" packing (ColumnMajorArrayType). The supplied reference implementations may not be sufficient in the general case. In these situations, the type implementers may also need to provide an alternate array implementation.

Overlay Fields
Many of the existing record applications allow the definition of field "overlays". The framework supports this by defining a "union" of data fields, all anchored to the same offset within the record bytes (subject to individual component subfield alignment). The length of an overlaid field is the length of its largest component subfield (again, including any subfield alignment).

Data Conversion
The framework tries to minimize the amount of data conversion required. Consequently, data is only converted between record bytes and their Java representation when the corresponding field is accessed. This applies equally to simple fields, fields contained in nested record structures, as well as access to individual array elements. The term "lazy fetch" is used to describe this mechanism.

Field Alignment and Packing
Record structures typically support the concepts of alignment and packing. In compiled languages, these determine the tradeoff between speed of access to record elements and required storage for the data record. In unpacked structures, the fields are usually aligned on storage boundaries that allow the underlying machine architecture access to the field data with minimum effort (in terms of machine instructions executed). For examples, int fields will typically be aligned on a four byte boundary in many machines implementations. On the down side, the "cost" of alignment is the addition of padding bytes to compensate for the individual field alignment requirements.

If storage usage is the dominant concern, the language compilers typically support various packing algorithms. For example, a "fully" packed structure forces byte alignments on all of its contained fields. Applications typically choose packed structures for records intended to be written to disk or sent across a network.

For base data types, the alignment requirements are an intrinsic property of the concrete type. It is determined by the implement of the type. On the other hand, alignment of constructed types (nested records, field overlays, arrays), as well as the packing used, can be set by the developer through the framework.

The framework provides an implementation of packing and alignment in the supplied classes. The implementation supports a default packing algorithm that takes into account the packing and alignment hints in calculating field offsets and required padding. In the general case, you cannot properly align fields as you add them. Compiler algorithms (for languages that created most of today's record structures) often consider whole structures when deciding on alignment and packing. The supplied Java record implementation mirrors this behavior. The user must explicitly pack a record type (via its pack() method) after it has been completely constructed, and before it is used to access record data.

User-defined Types
There are two base mechanisms for creating additional types for the framework:

  1. Implementing additional base types (see Records, Record Types, Fields and Types above).
  2. Defining nested record type classes. This scenario involves deriving a record type class (sharable by others) and building up its field content in the class constructor. Developers can then use this class as the type for nested record fields in their applications.

What is the difference between a fixed length and a variable length record?
A fixed length record can be described as a record in which the fields have a fixed or predetermined size, and therefore the entire record has a predetermined length. This allows an offset to be calulated for every field in the record, and a particular field will always be at the same offset in a byte array. A variable length record can be described as a record in which the fields do not have a fixed or predetermined size. The size of the field depends upon the contents of the byte array of the record. Therefore, the entire record's length can vary. A variable length record can also be thought of as a record that has a fixed or predetermined size, but the fields inside the record vary in length, but never exceed the overall length of the record. A 3270 screen record, for example, has a size of 1920 bytes (24x80) long, but the fields on the screen vary in number and size.

In fixed length records, you can use "lazy fetch" (see above) to read/write directly into the record bytes as field sizes are fixed, and you can calculate an offset and attached it to the field because the size of the fields never change. This allows the byte buffer to be always "wire ready". In a variable length record, as data is written into the record, the size of the record dynamically grows or shrinks depending upon the nature of data written into the record. This makes it difficult to apply the "lazy fetch" mechanism to variable length records, as if we are to write directly into the record bytes, we are continuously moving the record bytes around and recalculating field offsets as the size of the fields grow or shrink. This becomes very inefficient and cumbersome. To get around this problem, all reads and writes of a variable length record are done into a cache at the field level. What this implies is that before reading a field from a record, the byte array must be "unpacked" into the field cache of the record. This does not mean performing data conversion on the values, it just means breaking up the byte array into pieces which represent each field. Before sending out the byte array on the wire it needs to be "packed" back together (in other words, put back all the field pieces back into one contiguous byte array). With the variable length data being in a cache, each read/write does not involve moving around the bytes of contiguous byte array. This also implies that buffer management is not done by the user, as the byte array representing the record could grow or shrink depending upon the data written into the record. The field cache, however, always remains "wire ready".

Basic Assumptions of Fixed and Variable Length Records:

  1. A variable length record can only be a dynamic record as you cannot hardwire an offset to a particular field. There is no generic way to "compile" a variable length record to provide direct access to a field.
  2. The record type of a dynamic record determines whether it is a variable length or fixed length record.
  3. The type of a field determines whether it is a variable length or fixed length field.
  4. A fixed length record can only contain fixed length fields (and therefore only fixed length types).
  5. A variable length record can contain both fixed and variable length fields. This implies that a fixed length type can be used as either a fixed length or a variable length type.
  6. Arrays and overlays can only contain fixed length types.

NGRELC.GIF (533 bytes)
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Custom Record Implementation
Builder Tool Support
Support Required for the Code Generator
Support Required for the Java Record Editor
Java Record Editor

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Dynamic Records Using an Existing Typeset
Creating Custom Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor

 

a  k<T$ r7FI6p6$d ./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hjrscg.htmmeab$$ Support Required for the Code Generator

Support Required for the Code Generator

To use the code generator to create records, you must implement a few methods, BeanInfo classes, and programming patterns, in order to generate correct code.

Requirements for Generating Dynamic Records
The only requirement for generating dynamic records applies to initial and constant value objects used in the record. All initial and constant value objects (used in the setInitialValue(Object initialValue) and setConstantValue(constantValue) methods on the field) must adhere to two programming patterns:

  1. They must implement the toString() method.
  2. They must implement a constructor which takes a string as a parameter. The string required on the constructor must be the string returned by the toString() method.

Requirements for Generating Custom Records
Firstly, to generate custom records, you must satisfy the requirements for dynamic records. Secondly, you must implement a few static methods and a BeanInfo class (that implements the interface ITypeInfo) for each simple data type.

Each type implementation must provide a pair of static conversion methods (from/to) to provide the conversion for the data type. Each data type will have a "preferred" or "natural" Java primitive type to map to. This decision may or may not be based upon instance data contained within the type. Because the methods are static, you must pass any additional data required to perform data conversion into the methods. The static methods are required so that it is not necessary to create an object with type information in the generated code. The method signature for the getter and setter method for the type are defined as follows:

Fixed Length Type Getter:

static void fromXXX (IRecord record, int fieldOffset, XXX value, ...) throws

   RecordConversionFailureException,

   RecordConversionUnsupportedException

Fixed Length Type Setter:

static XXX toXXX (IRecord record, int fieldOffset, ...) throws

   RecordConversionFailureException,

   RecordConversionUnsupportedException

Variable Length Type Getter:

static byte[] fromXXX (IRecord record, XXX value, ...) throws

   RecordConversionFailureException,

   RecordConversionUnsupportedException

Variable Length Type Setter:

static XXX toXXX (IRecord record, byte[] byteArray, ...) throws

   RecordConversionFailureException,

   RecordConversionUnsupportedException

The XXX in the name of the method is replaced with a Java primitive type (for example "int"), String, or Object. The "..." at the end of the method are any additional parameters that the data type requires to perform data converison (for example, any instance data in the type). The additional parameters are provided in a string returned by the getStaticAccessorParmString() method from the BeanInfo class for the type. See BeanInfo Class for the Data Type below, for more information. For example, if the data type is a fixed length string, and it has an integer length as instance data, the integer length would be passed in as an additonal parameter. The example static accessors would be defined as follows:

public static void fromString (IRecord record, int fieldOffset, String value, int stringLength);

public static String toString (IRecord record, int fieldOffset, int stringLength);

There are also static method signatures defined for setting initial values and testing constant values.

Fixed Length Initial Value Setter:

static void fromInitialValue (IRecord record, int fieldOffset, Object initialValue, ...) throws

   RecordConversionFailureException,

   RecordConversionUnsupportedException

Variable Length Initial Value Setter:

static byte[] fromInitialValue (IRecord record, Object initialValue, ...) throws

   RecordConversionFailureException,

   RecordConversionUnsupportedException

Fixed Length Constant Value Checker:

static boolean testConstantValue (IRecord record, int fieldOffset, Object constantValue, ...)

Variable Length Constant Value Checker:

static boolean testConstantValue (IRecord record, byte[] fieldBytes, Object constantValue, ...)

To simplify the implementation of the data types, the instance methods on the types should call their static counterparts in their implementation (for example, getInt() would call toInt()).

BeanInfo Class for the Data Type
Each data type must have a BeanInfo class implemented for it. The BeanInfo class must implement the interface ITypeInfo. A convenience class SimpleTypeInfo is provided to simplify the coding of the BeanInfo class. The BeanInfo class provides extra information to the code generator in order for the code generator to generate correct code. The ITypeInfo interface provides the ability to determine the static accessors methods and the additional static accessor parameters. You must implement the following methods for the code generator:

  • Method getStaticGetterMethod(IAnyType type)
  • Method getStaticSetterMethod(IAnyType type)
  • String getStaticAccessorParmString(IAnyType type)
  • Method getStaticConstantValueMethod(IAnyType type)
  • String getStaticConstantValueParmString(IAnyType aType)
  • Method getStaticInitialValueMethod(IAnyType type)
  • String getStaticInitialValueParmString(IAnyType aType)

The SimpleTypeInfo class provides an implementation for each of these methods. You need to override these implementations only if the default implementation is not suitable for the data type.

NGRELC.GIF (533 bytes)
Support Required for the Java Record Editor
Java Record Framework: Overview
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Custom Record Implementation
Builder Tool Support
Java Record Editor

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Dynamic Records Using an Existing Typeset
Creating Custom Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor

 

int  kIU$7r7FI6p6$e7./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hjrsre.htmmeab$$ Support Required for the Java Record Editor

Support Required for the Java Record Editor

To use the Java Record Editor to correctly display and manipulate a typeset, you must provide BeanInfo classes for all types in the typeset, and fire a few property change events.

BeanInfo Classes for the Types
Each data type must have a BeanInfo class implemented for it. The BeanInfo class must implement the interface ITypeInfo. A convenience class SimpleTypeInfo is provided to simplify the coding of the BeanInfo class. The BeanInfo class provides extra information to the Java Record Editor for it to render and manipulate the data types. You must implement the following methods for the Java Record Editor:

  • java.beans.PropertyEditor getConstantValueEditor(IAnyType type);
  • java.beans.PropertyEditor getInitialValueEditor(IAnyType type);
  • ITypeSetInfo[] getTypeSet();
  • boolean isTypeSetConstrained();
  • void setTypeSet (ITypeSetInfo[] typeSets);
  • void setTypeSetConstrained (boolean isConstrained);

Constraining the Typeset
For most typesets, the desired behavior is to restrict the user from using data types which do not belong to the typeset. To achieve this, every data type should set itself to be constrained in the constructor of its BeanInfo class, by calling the method setTypeSetConstrained(true). Doing so will restrict the Java Editor Record to using only those types which are returned by the method getTypeSet(). For a simple data type (such as an integer), the getTypeSet() method should return a set that contains all valid simple data types. For a record or overlay type, the typeset should include any data types that could be the type of a field within itself. For an array type, the typeset should include any data types that could be the base type of the array.

For example, in the data types contained in the com.ibm.record.ctypes package (all C language data types), there exist three typeset info classes:

  1. CLanguageBaseTypeSetInfo - contains the types CChar, CShort, CLong, CLongLong, CFloat, CDouble, and CWChar.
  2. CLanguageTypeSetInfo - contains the types CLanguageArrayType, CLanguageUnionType, CLanguageRecordType, plus the types in the CLanguageBaseTypeSetInfo class.
  3. CLanguageArrayTypeSetInfo -  contains the types CLanguageUnionType, CLanguageRecordType, plus the types in the CLanguageBaseTypeSetInfo class.

The simple types (CChar, CShort, CLong, CLongLong, CFloat, CDouble, CWChar) return the CLanguageBaseTypeSetInfo class. The CLanguageUnionType and CLanguageRecordType classes return the CLanguageTypeSetInfo class. The CLanguageArrayType class returns the CLanguageArrayTypeSetInfo class.

When you add a field in the Java Record Editor, the types are categorized as the following:

  • Simple Data Types: CChar, CShort, CLong, CLongLong, CFloat, CDouble, CWChar
  • Array Types: CLanguageArrayType
  • Overlay Types: CLanguageUnionType
  • Record Types: CLanguageRecordType

Without this structure, the Java Record Editor defaults to unconstrained types; it lets you enter any valid class name for the type that matches the kind of field being created.

Displaying and Editing Properties in the Java Record Editor
The Java Record Editor displays the properties of the field type under the following conditions:

  1. The property java.beans.PropertyDescriptor.isHidden() method returns false.
  2. The property read method is non-null (indexed read methods are not supported).
  3. A PropertyEditor can be found to render the value returned by the property read method.

The Java Record Editor allows a property to be edited under the following conditions:

  1. All conditions for the property to be displayed are met.
  2. The property write method is non-null (indexed write methods are not supported).
  3. The PropertyEditor implements the java.beans.PropertyEditor set protocol.

Property Editors
PropertyEditors perform text formatting and editing for field property values in the Java Record Editor. If no PropertyEditor can be found for a field property, then the property is hidden. The property will not be displayed in the field property table. Java provides default PropertyEditors for the primitive types and their wrapper classes: boolean, byte, short, int, long, float, and double. The IBM Java Record Framework supplies an editor for IAnyType. All properties with propertyType not matching one of these must have a PropertyEditor defined, or they will be hidden.

If you need to expose a property that the Java Record Editor is hiding, you may need to implement a PropertyEditor. PropertyEditors implement the java.beans.PropertyEditor interface. The easiest way to create a property editor is to extend the class java.beans.PropertyEditorSupport and customize some of its methods. The following details how the Java Record Editor uses PropertyEditors to build the field property table. It is provided for the benefit of those who need to go beyond the default PropertyEditors.

For best text formatting results in the Java Record Editor property table, the getAsText() method should always return a non-null String reference. This String is rendered in a label when the property is not being edited. If getAsText() returns a null reference, the Java Record Editor tries to instantiate a custom editor for the property. If supportsCustomEditor() returns false or getCustomEditor() returns null, the property is hidden; otherwise the custom editor is rendered to display the property. It is possible to support getAsText() and getCustomEditor(). In this case, the property value is rendered as text and edited by the custom editor. Custom editor components used for rendering are bounded within a cell in the table. If their minimum size is any larger, they are clipped to the cell bounds. This is the reason the getAsText() method is preferred for rendering.

If your PropertyEditor returns a non-null value from getAsText(), and your property has a non-null write method, the PropertyEditor should implement the setAsText() method. In this case, the editor component displayed depends on the return value of the getTags() method. If getTags() returns non-null, the editor displayed is a drop-down list box. If getTags() returns null, the editor component is a text entry field. Either way, the setAsText() method will be called when the property is edited, and your PropertyEditor should parse the setAsText() String argument into an Object appropriate for the property write method, store this as its current value, and fire a PropertyChangeEvent.

If you want to define your own dialog or Swing component to edit a property, the supportsCustomEditor() method must return true, and getCustomEditor() must return non-null (getCustomEditor() has priority over getAsText() and getTags() for editing). If getCustomEditor() returns a subclass of com.ibm.record.util.BeanDialogLauncher, a dialog launch button will be inserted into the field property table. The subclass should have a constructor that takes a java.beans.PropertyEditor as its only argument. The subclass must also implement the java.awt.event.ActionListener interface, and should override the actionPerformed(ActionEvent e) method to launch a dialog box when:

e.getActionCommand().equals("buttonPushed").

The frame can be retrieved by calling getFrame() on the instance of BeanDialogLauncher.

If getCustomEditor() returns a class which is a subclass of JComponent but not of com.ibm.record.util.BeanDialogLauncher, the component will be rendered inside the table cell while editing.

All PropertyEditors must support the setValue(Object) method. This method is called by the Java Record Editor to initialize the PropertyEditor with the return value of the property read method.

All PropertyEditors must implement the getValue() method. The value returned from getValue() must be a valid argument for the property write method. PropertyEditors should validate their input. As a rule, if the property set method is not going to accept a value, the PropertyEditor should throw an IllegalArgumentException. If the user enters invalid data into a PropertyEditor, the incorrect data should be highlighted and the property value left unchanged (in other words, getValue() must match the value in the property). An appropriate message should be set in the IllegalArgumentException.

Once a PropertyEditor accepts user input, it must fire a java.beans.PropertyChangeEvent to all listeners. The Java Record Editor installs a listener for every PropertyEditor, and uses this listener to call the setter method for the property on the field or type object. According to the java.beans.PropertyEditor specification, the PropertyChangeEvent should specify null for all fields except the property name and the event source object (which must be the PropertyEditor). The Java Record Editor depends on this protocol.

Initial/Constant Value Editors
For a field initial or constant value to be displayed or edited in the Java Record Editor, you must define a property editor for it. The initial and constant value editors for the data type are returned by the getConstantValueEditor(), and getInitialValueEditor() methods on the ITypeInfo interface. The property editors must implement the java.beans.PropertyEditor interface. This is necessary because a field has insufficient information to validate user input for these fields; only the type property of the field can validate user input.

For example, if the data type is a simple integer type, and its initial value object is a java.lang.Integer object, then the getInitialValueEditor() method would look like the following:

public java.beans.PropertyEditor getInitialValueEditor (IAnyType type) {
   return (java.beans.PropertyEditorManager.findEditor (int.class));
}

Property Change Events
You can manipulate any instance data on the types in the Java Record Editor, as long as you have defined a property editor for it (a property editor has either been defined in the Bean's property descriptor by calling setPropertyEditorClass() on the property descriptor, or the instance data exists as a Java primitive type)?????. For the updates to be reflected in the Java Record Editor, you must fire a property change event whenever the setter method for the property on the type is called. Property change support is built into the base framework for any data types that extend FixedLengthType, or VariableLengthType. There is a protected data member called changes_, which is provided to enable the event notification to occur. For example, if the data type has an String property on it called foo, and the property is writeable, the setFoo() method on the data type should look like the following:

void setFoo (String value)
{
   String oldValue = myValue_;
   myValue_ = value;
   if (changes_ != null)
      changes_.firePropertyChange ("foo", oldValue, myValue_);
}

Note that the changes_ variable is checked for being a null value before using it. This is because the property change support mechanism is initialized only if someone is listening for an event. If no one is listening, then the support is not initialized. This is done not to impact performance at run time.

Note: Changes to the type property of a field are special. The Java Record Editor installs a PropertyChangeListener on the value of the type property. If the value of the type property fires a PropertyChangeEvent, the Java Record Editor assumes the change may invalidate the initialValue and constantValue properties, and consequently sets the value of these properties to null. To prevent a change to the type that is causing this to happen, do not fire a PropertyChangeEvent in your IAnyType implementation.

NGRELC.GIF (533 bytes)
Support Required for the Code Generator
Java Record Framework: Overview
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Custom Record Implementation
Builder Tool Support
Java Record Editor

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Dynamic Records Using an Existing Typeset
Creating Custom Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor

 

 kfW$v r7FI6p6$ ydv ./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hmaprs.htmmeab$$ Mappers

Mappers

To exchange data between a business object and a record used in the construction of a Command or Navigator, the Enterprise Access Builder uses objects called mappers.

A mapper is a class that maps the properties of one bean such as a record to or from the properties of another bean such as a business object. A mapper allows the input record of a Command to get and set data automatically to and from a business object. This data can be set before, during and after a communication interaction with the host application. You can also map from a record object to a business object or to multiple business objects. You can create a mapper for each record that you need to access.

For example, you may have a business object called Customer and a Navigator that contains several Commands. Customer contains a property called address, used to store each customer's address. During the execution of the navigation, one of the Commands results in an output record containing a field called address. A mapper between the Customer business object, and the output record of this Command (mapping the address field in the output record to the address property of the Customer business object) would cause the address property of the Customer business object to be set to the output record address just prior to this Command's completion. In this case, the mapping happens from the record object to the business object.

You can use the Mapper Editor provided with the Enterprise Access Builder to map between a business object and records used in a Command or Navigator. For more information, see Mapping between a Business Object and a Record Bean.

ngrelc.gif (533 bytes)
Enterprise Access Builder: Overview
Commands
Navigators
Business Objects

ngrelt.gif (466 bytes)
Accessing Enterprise Data: Overview
Mapping between a Business Object and a Record Bean

 kbbX$ r7FI6p6$d ./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hnavig.htmmeab$$ Navigators: Overview

Navigators: Overview

An Enterprise Access Builder Navigator wraps multiple interactions with a host system. From the outside, a Navigator looks like a Command; a Navigator consists of Commands and Navigators strung together together to form a more complex interaction with the host system. When you execute a Navigator, the Navigator takes its input and provides it to the Commands and Navigators that it is composed of. Each Command in the Navigator is executed in the order specified. After the final interaction is carried out, the output of the individual Commands and Navigators is available as the output of the Navigator.

n5hcom14.gif (16105 bytes)

You can specify connection information for a Navigator, which will override the connection information that you supplied with the Command.

The method driving the execution of Commands is named execute. An internal event triggers the execution of the first Command, the executionSuccessful event of this Command triggers the execute of the next, and so forth. This process continues until the successful execution of the Navigator is reached and signaled wth the Navigator's executionSuccessful event.

If the Navigator reaches an unsuccessful execution state (when an exception occurs in one of the Commands), the Navigator will signal the executionUnsuccessful event. The client of the execute method is able to catch an exception that is not handled by the receiver of the executionUnsuccessful event.

You can construct a Navigator in the Visual Composition Editor.

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating a Navigator
Editing and Promoting Bean Properties of a Navigator
Implementing the handleException Method for a Navigator
Executing an Navigator
Creating an Enterprise Access Builder Command
Mapping Between a Business Object and a Record Bean
Accessing Enterprise Data: Overview

- ktY$r7FI6p6$,e./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hrecgn.htmmeab$$ Record Generation

Record Generation

The Enterprise Access Builder supplies a tool that takes a dynamic record type and generates a record. The following options are available for generating a record:

To generate a JavaBean or a Java class
If events are not required, it may be more efficient to generate a simple class (that contains only properties) with appropriate get and set methods for the fields within the record.

To have nested access to nested records
A 'flattened' set of accessor methods may be more convenient, or seem more natural to some users. For example, programmers that are accustomed to COBOL may expect to be able to refer directly to the field of a subrecord if the field name is unique within the record. This is similar to the way COBOL field names are scoped. There is no need to qualify field names if the field name is unique.

You can also generate fully nested records; this forces field names to be fully qualified.

To generate a custom record or a dynamic record
Custom records and dynamic record types are explained in detail in the topic Java Record Framework: Record Description. Generating Custom Records results in more efficient code being generated, but there are restrictions on their use. The main difference between custom and dynamic records is the way fields are accessed. For dynamic records, the fields are found by taking the field name, looking up the offset of the information, and then accessing it. For custom records, the offset information is generated directly into the code, resulting in faster access. For more information, see the topic, Generating a Record Bean or Class.

The generated Record has a property for each field in the dynamic record type. Setting the value of one of these properties creates the data in the buffer in the correct format. For example, if you import the following COBOL structure:

01 DFHCOMMAREA.

   02 num PIC 999.

   02 num2 PIC 999.

The generated class would look like this:

public class DFHCOMMAREA {

   DFHCOMMAREA() {

   }

   int getNum() {};

   void setNum(int anum) {}

   int getNum2() {};

   void setNum2(int anum) {}                                                                                                                      }

Calling setNum(5) would take the number 5, and put it in the underlying byte array in the correct COBOL format, and the correct place. The Java classes or beans generated at this stage are what is required as input/output to a Command.

ngrelc.gif (533 bytes)
Java Record Framework: Record Description
Records: Overview

ngrelt.gif (466 bytes)
Accessing Enterprise Data: Overview
Generating a Record Bean or Class

veti kFBZ$ r7FI6p6$ 5e ./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hrecrd.htmmeab$$ Records: Overview

Records: Overview

Record beans represent the fields in the server application that a Java client application will interact with. They can be used as input or output to a Command. This input and output data used by the Command is a Java class called a record. The record is a class within the Record Java Framework.

A record is a collection of application data elements related by some application-level semantic and usually treated as a unit. Examples are COBOL, C, and PL1 data structures.

Dynamic Record Types
Record beans or classes are generated from dynamic record types. A dynamic record type is a representation of the field content of a record in an application. A field can be another dynamic record type, an array, or a simple field. You can use the SmartGuide corresponding to your source to parse a local copy of a source file and generate a dynamic record type.

Dynamic record types can be modified in the Record Editor. Once you have defined the fields of your record type, you can use the Generate Records SmartGuide to generate a record bean or class. Record beans define the fields in the server application that a Java client application will interact with. They can be used as input or output to a Command.

The steps to create a record are illustrated in the following diagram:

n5hrecgn.gif (7614 bytes)

ngrelc.gif (533 bytes)
Java Record Framework: Overview
Record Type Generation
Java Record Editor
Record Generation
Commands
Enterprise Access Builder: Overview

ngrelt.gif (466 bytes)
Generating a Dynamic Record Type: Overview
Editing Record Types in the Java Record Editor
Generating a Record Bean or Class
Accessing Enterprise Data: Overview

 k[$+r7FI6p6$@e+./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hredit.htmmeab$$ Java Record Editor

Java Record Editor

The Java Record Editor provides a view of the Java Record Framework. The Java Record Editor is launched as a tool from a class on the Integrated Development Environment (IDE). It allows you to modify records easily and efficiently.

In the Enterprise Access Builder, a record is a class within the IBM Java Record Framework. A record is a logical collection of application data elements. These data elements are related by an application-level semantic that is stored and retrieved as a unit. When you retrieve a record, you can access the individual data elements directly, typically through a native language structure, such as COBOL.

When you import a record into the Enterprise Access Builder, often, the Importer will not be able to determine all the information for the record. For example, a field in a BMS record might represent a string, an integer, or a floating point value. By default, all BMS record fields are treated as string types. Therefore, in order for the record framework to handle integer and float fields correctly, you must first edit the record.

You could edit the record source code directly in the IDE. However, the Java Record Editor provides a convenient graphic tool for modifying the structure of a record and the properties of the record's fields. The Java Record Editor allows you to change the properties in the record type, so that each time you save the changes in the Java Record Editor, the source code for the record type is regenerated, compiled, and loaded into VisualAge. You can then version the classes (see Versioning a Program Element).

Note: The Java Record Framework describes and converts record data. The main purpose of the framework is to provide run-time support for accessing application record data. The Java Record Framework also defines a set of mechanisms for record builder tools to use. You can use the framework as the base for record-oriented file input/output, as well as for record-based message passing schemes. You can also use the framework for new applications requiring record services, and for applications accessing existing record structures.

NGRELC.GIF (533 bytes)
Java Record Framework: Overview
Record Type Generation
Java Record Editor
Record Generation
Enterprise Access Builder Commands: Overview
Enterprise Access Builder: Overview

NGRELT.GIF (466 bytes)
Generating a Dynamic Record Type: Overview
Editing Record Types in the Java Record Editor
Generating a Record Bean or Class
Accessing Enterprise Data: Overview
Versioning a Program Element

e Jav ki\$ r7FI6p6$He ./usr/IBMVJava/html/enterp/en_US/eab/concepts/c5hrtgen.htmmeab$$ Record Type Generation

Record Type Generation

To create a record to use as input/output to a Command, you must first create, and, if necessary, edit, a dynamic record type. An understanding of the Record Java Framework is recommended for reading this section. For information on the records and the Java Record Framework, see the topic, Java Record Framework: Record Description.

Create a Dynamic Record Type

Before you create a record, you must create a dynamic record type. A dynamic record type is a structure that describes the field  content of a record.  A field can be another dynamic record type, an array, or a simple field. You can create a dynamic record type with one of the importers provided in the Enterprise Access Builder, or you can modify an existing dynamic record type in the record editor.

The Enterprise Access Builder supplies import tools that parse source files and generate a dynamic record type. Importing tools are supplied for COBOL source files, BMS maps, and MFS maps.

A dynamic record type can be created by using the Dynamic Record Type Editor to manipulate an existing dynamic record type to form a new dynamic record type.

Editing a Dynamic Record Type

The Record Java Editor supplied as part of the Enterprise Access Builder allows you to manipulate a Dynamic Record Type. The Record Java Editor allows you to perform the following operations on a Dynamic Record Type:

  • add a field
  • delete a field
  • move a field
  • modify a field

A field has properties that can be manipulated in the Java Record Editor. These properties include an initial value, a literal value, and field type. An example of a property of a field type is the picture string of a COBOL record. If you used the Create a COBOL RecordType SmartGuide to parse the following record:

01 DFHCOMMAREA.

   02 num PIC 999.

   02 num2 PIC 999.

The generated dynamic record type would have two fields, num, and num2. You could use the Record Java Editor to change the num picture string to any valid COBOL picture string. This would alter the format of the dynamic record type, creating a new dynamic record type.

ngrelc.gif (533 bytes)
Java Record Framework: Record Description
Records: Overview

ngrelt.gif (466 bytes)
Accessing Enterprise Data: Overview
Generating a Record Bean or Class

htm"> k(-$s75q6$0h./usr/IBMVJava/html/enterp/en_US/eab/images/n5hopbic.gifmmeab$$GIF89a0 }}}iiiXXX999***  iE1y¤~i[FXK9ibUл}lN XREG}t^­t ͏mibMXR?Ȍ*&f ­ji[1}tUҌɂ]}l.Ɵ㲱eibFx؁T ܪҠƔyHB&кYіƊ·~T}tFib8}t?*&93 ۖ┱fYL}t6҂܂lmPTCG:ib*2ib#}t'XRiaA5*}sHHC~вƠ99/ܴ}}e›ܪПm}}^ ܠД‡k܌ HH,ii?t܂T 99!xjii8ii1**}}6XX% 99: ii*}}.5*ii"$fpaTܠ~ܪПte‡ciFܴШ|biM›u}^вuRXE¥u}e\iF~LX?bi[~mm}e\iUt}tbbi!,0H ;:1(ÞJ@cBLAF/SCʑGʔ1R)Q(3 0`jS  sG #dzD'(fB13͔<.`8l, F%a†R6L$)H"Jn)9쬊4rdse͚afH!"ntϔ)kV'QsXͪU ADHy0ǐAL٠j`!QEtCUڈ5bRVnƼBccHݎ+VmlU.,%qydf:T-x `W%xLecY4 Z|^5hu }h-]0PP1t d 2 6)S̃` %Q0B |GHcX'DqD PR( 00]hFUŲEb *Yp 1Hs2<2 cH"|Hgyc$Yd@b2t4tFcH4 A$2KZb FFp``Vd)YaI3P 5{DAL $L *`*>|@ dYx#B2$M4ϴ3C 4Lȕ " TNYEN@Rn4l3 <34$310 3uQ/b puʭY"20PEAʹz 4ps7o6ׄ 2Ł@V%I uh@ |bZDM8#3 BV\3ΐp 8A >!  5oLC~\hAh8()IP0ް I¬C 9ȑ EybKDג?m͋F3+| N0T1@H4>$"^^g$MB W (@pYA( A1 2.A@ zD*(.P0dQH, SpH Q=C2H"X!(D/c0pj W*@.,lbafLFL2"lD@@F0Br!`r p 9T*GT  X(`# D'@(ABs &:Q+l 8Cޠv(4A >&(Pf؀4^*@$&R XO+`\ HHz R, q x:*< @xj֊m;ockquot k>$s75q6$Ph./usr/IBMVJava/html/enterp/en_US/eab/images/ngaix.gifif$$GIF89a ZZZccc޵ƌs{{kss{ckkRZZZccJRRBJJ{ks{ckss{޵ss{kks{{cckRRZZZc!, @MHA`2p""n̨pLlxa5Lp +BxC )X`P^ Rd< .0p@M7qT$ВPA#g *bIH؀O2l*3T`@ 80pS&p@ث?1B0 2 $lhs(Hlqㄊh( B`O;cHݎ kZ1$ s75q6$Ph ./usr/IBMVJava/html/enterp/en_US/eab/images/ngmvs.gifif$$GIF89a ֵcB{)ks!c޽s11έƵsZB{9s){1!s)ΌckBsBc!R9)s1{!c)!{ƌskJ{)c)k1){!s)ֽεcB{R1{s!Z)s)k{Zk!RcJƜ!, @KH`!(,q 2daaB $L)@$@ `Fx<0…pƁH>qDdԼyB H ac#   f%81A K[a#kC,X!P$ #~ G'a"14 0 < 4B%n(aD /XCͺ]{Ȁ; kVG$s75q6$ph./usr/IBMVJava/html/enterp/en_US/eab/images/ngos2.gifif$$GIF89a ƔޜZc{9J{cs1B{9Bc9JckBRRZ)1Z!)R19kֽ筭ss! , @@pH,!X %E (2 d tJ˜T< { eA$u06B UBwCo L C C GEoK JQ\ `KZBM [ bBڙ k ΪJA; kP$As75q6$phA./usr/IBMVJava/html/enterp/en_US/eab/images/ngos400.gif$$GIF89a {ZRk91έƭε޵ss֜֔cckkkkRRBBZZBB11{, @ h$4 DMc@^V+#P`H$ArH [DADƑ,dZ(FP:J w~ccV]ZG A G  x + r7 iLL  _ǓX]A!;GEoK J k겱$s75q6$`h./usr/IBMVJava/html/enterp/en_US/eab/images/ngrelc.gif$$GIF89a Ͽppp```PPP@@@000 , @ dihlp,tm*1"C "](0FĀH@[08%0i)H:% QT% }Q zU  &   uai@D "" xCK p"ˀg(#"B#ޯq^Nn~S'vXA; "@PLHѝe;jҪ <f{mz1FbzE Hۈ< PĹB.E4A.&HsDP x#)uй~z'O1%TOMuh~ fW=ʑp^ "blac 8xqG0%@FE!: TB; k:$$s75q6$`h$./usr/IBMVJava/html/enterp/en_US/eab/images/ngrelr.gif$$GIF89a Ͽppp```PPP@@@000 , @ dihlp,tmI@C!LaYDNxAN !)*Tè| d$GɅX ^Rf' R J V  %;EYV u"p X"r ~GA"L j"P$Q܉ڒFZ Vs ` tz%8T> w8%ԾMV$ظLk`~ bN@!a%`,m<@HWl숫C$ <VXg˗$=Ѓ=8C損Qzp;CDC 꺖SH*$aЋʀ.sPD;!m*t k\$-s75q6$PKi-./usr/IBMVJava/html/enterp/en_US/eab/images/ngwin.gif$$GIF89a ȸ̿ɼɼ鹥ɼɼʾ䠄h4ƻ`+BBøAźA݃]Ae4@Ļں@Z?DB֚?ծ>qG>qHpGO>_0O=йY(=ϱϋo=e:O=<<_1ˣˁc[,<;tQM::ũ:M9~s887tqR777R(6dA{G{czb{c4pVy3qYeG2yd20ub8 aG/aF?aG`G^DmY..-xjH&,+re*)I-2 )7'&9- |>$|+ y+ x#v7v#t"s+ r!o%o!n j4h?.bZWN!, @]HAXaNFT5=*Z!S@PJ :YCJ? Ԥ* BB1DZ0Hbȍ_x(@HBA`2TfZ=і0  2U!"~2Qʔ 7Ryj@/„"fP@'>`1()8%$rJ!B(#Hv|J D UZh.jTQ)?dxL 4 O|So;% l~V$Gt7 I6q6$Ni,./usr/IBMVJava/html/enterp/en_US/eab/ref/allclasses.htmlmmeab$$.aceor "<>bdhilmnst/=fpy_guvCIRTjx#AEFLSBDMNOPV0HJUk-3Kwz8QWYZ()9;GXq!,1259sHvL4r-àEa8< @;o]b9sԖF*@p@H$$ P@@823BI#P|c1= 1ٌpPHQs9b9sn@ϹH3NhYF{{lpC,7S9tݶ(9sJa2H$ й0P 9s 4RE9s9scߧ_{7@A^x{ȶ12*b:gLؤ6v2'P3R8v4j883R6v2-eM]dqa}yH([ޤ6)"b9sYߪHp)s:[M0 [Qgo @*E6v2P2E6v22$[Qgo B t8PJEs@!@"ڎ;G`t("ڎ;G`tj86v2(mGM0t8PmGM0)t8HPmG1go $[Qgo Bit8A)t8($[Qgo @ZE 8RQs9Ζ2?FgFE[vZ qa=4f0DgGZp>fGD9"њ+@F)s9gF@ H@t%~6v23N\+:1ܟ}[mF;h^iwD3%PA1ܞDHbq r_ʸ:ZɒFd8= Đn-`I$jE%~MS UĖ;2H̖Sg@x#s$ԕS6v23N\+;WGv,B${-+*ldgBWw$c!d#C2YMH%zV<HԋjJF);GЧ.쫉3$ e6pz!$ԕS6v23N\+;Wd{2YMKHb_6x4dRE%jR*ԕT8΅9pr}~6] "nd8= m7yMjJF);GЧ.ܝ˜=fK)Р`s,DIԕS6v23N\+;B&[;Dq,B]ηpU7}"ڒQbFt)˅8HUm"N\IK0̖Sg@(:;)+ ܚE%~MS p],Da[,+r`'I e6pzɀ>mI_1RRlhB-+P2EZQ;GЧ.쬙$l1,B~mI_1Sgo#:¿s$c8Bߡ,BnE%~MS VL6Ua,B/E%~MS VL6U2YMiԕS6v23N\+;Y2HV>EfIl(q" $Hbq r_ɒFʱ,>{.s,DA,BW,>nw9"{$jJF);GЧ.쬙$lq"wd,BW,>nw$5"ڒQbFt)˅~{+&I*C".̒43%P0*EtBI#R-+*ldgBWwdD8fK)Р`WD:E%~MS VL6UD8fK)Р`WD8+"ڒQbFt)˅8HUms}g/L#C2YMr$$5"ڒQbFt)˅8HUms}g/cpv~{&Il(HԋjJF);GЧ.!UVr{&#ya[ e6pz u %a[Hbq rN[keg/Y3$ e6pz "wdF[RW1LT8΅9p wϬs,B|$[RW1LT8΅9p wϬs9"{ ̖Sg@ܾxF{b'Hbq rN[keg/Y{4/4l(` /4mI_1Sgo#:œ$*__>ϙ$hfK)Рn_<$5"ڒQbFt)˅8HUms}g3H;wGBH!,BX}ߓ &E%~MS VsB0fIl("+dF[RW1LT8΅9p t!qegBd8= BċjJF);GЧ.!U΄.,B@D]7tHAp e6pz Ѕŀ:mI_1Sgo#:œ$*YЅŕ\Yv3 e6pz Ѕŀ;[RW1LT8΅9p t!qegBh^iwD3%P7BH)ԕS6v23N\)Bmu\YYЅŐtC:l( { D8:mI_1Sgo#:œ$*YЅŕ\Y ܜ!Ap e6pz ЅŀJ·&{N[RW1LT8΅9pr}fK)РnEswE"ڒQbFt)˅8HUm +:eB̖Sg@7B$[RW1LT8΅9pr}7tC2YMt ".˛ &E%~MS p]gBVt ".˛1.s e6pz Ѐ.n%}ԕS6v23N\+:1ܟ}gF;wFYюхd8= rnmI_1Sgo#:³ӣ=:1ܛ0}̖Sg@Ma-+*ldgBVtc>Όw&.6~ɻ e6pz ю|=mI_1Sgo#:³tc7tdFfK)Рnw&,ċjJF);GЧ.Oɻ"7!q #~nd8= rn6aFݲHbq rYю:1ܛ0}Όw& \뛺!,B1ܛ!.wcn[RW1LT8΅9pr}OBH!,B1ܟx /4mI_1Sgo#:œ$*K'Ge.XV:3йte;l̖Sg@\[24E[RW1LT8΅9pr})cs e6pz tn}ԕS6v23N\+;Y2HVI e6pz o|-+*ldgBWwDd8= )7;ؑmI_1Sgo#:¿s%>wd,BJ}F[RW1LT8΅9ped#eX̖Sg@mE%~JI B-+P VbFt)˅gF;F{4{F;wFl(C ю6}"ڒQbFt)˅gF;DOd~4{]3%P ؇ -+*ldgBVtc>tGFLG3Gܥ%١,Bm>apX/|KR-+*ldgBWwLn`fK)РHb_6x4djJHRW1Sgo#:œ$*YЅŕ{&7tC2YMM@^iwE"ڒQb~pѐ B-+P%"I_MS Pװ3%P%$[RW1LT8΅9pe{s̖Sg@k\"ڒQbFt)˅~{(wkٱ !,B.װ߹mI_1Sgo#:¿s;؇sGKY2H̖Sg@[h7@$5"ڒQbFt)˅~{(w6{&Il(`+bm`I$jE%~MS p]~{*{tm;؇gFsb'$ e6pz p^6ѷ?rOBI#R-+*ldgBSV;S߃o~<=:6ݯd#C2YM\lC͡;tmkImI_1Sgo#:œ$*_ʞ}c!ѷ{&Il(`+bm ߃o`I$jE%~MS P ?bm$hfK)РKy$5"ڒQb~pѐjJ*ԕT8΅9pr}~6nJnA e6pzGSvt [RW1LT8΅9pr}~6nJn߰3%PMoؑmI_1Sgo#:³ӣ=#) `fK)Р =қp^"ڒQbFt)˅gF;F{tGSv=!,B6Jn{xR-+*WM7 RE%jHRW1Sgo#:¿s9#$hfK)РpF{-+*ldgBWw%>wd,BJ}F[RW1LT8΅9p wFNft߃o$hfK)Рp^:z:6HԋjJF);GЧ.O?Nfn,BٱvE%~MS SLn`fK)РpHbq r_pװ3%P8%$[RW1LT8΅9pe8wkٱ !,B.װ߹mI_1Sgo#:¿s~<۝:ZɒFd8= /X ؇At$ԕS6v23N\+;NzCͿɒFd8= /X ؇B7;ImI_1Sgo#:¿s~<2H̖Sg@[hI$jE%~MS p],Da[:26D^hfK)РpxwYmI_1Sgo#:¿s"n}8ǀ"N2H̖Sg@HI$jE%~MS p]B#~ ̖Sg@=FE%~MS S;; e6pzl`%$[RW1LT8΅9p IK:te;lپl(24En{7-+*ldgBVtc>tgy7tdFfK)Рx~nHbq rYюўёio ̖Sg@4 #~n$[RW1LT8΅9p t!qe:"mc@w=м&fK)Рx Ds /4mI_1Sgo#:œ$*YЅŔ艷"ds "nd8= {& AyMjJF);GЧ.O62qм&fK)Рx?q7tR-+*ldgBSV:62~;^iwD3%PcwFo2YM>` 웺7"">jJF);GЧ.p#^̖Sg@H kؑmI_1Sgo#:¿s&d,B;BI#R-+*ldgBSV;S߃olf{tm$ e6pz[ ߃o $Hbq r_ww3%P8F{-+*ldgBWwܱd8= `s,DIԕS6v23N\+;NL43%P8F{I#R-+*ldgBWw'Nߡ,BnR-+*ldgBSV;S߃oO~_d,BwlfImI_1Sgo#:œ$*_ʞ}:{tm^ɒFd8=  ߃o^HԋjJF);GЧ.!UT߃oL43%P8NxF{I#R-+*ldgBSV;S߃oO~d,BwI#R-+*ldgBWw2HD~ e6pzI"ڒQbFt)˅~{)$2YMF`-+*ldgBWw&ַ!L43%P8~[6tkI#R-+*ldgBWw&ַ!d#C2YMwA[hF{I#R-+*ldgBWw&ַ!ْFd8= k~!ВHԋjJF)gF@B-+PHRW1Sgo#:³Ӣ?ܧ2b?h*Xcs e6pzMw{zE%~MS Όw'NrɈtbo;ϿBH!,B=ncs7tR-+*ldgBVtc>tGFLGXrfd8= &^f[RW1LT8΅9pr}) 7AV&Dfntgs e6pzM BmI_1RRlh!IԕVbFt)˅gF;~7tC2YM?DDHbq rYюS1tG̖Sg@mI_1Sgo#:³ӣ=ΞA,B\{ $[RW1LT8΅9pr}de迃d8= p~+[RW1LTԛtg}Ba,B{$[RW1LT8΅9pr}~6y!,B{o'JE%~MS p]B#~dl(Hb_6x4dRE%j*ԕT8΅9p t!qeFĸ=ϼ3%Pb\ޑmI_1Sgo#:¿sݯ`fK)Р#e=`F{.ױ"ڒQbFt)˅gF;tc7tlM7tC2YM ю>7tR-+*ldgBVtc>O:1ܞBH!,B7F;H)ԕS6v23N\+:1ܟ}:3ߍ#`fK)Р#~Hbq rYюS1~w{xfK)Р C tn}ԕS6v23N\+:1ܟ}:#~#&#!s2YMp"ڒQb~pѐIԕ HRW1Sgo#:¿s"n}wXdѿ$3%Pɻ~JE%~MS PcwFo2YM>` 웺7"">jJF);GЧ.$wkl( ${-+*ldgBWwN왒Fd8= D $Hb_6x4dHRE%j*ԕT8΅9pelcd,Bc$ԕS+&)"ڒ$U+q rYюS1)ovhfK)Р8,%٩ԕS6v23N\+;_̖SgAHbq r__̒6=163BH!,B7;@[F0.H)ԕS6v23N\+;_ߓ#۞#BH!,B7; 'tA67tR-+*ldgBWws'tDFB#z "nd8= `7DNDHbq r_h^iwD3%PF{yMjJF);GЧ.`ײ7 зJrм&fK)Р]`p;m)DHbq r_{#pм&fK)Р]`p# قH)ԕS6v23N\+;_ݯdzcBH!,B7; vGL"@^iwE"ڒQbFt)˅~{+;;$lzbmf7tC2YMnw{I#@osyMjJF);GЧ.O_l(#e?5"ڒQbFt)˅gF;F{G^iwD3%PF˄~h /4mI_1Sgo#:¿sfIl(# ?ImI_1Sgo#:³Ӣ?ܧ2b?kFnFz0̖SgA#7CA3й[RW1LTԛ_bfpy /=gjuv#(),CIRST AFMOwx&;BDEJLV[]qNPk-Hz'GU3KWYX01248957:QZ!$#k:>9ÌVSbBt@+ l " OE JnPPpC xx0(`,g<:z}ő IzLot@ `$@D C{8zG8 p  @ 8BD겄w b,krԆ Nm"Gb|$A"=VPM  5+U,pH$ Ho  &]AADwwww%=X1 ~LUȾ@V4`djQ҄c ww'}ʔQ24YpZ(-Rָe$EINLzDTkmZ(8Z*JpB!,CӨi"R$WE$C"LUH`rS.E*S%vO@ A@EIBD.E*S%vO@  RP˧dJ]P8zG, EIBD.E*S%vO@  RP˧dJ]P8zG,($T$A24Y2Wm0$ $T$A24Y2Wm0A@$T$A24Y2Wm0RP˧dJ]P8zG, EIBD.E*S%vO@  RP˧dJ]P8zG, $T$A24Y2Wm0 I% LzDLa>r0Q% LzDLa>r0A@ RP˧dJ]P8zG,P,RP˧dJ]P8zG, % LzDLa>r0BEIBD.E*S%vO@ 4I% LzDLa>r0 $T$A24Y2Wm0(r0d RP˧dJ]P8zG,$T$A24Y2Wm0R I% $A)℈% IsfY* M}TPE_MpNZז!W5v}ݍU[Z(R/D$Q(I" dŐ0H(HRD6jő=ڇI L%v,Y 9"" n$R@(HPw%SɗOYȭ\a6.LծXZ- O@7ۡ̕ߚ' A|Ͼd8߶_*J"ozTZqd\w%)Ĉw%SɗOYȭ\aDTrdF*G2|ZPZ5|Xg"58gT_A"E~kq "W>1Rֽj \u w⠙t,@A,FJbs)7š Ӌ 6J`#I$T$C(ANzۜ90w5[*рLe&&5 HrQ8t,@A,FJbs)7š PE~ko/|Xg"5N7$(@"5N7Ċql "W>1Rֽj \u w⠙t,@A,FJbs)7š Ӌ 6J`#I$T$C(AN!,ycMluc~w%SɗOYȭ\a6.LծXZ- O@ }%@86w "q.0xع2+Vb o3*C5N7$(@ ߾ g2Tn~ko/% }%@86w &_PǥKZ1qɑZ˧dV0&Ej,DVr'֠rN,k RP;D;)˧dV0&Ej,DVr'֠yB[7zۡ̕ߚ'bȭZ刀ް}%@86w $l g2Tn~ko/%n3*C5N70$@*:=*Z׭\a6.LծX&]=f"q.0xع2+Vb"k 6>qd\w%)H!ܔyN&]=f"q.0xع2+Vb"k 6>n~kU[Zh8߶_V0&Ej,DۡߚV֚9@N7$(@ Umi~|H( ql "W>1Rֽj \`rdVrA24Y1qɑZ\ Ӌ Z$T$C(AND8p924Y1qɑZ\ Pt;XV4uUPeEj \`rdVr@ +:G( $C5cGU[Zh8߶_*JC5cGU[Zh8߶_k^q.0xع2+Vb t,bȭZ刊ծXڄ_ŐP^r*J!ܔ q"HrQ8t,D^W]o#:CjP< "q.:ya $ <k^q.:yLzEj \u"Xzd+e Ӌ Cd(6ydw%)5R6>zl;W"Greh+Wb㮷mVGu'֠yB9j@Ej \u 09j@IJ R %x'-H "W>1Rֽj \u t,DphUge Ӌ C6zCnyH(HrPC^\ܵ!_olC鷡~Cux!ܔyN&]=f"q.:y{%y]u<- O@rԀ@`!rԀ *J 0NZDӨ|c>٫zA24Y1q[Ȍ+yYhmB}j/(0c+ @yY""B w! ysrԇMއw[=yHrQ8t,@j <6> R+Wb㮷 RH*PNZH( 09j@L  NJWb㮷˧dV0]o"dUge Ӌ *{$Xl @yY""B w! ysrԇMއw[=yHrQ8t,bG/*&*l%]u<- O@rԀ@`!rԀ *J 0NZDӨ|cҥzbG/*eh+Wb#|ddUgu<6>qdOdm=!JnyH(HrPӍuߧP5R6>zl;W"Greh+Wb㮷{%y]u<- O@rԀA|Zu 0NZd|¥ ;0$~RP@`!rԀ "W>1Rֽj \u t,D^W]o#:CjP9A@^Pm:% JS!k˛aRARrԀA|H( 09j@Sck^q.:yLzEj \u"Xy *3[βڄ_ŐP!phm=![<$T$C(AN!.nZo?ݧ]ahsrԇd!wu߮^;w%SɗOYȭ\aDd^W]o#:CjP< oV0]o" <80` B9j@ ߾$Ta )ÿ`HUu|g5oZu&]=f"q.:y{%y]u<- O@Yx {%yA[<$T$C(AN!.nZo?ݧ]ahsrԇd!wu߮^;w%SɗOYȭ\aD1V`O]o#:CjP< oV0]o" <80` B9j@ ߾$Ta )ÿ`HUuzTZu&]=f"q.:y>{$Z==u<- O@YS&*`Hm:% JS!k˛ REj \u 09j@S `  EIA R;0&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*yYhmB}j/( 1VzCo  R 7+Wb㮷 RH*PNZh'9H( 09j@L  NJWb㮷˧dV0]o"%B==u<- O@Yx'&3uβEIBD;Bs,f1އw[3\aD.EZua=Gu'֠rN, <=ۭu*J!ܔ pBח7-Hۙc1 }56;D?]o!:w\ J<.EZu=bVGu'֠yB9j@!Ej \u 09j@IJ R 7%x'-H "W>1Rֽj \u t,@j <6>qdOdm=![<$T$C(AN!.nZ2ckmwuĈ~Cux!ܔyN&]=f"q.0xع2:yJ|I[z~xW]o#:CjP< Ns|"q.:ya $s䊒 <k^q.0xع2:yJt,bG/*&*l%]u<- O@YS&*`H}ۭu*J!ܔ p]w< ysrԇM3`_oC$Cëup924Y1qɐ`-|VKmMYhmB}j 1eX@0`6H*P7df  ~C-k֮0&ALuLzEj \`rd9kt_F1,iVZPZ8 }|ߖU5dw%)=8]u(C_n3Lu|c~YV:jHrQ8t,b0sqn3ߖU- O@1,#,xIJRP@,^DӨ|c>٫zb0sqn OYȭ\a6.L7mn61e[Nڄ_ŐP`cʰ㦬RP;Nkm`cn_oo*ݧM\ J<.EZaR 0mׄTo*%u0$@*:=*Z׭\a6.L7mn6t,b0sqn9Wo*tՖ'֠rN,g*ߖU5dw%)=8]u(C_n3Lu|c~YV:jHrQ8t,b0sqn:wZ1e[Nڄ(@cʰ>aR 0mׄTo*%u0$@*:=*Z׭\a6.L7mn6t,b0sqn:wZ1e[Nڄ_ŐPwh c~YVtՒ*J!ܔ p]w< Ml}0m׿me[髁"Greh+Wb"k"+Vb CjP<Jpm`w~0`eEj \`rdVr@c>t;Xߌ~|AR3*C5=N7Ċۡ̕ߚ`' ~C-k֮0&Ej,D.EZ 0mׂ㯁 nO lTduOZqd\8` ؼdw%)=8]uqʹ816*Q-nO<}_oZ$C3u_@p924Y1q[ȃphUge P (F0`F3H*P (F0a"gk^q.:yLzEj \u lyYhmB}j/(@l @yY""B wN5~C:P`smklH~Cux!ܔyN&]=f"q.:y6Ы`O]o#:CjP<P`gTP`EIA "W>1|lսj \u t,FB==u<- O@Yphm=![<$T$C(ANƺӨyBJ`Mv5o{bMM;[vD;)˧dV0]o" mVGu'֠yB$~#N6G*X2H*P (F0` ߾$T "W>1Rֽj \u t,A *3[βڄ_ŐP'&3uβEIBD;k:!t4iVo?ݧ]ahsrԁ"|cmwu߮^;w%SɗOYȭ\aDa *3[βڄ(@#0oc<)K@w0`IJ% Ċ10$@*:>3\aD.EZuphUge Ӌ NmMg6ydw%)=8]u(C\B1yiӦ߾MNrD;%vg]o!:w\ J<.EZunZZPZ_yi '>`˖6'ixZe, $_yi 'EIA<-2~|DӨ|cҥzA24Y1q[ȉa Ӌ Cw%)5'ixZe, _no/X߁"Greh+Wb㮷6>;N,`N7d|,lNӯXeIJ;N,`N7Ċ'ixZe, &_PǥKZ1q[Ȃeh+Wb㮷6>qdadw%)5'ixZe, _no/X߁"Greh+Wb㮷Kry`ﶖ'֠yB'ixZe, l2區 u`ql B'ixZe, RP@: Le8߶_k^q.:yLzEj \u nW]o" ڄ_ŐP - @#m$T$C(AN!.;N,`N7uc~| J<.EZ1Rֽj \`rdVrA24Y1qɑZ\ ;y>CjP9AAz H(HrPo(@: Le8߶_:Өpd[/qsN,nnZD;)˧dV0&Ej,DVrinXo^~ڄ(@: Le8߶_ \;N,`N7$(@: Le8߶_*J_yi ' ~C-k֮0&Ej,D.EZCjP9AAz 0mׇN$T$C(AN鷔 v}煦X2o/w82Z-v8Mݧ_yi 7-H"Greh+Wb"k"+Vʟej,AhmB}j v}煦X2o/.X_yi ' v}煦X2o/%NӯXeL  NJWb"k" OYȭ\a6.LծXZ3*5\ Ӌ Z3*5zH(HrPo(@: Le8߶_:Өpd[/qsN,nnZD;)˧dV0&Ej,DVc?H?ZPZ_yi '>`˖6'ixZe, $_yi 'EIA<-2~|DӨ|cҥzbȭZ刂eh+Wb"k"+Vʟc$~ - O@Y9Sr?O*J!ܔ p;N,`N7λ-qCGvӯ[@p924Y1q[ȎAhmB}j v}煦X2o/.X_yi ' v}煦X2o/%NӯXeL  NJWb㮷˧dV0]o":y Ӌ ۭ*J!ܔ pBח_yi 'Mluc~w%SɗOYȭ\a6.LծXmy P u`ql# c`v}煦X2o/H*P u`ql$T;N,`N70$@*:=*Z׭\a6.LծX&]=f"q.0xع2+Vb!'֠rN,W_uEIBD;yB'ixZe, ~C%2}?hh۝u`srԈ!ܔyN&]=f"q.0xع2+Vb!'֠yBW_&*nZu OGmIJj1VuEIA)`(M "W>1Rֽj \`rdVrA24Y1qɑZ ]~]o 6>qdjۭ*J!ܔ p]w?Xo56;Rb'̹c3vڮyy$C(LzEj \V_er}-- O@@(Ej \V_er} AR@)"h "W>1Rֽj \V_er}˧dV0kuZ]~k, ڄ_ŐP|% JSzqP@+X}5ZZen}=6 "Greh+Wbⵌc.5Hc.5%š Psmd|¥ `ۯ B ʹ*J6`HUuzTZeEku\F_A24Y1qZ]~V_$eV_[ڄ_ŐP^__ `*J!ܔ p]w< }0m׿m0sm>Mpc.5,"Greh+Wbⵌc.5Hc.5%š PZeF3*TFZH*PH( , ~C-k֮0kuZ]~k,LzEj \V_er}exd6>qde%Ċw%)=8]u(C_Luqʹ8}5dw%SɗOYȭ\a6.LծXZ- O@n~kU[Zh8߶_TۡߚV֚9@N7ĊH*{$[-k֮0&Ej,D.EZqd\w%)Ĉw%SɗOYȭ\a6.LծXZ刭Z3*5v/?hmB}j~\a6.LծX ծX}H*Mt;RP@^rDӨ|cҥzbȭZ刂eh+Wb"k"+Vb+Vʟa݋ZPZ8 ծXZ3*5y>% JS86wۮ:ZD;)˧dV0&Ej,DVr.N;0- O@oۡa1qɑZzxII|n}*J ծX}`HUuzTZw%SɗOYȭ\a6.LծXZؼe Mt;"q.0xع2+Vb /Vbq 7pmEIAzxL  NJWb"k" OYȭ\a6.LծXZؼe Ӌ Z6Xo'b}*J!ܔ y7pm]uZ>w%SɗOYȭ\a6.LծXծX6>ɿ|n}V0&Ej,D,@>$& H( /Vbq "W>1|lսj \`rdVrA24Y1qɑZZwb}'֠rN,k v/?""B wN5~C%]s8* !ܔyN&]=f"q.0xع2+Vb"k̩Vr'֠y7ۡ̕ߚbȭZ刀Z<$߾ g2Tn~k %,@>0$@*:=*Z׭\a6.LծX&]=f"q.0xع2+Vb"k̩Vr'֠rN,k̩,A""B w_Pboc7y6~1|P ql|g5p$C(LzEj \`rdVrEj9Sdš M}%@86w"q.0xع2+Vb /Vbq 7ۡ̕ߚEIAzxL  NJWb"k" OYȭ\a6.LծXZ3*52x6>qdXeO?H(HrPW?X[gM ߾ g2Tn~ko/\ J<.EZqd\w%)Ĉw%SɗOYȭ\a6.LDV5]u0wKCjP8 0*J")d|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;Vq: =xei8L_1 D;)˧dV0]o"dUggkmyZPZX1xc< `. %@TI=*Z׭\aD.EZu=bV՝yYhmB}j/( 1VzBgkmdw%)Ĉw%SɗOYȭ\aD1V`O]o#:CjP<1vLgAR<1Y" 1VǥKZ1q[Ȃeh+Wb㮷LU3[βڄ_ŐP=b o aRA@u 286a"` /Xnҥzc.z OYȭ\a2U(>Ej'֠rN, epmYߚEIBD;W\c.j=k:yVgp924Y1q[ȉa;[hβڄazΰ 0Y@yY" /XnҥzA24Y1q[ȉa;[hβڄ_ŐP!:% JSzq6G+޵_?mycʷ^Dz՝?up924Y1q[ȉa;[hβڄazΰgP!:%c<& 7u~k^q.:yLzEj \u"X}j<6>qdazβEIBD;kֱë,|c~YVk֬mHg6: C4q8ρ"Greh+Wb㮷{%y]u<- O@^Pm:H(c+ @yY" /XnҥzA24Y1q[ȉa=Gu'֠rN, <=ۭu*J!ܔ p^_?mycߖU=?up924Y1q[ȉa=Gu'֠pCd(6ya Cd(6yd1D:yzTZu&]=f"q.:y,=W[βڄ_ŐP!DzWuβEIBD;kֱë,|c~YVkˠJ򟮷y$C3vuΚgp924Y1q[ȉa 9j@@Ix'-H$TD:yzTZu&]=f"q.:y,<ܵ 6>qda RP;drX]sחewז8!rԈ!ܔyN&]=f"q.:y,<ܵ 6>x'-H3uW, C U`HcW9JWb㮷˧dV0]o"%'֠rN, <*J!ܔ p^_?mvX1e[,pC KlHiXnZP`!ܔyN&]=f"q.:y,<ܵ 6>x'-H#,$a RP@w0`L o7yRֽj \u t,DrԂڄ_ŐP!rԂEIBD;kֱë.>1,}5a Hg6: CWp$C(LzEj \u"XyjAhmB}j0NZ6G*X2\$ <*J s7Ur /XnҥzA24Y1q[ȉa Ӌ Cw%)=8׭cW=u^] |c~YVk9j@ KmudX>G;w%SɗOYȭ\aDK7-H- O@ RK@w0`S Yn$ <*J pYn& 7u~k^q.:yLzEj \u"XyjAhmB}j/(9jA""B wN5X]sחeߖU0NZ$C3vu+!*qD;)˧dV0]o"%'֠pCd|¥ ;0)K@,^n$a RP@w0`SuNfXD:yzTZu&]=f"q.:y,<ܵ 6>qda RP;o箹k˲o*Mycx'-H!MNrV3?%N>T:žX>G;w%SɗOYȭ\aDK7-H- O@ RK@w0`S Yn)K@,^n$a RP@w0`SuN 0mׅ9`L o7yRֽj \u t,DrԂڄ_ŐP!rԂEIBD;kֱë.>1,}5a Hg6: CWaX8P z7C(H!Q?"Greh+Wb㮷mVGu'֠pC6zCnyA@ m o qd9jA""B wN5X]sחeߖUwI Hg6: C[]p924Y1q[ȉR CjP8#O1q[ȀGtyd|¥ ;0)UH('rԂEIA<<)ÿ\& 7u~k^q.:yLzEj \u"{rԂڄ_ŐP#Ow%)=8׭cW=u^] |c~YVk'rԁ"۴7-aNnZSr(}p924Y1q[ȉR CjP8#O1q[ȀGtyd|¥ ;0)K@,^A@<*J wIaNxL o7yRֽj \u t,DI Ӌ Gt R % JSzqZz럶,ז8#OD83=/iXnZ:œܵ!+!*qD;)˧dV0]o"'O7-H- O@<V0]o"xyXS `#,xSP#OxyXSc8,^n0$@^ëKZ1q[Ȃeh+Wb㮷''֠rN,x'-H$T$C(ANƽk:y~cʷ^X< ݧ]ah< srԇdŸ*aO,CX D) (He+dr0% Jx" HEn٫DJj$$A2ز9f AN"" n$R@(HPw%SɗOYȭ\a2̕A`_X6ahmB}je _ڳ5$<Ⱦg~k %zsw-k֮0kuьJt,c.z1|T(Ej'֠rN,Y@c86a""B we _ڳ5Zzծ$C(LzEj \V_Ͼd c"g~k CjP8 ( `_"՝#,$<Ⱦg~k %czsw-k֮0kuьJt,c.z1|T(Ej'֠rN,Y@c86a""B we _ڳ5Zzծ$C(LzEj \u#=u'֠s%yY-β%@TI=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(AN$C(LzEj \u nW]o" ڄrn0wBH(o `ﶒ*J "_=*Z׭\aD.EZu2[[ȟ}6>qdrn0wI% JS f{ֱë<;w%SɗOYȭ\aD-OaZPZYnPmhF3œlTdc>3H(o `ﶒ*JxSc>3`HcW9JWb㮷˧dV0]o" u'm- O@Yܠۭ? EIBD;kֱë.?]o!m|c~YVĈvueOZ:FXSg{!ܔyN&]=f"q.:y;PeMhmB}jnXdF29 nXdF29EIA0$@^ëKZ1q[ȁߊeh+Wb㮷\*ъ̤'֠rN,[*рLe&RP;lWk:yM r%Z0 ̤=*Z!ܔyN&]=f"q.0xع2+Vb"k"k̩ؼe 7zpmﰊbȭZ刀Z<$w$T\8gk^q.0xع2+Vb t,bȭZ刊ծXլs2Xwb}'֠rN,k /Vʟ`^~EIBD;e`86wۮ:ZD;)˧dV0&Ej,DVr.N;0- O@Yn}V0&Ej,D,@>$e`86w"Z<&_PǥKZ1qɑZ˧dV0&Ej,DVr.N;0- O@Y,@*N;0v/?""B w2ްt;~C֭vρ"Greh+Wb"k"+Vb4_,iv/?hmB}j2ްt;"q.0xع2+Vb /Vbq ,C%,@>0$@*:=*Z׭\a6.LծX&]=f"q.0xع2+Vb"k#Luƛ|wb}'֠rN,k `ۯcMH(HrP̳wuߧP]HrQ8t,bȭZ刌Z;y>CjP9nۡa1qɑZzxIfX H( /Vbq "W>1|lսj \`rdVrA24Y1qɑZZwb}'֠rN,k v/?""B wN5~C%]s8* !ܔyN&]=f"q.0xع2+Vb"k̩Vr'֠s, g2Tn~k+Wb"k"k l 2ް}%@86w民RP@^rDӨ|cҥzbȭZ刂eh+Wb"k"+Vʟej,AhmB}j/(/Vʟ`^r*J!ܔ pUu!V>swnٻϾd8߶_>3!ܔyN&]=f"q.0xع2+Vb"k̩2GڄeaJpm`Ej \`rdVr@^rAFYϾd*J ծX}`HUuzTZ{$[-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ p*nn  4ew%SɗOYȭ\aDg]o" ڄ`0` P @H*=bfWb㮷˧dV0]o"3?ihmB}j/(06y}RP;Ym|kM|g/ojzvaRs!]W-n f,0!ܔyN&]=f"q.:y \ޞ?:CjP8  8   A@(,X 44)" ;|I=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(AN$C(LzEj \`rd9kt_n20mז'֠psqւu$n2YnRP@L o7yRֽj \`rd9kt_˧dV0&ALu`-yhmB}j/(ey""B wN5f{ֱë.>1,}58"-l J<.EZ{$[-k֮0]o" OYȭ\aDv#wOβڄ_ŐPnR7x'u*J!ܔ !ܔyN&]=f"q.:y,<ܵ 6>\l 0dH*{$[-k֮0]o" OYȭ\aDK7-H- O@Yx'-H$T$C(AN$C(LzEj \u#ZPZ?QEIP$@=bJWb㮷˧dV0]o":y Ӌ ۭ*J!ܔ !ܔyN&]=f"q.:yhڄam,?*J"ozTZu&]=f"q.:yhڄ_ŐPyX ?$w%)Ĉ$RP˲WbHadH(HS J@(uX'TP " dŐ0)ܑRP7Y) $A(QBD;)˧dV0]o"%'֠zMRЊ@`mH*`TuRP@`m`HUuzTZu&]=f"q.:y,<ܵ 6>qda RP;N|eMM&ܵ!ʇ[_yپ$CJ<.EZu.FOte T9Sl]h@0`6H*T9Sl]i"Yn&_PǥKZ1q[Ȃeh+Wb㮷6>qdTwIdw%)=8]u㹍M1v汯݀'$C>_Lu|c2O"Greh+Wb㮷6>԰/X>=wUr `^}{V儊`HUuzTZu&]=f"q.:y,?:CjP9A@yH(HrPk6G+Gon;|znk;{@p924Y1qɑ[ȏ^2U6Ы`O/*7-HβڄR`UH*z X *J "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p `hX>v8|b2YD;)˧dV0]o"2Xu'֠zx'`.XAU, Oj]\RP@L  NfWb㮷˧dV0]o"2Xu'֠rN, <xT1V`O/*7-HβڄR`UH*z X *J "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B w!`h#*5$C(LzEj \u"Xu'֠zx'`)a$R`?RP@L  NJWb㮷˧dV0]o"%YhmB}j/(:% JS f{`h04v|;Gv1S"Greh+Wb#jWu'֠zx'`)a$R`?RP@L  NJWb#jt,bEi3Ue Ӌ 3TyH(HrPosíשcְ}qp$C(LzEj \`rdu#A *3JR<6>԰/X>=O x'`)d`HUuzTZqd m /*dw%)GoG`8㷽ʟd J<.EZuayZPZX}ՀUKڰEIA0$@*:>3\aD.EZuayZPZ8 0βEIBD;k:#*~ߦ6aηƼ׎(o$Cְ}yp"Gˀ`h04vv/?[{\|up924Y1qɑ[ȏ^2ULU3JR<6>԰/X>=O x'`)d`HUuzTZ԰/X>= L@IT/X>= L" ~C-k֮0]o"+:˧dV0]o"+:I- O@YxRP;Nʟ17M-e5J=[}oj\;|`h^~η|P"Greh+Wb#jWu'֠zx'ai x'ai$TDӨ|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ pƿ|5X}/I_:HrQ8t,Ey[bڄR`-3$R`-3Ċ`HUuzTZuxTB=?|dܵ#:CjP9A@`H}NZyH(HrP04v I#ְ}sXqeOw%SɗOYȭ\aDd<- O@, Oj<AU, Oj԰/X>= L@IT/X>= L" ~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ p Rg04v|;Gv1S"Greh+Wb㮷6>԰/X>=q `^}{Vhd`HUuzTZu&]=f"q.:y,?:CjP9A@yH(HrPk6G+Go*04v|;Gv1S"Greh+Wb㮷mF1VZPZX}Հ8X@IT/X>=qEIA0$@*:=*Z׭\aDWu OYȭ\aDWu)8YhmB}j/(,*% JSzqk~ۢ]Z:^:TLUZ.Dh`;|s_=>T:HrQ8t,bEi3Ue z X UUKڰG$TDӨ|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ pƿ|5X}.b_Ӎ<"Greh+Wb#|d mV^2TnZe z X UUKڰG$TDӨ|cҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(AN;|F1VG`8㷽ʟd J<.EZuayZPZX}Հ8X@IT/X>=qEIA0$@*:>3\aD.EZuayZPZ8 0βEIBD;k:#*~ߦ6aηƼ׎(o$Cְ}yp"Gˀ`h8X<k!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠zx'`61VAU, OjmbRP@L  NJWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JSU`hX>v8|b2YD;)˧dV0]o"%YhmB}j`^}{V VτUKڰJ|RP@L  NJWb㮷˧dV0]o"%YhmB}j/(:% JS f{`hlh#*5$C(LzEj \u"H*CjP=KڰJ| $X}ՂU䊒`HUuzTZu1S&7E ?u5tG"[ˁ>\Gog04vv/?[{\|up924Y1q[Ȋζ- O@, Oj* `^}{V Vϒ*J "W>1Rֽj \u"LzEj \u"FgCjP9AA`l""B wN5~C?mpbo|t[kC[^kJ{Ɋ!X>ռ#04vj|Gowb}uʇ\ J<.EZ԰/X>=gH*z X%[>H( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(AN㹍kԱX>\lyD;)˧dV0&G]o">xTB=?|dܵ#:CjP=KڰJ| $X}ՂU䊒`HUuzTZqd m /*dw%)Gog04v|;Gv1S"Greh+Wb㮷,?:CjP=KڰJ| $X}ՂU䊒`HUu|g5oZu&]=f"q.:y6>qdadw%)=8]uFTMmm-oy*Q&*H`s{VD! 9݋y*p$C(LzEj \`rdu#@j rԏ<- O@, Oj* `^}{V Vϒ*J "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B w! =k75FTk HrQ8t,D<- O@, Oj$R`1H( &_PǥKZ1q[Ȃeh+Wb㮷6>qdadw%)dr04v =k75FTk HrQ8t,Ey[bU'֠zx'a `^}{V$TDӨ|cҥzEy[`t,Ey[bU'֠rN,mbRP;Nʟ17M-e5J=[}oj\;|x<k!ܔyN&]=f"q.:y^yأU塵 z Xc< $X}Ն3%k^q.:y^y&]=f"q.:y^yأU塵 Ӌ J|RP;Nʟ17M-e5J=[}oj\;|x<k!ܔyN&]=f"q.:y^yجg'֠zx'a `^}{V$TDӨ|cҥzEy[`t,Ey[bZPZ8 g*J!ܔ p]w>1S&7E ?u5tG"[ˁ>\Go#ؼooqD;)˧dV0]o"+:`ڄR`1AU, Oj䊒`HUuzTZuռ#04v 9݋y*p$C(LzEj \u"J VahmB}j`^}{V x'aEIA0$@*:=*Z׭\aDWu OYȭ\aDWu)Z - O@Y:Na""B wN5~C?mpbo|t[kC[^kJ{Ɋ!X>ռ#04v 9݋y*p$C(LzEj \`rdu"TVβڄR`1AU, Oj䊒`HUuzTZqd m /*dw%)Go#ְ}sXqeOw%SɗOYȭ\aDd<- O@, Oj$R`1H( &_P}V1q[Ȃeh+Wb㮷,?:CjP9AAyH(HrPӍuߧPeO\?2yךҥbDz7o.Hp c<Gowb}uʇ\ J<.EZ{$Z=?|dܵ#:CjP=Kڰx@IT/X>= g*J "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B w&304v|;Gv1S"Greh+Wb㮷6>԰/X>=uH*z XH( &_PǥKZ1q[Ȃeh+Wb㮷6>qdadw%)dr04v` =k75FTk HrQ8t,Ey[b`ڄR`  x'`Na" ~C-k֮0]o"+:˧dV0]o"+:`k'֠rN,`'X0RP;Nʟ17M-e5J=[}oj\;|V`<k!ܔyN&]=f"q.0xع2:yZf+LyYhmB}j`^}{VUKڰ'X0RP@L  NJWb#jt,bEi3Ue Ӌ 3TyH(HrPosíשcְ}8θ!ܔyN&]=f"q.0xع2:yJl%FyZPZX}Ձ:$R` $TDӨ|cҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(AN;|V`h#*5$C(LzEj \u#%YhmB}j`^}{VUKڰ'X0RP@L  NfWb㮷˧dV0]o"2Xu'֠rN, <=u %k^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ 1Rֽj \u"LzEj \u"H*CjP9AA`61VH(HrPӍuߧPeO\?2yךҥbDz7o.Hp u;|s_=>T:HrQ8t,Ey[bVϖ'֠zx'`x@IT/X>=6%k^q.:y^y&]=f"q.:y^yأU塵 Ӌ J|RP;Nʟ17M-e5J=[}oj\;|604vv/?[{\|up924Y1q[Ȋζc<6>԰/X>=6H*z X,^H( &_PǥKZ1q[Ȋζ24Y1q[Ȋζc<6>qd$T$C(ANƺӨ|b2 Monmvh<|kxRy1VD=k{ڷ$|f 9݋y*p$C(LzEj \u"J - O@, Ojf `^}{V 0mג*J "W>1Rֽj \u"LzEj \u"J - O@Y:w%)=8]uFTMmm-oy*Q&*H`s{VD ,^G;y>:Cw%SɗOYȭ\aDWu)Z - O@, Ojf `^}{V 0mג*J "W>1Rֽj \u"LzEj \u"J VahmB}j/(, u % JSzqk~ۢ]Z:^:TLUZ.@YnGowb}uʇ\ J<.EZ԰/X>=6H*z X,^H( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(AN㹍kԱX>\?)ÓNϱN lS8XS0ʟyÿ8θ!ܔyN&]=f"q.:y^yئ{CjP=KڰYn $X}Ղu䊒`HUuzTZuռ#04v 0m׀`h^~η|P"Greh+Wb㮷mRgCjP=KڰYn $X}Ղu䊒`HUuzTZu:Cw%SɗOYȭ\aDB==u<- O@, Ojf `^}{V 0mג*J "W>1Rֽj \u t,A *3[βڄ_ŐP'&3uβEIBD;k:#*~ߦ6aηƼ׎(o$Cְ}yq>aR 0m׿ʇ\ J<.EZ1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p u;|znk;{@p924Y1q[Ȍe z X,^AU, Ojf EIA0$@*:>3\aD.EZuayZPZ8 0βEIBD;k:#*~ߦ6aηƼ׎(o$Cְ}yq>aR 0m׿ʇ\ J<.EZuʓ6>԰/X>=6H*z X,^H( &_PǥKZ1q[Ȃeh+Wb㮷>Ru'֠rN,c'u*J!ܔ p]w>1S&7E ?u5tG"[ˍ Yn_=>T:HrQ8t,Gh1r7z{<- O@, Ojf `^}{V 0mג*J "W>1Rֽj \u t,Gh1r7z{<- O@Y0#wxyY""B wN5~C?mpbo|t[kC[^kJ{Ɋ!X>ռ0`6Cw%SɗOYȭ\aD1V`O]o#:CjP=KڰYn $X}Ղu䊒`HUuzTZu&]=f"q.:y>{$Z==u<- O@YS&*`Hm:% JSzqk~ۢ]Z:^:TLUZK@,^*p$C(LzEj \`rdu#@j rԏ<- O@, Ojf `^}{V 0mג*J "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B w ,^G`8㷽ʟd J<.EZue z Xrw $X}Շ'{%k^q.:yLzEj \u"Xu'֠rN, <T:HrQ8t,Ey[bZPZX}Շ'{H*z XrwRP@L  NJWb㮷meh+Wb㮷myhmB}j/(,1H(HrPӍuߧPeO\?2yךҥbDz7o.Hp 5;G;y>:Cw%SɗOYȭ\aDWu)Z z Xrw $X}Շ'{%k^q.:y^y&]=f"q.:y^yإk'֠rN,`EIBD;k:#*~ߦ6aηƼ׎(o$Cְ}yp"Gˀ`h 9݋y*p$C(LzEj \u"J VahmB}j`^}{V x'aEIA0$@*:=*Z׭\aDWu OYȭ\aDWu)Z - O@Y:Na""B wN5~C?mpbo|t[kC[^kJ{Ɋ!X>ռ#04vx<k!ܔyN&]=f"q.0xع2:yZf+LyYhmB}j`^}{V x'aEIA0$@*:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B w k^ZNqp$C(LzEj \u"MN'֠zx'a `^}{V$TDӨ|cҥzEy[`t,Ey[b- O@Y'{% JSzqk~ۢ]Z:^:TLUZ.F{04vv/?[{\|up924Y1qɑ[ȏ^2U6Ы`O/*7-HβڄR`9;AU, OjÓ䊒`HUuzTZqd m /*dw%)GoN`hX>v8|b2YD;)˧dV0]o"2Xu'֠zx'a `^}{V$TDӨ|c>٫zA24Y1q[Ȍe Ӌ C<$T$C(ANƺӨ|b2 Monmvh<|kxRy1VD=k{ڷ$|#ؼooqD;)˧dV0&G]o">xT1V`O/*7-HβڄR`9;AU, OjÓ䊒`HUuzTZ= $TDӨ|cҥzEy[`t,Ey[bU'֠rN,mbRP;Nʟ17M-e5J=[}oj\;| #ؼooqD;)˧dV0]o"+:j|6>԰/X>=  x'a`HUuzTZuH(HrPӍuߧPeO\?2yךҥbDz7o.Hp c`h^~η|P"Greh+Wb㮷myhmB}j`^}{VAU, Ojÿ %k^q.:y^y&]=f"q.:y^yجg'֠rN,䊒w%)=8]uFTMmm-oy*Q&*H`s{VD w0`<k!ܔyN&]=f"q.:y^yإk'֠zx'a$R`;0RP@L  NJWb㮷meh+Wb㮷mVahmB}j/(, $T$C(ANƺӨ|b2 Monmvh<|kxRy1VD=k{ڷ$|04vv/?[{\|up924Y1q[Ȋζ+X1Z z Xw0`@IT/X>= $TDӨ|cҥzEy[`t,Ey[b`ڄ_ŐPX*J!ܔ p]w>1S&7E ?u5tG"[ˁ>\Go;|s_=>T:HrQ8t,bEi3Ue z Xw0`@IT/X>= $TDӨ|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ pƿ|5X}.ƿup924Y1q[Ȋζ5;ZPZX}ՇcUKڰ`EIA0$@*:=*Z׭\aDWu OYȭ\aDWu)ڄ_ŐPXrwRP;Nʟ17M-e5J=[}oj\;| #ؼooqD;)˧dV0&G]o">xTB=?|dܵ#:CjP=Kڰ` `^}{VH( &_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xTB=?|dܵ#:CjP9A@`H}NZyH(HrP04vG`8㷽ʟd J<.EZuayZPZX}ՇcUKڰ`EIA0$@*:>3\aD.EZuayZPZ8 0βEIBD;k:#*~ߦ6aηƼ׎(o$Cְ}yp"Gˀ`h;0Gowb}uʇ\ J<.EZ{$Z=?|dܵ#:CjP=Kڰ` `^}{VH( &_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)Go;|znk;{@p924Y1q[ȉayZPZX}$R`uW,$TDӨ|cҥzA24Y1q[ȉayZPZ8 0βEIBD;Y9^;|3uW,#ְ}sXqeOw%SɗOYȭ\a6.LD}7[z~xT;:CjP=K?@]\ $X}儊`HUuzTZ1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p `hX>v8|b2YD;)˧dV0]o"2Xu'֠zx~`@IT/X>U %Ͼ6j޵q.:yLzEj \u#%YhmB}j/(0:% JSzqk~ۢ]Z:^:TLUZqHp `h^~θ!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠zx~`@IT/X>U %k^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ ԰/X>? $X}H( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(AN㹍kԱX>Ӎ<ח0!ܔyN&]=f"q.0xع2:yJl%S`<- O@, O x~*J "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*}YhmB}j/(@l^2T0wyY""B w!`hX>v8|b2YD;)˧dV0&G]o">xTB=?|dܵ#:CjP=K?@SH*z)d`HUuzTZqd m /*dw%)GoG`8㷽ʟd J<.EZuayZPZX}AU, O$TDӨ|c>٫zA24Y1q[Ȍe Ӌ C<$T$C(ANƺӨ|b2 Monmvh<|kxRy1VD=k{ʇ[#04va`;|sw%SɗOYȭ\a6.LD}=bV^2TnZe z)a$R`EIA0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xQjGu'֠rN,`Mg>xP'-H<$T$C(AN;|0 =k75FTk HrQ8t,D<- O@,  L@IT/X>-3Ċ`HUuzTZu&]=f"q.:y,?:CjP9A@yH(HrPk6G+Go =k75FTk HrQ8t,Ey[b3š zi x~xRP@L  NJWb㮷meh+Wb㮷m'֠rN,:HrQ8t,bEi3Ue zi x~xRP@L  NJWb#jt,bEi3Ue Ӌ 3TyH(HrPosíשcְ}y/I"Greh+Wb㮷mRgCjP=K?B<AU,  L" ~C-k֮0]o"+:˧dV0]o"+: '֠rN, L""B wN5~C?mpbo|t[kC[^kJ{Ɋ!X>=>T:.JL<"Greh+Wb#|d mV^2U?βڄR`дUK?BxTB=?|d e Ӌ NmMg>xP#adw%)Go =k75FTk HrQ8t,bG/*phUgyYhmB}j`^}ZgH*zi$TDӨ|cҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(AN;|`hX>v8|b2YD;)˧dV0]o"2Xu'֠zx~x $X}EIA0$@*:>3\aD.EZuayZPZ8 0βEIBD;k:#*~ߦ6aηƼ׎(o$Cְ}{\|u>\Go 9݋yD;)˧dV0&G]o">xT1V`O/*7-HβڄR`дUK?BxT1V`O/*7-Hβڄ_ŐP=b /*dw%)Go =k75FTk HrQ8t,D<- O@, q `^} U*J "W>1Rֽj \u t,D<- O@YxyY""B wp #G#ְ}sXqeOw%SɗOYȭ\aDWu)8YhmB}j`^} UUK?@mbRP@L  NJWb㮷meh+Wb㮷mF1VZPZ8 qEIBD;k:#*~ߦ6aηƼ׎(o$Cְ}{\|u>\Go*04vv/?\ J<.EZuqd Vϒ*J!ܔ p]w>1S&7E ?u5tG"C\;|F1VG;y>:HrQ8t,Ey[bZPZX}ha$R`G$TDӨ|cҥzEy[`t,Ey[bZPZ8 g*J!ܔ p]w>1S&7E ?u5tG"C\;|F1VG;y>:HrQ8t,Ey[bZPZX}ha$R`G$TDӨ|cҥzEy[`t,Ey[bZPZ8 u % JSzqk~ۢ]Z:^:TLUZqHp #G#ؼop$C(LzEj \u"J VahmB}j`^} UUK?@mbRP@L  NJWb㮷meh+Wb㮷mVb CjP9AA`N`H(HrPӍuߧPeO\?2yךҥbDzkp"Gˀ`h8X<"Greh+Wb#jWu'֠zx~8X@IT/X>*%k^q.0xع2:yZf OYȭ\a6.LDV5^yZPZ8 5Adw%)6w1: z=k{qo*HrQ8t,Ey[b- O@, q `^} U*J "W>1Rֽj \u"LzEj \u"MN'֠rN,Ó䊒w%)=8]uFTMmm-oy*Q&*H`|P$|U`h^~θ!ܔyN&]=f"q.0xع2:yJl%FyZPZX}ha$R`G$TDӨ|cҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(AN;|F1VG`8㷽ʟd J<.EZuayZPZX}ha$R`G$TDӨ|c>٫zA24Y1q[Ȍe Ӌ C<$T$C(ANƺӨ|b2 Monmvh<|kxRy1VD=k{ʇ[#04vbGowb}up924Y1qɑ[ȏ^2ULU3JR<6>԰/X>*H*z61VH( &_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)Go*04v|;Gv1S"Greh+Wb㮷6>԰/X> x~U䊒`HUuzTZu&]=f"q.:y,?:CjP9A@yH(HrPk6G+Gog04v|;Gv1S"Greh+Wb㮷m5[>ZPZX} VτUK?A*EIA0$@*:=*Z׭\aDWu OYȭ\aDWu(lhmB}j/(,$T$C(ANƺӨ|b2 Monmvh<|kxRy1VD=k{ʇ[#04vj|Gowb}up924Y1q[Ȋζc<6>԰/X> x~U䊒`HUuzTZu\Gog04vv/?\ J<.EZuH( &_PǥKZ1q[Ȋζ24Y1q[Ȋζ+X06>qd*J!ܔ p]w>1S&7E ?u5tG"C\;|5[>G;y>:HrQ8t,bEi3Ue zl@IT/X>$TDӨ|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ pƿ|5X}ƿu˚"Greh+Wb㮷mjw6>԰/X> x~U䊒`HUuzTZu=>T:.CU;|sw%SɗOYȭ\a6.LD}7[z~xQjGu'֠zx~U$R`J|RP@L  NJWb#|d OYȭ\a6.LD}7[z~xQjGu'֠rN,8 6%@ AU, g%Ͼ6j޵q.:yLzEj \u#%YhmB}j/(0:% JSzqk~ۢ]Z:^:TLUZqHp #ؼop$C(LzEj \`rdu#@j rԏ<- O@, gH*zl" ~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ p #ְ}sXqeOw%SɗOYȭ\aDKβڄR`x@IT/X>1H( &_PǥKZ1q[Ȃeh+Wb㮷6>qdadw%)dr04v =k75FTk HrQ8t,Ey[bZPZX} x~3%k^q.:y^y&]=f"q.:y^yجg'֠rN,䊒w%)=8]uFTMmm-oy*Q&*H`|P$|1G;y>:HrQ8t,Ey[bZPZX} x~3%k^q.:y^y&]=f"q.:y^yإk'֠rN,`EIBD;k:#*~ߦ6aηƼ׎(o$Cְ}{\|u>\Go#ؼop$C(LzEj \`rdu"TVβڄR`x@IT/X>1H( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(AN㹍kԱX>Ӎ<ח| J<.EZuqd$T$C(ANƺӨ|b2 Monmvh<|kxRy1VD=k{ʇ[#04v 9݋yD;)˧dV0&G]o">xTB=?|dܵ#:CjP=K?C$R`y" ~C-k֮0&G]o">xT.EZ=>T:.Lg`h^~θ!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠zx~3H*zEIA0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xQjGu'֠rN,`Mg>xP'-H<$T$C(AN;|xh#*5$C(LzEj \u"Xu'֠zx~:$R`'X0RP@L  NJWb㮷˧dV0]o"%YhmB}j/(:% JS f{`hZ;|znk;{@p924Y1q[Ȋζc<6>԰/X>  x~:`HUuzTZu\Go #ؼop$C(LzEj \u"J - O@, uH*zNa" ~C-k֮0]o"+:˧dV0]o"+:`ڄ_ŐPXH(HrPӍuߧPeO\?2yךҥbDzkp"Gˀ`hZ;|sw%SɗOYȭ\aDWu)Z - O@, uH*zNa" ~C-k֮0]o"+:˧dV0]o"+:`k'֠rN,`'X0RP;Nʟ17M-e5J=[}*oD"04vv/?\ J<.EZ԰/X>  x~:`HUuzTZxT.EZ $TDӨ|cҥzbG/*eh+Wb#|ddUgyYhmB}j/( 1VzCrԀβEIBD;Ek`hX>v8|b2YD;)˧dV0]o"%YhmB}j`^},^AU, 6%k^q.:yLzEj \u"Xu'֠rN, <԰/X>`ۯ x~u䊒`HUuzTZuqdEIBD;k:#*~ߦ6aηƼ׎(o$Cְ}{\|u>\Gox<"Greh+Wb㮷mF1VZPZX} 0mׄUK?Af EIA0$@*:=*Z׭\aDWu OYȭ\aDWu)8YhmB}j/(,*% JSzqk~ۢ]Z:^:TLUZqHp u;|sw%SɗOYȭ\aDWu(lhmB}j`^},^AU, 6%k^q.:y^y&]=f"q.:y^yأU塵 Ӌ J|RP;Nʟ17M-e5J=[}*oD ,^G;y>:HrQ8t,Ey[bZPZX} 0mׄUK?Af EIA0$@*:=*Z׭\aDWu OYȭ\aDWu+塵 Ӌ y""B wN5~C?mpbo|t[kC[^kJ{Ɋ!X>=>T:.@YnGowb}up924Y1q[Ȋζ+X06>԰/X>`ۯ x~u䊒`HUuzTZu=>T:.@YnGowb}up924Y1q[Ȋζ+X1Z zx@IT/X>`ۯ$TDӨ|cҥzEy[`t,Ey[b`ڄ_ŐPX*J!ܔ p]w>1S&7E ?u5tG"C\;|604vv/?\ J<.EZ԰/X>`ۯ x~u䊒`HUuzTZ԰/X>`ۯ x~u䊒`HUuzTZu=>T:.@YnGowb}up924Y1q[Ȋζ)3š zx@IT/X>`ۯ$TDӨ|cҥzEy[`t,Ey[bڄ_ŐPXi$T$C(ANƺӨ|b2 Monmvh<|kxRy1VD=k{ʇ[#04v 0m׀`h^~θ!ܔyN&]=f"q.:ynm <6>԰/X>`ۯ x~u䊒`HUuzTZu&]=f"q.:ynm <6>qd m o 1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*}YhmB}j/(@l^2T0wyY""B w ,^G`8㷽ʟd J<.EZxT.EZ3\aD.EZuayZPZ8 0βEIBD;k:#*~ߦ6aηƼ׎(o$Cְ}{\|u덑 Ynw%SɗOYȭ\aDhIyZPZX} 0mׄUK?Af EIA0$@*:=*Z׭\aD.EZuʓ6>qd |<԰/X>`ۯ x~u䊒`HUuzTZu&]=f"q.:y \ޞ?:CjP9AA HGtyH(HrPӍuߧPeO\?2yךҥbDzkq>aR 0mp924Y1q[ȁ&*lyYhmB}j`^},^AU, 6%k^q.:yLzEj \u |I[zzyyZPZ8 LU6ۭu*J!ܔ p]w>1S&7E ?u5tG"C\lTdu$C(LzEj \`rdu#@j rԏ<- O@, 6H*zy" ~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ p u;|znk;{@p924Y1q[ȉayZPZX} x~'{%k^q.:yLzEj \u"Xu'֠rN, <\GoN`h^~θ!ܔyN&]=f"q.0xع2:yJl%FyZPZX} x~'{%k^q.0xع2:yJt,bG/*phUgyYhmB}j/(@l^2T R:% JS#ְ}sXqeOw%SɗOYȭ\aDd<- O@, NUK?C䊒`HUu|g5oZu&]=f"q.:y6>qdadw%)=8]uFTMmm-oy*Q&*H`|P$|#ؼop$C(LzEj \`rdu#@j rԏ<- O@, NUK?C䊒`HUuzTZZPZX}AU,  $TDӨ|cҥzEy[`t,Ey[bVϖ'֠rN,*EIBD;k:#*~ߦ6aηƼ׎(o$Cְ}{\|u>\Go;|sw%SɗOYȭ\aDWu+塵 z$R``EIA0$@*:=*Z׭\aDWu OYȭ\aDWu+塵 Ӌ y""B wN5~C?mpbo|t[kC[^kJ{Ɋ!X>=>T:.@` 9݋yD;)˧dV0]o"+:`ڄR`` `^}w0a" ~C-k֮0]o"+:˧dV0]o"+:`ڄ_ŐPXH(HrPӍuߧPeO\?2yךҥbDzkp"Gˀ`h;0Gowb}up924Y1q[Ȋζ+X1Z z$R``EIA0$@*:=*Z׭\aDWu OYȭ\aDWu)Z - O@Y:Na""B wN5~C?mpbo|t[kC[^kJ{Ɋ!X>=>T:.@` 9݋yD;)˧dV0&G]o"+LEi<- O@,   x~c*J "W>1Rֽj \`rdu"T.EZqdj:% JSmc_u,z_:ÿ HrQ8t,Ey[b- O@,   x~c*J "W>1Rֽj \u"LzEj \u"MN'֠rN,Ó䊒w%)=8]uFTMmm-oy*Q&*H`|P$|04vv/?\ J<.EZ1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p c`hX>v8|b2YD;)˧dV0]o"2Xu'֠zx~cUK?C %Ͼ6j޵q.:yLzEj \u#%YhmB}j/(0:% JSzqk~ۢ]Z:^:TLUZqHp c`h^~θ!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠zx~cUK?C %k^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ xTa҄Z>xWu'֠pᡀ @@ AA`8C 8RT N>{$[[֮0&G]o">xT.EZqda RP8p924Y1q[ȉayZPZ2*,m,RT Od|cҥzA24Y1q[ȉayZPZ8 0βEIBD;D;)˧dV0]o" u'm- O@`idI H*LU1Rֽj \u t,AܮD; Ӌ [uGaH(HrPHrQ8t,G]o 6>e-U&X2Y" 1VǥKZ1q[Ȃeh+Wb㮷uڄ_ŐPm % JSJ<.EZu.FOte ,CAPXK$TD|S1VǥKZ1q[Ȃeh+Wb㮷6>qdTwIdw%)Ĉw%SɗOYȭ\aDPZPZ7@?$I)m$Ta`XDӨ|cҥzA24Y1q[Ȋ CjP9AAcۭ*J!ܔ p]w:/17yvu?O|hbqͷg6u!ܔyN&]=f"q.:y+'֠zMOhA``IRn( I%k^q.:yLzEj \u!W[- O@YDzWuEIBD;k:E&7.Ӯܴ9I!;>LU9߮D;)˧dV0]o"0iš t@Sa`XAT EIA0$@*:>3\aD.EZu0q'֠rN,SQƛ|H(HrPk- Mo]]ahsy&*pfz_n`M"Greh+Wb㮷uڄI)m0, MOi" ~C-k֮0]o" OYȭ\aDu CjP9AA[$T$C(ANƺӨt_/mpbo|: Ct"[n Kmi$C(LzEj \`rdVrCmW_[- O@ Ѓ P*J0, "W>1Rֽj \`rdVrA24Y1qɑZ ]~]o 6>qdjۭ*J!ܔ p]w87-{z}eKpum"~;hs{Vz2HrQ8t,D<- O@ o< @`m0)K@,^AT o< EIA[ s6`HUuzTZu&]=f"q.:y,?:CjP9A@yH(HrPk6G+޵gPzM"Greh+Wb㮷m'֠zM 7JXEj \u 06yNa`Xd|¥ `ۯ M 7JY"ۭ9``Su0$@*:=*Z׭\aDWu OYȭ\aDWu*aR 0mׄU&CRP@`m0)f  ~C-k֮0]o"+:˧dV0]o"+:j|6>qd Vϒ*J!ܔ poMֱ,*osl?ݧ]ah!?O"Greh+Wb㮷myhmB}jPc~YTuV0]o"nN6G*X2f Pc~YTu*J @S8,^DӨ|cҥzEy[`t,Ey[bZPZ8 g*J!ܔ poMֱ,*osl?ݧ]ah!?O"Greh+Wb㮷mVahmB}jPc~YTuV0]o"nN6G*X2f Pc~YTu*J @S8,^DӨ|cҥzEy[`t,Ey[bZPZ8 u % JS}ߦXߖ{ƹm{nӮܴ 'p924Y1q[Ȋζ+X1Z tBgRZu @S80`6H*tBgRH( 06yNa`XxL  NJWb㮷meh+Wb㮷mVb CjP9AA`N`H(HrP&7/Z|u5mvuH0>w%SɗOYȭ\aDWu)ڄIzP\aDo )? lTdu$IzP$Tu0, pYn&_PǥKZ1q[Ȋζ24Y1q[Ȋζ5;ZPZ8 N*J!ܔ poMֱ,*osl?ݧ]ah!?O"Greh+Wb㮷mRgCjP=&C"q.:yu0, q>aR 0mׄU&CRP@`m0)f  ~C-k֮0]o"+:˧dV0]o"+: '֠rN, L""B w\n(^,*T:+Wb㮷[ s#,xIRn(^,*T:%o )? `ۯ "W>1|lսj \u t,FKβڄ_ŐP`!u*J!ܔ poMֱ,*osl?ݧ]ah!?O"Greh+Wb#|ddUgyYhmB}jPc~YTuV0]o"nN6G*X2f Pc~YTu*J @S8,^DӨ|cҥzbG/*eh+Wb#|ddUgyYhmB}j/( 1VzCrԀβEIBD;k:Vz7C^׭g2$CnamyiXnZM5MNru!ܔyN&]=f"q.:y,<ܵ 6>n(^,*T:+Wb㮷[ |gU&CRP@`m0$@*:=*Z׭\aD.EZunZZPZ8 0NZH(HrP&7鷭c~Y>T:ۛ>5mq"!ܔyN&]=f"q.:yR CjP=&C"q.:yuxIRn(^,*T:%o )DӨ|c>٫zA24Y1q[ȌnZZPZ8 0NZH(HrP&7鷭c~Y>T:ۛ>5mq"]ahsyHrQ8t,C-h'֠zM 7JXEj \u 06yO Pc~YTu*J @S<&_PǥKZ1q[Ȃeh+Wb㮷 nZZPZ8 vߴo *J!ܔ poMmXߖ{7y6sl?H9w%SɗOYȭ\aDK7[zzyyZPZ7@/Xߖx*a1q[Ȁۭ>3œlTdu$IzP$TuxSu0$@*:=*Z׭\aD.EZunm <6>qda`Hm:% JS f{ֱ,*oI$C(LzEj \u"TڄIzP\aDo )d|¥ `ۯ M 7JY"ۭ>3œ`ۯ "W>1Rֽj \u"LzEj \u"Tڄ_ŐPXZg% JS}ߦXߖ{ƹm{Ͽݧ]ah![~nӮܴ?]o"w%SɗOYȭ\aDWu)8YhmB}jPc~YTuV0]o"n q>aR 0mׄU&CRP@`mN 0mׄk^q.:y^y&]=f"q.:y^yؤhe Ӌ G$T$C(ANk~痭c~Y>T:u>vuHMm3ӌMNru!ܔyN&]=f"q.:y^yأU塵 tBgRZu @S<)K@,^AT o< EIA[ |g8,^DӨ|cҥzEy[`t,Ey[bVϖ'֠rN,*EIBD;m17yz7Cw[miXnZ}4߸3=8۴7-[ȁ"Greh+Wb㮷myhmB}jPc~YTuV0]o"n q>aR 0mׄU&CRP@`mN 0mׄk^q.:y^y&]=f"q.:y^yجg'֠rN,䊒w%)>pbo|o=ʇ[\=nӮܴ ipfzqiXnZD;)˧dV0]o"+:`ڄIzP\aDo )d|¥ `ۯ M 7JY"ۭ>3œ`ۯ "W>1Rֽj \u"LzEj \u"J - O@Y:w%)>pbo|o=ʇ[\=nӮܴ ipfzqiXnZD;)˧dV0]o"+:`k'֠zM 7JXEj \u 06yO#,xIRn(^,*T:%o )xL  NJWb㮷meh+Wb㮷mVb CjP9AA`N`H(HrP&7/Z|u5m}6: @gvuy$C(LzEj \`rdu"TV?:CjP=&C"q.:yuxS Yn$7@/Xߖx*dn pYn&_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TV?:CjP9AAzf'u*J!ܔ pV޵gPvu$|,^$C3{U}56'jCTX鷤Pc~YTuNη^k{鷞<&w%SɗOYȭ\a6.LDV5^yZPZ7@/Xߖx*a1q[Ȁۭ>3œlTdu$IzP$TuxSu0$@*:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B w\kocmu@p924Y1q[Ȋ[#wOβڄIzP\aDo )d|¥ `ۯ M 7JY"ۭ>3œ`ۯ "W>1Rֽj \u t,Ej-'YhmB}j/(/T9lHGtyH(HrPtZz7Cu?`ۯ!Opfz_oj={7-Hp+16 o< "w>6y{Kڭv}56'p924Y1q[Ȋζ5;ZPZ7@/Xߖx*a1q[Ȁۭ>3œlTdu$IzP$TuxSu0$@*:=*Z׭\aDWu OYȭ\aDWu)ڄ_ŐPXrwRP;} Mo^gP|kgmu"M5 N16: C HrQ8t,Ey[bڄIzP\aDo )d|¥ `ۯ M 7JY"ۭ>3œ`ۯ "W>1Rֽj \u"LzEj \u"@LhmB}j/(,@*J!ܔ poMֱ,*oslMNr$C馶?ݧ]ah~D J<.EZxT.EZn(^,*T:+Wb㮷[ |g80`6H*tBgRH( 06yO6`HUuzTZu&]=f"q.:ynm YhmB}j/(@l<$T$C(AN5#Z|u&@p924Y1q[Ȍ7[z|6>n(^,*T:+Wb㮷[ |g80`6H*tBgRH( 06yO6`HUu|g5oZu&]=f"q.:y6Ы`Ou'֠rN,8 6βEIBD;m17yz7Cw[miXnZ}4߸3=8۴7-[ȁ"Greh+Wb㮷6>n(^,*T:+Wb㮷[ |g80`6H*tBgRH( 06yO6`HUuzTZu&]=f"q.:y \ޞ?:CjP9AA HGtyH(HrPtZz7Cu?`ۯ!Opfz_oj={7-Hp+16 o< "w>6y{Kڭv}56'p924Y1qɑZ\ tCp M aü;RP@L  NJWb"k" OYȭ\a6.LծXZ- O@Y,A""B wN5~C\sma.\?ptO˝?h!Jc_n\ D;)˧dV0&Ej,DVc?ծXڄI8w|U&0H( &_PǥKZ1qɑZ˧dV0&Ej,DVc?ծXڄ_ŐP^c?Z$T$C(ANƺӨ|km=Vba17M0蟗;~"$Cʕƿ޵k!^CHrQ8t,bȭZ刊լs2X'CjP=&0AT Çxw" ~C-k֮0&Ej,D.EZqd\w%)=8]u> kgo 4?mk!Mz{\ۅ,C4k |`ۡߚ!ܔyN&]=f"q.:y^yجg'֠px@I3%zsw-k֮0]o"+:˧dV0]o"+:ڄ_ŐPXc2e;ΰ eHwId`HcW9JWb㮷meh+Wb㮷mT`s'YhmB}j/(, #,'u*J!ܔ p^_?mycߖUn`2{θ!ܔyN&]=f"q.:y^yإK=u'֠p&X0tGty, &X0tGtyH(#XD:yzTZu1,}5ReIbD83=/iXnZcsXЧ:h:q9<"Greh+Wb㮷mT`}u0wKCjP8X,:FXmh@I2eo `ﶒ*J "_=*Z׭\aDWu OYȭ\aDWu)Re'm- O@Y2eo `ﶒ*J!ܔ p͑cW9. #-y?"Greh+Wb㮷mT`}u0wKCjP8X,:FXmhF3œlTdc>3H(, #,6y}RPF3œ;0)D:yzTZuqduβEIBD;kֱë,{Y{ʷ^\-,:F[:HrQ8t,Ey[b,:F_]o#:CjP8X,:FXm:1AA`L`a[<$T /XnҥzEy[`t,Ey[b,:F_]o#:CjP9AA`L`a[<$T$C(ANƽk:y~7o[X0t?uݧ]ahs.0c$C(LzEj \u"J #,s3Ye , #,`yX@I2e<$TD:yzTZu1,}5RefHg6: C4q8ρ"Greh+WbⵌyڄJBc1}h UA" ~C[֮0kuь7ëu24Y1qZ]~c oq[dhmB}j/(/w$T$C(ANƺӨtcN_MyRom~߾83=/鷭F2zw%SɗOYȭ\a2oKW끲>`lc'CjP=* Pm $W<Rlf7`HUuzTZeF0ޖd|24Y1qZ]~c op6G [dhmB}j/(O*J!ܔ p]w:1kmO3ևnp924Y1qZ]~c opUn1š s(6c~AT)A3ւEIA0$@*:=*Z׭\a2oKWeh+Wbⵌეc'CjP9A@ rO*J!ܔ p]w:1kmOn궿XoZ#?D;)˧dV0kuZ]~k,Z]~k,š sksXV0kuь7ëub-IRxmnkbEIA~0$@*:=*Z׭\a2.Y#/t,c.z+X˯b2+X˯b26>qde,Ċw%)=8]uֽmyRs6e汮ojo[d~nmu50St67y6X!鵉ʹ>16[d~ J<.EZeF3*2Xd- O@[["q.+X˯ތa-^;l7/H*sksX*J Eܾ "W>1|lսj \V_Ͼd OYȭ\a2̕Eku\F_'֠rN,2RP;NW<ێmX˯c]X}56O>"nZĈM^#?w%SɗOYȭ\a2̕B,c.5HڄJNu +Wbⵌ1r$W< 51"[?  ~C-k֮0kuьJt,c.z1|T"͑2Xd- O@YlWuK$e""B wN5~CҮyCֱ_ƺkmw|E Cx c'X@p924Y1q[ȃ%]u0wKCjP=+Ya$JY" ~C-k֮0]o" OYȭ\aD-OaZPZ8 eA[;w%)/~cn۶WoJƾ6HrQ8t,b0sqn e`ۯ- O@eU+Yd`HUuzTZqdjxyY""B wz7u~zf{\ J<.EZ隠JnyAAzf=ۭu*J "_=*Z׭\a6.LDVeh+Wb#jRd+e Ӌ 3T^Pm:% JSzqZz럶gyo*Myz5N+~C\ J<.EZw%SɗOYȭ\a6.LDV5X0mז'֠p3TR 0mׄ `#,$j*T:f EIAND:yzTZRu'֠p3T |<< $P,}βEIA0$@^ëKZ1qɑ[Ȋ5PLzEj \`rdu"TVʓ6>qdjc'u*J!ܔ pcWk;|c~YVk֙}|=w%SɗOYȭ\a6.LDV5Z>Ru'֠p3T |<<#$jc'u*JxL o7yRֽj \`rdu"T.EZ隠ۭP^ A" /XnҥzbEi&]=f"q.0xع2:yZf+Lu CjP9AAzf6yw%)=8׭cW=u^] z5N+~CʷgHE#T`;l J<.EZqdjnH(HrPӍz7u~\`ǭ3T=>1,pfz_bD;Nruη!f{ !ܔyN&]=f"q.0xع2:yZf+Lu CjP8^ @Ej \u 08 6ۭu9``I隠ۭ*J 0NmMg6yaNa`XD:yzTZ隠ۭ? Ё>aR 3TuGaH( ;0)D:yzTZ3ŸOxI隠ۭ? EIAOxS<) "_=*Z׭\a6.LDVeh+Wb#jW]o" ڄ_ŐP^ @#m$T$C(ANzf6y}X KʔsNӮܴ@p924Y1qɑ[Ȋ5QZf`ڳ5 /Lo ՝ 3TuVw民RP@L o7yRֽj \`rdu"T.EZ1,}5L?up924Y1qɑ[Ȋ5QZf:CjP8^<#,$j:%czsw-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzfqdjnH(HrPHrQ8t,bEiE#.՝- O@z2Vw $$e7586a" /XnҥzbEi&]=f"q.0xع2:yZf+QgH˭`g~k CjP9AAz2Vw民RP;:.Mj,EIaz` ;XHYN K]u[#.w%SɗOYȭ\a6.LDVY2X>mYߚڄ #,/X>g~kK@w0`I,H nkpmYߚEIA0$@^ëKZ1qɑ[Ȋ5PLzEj \`rdu"TVΑZej'֠rN,$e7586a""B w 7u{^\YAz2Vw民U۴7-:D;)˧dV0]o"+T9l\ޞ?:CjP8^r << $CTwId`HcW9JWb㮷˧dV0]o"+T9l\ޞ?:CjP9AAz`*F;βEIBD;k͑ޯz7u~\k;|c~YVky:HrQ8t,Ej-'YhmB}j [R7x'uc< H(/T9lHGtyH(#XD:yzTZu&]=f"q.:yZbnIyZPZ8 [R7x'u*J!ܔ p^_?mycʷ^^C\y:Ĉpfz_nӮܴ:1v汰$C(LzEj \u"C6>-:1OZu 6zC:H(/T9lHGtyH(#Xလ`HyXL o7yRֽj \u t,Ej-'YhmB}j/(/T9lHGtyH(HrPӍz7u~\双o*Myz[r7yO<!MNrƼd:HrQ8t,Ej-'YhmB}j [R7x'uc< $n#O<$T, |gzsw-k֮0]o" OYȭ\aDVrع=u'֠rN,CTwIdw%)=8׭cW=u^XחP#w{α"۴7-]hSM\`N3HrQ8t,Ej-'YhmB}j [R7x'uc< OZu 6zC:H(/T9lHGtyH(#X pNmMg<& 7u~k^q.:yLzEj \u"C6>qdn#O<$T$C(ANƽk:y~7oj-'uݧ]ahtbcB xSKmw%SɗOYȭ\a6.LծXZ- O@zAAzH( & 7u~k^q.0xع2+Vb t,bȭZ刊ծXڄ_ŐP^r*J!ܔ pZz7u~֭vρ"Greh+Wb"k"+Vb+Vʟa݋ZPZk /Vʟ`^~ ծXZ3*5y>%zsw-k֮0&Ej,D.EZ,@>d|¥ `ۯ Zqd\86a""B w ծXVwX$C(LzEj \`rdVrEj,B㱃^~ڄ\8` ؼa$\8` ؼd`HcW9JWb"k" OYȭ\a6.LծXZ\v0a݋ZPZ8 ծXTv0`^~EIBD;\8` ؼoZށ"Greh+Wb"k"+Vb4_,iv/?hmB}j ծXYn?6v/?@I,@,^ƛ|;RP@L o7yRֽj \`rdVrA24Y1qɑZ\`ۯ46>qd\xKm^~EIBD;\xKm^~cW=jl!ܔyN&]=f"q.+X˯ތa-^;>kw- O@^x@IVy䊒`HUuzTZeF0ޖd|24Y1qZ]~c op6G [dhmB}j/(O*J!ܔ p]w?ڔו)c~mVzկ>w%SɗOYȭ\a2̕G[twU'֠zկ< $VEIA0$@*:>3\a2̕A24Y1qZ]~c>nڄ_ŐPmGuY""B wN5~C1J)6mVk>Uyb>vkX2He-$C(LzEj \V_Ͼd:ۣ6>֭yXLH*k"eH( &_P}V1qZ]~c>&]=f"q.+X˯ތg2UmVZPZ8 $T$C(ANƺӨzկ=oW`[mjמv֪w%SɗOYȭ\a6.LծXZ3*5\ /Vʟ`^rP^c?Z$TD:yzTZqdXeO՝$T$C(ANzfTkpmYߚǭcW=jl!ܔyN&]=f"q.+X˯ފլs2Y`ڳ5 /Vʟ` ;X6G*X2H(/Vʟ` ;XH( ;0& 7u~k^q.+X˯ނeh+WbⵌZ3*5 ;XZPZ8 լs2Xj*J!ܔ pZ3*586cֱëk| J<.EZ@`H*=bJWb#jt,bEi3U[ȟ}6>qdjn0wI% JS[oƿ4 5An K˅PX蟗ηϽoub$Cˀ (S@X!N @  Cူ@  @Cޕ#p$C(LzEj \`rdu"TVOaZPZ`AA`P$TD|S1VǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVOaZPZ8 5A[;w%)_u{˅隠ηg`(, tO[g޷v !`P@x`,}  8Cޕ#p$C(LzEj \`rdu"TVOaZPZ` AA`P$TD|S1VǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVOaZPZ8 5A[;w%)_u{˅隠ηg`(, tO[g޷v !`P@x`,}  Cޕ#p$C(LzEj \`rdu"TVOaZPZ`@"EIP$@w8ozTZqdXeO民RP;Nʟ}9f_>Ͼ5T;X$C֭c?!ܔyN&]=f"q.+X˯ފ2Xd2Xd- O@z]~kR|AAz]~kR|H( & 7u~k^q.+X˯ފ2Xdeh+Wbⵌc.5Hc.5Hڄ_ŐP^_TF_*J!ܔ !ܔyN&]=f"q.+X˯ފ2Xd2Y2Y |ZPZd $dRP@L o7yRֽj \V_er}˧dV0kuZ]~k,Z]~k7K0oCjP9AAz]~k|2Y |H(HrPӍuߧP?mzc'e%$C(LzEj \V_er}exd6>uf-Ej \V_z]~kK$ehIuf-"c.5]2l u& 7u~k^q.+X˯ފ2Xdeh+Wbⵌc.5Hc.5%š Ӌ c.5,$T$C(ANƺӨz럶V#?hpc.5,"Greh+Wbⵌc.5Hc.5kv5 /X˯`~. nO lTdu$e?mYk'XH( `ۯ "_=*Z׭\a2.Y#/t,c.z+X˯b2+X˯g+:ZݬahmB}j/(/X˯`~. nO民RP;N~c[}56K[h}0m׼C$Cp$C(LzEj \V_eX6ahmB}j 2pmYߚ 2pmYߚEIA0$@^ëKZ1qZ]~.EZeEku ;XZPZ8 2pmYߚEIBD;eڳ5Zzծ$C(LzEj \V_eX6ahmB}j 2pmYߚ>aRAAz]~ ;XH( ;0& 7u~k^q.+X˯ނeh+Wbⵌc.zg~k CjP9AAz]~ ;XH(HrPVwXZ>w%SɗOYȭ\aDK7-H- O@o< *gRY" 1VǥKZ1q[Ȃeh+Wb㮷R CjP9A@ R % JSJ<.EZuE_CjP=k>q#,xIVEIAxL  NJWb㮷˧dV0]o"~*7}hFWxڄ_ŐP/}h5ǒ*J!ܔ p]w?} MooC+Y1Rֽj \u w⠙t,@F/OZPZ8 /6WxEIBD;k:oMm}hte~k'q"8ƿݧ]ahp gp924Y1qɐ`-|VKmMYhmB}j }|ߖU5a$ -1,:j%zsw-k֮0&ALuLzEj \`rd9kt_F1,iVZPZ8 }|ߖU5dw%)=8E#Zz럶,DzT$C(LzEj \`rdu"TVOaZPZX>P~>B1$ZjH(#Na`XDӨ|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;D;)˧dV0&G]o"+LEi<- O@}z2H*/Q`FY" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzfzY2`D J<.EZְ}_Ukx^U" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzfz՝|ke-$C(LzEj \`rdu"TVβڄZ, a" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzf~ƽ&X2D;)˧dV0&G]o"+LEi<- O@}l0`gUkx%[?7䊒`HUuzTZa`XAU}Հ%[>H( 0&_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVOaZPZ8 5A[;w%)Ĉw%SɗOYȭ\a6.LDV5]u0wKCjP=kx'`)a Vτc<)? H*ڰg%c<)? `HUuzTZְ}{V `??C䊒 ? `HUuzTZְ}{VN`A``IV}{VNa" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ !ܔyN&]=f"q.0xع2:yZf+Lu'm- O@}Հrw 0$X>=Oy" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ !ܔyN&]=f"q.0xع2:yZf+Lu'm- O@}Հw0`A``IV}{V ? `HUuzTZְ}{Vj ? H*ڰ3TH( 0&_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVOaZPZ8 5A[;w%)/X>`P ?mX.6G.}0*!Ĉw%SɗOYȭ\a6.LDV5^yZPZX>; ` gFK %k^q.0xع2:yZf OYȭ\a6.LDV5^yZPZ8 5Adw%)6w1 MoӍC/L*JxSk^q.0xع2:yZf OYȭ\a6.LDV5]u0wKCjP9AAzf6y}RP8p924Y1qɑ[Ȋ5QZf:CjP=kx*i8 TqH( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(AN㹍pbo|k[:9Hs-X>sI[^,h"Greh+Wb#jW]o" ڄZ)a `EIA ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ !ܔyN&]=f"q.0xع2:yZf+Lu'm- O@}b$X>?RPB4q ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ !ܔyN&]=f"q.0xع2:yZf+Lu'm- O@}j|$X>?RPA ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ !ܔyN&]=f"q.0xع2:yZf+Lu'm- O@} `EIA "W>1Rֽj \`rdu"T.EZְ} @0` O$TDӨ|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;D;)˧dV0&G]o"+LEiD; ?BP@0 k\$X>/L*Jp` uk^q.0xع2:yZf OYȭ\a6.LDV5]u0wKCjP9AAzf6y}RP;{^\l\`5.T.j, ?Ym|kq"Greh+Wbⵌc.5:6>\9S 런Z3*5`HUu|g5oZeA24Y1qZ]~V_ƝtZPZ8 2Xu""B wN5~C\`ǭZ3*5Zp`83=/;k鷭c.5D;NrYD;)˧dV0kuьJrh6k- O@?`dV0kue8렒 K$eRP@^_㮂`HUu|g5oZeF3*eh+Wbⵌ}%Pd5ǖ'֠rN,Rh~䊒w%)=8]u]sחerhz2XKmz2X$C7*5t˶| J<.EZu7[zzyyZPZ~$  $~$ RP@L  NJWb㮷˧dV0]o" mVGu'֠rN,8 6ۭu*J!ܔ pkˎfRsw\B1ܵ"w%SɗOYȭ\aDa *3[βڄ]s% Wa$]s% Wd`HUu|g5oZu&]=f"q.:y6Ы`O]o#:CjP9AA`Hm:% JS_\3].tnZD;)˧dV0]o"+:yhmB}j NPXrwRP@L o7yRֽj \u"LzEj \u"MN'֠rN,Ó䊒w%)Ĉw%SɗOYȭ\a2.Y#/o `'֠zh:AT u崑RT Od|cҥzc.z+X˯b2 OYȭ\a2.Y#/o `'֠rN,dRP8p924Y1q[Ȍ'֠pA8X,4 A8X,4$TD|S1V}V1q[Ȃeh+Wb㮷[- O@Yo RP;o!/C@p924Y1q[Ȋ CjP8X6y$9 A" /XnҥzA24Y1q[Ȋ CjP9AAcۭ*J!ܔ p͑cWס[fʕD J<.EZu_]o#:CjP8X6yad|¥ -Rօ>3H(,sVuβEIAj)D:yzTZu&]=f"q.:yCGu'֠rN,7a[<$T$C(ANƽk:y~7oo߮y$C3vuRּ[v J<.EZu{$[[֮0kuLzEj \V_e汧].Y#-v;ihmB}j/(/X˯`q@d<v}m$T$C(AN$C(LzEj \V_e汧].Y#-v;ihmB}jpH Hya8  ( !冀Xx`($TD|S1V}V1qZ]~.EZeEkuiKH]:ZPZ8 2Xu*Y#-v_~[I% JSJ<.EZeEkuiKH]:ZPZ`(X@CpP (y8$P$<01aဠPEIP$@w8o|g5oZeA24Y1qZ]~V_Ɲtd<ӯ- Ӌ c.5]2l u崑RP8p924Y1qZ]~c>E#er|ZPZk6G+2 $k6G+2RP@L o7yRֽj \V_Ͼd OYȭ\a2̕B,c.5Hڄ_ŐP fx^_TF_*J!ܔ !ܔyN&]=f"q.+X˯ތa-^;fzfn'֠p͑'FknP fx57I%zsw-k֮0kuь7ëu24Y1qZ]~c op6G+գ5t6>qdY9^`c EIBD;D;)˧dV0kuь7ëu,koYhmB}j _ʰ  _ʲEIA0$@^ëKZ1qZ]~c opLzEj \V_z[:w\"͑~U'֠rN,k6G+ARP8p924Y1qZ]~c>\FZ CjP:-x*Y#-$o HA" ~C[֮0kuьJt,c.z1|T.Y#- Ӌ TFZ % JSzqT5X˯cY#/m]rhz2YD;)˧dV0]o"%JyyZPZѕR2EIP$@=bJWb㮷˧dV0]o"%JyyZPZ8 0JnyH(HrPHrQ8t,@F/OZPZѕ<U e~k'k{I%k^q.:y;PLzEj \u wyքe~k'- O@Yր+Yqd _Zld䊒w%)=8]u㹍ycZ(0Ⱦ_v]"Qe {_MycZ(Ⱦ_Z*w%SɗOYȭ\aDv#wOβڄ]id]idH*{$[-k֮0]o" OYȭ\aDv#wOβڄ_ŐPnR7x'u*J!ܔ !ܔyN&]=f"q.+X˯ފ2XӮ,gu崴6>  0aဠP ( `   2@8,䊒Hq&*Ͼ6j޵q.+X˯ނeh+Wbⵌc.5:rkyݧ_~[KCjP9AAz]~kK$ei""B q"Greh+Wb㮷uڄl{nTkH)1Vܩ*J "W>1Rֽj \u t,G]o 6>qduEIBD;cd[^X{u`ko[s{V^0ch"Greh+WbⵌZ3*5 2H)2%Ͼ6j޵q.+X˯ނeh+WbⵌZ3*5 Ӌ Z3*5w%)=8]uFT3m鯌c^z޵g*HrQ8t,bEi3U[ȟ}6>  A@0`pA*J")d|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;Vq: =Py[3`'3[m;X0`pACޕ#p$C(LzEj \`rdu"TVOaZPZ`,(( 08 K` C%@?LU1Rֽj \`rdu"T.EZ1Rֽj \u t,G]o 6>qduEIBD;k^^luߧP;v3[`hpMM]o H}_nӮܴ9݌or1V.w%SɗOYȭ\aD Jy =ۭP {%yA[$TD:yzTZu&]=f"q.:y+'֠rN,c+ A""B wM,z7u~\k;|c~YVkˠJ򟮷D;)˧dV0]o"{%y]uڄ^Pm+Wb㮷^Pm:H(=ۭ*J 0JnyD:yzTZu&]=f"q.:y+'֠rN,c+ A""B wN5X]sחeWu7n KlHiXnZyD;)˧dV0]o"{%y]uڄ^Pm+Wb㮷^Pm:œ0$c+ A"Cd(6yaNa`XD:yzTZu&]=f"q.:y+'֠rN,c+ A""B wN5X]sחeWu7n KlHiXnZy?]o!?D;)˧dV0]o"{%y]uڄ^Pm+Wb㮷^Pm:œ0)Wb㮷[;OxIDzWuEIA^Pm:œ0)n0wBO /XnҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqZz럶,חA?]o!eX Kmu9)m yb=!ܔyN&]=f"q.:y+'֠pJnZu 0Jny1q[Ȁۭ? ЧxS<$c+ A"Cd(6yaNuGa |gzsw-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍz7u~\`7od)yo*Ĉpfz_nӮܴ?]o!)m yb= HQBD.] =#`H(HS J@(uX'TP " dŐ0r p% HuQ"BD$C(LzEj \u w7}hFWx`O'֠{U$j1Rֽj \u w⠙t,@F/Olڄ_ŐP/}h5ǀEIBD;k:ƿk{=6U\Ĉ{`Owu{kp924Y1q[ȁߊ_Z<6>ڭvxF3H*kx#%c<&_PǥKZ1q[ȁߊeh+Wb㮷Ⱦ#+YvuH}|b,D;)˧dV0]o"~*7}hFWxڄj=$j=`HUuzTZu&]=f"q.:y;QB25ǖ'֠rN,|@ w%SɗOYȭ\aDKAu<6>:TЁ>aR 0mׄUM$T 0mׄk^q.:yLzEj \u"Xzd+e Ӌ Cd(6ydw%)=8]u-uζ|$C(LzEj \u"XyjAhmB}j4td|¥ `ۯ GJH( `ۯ "W>1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;k:E_osrԆ|$C(LzEj \u"Xy *3[βڄ`hSBK@,^AV4RP@,^DӨ|cҥzA24Y1q[ȉa6Ы`O]o#:CjP9A@ m o :TЁ>aR 0mׄUM$T 0mׄk^q.:yLzEj \u"Xu'֠rN, <w%SɗOYȭ\a6.L7mn6[[ g'֠{GJ6G*X2f 4tf  ~C-k֮0&ALuLzEj \`rd9kt_n20m׀[<6>qdn2Yn;1Rֽj \`rdu"T.EZ:TЁ>aR 0mׄUM$T 0mׄk^q.0xع2:yZf OYȭ\a6.LDV5Z>Ru'֠rN,P,}βEIBD;k:E_o}|==o`h*| J<.EZ:TЁ>aR 0mׄUM$T 0mׄk^q.0xع2:yZf OYȭ\a6.LDV5^yZPZ8 5Adw%)=8]u-uζ|$C(LzEj \u"C6>:TЁ>aR 0mׄUM$T 0mׄk^q.:yLzEj \u"C6>qdn#O<$T$C(ANƺӨt_/m|56 ׭P#w{ζ|$C(LzEj \u"7}uڄ`hSBK@,^AV4RP@,^DӨ|cҥzA24Y1q[Ȋ CjP9AAcۭ*J!ܔ p]w:/ky y{G`UHrQ8t,EoyyZPZ *h@0`6H*Ҧ*J6`HUuzTZu&]=f"q.:yCGu'֠rN,7a[<$T$C(ANƺӨt_/m|56 ס[:gp924Y1q[Ȅ^W]o 6>:TЁ>aR 0mׄUM$T 0mׄk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:E_ot^Sgp924Y1q[ȃrԂڄ`hSBK@,^AV4RP@,^DӨ|cҥzA24Y1q[ȃrԂڄ_ŐP'-H$T$C(ANƺӨt_/m|56 7-Hk[;ʭD;)˧dV0]o" R?% Ҧ Yn$ *i"Yn&_PǥKZ1q[Ȃeh+Wb㮷ڄ_ŐP'-HRP;N|e3\ܵ!?/ |$C(LzEj \u lYGu'֠{GJ6G*X2f 4tf  ~C-k֮0]o" OYȭ\aDB=5;[hβڄ_ŐP'&3;[h<$T$C(ANƺӨt_/m|56 7UgVvyמ4v[>w%SɗOYȭ\aDB==u<- O@4 lTdu$`hSI%u0$@*:=*Z׭\aD.EZu7[zzyyZPZ8 6zCnyH(HrPӍuߧP迾^2kmnm`K:gp924Y1q[ȃphUg:CjP=M#,xIX:TEIAxL  NJWb㮷˧dV0]o" mV<- O@Yphm=!dw%)=8]u-6 u Vρ"Greh+Wb [[ 7mn6CjP=M#,xIX:TEIAxL  NfWb [[ &]=f"q.0xع2 e`ۯ0sqn6>qdn2YnRP;s7mknn3Luyu$eH0sq־6žҬޥe3G/ :{17kg]Ho'$C{-e 7nuʷiV$Cҥyb$C(LzEj \`rd9kt_`-xCjP=M#,xIX:TEIAxL  NfWb [[ &]=f"q.0xع2 e`ۯ0sqn塵 Ӌ sqւu䊒w%)<lM|56{3vRּD?ݲvYϦݧ_~[BX)7v}m! *"Greh+Wb㮷 nZZPZ *h@0`6H*Ҧ*J6`HUuzTZu&]=f"q.:yo:y Ӌ m@m9jA""B wN5~Cxkf-h~C5 Vρ"Greh+Wb㮷>RyjAhmB}j4td|¥ `ۯ GJH( `ۯ "W>1Rֽj \u t,FTnZZPZ8 T R % JSzq[_ M5}7-Hk[;ʭD;)˧dV0]o"4}<- O@4 lTdu$`hSI%u0$@*:=*Z׭\aD.EZuʓ6>qd |<1Rֽj \u t,Gu~KCjP9AA`4*J!ܔ p]w:/k[~_Luy{G`UHrQ8t,@j ֬m:CjP=M#,xIX:TEIAxL  NJWb㮷˧dV0]o"dUggkmyZPZ8 LU6Y@yY""B wN5~Cxkfn`K֬m=o`h*| J<.EZu=bVGu'֠{GJ6G*X2f 4tf  ~C-k֮0]o" OYȭ\aD1V`O]o#:CjP9A@TI&3uβEIBD;k:E_oq&*V?u Vρ"Greh+Wb㮷LU3e Ҧ Yn$ *i"Yn&_PǥKZ1q[Ȃeh+Wb㮷LU3e Ӌ *{$Xl<$T$C(ANƺӨt_/m|56 =blUl!ܔyN&]=f"q.0xع2:yZf+LhIyZPZ *h@0`6œ\$ *i"Yn)U`HUuzTZRxyY""B wN5~CxkfTyמ4v[>w%SɗOYȭ\a6.LծXZ- O@ AV H( &_PǥKZ1qɑZ˧dV0&Ej,DVr'֠rN,k RP;NJc_ۓZ)t; /Vbq rEVpfztwݗh!^6z| J<.EZCjP9AAzXeOv/?""B wm]uZ>w%SɗOYȭ\a6.LծXZ\v0a݋ZPZt; $t;RP@L  NJWb"k" OYȭ\a6.LծXZ\v0a݋ZPZ8 ծXTv0`^~EIBD;`ۡnk| J<.EZCjP=n}Un}*J "W>1Rֽj \`rdVrA24Y1qɑZ\`ۯ46>qd\xKm^~EIBD;`ۡnk| J<.EZ1Rֽj \`rdVrA24Y1qɑZXeO沵k 6>qdXeO/Vb % JSzm~C_z2js`HrQ8t,bȭZ刊լs2X'CjP=n}Un}*J "W>1Rֽj \`rdVrA24Y1qɑZXeO汒?O'֠rN,k̩9'% JSzm~C_z2js`HrQ8t,bȭZ刌Z- O@ AV H( &_P}V1qɑZ˧dV0&Ej,Dej,AhmB}j/(0/Vb % JSzqw>kX:vߵp924Y1qɑZZwb}'֠{ $TDӨ|c>٫zbȭZ刂eh+Wb"k"2k - O@Y,@^~EIBD;k:K^p+:Tp$C(LzEj \`rdVrEj,AhmB}jmﰊbȭZ刀Z<$t;RP@^rDӨ|cҥzbȭZ刂eh+Wb"k"+Vb CjP9AAzH(HrPnw6wۅ,D J<.EZaR 0mׅ80`6H*C%3樂5]8,^xL  NfWbⵌ&]=f"q.+X˯ފլs2XZPZ8 լs2XH(HrPӍuߧPmyc>kX޵!ܔyN&]=f"q.+X˯ފ2Xd2Y2Y |ZPZt;>ZBH*CRP@L  NJWbⵌc.5H&]=f"q.+X˯ފ2Xd2Y2Y |ZPZ8 2X [EIBD;k:ƻ~{ojn-Xkz]~k|2Y |'U@p924Y1qZ]~V_$e|'֠{P mh$TDӨ|c>٫zc.z+X˯b2 OYȭ\a2.Y#/6>qd-w%)=8]u`ۡmVXoZۇ@(~.w%SɗOYȭ\a2.Y#/wš C $t;>ZI%k^q.+X˯ފ2Xdeh+Wbⵌc.5Hh]hmB}j/(>ZCwĊw%)=8]u`ۡmyR3ևg6 "Greh+Wb"k",t;Y`ڳ5 ڳ5$n~kpmYߚEIA0$@^ëKZ1qɑZ˧dV0&Ej,DX6wg~k CjP9A@86w՝$T$C(AN86w՝z7u~֭vρ"Greh+Wb"k",t;Y`ڳ5 ڳ5d|¥ ;0$pm` ;XH( ;0& 7u~k^q.0xع2+Vb t,bȭZ刋X6ahmB}j/(ڳ5w%)ڳ5Zzծ$C(LzEj \`rdVrEj,EyhmB}jn7;N6G*X2H*h:rA"` ~C-k֮0&Ej,D.EZZϜc]CuD) (He+dr0I*J BD$gV,&>*H(He+dr0I8%% HuQ"BD$C(LzEj \u ܵ 6>rԀ `HcW9JWb㮷˧dV0]o" R CjP9A@ RP;drX]sז==e[. R HrQ8t,AjErXZPZRH(ܵ RP@L  NJWb㮷˧dV0]o" R-}?ڄ_ŐP'-H9w$T$C(ANƺӨ~kmRKm탗}?ǡQD9ی J<.EZurԋ`O水6>QjA" ~C[֮0]o" OYȭ\aDajErXZPZ8 ;.5w%)=8]u㹍MjC19IMrX;1,}59jC3!uθ!ܔyN&]=f"q.:ynZZPZ9j@Ej \u 0:œ\$9jA"C< s7Ur /XnҥzA24Y1q[ȃrԂڄ_ŐP'-H$T$C(ANƽk:y~cʷ^\83=/"]ah< ybP`!ܔyN&]=f"q.:ynZZPZ9j@Ej \u 0:œlTdcP'-H$TaaND:yzTZu&]=f"q.:ynZZPZ8 w%)=8׭cW=u^] |c~YVk˂rԇg6$C7-o,CWp$C(LzEj \u ܵ 6>rԀ@`!u80` s7Ur  <<)ÿ\& 7u~k^q.:yLzEj \u ܵ 6>qd R % JSzqZz럶,ח KlHiXnZ: ybP`!ܔyN&]=f"q.:ynZZPZ9j@Ej \u 0:œlTdc80`6H(*J 0ΰ pYn& 7u~k^q.:yLzEj \u ܵ 6>qd R % JSzqZz럶,ח KlHiXnZ:yb*` $C(LzEj \u ܵ 6>rԀ@`!u80` q>aR 0mׅ9`IrԂEIAyN 0mׅ9`L o7yRֽj \u t,AjAhmB}j/(*J!ܔ p^_?myvX1e[. RؑӮܴ?u;%v8P ybP`"HrQ8t,AjAhmB}j1q[ȀC< q>aRd|¥ `ۯ q>aR 0mׅ9`IrԂEIAyN 0mׅ8,^n0$@^ëKZ1q[Ȃeh+Wb㮷 Ӌ NZH(HrPӍz7u~\`7o'-Hpfz_bD;NryS3TC)Xߖ{"X>G;w%SɗOYȭ\aD"~KCjP9jAdnZY" 1VǥKZ1q[Ȃeh+Wb㮷ڄ_ŐP'-HRP8p924Y1q[ȉa=Gu'֠srԀG ` 7-Hy"` ~C-k֮0]o" OYȭ\aDKAu<6>qda1o qd Ri$T$C(ANƽk:y~7o'-H^ĈvuRߖUtM5$C(LzEj \u ܵ"9w- O@ `O"q.:y;P _Zld$ Rv]k %ր+Y6: C֩W_!ܔyN&]=f"q.:y,<ܵ 6>AdnZ1*J"ozTZu&]=f"q.:y,<ܵ 6>qda RP8p924Y1q[Ȇ[~[7-H- O@YAdH*{$[-k֮0]o" OYȭ\aD2AjAhmB}j/(~uNZH(HrPHrQ8t,DrԂڄnZvY9]H*LU1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;D;)˧dV0]o"%JyyZPZRAF $TDӨ|cҥzA24Y1q[ȉa=Gu'֠rN, <=ۭu*J!ܔ p]w?_5l?mRk HrQ8t,FKAu<6>4 $RH( &_P}V1q[Ȃeh+Wb㮷,=W[βڄ_ŐP`!DzWuβEIBD;k:Ƽ탗}?MjC_My~D J<.EZu7-H- O@eQj@yYdH*{$[-k֮0]o" OYȭ\aD'֠rN,9jA""B q"Greh+Wb㮷 nZZPZR: rԀβ%@TI=*Z׭\aD.EZueurԂڄ_ŐP6y RP8p924Y1q[ȍ|<ܵ 6>uAFe*J"ozTZu&]=f"q.:y''֠rN,c'rԂEIBD;D;)˧dV0&G]o"+LEif~Jʇ^6CjP90wOC 7`TuH*LU1Rֽj \`rdu"T.EZ0$@*:=*Z׭\a6.LծX&]=f"q.0xع2+Vb"k 6>qd\w%)~CGvl{lp924Y1qɑZ\ l g2Tn~k+Wb"k"k l 7:[7zۡ̕ߚEIAzxL  NJWb"k" OYȭ\a6.LծXZ- O@Y,A""B w_Po/=$C(LzEj \`rdVrEj,AhmB}j7:pm`pkMbȭZ刀Z<$ΰt;X:G(RP@^rDӨ|cҥzbȭZ刂eh+Wb"k"+Vb CjP9AAzH(HrPW?qo{l J<.EZ1Rֽj \`rd9kt_˧dV0&ALu`-yhmB}j/(ey""B wN5~CmysNޓ,ocD;)˧dV0&Ej,DVr'֠ssv}煦X2K@w0`S Yn)K@,^AFX: Le*J pYn)f  ~C-k֮0&Ej,D.EZ`<-26G*X2lTduN6G*X2f 7:'ixZe,RP@w0`SuN 0mׄk^q.0xع2+Vb t,bȭZ刊ծXլs2Xwb}'֠rN,k /Vʟ`^~EIBD;ssv}煦X2w82Z-v8Mݧ_yi 7-H"Greh+Wb"k"+Vb'wb}'֠ssv}煦X2K@w0`S Yn)K@,^AFX: Le*J pYn)f  ~C-k֮0&Ej,D.EZqd\8` ؼdw%)=6X: LeӨpd[/qsN,nnZD;)˧dV0&Ej,DVrinXo^~ڄnuNӯX@0` q>aR 0mׅ80`6H(_yi EIAN 0mׅ8,^DӨ|cҥzbȭZ刂eh+Wb"k"+Vb4_,iv/?hmB}j/(/Vbf 4 ؼdw%)=6X: LeӨpd[/qsN,nnZD;)˧dV0&Ej,DVc?ծXڄnuNӯX@0` q>aR 0mׅ80`6H(_yi EIAN 0mׅ8,^DӨ|cҥzbȭZ刂eh+Wb"k"+Vʟej,AhmB}j/(/Vʟ`^r*J!ܔ pۛ`<-2Nl?qo{m: LejD J<.EZ1Rֽj \`rdVrA24Y1qɑZXeO汒?O'֠rN,k̩9'% JSzmΰ u`uߧPk_O8㷽6v}煦X2ܵ"w%SɗOYȭ\a6.LծXmy _yi >aRd|¥ `ۯ q>aR 0mׄQ;N,d`ۯ pYn&_PǥKZ1qɑZ˧dV0&Ej,D6uuڄ_ŐPunH(HrPnnuNӯ[:K\e~;<-2$C(LzEj \u wyքe~k'- O@7uZAF7uZH( &_PǥKZ1q[ȁߊeh+Wb㮷Ⱦ#+Yqd m :% JSzqZz럶e[/Zα"۴7-t t>w%SɗOYȭ\aDdrԂڄ H ( <!8*J")d|c>٫zA24Y1q[ȌnZZPZ8 0NZH(HrP9jCZ6 p924Y1q[Ȍ'֠pH`0@p@ a1C00 h %@?LU1|lսj \u t,Fu CjP9AA[$T$C(AN[|kˠJ򟮷 :=0$C(LzEj \u lyYhmB}j6zCnyA@`Hm:%zsw-k֮0]o" OYȭ\aDB==u<- O@Yphm=![<$T$C(ANƽk:y~ǵ1,}5{%yO[<"Greh+Wb㮷6Ы`O]o#:CjP8'&3uΰgP'&3uβEIA "_=*Z׭\aD.EZu7[zzyyZPZ8 6zCnyH(HrPӍz7u~\双o*Myt^S:Ĉpfz_nӮܴ9@1ӌ!ܔyN&]=f"q.0xع2:yJl%S`<- O@`H}Ga:H(@l^2T0wyY" /XnҥzbG/*eh+Wb#|d mV^2U?βڄ_ŐP'&3|d`βEIBD;k͑cW=u^Xח7"V%O?<"Greh+Wb#|d mV^2U?βڄ m /*;< H(@l^2T0wyY" "_=*Z׭\a6.LD}&]=f"q.0xع2:yJl%S`<- O@Yphm=!J<$T$C(ANƽk:y~7o :="D?/*y0w\ J<.EZxP#aad|¥ -Rօ9P'&3|d`βEIAj)?& 7u~k^q.0xع2:yJt,bG/*phUgOa6>qd m /*;phm=!J9j@yX@Iphm=!J9j@yY" /XnҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(ANƺ,z7u~\双o*Mysphu[zD^2Tp$C(LzEj \`rdu#A *3JR<6>phm=!J9j@yX@0` TNfXd|¥ ;0)K@w0`S<) s NmMg>xP'-H<$TkB\)ÿ;0) |g9zsw-k֮0&G]o">xT.EZ1,}5ml^2T$C?up924Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ m /*a s7UrxSIphm=!J9j@yY"g9`S<)?& 7u~k^q.0xع2:yJt,bG/*phUgyYhmB}j/(@l^2T R:% JSzqZz럶e[.nm`K"ܵ!w%SɗOYȭ\a6.LD}7[z~xW]o#:CjP8'&3|d6ya$ m /* @yY" /XnҥzbG/*eh+Wb#|d mV^2U[βڄ_ŐP'&3|d6ydw%)=8E#Zz럶e[.nm`HJyD;)˧dV0&G]o">xTB=?|de @l^2TuΰgP'&3|d6yd1D:yzTZ5{%yO[pfz^\V0w{Z$Cˏ1V Gug Xpnw%SɗOYȭ\aDv#wOβڄ A`H(CA*J")d|cҥzA24Y1q[ȎbnIyZPZ8 `*F;βEIBD;D;)˧dV0&G]o"+LEiAhmB}j @x` 09@X <0ya@RT N>{$[-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfZPZ8 5A[$T$C(AN$C(LzEj \u nW]o" ڄj0n3;˟,VMx'ys*J"ozTZu&]=f"q.:yd+?ihmB}j/(o `ﶒ*J!ܔ !ܔyN&]=f"q.+X˯ތg2UmVZPZ~AF $TDӨ|c>٫zc.z1|T.EZeF3*- O@YtwU*J!ܔ p]w>5TCڔ~u$e/L$Cv7J=Vr,l汰$C(LzEj \`rdu"TVβڄoj\]bA1q[Ȁۭ>3œl\`5.T |g>3œ\)U\) q>aRnNfXAF5.TH( 06yOp` u>3ŸO3uW, s7Ur3uW, |g>3œ;0)U\&]uzTZ3ŸNfXnNfX |g80` s7Ur3uW, {V* f~JP$TuxS隠g Yn) |g9`S9`S<)NfXn0$@w:Ө|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ p]w;o|f~J|u6Z. r~:ĈyiXnZM5MNru!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠s{V1q[Ȁۭ9`S80` q>aRAFU %o )U\)ÿ;0&]uzTZ5f95U Z*w%SɗOYȭ\a6.LD}7[z~xQjGu'֠s{V1q[Ȁۭ>3œ\) s s7Ur#,N6G*X2H(Հa"ۭ>3œ\) s s7Ur p` ;w>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ pc?_n3Y]uEVʁ"Greh+Wb#|ddUgyYhmB}j7`)a1q[Ȁۭ99`IڰEIA[ s s7Ur ;w>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B w km?O~l>q>֢0EVʁ"Greh+Wb#|d mV^2TnZe ՀV0]o"n s |g>3œœ\$X "ۭ>3œŸO03uW, ")~C-k֮0&G]o">xT.EZ3œŸOxS9`S>3ŸNnNfXD|S:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B wkmʇ[^\HrQ8t,bEi3Ue Հ3?%@TuV0]o"n zbEi 5AP*`xS<) s7Ur3uW, s7UrxS<)K@w0`S9`Iڰg EIA[ |g8^ f~JP6ŸOxS9`S>3ŸNnNfXD|S:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B wN5~Cgʇ[n.aoMu.Ӯܴ>kovuy$C(LzEj \u"Tڄoj<Zu @SgH(ՅxRP@`m<D|S:=*Z׭\aDWu OYȭ\aDWu*q\S*UH*o:HrQ8t,Ey[bڄoj<Zu @SgH(ՅxRP@`m<D|S:=*Z׭\aDWu OYȭ\aDWu(I- O@YEIBD;k:m^\*oMu?_5?Oz|1nT@>T:MMup924Y1qɑ[ȏ^2ULU3JR<6>ڰV0]o"n3uW, {VEIA[ zLS?NJWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JSmc_nao={gی&U&xUHrQ8t,Ey[b3š Յx"q.:yuxSgH(ՅxRP@`mOI ")~C-k֮0]o"+:˧dV0]o"+:I- O@YxRP;_6yC[ˀ`h<H!ܔyN&]=f"q.:y^yؠe&x6>ڰV0]o"n zLIڰ*J @S<)30$@w:Ө|cҥzEy[`t,Ey[bڄ_ŐPXi$T$C(ANMuPs{V;|`hw%SɗOYȭ\a6.LD}7[z~xQjGu'֠s{V@`mOI |g>3œœ\$XZg%o )xS<)?)U`HuߧPǥKZ1qɑ[ȏ^2U˧dV0&G]o">xTB=?|dܵ#:CjP9A@`H}NZyH(HrP6~f95yED;)˧dV0&G]o"+LEi<- O@-31q[Ȁۭ>3ž< |g>3œ\)U\) q>aRnNfXAF-3Ċn zLS<) s7Ur3uW, s7UrxS<)ÿ\)U`HuߧPǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(ANMuPykgHrQ8t,bEi3Ue Յx1*C"q.:yuxS֮0&G]o"+L@^ f~JP6ŸOxS9`S>3ŸN6G*X2\)UH(Յx1*CRP@`mNj*T:f xS<)nNfXnOxSc9`S?NJWb#jt,bEi3Ue Ӌ 3TyH(HrPӍuߧPkm*q`ۯykg<!]]ah}4߾16: C HrQ8t,Ey[bU'֠s{Vha1q[Ȁۭ:4q 7`61VH( 06yNb&]uzTZuxT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ pƿ{;ϟcMj,hdED;)˧dV0]o"+:b6>ڰG\aDo )*H(Հ8Y"ۭ>38XL Nk^q.:y^y&]=f"q.:y^yؤhe Ӌ G$T$C(ANMuPs{V;|F1VH!ܔyN&]=f"q.0xع2:yJl%FyZPZX UV0]o"n thaOxSS>3H(Հ8Y"ۭ>38XS<)nO ;w>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p 4q~f95yED;)˧dV0&G]o"+LEi<- O@*+Wb㮷[ |g:4qxS<)nNfXnOxS `3uW, s7Ur 7`61VH( 06yOF1V |g>3œ\)U\) p`3uW, s7Ur ;w>1Rֽj \`rdu"T.EZqdj:% JSu_on>T:Z*HrQ8t,bEi3Ue Հ8Xc3TJXEj \u 06yO\a6.LDV3TR 0mׅ>3ŸO3uW, s7Ur3uW, |g>3œlTdc9`SQqg EIA[ |g8^ f~JP6ŸOxS9`S>3ŸNnNfXD|S:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B wN5~Cgʇ[n.bα"}uMmnӮܴ?]o"w%SɗOYȭ\aDWu(lhmB}j7`lEj \u 06yNj|$X%[>H( 06yNj|&]uzTZuH(HrPӍuߧPkˁ>\l~:Ĉybs'k>q\S*UH*o:HrQ8t,bG/*&*l%FyZPZX%[>Zu @S s7UrxIڰJ|RP@`mlS>3`HuߧPǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)6w10=mXkm`cZ(l"Qe@p924Y1q[Ȋζ- O@\aDo )gH(ՂU䊒n sU0$@w:Ө|cҥzEy[`t,Ey[bVϖ'֠rN,*EIBD;~[7o.CU;|"Greh+Wb#|d mV^2TnZe ՂU1q[Ȁۭ>3œlS<)nO 7`l"ۭ>3œlS<)nO ;w>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p ~f95yED;)˧dV0&G]o"+LEi<- O@\aDo )gŸOxS9`S>3ŸN6G*X2\)UH(ՂU䊒n sUOxS<)U\)UO s7Ur3uW, ")~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzfRZu @S<)Wb#j/L3?%@TuuOxS<)U\)UO#,NfXn$oj*g EIA[ |g8^ f~JP6ŸOxS9`S>3ŸNnNfXD|S:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B wN5~Cgʇ[n.j}α"}uMmnӮܴ?]o"w%SɗOYȭ\aDWu*3œlTdu$oj*T:%o )xL Nk^q.:y^y&]=f"q.:y^yؤhe Ӌ G$T$C(ANƺӨvߵ68P}0m׾36y$CϼNri|cmu@p924Y1q[Ȋζ- O@1*C"q.:yuxS Yn$Xc3TJY"ۭ>3œ`ۯ ")~C-k֮0]o"+:˧dV0]o"+:j|6>qd Vϒ*J!ܔ p]w;o|f~J|u6<!]]ah}4߾16: C HrQ8t,Ey[bZPZXc3TJXEj \u 06yO#,xIڰg EIA[ |g8,^D|S:=*Z׭\aDWu OYȭ\aDWu+塵 Ӌ y""B wN5~Cgʇ[nα"}uMmnӮܴ?]o"w%SɗOYȭ\aDWu)Z Ն3?%@TuV0]o"n q>aR 0mׄQ f~JP$TuxSu0$@w:Ө|cҥzEy[`t,Ey[bZPZ8 u % JSzqM3?%N>T:LuMu.Ӯܴ>kovuy$C(LzEj \u"J VahmB}j7aP*a1q[Ȁۭ>3œlTdu$oj*T:%o )xL Nk^q.:y^y&]=f"q.:y^yإk+X06>qd:w%)=8]u*o ~:ĈyiXnZM5MNru!ܔyN&]=f"q.:y^yئ{CjP9 f~JP\aDo )d|¥ `ۯ {VRH( 06yO6`HuߧPǥKZ1q[Ȋζ24Y1q[Ȋζ5;ZPZ8 N*J!ܔ p]w;o|f~J|u6<!]]ah}4߾16: C HrQ8t,Ey[bڄoj*T:+Wb㮷[ |g80`6H(Ն3?%@Tu*J @S<)f  ;w>1Rֽj \u"LzEj \u"@LhmB}j/(,@*J!ܔ p]w;o|f~J|u6<!]]ah}4߾16: C HrQ8t,bG/*phUgyYhmB}j7aP*a1q[Ȁۭ>3œlTduOxSS80` q>aR {VRH( 06yO6ŸO03uW, p` |g?NJWb#|d OYȭ\a6.LD}7[z~xQjGu'֠rN,8 6%@ qdEIBD;~3TCf ~:Ĉybs'k>q\S*UH*o:HrQ8t,Ey[bU'֠s{VRZu @S Yn$Xc3TJY"ۭ8,^D|S:=*Z׭\aDWu OYȭ\aDWu)8YhmB}j/(,*% JSu_oS6<!~k˘tc?sLV"|u<"Greh+Wb㮷m5[>ZPZXc3TJXEj \u 06yN6G*X2f 7aP*dnxL Nk^q.:y^y&]=f"q.:y^yأU塵 Ӌ J|RP;_68PpYnα"XƼIZϜf0cm<ʕh!ʇ[θ!ܔyN&]=f"q.:y^yجg'֠s{VRZu @S Yn$Xc3TJY"ۭ8,^D|S:=*Z׭\aDWu OYȭ\aDWu+塵 Ӌ y""B wkm*q{?_obD<㹍ysy޵8`ۮy*$C_op$C(LzEj \u"J - O@1*C"q.:yu#,xIڰg EIA[ pYn&]uzTZuaR {VRH( 06yN 0mׅ9`Sc8w0`S<&]uzTZq\S*UH*o:HrQ8t,Ey[bZPZXc<"q.:yuxIڰy"ۭ>3`HuߧPǥKZ1q[Ȋζ24Y1q[Ȋζ+X06>qd*J!ܔ p]w;oD}qX,Cc^\{g316jeJ C\ J<.EZ{$Z=?|dܵ#:CjP9 gV0]o"n s7Ur 7aEIA[ |g9`L Nk^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ 1Rֽj \u"LzEj \u"X- O@Y3% JSu_on>T:ռ04v @p924Y1q[Ȋζ+X06>ڰxEj \u 06yOxIڰy"ۭ>3Ÿ0$@w:Ө|cҥzEy[`t,Ey[bZPZ8 u % JSu_on>T:ռ04v @p924Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄoj1q[Ȁۭ>3ŸOxSSQ g*J @S<) |g99`L Nk^q.0xع2:yJt,bG/*phUgyYhmB}j/(@l^2T R:% JSc{^X|gm`cZ+HYP$C(LzEj \`rdu"TVβڄoj1q[Ȁۭ>3ŸOxS<)U\)UO#,NfXn$oj䊒n |g>3ŸO3uW, s7Ur3uW, |g>3œ;0)U\&]uzTZ3ŸO3uW, s7Ur3uW, |g>3œ;0)U\&]uzTZ3ŸNaaNfXD|S:=*Z׭\a6.LD}&]=f"q.0xع2:yJl%FyZPZ8 6zCrԀβEIBD;^חVc?_n3Y]uEVʁ"Greh+Wb#jWu'֠s{VV0]o"n uk>3ŸO3uW, s7Ur3uW, |g>3œlTdc9`SQu %o ) |g>3ŸNfXnNfX |g8w0`S9`L Nk^q.0xع2:yZf OYȭ\a6.LDV5^yZPZ8 5Adw%):η*o-yuk@p924Y1q[Ȋζ+X1Z Ձ:1q[Ȁۭ:H(Ձ:n ")~C-k֮0]o"+:˧dV0]o"+:`k'֠rN,`'X0RP;N~ח$||u36y$C~;ח0=Y M皙RD8P}56yD;)˧dV0&G]o">xT1V`O/*7-Hβڄoj`@`mZNfXAF $TuV`S?NJWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JSmc_nao={gی&R Z*w%SɗOYȭ\a6.LDV5^yZPZXRZu @S<)Wb#j/L3?%@TuuOxS<)U\)UO#,NfXn$oj`g EIA[ |g8^ f~JP6ŸOxS9`S>3ŸNnNfXD|S:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B wN5~Cgʇ[n.`~:ĈyiXnZM5MNru!ܔyN&]=f"q.0xع2:yJl%FyZPZX,^Zu @S<)K@,^ |g99`S `#,O#,j$X,^H( 06yO6ŸO03uW, p` |g8Z ")~C-k֮0&G]o">xT.EZ3œ`ۯ |g>3ŸNfXnNfX |g8w0`S9`L Nk^q.0xع2:yZf OYȭ\a6.LDV5^yZPZ8 5Adw%):η*o-Mwiݓ蟗ηF0c`ۯ"Greh+Wb#|ddUgyYhmB}j7`xEj \u 06yN6G*X2f 3uW, q>aRd|¥ ;0)d|¥ -RքQ6%o )f 3uW, p` |g8Z ")~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ pƿ{;ϟcMj,YnUHrQ8t,bEi3Ue ՂuP*a1q[Ȁۭ>3žq.0xع2:yZfPc3TJX,^ |g>3œ\)U\) q>aRnNfXAF`ۯ f~JP$TuxS隠g Yn) |g9`S9`S<)NfXn0$@w:Ө|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ p]w>0~[km{*uߧP?yD;)˧dV0]o"+:yhmB}j7a@`mNxIڰy"ۭ>3 ;w>1Rֽj \u"LzEj \u"MN'֠rN,Ó䊒w%):η*noj\GoN`hw%SɗOYȭ\a6.LD}7[z~xQjGu'֠s{V\aDo )N>3ŸNaaNfXAF9;H( 06yOjw) s s7Ur ;w>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p SMlrkQeu Z*w%SɗOYȭ\a6.LDV5^yZPZXrw"q.:yuxS; |g>3œ\)U\) q>aRnNfXAF9;H( 06yOjw) |g9`S9`S<)NfXn0$@w:Ө|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ p:|uڝ"Greh+Wb㮷mjw6>ڰxEj \u 06yNxIڰy"ۭ;S0$@w:Ө|cҥzEy[`t,Ey[b- O@Y'{% JSzqyp"G˵;Cα"XƼIZϜf0cm<ʕh!ʇ[θ!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠s{V\aDo )ڝ s7Ur 7aEIA[ v{œ\&]uzTZ5f95$Uj,!ܔyN&]=f"q.0xع2:yZf+LyYhmB}j7ag @`mOZ3ŸNfXnNfX |g80` s7Ur3uW, {V f~JP$TuxS隠g Yn) |g9`S9`S<)NfXn0$@w:Ө|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ p]w;o|f~J|u6ZN36y$CϼNri|cmu@p924Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄojÿ+Wb㮷[ |g80` |g>3œœ\$Xw0a"ۭ>3œ;0) s s7Ur ;w>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p w0c?_n3Y]uEVʁ"Greh+Wb#jWu'֠s{VZu @S<)K@w0`S<) s7Ur3uW, s7UrxS<)K@w0`S9`Iڰ`EIA[ |g8w0`S<) s7Ur3uW, s7UrxS<)ÿ\)U`HuߧPǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(ANMuPykˇc8,_D;)˧dV0&G]o">xT1V`O/*7-Hβڄojÿ+Wb㮷[ q>aRn$ojÿ %o )ÿ\&]uzTZ5f95 Z*w%SɗOYȭ\a6.LDV5^yZPZXw0`c3TJXEj \u 06yO\a6.LDV3TR 0mׅ>3ŸO3uW, s7Ur3uW, |g>3œlTdc9`SQ f~JP$TuxS隠g Yn) |g9`S9`S<)NfXn0$@w:Ө|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ p]w;o|f~J|u6ZMu.Ӯܴ>kovuy$A"&]@zG,!*J BD$gV,&>*H(He+dr0S% HuQ"BD$C(LzEj \V_er}exd6>2FX^W_AC'U*J "W>1Rֽj \V_er}˧dV0kuZ]~k,Z]~k7K0oCjP9AAz]~k|2Y |H(HrPӍuߧPk׭c.5LZ]ʹ8q"Z:VmnӮܴ>16z]~kK$el J<.EZuE_CjP8>aR 0mׄPEIAxL  NJWb㮷˧dV0]o"~*7}hFWxڄ_ŐP/}h5ǒ*J!ܔ p]w?_56CEѕ=@ Kmu| J<.EZuZ<- O@/ ]$2<1H( &_PǥKZ1q[Ȃeh+Wb㮷Vve Ӌ C ՝u*J!ܔ p]w?_5*]8swoZθ!ܔyN&]=f"q.:y,<lyYhmB}j~V b `. EIA0$@*:=*Z׭\aD.EZunm <6>qda`Hm:% JSmc^X=ӌ7y6uθ!ܔyN&]=f"q.:y,?:CjP8Bclx@I +1vLg*J "W>1Rֽj \u t,D<- O@YxyY""B wN5~CkmX1{nmw%SɗOYȭ\aDWu*H(HrPӍuߧP/yV b{<"Greh+Wb㮷myhmB}j~V b `. EIA0$@*:=*Z׭\aDWu OYȭ\aDWu+塵 Ӌ y""B wN5~CkmX1{nmw%SɗOYȭ\aDWu)Z e!X1xc< $_g&3%k^q.:y^y&]=f"q.:y^yإk'֠rN,`EIBD;k:~ʰclN3\ J<.EZu+1vLgPBcly" ~C-k֮0&G]o">xT.EZxTB=?|dܵ#:CjP8Bclx@I +1vLg*J "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p]w8Ugq?yD;)˧dV0]o" mV<- O@/ ]$2<1H( &_PǥKZ1q[Ȃeh+Wb㮷6Ы`Ou'֠rN,8 6βEIBD;k:~ʰclN3\ J<.EZuayZPZ_g&3H(e!X1xc1Rֽj \u t,A҄cyYhmB}j/(JyH(HrPӍuߧP~;ʰclN3۝(F0c\ J<.EZu.FOte e!X1xc< $_g&3%k^q.:yLzEj \u#=u'֠rN,t <{$Z=5;[hβڄ2<1AC/ ]䊒`HUuzTZu&]=f"q.:y>{$Z=5;[hβڄ_ŐP=b :% JSzqsǕ`.g鷭YC\ J<.EZu=bVGu'֠q`. ~V b$TDӨ|cҥzA24Y1q[ȁ&*lyYhmB}j/( 1VzCnyH(HrPӍuߧP~;ז<1vt=Mj:HrQ8t,bG/*&*l%FyZPZ_g&3H(e!X1xc1|lսj \u t,Fu CjP9AA[$T$C(AN㹍yc馶M]o!~CƸ$Cʰc1o[s{WD;)˧dV0]o":y e!X1x,[~AC/ ]fEIA0$@*:=*Z׭\aD.EZu'֠rN,nH(HrPosMm~C;Gu')/qʹ?H`c?߮w%SɗOYȭ\aDOtnZZPZ_;@`mN6G*X2-hI wI䊒n pKZDӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w?_5JMlǞ=RZD>w%SɗOYȭ\a6.LDV5S'YhmB}j~+Wb㮷[ |g80` T$2'*J @S<)-hL  NJWb#jt,bEi3U=u'֠rN,P#O<$T$C(ANƺӨ~kʔ{U}5={[^\'p924Y1q[Ȋ[#wOβڄ2'V0]o"n q>aRkBH(e#O$TuxSZИ ~C-k֮0]o" OYȭ\aDVrع=u'֠rN,CTwIdw%)=8]u㹍yRoj=O^{!ܔyN&]=f"q.:y''֠q<"q.:yuxS KZAC/y"ۭ>3œ-RքϾ6j޵q.:yLzEj \u#'O7-H- O@Y;NZH(HrPӍuߧP~;ו)6]k{7-Hykˁ>^{!ܔyN&]=f"q.:y'YhmB}j~+Wb㮷[ |g80` T$2'*J @S<)-hL  NfWb㮷˧dV0]o"2{<- O@Y;βEIBD;k:ƼO鷵Z^X'u/=| J<.EZu.FOte e#O\aDo )d|¥ -RքPGtH( 06yO T0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨ~kʔ{U}5={[^\'p924Y1q[Ȅ^W]o 6>wId|¥ ;0)K@Z aRkBH(e#O$Tj&_P}V1q[Ȃeh+Wb㮷+'֠rN,c+ A""B wN5~Cc^\'oub16: @nZ J<.EZuAu CjP8Gt6G*X20)K@Z 1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u㹍yp"Gtӵ ۴7-D9jCWp$C(LzEj \u#{%y]uڄ2' `, q>aRkBH(e#O$TNkB`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w?_5/={[N#1_nӮܴ ]p924Y1qɑ[Ȋ5QZfW[βڄ2'`@I wIH( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVAu<6>qdjc+ @yY""B wN5~Cc_n[}56y0yctD;)˧dV0&G]o"+LEi|?:CjP8Gt a$2'`" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfG*Oβڄ_ŐP^TyH(HrPӍuߧP~;۷MMu1?{^X'p924Y1qɑ[Ȋ5QZf:CjP8GaAC/hw0a" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzfAC/*J "W>1Rֽj \`rdu"T.EZqdj:% JSzqsp`; MX,/#.́"Greh+Wb㮷=u'֠q,:H(e -βEIA0$@*:>3\aD.EZu6>qd:% JSzqss%蟗η_o={\ J<.EZu.FOte e -ΰ ~l٫zA24Y1q[Ȍe Ӌ C<$T$C(ANƺӨ~km.fXCX NR_Zcmu0>w%SɗOYȭ\a6.LD}=bV^2TnZe e V0]o"n$2U %o )? `HUuzTZT:MMj@ N16: C HrQ8t,bG/*phUgOa6>wUr@`m$2U %o )DӨ|cҥzbG/*eh+Wb#|d mV^2U?βڄ_ŐP'&3|d`βEIBD;C7Ur <[[D;)˧dV0&G]o">xTB=?|dܵ#:CjP8uW,\aDo )AC/]\RP@`m0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJl%FyZPZ8 6zCrԀβEIBD;C7Ur <[[D;)˧dV0]o" mV<- O@/]\"q.:yuxI wUrEIA[ |gk^q.:yLzEj \u lβڄ_ŐP'&3yH(HrPk6G+Gon;|yzw%SɗOYȭ\aDdrԂڄ2U+Wb㮷[ |gPuW,$TuxL  NfWb㮷˧dV0]o"2XyjAhmB}j/(09jA""B wN5~Cc_nHs7Ur*oܵ Hgvuy$C(LzEj \u# mV<- O@/]\"q.:yuxI wUrEIA[ |gϾ6j޵q.:yLzEj \u# mV<- O@Yphm=!dw%)=8]u㹍M#U|u<!nӮܴ>kocmu@p924Y1q[ȉR CjP8uW,\aDo ) .XH( 06yOxL  NJWb㮷˧dV0]o"'O7-H- O@Y;NZH(HrPӍuߧP~;ח$|cF0cĈvuیtbdO|b,kmR`iXnZD;)˧dV0]o"2{rԂڄ2U+Wb㮷[ |g>3H(e *J @S<)DӨ|c>٫zA24Y1q[Ȍ<ܵ 6>qd9jA""B wN5~Cc^\n>T:޷v!un0bы75=k7-H pfzqD?ݧ]ah~D J<.EZu6>wUr@`mO ~儊n |gϾ6j޵q.:yLzEj \u#'Oβڄ_ŐP`#O<$T$C(ANƺӨ~kˁ>\\ʇ[[N#1_bD;Nr U1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDv#wOβڄ2U+Wb㮷[ |g>3H(e *J @S<)DӨ|cҥzA24Y1q[ȎbnIyZPZ8 `*F;βEIBD;k:Ƽ#U|uoub16$C7-`[lnk%O={`_o={XS3ӌ!6: C HrQ8t,DI e V0]o"n |g``I wUrEIA[ |g>30&_PǥKZ1q[Ȃeh+Wb㮷''֠rN,x'-H$T$C(ANƺӨ~kˁ>\\ʇ[[N#1_bD;NrF.J{"ܵ ) vuy$C(LzEj \u#'O7-H- O@/]\"q.:yuxS< H(e *J @S<)0$@*:>3\aD.EZuR CjP9AA<*J!ܔ p]w?_5.fXC{k"]ahuWlnk%O={`_nnZMNru!ܔyN&]=f"q.:y'YhmB}j~1q[Ȁۭ>3ŸXAC/]\RP@`mO, "W>1|lսj \u t,FOte Ӌ GtyH(HrPӍuߧP~;ח$|cF0cĈvu9_]wUr@`mO, .XH( 06yOxk^q.:yLzEj \u#=u'֠rN,t <3H(e *J |gk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƿn>T:MMNr$Ct]MMNr]p924Y1q[ȌAu CjP8uW,#,O ~儊0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"G˙8P}56: @={ڭv}56: C;%wD;)˧dV0]o"{%y]uڄ2UK@w0`S< H(e *J |g``L  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨ~km.fXC۴7-DwUr>aR ~儊XDӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;Nw1$|c_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@/]\ lTdc``I wUrEIAXDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"G˙8P}56: @nZ J<.EZu^W]o 6>wUr>aR$2U %c``L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:ƿn>T:MMNr$C;%wD;)˧dV0]o"{%y]uڄ2UK@w0`>3H(e *J xL  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨ~km.fXC۴7-DwUr>aRO ~儊0)DӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;Nw1$|c_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@/]\ lTdc``S< H(e *J xk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƿn>T:MMNr$Ct]MMNr]p924Y1q[ȌAu CjP8uW,#,X ~儊0)0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"G˙8P}56: @={ڭv}56: C;%wD;)˧dV0]o"%YhmB}j~Zu @SPEIA[ s ~C-k֮0]o" OYȭ\aDKβڄ_ŐP!u*J!ܔ p͑!`h!ܔyN&]=f"q.:y6>O\aDo )? H(e "ۭ9``L  NfWb㮷˧dV0]o"2Xu'֠rN, <qgvu?O"Greh+Wb#|ddUgyYhmB}j~Zu @SPEIA[ s ~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ p jށ"Greh+Wb㮷R CjP8@`m$2?RP@`m0$@*:=*Z׭\aD.EZunZZPZ8 0NZH(HrPӍuߧP~;ہ>\|usrԁ"cmu@p924Y1q[ȉa6Ы`O]o#:CjP8@`m$2?RP@`m0$@*:=*Z׭\aD.EZunm <6>qda`Hm:% JS f{`h04vUmn J<.EZO\aDo )AC/S%o )DӨ|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ pƿ:|u?w%SɗOYȭ\aD'֠q)a1q[Ȁۭ>3H(e "ۭ>3`HUuzTZu&]=f"q.:ynZZPZ8 w%)=8]u㹍M#?ʇ[7-H!?ݧ]ah~D J<.EZ3H(e "ۭ>3`HUuzTZ3H(e "ۭ>3`HUuzTZqd m /*dw%)GoGkwHrQ8t,A *3e e Ej \u 06yO ~H( 06yO ~C-k֮0]o" OYȭ\aDB=>yZPZ8 6zC:% JS f{`h04vUmn J<.EZua e Ej \u 06yO ~H( 06yO ~C[֮0]o" OYȭ\aDdrԂڄ_ŐP`!rԂEIBD;k:ƿCۛ nӮܴ?]o"w%SɗOYȭ\aDa *3e e Ej \u 06yO ~H( 06yO ~C[֮0]o" OYȭ\aDa *3e Ӌ NmMg3Ÿ$2?RP@`mO ~C-k֮0]o" OYȭ\aDOtnZZPZ8 wI RP;Nw1.Hsqӵ ؑӮܴ;qn]3`HUu|g5oZu&]=f"q.:y''֠rN,x'-H$T$C(ANƺӨ~kˁ>\|uoub16$C7-`[lnk%O={`_nnZMNru!ܔyN&]=f"q.:y'YhmB}j~Zu @S<)AC/S%o ) "W>1|lսj \u t,FOte Ӌ GtyH(HrPӍuߧP~;ח$|Pzic?lHiXnZF.J{"{ΰg$Cmu@p924Y1q[ȎbnIyZPZ_V0]o"n |gPEIA[ |g>3`HUuzTZu&]=f"q.:y \ޞ?:CjP9AA HGtyH(HrPӍuߧP~;ח$|Pzic?lHiXnZF.J{"{ΰg$Cmu@p924Y1q[ȉR CjP8@`mO, )dn |g``L  NJWb㮷˧dV0]o"'O7-H- O@Y;NZH(HrPӍuߧP~;ח$|Pzic?lHiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI e Ej \u 06yOxPEIA[ |g>30&_P}V1q[Ȃeh+Wb㮷=yjAhmB}j/(0'rԂEIBD;k:Ƽ#?ʇ[[N#1_bD;NrF.J{"ܵ ) vuy$C(LzEj \u#'Oβڄ2?"q.:yuxS< H(e "ۭ>3ŸXDӨ|c>٫zA24Y1q[Ȍ?:CjP9AA<3ŸXAC/S%o ) ~C-k֮0]o" OYȭ\aDv#wOβڄ_ŐPnR7x'u*J!ܔ p]w?_5.an>T:޷v!uX~1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aD Jy e @0` )d`HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~Cc_nHsqkmu"ܵ!+!ܔyN&]=f"q.:y=AhmB}j~6G*X2H(e "` ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u㹍M#?ʇ[iXnZsrԇdHrQ8t,Bd+ZPZ_ `xI O$T "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u㹍M#?ʇ[iXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y=AhmB}j~6G*X2$2?RP@w0`S<&_P}V1q[Ȃeh+Wb㮷+'֠rN,c+ A""B wN5~Cc_nHsqkmu"{Zkmu7-HvJw%SɗOYȭ\aD Jy e @0` |g``I O$T ~C-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍuߧP~;ہ>\|uvuH=VgvuR"Greh+Wb㮷+'֠q)ad|¥ ;0)$2?RP@w0`S< `HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w?_56D0*oݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ_ `, )d0&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w?_56D0*oݧ]ah!R"Greh+Wb㮷+'֠q)ad|¥ ;0 H(e "`, "W>1|lսj \u t,F Jy Ӌ JnH(HrPӍuߧP~;ہ>\|uvuH7-HvJw%SɗOYȭ\aD Jy e @0` xI O$TO ~C-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍuߧP~;ہ>\|uvuH=VgvuR"Greh+Wb㮷+'֠q)ad|¥ ;0 $2?RP@w0`>3`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w?_56D0*oݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ_ `, |g``I O$TO, "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u㹍M#?ʇ[iXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y=AhmB}j~6G*X20)$2?RP@w0`>30&_P}V1q[Ȃeh+Wb㮷+'֠rN,c+ A""B wN5~Cc_nHsqkmu"{Zkmu7-HvJw%SɗOYȭ\aDyZ'6>OwI$2?'*J "W>1Rֽj \u t,Gu~KCjP9AA`4*J!ܔ p]w?_56'19I~l:3=M]o"w%SɗOYȭ\aDK7-H- O@/Sa$2?.i6H( &_PǥKZ1q[Ȃeh+Wb㮷R CjP9A@ R % JSzq㹍MMjCڷۛ aoSI!ܔyN&]=f"q.:yR CjP8@I O M*J "W>1|lսj \u t,FK7-H- O@Yx'-H$T$C(ANƺӨ~km?nmRտܵ mszMp924Y1q[Ȍ0mhmB}j~Ѐ ~EIA0$@*:>3\aD.EZu0q'֠rN,SQƛ|H(HrPosǞ=0}msmֳ!ܔyN&]=f"q.:y[- O@/SAC/SH( &_PǥKZ1q[Ȃeh+Wb㮷uڄ_ŐPm % JSzqsǞ=0}m!y$C(LzEj \`rdVrCmW_[- O@/SAC/SH( &_PǥKZ1qɑZ˧dV0&Ej,D6uuڄ_ŐPunH(HrPӍuߧP~;ֳ_njۭ@p924Y1q[ȉa e B+Wb㮷[ )m$Tu ~C-k֮0]o" OYȭ\aDK7-H- O@Yx'-H$T$C(ANƺӨ~km? NR_=7-H|clH@p924Y1q[ȌnZZPZ_"q.:yu ~EIA[ "W>1|lսj \u t,FK7-H- O@Yx'-H$T$C(ANƺӨ~km? NR_=7-H|clH@p924Y1q[Ȇ[~[7-H- O@/SZu @I Oi"ۭk^q.:yLzEj \u!ߴu R CjP9A@ۭrԂEIBD;k:ƿ%msrԇ?Ĉ~D J<.EZue eZg+Wb㮷[ s ~EIA[ s ~C-k֮0]o" OYȭ\aDKβڄ_ŐP!u*J!ܔ p͑%&xGo5V@p924Y1q[ȊζRgCjP8V0]o"n$2-3Ċn0$@*:=*Z׭\aDWu OYȭ\aDWu* LEj \u 06yNa`XAC/qdadw%)=8]u㹍M#3>T:MMu%ZϜe?ݧ]ahsyHrQ8t,bG/*&*l%FyZPZ_x"q.:yu0, i$Tu0, "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B w%&xGo5V@p924Y1q[ȉa eZg+Wb㮷[ |gP*J @S<&_PǥKZ1q[Ȃeh+Wb㮷R CjP9A@ R % JSzqsp"Gg|usrԁ"cmu@p924Y1q[ȉa6Ы`O]o#:CjP8V0]o"n i$TuxL  NJWb㮷˧dV0]o"%B==u<- O@Yx'&3uβEIBD;Y9^;|`h!ܔyN&]=f"q.:y^yتLhmB}j~@`m$2-3Ċn "W>1Rֽj \u"LzEj \u"Tڄ_ŐPXZg% JSmcmʇ[^\Go @p924Y1qɑ[Ȋ5QZf:CjP8V0]o"n i$TuxL  NJWb#jt,bEi3Ue Ӌ 3TyH(HrPosT:Z;|`hw%SɗOYȭ\aD'֠qi\aDo )AC/3`HUuzTZqd m /*dw%)Go <[[D;)˧dV0]o" mV<- O@/<Zu @S<$_xRP@`m0$@*:=*Z׭\aD.EZu7[z|6>qd m u*J!ܔ p͑%&xGo5V@p924Y1q[ȌnZZPZ_x"q.:yuxI L"ۭ>3`HUu|g5oZu&]=f"q.:yR CjP9AA R % JSzqsp"Gg|usrԁ"cmu@p924Y1q[Ȍ7[z|6> LEj \u 06yO ~EIA[ |gϾ6j޵q.:yLzEj \u# mV<- O@Yphm=!dw%)=8]u㹍M#3>T:MMu.Ӯܴ>kocmu@p924Y1q[ȉR CjP8V0]o"n |gP*J @S<)DӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w?_5/Iqӵ ؑӮܴ;qn]3Ÿ$2-3Ċn |gϾ6j޵q.:yLzEj \u#'Oβڄ_ŐP`#O<$T$C(ANƺӨ~kˁ>^3`HUuzTZu&]=f"q.:y \ޞ?:CjP9AA HGtyH(HrPӍuߧP~;ח$|&yʇ[[N#1_bD;Nr U1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDOtnZZPZ_x"q.:yuxS< H(eZg%o ) ~C-k֮0]o" OYȭ\aDOtnZZPZ8 wI RP;Nw1.HzLF0cĈvu9_]30$_xRP@`mO, "W>1Rֽj \u t,Gh1r7z{<- O@Y0#wxyY""B wN5~Cc^\*o[m;X`M: Cr csY*yy:œ`iXnZD;)˧dV0]o"{%y]uڄ2-3d|¥ ;0$_xRP@w0`L  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨ~km/Iqkmu"ܵ!+!ܔyN&]=f"q.:y=AhmB}j~>aRAC/ L@0` |gP*J |gk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƿ*oݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,F Jy eZgK@w0`S<$_xRP@w0`S<&_P}V1q[Ȃeh+Wb㮷+'֠rN,c+ A""B wN5~Cc_nHzL_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@/<6G*X2XAC/aR ~EIAO, "W>1|lսj \u t,F Jy Ӌ JnH(HrPӍuߧP~;ہ>^T:MMNr$C;%wD;)˧dV0]o"{%y]uڄ2-3d|¥ ;0 $2-3Ċ0)DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"Gg|uvuH=VgvuR"Greh+Wb㮷+'֠qi#,X i$TO ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u㹍M#3>T:MMNr$Ct]MMNr]p924Y1q[Ȅ^W]o 6> L@0` xP*J xk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƿ*oݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,F Jy eZgK@w0`>30$_xRP@w0`>30&_P}V1q[Ȃeh+Wb㮷+'֠rN,c+ A""B wN5~Cc_nHzL_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u nW]o" ڄ2/Q`FX@I XH( &_PǥKZ1q[Ȃeh+Wb㮷Kry`ﶖ'֠rN,YnPmi""B wN5~Cc_oZ:F[鷤M}~_u!ܔyN&]=f"q.0xع2:yZf+Lu CjP8EIa$2/Q`FY" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfZPZ8 5A[$T$C(ANƺӨ~kmQgH}56鯾tOӍ~D J<.EZxTB=?|de e^rЀ ~4RP@L  NJWb#|d OYȭ\a6.LD}7[z~xW]o#:CjP9A@`H}ۭu*J!ܔ p]w?_56uΰ9f_>6w%SɗOYȭ\a6.LD}Ͼ^2U[βڄ2/T9lh@I [H( &_P}V1qɑ[ȏ^2U˧dV0&G]o">xTg/*yYhmB}j/(0>xPm:% JSzqsvYϦj-M/*~CXE$C(LzEj \`rdu#@j 񒮺Gu'֠qzcBH(e^rEIA0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xW]o#:CjP9A@TI&3|d6ydw%)=8]u㹍M]o!mvYϦj-"Greh+Wb"k"+Vb+Vʟa݋ZPZ_9S zfTk %k^q.0xع2+Vb t,bȭZ刊ծXլs2Xwb}'֠rN,k /Vʟ`^~EIBD;K޵k̩9ݧ_yZe@^c?*p$C(LzEj \`rdVrEj9SZ- O@/k̩PZ3*5`HUuzTZ 2X H ~e,Ċ`HUuzTZeF0ޖ˧dV0kuь7ëug`- O@Yg/Y EIBD;K޵2:pc.z1|TuK$eK!ܔyN&]=f"q.+X˯ފ2Xd2Y2Y |ZPZ_uf-Ej \V_z[:w\"n_Pc.5,$Tg|DӨ|cҥzc.z+X˯b2 OYȭ\a2.Y#/o `'֠rN,dRP;Nw1[dd{kD?mu Eܾ"Greh+Wb"k"+Vb+Vʟa݋ZPZ_u: $_u:RP@L  NJWb"k" OYȭ\a6.LծXZ刭Z3*5v/?hmB}j/(/Vbk̩N$T$C(ANkmX˯`qNwi{V0kue8렗*p$C(LzEj \V_XeO水6> 2Xu@I 2Xu" ~C[֮0kuLzEj \V_XeO水6>qdXeO民RP;ߎ?/X˯`qOzfTk HrQ8t,bȭZ刊լs2YZZPZ_u: $_u:RP@L  NJWb"k" OYȭ\a6.LծXZ3*5\ Ӌ Z3*5zH(HrPӍuߧP~;ֱ_iXnTkMMj,D J<.EZT:ۛ@p924Y1q[ȌnZZPZ_C $_CRP@L  NfWb㮷˧dV0]o"2XyjAhmB}j/(09jA""B w kmXߖ{7y6$C(LzEj \u#<n'֠qzPџZu 0ΰ ~o< Ċ <<&_P}V1q[Ȃeh+Wb㮷xt6>qdytRP;ߎ56v}罣?yMkqkm)rkQe0rHYO\ J<.EZun,_u ڄ2/Xߖx*`:3+Wb㮷yAC/gR?xRP@`!uk^q.:yLzEj \u!~y׌7KCjP9AAسaa7I% JS f{Uswnwi{3ֱ,*bD><"Greh+Wb!rqы- O@/` zϰo*J "W>1|lսj \`rd.N: OYȭ\a6.L_F.N:6>qd $T$C(ANƺӨ~km}^`߁"Greh+Wb!rqй8ڄ2/Y ~" ~C-k֮0&B㯠t,b\u.N:6>qd $T$C(ANƺӨ~km}^`߁"Greh+Wb [[ g7̖1e[Nڄ2/Y  $_>*J "W>1Rֽj \`rd9kt_˧dV0&ALuZϰo-cʶ5e Ӌ g7Ym1eXqVH(HrPӍuߧP~;חg7D;)˧dV0&ALu-cʶ5e e^0@I }|0$TDӨ|cҥzb0sqn OYȭ\a6.L7mn6(2[h7m:jCjP9AA@cʰ㦬RP;Nw1鷡O\mvJƉ HrQ8t,c.z1uxF2x6> c'XPF251" ~C[֮0kuь7ëu24Y1qZ]~c oq[dhmB}j/(/w$T$C(ANƺӨ~km3{dk1r^y!ܔyN&]=f"q.+X˯ތa-^;>kw- O@/y$2/w`` H( &_PǥKZ1qZ]~c op6G.EZeF0ޖd|5O'֠rN,!{d""B wN5~Cc_n9 c'XሶϦO@p924Y1qZ]~c opUn1š e^#? $_1 %k^q.+X˯ތa-^; OYȭ\a2oKWRw- O@Y1P^#?H(HrPӍuߧP~;ێfy8b-ƽn1$C(LzEj \V_z[:w\p~.Y ڄ2/w {d" ~C-k֮0kuь7ëu24Y1qZ]~c oqÙg7CjP9AA }|RP;鷭F2y:pc.z1ux c'\|up924Y1qZ]~c oqÙg7CjP8 cH( &]uzTZeF0ޖ˧dV0kuь7ëug`- O@Yg/Y EIBD;k:~~.޵`ykv~އw[==r!ܔyN&]=f"q.:yCAhmB}j~9 @yX@I Նo xWu'֠q5|AC/kV/>?RP@L  NfWb#|d OYȭ\a6.LD}Zy^2Ue Ӌ Ջϴ/*<$T$C(ANƺӨ~km?3 klH%O`kg/[\{!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠q5|AC/kV/>?RP@L  NJWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JSzqssrԇΰj9p924Y1qɑ[ȏ^2ULU3JyyZPZ_֬^} @I XEIA0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xW]o#:CjP9A@TI&3|d6ydw%)=8]u㹍M]o!mtZyap$C(LzEj \u#'Oβڄ2ƄPlnkH( &_P}V1q[Ȃeh+Wb㮷=u'֠rN,xyY""B wN5~Cc_n]kmOۀ oy:HrQ8t,Gh1r7z{<- O@/l]h@I v汤`HUuzTZu&]=f"q.:y \ޞ?:CjP9AA HGtyH(HrPӍuߧP~;ۣlnk<[SvD?{θ!ܔyN&]=f"q.0xع2+Vb"k"k̩ؼe e c./Vʟ`@I eׅ9S$TDӨ|cҥzbȭZ刂eh+Wb"k"+Vb+Vʟa݋ZPZ8 ծXZ3*5y>% JS/tckX˯ լs2Xv}A`K!ܔyN&]=f"q.0xع2+Vb"k̩Vr'֠q66Z3*5$2ֱ^XeO民RP@L  NJWb"k" OYȭ\a6.LծXZ3*5\ Ӌ Z3*5zH(HrPӍuߧP~;*o1ek̩9ݧ_y$C(LzEj \`rdVrEj9Sdš e c./Vʟ`@I eׅ9S$TDӨ|cҥzbȭZ刂eh+Wb"k"+Vʟc$~ - O@Y9Sr?O*J!ܔ p]w?_5ʇ[鮌mkuZ3*5wi| J<.EZu1Rֽj \u t,D<- O@YxyY""B wp #G#U$C(LzEj \u"H*CjP8G\aDo )? H(e U*J @Sk^q.:y^y&]=f"q.:y^yؤhe Ӌ G$T$C(ANƺӨ~km.bʇ[α"5Y83=8۴7-ao=| J<.EZuqgvu?O"Greh+Wb㮷mVahmB}j~ha1q[Ȁۭ9``I qEIA[ s ~C-k֮0]o"+:˧dV0]o"+:`ڄ_ŐPXH(HrPӍuߧP~;ہ>]8[_obD819I|kֳhpfzqiXnZ{!ܔyN&]=f"q.:y^yإk+X06>q@`m0$_8Y"ۭ9``L  NJWb㮷meh+Wb㮷mVb CjP9AA`N`H(HrPӍuߧP~;ہ>]8[_obD819I|kֳhpfzqiXnZ{!ܔyN&]=f"q.:y^yئ{CjP8G\aDo )? H(e U*J @Sk^q.:y^y&]=f"q.:y^yئ{CjP9AAaEIBD;k:ƿ*|u<!K^8C3ӌMNr'p924Y1q[Ȍe e UV0]o"n$2*%o )? `HUu|g5oZu&]=f"q.:y6>qdadw%)=8]u㹍M#ѣUP}56y$Cƽk>qgvu?O"Greh+Wb#|ddUgyYhmB}j~ha1q[Ȁۭ9``I qEIA[ s ~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ p #G#U$C(LzEj \u"XyjAhmB}j~ha1q[Ȁۭ>3H(e U*J @S<&_PǥKZ1q[Ȃeh+Wb㮷R CjP9A@ R % JSzqsp"GˣGqkmRpfzqiXnZD;)˧dV0]o"%B==u<- O@/mb"q.:yuxI qEIA[ |gk^q.:yLzEj \u"Xy *3[βڄ_ŐP!phm=![<$T$C(AN5#Dh`;|yzw%SɗOYȭ\aDWu)8YhmB}j~ha1q[Ȁۭ>3H(e U*J @S<&_PǥKZ1q[Ȋζ24Y1q[Ȋζ#G- O@Y8Y""B w MuPykˀ`h8X HrQ8t,Ey[bVϖ'֠q61VZu @S<$_8Y"ۭ>3`HUuzTZuH(HrPoson>T:Z;|F1VH!ܔyN&]=f"q.:y^yجg'֠q61VZu @S<$_8Y"ۭ>3`HUuzTZuq@`m$2*%o )DӨ|cҥzEy[`t,Ey[bZPZ8 u % JSmcmʇ[^\Go*04v D;)˧dV0]o"+:`k'֠q61VZu @S<$_8Y"ۭ>3`HUuzTZuT:Z;|F1VH!ܔyN&]=f"q.:ynZZPZ_8XEj \u 06yO ~hdn "W>1Rֽj \u t,AjAhmB}j/(*J!ܔ p]w?_56DF1VCۛ nӮܴ?]o"w%SɗOYȭ\a6.LD}7[z~xQjGu'֠q61VZu @S<$_8Y"ۭ>3`HUuzTZqd m /*dw%)Go*04vUmn J<.EZu7[z|6>q@`m$2*%o )DӨ|cҥzA24Y1q[ȃphUg:CjP9A@`HyY""B wp #G#U$C(LzEj \u#%'֠q61VZu @S<$_8Y"ۭ>3`HUu|g5oZu&]=f"q.:yR CjP9AA R % JSzqsp"GˣGqkmRpfzqiXnZD;)˧dV0]o"0lβڄ2*+Wb㮷[ |gPG$TuxL  NfWb㮷˧dV0]o"0lβڄ_ŐP`'&3yH(HrPӍuߧP~;ہ>]8[_obD<˴7-gvuy$C(LzEj \u"{rԂڄ2*+Wb㮷[ |g>3H(e U*J @S<)DӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w?_5.bʇ[[N#1_bD;Nr U1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=yjAhmB}j~ha1q[Ȁۭ>3Ÿ$2*%o ) "W>1|lսj \u t,FOtnZZPZ8 wI RP;Nw1.Hthn>T:޷v!un0bы75=k7-H pfzqD?ݧ]ah~D J<.EZu6>q@`mO ~hdn |gϾ6j޵q.:yLzEj \u#'Oβڄ_ŐP`#O<$T$C(ANƺӨ~kˁ>]8[F0cĈvuیtbdO|b,kmO< pfzqD?ݧ]ah~D J<.EZu.FOte e UV0]o"n |gPG$TuxS<&_PǥKZ1q[Ȃeh+Wb㮷6>qdTwIdw%)=8]u㹍yp"GˣGqӵ ؑӮܴ;qn]T:޷v!uX~1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=yjAhmB}j~ha1q[Ȁۭ>3ŸXAC/mbRP@`mO, "W>1|lսj \u t,FOtnZZPZ8 wI RP;Nw1.Hthn>T:޷v!uX~1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=u'֠q61VZu @S<)$2*%o ) ~C[֮0]o" OYȭ\aDdIyZPZ8 wIdw%)=8]u㹍yp"GˣGqӵ ؑӮܴ:+ы75=k鷞=) vuy$C(LzEj \u#=u'֠q61VZu @S<)$2*%o ) ~C-k֮0]o" OYȭ\aDv#wOβڄ_ŐPnR7x'u*J!ܔ p]w?_5.bʇ[[N#1_bD;NrF.J{"{ΰg$Cmu@p924Y1q[Ȅ^W]o 6>q>aRAC/mbRP@w0`L  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨ~km.bʇ[iXnZsrԇdHrQ8t,F Jy e U ` ~hd`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w?_56DF1VC۴7-D9jCWp$C(LzEj \u!W[- O@/mb lTdc>3H(e U*J |gk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƿ*|uvuH=VgvuR"Greh+Wb㮷+'֠q61V6G*X2$2*%c>3`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w?_56DF1VC۴7-D1|lսj \u t,F Jy Ӌ JnH(HrPӍuߧP~;ہ>]8[_nӮܴ ]p924Y1q[Ȅ^W]o 6>q>aRO ~hd0)DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"GˣGqkmu"{Zkmu7-HvJw%SɗOYȭ\aDbd+ZPZ_8X@0` xI qEIAX "W>1|lսj \u t,F Jy Ӌ JnH(HrPӍuߧP~;ہ>]8[_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@/mb lTdc``S< H(e U*J xk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƿ*|uvuH=VgvuR"Greh+Wb㮷+'֠q61V6G*X20)$2*%c``S< `HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w?_56DF1VC۴7-DxTB=?|dܵ#:CjP9A@`H}NZyH(HrPӍuߧP~;&W$Uj,_oWqͶ4q0V0)ɭElHYOx9n0b?함 "Greh+Wb#|d3yYhmB}j~h`)`;+Qh 61VEIA0$@*:>3\a6.LD}&]=f"q.0xع2:yJ>xQjGu'֠rN,rԀβEIBD;k:ƹ5Y"Qe>^2TbD8]8[+Q֢6T$Uj,_qPGOZA" ~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ p]w?_5ɭE:Z)ۛ?umthnaolF0`֢6T$Uj,_1Rֽj \u t,Gh1r7z{<- O@Y0#wxyY""B wN5~Cc_nao?ݸF.J{"MNr]kuݿ=黎y`HrQ8t,Ej-'YhmB}j~lY#XAC/uZ 4ߒ*Jxk^q.:yLzEj \u"C6>qdn#O<$T$C(ANƺӨ~km[~۬r csY*yĈpbo6: Cڭvk置֩ov$CmO "Greh+Wb㮷=u'֠q:vko1$2UMm"g``L  NfWb㮷˧dV0]o"2{<- O@Y;βEIBD;k:ƿM5M+ы75qdTwIdw%)=8]u㹍MkouWlnk%O=x Mݧ]ah{Uv:?_nߞDMI0$C(LzEj \u"C6>kx,[~, |g``S<$_<i$T, |g``S<&]uzTZu&]=f"q.:yZbnIyZPZ8 [R7x'u*J!ܔ p]w?_56i|cm9_]30)AC/uZ 4ߒ*Jx>30)D|S:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨ~km?[~۬r csY*yĈpbo6: Cڭvk置֩ov$CmO "Greh+Wb#jTIyZPZ_<;H(e]ðlRP@L  NJWb#jt,bEi3U=u'֠rN,P#O<$T$C(ANƺӨ~kmۀ oO{Usl J<.EZu6>kxv-PVg`" ~C[֮0]o" OYȭ\aDdIyZPZ8 wIdw%)=8]u㹍Mpmז1Rֽj \u t,Gh1r7z{<- O@Y0#wxyY""B wN5~Cc_n[}5={ڭv|clH=w%SɗOYȭ\aD-OaZPZ_FKH(edRP@L  NJWb㮷˧dV0]o" u'm- O@Yܠۭ? EIBD;k:ƿ،>ϱΉ|c HrQ8t,bEi3U[- O@/v#%$2b2XH( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TV'֠rN,Pm % JSzqs{b2Xk>_:'/[ȁ"Greh+Wb#jW]o" ڄ2b2XAC/v#%`HUuzTZzZVZPZ_+ ?vw%k^q.+X˯ތa-^;eh+Wbⵌl#祭e Ӌ "Gh 8:~U*J!ܔ p]w?_56ݼ;p924Y1qZ]~c oqʲڄ2X@I VH( &_P}V1qZ]~c opLzEj \V_z[:w\t6>qddw%)=8]u㹍Mo>{p$C(LzEj \V_z[:w\"͑~U'֠q?vw ~o\NϾ$TDӨ|cҥzc.z1ux&]=f"q.+X˯ތa-^;fK[|?*CjP9A@5#᠀VH(HrPӍuߧP~;v8wVϾ"Greh+Wbⵌl#祭e eݼr;> $_+%k^q.+X˯ތa-^;eh+Wbⵌl#祭e Ӌ "Gh 8:~U*J!ܔ p]w?_56ݼ;땸3HrQ8t,c.z1uxkoYhmB}j~o\NϾ ?vwEIA0$@*:>3\a2oKWeh+Wbⵌ㥭e Ӌ @pu$T$C(ANƺӨ~kmyw;ݿ+pgg@p924Y1qɑZ\ e :_ZЀ ~N@`jRP@L  NJWb"k" OYȭ\a6.LծXZ- O@Y,A""B wN5~Cc_o`Ӯ0eZsNMMj,D J<.EZxTB=?|dܵ#:CjP9A@`H}NZyH(HrPӍuߧP~;7-H<\SmD;)˧dV0&G]o">xTg/*7-Hβڄ2*mcPLH( &_P}V1qɑ[ȏ^2U˧dV0&G]o">xTg/*7-Hβڄ_ŐP`}NZyH(HrPӍuߧP~;7-H<\SmD;)˧dV0&G]o">xT1V`O/*7-Hβڄ2*mcPLH( &_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)=8]u㹍MjCXʛn`!ܔyN&]=f"q.:ynZ- O@/9j@@I `HUuzTZu&]=f"q.:ynZ- O@YrԀ~I% JSzqssrԇ7p$C(LzEj \u!W[- O@/9j@@0`  ~ R %c``L  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨ~k˛aR$2 =lYRP@w0`k^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƼjC[gu7-H!+gu!6cuCM5樂߮c srԈ!ܔyN&]=f"q.:y=AhmB}j~ R @x,[~6G*X20$_rԀC' 4ߒ*J  ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u㹍ysrԇk' K˴7-nZ$CWn N1yO,Cm}koMM]o!Y !6$C(LzEj \u"XyjAhmB}j~ R $_rԀ$TDӨ|cҥzA24Y1q[ȉa Ӌ Cw%)=8]u㹍M!ۛ@p924Y1q[ȌnZZPZ_rԀ H( 06yNa`XDӨ|cҥzEy[`t,Ey[bVϖ'֠rN,*EIBD;k:ƿg|u<!K^8C3ӌMNr'p924Y1q[Ȋζc<6>g+Wb㮷[ s ~ Vϒ*J @Sk^q.:y^y&]=f"q.:y^yجg'֠rN,䊒w%)=8]u㹍M#VϸP}56y$Cƽk>qgvu?O"Greh+Wb㮷mVahmB}j~ VτV0]o"n$2$Tu0, "W>1Rֽj \u"LzEj \u"J - O@Y:w%)=8]u㹍M#VϸP}56y$Cƽk>qgvu?O"Greh+Wb㮷mjw6>g+Wb㮷[ s ~ Vϒ*J @Sk^q.:y^y&]=f"q.:y^yئ{CjP9AAaEIBD;k:ƿg|u<!K^8C3ӌMNr'p924Y1q[Ȍe e%[>Zu @SPJ|RP@`m0&_P}V1q[Ȃeh+Wb㮷,?:CjP9AAyH(HrPӍuߧP~;ہ>\l_obD819I|kֳhpfzqiXnZ{!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠qlEj \u 06yNa`XAC/*EIA[ s ~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ p #U$C(LzEj \u"XyjAhmB}j~ VτV0]o"n l"ۭ>3`HUuzTZu&]=f"q.:y,<ܵ 6>qda RP;Nw1$|*oܵ Hgvuy$C(LzEj \u"Xy *3[βڄ2\aDo )AC/*EIA[ |gk^q.:yLzEj \u"Xy *3[βڄ_ŐP!phm=![<$T$C(AN5#CU;|yzw%SɗOYȭ\aDWu(lhmB}j~ VτV0]o"n l"ۭ>3`HUuzTZuH(HrPoson>T:Z;|5[>H!ܔyN&]=f"q.:y^yجg'֠qlEj \u 06yO ~ Vϒ*J @S<&_PǥKZ1q[Ȋζ24Y1q[Ȋζc<6>qd$T$C(AN㹏η*o-yp $ J<.EZu3`HUuzTZu3`HUuzTZu&]=f"q.:ynZZPZ8 w%)=8]u㹍M#VϸP}56D83=8۴7-[ȁ"Greh+Wb#|d mV^2TnZe e%[>Zu @S<$_U䊒n "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p #U$C(LzEj \u lβڄ2\aDo )AC/*EIA[ |gk^q.:yLzEj \u lβڄ_ŐP'&3yH(HrPk6G+Gog04vUmn J<.EZua e%[>Zu @S<$_U䊒n "W>1|lսj \u t,FK7-H- O@Yx'-H$T$C(ANƺӨ~km.j}ʇ[7-H!?ݧ]ah~D J<.EZuphUg:CjP8J|"q.:yuxI g%o )DӨ|c>٫zA24Y1q[Ȍ7[z|6>qd m u*J!ܔ p]w?_56D5[>CX>: C馶?ݧ]ah~D J<.EZu<ܵ 6>g+Wb㮷[ |g>3H(e%[>H( 06yOxL  NJWb㮷˧dV0]o"'O7-H- O@Y;NZH(HrPӍuߧP~;ח$|*o[m;X`M: C1VStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI e%[>Zu @S<)AC/*EIA[ |g>3`HUu|g5oZu&]=f"q.:y''֠rN,x'-H$T$C(ANƺӨ~kˁ>\lF0cĈvuیtbdO|b,kmR`iXnZD;)˧dV0]o"2{<- O@/*@`mO ~ Vϒ*J @S<)DӨ|c>٫zA24Y1q[Ȍ?:CjP9AA<T:޷v!un0bы75=k鷞=) vuy$C(LzEj \u#=u'֠qlEj \u 06yOxI g%o ) "W>1Rֽj \u t,Gh1r7z{<- O@Y0#wxyY""B wN5~Cc^\g|uoub16$C7-`[lnk%O={`_o={XS3ӌ!6: C HrQ8t,DI e%[>Zu @S<)$2$TuxS< `HUuzTZu&]=f"q.:y=yjAhmB}j/('rԂEIBD;k:Ƽ#VϸPzic?lHiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI e%[>Zu @S<)$2$TuxS< `HUu|g5oZu&]=f"q.:y''֠rN,x'-H$T$C(ANƺӨ~kˁ>\lF0cĈvu9_]Zu @S<)$2$TuxS< `HUu|g5oZu&]=f"q.:y'YhmB}j/(0'u*J!ܔ p]w?_5.j}ʇ[[N#1_bD;NrF.J{"{ΰg$Cmu@p924Y1q[ȎbnIyZPZ_U1q[Ȁۭ>3ŸXAC/*EIA[ |g>30&_PǥKZ1q[Ȃeh+Wb㮷6>qdTwIdw%)=8]u㹍yp"G˚qӵ ؑӮܴ:+ы75=k鷞=) vuy$C(LzEj \u!W[- O@/*>aRAC/*EIA0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;Nw1$|*oݧ]ah!R"Greh+Wb㮷+'֠ql@0` l"` ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u㹍M#VϸP}56: @nZ J<.EZuAu CjP8J| lTdc>3H(e%[>H( ;0)DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"G˚qkmu"{Zkmu7-HvJw%SɗOYȭ\aDbd+ZPZ_Ud|¥ ;0)AC/*EIAO ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u㹍M#VϸP}56: @={ڭv}56: C;%wD;)˧dV0]o"{%y]uڄ2#,O, l"`xk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƿg|uvuH=VgvuR"Greh+Wb㮷+'֠ql@0` |g``I g%c>30&_P}V1q[Ȃeh+Wb㮷+'֠rN,c+ A""B wN5~Cc_nHsU>T:MMNr$Ct]MMNr]p924Y1q[Ȅ^W]o 6>gK@w0`PJ|RP@w0`k^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƿg|uvuH7-HvJw%SɗOYȭ\aDbd+ZPZ_Ud|¥ ;0 H(e%[>H( ;0 `HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w?_56D5[>C۴7-D9jCWp$C(LzEj \u!W[- O@/*>aRO ~ Vϒ*J xL  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨ~km.j}ʇ[iXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y=AhmB}j~ Vτ `, |gPJ|RP@w0`>3`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w?_56D5[>C۴7-DH( ;0 XDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"G˚qkmu"{Zkmu7-HvJw%SɗOYȭ\aDbd+ZPZ_Ud|¥ ;0 XAC/*EIAX ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u㹍M#VϸP}56: @={ڭv}56: C;%wD;)˧dV0]o" u'm- O@/*` .| $_Uq \" ~C-k֮0]o" OYȭ\aD-OaZPZ8 eA[;w%)=8]u㹍M`;q.}5[?n3ĈtO_D;)˧dV0&G]o"+LEiAhmB}j~ VMx'ys$2 N%k^q.0xع2:yZf OYȭ\a6.LDV5]uڄ_ŐP^ A""B wN5~Cc_nj1g˟}5V9ی"_D;)˧dV0&G]o"+LEiD; e%[?7τPJ0n3;˟$TDӨ|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;~;ۚ sw[m?"HrQ8t,@A,FJbs)7š e'vAC/=+EIA0$@*:=*Z׭\aDT.EZu2VTe&6>qdܰVds)7Ċw%)g17vb4?`:p$C(LzEj \u w+4ܖe e`!uPC<$TDӨ|c>٫z@A24Y1q[ȁߊcrXu'֠rN,fadw%)η7-H}56A 0η| J<.EZunZZPZ_3?%@TuPg EIA0$@*:=*Z׭\aD.EZunZZPZ8 0NZH(HrPӍuߧP~;3TCMjD J<.EZua ec3TJX@I f~JP$TDӨ|c>٫zA24Y1q[ȌnZZPZ8 0NZH(HrPӍuߧP~;3TCMjD J<.EZu< ec3TJX@`!uPg Ċ <<&_P}V1q[Ȃeh+Wb㮷xt6>qdytRP;ߎ56v}罣?yM3?%N>T:MMu>Mj,RZ)[]ˁ"Greh+Wb㮷 ŜμaZPZ_3?%@Tu\aDxyXI f~JPџH( 0:`HUuzTZu&]=f"q.:yYʿ< Ӌ Yʰΰw%)drg*l9;=nm*q$Cθ!ܔyN&]=f"q.0xع2+Vb"k 6> aü $_0H( &_PǥKZ1qɑZ˧dV0&Ej,DVr'֠rN,k RP;Nw1;Lu樂޵k!K@,^D;)˧dV0&Ej,DVrVc?û6> aü $_0H( &_PǥKZ1qɑZ˧dV0&Ej,DVrVc?û6>qd\zfTk'b}*J!ܔ p_6Ç{ud|¥ `ۯ qD;)˧dV0&Ej,DVr.N;0- O@/p 8w*J "W>1Rֽj \`rdVrA24Y1qɑZ\ ;y>CjP9AAz H(HrP ~wi{ Yn%ʇ\ J<.EZCjP8;H(ec䊒`HUuzTZqd8$T$C(ANƺӨ~kmVg} *km`cnHrkQe0rHYO5 `HrQ8t,b0sqn9Wo*tՖ'֠qo*K@,^AC/ߖU*J6`HUuzTZ`ۯ!YL*Seq!ܔyN&]=f"q.0xع2 e`ۯ֌c~YVӦ6> c~YV6G*X2f ~RP@,^DӨ|cҥzb0sqn OYȭ\a6.L7mn6ëuߖU- O@Yր7aMY""B wN5~Cc_oj=3`hS_n3LuD>Z)EV|5٬n7D;)˧dV0&ALuZϰo-cʶ5e ecʶP7m$TDӨ|cҥzb0sqn OYȭ\a6.L7mn6ⵟ`2[h7m:jCjP9AAzϰo@cʰ㦬RP;Nw17mu$e=6tp924Y1qɐ`-|f1,iVZPZ_1,h@I c~YVEIA0$@*:>3\a6.L7mn6t,b0sqn3ߖU- O@Y1,:j% JSzqs|c~YV\FZoo*ݧM\ J<.EZ1Rֽj \`rd9kt_˧dV0&ALuYʼc~YVӦ6>qd9V8$T$C(ANƺӨ~kme[]rhsM1,v5p$C(LzEj \`rd9kt_ ^;MYhmB}j~$21e[I%k^q.0xع2 e`ۯeh+Wb [[ oh7m:jCjP9AAëu1eXqVH(HrPӍuߧP~;ʶ2|c~YV:jHrQ8t,D<- O@/1q[Ȁۭ9``I g*J @Sk^q.:yLzEj \u"Xu'֠rN, <1Rֽj \u"LzEj \u"X- O@Y3% JSzqsp"G>_8P}56y$Cƽk>qgvu?O"Greh+Wb㮷mVahmB}j~\aDo )? H(ecqd*J!ܔ p]w?_56D}qkmH')/z|- N16: CtD;)˧dV0]o"+:yhmB}j~\aDo )? H(ec gV0]o"n$21H( 06yNa`XDӨ|c>٫zA24Y1q[Ȍe Ӌ C<$T$C(ANƺӨ~km/|CX NR_Zcmu0>w%SɗOYȭ\a6.LD}=bV^2TnZe ec<"q.:yu0, EIA[ s ~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ p c<Go5V@p924Y1q[ȉa ec<"q.:yuxI g*J @S<&_PǥKZ1q[Ȃeh+Wb㮷R CjP9A@ R % JSzqsp"G>_8P}56D83=8۴7-[ȁ"Greh+Wb㮷mVGu'֠q@`m$21H( 06yO ~C-k֮0]o" OYȭ\aDK7[zzyyZPZ8 0NmMg6ydw%)dr04v <[[D;)˧dV0]o"+:ڄ21Zu @S<$_3%o )DӨ|cҥzEy[`t,Ey[bZPZ8 g*J!ܔ p[04v @p924Y1q[Ȋζ+X06> gV0]o"n EIA[ |gk^q.:y^y&]=f"q.:y^yإk'֠rN,`EIBD;~;1Rֽj \`rdu"T.EZqdj:% JSmc_on>T:Z| J<.EZuxT.EZ gV0]o"n EIA[ |gk^q.:yLzEj \u lβڄ_ŐP'&3yH(HrPk6G+Go#U$C(LzEj \u#%'֠q@`m$21H( 06yO ~C[֮0]o" OYȭ\aDdrԂڄ_ŐP`!rԂEIBD;k:ƿϱ>T:MMj@ N16: C HrQ8t,FB=>yZPZ_3+Wb㮷[ |gPy"ۭ>3`HUu|g5oZu&]=f"q.:y6Ы`Ou'֠rN,8 6βEIBD;k:ƿϱ>T:MMu.Ӯܴ>kocmu@p924Y1q[ȉR CjP8xEj \u 06yOxI g*J @S<)DӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w?_5/*o[m;X`M: C1VStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI ec<"q.:yuxS<$_3%o ) "W>1|lսj \u t,FOtnZZPZ8 wI RP;Nw1.H|gPzic?lHiXnZF.J{"ܵ ) vuy$C(LzEj \u#'Oβڄ21Zu @S<)AC/䊒n |gϾ6j޵q.:yLzEj \u#'Oβڄ_ŐP`#O<$T$C(ANƺӨ~kˁ>_>T:޷v!un0bы75=k鷞=) vuy$C(LzEj \u#=u'֠q@`mO ~$TuxS<&_PǥKZ1q[Ȃeh+Wb㮷6>qdTwIdw%)=8]u㹍yp"G=ʇ[[N#1_bD;Nr U1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDOtnZZPZ_3+Wb㮷[ |g>30$_3%o ) ~C-k֮0]o" OYȭ\aDOtnZZPZ8 wI RP;Nw1.H|gPzic?lHiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI ec<"q.:yuxS< H(ec1|lսj \u t,FOtnZZPZ8 wI RP;Nw1.H|gPzic?lHiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdIyZPZ_3+Wb㮷[ |g>30$_3%o ) ~C[֮0]o" OYȭ\aDdIyZPZ8 wIdw%)=8]u㹍yp"G=ʇ[[N#1_bD;NrF.J{"{ΰg$Cmu@p924Y1q[ȎbnIyZPZ_3+Wb㮷[ |g>30$_3%o ) ~C-k֮0]o" OYȭ\aDv#wOβڄ_ŐPnR7x'u*J!ܔ p]w?_5/*o[m;X`M: Cr csY*yy:œ`iXnZD;)˧dV0]o"{%y]uڄ216G*X2H(ecT:MMNr$C;%wD;)˧dV0]o"{%y]uڄ216G*X2$21H( ;0)DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"G>_8P}56: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@/d|¥ ;0)AC/䊒0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"G>_8P}56: @={ڭv}56: C;%wD;)˧dV0]o"{%y]uڄ216G*X2XAC/䊒XDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"G>_8P}56: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@/d|¥ ;0)$21H( ;0)0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"G>_8P}56: @={ڭv}56: C;%wD;)˧dV0]o"{%y]uڄ216G*X20$_3%c``L  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨ~km/|C۴7-D9jCWp$C(LzEj \u#{%y]uڄ216G*X20$_3%c``L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:ƿϱ>T:MMNr$C;%wD;)˧dV0]o"{%y]uڄ216G*X20)AC/䊒0)DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"G>_8P}56: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@/d|¥ ;0 $21H( ;0 0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"G>_8P}56: @={ڭv}56: C;%wD;)˧dV0]o"{%y]uڄ216G*X20)$21H( ;0 XDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"G>_8P}56: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@/d|¥ ;0 XAC/䊒0)0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"G>_8P}56: @={ڭv}56: C;%wD;)˧dV0&Ej,DVrVc?û6> gM~k `qD`HUuzTZCjP9AAzXeOv/?""B w%_o`qNwi{V0kuϾtCw%SɗOYȭ\a6.LծXZ3*5\ ec>kXu@I gM~k$TDӨ|cҥzbȭZ刂eh+Wb"k"+Vʟej,AhmB}j/(/Vʟ`^r*J!ܔ p]w?_56Ͼ;NrXkmVʟd J<.EZްA|v}A`K!ܔyN&]=f"q.0xع2+Vb"k#Luƛ|wb}'֠qJ[7z@I g2Tٻ7%k^q.0xع2+Vb t,bȭZ刊ծX0mKm݋ZPZ8 ծXYn?6v/?""B w%_nns| ;= U\|up924Y1qZ]~V_$e|.6> gP}Q" ~C-k֮0kuZ]~k,LzEj \V_er}-- O@Y@(~.RP;Nw1鷡|g>ph $C(LzEj \`rdVrF0|ߟ՝- O@/>Ux@I `V ;䊒`HUuzTZ3\a2oKWeh+WbⵌZ3Y7KCjP9A@N0$T$C(ANƺӨ~חd7otf1nw%SɗOYȭ\a6.LDV5^yZPZ_>@p4v[5D>z5OqD;)˧dV0&G]o"+LEi<- O@/ 8;ʭj:1 s7Ur ~H>Ul3TyH(#O3uW, ")~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzfqdn2YnRP;s7mkn.d9^k:"ss7mknmp g6HrQ8t,b0sqn e`ۯ- O@/-h@I  T`HUuzTZqd% <$T$C(AN㹍M=/B1 HrQ8t,c.z1|T+Fk1} e57BH(e57I%k^q.+X˯ތg2U˧dV0kuьJZ3Y7sm- O@Y:3Xt3m$T$C(ANƺӨ~km a`ۯqʹ?;T_n`c ϵHk]w6w%SɗOYȭ\a2oKWk>ZPZ_:3Xt $_:3XtRP@L  NJWbⵌt,c.z1ux]ֳ塵 Ӌ ]>H(HrP ~۫Fknݧ_yZeF3*'FknP"Greh+Wb㮷6>u+Wb㮷[ s ~*J @Sk^q.:yLzEj \u"Xu'֠rN, <1Rֽj \u"LzEj \u"MN'֠rN,Ó䊒w%)=8]u㹍M#լCX NR_Zcmu0>w%SɗOYȭ\aDd<- O@/`@`m0$_:n0$@*:>3\aD.EZuayZPZ8 0βEIBD;k:ƿ qkmH')/z|- N16: CtD;)˧dV0&G]o">xT1V`O/*7-Hβڄ2 \aDo )? H(eH( 06yNa`XDӨ|cҥzbG/*eh+Wb#|ddUgyYhmB}j/( 1VzCrԀβEIBD;Ek`h!ܔyN&]=f"q.:y,<ܵ 6>u+Wb㮷[ |gP'X0RP@`m0$@*:=*Z׭\aD.EZunZZPZ8 0NZH(HrPӍuߧP~;ہ>]Z>T:MMj@ N16: C HrQ8t,DphUge eZu @S<$_:n "W>1Rֽj \u t,DphUge Ӌ C6zCnyH(HrPk6G+Go #U$C(LzEj \u"X- O@/`@`m$2 $TuxL  NJWb㮷meh+Wb㮷myhmB}j/(,1H(HrPoson>T:Z;|V` HrQ8t,Ey[bZPZ_:1q[Ȁۭ>3H(eH( 06yO ~C-k֮0]o"+:˧dV0]o"+:`ڄ_ŐPXH(HrPoson>T:Z;|V` HrQ8t,Ey[b`ڄ2 \aDo )AC/`EIA[ |gk^q.:y^y&]=f"q.:y^yإk+X06>qd:w%)6w16yC.Ek`hw%SɗOYȭ\a6.LDV5^yZPZ_:1q[Ȁۭ>3H(eH( 06yO ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzf1Rֽj \u t,A *3e Ӌ NmMg3`HUu|g5oZu&]=f"q.:y6Ы`Ou'֠rN,8 6βEIBD;k:ƿ qkmHyvu[~nӮܴ?]o"w%SɗOYȭ\aDOtnZZPZ_:1q[Ȁۭ>3Ÿ$2 $TuxS<&_PǥKZ1q[Ȃeh+Wb㮷''֠rN,x'-H$T$C(ANƺӨ~kˁ>]Z>T:޷v!un0bы75=k7-H pfzqD?ݧ]ah~D J<.EZuR CjP8'X0"q.:yuxS<$_:n |gϾ6j޵q.:yLzEj \u#'O7-H- O@Y;NZH(HrPӍuߧP~;ח$||uoub16$C7-`[lnk%O={`_nnZMNru!ܔyN&]=f"q.:y'YhmB}j~V0]o"n |gP'X0RP@`mO ~C[֮0]o" OYȭ\aDdIyZPZ8 wIdw%)=8]u㹍yp"G˫X1ʇ[[N#1_bD;Nr U1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDv#wOβڄ2 \aDo ) Na"ۭ>3Ÿ0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨ~kˁ>]Z>T:޷v!un0bы75=k鷞=) vuy$C(LzEj \u"{rԂڄ2 \aDo ) ~*J @S<)0$@*:=*Z׭\aD.EZu<ܵ 6>qd9jA""B wN5~Cc^\ qӵ ؑӮܴ:+ы75=k7-H pfzqD?ݧ]ah~D J<.EZuR CjP8'X0"q.:yuxS< H(eH( 06yOxϾ6j޵q.:yLzEj \u#'O7-H- O@Y;NZH(HrPӍuߧP~;ח$||uoub16$C7-4bdO|b,kmR`iXnZD;)˧dV0]o"2{<- O@/`@`mO, Na"ۭ>3ŸXDӨ|c>٫zA24Y1q[Ȍ?:CjP9AA<]Z>T:MMNr$C;%wD;)˧dV0]o"1W[- O@/`>aRAC/`EIA0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"G˫X1ʇ[iXnZsrԇdHrQ8t,Bd+ZPZ_:d|¥ ;0)AC/`EIAO ~C-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍuߧP~;ہ>]Z>T:MMNr$Ct]MMNr]p924Y1q[ȌAu CjP8'X0 lTdc>3H(eH( ;0)DӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;Nw1$||uvuH=VgvuR"Greh+Wb㮷=AhmB}j~ `xP'X0RP@w0`S< `HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~Cc_nHuk8P}56: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@/`>aR ~*J |g``L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:ƿ qkmu"{Zkmu7-HvJw%SɗOYȭ\aD Jy e6G*X20$_:0&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w?_56DVc_nӮܴ ]p924Y1q[ȌAu CjP8'X0 lTdc``I u %c``L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:ƿ qkmu"ܵ!+!ܔyN&]=f"q.:y+'֠qN`@0` xI u %c``S<&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w?_56DVc_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄ2 #,X Na"`, |gϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨ~km.`*oݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ_:d|¥ ;0 XAC/`EIAX ~C-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍuߧP~;ہ>]Z>T:MMNr$Ct]MMNr]p924Y1q[ȌAu CjP8'X0 lTdc``S< H(eH( ;0 XDӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;Nw1$||uvuH=VgvuR"Greh+Wb#jW]o 6>M'a$24e*J "W>1Rֽj \`rdu"T.EZxTB=?|dܵ#:CjP8T&3AC/Rƶ@`I" ~C-k֮0&G]o">xT.EZxT1V`O/*7-Hβڄ2,kd PT&3H( &_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)=8]u㹍MjCX~5 p924Y1qɑZ\ ;y>CjP8Tu`ۯh@I IZf *J "W>1Rֽj \`rdVrA24Y1qɑZ\ ;y>CjP9AAz H(HrPӍuߧP~;ۀ>`ۯk~\-uZH@ Mn~kMN5Vb HrQ8t,bȭZ刊լs2YZZPZ_{BH(e*N: 0m״RP@L  NJWb"k" OYȭ\a6.LծXZ3*5\ Ӌ Z3*5zH(HrPӍuߧP~;ۀ>`ۯk~\-uZH@ Mn~kMN5Vb HrQ8t,bȭZ刊լs2X'CjP8Tu`ۯh@I IZf *J "W>1Rֽj \`rdVrA24Y1qɑZXeO汒?O'֠rN,k̩9'% JSzqsp}?_LutO˃%8C鷰mcƻ$~ d J<.EZ3\a2t,c.z+X˯cN\FZwiߖڄ_ŐP^_㮁Rkx:H(HrPӍuߧPk\=×=!ܔyN&]=f"q.+X˯ފ2XӮ,gu崴6>c4 $_z]~kH( &_P}V1qZ]~.EZeEkuiKH]:ZPZ8 2Xu*Y#-v_~[I% JSzq-z럴9rD;)˧dV0kuьcN^:ZPZ_AC/Z$TDӨ|c>٫zc.z OYȭ\a2_ƝtEu崴6>qdϾt X:H(HrPӍuߧPk\=×=!ܔyN&]=f"q.:y,<ܵ 6>r Wd`HUuzTZu&]=f"q.:y,<ܵ 6>qda RP;Nw1dMMjD J<.EZua e@I r$TDӨ|c>٫zA24Y1q[ȌnZZPZ8 0NZH(HrPӍuߧP~;۲Woܵ"w%SɗOYȭ\a2oKW끲>`lc'Vw水6>{P;jA" ~C-k֮0kuь7ëu0LzEj \V_z[:w\ d|#?`ڳ5 Ӌ "G^#?j*J!ܔ p]w82Z?hsypxb.w%SɗOYȭ\aDyZ'6>ce, ~,Y)m+m`HUuzTZu&]=f"q.:yhڄ_ŐPyX ?$w%)=8]u㹍M,\hsMu16u!ܔyN&]=f"q.0xع2:yZf+LyYhmB}j~,Ym r̾EIA0$@*:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B w km9f_>[_sw[2w%SɗOYȭ\a6.LծXmy e,^AC/f EIA0$@*:=*Z׭\a6.LծX&]=f"q.0xع2+Vb!'֠rN,W_uEIBD;KLuwi{ Yn%ʇ\ J<.EZue e,^Zu @SPYnRP@`m0&_PǥKZ1q[Ȃeh+Wb㮷6>qdadw%)dr04v 0m׀`h!ܔyN&]=f"q.:y^yتLhmB}j~ 0mׄV0]o"n$2`ۯ$Tu0, "W>1Rֽj \u"LzEj \u"Tڄ_ŐPXZg% JSzqsq>aR鯾qkmH')/z|- N16: CtD;)˧dV0]o"+:b6>6+Wb㮷[ s ~ 0mג*J @Sk^q.:y^y&]=f"q.:y^yؤhe Ӌ G$T$C(ANƺӨ~kmK@ UP}56y$Cƽk>qgvu?O"Greh+Wb㮷m5[>ZPZ_u1q[Ȁۭ9``I 6%o )? `HUuzTZuH(HrPӍuߧP~;ۍ J}ʇ[α"5Y83=8۴7-ao=| J<.EZuaRϱ>T:MMu%ZϜe?ݧ]ahsyHrQ8t,Ey[b`ڄ2`ۯ\aDo )? H(e,^H( 06yNa`XDӨ|cҥzEy[`t,Ey[b`ڄ_ŐPX*J!ܔ p]w?_56d|¥ qkmH')/z|- N16: CtD;)˧dV0]o"+:yhmB}j~ 0mׄV0]o"n$2`ۯ$Tu0, "W>1Rֽj \u"LzEj \u"MN'֠rN,Ó䊒w%)=8]u㹍M0`NP}56y$Cƽk>qgvu?O"Greh+Wb㮷mRgCjP8Yn"q.:yu0, y"ۭ9``L  NJWb㮷meh+Wb㮷mRgCjP9AA`xRP;Nw1#,i*o:Ĉpbr׭g2nӮܴ9I$C(LzEj \u#%YhmB}j~ 0mׄV0]o"n$2`ۯ$Tu0, "W>1|lսj \u t,FKβڄ_ŐP`!u*J!ܔ p]w?_56D{_obD819I|kֳhpfzqiXnZ{!ܔyN&]=f"q.:y>{$Z==u<- O@/f @`m0$_u䊒n0$@*:=*Z׭\aD.EZu=bVGu'֠rN,`Mg6ydw%)=8]u㹍ypۭ83=//Zq樂ӵ !_Ӎt^S:cmnD;)˧dV0&G]o">xT1V`O/*7-Hβڄ2`ۯ\aDo )? H(e,^H( 06yNa`XDӨ|cҥzbG/*eh+Wb#|ddUgyYhmB}j/( 1VzCrԀβEIBD;@YnGo5V@p924Y1q[ȉa e,^Zu @S<$_u䊒n "W>1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;k:ƿ`ۯq?ܵ Hgvuy$C(LzEj \u"Xy *3[βڄ2`ۯ\aDo )AC/f EIA[ |gk^q.:yLzEj \u"Xy *3[βڄ_ŐP!phm=![<$T$C(AN5#@YnGo5V@p924Y1q[ȉR CjP8Yn"q.:yuxI 6%o )DӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w?_56η=,yMpYnD8EJqx@K:?:X>$Cڭv}56'p924Y1q[ȊζRgCjP8Yn"q.:yuxI 6%o )DӨ|cҥzEy[`t,Ey[b3š Ӌ *J!ܔ p[0` L>6HrQ8t,Ey[bU'֠qxEj \u 06yO ~ 0mג*J @S<&_PǥKZ1q[Ȋζ24Y1q[Ȋζ#G- O@Y8Y""B w MuPykˍ G}0mp924Y1q[Ȋζ- O@/f @`m$2`ۯ$TuxL  NJWb㮷meh+Wb㮷m5[>ZPZ8 g% JSmcmʇ[^\lTdU !ܔyN&]=f"q.:y^yجg'֠qxEj \u 06yO ~ 0mג*J @S<&_PǥKZ1q[Ȋζ24Y1q[Ȋζc<6>qd$T$C(AN㹏η*o-yq>aRϱϦ !ܔyN&]=f"q.:y^yإk'֠qxEj \u 06yO ~ 0mג*J @S<&_PǥKZ1q[Ȋζ24Y1q[Ȋζ+X06>qd*J!ܔ p[0` g| J<.EZu3H(e,^H( 06yO ~C-k֮0]o"+:˧dV0]o"+:`k'֠rN,`'X0RP;ߎ?:|uK@`ۯ"Greh+Wb#jRd+e e,^Zu @S<$_u䊒n "W>1Rֽj \`rdu"T.EZRu'֠qxEj \u 06yO ~ 0mג*J @S<&_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVʓ6>qdjc'u*J!ܔ p]w?_5y K֜{0oub1]WjG*Oqdn#O<$T$C(ANƺӨ~kmퟝo={[^X'{Dp+16/f ]uMuְ}$HZkmO "Greh+Wb㮷mjw6>6+Wb㮷[ |gPYnRP@`m0$@*:=*Z׭\aDWu OYȭ\aDWu)ڄ_ŐPXrwRP;ߎ?:|uK@rw_D;)˧dV0]o"(sW[βڄ2`ۯ\aDo )AC/f EIA[ |gk^q.:yLzEj \u"7}u<- O@YonyH(HrPӍuߧP~;}lC^ZcyD83=//Zq樂ӵ _yD;)˧dV0]o"+: '֠qxEj \u 06yO ~ 0mג*J @S<&_PǥKZ1q[Ȋζ24Y1q[Ȋζ)3š Ӌ T:Zd|¥ -3_|`ۯ"Greh+Wb㮷 e,^Zu @S<$_u䊒n "W>1Rֽj \u t,AjAhmB}j/(*J!ܔ p]w?_56D{7y6D83=8۴7-[ȁ"Greh+Wb㮷6Ы`O]o#:CjP8Yn"q.:yuxI 6%o )DӨ|cҥzA24Y1q[ȃphUge Ӌ NmMg6ydw%)=8]u㹍ypۭ83=//Zq樂ӵ !_Ӎt^S:cmnD;)˧dV0&G]o">xTB=?|d e e,^Zu @S<$_u䊒n "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*}YhmB}j/(@l^2T0wyY""B w ,^GkwHrQ8t,bG/*phUgyYhmB}j~ 0mׄV0]o"n y"ۭ>3`HUuzTZqd m /*dw%)Goxjށ"Greh+Wb㮷6Ы`Ou'֠qxEj \u 06yO ~ 0mג*J @S<&_PǥKZ1q[Ȃeh+Wb㮷6Ы`Ou'֠rN,8 6βEIBD;Y9^;|604vUmn J<.EZua e,^Zu @S<$_u䊒n "W>1|lսj \u t,FK7-H- O@Yx'-H$T$C(ANƺӨ~km/ 7y6D83=8۴7-[ȁ"Greh+Wb㮷CGu'֠qxEj \u 06yO ~ 0mג*J @S<&_P}V1q[Ȃeh+Wb㮷CGu'֠rN,7a[<$T$C(ANƺӨ~km;U?-yvX1sVu"8_namzic?q[<"Greh+Wb㮷nm YhmB}j~ 0mׄV0]o"n y"ۭ>3`HUu|g5oZu&]=f"q.:y6Ы`Ou'֠rN,8 6βEIBD;k:ƿ`ۯqkmHyvu[~nӮܴ?]o"w%SɗOYȭ\aD2AjAhmB}j~ 0mׄV0]o"n y"ۭ>3`HUuzTZu&]=f"q.:yo:y Ӌ m@m9jA""B wN5~Cc_nH}0m׸PswnnZ$C3ӌMNru!ܔyN&]=f"q.:y''֠qxEj \u 06yO ~ 0mג*J @S<&_PǥKZ1q[Ȃeh+Wb㮷>RyjAhmB}j/(>Rx'-H$T$C(ANƺӨ~km/ *nnmRpfzqiXnZD;)˧dV0]o"4}<- O@/f @`m$2`ۯ$TuxL  NJWb㮷˧dV0]o"4}<- O@Y*O<$T$C(ANƺӨ~kˆo!yzӏ}56׭F0`kIn N16[ȁ"Greh+Wb㮷6>6+Wb㮷[ |gPYnRP@`m0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨ~kmퟝo={[^X'{Dp+16/f ]uMuְ}$HZkmO "Greh+Wb㮷''֠qxEj \u 06yOxI 6%o ) "W>1Rֽj \u t,DI Ӌ Gt R % JSzqsD{F0cĈvuیtbdO|b,kmR`iXnZD;)˧dV0]o"2{rԂڄ2`ۯ\aDo ) y"ۭ>3Ÿ0$@*:>3\aD.EZuR CjP9AA<*J!ܔ p]w?_5/ *o[m;X`M: C1VStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdIyZPZ_u1q[Ȁۭ>3Ÿ$2`ۯ$TuxS<&_P}V1q[Ȃeh+Wb㮷=u'֠rN,xyY""B wN5~Cc^\`ۯqӵ ؑӮܴ;qn]6+Wb㮷[ |g>3H(e,^H( 06yOxL  NJWb㮷˧dV0]o";A'YhmB}j/(7A:% JSzqsD{F0cĈvuیtbdO|b,kmO< pfzqD?ݧ]ah~D J<.EZu<ܵ 6>6+Wb㮷[ |g>30$_u䊒n |g``L  NJWb㮷˧dV0]o"'O7-H- O@Y;NZH(HrPӍuߧP~;ח$|6|uoub16$C7-4bdO|b,kmR`iXnZD;)˧dV0]o"2{rԂڄ2`ۯ\aDo ) ~ 0mג*J @S<)0$@*:>3\aD.EZuR CjP9AA<*J!ܔ p]w?_5/ *o[m;X`M: Cr csY*ysrԀg$Cmu@p924Y1q[Ȍ?:CjP8Yn"q.:yuxS< H(e,^H( 06yOxϾ6j޵q.:yLzEj \u#'Oβڄ_ŐP`#O<$T$C(ANƺӨ~kˁ>_Lu>T:޷v!uX~1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDv#wOβڄ2`ۯ\aDo ) ~ 0mג*J @S<)0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨ~kˁ>_Lu>T:޷v!uX~1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aD Jy e,^6G*X2H(e,^H( ;0&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w?_56D{_nӮܴ ]p924Y1q[ȌAu CjP8Yn lTdcPYnRP@w0`L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:ƿ`ۯqkmu"ܵ!+!ܔyN&]=f"q.:y+'֠qx@0` |gPYnRP@w0`S<&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w?_56D{_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄ2`ۯ#,O ~ 0mג*J |gϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨ~km/ *oݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ_ud|¥ ;0)$2`ۯ$T ~C-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍuߧP~;ہ>_Lu>T:MMNr$Ct]MMNr]p924Y1q[ȌAu CjP8Yn lTdc>30$_u䊒XDӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;Nw1$|6|uvuH=VgvuR"Greh+Wb㮷=AhmB}j~ 0mׄ `, y"`, "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u㹍M#^C۴7-D9jCWp$C(LzEj \u#{%y]uڄ2`ۯ#,XAC/f EIAXDӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;Nw1$|6|uvuH7-HvJw%SɗOYȭ\aD Jy e,^6G*X20)AC/f EIAX "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u㹍M#^C۴7-D6K@w0`>3H(e,^H( ;0 0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"Gnʇ[iXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y+'֠qx@0` xPYnRP@w0`>30&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w?_56D{_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄ2`ۯ#,X ~ 0mג*J xϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨ~km/ *oݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,bȭZ刊ծXڄ2;$2;䊒`HUuzTZaR 0mׄp924Y1qɑZ\XeO- O@/cAC/cH( &_PǥKZ1qɑZ˧dV0&Ej,DVrVc?û6>qd\zfTk'b}*J!ܔ p_6;wi{ Yn%ʇ\ J<.EZx@I y" ~C-k֮0&Ej,D.EZqd\8` ؼdw%)M{ud|¥ `ۯ qD;)˧dV0&Ej,DVrinXo^~ڄ2;$2;䊒`HUuzTZT:HrQ8t,D՝yYhmB}j~&.0`c< $_I $TDӨ|cҥzA24Y1q[ȉa;[hβڄ_ŐP!:% JSzqss.0cnmVvyD;)˧dV0]o" mV՝yYhmB}j~&.0`c< $_I $TDӨ|cҥzA24Y1q[ȃphUggkmyZPZ8 6zBgkmdw%)=8]u㹍M@1ӌ7y6;[h<"Greh+Wb㮷,>gkmyZPZ_I  h&3%Ͼ6j޵q.:yLzEj \u#%֬m:CjP9AA;[h<$T$C(ANƺӨ~kmΚg鷭YC\ J<.EZxTB=?|dܵ#:CjP9A@`H}NZyH(HrPӍuߧP~;7-H<\B1HrQ8t,bG/*:PG/*βڄ2JAC/$)d`HUu|g5oZ^ c`k!ܔyN&]=f"q.0xع2:yJ|I[z~xW]o#:CjP8 (F0` @I c*J "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JyyZPZ8 LU6%A[<$T$C(ANƺӨ~kmy`k(F0c J<.EZqd m /*dw%)=8]u㹍M/*srԇΰΔ#1eD;)˧dV0&G]o">xTa҄Z>xWu'֠qP` < $_IB1&(EIA0$@*:>3\a6.LD}&]=f"q.0xع2:yJ"J6>qd%/*<$T$C(ANƺӨ~kmee:P`!ܔyN&]=f"q.0xع2:yJ|I[z~xW]o#:CjP8 (F0`eAC/$Uy" ~C-k֮0&G]o">xT.EZ{$Z=?|de Ӌ *{$Xl^2TuβEIBD;k:ƿ߮y6҄c9ڬHrQ8t,bȭZ刊ծXլs2Xwb}'֠qzzAC/$k RP@L  NJWb"k" OYȭ\a6.LծXZ刭Z3*5v/?hmB}j/(/Vbk̩N$T$C(ANkmΞx^r9ݧ_yZT:HrQ8t,bȭZ刊ծXcؼe ex^rP =lZ$TDӨ|cҥzbȭZ刂eh+Wb"k"+Vb'wb}'֠rN,k ';RP;:zzv}Ej \`rdVr@^rP"Greh+Wb"k"+Vb4_,iv/?hmB}j~'\$2O[aR$2O[<i$T0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;Nw1鷓i}56ug30H\ܵ"w%SɗOYȭ\aDbd+ZPZ_Ig5d|¥ ;0 H(ex,[~H( ;0 `HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w?_56cuCM5樂߮c k@p924Y1qZ]~c op6G+գ5t6>փ7AC/$*J "W>1Rֽj \V_z[:w\.EZeF0ޖdrZ3Y7KCjP9A@5#N0$T$C(ANkmΖ;=K@w0`K!ܔyN&]=f"q.+X˯ތg2U њakihmB}j~%o $_IkA$TDӨ|cҥzc.z1|T.EZeF3*hf0ϵ6>qd`c ϵRP;Nw1:Zf HrQ8t,bEi3Ue e (RP@L  NJWb#jt,bEi3Ue Ӌ 3TyH(HrPӍuߧP~;۷1mnj0w%SɗOYȭ\a6.LD}7[z~xT;:CjP8 mZ:H(e6d`HUuzTZxUl<- O@/'Yh< u*J "W>1|lսj \`rdu#A24Y1qɑ[ȏ^2UJVgYhmB}j/(0>xP]:% JSzqs^2T]:;?up924Y1qɑ[ȏ^2ULU3JR<6>fu< $_NoyH( &_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)=8]u㹍MjCXu}ևθ!ܔyN&]=f"q.+X˯ތa-^;>kwްmYߚڄ2vյ ~;jA" ~C-k֮0kuь7ëu0LzEj \V_z[:w\ d|#?`ڳ5 Ӌ "G^#?j*J!ܔ p]w82Z?hsypxb.w%SɗOYȭ\a6.LծXZ3*5\ e: LeP u`$TDӨ|cҥzbȭZ刂eh+Wb"k"+Vʟej,AhmB}j/(/Vʟ`^r*J!ܔ pEUnm: LejD J<.EZw%SɗOYȭ\a6.L7mn6[[ g'֠q<;0 $_Nӯ`EIA0$@*:=*Z׭\a6.L7mn6t,b0sqn e`ۯyhmB}j/(exvy""B wN5~Cc_n`;ϟc"[Z`ۯp g wiߖ!ܔyN&]=f"q.0xع2+Vb"k"<6>_yb $_Nӯ1VH( &_PǥKZ1qɑZ˧dV0&Ej,DVrXg'֠rN,k lEIBD;Kӯ1Vv}@0;P qD;)˧dV0&ALu`-xCjP8 uJ[BH(e:C`HUuzTZ3\aD.EZuκAhmB}j/(06yw%)6w1,yMskg22?߮D;)˧dV0]o":y elSAC/dEIA0$@*:=*Z׭\aD.EZu'֠rN,nH(HrPosǞ=0}-s.}cmy$C(LzEj \V_e汧].Y#-v;ihmB}j~rp~.H(em$TDӨ|c>٫zc.z OYȭ\a24$ev}m- O@Yu:,gNӯ-w%)=8]u u\9sA؋"Greh+Wb㮷[- O@/n0wBH(emi" ~C[֮0]o" OYȭ\aDg]o 6>qduEIBD;~;akmy$C(LzEj \u#ZPZ_o `ﶄPۭ? EIA0$@*:=*Z׭\aD.EZu'֠rN,nH(HrPӍuߧP~;akmy$C(LzEj \u"Xzd+e emhZ [;jRP@L  NJWb㮷˧dV0]o"%JyyZPZ8 0JnyH(HrPӍuߧP~;ҥpbrk{_o[y0w\ؑ3yD;)˧dV0]o"%B==u<- O@/n0wB-h@I @#m T`HUuzTZu&]=f"q.:y,<lyYhmB}j/(8 6ۭu*J!ܔ p]w?_56k\,Z 7y6$C?up924Y1q[Ȋζ*X0tGu'֠q[;j $_o `ﶅZEIA0$@*:=*Z׭\aDWu OYȭ\aDWu)Re<6>qduβEIBD;k:ƿޕ-kŜ]~Ca?Ĉq>uθ!ܔyN&]=f"q.:y^yإK9βڄ26y}-RքPۭ? еKZH( &_PǥKZ1q[Ȋζ24Y1q[Ȋζ*X0tgu'֠rN,`2 u*J!ܔ p]w?_56k\,Z 7y6$C?up924Y1qɑ[Ȋ5QZfW[βڄ26y}-RքPۭ? еKZH( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVAu<6>qdjc+ @yY""B wN5~Cc_oJKUM]o!mswbD8l~C\ J<.EZRxyY""B wN5~Cc_oJKUM]o!mswbD8l}|=w%SɗOYȭ\aDB==u<- O@/n0wB-h@I @#m T`HUuzTZu&]=f"q.:ynm <6>qd m o xT.EZ٫zA24Y1q[Ȍ+yYhmB}j/(0c+ @yY""B wN5~Cc_oJKUM]o!mswbD8l~C\ J<.EZuʓ6> @#m T$26y}-R֒*J "W>1Rֽj \u t,FTe Ӌ XIdw%)=8]u㹍M*Z')/9Vg6u}M0}yp$C(LzEj \u |I[zzyyZPZ_o `ﶅZЀ ~uGakI%k^q.:yLzEj \u |I[zzyyZPZ8 LU6ۭu*J!ܔ p]w?_56k\,Z 7y6$C?up924Y1qɑ[ȏ^2ULU3JyyZPZ_o `ﶅZЀ ~uGakI%k^q.0xع2:yJt,bG/*&*l%]u<- O@YS&*`H}ۭu*J!ܔ p]w?_56k\,Zy0w\:HrQ8t,Eoy em $_o qd^Pm % JSzqs~C[@p924Y1q[Ȍ'֠q[< [<$TDӨ|c>٫zA24Y1q[Ȍ'֠rN,nH(HrPzw1?uu!ܔyN&]=f"q.:y[- O@/nyAC/nyH( &_PǥKZ1q[Ȃeh+Wb㮷uڄ_ŐPm % JSzqs~C[/[ȁ"Greh+Wb㮷R CjP8TY $_ڧ}5䊒`HUuzTZu&]=f"q.:y,<ܵ 6>qda RP;Nw1TMmSڷ۷ؑ[pbr587-H \ܵ"w%SɗOYȭ\aDdrԂڄ26?i ᶩ`Mm" ~C[֮0]o" OYȭ\aDdrԂڄ_ŐP`!rԂEIBD;k:ƿ߭S>M5Nojnߞ_bD?]o!Kֳ\ܵ )_ӍsrԈ!ܔyN&]=f"q.0xع2:yZf+Lu CjP8^3v#%$26׿aa" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfZPZ8 5A[$T$C(AN㹍M,swp>_4)3 )̷`90$l J<.EZxT.EZ cBH(enH( &_P}V1qɑ[ȏ^2U˧dV0&G]o">xTg/*yYhmB}j/(0>xPm:% JSzqsvYϦh1%O[<!ר6w%SɗOYȭ\a6.LD}=bV^2U[βڄ27A i" ~C-k֮0&G]o">xT.EZ{$Z=?|de Ӌ *{$Xl^2TuβEIBD;k:ƿ߮y6,_!ܔyN&]=f"q.+X˯ތa-^;8s?uhmB}j~mnk` ~mnkbEIA0$@*:=*Z׭\a2oKWeh+Wbⵌ3wZϰo'֠rN,G3v""B wN5~Cc_n9m|Eܾykv~$C~.޵`߁"Greh+Wb㮷6>NV0]o"n$29;H( 06yNa`XDӨ|cҥzA24Y1q[ȉayZPZ8 0βEIBD;Y9^;|jwGo5V@p924Y1q[Ȋζ5;ZPZ_'{+Wb㮷[ s ~$Tu0, "W>1Rֽj \u"LzEj \u"MN'֠rN,Ó䊒w%)=8]u㹍M#ڝqkmH')/z|- N16: CtD;)˧dV0]o"2Xu'֠q@`m0$_'{%o )? `HUu|g5oZu&]=f"q.:y6>qdadw%)=8]u㹍M#ڝqkmH')/z|- N16: CtD;)˧dV0&G]o">xT1V`O/*7-Hβڄ29;Zu @SPy"ۭ9``L  NJWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JS#U$C(LzEj \u"XyjAhmB}j~\aDo )AC/Ó䊒n "W>1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;k:ƿNP}56D83=8۴7-[ȁ"Greh+Wb㮷mVGu'֠q@`m$29;H( 06yO ~C-k֮0]o" OYȭ\aDK7[zzyyZPZ8 0NmMg6ydw%)dr04vxjށ"Greh+Wb#jWu'֠q@`m$29;H( 06yO ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzf3H(erwRP@`m0$@*:=*Z׭\aD.EZu7-H- O@YrԂEIBD;k:ƿNP}56D83=8۴7-[ȁ"Greh+Wb#|d mV^2TnZe erw"q.:yuxI N*J @S<&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xTB=?|dܵ#:CjP9A@`H}NZyH(HrP04vxjށ"Greh+Wb㮷6Ы`Ou'֠q@`m$29;H( 06yO ~C-k֮0]o" OYȭ\aDB=>yZPZ8 6zC:% JS f{`h <[[D;)˧dV0]o"2XyjAhmB}j~\aDo )AC/Ó䊒n "W>1|lսj \u t,FK7-H- O@Yx'-H$T$C(ANƺӨ~km.{_nnZ$C3ӌMNru!ܔyN&]=f"q.:y6Ы`Ou'֠q@`m$29;H( 06yO ~C[֮0]o" OYȭ\aDa *3e Ӌ NmMgT:MMu.Ӯܴ>kocmu@p924Y1q[ȉR CjP8xEj \u 06yOxI N*J @S<)DӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w?_5.{F0cĈvuیtbdO|b,kmR`iXnZD;)˧dV0]o"2{rԂڄ29;Zu @S<)AC/Ó䊒n |gϾ6j޵q.:yLzEj \u#'O7-H- O@Y;NZH(HrPӍuߧP~;ח$|S>T:޷v!un0bы75=k7-H pfzqD?ݧ]ah~D J<.EZu6>NV0]o"n |gPy"ۭ>3Ÿ0$@*:>3\aD.EZu6>qd:% JSzqsDjwʇ[[N#1_bD;Nr U1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDv#wOβڄ29;Zu @S<)AC/Ó䊒n |gk^q.:yLzEj \u#=u'֠rN,t <1Rֽj \u t,DI Ӌ Gt R % JSzqsDjwʇ[[N#1_bD;NrF.J{"ܵ ) vuy$C(LzEj \u#'O7-H- O@/Ó1q[Ȁۭ>3ŸXAC/Ó䊒n |g``L  NfWb㮷˧dV0]o"2{rԂڄ_ŐP`#Ow%)=8]u㹍yp"G˵;C{k"]ahuWlnk%O={`_nnZMNru!ܔyN&]=f"q.:y'YhmB}j~\aDo ) ~$TuxS< `HUu|g5oZu&]=f"q.:y'YhmB}j/(0'u*J!ܔ p]w?_5.{F0cĈvu9_]NV0]o"n |g``I N*J @S<)0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨ~kˁ>]*o[m;X`M: Cr csY*yy:œ`iXnZD;)˧dV0]o"{%y]uڄ29;6G*X2H(erwRP@w0`L  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨ~km.{_nӮܴ ]p924Y1q[ȌAu CjP8x@0` EIA0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"G˵;C۴7-D9jCWp$C(LzEj \u!W[- O@/Ód|¥ ;0)AC/Ó䊒0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;Nw1$|S>T:MMNr$Ct]MMNr]p924Y1q[ȌAu CjP8x@0` |gPy"`xL  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:ƿNP}56: @={ڭv}56: C;%wD;)˧dV0]o"{%y]uڄ29;6G*X2XAC/Ó䊒XDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"G˵;C۴7-DN `xPy"`xϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨ~km.{_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@/Ód|¥ ;0 H(erwRP@w0`k^q.:yLzEj \u!W[- O@YDzWuEIBD;k:ƿNP}56: @nZ J<.EZu^W]o 6>N `, EIAXDӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;Nw1$|S>T:MMNr$C;%wD;)˧dV0]o"{%y]uڄ29;6G*X20)AC/Ó䊒0)DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqsp"G˵;C۴7-DN `, |gPy"`, |gϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨ~km.{_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@/Ód|¥ ;0 XAC/Ó䊒0)0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;Nw1$|S>T:MMNr$Ct]MMNr]p924Y1q[ȌAu CjP8x@0` xPy"`, |g``L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:ƿNP}56: @={ڭv}56: C;%wD;)˧dV0]o"3:7KCjP8x mÿ5$29;[ka" ~C[֮0]o" OYȭ\aDgun'֠rN,:ïn*J!ܔ p]w?_56ڕ`E9ηm J<.EZun,_un'֠q]~kH(erwaߚEIA0$@*:=*Z׭\aD.EZun,_un'֠rN,g*:ïn*J!ܔ p]w?_56ڕ`E9ηm J<.EZuZ<- O@/ðl $_`" ~C-k֮0]o" OYȭ\aDKYGu'֠rN, 1?$C(LzEj \u"Xu'֠qAC/ðlRP@L  NJWb㮷˧dV0]o"%YhmB}j/(:% JSzqsvη9w%SɗOYȭ\aDOtnZZPZ_`@I EIA0$@*:=*Z׭\aD.EZu<ܵ 6>qd9jA""B wN5~Cc_n[}56'jCD;)˧dV0]o"+:I- O@/ðl $_`" ~C-k֮0]o"+:˧dV0]o"+:I- O@YxRP;Nw1n-<|c`HrQ8t,Ey[bU'֠qAC/ðlRP@L  NJWb㮷meh+Wb㮷mF1VZPZ8 qEIBD;k:ƿݸkmam"Greh+Wb㮷m5[>ZPZ_`@I EIA0$@*:=*Z׭\aDWu OYȭ\aDWu(lhmB}j/(,$T$C(ANƺӨ~kmۀ o:!ܔyN&]=f"q.:y^yجg'֠qAC/ðlRP@L  NJWb㮷meh+Wb㮷myhmB}j/(,1H(HrPӍuߧP~;۷MMu1?$C(LzEj \u"J - O@/ðl $_`" ~C-k֮0]o"+:˧dV0]o"+:`ڄ_ŐPXH(HrPӍuߧP~;۷MMu1?$C(LzEj \u"J VahmB}j~ a$2;%k^q.:y^y&]=f"q.:y^yإk+X06>qd:w%)=8]u㹍Mpm[D;)˧dV0&G]o"+LEi6> ~ d`HUuzTZqdjxyY""B wN5~Cc_n[}56'u1?$C(LzEj \`rdu"TVβڄ2;H(ev-*J "W>1Rֽj \`rdu"T.EZqdj:% JSzqsvη9w%SɗOYȭ\aDWu)ڄ2;H(ev-*J "W>1Rֽj \u"LzEj \u"MN'֠rN,Ó䊒w%)=8]u㹍Mpm[D;)˧dV0]o"(sW[- O@/ðl $_`" ~C-k֮0]o" OYȭ\aDPZPZ8 Նo RP;Nw1n-~CD;)˧dV0]o"(sW[βڄ2;H(ev-*J "W>1Rֽj \u t,EoyyZPZ8 Նo  ~ d`HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~Cc_n[}56u9w%SɗOYȭ\aD'֠qAC/ðlRP@L  NJWb㮷˧dV0]o" R CjP9A@ RP;ߎ56_nnZ0p924Y1q[ȃphUggkmyZPZ_`@I EIA0$@*:=*Z׭\aD.EZu7[zkVve Ӌ NmMg/VvyH(HrPӍuߧP~;۷MMu1?$C(LzEj \u lyYhmB}j~ a$2;%k^q.:yLzEj \u lyYhmB}j/(@l @yY""B wN5~Cc_n[}56uoosl J<.EZ3\aD.EZua Ӌ Cw%)=8]u㹍Mpmۛ>1?$C(LzEj \`rdu#F(EyYhmB}j~ a$2;%Ͼ6j޵q.0xع2:yJt,bG/*:PG/*βڄ_ŐP`"|d3\aD.EZuܘ- O@Y`ܘ$T$C(ANƺӨ~kmۀ o:!ܔyN&]=f"q.:yo:y ev-P[$TDӨ|cҥzA24Y1q[Ȇ[~[7-H- O@Y;on R % JSzqsve[srԇ9w%SɗOYȭ\aDhI ev-P[$TDӨ|cҥzA24Y1q[ȍ|<ܵ 6>qd |<*J!ܔ p]w?_56_osrԇ9w%SɗOYȭ\aDhIyZPZ_`@I EIA0$@*:=*Z׭\aD.EZuʓ6>qd |<w%SɗOYȭ\aD(F0gu'֠qAC/ðlRP@L  NJWb㮷˧dV0]o"#3:CjP9A@P`βEIBD;k:ƿݸkmΔ#1am"Greh+Wb㮷uڄ2;H(ev-*J "W>1Rֽj \u t,G]o 6>qduEIBD;k:ƿݸkmysl J<.EZu.FOte ev-P[$TDӨ|cҥzA24Y1q[ȎbnIyZPZ8 `*F;βEIBD;k:ƿݸkmO<|c`HrQ8t,@j ֬m:CjP8[ H( &_PǥKZ1q[Ȃeh+Wb㮷LU3Z<- O@YS&*`H^m ~ d`HUuzTZu&]=f"q.:y>{$Z==u<- O@YS&*`Hm:% JSzq㹍Mpm:y :Ĉt]6!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠qAC/ðlRP@L  NJWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JSzqssrԇΰl|c`HrQ8t,@j YhmB}j~ a$2;%k^q.:yLzEj \u |I[z|6>qdOdm=!dw%)6w1n-<|c`HrQ8t,Fu CjP8`Y $_|5䊒`HUu|g5oZu&]=f"q.:yuڄ_ŐP`m % JSmc_opboye50>w%SɗOYȭ\aDu CjP8`Y $_|5䊒`HUuzTZu&]=f"q.:y[- O@Yo RP;Nw1Mm17u2chao=| J<.EZu< ew* \aDxyXI EUya <<&_P}V1q[Ȃeh+Wb㮷xt6>qdytRP;N9z7u{x`=?ĈvSU}5`cֲ:HrQ8t,Cqg*n'֠q?xO,;0"q.:yaa$2;VIc*J 0ΰ ~C-k֮0]o" OYȭ\aD7r:hmB}j/(;r<1""B wN5~C\smo<˶{1Mkwkˌǭeuup924Y1qɑ[Ȋ5QZf:CjP8 7JX*: ~AzP_PH( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(AN㹍M~)~Con NR_hפWֱ,*p$C(LzEj \u#<n'֠q?o< Uu1q[ȀC< ?o< Uu <<&_P}V1q[Ȃeh+Wb㮷xt6>qdytRP;ߎ56]uMNry%D87@6o=ʇ[op$C(LzEj \u!~y׌7KCjP8 7JX*:@`!uP 7JX*:EIAyDӨ|cҥzA24Y1q[ȆU^0- O@YbUu0$T$C(AN㹍M~)~CnӮܴ?u19I|h9zMMkq\ J<.EZu< ewCO,;0"q.:yaa$2;gR'H( 0:`HUu|g5oZu&]=f"q.:yy׌7KCjP9AAa7I% JSzqh׭cW]ݿnlHo=kq |kˌǭeuup924Y1q[ȆU^0- O@/þ(/Xߖx*`ya1q[ȀC< ?o<  <`EIAyDӨ|cҥzA24Y1q[ȆU^0- O@YbUu0$T$C(ANƺӨ|km^^Ǟ9vvc9"?o=ʇ[n-.3yD;)˧dV0&G]o"+LEi<- O@/þ(| N $_|P/~A" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzf_*:@`!uP%Ө$Taa0$@*:>3\aD.EZu< Ӌ ΰw%)6w1;;~)~CnӮܴ?u19I|h97y_:!ܔyN&]=f"q.:yYʿ< ewWV0]o" <<$_|P/~A"C< "W>1Rֽj \u t,Cqg*n'֠rN,g*:n*J!ܔ pƿo]uMNry%D8λ HrQ8t,Fy^0- O@/þ(| N1q[ȀC< ?K_PEIAyDӨ|c>٫zA24Y1q[ȌμaZPZ8 < aH(HrPos;~)~C_XvuKX97y_:p924Y1q[ȆU^0- O@/þ(| N1q[ȀC< ?K_PEIAyDӨ|cҥzA24Y1q[ȆU^0- O@YbUu0$T$C(AN㹍yR?NMNry%HC/~C`HrQ8t,bEi3Ue ew3?%@TuӨ ?R NRP@L  NJWb#jt,bEi3Ue Ӌ 3TyH(HrPoszպӨqʹ?3U oƿuD;)˧dV0]o"3:hmB}j~AP*`+Wb㮷yAC/þ(1*C~A"C< "W>1|lսj \u t,Fy^0- O@Yu0$T$C(AN㹍M~)~CnӮܴ?u19I|h9v߿*oMup924Y1q[ȆU^0- O@/þ(1*C~@Ej \u 0:H(ew3?%@TuӨ$Taa0$@*:=*Z׭\aD.EZun,_u ڄ_ŐPv,XyXc EIBD;~;۷w>6: C[Ɖhmm*q\ J<.EZu< ew3?%@TuIcV0]o" <<$_|Pc3TJXXw0a"C< "W>1|lսj \u t,Fy^0- O@Yu0$T$C(ANƺӨ|km^^Ǟ9vvc9"?8Pv.3yD;)˧dV0]o"9Wxt6>g  <`@`!uP f~JP $Taa0$@*:=*Z׭\aD.EZun,_u ڄ_ŐPv,XyXc EIBD;k:ƸX,yთlo0c!OSm>0}Y]op$C(LzEj \`rdu"TVβڄ2;~@@I _PH( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(AN㹍Mow8~k\ J<.EZu< ew_*:@`!uPUu <<&_P}V1q[Ȃeh+Wb㮷xt6>qdytRP;ߎ56u}ևo:Ө}cmuη')/!6qgvu?O"Greh+Wb㮷m5[>ZPZ_cV0]o"n$2;0RP@`m0&_PǥKZ1q[Ȋζ24Y1q[Ȋζ- O@YU䊒w%)=8]u㹍M#CX NR_Zcmu0>w%SɗOYȭ\aDWu+塵 ew0`Ej \u 06yNa`XAC/ÿ %o )? `HUuzTZu]>T:MMu%ZϜe?ݧ]ahsyHrQ8t,FKβڄ2;0"q.:yu0, n0$@*:>3\aD.EZuayZPZ8 0βEIBD;k:ƿ qkmH')/z|- N16: CtD;)˧dV0&G]o">xT1V`O/*7-Hβڄ2;0"q.:yu0, n0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xQjGu'֠rN,`Mg>xP'-H<$T$C(AN;| #U$C(LzEj \u"XyjAhmB}j~Zu @S<$_c*J @S<&_PǥKZ1q[Ȃeh+Wb㮷R CjP9A@ R % JSzqsp"G˷1ʇ[7-H!?ݧ]ah~D J<.EZunm <6> \aDo )AC/ÿ %o )DӨ|cҥzA24Y1q[ȉa6Ы`O]o#:CjP9A@ m o 3H(ew0a"ۭ>3`HUuzTZuH(HrPoson>T:Z;| $ J<.EZuT:Z;| $ J<.EZ \aDo )AC/ÿ %o )DӨ|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ pƿ:|uÿ HrQ8t,Ey[b- O@/ÿ+Wb㮷[ |gP`EIA[ |gk^q.:y^y&]=f"q.:y^yئ{CjP9AAaEIBD;~;]>T:MMj@ N16: C HrQ8t,bG/*phUgyYhmB}j~Zu @S<$_c*J @S<&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xTB=?|dܵ#:CjP9A@`H}NZyH(HrP04vGkwHrQ8t,A *3e ew0`Ej \u 06yO ~H( 06yO ~C-k֮0]o" OYȭ\aDB=>yZPZ8 6zC:% JS f{`h;0Go5V@p924Y1q[ȌnZZPZ_cV0]o"n n "W>1|lսj \u t,FK7-H- O@Yx'-H$T$C(ANƺӨ~km.`*oܵ Hgvuy$C(LzEj \u# mV<- O@/ÿ+Wb㮷[ |gP`EIA[ |gϾ6j޵q.:yLzEj \u# mV<- O@Yphm=!dw%)=8]u㹍M#CX>vu[~nӮܴ?]o"w%SɗOYȭ\aDOtnZZPZ_cV0]o"n |gP`EIA[ |g>3`HUuzTZu&]=f"q.:y=yjAhmB}j/('rԂEIBD;k:Ƽ#C{k"]ahv*csY*ysrԀg$Cmu@p924Y1q[Ȍ<ܵ 6> \aDo ) n |gϾ6j޵q.:yLzEj \u#'O7-H- O@Y;NZH(HrPӍuߧP~;ח$||uoub16$C7-`[lnk%O={`_nnZMNru!ܔyN&]=f"q.:y'YhmB}j~Zu @S<)AC/ÿ %o ) "W>1|lսj \u t,FOte Ӌ GtyH(HrPӍuߧP~;ח$||uoub16$C7-`[lnk%O={`_o={XS3ӌ!6: C HrQ8t,Gh1r7z{<- O@/ÿ+Wb㮷[ |g>3H(ew0a"ۭ>3Ÿ0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨ~kˁ>]>T:޷v!un0bы75=k鷞=) vuy$C(LzEj \u"{rԂڄ2;0"q.:yuxS< H(ew0a"ۭ>3ŸXDӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w?_5.`*o[m;X`M: Cr csY*ysrԀg$Cmu@p924Y1q[Ȍ<ܵ 6> \aDo ) ~H( 06yOxϾ6j޵q.:yLzEj \u#'O7-H- O@Y;NZH(HrPӍuߧP~;ח$||uoub16$C7-4bdO|b,kmR`iXnZD;)˧dV0]o"2{<- O@/ÿ+Wb㮷[ |g>30$_c*J @S<)0$@*:>3\aD.EZu6>qd:% JSzqsDo0cF0cĈvu9_] \aDo ) ~H( 06yOxk^q.:yLzEj \u#=u'֠rN,t <1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u㹍M#C۴7-D9jCWp$C(LzEj \u#{%y]uڄ2;0 lTdcP`EIA0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqsp"G˷1ʇ[iXnZsrԇdHrQ8t,Bd+ZPZ_c `xI  $T "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u㹍M#C۴7-D #,O ~H( ;0)DӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;Nw1$||uvuH=VgvuR"Greh+Wb㮷=AhmB}j~6G*X2XAC/ÿ %c>30&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w?_56Do0c_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄ2;0 lTdc>30$_c*J |g``L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:ƿ qkmu"{Zkmu7-HvJw%SɗOYȭ\aD Jy ew0`@0`  ~H( ;0 `HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~Cc_nHvc8P}56: @nZ J<.EZu^W]o 6> #,XAC/ÿ %c``L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:ƿ qkmu"ܵ!+!ܔyN&]=f"q.:y+'֠qd|¥ ;0 $2;0RP@w0`>3`HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~Cc_nHvc8P}56: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@/ÿK@w0`>3H(ew0a"`, |gϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨ~km.`*oݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ_c `, |g``I  $TO, "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u㹍M#C۴7-D #,X ~H( ;0 XDӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;Nw1$||uvuH=VgvuR"Greh+Wb [[ 0sqn塵 e|7Ur ~<2RPA`L  NJWb [[ &]=f"q.0xع2 e`ۯ7mn6-ZPZ8 G7mh,^H(HrPîzmM6ݧM[ c~YVtՀ&D=*Z7ye ^^-kgҦ/_ZЀ!3kme {^\$C(LzEj \`rd9kt_`-xCjP8n$2>xe"7Ur ~C[֮0&ALuLzEj \`rd9kt_`-xCjP9AA(-6% JSuRm,}0m׻N7ye DyzT{GJ/_ZЀ!3h0sq־6-yp gp924Y1qɐ`-|9kt^lڄ2>xeZ /-i" ~C-k֮0&ALuLzEj \`rd9kt_n20m׀[<6>qdn2Yn;@I " ~C-k֮0kuZ]~k,LzEj \V_er}evߕ-nO水6>qde?mYk'XH(HrPӍuߧP~;k.ܵ"w%SɗOYȭ\a2oKWY9_ʲڄ2? ~VQ" ~C-k֮0kuь7ëu24Y1qZ]~c op6G+ZVZPZ8  _ʲEIBD;k:ƿއw[=cOչέ2붶F[`HrQ8t,c.z1ux#koYhmB}j~VP@I l}RP@L  NJWbⵌl&]=f"q.+X˯ތa-^;>zZVZPZ8 $|Y""B wN5~Cc_oC_jVhu[#-$C(LzEj \V_z[:w\t6>l} $_Ձ6>H( &_P}V1qZ]~c opLzEj \V_z[:w\t6>qddw%)=8]u㹍M{ڟMswZ0emlp924Y1qZ]~c op6G+ZVZPZ_Շ\ $_Շ\RP@L  NJWbⵌt,c.z1uxE#-m- O@YlWY""B wN5~Cc_o5o\ J<.EZeF0ޖd|=-m- O@/jÿVAC/jÿVH( &_PǥKZ1qZ]~c op6G.EZeF0ޖd|=-m- O@Y>CARP;Nw1pv\w%SɗOYȭ\a2oKW뎖~U'֠q5a+ 5a+$TDӨ|c>٫zc.z1ux&]=f"q.+X˯ތa-^;:ZVZPZ8 _ʲEIBD;k:ƿjGyýr!ܔyN&]=f"q.+X˯ތa-^;fK[|?*CjP8땀 $2?;`v}" ~C-k֮0kuь7ëu24Y1qZ]~c op6G+ZVZPZ8  _ʲEIBD;k:ƿjGyýrv} J<.EZeF0ޖd|=-m- O@/jÿV'gP땀 Ċ`HUuzTZeF0ޖd|24Y1qZ]~c op6G ʲڄ_ŐP#4|?*% JSzqs}o$C(LzEj \V_z[:w\t6>X|AC/jÿV'g*J "W>1|lսj \V_z[:w\.EZeF0ޖ-m- O@YY""B wN5~Cc_o5o[;>w%SɗOYȭ\a6.LD}7[z~xQjGu'֠q:ÿH(e`EIA0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJl%FyZPZ8 6zCrԀβEIBD;k:ƿ9jCXíD;)˧dV0&G]o">xTg/*7-Hβڄ2?Xw0`@I H( &_P}V1qɑ[ȏ^2U˧dV0&G]o">xTg/*7-Hβڄ_ŐP`}NZyH(HrPӍuߧP~;7-H<_u HrQ8t,bG/*&*l%FyZPZ_  :ÿ %k^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ 1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;k:ƿ:MMjD J<.EZu<ܵ 6>< d`HUuzTZu&]=f"q.:y=yjAhmB}j/('rԂEIBD;k:ƿ:MMInZD;)˧dV0]o"~* b2U#I- O@/:H(eyY" ~C-k֮0]o"~* OYȭ\aDTrdF*G2|ZPZ8 nXdF29EIBD;~;ۆxy[[nw%SɗOYȭ\aD'֠qa$2qdh @'-H$T$C(ANƺӨ~km۲9jD J<.EZuʓR CjP8ΰ ~yH( &_PǥKZ1q[Ȃeh+Wb㮷>RyjAhmB}j/(>Rx'-H$T$C(ANƺӨ~kmInZD;)˧dV0]o"3:7KCjP8ΰ$2<1" ~C[֮0]o" OYȭ\aDgun'֠rN,:ïn*J!ܔ p]w?_5={yu{k!Y]omz՝`_:ݷ$C(LzEj \u!~yaZPZ_u0 a7I%k^q.:yLzEj \u!~yaZPZ8 Ŝ< aH(HrPӍuߧP~;ז3\aD.EZu< Ӌ ΰw%)yo-Z?u)8]u㹍!={>UHrQ8t,c.z+X˯cN\FZwiߖڄ2@~.wPsmH( &_P}V1qZ]~.EZeEkuiKH]:ZPZ8 2Xu*Y#-v_~[I% JSzq-z럴9rD;)˧dV0kuZ]~k,Z]~k7K0oCjP8 a$2`" ~C-k֮0kuZ]~k,LzEj \V_er}exd6>qde%Ċw%)=8]u㹍M{MM}@p924Y1qZ]~c op6G+գ5t6>+oH(e[|H( &_PǥKZ1qZ]~c opLzEj \V_z[:w\"͑hf0- O@YlW:3XtRP;:p>aRCw%SɗOYȭ\a2̕BfnZPZ_$2$TDӨ|cҥzc.z1|T.EZeF3*hf0ϵ6>qd`c ϵRP;Nw1!ܔyN&]=f"q.+X˯ފ2Xd2YoΖk'XZPZ_RAC/P$TDӨ|cҥzc.z+X˯b2 OYȭ\a2.Y#/~.򳥭'֠rN,+8dk % JSzqsv^$C(LzEj \`rd9kt_MZuH- O@V* c~YVtՐPJߖU5dHq&*k^q.0xع2 e`ۯeh+Wb [[ 7m:jӪEhmB}j/(1eXqV_*J!ܔ  HQBD.] =#`!*J BD$gV,&>*H(He+dr0 G$T$A"yDHE JPp924Y1q[ȉa 2нc~YTuRezP$TDӨ|cҥzA24Y1q[ȉa Ӌ Cw%)>pbo|kgP}f J<.EZua 2нc~YTuRezP$TDӨ|c>٫zA24Y1q[ȌnZZPZ8 0NZH(HrP&7.nZ閼Xߖ{vop924Y1q[Ȍ=bVGu'֠tA8 `@I&Z m;%Ͼ6j޵q.:yLzEj \u#dUge Ӌ *{$Xl @yY""B w\?߮y閼 ;pm$C(LzEj \u |I[zzyyZPZ-6 a$h'[$TDӨ|cҥzA24Y1q[ȁ&*lyYhmB}j/( 1VzCnyH(HrP&7?ue.nm[}f J<.EZqdn2YnRP;s7mkn.d9^!-Mj--a| J<.EZqde8EIBD;k:ƺez[->6v}mLfGI[Mku"Greh+Wb [[ 7mn6CjP:e X@I&ZE*J "W>1|lսj \`rd9kt_˧dV0&ALun20mז'֠rN,Q[Z 0mג*J!ܔ p_n`-}0m׾5,0sq־6Ÿ=D:eE5|e=ρ"Greh+Wb [[ 7mn6-ZPZ-H^H)2ԅ,RP@L  NfWb [[ &]=f"q.0xع2 e`ۯ0sqn塵 Ӌ sqւu䊒w%)=6閥Qo[Z`ۯp g5|eqdh @'-H$T$C(ANƺӨ\<-h~C:e,|f~JqZc~w%SɗOYȭ\aDTo"Ќd˾- O@閂U A[l*J "W>1Rֽj \u w⠙t,@F/Olڄ_ŐP/}h5ǀEIBD;m{`OYkzk{`HrQ8t,AjErXZPZ-oX'-Hh@I&Z ްNZEIA0$@*:=*Z׭\aD.EZu7-H]k CjP9A@ `O民RP;Nm=k>qu[5D|}}D;)˧dV0]o"0ܵ"9w- O@閂4 $-oX'-Hi" ~C[֮0]o" OYȭ\aDajErXZPZ8 ;.5w%)=8]ukn M]o!Ykzܵ!D>}"Greh+Wb㮷=AhmB}jL 1V8ۭV0]o" <=ۭuReTIo RP@`!DzWuΰ ~C-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍuߧP迾^2ߦyoZϜc^X{1V Gup924Y1qZ]~c>MoVy塵 ,wc(/V K կ%oh ݍVm`HcW9JWbⵌ}%PLzEj \V_ϾdcKm6>qd; mRP;%ohz7u~֭vρ"Greh+Wbⵌ}%P^m ,wc(@@0` ݍVm`HcW9JWbⵌ}%PLzEj \V_ϾdcKm6>qd; mRP;%ohz7u~֭vρ"Greh+Wbⵌ}%PR ,wc(7T&(@I%od$TD:yzTZeF3*eh+Wbⵌ}%PR Ӌ ݍRw%),wc(7T&+ֱëk| J<.EZeF3*Wjd- O@ cA4BK@w0`I%od$TD:yzTZeF3*eh+Wbⵌ}%PR Ӌ ݍRw%),wc(7T&+ֱëk| H(" dŐ0(RP Q&=͚dOd)6RABD.] =#`S9"" n$R@(HPw%SɗOYȭ\a6.LDV5]u0wKCjP8`  @x` 0H,4  A`@ aXh(H*=bJWb#jt,bEi3U[ȟ}6>qdjn0wI% JSzmOg{8,8P@P7i[`HrQ8t,Fu'm- O@((  P <PP$  ,0Aa@y" ;|I>3\aD.EZuκD; Ӌ ۭ? EIBD;gu}5V9ی`|ז,e AN{~(  H9V\uk HrQ8t,bEi3U[ȟ}6>8 A`@ aXh(AA8@X <0x$ *J")d|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;s1ǹ`;q.}ϵ< N2D;)˧dV0]o"3?ihmB}j p  P <p @x` 0H,4$TD|S1V}V1q[Ȃeh+Wb㮷[ȟ}6>qduGaH(HrPS߬>5`;q/E9`ߖ"y 8!ܔyN&]=f"q.:y;QB25ǖ'֠|b, 4 lTdu$EAf*J6`HUuzTZu&]=f"q.:y;QB25ǖ'֠rN,|@ 1  RH+`HUuzTZu&]=f"q.:ynZl'֠rN,9j@˾a""B wN5~Cc_oE_MMjC19IM˾ckp924Y1q[Ȍ7-H]k CjP>1  RH+`HUu|g5oZu&]=f"q.:y˾ahmB}j/(0*J!ܔ p]w?_56X5ۛ?ؑl9ی J<.EZu_Z>9wš  b, 4;qd _Zld;.xRP;Nw1"%6$C.5v=D;)˧dV0]o"~*7}hFWxڄEAfg Yn$h,EIAxL  NJWb㮷˧dV0]o"~*7}hFWxڄ_ŐP/}h5ǒ*J!ܔ p]w;nzmswnns}w[*MMlp g"Om`7y *=7164H]uO,Cc_=E`HrQ8t,bEi3U[- O@`H+[A" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfZPZ8 5A[$T$C(ANmN_LmPm27M*d J<.EZ3TJYdP*e*J"ozTZu&]=f"q.:y,<ܵ 6>qda RP8p924Y1qɑ[Ȋ5QZfצ ڄP*eV3?%@TuH*LU1Rֽj \`rdu"T.EZ}:vx@0`6œlTduO 6uZEIAxSuO ~C-k֮0]o"~* OYȭ\aDTo"Ќd塵 Ӌ _"e~k'$T$C(ANƺӨuMNr۴7->T:!}hte~k' ybkmu"$C(LzEj \u#=u'֠pX 44)0I%@?LU1Rֽj \u t,Gh1r7z{<- O@Y0#wxyY""B q"Greh+Wb"k"+Vb CjP>3*g~kX_ $XIc>Vw%U"$XL  NJWb"k" OYȭ\a6.LծXZ- O@Y,A""B wN5~CUMeS6cX_9鷭Z刁"Greh+Wb"k"+Vb CjP>3*CH+ۡ̕d`HUuzTZ1hP ep924Y1qɑZXeO沵k 6>>t; $|P H( &_PǥKZ1qɑZ˧dV0&Ej,DVc?ծXڄ_ŐP^c?Z$T$C(ANƺӨpd~@D;)˧dV0&Ej,DVc?H?ZPZ|P AXϾd$TDӨ|cҥzbȭZ刂eh+Wb"k"+Vʟc$~ - O@Y9Sr?O*J!ܔ p]w82Z?h|cXҠ@ˁ"Greh+Wb"k"+Vʟej,AhmB}j}%@86w;0"q.0xع2+Vb /Vbq g2Tn~k{ %,@>0$@*:=*Z׭\a6.LծX&]=f"q.0xع2+Vb"k̩Vr'֠rN,k̩,A""B w_Pboc7y6Jpm`w~0`e>٫"Greh+Wb"k"1Xaý?v ;XZPZ>U aü;՝ bpg~k %zsw-k֮0&Ej,D.EZw%SɗOYȭ\a6.LծXb16ahmB}j `V 1Vw lTdcPcʱ8w|ڳ5`HcW9JWb"k" OYȭ\a6.LծXb16ahmB}j/(1X;þ~pmYߚEIBD;@w ;XoZD;)˧dV0&Ej,Dcʱ;mYߚڄ@,w;þ~pmYߚ `V ;?`86a" /XnҥzbȭZ刂eh+Wb"k"1X6ahmB}j/(1XX8w|ڳ5w%)1XX8w|ڳ5Zzծ$C(LzEj \`rdVrF0|ߟ՝- O@*yü;՝#,$@,w;þ~pmYߚEIA0$@^ëKZ1qɑZ˧dV0&Ej,Dcʱ;mYߚڄ_ŐPcʱpg~k % JScʱpg~k_]HrQ8t,c.z1Xcf5 ;XZPZ>Ucf586`@I0|~kpmYߚEIA0$@^ëKZ1qZ]~.EZeF0|,lg~k CjP9AA*_Vw民RP;0|~kpmYߚǭcW=jl!ܔyN&]=f"q.+X˯ތ`V#Xٯej'֠pbXٯ` ;X6G*X2H(1X6kXj*J "_=*Z׭\a2t,c.z1Xcf5 ;XZPZ8 `V ?ڳ5w%)1X6kXj=k:yVgp924Y1qɑZG |ߟ՝- O@* |jPcʱ_|ڳ5`HcW9JWb"k" OYȭ\a6.LծXb?`6ahmB}j/(1X/~pmYߚEIBD;@Kmw ;XoZD;)˧dV0&Ej,Dcʱ0e~~Vw水6>0|0ew ;X6G*X2H(1X/~pmYߚEIA0$@^ëKZ1qɑZ˧dV0&Ej,Dcʱ0e~~Vw水6>qd@`?`86a""B w `V ?6;՝z7u~֭vρ"Greh+Wb㮷 ŜμaZPZzN2YcBeEIP$@=bJWb㮷˧dV0]o"9Wxt6>qd9VytRP8p924Y1qZ]~c oq[dhmB}jƅ1$ c' %Ͼ6j޵q.+X˯ތa-^; OYȭ\a2oKWc'CjP9AA{d""B wN5~Cc\\ʇ[X鷩R?޷y! ya`!ܔyN&]=f"q.+X˯ތa-^;>kw- O@нF20 ${d0a" ~C-k֮0kuь7ëu0LzEj \V_z[:w\ d|#?ZPZ8 $|1Ċw%)=8]u㹍s7Ur*oc?ޥJpbo|zc'Hƺ71q HrQ8t,c.z1ux`*yڄ c'H+O*J "W>1Rֽj \V_z[:w\.EZeF0ޖ V#?ZPZ8 cF2xRP;Nw1fXCԬ`ԩW Moo[dF@l< $6wH( &_P}V1qZ]~c>&]=f"q.+X˯ތg2U HAhmB}j/(,EIBD;k:Rkm,c.5tgy$C(LzEj \u wyքe~k'- O@gy$wH( &_PǥKZ1q[ȁߊeh+Wb㮷Ⱦ#+Y@$$c*J "W>1|lսj \u t,F'֠rN,9jA""B wN5~C۷_nnZח:P`7-H"Greh+Wb#jWu'֠|hc}6G*X2H+2e*J "W>1Rֽj \`rdu"T.EZqdj:% JSm5ɭE:Z)\/Lu59wAOf6ܚYFʛdED;)˧dV0&ALu`-yhmB}jƀNӯ*U#,$_yTH( ;0&_PǥKZ1qɐ`-|.EZ5f-#Z)͕6Z)| J<.EZ1|lսj \`rd9kt_˧dV0&ALun20mז'֠rN,Q[Z 0mג*J!ܔ pƹ5Y"Qe>v}3=/]E<*ovo59J$Uj,"YFʛdEcnw%SɗOYȭ\aDK7-H- O@۔أH+r[y" ~C-k֮0]o" OYȭ\aDK7-H- O@Yx'-H$T$C(ANƺӨ\1|lսj \u t,Fy^0- O@Yu0$T$C(ANƺӨ|km?2yחYCX,CVgXZ N1u$C[$C(LzEj \u!~y׌7KCjP>4<:/XZH+y~o-`HUuzTZu&]=f"q.:yYʿ< Ӌ Yʰΰw%)=8]uqʹ816ۢ]Z:;[h<!|lk8Cu;Nr5gy$C(LzEj \u ܵ"9w- O@*U h**J "W>1Rֽj \u t,AjErXZPZ8 ;.5w%)=8]ukn MrXn3.nZ$C_D;)˧dV0]o"0ܵ"9w- O@*U h**J "W>1|lսj \u t,F[.5 Ӌ NZrXH(HrPӍuߧPm.5v=D>1y$C(LzEj \u w7}hFWx`O'֠|h*V4 b %Ͼ6j޵q.:y;PLzEj \u w7}hFWx`O'֠rN,|@ <`O*J!ܔ p]w?}|56˾ckV H֩W_!ܔyN&]=f"q.:y;QB25.x6>@V $TH( &_PǥKZ1q[ȁߊeh+Wb㮷Ⱦ#+Y<}rCjP9A@EOr% JSzqvݾ{`Og^\|$C?|cmTd H(" dŐ0 $T$A)℈% IsfY* M}TP˲WbH`A8䊒$Q(I" B!ܔyN&]=f"q.0xع2:yZf+Lu'm- O@@ @$@, I" ;|I=*Z׭\a6.LDVeh+Wb#jW]o" ڄ_ŐP^ @#m$T$C(AN$C(LzEj \`rdu"TVOaZPZ@,(@PX,  RT N>{$[-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ !ܔyN&]=f"q.0xع2:yZf+Lu'm- O@@  P䊒Hq&*k^q.0xع2:yZf OYȭ\a6.LDV5]u0wKCjP9AAzf6y}RP8p924Y1qɑ[Ȋ5QZf?ihmB}jP P 4RT N>{$[-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ !ܔyN&]=f"q.0xع2:yZf+Lu'm- O@@   9(X ( 䊒Hq&*k^q.0xع2:yZf OYȭ\a6.LDV5]u0wKCjP9AAzf6y}RP8p924Y1qɑ[Ȋ5QZf?ihmB}jP H P@X {$[-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ !ܔyN&]=f"q.0xع2:yZf+Lu'm- O@@ (@y" ;|I=*Z׭\a6.LDVeh+Wb#jW]o" ڄ_ŐP^ @#m$T$C(AN$C(LzEj \`rdu"TVOaZPZ@, 0P BEIP$@w8ozTZ(XpC(@ÀH*=bJWb#jt,bEi3U[ȟ}6>qdjn0wI% JSJ<.EZ`lc'CjP8#/w "G^#?H( & 7u~k^q.+X˯ތa-^;eh+Wbⵌl#yڄ_ŐP#/w$T$C(AN$C(LzEj \V_z[:w\ d|#?`ڳ5 Oڳ5$H c'pmYߚEIA0$@^ëKZ1qZ]~c op6G.EZeF0ޖd|5OX6ahmB}j/(Oڳ5w%)Oڳ5Zzծ$C(LzEj \V_z[:w\ d|#?`ڳ5 Oڳ5d|¥ ;0$!{d ;XH( ;0& 7u~k^q.+X˯ތa-^;eh+Wbⵌl#y՝- O@Y>ByVw民RP;>ByVwXZ>w%SɗOYȭ\a2oKW끲>`lc'Vw水6>>ByVw lTdc80;P]~SUP#/wg~k %c8uN]~L o7yRֽj \V_z[:w\ ˧dV0kuь7ëu06Gn1 ;XZPZ8 $|186a""B wN5~C\!{d ;X` կ>8 կ>$C'RD;)˧dV0kuь7ëu06GK[|?*CjP8#4|?*H(d`HcW9JWbⵌl&]=f"q.+X˯ތa-^;>zZVZPZ8 $|Y""B q"Greh+Wbⵌl#3wZϰo'֠p"Gh~.` "Gh~.`$TD:yzTZeF0ޖd|24Y1qZ]~c op6G Ùg7CjP9A@D]>H(HrPӍuߧP?myvX1s?oZϰo p"G^#??ooܠH_y΋6G+D) (He+dr0(RP Q&=͚dOd)6RABD.] =#`AN*J F[:v K|U䊒`HUuzTZu&]=f"q.:y;QB25ǖ'֠rN,|@ w%SɗOYȭ\a6.LD}å}<- O@H 800q" ;|I>3\a6.LD}&]=f"q.0xع2:yJ"J6>qd%/*<$T$C(ANP`0uYkmR$C!ܔyN&]=f"q.0xع2:yZf+Lu'm- O@H`xx  2 C`0` *J")d|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;{b2XCp}̖sI[`HrQ8t,Fu'm- O@H`xx  2 C`0` *J")d|c>٫zA24Y1q[ȌOaZPZ8 @#m$T$C(AN)ow[m?_2=oCڷU}ۃK=?Hu}ۃK=?w%SɗOYȭ\aDTf/Olڄ#,xI+j~%u0$@*:>3\aDT.EZu_Z>9wš Ӌ _"e~k'9wĊw%)=8]u?ڟ=l?޵J83=/"]ahp gp924Y1q[ȁߊ_Z>9wš [S6G*X2f V*J6`HUuzTZu&]=f"q.:y;QB25.x6>qd _Zld;.xRP;Nw][SǵZ֩W_g6$C7-l!ܔyN&]=f"q.:ynZl'֠umO@0` mO"` ~C-k֮0]o" OYȭ\aD[.5 Ӌ NZrXH(HrPӍuߧPk;ysrԇ<]o!M: CWp$C(LzEj \u# R-}?ڄ#,$$TDӨ|c>٫zA24Y1q[Ȍ7-H]k CjP9AA `O民RP;Nw][Sy~C3!udHrQ8t,c.z1uxE#-m- O@р?v@0` hxRP@w0`L  NJWbⵌt,c.z1uxE#-m- O@YlWY""B wN5~CF5y.5p@s5>w%SɗOYȭ\a2oKW끲>`l~U'֠uhx lTdcR`ݼH( ;0&_PǥKZ1qZ]~c op6G.EZeF0ޖd|=-m- O@Y>CARP;Nգݼw?Mh 9͚gD;)˧dV0kuь7ëuK[|?*CjP:`ݼ6G*X2H)Z0$TDӨ|c>٫zc.z1ux&]=f"q.+X˯ތa-^;:ZVZPZ8 _ʲEIBD;k:Vkv \k6᠀6k| J<.EZeDrY њh4ڄZe@^c? VM$TXeO&_P}V1qZ]~I+*5LzEj \V_qʟd+Fk4KCjP9A@N:3M4RP;Ng*lNSFi$C(LzEj \V_qʟd+Fk4KCjP:f"q.+X˯ހZ3*5OZeF3*'Fkn}$$TXeO) aϾ6j޵q.+X˯މ8eO OYȭ\a2N9YShbfihmB}j/( њ'Fi*J!ܔ p]w>,ZiY*uhciD;)˧dV0kuЭmYߚڄ` ;XA@Nڳ5`HcW9JWbⵌ&]=f"q.+X˯ޅhej'֠rN,g~k % JS586cֱëk| J<.EZeBfg~k CjP8586`@0` 'FkpmYߚEIA0$@^ëKZ1qZ]~.EZeBfg~k CjP9A@Nڳ5w%) њVwXZ>w%SɗOYȭ\a2̕BfnZPZ aV0kuь7ëu57BH( њki"'Fknzsw-k֮0kuьJt,c.z1|T+Fk1} Ӌ 'Fkn}w%)=8]u]se њk}0mp924Y1qZ]~c op6G+ZVZPZգjn ` V aH( ;0&_PǥKZ1qZ]~c opLzEj \V_z[:w\"͑~U'֠rN,k6G+ARP;NգVw?Mh 9͚gD;)˧dV0kuь7ëu06GK[|?*CjP:`MXc Ё>aRAJс5a7I%ck^q.+X˯ތa-^;eh+Wbⵌl#祭e Ӌ "Gh 8:~U*J!ܔ p]w:c_jnX 9XHrQ8t,c.z1uxkoYhmB}jV a6G*X2H)Z0?1"` ~C[֮0kuь7ëu24Y1qZ]~c oqʲڄ_ŐPh 8:~U*J!ܔ p]w:c_jnX 9XHrQ8t,Gh1r7z{<- O@H,@hh R A` CA*J")d|cҥzA24Y1q[ȎbnIyZPZ8 `*F;βEIBD;D) (He+dr0Q*J BD$gV,&>*H(He+dr0Q8)% HuQ"BD$C(LzEj \`rdu"TV'֠pP ,Xx P ,Xx$TD|S1VǥKZ1qɑ[Ȋ5PLzEj \`rdu"TV'֠rN,Pm % JSJ<.EZaR$*J  ;w>1Rֽj \`rdVrA24Y1qɑZXeO汒?O'֠rN,k̩9'% JSg~{s>{_1,y8eOH!ܔyN&]=f"q.0xع2'}8ڄ8ڰX8w,h@0`6H)rp'`pnXEIAxL  NfWb!rqLzEj \`rd.N:1rqš Ӌ Tu""B wN5~CNku[mw;˖5_bD8l|aý̹d J<.EZqd $T$C(AN5#Zށ"Greh+Wb!rqы- O@듃;-6G*X2f \pnXEIAxL  NfWb!rqLzEj \`rd.N:1rqš Ӌ Tu""B wN5~CNku[m2!w;˖6w%SɗOYȭ\a6.LDV5]u0wKCjP8( A`I!`*J")d|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;Vq: =6`ݣ:V閹lz՝83=/evv5`(, z՝"Greh+Wbⵌ}汧]/Qgv}m- O@X PA@X PH*=bfWbⵌ&]=f"q.+X˯ތgM~kuwiߖڄ_ŐPc>kXu+Q`i""B q"Greh+Wbⵌ}汧]/Qgv}m- O@X 0@,8`1" ;|I>3\a2t,c.z1}5iKYݧ_~[KCjP9AA`q@ENӯ-w%)Ĉw%SɗOYȭ\a2_ƝtEu崴6>`0Xpb@p0 ( rÀpPH*=bfWbⵌ&]=f"q.+X˯ތgM~kuwiߖڄ_ŐPc>kXu+Q`i""B q"Greh+Wb#jW]o" ڄ (*J")d|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;Vq: =xei8L_1 $RP˲WbH` % Jx" HEn٫DJj$$A2ز9f nH(HE ("Greh+Wb"k"#dhmB}jr?OP2xRP@L o7yRֽj \`rdVrA24Y1qɑZ 2x6>qd~ $T$C(ANGcW=jl!ܔyN&]=f"q.:yo:y ~uNZZu 0JnyA@ۭrԂEIA^Pm:`HcW9JWb㮷˧dV0]o"mG]o ܵ 6>qdh @'-H$T$C(ANƽk:y~cʷ^Xۭrԁ"۴7-p$C(LzEj \u!ߴu R CjP86y "q.:ya1o <)K@w0`I;on R %x {%yA[< p` /XnҥzA24Y1q[Ȇ[~[7-H- O@Y;on R % JSzqZz럶,ז86y Hg6: C[ J<.EZu+yYhmB}jenAL`m %k^q.:yLzEj \u"Xzd+e Ӌ Cd(6ydw%)=8]u㹍yvX1e[/[s%vH:HrQ8t,bEi3T+yYhmB}jenAL`m %k^q.0xع2:yZf OYȭ\a6.LDV5H=Gu'֠rN,P {%yA[<$T$C(ANƺӨ~k˲o*Myz5N+~@d?߮yD;)˧dV0&G]o"+LEi|?:CjP;,u enH( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVʓ6>qdjc'u*J!ܔ p]w?_5`7od)L?]o H2[hqkӍ}|=w%SɗOYȭ\aDPe  @@I2[$TDӨ|cҥzA24Y1q[Ȋ<6>qd9 @yY""B wN5~C\`9ƿ]o!w%SɗOYȭ\aDg]o#:CjP;,u enH( &_P}V1q[Ȃeh+Wb㮷[βڄ_ŐP`m:% JSzqscʷ^_Km8`?up924Y1q[ȉa=Gu'֠vX06y1q[Ȁۭ? ЧxS<$`ۭ*J @#m |g>3`HUuzTZu&]=f"q.:y,=W[βڄ_ŐP!DzWuβEIBD;k:Ƽ,ח9C;X$CmyaOlFK-"Greh+Wb#jRd+e  @Ej \u 06y}) X06yn0wBO ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfW[βڄ_ŐP^d(6ydw%)=8]u]sחeߖUjWu!ܔyN&]=f"q.0xع2:yZf+LhIyZPZ`ۭV0]o"n0wBO enH( 06y}) "W>1Rֽj \`rdu"T.EZ3`HUuzTZu&]=f"q.:yCGu'֠rN,7a[<$T$C(ANƺӨz럶,u7y8?up924Y1q[ȌyYhmB}jenZu @#m |g>3H) A"ۭ? ЧxS<&_P}V1q[Ȃeh+Wb㮷[βڄ_ŐP`m:% JSzqscʷ^_Km8`?u<?l J<.EZu+yYhmB}jen&z@SAL`mH I%k^q.:yLzEj \u"Xzd+e Ӌ Cd(6ydw%)=8]u㹍yvX1e[/[s%vH:HrQ8t,bEi3T+yYhmB}jen&z@SAL`mH I%k^q.0xع2:yZf OYȭ\a6.LDV5H=Gu'֠rN,P {%yA[<$T$C(ANƺӨ~k˲o*Myt^S֙~C-8㵂D?߮yD;)˧dV0&G]o"+LEi|?:CjP;,u3Ѐ en&z@SH( &_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVʓ6>qdjc'u*J!ܔ p]w?_5`7oiA?]o!̖q"o[}|=w%SɗOYȭ\aDPe  @Oh@I2[= )m$TDӨ|cҥzA24Y1q[Ȋ<6>qd9 @yY""B wN5~C\`9ƿ]o!w%SɗOYȭ\aDg]o#:CjP;,u3Ѐ en&z@SH( &_P}V1q[Ȃeh+Wb㮷[βڄ_ŐP`m:% JSzqscʷ^_Km8`?up924Y1q[ȉa=Gu'֠vX06yg?1q[Ȁۭ? ЧxS<$`ۭ *J @#m |g>3`HUuzTZu&]=f"q.:y,=W[βڄ_ŐP!DzWuβEIBD;k:Ƽ,ח9C;X$CmyaO,CaD;)˧dV0&G]o"+LEi^W]o#:CjP;,u3Њ@`mhS<)AL`mH I%o `ﶅ>3Ÿ0$@*:=*Z׭\a6.LDVeh+Wb#jRd+e Ӌ 3T^Pm:% JSzq.>1,}5{%yOZfyNd ~CXS Чo~0c馶yV bi"Greh+Wb#jVTe  @OhEj \u 06y}) X06yg?n0wBO ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfG*Oβڄ_ŐP^TyH(HrPӍuߧP?myvX1e[.+z5O[ s%vHkG*O< ~Ca }4߼D<1v}4p924Y1q[Ȋ<6>[= )m\aDo `ﶅ>3Ÿ$o LRP@`mhS<)DӨ|cҥzA24Y1q[Ȋ<6>qd9 @yY""B wN5~C\`9ƿ]o!w%SɗOYȭ\aDg]o#:CjP;,u3Њ@`mhS<)AL`mH I%o `ﶅ>3Ÿ0$@*:>3\aD.EZuκGu'֠rN,nyH(HrPӍuߧP~;חeߖUu2[hqkM]o!)y0w`HrQ8t,@F/Olڄ]H) Vg*J "W>1Rֽj \u w⠙t,@F/Olڄ_ŐP/}h5ǀEIBD;k:ƿݖ Zkm탗}?!ܔyN&]=f"q.:ynZl'֠vX79j@@I2 R %k^q.:yLzEj \u ܵ"9w- O@YrԀ}?EIBD;k:ƿݖ 7-H|cmy$C(LzEj \u# R-}?ڄ'-H X79jA" ~C[֮0]o" OYȭ\aDajErXZPZ8 ;.5w%)=8]u㹍M,nZ HrQ8t,bG/*:PG/*βڄe@@ A@ XĊHq&*Ͼ6j޵q.0xع2:yJt,bG/*:PG/*βڄ_ŐP`"|d= 2X81VjPнc.5`86a" /Xnҥzc.z OYȭ\a2Z]~k$|]j'֠rN,uTg~k % JSнc.5`86cֱëk| J<.EZeC6HI՝- O@B*LUڳ5d|¥ ;0$uTg~k %czsw-k֮0kuLzEj \V_ 2Y#&*Vw水6>qd/X˯` |X ;XH(HrPuTg~k_]HrQ8t,c.zZ]}g~k CjP8 286`@I=c.j*J "_=*Z׭\a2t,c.zZ]}g~k CjP9A@|/X˯ڳ5w%)uVwXZ>w%SɗOYȭ\a2e,Vw水6>=c.j ` {z]}՝$TD:yzTZeA24Y1qZ]~3~Ej'֠rN,^_hg~k % JS 286cֱëk| J<.EZu'֠voS f?[ $TDS&*k^q.:yLzEj \u#ZPZ8 A""B q"Greh+Wbⵌ}%PΞ'֠p:ΞPgOZ %zsw-k֮0kuьJt,c.z1|T3| Ӌ :Ξ*J!ܔ p:Ξ=k:yVgp924Y1qZ]~c>fgOZ CjP8gOZK@w0`I= tRP@w0`L o7yRֽj \V_Ͼd OYȭ\a2̕C7:zZPZ8 {A""B w{Cֱëk| J<.EZ{$[-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf?ihmB}j/(/Lo `ﶒ*J!ܔ pӍiXi//sI[g9 p8h1`HrQ8t,c.z1ux`*yڄ)A{d@I1P^#?H( & 7u~k^q.+X˯ތa-^; OYȭ\a2oKWRw- O@Y1P^#?H(HrPHrQ8t,c.z1ux`+ZPZ(0 9J %zsw-k֮0kuь7ëu24Y1qZ]~c opV 6>qd)A1""B q"Greh+Wb㮷y։- O@)Y" 1VǥKZ1q[Ȃeh+Wb㮷y։- O@YuH(HrPHE!E L%v,Y EIBD(HRD6jő=ڇI L%v,Y "" n$R@(HPw%SɗOYȭ\aDv#wOβڄ @,<@hh R @X 44)" ;|I=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(AN$C(LzEj \u wyքe~k'- O@EOA@EOH( & 7u~k^q.:y;PLzEj \u wyքe~k'- O@Yր+Y9wš Ⱦ_v]@0;P]~Iր+Yl J<.EZRyjAhmB}jT R+Wb㮷ʓ:H(>Rx'-H$T |<<& 7u~k^q.:yLzEj \u#G*O7-H- O@Y*Ow%)=8׭cW=u^] |c~YVk>Rx'-Hpfz_bD;NryD;)˧dV0]o"4}rԂڄ |<V0]o"c'u80` XI RP@`,}ΰ "_=*Z׭\aD.EZuʓR CjP9A@ʓ9jA""B wN5X]sחeߖUT RؑӮܴ?u]p924Y1q[ȍ|<ܵ 6>*O1q[ȀXIaN6G*X2lTdu$ |<*J TyN 0mׄzsw-k֮0]o" OYȭ\aDhI Ӌ XI RP;o箹k˲o*Myc*O KlHiXnZ:yb*qD;)˧dV0]o"4}<- O@ʓ:H(>RxyY" /XnҥzA24Y1q[ȍ|?:CjP9A@ʓ:% JSzmf{ֱë,{Y{ʷ^X>R{\ J<.EZuʓ6>*O<xI*O<$T /XnҥzA24Y1q[ȍ|?:CjP9A@ʓ:% JSzqZz럶,ז>TyĈvuΚgB vJY Q"" O$A)M{5bȞPRmC򤂄&]@zG,% HuQ"BD$C(LzEj \u"X}j<6>4B1AGMREIA "W>1Rֽj \u t,D՝yYhmB}j/(gkmdw%)=8]un[^Ugt ~k!Vvy;o߭S>M5寮7-HhZϜe鷭YC\ J<.EZu+yYhmB}j:hc<$1DӨ|cҥzA24Y1q[ȉa=Gu'֠rN, <=ۭu*J!ܔ p]w9myV b9@1Md)yaBD<OTMm_~Cݣ~C`HrQ8t,bEi3T+yYhmB}j:hc<$1DӨ|cҥzbEi&]=f"q.0xع2:yZf+L JyyZPZ8 5@1o 4B1AGMREIA "W>1Rֽj \`rdu"T.EZq?޵gkmp$C(LzEj \u lyYhmB}j:hc<$1DӨ|cҥzA24Y1q[ȃphUge Ӌ NmMg6ydw%)=8]un[^Ugt swn+~CXP,C*Sm?[~?߮qdazβEIBD; ޫkʰcl!ΚÕmswoZΰ!~"X{馶7-Hkֳh|cmVvyD;)˧dV0]o"4}<- O@MPgQ@RPF3`HUuzTZu&]=f"q.:y'YhmB}j/(>RxyY""B wN5~CVו`.,C4qIaBD<OTMm_}|=ya?]o!$C(LzEj \u#=u'֠s(F3H( H(#0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨswyV b9@1MIp$C(LzEj \u |I[zkVve   :h*JxL  NJWb㮷˧dV0]o"dUggkmyZPZ8 LU6Y@yY""B wN5~CVו`.,C4q*?Ĉz՝?u<TMm,=R$Cֳh|cmVvyD;)˧dV0]o"dUge   :h*JxL  NJWb㮷˧dV0]o"dUge Ӌ *{$Xl @yY""B wN5~CVו`.,C4q*?Ĉz՝?u<TMm,=R$Cֳh|cmVvyD;)˧dV0&G]o"+LEi6>4B1n$t$T3uW, "W>1Rֽj \`rdu"T.EZqdjc+ @yY""B wN5~CVו`.,C4q֙t^S:HrQ8t,bEi3U'YhmB}j:hc<)UH( H(#NfXDӨ|cҥzbEi&]=f"q.0xع2:yZf+LhIyZPZ8 5@ʓ:% JSzq궿Ugt swoZf}θ!ܔyN&]=f"q.:y,<lyYhmB}j:hOhEj \u 06yNa`XAGMY`)m$Tu0, "W>1Rֽj \u t,DphUge Ӌ C6zCnyH(HrPӍuߧP4k{K~_mskƉ`hC<|cmy$C(LzEj \u"Xu'֠s,V0]o"n$tEIA[ s ~C-k֮0]o" OYȭ\aDKβڄ_ŐP!u*J!ܔ p]w<&蟗<\%D?X;:?:~D J<.EZu7[z|6>4de"q.:yu0, ,*J @Sk^q.:yLzEj \u lβڄ_ŐP'&3yH(HrPӍuߧP4k{K~_mskƉ`hC<|cmy$C(LzEj \u#%YhmB}j:hOhEj \u 06yNa`XAGMY`)m$Tu0, "W>1|lսj \u t,FKβڄ_ŐP`!u*J!ܔ p]w<&蟗<\%D?X;:?:~D J<.EZu=bVGu'֠s,V0]o"n$tEIA[ s ~C-k֮0]o" OYȭ\aD1V`O]o#:CjP9A@TI&3uβEIBD;k:^X{7]`k\4HGgZ[o[ȁ"Greh+Wb#|ddUgyYhmB}j:hOhEj \u 06yNa`XAGMY`)m$Tu0, "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B wN5~Cm,=.X')/!և7y6y HrQ8t,bG/*&*l%]u<- O@MY`)m\aDo )? H( #,?n0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xW]o#:CjP9A@TI&3|d6ydw%)=8]u?Io'_:019I|hδ9η?߮D;)˧dV0]o"%֬m:CjP9@01Y4q*J"ozTZu&]=f"q.:y,>gkmyZPZ8 0Y@yY""B q"Greh+Wb㮷6Ы`Mj<6>4qQ@01Y" 1VǥKZ1q[Ȃeh+Wb㮷6Ы`Mj<6>qd m :% JSJ<.EZ(F0`m$tδ*J "W>1Rֽj \`rdu"T.EZqdj:% JSmc\?ζnt!ܔyN&]=f"q.:ytyZPZ$a$% <$TD:yzTZu&]=f"q.:ytyZPZ8 cu*J!ܔ pۢ͑cW=u^X7o҄c?up924Y1q[ȃ βڄ% <xIIB1:%c<& 7u~k^q.:yLzEj \u B1<6>qd% <$T$C(ANƽk:y~Jyݧ]ahu[z`HrQ8t,A *3[βڄt}dt}dH*{$[-k֮0]o" OYȭ\aDB==u<- O@Yphm=![<$T$C(AN$C(LzEj \u w˖#%Z1R9ڄt< lg:NNSBH(y"tk^q.:y;PLzEj \u w˖#%Z1R9ڄ_ŐP r%Z0 ̤*J!ܔ p |nsޭJ"Greh+Wb㮷ڄtf(g5*J"ozTZu&]=f"q.:ynZ- O@YrԀ~I% JSJ<.EZeF3*hf0ϵ6>@@pp 88@Xh H*=bJWbⵌ}%PLzEj \V_Ͼd5w>ڄ_ŐP57C>EIBD;D;)˧dV0&G]o"+LEiD; NZzH(NZzI%@TI=*Z׭\a6.LDVeh+Wb#jW]o" ڄ_ŐP^ @#m$T$C(AN$C(LzEj \V_z[:w\ d|#?ZPZ:zH(RP@L  NJWbⵌl&]=f"q.+X˯ތa-^;>kw- O@Y>ByEIBD;k:R?XoZ;wYD;)˧dV0kuьJ;CjP9gOX@It*J "W>1|lսj \V_Ͼd OYȭ\a2̕G[twU'֠rN,m;% JSzqZZ~pbo|v5ʱ,C.6z)Dzկ=9HvD J<.EZeF3*$e6>t2 Ͱ ;K$ecd`HUu|g5oZeF3*eh+Wbⵌ}%Pd'֠rN,Rh$T$C(ANƺӨsΞ[twUo9!ܔyN&]=f"q.:yCAhmB}j;d|lNxwH(x~*J땄k^q.:yLzEj \u"7}uڄ_ŐPX6yw%)=8Ƽk2VN3wjUgɊ89g`hHMNrv3ݿ+"Greh+Wb㮷=AhmB}j;d|lNxwH(x~*J땄k^q.:yLzEj \u!W[- O@YDzWuEIBD;k^^luߧP;.~u",  iXnZ{p$C(LzEj \`rd9kt_n20mז'֠sN,dwixZe,RT Od|cҥzb0sqn OYȭ\a6.L7mn6[[ ڄ_ŐP 9kAf EIBD;D;)˧dV0&Ej,DVr'֠sN,dwixZe,RT Od|cҥzbȭZ刂eh+Wb"k"+Vb CjP9AAzH(HrPHrQ8t,bȭZ刊ծXլs2Xwb}'֠sN,dwixZe,RT Od|cҥzbȭZ刂eh+Wb"k"+Vb+Vʟa݋ZPZ8 ծXZ3*5y>% JSJ<.EZu` N,dH*{$[-k֮0&Ej,D.EZqd\8` ؼdw%)Ĉw%SɗOYȭ\a6.LծXZؼe ӯYu`$TDS&*k^q.0xع2+Vb t,bȭZ刊ծX0mKm݋ZPZ8 ծXYn?6v/?""B q"Greh+Wb"k"jAhmB}j;<-2AGv}煦X2%@TI=*Z׭\a6.LծX&]=f"q.0xع2+Vb!'֠rN,W_uEIBD;D;)˧dV0&Ej,DVc?ծXڄwixZe, l2區 u`<$: Le*J_yi }`HUuzTZ$wixZe,RP@: LeDӨ|cҥzbȭZ刂eh+Wb"k"+Vʟc$~ - O@Y9Sr?O*J!ܔ pUu!V>swn;N,`N7όfw%SɗOYȭ\aDTo"Ќd塵 6G*X2f #,xI;%uN 0mׄk^q.:y;PLzEj \u wyքe~k'- O@Yր+Y*H(He+dr0 p$T$A"yDHE JPp924Y1qZ]~c oqʲڄ,<40KPh 8@XX@,H*=bfWbⵌt,c.z1uxkoYhmB}j/(4|?*% JSJ<.EZeF0ޖ-m- O@᠀A`9`8hh,4X` AŇrpXi`80" ;|I>3\a2oKWeh+Wbⵌ㥭e Ӌ @pu$T$C(AN$C(LzEj \V_z[:w\t6> 04   a8h$Hq&*Ͼ6j޵q.+X˯ތa-^; OYȭ\a2oKW뎖~U'֠rN,ARP8p924Y1qZ]~c oqʲڄ,<4 H(4Xxh ,, *J")d|c>٫zc.z1ux&]=f"q.+X˯ތa-^;:ZVZPZ8 _ʲEIBD;D;)˧dV0]o"%'֠~@-< أ$TDS&*k^q.:yLzEj \u"XyjAhmB}j/(9jA""B q"Greh+Wb㮷uڄu A" /XnҥzA24Y1q[ȎAhmB}j/(6yw%)drXn HrQ8t,G]o 6>o 0)Wb㮷[;OxIo RPA``So `ﶅ>3Ÿ0$@^ëKZ1q[Ȃeh+Wb㮷uڄ_ŐPm % JSzqZz럶,u7n KlHiXnZ{!m"Greh+Wb㮷uڄu@`mhS<)AA[$TuGa |gzsw-k֮0]o" OYȭ\aDu CjP9AA[$T$C(ANƽk:y~cߖU3=/"]ahy0w`HrQ8t,G]o"{%l*X6ahmB}j @#OeyV ՝ ۭ;[a`| bpmYߚEIA0$@^ëKZ1q[Ȃeh+Wb㮷u̖ߞu||`ڳ5 Ӌ ۭ;[a`| bpmYߚEIBD;o5nYmu=*Ug~k Z)!ٮ:D;)˧dV0]o":y'-+8㷾j*J "_=*Z׭\aD.EZuV}sX9qhmYߚڄ_ŐPm;{86a""B w 7u{^\YA[ nk Ǝ8ڳ5EEvˁ"Greh+Wb㮷unk1;{ ;XZPZn|qhg~kK@w0`Io /X>+8㷾j*J "_=*Z׭\aD.EZuV}sX9qhmYߚڄ_ŐPm;{86a""B w 7u{^\YA[ nk Ǝ8ڳ5Evu8]2HrQ8t,G]o"g~k CjP8mpmYߚ @ ;XH( & 7u~k^q.:yLzEj \u#`ڳ5 Ӌ ۭڳ5w%)/XyrkQeo ՝$Uj,gٮ:D;)˧dV0]o":y ;XZPZnj ` @ ;XH( ;0& 7u~k^q.:yLzEj \u#`ڳ5 Ӌ ۭڳ5w%)/XyrkQeo ՝$Uj,gH۴7-:D;)˧dV0]o":y ܫP}q՝- O@[W`uh ;XAA[W`uh ;XH( & 7u~k^q.:yLzEj \u#nZ]ʺ7mYߚڄ_ŐPm9j@!]rpn7j*J!ܔ pcWɭEuNZW\ڳ5EEvˁ"Greh+Wb㮷urԆJU(>mj'֠pۭrԀ+Bo՝#,$uNZvW\ڳ5`HcW9JWb㮷˧dV0]o":y ܫP}q՝- O@Yo 9](<}86a""B w 7u{^\YA[uh ;XHYN HiXnZu[#.w%SɗOYȭ\aDu R+og~k CjP8m9j@g~kH(6y _ڳ5`HcW9JWb㮷˧dV0]o":y 7`ڳ5 Ӌ ۭrԀ+~j*J!ܔ pcWɭEuNZvïpmYߚEVpfzDvkqNkdep924Y1q[ȎAjC%v6ahmB}j @'-Hr{86`@0` ۭrԀ+~j*J "_=*Z׭\aD.EZu2Wlmj'֠rN,n Ru ;XH(HrP^ח&Pm9j@g~k Z)!6: CqNkdep924Y1q[ȎAjC7Ej'֠pۭrԀ @ ;XAA[|Vw民RP@L o7yRֽj \u t,G]o ܵ!"g~k CjP9AA[|Vw民RP;:.Mj,ۭrԀ @ ;XHYN Ht_)ml!ܔyN&]=f"q.:y[7-Hf9mYߚڄuNZ:9g~kK@w0`Io =NbpmYߚEIA0$@^ëKZ1q[Ȃeh+Wb㮷urԆo՝- O@Yo =NbpmYߚEIBD;o5n R'G186a"Qe83="D?ݧ]aht_)ml!ܔyN&]=f"q.:y[7-Hζob,Vw水6>o u=*Ug~kH(6y <R@ ;XH( & 7u~k^q.:yLzEj \u#nZl*X6ahmB}j/(6y <R@ ;XH(HrP^ח&Pm9j@yXXVw民U"远Sp$C(LzEj \u#nZl*X6ahmB}j @'-H<{Tj ` @'-H<{Tj*J "_=*Z׭\aD.EZuy[7ʱ ;XZPZ8 @'-H<{Tj*J!ܔ pcWɭEuNZyV ՝$Uj,gH۴7-:D;)˧dV0]o"{%y]uڄ[+1*J"ozTZu&]=f"q.:y+'֠rN,c+ A""B q"Greh+Wb㮷=AhmB}juA]uβ%@TI=*Z׭\aD.EZuAu CjP9A@1o RP8p924Y1qZ]~c oq[dhmB}jc.z1|TtwUWXo*J "W>1|lսj \V_z[:w\.EZeF0ޖO'֠rN,yEIBD;k:濦޵?[twU3=/鷭F2zw%SɗOYȭ\a2oKW끲>`lc'CjP?XoV0kuьJ6ۣ$c~RP@mGuXL  NJWbⵌl&]=f"q.+X˯ތa-^;>kw- O@Y>ByEIBD;k:濦޵?[twU3=/鷭F2zw%SɗOYȭ\a2oKWRw- O@c1|ZeF3*n값 EIAa0$@*:=*Z׭\a2oKWeh+Wbⵌეc'CjP9A@ rO*J!ܔ p]w:6N0d J<.EZeF0ޖO'֠~߾1qZ]~c> ߾Ċm;`HUu|g5oZeF0ޖ˧dV0kuь7ëun1š Ӌ F2xRP;Nc~/n4gyz2X$C!V~6c1}hz2X~!V!ܔyN&]=f"q.+X˯ތa-^;>kw- O@c1|7+Wbⵌ}%PmVA]c1|7%twUk^q.+X˯ތa-^;eh+Wbⵌl#yڄ_ŐP#/w$T$C(ANƺӨ~߾kmX˯cGu[3zc'HrQ8t,c.z1ux`*yڄ3~"q.+X˯ތg2Ua$3~RP@mGuXL  NJWbⵌt,c.z1ux`*yڄ_ŐP1Ċw%)=8]u7ӌD;)˧dV0kuь7ëun1š f7[7z+Wbⵌ}%PmVA]c1|ٻH( 6ۣ&_P}V1qZ]~c opLzEj \V_z[:w\V#?ZPZ8 c'% JSzqf7mVM{ڷc.5D?nbhs,MXoZ5_eUw%SɗOYȭ\a2oKW끲>`lc'CjP?XonV0kuьJ6ۣ$c~wRP@mGuXL  NJWbⵌl&]=f"q.+X˯ތa-^;>kw- O@Y>ByEIBD;k:濦޵?[twU3=/鷭F2zw%SɗOYȭ\a2oKWRw- O@c1|ٻZeF3*n값 ޲EIAa0$@*:=*Z׭\a2oKWeh+Wbⵌეc'CjP9A@ rO*J!ܔ p]w:6N0d J<.EZunZZPZ?i,?i,RT Od|cҥzA24Y1q[ȉa Ӌ Cw%)Ĉw%SɗOYȭ\a2.Y#/.Y#/CjP?Z[a1qZ]~c>K$e$r$T H@L  NJWbⵌc.5H&]=f"q.+X˯ފ2Xd2Xd- O@YuK$e""B wN5~C\FZ@p924Y1qZ]~c>c.5Hڄ֫Ej \V_ϾdRh \%2DӨ|c>٫zc.z1|T.EZeF3*2Xd- O@YuK$e""B wN5~C^J9+-֫mX˯cm=HrQ8t,c.z1|T"͑2Xd- O@jmV0kuьJ, UlRP@*Y#-0$@*:=*Z׭\a2̕A24Y1qZ]~c>E#er|ZPZ8  2X HEIBD;k:Umd?[twUp924Y1qɑ[Ȋ5QZfZPZ@pP,< e r @`0` (%@?LU1Rֽj \`rdu"T.EZ{$[-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfZPZ8 5A[$T$C(AN$C(LzEj \u wyքe~k'- O@k6G*X2f ^EIAxL  NJWb㮷˧dV0]o"~*7}hFWxڄ_ŐP/}h5ǒ*J!ܔ p]w?Z}6pb=[m;X`*a.ojH"OD;)˧dV0]o"~* b2U#I- O@k`e@1 ϋlW $ף_'EIA8߶_k^q.:y;PLzEj \u w˖#%Z1R9ڄ_ŐP r%Z0 ̤*J!ܔ p^qls{Vuc~| J<.EZG!J c~YVЀ ^B`HUuzTZ PcʶWZ}7m$TDӨ|c>٫zb0sqn OYȭ\a6.L7mn61e[Nڄ_ŐP`cʰ㦬RP;Nף*SʶM1,v5p$C(LzEj \`rd9kt_ Ŝ7m:jCjP?Z}7m )Ao*H( &_PǥKZ1qɐ`-|.EZG fXc>t;X~|ZGXgWZ}y" ;w>1Rֽj \V_z[:w\.EZeF0ޖ9}|6>qd9g7% JSzqӵ_oÙz}}gQD;)˧dV0]o"~*7}hFWxڄֽ`:vxF3H+z>uZEIA "W>1Rֽj \u w⠙t,@F/OZPZ8 /6WxEIBD;k:^,C{kC%[}_Z_}6: C`!ܔyN&]=f"q.0xع2+Vb"k 6>G Umi~|ZaRA]k R %ck^q.:yLzEj \u"Xzd+e Ӌ Cd(6ydw%)6ף.nZݧ]ahvJ鷡~Cux!ܔyN&]=f"q.:y{%y]u<- O@k RK@w0`IuG'-H$TDӨ|c>٫zA24Y1q[Ȍ+yYhmB}j/(0c+ @yY""B w k˛83=/iXnZ|cmwu߮^;w%SɗOYȭ\a6.L7mn6ⵟ`2[h7m:jCjP?Z}1,#,xIuGcʲEIAxL  NJWb [[ &]=f"q.0xع2 e`ۯ}|mߖU- O@Y>mo*ÎEIBD;k:^f>6տߖUNDMk>~;hsqzϰo0$C(LzEj \`rd9kt_o*tՖ'֠~ c~YV6G*X2f ^7df  ~C[֮0&ALuLzEj \`rd9kt_o*tՖ'֠rN,ߖU5dw%)=8]uֽmMl}0m׹M1,v5p$C(LzEj \`rd9kt_ Ŝ7m:jCjP?Z}1,#,xIuGcʲEIAxL  NJWb [[ &]=f"q.0xع2 e`ۯUʶ5e Ӌ Yʰ7aMY""B wN5~CG_n3Luojoo*ݧM\ J<.EZߖU*J6`HUuzTZt;Xߌ~|H( 1|P  ql "W>1Rֽj \`rdVrA24Y1qɑZ\ Ӌ Z$T$C(AND8p924Y1q[ȉa z>'ixZe, l2區 u`ql _yi 'EIA<-2~|DӨ|cҥzA24Y1q[ȉa Ӌ Cw%)6ף.;N,`N7ojno/X߁"Greh+Wb㮷6>G: Le8߶_ \;N,`N7$ֽ`<-2~|H( v}煦X2o/`HUuzTZu&]=f"q.:y,?:CjP9A@yH(HrPmz><-2~|6Ս!ܔyN&]=f"q.:yd+?ihmB}j^ u`ql# c`v}煦X2o/H+z>'ixZe, RP@: Le8߶_k^q.:yLzEj \u nW]o" ڄ_ŐP - @#m$T$C(ANᶽmyp u`qls{Vuc~| J<.EZ'ixZe, l2區 u`ql _yi 'EIA<-2~|DӨ|cҥzb0sqn OYȭ\a6.L7mn6[[ ڄ_ŐP 9kAf EIBD;k:^ݧ_yI V7nv}&X2=,B HrQ8t,bȭZ刊ծXڄֽ`<-2~|6Gr: Le8߶_WZ}NӯXe" u`ql "W>1Rֽj \`rdVrA24Y1qɑZ\ Ӌ Z$T$C(AN^ u`qluߧPk_O8㷽6v}煦X2ܵ"w%SɗOYȭ\a6.LծXZ刭Z3*5v/?hmB}j^ u`ql# c`v}煦X2o/H+z>'ixZe, RP@: Le8߶_k^q.0xع2+Vb t,bȭZ刊ծXլs2Xwb}'֠rN,k /Vʟ`^~EIBD;~_yi ']u e];{nwixZe-R HrQ8t,bȭZ刊ծXcؼe z>'ixZe, l2區 u`ql _yi 'EIA<-2~|DӨ|cҥzbȭZ刂eh+Wb"k"+Vb'wb}'֠rN,k ';RP;߭z>'ixZe, ~C%2}?hh۝u`srԈ!ܔyN&]=f"q.0xع2+Vb"k#Luƛ|wb}'֠~_yi '>`˖6'ixZe, $ףv}煦X2o/%NӯXeL  NJWb"k" OYȭ\a6.LծXZؼe Ӌ Z6Xo'b}*J!ܔ pG: Le8߶_:Өpd[/qsN,nnZD;)˧dV0&Ej,DVc?ծXڄֽ`<-2~|6Gr: Le8߶_WZ}NӯXe" u`ql "W>1Rֽj \`rdVrA24Y1qɑZXeO沵k 6>qdXeO/Vb % JSzmףv}煦X2o/w82Z-v8Mݧ_yi 7-H"Greh+Wb"k"+Vʟc$~ - O@k;N,`N7d|,lNӯXeIuG: Le8߶_*J_yi ' ~C-k֮0&Ej,D.EZ'ixZe, ~C%2}?hh۝u`srԈ!ܔyN&]=f"q.:y[- O@k;N,`N7d|,lNӯXeIuG: Le8߶_*J_yi ' ~C-k֮0]o" OYȭ\aDu CjP9AA[$T$C(ANᶽmyp u`qls{Vuc~| J<.EZ1Rֽj \`rdVrA24Y1qɑZ\>塵 Ӌ ZMpc.5,"Greh+Wb㮷{%y]u<- O@l'-H#,N6G*X2H+;0&_PǥKZ1q[Ȃeh+Wb㮷{%y]u<- O@Yx {%yA[<$T$C(AN]Rzl;W"Greh+Wb㮷,=W[βڄ]rԀ>aRd|¥ ;0$+NZH( ;0)ÿ`HUu|g5oZu&]=f"q.:y{%y]u<- O@Yx {%yA[<$T$C(AN]Rzl;W"Greh+Wb㮷{%y]u<- O@g*j9j@@0` z@`!rԀ 9SV R %c8`!rԀ ~C-k֮0]o" OYȭ\aDKAu<6>qda1o 1|lսj \u t,FKAu<6>qda1o }V0kuьJ,L1qZ]~u:$|>%2 œ/X˯`qA0$@*:=*Z׭\a2̕A24Y1qZ]~c>E#er|ZPZ8  2X HEIBD;k:$_5`ǮCֱ_!ܔyN&]=f"q.0xع2'} - O@m倞Յ>6G*X2-hS<$۪`-= }|RP@Z |gk^q.0xع2'}˧dV0&B㯡rqš Ӌ Tu""B wN5~Ce_\Mls.X$Cҥybl7/տ߮5Y !ܔyN&]=f"q.+X˯ތg2UmW`ڳ5 6ۣ՝ nVw民RP@L o7yRֽj \V_Ͼd OYȭ\a2̕G[twU6ahmB}j/(6ۣ՝$T$C(AN`86cֱëk| J<.EZeF3*mYߚڄmVj ` g~k %czsw-k֮0kuьJt,c.z1|TuGu]j'֠rN,m;pmYߚEIBD;mVj=k:yVgp924Y1q[ȉa6Ы`O]o#:CjP?_XOhEj \u 06yNa`X EIA[ sxL  NJWb㮷˧dV0]o"%B==u<- O@Yx'&3uβEIBD;k:K_sǞ=019I~lĈ<\X۰r̾}5?m|clH am"Greh+Wb㮷6>eV0]o"nO `)m$Tu0, |gk^q.:yLzEj \u"Xu'֠rN, <SH( 06yNa`X "W>1Rֽj \u t,A *3e Ӌ NmMgqͶ16$C0p924Y1qɑ[ȏ^2ULU3JR<6>eV0]o"nO `)m$Tu0, |gk^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ SZu @S>3H+,}RP@`m0)DӨ|cҥzbG/*eh+Wb#|ddUgu<6>qdOdm=!JnyH(HrPӍuߧP~;ח<^%mq":016u!6/Mz4ram"Greh+Wb"k"+Vʟc$~ - O@~;n~kU[ZhV0&Ej,D,@>$㹀86w8uUQ"Z<&_PǥKZ1qɑZ˧dV0&Ej,DVc?H?ZPZ8 լs2X~ $T$C(ANƺӨ|kԩV&uK}VgvH?"f56hkMHrQ8t,bȭZ分H?ZPZw0\a6.LծX ծX}H+spm`pkMEIAzxL  NJWb"k" OYȭ\a6.LծXdš Ӌ #d""B wN5~C^J816۪[j=חd!cSm{;GU[Zh(!ܔyN&]=f"q.0xع2+Vb"k̩2Gڄ㹀86whkMbȭZ刀Z<$w0UmiH( /Vbq "W>1Rֽj \`rdVrA24Y1qɑZXeO汒?O'֠rN,k̩9'% JSzq*U?k{dsg!ܔyN&]=f"q.0xع2+Vb!?O'֠~C5cGU[ZhV0&Ej,D,@>$㹀86whkMEIAzxL  NJWb"k" OYȭ\a6.LծXdš Ӌ #d""B wN5~C^J816ǵZkm#dk52.w%SɗOYȭ\a2oKW끲>`lc'CjP?jd (ɠ H( &_PǥKZ1qZ]~c op6G.EZeF0ޖd|5O'֠rN,!{d""B wN5~CMyRf7mR$C(LzEj \V_Ͼd:ۣ6>FMP R`HUu|g5oZeF3*eh+Wbⵌ}%Qe Ӌ nEIBD;k:bjSmۣ3o_>Uyb>vkX2He-$C(LzEj \u#=u'֠pn#O< n#O<$TD:yzTZu&]=f"q.:y \ޞ?:CjP9AA HGtyH(HrPӍtY;Zz럶gyo*My`={\ J<.EZu.FOte 7A:1$TwId10$@^ëKZ1q[Ȃeh+Wb㮷6>qdTwIdw%)=8׭cW=u^XזWa" ~C-k֮0kuZ]~k,LzEj \V_er}-- O@Y@(~.RP;NŜ]XkQ90$C(LzEj \V_z[:w\p~.Y ڄ9g7H(4s?azϰo*J "_=*Z׭\a2oKWeh+Wbⵌ3wZϰo'֠rN,G3v""B wN5~C\`]k>㛌!f{\~.Zu׶$RP˲WbHaH(HS J@(uX'TP " dŐ0È)ÜRP7Y) $A(QBD;)˧dV0&Ej,D6uuڄjۭPunH( & 7u~k^q.0xع2+Vb t,bȭZ分ڮ{ZPZ8 ]~m % JSuno!ܔyN&]=f"q.:yLU3Z<- O@+1vLgc<$~V b$T ~C[֮0]o" OYȭ\aD`j ֬m:CjP9AATI&3;[h<$T$C(ANƺӨvߵ6=ӌ7y6;[h<"Greh+Wb㮷LU3Z<- O@+1vLgc<$~V b$T ~C-k֮0]o" OYȭ\aD1V`Mj<6>qdOdm=!zβEIBD;k:m_o*]8swoZθ!ܔyN&]=f"q.:y>{$Z==u<- O@+1vLgc<$~V b$T ~C-k֮0]o" OYȭ\aD1V`O]o#:CjP9A@TI&3uβEIBD;k:m_o*]8swoZθ!ܔyN&]=f"q.:yuڄBclY#$BclYRPF3`HUu|g5oZu&]=f"q.:yuڄ_ŐP`m % JSu^Xiswo[}h%9v`p924Y1q[ȎAhmB}jm!X1x,[~ m!X1x,[~H(#0$@*:=*Z׭\aD.EZu'֠rN,nH(HrPïMm~C;Gu')/qʹ?H`c?߮w%SɗOYȭ\aDOtnZZPZ~+Wb㮷[ |g80`6œlTdZВ m#O$TuxSuNkB`HUuzTZu&]=f"q.:y=yjAhmB}j/('rԂEIBD;k:m_nӮܴ8#O|gmVg"X'jD J<.EZuPr7z{<- O@wI1q[Ȁۭ>3œlTduN6G*X2-hI6'*J @S<)f T0$@*:=*Z׭\aD.EZuPr7z{<- O@Y-:% JSzqMNrD=鷵ZDyct$C(LzEj \u#'O7-H- O@wI1q[Ȁۭ>3œlTduN6G*X2-hI6'*J @S<)f T0$@*:>3\aD.EZuR CjP9AA<*J!ܔ p]w;ovu/={?_oj=,yܵ"w%SɗOYȭ\aDdIyZPZ~+Wb㮷[ |g80`6œlTdZВ m#O$TuxSuNkB`HUu|g5oZu&]=f"q.:y'YhmB}j/(0'u*J!ܔ p]w;ovu/={?_oj=Ǟ=R HrQ8t,Gh1r7z{<- O@wI1q[Ȁۭ>3œlTduN6G*X2-hI6'*J @S<)f T0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨvߵ6: C>^{~k{_M!={@p924Y1q[Ȅ^W]o 6>' `#,xS KZAMwI䊒`ۯ pKZDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqMNrD=鷵Z\H^{~k{_Mq"X'jD J<.EZuAu CjP;ox@0` #,xS KZAMwI䊒0)f T0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~۴7-Hy{U}5Ĉyct$C(LzEj \u#{%y]uڄGt6G*X20)K@,^d|¥ -RքSoy"`, pYn)-hL  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m_nӮܴ8#O|gmVg!={@p924Y1qɑ[Ȋ5QZf:CjP;o ` m pEIA0$@*:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B wN5~C[k˷1V/>֢Z(H!6!6j:HrQ8t,FOte ,:+Wb㮷`HyXI6yY"NmMg<&_P}V1q[Ȃeh+Wb㮷=u'֠rN,xyY""B wN5~C2[n<}56'up924Y1q[ȎbnIyZPZ~l<"q.:y m uSoYmu*J 6zC:`HUuzTZu&]=f"q.:y \ޞ?:CjP9AA HGtyH(HrPӍuߧPkm̖ۢ~_:MMIp$C(LzEj \u"Xu'֠v߀`Ej \u 06yNfXAMwUrEIA[ s7Ur ~C-k֮0]o" OYȭ\aDKβڄ_ŐP!u*J!ܔ p͑!`jށ"Greh+Wb㮷,?:CjP;o]\"q.:yu3uW, ߀a"ۭ9`L  NfWb㮷˧dV0]o"2Xu'֠rN, <q鷭` C\ J<.EZ{$Z=?|dܵ#:CjP;o]\"q.:yu3uW, ߀a"ۭ9`L  NJWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JS U04vUmn J<.EZunZZPZ~1q[Ȁۭ>3œ\$~儊n s7Ur ~C-k֮0]o" OYȭ\aDK7-H- O@Yx'-H$T$C(ANƺӨvߵ.fXC7-H|clHiXnZD;)˧dV0]o"%B==u<- O@wUr@`mNfXAMwUrEIA[ |g9`L  NJWb㮷˧dV0]o"%B==u<- O@Yx'&3uβEIBD;Y9^;|3uW,#U$C(LzEj \u ܵ 6>U+Wb㮷[ |g9`I6U %o )n0$@*:=*Z׭\aD.EZu7-H- O@YrԂEIBD;k:m^\n>T:srԇ?Ĉvuy$C(LzEj \`rdu#A *3JR<6>U+Wb㮷[ |g9`I6U %o )n0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJl%FyZPZ8 6zCrԀβEIBD;C7Ur <[[D;)˧dV0]o" mV<- O@wUr@`mNfXAMwUrEIA[ |g9`L  NJWb㮷˧dV0]o" mV<- O@Yphm=!dw%)dr04vfXGkwHrQ8t,FK7-H- O@wUr@`mNfXAMwUrEIA[ |g9`L  NfWb㮷˧dV0]o"2XyjAhmB}j/(09jA""B wN5~C.Hs7Ur*oMjCn$C7-[ȁ"Greh+Wb㮷nm YhmB}jm V0]o"n s7Ur m *J @S<)U`HUu|g5oZu&]=f"q.:y6Ы`Ou'֠rN,8 6βEIBD;k:m^\n>T:<!]]ah}4߾16: C HrQ8t,DI .XZu @S<)n$uW,$TuxS<)U`HUuzTZu&]=f"q.:y=yjAhmB}j/('rԂEIBD;k:m^\n>T:zic : C1VStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI .XZu @S<)n$uW,$TuxS<)U`HUu|g5oZu&]=f"q.:y''֠rN,x'-H$T$C(ANƺӨvߵ.fXC鷭F0`Ӯܴ;qn]U+Wb㮷[ |g>3œ\$~儊n |g9`L  NJWb㮷˧dV0]o";A'YhmB}j/(7A:% JSzqyp"G˙8P|glHiXnZF.J{"{ΰg$Cmu@p924Y1q[ȉR CjP;o]\"q.:yuxS< \$~儊n |g``Sk^q.:yLzEj \u"{rԂڄ_ŐP#Ow%)=8]u#U|u36ӵ !uX~1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=yjAhmB}jm V0]o"n |g``SSo]\RP@`mO, s7Ur ~C[֮0]o" OYȭ\aDdI Ӌ Gt R % JSzqyp"G˙8P|gm{k$C7-4bdO|b,kmR`iXnZD;)˧dV0]o"2{<- O@wUr@`mO, s7Ur m *J @S<)NfXDӨ|c>٫zA24Y1q[Ȍ?:CjP9AA<U+Wb㮷[ |g>30)UH).XH( 06yOx9`L  NJWb㮷˧dV0]o";A'YhmB}j/(7A:% JSzqyp"G˙8P|glHiXnZchStX5tyMNru!ܔyN&]=f"q.:y+'֠v߀`@0` s7Ur m *J s7Ur ~C-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍuߧPkˁ>\\ʇ[?_nӮܴ ]p924Y1q[ȌAu CjP;o]\ lTdc9`I6U %c9`L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\n>T:vuH7-HvJw%SɗOYȭ\aD Jy .X6G*X2NfXAMwUrEIAO3uW, "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u#U|u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@wUr>aR s7Ur m *J |g9`L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\n>T:vuH=VgvuR"Greh+Wb㮷=AhmB}jm  `x9`I6U %c>30)U`HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~C.Hs7Ur*oMNr$Ct]MMNr]p924Y1q[ȌAu CjP;o]\ lTdc>30)UH).XH( ;0)NfXDӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;N~ח$|c~ݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ~d|¥ ;0 \$~儊0)U`HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~C.Hs7Ur*oMNr$C;%wD;)˧dV0]o"1W[- O@wUr>aRNfXAMwUrEIAXn0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˙8P|gmu"ܵ!+!ܔyN&]=f"q.:y+'֠v߀`@0` xSSo]\RP@w0`>3œ\&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w;oD3uW,q۴7-DUK@w0`>3œ\$~儊0)n0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˙8P|gmu"{Zkmu7-HvJw%SɗOYȭ\aD Jy .X6G*X20)NfXAMwUrEIAX3uW, "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u#U|u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@wUr>aRO, s7Ur m *J x9`L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\n>T:vuH=VgvuR"Greh+Wb㮷6>?"q.:yu0 m "ۭ9k^q.:yLzEj \u"Xu'֠rN, <\|u36y$C~;ח0=Y Mk}H*o:HrQ8t,bG/*&*l%FyZPZ~Zu @SI6?RP@`m`HUuzTZ3œ`HUuzTZu&]=f"q.:y,<lyYhmB}j/(8 6ۭu*J!ܔ p͑!`h!ܔyN&]=f"q.0xع2:yZf+LyYhmB}jm Ej \u 06yO0 m "ۭ>3œ`HUuzTZqd R % JSzqyp"G˘ۏ~ܵ!"]ah~D J<.EZ?"q.:yuxSI6?RP@`mNaa0$@*:=*Z׭\aD.EZu7[z|6>qd m u*J!ܔ p͑!`h!ܔyN&]=f"q.:yR CjP;oS+Wb㮷[ |g9SoS%o )DӨ|c>٫zA24Y1q[ȌnZZPZ8 0NZH(HrPӍuߧPkˁ>\|u36MӮܴ?]o"w%SɗOYȭ\aDa *3e )a1q[Ȁۭ>3œH))dn s "W>1|lսj \u t,FB=>yZPZ8 6zC:% JSzqyp"G˘ۏ~:ĈyiXnZM5MNru!ܔyN&]=f"q.:y=yjAhmB}jm Ej \u 06yOxSI6?RP@`mO0 ~C-k֮0]o" OYȭ\aDOtnZZPZ8 wI RP;N~ח$|P|gm{k$C7-`[lnk%O={`_nnZMNru!ܔyN&]=f"q.:y''֠v߀V0]o"n |g9SoS%o ) s "W>1|lսj \u t,FOtnZZPZ8 wI RP;N~ח$|P|gm{k$C7-`[lnk%O={`_nnZMNru!ܔyN&]=f"q.:y'YhmB}jm Ej \u 06yOxSI6?RP@`mO0 ~C[֮0]o" OYȭ\aDdIyZPZ8 wIdw%)=8]u#?ʇ[?_bD;Nr U1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDv#wOβڄ@`mO0 m "ۭ>3ŸNaa0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨvߵ.an>T:!un0bы75=k鷞=) vuy$C(LzEj \u"{rԂڄ@`mO, s ߀*J @S<)Naa0$@*:=*Z׭\aD.EZu<ܵ 6>qd9jA""B wN5~C.Hsq[N#0HiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI )a1q[Ȁۭ>3ŸXAMO$TuxS< `HUu|g5oZu&]=f"q.:y''֠rN,x'-H$T$C(ANƺӨvߵ.an>T:zic : Cr csY*ysrԀg$Cmu@p924Y1q[Ȍ?:CjP;oS+Wb㮷[ |g>30)?$~H( 06yOx9Ͼ6j޵q.:yLzEj \u#'Oβڄ_ŐP`#O<$T$C(ANƺӨvߵ.an>T:!uX~1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDv#wOβڄ@`mO, s ߀*J @S<)Naa0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨvߵ.an>T:!uX~1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aD Jy )ad|¥ ;0)?$~H( ;0)?&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w;oD0*oMNr$C;%wD;)˧dV0]o"1W[- O@O#,Naa$EIANaa0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˘ۏ~ݧ]ah!R"Greh+Wb㮷=AhmB}jm @0` |g9SoS%c>3œ`HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~C.Hsq۴7-D? lTdc>3œH))dNaa0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˘ۏ~ݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ~6G*X2XAMO$T0 ~C-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍuߧPkˁ>\|u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@O#,O, s ߀*J |g``SL  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\CiXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y+'֠v߀ `, s ߀*J 0 ~C-k֮0]o" OYȭ\aD Jy Ӌ JnH(HrPӍuߧPkˁ>\|u36: @nZ J<.EZu^W]o 6>? lTdc``SI6?RP@w0`9Ͼ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨvߵ.an>T:vuH7-HvJw%SɗOYȭ\aD Jy )ad|¥ ;0 Naa$EIAX s "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u#?ʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄ>aRO0 m "`, |g9Ͼ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨvߵ.an>T:vuH=VgvuR"Greh+Wb㮷=AhmB}jm @0` x9SoS%c``S< `HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~C.Hsq۴7-D? lTdc``S< H))d0)Naa0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˘ۏ~ݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Gu~KCjP;oSxA``I6?'*J0, "W>1Rֽj \u t,Gu~KCjP9AA`4*J!ܔ p]w;osyYm{_o`k?߮D;)˧dV0]o"%'֠v߀& ? H))asIEIA0$@*:=*Z׭\aD.EZunZZPZ8 0NZH(HrPӍuߧPkmR0ݧ]ahsyHrQ8t,FK7-H- O@O MSoSd ? `HUu|g5oZu&]=f"q.:yR CjP9AA R % JSzqMj@4۴7-ao=| J<.EZu0q'֠v߀ 0$~EIA0$@*:>3\aD.EZu0q'֠rN,SQƛ|H(HrP nO^X'gi$C(LzEj \u#ZPZ~Ѓ m I%k^q.:yLzEj \u#ZPZ8 A""B wN5~C[ז3\aD.EZua Ӌ Cw%)=8]uwb7-HuXSmMjC_MM: C HrQ8t,C-h'֠v߀"q.:yu0, |gSoSH( 06yNa`X "W>1Rֽj \u t,C-h'֠rN,[w%)=8]uwb7-HuXSmMjC_MM: C HrQ8t,D<- O@ LEj \u 06yOI ߅xRP@`m<DӨ|cҥzA24Y1q[ȉayZPZ8 0βEIBD;Y9^;|`h!ܔyN&]=f"q.:y^yتLhmB}jmZg+Wb㮷[ zLI6-3Ċn ~C-k֮0]o"+:˧dV0]o"+:I- O@YxRP;N~ח$|&yʇ[?_obD<㹍ysy޵8`ۮy*$C_op$C(LzEj \u"@LhmB}jmZg+Wb㮷[ zLI6-3Ċn ~C-k֮0]o"+:˧dV0]o"+: '֠rN, L""B wN5~C.HzL~:Ĉybs'k>q\S*UH*o:HrQ8t,FKβڄV0]o"n mZg%o )30$@*:>3\aD.EZuayZPZ8 0βEIBD;k:m^\鯾qX,Cc^\{g316}"|u<"Greh+Wb#|ddUgyYhmB}jmZg+Wb㮷[ zLI6-3Ċn ~C-k֮0&G]o">xT.EZ{$Z=?|dܵ#:CjP9A@TI&3|du*J!ܔ p Rg04vUmn J<.EZunZZPZ~@`mOI ߅xRP@`mOI "W>1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;k:m^\*oMjCbD;Nru!ܔyN&]=f"q.:y,<lyYhmB}jmZg+Wb㮷[ |g=&x$~EIA[ |g=&x&_PǥKZ1q[Ȃeh+Wb㮷mVGu'֠rN, <@l @yY""B wp Rg04vUmn J<.EZu-31q[Ȁۭ>3ž<AM L"ۭ>3ž<DӨ|cҥzEy[`t,Ey[b3š Ӌ *J!ܔ p:|uyp Rg04v D;)˧dV0&G]o"+LEi<- O@ LEj \u 06yOSo1Rֽj \u"LzEj \u"@LhmB}j/(,@*J!ܔ p:|uyp Rg04v D;)˧dV0]o" R CjP;o<Zu @S<)3$*J @S<)30$@*:=*Z׭\aD.EZu7-H- O@YrԂEIBD;k:m^\*oMjCbD;Nru!ܔyN&]=f"q.0xع2:yJl%FyZPZ~@`mOI ߅xRP@`mOI "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p Rg04vUmn J<.EZu7[z|6>-31q[Ȁۭ>3ž<AM L"ۭ>3ž<DӨ|cҥzA24Y1q[ȃphUg:CjP9A@`HyY""B wp Rg04vUmn J<.EZua i\aDo ) mZg%o ) ~C[֮0]o" OYȭ\aDdrԂڄ_ŐP`!rԂEIBD;k:m^\*oMjCbD;Nru!ܔyN&]=f"q.:y6Ы`Ou'֠v߅x"q.:yuxSgH)i$TuxSg`HUu|g5oZu&]=f"q.:y6Ы`Ou'֠rN,8 6βEIBD;k:m^\*oMu.Ӯܴ>kovuy$C(LzEj \u"{rԂڄV0]o"n |g=&x$~EIA[ |g>3ž<DӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w;oD8P|gm{k$C7-`[lnk%O={`_nnZMNru!ܔyN&]=f"q.:y''֠v߅x"q.:yuxS<)3$*J @S<) ~C[֮0]o" OYȭ\aDdI Ӌ Gt R % JSzqyp"Gg|u36ӵ !un0bы75=k7-H pfzqD?ݧ]ah~D J<.EZu6>-31q[Ȁۭ>3ŸOI ߅xRP@`mOϾ6j޵q.:yLzEj \u#'Oβڄ_ŐP`#O<$T$C(ANƺӨvߵ/IqؑӮܴ;qn]-31q[Ȁۭ>3ŸOI ߅xRP@`mOk^q.:yLzEj \u#=u'֠rN,t <٫zA24Y1q[ȌAu CjP9AA1o RP;N~ח$|&yʇ[?_nӮܴ ]p924Y1q[Ȅ^W]o 6>-3d|¥ ;0) mZg%c>3ž<DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"Gg|u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@ L@0` |g=&x$~EIAOϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨvߵ/Iq۴7-D30)30$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$|&yʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄ `x=&x$~EIAO, zLL  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\*oMNr$Ct]MMNr]p924Y1q[Ȅ^W]o 6>-3d|¥ ;0 <AM L"`, zLL  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ/Iq۴7-D9jCWp$C(LzEj \u#{%y]uڄ `, zLI6-3Ċ0)30$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"Gg|u36: @nZ J<.EZuAu CjP;o<6G*X20) mZg%c``S<)30$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$|&yʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄ `, |g=&x$~EIAX zLL  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\*oMNr$Ct]MMNr]p924Y1q[Ȅ^W]o 6>-3d|¥ ;0 X mZg%c``S< <DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"Gg|u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@ L@0` x=&x$~EIAXϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨvߵ/Iq۴7-D/Q`FX@0` ߅,H$TDӨ|cҥzA24Y1q[ȃ%]u0wKCjP9A@,(6y}RP;N~֢Α=&zkǗ@p924Y1qɑ[Ȋ5QZfZPZ~ #, lTdcSo$e*J "W>1Rֽj \`rdu"T.EZxW]o#:CjP;oCƄc<$~4RPF3`HUu|g5oZxT1V`O/*yYhmB}jm^rЌgSoCƒ*JxL  NJWb#|d OYȭ\a6.LD}=bV^2U[βڄ_ŐP=b /* @yY""B wN5~C?u 2׭P屰$C(LzEj \`rdVrEj,Ej9S;y>CjP;ok̩V0kuXeO$~XeO民RP@^c? ~C-k֮0&Ej,D.EZ/Vʟ`Ej \V_zfTkH)zfTk %9S "W>1Rֽj \`rdVrA24Y1qɑZXeO沵k 6>qdXeO/Vb % JSzqMj9S}56\$C(LzEj \`rdVrEj9Sdš zfTk+Wbⵌ լs2XAM լs2XH( /Vʟ`L  NJWb"k" OYȭ\a6.LծXZ3*52x6>qdXeO?H(HrPӍuߧP~;۲G ZfTk HrQ8t,bEi3U[- O@ ՝xI6/Vv*RPF3`HUuzTZ/X˯`*Y#/+Wbⵌ}%Pe,$c.5d$Te,0$@*:=*Z׭\a2oKWeh+Wbⵌ3wZϰo'֠rN,G3v""B wkmX˯`*Y#/ӯ\a2̕@^_TF_P"Greh+Wbⵌc.5Hc.5%š z]~k|2Y |ZeF0ޖ~OZeEku\F_@^__ `SodRP@b-Suf-L  NJWbⵌc.5H&]=f"q.+X˯ފ2Xd2Y2Y |ZPZ8 2X [EIBD;k:m_o[dd{kD?mu c'X@p924Y1qɑZ\XeO- O@ 2XuEj \V_z]~k ߅u:RP@^_㮂`HUuzTZCjP9AAzXeOv/?""B wkmX˯`qNwi{V0kue8렗*p$C(LzEj \V_XeO水6>/X˯`qA1qZ]~u:$~e8EIAz]~k "W>1|lսj \V_˧dV0kuZfTk CjP9AAzfTk % JSumtkqXeOw%SɗOYȭ\a6.LծXZ3*5\ z]~k\a2/X˯`qA$c.5]*J 2XuL  NJWb"k" OYȭ\a6.LծXZ3*5\ Ӌ Z3*5zH(HrPӍuߧPkmX˯c7*5޵k̩@p924Y1qɑZXeO汒?O'֠v߅u:"q.+X˯ހc.5]SotH( /X˯`qA0$@*:=*Z׭\a6.LծX&]=f"q.0xع2+Vb"k̩2Gڄ_ŐP^c?#d""B wN5~C*o޵;NrXkm#dk HrQ8t,c.z1|T.Y#- z]~k\a2/X˯`qA$c.5]*J 2XuL  NfWbⵌ}%PLzEj \V_Ͼd,ڄ_ŐP*Y#-w%)=8]u/X˯`qO _Ӎz2YD;)˧dV0kuZ]~ku2lN'֠v߅uގkSoGy"kϾ6j޵q.+X˯ނeh+Wbⵌc.5:rkyݧ_~[KCjP9AAz]~kK$ei""B wN5~C鷭c.5D;)˧dV0]o"%'֠v߅C lTdu$c~YTu*J6`HUuzTZu&]=f"q.:y,<ܵ 6>qda RP;_Xߖ{7y6$C(LzEj \u#%'֠v߅C lTdu$c~YTu*J6`HUu|g5oZu&]=f"q.:yR CjP9AA R % JSu^^gPswnnZD;)˧dV0&B㯣'|ZPZ~@0;P ߅>H( %1VDӨ|c>٫zb\u.EZqd $T$C(ANƺӨvߵ6ux>Zϰop924Y1qZ]~c oqÙg7CjP;oyc.z1ux c'H){d"F2x&_PǥKZ1qZ]~c opLzEj \V_z[:w\p~.Y ڄ_ŐPh~.`$T$C(ANMn1wi{V0kuь7ëu^#?Cw%SɗOYȭ\a2oKWk>ZPZ~;1qZ]~c op9g7H)cH( 4s?azϰo?NJWbⵌt,c.z1ux]ֳ塵 Ӌ ]>H(HrPӍuߧPds?oZϰo3=/鷡O\w%SɗOYȭ\a6.LD}Zy^2Ue 5|aa$ՋϾO$Taa0$@*:>3\a6.LD}&]=f"q.0xع2:yJj>xWu'֠rN,kV/>|d1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B wN5~C7-H<]^} J<.EZ{$Z=?|de 5|aa$ՋϾO$Taa0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xW]o#:CjP9A@TI&3|d6ydw%)=8]u߮y6-X0!ܔyN&]=f"q.:y'YhmB}jm 75xSol]i"g``L  NfWb㮷˧dV0]o"2{<- O@Y;βEIBD;k:m_n]kmOۀ oy:HrQ8t,Gh1r7z{<- O@v污 m 75$T, "W>1Rֽj \u t,Gh1r7z{<- O@Y0#wxyY""B wN5~CF.5yRXDMIp$C(LzEj \`rdVrEj,Ej9S;y>CjP;olmkuzfTk UH)66Z3*5 U`HUuzTZCjP9AAzXeOv/?""B wkmэc./Vʟcun.>T:HrQ8t,bȭZ刊լs2YZZPZ~ckX˯ լs2XfXAMeׅ9S$TfXDӨ|cҥzbȭZ刂eh+Wb"k"+Vʟej,AhmB}j/(/Vʟ`^r*J!ܔ p]w;oCF6@^c?;>w%SɗOYȭ\a6.LծXZ3*52x6>ֱ^XeO \$~ckX˯ լs2XH( \&_PǥKZ1qɑZ˧dV0&Ej,DVc?H?ZPZ8 լs2X~ $T$C(ANƺӨvߵʇ[鮌mkuZ3*5wi| J<.EZu3\aD.EZuqdadw%)=8]u#ѣUP|gmH!w1.ao={ֳz@>T:MMup924Y1qɑ[ȏ^2ULU3JR<6>*+Wb㮷[ tha$G$TuF1VDӨ|cҥzbG/*eh+Wb#|ddUgyYhmB}j/( 1VzCrԀβEIBD;Dh`;|yzw%SɗOYȭ\aDK7-H- O@q@`mNb$~hdn tha0$@*:=*Z׭\aD.EZunZZPZ8 0NZH(HrPӍuߧPkˁ>]8[~ܵ!"]ah~D J<.EZunm <6>*+Wb㮷[ |g:4q m U*J @S<)ѣUk^q.:yLzEj \u"Xy *3[βڄ_ŐP!phm=![<$T$C(AN5#Dh`;|yzw%SɗOYȭ\aDWu)8YhmB}jm UV0]o"n tha$G$TuxSG "W>1Rֽj \u"LzEj \u"H*CjP9AA`61VH(HrPïxT.EZqd m u*J!ܔ p͑"4q <[[D;)˧dV0]o"2XyjAhmB}jm UV0]o"n tha$G$TuxSG "W>1|lսj \u t,FK7-H- O@Yx'-H$T$C(ANƺӨvߵ.bʇ[?_nnZۉ: C HrQ8t,FB=>yZPZ~ha1q[Ȁۭ>38XI6*%o )*`HUu|g5oZu&]=f"q.:y6Ы`Ou'֠rN,8 6βEIBD;k:m^\*|u36y$CϼNri|cmu@p924Y1q[ȉR CjP;omb"q.:yuxS<)ѣUSombRP@`mOF1VDӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w;oDF1VC鷭F0`Ӯܴ;qn]3ŸNb$~hdn |g:4q ~C[֮0]o" OYȭ\aDdI Ӌ Gt R % JSzqyp"GˣGq[N#0HiXnZF.J{"ܵ ) vuy$C(LzEj \u#'OβڄG\aDo ) tha$G$TuxS<)ѣUϾ6j޵q.:yLzEj \u#'Oβڄ_ŐP`#O<$T$C(ANƺӨvߵ.bʇ[?_bD;Nr U1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDv#wOβڄG\aDo ) tha$G$TuxS<)ѣUk^q.:yLzEj \u#=u'֠rN,t <3ŸX*`HUuzTZu&]=f"q.:y=yjAhmB}j/('rԂEIBD;k:m^\*|u36ӵ !uX~1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=yjAhmB}jm UV0]o"n |g``SG ߀8Y"ۭ>3ŸX*`HUu|g5oZu&]=f"q.:y''֠rN,x'-H$T$C(ANƺӨvߵ.bʇ[?_o[m;X`"]ahuWlnk%O={`_nnZMNru!ܔyN&]=f"q.:y'YhmB}jm UV0]o"n |g``SG ߀8Y"ۭ>3ŸX*`HUu|g5oZu&]=f"q.:y'YhmB}j/(0'u*J!ܔ p]w;oDF1VC"]ahuWlnk%O={`_o={XS3ӌ!6: C HrQ8t,Gh1r7z{<- O@q@`mO, tha$G$TuxS< 8XL  NJWb㮷˧dV0]o";A'YhmB}j/(7A:% JSzqyp"GˣGqؑӮܴ:+ы75=k鷞=) vuy$C(LzEj \u!W[- O@q>aR*H)61VH( ;0)ѣUk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:m^\*|u36: @nZ J<.EZu^W]o 6>*K@w0`SG ߀8Y"`F1VDӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;N~ח$|4q*oMNr$C;%wD;)˧dV0]o"{%y]uڄG#,OF1VAMqEIAOF1VDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"GˣGq۴7-D*K@w0`S<)ѣUSombRP@w0`S<)ѣUϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨvߵ.bʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@q>aRF1VAMqEIAO, tha0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$|4q*oMNr$Ct]MMNr]p924Y1q[ȌAu CjP;omb lTdc>30)ѣUSombRP@w0`S< 8XL  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\*|u36: @={ڭv}56: C;%wD;)˧dV0]o"{%y]uڄG#,X*H)61VH( ;0 8XL  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ.bʇ[?_nӮܴ ]p924Y1q[ȌAu CjP;omb lTdc``SG ߀8Y"`, tha0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"GˣGq۴7-D9jCWp$C(LzEj \u!W[- O@q>aROF1VAMqEIAX tha0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$|4q*oMNr$Ct]MMNr]p924Y1q[ȌAu CjP;omb lTdc``S<)ѣUSombRP@w0`>38XL  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\*|u36: @={ڭv}56: C;%wD;)˧dV0]o"{%y]uڄG#,XF1VAMqEIAXF1VDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"GˣGq۴7-D*K@w0`>30)ѣUSombRP@w0`>30)ѣUϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨvߵ.bʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \`rdu#A *3JR<6>*SvVfXAMq*J3uW, "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p]w;o^2T`k+Qw%SɗOYȭ\a6.LD}Ͼ^2TnZe 61V7Ur m UERPA`L  NfWb#|d OYȭ\a6.LD}Ͼ^2TnZe Ӌ %@ aR 0mׅ80`6Ÿ$VgaRkBH)84믴 |kI%ZИ ~C-k֮0&Ej,D.EZT:HrQ8t,bG/*phUgyYhmB}jm&T #,$LH( ;0&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xTB=?|dܵ#:CjP9A@`H}NZyH(HrPӍuߧPkmxS?u l "Greh+Wb#|d3yYhmB}jm&T #,$LH( ;0&_P}V1qɑ[ȏ^2U˧dV0&G]o">xTg/*7-Hβڄ_ŐP`}NZyH(HrPӍuߧPkmxS?u l "Greh+Wb#|ddUgyYhmB}jm&T #,$LH( ;0&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)=8]uܵ!mseMo0d J<.EZu7-HD'֠v߂rԀ@`!rԀ m'-H$Ta &_PǥKZ1q[Ȃeh+Wb㮷ڄ_ŐP'-HRP;N~ۛ>1,"Greh+Wb㮷R CjP;o9j@xc<$~ R RPF3`HUuzTZu&]=f"q.:y,<ܵ 6>qda RP;_6_nnZD;)˧dV0]o"2XyjAhmB}jm'-HgSo9j@x*JxL  NfWb㮷˧dV0]o"2XyjAhmB}j/(09jA""B wkm.1ܵ"w%SɗOYȭ\aDKβڄJ|"q.:yu5[>AMg%o )Vτk^q.:yLzEj \u"Xu'֠rN, <1Rֽj \u"LzEj \u"H*CjP9AA`61VH(HrPӍuߧPkˁ>\l~:Ĉybs'k>q\S*UH*o:HrQ8t,Ey[bVϖ'֠v߂U1q[Ȁۭ9 m%[>H( 06yNj|&_PǥKZ1q[Ȋζ24Y1q[Ȋζ- O@YU䊒w%)=8]u#VϸP|gmH!w1.ao={ֳu52Zqkmw%SɗOYȭ\aDd<- O@g+Wb㮷[ sU$J|RP@`mlL  NfWb㮷˧dV0]o"2Xu'֠rN, <H( 06yNj|&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)Gog04vUmn J<.EZunZZPZ~ VτV0]o"n sU$J|RP@`mNj|&_PǥKZ1q[Ȃeh+Wb㮷R CjP9A@ R % JSzqyp"G˚qۛ>16$C7-[ȁ"Greh+Wb㮷mVGu'֠v߂U1q[Ȁۭ>3œlI6$TuxS "W>1Rֽj \u t,DphUge Ӌ C6zCnyH(HrPk6G+Gog04vUmn J<.EZuT:ռ Vπ`hw%SɗOYȭ\aDWu(lhmB}jm%[>Zu @S<)VτSo*EIA[ |g9 ~C-k֮0]o"+:˧dV0]o"+:j|6>qd Vϒ*J!ܔ p:|uyp $ J<.EZ\aDo )gH)l"ۭ>3œlL  NJWb#jt,bEi3Ue Ӌ 3TyH(HrPïqd R % JSzqyp"G˚qۛ>16$C7-[ȁ"Greh+Wb#|d mV^2TnZe lEj \u 06yO5[>AMg%o )g`HUuzTZqd m /*dw%)Gog04vUmn J<.EZu7[z|6>\aDo )gH)l"ۭ>3œlL  NJWb㮷˧dV0]o" mV<- O@Yphm=!dw%)dr04vj|Go5V@p924Y1q[ȌnZZPZ~ VτV0]o"n sU$J|RP@`mNj|&_P}V1q[Ȃeh+Wb㮷,<ܵ 6>qda RP;N~ח$|*oMjCn$C7-[ȁ"Greh+Wb㮷nm YhmB}jm%[>Zu @S<)VτSo*EIA[ |g9 ~C[֮0]o" OYȭ\aDa *3e Ӌ NmMgkovuy$C(LzEj \u"{rԂڄJ|"q.:yuxS<)VτSo*EIA[ |g>3œlL  NJWb㮷˧dV0]o"'O7-H- O@Y;NZH(HrPӍuߧPkˁ>\l~޷vD;Nr U1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=yjAhmB}jm%[>Zu @S<)gH)l"ۭ>3ŸNj|&_P}V1q[Ȃeh+Wb㮷=yjAhmB}j/(0'rԂEIBD;k:m^\g|u36ӵ !un0bы75=k7-H pfzqD?ݧ]ah~D J<.EZu6>\aDo ) sU$J|RP@`mO5[>DӨ|c>٫zA24Y1q[Ȍ?:CjP9AA<AMg%o ) sU0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨvߵ.j}ʇ[?_bD;Nr U1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDOtnZZPZ~ VτV0]o"n |g``S ߂U䊒n |g``S "W>1Rֽj \u t,DI Ӌ Gt R % JSzqyp"G˚q[N#0HiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI lEj \u 06yOx9 m%[>H( 06yOx9 ~C[֮0]o" OYȭ\aDdI Ӌ Gt R % JSzqyp"G˚q[N#0HiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdIyZPZ~ VτV0]o"n |g``S ߂U䊒n |g``S "W>1|lսj \u t,FOte Ӌ GtyH(HrPӍuߧPkˁ>\l~Ĉvu9_]\aDo )5[>AMg%o )5[>DӨ|cҥzA24Y1q[ȎbnIyZPZ8 `*F;βEIBD;k:m^\g|u36$C7-4bdO|b,kmO< pfzqD?ݧ]ah~D J<.EZuAu CjP;o*>aRgH)l"`5[>DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"G˚q۴7-D9jCWp$C(LzEj \u#{%y]uڄJ| lTdc9 m%[>H( ;0)VτϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨvߵ.j}ʇ[?_nӮܴ ]p924Y1q[Ȅ^W]o 6>#,O5[>AMg%c>3œlL  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ.j}ʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄJ| lTdc>3œlI6$T sU0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˚q۴7-DaR5[>AMg%c>30)Vτk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:m^\g|u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@gK@w0`S< lI6$T5[>DӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;N~ח$|*oMNr$Ct]MMNr]p924Y1q[Ȅ^W]o 6>#,XgH)l"`, sU0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$|*oMNr$C;%wD;)˧dV0]o"1W[- O@gK@w0`9 m%[>H( ;0 lL  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\g|u36: @nZ J<.EZuAu CjP;o*>aRO5[>AMg%c``S<)Vτk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:m^\g|u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@gK@w0`>3œlI6$TO5[>DӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;N~ח$|*oMNr$Ct]MMNr]p924Y1q[Ȅ^W]o 6>#,X5[>AMg%c``S< lL  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ.j}ʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄJ| lTdc``S< lI6$TO, sU0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˚q۴7-D N1AMg&<EIA "W>1Rֽj \u t,AܮD; Ӌ [uGaH(HrPӍuߧPkmV9ی7ys惡`;q$C~_u!ܔyN&]=f"q.0xع2:yZf+Lu CjP;o*` .|#$J0n3;˟$T ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfZPZ8 5A[$T$C(ANƺӨvߵ6g{\l0c!?/y~D J<.EZH(#0$@*:=*Z׭\a6.LDVeh+Wb#jW]o" ڄ_ŐP^ @#m$T$C(ANM`;qgu!Ĉw%SɗOYȭ\aDTrdF*G2|ZPZ~ ]V96G4@'vAM%L  NJWb㮷˧dV0]o"~* b2U#I- O@Y,UM""B wkmOJMZD;)˧dV0]o"~*0AayZPZ~aa1q[ȀC< ߆xyY"C< "W>1|lսj \u w⠙t,@FVh1,?:CjP9AAA 0βEIBD;~3H)P*dn "W>1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;k:m_oS_nnZD;)˧dV0]o"2XyjAhmB}jmc3TJXEj \u 06yO mc3TJY"ۭ>3`HUu|g5oZu&]=f"q.:yR CjP9AA R % JSzqM3?%N>T:MMjC?_o[sl J<.EZueurԂڄg @`m$g EIA[ |gk^q.:yLzEj \u!ߴu R CjP9A@ۭrԂEIBD;k:m_oS_nnZD;)˧dV0]o"%B==u<- O@ f~JP\aDo )d|¥ `ۯ ߆3?%@Tu*J @S<)f  ~C-k֮0]o" OYȭ\aDK7[zzyyZPZ8 0NmMg6ydw%)dr*qUmn J<.EZu1*C"q.:yuxS Yn$~RH( 06yO6`HUuzTZuqdEIBD;~3TC^X>: C馶iXnZD;)˧dV0]o"+:b6>1*C"q.:yuxS Yn$~RH( 06yO6`HUuzTZuaR 0mׄSo*T:%o )xL  NJWb㮷meh+Wb㮷m5[>ZPZ8 g% JSzqM3?%N>T:LuMu.Ӯܴ>kovuy$C(LzEj \u"X- O@ f~JP\aDo )d|¥ `ۯ ߆3?%@Tu*J @S<)f  ~C-k֮0]o"+:˧dV0]o"+:ڄ_ŐPXc: C馶iXnZD;)˧dV0]o"+:`ڄg @`mN6G*X2f mc3TJY"ۭ>3œ`ۯ "W>1Rֽj \u"LzEj \u"J - O@Y:w%)=8]u*o ~:ĈyiXnZM5MNru!ܔyN&]=f"q.:y^yإk+X06>1*C"q.:yuxS Yn$~RH( 06yO6`HUuzTZu3œ`ۯ "W>1Rֽj \`rdu"T.EZ16D6{"{U}56'jCTXmc3TJX@HX<׭`{Kڭv}56'p924Y1qɑ[Ȋ5QZf:CjP;o*T:+Wb㮷[ |g80`6H)P*dn pYn&_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(ANƺӨvߵ68P}0m׾36y$CϼNri|cmu@p924Y1q[Ȋ[#wOβڄg @`mN6G*X2f mc3TJY"ۭ>3œ`ۯ "W>1Rֽj \u t,Ej-'YhmB}j/(/T9lHGtyH(HrPӍuߧPkm*q: CnH}0m׉'36]kmOsrԇRng "w>6yZ4ZkmO "Greh+Wb㮷mjw6>1*C"q.:yuxS Yn$~RH( 06yO6`HUuzTZuaR 0mׄSo*T:%o )xL  NJWb#|d OYȭ\a6.LD}7[z~xQjGu'֠rN,8 6%@ : C馶iXnZD;)˧dV0]o" mV<- O@ f~JP\aDo )d|¥ `ۯ ߆3?%@Tu*J @S<)f  ~C-k֮0]o" OYȭ\aDB=>yZPZ8 6zC:% JS f{3TC!ܔyN&]=f"q.:y6Ы`Ou'֠v߆3?%@TuV0]o"n q>aR 0mׄSo*T:%o )xL  NfWb㮷˧dV0]o"0lβڄ_ŐP`'&3yH(HrPӍuߧPkm*q`ۯ|gmHyvu[~۴7-[ȁ"Greh+Wb㮷>Ru'֠v߆3?%@TuV0]o"n q>aR 0mׄSo*T:%o )xL  NJWb㮷˧dV0]o"4}<- O@Y*O<$T$C(ANƺӨvߵ68P}56>R{>36$Cu̾}56>R| J<.EZu.FOte P*a1q[Ȁۭ>3œlTdu$g EIA[ |g8,^DӨ|cҥzA24Y1q[ȎbnIyZPZ8 `*F;βEIBD;k:m_oSiXnZp"GnH=鷵Z_o={8EJv߆3?%@TuNηzl_o=xL J<.EZue P*a1q[Ȁۭ80`6H)P*dnxL  NJWb㮷˧dV0]o"%YhmB}j/(:% JS f{3TC!ܔyN&]=f"q.:y^yتLhmB}jmc3TJXEj \u 06yN6G*X2f mc3TJY"ۭ8,^DӨ|cҥzEy[`t,Ey[b3š Ӌ *J!ܔ p*n 0m׾36y$C~;ח0=Y M皙RD8P}56yD;)˧dV0]o"+:b6>1*C"q.:yu#,xI61*CRP@`m`ۯ "W>1Rֽj \u"LzEj \u"H*CjP9AA`61VH(HrPï|f~J|u,^X,Cc^\{g316jeJ C\ J<.EZuT:MMup924Y1q[Ȋζc<6>1*C"q.:yu#,xI61*CRP@`m`ۯ "W>1Rֽj \u"LzEj \u"X- O@Y3% JSu_oS6<!~k˘tc?sLV"|u<"Greh+Wb㮷mVahmB}jmc3TJXEj \u 06yN6G*X2f mc3TJY"ۭ8,^DӨ|cҥzEy[`t,Ey[bZPZ8 u % JSu_oS6<!~k˘tc?sLV"|u<"Greh+Wb㮷mVb CjP;o*T:+Wb㮷[ q>aR 0mׄSo*T:%o )f  ~C-k֮0]o"+:˧dV0]o"+:`k'֠rN,`'X0RP;_68PpYnα"XƼIZϜf0cm<ʕh!ʇ[θ!ܔyN&]=f"q.:y^yئ{CjP;o*T:+Wb㮷[ q>aR 0mׄSo*T:%o )f  ~C-k֮0]o"+:˧dV0]o"+:yhmB}j/(,9;H(HrPï|f~J|u,^X,Cc^\{g316jeJ C\ J<.EZuqd Zg% JSu_oS6<!~k˘tc?sLV"|u<"Greh+Wb㮷,?:CjP;o*T:+Wb㮷[ q>aR 0mׄSo*T:%o )f  ~C[֮0]o" OYȭ\aDd<- O@YxyY""B wN5~Cgʇ[nα"XƼIZϜf0cmX>D8P}56yD;)˧dV0&G]o">xT1V`O/*7-Hβڄg @`mlTdu$g EIA[ pYn&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)=8]u*o ~:ĈyiXnZM5MNru!ܔyN&]=f"q.:y,<ܵ 6>1*C lTdu$g EIAxL  NJWb㮷˧dV0]o"%'֠rN, <*J!ܔ p]w;o|f~J|u7-H"Greh+Wb㮷,<ܵ 6>1*C lTdu$g EIAxL  NfWb㮷˧dV0]o"2XyjAhmB}j/(09jA""B wN5~Cgʇ[srԈ!ܔyN&]=f"q.0xع2:yZf+Lu CjP;o*T:AM f~JPi" ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZfZPZ8 5A[$T$C(ANƺӨvߵJ|f~Jܵ!ʇ[_~D J<.EZu_]o 6>1*C$g *J "W>1Rֽj \u t,Eoy Ӌ Xm % JSzqyR7-Hq?އ7o[ȁ"Greh+Wb㮷=AhmB}jmc3TJ[BH)P*m$TDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyR7-Hq?߮D;)˧dV0]o"3ZPZ~RЀ mc3TJ[I%Ͼ6j޵q.:yLzEj \u#:y Ӌ ۭ*J!ܔ pOS8Pko[ȁ"Greh+Wb㮷uڄg So*T:H( &_PǥKZ1q[Ȃeh+Wb㮷uڄ_ŐPm % JSzqyR7-Hq?߮D;)˧dV0&Ej,DVr'֠v߆06G*X2f mc䊒f  ~C-k֮0&Ej,D.EZ% JSu_o8wݧ_y6G*X2f *p$C(LzEj \`rdVrEj,B㱃^~ڄ;K@,^AM aüRP@,^DӨ|cҥzbȭZ刂eh+Wb"k"+Vb'wb}'֠rN,k ';RP;_6Ç{ud|¥ `ۯ qD;)˧dV0&Ej,DVrinXo^~ڄ;K@,^AM aüRP@,^DӨ|cҥzbȭZ刂eh+Wb"k"+Vb4_,iv/?hmB}j/(/Vbf 4 ؼdw%):;ӯ#,xK!ܔyN&]=f"q.:y,?:CjP;o1q[Ȁۭ>3H)EIA[ |gk^q.:yLzEj \u"Xu'֠rN, <1Rֽj \u"LzEj \u"H*CjP9AA`61VH(HrPӍuߧPkˁ>_>T:<!~k˘tc?sLV"|u<"Greh+Wb㮷m5[>ZPZ~\aDo )AM g*J @S<&_PǥKZ1q[Ȋζ24Y1q[Ȋζ- O@YU䊒w%)=8]u#c/|u36y$C~;ח0=Y M皙RD8P}56yD;)˧dV0]o"+:ڄxEj \u 06yO mcT:MMup924Y1q[Ȋζ+X06>1Zu @S<$~$TuxL  NJWb㮷meh+Wb㮷mVahmB}j/(, $T$C(ANƺӨvߵ/|Cα"XƼIZϜf0cm<ʕh!ʇ[θ!ܔyN&]=f"q.:y^yإk+X06>1Zu @S<$~$TuxL  NJWb㮷meh+Wb㮷mVb CjP9AA`N`H(HrPӍuߧPkˁ>_2ʇ[?_obD<㹍ysy޵8`ۮy*$C_op$C(LzEj \u#%YhmB}jmc<"q.:yuxI61H( 06yO ~C[֮0]o" OYȭ\aDd<- O@YxyY""B wN5~C.H|g*oMu?_5?Oz|1oZh!ʇ[θ!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠v߆3+Wb㮷[ |gSo䊒n "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B w&304vUmn J<.EZunZZPZ~\aDo ) ߆3%o ) "W>1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;k:m^\ϱ>T:srԇ?Ĉvuy$C(LzEj \u"Xy *3[βڄxEj \u 06yOxI61H( 06yOxL  NJWb㮷˧dV0]o"%B==u<- O@Yx'&3uβEIBD;Y9^;|xjށ"Greh+Wb㮷mF1VZPZ~\aDo ) ߆3%o ) "W>1Rֽj \u"LzEj \u"H*CjP9AA`61VH(HrPï1Rֽj \u"LzEj \u"X- O@Y3% JSu_on>T:ռ04v @p924Y1q[Ȋζ+X06>1Zu @S<)AM g*J @S<)DӨ|cҥzEy[`t,Ey[bZPZ8 u % JSu_on>T:ռ04v @p924Y1q[Ȋζ+X1Z @`mO mc1Zu @S<)AM g*J @S<)DӨ|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ p:|u双!ܔyN&]=f"q.:ynZZPZ~\aDo ) ߆3%o ) "W>1Rֽj \u t,AjAhmB}j/(*J!ܔ p]w;oD}qۛ>16$C7-[ȁ"Greh+Wb#|d mV^2TnZe @`mO mcxT.EZ1Zu @S<)AM g*J @S<)DӨ|cҥzA24Y1q[ȃphUg:CjP9A@`HyY""B wp c<Go5V@p924Y1q[ȌnZZPZ~\aDo ) ߆3%o ) "W>1|lսj \u t,FK7-H- O@Yx'-H$T$C(ANƺӨvߵ/|C7-H|cmĈvuy$C(LzEj \u# mV<- O@ gV0]o"n |gSo䊒n |gϾ6j޵q.:yLzEj \u# mV<- O@Yphm=!dw%)=8]u#c/|u36y$CϼNri|cmu@p924Y1q[ȉR CjP;o1q[Ȁۭ>3ŸO mc_2ʇ[?_o[m;X`"]ahv*csY*ysrԀg$Cmu@p924Y1q[Ȍ<ܵ 6>1Zu @S<) ߆3%o ) |gϾ6j޵q.:yLzEj \u#'O7-H- O@Y;NZH(HrPӍuߧPkˁ>_2ʇ[?_o[m;X`"]ahv*csY*ysrԀg$Cmu@p924Y1q[Ȍ?:CjP;o1q[Ȁۭ>3ŸO mcT:!un0bы75=k鷞=) vuy$C(LzEj \u#=u'֠v߆3+Wb㮷[ |g>3Ÿ$y"ۭ>3ŸO ~C-k֮0]o" OYȭ\aDv#wOβڄ_ŐPnR7x'u*J!ܔ p]w;oD}qؑӮܴ;qn]30)AM g*J @S<)O ~C-k֮0]o" OYȭ\aDOtnZZPZ8 wI RP;N~ח$|3e~޷vD;NrF.J{"ܵ ) vuy$C(LzEj \u#'O7-H- O@ gV0]o"n |g``S<$~$TuxS< 0$@*:>3\aD.EZuR CjP9AA<*J!ܔ p]w;oD}q[N#0HiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdIyZPZ~\aDo )xI61H( 06yOx>3`HUu|g5oZu&]=f"q.:y'YhmB}j/(0'u*J!ܔ p]w;oD}qؑӮܴ:+ы75=k鷞=) vuy$C(LzEj \u#=u'֠v߆3+Wb㮷[ |g>30)AM g*J @S<)O ~C-k֮0]o" OYȭ\aDv#wOβڄ_ŐPnR7x'u*J!ܔ p]w;oD}qؑӮܴ:+ы75=k鷞=) vuy$C(LzEj \u!W[- O@ g `xI61H( ;0)DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"G>_8P|gmu"ܵ!+!ܔyN&]=f"q.:y=AhmB}jmc< lTdc>3H)EIAO ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u#c/|u36: @nZ J<.EZuAu CjP;od|¥ ;0) ߆3%c>3Ÿ0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$|3e~ݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,F Jy >aR |gSo䊒O ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u#c/|u36: @={ڭv}56: C;%wD;)˧dV0]o"{%y]uڄx@0` |g``S<$~$TxL  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ/|CiXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y=AhmB}jmc< lTdc>30)AM g*J |g``S<&_P}V1q[Ȃeh+Wb㮷+'֠rN,c+ A""B wN5~C.H|g*oMNr$Ct]MMNr]p924Y1q[Ȅ^W]o 6>16G*X20)AM g*J xL  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ/|CiXnZsrԇdHrQ8t,F Jy >aRO mc3`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w;oD}q۴7-D9jCWp$C(LzEj \u!W[- O@ g `, |g>3H)EIAX |gk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:m^\ϱ>T:vuH=VgvuR"Greh+Wb㮷+'֠v߆3K@w0`>3Ÿ$y"`, |g>3`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w;oD}q۴7-DaRO, |gSo䊒0)O ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u#c/|u36: @={ڭv}56: C;%wD;)˧dV0&Ej,DVrVc?û6>1}5:"q.+X˯ހ}8렒 mc>kXu"}8렘 ~C-k֮0&Ej,D.EZ1Rֽj \`rdVrA24Y1qɑZ\XeO- O@Y,@^c? ؼdw%):}%@-`~:p7Ur*p$C(LzEj \`rdVrEj,F66- O@ g2Tٻ7 UH)J[7z"7Ur ~C-k֮0&Ej,D.EZCjP9AAz 0mׇN$T$C(ANMj@c>ްA|v}A`K!ܔyN&]=f"q.+X˯ފ2Xd_'֠v߆3ʂAM g*JV`L  NJWbⵌc.5H&]=f"q.+X˯ފ2Xd_'֠rN,?|H(HrPӍuߧPkmwuO>ZCwD J<.EZUx@0;P]~I61XX8w*Jx&_PǥKZ1qɑZ˧dV0&Ej,Dcʱ;mYߚڄ_ŐPcʱpg~k % JSJ<.EZeF0ޖdrZ3Y7KCjP;o>ZeF3*'Fkn}N6G*X2lTdu$ϵ*Jtf1gN 0mׄk^q.+X˯ތa-^; OYȭ\a2oKWY9^ Ӌ ͑'Fkn*J!ܔ p]w;o>ہ:3Xu_D;)˧dV0kuь7ëu´fn'֠v߆}"q.+X˯ތg2UN0 [BlTdc80`6H)k$T`c ϵ)ÿ`ۯ "W>1|lսj \V_z[:w\.EZeF0ޖ њaZPZ8 tf1""B wN5~C.]oM57_Lu$C(LzEj \`rd9kt_n20mז'֠v߀gV0&ALun2Yn;<$~H( 0exvxL  NJWb [[ &]=f"q.0xع2 e`ۯ7mn6CjP9A@(-6% JSu_n3 ;=0sq־6HrQ8t,@A,FJbs)7š Lj#,$&L*J "W>1Rֽj \u w⠙t,@A,FJbs)7š Ӌ 6J`#I$T$C(ANMSz*w%SɗOYȭ\aD(F0gu'֠v߁6gSo`I"gk^q.:yLzEj \u B1<6>qd% <$T$C(ANM=/B1 HrQ8t,c.z1ux]ֳ塵 N0\a2oKW'FknSo aH( њ0$@*:=*Z׭\a2oKWeh+Wbⵌ3wZϰo'֠rN,G3v""B wkmգ57\ӯ\a2̕@57B\|up924Y1q[ȉR CjP;o`@`mOV`I6 $TuxS<)լDӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w;oDVc~޷vD;Nr U1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=yjAhmB}jmZu @S<) ߁:n |g:`HUu|g5oZu&]=f"q.:y''֠rN,x'-H$T$C(ANƺӨvߵ.`*oMoub1vuیtbdO|b,kmR`iXnZD;)˧dV0]o"2{<- O@u+Wb㮷[ |g>3Z$'X0RP@`mOV`L  NfWb㮷˧dV0]o"2{<- O@Y;βEIBD;k:m^\ qؑӮܴ;qn] \aDo ) ukSo`EIA[ |g>3Z0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨvߵ.`*oM: C1VStX5tyMNru!ܔyN&]=f"q.:y=yjAhmB}jmZu @S<)N` mH( 06yOx:`HUuzTZu&]=f"q.:y=yjAhmB}j/('rԂEIBD;k:m^\ q[N#0HiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI N`Ej \u 06yOx:H)Na"ۭ>3ŸX "W>1|lսj \u t,FOtnZZPZ8 wI RP;N~ח$||u36ӵ !uX~1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=u'֠v߁:1q[Ȁۭ>3ŸX ߁:n |g``SX0&_P}V1q[Ȃeh+Wb㮷=u'֠rN,xyY""B wN5~C.Huk8P|glHiXnZchStX5tyMNru!ܔyN&]=f"q.:y \ޞ?:CjP;o`@`mO, ukSo`EIA[ |g>30)լDӨ|cҥzA24Y1q[ȎbnIyZPZ8 `*F;βEIBD;k:m^\ qؑӮܴ:+ы75=k鷞=) vuy$C(LzEj \u"XyjAhmB}jmZu @S<)լAMu %o ) "W>1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;k:m^\ qۛ>16$C7-[ȁ"Greh+Wb㮷mVGu'֠v߁:1q[Ȁۭ>3Z$'X0RP@`mN` ~C-k֮0]o" OYȭ\aDK7[zzyyZPZ8 0NmMg6ydw%)dr04v` <[[D;)˧dV0]o"+:`k'֠v߁:1q[Ȁۭ>3Z$'X0RP@`mN` ~C-k֮0]o"+:˧dV0]o"+:`k'֠rN,`'X0RP;_6yC[ˀ`hZ;|"Greh+Wb#jWu'֠v߁:1q[Ȁۭ>3Z$'X0RP@`mN` ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzfxTB=?|dܵ#:CjP;o`@`mN` mH( 06yOV`L  NJWb#|d OYȭ\a6.LD}7[z~xQjGu'֠rN,8 6%@ yZPZ~V0]o"n ukSo`EIA[ |g:`HUuzTZu&]=f"q.:ynm YhmB}j/(@l<$T$C(AN5#Ek`h!ܔyN&]=f"q.:yR CjP;o`@`mN` mH( 06yOV`L  NfWb㮷˧dV0]o"2XyjAhmB}j/(09jA""B wN5~C.Huk8P|gmRq"]ah~D J<.EZuphUg:CjP;o`@`mN` mH( 06yOV`L  NfWb㮷˧dV0]o"0lβڄ_ŐP`'&3yH(HrPӍuߧPkˁ>]Z>T:<!]]ah}4߾16: C HrQ8t,D<- O@u+Wb㮷[ ukSo`EIA[ ukk^q.:yLzEj \u"Xu'֠rN, <]Z>T:<!~k˘tc?sLV"|u<"Greh+Wb㮷,?:CjP;o`@`mZ$'X0RP@`mZ0$@*:>3\aD.EZuayZPZ8 0βEIBD;k:m^\ qX,Cc^\{g316}"|u<"Greh+Wb#|ddUgyYhmB}jmZu @SX0$~*J @SX0&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)Go #U$C(LzEj \u!W[- O@uK@w0`S<)լAMu %c>3Z0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$||u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@uK@w0`S<)լAMu %c>3Z0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˫X1ʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@uK@w0`S< Z$'X0RP@w0`S< Z0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$||u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@uK@w0`S< Z$'X0RP@w0`S< Z0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˫X1ʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@uK@w0`SX0$~*J ukk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:m^\ q۴7-D9jCWp$C(LzEj \u#{%y]uڄ'X0 lTdc:H)Na"`V`L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\ q۴7-D9jCWp$C(LzEj \u!W[- O@uK@w0`>3Z$'X0RP@w0`>3Z0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$||u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@uK@w0`>3Z$'X0RP@w0`>3Z0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˫X1ʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@uK@w0`>30)լAMu %c``S< Z0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$||u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@uK@w0`>30)լAMu %c``S< Z0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˫X1ʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u!W[- O@uK@w0`:H)Na"`, ukk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:m^\ q۴7-D9jCWp$C(LzEj \u#{%y]uڄ'X0 lTdc``SX0$~*J V`L  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\ q۴7-D9jCWp$C(LzEj \`rdu"TV'֠v߂gSoSIY"gk^q.0xع2:yZf OYȭ\a6.LDV5]uڄ_ŐP^ A""B wkm4eu@  1S0"o<0rN2HrQ8t,bEi3U[ȟ}6>4ec<$~ N2%c<&_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVOaZPZ8 5A[;w%):\qy$CJ<.EZ1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p]w;o^2T`kY˪3D;)˧dV0&G]o">xTg/*7-HβڄT&3 m*Yl$T ~C[֮0&G]o">xT.EZ1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B wN5~C7-H<]rƶ]V!ܔyN&]=f"q.0xع2+Vb"k!rqv/?hmB}jm*N: 0m״ l9w ߂{I%k^q.0xع2+Vb t,bȭZ刊ծXcؼe Ӌ ZIcN$T$C(ANƺӨvߵ6듎>6D;)˧dV0&Ej,DVc?ծXڄTu`ۯh@0;PrXAMIZf *J9w "W>1Rֽj \`rdVrA24Y1qɑZXeO沵k 6>qdXeO/Vb % JSzqM{\ӯ_oZD;)˧dV0&Ej,DVc?H?ZPZ~ u#~*v]kH)8@,^EIA;.50$@*:=*Z׭\a6.LծX&]=f"q.0xع2+Vb"k̩2Gڄ_ŐP^c?#d""B wN5~C*o{\ӯ_n'YD;)˧dV0kuZ]~ku2lN'֠v߂e污 ߂e汤DӨ|c>٫zc.z OYȭ\a24$ev}m- O@Yu:,gNӯ-w%)=8]ur Ŏ[r̾}56e汯*V-$C(LzEj \V_e汧].Y#-v;ihmB}jm+e污 ߂z]~kH(!Z0$@*:>3\a2t,c.z+X˯cN\FZwiߖڄ_ŐP^_㮁Rkx:H(HrPӍuߧPkm׌Ŏ[r̾}55|[cp$C(LzEj \V_Ͼ4,ӯ- Ec<$~ Y"gϾ6j޵q.+X˯ނeh+Wbⵌ}汧]/Qgv}m- O@Y3樂5];N*J!ܔ p]w82Z?hsypxb.w%SɗOYȭ\aDK7-H- O@r#,$+EIA0$@*:=*Z׭\aD.EZunZZPZ8 0NZH(HrPӍuߧPkm+_nnZiXmD;)˧dV0]o"2XyjAhmB}jm@0` ߀9]*J "W>1|lսj \u t,FK7-H- O@Yx'-H$T$C(ANƺӨvߵ67-H۴6 "Greh+Wb㮷y։- O@ce,gSo| 4?mRPF3`HUuzTZu&]=f"q.:yhڄ_ŐPyX ?$w%)=8]u݃eamqʹ9:~D J<.EZu<ܵ 6>`ۯ\aDo ) q>aR 0mׄSof EIA[ |g>3œ`ۯ "W>1Rֽj \u t,DI Ӌ Gt R % JSzqyp"Gnʇ[?_o[m;X`"]ahv*csY*ysrԀg$Cmu@p924Y1q[Ȍ<ܵ 6>`ۯ\aDo ) q>aR 0mׄSof EIA[ |g>3œ`ۯ "W>1|lսj \u t,FOtnZZPZ8 wI RP;N~ח$|6|u36ӵ !un0bы75=k7-H pfzqD?ݧ]ah~D J<.EZu6>`ۯ\aDo ) q>aR 0mׄSof EIA[ |g>3œ`ۯ "W>1|lսj \u t,FOte Ӌ GtyH(HrPӍuߧPkˁ>_Lu>T:!un0bы75=k鷞=) vuy$C(LzEj \u#=u'֠v߂u1q[Ȁۭ>3ŸN6G*X2f m,^H( 06yOxSu0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨvߵ/ *oM: C1VStX5tyMNru!ܔyN&]=f"q.:y=yjAhmB}jm,^Zu @S<)N6G*X2f m,^H( 06yOx8,^DӨ|cҥzA24Y1q[ȉR CjP9A@<*J!ܔ p]w;oD{~޷vD;NrF.J{"ܵ ) vuy$C(LzEj \u#'O7-H- O@6+Wb㮷[ |g>30)K@,^AM6%o )6`HUu|g5oZu&]=f"q.:y''֠rN,x'-H$T$C(ANƺӨvߵ/ *oMoub1vu9_]3ŸXxL  NfWb㮷˧dV0]o"2{<- O@Y;βEIBD;k:m^\`ۯqؑӮܴ:+ы75=k鷞=) vuy$C(LzEj \u#=u'֠v߂u1q[Ȁۭ>3ŸXd|¥ `ۯ ߂u䊒n |g``Su0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨvߵ/ *oM: Cr csY*yy:œ`iXnZD;)˧dV0]o"%'֠v߂u1q[Ȁۭ>3œlTdu$YnRP@`mN 0mׄk^q.:yLzEj \u"XyjAhmB}j/(9jA""B wN5~C.H}0m׸P|gmR!u@p924Y1q[ȉa6Ы`O]o#:CjP;of @`mN6G*X2f m,^H( 06yO6`HUuzTZu&]=f"q.:y,<lyYhmB}j/(8 6ۭu*J!ܔ p͑ ,^GkwHrQ8t,DI xEj \u 06yO#,xI6`ۯ$TuxSu0$@*:=*Z׭\aD.EZu<ܵ 6>qd9jA""B wN5~CiXnZ`ۯy{U!tRc?ݷx@K:?:Ĉ׭`{Kڭv}56'p924Y1q[ȊζRgCjP;of @`mN6G*X2f m,^H( 06yO6`HUuzTZuqdEIBD;~[7o,pYnw%SɗOYȭ\aDWu)8YhmB}jm,^Zu @S<)K@,^AM6%o )xL  NJWb㮷meh+Wb㮷mF1VZPZ8 qEIBD;~[f !ܔyN&]=f"q.:y^yأU塵 xEj \u 06yO#,xI6`ۯ$TuxSu0$@*:=*Z׭\aDWu OYȭ\aDWu(lhmB}j/(,$T$C(ANMuPyk`ۯ"Greh+Wb㮷myhmB}jm,^Zu @S<)K@,^AM6%o )xL  NJWb㮷meh+Wb㮷myhmB}j/(,1H(HrPï3œlTdu$YnRP@`mN 0mׄk^q.:y^y&]=f"q.:y^yإk+X06>qd:w%):η*o-ycu$C(LzEj \`rdu"TVβڄYn"q.:yuxS Yn$~ 0mג*J @S<)f  ~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzf3œlTdu$YnRP@`mN 0mׄk^q.:yLzEj \u"C6>qdn#O<$T$C(ANƺӨvߵ6: Cu={?_oj=D>yܵ!*T`۶`ۯ uߧPX}sI{U樂{!ܔyN&]=f"q.:y^yئ{CjP;of @`mN6G*X2f m,^H( 06yO6`HUuzTZuaR 0mׄSof EIA[ |g8,^DӨ|cҥzEy[`t,Ey[bڄ_ŐPXi$T$C(ANMuPs{V6HrQ8t,AjAhmB}jm,^Zu @S<)K@,^AM6%o )xL  NJWb㮷˧dV0]o" R CjP9A@ RP;N~ח$|6|u36M: C HrQ8t,A *3[βڄYn"q.:yuxS Yn$~ 0mג*J @S<)f  ~C-k֮0]o" OYȭ\aDB==u<- O@Yphm=![<$T$C(ANƺӨ}|=0vun`ۯ!iXnZ!ܔyN&]=f"q.0xع2:yJl%FyZPZ~ 0mׄV0]o"n q>aR 0mׄSof EIA[ |g8,^DӨ|cҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(AN;|604vUmn J<.EZu7[z|6>`ۯ\aDo )d|¥ `ۯ ߂u䊒n pYn&_PǥKZ1q[Ȃeh+Wb㮷6Ы`Ou'֠rN,8 6βEIBD;Y9^;|604vUmn J<.EZua xEj \u 06yO#,xI6`ۯ$TuxSu0$@*:>3\aD.EZua Ӌ Cw%)=8]u#^C7-H|cmĈvuy$C(LzEj \u#(sW[βڄYn"q.:yuxS Yn$~ 0mג*J @S<)f  ~C[֮0]o" OYȭ\aDeoyyZPZ8 Նo 3œ`ۯ "W>1|lսj \u t,FB=>yZPZ8 6zC:% JSzqyp"Gnʇ[?_obD<˴7-?ݧ]ah~D J<.EZueurԂڄYn"q.:yuxS Yn$~ 0mג*J @S<)f  ~C-k֮0]o" OYȭ\aD2AjAhmB}j/(~uNZH(HrPӍuߧPkˁ>_Lu>T:srԇ?Ĉvuy$C(LzEj \u#G*O7-H- O@6+Wb㮷[ |g80`6H)y"ۭ>3œ`ۯ "W>1Rֽj \u t,FTnZZPZ8 T R % JSzqyp"Gnʇ[?_nnZؑӮܴ?]o"w%SɗOYȭ\aDhIyZPZ~ 0mׄV0]o"n q>aR 0mׄSof EIA[ |g8,^DӨ|cҥzA24Y1q[ȍ|?:CjP9A@ʓ:% JSzqG*Okm?ݧ]ahpۭ>6Ĉ}gmu9w%SɗOYȭ\aDv#wOβڄYn"q.:yuxS Yn$~ 0mג*J @S<)f  ~C-k֮0]o" OYȭ\aDv#wOβڄ_ŐPnR7x'u*J!ܔ p]w;ovuf =鷵Z"MMInZ*V0cm~ 0mׄӨ}cmHzl_o=xL J<.EZue xEj \u 06yN6G*X2f m,^H( 06yN 0mׄk^q.:yLzEj \u"Xu'֠rN, <aR 0mׄSof EIA[ pYn&_PǥKZ1q[Ȋζ24Y1q[ȊζRgCjP9AAai$T$C(ANƺӨvߵ/ *oMu?_5?Oz|1nT@>T:MMup924Y1q[Ȋζ#G- O@6+Wb㮷[ q>aR 0mׄSof EIA[ pYn&_PǥKZ1q[Ȋζ24Y1q[Ȋζ#G- O@Y8Y""B wN5~C.H}0m׸P|gmH!w1.ao={ֳu52Zqkmw%SɗOYȭ\aDWu(lhmB}jm,^Zu @S Yn$~ 0mג*J @Su0$@*:=*Z׭\aDWu OYȭ\aDWu(lhmB}j/(,$T$C(ANƺӨvߵ/ *oMu?_5?Oz|1nT@>T:MMup924Y1q[Ȋζc<6>`ۯ\aDo )K@,^AM6%o )f  ~C-k֮0]o"+:˧dV0]o"+:ڄ_ŐPXcaR 0mׄSof EIA[ pYn&_PǥKZ1q[Ȋζ24Y1q[Ȋζ+X1Z Ӌ 'X0 $T$C(ANƺӨvߵ/ *oMu?_5?Oz|1nT@>T:MMup924Y1q[Ȋζ5;ZPZ~ 0mׄV0]o"nd|¥ `ۯ ߂u䊒nxL  NJWb㮷meh+Wb㮷mjw6>qd$T$C(ANƺӨvߵ/ *oMu?_5?Oz|1nT@>T:MMup924Y1q[Ȋζ)3š xEj \u 06yN6G*X2f m,^H( 06yN 0mׄk^q.:y^y&]=f"q.:y^yؠe&x6>qd Zg% JSzqyp"Gnʇ[?_obD<㹍ysy޵8`ۮy*$C_op$C(LzEj \u#%YhmB}jm,^Zu @S Yn$~ 0mג*J @Su0$@*:>3\aD.EZuayZPZ8 0βEIBD;k:m^\`ۯqX,Cc^\{g316}"|u<"Greh+Wb#|ddUgyYhmB}jm,^Zu @S Yn$~ 0mג*J @Su0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xQjGu'֠rN,`Mg>xP'-H<$T$C(AN;|604vUmn J<.EZaR 0mׄSof EIAxL  NJWb"k" OYȭ\a6.LծXmy Ӌ Uo RP;_6`ۯsN lTdu.>T:HrQ8t,Bd+ZPZ~ 0mׄ `xS Yn$~ 0mג*J |g8,^DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"Gnʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄYn lTdc>3œlTdu$YnRP@w0`S<)f  ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u#^CiXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y+'֠v߂ud|¥ ;0)N6G*X2f m,^H( ;0)N 0mׄk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:m^\`ۯq۴7-D`ۯ#,O, q>aR 0mׄSof EIAO, pYn&_P}V1q[Ȃeh+Wb㮷+'֠rN,c+ A""B wN5~C.H}0m׸P|gmu"{Zkmu7-HvJw%SɗOYȭ\aD Jy x@0` q>aR 0mׄSof EIAN 0mׄk^q.:yLzEj \u!W[- O@YDzWuEIBD;k:m^\`ۯq۴7-D9jCWp$C(LzEj \u#{%y]uڄYn lTdc80`6H)y"`6`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w;oD{~ݧ]ah!R"Greh+Wb㮷=AhmB}jm,^6G*X20)d|¥ `ۯ ߂u䊒0)xL  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ/ *oMNr$Ct]MMNr]p924Y1q[ȌAu CjP;of >aRO#,xI6`ۯ$TO6`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w;oD{~ݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ~ 0mׄ `, |g``S Yn$~ 0mג*J x8,^DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"Gnʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄYn lTdc``S< lTdu$YnRP@w0`>30)f  ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u#^CiXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y+'֠v߂ud|¥ ;0 lTdu$YnRP@w0`8,^DӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"Gnʇ[?_nӮܴ ]p924Y1q[ȌAu CjP;of >aRN6G*X2f m,^H( ;0 `ۯ "W>1|lսj \u t,F Jy Ӌ JnH(HrPӍuߧPkˁ>_Lu>T:vuH7-HvJw%SɗOYȭ\a6.LծXZ- O@x@0`6H)p$T 0mׄk^q.0xع2+Vb t,bȭZ刊ծXڄ_ŐP^r*J!ܔ p]w;o}{鷭Z刁"Greh+Wb"k"+Vb+Vʟa݋ZPZ~ >aR 0mׄSocH( `ۯ "W>1Rֽj \`rdVrA24Y1qɑZ\XeO- O@Y,@^c? ؼdw%):psN lTdu.>T:HrQ8t,bȭZ刊ծXcؼe p#,xI6;䊒f  ~C-k֮0&Ej,D.EZqd\8` ؼdw%):psN lTdu.>T:HrQ8t,bȭZ刊ծX0mKm݋ZPZ~ >aR 0mׄSocH( `ۯ "W>1Rֽj \`rdVrA24Y1qɑZ\`ۯ46>qd\xKm^~EIBD;~8wݧ_y6G*X2f *p$C(LzEj \u"X}j<6>M\`xF3H)h&3%c<&_PǥKZ1q[Ȃeh+Wb㮷Vve Ӌ C ՝u*J!ܔ p]w;os.0cnmVvyD;)˧dV0]o" mV՝yYhmB}jm gSo$ Lg*JxL  NJWb㮷˧dV0]o" mV՝yYhmB}j/(@l ՝u*J!ܔ p]w;os.0cnmVvyD;)˧dV0]o"2X}j<6>M\`xF3H)h&3%c<&_P}V1q[Ȃeh+Wb㮷,>gkmyZPZ8 0Y@yY""B wN5~C:h:q?޵gkmp$C(LzEj \`rdu#A *3JR<6>Jaa$ (F0` " "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p]w;ooJܵ!ms s"Greh+Wb#|d0B-|d:CjP;o$)aAMc*J0 ~C[֮0&G]o">xT.EZ^ c`k!ܔyN&]=f"q.0xع2:yJ|I[z~xW]o#:CjP;o$)aAMc*J0 ~C-k֮0&G]o">xT.EZ{$Z=?|de Ӌ *{$Xl^2TuβEIBD;k:mmy`k(F0c J<.EZ1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ_ŐP'&3|du*J!ܔ p]w;ooJܵ!ms sYGp924Y1qɑ[ȏ^2Ut^2Ue P` <#$ (F0`eH(#0$@*:>3\a6.LD}&]=f"q.0xع2:yJ"J6>qd%/*<$T$C(ANƺӨvߵ6j2smn(F0d J<.EZ{$Z=?|de P` <#$ (F0`eH(#0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xW]o#:CjP9A@TI&3|d6ydw%)=8]u::P`;U| J<.EZO[% JSu_ntk!:pbȭZ刀Z qD;)˧dV0]o" R?% zMmF3H)zMm"gk^q.:yLzEj \u ܵ!ZPZ8 4*J!ܔ p]w;osi}56o*HrQ8t,c.z1uxE#њaZPZ~%o lTdcSo$*J "W>1Rֽj \V_z[:w\.EZeF0ޖdrZ3Y7KCjP9A@5#N0$T$C(ANMփ7v}@0` qD;)˧dV0kuьJZ3Y7sm- O@փ76G*X2H)Zf %ck^q.+X˯ތg2U˧dV0kuьJZ3Y7sm- O@Y:3Xt3m$T$C(ANƺӨvߵ6KZ D J<.EZe ` m$TDӨ|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ p]w?X,. *G6Xh`RoZfw%SɗOYȭ\a6.LD}7[z~xT;:CjP;o'Yh<#,j$~:;@yY"KZDӨ|cҥzbG/*eh+Wb#|d mV^2U?βڄ_ŐP'&3|d`βEIBD;k:m_oJ y6fuw%SɗOYȭ\a6.LD}7[z~xQjGu'֠v߀Noy6G*X2-hI6u}րβEIAj&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xTB=?|dܵ#:CjP9A@`H}NZyH(HrPӍuߧPkmxS?u wYh<"Greh+Wb#|d3Zvβڄ mZ:K@Z ߀NoyH( -RքϾ6j޵q.0xع2:yJt,bG/*%V]6>qd|dUdw%)=8]u=lΰ6p$C(LzEj \`rdu#@j rԏ<- O@fu< lTdZВ m6d-hL  NJWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JSzqMjCXu}ևθ!ܔyN&]=f"q.0xع2+Vb"k"<6>v}9] lTdc80`6H)<`ۯ "W>1Rֽj \`rdVrA24Y1qɑZ\>塵 Ӌ ZLU*JIj~LUk^q.0xع2+Vb t,bȭZ刊ծXlڄ_ŐP^rH(HrPïsN[ud|@KSb%ʇ\ J<.EZeF0ޖ9}|6>4|?*+Wbⵌ4|?*H)᠀VH( 4|?*`HUuzTZeF0ޖ˧dV0kuь7ëug`- O@Yg/Y EIBD;~ۆ[u1qZ]~c opa.>T:HrQ8t,Fu CjP;odЃ mlSH( 0&_P}V1q[Ȃeh+Wb㮷[- O@Yo RP;ݬO}5? K HrQ8t,G]o 6>6A)m0, ߆0? ? `HUuzTZu&]=f"q.:y[- O@Yo RP;ݬO}5? K HrQ8t,DrԂڄ۔أ UH)(G*J3uW, "W>1Rֽj \u t,DrԂڄ_ŐP!rԂEIBD;k:m_nnZe\=$C(LzEj \u#%'֠v߆ܠfXAM @-6]+X0$~rp~.%+X0&_P}V1qZ]~.EZeEkuiKH]:ZPZ8 2Xu*Y#-v_~[I% JSzqM|>Tmֱ y')/qduEIBD;~ak HrQ8t,G]o 6>6y}"q.:yuGaAM @#m$TuGaDӨ|cҥzA24Y1q[ȎAhmB}j/(6yw%)=8]u ^_D;)˧dV0]o"(sW[- O@ @yXEj \u 06ya$ۭu*J @yXL  NJWb㮷˧dV0]o"(sW[- O@YonH(HrPӍuߧPkmynnq[ȁ"Greh+Wb㮷=AhmB}jmm:+Wb㮷[< ߆o 6ya1q[ȀۭuSonyH( 06ya0$@*:>3\aD.EZuκAhmB}j/(06yw%)=8]u߮y?u!ܔyN&]=f"q.:y[- O@ @yXEj \u 06ya$ۭu*J @yXL  NJWb㮷˧dV0]o":y Ӌ ۭ*J!ܔ p]w;o~C[k HrQ8t,DrԂڄTY#$TYRPF3`HUuzTZu&]=f"q.:y,<ܵ 6>qda RP;N~馶)[mklH819Iz|k?qnZD;)˧dV0]o"2XyjAhmB}jmm,[~ mm,[~H(#0$@*:>3\aD.EZua Ӌ Cw%)=8]u߭S>M5Nojnߞ_bD?]o!Kֳ\ܵ )_ӍsrԈ!ܔyN&]=f"q.0xع2:yZf+Lu CjP;om{،c<$~k߰xdRPF3`HUuzTZ1Rֽj \V_z[:w\.EZeF0ޖ9}|6>qd9g7% JSzqM`:ݶrC3hÙz}~w%SɗOYȭ\aDOtnZZPZ~\aDo ) v{H)EIA[ |g>3 ~C-k֮0]o" OYȭ\aDOtnZZPZ8 wI RP;N~ח$|S>T:zic : C1VStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI @`mOjw$~$TuxS<)ڝ "W>1|lսj \u t,FOtnZZPZ8 wI RP;N~ח$|S>T:zic : C1VStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdIyZPZ~\aDo ) v{H)EIA[ |g>3 ~C[֮0]o" OYȭ\aDdIyZPZ8 wIdw%)=8]u#ڝqؑӮܴ;qn]9;Zu @S<)NSoÓ䊒n |g;S0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨvߵ.{~ĈvuیtbdO|b,kmO< pfzqD?ݧ]ah~D J<.EZu<ܵ 6>9;Zu @S<)NxI69;H( 06yOx;S0$@*:=*Z׭\aD.EZu<ܵ 6>qd9jA""B wN5~C.Hv{|u36ӵ !uX~1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=yjAhmB}jmrw"q.:yuxS<  mrwRP@`mO, v{`HUu|g5oZu&]=f"q.:y''֠rN,x'-H$T$C(ANƺӨvߵ.{~޷vD;NrF.J{"ܵ ) vuy$C(LzEj \u#'OβڄxEj \u 06yOx;S$y"ۭ>3ŸXNϾ6j޵q.:yLzEj \u#'Oβڄ_ŐP`#O<$T$C(ANƺӨvߵ.{~Ĉvu9_]9;Zu @S<)NxI69;H( 06yOx;S0$@*:=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(ANƺӨvߵ.{~Ĉvu9_]3 mrwRP@`mNxL  NJWb㮷˧dV0]o"%'֠rN, <*J!ܔ p]w;oDjwʇ[?_nnZؑӮܴ?]o"w%SɗOYȭ\aDK7[zzyyZPZ~\aDo )NSoÓ䊒n v{`HUuzTZu&]=f"q.:y,<lyYhmB}j/(8 6ۭu*J!ܔ p͑#S;|yzw%SɗOYȭ\aDWu)8YhmB}jmrw"q.:yuxS;AMN*J @S<)ڝ "W>1Rֽj \u"LzEj \u"H*CjP9AA`61VH(HrPï3 ~C-k֮0]o"+:˧dV0]o"+:j|6>qd Vϒ*J!ܔ p:|uyp 5;H!ܔyN&]=f"q.:y^yجg'֠v߇'{+Wb㮷[ |g;S$y"ۭ>3 ~C-k֮0]o"+:˧dV0]o"+:ڄ_ŐPXc9;Zu @S<)ڝ ߇'{%o )Nk^q.:y^y&]=f"q.:y^yإk'֠rN,`EIBD;~[7o.F{04v D;)˧dV0]o"+:`k'֠v߇'{+Wb㮷[ |g;S$y"ۭ>3 ~C-k֮0]o"+:˧dV0]o"+:`k'֠rN,`'X0RP;_6yC[ˀ`h @p924Y1qɑ[Ȋ5QZf:CjP;oÓ1q[Ȁۭ>3 mrwRP@`mNxL  NJWb#jt,bEi3Ue Ӌ 3TyH(HrPïT:ռ$ J<.EZu7-H- O@NV0]o"n v{H)EIA[ |g;S0$@*:=*Z׭\aD.EZu7-H- O@YrԂEIBD;k:m^\NP|gmR!u@p924Y1qɑ[ȏ^2U6Ы`O/*7-HβڄxEj \u 06yOjw$~$TuxS;DӨ|cҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(AN;|jwGo5V@p924Y1q[ȃphUg:CjP;oÓ1q[Ȁۭ>3 mrwRP@`mNxL  NJWb㮷˧dV0]o" mV<- O@Yphm=!dw%)dr04vxjށ"Greh+Wb㮷,<ܵ 6>9;Zu @S<)ڝ ߇'{%o )NϾ6j޵q.:yLzEj \u#%'֠rN, <*J!ܔ p]w;oDjwʇ[?_nnZۉ: C HrQ8t,FB=>yZPZ~\aDo )NSoÓ䊒n v{`HUu|g5oZu&]=f"q.:y6Ы`Ou'֠rN,8 6βEIBD;k:m^\NP|gmHyvu[~۴7-[ȁ"Greh+Wb㮷6>9;Zu @S;AMN*J @S;DӨ|cҥzA24Y1q[ȉayZPZ8 0βEIBD;Y9^;|jwGo5V@p924Y1q[Ȋζ#G- O@NV0]o"nNSoÓ䊒nNk^q.:y^y&]=f"q.:y^yؤhe Ӌ G$T$C(ANƺӨvߵ.{~:Ĉybs'k>q\S*UH*o:HrQ8t,Ey[bVϖ'֠v߇'{+Wb㮷[ v{H)EIA[ v{`HUuzTZuH(HrPӍuߧPkˁ>]*oMu?_5?Oz|1nT@>T:MMup924Y1q[Ȋζc<6>9;Zu @S;AMN*J @S;DӨ|cҥzEy[`t,Ey[bZPZ8 g*J!ܔ p]w;oDjwʇ[?_obD<㹍ysy޵8`ۮy*$C_op$C(LzEj \u"J - O@NV0]o"nNSoÓ䊒nNk^q.:y^y&]=f"q.:y^yإk'֠rN,`EIBD;k:m^\NP|gmH!w1.ao={ֳu52Zqkmw%SɗOYȭ\aDWu)Z - O@jw"q.:yujw$~y"ۭ;S0$@*:=*Z׭\aDWu OYȭ\aDWu)Z - O@Y:Na""B wN5~C.Hv{|u36y$C~;ח0=Y M皙RD8P}56yD;)˧dV0]o"+:yhmB}jmrw"q.:yujw$~$Tujw&_PǥKZ1q[Ȋζ24Y1q[Ȋζ5;ZPZ8 N*J!ܔ p]w;oDjwʇ[?_obD<㹍ysy޵8`ۮy*$C_op$C(LzEj \u#%YhmB}jmrw"q.:yujw$~$Tujw&_P}V1q[Ȃeh+Wb㮷,?:CjP9AAyH(HrPӍuߧPkˁ>]*oMu?_5?Oz|1oZh!ʇ[θ!ܔyN&]=f"q.0xع2:yJ|I[z~xQjGu'֠v߇'{+Wb㮷[ v{H)EIA[ v{`HUuzTZ3 mrwRP@w0`S<)ڝ "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u#ڝq۴7-D9;6G*X2NxI69;H( ;0)NϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨvߵ.{~ݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ~#,O, v{H)EIAO, v{`HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~C.Hv{|u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@N `x;S$y"`x;S0$@*:>3\aD.EZu^W]o 6>qd^Pm % JSzqyp"G˵;CiXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y+'֠v߇'{K@w0`S;AMN*J v{`HUuzTZu&]=f"q.:y+'֠rN,c+ A""B wN5~C.Hv{|u36: @nZ J<.EZu^W]o 6>9;6G*X2 mrwRP@w0`S;DӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;N~ח$|S>T:vuH7-HvJw%SɗOYȭ\aD Jy >aROjw$~$TOjw&_PǥKZ1q[Ȃeh+Wb㮷=AhmB}j/(=ۭ*J!ܔ p]w;oDjwʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄx@0` xS;AMN*J xS;DӨ|c>٫zA24Y1q[ȌAu CjP9AA1o RP;N~ח$|S>T:vuH=VgvuR"Greh+Wb㮷=AhmB}jmrw lTdc``S<  mrwRP@w0`>30)ڝ "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u#ڝq۴7-D9;6G*X20)NxI69;H( ;0 XNϾ6j޵q.:yLzEj \u#{%y]uڄ_ŐP` {%yA[$T$C(ANƺӨvߵ.{~ݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ~#,XNSoÓ䊒0)ڝ "W>1Rֽj \u t,Bd+ZPZ8 d(6yw%)=8]u#ڝq۴7-D9jCWp$C(LzEj \u#{%y]uڄx@0` jw$~$TNxL  NfWb㮷˧dV0]o"1W[- O@YDzWuEIBD;k:m^\NP|gmu"ܵ!+!ܔyN&]=f"q.:yyaZPZ~w lTdcSoÓ5*J "W>1|lսj \u t,Fy[ohmB}j/(0<:1""B wN5~CVԫN-wMuoHrQ8t,Cqg*t6>9;[k`@0` ߇'{kmv$TDӨ|cҥzA24Y1q[ȆU[ohmB}j/(;r<:1""B wN5~CVԫN-wMuoHrQ8t,bG/*phUgyYhmB}jmv-c<$~ d1DӨ|cҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(ANƺӨv߿9jCX!ܔyN&]=f"q.0xع2:yJ"J6>;1AMEIA "W>1|lսj \`rdu#A24Y1qɑ[ȏ^2Ut^2Ue Ӌ (E>xPyY""B wN5~Cn-<"Greh+Wb㮷>{$Z==u<- O@gSoðlRPF3`HUu|g5oZu&]=f"q.:yLU3[βڄ_ŐP`=b o {$[3uθ!ܔyN&]=f"q.:y>{$Z==u<- O@gSoðlRPF3`HUuzTZu&]=f"q.:y>{$Z==u<- O@YS&*`Hm:% JSu_n[}56LU=/[<"Greh+Wb㮷[- O@ ko1AM ko%c<&_P}V1q[Ȃeh+Wb㮷[- O@Yo RP;_6i&o[s,f1 N0H0=C3~D J<.EZu'֠v߇|5 ߇|5䊒1DӨ|cҥzA24Y1q[ȎAhmB}j/(6yw%)=8]uM5[mye5 'Y?hpfz_o[ȁ"Greh+Wb㮷''֠v߇cV0]o"n |g80` ߇c*J @S<)0$@*:=*Z׭\aD.EZu<ܵ 6>qd9jA""B wN5~C.Hvc8P|gm{k$C7-`[lnk%O={`_nnZMNru!ܔyN&]=f"q.:y''֠v߇cV0]o"n |g80` ߇c*J @S<)0$@*:>3\aD.EZuR CjP9AA<*J!ܔ p]w;oDo0c~޷vD;Nr U1vT'1 }56N N0H۴7-[ȁ"Greh+Wb㮷=u'֠v߇cV0]o"n |g80` ߇c*J @S<)0$@*:>3\aD.EZu6>qd:% JSzqyp"G˷1ʇ[?_bD;Nr U1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDv#wOβڄ`@`mO#,$`EIA[ |g>3œ;0&_PǥKZ1q[Ȃeh+Wb㮷6>qdTwIdw%)=8]u#C"]ahv*csY*yy:œ`iXnZD;)˧dV0]o"'O7-H- O@ \aDo )#,$`EIA[ |g>30)ÿ`HUuzTZu&]=f"q.:y=yjAhmB}j/('rԂEIBD;k:m^\ q[N#0HiXnZchStX5ۛ83=8"nӮܴ?]o"w%SɗOYȭ\aDdI 1q[Ȁۭ>3ŸXd|¥ ;0$~H( 06yOx8w0`L  NfWb㮷˧dV0]o"2{rԂڄ_ŐP`#Ow%)=8]u#C鷭F0`Ӯܴ:+ы75=k7-H pfzqD?ݧ]ah~D J<.EZu6>;0"q.:yuxS< lTdcSoÿ %o ) "W>1|lսj \u t,FOte Ӌ GtyH(HrPӍuߧPkˁ>]>T:!uX~1vT'1 }56'u83=8"nӮܴ?]o"w%SɗOYȭ\aDv#wOβڄ`@`mO, q>aRAM $TuxS< ;0&_PǥKZ1q[Ȃeh+Wb㮷6>qdTwIdw%)=8]u#C"]ahuWlnk%O={`_o={XS3ӌ!6: C HrQ8t,DrԂڄ`@`mN6G*X2H)n p` ~C-k֮0]o" OYȭ\aDK7-H- O@Yx'-H$T$C(ANƺӨvߵ.`*oMjCbD;Nru!ܔyN&]=f"q.:y,<lyYhmB}jmw0`Ej \u 06yO#,$`EIA[ |g8w0`L  NJWb㮷˧dV0]o"%B==u<- O@Yx'&3uβEIBD;Y9^;| #U$C(LzEj \u"H*CjP;oÿ+Wb㮷[ |g80` ߇c*J @S<)ÿ`HUuzTZuZPZ8 g% JSu_on>T:ռ04v D;)˧dV0]o"+:ڄ`@`mN6G*X2H)n p` ~C-k֮0]o"+:˧dV0]o"+:ڄ_ŐPXc1Rֽj \u"LzEj \u"J - O@Y:w%):η*noj\Go;|"Greh+Wb㮷mVb CjP;oÿ+Wb㮷[ |g80` ߇c*J @S<)ÿ`HUuzTZu3œlTdcSoÿ %o )0$@*:=*Z׭\aDWu OYȭ\aDWu)ڄ_ŐPXrwRP;_6yC[ˀ`h;0Go$C(LzEj \u ܵ 6>;0"q.:yuxS ` mw0a"ۭ>3œ;0&_PǥKZ1q[Ȃeh+Wb㮷 Ӌ NZH(HrPӍuߧPkˁ>]>T:srԇ?Ĉvuy$C(LzEj \`rdu#A *3JR<6>;0"q.:yuxS ` mw0a"ۭ>3œ;0&_PǥKZ1qɑ[ȏ^2U˧dV0&G]o">xTB=?|dܵ#:CjP9A@`H}NZyH(HrP04vGkwHrQ8t,A *3e 1q[Ȁۭ>3œlTdcSoÿ %o )0$@*:=*Z׭\aD.EZu7[z|6>qd m u*J!ܔ p͑ w0`jށ"Greh+Wb㮷,<ܵ 6>;0"q.:yuxS ` mw0a"ۭ>3œ;0&_P}V1q[Ȃeh+Wb㮷,<ܵ 6>qda RP;N~ח$||u36MӮܴ?]o"w%SɗOYȭ\aDa *3e 1q[Ȁۭ>3œlTdcSoÿ %o )0$@*:>3\aD.EZuphUg:CjP9AA`HyY""B wN5~C.Hvc8P|gmHyvu[~۴7-[ȁ"Greh+Wb㮷6>;0"q.:yu#,$`EIA[ p` ~C-k֮0]o" OYȭ\aDKβڄ_ŐP!u*J!ܔ p͑ w0`jށ"Greh+Wb㮷mF1VZPZ~Zu @S ` mw0a"ۭ8w0`L  NJWb㮷meh+Wb㮷mF1VZPZ8 qEIBD;k:m^\ qX,Cc^\{g316jeJ C\ J<.EZuH(HrPӍuߧPkˁ>]>T:<!~k˘tc?sLV"|u<"Greh+Wb㮷myhmB}jmw0`Ej \u 06yN6G*X2H)n0$@*:=*Z׭\aDWu OYȭ\aDWu+塵 Ӌ y""B wN5~C.Hvc8P|gmH!w1.ao={ֳu52Zqkmw%SɗOYȭ\aDWu)Z 1q[Ȁۭ80` ߇c*J @Sck^q.:y^y&]=f"q.:y^yإk'֠rN,`EIBD;k:m^\ qX,Cc^\{g316jeJ C\ J<.EZu]>T:<!~k˘tc?sLV"|u<"Greh+Wb㮷mjw6>;0"q.:yu#,$`EIA[ p` ~C-k֮0]o"+:˧dV0]o"+:yhmB}j/(,9;H(HrPӍuߧPkˁ>]>T:<!~k˘tc?sLV"|u<"Greh+Wb㮷,?:CjP;oÿ+Wb㮷[ q>aRAM $Tu "W>1|lսj \u t,FKβڄ_ŐP`!u*J!ܔ p]w;oDo0c~:Ĉybs'k>q鷭` C\ J<.EZ{$Z=?|dܵ#:CjP;oÿ+Wb㮷[ q>aRAM $Tu "W>1Rֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JR<6>qdOdm=!J9j@yY""B w w0`jށ"Greh+Wb㮷=AhmB}jmw0`@0` |g80` ߇c*J |g8w0`L  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ.`*oMNr$Ct]MMNr]p924Y1q[ȌAu CjP;oÿK@w0`S<)K@w0`I6;0RP@w0`S<)ÿ`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w;oDo0c~ݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ~6G*X2Xd|¥ ;0$~H( ;0)NDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"G˷1ʇ[?_nӮܴ 'l_nӮܴ9jCWp$C(LzEj \u#{%y]uڄ`>aR#,$`EIAO, p` ~C[֮0]o" OYȭ\aDbd+ZPZ8 d(6yw%)=8]u#CiXnZyk{iXnZܵ!+!ܔyN&]=f"q.:y+'֠v߇c `#,$`EIANDӨ|cҥzA24Y1q[Ȅ^W]o 6>qd^Pm % JSzqyp"G˷1ʇ[?_nӮܴ ]p924Y1q[ȌAu CjP;oÿK@w0`S ` mw0a"` "W>1|lսj \u t,F Jy Ӌ JnH(HrPӍuߧPkˁ>]>T:vuH7-HvJw%SɗOYȭ\aD Jy d|¥ ;0 N6G*X2H)0)0$@*:=*Z׭\aD.EZuAu CjP9A@1o RP;N~ח$||u36: @={ڭv}56: C;%wD;)˧dV0]o"1W[- O@ #,X q>aRAM $TO "W>1|lսj \u t,F Jy Ӌ JnH(HrPӍuߧPkˁ>]>T:vuH=VgvuR"Greh+Wb㮷=AhmB}jmw0`@0` x80` ߇c*J x8w0`L  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ.`*oMNr$Ct]MMNr]p924Y1q[ȌAu CjP;oÿK@w0`>30)K@w0`I6;0RP@w0`>30)ÿ`HUu|g5oZu&]=f"q.:y=AhmB}j/(0=ۭ*J!ܔ p]w;oDo0c~ݧ]ah!O{U樂ݧ]ahsrԇdHrQ8t,Bd+ZPZ~6G*X20)K@w0`I6;0RP@w0`8w0`L  NJWb㮷˧dV0]o"{%y]uڄ_ŐP {%yA[$T$C(ANƺӨvߵ.`*oMNr$C;%wD;)˧dV0]o"1W[- O@ #,Xd|¥ ;0$~H( ;0 ;0&_P}V1q[Ȃeh+Wb㮷+'֠rN,c+ A""B wN5~C.Hvc8P|gmu"ܵ!+!ܔyN&]=f"q.+X˯ފ2Xd2YoΖk'XZPZ~kSovH(!Z0$@*:=*Z׭\a2.Y#/t,c.z+X˯b2+X˯g+:ZݬahmB}j/(/X˯`~. nO民RP;N~۷"Greh+Wb㮷˾ahmB}jm~s$7%k^q.:yLzEj \u ܵ"9w- O@YrԀ}?EIBD;k:m_ol?mojCo[!>/HrQ8t,F[.5  oSo$TDӨ|c>٫zA24Y1q[Ȍ7-H]k CjP9AA `O民RP;N~.5ssnZ|c>5!ܔyN&]=f"q.:y;QȾ#+Y<}rCjP;o ߇'9H( &_P}V1q[ȁߊeh+Wb㮷B25.x6>qd _Zld;.xRP;N~.5ssj=鷭R5D>1}?E J<.EZuE_탗}?ZPZ~@I6?A9EIA0$@*:=*Z׭\aDT.EZuE_탗}?ZPZ8 /6Wx}?H(HrPӍuߧPkm탗}?MZ֩W_"Ͼc"w%SɗOYȭ\aD[.5 | $~L%k^q.:yLzEj \u ܵ"9w- O@YrԀ}?EIBD;k:m_ol?m-7-H|cmyD>1}?E J<.EZurԋ`O水6>?@oSo " ~C[֮0]o" OYȭ\aDajErXZPZ8 ;.5w%)=8]u9w۪[nZ|c>5!ܔyN&]=f"q.:y;QȾ#+Y<}rCjP;o @I6?@o*J "W>1|lսj \u w⠙t,@Fo"Ќd˾- O@Yր+Y/HrQ8t,@F/OlڄeAM&[䊒`HUuzTZu&]=f"q.:y;QB25.x6>qd _Zld;.xRP;N~.5uK}Vg16UH>3XȾ"Greh+Wb㮷˾ahmB}jm~;@I6?@|RP@L  NJWb㮷˧dV0]o" R-}?ڄ_ŐP'-H9w$T$C(ANƺӨvߵ6˾cݖ 7-H|cmyD>1}?E J<.EZurԋ`O水6>?@| $~H( &_P}V1q[Ȃeh+Wb㮷nZl'֠rN,9j@˾a""B wN5~C鷶]k6ojCo[!>/HrQ8t,@Fo"Ќd˾- O@` ߇o*J "W>1|lսj \u w⠙t,@Fo"Ќd˾- O@Yր+Y1Rֽj \u w⠙t,@F/Olڄ_ŐP/}h5ǀEIBD;k:m_ol?m`{UMju!>/HrQ8t,AjErXZPZ~~hSouEIA0$@*:=*Z׭\aD.EZu7-H]k CjP9A@ `O民RP;N~.5sk>16u"Ͼc"w%SɗOYȭ\aDajErXZPZ~~hSouEIA0$@*:>3\aD.EZurԋ`O水6>qd Rv]k % JSzqMrX;~h湹jCo[!>/HrQ8t,@Fo"Ќd˾- O@ ?4sBH):i" ~C[֮0]o"~* OYȭ\aDTf/Olڄ_ŐP`/}h5ǀEIBD;k:m_ol?m9j=鷭R5D>1}?E J<.EZuE_탗}?ZPZ~~hSouEIA0$@*:=*Z׭\aDT.EZuE_탗}?ZPZ8 /6Wx}?H(HrPӍuߧPkm탗}?McG5Vg16UH>3XȾ"Greh+Wbⵌl#祭e 5`Mc<$~VQ"gk^q.+X˯ތa-^;eh+Wbⵌl#祭e Ӌ "Gh 8:~U*J!ܔ p]wxTB=?|dܵ#:CjP;ouc ` m`EIA0$@*:=*Z׭\a6.LD}&]=f"q.0xع2:yJl%FyZPZ8 6zCrԀβEIBD;k:m_oJܵ!m "Greh+Wb#|d3yYhmB}jm`>aRAMH( ;0&_P}V1qɑ[ȏ^2U˧dV0&G]o">xTg/*7-Hβڄ_ŐP`}NZyH(HrPӍuߧPkmxS?u :ݿ$C(LzEj \`rdu#@j rԏ<- O@6G*X2H):ÿ %ck^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ 1Rֽj \u t,FTnZZPZ8 T R % JSzqMu}|=R HrQ8t,Fy[ohmB}jmyXc Њ@`yXc , ߇u0$Tyt `HUu|g5oZu&]=f"q.:yyaZPZ8 < aH(HrPӍuߧPk{\0<1[N#1_n$Cֲ:;ƿuoHrQ8t,Cqg*t6><1Ej \u 0<1So:n*J < a0$@*:=*Z׭\aD.EZun,_un'֠rN,g*:ïn*J!ܔ p]w;oǞ= < aӵ ۉζjn0cqn!ܔyN&]=f"q.:yy׌7KCjP;o:ï+Wb㮷a7@0$~y~H( 0<:1Ͼ6j޵q.:yLzEj \u#<n'֠rN,:n*J!ܔ pN[ֱӌ=k:yЧ]w;o$Cmʱnp924Y1q[ȆU^0- O@<\aDu_0 myXu"ΰXDӨ|cҥzA24Y1q[ȆU^0- O@YbUu0$T$C(ANƺӨvߵ6ykbXS;)P$C(LzEj \u#<n'֠v߇u_8@A`I6<:/XZ %Ͼ6j޵q.:yLzEj \u#<n'֠rN,:n*J!ܔ p]w>56nmvh<|k֬mH!]o-yg: !~!ܔyN&]=f"q.:yYʿ< azN2fXAM< 7qEIAn0$@*:=*Z׭\aD.EZun,_u ڄ_ŐPv,XyXc EIBD;k:Ƹcmm-oyz՝?u>{^k{^z޵e_:]aBD?uoD;)˧dV0kuZ]~ku2lN'֠v߀hގkSo ʹGy"kϾ6j޵q.+X˯ނeh+Wbⵌc.5:rkyݧ_~[KCjP9AAz]~kK$ei""B wN5~C\qc:JkЗϿs6eHƸw%SɗOYȭ\a2oKWY9^ m@0` ߀Ċ`HUuzTZeF0ޖ˧dV0kuь7ëu,Vc ڄ_ŐP fx57I% JSu_n93ud|¥ ;0%ʇ\ J<.EZeF3*hf0ϵ6>#,$RP@w0`L  NJWbⵌ}%PLzEj \V_Ͼd5w>ڄ_ŐP57C>EIBD;k:m_n9$C(LzEj \V_er}evߕ-nO水6> >aR 0mׄSoP$T 0mׄk^q.+X˯ފ2Xdeh+Wbⵌc.5Hc.5kv5 Ӌ c.5o5Y?EIBD;k:m_n>T:MM6ܵ"w%SɗOYȭ\aDv#wOβڄH(8aCA*J")d|cҥzA24Y1q[ȎbnIyZPZ8 `*F;βEIBD;D;)˧dV0]o"9Wm ]~k {kmv,RT Od|cҥzA24Y1q[ȆU[ohmB}j/(;r<:1""B q"Greh+Wb#jW]o" ڄ@X`B  , 0`!" ;|I=*Z׭\a6.LDVeh+Wb#jW]o" ڄ_ŐP^ @#m$T$C(ANmӮ\/Lu3=/. A`K~_:>ӵk.@$+`G(p ;Ҥsnw%SɗOYȭ\a6.LDV5]u0wKCjP8p``H  4Pp``H  4*J")d|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;Vq: =Py[3`'3[m;X0`pAp` 8  `pA;8@R9D;)˧dV0&G]o"+LEiD; 80 @`AAeBEIP$@w8ozTZqd9V8$T$C(ANƺ,z7u~\`7o$Cҥ"Greh+Wb㮷 ŜμaZPZñg*:nPv,XyXc EIA0$@^ëKZ1q[Ȃeh+Wb㮷 ŜμaZPZ8 Ŝ< aH(HrPn6G+޵_?mycߖUسaa7`HrQ8t,Cqg*t6>bUu_0 Yʰΰ`HcW9JWb㮷˧dV0]o"9Wm Ӌ Yʰΰw%)=6drX]sז==e[9Vy~vw%SɗOYȭ\aDTo"Ќd塵 AMEIA0$@*:=*Z׭\aDT.EZuE_CjP9A@EOH(HrPӍuߧP~;۰r̾}5VgEѕ>w%SɗOYȭ\aDB==u<- O@)Y" 1VǥKZ1q[Ȃeh+Wb㮷6Ы`O]o#:CjP9A@`Hm:% JSJ<.EZuʓ6> dH*{$[-k֮0]o" OYȭ\aDhIyZPZ8 TyH(HrPHrQ8t,@j <6> dH*{$[-k֮0]o" OYȭ\aD1V`O]o#:CjP9A@TI&3uβEIBD;D;)˧dV0&G]o"+LEiD;  4/LSplh^$TDӨ|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;D;)˧dV0&G]o"+LEiD;  4xI7f>I%c<)DӨ|cҥzbEi&]=f"q.0xع2:yZf+Lu'm- O@Y隠ۭ? EIBD;D;)˧dV0]o":y =Mmdߞ`YEIP$@=bJWb㮷˧dV0]o":y Ӌ ۭ*J!ܔ !ܔyN&]=f"q.:y \ޞ?:CjP8pxh`!`@X 44)" ;|I=*Z׭\aD.EZu.FOte Ӌ n#O<$T$C(AN$C(LzEj \`rd9kt_ ^;MYhmB}j^;o*Î ^;o*ÎEIA0$@^ëKZ1qɐ`-|.EZZCwĊᣙ }|& 7u~k^q.+X˯ފ2Xdeh+Wbⵌc.5Hh]hmB}j/(>ZCwĊw%)/~] ph83=/;nl J<.EZxPmi""B q"Greh+Wb#jWu'֠ k\/Xߖx*a1q[Ȁۭ>3œlTdc>3ŸO3uW, s7Ur3uW, |g>3œlTdc9`SW|5.To< EIA[ |g8w0`S<) s7Ur3uW, s7UrxS<)ÿ\)U`HuߧPǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(ANkmXߖ{{^\5.T2qX>: C馶iXnZD;)˧dV0&G]o"+LEi<- O@mc~YTuV0]o"n q>aR |g>3œ\)U\) q>aRnNfXA_mc~YTu*J @S<)ÿOxS9`S>3ŸNnNfXD|S:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B w_oZ|u6Z2qX>: C馶iXnZD;)˧dV0&G]o"+LEi<- O@mC"q.:yuxS `xS<)nNfXnOxS `3uW, s7Ur ox/Xߖx*dn p`xS<)nNfXnOxSc9`S?NJWb#jt,bEi3Ue Ӌ 3TyH(HrPֱ,*o &ydα"}uMmnӮܴ?]o"w%SɗOYȭ\aDWu*qd Vϒ*J!ܔ poMֱ,*osl?ݧ]ah!?O"Greh+Wb㮷myhmB}joC"q.:yu0, q>aR 0mׄW|/Xߖx*dnN 0mׄ?NJWb㮷meh+Wb㮷myhmB}j/(,1H(HrP&7/Z|u5mvuH0>w%SɗOYȭ\aDWu)Z o< @`m0)K@,^A_mc~YTu*J @S8,^D|S:=*Z׭\aDWu OYȭ\aDWu)Z Ӌ 'X0RP;} Mo^gP|kg16: @ao=| J<.EZugRZu @S80`6H+o< EIA[ s6`HuߧPǥKZ1q[Ȋζ24Y1q[Ȋζ5;ZPZ8 N*J!ܔ poMֱ,*osl?ݧ]ah!?O"Greh+Wb㮷mRgCjP?|/Xߖx*a1q[Ȁۭ9``S Yn$zP$Tu0, pYn&]uzTZupbo|o=ʇ[\=iXnZsyHrQ8t,bG/*&*l%FyZPZzP\aDo )? lTduNfXd|¥ ;0)K@w0`S<$zP$Tu0, pYn)U;0)ÿ0$@w:Ө|cҥzbG/*eh+Wb#|ddUgyYhmB}j/( 1VzCrԀβEIBD;~;&W$Uj,_n3gP{GJy*!ʇ[o[ȁ"Greh+Wb㮷m'֠^,*T:+Wb㮷[ |g80`6H+o< EIA[ |g8,^D|S:=*Z׭\aDWu OYȭ\aDWu*kocmu@p924Y1q[Ȋζ#G- O@mc~YTuV0]o"n q>aR 0mׄW|/Xߖx*dn pYn&]uzTZupbo|o=ʇ[\=nӮܴ ipfzqiXnZD;)˧dV0]o"+:ڄ 7JXEj \u 06yO#,xI}gRH( 06yO6`HuߧPǥKZ1q[Ȋζ24Y1q[Ȋζc<6>qd$T$C(ANk~痭c~Y>T:u>vuHMm3ӌMNru!ܔyN&]=f"q.:y^yإk'֠^,*T:+Wb㮷[ |g80`6H+o< EIA[ |g8,^D|S:=*Z׭\aDWu OYȭ\aDWu)Z Ӌ 'X0RP;} Mo^gP|kgmu"M5 N16: C HrQ8t,Ey[b`ڄ 7JXEj \u 06yO#,xI}gRH( 06yO6`HuߧPǥKZ1q[Ȋζ24Y1q[Ȋζ+X1Z Ӌ 'X0 $T$C(ANk~痭c~Y>T:u>vuHMm3ӌMNru!ܔyN&]=f"q.:y^yئ{CjP?|/Xߖx*a1q[Ȁۭ>3œlTdu$ 7JY"ۭ>3œ`ۯ ")~C-k֮0]o"+:˧dV0]o"+:yhmB}j/(,9;H(HrP&7/Z|u5m}6: @gvuy$C(LzEj \u"@LhmB}joC"q.:yuxS Yn$zP$TuxSu0$@w:Ө|cҥzEy[`t,Ey[bڄ_ŐPXi$T$C(ANk~痭c~Y>T:u>vuHMm3ӌMNru!ܔyN&]=f"q.0xع2:yJl%S`<- O@mc~YTuV0]o"n q>aR 0mׅ9W|/Xߖx*dn pYn)?&]uzTZgRZu @S<)K@,^ |g99`S `#,O oCRP@`mN 0mׅ>3ŸNaaNfXN ")~C-k֮0&G]o">xT.EZT:Lu-ysU#'Mu.Ӯܴ>kovuy$C(LzEj \`rdu"TVβڄ gC"q.:yuxS `xS<)nNfXnOxS `3uW, s7Ur o3gRH( 06yO |g>3ŸNfXnNfX |g8w0`S9`L Nk^q.0xع2:yZf OYȭ\a6.LDV5^yZPZ8 5Adw%)>Mkq`ۯyk#'Mu.Ӯܴ>kovuy$C(LzEj \`rdu"TVβڄugRZu @S<)K@w0`S<) s7Ur3uW, s7UrxS<)K@w0`S9`I}`c~YTu*J @S<)ÿOxS9`S>3ŸNnNfXD|S:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B w_oZ|u6Z y8mHyvu[~۴7-[ȁ"Greh+Wb#jWu'֠rw/Xߖx*a1q[Ȁۭ>3œlTdc>3ŸO3uW, s7Ur3uW, |g>3œlTdc9`SW|9;o< EIA[ |g8w0`S<) s7Ur3uW, s7UrxS<)ÿ\)U`HuߧPǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(ANkmXߖ{{^]o:ĈyiXnZM5MNru!ܔyN&]=f"q.0xع2:yZf+LyYhmB}jocC"q.:yuxS `xS<)nNfXnOxS `3uW, s7Ur ocCRP@`mN |g>3œ\)U\) p`3uW, s7Ur ;w>1Rֽj \`rdu"T.EZqdj:% JS}z7C^ח y8mHyvu[~۴7-[ȁ"Greh+Wb㮷 Ŝζ ڄζA^qd@ -1,:j% JSzq6G+޵_?myvX1e["-l J<.EZ0ʂ+Wb㮷[ |g>3ŸO3uW, s7Ur3uW, |g>3œlTdc9`SW k\RP@`mOxS<)U\)UO s7Ur3uW, ")~C-k֮0&G]o"+LA24Y1qɑ[Ȋ5QZf:CjP9AAzfaRd|¥ ;0$@]\RP@`m0)U;0)ÿ`HuߧPǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)M{^\\[m`cZ({EVʁ"Greh+Wb#|d mV^2U?βڄ1q[Ȁۭ>3œH+U %o )D|S:=*Z׭\a6.LD}&]=f"q.0xع2:yJl%S`<- O@Yphm=!J<$T$C(AN87knojn3Y]uEVʁ"Greh+Wb#|d mV^2TnZe U+Wb㮷[ |g>3ŸNaaNfXd|¥ ;0)K@w0`I~a"ۭ>3ŸO03uW, p` ")~C-k֮0&G]o">xT.EZ֢*T J<.EZ{$Z=?|dܵ#:CjP? Ej \u 06yNa`Xn$H( 06yNa`Xn0$@w:Ө|cҥzbG/*eh+Wb#|ddUgyYhmB}j/( 1VzCrԀβEIBD;.anojn3YF'*T J<.EZ1Rֽj \`rdu#A24Y1qɑ[ȏ^2U6Ы`O/*}YhmB}j/(@l^2T0wyY""B w^ח07oMj,A"Qe@p924Y1qɑ[ȏ^2U6Ы`O/*7-HβڄZu @S<) s s7Ur O$TuxS<)n0$@w:Ө|cҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(AN87k60}ɭE[$Uj,!ܔyN&]=f"q.0xع2:yZf+LyYhmB}jO\aDo ) |g>3œ\)U\) q>aRnNfXA_)dn |g>3ŸNfXnNfX |g8w0`S9`L Nk^q.0xع2:yZf OYȭ\a6.LDV5^yZPZ8 5Adw%)6w1η*o-ys"Greh+Wbⵌl7/CjP? BH+?`HUu|g5oZeF0ޖ˧dV0kuь7ëu"n_'֠rN,l7/% JSmc_ng|ז1Rֽj \V_z[:w\.EZeF0ޖh'֠rN, GX` H(HrPӍuߧP~; Eܾyk{\D;)˧dV0]o"+:I- O@i\aDo )? H+-3Ċn0$@w:Ө|cҥzEy[`t,Ey[b3š Ӌ *J!ܔ p]w?_56D8P}56y$Cƽk>qgvu?O"Greh+Wb㮷mRgCjP?Zg+Wb㮷[ s L"ۭ9``L Nk^q.:y^y&]=f"q.:y^yؠe&x6>qd Zg% JSzqsp"Gg|u<!K^8C3ӌMNr'p924Y1qɑ[ȏ^2ULU3JR<6>x"q.:yu0, s7Ur L"ۭ9``S?NJWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JS &y[m`cZ({EVʁ"Greh+Wb㮷m'֠дV0]o"n д*J @S<&]uzTZuqdEIBD;~;3`HuߧPǥKZ1q[Ȋζ24Y1q[Ȋζ)3š Ӌ T:Z;|`hw%SɗOYȭ\a6.LD}7[z~xT;:CjP?Zg+Wb㮷[ |gWZg%o )D|S:=*Z׭\a6.LD}&]=f"q.0xع2:yJl%S`<- O@Yphm=!J<$T$C(AN87k7oMj,A"Qe@p924Y1qɑ[ȏ^2U6Ы`O/*7-Hβڄ@`mOxSSWZg%o ) |g99`L Nk^q.0xع2:yJt,bG/*phUgyYhmB}j/(@l^2T R:% JS &y[m`cZ+HYP$C(LzEj \`rdu"TVβڄ@`mOxS<)U\)UO#,NfXn$EIA[ |g>3ŸO3uW, s7Ur3uW, |g>3œ;0)U\&]uzTZw%SɗOYȭ\a6.LD}=bV^2TnZe *+Wb㮷[ s3uW, |gW U*J @S9`S<&]uzTZ3ŸO03uW, |g?NJWb#|d OYȭ\a6.LD}7[z~xQjGu'֠rN,8 6%@ ֢*T J<.EZ8XEj \u 06yOxS<)nNfXnOxS `3uW, s7Ur qEIA[ |g>3ŸO3uW, s7Ur3uW, |g>3œ;0)U\&]uzTZqd Vϒ*J!ܔ p]w?_56D5[>CX NR_Zcmu0>w%SɗOYȭ\a6.LD}=bV^2TnZe \aDo )? \)A_l"ۭ9``S>3`HuߧPǥKZ1qɑ[ȏ^2U˧dV0&G]o">xT1V`O/*7-Hβڄ_ŐP=b /*dw%)M{^\lڷی&QI䊭ED;)˧dV0]o"+:j|6>U1q[Ȁۭ>3H+$TuxL Nk^q.:y^y&]=f"q.:y^yأU塵 Ӌ J|RP;ߎ?:|u04vj|Go$C(LzEj \`rdu#A *3JR<6>U1q[Ȁۭ>3ŸO03uW, |gW%[>H( 06yOxS<)?)U0$@w:Ө|cҥzbG/*eh+Wb#|d mV^2TnZe Ӌ NmMg>xP'-H<$T$C(AN87kgտf95yED;)˧dV0&G]o"+LEi<- O@lEj \u 06yOxS<)nNfXnOxS `3uW, s7Ur g%o ) |g>3œ\)U\) p`3uW, s7Ur ;w>1Rֽj \`rdu"T.EZqdj:% JSmc_on>T:ZgHrQ8t,Ey[bZPZC1q[Ȁۭ9``I~3%o )? `HuߧPǥKZ1q[Ȋζ24Y1q[Ȋζc<6>qd$T$C(ANƺӨ~km/|CX NR_Zcmu0>w%SɗOYȭ\aDWu)Z 1Zu @SWc3ŸO03uW, y"ۭ>3ŸO03uW, ")~C-k֮0&G]o">xT.EZ3տf95yED;)˧dV0&G]o"+LEi<- O@@`mOxS<)U\)UO#,NfXn$$TuxS<) s7Ur3uW, s7UrxS<)ÿ\)U`HuߧPǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVβڄ_ŐP^<$T$C(AN㹍MuPyk$C(LzEj \u"J VahmB}ju+Wb㮷[ s u %o )? `HuߧPǥKZ1q[Ȋζ24Y1q[Ȋζ+X1Z Ӌ 'X0 $T$C(ANƺӨ~km.`*o:Ĉpbr׭g2nӮܴ9I$C(LzEj \`rdu#@j rԏ<- O@N`Ej \u 06yNa`Xn$*J @S9`L Nk^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ T:Z;|V` HrQ8t,bG/*phUgyYhmB}ju+Wb㮷[ |g>3ŸNaaNfXA_Na"ۭ>3ŸO03uW, ")~C-k֮0&G]o">xT.EZ3œ\)U\) q>aRnNfXA_Na"ۭ>3ŸOxS9`S>3ŸNnNfXD|S:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B w kmʇ[^]Z$C(LzEj \`rdu#@j rԏ<- O@xEj \u 06yNa`XnN6G*X2lTdc>3œlTdZВ 6%o )? \)ÿ;0)j&]uzTZxTB=?|dܵ#:CjP?,^Zu @S<) s s7Ur#,N6G*X2N6G*X2-hI~u䊒n |g>3œœ\)ÿ;0)j&]uzTZqd m /*dw%)M{^X{ڷی&W]o UHrQ8t,bEi3Ue `ۯ\aDo ) |g>3œ\)U\) q>aRnNfXA_y"ۭ>3ŸOxS9`S>3ŸNnNfXD|S:=*Z׭\a6.LDVeh+Wb#jWu'֠rN,PyY""B w kmʇ[_o'wd':޷vCu$C(LzEj \u"MN'֠xEj \u 06yNa`XA_EIA[ s ;w>1Rֽj \u"LzEj \u"MN'֠rN,Ó䊒w%)=8]u㹍M#ڝqkmH')/z|- N16: CtD;)˧dV0&G]o">xT1V`O/*7-Hβڄ\aDo )? \$C䊒nNfXD|S:=*Z׭\a6.LD}&]=f"q.0xع2:yJ|I[z~xQjGu'֠rN,`Mg>xP'-H<$T$C(AN87kNMlrkQetHYP$C(LzEj \u"MN'֠xEj \u 06yO N*J @S<&]uzTZucWw0a" ~C-k֮0&ALuLzEj \`rd9kt_n20mז'֠rN,Q[Z 0mג*J!ܔ p]w?_56n2x ~l@p924Y1qɐ`-|9kt^lڄA_`HUuzTZqdj*T:f EIBD;~;۷1mXkmPc3TJX,_D;)˧dV0kuь7ëu"n_'֠`  $TDӨ|c>٫zc.z1ux&]=f"q.+X˯ތa-^;1r6>qdg|H(HrPos1r.D;)˧dV0kuь7ëu)XڄA_`HUuzTZeF0ޖ˧dV0kuь7ëu)Xڄ_ŐPĊw%)6w1l7/Z$C(LzEj \`rd9kt_ Ŝ7m:jCjP?w0`@I~c*J "W>1Rֽj \`rd9kt_˧dV0&ALuYʼc~YVӦ6>qd9V8$T$C(ANƺӨ~kme[]w[m?!ܔyN&]=f"q.0xع2 e`ۯ֌c~YVӦ6>cWw0a" ~C-k֮0&ALuLzEj \`rd9kt_ ^;MYhmB}j/(;ux1,:j% JSzqs|c~YV:jo0cgw%SɗOYȭ\a2oKW4u CjP?w0`@I~c*J "W>1Rֽj \V_z[:w\.EZeF0ޖh'֠rN, GX` H(HrPos1r.D;)˧dV0&G]o">xT1V`O/*7-HβڄZu @S9`I~c*J @S9`L Nk^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ cV0]o"n |g>3œœ\$C %o ) |g99`L Nk^q.0xع2:yJt,bG/*phUgyYhmB}j/(@l^2T R:% JS w0cڷی&W]o UHrQ8t,bEi3Ue ;0"q.:yuxS<) s7Ur3uW, s7UrxS<)K@w0`S9`I~c*J @S<) |g9`S9`S<)NfXn0$@w:Ө|cҥzbEi&]=f"q.0xع2:yZf+LyYhmB}j/(/Lu*J!ܔ pƿ:|uÿ`ۯ"Greh+Wb#|d0B-|d:CjP8xh 0 `,`  ! @@ H*=bfWb#|d OYȭ\a6.LD}å}<- O@YIB-J:% JS#1?=nC߰b}ۛ4H*p$C(LzEj \V_Ͼd?vV&)hmB}jcf5ZY AA,l7T@ 4I%zsw-k֮0kuьJt,c.z1|TK5RMRڄ_ŐPK5 *REIBD;~k *WcW=jl!ܔyN&]=f"q.+X˯ތg2U~k;TA@6>_R,#,$~kuJ@RP@w0`L o7yRֽj \V_Ͼd OYȭ\a2̕G_*d- O@Y_R,$T$C(AN,l氰R,z7u~֭vρ"Greh+Wb㮷y։- O@`4PyX ?$`HcW9JWb㮷˧dV0]o"<ZPZ8 <RP;lWk:y~ǵ1,}5:i}0mp924Y1q[ȏ3ŸNfXnNfX |g80` s7Ur r'/)4;%c<) s7Ur3uW, s7UrxS<)ÿ\&_PǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVOaZPZ8 5A[;w%)Ĉw%SɗOYȭ\a2̕BfnZPZ PCpEIP$@w8ozTZeF3*eh+Wbⵌ}%P'֠rN, a*J!ܔ  HQBD.] =#`DH(HS J@(uX'TP " dŐ0 p)% HuQ"BD$C(LzEj \`rdu"TVOaZPZ@X,$`(, $TD|S1VǥKZ1qɑ[Ȋ5PLzEj \`rdu"TVOaZPZ8 5A[;w%)_u{m`(, sFt-s.;hpfz_ncGJ-`(, z՝"Greh+Wb㮷LU3Z<- O@TI&3;[h< *{$Xl ՝u*J "_=*Z׭\aD.EZu=bV՝yYhmB}j/( 1VzBgkmdw%)=8E#Zz럶e["D8n`K֬mw%SɗOYȭ\aDdrԂڄC( 8 xCp$ (@  1" ;|I>3\aD.EZua Ӌ Cw%):e.>{$[3D;)˧dV0]o"2XyjAhmB}j <!8@0 (@  0  @rEIP$@w8o|g5oZu&]=f"q.:yR CjP9AA R % JS'-Ht^\|IUgyu79n["Greh+Wb㮷[- O@P 40 80 h ( P$@p@ a1" ;|I>3\aD.EZuκAhmB}j/(06yw%)6yyt^S=bl"Greh+Wb㮷LU3[βڄOdm=![< *{$Xl @yY" /XnҥzA24Y1q[ȁ&*lyYhmB}j/( 1VzCnyH(HrP,{Y{ʷ^\ 1VzCnyD;)˧dV0]o"dUge  1VzCny LU6ۭu*JxL o7yRֽj \u t,@j <6>qdOdm=![<$T$C(AN}sז>1,}5`Mg6yn Kmu"D;)˧dV0]o"dUge  1VzCnyxIS&*`Hm:%c<)D:yzTZu&]=f"q.:y>{$Z==u<- O@YS&*`Hm:% JS_\双o*Myp*{$Xl @y[3vuH`.,C4q8l J<.EZu=bVGu'֠p*{$Xl @yXF3ŸO LU6ۭu*JxS<)D:yzTZu&]=f"q.:y>{$Z==u<- O@YS&*`Hm:% JS_\双o*Myp*{$Xl @y[3vuH`.g9@1ӌ!ۀ p$C(LzEj \`rdu#@j rԏ<- O@TI&3|duP=b /*d`HcW9JWb#|d OYȭ\a6.LD}=bV^2TnZe Ӌ *{$Xl^2T R:% JSzq6G+޵_?mycʷ^\|IUgH%NnZyD;)˧dV0&G]o">xT1V`O/*7-HβڄOdm=!J9j@yXA`SIS&*`H}NZyH( \)?& 7u~k^q.0xع2:yJt,bG/*&*l%FyZPZ8 LU6%@ S&*`H}ۭuP=b /* @yY" /XnҥzbG/*eh+Wb#|ddUgu<6>qdOdm=!JnyH(HrPӍtY9^o箹kߖULU="D?/*~C\ J<.EZ{$Z=?|de  1VzCo <#O LU6%A[<$TxL o7yRֽj \`rdu#A24Y1qɑ[ȏ^2ULU3JyyZPZ8 LU6%A[<$T$C(ANƽk:y~7on`K"yD;)˧dV0&G]o">xT1V`O/*yYhmB}jLU6%A[<xS<)A@TI&3|d6yd1 |g99zsw-k֮0&G]o">xT.EZ{$Z=?|de Ӌ *{$Xl^2TuβEIBD;kֱë,|c~YVk˛C3|dH?up924Y1q[ȁ&*lβڄOdm=!a$Odm=!d`HcW9JWb㮷˧dV0]o"dUg:CjP9A@TI&3yH(HrP,CߖULU=/p$C(LzEj \V_Ͼd:ۣ6>@, P `P`y" ;|I>3\a2̕A24Y1qZ]~c>nڄ_ŐPmGuY""B q"Greh+Wbⵌ}%Qe  8 0$R a8h` RT N>{$[[֮0kuьJt,c.z1|TuGuYhmB}j/(6ۣRP8p924Y1qZ]~c>nڄpX( ᠰ$ A`*J")d|c>٫zc.z1|T.EZeF3*- O@YtwU*J!ܔ !ܔyN&]=f"q.0xع2:yZf+Lu'm- O@PpX, PX H*=bJWb#jt,bEi3U[ȟ}6>qdjn0wI% JS[oƿ4ۅPXv[Z]Vv* pX \01Vv*$RP˲WbH`Q"" dŐ0Q"" dŐ0 EIBD)ܔ`` #b|1Vo"Yd=ZӦCթGJ,2 !ܟKW*QD˧d]}j KZ ԓ%924YR}j BjH) SrԆ NjJ(^P1VQ" Fj(HE'֢ @  k$t7I6q6$Pti./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.alreadyconnectedexception.htmli.ht$$ com.ibm.connector.AlreadyConnectedException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.alreadyconnectedexception_dsc.html#_top_">com.ibm.connector.AlreadyConnectedException (no frames)</a></b></p> </body> :%  kL$ t7I6q6$wi ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.alreadyconnectedexception_dsc.htmlht$$ Class com.ibm.connector.AlreadyConnectedException

Class com.ibm.connector.AlreadyConnectedException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.AlreadyConnectedException

public class AlreadyConnectedException
extends ConnectorException

This exception is thrown when calling the connect method of a already connected communication.


Constructor Index

AlreadyConnectedException()
AlreadyConnectedException constructor comment.
AlreadyConnectedException(String)
AlreadyConnectedException constructor comment.

Constructors

AlreadyConnectedException
 public AlreadyConnectedException()
AlreadyConnectedException constructor comment.

AlreadyConnectedException
 public AlreadyConnectedException(String s)
AlreadyConnectedException constructor comment.

Parameters:
s - java.lang.String

t kd$t7I6q6$`~i./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.alreadyconnectedexception_mi.htmlht$$ Method Index for com.ibm.connector.AlreadyConnectedException

Constructor Index

AlreadyConnectedException()
AlreadyConnectedException(String)
a k$t7 I6q6$Pj./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.application.logonlogoff.html$$ com.ibm.connector.application.LogonLogoff <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.application.logonlogoff_dsc.html#_top_">com.ibm.connector.application.LogonLogoff (no frames)</a></b></p> </body>  kB$Nt7 I6q6$ jN./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.application.logonlogoff_dsc.htmlht$$ Interface com.ibm.connector.application.LogonLogoff

Interface com.ibm.connector.application.LogonLogoff

public interface LogonLogoff

This interface defines the common logon logoff interface for all connectors. It allows the implementation of backend and connection specific logon logoff behavior. Only connectors that have this requirement (e.g. HOD) have to implement support for this.

The name of the class of an implementation of this interface would be specified in a connection spec.


Method Index

logoff(Communication)
This method implements special logoff behavior.
logon(Communication, LogonInfoItems)
This method implements special logon behavior.

Methods

logoff
 public abstract void logoff(Communication communication)
This method implements special logoff behavior.

Parameters:
communication - com.ibm.connector.Communication
logon
 public abstract void logon(Communication communication,
                            LogonInfoItems logonInfoItems) throws LogonException
This method implements special logon behavior.

Parameters:
commuication - com.ibm.connector.Communication
logonInfoItems - com.ibm.connector.internal.LogonInfoItems
Throws: LogonException
This exception is thrown if the logon fails.

F k*:$t7&I6q6$`j./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.application.logonlogoff_mi.htmlht$$ Method Index for com.ibm.connector.application.LogonLogoff

Method Index

logoff(Communication)
logon(Communication, LogonInfoItems)
 kꖇ$t7I6q6$Pj./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.communication.htmlgo$$ com.ibm.connector.Communication <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.communication_dsc.html#_top_">com.ibm.connector.Communication (no frames)</a></b></p> </body> on kB$C"u7I6q6$(qC"./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.communication_dsc.html_mi.ht$$ Interface com.ibm.connector.Communication

Interface com.ibm.connector.Communication

public interface Communication

This interface defines the common communication interface for all connectors.


Method Index

connect()
This method indicates that a number of interactions are about to occur on a communication.
disconnect()
This method indicates that the set of interactions are complete.
execute(InteractionSpec, Object, Object)
This method drives an interaction with the connector.
getConnectionSpec()
Return the ConnectionSpec of this Communication.
setConnectionSpec(ConnectionSpec)
Set the ConnectionSpec of this Communication.

Methods

connect
 public abstract void connect() throws AlreadyConnectedException, NoConnectionAvailableException, LogonException, CommunicationException
This method indicates that a number of interactions are about to occur on a communication. This may require that the connector set up or find an internal object (a connection) that stores some connection state.

Throws: AlreadyConnectedException
Thrown if communication is already connected.
Throws: NoConnectionAvailableException
Thrown if connection cannot be established.
Throws: LogonException
Thrown if logon fails.
Throws: CommunicationException
Thrown if internal problem occurs.
disconnect
 public abstract void disconnect() throws NotConnectedException, CommunicationException
This method indicates that the set of interactions are complete.

Throws: NotConnectedException
Thrown if communication is not connected.
Throws: CommunicationException
Thrown if internal problem occurs.
execute
 public abstract void execute(InteractionSpec interactionSpec,
                              Object input,
                              Object output) throws CommunicationException, LogonException, IllegalArgumentException, NotConnectedException, InvalidTransactionException, ResourceException
This method drives an interaction with the connector. A set of properties describing the interaction are specified in the interaction spec. If the communication supports different communication modes then the interaction spec allows to select the mode that should be carried out on this execution. Input and output objects are passed as arguments to the communication. The specific connector expects as arguments:
  • Object supporting IByteBuffer interface.
  • Object supporting IByteBuffer interface or its own data object.
  • Its own data Object
If a passed argument is not accepted by the communication, the java.lang.IllegalArgumentException is raised.
    Input values with respect to modes
  • MODE_SEND_RECEIVE - object supporting IByteBuffer interface or own data object
  • MODE_SEND - object supporting IByteBuffer interface or own data object
  • MODE_RECEIVE - argument is ignored
    Output values with respect to modes
  • MODE_SEND_RECEIVE - object supporting IByteBuffer interface or own data object
  • MODE_SEND - argument is ignored
  • MODE_RECEIVE - object supporting IByteBuffer interface or own data object
In the actual implementations this method should be synchronized.

Parameters:
interactionSpec - com.ibm.connector.InteractionSpec
input - Object Input value
output - Object Output value
Throws: NotConnectedException
Thrown if communication is not connected.
Throws: IllegalArgumentException
Thrown if the input value passed is invalid.
Throws: LogonException
Thrown if logon fails.
Throws: CommunicationException
Thrown if internal communication problem occurs.
Throws: InvalidTransactionException
Thrown if the connector does not support multiple transactions via the same connection.
Throws: ResourceException
Thrown if resource problem occurs.
getConnectionSpec
 public abstract ConnectionSpec getConnectionSpec()
Return the ConnectionSpec of this Communication.

Returns:
com.ibm.connector.ConnectionSpec
setConnectionSpec
 public abstract void setConnectionSpec(ConnectionSpec aConnectionSpec)
Set the ConnectionSpec of this Communication.

Parameters:
aConnecitonSpec - com.ibm.connector.ConnectionSpec

or.lo k4i$u7I6r6$`h./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.communication_mi.html_mi.ht$$ Method Index for com.ibm.connector.Communication

Method Index

connect()
disconnect()
execute(InteractionSpec, Object, Object)
getConnectionSpec()
setConnectionSpec(ConnectionSpec)
ctor. A k($u7I6r6$Pbj./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.communicationexception.htmlt$$ com.ibm.connector.CommunicationException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.communicationexception_dsc.html#_top_">com.ibm.connector.CommunicationException (no frames)</a></b></p> </body> ta ob kh]$B u7I6r6$jB ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.communicationexception_dsc.htmlht$$ Class com.ibm.connector.CommunicationException

Class com.ibm.connector.CommunicationException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.CommunicationException

public class CommunicationException
extends ConnectorException

This exception is thrown in case of an internal run time problem.


Constructor Index

CommunicationException()
CommunicationException constructor comment.
CommunicationException(String)
CommunicationException constructor comment.

Constructors

CommunicationException
 public CommunicationException()
CommunicationException constructor comment.

CommunicationException
 public CommunicationException(String s)
CommunicationException constructor comment.

Parameters:
s - java.lang.String

ec()"> km$u7I6r6$`ej./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.communicationexception_mi.htmlht$$ Method Index for com.ibm.connector.CommunicationException

Constructor Index

CommunicationException()
CommunicationException(String)
ml">Al k܀$6u7 I6r6$@:q6./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.connectionmanager.html$$ com.ibm.connector.connectionmanager.ConnectionManager <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.connectionmanager.connectionmanager_dsc.html#_top_">com.ibm.connector.connectionmanager.ConnectionManager (no frames)</a></b></p> </body>  kT$u7 I6r6$q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.connectionmanager_dsc.html$$ Class com.ibm.connector.connectionmanager.ConnectionManager

Class com.ibm.connector.connectionmanager.ConnectionManager

java.lang.Object
   |
   +----com.ibm.connector.connectionmanager.ConnectionManager

public class ConnectionManager
extends Object
implements ConnectionManager

This class provides sample implementation of the Connection Manager.


Constructor Index

ConnectionManager()

Method Index

clearForSessionID(Identifier)
This method removes all unused connections from the coordinated vector for the specified SessionID, prepares them for reuse and adds them to the unused in the uncoordinated vector.
release(Managed)
This method releases managed connection.
reserve(ManagedFactory, ConnectionSpec)
This method reserves connection.

Constructors

ConnectionManager
 public ConnectionManager()

Methods

clearForSessionID
 public void clearForSessionID(Identifier aIdentifier)
This method removes all unused connections from the coordinated vector for the specified SessionID, prepares them for reuse and adds them to the unused in the uncoordinated vector.

Parameters:
aIdentifier - com.ibm.connector.infrastructure.Identifier
release
 public synchronized void release(Managed managed)
This method releases managed connection. If the connection is coordinated, it is moved to the unused vector, otherwise it is prepared for reuse and then added to the unused vector.

Parameters:
managed - Managed A connection to release
reserve
 public synchronized Managed reserve(ManagedFactory managedFactory,
                                     ConnectionSpec connectionSpec) throws NoConnectionAvailableException
This method reserves connection. If unused connection exists, it is returned, otherwise new connection is created using ManagedFactory.

Parameters:
managedFactory - ManagedFactory
connectionSpec - ConnectionSpec
Returns:
managed Managed Ready to use connection

="com. kN$]u7 I6r6$Pq]./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.connectionmanager_mi.html$$ Method Index for com.ibm.connector.connectionmanager.ConnectionManager

Constructor Index

ConnectionManager()

Method Index

clearForSessionID(Identifier)
release(Managed)
reserve(ManagedFactory, ConnectionSpec)
IDT k$@u7 I6r6$@q@./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.connectionorganizer.html$$ com.ibm.connector.connectionmanager.ConnectionOrganizer <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.connectionmanager.connectionorganizer_dsc.html#_top_">com.ibm.connector.connectionmanager.ConnectionOrganizer (no frames)</a></b></p> </body>  k.$")v7 I6r6$r")./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.connectionorganizer_dsc.html$$ Class com.ibm.connector.connectionmanager.ConnectionOrganizer

Class com.ibm.connector.connectionmanager.ConnectionOrganizer

java.lang.Object
   |
   +----com.ibm.connector.connectionmanager.ConnectionOrganizer

public class ConnectionOrganizer
extends Object
implements Task

This is a utility class used by the SampleConnectionManager.


Variable Index

csProperties

Constructor Index

ConnectionOrganizer()
This method creates coordinated ConnectionOrganizer.
ConnectionOrganizer(ConnectionSpecManagementProperties)
This method creates uncoordinated ConnectionOrganizer.

Method Index

addUnused(Object)
This method adds object to the unused vector of ConnectionOrganizer.
addUsed(Managed)
This method adds object to the used vector of ConnectionOrganizer.
executeTask()
This method is started from the TaskTimer thread and runs ConnectionOrganizer garbage collector.
garbageCollector()
This method removes connections that has been in the unused vector longer than maxUnused time specified in the ConnectionSpecManagementProperties.
getConnectionOrganizer(Identifier)
This method returns coordinated ConnectionOrganizer corresponding to the specified Identifier.
getUnusedSize()
This method returns the current size of the unused vector.
getUsedSize()
This method returns the current size of the used vector.
isUsedEmpty()
This method returns whether the used vector is empty.
removeUnused()
This method removes object from the unused vector of ConnectionOrganizer.
removeUsed(Managed)
This method removes object from the used vector of ConnectionOrganizer.
setConnectionOrganizer(Identifier, ConnectionOrganizer)
This method sets the coordinated ConnectionOrganizer corresponding to the specified CoordinationID.

Variables

csProperties
 protected ConnectionSpecManagementProperties csProperties

Constructors

ConnectionOrganizer
 public ConnectionOrganizer()
This method creates coordinated ConnectionOrganizer.

ConnectionOrganizer
 public ConnectionOrganizer(ConnectionSpecManagementProperties connectionSpec)
This method creates uncoordinated ConnectionOrganizer.

Parameters:
connectionSpec - com.ibm.connector.ConnectionSpecManagementProperties

Methods

addUnused
 public synchronized void addUnused(Object managed)
This method adds object to the unused vector of ConnectionOrganizer.

Parameters:
managed - Object
addUsed
 public synchronized void addUsed(Managed connection)
This method adds object to the used vector of ConnectionOrganizer.

Parameters:
connection - Managed
executeTask
 public void executeTask()
This method is started from the TaskTimer thread and runs ConnectionOrganizer garbage collector.

garbageCollector
 public synchronized void garbageCollector()
This method removes connections that has been in the unused vector longer than maxUnused time specified in the ConnectionSpecManagementProperties.

getConnectionOrganizer
 public synchronized ConnectionOrganizer getConnectionOrganizer(Identifier id)
This method returns coordinated ConnectionOrganizer corresponding to the specified Identifier.

Parameters:
id - com.ibm.connector.infrastructure.Identifier
Returns:
com.ibm.connector.connectionmanager.ConnectionOrganizer
getUnusedSize
 public synchronized int getUnusedSize()
This method returns the current size of the unused vector.

Returns:
int
getUsedSize
 public synchronized int getUsedSize()
This method returns the current size of the used vector.

Returns:
int
isUsedEmpty
 public synchronized boolean isUsedEmpty()
This method returns whether the used vector is empty.

Returns:
boolean
removeUnused
 public synchronized Object removeUnused()
This method removes object from the unused vector of ConnectionOrganizer.

Returns:
Object
removeUsed
 public synchronized void removeUsed(Managed managed)
This method removes object from the used vector of ConnectionOrganizer.

Parameters:
managed - com.ibm.connector.internal.Managed
setConnectionOrganizer
 public synchronized void setConnectionOrganizer(Identifier id,
                                                 ConnectionOrganizer helper)
This method sets the coordinated ConnectionOrganizer corresponding to the specified CoordinationID.

Parameters:
id - com.ibm.connector.infrastructure.CoordinationID
Returns:
com.ibm.connector.connectionmanager.ConnectionOrganizer

nnecti k$$ v7 I6r6$0q ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.connectionorganizer_mi.html$$ Method Index for com.ibm.connector.connectionmanager.ConnectionOrganizer

Constructor Index

ConnectionOrganizer()
ConnectionOrganizer(ConnectionSpecManagementProperties)

Method Index

addUnused(Object)
addUsed(Managed)
executeTask()
garbageCollector()
getConnectionOrganizer(Identifier)
getUnusedSize()
getUsedSize()
isUsedEmpty()
removeUnused()
removeUsed(Managed)
setConnectionOrganizer(Identifier, ConnectionOrganizer)

Field Index

csProperties
2 kZ$wv7 I6r6$@xrw./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.connectiontimestampassociation.html$$ com.ibm.connector.connectionmanager.ConnectionTimestampAssociation <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.connectionmanager.connectiontimestampassociation_dsc.html#_top_">com.ibm.connector.connectionmanager.ConnectionTimestampAssociation (no frames)</a></b></p> </body>  k>]$vv7 I6r6$sv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.connectiontimestampassociation_dsc.html$$ Class com.ibm.connector.connectionmanager.ConnectionTimestampAssociation

Class com.ibm.connector.connectionmanager.ConnectionTimestampAssociation

java.lang.Object
   |
   +----com.ibm.connector.connectionmanager.ConnectionTimestampAssociation

public class ConnectionTimestampAssociation
extends Object

This class provides a way to associate a value (Object) with a timestamp (system time represented by long).


Constructor Index

ConnectionTimestampAssociation(Object)
This method creates new association of the passed object and current system time.

Method Index

getTime()
This method returns its time field.
getValue()
This method returns its stored object field.
setTime(long)
This method sets the stored time.
setValue(Object)
This method sets the value of the object field.

Constructors

ConnectionTimestampAssociation
 public ConnectionTimestampAssociation(Object aValue)
This method creates new association of the passed object and current system time.

Parameters:
aValue - java.lang.Object

Methods

getTime
 public long getTime()
This method returns its time field.

Returns:
long
getValue
 public Object getValue()
This method returns its stored object field.

Returns:
java.lang.Object
setTime
 public void setTime(long aTime)
This method sets the stored time.

Parameters:
aTime - long
setValue
 public void setValue(Object aValue)
This method sets the value of the object field.

Parameters:
aValue - java.lang.Object

gc kJ$v7 I6r6$Pq./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.connectiontimestampassociation_mi.html$$ Method Index for com.ibm.connector.connectionmanager.ConnectionTimestampAssociation

Constructor Index

ConnectionTimestampAssociation(Object)

Method Index

getTime()
getValue()
setTime(long)
setValue(Object)
mesta kꀻ$v7 I6r6$Pq./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.task.htmlt$$ com.ibm.connector.connectionmanager.Task <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.connectionmanager.task_dsc.html#_top_">com.ibm.connector.connectionmanager.Task (no frames)</a></b></p> </body> jav k/$v7 I6r6$@`s./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.task_dsc.htmlstamp$$ Interface com.ibm.connector.connectionmanager.Task

Interface com.ibm.connector.connectionmanager.Task

public interface Task

This interface should be implemented by classes that need to be scheduled using the TaskTimer.


Method Index

executeTask()
This method executes tasks registered with the TaskTimer.

Methods

executeTask
 public abstract void executeTask()
This method executes tasks registered with the TaskTimer.


ho k$v7 I6r6$``j./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.task_mi.htmlstamp$$ Method Index for com.ibm.connector.connectionmanager.Task

Method Index

executeTask()
o k*w$v7 I6r6$@ds./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.tasktimer.htmltamp$$ com.ibm.connector.connectionmanager.TaskTimer <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.connectionmanager.tasktimer_dsc.html#_top_">com.ibm.connector.connectionmanager.TaskTimer (no frames)</a></b></p> </body> 0" kL$v7 I6r6$s./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.tasktimer_dsc.html$$ Class com.ibm.connector.connectionmanager.TaskTimer

Class com.ibm.connector.connectionmanager.TaskTimer

java.lang.Object
   |
   +----java.lang.Thread
           |
           +----com.ibm.connector.connectionmanager.TaskTimer

public class TaskTimer
extends Thread
implements Task


Constructor Index

TaskTimer(long, RuntimeContext)
Create a new TaskTimer with interval in seconds.

Method Index

addTask(Task)
This method adds task to the list of tasks to be executed by the TaskTimer.
executeTask()
This method executes all tasks registered with the TaskTimer.
getInterval()
This method returns the current interval of the TaskTimer
removeTask(Task)
This method removes task from the list of tasks to be executed by the TaskTimer.
run()
This method is the implementation of Thread.run().
setInterval(long)
This method sets the current interval of the TaskTimer

Constructors

TaskTimer
 public TaskTimer(long interval,
                  RuntimeContext aRuntimeContext)
Create a new TaskTimer with interval in seconds.


Methods

addTask
 public void addTask(Task task)
This method adds task to the list of tasks to be executed by the TaskTimer.

executeTask
 public void executeTask()
This method executes all tasks registered with the TaskTimer.

getInterval
 public long getInterval()
This method returns the current interval of the TaskTimer

removeTask
 public void removeTask(Task task)
This method removes task from the list of tasks to be executed by the TaskTimer.

run
 public void run()
This method is the implementation of Thread.run().

Overrides:
run in class Thread
setInterval
 public void setInterval(long interval)
This method sets the current interval of the TaskTimer


Tas kd$,w7"I6r6$Pq,./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionmanager.tasktimer_mi.html$$ Method Index for com.ibm.connector.connectionmanager.TaskTimer

Constructor Index

TaskTimer(long, RuntimeContext)

Method Index

addTask(Task)
executeTask()
getInterval()
removeTask(Task)
run()
setInterval(long)
name k$w7I6r6$Pr./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionspec.htmls$$ com.ibm.connector.ConnectionSpec <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.connectionspec_dsc.html#_top_">com.ibm.connector.ConnectionSpec (no frames)</a></b></p> </body> com. k$- w7I6r6$t- ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionspec_dsc.htmlmer_m$$ Interface com.ibm.connector.ConnectionSpec

Interface com.ibm.connector.ConnectionSpec

public interface ConnectionSpec

This interface defines the common connection specification interface for all connectors. A connection specification holds all connection relevant properties.


Method Index

createCommunication()
This method creates a new communication configured with the properties of the connection specification.
hashCode()
This method returns hash code based on the properties that uniquely characterize the connection.

Methods

createCommunication
 public abstract Communication createCommunication()
This method creates a new communication configured with the properties of the connection specification.

The connector implementation can choose to set the connection spec as a whole into the communication or every connection spec property by itself.

Returns:
com.ibm.connector.Communication
hashCode
 public abstract int hashCode()
This method returns hash code based on the properties that uniquely characterize the connection.

Returns:
int
Overrides:
hashCode in class Object

/en k$]w7I6r6$`>q]./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionspec_mi.htmlmer_m$$ Method Index for com.ibm.connector.ConnectionSpec

Method Index

createCommunication()
hashCode()
rar kz$w7I6r6$@|r./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionspecmanagementproperties.htmlociat$$ com.ibm.connector.ConnectionSpecManagementProperties <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.connectionspecmanagementproperties_dsc.html#_top_">com.ibm.connector.ConnectionSpecManagementProperties (no frames)</a></b></p> </body>  kj$ *w7I6r6$t *./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionspecmanagementproperties_dsc.htmlt$$ Interface com.ibm.connector.ConnectionSpecManagementProperties

Interface com.ibm.connector.ConnectionSpecManagementProperties

public interface ConnectionSpecManagementProperties

This interface encapsulates connectionSpec properties relevant to the connection management. These properties are:

  • ReapTime - interval, in seconds, between runs of the garbage collector. The garbage collector discards all connections that have been unused for UnusedTimeout . To disable garbage collector, the ReapTime should be set to DEFAULT_REAP_TIME . Another way to disable garbage collector is to set UnusedTimeout to DEFAULT_UNUSED_TIMEOUT .
  • UnusedTimeout - interval, in miliseconds, after which the unused unmanaged connection is discarded. Setting this value to DEFAULT_UNUSED_TIMEOUT disables garbage collector.
  • ConnectionTimeout - interval, in miliseconds, after which a requestor waiting for connection times out and NoConnectionAvailableException is thrown. The wait may be necessary if the maximum value of connections has been reached (MaxConnections) . This value has no meaning if MaxConnections has not been set. If ConnectionTimeout is set to DEFAULT_CONNECTION_TIMEOUT the NoConnectionAvailableException is thrown immediately after ConnectionManager determines that maximum connections are used. If ConnectionTimeout is set to DISABLE_CONNECTION_TIMEOUT the connection manager waits until the number of connections falls below MaxConnections .
  • MaxConnections - the maximum number of connections that can be registered with the connection manager. Once this number is reached, no new connections are created and the requester waits or the NoConnectionAvailableException is thrown.
  • MinConnections the minimum number of connections that should be maintained. If this number is reached, the garbage collector will not discard the connection, however no attempt is made to bring the number of connections to this number i.e. the actual number of connections can be lower than MinConnections .


Variable Index

DEFAULT_CONNECTION_TIMEOUT
DEFAULT_MAX_CONNECTIONS
DEFAULT_MIN_CONNECTIONS
DEFAULT_REAP_TIME
DEFAULT_UNUSED_TIMEOUT
DISABLE_CONNECTION_TIMEOUT

Method Index

getConnectionTimeout()
This method was created by a SmartGuide.
getMaxConnections()
This method was created by a SmartGuide.
getMinConnections()
This method was created by a SmartGuide.
getReapTime()
This method was created by a SmartGuide.
getUnusedTimeout()
This method was created by a SmartGuide.
setConnectionTimeout(long)
This method sets the connection timeout.
setMaxConnections(long)
This method sets the maximum number of used connections allowed.
setMinConnections(long)
This method sets the minimum number of Connections available for reuse.
setReapTime(long)
This method sets the time interval, in seconds at which the garbage collector thread is run.
setUnusedTimeout(long)
This method sets the maximum time (in milliseconds) that the unused connection is kept.

Variables

DEFAULT_CONNECTION_TIMEOUT
 public static final long DEFAULT_CONNECTION_TIMEOUT
DEFAULT_MAX_CONNECTIONS
 public static final long DEFAULT_MAX_CONNECTIONS
DEFAULT_MIN_CONNECTIONS
 public static final long DEFAULT_MIN_CONNECTIONS
DEFAULT_UNUSED_TIMEOUT
 public static final long DEFAULT_UNUSED_TIMEOUT
DEFAULT_REAP_TIME
 public static final long DEFAULT_REAP_TIME
DISABLE_CONNECTION_TIMEOUT
 public static final long DISABLE_CONNECTION_TIMEOUT

Methods

getConnectionTimeout
 public abstract long getConnectionTimeout()
This method was created by a SmartGuide.

getMaxConnections
 public abstract long getMaxConnections()
This method was created by a SmartGuide.

getMinConnections
 public abstract long getMinConnections()
This method was created by a SmartGuide.

getReapTime
 public abstract long getReapTime()
This method was created by a SmartGuide.

getUnusedTimeout
 public abstract long getUnusedTimeout()
This method was created by a SmartGuide.

setConnectionTimeout
 public abstract void setConnectionTimeout(long max)
This method sets the connection timeout. The connection timeout determines the time, in milliseconds, after which a waiting requestor times out and NoConnectionAvailableException is thrown.

Parameters:
max - long
setMaxConnections
 public abstract void setMaxConnections(long max)
This method sets the maximum number of used connections allowed. Once this limit is reached, no new connections are created. If the waiting time exceedes ConnectionTimeout, NoConnectionAvailable exception is thrown.

Parameters:
max - long
setMinConnections
 public abstract void setMinConnections(long max)
This method sets the minimum number of Connections available for reuse. Once this limit is reached, the connections that exceeded the unused time limit are not removed.

Parameters:
max - long
setReapTime
 public abstract void setReapTime(long max)
This method sets the time interval, in seconds at which the garbage collector thread is run. Setting this value to the default or disabled (DEFAULT_REAP_TIME DISABLE_REAP_TIME) turns off the connection manager collection, even if other control values are set.

Parameters:
max - long Interval, in seconds, between garbage collector thread execution.
setUnusedTimeout
 public abstract void setUnusedTimeout(long max)
This method sets the maximum time (in milliseconds) that the unused connection is kept. After this time, the connection is removed from the conneciton manager vector and destroyed.

Parameters:
max - long The time that unused connection is kept in the connection manager vector.

_TIME"> kdy$ w7I6r6$0t ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectionspecmanagementproperties_mi.htmlt$$ Method Index for com.ibm.connector.ConnectionSpecManagementProperties

Method Index

getConnectionTimeout()
getMaxConnections()
getMinConnections()
getReapTime()
getUnusedTimeout()
setConnectionTimeout(long)
setMaxConnections(long)
setMinConnections(long)
setReapTime(long)
setUnusedTimeout(long)

Variable Index

DEFAULT_CONNECTION_TIMEOUT
DEFAULT_MAX_CONNECTIONS
DEFAULT_MIN_CONNECTIONS
DEFAULT_REAP_TIME
DEFAULT_UNUSED_TIMEOUT
DISABLE_CONNECTION_TIMEOUT
/0 kD$w7I6r6$Ps./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectorexception.htmlprope$$ com.ibm.connector.ConnectorException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.connectorexception_dsc.html#_top_">com.ibm.connector.ConnectorException (no frames)</a></b></p> </body> i kȶ$ w7I6r6$ t ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectorexception_dsc.htmle$$ Class com.ibm.connector.ConnectorException

Class com.ibm.connector.ConnectorException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException

public class ConnectorException
extends RuntimeException

This class is the parent of all exceptions that can be thrown by the connector.


Constructor Index

ConnectorException()
ConnectorException constructor comment.
ConnectorException(String)
ConnectorException constructor comment.

Constructors

ConnectorException
 public ConnectorException()
ConnectorException constructor comment.

ConnectorException
 public ConnectorException(String s)
ConnectorException constructor comment.

Parameters:
s - java.lang.String

a/2 kڜ$x7I6r6$`t./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.connectorexception_mi.htmle$$ Method Index for com.ibm.connector.ConnectorException

Constructor Index

ConnectorException()
ConnectorException(String)
com.ibm.connector.infrastructure.Coordinator <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.coordinator_dsc.html#_top_">com.ibm.connector.infrastructure.Coordinator (no frames)</a></b></p> </body> t  k긔$'x7I6r6$t'./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.coordinator_dsc.htmli$$ Interface com.ibm.connector.infrastructure.Coordinator

Interface com.ibm.connector.infrastructure.Coordinator

public interface Coordinator

This interface defines the common coordinator interface as seen by a connector resource. Since some resources should be handled before or after the connection resources, the appropriate registration method should be used for such resources (registerBefore or registerAfter).

The Coordinator has to be able to return its unique identifier, defined as a CoordinationID object. This identifier may be used by the backend system that needs an ID as well as by the Connection Manager that uses it to manage connections per coordinator basis.


Method Index

clearAllRegistered()
This method disposes of all the resources registered with the coordinator.
getCoordinationID()
This method returns the unique Coordination Identifier of this coordinator.
isCoordinating()
This method returns boolean value telling the caller whether the coordinator is doing anything.
register(Resource)
This method registers the connection resource with the coordinator.
registerAfter(Resource)
This method registers a resource different from a connection to be handled after the registered connections get handled.
registerBefore(Resource)
This method registers a resource different from a connection to be handled before the registered connections get handled.

Methods

clearAllRegistered
 public abstract void clearAllRegistered()
This method disposes of all the resources registered with the coordinator.

getCoordinationID
 public abstract Identifier getCoordinationID()
This method returns the unique Coordination Identifier of this coordinator. The CoordinationID is not changed by commit or rollback methods.

Returns:
com.ibm.connector.infrastructure.Identifier
isCoordinating
 public abstract boolean isCoordinating()
This method returns boolean value telling the caller whether the coordinator is doing anything.

Returns:
boolean Coordination status.
register
 public abstract void register(Resource resource)
This method registers the connection resource with the coordinator. In the actual implementations this method should be synchronized.

Parameters:
resource - com.ibm.connector.internal.Resource
registerAfter
 public abstract void registerAfter(Resource resource)
This method registers a resource different from a connection to be handled after the registered connections get handled. In the actual implementations this method should be synchronized.

Parameters:
resource - com.ibm.connector.internal.Resource
registerBefore
 public abstract void registerBefore(Resource resource)
This method registers a resource different from a connection to be handled before the registered connections get handled. In the actual implementations this method should be synchronized.

Parameters:
resource - com.ibm.connector.internal.Resource

 kꚜ$x7I6r6$Pt./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.coordinator_mi.htmli$$ Method Index for com.ibm.connector.infrastructure.Coordinator

Method Index

clearAllRegistered()
getCoordinationID()
isCoordinating()
register(Resource)
registerAfter(Resource)
registerBefore(Resource)
> re kE$x7I6r6$@t./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.defaultlogoninfo.html$$ com.ibm.connector.infrastructure.DefaultLogonInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.defaultlogoninfo_dsc.html#_top_">com.ibm.connector.infrastructure.DefaultLogonInfo (no frames)</a></b></p> </body>  k$ x7I6r6$u ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.defaultlogoninfo_dsc.htmllt$$ Class com.ibm.connector.infrastructure.DefaultLogonInfo

Class com.ibm.connector.infrastructure.DefaultLogonInfo

java.lang.Object
   |
   +----com.ibm.connector.infrastructure.DefaultLogonInfo

public class DefaultLogonInfo
extends Object
implements LogonInfo

This class defines the default way to provide security items to the connector.


Constructor Index

DefaultLogonInfo()

Method Index

getItem(LogonInfoItems, String)
This method retrieves a named item from the LogonInfo object.
getPassword()
Gets the password property (java.lang.String) value.
getUser()
Gets the userID property (java.lang.String) value.
setItem(LogonInfoItems, String, Object)
This method sets a named item in the LogonInfo object.
setPassword(String)
Sets the password property (java.lang.String) value.
setUser(String)
Sets the userID property (java.lang.String) value.

Constructors

DefaultLogonInfo
 public DefaultLogonInfo()

Methods

getItem
 public Object getItem(LogonInfoItems logonInfoItems,
                       String itemName)
This method retrieves a named item from the LogonInfo object.

Parameters:
logonInfoItems - LogonInfoItems
itemName - java.lang.String
Returns:
java.lang.Object
getPassword
 public String getPassword()
Gets the password property (java.lang.String) value.

Returns:
The password property value.
See Also:
setPassword
getUser
 public String getUser()
Gets the userID property (java.lang.String) value.

Returns:
The userID property value.
See Also:
setUserID
setItem
 public void setItem(LogonInfoItems logonInfoItems,
                     String itemName,
                     Object item)
This method sets a named item in the LogonInfo object.

Parameters:
logonInfoItems - LogonInfoItems
itemName - java.lang.String
item - java.lang.Object
Returns:
java.lang.Object
setPassword
 public void setPassword(String aPassword)
Sets the password property (java.lang.String) value.

Parameters:
password - The new value for the property.
See Also:
getPassword
setUser
 public void setUser(String aUser)
Sets the userID property (java.lang.String) value.

Parameters:
userID - The new value for the property.
See Also:
getUserID

(Logo k$x7I6r6$Pt./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.defaultlogoninfo_mi.htmllt$$ Method Index for com.ibm.connector.infrastructure.DefaultLogonInfo

Constructor Index

DefaultLogonInfo()

Method Index

getItem(LogonInfoItems, String)
getPassword()
getUser()
setItem(LogonInfoItems, String, Object)
setPassword(String)
setUser(String)
pu k$$x7I6r6$@ u$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.defaultrasservice.htmlllt$$ com.ibm.connector.infrastructure.DefaultRASService <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.defaultrasservice_dsc.html#_top_">com.ibm.connector.infrastructure.DefaultRASService (no frames)</a></b></p> </body> eter k;$x7I6r6$u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.defaultrasservice_dsc.htmlt$$ Class com.ibm.connector.infrastructure.DefaultRASService

Class com.ibm.connector.infrastructure.DefaultRASService

java.lang.Object
   |
   +----com.ibm.connector.infrastructure.DefaultRASService

public class DefaultRASService
extends Object
implements RASService

An instance of this class is used by the run time context in the case that no specific coordinator is specified.

The provided default behavior allows for a more convenient implementation of a connector, the default RASService logs all error messages passed to the logError method, and does no logging of messages passed to logTraceInfo , behavior corresponding to the traceLevel RAS_TRACE_OFF .


Constructor Index

DefaultRASService()

Method Index

getErrorStream()
This method returns the error output stream.
getErrorStreamWriter()
This method returns the error output stream writer.
getTraceLevel()
This method returns the current level of trace for logged messages.
getTraceStream()
This method returns the trace output stream.
getTraceStreamWriter()
This method returns the trace output stream writer.
logError(String)
This method logs error information to the RAS facility.
logTraceInfo(String)
This method logs trace information to the RAS facility.

Constructors

DefaultRASService
 public DefaultRASService()

Methods

getErrorStream
 public OutputStream getErrorStream()
This method returns the error output stream.

Returns:
OutputStream
getErrorStreamWriter
 public OutputStreamWriter getErrorStreamWriter()
This method returns the error output stream writer.

Returns:
java.io.OutputStreamWriter
getTraceLevel
 public int getTraceLevel()
This method returns the current level of trace for logged messages.

Returns:
int
getTraceStream
 public OutputStream getTraceStream()
This method returns the trace output stream.

Returns:
java.io.OutputStream
getTraceStreamWriter
 public OutputStreamWriter getTraceStreamWriter()
This method returns the trace output stream writer.

Returns:
java.io.OutputStreamWriter
logError
 public synchronized void logError(String value)
This method logs error information to the RAS facility.

Parameters:
value - java.lang.String The error message to log.
logTraceInfo
 public synchronized void logTraceInfo(String value)
This method logs trace information to the RAS facility.

Parameters:
value - java.lang.String The message to log.

="com kz$x7I6r6$Pt./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.defaultrasservice_mi.htmlt$$ Method Index for com.ibm.connector.infrastructure.DefaultRASService

Constructor Index

DefaultRASService()

Method Index

getErrorStream()
getErrorStreamWriter()
getTraceLevel()
getTraceStream()
getTraceStreamWriter()
logError(String)
logTraceInfo(String)
 k$y7I6r6$@$u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.identifier.htmle_mi.h$$ com.ibm.connector.infrastructure.Identifier <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.identifier_dsc.html#_top_">com.ibm.connector.infrastructure.Identifier (no frames)</a></b></p> </body> Interface com.ibm.connector.infrastructure.Identifier

Interface com.ibm.connector.infrastructure.Identifier

public interface Identifier

This interface represents the Identifier.


Method Index

toBytes()
Returns the Identifier as an array of bytes.
toString()
Return Identifier as a String.

Methods

toBytes
 public abstract byte[] toBytes()
Returns the Identifier as an array of bytes.

Returns:
byte[]
toString
 public abstract String toString()
Return Identifier as a String. This format of the Identifier should only be used if there is a need to generate hash code based on the Identifier.

Returns:
java.lang.String
Overrides:
toString in class Object

 kꤍ$fy7I6r6$`tf./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.identifier_mi.html.h$$ Method Index for com.ibm.connector.infrastructure.Identifier

Method Index

toBytes()
toString()
ml k|$8y7$I6r6$@.u8./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javacoordinator.htmlt$$ com.ibm.connector.infrastructure.java.JavaCoordinator <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.java.javacoordinator_dsc.html#_top_">com.ibm.connector.infrastructure.java.JavaCoordinator (no frames)</a></b></p> </body>  k.$#y7$I6r6$@u#./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javacoordinator_dsc.html$$ Class com.ibm.connector.infrastructure.java.JavaCoordinator

Class com.ibm.connector.infrastructure.java.JavaCoordinator

java.lang.Object
   |
   +----com.ibm.connector.infrastructure.java.JavaCoordinator

public class JavaCoordinator
extends Object
implements Coordinator

The Java coordinator povides a fat client programmer coordination control over the connectors he uses to interact with host systems.


Constructor Index

JavaCoordinator()

Method Index

clearAllRegistered()
This method disposes of all registered resources.
commit()
This method tells all registered resources to commit.
getCoordinationID()
This method returns the unique Coordination Idenfier of this coordinator.
isCoordinating()
This method returns boolean value telling the caller whether the coordinator is doing anything.
prepare()
This method tells all registered resources to prepare.
register(Resource)
This method registers the connection resource with the coordinator.
registerAfter(Resource)
This method registers the connection resource with the coordinator.
registerBefore(Resource)
This method registers the connection resource with the coordinator.
rollback()
This method tells all registered resources to rollback.

Constructors

JavaCoordinator
 public JavaCoordinator()

Methods

clearAllRegistered
 public void clearAllRegistered()
This method disposes of all registered resources. For each resource, its actions are rolled back.

commit
 public void commit() throws JavaCoordinatorException
This method tells all registered resources to commit. Before commit is called against the resource, it is removed from the registry.

Throws: JavaCoordinatorException
Thrown if error occurs during invocation of the commit of the registered resource.
getCoordinationID
 public Identifier getCoordinationID()
This method returns the unique Coordination Idenfier of this coordinator. The ID is calculated when this method is first time invoked.

Returns:
com.ibm.connector.infrastructure.CoordinationID
isCoordinating
 public boolean isCoordinating()
This method returns boolean value telling the caller whether the coordinator is doing anything.

Returns:
boolean Coordination status.
prepare
 public int prepare() throws ResourceException, CommunicationException
This method tells all registered resources to prepare. The method returns Resource.VOTECOMMIT only if all the resources are prepared to commit, Resource.VOTEROLLBACK or Resource.VOTEREADONLY otherwise.

Throws: ResourceException
Thrown if error occurs during invocation of the prepare of the registered resource.
register
 public synchronized void register(Resource resource)
This method registers the connection resource with the coordinator.

Parameters:
resource - com.ibm.connector.internal.Resource Resource to register.
registerAfter
 public synchronized void registerAfter(Resource resource)
This method registers the connection resource with the coordinator.

Parameters:
resource - com.ibm.connector.internal.Resource Resource to register.
Throws: ResourceException
Thrown if error occurs during invocation of the start method of the registered resource.
registerBefore
 public synchronized void registerBefore(Resource resource)
This method registers the connection resource with the coordinator.

Parameters:
resource - com.ibm.connector.internal.Resource Resource to register.
Throws: ResourceException
Thrown if error occurs during invocation of the start method of the registered resource.
rollback
 public void rollback() throws JavaCoordinatorException
This method tells all registered resources to rollback. Before rollback is called against the resource, it is removed from the registry.

Throws: ResourceException
Thrown if error occurs during invocation of the rollback of the registered resource.

tructur k^$y7&I6r6$@2u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javacoordinator_mi.html$$ Method Index for com.ibm.connector.infrastructure.java.JavaCoordinator

Constructor Index

JavaCoordinator()

Method Index

clearAllRegistered()
commit()
getCoordinationID()
isCoordinating()
prepare()
register(Resource)
registerAfter(Resource)
registerBefore(Resource)
rollback()
/ k$ey7&I6r6$@ue./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javacoordinatorexception.htmli.h$$ com.ibm.connector.infrastructure.java.JavaCoordinatorException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.java.javacoordinatorexception_dsc.html#_top_">com.ibm.connector.infrastructure.java.JavaCoordinatorException (no frames)</a></b></p> </body>  k2[$y7&I6r6$Ru./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javacoordinatorexception_dsc.htmlml$$ Class com.ibm.connector.infrastructure.java.JavaCoordinatorException

Class com.ibm.connector.infrastructure.java.JavaCoordinatorException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.infrastructure.java.JavaCoordinatorException

public class JavaCoordinatorException
extends ConnectorException

This exception is thrown when the Java Coordinator encounters a problem. The two vectors, Processed and NotProcessed contain resources registered with the coordinator when the exception occured.


Constructor Index

JavaCoordinatorException()
JavaCoordinatorException constructor comment.
JavaCoordinatorException(String)
JavaCoordinatorException constructor comment.
JavaCoordinatorException(String, Vector, Vector)
This method creates JavaCoordinatorException setting Commited and NotCommited vectors data fields.

Method Index

getNotProcessed()
This method was created by a SmartGuide.
getProcessed()
This method was created by a SmartGuide.

Constructors

JavaCoordinatorException
 public JavaCoordinatorException()
JavaCoordinatorException constructor comment.

JavaCoordinatorException
 public JavaCoordinatorException(String s)
JavaCoordinatorException constructor comment.

Parameters:
s - java.lang.String
JavaCoordinatorException
 public JavaCoordinatorException(String msg,
                                 Vector Processed,
                                 Vector NotProcessed)
This method creates JavaCoordinatorException setting Commited and NotCommited vectors data fields.

Parameters:
msg - java.lang.String
Processed - java.util.Vector
NotProcessed - java.util.Vector

Methods

getNotProcessed
 public Vector getNotProcessed()
This method was created by a SmartGuide.

Returns:
java.util.Vector
getProcessed
 public Vector getProcessed()
This method was created by a SmartGuide.

Returns:
java.util.Vector

rExcep kx$y7&I6r6$Pt./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javacoordinatorexception_mi.html$$ Method Index for com.ibm.connector.infrastructure.java.JavaCoordinatorException

Constructor Index

JavaCoordinatorException()
JavaCoordinatorException(String)
JavaCoordinatorException(String, Vector, Vector)

Method Index

getNotProcessed()
getProcessed()
com.ibm.connector.infrastructure.java.JavaRASService <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.java.javarasservice_dsc.html#_top_">com.ibm.connector.infrastructure.java.JavaRASService (no frames)</a></b></p> </body>  k$z7&I6s6$au./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javarasservice_dsc.html_$$ Class com.ibm.connector.infrastructure.java.JavaRASService

Class com.ibm.connector.infrastructure.java.JavaRASService

java.lang.Object
   |
   +----com.ibm.connector.infrastructure.java.JavaRASService

public class JavaRASService
extends Object
implements RASService

The java RAS service povides level based logging of trace information to standard out and error information to standard err. The default trace level is RAS_TRACE_OFF. Levels that can be used for trace are:

  • RAS_TRACE_OFF
  • RAS_TRACE_ERROR_EXCEPTION
  • RAS_TRACE_ENTRY_EXIT
  • RAS_TRACE_INTERNAL


Constructor Index

JavaRASService()

Method Index

getErrorStream()
This method returns the error output stream.
getErrorStreamWriter()
This method returns the error output stream writer.
getTraceLevel()
This method returns the current level of trace for logged messages.
getTraceStream()
This method returns the trace output stream.
getTraceStreamWriter()
This method returns the trace output stream writer.
logError(String)
This method logs error information to the RAS facility.
logTraceInfo(String)
This method logs trace information to the RAS facility.
setTraceLevel(int)
This method allows to set the level of detail of the trace log.

Constructors

JavaRASService
 public JavaRASService()

Methods

getErrorStream
 public OutputStream getErrorStream()
This method returns the error output stream.

Returns:
OutputStream
getErrorStreamWriter
 public OutputStreamWriter getErrorStreamWriter()
This method returns the error output stream writer.

Returns:
java.io.OutputStreamWriter
getTraceLevel
 public int getTraceLevel()
This method returns the current level of trace for logged messages.

Returns:
int
getTraceStream
 public OutputStream getTraceStream()
This method returns the trace output stream.

Returns:
java.io.OutputStream
getTraceStreamWriter
 public OutputStreamWriter getTraceStreamWriter()
This method returns the trace output stream writer.

Returns:
java.io.OutputStreamWriter
logError
 public synchronized void logError(String value)
This method logs error information to the RAS facility.

Parameters:
value - java.lang.String The error message to log.
logTraceInfo
 public synchronized void logTraceInfo(String value)
This method logs trace information to the RAS facility.

Parameters:
value - java.lang.String The message to log.
setTraceLevel
 public void setTraceLevel(int aTraceLevel)
This method allows to set the level of detail of the trace log. The possible values are:
  • RAS_TRACE_OFF
  • RAS_TRACE_ERROR_EXCEPTION
  • RAS_TRACE_ENTRY_EXIT
  • RAS_TRACE_INTERNAL
The RAS_TRACE_INTERNAL shows the most detail.

Parameters:
aLevel - int Level of the messages to log.

 k0$%z7&I6s6$@ou%./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javarasservice_mi.html_$$ Method Index for com.ibm.connector.infrastructure.java.JavaRASService

Constructor Index

JavaRASService()

Method Index

getErrorStream()
getErrorStreamWriter()
getTraceLevel()
getTraceStream()
getTraceStreamWriter()
logError(String)
logTraceInfo(String)
setTraceLevel(int)
na k$Gz7&I6s6$@suG./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javaruntimecontext.html_$$ com.ibm.connector.infrastructure.java.JavaRuntimeContext <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.java.javaruntimecontext_dsc.html#_top_">com.ibm.connector.infrastructure.java.JavaRuntimeContext (no frames)</a></b></p> </body>  k$ z7&I6s6$ wu ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javaruntimecontext_dsc.htmlhtml$$ Class com.ibm.connector.infrastructure.java.JavaRuntimeContext

Class com.ibm.connector.infrastructure.java.JavaRuntimeContext

java.lang.Object
   |
   +----com.ibm.connector.infrastructure.RuntimeContext
           |
           +----com.ibm.connector.infrastructure.java.JavaRuntimeContext

public class JavaRuntimeContext
extends RuntimeContext

This class renders the current infrastructure context as needed by a common connector.


Constructor Index

JavaRuntimeContext()
This method creates a new runtime context using the JavaCoordinator and the JavaRASService instead of their defaults.

Constructors

JavaRuntimeContext
 public JavaRuntimeContext()
This method creates a new runtime context using the JavaCoordinator and the JavaRASService instead of their defaults.


 kꀾ$:z7&I6s6$`!u:./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.java.javaruntimecontext_mi.htmlhtml$$ Method Index for com.ibm.connector.infrastructure.java.JavaRuntimeContext

Constructor Index

JavaRuntimeContext()
ure.ja kD)$z7I6s6$P}u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.logoninfo.htmlecontex$$ com.ibm.connector.infrastructure.LogonInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.logoninfo_dsc.html#_top_">com.ibm.connector.infrastructure.LogonInfo (no frames)</a></b></p> </body>

 kp$nz7I6s6$un./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.logoninfo_dsc.htmltex$$ Interface com.ibm.connector.infrastructure.LogonInfo

Interface com.ibm.connector.infrastructure.LogonInfo

public interface LogonInfo

This interface defines the common way in which the infrastructure accesses the security items. The security requirements on the connector and infrastructure side require support for:

  • on demand fetching of values
  • preloading of values
  • connector having an environment independent way of getting logon info
  • type constraints for properties

These requirements are realized by two elements the LogonInfo interface and the LogonInofItems class. The implementations of the LogonInfo interface represent a infrastructure specific way of accessing security data. The LogonInfoItems class and its connector specific subclasses define which specific security items a connector is looking for. The lookup in the infrastructure is implemented using the LogonInfo object passed on construction (a connector retrieves the LogonInfo to use from the runtime context). Even when no further items besides user and password are needed by a connector, it has to introduce a subclass, so that a LogonInfo implementation can differentiate LogonInfoItems on a connector basis.


Method Index

getItem(LogonInfoItems, String)
This method retrieves a named item from the LogonInfo object.
setItem(LogonInfoItems, String, Object)
This method sets a named item in the LogonInfo object.

Methods

getItem
 public abstract Object getItem(LogonInfoItems logonInfoItems,
                                String itemName)
This method retrieves a named item from the LogonInfo object.

Parameters:
logonInfoItems - LogonInfoItems
itemName - java.lang.String
Returns:
java.lang.Object
setItem
 public abstract void setItem(LogonInfoItems logonInfoItems,
                              String itemName,
                              Object item)
This method sets a named item in the LogonInfo object.

Parameters:
logonInfoItems - LogonInfoItems
itemName - java.lang.String
item - java.lang.Object
Returns:
java.lang.Object

FF k $z7I6s6$`u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.logoninfo_mi.htmltex$$ Method Index for com.ibm.connector.infrastructure.LogonInfo

Method Index

getItem(LogonInfoItems, String)
setItem(LogonInfoItems, String, Object)
elv k$z7I6s6$@u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.nullcoordinator.htmlx$$ com.ibm.connector.infrastructure.NullCoordinator <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.nullcoordinator_dsc.html#_top_">com.ibm.connector.infrastructure.NullCoordinator (no frames)</a></b></p> </body> oItems kl$1z7I6s6$u1./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.nullcoordinator_dsc.htmli.htm$$ Class com.ibm.connector.infrastructure.NullCoordinator

Class com.ibm.connector.infrastructure.NullCoordinator

java.lang.Object
   |
   +----com.ibm.connector.infrastructure.NullCoordinator

public class NullCoordinator
extends Object
implements Coordinator

An instance of this class is used by the run time context in the case that no specific coordinator is specified.

The provided default behavior allows for a more convenient implementation of a connector.


Constructor Index

NullCoordinator()

Method Index

clearAllRegistered()
This method disposes of all the resources registered with the coordinator.
getCoordinationID()
This method returns the unique Coordination Identifier of this coordinator.
isCoordinating()
This method returns boolean value telling the caller whether the coordinator is doing anything.
register(Resource)
This method does nothing.
registerAfter(Resource)
This method does nothing.
registerBefore(Resource)
This method does nothing.

Constructors

NullCoordinator
 public NullCoordinator()

Methods

clearAllRegistered
 public void clearAllRegistered()
This method disposes of all the resources registered with the coordinator.

getCoordinationID
 public Identifier getCoordinationID()
This method returns the unique Coordination Identifier of this coordinator.

Returns:
com.ibm.connector.infrastructure.Identifier
isCoordinating
 public boolean isCoordinating()
This method returns boolean value telling the caller whether the coordinator is doing anything.

Returns:
boolean Coordination status.
register
 public synchronized void register(Resource resource)
This method does nothing.

registerAfter
 public synchronized void registerAfter(Resource resource)
This method does nothing.

registerBefore
 public synchronized void registerBefore(Resource resource)
This method does nothing.


ordinat k$f{7I6s6$Puf./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.nullcoordinator_mi.htmli.htm$$ Method Index for com.ibm.connector.infrastructure.NullCoordinator

Constructor Index

NullCoordinator()

Method Index

clearAllRegistered()
getCoordinationID()
isCoordinating()
register(Resource)
registerAfter(Resource)
registerBefore(Resource)
be kP${7I6s6$Pu./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.nullid.htmlto$$ com.ibm.connector.infrastructure.NullID <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.nullid_dsc.html#_top_">com.ibm.connector.infrastructure.NullID (no frames)</a></b></p> </body> 4>  k $) {7I6s6$u) ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.nullid_dsc.htmlmi.htm$$ Class com.ibm.connector.infrastructure.NullID

Class com.ibm.connector.infrastructure.NullID

java.lang.Object
   |
   +----com.ibm.connector.infrastructure.NullID

public class NullID
extends Object
implements Identifier

This class defines the null identifier with all zero bytes.


Constructor Index

NullID()

Method Index

toBytes()
This method returns Identifier as an array of bytes.
toString()
Return Identifier as a String.

Constructors

NullID
 public NullID()

Methods

toBytes
 public byte[] toBytes()
This method returns Identifier as an array of bytes.

toString
 public String toString()
Return Identifier as a String. This format of the Identifier should only be used if there is a need to generate hash code based on the Identifier.

Returns:
java.lang.String
Overrides:
toString in class Object

html/en kA${7I6s6$`>u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.nullid_mi.htmlmi.htm$$ Method Index for com.ibm.connector.infrastructure.NullID

Constructor Index

NullID()

Method Index

toBytes()
toString()
> com.ibm.connector.infrastructure.RASService <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.rasservice_dsc.html#_top_">com.ibm.connector.infrastructure.RASService (no frames)</a></b></p> </body> ()">toB k&=$5{7I6s6$u5./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.rasservice_dsc.htmltm$$ Interface com.ibm.connector.infrastructure.RASService

Interface com.ibm.connector.infrastructure.RASService

public interface RASService

This interface defines the common RAS interface for all connectors.


Variable Index

RAS_TRACE_ENTRY_EXIT
RAS_TRACE_ERROR_EXCEPTION
RAS_TRACE_INTERNAL
RAS_TRACE_OFF

Method Index

getErrorStream()
This method returns the error output stream.
getErrorStreamWriter()
This method returns the error output stream writer.
getTraceLevel()
This method returns the current level of trace for logged messages.
getTraceStream()
This method returns the trace output stream.
getTraceStreamWriter()
This method returns the trace output stream writer.
logError(String)
This method logs error information to the RAS facility.
logTraceInfo(String)
This method logs trace information to the RAS facility.

Variables

RAS_TRACE_OFF
 public static final int RAS_TRACE_OFF
RAS_TRACE_ERROR_EXCEPTION
 public static final int RAS_TRACE_ERROR_EXCEPTION
RAS_TRACE_ENTRY_EXIT
 public static final int RAS_TRACE_ENTRY_EXIT
RAS_TRACE_INTERNAL
 public static final int RAS_TRACE_INTERNAL

Methods

getErrorStream
 public abstract OutputStream getErrorStream()
This method returns the error output stream.

Returns:
OutputStream
getErrorStreamWriter
 public abstract OutputStreamWriter getErrorStreamWriter()
This method returns the error output stream writer.

Returns:
java.io.OutputStreamWriter
getTraceLevel
 public abstract int getTraceLevel()
This method returns the current level of trace for logged messages.

Returns:
int
getTraceStream
 public abstract OutputStream getTraceStream()
This method returns the trace output stream.

Returns:
java.io.OutputStream
getTraceStreamWriter
 public abstract OutputStreamWriter getTraceStreamWriter()
This method returns the trace output stream writer.

Returns:
java.io.OutputStreamWriter
logError
 public abstract void logError(String value)
This method logs error information to the RAS facility. In the actual implementations, this method should be synchronized.

Parameters:
value - java.lang.String The error message to log.
logTraceInfo
 public abstract void logTraceInfo(String value)
This method logs trace information to the RAS facility. In the actual implementations, this method should be synchronized.

Parameters:
value - java.lang.String The message to log.

le k${7I6s6$@u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.rasservice_mi.htmltm$$ Method Index for com.ibm.connector.infrastructure.RASService

Method Index

getErrorStream()
getErrorStreamWriter()
getTraceLevel()
getTraceStream()
getTraceStreamWriter()
logError(String)
logTraceInfo(String)

Variable Index

RAS_TRACE_ENTRY_EXIT
RAS_TRACE_ERROR_EXCEPTION
RAS_TRACE_INTERNAL
RAS_TRACE_OFF
 k"${7I6s6$@u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.runtimecontext.htmltm$$ com.ibm.connector.infrastructure.RuntimeContext <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.runtimecontext_dsc.html#_top_">com.ibm.connector.infrastructure.RuntimeContext (no frames)</a></b></p> </body> _IN l`$1{7I6s6$uS./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.runtimecontext_dsc.htmli.htm$$  enort .<>acdilmsu"/bfghp()=CS_vx#AIMRy -:LTw014DFG,3HPjq2589EOWk!7;?NY|+P]n0{hp9;H!3 J)EAg AeAV26 p@ 0 黟y cAQ's< 6Ǧ}ogΕ@ pu:U@]>D `;[[ 2t2U @p:u{L)Sv)y1Kw2~̗HT7uZueAN.- @P@P7 0 íS+8EŠUUUJsS @֯a0'y!#Xb kbZUTܵJ,W8G:;v)y1Kw2~̗OO=}/AQ ])gYBI0d@!S(βAdrIxBD1tQe27$( }Ҧc&tC%B Q娏UUUJ#L-j!Qj+s6{  {X:z0dMإ-o%W2_oϭ!S|lNAA[`ZzփgYBJHJHNLZtmnRg_X `& $o-Tbs-\M>O=;c}QQNz;F̘=2R6'soV)޺xPAj5h8(ʛJU׎yMudߟ]7so%YvrD)Sw2AjuAFuj!A`N俦ޠuAABu: AXL:;v)y1Kw2~̗OO=}nRgS|lN uO=;c}D1aJsT 1ߙTO=nߩ]yӬN*+zˮ{tm%QuQBz5:0ZAh:)gYBn/&)n[y/¹~}i6ϱ-jLX`㭰ZbA.FQFuH͜D5i^eOB fLgיuxҪW)?q(:)gYBn/&)n[y/¹~}i6ϱ-jL;m]`㬻;m]bA. yMop%o.7bs-c ;m]zN҃ް2Fu vRbe+/֞{m&ό~3e߉?! S.U]7wgQx]n/&)n[y/¹~}i~3BvN3bs-\M>n5&|` ]^x`㬻3ņ)]P(ʣ~fy]<黟c~)k^ϷP-eyMuי%S`e2(@إ-o%W2_oϭ=<۹7źMI~ 0 u~ 0Q X`=Rw2^FoiAKɊ[KﱐH'K´= d'iAXL:;v)y1Kw2~̗OO=}nRg߅|1Yw@_ {mD1aJsTʼˠqB=F}tm Km(Pm(:)gYBn/&)n[y/¹~}i6ϱ-jLW)?p u~*'*! SQFuu%^e.wRI^{}2Rֽn[$yw>Pu;S(β݊^LR̶_s%6|mc|[ԙ7\teu:,L=D1aJsT 1ߙ>FUWu|n7J2:w Qem Kmw>I3i_op%7bs-c ;m]q+;m]b op%JsT*U]7s-c {M ݊^LR̶_}De߸awc!;JzeP۱KɊ[KdߟZzysot>0sm KmN9:~'wg(,0sSW2黼?z63v)y1Kw2~̗Hs2w Qem Kmw>I3i_un/&)n[y/¹~}i {bw>q+3ņ {bw>tNrF>U5KZ}ʙ]<黟c~o+̺l>ζ9(:)gYBn/&)n[y/¹~}i6ϱ-jLW/p# إ-o%W2_oϭ /p# W/p# ņ{VA.U̺mmfRbed 0C Pu;S(β݊^LR̶_s%6|mc|[ԙ4 fRbe+/֐qB=u(Pm,0P8W)]PWt(UǶo.7bs-\M>|11S`e2(@إ-o%W2_oϭ=<۹7źMIJUOC7bs-\M>:S_IJb:SJsT 1ߙ_ʼ˩\r)d{>@>H=t}!ZV26 vKmŠ3Bw%6u`Ldl@S|lNj!AF<}Zbu6'soV޵lɃAS|lN QSNrcQ3]Mgܩ {tϱS-YL>TVy]<6JVAh:X؁~fCD1h:!h=PM !h:X؁ :C+QQkAٓkMAAkA-SQAcQ3]R3gQ7Md!nvיtSٓ6]^:OJ)/`ܩ*ˮl*/P-eyM?HZMd . gV[ܯ2~3@^eoSYJzl-o ?kr˦e߹Qf0ޮ鐅 sne߹$(˨2_R6*˯2*yR^egyuAF}O.ζ:}5˦eu5˯3*Al]t} LTL6}מFQu2~'s-c u-Q+.N[},| Zzփѳ&m)gYBn/&)n[y/ϾA-or,|-jL_X̶Y.D1t]̶Y.0tDִNz9ˠ.U]7s-c {M ݊^LR̶_}De߸awc!;JV)ZUJwJ¯ B%h=UR(˦e߸awoiC Pz;J%bB%h=URҙFu vRbe+/֞{m&ό~'s-c r~K1(-QCD: AF]s8Q ZV]s񟼢 Zzփѳ&m)gYBn/&)n[y/¹~}in95&|` /cN9Q ]~'wgzփZT9tʼ˦7 إ-o%W2_oϭ"wy~zN҃ՠJsAh=URH ZUT9t 2黼?z6c!;JUTzDUZQSS(β݊^LR̶_s%6|mc|[ԙ4+;?yD1h=Rt!ZV26 rϺj!AJ˿>QQkAٓ3bs-\M>n5&|` /c*y!ϺAAkA-SToQw2맞7so%-k̯2:AU_ZOfjz*e:d|n752RֽrWuuA*yMd!|FS: Aꪔ](_ϲ@Jz9˦Rbe+/֐6'soJ!ZsAh:X؁˿{V:C~ 0QQkAٓ3bs-\M>K~&ό,ut+TCE߂t+CAAkA-S^e4+ho.7bs-c NhzN҃ՠJsAh=URH ZUT9t 2^FoiC Pz;J%bB%h=URҙFu vRbe+/֞{m&ό~ 0r{V-QCD: AF]P8W u-Q+.(PmV޵lɃJeP۱KɊ[KdߟZyǶźMI 4X *cj! `:7h:Js@]̺ *ctoiAKɊ[KdߟZB zN҃ՠJsAh=URH ZUT9t 2(Pmѽx] d'iAꪔ](xKA UJsJeP۱KɊ[KdߟZzysot>0P8Wr *cj!AC-Qu2~*'!Š%eߊIJ%h:ZF̘=Qem KmnRgM:y)!\$0tDִNz9ˠQFuu%^e.wRI^{}2Rֽn[$yw>PuNr-StV>A+Aꪔ.y)=Rt!ZV26 ~> u-Q+뎌3Juִ0{j^{hfbgyრ ޵t)]|7kϑ+iU]t}ҫ̺l>ζ9(=BH]yuJnE߉uJ!]W\A^eX.؝ϱDo[>ܔFQu2N[},|m>op%Š%r~K1(V޵lɃC5_op%)gYBn/&)n[y/ϾA-or,|-jL_X̶Y.D1t̶Y.: ZAh=RЫWt̶Y.63v)y1Kw2~}2 ~K1(:ZT9jtU)޺Q+,F@Jz9˦e߸awQY`N.6҃U)޺Q+w@A+Aꪔ.3bs-\M>n5&|` ]̶Y.u~'s-c Q ZT9h:tWwy~fRbe+/֑;?x8Q ZW+;?yDFfLuJN9 Qem Km?x[ԙ0E;?yD1tsQSNrU̺n9ޣ{M ݊^LR̶_s%6'wg(:ZT9jtU)޺Q+,F@Jz9˦(ˬ] d'tVyF}iAꪔ](xKA UJsJeP۱KɊ[KdߟZzysot>0.N9e߉?!AC-Qu2L<3v)y1Kw2~̗HT7Ί%r>QQkAٓkR> Qem Kmw>I3aaS|lNQ ] d'auoZu: A.F>U5KZ}ʙ]<黟c~o+̺l>ζ9(:ZT9jtU)޺Q+,F@Jz9ˡ݊^LR̶_s%6<}D: Qru-S+<:^FKɊ[KdߟZA:^FZbu_t+TA+AoZz6dT:^F3bs-\M>K~&ό,ut+TCC tDִNz9ˡW2^FoiAKɊ[KﱐH'K´= d'iAjz9SN҉X g27(VU)] d'tQY`N.6҃U)޺Q+w@A+Aꪔ.3bs-\M>n5&|` ]'K´u~ 0Q ZT9h:tW@_ {l3v)y1Kw2~̗HP8W:C(PmV޵lɃC5_|1eP۱KɊ[KdߟZyǶźMI 4X *cj!*cauoZu: A._ʼˠqB=F}tm Km(Pm(:ZT9jtU)޺Q+,F@Jz9ˠqB=@zu ޯ2o-(=URWt h!DNrL:;v)y1Kw2~̗OO=}nRg߅|1]P8WQ ZT9h:tWR~@m Km!מ|u-Q+V޵lɃC5_IHe2(@إ-o%W2_oϭ/u缧 t>0hyOQ ] d'auoZu: A.F>U5+Wu%ԹJHJH|X]Ȍ-Ŧ=  pzPpj!QQփ>0Zc ki$ {7I6s6$0u ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.runtimecontext_mi.htmli.htm$$ Method Index for com.ibm.connector.infrastructure.RuntimeContext

Constructor Index

RuntimeContext()

Method Index

close()
getConnectionManager()
getCoordinator()
getLogonInfo()
getRASService()
getSessionID()
setConnectionManager(ConnectionManager)
setCoordinator(Coordinator)
setLogonInfo(LogonInfo)
setRASService(RASService)
setSessionID(Identifier)
getCurrent()
removeCurrent()
setCurrent(RuntimeContext)
uoZu k^$|7I6s6$Pu./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.uniqueid.html$$ com.ibm.connector.infrastructure.UniqueID <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.infrastructure.uniqueid_dsc.html#_top_">com.ibm.connector.infrastructure.UniqueID (no frames)</a></b></p> </body> t k.$ |7I6s6$u ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.uniqueid_dsc.htmlhtml$$ Class com.ibm.connector.infrastructure.UniqueID

Class com.ibm.connector.infrastructure.UniqueID

java.lang.Object
   |
   +----com.ibm.connector.infrastructure.UniqueID

public class UniqueID
extends Object
implements Identifier

This class implements unique Identifier.


Constructor Index

UniqueID()
This method creates a unique Identifier.

Method Index

toBytes()
This method returns Identifier as an array of bytes.
toString()
Return Identifier as a String.

Constructors

UniqueID
 public UniqueID()
This method creates a unique Identifier.


Methods

toBytes
 public byte[] toBytes()
This method returns Identifier as an array of bytes.

toString
 public String toString()
Return Identifier as a String. This format of the Identifier should only be used if there is a need to generate hash code based on the Identifier.

Returns:
java.lang.String
Overrides:
toString in class Object

 k$|7I6s6$`u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.infrastructure.uniqueid_mi.htmlhtml$$ Method Index for com.ibm.connector.infrastructure.UniqueID

Constructor Index

UniqueID()

Method Index

toBytes()
toString()
>< k$|7I6r6$Pu./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.interactionspec.html$$ com.ibm.connector.InteractionSpec <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.interactionspec_dsc.html#_top_">com.ibm.connector.InteractionSpec (no frames)</a></b></p> </body>  k<$S|7I6r6$@uS./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.interactionspec_dsc.htmli.ht$$ Interface com.ibm.connector.InteractionSpec

Interface com.ibm.connector.InteractionSpec

public interface InteractionSpec

This interface defines the common interaction specification interface for all connectors. An interaction specification holds all request relevant properties.


/  kv$|75s6$pgj./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.interactionspec_mi.htmli.ht$$ Method Index for com.ibm.connector.InteractionSpec p kv $|7I6s6$@u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.interactionspecmodeproperties.htmlml$$ com.ibm.connector.InteractionSpecModeProperties <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.interactionspecmodeproperties_dsc.html#_top_">com.ibm.connector.InteractionSpecModeProperties (no frames)</a></b></p> </body> ib k $|7I6s6$v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.interactionspecmodeproperties_dsc.htmli.htm$$ Interface com.ibm.connector.InteractionSpecModeProperties

Interface com.ibm.connector.InteractionSpecModeProperties

public interface InteractionSpecModeProperties

This interface has to be implemented by the connector that supports different communication modes. The valid modes are:

  • MODE_SEND_RECEIVE
  • MODE_SEND
  • MODE_RECEIVE
For the relationship between input and output values and the mode see:

See Also:
execute

Variable Index

MODE_RECEIVE
MODE_SEND
MODE_SEND_RECEIVE

Method Index

getMode()
This method was created by a SmartGuide.
setMode(int)
This method was created by a SmartGuide.

Variables

MODE_SEND_RECEIVE
 public static final int MODE_SEND_RECEIVE
MODE_SEND
 public static final int MODE_SEND
MODE_RECEIVE
 public static final int MODE_RECEIVE

Methods

getMode
 public abstract int getMode()
This method was created by a SmartGuide.

Returns:
int
setMode
 public abstract void setMode(int aMode)
This method was created by a SmartGuide.

Parameters:
aMode - int

 k@ $|7I6s6$`u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.interactionspecmodeproperties_mi.htmli.htm$$ Method Index for com.ibm.connector.InteractionSpecModeProperties

Method Index

getMode()
setMode(int)

Variable Index

MODE_RECEIVE
MODE_SEND
MODE_SEND_RECEIVE
This k^i $}7I6s6$@v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.badinvorderexception.htmlml$$ com.ibm.connector.internal.BadInvOrderException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.badinvorderexception_dsc.html#_top_">com.ibm.connector.internal.BadInvOrderException (no frames)</a></b></p> </body> . k $z }7I6s6$ vz ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.badinvorderexception_dsc.htmli.htm$$ Class com.ibm.connector.internal.BadInvOrderException

Class com.ibm.connector.internal.BadInvOrderException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.internal.BadInvOrderException

public class BadInvOrderException
extends ConnectorException

This exception is a standard CORBA exception. It is thrown to show bad call order of resource methods.


Constructor Index

BadInvOrderException()
BadInvOrderException constructor comment.
BadInvOrderException(String)
BadInvOrderException constructor comment.

Constructors

BadInvOrderException
 public BadInvOrderException()
BadInvOrderException constructor comment.

BadInvOrderException
 public BadInvOrderException(String s)
BadInvOrderException constructor comment.

Parameters:
s - java.lang.String

Method Index for com.ibm.connector.internal.BadInvOrderException

Constructor Index

BadInvOrderException()
BadInvOrderException(String)
t k>$}7I6s6$Pv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.connectionmanager.html.html$$ com.ibm.connector.internal.ConnectionManager <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.connectionmanager_dsc.html#_top_">com.ibm.connector.internal.ConnectionManager (no frames)</a></b></p> </body>  k$}7I6s6$v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.connectionmanager_dsc.htmll$$ Interface com.ibm.connector.internal.ConnectionManager

Interface com.ibm.connector.internal.ConnectionManager

public interface ConnectionManager

This interface defines the common connection manager as seen by a connector. The Connection Manager manages connections based on the ConnectionSpec hashcode and, if the connection uses session, also the SessionID. The internal structure of the Conneciton Manager is illustrated on the following diagram

 ConnectionSpec class name
    |
    |-- ConnectionSpec hashCode
         |
         |---- hashCode_A
         |        |
                  |--- ConnectionOrganizer
                        |
                        |-- unsessionedUnused vector
                        |-- unsessionedUsed vector
                        |
                        |-- sessionID's
                              |
                              |-- sessionID_X
                              |    |
                                   |--- ConnectionOrganizer
                                          |
                                          |-- sessionedUnused vector
                                          |-- sessionedUsed vector
   

When the reserve(ManagedFactory managedFactory, ConnectionSpec connectionSpec) method is executed the first time with the particular ConnectionSpec, the corresponding entry is added to the hashtable, using hashCode as a key. Then, a new Managed is created using ManagedFactory. If there is a session, the Managed is added to sessionedUsed vector, based on the sessionID, or to unsessionedUsed otherwise. If the ConnectionSpec implements ConnectionSpecManagementProperties interface and the management properties have been set up to values other then defaults, the Connecton Manager sets up a garbage collector for the connections corresponding to the ConnectionSpec. If the ConnectionSpec entry exists in the hash table, the Connection Manager either reuses connection from the Unused vector or creates the new one using ManagedFactory.

When the release(Managed) method is executed, the connection is moved from the Used to the Unused vector. If the connection is not coordinated, the Connection Manager alse invokes prepareManagedForReuse() to move connection to reuse state.

The clearForSessionID(SessionID) method moves all the connections from the coordinatedUnused to uncoordinatedUnused vector, invoking prepareManagedForReuse() to move connection to reuse state. Before this method is called, all the coordinated connections should be released.

Garbage collector runs in the separate thread (one thread per ConnectionSpec) that wakes up at the interval specified in the ConnectionSpecManagementProperties.reapTime. During execution, it verifies that no connection has been in the unsessionedUnused vector longer than unusedTime. All such connections are removed from the vector unless the removal would reduce the number of connections below MinConnections.


Method Index

clearForSessionID(Identifier)
This method clears the used connections list of the coordinator identified by the CoordinationID.
release(Managed)
This method is called by a client to release the connection used by it exclusively.
reserve(ManagedFactory, ConnectionSpec)
This method reserves a connection for the caller and returns it for its exclusive use.

Methods

clearForSessionID
 public abstract void clearForSessionID(Identifier aSessionID)
This method clears the used connections list of the coordinator identified by the CoordinationID.

Parameters:
Identifier - aSessionID A session's unique identifier.
release
 public abstract void release(Managed managed)
This method is called by a client to release the connection used by it exclusively. Typically, this will be called by the disconnect method in the implementation of the communication interface.

Parameters:
managed - Managed The resource to release.
reserve
 public abstract Managed reserve(ManagedFactory managedFactory,
                                 ConnectionSpec connectionSpec) throws NoConnectionAvailableException
This method reserves a connection for the caller and returns it for its exclusive use. Typically, this will be called in the connect method of an implementation of the communication interface.

Parameters:
managedFactory - com.ibm.connector.internal.ManagedFactory
connectionSpec - com.ibm.connector.ConnectionSpec
Returns:
Managed com.ibm.connector.internal.Managed

) to  kZ$}7I6s6$`u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.connectionmanager_mi.htmll$$ Method Index for com.ibm.connector.internal.ConnectionManager

Method Index

clearForSessionID(Identifier)
release(Managed)
reserve(ManagedFactory, ConnectionSpec)
 k$#}7I6s6$@u#./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.defaultconnectionmanager.htmli.htm$$ com.ibm.connector.internal.DefaultConnectionManager <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.defaultconnectionmanager_dsc.html#_top_">com.ibm.connector.internal.DefaultConnectionManager (no frames)</a></b></p> </body> unica kx$}7I6s6$*v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.defaultconnectionmanager_dsc.htmltm$$ Class com.ibm.connector.internal.DefaultConnectionManager

Class com.ibm.connector.internal.DefaultConnectionManager

java.lang.Object
   |
   +----com.ibm.connector.internal.DefaultConnectionManager

public class DefaultConnectionManager
extends Object
implements ConnectionManager

An instance of this class is used by the runtime context in the case that no specific connection manager is specified.

The provided default behavior allows for a more convenient implementation of a connector.


Constructor Index

DefaultConnectionManager()

Method Index

clearForSessionID(Identifier)
This method clears the used connections list of the coordinator idenified by the CoordinationID.
release(Managed)
This method releases managed resource.
reserve(ManagedFactory, ConnectionSpec)
This method always returns a new created connection.

Constructors

DefaultConnectionManager
 public DefaultConnectionManager()

Methods

clearForSessionID
 public void clearForSessionID(Identifier aSessionID)
This method clears the used connections list of the coordinator idenified by the CoordinationID.

Parameters:
Identifier - aSessionID A session's unique identifier.
release
 public synchronized void release(Managed managed)
This method releases managed resource.

Parameters:
managed - Managed The resource to release.
reserve
 public synchronized Managed reserve(ManagedFactory managedFactory,
                                     ConnectionSpec connectionSpec) throws NoConnectionAvailableException
This method always returns a new created connection. The default coordinator uses the passed managed factory to do so.

Parameters:
managedFactory - ManagedFactory
connectionSpec - ConnectionSpec
Returns:
Managed com.ibm.connector.internal.Managed
Throws: NoConnectionAvailableException
Thrown if the connection cannot be created.

l kn*$a}7I6s6$P5va./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.defaultconnectionmanager_mi.htmltm$$ Method Index for com.ibm.connector.internal.DefaultConnectionManager

Constructor Index

DefaultConnectionManager()

Method Index

clearForSessionID(Identifier)
release(Managed)
reserve(ManagedFactory, ConnectionSpec)
com.ibm.connector.internal.HeuristicCommit <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.heuristiccommit_dsc.html#_top_">com.ibm.connector.internal.HeuristicCommit (no frames)</a></b></p> </body>  k꠩$ ~7I6s6$@v ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.heuristiccommit_dsc.htmlmi.$$ Class com.ibm.connector.internal.HeuristicCommit

Class com.ibm.connector.internal.HeuristicCommit

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.internal.ResourceException
                                           |
                                           +----com.ibm.connector.internal.HeuristicCommit

public class HeuristicCommit
extends ResourceException

Exception thrown to report that a heuristic decision was made and that all relevant updates have been commited.


Constructor Index

HeuristicCommit()
HeuristicCommit constructor comment.
HeuristicCommit(String)
HeuristicCommit constructor comment.

Constructors

HeuristicCommit
 public HeuristicCommit()
HeuristicCommit constructor comment.

HeuristicCommit
 public HeuristicCommit(String s)
HeuristicCommit constructor comment.

Parameters:
s - java.lang.String

t kZL$~7I6s6$`;v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.heuristiccommit_mi.htmlmi.$$ Method Index for com.ibm.connector.internal.HeuristicCommit

Constructor Index

HeuristicCommit()
HeuristicCommit(String)
s com.ibm.connector.internal.HeuristicHazard <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.heuristichazard_dsc.html#_top_">com.ibm.connector.internal.HeuristicHazard (no frames)</a></b></p> </body> :` kT$ ~7I6s6$Gv ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.heuristichazard_dsc.htmlmi.$$ Class com.ibm.connector.internal.HeuristicHazard

Class com.ibm.connector.internal.HeuristicHazard

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.internal.ResourceException
                                           |
                                           +----com.ibm.connector.internal.HeuristicHazard

public class HeuristicHazard
extends ResourceException

This exception is raised when the heuristic decision was made.


Constructor Index

HeuristicHazard()
HeuristicHazard constructor comment.
HeuristicHazard(String)
HeuristicHazard constructor comment.

Constructors

HeuristicHazard
 public HeuristicHazard()
HeuristicHazard constructor comment.

HeuristicHazard
 public HeuristicHazard(String s)
HeuristicHazard constructor comment.

Parameters:
s - java.lang.String

DTH="1 k$~7I6s6$`Nv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.heuristichazard_mi.htmlmi.$$ Method Index for com.ibm.connector.internal.HeuristicHazard

Constructor Index

HeuristicHazard()
HeuristicHazard(String)
s com.ibm.connector.internal.HeuristicMixed <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.heuristicmixed_dsc.html#_top_">com.ibm.connector.internal.HeuristicMixed (no frames)</a></b></p> </body>  k{$ ~7I6s6$Vv ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.heuristicmixed_dsc.htmlmi.$$ Class com.ibm.connector.internal.HeuristicMixed

Class com.ibm.connector.internal.HeuristicMixed

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.internal.ResourceException
                                           |
                                           +----com.ibm.connector.internal.HeuristicMixed

public class HeuristicMixed
extends ResourceException

Exception thrown to report that a heuristic decision was made and that some updates have been commited and others rolled back.


Constructor Index

HeuristicMixed()
HeuristicMixed constructor comment.
HeuristicMixed(String)
HeuristicMixed constructor comment.

Constructors

HeuristicMixed
 public HeuristicMixed()
HeuristicMixed constructor comment.

HeuristicMixed
 public HeuristicMixed(String s)
HeuristicMixed constructor comment.

Parameters:
s - java.lang.String

 kj$~7I6s6$`(v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.heuristicmixed_mi.htmlmi.$$ Method Index for com.ibm.connector.internal.HeuristicMixed

Constructor Index

HeuristicMixed()
HeuristicMixed(String)
las k($~7I6s6$P]v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.heuristicrollback.htmlmi.$$ com.ibm.connector.internal.HeuristicRollback <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.heuristicrollback_dsc.html#_top_">com.ibm.connector.internal.HeuristicRollback (no frames)</a></b></p> </body>  kB$~7I6s6$`v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.heuristicrollback_dsc.html.$$ Class com.ibm.connector.internal.HeuristicRollback

Class com.ibm.connector.internal.HeuristicRollback

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.internal.ResourceException
                                           |
                                           +----com.ibm.connector.internal.HeuristicRollback

public class HeuristicRollback
extends ResourceException

Exception thrown to report that a heuristic decision was made and that all relevant updates have been rolled back.


Constructor Index

HeuristicRollback()
HeuristicRollback constructor comment.
HeuristicRollback(String)
HeuristicRollback constructor comment.

Constructors

HeuristicRollback
 public HeuristicRollback()
HeuristicRollback constructor comment.

HeuristicRollback
 public HeuristicRollback(String s)
HeuristicRollback constructor comment.

Parameters:
s - java.lang.String

c k4 $7I6s6$`hv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.heuristicrollback_mi.html.$$ Method Index for com.ibm.connector.internal.HeuristicRollback

Constructor Index

HeuristicRollback()
HeuristicRollback(String)
ref="a k!$7I6s6$Pjv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.logoninfoitems.html$$ com.ibm.connector.internal.LogonInfoItems <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.logoninfoitems_dsc.html#_top_">com.ibm.connector.internal.LogonInfoItems (no frames)</a></b></p> </body>  kz"$7I6s6$mv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.logoninfoitems_dsc.htmll.$$ Class com.ibm.connector.internal.LogonInfoItems

Class com.ibm.connector.internal.LogonInfoItems

java.lang.Object
   |
   +----com.ibm.connector.internal.LogonInfoItems

public class LogonInfoItems
extends Object

This class is the superclass for all connector specific LogonInfoItem classes. It defines the way in which the connector accesses its specific security items.


Variable Index

PASSWORD
USER

Constructor Index

LogonInfoItems(LogonInfo)
This method creates new LogonInfoItem object.

Method Index

getLogonInfo()
This method returns the LogonInfo object used to carry out all of the LogonInfoItems access methods.
getPassword()
This method returns the password.
getUser()
This method returns the user.
setPassword(String)
This method sets the password.
setUser(String)
This method sets the user.

Variables

USER
 public static String USER
PASSWORD
 public static String PASSWORD

Constructors

LogonInfoItems
 public LogonInfoItems(LogonInfo aLogonInfo)
This method creates new LogonInfoItem object.

Parameters:
aLogonInfo - com.ibm.connector.infrastructure.LogonInfo

Methods

getLogonInfo
 public LogonInfo getLogonInfo()
This method returns the LogonInfo object used to carry out all of the LogonInfoItems access methods.

Returns:
LogonInfo
getPassword
 public String getPassword()
This method returns the password.

Returns:
java.lang.String
getUser
 public String getUser()
This method returns the user.

Returns:
java.lang.String
setPassword
 public void setPassword(String aPassword)
This method sets the password.

Parameters:
aPassword - java.lang.String
setUser
 public void setUser(String aUser)
This method sets the user.

Parameters:
aUser - java.lang.String

w k#$87I6s6$PPv8./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.logoninfoitems_mi.htmll.$$ Method Index for com.ibm.connector.internal.LogonInfoItems

Constructor Index

LogonInfoItems(LogonInfo)

Method Index

getLogonInfo()
getPassword()
getUser()
setPassword(String)
setUser(String)

Variable Index

PASSWORD
USER
 kޙ$$7I6r6$PSv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.managed.htmls_mi.ht$$ com.ibm.connector.internal.Managed <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.managed_dsc.html#_top_">com.ibm.connector.internal.Managed (no frames)</a></b></p> </body> it k /%$7I6s6$v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.managed_dsc.html.ht$$ Interface com.ibm.connector.internal.Managed

Interface com.ibm.connector.internal.Managed

public interface Managed

This interface has to be implemented by manageable connections.


Method Index

destroyManaged()
This method allows a connection manager to destroy a managed connection.
getConnectionSpec()
This method returns ConnectionSpec object of this connection.
isDirty()
This method tells if the managed connection is dirty.
isInUse()
This method returns whether the connection is managed.
prepareManagedForReuse()
This method prepares resource to be reused.
setConnectionSpec(ConnectionSpec)
This method sets the ConnectionSpec object of this connection.

Methods

destroyManaged
 public abstract void destroyManaged()
This method allows a connection manager to destroy a managed connection. It is, for example, used in cases where the connection manager reduces the number of the connections managed by it.

getConnectionSpec
 public abstract ConnectionSpec getConnectionSpec()
This method returns ConnectionSpec object of this connection.

Returns:
com.ibm.connector.ConnectionSpec
isDirty
 public abstract boolean isDirty()
This method tells if the managed connection is dirty. isDirty returns true after a CommunicationException occured, so a connection manager can take care of destroying it.

Returns:
boolean
isInUse
 public abstract boolean isInUse()
This method returns whether the connection is managed.

Returns:
s boolean
prepareManagedForReuse
 public abstract void prepareManagedForReuse()
This method prepares resource to be reused.

setConnectionSpec
 public abstract void setConnectionSpec(ConnectionSpec aConnectionSpec)
This method sets the ConnectionSpec object of this connection.

Parameters:
aConnectionSpec - com.ibm.connector.ConnectionSpec

m.conne kV9&$#7I6s6$Pv#./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.managed_mi.html.ht$$ Method Index for com.ibm.connector.internal.Managed

Method Index

destroyManaged()
getConnectionSpec()
isDirty()
isInUse()
prepareManagedForReuse()
setConnectionSpec(ConnectionSpec)
om.ib kb'$7I6s6$Pv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.managedfactory.html$$ com.ibm.connector.internal.ManagedFactory <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.managedfactory_dsc.html#_top_">com.ibm.connector.internal.ManagedFactory (no frames)</a></b></p> </body> ed conn kꬉ($1 7I6s6$ v1 ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.managedfactory_dsc.htmll.$$ Interface com.ibm.connector.internal.ManagedFactory

Interface com.ibm.connector.internal.ManagedFactory

public interface ManagedFactory

This interface defines a generic way for a connection manager to generate a connection. A connector has to implement a managed factory for its managed connection.


Method Index

createManaged(ConnectionSpec)
This method creates a new managed connection based on connection specification passed as argument.

Methods

createManaged
 public abstract Managed createManaged(ConnectionSpec aConnectionSpec)
This method creates a new managed connection based on connection specification passed as argument.

Parameters:
aConnectionSpec - ConnectionSpec
Returns:
com.ibm.connector.internal.Managed

[ S k4t)$;7I6s6$`v;./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.managedfactory_mi.htmll.$$ Method Index for com.ibm.connector.internal.ManagedFactory

Method Index

createManaged(ConnectionSpec)
.html k*$7I6s6$Pv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.notprepared.html.ht$$ com.ibm.connector.internal.NotPrepared <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.notprepared_dsc.html#_top_">com.ibm.connector.internal.NotPrepared (no frames)</a></b></p> </body> teMana kF+$I 7I6s6$vI ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.notprepared_dsc.htmlll.$$ Class com.ibm.connector.internal.NotPrepared

Class com.ibm.connector.internal.NotPrepared

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.internal.ResourceException
                                           |
                                           +----com.ibm.connector.internal.NotPrepared

public class NotPrepared
extends ResourceException

This class was generated by a SmartGuide.


Constructor Index

NotPrepared()
NotPrepared constructor comment.
NotPrepared(String)
NotPrepared constructor comment.

Constructors

NotPrepared
 public NotPrepared()
NotPrepared constructor comment.

NotPrepared
 public NotPrepared(String s)
NotPrepared constructor comment.

Parameters:
s - java.lang.String

>Return k,$7I6t6$`v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.notprepared_mi.html$$ Method Index for com.ibm.connector.internal.NotPrepared

Constructor Index

NotPrepared()
NotPrepared(String)
 k@-$7I6t6$Pxv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.resource.html.html$$ com.ibm.connector.internal.Resource <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.resource_dsc.html#_top_">com.ibm.connector.internal.Resource (no frames)</a></b></p> </body> |  k6.$G7I6t6$vG./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.resource_dsc.htmll$$ Interface com.ibm.connector.internal.Resource

Interface com.ibm.connector.internal.Resource

public interface Resource

This interface defines the common resource interface for all connectors as seen by a coordinator.


Variable Index

VOTECOMMIT
VOTEREADONLY
VOTEROLLBACK

Method Index

commit()
This method will tell the resource that its state is valid and that it is no longer needed.
commitOnePhase()
This method commits the work using one phase commit protocol.
forget()
This method is called to tell the resource manager to forget about heuristically completed transactions.
isTwoPhaseCapable()
This method tells whether the resource supports the two phase commit protocol.
prepare()
This method asks the resource whether its state is valid and if a subsequent call to commit would succeed.
rollback()
This method will tell the resource that its state is invalid and that it is no longer needed.

Variables

VOTECOMMIT
 public static final int VOTECOMMIT
VOTEROLLBACK
 public static final int VOTEROLLBACK
VOTEREADONLY
 public static final int VOTEREADONLY

Methods

commit
 public abstract void commit() throws HeuristicMixed, HeuristicHazard, NotPrepared, HeuristicRollback
This method will tell the resource that its state is valid and that it is no longer needed.

commitOnePhase
 public abstract void commitOnePhase() throws HeuristicHazard, TransactionRolledBack
This method commits the work using one phase commit protocol.

forget
 public abstract void forget()
This method is called to tell the resource manager to forget about heuristically completed transactions.

isTwoPhaseCapable
 public abstract boolean isTwoPhaseCapable()
This method tells whether the resource supports the two phase commit protocol.

Returns:
boolean
prepare
 public abstract int prepare() throws HeuristicMixed, HeuristicHazard
This method asks the resource whether its state is valid and if a subsequent call to commit would succeed.

Throws: HeuristicMixed
Thrown if connection error occurs.
Throws: HeuristicHazard
Thrown if connection error occurs.
rollback
 public abstract void rollback() throws HeuristicMixed, HeuristicHazard, HeuristicCommit
This method will tell the resource that its state is invalid and that it is no longer needed.


e kJ/$7I6t6$P{v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.resource_mi.htmll$$ Method Index for com.ibm.connector.internal.Resource

Method Index

commit()
commitOnePhase()
forget()
isTwoPhaseCapable()
prepare()
rollback()

Variable Index

VOTECOMMIT
VOTEREADONLY
VOTEROLLBACK
ml#_to k &0$7I6t6$Pv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.resourceexception.htmll.$$ com.ibm.connector.internal.ResourceException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.resourceexception_dsc.html#_top_">com.ibm.connector.internal.ResourceException (no frames)</a></b></p> </body>  k\[1$ 7I6t6$v ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.resourceexception_dsc.html.$$ Class com.ibm.connector.internal.ResourceException

Class com.ibm.connector.internal.ResourceException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.internal.ResourceException

public class ResourceException
extends ConnectorException

This exception is thrown when there is a problem with the resource.


Constructor Index

ResourceException()
ResourceException constructor comment.
ResourceException(String)
ResourceException constructor comment.

Constructors

ResourceException
 public ResourceException()
ResourceException constructor comment.

ResourceException
 public ResourceException(String s)
ResourceException constructor comment.

Parameters:
s - java.lang.String

 k2$7I6t6$`~v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.resourceexception_mi.html.$$ Method Index for com.ibm.connector.internal.ResourceException

Constructor Index

ResourceException()
ResourceException(String)
ref="a k263$7I6t6$@v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.transactionrolledback.html.$$ com.ibm.connector.internal.TransactionRolledBack <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.internal.transactionrolledback_dsc.html#_top_">com.ibm.connector.internal.TransactionRolledBack (no frames)</a></b></p> </body> m.ib k 4$}7I6t6$v}./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.transactionrolledback_dsc.htmlltm$$ Class com.ibm.connector.internal.TransactionRolledBack

Class com.ibm.connector.internal.TransactionRolledBack

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.internal.ResourceException
                                           |
                                           +----com.ibm.connector.internal.TransactionRolledBack

public class TransactionRolledBack
extends ResourceException

This exception is raised when the transaction associated with the processing of the request has been rolled back.


Constructor Index

TransactionRolledBack()
Transaction_RolledBack constructor comment.
TransactionRolledBack(String)
Transaction_RolledBack constructor comment.

Constructors

TransactionRolledBack
 public TransactionRolledBack()
Transaction_RolledBack constructor comment.

TransactionRolledBack
 public TransactionRolledBack(String s)
Transaction_RolledBack constructor comment.

Parameters:
s - java.lang.String

haz kl5$7I6t6$`v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.internal.transactionrolledback_mi.htmlltm$$ Method Index for com.ibm.connector.internal.TransactionRolledBack

Constructor Index

TransactionRolledBack()
TransactionRolledBack(String)
Al kg6$7I6t6$Pv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.invalidtransactionexception.html.htm$$ com.ibm.connector.InvalidTransactionException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.invalidtransactionexception_dsc.html#_top_">com.ibm.connector.InvalidTransactionException (no frames)</a></b></p> </body>  k\7$ 7I6t6$v ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.invalidtransactionexception_dsc.html$$ Class com.ibm.connector.InvalidTransactionException

Class com.ibm.connector.InvalidTransactionException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.InvalidTransactionException

public class InvalidTransactionException
extends ConnectorException

This class was generated by a SmartGuide.


Constructor Index

InvalidTransactionException()
InvalidTransactionException constructor comment.
InvalidTransactionException(String)
InvalidTransactionException constructor comment.

Constructors

InvalidTransactionException
 public InvalidTransactionException()
InvalidTransactionException constructor comment.

InvalidTransactionException
 public InvalidTransactionException(String s)
InvalidTransactionException constructor comment.

Parameters:
s - java.lang.String

All k8$7I6t6$`v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.invalidtransactionexception_mi.html$$ Method Index for com.ibm.connector.InvalidTransactionException

Constructor Index

InvalidTransactionException()
InvalidTransactionException(String)
s com.ibm.connector.LogonException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.logonexception_dsc.html#_top_">com.ibm.connector.LogonException (no frames)</a></b></p> </body> eptio k4:$u 7I6t6$vu ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.logonexception_dsc.htmlion_m$$ Class com.ibm.connector.LogonException

Class com.ibm.connector.LogonException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.LogonException

public class LogonException
extends ConnectorException

This exception is thrown when a logon fails.


Constructor Index

LogonException()
LogonException constructor comment.
LogonException(String)
LogonException constructor comment.

Constructors

LogonException
 public LogonException()
LogonException constructor comment.

LogonException
 public LogonException(String s)
LogonException constructor comment.

Parameters:
s - java.lang.String

/nu k<;$z7I6t6$`vz./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.logonexception_mi.htmlion_m$$ Method Index for com.ibm.connector.LogonException

Constructor Index

LogonException()
LogonException(String)
ml">Al k@<$ 7I6t6$@v ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.noconnectionavailableexception.html$$ com.ibm.connector.NoConnectionAvailableException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.noconnectionavailableexception_dsc.html#_top_">com.ibm.connector.NoConnectionAvailableException (no frames)</a></b></p> </body> ion  k8=$ 7I6t6$v ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.noconnectionavailableexception_dsc.htmlltm$$ Class com.ibm.connector.NoConnectionAvailableException

Class com.ibm.connector.NoConnectionAvailableException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.NoConnectionAvailableException

public class NoConnectionAvailableException
extends ConnectorException

This exception is thrown if the communication is unable to create a connection.


Constructor Index

NoConnectionAvailableException()
NoConnectionAvailableException constructor comment.
NoConnectionAvailableException(String)
NoConnectionAvailableException constructor comment.

Constructors

NoConnectionAvailableException
 public NoConnectionAvailableException()
NoConnectionAvailableException constructor comment.

NoConnectionAvailableException
 public NoConnectionAvailableException(String s)
NoConnectionAvailableException constructor comment.

Parameters:
s - java.lang.String

et="co k%>$7I6t6$`v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.noconnectionavailableexception_mi.htmlltm$$ Method Index for com.ibm.connector.NoConnectionAvailableException

Constructor Index

NoConnectionAvailableException()
NoConnectionAvailableException(String)
td> com.ibm.connector.NotConnectedException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.connector.notconnectedexception_dsc.html#_top_">com.ibm.connector.NotConnectedException (no frames)</a></b></p> </body>  k0@$G 7I6t6$wG ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.notconnectedexception_dsc.htmlmi.htm$$ Class com.ibm.connector.NotConnectedException

Class com.ibm.connector.NotConnectedException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.connector.ConnectorException
                                   |
                                   +----com.ibm.connector.NotConnectedException

public class NotConnectedException
extends ConnectorException

This exception is thrown when a disconnect is issued against a not connected communication.


Constructor Index

NotConnectedException()
NotConnectedException constructor comment.
NotConnectedException(String)
NotConnectedException constructor comment.

Constructors

NotConnectedException
 public NotConnectedException()
NotConnectedException constructor comment.

NotConnectedException
 public NotConnectedException(String s)
NotConnectedException constructor comment.

Parameters:
s - java.lang.String

m kdA$7I6t6$`v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.connector.notconnectedexception_mi.htmlmi.htm$$ Method Index for com.ibm.connector.NotConnectedException

Constructor Index

NotConnectedException()
NotConnectedException(String)
es.ht kB$ 7 I6t6$@w ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.businessobject.html.htm$$ com.ibm.ivj.eab.businessobject.BusinessObject <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.businessobject_dsc.html#_top_">com.ibm.ivj.eab.businessobject.BusinessObject (no frames)</a></b></p> </body> m.conne l|*C$N27 I6t6$ w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.businessobject_dsc.html$$    aest <>bcdhilnor./gjmpuy"=fv(),COPw#-:BIKST_k '04AFLRVq13;EHx589MNW!&+2?DGJz|7UYH&ivYG<qۭҡ8D)K)K%^׍bD( DvJ;q"s)AUwn <Nj 2QێAb;%`/Gv^~H :@ .7:oYM<3F0P@  8?`JtVgd(g$k1,f 3 Y6A>ajA;+M!$@ , }D  Bt׍bD6E)#ҐADHh'ipM1"atā"Mk@@ RpS"HȱӱBD2E 3Œ5YdMFYdMFv \Ep`=+b݌* ):jGttP2x3PpVeGttPFT( 8s[&n$zRGªRG֩#ԃ}ԑjAt"⩖$EM\޽!H?ᐬ3PHKfcyY6f>7mqR#Is ء"qgb&Ш4MB (h] fzRZ $ E 3Œ5YdMFfڐtjA)-r\K͝3{!Y+P,|o05d5#H?n ۋsf򋅕qء""zc,|o2K&٣=fcyY673" fzR$ ?;!Y)묾u |+!f>7,f 1%lTp]fcyPos H_dh_`f>7m?d4E[̉U"Bx7>ʭ|G|PO]u`,|o05d7;sL~~ s.Uo+믶Q޳1%lQ,dgߝ>v߲b ||ů`o9Vge\w믊! ĀRdW,Td7Q͙LdW޳1%l{!Y|=c.UqY`jɶh6S/[;d+1eA#믬|o3d7yE_~PEqm 2Zh%#Sѐ~=\ݹ{ lJt AP !(g,2$m2$mn0giPVMBB(f>7mA!H?kU=FC{%͔٘'ul?9_~ t)K R޺MȶZK`-ɮء""zc,|o2K&٣,|o2K&١vE5ӑw=41, ~mM u:r.禆:E͸„*Ȼ?6sHȻ?6s AKZ~r]&ks.r.:E?6s>"zoc$_w nMwN 3PHKfcyY6fcyY673 FB)m#҂B֫J/U"f>7mxd7;f>7mG铍/FeN_=vHx|ymڋ/<}uU6]2Qoh_\Ta|[ mEʨ nMwN 3PHKfcyY6fcyY673,2$к Y6 ̨bGf W_]}fcyK&پS<]d7=r4E3Y6 P~Qٰ7SmAE>>sT(̿*077f>7mڋ/smEeQo٣ nMwN 3PHKfcyY6fcyY673>v9sCQ"It4*$ پ$h] fh] fPç"zhc$ZGo|5d4/f W?9Wx.r.:EqѐtT&bd(g$k1,f1,fT^lА "fzPHRZ~ f>7mߞU"f>7mU>7%lіf>7%lЃq;J!9s@M Q `v (Bӑw=4=پ$ Wm铎tMl̴6+.r.뾺q@GK$WPHm^Z{AP !(g,2$m2$mn0giPNʐ顎`cn70h] ӑw=41, ~m!S.ç"zhc$Xۍ#҂C"zhc$Xۍ)-jʽteH]\]MuD~mJ}ETHb;QlAP !(g,2$m2$mn0giPe6 d(g$k1,f flС mA Y`jɶh6 AKZ׹xپK&ټȻ_Ygɶh:[]ӱBD2E 3Œ5YdMFYdMB *;f![ v!#҂B֫{IwN9f>7m͛G;ˎ־QH킐t׍bD H.%H?uM^ Jt׍bD9sCQ")#ҐtEETH .v9mmgQwNETHq).r.禆:Eڐt׍bD2Q͙O)#ҐtjK J91)MxV$@,|o05d4B=)MxV$@,|o05d4$(B=)J 3 Y6HRjAf.gf ڐt AKZsQG6f3e>mmE+럈?d+0nnN_>B/r\FCP~G6f3e>Qw˜Ѹ0W_d+3Q-}6Yy6G6f3e1t# A^4UUJA.T7qHTh"Ȼ?6s &˺ 9sCQ"naBH:VkC"zhc$Xۍ#H:K嘸= 9E r{}5ӑw=41, ~m9sCQ"n~͸t\H:[ Wʽt\Ȼۍϊ˜齎~w>$ R[ V{sRGZKZn|\]MuD~m^ѐ;`֩H킐t׍bD2RG Z F:ԃڐ~Y>5m FBt\H:[ W Q-fcyK&پwCs?]}fcyK&٨?]$yޙ8Bf_d#d77q ͨW_*!YE_|sj,-uJvžPY|2Z~ J޳1%l;섣mxFe2K&ٸ2BA,!_]}fcyK&ٽzdm{J;O}uy,f˜^(?dɾ$}s/os;'o|sn2ԃIl[Z'$uY~BQW ]}fcyK&٣ Vw9 ]5;$@0ÒЌPкɶhA FB)m#һ &٨?RGkTvH:kƊ",2$к Y6 JAҵXeC:ԃڐ~Y>5JQPՓl%lФ#;RH?kU7m27}`om̧ڃ"$}u|#f)̨?M Q]sUh?`oo|o3d79_.ڋ/t A!YF^Q!_]Cߞ2\mAwsw=7/ػ R[ V{sRGZKZ\]M*'|ȻEX?WT _ !_]|Ȼ2kUau@uP2}u"zh?RGkTvH:kƊ"١!BH:V/AjGZt;R˜ٶ)ttP C=e dtf>7%lў1,flЃq;J !, !@Y`jɶh6HE6 A9s l\+믬|o3d7=r4E|o3d4/럜I?铎}uy,f6oɶh2q#f~ڋ/W_d+3jȽ١)Mx$vItK`WJޙ8)#H?W_Ygɶh#f,fOmA#M vIR *Ĉ"fBB)#ҐtD^lVbGZt;R1p{8ơ!Ym A9s l\ 2qϮVg1%l8FAY&ڢd &ڻ}uy,f2%Thh:KRZ%RnjoLp֤֫믬|o3d4ϵ2/z4Ubhdjim]s~X?RGkTvH:kƊ"'eH]NETH1I4.]p`Ȼ?6s JAҵNʐ顎`cn74 .vb|6,t*.ç"zhc$Xۍ$:r.禆:E͸q ڐt AKZsz7ʐ\Ȼۍϊ˜齎~w>$ R[ V{sRGZKZn|\]MuD~m^vT?RGkTvH:kƊ"2fE 3Œ5YdMFVMAhP$zR/AjGZt;R˜ٶ)qr{~^lДtP C=e dtf>7%lў1,flЃq;J !, !@Y`jɶh6HBr ,2 *$(:G.v-֫s믐w|Mysw=7;/1%lѐ~=ͨ}uB=fy <]DŽleA/Vg铍E6 f $vH:Glh#dپ$RG Z@BGZt;R1p{8;f@@HR˝K`?9W|Ls믬|o3d4ϛ7ď;.w|2ԃIl[Z'$u3Y6#˝k_([ZE:ԃZttP 8KB3CBhTHK&١vo!Bl=+=m$vH:GlR_<7.)$@# .$@#|H ӳRuNP_jd^#v(HHxFX3̒ɶh3̒ɶhҠ!@( 2GttP;@B!Y>ScH"B/v  ̼H"W;JPpnzx޺MďJHUB H$}􏴸Z;^-H:&baw "3jd^Gn:!IyD|awD^YB:6Ĉp 8  xI riA;)A kD$x7 I6t6$0%wx./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.businessobject_mi.html$$ Method Index for com.ibm.ivj.eab.businessobject.BusinessObject

Constructor Index

BusinessObject()

Method Index

addPropertyChangeListener(PropertyChangeListener)
clone()
equals(Object)
firePropertyChange(String, Object, Object)
getKey()
getKeyClass()
hashCode()
isPropertyValid(String)
removePropertyChangeListener(PropertyChangeListener)
setKey(IBusinessObjectKey)
toString()

Field Index

propertyChange
 kꆽE$7 I6t6$@-w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.businessobjectkey.html$$ com.ibm.ivj.eab.businessobject.BusinessObjectKey <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.businessobjectkey_dsc.html#_top_">com.ibm.ivj.eab.businessobject.BusinessObjectKey (no frames)</a></b></p> </body>  kF$)7 I6t6$@w)./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.businessobjectkey_dsc.htmlltm$$ Class com.ibm.ivj.eab.businessobject.BusinessObjectKey

Class com.ibm.ivj.eab.businessobject.BusinessObjectKey

java.lang.Object
   |
   +----com.ibm.ivj.eab.businessobject.BusinessObjectKey

public abstract class BusinessObjectKey
extends Object
implements IBusinessObjectKey

This class defines the base behavior of all business object keys. A key is able to locate its target, a business object, in the object space held by the InstanceSpaceHolder class.

In order to make use of default business object management, you are required to subclass directly or indirectly from this class. Your key class name must be the name of the target business object class, with a "Key" appended at the end. Your key class must be in the same package as your target business object class, and you must implement the following:

  • public setters for the targets key properties
  • optionally getters for those properties
  • the public getKeyProperties() method, see its method comment for details.


Constructor Index

BusinessObjectKey()
This default constructor creates a new instance of this class.

Method Index

clone()
Return the clone of the BusinessObjectKey
equals(Object)
Two keys are equals if they share the same class and the same number of properties, and all their properties are equal.
getPropertyString()
This method returns the string representation of the business object key's properties.
getPropertyValues()
Returns the business object key's key property values in an array.
getTarget(boolean)
Searches the object space set in the InstanceSpaceHolder class for a business object of a class that equals getTargetClass(), and that has the business object key as a key.
getTargetClass()
Returns the class of the managed business object returned by getTarget(boolean).
hashCode()
The hash code of the business object key is determined by combining the hash codes of all its properties.
toString()
This method returns the business object key's string representation.

Constructors

BusinessObjectKey
 public BusinessObjectKey()
This default constructor creates a new instance of this class. When creating subclasses, a public default constructor should be provided.


Methods

clone
 public Object clone()
Return the clone of the BusinessObjectKey

Returns:
java.lang.Object - return the clone.
Overrides:
clone in class Object
equals
 public final boolean equals(Object object)
Two keys are equals if they share the same class and the same number of properties, and all their properties are equal.

This method makes use of the getPropertyValues() method, and will deliver wrong results if the mentioned method is not implemented properly.

Parameters:
object - the object to be compared to the business object key.
Returns:
true if the business object key and the given object are equal, false otherwise.
Overrides:
equals in class Object
getPropertyString
 protected String getPropertyString()
This method returns the string representation of the business object key's properties.

Returns:
the business object key's properties string representation.
getPropertyValues
 protected abstract Object[] getPropertyValues()
Returns the business object key's key property values in an array. Property values that are base types have to be wrapped in the according java wrappers.

You must implement this method for all your key subclasses. The order of the properties inside the array is irrelevant as long as it is preserved for all instances of the business object key's class. In case the business object key has no properties, an empty array must be returned.

Sample implementations:

public Object[] getPropertyValues() { return new Object[] { this.getNumber(), this.getDepartment() }; }

public Object[] getPropertyValues() { return new Object[] { new Integer(this.getNumber()) }; }

public Object[] getPropertyValues() { return new Object[0]; }

Returns:
the business object key's key property values in an array.
getTarget
 public final synchronized IBusinessObject getTarget(boolean registerIfNotFound)
Searches the object space set in the InstanceSpaceHolder class for a business object of a class that equals getTargetClass(), and that has the business object key as a key. If a matching object is found, it is returned. If none is found, behavior depends on the given registerIfNotFound flag:
  • If the flag is true, a new business object instance with the business object key as key is created and registered in the object space.
  • If the flag is false, null is returned and no registration in the object space takes place.

Additionally, null is always returned when an error occurs while creating a new target business object instance.

Parameters:
registerIfNotFound - flag to indicate whether to register the business object or not.
Returns:
an instance of the class returned by getTargetClass() or null.
getTargetClass
 public final Class getTargetClass() throws ClassNotFoundException
Returns the class of the managed business object returned by getTarget(boolean). This class is determined by searching for a class which has the same name as the business object key's class without the trailing "Key" part.

Returns:
the business object key's target business object class.
Throws: ClassNotFoundException
thrown if the target class does not exist.
hashCode
 public final int hashCode()
The hash code of the business object key is determined by combining the hash codes of all its properties. If the business object key has no properties, 0 is returned.

Returns:
the business object key's hash code.
Overrides:
hashCode in class Object
toString
 public String toString()
This method returns the business object key's string representation.

Returns:
the business object key's string representation.
Overrides:
toString in class Object

rd k.1G$7 I6t6$P1w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.businessobjectkey_mi.htmlltm$$ Method Index for com.ibm.ivj.eab.businessobject.BusinessObjectKey

Constructor Index

BusinessObjectKey()

Method Index

clone()
equals(Object)
getPropertyString()
getPropertyValues()
getTarget(boolean)
getTargetClass()
hashCode()
toString()
is meth kH$@7 I6t6$@4w@./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.contextbasedinstancespace.htmlm$$ com.ibm.ivj.eab.businessobject.ContextBasedInstanceSpace <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.contextbasedinstancespace_dsc.html#_top_">com.ibm.ivj.eab.businessobject.ContextBasedInstanceSpace (no frames)</a></b></p> </body>  kI$7 I6t6$Uw./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.contextbasedinstancespace_dsc.htmlhtml$$ Class com.ibm.ivj.eab.businessobject.ContextBasedInstanceSpace

Class com.ibm.ivj.eab.businessobject.ContextBasedInstanceSpace

com.ibm.ivj.eab.businessobject.ContextBasedInstanceSpace

public abstract class ContextBasedInstanceSpace
implements IInstanceSpace

This structured instance space implementation handles the instances of each context in different instance spaces. Subclasses have to overwrite the abstract method getConextID() to specifiy the context.


Constructor Index

ContextBasedInstanceSpace()
This default constructor creates a new instance of this class.

Method Index

addInstance(Object)
This method adds the given object to the instance space.
getContextID()
This method returns a context id.
getInstance(Object)
This method returns the element that equals the given object or null if none exists.
getInstances()
This method returns the instances managed by the instance space.
removeAllInstances()
This method removes all instances of the context returned by getContextID() from the instance space.
removeInstance(Object)
This method removes the given object from the instance space of the context returned by getContextID().

Constructors

ContextBasedInstanceSpace
 public ContextBasedInstanceSpace()
This default constructor creates a new instance of this class.


Methods

addInstance
 public final Object addInstance(Object instance)
This method adds the given object to the instance space.

Parameters:
instance - The object to add to the instance space.
Returns:
The object added to the instance space.
getContextID
 public abstract Object getContextID()
This method returns a context id. The context has to be calculated from global information, such as static variables or the current thread. If null is returned, a default context id is used.

Returns:
the current context id.
getInstance
 public Object getInstance(Object object)
This method returns the element that equals the given object or null if none exists.

Parameters:
object - The object to find in the instance space.
Returns:
the object that equals the given object or null if none exists.
getInstances
 public final Enumeration getInstances()
This method returns the instances managed by the instance space.

Returns:
the instances managed by the instance space.
removeAllInstances
 public void removeAllInstances()
This method removes all instances of the context returned by getContextID() from the instance space.

removeInstance
 public final Object removeInstance(Object instance)
This method removes the given object from the instance space of the context returned by getContextID(). If a instance is removed, it is returned; otherwise null is returned.

Parameters:
instance - The object to remove from the instance space.
Returns:
The object removed from the instance space.

als kJ$o7 I6t6$P8wo./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.contextbasedinstancespace_mi.htmlhtml$$ Method Index for com.ibm.ivj.eab.businessobject.ContextBasedInstanceSpace

Constructor Index

ContextBasedInstanceSpace()

Method Index

addInstance(Object)
getContextID()
getInstance(Object)
getInstances()
removeAllInstances()
removeInstance(Object)
 kꈰK$7 I6t6$@;w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.ibusinessobject.htmlpac$$ com.ibm.ivj.eab.businessobject.IBusinessObject <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.ibusinessobject_dsc.html#_top_">com.ibm.ivj.eab.businessobject.IBusinessObject (no frames)</a></b></p> </body> ra kiL$B7 I6t6$fwB./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.ibusinessobject_dsc.html_mi.htm$$ Interface com.ibm.ivj.eab.businessobject.IBusinessObject

Interface com.ibm.ivj.eab.businessobject.IBusinessObject

public interface IBusinessObject
extends Cloneable

This interface defines the base behavior of all business objects. Each business object models a business entity like customer, account, contract, etc. Business objects come in managed and unmanaged flavors.

Managed business objects have properties used to identify them. These properties allow only one business object instance for a given class/key combination in a given instance space. This behavior is similar to relational database records and their primary keys.

The key properties must be modelled into an additional business object key class. Managed business object instances should not be directly instantiated by a constructor, but by asking a business object key instance for it. For managed business object classes, there must be a default constructor. Please note that direct instantiation of managed business objects results in inconsistent instance spaces; therefore, it should always be performed by calling getTarget() against a key object. See the IBusinessObjectKey interface for details about managed business objects.

Unmanaged business objects return null as their key object. These types of business object classes however, must define a public default constructor to allow for generic construction.

All business objects implement the cloneable interface. See method clone() for details about cloning of business objects.


Method Index

clone()
Cloning a managed business object results in the same instance of the business object being returned, because creating a copy would generate two instances of the same class in the same instance space and would, therefore, violate the instance managing.
equals(Object)
If the business object or the given object is a managed business object, equality can be directly determined by comparing their keys for equality, because there may be only one business object instance per instance space, class and key.
getKeyClass()
Returns the class of the business object's key or null if the business object is unmanaged
hashCode()
If the business object is a managed business object, its hashcode is determined by its key.
isPropertyValid(String)
Returns true if a property with the given name is defined and its value is not null, false otherwise.

Methods

clone
 public abstract Object clone()
Cloning a managed business object results in the same instance of the business object being returned, because creating a copy would generate two instances of the same class in the same instance space and would, therefore, violate the instance managing.

Unmanaged business objects are cloned like normal objects. A shallow copy of the business object is returned which contains the business object's properties. If an exception occurs during this, the receiver is returned instead.

Returns:
an instance of the same class as the business object.
Overrides:
clone in class Object
equals
 public abstract boolean equals(Object object)
If the business object or the given object is a managed business object, equality can be directly determined by comparing their keys for equality, because there may be only one business object instance per instance space, class and key. If one of the two is not a managed business object, equality is determined the default Java way by comparing for identity instead.

Parameters:
object - the object to be compared to the business object.
Returns:
true if the business object and the given object are equal, false otherwise.
Overrides:
equals in class Object
getKeyClass
 public abstract Class getKeyClass()
Returns the class of the business object's key or null if the business object is unmanaged

Returns:
the business object's target business object key class or null.
hashCode
 public abstract int hashCode()
If the business object is a managed business object, its hashcode is determined by its key. Otherwise, it is determined the default Java way by computing it from the object pointer.

Returns:
the business object's hash code.
Overrides:
hashCode in class Object
isPropertyValid
 public abstract boolean isPropertyValid(String propertyName)
Returns true if a property with the given name is defined and its value is not null, false otherwise.

Parameters:
String - a property name.
Returns:
true if a property with the given name is defined, false otherwise.

a href kM$7 I6t6$`v./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.ibusinessobject_mi.html$$ Method Index for com.ibm.ivj.eab.businessobject.IBusinessObject

Method Index

clone()
equals(Object)
getKeyClass()
hashCode()
isPropertyValid(String)
eterm k8N$7 I6t6$@vw./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.ibusinessobjectkey.html$$ com.ibm.ivj.eab.businessobject.IBusinessObjectKey <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.ibusinessobjectkey_dsc.html#_top_">com.ibm.ivj.eab.businessobject.IBusinessObjectKey (no frames)</a></b></p> </body> ./j k\DO$T7 I6t6$wT./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.ibusinessobjectkey_dsc.html.htm$$ Interface com.ibm.ivj.eab.businessobject.IBusinessObjectKey

Interface com.ibm.ivj.eab.businessobject.IBusinessObjectKey

public interface IBusinessObjectKey
extends Cloneable

This interface defines the base behavior of all managed business object keys. See IBusinessObject for reference.

Every managed business object class requires its own key class. The only properties a key class may have are the key properies of the related business object class. In contrast to managed business objects, which are unique for a given instance space/class/key combination, keys are not managed.

In order to get an instance of a managed business object, getTarget(boolean) must be used.


Method Index

clone()
Returns a clone of the IBusinessObjectKey object
equals(Object)
Two keys are equals if they share the same class and the same number of properties, and all their properties are equal.
getTarget(boolean)
Searches an object space for a business object of a class that equals getTargetClass() and that has the business object key as a key.
getTargetClass()
Returns the class of the managed business object returned by getTarget(boolean).
hashCode()
The hash code of the business object key is determined by combining the hash codes of all its properties.

Methods

clone
 public abstract Object clone()
Returns a clone of the IBusinessObjectKey object

Returns:
java.lang.Object - the clone of the receiver
Overrides:
clone in class Object
equals
 public abstract boolean equals(Object object)
Two keys are equals if they share the same class and the same number of properties, and all their properties are equal.

Parameters:
object - the object to be compared to the business object key.
Returns:
true if the business object key and the given object are equal, false otherwise.
Overrides:
equals in class Object
getTarget
 public abstract IBusinessObject getTarget(boolean registerIfNotFound)
Searches an object space for a business object of a class that equals getTargetClass() and that has the business object key as a key. If a matching object is found, it is returned. If none is found, the behavior depends on the given registerIfNotFound flag:
  • If the flag is true, a new business object instance with the business object key as key is created and registered in the object space.
  • If the flag is false, null is returned and no registration in the object space takes place.

Parameters:
registerIfNotFound - flag to indicate whether to register the business object or not.
Returns:
an instance of the class returned by getTargetClass() or null.
getTargetClass
 public abstract Class getTargetClass() throws ClassNotFoundException
Returns the class of the managed business object returned by getTarget(boolean). A ClassNotFoundException is thrown if this class does not exist.

Returns:
the business object key's target business object class.
Throws: ClassNotFoundException
Thrown if the target class does not exist.
hashCode
 public abstract int hashCode()
The hash code of the business object key is determined by combining the hash codes of all its properties. If the business object key has no properties, 0 is returned.

Returns:
the business object key's hash code.
Overrides:
hashCode in class Object

rns  kP$7 I6t6$`*w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.ibusinessobjectkey_mi.html.htm$$ Method Index for com.ibm.ivj.eab.businessobject.IBusinessObjectKey

Method Index

clone()
equals(Object)
getTarget(boolean)
getTargetClass()
hashCode()
 kQ$ 7 I6t6$@zw ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.iinstancespace.htmli.ht$$ com.ibm.ivj.eab.businessobject.IInstanceSpace <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.iinstancespace_dsc.html#_top_">com.ibm.ivj.eab.businessobject.IInstanceSpace (no frames)</a></b></p> </body> proper kR$7 I6t6$w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.iinstancespace_dsc.html$$ Interface com.ibm.ivj.eab.businessobject.IInstanceSpace

Interface com.ibm.ivj.eab.businessobject.IInstanceSpace

public interface IInstanceSpace

This interface defines the methods common to all instance spaces. An instance space manages instances of one or more classes. Instance spaces are used within the business object framework to handle managed business object instances.


Method Index

addInstance(Object)
This method adds the given object to the instance space.
getInstance(Object)
This method returns the element that equals the given object or null if none exists.
getInstances()
This method returns the instances managed by the instance space.
removeAllInstances()
This method removes all instances from the instance space.
removeInstance(Object)
This method removes the given object from the instance space.

Methods

addInstance
 public abstract Object addInstance(Object instance)
This method adds the given object to the instance space.

Parameters:
instance - The object to add to the instance space.
Returns:
The object added to the instance space.
getInstance
 public abstract Object getInstance(Object object)
This method returns the element that equals the given object or null if none exists.

Parameters:
object - The object to find in the instance space.
Returns:
the object that equals the given object or null if none exists.
getInstances
 public abstract Enumeration getInstances()
This method returns the instances managed by the instance space.

Returns:
The instances managed by the instance space.
removeAllInstances
 public abstract void removeAllInstances()
This method removes all instances from the instance space.

removeInstance
 public abstract Object removeInstance(Object instance)
This method removes the given object from the instance space. If an instance is removed, it is returned, otherwise null is returned.

Parameters:
instance - The object to remove from the instance space.
Returns:
The object removed from the instance space.

a> Method Index for com.ibm.ivj.eab.businessobject.IInstanceSpace

Method Index

addInstance(Object)
getInstance(Object)
getInstances()
removeAllInstances()
removeInstance(Object)
man kT$"7 I6t6$@w"./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.instancespaceholder.htmll.htm$$ com.ibm.ivj.eab.businessobject.InstanceSpaceHolder <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.instancespaceholder_dsc.html#_top_">com.ibm.ivj.eab.businessobject.InstanceSpaceHolder (no frames)</a></b></p> </body> ject)  k%U$ 7 I6t6$ w ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.instancespaceholder_dsc.htmlhtm$$ Class com.ibm.ivj.eab.businessobject.InstanceSpaceHolder

Class com.ibm.ivj.eab.businessobject.InstanceSpaceHolder

java.lang.Object
   |
   +----com.ibm.ivj.eab.businessobject.InstanceSpaceHolder

public class InstanceSpaceHolder
extends Object

This static class holds the instance space that is used by the BusinessObject/BusinessObjectKey implementations of the business object framework. By default, a thread-based instance space is set. You can switch to another kind of instance space by directly setting it into the static variable GlobalInstanceSpace. Also, setting a new instance space is a way to completely reset the instance space framework.


Variable Index

GlobalInstanceSpace

Variables

GlobalInstanceSpace
 public static IInstanceSpace GlobalInstanceSpace

// k>QV$)7 I6t6$`~w)./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.instancespaceholder_mi.htmlhtm$$ Method Index for com.ibm.ivj.eab.businessobject.InstanceSpaceHolder

Variable Index

GlobalInstanceSpace
sinesso krW$"7 I6t6$@w"./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.simpleinstancespace.htmlmlhtm$$ com.ibm.ivj.eab.businessobject.SimpleInstanceSpace <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.simpleinstancespace_dsc.html#_top_">com.ibm.ivj.eab.businessobject.SimpleInstanceSpace (no frames)</a></b></p> </body> ramewo kX$,7 I6t6$w,./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.simpleinstancespace_dsc.htmlhtm$$ Class com.ibm.ivj.eab.businessobject.SimpleInstanceSpace

Class com.ibm.ivj.eab.businessobject.SimpleInstanceSpace

java.lang.Object
   |
   +----com.ibm.ivj.eab.businessobject.SimpleInstanceSpace

public class SimpleInstanceSpace
extends Object
implements IInstanceSpace

This simple instance space implementation handles all of its instances in a single collection. It allows good performance with requests for all instances, but is not optimized to answer requests for instances of a given class.


Constructor Index

SimpleInstanceSpace()
This default constructor creates a new instance of this class.

Method Index

addInstance(Object)
This method adds the given object to the instance space.
getInstance(Object)
This method returns the element that equals the given object or null if none exists.
getInstances()
This method returns the instances managed by the instance space.
removeAllInstances()
This method removes all instances from the instance space.
removeInstance(Object)
This method removes the given object from the instance space.
toString()
This method returns the instance space's string representation.

Constructors

SimpleInstanceSpace
 public SimpleInstanceSpace()
This default constructor creates a new instance of this class.


Methods

addInstance
 public Object addInstance(Object object)
This method adds the given object to the instance space.

Parameters:
instance - The object to add to the instance space.
Returns:
The object added to the instance space.
getInstance
 public Object getInstance(Object object)
This method returns the element that equals the given object or null if none exists.

Parameters:
object - The object to find in the instance space.
Returns:
the object that equals the given object or null if none exists.
getInstances
 public Enumeration getInstances()
This method returns the instances managed by the instance space.

Returns:
The instances managed by the instance space.
removeAllInstances
 public void removeAllInstances()
This method removes all instances from the instance space.

removeInstance
 public Object removeInstance(Object object)
This method removes the given object from the instance space. If an instance is removed, it is returned; otherwise null is returned.

Parameters:
instance - The object to remove from the instance space.
Returns:
The object removed from the instance space.
toString
 public String toString()
This method returns the instance space's string representation.

Returns:
the instance space's string representation.
Overrides:
toString in class Object

a.la kVY$+7 I6t6$Pw+./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.simpleinstancespace_mi.htmlhtm$$ Method Index for com.ibm.ivj.eab.businessobject.SimpleInstanceSpace

Constructor Index

SimpleInstanceSpace()

Method Index

addInstance(Object)
getInstance(Object)
getInstances()
removeAllInstances()
removeInstance(Object)
toString()
com.ibm.ivj.eab.businessobject.StructuredInstanceSpace <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.structuredinstancespace_dsc.html#_top_">com.ibm.ivj.eab.businessobject.StructuredInstanceSpace (no frames)</a></b></p> </body> gh k@&[$7 I6t6$w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.structuredinstancespace_dsc.htmlhtml$$ Class com.ibm.ivj.eab.businessobject.StructuredInstanceSpace

Class com.ibm.ivj.eab.businessobject.StructuredInstanceSpace

java.lang.Object
   |
   +----com.ibm.ivj.eab.businessobject.StructuredInstanceSpace

public class StructuredInstanceSpace
extends Object
implements IInstanceSpace

This structured instance space implementation handles the instances of different classes in different collections, in a single collection. It is not optimized with requests for all instances, but offers good performance with requests for instances of a given class.


Constructor Index

StructuredInstanceSpace()
This default constructor creates a new instance of this class.

Method Index

addInstance(Object)
This method adds the given object to the instance space.
getInstance(Object)
This method returns the element that equals the given object or null if none exists.
getInstances()
This method returns the instances managed by the instance space.
removeAllInstances()
This method removes all instances from the instance space.
removeInstance(Object)
This method removes the given object from the instance space.
toString()
This method returns the instance space's string representation.

Constructors

StructuredInstanceSpace
 public StructuredInstanceSpace()
This default constructor creates a new instance of this class.


Methods

addInstance
 public Object addInstance(Object object)
This method adds the given object to the instance space.

Parameters:
instance - The object to add to the instance space.
Returns:
The object added to the instance space.
getInstance
 public Object getInstance(Object object)
This method returns the element that equals the given object or null if none exists.

Parameters:
object - The object to find in the instance space.
Returns:
the object that equals the given object or null if none exists.
getInstances
 public Enumeration getInstances()
This method returns the instances managed by the instance space.

Returns:
The instances managed by the instance space.
removeAllInstances
 public void removeAllInstances()
This method removes all instances from the instance space.

removeInstance
 public Object removeInstance(Object object)
This method removes the given object from the instance space. If an instance is removed, it is returned, otherwise null is returned.

Parameters:
instance - The object to remove from the instance space.
Returns:
The object removed from the instance space.
toString
 public String toString()
This method returns the instance space's string representation.

Returns:
the instance space's string representation.
Overrides:
toString in class Object

 k)\$S7 I6t6$PwS./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.structuredinstancespace_mi.html$$ Method Index for com.ibm.ivj.eab.businessobject.StructuredInstanceSpace

Constructor Index

StructuredInstanceSpace()

Method Index

addInstance(Object)
getInstance(Object)
getInstances()
removeAllInstances()
removeInstance(Object)
toString()
> Thi k]$;7 I6t6$@w;./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.threadbasedinstancespace.htmll$$ com.ibm.ivj.eab.businessobject.ThreadBasedInstanceSpace <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.businessobject.threadbasedinstancespace_dsc.html#_top_">com.ibm.ivj.eab.businessobject.ThreadBasedInstanceSpace (no frames)</a></b></p> </body>  k@7^$A 7 I6t6$wA ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.threadbasedinstancespace_dsc.htmlhtml$$ Class com.ibm.ivj.eab.businessobject.ThreadBasedInstanceSpace

Class com.ibm.ivj.eab.businessobject.ThreadBasedInstanceSpace

com.ibm.ivj.eab.businessobject.ContextBasedInstanceSpace
   |
   +----com.ibm.ivj.eab.businessobject.ThreadBasedInstanceSpace

public final class ThreadBasedInstanceSpace
extends ContextBasedInstanceSpace

This structured instance space implementation handles the instances of each thread in different instance spaces.


Constructor Index

ThreadBasedInstanceSpace()
This default constructor creates a new instance of the class.

Method Index

getContextID()
This method returns the current thread's name as this context id.

Constructors

ThreadBasedInstanceSpace
 public ThreadBasedInstanceSpace()
This default constructor creates a new instance of the class.


Methods

getContextID
 public final Object getContextID()
This method returns the current thread's name as this context id.

Overrides:
getContextID in class ContextBasedInstanceSpace

is cl kv_$7 I6t6$`w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.businessobject.threadbasedinstancespace_mi.htmlhtml$$ Method Index for com.ibm.ivj.eab.businessobject.ThreadBasedInstanceSpace

Constructor Index

ThreadBasedInstanceSpace()

Method Index

getContextID()
ht kv`$7I6t6$Pw./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.command.htmlba$$ com.ibm.ivj.eab.command.Command <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.command_dsc.html#_top_">com.ibm.ivj.eab.command.Command (no frames)</a></b></p> </body> Class com.ibm.ivj.eab.command.Command

Class com.ibm.ivj.eab.command.Command

java.lang.Object
   |
   +----com.ibm.ivj.eab.command.Command

public abstract class Command
extends Object
implements ICommand

This abstract class implements the Command behavior common to all Commands. A Command represents one execution step (i.e. an input is transformed into an output by the execute() method).


Constructor Index

Command()
Command constructor

Method Index

checkInputState()
This method is used by a Command to verify whether the input data provided allows the Command to execute.
checkTriggerState(Object)
This method verifies that the object transferred to the Command with the CommandEvent is what the Command expects to trigger its execution.
execute()
This method allows to invoke execute(CommandEvent) without the need to create the CommandEvent.
execute(CommandEvent)
The method performs the execution of the Command.
getExpectedTriggerClass()
This method returns the expectedTriggerClass property of the command.
getInput()
This method returns the input object of the command (java.lang.Object).
getOutput()
This method returns the output object of the command (java.lang.Object).
internalExceptionHandler(Throwable)
This method implements the generic exception handler for the command.
internalExecute()
This method was created in VisualAge.
setExpectedTriggerClass(Class)
This method sets the expectedTriggerClass property of the Command.
setInput(Object)
This method sets the input object of the command.
setOutput(Object)
This method sets the output object of the command.

Variables

propertyChange
 protected transient PropertyChangeSupport propertyChange

Constructors

Command
 public Command()
Command constructor comment.

Methods

 addPropertyChangeListener
 public synchronized void addPropertyChangeListener(PropertyChangeListener arg1)
 checkInputState
 public abstract void checkInputState() throws InvalidInputStateException
This method is used by a Command to verify whether the input data provided allows the Command to execute. Subclasses of the Command can implement this method in the specific ways that matches their requirements. If the input is not correct, the method should throw an InvalidInputStateException .
Throws: InvalidInputStateException
Thrown if the input is invalid.
 checkTriggerState
 public void checkTriggerState(Object transferObject) throws InvalidTriggerStateException
This method verifies that the object transferred to the Command with the CommandEvent is what the Command expects to trigger it execution. The default behavior is as follows:
  • input is Variable Bean - the Command is executed if the Variable is able to carry the transfer object (i.e. if the object is of the same class or a subclass of the variable).
  • input is a Bean - in this case the Command is always triggered. You can restrict this further by triggering Command only if the transfer object matches the class specified the expectedTriggerClass property.
A negative check leads to a InvalidTriggerStateException .
 execute
 public void execute() throws InvalidInputStateException, ExecutionException, InvalidOutputStateException
This method allows to invoke execute(CommandEvent) without the need to create the CommandEvent. This version of execute is usually used when scripting aginst a Command.
Throws: InvalidInputStateException
Thrown if invalid input is specified.
Throws: ExecutionException
Thrown if the error occurs during the execution.
Throws: InvalidOutputStateException
ThrowN when Command had more than one output specified and either none of them matched or more than one matched.
 execute
 public final void execute(CommandEvent event) throws InvalidInputStateException, ExecutionException, InvalidOutputStateException
The method performs the execution of the Command. This version of the execute is usually used during visual programming using Command.
Parameters:
CommandEvent - event
Throws: InvalidInputStateException
Thrown if invalid input is specified.
Throws: ExecutionException
Thrown if the error occurs during the execution.
Throws: InvalidOutputStateException
ThrowN when Command had more than one output specified and either none of them matched or more than one matched.
 firePropertyChange
 public void firePropertyChange(String arg1,
                                Object arg2,
                                Object arg3)
 getExpectedTriggerClass
 public Class getExpectedTriggerClass()
This method returns the expectedTriggerClass property of the command. This property can be used by the command with a non-variable bean specified as the input to further limit the trigger of execution )i.e. the Command will only be executed if the class of transfer object matches the expectedTriggerClass ).
Returns:
The expectedTriggerClass property value.
See Also:
setExpectedTriggerClass
 getInput
 public Object getInput()
This method returns the input object of the command (java.lang.Object).
Returns:
The input property value.
See Also:
setInput
 getOutput
 public Object getOutput()
This method returns the output object of the command (java.lang.Object).
Returns:
The output property value.
See Also:
setOutput
 internalExceptionHandler
 public void internalExceptionHandler(Throwable exception)
This method implements the generic exception handler for the command. It should be called from the handleException method generated by the Visual Composition Editor when a specific command is created.
Parameters:
ex - java.lang.Throwable Exception thrown during execution.
 internalExecute
 protected abstract void internalExecute() throws ExecutionException
This method was created in VisualAge.
 removePropertyChangeListener
 public synchronized void removePropertyChangeListener(PropertyChangeListener arg1)
The removePropertyChangeListener method was generated to support the propertyChange field.
 setExpectedTriggerClass
 public void setExpectedTriggerClass(Class expectedTriggerClass)
This method sets the expectedTriggerClass property of the Command. This property can be used by the command with a non-variable bean specified as the input to further limit the trigger of the Command execution (i.e. the Command will only be executed if the class of transfer object matches the expectedTriggerClass ).
Parameters:
expectedTriggerClass - The new value for the property.
See Also:
getExpectedTriggerClass
 setInput
 public void setInput(Object input)
This method sets the input object of the command.
Parameters:
input - The new value for the object.
See Also:
getInput
 setOutput
 public void setOutput(Object output)
This method sets the output object of the command.
Parameters:
output - The new value for the object.
See Also:
getOutput

/d kb$c7I6t6$@xc./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.command_mi.htmldinsta$$ Method Index for com.ibm.ivj.eab.command.Command

Constructor Index

Command()

Method Index

checkInputState()
checkTriggerState(Object)
execute()
execute(CommandEvent)
getExpectedTriggerClass()
getInput()
getOutput()
internalExceptionHandler(Throwable)
internalExecute()
setExpectedTriggerClass(Class)
setInput(Object)
setOutput(Object)
name kPc$*7I6t6$@w*./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandcommunicationprimitive.htmlhtml$$ com.ibm.ivj.eab.command.CommandCommunicationPrimitive <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.commandcommunicationprimitive_dsc.html#_top_">com.ibm.ivj.eab.command.CommandCommunicationPrimitive (no frames)</a></b></p> </body> erClas l꨽d$D7I6t6$ xK+./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandcommunicationprimitive_dsc.html$$   aemnot .<>cdilpr"/bhsuv()=Cfgjy#IPS_ :AEOTx-014BDGLw,3FHR2589MW!?Vz7;NYkq|+P+ {#fC}W$$SAQ_ZYS p8, H(ygoM޲Z/J `D'| ,?7+K ~! Auff@ۍ}I#(o2{dQ 0\@pA0PA@P2@ppZwփ̉}\.'F&蔳+Z=Z=f mQ}Q]5h:捒E88p<|@0 0 :uTe/cDRy5=@puܓm@0{˅1,@0{MkXaփ̫{V"ء.'F&蔳+ZvekYنk^Eq:$'$ "**6(@%Yrq"**6(@YvZJx%YvZʪJ==YeǎK 5+ZjGh<ʈ%Q@j*bJ~PAD.YؗqtJYٕH̭h3\vq]PZFփء$%$ hD i/$e[W8_X6i2"<̀@Pgb\N%ƌM)gfV"{2{0s+c!ZMzy700eʉX̭h3\vq Z2zHg*o]}**6(@Kĸщ%,֥.{ĕp=ZИ6E-Q z®YٕvaWacܱYiA*+AS wkl:E-Q@ByT]D#[`D-S^MRTlPؗqtJYٕK;25̯wl"w ilI_z$v:Ɖ*]Z2rh:PdOi5Q A׭S}`uT vv%\hvekR̭k;0s+6[WekDaW&.{X̭h3\vq)a*kW2'+Z' 2ݡ1v;m;K;2҃h:Pd/F:(Zh:ء.'F&蔳+ZvekYنk^EqؒMhLz$v8FIƉ*]/n!]51\|hE)acи%V1:2s ®i BDZ.r._m,C\= UhN(:ء.'F&蔳+ZvekYنk^EqؒB  ĸKR̭jDekAFqB  Q{2o|:2s4+ mϹ̽obĸKR̭jYٕgfe{ac[KbJx96+`mϰKĸщ%,֤OfVmdخ>E,0̭h(̩\6+`mϹ̽obĸKR̭jYٕgfe{ac[KbJx=m}:l3DRAT֮f>/;2҃:J;;q.4bnK;2gfVf]am-+ BDZ. i/Xm% $e,i/Y#-utl&= UhQ_h F[<,̩\0NǡqJssd ]ƾ?YGʹz$w"ojPu7UIQBgb\N%ƌM)gfV,ֳ 2ݰl-%~<]3\v:߉5̯wj̩\~\W,5̯wl= KijmH3\viZPu7UIQBgb\N%ƌM)gfV,ֳ 2ݰl-%~<]ݶ{Bl u۶whT-":2s ]s\mШ[&\|lgb\N%lD `y6eS}`uT vv%\hvekR̭k;0s+6[W߁N-l=f u[;v{0s+ڢ)a*kW2ߗ>U\[;v{0s+0Bd1=Ϻm6C3.'F&蔳+Z=Zm4IU q{q 2u&= Uh_CqƉ*]/n*"&= Uh_C*kW2 *7mǡqJ`cی\h{qd!aƉ*]ȧ[ڔMRTlPؗqtJYٕK;25̯wl"w ilI_.Ofe{C3.'ݶE"{0s+u~' 2ݪ"Ofe{C*kW2~\W,5̯wl= KijmH3\viZPu7UIQBgb\N%ƌM)gfV,ֳ 2ݰl-%~<=lvBq8v)۶whT-Yw{v DR g*<ʚ̅_>U;v afv%Y۶On=ݡPiZPu7UIQBgb\N%ƌM)gfV,ֳ 2ݰl-%~<)ųm' 2ݡ}ևe߁N-l=fQ>C*kW2~\W-qlg5̯wl= >Cɴ-(:ء.'F&蔳+ZvekYنk^Eqؒ]F 2ZAdxq]FQF[<:2s!Wϕr큟0Bd06i2yMRTlPؗqtJYٕK;25̯wl"w ilI_.#~LvBq8v)߸=ݡPe߄oiШ[E,0Fƙ :2s!Wϕr3 d= KijmHFƙ 6C i/Y#-MiAXU%Fq817DZԳ+Z3\v.{ĕrj7'+Zq817DZԉևe߄o|OfVDR ևAT֮d*aQ=Zلz!ؗqtJYٕH̭hy6eQ zuTeڋcDRu!h<._e !h:v.>4IUuZW.>4IUDPG֖ߐ.>4IU(C.>4IUQUNX_D֢)h:PdOiuPU;Ybٕنk^И6Z8̭h3\vq8QDOfVOfe{BbwQT#kA2DekDaW&.{uu5AT֮DekDaW&.{gigf^PuAh:kփk,@~W4֢)h:Pd/斃=51\|hEeI&KHLz$v8j"ZƉ*]/n* mh<^IcuGɼ51\|hE&= Uh_f,FփZ2r *И.>4IU q{q+ m"n5̄:?>U#и%V{R AC^U;Yb_qm}gb\N%ƌM)gfV"{2o|8QD}  ZFփ %dlЯ>*ء.'F&蔳+Zvekl ilI_ Xٕ{",ւ:mh:*kW4+ mϹ̽u׭UNXɱ]m}gb\N%ƌM)gfV"{2o|8QDѰP6gڈ%h:Z00o9M(l32J;;q.4bnK;2gfVͽĕp=ZQ)r̭h(FփZ2rM(l3rl/}(:D5AS { uZW`aj mh<^I̓m}FփZ2s`asse{A!Ztl&= Uh 2ZB.`FQ֋H,2ZAdxq֢)h:XFcи%VJuB6`a/s$sdSa1\|hE`\E2Q2Q"kփ̩\ Lz$w9~W6@.Ek%t~|GqJr)Th:v.Ofe{Cj"نk^JuB6`a/s%U%Fq8v)gfe{B[W:aWDR]3\vFփZ2rߗ>U;0s+0Bd3;q,gR' 2ݡyPZ2jkփ̩Q+7GK(V̩\ gfe{f\|lO2̩҃Q+ KB%h<ʚʪJ;;q.4bnK;2gfVf]am-+߉5̯wh.Ofe{TE-Q zCZD5AS qw{v 0q֢)h:X=lvBآ ZFփ %dء.'ݶE,g[[W: bȻ=lvB:!Zh<ʚ~\W,g*Ʉz!ؗgn?=lvBMiA*kVh<ʛ~dtB%h<ʚ0v d= iZPy7*%aWr y|QSZUIQBgb\N%ƌM)gfV,ֳ 2ݰl-%~<=lvB:˿۶whT-"̨j!Z8)ųm' 2ݡKAJ߁N-l=fQT#kA2I}Ȼ)ųm' 2ݡ"kփ̩\wϕrݶx3\v#и Osd]FiM$WCAD#kA׭SZ˟*6+`_qGqhy6eT̩Z3*oTJM 3*kW ®]qxb6 z&̴3*oTJ® Z32rbĸKR̭jYٕgfe{ac[KbJx9w6+`_qe߄ovخE}DRy׭D5AC^U;Yb~ 3g:E-Q+~ 3gV { F[>E߂რ"kփ̩\wϕs| z!Q֋H,&̴y5S^feMʉX 2:X!DfeMjU3\|lO2̩҃Q+ KB%h<ʚʪJ;;q.4bnK;2gfVf]am-+߂㬻Y=DRy׭D5AC^U;Yb~Q=ZZ%bj7'+Z ZFփ %dء.'F&蔳+ZvekB[W:ekTE.E߄o|OfV0tDB6Mzy5.aQ=Zلz!ؗqtJYٕH̭hy6eT̩Z3*oTJM 3*kW ®aQ=Zلz&̴3*oTJ® Z32rbĸKR̭jYٕgfe{ac[KbJx9w5ٕe߄o|OfVDRy׭D5AC^U;Yba1\|hEeI&KHLz$v8j"󍰘.>4IU q{qQT#kA2K*==M6cyLz$v8 BDZ.à"kփ̩\ a1\|hE9~W6@.Ek%t~|GqJr)Th:v]3\vgb\N%lDaW8QD=fQT#kA2M6Kنk^ʩ*6(@KijmK;0s+ؒ' 2ݪ",5̯whtDB6Mzy5ʹgfe{f\|lgb\N%lDaW@Ysɴ.EtgʹzfeMʉXU܂^_A+AfT֮URTlPؗqtJYٕK;25̯wl"w ilI_~3X)h<ʈk֢ՠ!Z~q{Bl ĸK;voiШ[KAJ˿߸=ݡP(V {&%߄oiШ[*ء.'ݶE.߸=ݥؒq{BlQvƙ :!Zh<ʚUs\~LvB0Bd3;q,gRq{Bl&̴y5S^feMʉXMFX!DfeMjg*dU&̹џ*\|jPy7*%aWr y|QSZUIQBgb\N%ƌM)gfV,ֳ 2ݰl-%~<]Fƙ u߸=ݡP(Z2h:kփk,@߄ovخE}1=ϺDRu7;OlWF" ZFփ %dl~qxb6 >e6+`_qFփZ2r~\W.߸< ]= >Cɴ-(:eMj׭S}rVQQSZviM$WdaW;`lO2WF|GqAfT\]%!DfeMjU%Fq817DZԳ+Z3\v.{ĕqw6+`_qb7;OlWF")h<ʈk֢ՠ!Z~ 3gF_Z- F[<8QDY=DPK7.g $euu5AT֮B˟*.>6C i/Y#-MiA*kVh<ʛeİB%h<ʚ3aW;`lO2WF|GqAfT\]%!DfeMjU%Fq817DZԳ+Z3\v.{ĕqw>x~ 3gZ2h:kփk,@߄o|OfV3;q.4bnK;2ٕ:E-Q+.&{{2 mh<^Iw5ٕ bĸKR̭jYٕ ilI_ XٕQFekC"kփ̩\_>U*7'+[0Bd3;q.4bnK;2ٕ&̴y5S^feMʉXMFX!DfeMjٕA\큲m<ˑ]aƥS}rVw Jy5T vv%\hvekR̭k;0s+6[W߄o|OfVu ̭j*!ZkVh:y5=@puܓm@0{˅1,@0{MkXaփ̫{V"ء.'F&蔳+ZvekYنk^Eq:$'$ "**6(@%Yrq"**6(@YvZJx%YvZʪJ==YeǎK 5+ZjGh<ʈ%Aء$%$-.;;~Z丰@I IeN2R-‡z-@$ `  pZ-QFQ~=h:eD k"e$7I6t6$.x./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandcommunicationprimitive_mi.html$$ Method Index for com.ibm.ivj.eab.command.CommandCommunicationPrimitive

Constructor Index

CommandCommunicationPrimitive()

Method Index

addPropertyChangeListener(PropertyChangeListener)
afterExecute(CommandEvent)
beforeExecute(CommandEvent)
execute()
firePropertyChange(String, Object, Object)
getCommunication()
getConnectionSpec()
getDisconnectCommunication()
getInput()
getInteractionSpec()
getInternalBeforeAfter()
getOutput()
getParentCommand()
removePropertyChangeListener(PropertyChangeListener)
setCommunication(Communication)
setConnectionSpec(ConnectionSpec)
setDisconnectCommunication(boolean)
setInput(Object)
setInteractionSpec(InteractionSpec)
setInternalBeforeAfter(boolean)
setOutput(Object)
setParentCommand(Command)

Field Index

propertyChange
 kQf$7I6t6$P6x./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandevent.htmlonpri$$ com.ibm.ivj.eab.command.CommandEvent <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.commandevent_dsc.html#_top_">com.ibm.ivj.eab.command.CommandEvent (no frames)</a></b></p> </body> get k& g$7I6t6$@x./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandevent_dsc.htmli$$ Class com.ibm.ivj.eab.command.CommandEvent

Class com.ibm.ivj.eab.command.CommandEvent

java.lang.Object
   |
   +----java.util.EventObject
           |
           +----com.ibm.ivj.eab.command.CommandEvent

public class CommandEvent
extends EventObject

This class implements the event used to transfer data between commands. The data to be transferred with the event is added as the following properties:

  • __ComIbmIvjEabCommand_Communication When this property is set, the value is a connected communication and the command does not alter it in any way.
  • __ComIbmIvjEabCommand_MappedObjects On execute(...) this property contains a collection of objects data has been mapped to so far. On signalling executionSuccessful or executionUnsuccessful, the collection is enhanced by objects, data has been mapped to during this command.
  • __ComIbmIvjEabCommand_Object On execute(...) this property contains the output of the previous command. On signalling executionSuccessful or executionUnsuccessful, it contains the output of this command.
  • __ComIbmIvjEabCommand_Exception This property is only set on signalling executionUnsuccessful, the event in case of the exception. Event listeners have to delete exception from the event, otherwise the event sending command will raise the exception.


Constructor Index

CommandEvent(Object)
Constructor for the class.

Method Index

existsPropertyNamed(String)
This method checks whether the event contains named property.
getPropertyNamed(String)
Retrieve the named property from the event.
getPropertyTable()
Gets the propertyTable property (java.util.Hashtable) value.
removePropertyNamed(String)
This method removes the named property from the event.
setPropertyNamed(String, Object)
Set the named property in the event.
setPropertyTable(Hashtable)
Sets the propertyTable property (java.util.Hashtable) value.

Constructors

CommandEvent
 public CommandEvent(Object source)
Constructor for the class.


Methods

existsPropertyNamed
 public boolean existsPropertyNamed(String name)
This method checks whether the event contains named property.

Parameters:
name - java.lang.String The name of the property
Returns:
boolean
getPropertyNamed
 public final Object getPropertyNamed(String propertyName)
Retrieve the named property from the event.

Parameters:
propertyName - String The name of the property to retrieve.
Returns:
s Object The property value.
getPropertyTable
 public Hashtable getPropertyTable()
Gets the propertyTable property (java.util.Hashtable) value.

Returns:
The propertyTable property value.
See Also:
setPropertyTable
removePropertyNamed
 public void removePropertyNamed(String name)
This method removes the named property from the event.

Parameters:
name - java.lang.String
setPropertyNamed
 public final void setPropertyNamed(String propertyName,
                                    Object propertyValue)
Set the named property in the event.

Parameters:
propertyName - String The name of the property to retrieve.
Returns:
s Object The property value.
setPropertyTable
 public void setPropertyTable(Hashtable propertyTable)
Sets the propertyTable property (java.util.Hashtable) value.

Parameters:
propertyTable - The new value for the property.
See Also:
getPropertyTable

m.ivj k%h$G7I6t6$P9xG./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandevent_mi.htmli$$ Method Index for com.ibm.ivj.eab.command.CommandEvent

Constructor Index

CommandEvent(Object)

Method Index

existsPropertyNamed(String)
getPropertyNamed(String)
getPropertyTable()
removePropertyNamed(String)
setPropertyNamed(String, Object)
setPropertyTable(Hashtable)
 k^i$7I6t6$P com.ibm.ivj.eab.command.CommandException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.commandexception_dsc.html#_top_">com.ibm.ivj.eab.command.CommandException (no frames)</a></b></p> </body> ./  k(j$ 7I6t6$ Nx ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandexception_dsc.htmlive_m$$ Class com.ibm.ivj.eab.command.CommandException

Class com.ibm.ivj.eab.command.CommandException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.ivj.eab.command.CommandException

public class CommandException
extends RuntimeException

This class defines the superclass of all exceptions that can be thrown by the command.


Constructor Index

CommandException()
CommandException constructor.
CommandException(String)
CommandException constructor.

Constructors

CommandException
 public CommandException()
CommandException constructor.

CommandException
 public CommandException(String arg1)
CommandException constructor.

Parameters:
arg1 - java.lang.String

/su kk$7I6u6$`w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandexception_mi.htmlive_m$$ Method Index for com.ibm.ivj.eab.command.CommandException

Constructor Index

CommandException()
CommandException(String)
/a> com.ibm.ivj.eab.command.CommandMappingPrimitive <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.commandmappingprimitive_dsc.html#_top_">com.ibm.ivj.eab.command.CommandMappingPrimitive (no frames)</a></b></p> </body> ll e k֌m$7I6u6$\x./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandmappingprimitive_dsc.htmlhtml$$ Class com.ibm.ivj.eab.command.CommandMappingPrimitive

Class com.ibm.ivj.eab.command.CommandMappingPrimitive

java.lang.Object
   |
   +----com.ibm.ivj.eab.command.CommandMappingPrimitive

public class CommandMappingPrimitive
extends Object
implements ICommandPrimitive

This class implements the support for mapping between Beans and input and output of the command.


Variable Index

propertyChange

Constructor Index

CommandMappingPrimitive()
CommandMappingPrimitive constructor.

Method Index

addObjectMapperAssociation(Object, IMapper)
This method is used when visually associating an input or output of the command with the mapper.
addPropertyChangeListener(PropertyChangeListener)
The addPropertyChangeListener method was generated to support the propertyChange field.
getMappedObjects()
This method returns the Enumeration of objects data was mapped to during the execution of this command.
removePropertyChangeListener(PropertyChangeListener)
The removePropertyChangeListener method was generated to support the propertyChange field.

Variables

propertyChange
 protected transient PropertyChangeSupport propertyChange

Constructors

CommandMappingPrimitive
 public CommandMappingPrimitive()
CommandMappingPrimitive constructor.

Methods

 addObjectMapperAssociation
 public void addObjectMapperAssociation(Object key,
                                        IMapper value)
This method is used when visually associating an input or output of the command with the mapper.
Parameters:
key - java.lang.Object The input or output bean.
value - com.ibm.ivj.eab.mapper.IMapper The mapper to be used for the bean.
 addPropertyChangeListener
 public synchronized void addPropertyChangeListener(PropertyChangeListener arg1)
The addPropertyChangeListener method was generated to support the propertyChange field.
 
 getMappedObjects
 public Enumeration getMappedObjects()
This method returns the Enumeration of objects data was mapped to during the execution of this command.
Returns:
The mappedObjects property value.
See Also:
setMappedObjects
 removePropertyChangeListener
 public synchronized void removePropertyChangeListener(PropertyChangeListener arg1)
The removePropertyChangeListener method was generated to support the propertyChange field.
 

Method Index for com.ibm.ivj.eab.command.CommandMappingPrimitive

Constructor Index

CommandMappingPrimitive()

Method Index

addObjectMapperAssociation(Object, IMapper)
addPropertyChangeListener(PropertyChangeListener)
getMappedObjects()
removePropertyChangeListener(PropertyChangeListener)

Field Index

propertyChange

Constructor Index

CommandMappingPrimitive()

 ko$/7I6u6$@mx/./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandobjecttransferprimitive.htmll$$ com.ibm.ivj.eab.command.CommandObjectTransferPrimitive <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.commandobjecttransferprimitive_dsc.html#_top_">com.ibm.ivj.eab.command.CommandObjectTransferPrimitive (no frames)</a></b></p> </body> d k&p$/7I6u6$qx/./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandobjecttransferprimitive_dsc.htmlhtml$$ Class com.ibm.ivj.eab.command.CommandObjectTransferPrimitive

Class com.ibm.ivj.eab.command.CommandObjectTransferPrimitive

java.lang.Object
   |
   +----com.ibm.ivj.eab.command.CommandObjectTransferPrimitive

public class CommandObjectTransferPrimitive
extends Object
implements ICommandPrimitive

 


Constructor Index

CommandObjectTransferPrimitive()
CommandObjectTransferPrimitive constructor.

Method Index

getInput()
Gets the input property (java.lang.Object) value.
getOutput()
Gets the output property (java.lang.Object) value.
setInput(Object)
Sets the input property (java.lang.Object) value.
setOutput(Object)
Sets the output property (java.lang.Object) value.

Constructors

CommandObjectTransferPrimitive
 public CommandObjectTransferPrimitive()
CommandObjectTransferPrimitive constructor.

Methods

 getInput
 public Object getInput()
Gets the input property (java.lang.Object) value.
Returns:
The input property value.
See Also:
setInput
 getOutput
 public Object getOutput()
Gets the output property (java.lang.Object) value.
Returns:
The output property value.
See Also:
setOutput
 setInput
 public void setInput(Object input)
Sets the input property (java.lang.Object) value.
Parameters:
input - The new value for the property.
See Also:
getInput
 setOutput
 public void setOutput(Object output)
Sets the output property (java.lang.Object) value.
Parameters:
output - The new value for the property.
See Also:
getOutput
 

j kq$W7I6u6$PxW./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.commandobjecttransferprimitive_mi.html$$ Method Index for com.ibm.ivj.eab.command.CommandObjectTransferPrimitive

Constructor Index

CommandObjectTransferPrimitive()

Method Index

getInput()
getOutput()
setInput(Object)
setOutput(Object)
b kr$7I6u6$P}x./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.communicationcommand.htmltive_$$ com.ibm.ivj.eab.command.CommunicationCommand <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.communicationcommand_dsc.html#_top_">com.ibm.ivj.eab.command.CommunicationCommand (no frames)</a></b></p> </body> eab ks$197I6u6$x19./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.communicationcommand_dsc.html_$$ Class com.ibm.ivj.eab.command.CommunicationCommand

Class com.ibm.ivj.eab.command.CommunicationCommand

java.lang.Object
   |
   +----com.ibm.ivj.eab.command.Command
           |
           +----com.ibm.ivj.eab.command.CommunicationCommand

public class CommunicationCommand
extends Command
implements PropertyChangeListener

This class implements the generic behavior of a communicating command. The execute method of the command takes the connectionSpec, creates a communication and then calls execute on the communication passing interactionSpec, input and output.

The type of input and output beans allowed depends on the used connector. Usually they support beans implementing IByteBuffer interface, however some connectors may in addition support other, connector specific beans or, only support connector specific beans.

To implement your own communication command you have to extend this CommunicationCommand class.


Constructor Index

CommunicationCommand()
Constructor

Method Index

checkInputState()
This method is used by a command to verify whether the input data provided allows the command to execute.
execute()
The method in which the interaction via the connector occurs.
getCommunication()
This method returns the command's communication object.
getConnectionSpec()
This method returns the connection specification of the command.
getDisconnectCommunication()
This method returns value of disconnectedCommunication property.
getInteractionSpec()
This method returns the interaction specification of the communication.
getMappedObjects()
This method returns the Enumeration of objects data was mapped to during the execution of this command.
getPropertyChange()
Accessor for the propertyChange field.
internalExecute()
This method was created in VisualAge.
setCommunication(Communication)
This method sets the communication of the command.
setConnectionSpec(ConnectionSpec)
This method sets the connection specification of the communication.
setDisconnectCommunication(boolean)
This method sets value of disconnectedCommunication property.
setInteractionSpec(InteractionSpec)
This method sets the interaction specification of the communication.
setMappedObjects(Enumeration)
This method sets the mappedObjects property of the command.

Constructors

CommunicationCommand
 public CommunicationCommand()
Constructor

Methods

 checkInputState
 public void checkInputState() throws InvalidInputStateException
This method is used by a command to verify whether the input data provided allows the command to execute. Subclasses of the command can implement this method in the specific ways that matches their requirements. If the input is not correct, the method should throw an InvalidInputStateException .
Throws: InvalidInputStateException
Thrown if the input is invalid.
Overrides:
checkInputState in class Command
 execute
 public final void execute() throws ConnectorException, InvalidInputStateException, ExecutionException, InvalidOutputStateException
The method in which the interaction via the connector occurs.
Throws: ConnectorException
Thrown if error occurs in the connector used by the command. For more details, see the documentation for IBM Common Connector Framework .
Throws: InvalidInputStateException
Thrown if invalid input is specified.
Throws: ExecutionException
Thrown if the error occurs during the execution.
Throws: InvalidOutputStateException
Thrown when command had more than one output specified and either none of them matched or more than one matched.
Overrides:
execute in class Command
 getCommunication
 public Communication getCommunication()
This method returns the command's communication object.
Returns:
com.ibm.connector.Communication
 getConnectionSpec
 public ConnectionSpec getConnectionSpec()
This method returns the connection specification of the command.
Returns:
com.ibm.connector.ConnectionSpec
 getDisconnectCommunication
 public boolean getDisconnectCommunication()
This method returns value of disconnectedCommunication property. When the return value is true the communication will disconnect after execute, and false if the communication will remain connected after execute. The value of this property is meaningless when the communication has been passed to the command from outside i.e using the CommandEvent . In that case, no attempt is made to alter the communication.
Returns:
boolean
 getInteractionSpec
 public InteractionSpec getInteractionSpec()
This method returns the interaction specification of the communication.
Returns:
com.ibm.connector.InteractionSpec
 getMappedObjects
 public Enumeration getMappedObjects()
This method returns the Enumeration of objects data was mapped to during the execution of this command.
Returns:
java.util.Enumeration
 internalExecute
 protected final void internalExecute() throws ExecutionException
This method was created in VisualAge.
Overrides:
internalExecute in class Command
 main
 public static void main(String args[])
main entrypoint - starts the part when it is run as an application
Parameters:
args - java.lang.String[]
 setCommunication
 public void setCommunication(Communication arg1)
This method sets the communication of the command.
Parameters:
arg1 - com.ibm.connector.Communication
 setConnectionSpec
 public void setConnectionSpec(ConnectionSpec arg1)
This method sets the connection specification of the communication.
Parameters:
arg1 - com.ibm.connector.ConnectionSpec
 setDisconnectCommunication
 public void setDisconnectCommunication(boolean arg1)
This method sets value of disconnectedCommunication property. When the argument value is true the communication will disconnect after execute, and false if the communication will remain connected after execute. The value of this property is meaningless when the communication has been passed to the command from outside (i.e. using the CommandEvent ). In that case, no attempt is made to alter the communication.
Parameters:
arg1 - boolean
 setInteractionSpec
 public void setInteractionSpec(InteractionSpec arg1)
This method sets the interaction specification of the communication.
Parameters:
arg1 - com.ibm.connector.InteractionSpec
 setMappedObjects
 public void setMappedObjects(Enumeration arg1)
This method sets the mappedObjects property of the command.
Parameters:
arg1 - java.util.Enumeration

public  kt$ 7I6u6$0x ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.communicationcommand_mi.html_$$ Method Index for com.ibm.ivj.eab.command.CommunicationCommand

Constructor Index

CommunicationCommand()

Method Index

checkInputState()
execute()
getCommunication()
getConnectionSpec()
getDisconnectCommunication()
getInteractionSpec()
getMappedObjects()
getPropertyChange()
internalExecute()
setCommunication(Communication)
setConnectionSpec(ConnectionSpec)
setDisconnectCommunication(boolean)
setInteractionSpec(InteractionSpec)
setMappedObjects(Enumeration)
tion  k&u$7I6u6$@x./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.communicationnavigator.html_$$ com.ibm.ivj.eab.command.CommunicationNavigator <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.communicationnavigator_dsc.html#_top_">com.ibm.ivj.eab.command.CommunicationNavigator (no frames)</a></b></p> </body> . kv$37I6u6$x3./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.communicationnavigator_dsc.htmli.html$$ Class com.ibm.ivj.eab.command.CommunicationNavigator

Class com.ibm.ivj.eab.command.CommunicationNavigator

java.lang.Object
   |
   +----com.ibm.ivj.eab.command.Command
           |
           +----com.ibm.ivj.eab.command.Navigator
                   |
                   +----com.ibm.ivj.eab.command.CommunicationNavigator

public class CommunicationNavigator
extends Navigator
implements PropertyChangeListener

This class implements the generic behavior of a communicating navigation. The navigation consists of several communication commands connected together to form more complex interaction via the connector. Navigations themselves can be connected together to form higher-level Navigations.


Constructor Index

CommunicationNavigator()
Constructor

Method Index

checkInputState()
This method is used by a command to verify whether the input data provided allows the command to execute.
execute()
The method in which the interaction via the connector occurs.
getCommunication()
This method returns the navigation's communication.
getConnectionSpec()
This method returns the connection specification of the navigation.
getDisconnectCommunication()
This method returns value of disconnectedCommunication property.
getMappedObjects()
This method returns the Enumeration of objects data was mapped to during the execution of this navigation.
returnExecutionSuccessful(CommandEvent)
This method is called when the last element of the navigation finishes successfuly.
returnExecutionUnsuccessful(CommandEvent)
This method is called when the element of the navigation fails.
setCommunication(Communication)
This method returns the navigation's communication.
setConnectionSpec(ConnectionSpec)
This method sets the value of the connection specification of the navigation.
setDisconnectCommunication(boolean)
This method sets value of disconnectedCommunication property.
setMappedObjects(Enumeration)
This method sets the value of mappedObjects property of the navigation.

Constructors

CommunicationNavigator
 public CommunicationNavigator()
Constructor

Methods

 checkInputState
 public void checkInputState() throws InvalidInputStateException
This method is used by a command to verify whether the input data provided allows the command to execute. Subclasses of the command can implement this method in the specific ways that matches their requirements. If the input is not correct, the method should throw an InvalidInputStateException .
Throws: InvalidInputStateException
Thrown if the input is invalid.
Overrides:
checkInputState in class Command
 execute
 public void execute() throws ConnectorException, InvalidInputStateException, ExecutionException, InvalidOutputStateException
The method in which the interaction via the connector occurs.
Throws: ConnectorException
Thrown if error occurs in the connector used by the command. For more details, see the documentation of IBM Common Connector Framework .
Throws: InvalidInputStateException
Thrown if invalid input is specified.
Throws: ExecutionException
Thrown if the error occurs during the execution.
Throws: InvalidOutputStateException
Thrown when command had more than one output specified and either none of them matched or more than one matched.
Overrides:
execute in class Command
 getCommunication
 public Communication getCommunication()
This method returns the navigation's communication. When the navigator creates the communication (when connection specification is defined in the navigator), it also does connect, and passes the connected communication to the first command as a property of the CommandEvent. After the last command finishes execution, the navigator performs disconnect.
Returns:
com.ibm.connector.Communication
 getConnectionSpec
 public ConnectionSpec getConnectionSpec()
This method returns the connection specification of the navigation.
Returns:
com.ibm.connector.ConnectionSpec
 getDisconnectCommunication
 public boolean getDisconnectCommunication()
This method returns value of disconnectedCommunication property. When the return value is true the communication will disconnect after execute, and false if the communication will remain connected after execute. The value of this property is meaningless when the communication has been passed to the navigation from outside (i.e. using the CommandEvent). In that case, no attempt is made to alter the communication.
Returns:
boolean
 getMappedObjects
 public Enumeration getMappedObjects()
This method returns the Enumeration of objects data was mapped to during the execution of this navigation.
Returns:
java.util.Enumeration
 setCommunication
 public void setCommunication(Communication arg1)
This method returns the navigation's communication. When the navigator creates the communication (when connection specification is defined in the navigator), it also does connect and passes the connected communication to the first command. After the last command finishes execution, the navigator performs disconnect.
Parameters:
arg1 - com.ibm.connector.Communication
 setConnectionSpec
 public void setConnectionSpec(ConnectionSpec arg1)
This method sets the value of the connection specification of the navigation.
Parameters:
arg1 - com.ibm.connector.ConnectionSpec
 setDisconnectCommunication
 public void setDisconnectCommunication(boolean arg1)
This method sets value of disconnectedCommunication property. When the argument value is true the communication will disconnect after execute, and false if the communication will remain connected after execute. The value of this property is meaningless when the communication has been passed to the navigation from outside using the CommandEvent. In that case, no attempt is made to alter the communication.
Parameters:
arg1 - boolean
 setMappedObjects
 public void setMappedObjects(Enumeration arg1)
This method sets the value of mappedObjects property of the navigation.
Parameters:
arg1 - com.ibm.ivj.eab.util.Set

nnect kw$ 7I6u6$0x ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.communicationnavigator_mi.html$$ Method Index for com.ibm.ivj.eab.command.CommunicationNavigator

Constructor Index

CommunicationNavigator()

Method Index

checkInputState()
execute()
getCommunication()
getConnectionSpec()
getDisconnectCommunication()
getMappedObjects()
returnExecutionSuccessful(CommandEvent)
returnExecutionUnsuccessful(CommandEvent)
setCommunication(Communication)
setConnectionSpec(ConnectionSpec)
setDisconnectCommunication(boolean)
setMappedObjects(Enumeration)
c k0x$7I6u6$Px./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.executionexception.htmli.html$$ com.ibm.ivj.eab.command.ExecutionException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.executionexception_dsc.html#_top_">com.ibm.ivj.eab.command.ExecutionException (no frames)</a></b></p> </body> vigat ky$ 7I6u6$x ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.executionexception_dsc.htmlml$$ Class com.ibm.ivj.eab.command.ExecutionException

Class com.ibm.ivj.eab.command.ExecutionException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.ivj.eab.command.CommandException
                                   |
                                   +----com.ibm.ivj.eab.command.ExecutionException

public class ExecutionException
extends CommandException

This exception is thrown when an error occurs during the execution. The originator of the exception cleans up its internal state (i.e. disconnects communication before throwing the exception).


Constructor Index

ExecutionException()
ExecutionException constructor comment.
ExecutionException(String)
ExecutionException constructor comment.

Constructors

ExecutionException
 public ExecutionException()
ExecutionException constructor comment.

ExecutionException
 public ExecutionException(String arg1)
ExecutionException constructor comment.

Parameters:
arg1 - java.lang.String

olean kꀃz$7I6u6$`w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.executionexception_mi.htmlml$$ Method Index for com.ibm.ivj.eab.command.ExecutionException

Constructor Index

ExecutionException()
ExecutionException(String)
 k|<{$7I6u6$Px./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.icommand.htmlt$$ com.ibm.ivj.eab.command.ICommand <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.icommand_dsc.html#_top_">com.ibm.ivj.eab.command.ICommand (no frames)</a></b></p> </body> /a>  k|$ 7I6u6$0x ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.icommand_dsc.html_mi.h$$ Interface com.ibm.ivj.eab.command.ICommand

Interface com.ibm.ivj.eab.command.ICommand

public interface ICommand

The interface implemented by commands.


Method Index

execute()
This method performs the interaction with the host system.
execute(CommandEvent)
This method performs the interaction with the host system.

Methods

execute
 public abstract void execute()
This method performs the interaction with the host system.

execute
 public abstract void execute(CommandEvent event)
This method performs the interaction with the host system.

Parameters:
event - CommandEvent

ept/ k<}$s7I6u6$`xs./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.icommand_mi.html_mi.h$$ Method Index for com.ibm.ivj.eab.command.ICommand

Method Index

execute()
execute(CommandEvent)
lclas k~$7I6u6$Px./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.icommandprimitive.html$$ com.ibm.ivj.eab.command.ICommandPrimitive <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.icommandprimitive_dsc.html#_top_">com.ibm.ivj.eab.command.ICommandPrimitive (no frames)</a></b></p> </body> < k<$ 7I6u6$x ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.icommandprimitive_dsc.htmlml$$ Interface com.ibm.ivj.eab.command.ICommandPrimitive

Interface com.ibm.ivj.eab.command.ICommandPrimitive

public interface ICommandPrimitive

This interface defines the behaviour of command primitives.


Method Index

afterExecute(CommandEvent)
beforeExecute(CommandEvent)
execute()

Methods

 afterExecute
 public abstract void afterExecute(CommandEvent commandEvent)
Parameters:
commandEvent - com.ibm.ivj.eab.command.CommandEvent
 beforeExecute
 public abstract void beforeExecute(CommandEvent commandEvent)
Parameters:
commandEvent - com.ibm.ivj.eab.command.CommandEvent
 execute
 public abstract void execute()

a- k`$77I6u6$`x7./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.icommandprimitive_mi.htmlml$$ Method Index for com.ibm.ivj.eab.command.ICommandPrimitive

Method Index

afterExecute(CommandEvent)
beforeExecute(CommandEvent)
execute()
h kj$7I6u6$@x./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.invalidinputstateexception.htmli.html$$ com.ibm.ivj.eab.command.InvalidInputStateException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.invalidinputstateexception_dsc.html#_top_">com.ibm.ivj.eab.command.InvalidInputStateException (no frames)</a></b></p> </body> xecut kw$ 7I6u6$x ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.invalidinputstateexception_dsc.htmlml$$ Class com.ibm.ivj.eab.command.InvalidInputStateException

Class com.ibm.ivj.eab.command.InvalidInputStateException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.ivj.eab.command.CommandException
                                   |
                                   +----com.ibm.ivj.eab.command.InvalidInputStateException

public class InvalidInputStateException
extends CommandException

This exception is raised when the input passed to the command or the navigation is not correct.


Constructor Index

InvalidInputStateException()
InvalidStateException constructor comment.
InvalidInputStateException(String)
InvalidStateException constructor comment.

Constructors

InvalidInputStateException
 public InvalidInputStateException()
InvalidStateException constructor comment.

InvalidInputStateException
 public InvalidInputStateException(String arg1)
InvalidStateException constructor comment.

Parameters:
arg1 - java.lang.String

38  k$7I6u6$`x./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.invalidinputstateexception_mi.htmlml$$ Method Index for com.ibm.ivj.eab.command.InvalidInputStateException

Constructor Index

InvalidInputStateException()
InvalidInputStateException(String)
 kv?$ 7I6u6$@x ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.invalidoutputstateexception.htmllml$$ com.ibm.ivj.eab.command.InvalidOutputStateException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.invalidoutputstateexception_dsc.html#_top_">com.ibm.ivj.eab.command.InvalidOutputStateException (no frames)</a></b></p> </body>  kfT$R7I6u6$yR./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.invalidoutputstateexception_dsc.htmll$$ Class com.ibm.ivj.eab.command.InvalidOutputStateException

Class com.ibm.ivj.eab.command.InvalidOutputStateException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.ivj.eab.command.CommandException
                                   |
                                   +----com.ibm.ivj.eab.command.InvalidOutputStateException

public class InvalidOutputStateException
extends CommandException

The exception is thrown when problem occurs when processing output returned from the connector.

There are two possible causes of this exception, both occuring when there are multiple outputs specified. In the first case, the output returned from the connector does not match any of the outputs specified. In the second case, more than one output matches the returned value. These two cases can be distinguished by examining the invalid input vector of the exception.


Constructor Index

InvalidOutputStateException()
InvalidOutputStateException constructor comment.
InvalidOutputStateException(String)
InvalidOutputStateException constructor comment.

Method Index

getInvalidOutput()
This method returns the vector of objects.
setInvalidOutput(Vector)

Constructors

InvalidOutputStateException
 public InvalidOutputStateException()
InvalidOutputStateException constructor comment.

InvalidOutputStateException
 public InvalidOutputStateException(String arg1)
InvalidOutputStateException constructor comment.

Parameters:
arg1 - java.lang.String

Methods

getInvalidOutput
 public Vector getInvalidOutput()
This method returns the vector of objects. The first object is the byte array returned from the connector. If the vector contains only one element, the byte array, it means that none of the specified outputs matched the returned value. When the vector contains three or more elements, elements 2, 3, ... are the beans specified in the command or navigation as output candidates that match the data returned from the connector.

Returns:
java.util.Vector
setInvalidOutput
 protected void setInvalidOutput(Vector newValue)

- Method Index for com.ibm.ivj.eab.command.InvalidOutputStateException

Constructor Index

InvalidOutputStateException()
InvalidOutputStateException(String)

Method Index

getInvalidOutput()
setInvalidOutput(Vector)
gibm k$%7I6u6$@x%./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.invalidtriggerstateexception.htmlll$$ com.ibm.ivj.eab.command.InvalidTriggerStateException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.invalidtriggerstateexception_dsc.html#_top_">com.ibm.ivj.eab.command.InvalidTriggerStateException (no frames)</a></b></p> </body>  kꨨ$7I6u6$ y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.invalidtriggerstateexception_dsc.html$$ Class com.ibm.ivj.eab.command.InvalidTriggerStateException

Class com.ibm.ivj.eab.command.InvalidTriggerStateException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.ivj.eab.command.CommandException
                                   |
                                   +----com.ibm.ivj.eab.command.InvalidTriggerStateException

public class InvalidTriggerStateException
extends CommandException

This exception is thrown when the object transferred as a property of the CommandEvent is not a valid trigger as explained in the documentation for the checkTriggerState method.


Constructor Index

InvalidTriggerStateException()
InvalidTransferStateException constructor comment.
InvalidTriggerStateException(String)
InvalidTransferStateException constructor comment.

Constructors

InvalidTriggerStateException
 public InvalidTriggerStateException()
InvalidTransferStateException constructor comment.

InvalidTriggerStateException
 public InvalidTriggerStateException(String arg1)
InvalidTransferStateException constructor comment.

Parameters:
arg1 - java.lang.String

>  k$7I6u6$`x./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.invalidtriggerstateexception_mi.html$$ Method Index for com.ibm.ivj.eab.command.InvalidTriggerStateException

Constructor Index

InvalidTriggerStateException()
InvalidTriggerStateException(String)
l> k$7I6u6$Py./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.navigator.html$$ com.ibm.ivj.eab.command.Navigator <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.navigator_dsc.html#_top_">com.ibm.ivj.eab.command.Navigator (no frames)</a></b></p> </body> co k$7I6u6$y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.navigator_dsc.htmlexce$$ Class com.ibm.ivj.eab.command.Navigator

Class com.ibm.ivj.eab.command.Navigator

java.lang.Object
   |
   +----com.ibm.ivj.eab.command.Command
           |
           +----com.ibm.ivj.eab.command.Navigator

public abstract class Navigator
extends Command

This abstract class implements the Navigator bahavior common to all Navigators. A Navigator represents a more complex execution where this execution is made up of other Commands and Navigators.


Constructor Index

Navigator()
Navigator constructor comment.

Method Index

returnExecutionSuccessful(CommandEvent)
This method is called when the last element of a navigation finishes execution successfully.
returnExecutionUnsuccessful(CommandEvent)
This method is called when element of the navigation fails (i.e.

Constructors

Navigator
 public Navigator()
Navigator constructor comment.


Methods

returnExecutionSuccessful
 public abstract void returnExecutionSuccessful(CommandEvent event)
This method is called when the last element of a navigation finishes execution successfully.

returnExecutionUnsuccessful
 public abstract void returnExecutionUnsuccessful(CommandEvent event)
This method is called when element of the navigation fails (i.e. its execution was unsuccessful).


Method Index for com.ibm.ivj.eab.command.Navigator

Constructor Index

Navigator()

Method Index

returnExecutionSuccessful(CommandEvent)
returnExecutionUnsuccessful(CommandEvent)
ref k|r$7I6u6$P$y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.selectorrecord.htmlxce$$ com.ibm.ivj.eab.command.SelectorRecord <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.command.selectorrecord_dsc.html#_top_">com.ibm.ivj.eab.command.SelectorRecord (no frames)</a></b></p> </body> o k}$ 7I6u6$'y ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.selectorrecord_dsc.htmltion_mi$$ Class com.ibm.ivj.eab.command.SelectorRecord

Class com.ibm.ivj.eab.command.SelectorRecord

java.lang.Object
   |
   +----com.ibm.ivj.eab.command.SelectorRecord

public class SelectorRecord
extends Object
implements IByteBuffer

This is a utility class that allows handling of the different values returned by the connector. All output candidates, that must implement IByteBuffer interface, are registered using addSelectableRecord method of this class and the SelectorRecord finds the matching one, using the the IByteBuffer.checkBytes method, when its setBytes() method is called. The object property of the selectorRecord is connected to output of the command and it is initially set to this . If exactly one output candidate matches the data returned from the connector, the object property is set to this bean. If none or more than one candidate match the returned data, the object property remains set to this .
 


Constructor Index

SelectorRecord()
SelectorRecord constructor.

Method Index

addSelectableRecord(IByteBuffer)
This method registers the output candidate bean with the selector record.
checkBytes(byte[])
This method verifies that exactly one candidate output matches the data returned from the connector.
getBytes()
This method returns the contents of the SelectorRecord.
getInvalidOutput()
This method was created in VisualAge.
setBytes(byte[])
This method finds the matching output candidate, sets its contents to data returned from the connector and sets the value of its object property to the matching bean.

Constructors

SelectorRecord
 public SelectorRecord()
SelectorRecord constructor.

Methods

 addSelectableRecord
 public void addSelectableRecord(IByteBuffer record)
This method registers the output candidate bean with the selector record.
Parameters:
record - IByteBuffer
 checkBytes
 public boolean checkBytes(byte theBytes[])
This method verifies that exactly one candidate output matches the data returned from the connector.
 getBytes
 public byte[] getBytes()
This method returns the contents of the SelectorRecord. Since the SelectorRecord is used to process output, this method should not be called.
 getInvalidOutput
 protected Vector getInvalidOutput()
This method was created in VisualAge.
Returns:
java.util.Vector
 setBytes
 public void setBytes(byte theBytes[])
This method finds the matching output candidate, sets its contents to data returned from the connector and sets the value of its object property to the matching bean. If none or more than one candidates match the data returned from the connector, the object property of the selector record is set to this and the execute method of the command raises InvalidOutputStateException . To determine whether none or more than one candidate caused the exception, the caller can examine the invalidOutput property of the InvalidOutputStateException .
Parameters:
s - theBytes byte[] - data returned from the connector.
 

/dl>  k6$n7I6u6$P4yn./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.command.selectorrecord_mi.html$$ Method Index for com.ibm.ivj.eab.command.SelectorRecord

Constructor Index

SelectorRecord()

Method Index

addSelectableRecord(IByteBuffer)
checkBytes(byte[])
getBytes()
getInvalidOutput()
setBytes(byte[])
c k$7I6r6$P7y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.mapper.imapper.htmlrd_$$ com.ibm.ivj.eab.mapper.IMapper <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.mapper.imapper_dsc.html#_top_">com.ibm.ivj.eab.mapper.IMapper (no frames)</a></b></p> </body> Ex k$h7I6u6$@yh./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.mapper.imapper_dsc.htmli.html$$ Interface com.ibm.ivj.eab.mapper.IMapper

Interface com.ibm.ivj.eab.mapper.IMapper

public interface IMapper

This interface describes mappers. A mapper is an object that can map properties between one input bean and one or many output beans. For this purpose, every mapper offers two methods that allow mapping from a given input bean to the output beans and vice versa. During their execution, Mappers first try to resolve output beans from their context. If they can't resolve the beans from there, they try to instantiate them or to find them in a instance space.

The context property allows external passing of output beans to the mapper. It is a Hashtable which can be set from the outside and contains qualified bean names as keys and output beans as values.

A qualified bean name is a String consisting of a beans qualified class name, a '.' and the beans instance identifier, like in "MyPackage.MyClass.2". A qualified bean name allows the mapper to handle several instances of one class correctly.


Method Index

getContext()
This method returns the receivers context.
mapFromOutputBeans(Object)
This method maps properties from the output beans to the given input bean.
mapToOutputBeans(Object)
This method maps properties from the input bean to the output beans.
setContext(Hashtable)
This method sets the receivers context.

Methods

getContext
 public abstract Hashtable getContext()
This method returns the receivers context. See the interface description for details about this property. The default value for this property is null.

Returns:
the receivers context.
mapFromOutputBeans
 public abstract Enumeration mapFromOutputBeans(Object inputBean) throws IllegalArgumentException
This method maps properties from the output beans to the given input bean. The output beans involved in the mapping are returned.

Parameters:
inputBean - the input bean
Returns:
the output beans
Throws: IllegalArgumentException
is thrown if the input bean is not an instance of the class the mapper is designed for.
mapToOutputBeans
 public abstract Enumeration mapToOutputBeans(Object inputBean) throws IllegalArgumentException
This method maps properties from the input bean to the output beans. The output beans involved in the mapping are returned.

Parameters:
inputBean - the input bean
Returns:
the output beans
Throws: IllegalArgumentException
is thrown if the input bean is not an instance of the class the mapper is designed for.
setContext
 public abstract void setContext(Hashtable context)
This method sets the receivers context. See the interface description for details about this property.

Parameters:
context - the new context

 k:$]7I6u6$`:y]./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.mapper.imapper_mi.html$$ Method Index for com.ibm.ivj.eab.mapper.IMapper

Method Index

getContext()
mapFromOutputBeans(Object)
mapToOutputBeans(Object)
setContext(Hashtable)
l"> k¢$7I6u6$P com.ibm.ivj.eab.mapper.Mapper <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.mapper.mapper_dsc.html#_top_">com.ibm.ivj.eab.mapper.Mapper (no frames)</a></b></p> </body> is a H k^$7I6u6$Ky./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.mapper.mapper_dsc.html$$ Class com.ibm.ivj.eab.mapper.Mapper

Class com.ibm.ivj.eab.mapper.Mapper

java.lang.Object
   |
   +----com.ibm.ivj.eab.mapper.Mapper

public abstract class Mapper
extends Object
implements IMapper

This class serves as an abstract superclass for all generated mappers. It defines base behavior and services.

The context property allows external passing of output beans to the mapper. See The IMapper interface description for details.


Constructor Index

Mapper()
Default constructor.

Method Index

getContext()
This method returns the receivers context.
mapFromOutputBeans(Object)
This method maps properties from the output beans to the given input bean.
mapToOutputBeans(Object)
This method maps properties from the input bean to the output beans.
resolveBeanFromContext(Class, int)
This method tries to resolve a bean with the given bean class and identifier from the receivers context.
setContext(Hashtable)
This method sets the receivers context.

Constructors

Mapper
 public Mapper()
Default constructor.


Methods

getContext
 public Hashtable getContext()
This method returns the receivers context. See the IMapper description for details about this property. The default value for this property is null.

Returns:
the receivers context.
resolveBeanFromContext
 protected Object resolveBeanFromContext(Class beanClass,
                                         int beanIdentifier)
This method tries to resolve a bean with the given bean class and identifier from the receivers context. A bean can be resolved from the context if:
  • the context contains a key string that equals '.' bean identifier
  • the value under this key is an instance of the given bean class
If these two conditions are fulfilled, the bean is returned, otherwise null is returned.

Parameters:
beanClass - the class of the bean that shall be resolved
beanIdentifier - the identifier of the bean that shall be resolved
Returns:
the resolved bean or null
setContext
 public void setContext(Hashtable context)
This method sets the receivers context. See the IMapper description for details about this property.

Parameters:
context - the new context

per  kp$N7I6u6$PyN./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.mapper.mapper_mi.html$$ Method Index for com.ibm.ivj.eab.mapper.Mapper

Constructor Index

Mapper()

Method Index

getContext()
mapFromOutputBeans(Object)
mapToOutputBeans(Object)
resolveBeanFromContext(Class, int)
setContext(Hashtable)
er kn$7"I6u6$PZy./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolarraytype.htmlion_mi$$ com.ibm.ivj.eab.record.cobol.CobolArrayType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.cobol.cobolarraytype_dsc.html#_top_">com.ibm.ivj.eab.record.cobol.CobolArrayType (no frames)</a></b></p> </body> per l$A7"I6u6$]yo)./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolarraytype_dsc.htmlmi$$    aeort.<>cdhilns /bfmpy"=T_guv#(),-ACjwx:FIOR[]kz 01EMSVq4DHJLP+3589;UW|!2?G7BNYHkή5ŽC (@QLv yET5$$[>m   "zPBAteeAt%DI 6{wN 4spچ <pچ#7Mxur5 `P   -Bv?e8ᣆ 8 p$@8pBuQ$~z8P-Kbees$gDQ$$ԱDƮx(H@ ~Ў8TI 6 p*IRHK?6ㆷD;%w$O|NE tB@q*$N⓬RblLZ(Hͳ(J8P-Kbeл.9~u!kĨY\4 "JtnQU!kĨ9Ŵ*ܣ oƢ׿>cJtnQ 6׿Od| m)*TlIZ$GJ-Q$BZI JPKOZȕGϘǮC5є!v]]72OyI (ˆ%4I ;)D0P (>G0,>h@ͳ P|>`5zDH```bg(BWfŚ1c"7Mx@ͳ R8Q 672OyԒDY4ѵ ]uBJcԓIcʊ|Nή:4y?{=I{v r!-BgMB]P$Q$%Du;P$$eBXBY=F 5,8xz*KFRv.˷dCkxnd,$(Jxnd,%JB#ђ9p272OyԂHK5@2g(BWfŚEIh].ޅv̓c"7Mx@uo ̓Şu  Puo ̓Şu$PKhQ$~1_kp^TG;.˷̓uGvk[u3"PI fL(J8P-Kbeл.9~u dVṒxΠCAо5,e.#LUgABTes$gI*Th0 U@nYPQ$~1_kp^TG;.˷̓uGvk[u3"|}BT@xIRH.xh_KТH,bm,va|uxKqwCk<X}/I#;[mCcϭ91p m,p4 Hֶ[_O:ڎچ3kdHK5@2g(BWfŚEIh].ޅv̓c"7MxE X}/BPH(^Gc<;+k t*=}m}9Ψp}CPI fL(J8P-Kbeл.9~u dVZ'C5Kb ]|>G0b%CkCs$* w bIWk[lZ;!/קѵ BULԒA ].}о ,>DX~-6mwA/^'Rc&GK9y$wCokچٟ[^s$c+Z 2^:B#Zg}m}<}wVOjϭ9xR !%1$τBȉRJB[K@2#w/o"I )DhP.'<*$τBYv2OyԏŶe/{$@h7dו:뇡\vRB <1"A84 cEh5BJ;)Dz?W4tw^.cE =cΕ!0YWԷ{7kc`mCI#yΕ埵~-/]sc1̯/pPCPIjKPDWL(J8P-Kbeл.ߔPuc"7Mx@ͳ Puo\T?,bC6u-:2Oq @k"넽JcԒBJcI 6 ṒxΠCAоh_]j2xAhΠ*IRHIjṒxΤZ!'e(9Ë{ìxnd,%PB#`@ht4,?0P٨qf)wCp1<ȭ ^3lT 8Fu:T1gADQ$%Q$~1\[]w/o:j>au=v]d8[^'Rc6\"ΕG31H$H,bǨ?,t9&DQ$Xv8ڄ]p Ṓ;6?(5ju$ ]pp>2OyԏŶe/{$@h7dו:뇡\vRB <1"A84 cEh5BJ;)Dz?W4tw^.cE =cΕ!0YWԷ{7kc`mCI#yΕ埵~-/]sc1̯/pPCPI1\ <[kv~uG>IF6([]l˯<:˷>Oyìx>k 0YP_ìxΤG-b=F 5,8xz*KFRv.˷.";]pȭ ^3lTet"+*$K-b }mxKqy̓mB.wGq/A$~$1DBgMBCxnd,%`4/C5Kb U@nYPP$Q$$Yv E8[^F6>'Og \߭@x $mkm[}>o>IH$H,bǨ?,t9&DQ$X|3qm ?,ba[kنF[_)w埵fqWל?g6($Kvadup-p7e٧NWGB\G$p/q-K^=wG0Qa GfKRJwCnQC5Kb2 ̓c"7Mx@ͳ P. ̓Şu$Q$~$1DBgMBh /H|>`5z%I*TI -T%HIJ$pS@h|BAEaDQ$%Q$~1\[]mkm>_?T|zG8|$H,bǨ?,t9&DQ$X{,?qmeeAu^kx\4A$Y-@Qj$K)[%.J3]9ήmxɵ?[^GP$)FKI)vWm`H$K5]%>ʈ%Hܣ ]j2xe!'PEhnGK# @(^ UIRuc0P٨qf)wFXy9~u dVp*؀!xΤ*$S(SHLI(H<%vjY]  >P>c*IRHIjZ'I ;)D[ܾ ,>mhnd0P٨qf)wCx56%@].*UxHt7{FвH|=vi < ܱnQC5Kb2xEЈ㎼e\2+Ctׄ 8`w8ͦ"+* ܣ ]j2xe.K;*WGkkm0Jt\ED㲀JBJ;)D=DXqmty|kچٞa2Oy>x 2OA$pd|Qa `_,vod~.;#){2OypZ; HI$),z#WIjsmmd@(GW]8gKb #+{FŶdk{xYQgme}mG?g6($K4CEup-pyϭ9Z; HUZuI1\[kچٞa2O:1L9z #WIjܱQjܣ ]j2xe.K;*WGkkm0Jt\ED㲀JGW K;+=v@o]}d]pA$Y-Bۖ!:J-]3۔`+PFR1wut"86B+56%@]"#:iHu%J#+m|4uGiwuú>#:iyԂHUZC1̨Qj$K0P٨qf)wFXy9~u dVZ'C5Kb ]|>G0b%CkCs$*[1ܣ ]j2xe!'PEhng ]Rx'B%J!%mh6[Q$$G8qormh6[I (BXGcŵֶvB?[^.׳s$OjHUZC1̨Qj$K0P٨qf)wFXy9~u dVZh} P%mC@%Jzg(BWfŚ1b}Iy1Z fbTI:T?ILzSHILz!3&С#k@$(JTZցnJ-DIŽ[I (BXGcŵֶvB?[^.׳>IO:?j($H,bǨ?,t]h@(GWp>2O,?,tPs* tZ#+{r%vjY] lNdCkցnHP *[1ܣ ]j2xe!'PEhng ]Rx'?Wt>gy̓I1\c3vqʍC]stG—QHJy˷̓>^!'G)RJcI )Q$&|$&5;]/%%vjY]  >PP$Q$$Fkdu$I ;)D[ܾ>L0P٨qf)wCx56%@].*UxHo125dX}/{t L(J8Q#)w]}d]p2\T";]pȭ ^3lT 0:>.%\T/{r%vjY].>.Gu(Etv1Z fK`u}d]pDq^m0 ]$Q$$I cIWGZgl~tn1}mp#炋<;mCcϭ91p x/A!Dͭm>u}+oѵ gל<)IRXG$ȁQj$Kp-xGW1253m{0Ck. d[R #+Kx[kKxX}/~ߍh_k]kdu #kE>a2OGgԭF7ٟ[^s$G-b=F 5,e.]pY\ s$<ȭ ^L5,e.w (|jE(JZ 2^:ToǦ{r%vjY] lNdCkm0Jv H}nd,%J#ǩ%1$ǨQ$Bq[T\V 맾'Jz:X@h 8GqI)16^&~ $f{r%vjYpT1 ]o?O:5TMo%Jg(Bw*5TxudzJtnQ޷cQCt׉Pkß1E%Jg(BeQCt׉Pk>`V*IQ6^$bV#%lRJc r=F ѯ7Mpmh+mCD.4o,P #j%@k5g0O.񕂄x@8(H '$P,P bTI(BJ.z!%7Mz O k$97"I6u6$0y9./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolarraytype_mi.htmlmi$$ Method Index for com.ibm.ivj.eab.record.cobol.CobolArrayType

Constructor Index

CobolArrayType()
CobolArrayType(int[])
CobolArrayType(int[], IFixedLengthType)
CobolArrayType(int[], int)
CobolArrayType(int[], int, IFixedLengthType)

Method Index

checkConstantValue(IRecord, int, Object)
equals(Object)
getArray(IRecord, int, Class)
getElementSize()
getSize()
pack(int, boolean)
setInitialValue(IRecord, int, Object)
.ivj.ea kk$%7"I6u6$@y%./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.coboldynamicrecordtype.htmltml$$ com.ibm.ivj.eab.record.cobol.CobolDynamicRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.cobol.coboldynamicrecordtype_dsc.html#_top_">com.ibm.ivj.eab.record.cobol.CobolDynamicRecordType (no frames)</a></b></p> </body> d,  l̟$D7"I6u6$y*./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.coboldynamicrecordtype_dsc.html$$   deort.<>achilmns "/bfpyR_gu#()=Tjvw,-:ACIOkx0BDEFWqz 14HLP+3589MS|!2;?GU7NY@צ]s毐$Y$fN>[`M@2rG JGWAd$4,]eAtBGqvn0[C6L:Pв6K5'[ ll$qq @# PVTÆ0_ 8$ 8~$qRG[ҞvQy']n8.ʷOjR$0(qN]IdTqUɼK^@PD}~0 $q>`TD;1%\ɬ #蘥8LH7/S+UhYv#(o;JyzQG]vU벭l)wGf$ eepS0%IWfQadnU[bj RzٔXY sF5^ s-ʌj(%IWfQad)΂Q;5! ;MLz<kYsNrPNPNGu%C8Ì*P]yj]je8:Q onTco;JyzQG]vU*=KLA%5(% AId+(rNrCdY!Qܨ =K3;f !!Qܨ 84^$q8+(o;Jyy'T L3 0I ])]C 2J8 oBٔXY Z̥Ne ׸ NقHJiO>R$4R)wiTX̢])]䜶]P]P{$v.N4R)wiTXo;JyzQG]vU*=KLA&e$qH"\ )_[]n ՈHaR )#'S B2 !v󴧟)wru@V)wBf+;5`4R)wiTy6<e[R$0(qL(1#ǭʌ|W*m:|U+O.ʷy6 {Wy18tጯVk`(Yq]Ƕ eeerۑ嶝=K?T'+7eƷ<\jywjrŹZ n4TPeerNWS*ol:o.ʷOxwVݏS*ol;vR$벭]n`yK41YٯpE脆9Gr(҃iz]@`:(%I K?*Ԩ7Ol{Ys涱Gy?M2Օ :dN!]EySҊ>R$벭]n`yK41Yٯp@VbBEVh4 7Ol{Ys^B?Y^-kY_M2a7j=lz՘N8ȝHB2 !v󴧝|Ie[*&Ojy:i&b^U҃izySϔ80E.@Т*Pm/PJ K?l4(qD ccZ˟)w۬ _W(ݨeD˄cc)_]nK\=+IWfQad.v84:qe[)^R'M2Vvk*E.A[҅DF!!D$Uh]䂷q ڈ-ʌPJ8ߢe?1eyeuQcVט}Ccy=[҅Gy8SC)w(㌉Ԁd+(o;JyzQG]vU벭l)wBf+;5HHQ J RBBL6=Z/! uP]{/ʷy6 {Wy#Tjx.Y_)w(㌉Ԁd+(o;JyzQG]vU벭l)wBf+;5HJiO>R$nJ?l4 !0A*HH0E.A[҅D BL6=Vz(?Au쾮*)_]q: veBiO;COJ(KʷvUM.t(Lgf۬ڈHQ H`nPJ8ߢe?1eyxPl#}^MV*5R$벭]n`yK41YٯpD( ET^ ng뷘7u=$EhA($7e= OiXOLexe`ohw4 ]'޲=7u=$Y%L]EySϔ9mԺ+YL3P-NHjw* (6D&jtPJ*1WfQad.v.N[A. e.t(LgfvB@@U@VE.C 2J8ߠrPLG˒8WAdP-NHjw* (6~U۩P !(%IdA%$qfRG,5|R D$Pm/}ovT;b QCLH"\)l{Ys涱Gy?M2Օ :168e[`b)wi4eBj=C1Fu>d)D#OAIj> RG2eG e|* eYճVQ2؂opd%V~[՘}:Pero1YRqN%Lw4tWsI/i>ެ- t.ZA+V4q˒fR8&\B Uh+1FS@ !(%IdUMiAIn`xVb8$̤2%o2Ǿ?+E#6+v_nǪY4㌃8ߢe($q)"+E" A%$q)ጯ쿬@~w=PQ~rډ.J H rG S,U҃izySϔ80E.@ТTAIZ (6$2 Hs毃J Z (6(WfQad.v.NܥH{$R%?)woo-\kB,>= ,,Ҟ|Iy+VEp ښVvk'l$$E.AwȶxDY^mH] $Ю̢])])wud[p-MpVvk'l$$E.Awȶ)Fkn%IdfRG7O ccZ˟)w۬ _W(ݨeD˄cc)_]nK\=+I eevʵ]wȶ̬.'d)D#OAIj> RG2K7e<ӤYqYqW]ڏ{++7mWWS:"^B RG2 )w۬ _W(ݨq)!%veBiO>R$K"ہjkP=tf&b^;f !")w VE)Mp$3[pA*H&S\5c涗>E`+Y8eJOB2 !v󴧟)w|JՑm\",/653 0I K]:-aRFkn%IoDxc+;SpnaS7GoDz H4:5J )#OB2 !v󴧟)wru@V)wBf+;5Z (6+R$RꀭfR'M2Vvk'l$$ h>TkR$0)# %̤qL#x)@nJ[2 HnJ[83)#S r*E.A[҅DF!!CLH"\)l{Ys^B?Y]nTcճ:Pe|OV4{Q}e7]48 Ď7J%oDz HyPIIoDxc+ʌx{vSƔ/j<ϬPKGoDz H4:5J )#OB2 !v󴧟)wru@V)wBf+;5Z"y iB r*E.A[҅DF(%I[+(o;Jyy'-Tk2y:i&b^;f ! SA *+X"y!H%IoL(&e#ed+O!A)wBPJ8)0A%$qfRG,5} ,,Ҟ|I۔1Yٯp@`]䠕'ƒR$$+2Ю̢])])w@њۀ{$H] $qIIdK8ߢe<1}k.~VGƒaT^벭MHr,ˇW]4?ጯi̥n7Z4 7,R}w[p_W]qc+hO]]TurQd)D#OAIZ/!J )#OxPl#}\e[R$OAI fX|A($+(o;Jyy']=tf&b^;f !")wFkn%IoDx*/=b>E`++)ZۇR$OAIVcf A%$q)WfQad.v.N&Ojy:i&b^Px]䄅Px]䠕'nTcЮ̢])]P6M.t(LgfvBAP46 {V"y!H%IoL(&e#ed+O!A)wySϔ80E.A[҅D BJ RG&"y($2 Hs毡]EySϔ;ry"f+;5` KPx]䄡]EySϔ;ry*Ɣ/j"f+;5` KV4{QA*OP+w"o f8oS*h4ZaWfQad.v.OɠzmLgfvBDR$ J8$̤2%o2Ǿ=yJڏW:.e[=K7 e|OLe/\hv9mO )`ꐮ.-)m-=Nh>ˍo3y#-zۇR$2VTOlzn.-)m-?)wջ(^@:Wˍh7eƴ8Pl~R'Q2VTO^5MW(ݮqAo2K8Sk" A%$q)nx#OuSfVkj'oD|uYieƷ8c+eƷY\voee7W]Sa7e=Nh>ˍopWˍo]Ƕ 4TPss`(OAIZ/!J )#OxPl#}\e[R$OAI fX|A($+(o;Jyy']=tf&b^;f !")wFkn%IoDx*/=b>E`++)ZۇR$OAIVcf A%$q)WfQad.v.N&Ojy:i&b^Px]䄮v.N KV4{Q@Т KíʌzٔXY "y [u9Q ̰+(o;Jyy']=tf&b^;f !")wFkn%IdfRG7O ccZ˟GUײ=벭)wTjx.y?M2c+.~evǶ ֩jxM1KTs1lql}e|IO(ݨeu9ֵmOT'1[S۬o8 Ď7J%oDz HyPIIoDx+ƒaT^*"y'oDz Hc2 A%']EySϔ>R&53 0I K$3[pA*H&SPyk/_Y]yJ=y'oDz H4:5J )#OB2 !v󴧟)wu@6 {WL3BR$ n7j!!D&"y [u9QA*Ol:ܨǡ]EySϔ:l=]P{$hlE.C 2J8ߠrPLG˒8WAdBR$ n7j!+R$]wP׸ NقHH0E.A[҅E=@܈q[@ˍhq9K.5_YveBiO>R$KVvk'l$$E.@zm#LH"\)l{YsהxPl#}^MV,ˀv~R'P.zq ڈU Yq9,֜q }GpZ?W]4lSb n.-)m-=Nh>ˍiO(ݨeu9ֵmOT'1[S۬o8 Ď7J%oDz H V)8r<R'̳+57e>:P4[1[Q]Y7+.yT)24TPieƷ8c+eƷ򫋍O.󘥃GoDz HyPIIoDx+ƒaT^*"y'oDz Hc2 A%']EySϔ>R&53 0I K$3[pA*H&SPyk/_Y]yJ=y'oDz H4:5J )#OB2 !v󴧟)wu@6 {WL3BR$ n7j!+l>lqv>OlO]Nh>ˍolxP4TP /£R$RꀭfR'M2Vvk'l$$ h>TkR$0)# %̤qL#x)AX8%?*Ԩ2 IX9AIn`lpKaNh>ˍhq*Ԩs2 dfRG7O ccZ˞]=Nh>Pblr>w`)w(\, l7y]ܪeJڟ68ݻN6'd)D#OAIj> RG24TPieƷ82B8r.QQk`++7eƴqe[=K_o\\j|W1K682 ݺ fTj /W,[/~B}y'oL(&e#ed38薇u9F4S4TSy5duӝPY1tPY1 oFQEs}V NلveBiO;COJ(KʷvUM.t(׸l = ,,ʣ^ r[X[ A*OB2 !NrܨƢvkBANwQE= ,,9S'f$p)T'Mk.bTJ J HQNhrGq% ,, u SyUB]jBP׊ŅssרUD iOYSK#y5dp,81 8J RPIdUɩd{8Ìo; k$7"I6u6$0y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.coboldynamicrecordtype_mi.html$$ Method Index for com.ibm.ivj.eab.record.cobol.CobolDynamicRecordType

Constructor Index

CobolDynamicRecordType()
CobolDynamicRecordType(int)

Method Index

equals(Object)
equals(Object, boolean)
getArraySize()
getObject(IRecord, int)
getRecordAttributesClass()
newRecord()
newRecord(IRecordAttributes, int, int)
newRecordWithBytes()
newRecordWithBytes(IRecordAttributes, int, int)
pack(int)
pack(int, boolean)
8 kk$*7"I6u6$@y*./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolinitialvalueobject.htmll$$ com.ibm.ivj.eab.record.cobol.CobolInitialValueObject <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.cobol.cobolinitialvalueobject_dsc.html#_top_">com.ibm.ivj.eab.record.cobol.CobolInitialValueObject (no frames)</a></b></p> </body> ordAtt kH$7"I6u6$y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolinitialvalueobject_dsc.html$$ Class com.ibm.ivj.eab.record.cobol.CobolInitialValueObject

Class com.ibm.ivj.eab.record.cobol.CobolInitialValueObject

java.lang.Object
   |
   +----com.ibm.ivj.eab.record.cobol.CobolInitialValueObject

public class CobolInitialValueObject
extends Object

This class contains the initializing value for a Cobol Type. The initializing value can be specified by either an initial value or a figurative value. A figurative value can only be used when the Cobol Type has a cobol data type of DISPLAY_NONNUMERIC. An initial value can be used for any Cobol Type.

The figurative value, which maps to a figurative constant on a COBOL VALUE clause, can be:

  • 0 (The number zero).
  • ' (Single quote).
  • " (Double quote).
  • (Space)
  • xxx (A string).

The string in the figurative value repeats until the field is full.

The initial value can be:

  • A Java String which can be converted to a numeric value for any numeric Cobol Type.
  • A Java String for a nonnumeric Cobol Type.

When invoking the CobolInitialValueObject constructor, only one of the initial value and figurative value parameters should be specified, with the other one being set to null.


Variable Index

 
 

Constructor Index

Creates a cobol initial value object for a Cobol Type.
String)
Creates a cobol initial value object for a Cobol Type.
 

Method Index

This method determines if the two initial value objects are equivalent.
Returns the string representation of the CobolInitialValueObject.


Variables

o initialValue_

 public String initialValue_

o figurativeValue_

 public String figurativeValue_

Constructors

o CobolInitialValueObject

 public CobolInitialValueObject(String s)
Creates a cobol initial value object for a Cobol Type. Specify either the initial value or the figurative value, with the other value being null. The initial value and figurative value are separated by a comma.
Parameters:
s - The form of this string is "initialValue,figurativeValue". An example of this would be "123,null".
Throws: CobolRecordException
Thrown if a String is supplied in an invalid format.

 public CobolInitialValueObject(String initialValue,
                                String figurativeValue)
Creates a cobol initial value object for a Cobol Type. Specify either the initial value or the figurative value, with the other value being null.
Parameters:
initialValue - The initial value.
FigurativeValue - The figurative value.


Methods

o equals

 public boolean equals(Object obj)
This method determines if the two initial value objects are equivalent.
Parameters:
obj - The reference object with which to compare.
Returns:
true if this initial value object is the same as the obj argument; false otherwise.
Overrides:
equals in class Object

o toString

 public String toString()
Returns the string representation of the CobolInitialValueObject.
Returns:
String representation of this object.
Overrides:
toString in class Object

e k$:7"I6u6$PUy:./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolinitialvalueobject_mi.html$$ Method Index for com.ibm.ivj.eab.record.cobol.CobolInitialValueObject

Constructor Index

CobolInitialValueObject(String)
CobolInitialValueObject(String, String)

Method Index

equals(Object)
toString()

Variable Index

figurativeValue_
initialValue_
">  k$7"I6u6$@y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.coboloverlaytype.htmlt_mi$$ com.ibm.ivj.eab.record.cobol.CobolOverlayType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.cobol.coboloverlaytype_dsc.html#_top_">com.ibm.ivj.eab.record.cobol.CobolOverlayType (no frames)</a></b></p> </body> b l$9A7"I6u6$y(./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.coboloverlaytype_dsc.html$$   deort.<>achilns "/bfmpy=R_guv#(),-AOTjw:CIkx 0BEFWqz14DHP|+3589;MS!2?GLNUY7Hf٧]k { (aENn1[*J-^KirIY H@POej 4eeAJmjwN 0c$pچupچ'h7Mx5y80bT@@PWXÖ5slќ,``pp$ ()Dv@DzC5Yhe䡖].6<4V_J t\]l$ ( @H08Jm$V‰RJZ2op'-J-˼S@X@r{)9s.䨁;NʓV+Z [g۔`YfŚ E,e2P.ކYvXHnTY4t(U!kP!x ub=%-]+0A+{57My* {!j))j_nQ [QCtגNz<[s$I+eI+qDeT@*eye%x%bQz5,8hr)e)Yv,x`Ǭ΢IF\5I) IJ t(!H+(ƒ5hz-Xu3ELX¶J5hz-S5%-Dd@(C5L.P5¶JfŚ^JxiRJZAAAI_nQ ej2y(\euƧO:LXpT5,e2PiΤ??ܣ5,e2P'fL<1bV‰S,8Q@\fiyԒ PPPRW۔`YfŚ^Jp.zܦ^Nu ^ +lDjYe.NԀ/Z&y!I)j  %}F%jYe=gP5¶JfŚ^J=gu$,5,8hr)e)Yv,x`Ǭ΢IGe(Q^3 -gcEo XyԒQzBcҾܣ5,e2QckTňna[g %AkO:R@u]Ɯ6.&y!DI pֺ=\cqu+<#S{Xu>}@~Os;,eֺ=lǯ H@H zF@9D+Y BhJR@hQGpc6a4 tLD_nQ ej49єC,zemc~u ^ kO: P"˷ z S/'\k2}zyԂLd(C5Yhe䡖] 6?O:LX^Hh~AfŚ^J"i,fB{=ЂU L- &y!{mD'  2Zk[sٔPt#+ٝ~Os;,e0l~S/'ǬA?)׻,fB|uyf޸ImC}dkP@P  YqfCK-L2˷]=gP5-wCB Q`)%-@?Wty^2 S/yezyԂLd(C5Yhe䡖] 6?O:LX9l˻}.wCBywo Lʿ kͭm2\ o\'|ϭ.mcΤ:JҿB e;%I)j tu?w3o"@)D,H"˷ z <%I)j tfЂA]0mcxiP8A*IKQ,x`ǬΤZ'e( {]0mcxiP8A@门Lʸ"ѧiЎ fuYvcku r%K@_͡,x`ǬΠwCB RJZ%e=gu$@;)D[kO: -@X t4 QJ t@e\5e;Kڏ_B:2ezyݭ 1< t5@eI3-@)xkk"IE3*-@X t7p9l:] gױYO:@zTʈ%K@_͡Zۘ:[K@: mH%4ҿB 0bpZ @aa%I)j t-IEvR0 0f,8 QJ t@e\56>kk t*=}m}ckuG+1Vr̩2?u]%/mmd@(?e^\5򌬨2Lok߷f?u]%Mh̄@(?e],n ˚WqZX?[^+60چIbIL{4Ϋ MDQfUҾܣ5,e2QckTňnj-Xա뀴LЂU@`ž))jc(C5LXǬ<1bV‰P`ǬΤ?*^2IR:WhA4 [Ch ,:<JR@-T [⒋Q?8aos9wo1o8aaXpIŞ@(:e 2GZ۟5>߱YO:ו }CQkkm{3"˷ z <:5 wotzט>j'(Lʓ/QgUZRfDQfU[_(ʃ+a}iAfUş¸&/j?ZYF6=y\tY/*P@t52@t數2S.i]}kmcήmxײúXj$˚Q|i%2[X/RJQz+Y uy<8A*IKQ Y6Qj t -gt7 Y6%LDfUZk[sfB?[^.kٟ[_O:?j=wotzט@9DfTz:&fB tZ2p^ygvGy<'%KԒT@*^Jm$]haaej2y(^HOt4 $ZֆLԔZ'e( { oZXu3AҾܣ5,e2P^H5¶J"i o1 0ք}nX|zW۔`YfŚ^J2y, !y4 e ^ +lDM2AuÎڐ$;]pIKPOJrK,8QFS/%uŹ2;]p1bV‰Pe.k"Os;,YO:{eWt|,WpY\9Ն^RI 2@tY@|^O ᭯AfUu>C 25+dk{y<dCkk[R:&fB tZ2]M2x{}q埵?u]%5aҾܣ5,e2Qemd]p1nx̪\LXpT&y Ⱥ-Gk )j Lʸ_1nx̮mO  LKPkrIE}F%jYe)ˀȺ2qכS@Q뀩5¶J/$pY\8ͩAl?e\5 qכS?]H LKP`t@(?e]+0A,PFS/%6?O:LXZXu3AfŚ^J"i %BC jJZ=+0A,PFS/%6?O:LXpT6<4%-DJ%LTD,H4 3j 1%I)j tui,fA\bQ?8aos8!x4 3j 1 tvR2?W kͭmљmv=qkN}Pm|^O^8Q^}m?cku r̩2?u]%Mh̄@(?e\5<=c{9mCcy={mGy@[=zyԂΫ MDQfUҾܣ5,e2QckTňnaui,fA\bJ։^H^8Q=qJZ=+0A,PFS/%6?O:LXpT6<4%-DJ%LTD,L(S/'\k2}zyԏ[^=g\#1 L?LYQ{ڞO\clrZ@[_)I 2@t52@p upe{3,xe:ܰQj_nQ ej2y(e-v*b7Mx04Al?e\./=2>Fc/k)z뇳>S/%WIj Y%̫}F%jYep>Os2y:y*b7Mx4(:@_ o\$p625 ~ןo2{.u'kǬ]{ڞy[U!Eu1:jaA4埵ؽ6/jx{y( t3*LDWIjKś[Y:J-DWX^Gq4qc6̫W 0a,şYDy<EW[.40#[¸kkنF댍O2h LKPљQj Lʸ_B:2]M2P@tWJrK,8QFS/&lS!km( ^H e$3*py3[]K\=y( LKP`t@(?e]+0A,PFS/% |kΡS!kAiZvYqf)HehOt4 B/$ v?j))jc(C5L.YfS/'O:LXpTAY`e䆞u$IR$:JҿB 9lJR@-G-Z'e( {ۧ {چdkB%LDfUZk[s̼eGj -@_2k˷X[\ t7yw2x{]sXO ~폧ѵ 8kkja G:*;S80fGZu^HO>p6×\dj~t%^m{03k£<^Xúv6oeP̮vYՄ ֺ[^mCQ[]opP ot|/xCo`ǯ]d6y( t3*LDWIjKś[Y:J-DW[.40#[¸&B8ռe|P@_׳ i3kǬDWIj Y%̫}F%jYe=gP5-wCB Q`)%-]z Yqf)XB,Ct׃ 8Q* XyԒ%KԒT@*^Jm$hO.:KQ`)%IJ ~pq-wCzp6В\ˠ, QJ t@e\56,YO:@9DfTz:6 tZ2\ haFpL6qxGeFo#Z@=g< Lʹ˙t]5o_(5g9s.S*1^P ~r tIR$:JQ\7ㅷIRuewX {r HOe=.e ?qIRbj%WD+l{rK,8Pȥ^Je.ck ^JW 7@ ʤ7My*=q.^1}F%o{Ƣ%Ao=qE%-]+0A+{j(nT)\'UknbV%l%n(VҒTj')+0A(AHAMi?WDˆ4%Ƌ%))Ƭ]D qf-˼,@H@01< `$@(@)k@ m| k$:7"I6u6$0y:./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.coboloverlaytype_mi.html$$ Method Index for com.ibm.ivj.eab.record.cobol.CobolOverlayType

Constructor Index

CobolOverlayType()
CobolOverlayType(int)

Method Index

equals(Object)
equals(Object, boolean)
getArraySize()
getObject(IRecord, int)
getRecordAttributesClass()
newRecord()
newRecord(IRecordAttributes, int, int)
newRecordWithBytes()
newRecordWithBytes(IRecordAttributes, int, int)
pack(int)
pack(int, boolean)
ivj.ea k~$7"I6u6$Py./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolrecord.htmlm$$ com.ibm.ivj.eab.record.cobol.CobolRecord <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.cobol.cobolrecord_dsc.html#_top_">com.ibm.ivj.eab.record.cobol.CobolRecord (no frames)</a></b></p> </body> "> k$N7"I6u6$zN./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolrecord_dsc.htmltml$$ Class com.ibm.ivj.eab.record.cobol.CobolRecord

Class com.ibm.ivj.eab.record.cobol.CobolRecord

java.lang.Object
   |
   +----com.ibm.record.Record
           |
           +----com.ibm.record.DynamicRecord
                   |
                   +----com.ibm.ivj.eab.record.cobol.CobolRecord

public class CobolRecord
extends DynamicRecord
implements Serializable

This class describes the cobol dynamic record format. It is an extension of DynamicRecord. Record attributes are stored in a CobolRecordAttributes class. These attributes are used for marshalling. This record provides convenience methods for changing these attributes. These methods also modify the content of the record to match these attributes. For instance, if the code page attribute was changed from code page 037 to 437, any data in the record that is affected by the code page attribute would be changed to conform to the new value. The record attributes are:

  • code page
  • compiler
  • endian
  • floating point format
  • machine
  • remote int endian
Values for these attributes are defined in the CobolRecordAttributes class.


Variable Index

CODEPAGE_TYPE
COMPILER_TYPE
FLOATINGPOINT_TYPE
initialized_
MACHINE_TYPE
REMOTEENDIAN_TYPE
REMOTEINTENDIAN_TYPE

Constructor Index

CobolRecord()
This constructor creates a new cobol dynamic record instance with default marshalling properties.
CobolRecord(IAnyFixedLengthRecordType)
This constructor creates a new cobol dynamic record instance with the specified record type and default record attributes.
CobolRecord(IAnyFixedLengthRecordType, byte[])
This constructor creates a new dynamic cobol record instance with default record attributes and the specified record type and record bytes.
CobolRecord(IAnyFixedLengthRecordType, byte[], IRecordAttributes, int, int)
This constructor creates a new instance of a cobol dynamic record with the specified record type, bytes, attributes, starting offset, and alignment offset.
CobolRecord(IAnyFixedLengthRecordType, IRecordAttributes, int, int)
This constructor creates a new instance of a dynamic record with the specified record type, attributes, starting offset and alignment offset.

Method Index

getCodePage()
This method returns the codepage of the character data in this record.
getCompiler()
Return the cobol compiler type.
getEndian()
This method returns the endian of integer data in a record.
getFloatingPointFormat()
This method returns the floating point format of floating point data in this record.
getMachine()
Returns the machine type.
getRemoteIntEndian()
Returns the endian for 2 and 4 byte integers, that will be converted by DFHCNV macros.
initialized()
Use this method to indicate that the CobolRecord has finished initialization.
setCodePage(String)
This method sets the codepage for character data in a record.
setCompiler(int)
setEndian(int)
Sets the endian format using the argument endian
setFloatingPointFormat(int)
This method sets the floating point format of floating point data in a record.
setInitialValues()
This method sets all initial field values in the record.
setMachine(int)
Sets the machine type (NT/OS2/MVS/AIX) indicated by the argument machine.
setRemoteIntEndian(int)
Sets the endian for 2 and 4 byte integers, that will be converted by DFHCNV macros.

Variables

initialized_
 protected boolean initialized_
CODEPAGE_TYPE
 protected static final short CODEPAGE_TYPE
COMPILER_TYPE
 protected static final short COMPILER_TYPE
FLOATINGPOINT_TYPE
 protected static final short FLOATINGPOINT_TYPE
MACHINE_TYPE
 protected static final short MACHINE_TYPE
REMOTEENDIAN_TYPE
 protected static final short REMOTEENDIAN_TYPE
REMOTEINTENDIAN_TYPE
 protected static final short REMOTEINTENDIAN_TYPE

Constructors

CobolRecord
 protected CobolRecord()
This constructor creates a new cobol dynamic record instance with default marshalling properties.

CobolRecord
 public CobolRecord(IAnyFixedLengthRecordType recordType)
This constructor creates a new cobol dynamic record instance with the specified record type and default record attributes.

Parameters:
recordType - The type of the record.
CobolRecord
 public CobolRecord(IAnyFixedLengthRecordType recordType,
                    byte bytes[])
This constructor creates a new dynamic cobol record instance with default record attributes and the specified record type and record bytes.

Parameters:
recordType - The type of the record.
bytes - The record bytes
CobolRecord
 public CobolRecord(IAnyFixedLengthRecordType recordType,
                    byte bytes[],
                    IRecordAttributes attributes,
                    int startingOffset,
                    int alignmentOffset) throws IllegalArgumentException, RecordException
This constructor creates a new instance of a cobol dynamic record with the specified record type, bytes, attributes, starting offset, and alignment offset.

Parameters:
recordType - The type of the record.
bytes - The record bytes,
attributes - The attributes of the record (code page, endian, etc).
startingOffset - The offset to where the record begins within the byte array associated with the record.
alignmentOffset - The offset for the record or sub record which is used to start record alignment.
Throws: IllegalArgumentException
One of the parameters is not valid.
Throws: RecordException
A failure is detected during the creation of the record.
CobolRecord
 public CobolRecord(IAnyFixedLengthRecordType recordType,
                    IRecordAttributes attributes,
                    int startingOffset,
                    int alignmentOffset) throws IllegalArgumentException, RecordException
This constructor creates a new instance of a dynamic record with the specified record type, attributes, starting offset and alignment offset.

Parameters:
recordType - The type of the record.
attributes - The attributes of the record (code page, endian, etc).
startingOffset - The offset to where the record begins within the byte array associated with the record.
alignmentOffset - The offset to be used for packing.
Throws: IllegalArgumentException
One of the parameters is not valid.
Throws: RecordException
A failure is detected during the creation of the record.

Methods

getCodePage
 public String getCodePage()
This method returns the codepage of the character data in this record.

Returns:
The codepage of character data.
getCompiler
 public int getCompiler()
Return the cobol compiler type. This value is ignored.

Returns:
The cobol compiler type.
getEndian
 public int getEndian()
This method returns the endian of integer data in a record. Valid values are defined in the CobolRecordAttributes class.

Returns:
The endian of integer data in a record.
getFloatingPointFormat
 public int getFloatingPointFormat()
This method returns the floating point format of floating point data in this record. Valid values are defined in the CobolRecordAttributes class.

Returns:
The floating point format of floating point data in this record.
getMachine
 public int getMachine()
Returns the machine type. Valid values are defined in the CobolRecordAttributes class.

Returns:
The machine type is returned.
getRemoteIntEndian
 public int getRemoteIntEndian()
Returns the endian for 2 and 4 byte integers, that will be converted by DFHCNV macros. Valid values are defined in the CobolRecordAttributes class.

Returns:
The remote endian for 2 and 4 byte integers.
initialized
 protected void initialized()
Use this method to indicate that the CobolRecord has finished initialization. After this, a change to the conversion properties (ie. codepage, endian, floating point format, ...) will cause conversions in the byte array to occur.

setCodePage
 public void setCodePage(String codePage) throws RecordException, IllegalArgumentException
This method sets the codepage for character data in a record. The list of valid codepage strings can be found in the JDK Internationalization Specification.

Parameters:
codePage - The codepage string.
Throws: IllegalArgumentException
The code page supplied is not a valid value.
Throws: CodePageConversionException
A failure is detected during the setting of the code page.
setCompiler
 public void setCompiler(int compiler) throws RecordException
setEndian
 public void setEndian(int endian) throws RecordException
Sets the endian format using the argument endian

Parameters:
endian - The endian type to be assigned. Valid values are defined in CobolRecordAttributes class.
Throws: RecordException
Thrown when conversion of the record fails.
setFloatingPointFormat
 public void setFloatingPointFormat(int format) throws RecordException
This method sets the floating point format of floating point data in a record.

Parameters:
format - The floating point format of floating point data in a record. Valid values are defined in CobolRecordAttributes class.
Throws: IllegalArgumentException
The floating point format supplied is not IEEEFLOATINGPOINTFORMAT or IBMFLOATINGPOINTFORMAT.
Throws: RecordException
A failure is detected during the setting of the floating point format.
setInitialValues
 public void setInitialValues() throws RecordConversionFailureException, RecordConversionUnsupportedException
This method sets all initial field values in the record.

Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by a field in the record.
Overrides:
setInitialValues in class DynamicRecord
setMachine
 public void setMachine(int machine) throws RecordException
Sets the machine type (NT/OS2/MVS/AIX) indicated by the argument machine.

Parameters:
machine - The machine type to be assigned. Valid values are defined in CobolRecordAttributes class.
setRemoteIntEndian
 public void setRemoteIntEndian(int remoteIntEndian) throws RecordException
Sets the endian for 2 and 4 byte integers, that will be converted by DFHCNV macros.

Parameters:
remoteIntEndian - The remote endian for 2 and 4 byte integers to be assigned. Valid values are defined in CobolRecordAttributes class.
Throws: RecordException
Thrown when conversion of the record fails.

m. k̢$\7"I6u6$y\./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolrecord_mi.htmltml$$ Method Index for com.ibm.ivj.eab.record.cobol.CobolRecord

Constructor Index

CobolRecord()
CobolRecord(IAnyFixedLengthRecordType)
CobolRecord(IAnyFixedLengthRecordType, byte[])
CobolRecord(IAnyFixedLengthRecordType, byte[], IRecordAttributes, int, int)
CobolRecord(IAnyFixedLengthRecordType, IRecordAttributes, int, int)

Method Index

getCodePage()
getCompiler()
getEndian()
getFloatingPointFormat()
getMachine()
getRemoteIntEndian()
initialized()
setCodePage(String)
setCompiler(int)
setEndian(int)
setFloatingPointFormat(int)
setInitialValues()
setMachine(int)
setRemoteIntEndian(int)

Field Index

initialized_

Variable Index

CODEPAGE_TYPE
COMPILER_TYPE
FLOATINGPOINT_TYPE
MACHINE_TYPE
REMOTEENDIAN_TYPE
REMOTEINTENDIAN_TYPE
"0"  kt$ 7"I6u6$@y ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolrecordattributes.htmlhtml$$ com.ibm.ivj.eab.record.cobol.CobolRecordAttributes <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.cobol.cobolrecordattributes_dsc.html#_top_">com.ibm.ivj.eab.record.cobol.CobolRecordAttributes (no frames)</a></b></p> </body>  l$$s7"I6u6$@zU./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolrecordattributes_dsc.html$$   eot <>abcdilnrs./hmp"=ABCEILNOSTfguvy(),DFGMPR_j #-JUV[]w234:HY019xz8X5;Wq!&7?Kk'+|XPoK]ҋ9@Wt6B\4c6bXBLRV} RV|څTP&\m-HvHT Ei/Cg5mʊ4BBX6Mxh̬泭YQB[)>MnHK\lZVsY},-.HK\.7(Wpᷧ*ŝT)1glRvҶ,D%gY\}E >b/h)?k^@عb`Dk)_7 /vq}+8OXX[K*(IizYSZaɳ,n8Fߢ?Pn" %-0dٖ4m' Iw&\m-HvHѸ}){IYؤ1I\$'Y.Emk dH ݤ\_n9R\56^I6R\5(#+BlXO[y6.@[64 E! 7./U)+:bbP׾M|PFVk!f.]^vKڄ_Oyz!o@~<˷vq}u',-Om~|JX s {^]r D(x*O\ 8qȩ=gE3l|t'O綿OW%,eȽI/.E"/?>\"U', Ha" O\б ,Ha""qy1IA6EƽKωi.=gXƽmk*йxC nn|^m/}븇BT>vHoMM[I $CߦQ)uG'6EOnjOuoXsώSes {m,RzɊO\CEIE'Q`A"(i IXTP&\m-HvHT E!  D(x"X0x`!CőYb~P8E"8 8rD@(5wSTX[y6.@ؘ6io@F)./QU柨H 4hp $' [|k=Qĩ7(ei!x7[7~RTrpOo<$'$ (,DE IC%Hp'8ApI &*ϥ%rK~R5-H7vq}B4B@aC $sXAkO~63E |?$0~FRNIIJ (<d8Ap $ņKRW `mʊ@عb`Dk)_vJHD!W~ 0A $,Ip?Tm*gdF6:oHa" 2=ߔ+:ƒ Py""OIN &,0w|^jko>TP&\m-HvHT E!  Di g5O&zoS=n;$P7xC no._Ԟ4hp$@C(Opc@ 4xhLX`4l%pV},/ 6&M[5쑯doABy&@X%CɇIp?Tm*gdF6:oHa" 2=ߔ+:‡ , bwɥf+ eE ~ l\0"mߔd~;%K~R ݤ\_n?P(y0$4K , "HHhVsXAkO~63E |?$0~FRNICɇI1a >OTP&\m-HvHT E!  , " TP&\m-HvHT E! B$@p"X  0"Ybu%pV},/ 6&M[5쑯doABy J@PIA9R\ Τ*ϥ%rK~R5-H7vq}B4B@`@P@,   Ybu%pV},/ 6&M[5쑯doABy 8KBF' JYQB_ lLmq k#_Rߔwiۨ*O$   HYA,   HYE)?gRW `mʊ@عb`Dk)_vJHD!W~ 0 X(X%,,@y9R\ Τ*ϥ%rK~R5-H7vq}B4B@`@P ` X(XDCsXAI\5UK*(Kb m6 ~;$k*[n"u^i`bA,,@H5T$00=~ epO KB_Ha"1%pV},/ 6&M[5쑯doABy$0KDƒH' [|k=QĩHa"aj5{kw>A|O$0<~ et5IYГF,Oru~82bko>TP&\m-HvHT E! A./Pp,HVsXAYV}){׿']wP%pV},/ 6&M[5쑯doABy dH ݤ\_n-0dٖ43,=}){g5`B~7 /vq}.plt~Bik=- =8ERz4nueQĬn+ eE ~ l\0"mߔd~;%K~R ݤ\_n?Pn;$o@^"ui&̱`O'z= `vH>ߔE곚r{H̰O'z= B3}){׿']wSc^;^1ԟTm+J΄1gR ?!x %pX[y6.@ؘ6io@F)./QU柨H d K,!Ip?Kn{|6W/M{kmjko>TP&\m-HvHT E! 1tѸL4A= 3  cf.7)jk= 3 )?gRW `mʊ@عb`Dk)_vJHD!W~ 3f.L@a4v`,~LB 3S,v`' JYQB_ lLmq k#_Rߔwiۨ*O$~LB 3S`3  cf.L@a+Y`; OԕX[y6.@ؘ6io@F)./QU柨H glawJ= 3  cf.L@a+Y`'_A>3QTX[y6.@ؘ6io@F)./QU柨H Z>ͱӄ[0p,-zhf-k3~~mlϘl٪JYQB_ lLmq k#_Rߔwiۨ*O$܅4MfX{H̰@VnBÚZsXOiR\ ߐKZԕX[y6.@ؘ6io@F)./QU柨H [Ѹ13Ё,A賚xB3w}WOQTX[y6.@ؘ6io@F)./QU柨H [ӄ[0xBk9!Ip?'{_߹-0x`À'q햺W}>z2n jko>TP&\m-HvHT E! z,ne3м xBrfX;#= Y`Ycv3-}-]nzݎMIJYQB_ lLmq k#_Rߔwiۨ*O$k^|g` eoCZ;Y` y2=I\5UK*(Kb m6 ~;$k*[n"u^iս3l|t3Ё,}c磧k9!Ip?'{_ߥ~3-t8E"#oۇq " 5TX[y6.@ؘ6io@F)./QU柨H X{$Tn;$%EFK9R\ Τ*ϥ%rK~R5-H7vq}B4B@j"h3Ё,@=*i3ПBu%pV},/ 6&M[5쑯doAByF )Ыw(O'zݙ+l{%mOvd BxL46e'fJ0,.6/SuWW(Qg5B|g=ْ'2VلfJ0O'Fe{%mBu%gBLRV6bm"J%9RV}f)?HҺ+8J,P ,,I[0x`!CőYbilRz%([+^30x`!CőRVr4)+Apg6Eqcp䉜Pkό)+:b $D(x"X%na 8PdVs[wJ/_mPÈEIYؤbr߹-0W)n]ͭàןMZ,RVt$%mj(Hd (<`q!J PKsX04,!e $<@A,1IZ4)=_ؿ/04,!e $<@A)+9[LR\ PC<gQD@(3]*jb&)+oPBG8,!e $<@A bk@ȆDY es[wJ/_m8pYB"HydERVr4)+AyYcv3-y\ ߓ.Ëjb&)+oPBCADıg5JQ5)+F']ҋue=ᠢjJF%p3kO~63-{kό2ܑ3P Z,RVt$%mj(I"` ,I[H%hؤKQbV3lg0IYؤbpMoF{~z y=_Bf[&pjb&)+oPBHŜ)+sYbilRz%([+^3DI\$' _ꍾ%Lm ^;{wƾ8̷"Sp CV 1I[|څ,xbkǀ*sKb.E݋XͲcIYؤbpMoF{~z y=_Bf[)+:b $,i! bkcI $Ag9JѥIt]nfxx(XC RVr4)+A[|k=QĩHa"aj5{kw>A|l4D;c+EJ΄mB Ha"X%n`hXC YbilRz%([+^34D-J&)?gTm*gƒHFZC]ϿF2plt xI $CF2XIJ,PQ1  bkcI $@YbilRz%([+^3 &4DE%g#KbIO5ƿs|J}!ѦP綽s?DC WCV 1I[|څ4hp,I[4hrsKb.E݋XͲC-J&)?gTm*gdF6:oHa" 2=ߔ+:",< IJ (<dxA5To2lt4D<e{w)K98Wu'&@Xɏ #5To2lt4D<e{w)K98Wu'&@Xɏ #@y &,0w|^jb&)+oPBI " @pC ,,Yb0" D0@aYbilRz%([+^3Lxa" Lppe)+9[LR\ >5To2lt4D<e{w)K98Wu'&@Xɏ #3ПO KsXHVs[wJ/q ~Riۨ9=f[nBÚZT3C6GNlT3ӄ[0'.X݌dgyD*Ohk^|ga*OhAilRW 1Ip8vH>ߔEߓл)e/FcuO6%hIp 1IY6BPg9Ogh܅4?'{_ELFy\hZ&\?Am"?'{3o{e}b7M2oXTߌ]=lz86: te~O-{ѓtQW-{':/[ tex4gKɻOs[;~'ln;~3-t/[|k6EzoS?O_}ldmp35ʛC_..OtϣLFy\;gwkMRp;GNlF~~3-t8Ep?еFMҹD Rp;B̰vFzA63e̷G#=r7~O-{ѓtQT\ ּF~}F}m ^d+@'3n et~M|J}WN^}m ^d+@' g[P`6:s8J6BX=hrjOg(}0?0b\ƾV7Tt$ŝ1IYГͨX(^,IYbz~BJ<b %8@,I[dg9JѥItI6N-J&)?gKn{|6W/M{kmoO; kW`ߎ B{kXf[~~BȽI})uG'̷+ <8>ԟ\ [9]76E}>.I-0KF[cRYГt %gBLRV6b&b順iLzgl Ŝ)+s1tCL4 ds[3mp3 w]4 )q xxL4l%I;|E0R@X0!IYؤmB ~LJ`;`=Ŝ)+s1tҘ0sKbѦmnv`v{i%g#Kb %3M) V%9RV?&b0a)+F'L~;3M) W%g#Kb %3M) 탕7Bg5J]4 3%hؤioۇqX3&b0ar輸-J,P]4 3@,I[vs[3mp3 w]4 3輸-J,P]4 3,`,Yb13M) 1IZ4)=fgl ɘiLglY2ޮRVr4)+oPB_1tҘ08L46e' bkɘiLgmg9JѥI6߷;`g~LJ`;`oW)+9[ͨX/ɘiLgl4 KsX~LJ`;k9RV-OFw;f.SMpBI[|څ8L42%AŜ)+s1tҘ7YbilRz4ͷø,ߓ1tҘ7Vs {RVr4)+AnLkZa<ё,o q.4hp hsrjJb.b놳mҠ:s\ a/|Za<ё,o Vs {3MRpuj3ϴv95'3y3M} {O ipR{/KF[cRYГt %gBLRV6b新p,Yb0܅41IZ4)=_#2ܵ܅4)+9[LR\ z^!}T' \$' g[z^'3ޗ_E' 1gB RVt$%mj(IkѸ1 KsX-z7F2,1IZ4)=_=FW@p%g#KbIOKu}]1l%hIp 1IYޗ1I :>.A6j΄)+:b $-8@,I[Ztg9JѥIt-z:pfilRW 1Ip8}zNOs[>a/ '=N;~3-t>z2n jXAsKusp~~|d^RYГt %gBLRV6b 7c2^Q8@,I[Z.X݌dgyD9RV-ODykйcv3,n)+9[LR\ z^7c2ѥԕ' \$' g[z^'3ޗe̷G#=iuv93Tt$ŝ1IYГͨX%CZ;Ŝ)+s ^v%hؤKQ kό!IYؤbp~}FRV1p\5n`}zN:s\ z^ן(ړ΄)+:b $}c磧`X%nakC6GNls[wJ/סm"ك)+9[LR\ z^Ϳ햺{" {7ƽu}Tm*gpf {ø teB|J|"TOl~|d^ԟ~[B׽7J7Ƽd^R0>lȽE'lҦ+EOIOη0>'Pg9Og/Ihfߌ]=lȽ?I:b&)+oPBkz7!a-`-0dٖ43,%9RVVnBÚZs[wJ/20新r{H̷h܅4)+9[LR\ NOZZԕ' \$' g[5 ۥ@u)?Ar-{ߐK_(٪O:b΄IJ,Pލ bk#]s[wJ/20#]=#]-J&)?g'{_~ ete7Ƽd^k^RjXAsF{t'3n et~PLf?I:b&)+oPBkz:pf@,I[[ӄ[5)+F']ҋ=oGNl=8ERVr4)+A~~|d^ O{gvgZ^W)ɺW(Jb.b놳mҠ:s\ ӄ[>s[?QTt$ŝ1IYГͨX5 7c2^QRVr4)+A~|g.=n&)?b&)?k:Ѩ^*1I D>~Pe̷G#=iuv93Tt$ŝ1IYГͨX5 kό3Ё,Yb2y1IZ4)=_dazן y2&,AJ΄mB }c磧` bk3l|tg9JѥItc#[C6GNl=3l|t!IYؤbrw}Z=Os[>a/~26wA`@ _L5Ix62JF̷¿Os[>a/|S<8 go{erOkތrOZ_u,(`a JF%gъOiH?DzJ ܥTZ̰ O}H ıIT)1m$Cq$&$7"I6u6$z&$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolrecordattributes_mi.html$$ Method Index for com.ibm.ivj.eab.record.cobol.CobolRecordAttributes

Constructor Index

CobolRecordAttributes()
CobolRecordAttributes(String, int)
CobolRecordAttributes(String, int, int, int, int, int)

Method Index

clone()
convertCobolToJava(int, byte[])
convertFromByteToChar(byte[])
convertFromByteToDouble(byte[])
convertFromByteToDouble(int, byte[])
convertFromByteToFloat(byte[])
convertFromByteToFloat(int, byte[])
convertFromByteToInt(byte[])
convertFromByteToLong(byte[])
convertFromByteToShort(byte[])
convertFromByteToString(byte[])
convertFromCobol(byte[])
convertJavaToCobol(int, byte[])
convertToByte(char)
convertToByte(double)
convertToByte(float)
convertToByte(int)
convertToByte(long)
convertToByte(short)
convertToByte(String)
convertToCobol(BigDecimal)
getCodePage()
getCompiler()
getEndian()
getFloatingPointFormat()
getMachine()
getRemoteIntEndian()
setCodePage(String)
setCompiler(int)
setEndian(int)
setFloatingPointFormat(int)
setMachine(int)
setRemoteIntEndian(int)
sizeOfCobol()
sizeOfJava(int, int)
updateCicsDataDescriptor(int, int, int, boolean, boolean, boolean, int, int, String, boolean)

Field Index

picFieldLength

Variable Index

AIX
BIGENDIAN
COMP
COMP1
COMP2
COMP3
DISPLAY
DISPLAY_NONNUMERIC
DISPLAY_NUMERIC
IBMFLOATINGPOINTFORMAT
IEEEFLOATINGPOINTFORMAT
JAVA_BIGDECIMAL
JAVA_BOOLEAN
JAVA_BYTE
JAVA_CHAR
JAVA_DOUBLE
JAVA_FLOAT
JAVA_INT
JAVA_LONG
JAVA_SHORT
JAVA_STRING
LITTLEENDIAN
MFCOBOL
MVS
NT
OS2
SIGN_LEADING
SIGN_LEADING_SEPARATE
SIGN_TRAILING
SIGN_TRAILING_SEPARATE
VACOBOL
VSCOBOL2
l# krr$7"I6u6$@z./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolrecordexception.html$$ com.ibm.ivj.eab.record.cobol.CobolRecordException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.cobol.cobolrecordexception_dsc.html#_top_">com.ibm.ivj.eab.record.cobol.CobolRecordException (no frames)</a></b></p> </body> nt, i k$ 7"I6u6$z ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolrecordexception_dsc.html$$ Class com.ibm.ivj.eab.record.cobol.CobolRecordException

Class com.ibm.ivj.eab.record.cobol.CobolRecordException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.ivj.eab.record.cobol.CobolRecordException

public class CobolRecordException
extends RuntimeException

This exception is thrown to indicate that a failure has occurred with a cobol data type.


Constructor Index

CobolRecordException()
Constructs a CobolRecordException with no detail message.
CobolRecordException(String)
Constructs a CobolRecordException with the specified detail message.

Constructors

CobolRecordException
 public CobolRecordException()
Constructs a CobolRecordException with no detail message.

CobolRecordException
 public CobolRecordException(String s)
Constructs a CobolRecordException with the specified detail message.

Parameters:
s - String The detail message.

VA_C kN$7"I6u6$`Xy./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.cobolrecordexception_mi.html$$ Method Index for com.ibm.ivj.eab.record.cobol.CobolRecordException

Constructor Index

CobolRecordException()
CobolRecordException(String)
l"> k$7"I6u6$Pz./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.coboltype.htmlpti$$ com.ibm.ivj.eab.record.cobol.CobolType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.cobol.coboltype_dsc.html#_top_">com.ibm.ivj.eab.record.cobol.CobolType (no frames)</a></b></p> </body> acdilnr ,.bfhmpsu"/gvy-=CIPRST_jx#():BDEFNOwALVq MUGJkz01;H349'+258?WY|!7H|DqBX(Sms: xS* tg=DemQY$( D\I$Jtn P >D\܈أl !@ rH [7XŶ0Q$E @@[D/ZlqgJ*2ʋJeO(& >H"QQ]4nXS!@`P(  Dl H @@Ҿ :B%I?Zp 6ĩ69uB'd:'d筭t J7&ڤr%}"'62`@Q8peeE2.cO%@g€)jҼɁn3%g2IQQ[jDZhxp"Q[jF CJc& eS8*-(_0f=0lSe]4H-n8 C op[)ROQ6=h!Pd\\ٳ|WkiWO~ <[I4Cbᜳr>J tIQ|t t""TKQ  !qEQ  t42-z-462`@Q8peeE2.cO O Jhxp" -j8!]Gdew(k BOFkE|@my)ŜS+,*-)]{ur@%:E5 t$ IiT"$FQQL8qN T,QtEiQsl\j&6 rSɍGܤR?WM!Ql\6TLo^X۞\cO-462`@Q8peeE2.cObP1ThW JLl8$" -j2m3bᲠ2cz];|@my)ŜS+,*-)]Ɵ!Ag<&2c`.5F>ikUhwgq ט]];|@my)ŜS+,*-)]J tҼɁYG) Te.S(}>Cڃ 6x M@dQK,.5F!,ZRɴc;3͋ʀɍnIM8T.EI:H>dD8xmvkiQL8qN T,QtEiQsl\j&6 mFQ*bP1Thj6KP @^6`qFwpP1zo!Km@ +͌%qN,0@YeFYQiL2=0lظLl86 DM@dQn.ZRɴc;3͋ʀɍn.\cO-462`@Q8peeE2.cObP1DM@dè6" -j2m3bᲠ2c};|Zܔ@my)ŜS+,*-)]Ɵ!Ag<&2camFQ*bP1 6ikUhwgq !נmF tҼɁYG) Te.S(}>Cڃ 6x M@dè6 DM@dè6 H KZ F0C;ظl fƟ=ּ6 (PJc& eS8 *VYQTZS(yL4j (96,0MA \,[ѐ#(YFYQiAAʋI 'XŔY@%,0MA \,[єZAʋI '!,)Zxth`f͘PB -3(L/]l,q?F uvl,qTZQL8qN T,QtEiQsl M6B.@Q*e@dirKP @^6` 6lُfƟ:/n\ ܷq;)z6 @my)ŜS+,*-)] ̨܆Wr҈-462`@Q8peeE2.cOe@d¡`5ˀ %L T,pH KZ F0C6ldz\cOi.vTLn[͞2u\p܆Wr҈-462`@Q8peeE2.cOe@dl5А JP1[ t%" -j2m lٳr>t ^ܹP1n;6s] ܆Wr҈-462`@Q8peeE2.cO ,!,(H ނE-@@ab?W3ͦ훘J\e4C\g [QL8qN T,QtEiQsfFX"X#(YFYQiAAʋI 'XŔrҀ8弝вwB '.T\ ˪|N )뀲n.r+9uO %FFX"XZAʋI 'X"XwB 't,N]Sp'.NY8mN]Sp'.H֫fi[ѝhk1e4;%9oK,Km@ +͌%qN,0@YeFYQiL2=0l̍pD-Puod8qQTZPPdwBG) Te.PMO x %NY;dT\ ˪|>WwB 'XŔYA@Y9uO#G,,qxTn[EH,вp.[oFAK,вwB '.T\ ˪|NqtT\ ˪|R\tٴ ;6wA=!,hk8t.6{|>נ|:[ц!7:ce@my)ŜS+,*-)]Wr+9uOвwBn.r+9uO @^kΛ66f:ܷg% ycnwBgzcb{ٳ|:[YQiDڀW0 K(Y8`RʌҙEeO{PaF8$8qQTZPPdwBjNY;dT\ ˪|>WwB 'XŔYA@Y9uO#GR TZNY; \I 't,вr+9uONY;d@Y9uO KZ Cg1oFuaDڀW0 K(Y8`RʌҙEeO{PaF8$*-"ތG*2ʋJ TZNY;(Y8`RʌҙE PuodX 't,вr+9uONY;d  (6 '.T\TdhW:ܷz2KP(2YQi;d4]<*-"ތ Y;dN]Sp'.T\ 't,6 '.T\kUƹ ihvl~1oFz,BYzװt.6{|>נ|:[ц!7:ce@my)ŜS+,*-)]WwB 'XŔYA@Y9uO#G)!Puoe" PdwBhxTn[E!,wB 't,N]Sp'.NY8mN]Sp'.H֫Írft&[bތXm"[t.6{|>נ|:[ц!7:ce@my)ŜS+,*-)]Wr+9uOвwB1e=pPmN]Sp'.D" PdwB}. 't,вr+9uONY;d@Y9uO KZ Cg1oFu1(PJc& eS8 *VYQTZS(yL4j (93#GK:ܷz2eS8*-((2YQi;d죊qgJ*2ʋJeO(&A[ѐab't,вwB˪|>Wr+;d,bz,ۋ,N]SpQOTn[EH,вp.[oFAK,вwB '.T\ ˪|NqtT\ ˪|R\tٴ ;6wA=!,hk}.Bgzcb{ٳ|:[YQiDڀW0 K(Y8`RʌҙEeO{PaF8*eS8*-((2YQi;dNY;d>Wr+9uOвwB1e=pPmN]Sp'.DPZAʋI 't,вwB '.T\ ˪|NqtT\ ˪|Rٴ;6{|gZQL8qN T,QtEiQsfF A[ѐ#(YFYQiAAʋI 'eS8 *VYQTZS(yA4]<*-"ތ Y;dN]Sp'.T\ 't,AcSe]d>Wr+J x)%NE r-0 eNY;d>Wr+9uOвwBn.r+9uO @^kΛ66f:ܷg% p ͞Ɵ$,qaMf΁oeE:[ji^ld,qgJ*2ʋJeO)]>Ɵ!Ag<dh,8qQTZPPdwBPNY;dT\ ˪|>WwB 'XŔYA@Y9uO#Gui%NwB 't,N]Sp'.NY8mN]Sp'.H֫fi[ѝhkPQL8qN T,QtEiQsfF r-qN,,eE)ŜS+,*-)]<.[oFAK,вwB '.T\ ˪|N )뀲n.r+9uO %FF r-E-@@eEt:ܷz2 ,BYdNY9uON]Sp't,вpۋ,N]Sp?W3ͦMٳ-Ž eC^кi@^oFvl,qTZQL8qN T,QtEiQsfF!,#(YFYQiAAʋI 'XŔY@%NY;dT\ ˪|>WwB 'XŔYA@Y9uO#G ZE-@@eE Y;dN]Sp'.T\ 't,6 '.T\kUhvl4-δ;6u|hw;Wki@]}f ,BYe:[ji^ld,qgJ*2ʋJeO)]>Ɵ!Ag<dhab x FQ8҂%N8qN T,QthxTn[E!,wB 't,N]Sp'.NY8, ˪|>W(8X r-E-@@eEt:ܷz2 ,BYdNY9uON]Sp't,вpۋ,N]Sp?W3ͦ4ٳe{1Λ6Q!Km@ +͌%qN,0@YeFYQiL2=0l̍mFqgeEK*-'t,j6NY;dT\ ˪|>WwB 'XŔYA@Y9uO#GQZAʋI '@ڍNY;d>Wr+9uOвwBn.r+9uO @^6fcObތC^(PJc& eS8 *VYQTZS(yL4j (93#GQ:ܷz2eS8*-((2YQi;d죊qgJ*2ʋJeO(&A[ѐab't,вwB˪|>Wr+;d,bz,ۋ,N]SpQMTn[EH,вp.[oFAK,вwB '.T\ ˪|NqtT\ ˪|R\tٴ ;6wA=!,hk6{uٳ޽1ތ1 >X-,Km@ +͌%qN,0@YeFYQiL2=0l̍qtG*2ʋJ TZNY8,  't,вr+9uONY;d  (6 '.T\Tdhۋ-" PdwBn.wB 't,N]Sp'.NY8mN]Sp'.H֫fi[ѝhkn.X tҼɁYG) Te.S(}>Cڃ 6x @XTn[E2)ŜTe,вvQ8peeE2E r-0 eNY;d>Wr+9uOвwB1e=pPmN]Sp'.D@XTn[EH,вp.[oFAK,вwB '.T\ ˪|NqtT\ ˪|R\tٴ ;6wA=!,hkn.кi@^oFvl,qTZQL8qN T,QtEiQsb'\XT.l{酀ZE-@@)ZxqC:ln.m͝op0B*=;(cO-462`@Q8peeE2.cO6]ţrmP .-n.ZR\tٴ3hvkhxpt.-5T.@Y840݋\-sۯ:ln>tweE@tΛ6;5v4(PJc& eS8 *VYQTZS(yL4j (91s`"Q*6"-" -j8!6m718mO0@_f =h:au tҼɁYG) Te.S(}>Cڃ 6x \mqN,,eED\mE-@@eEH֫&ьi[ѝhkrQL8qN T,QtEiQsbM\@qgeEK*-'t, %BM\R)jK*-'t, @^6`fcObތC^W-462`@Q8peeE2.cO6K|G*2ʋJ TZNXJ͂))% KZ F0Cg1oFum"[Km@ +͌%qN,0@YeFYQiL2=0l͂K#(YFYQiAAʋI PSvKP(2YQi;`Rɴc;6{|gZK-462`@Q8peeE2.cO6 2)ŜTe,а( R TZNX-j2m͞Ɵ8Žֆn@my)ŜS+,*-)]@Q*6UX$EtE-@@)Zxd1B& E(L-vgf.䢈-462`@Q8peeE2.cO6UX$EtвwB˪|Q*6UX$EtE-@GB '.H֫&ь׺O0@_fU_ *./BakT;6vQtƟ:cc{6vQtBaOh`{@<80[(@my)ŜS+,*-)]qz3 { tҼɁYG) Te.S(}>Cڃ 6x \-  %Bh\`-Д)jH֫&ьz3(nf{ht..-462`@Q8peeE2.cO6 ,BY`FQ8҂%s`%KP(2YQi;`Rɴc;6{|gZ YDڀW0 K(Y8`RʌҙEeO{PaF sQ*6$R?W3ͦF0CgB 'P[/g XPNQ9vDڀW0 K(Y8`RʌҙEeO{PaF 6`FQ8҂%sam" PdwBkUhvl4-δ5Q-462`@Q8peeE2.cO6 %B\yH KZ5gMM6`f΃=ٳt2ܠQL8qN T,QtEiQsbmvEIi@( ۘPB d&ͦR?WM!ٳk3:loPiMs ܆avl!kdKm@ +͌%qN,0@YeFYQiL2=0l͆$@lh %Bmvn 6m5" -j2m͝tvtٴ%.ogDڀW0 K(Y8`RʌҙEeO{PaF ۘ[oF@lh %BmvA[ѐ6KP @^6`fP;:lntn[y!Km@ +͌%qN,0@YeFYQiL2=0l͆ MMD\mٻ$ٴԊZRɴc;6v"ftPZ};|@my)ŜS+,*-)]qz3 xmQL8qN T,QtEiQsn@-t,bz,ۋ, %N@-tHqtH֫&ь`SeWe"Mn3\EÆ;0و5NSeF-JE2*(PJc& eS8 *VYQTZS(yL4j (93ֺ$EіTz@Xd2ԊZRɴc0if{5f:^2\筭@my)ŜS+,*-)]7E CuYhE|@my)ŜS+,*-)]Ɵ!Ag<"-eS8*-((2YQi;dK|D E"[" PdwBH?W͡ٳ:׶-QL8qN T,QtEiQshMK#(YFYQiAAʋI '1R`" PdwB}.kUhvl4-δ5>e:[ji^ld,qgJ*2ʋJeO)]>Ɵ!Ag<Tn[E2)ŜTe,вqYO\ ,BY`Q*Bl*-"ތR TZNY80 eH֫Írft&[bތXBgzcb{ٳ|:[YQiDڀW0 K(Y8`RʌҙEeO{PaF6 2)ŜTe,вwBTT-" PdwB ?W͡ٳ: в-462`@Q8peeE2.cOBl 2)ŜTe,вwD -" PdwBP KZ Cg1oFu}@YDڀW0 K(Y8`RʌҙEeO{PaF6 ,BY`FQ8҂%N )뀲K, %HM ZE-@@eE X-j6m͞Ɵ8Žֆ`%QL8qN T,QtEiQshMAYO\qtD 1" m KZ5gMM`5 80‚C0E (>sٳ4(PJc& eS8 *VYQTZS(yL4j (94&MqN,,eEmFTiH,вt -j6m͞Ɵ8Žֆj6QL8qN T,QtEiQshM]`FQ8҂%N )뀲n.(!6qtR TZNY8m KZ Cg1oFu  tҼɁYG) Te.S(}>Cڃ 6x X"XX FQ8҂%N )뀲n.wB 't,N]Sp'.NY8, ˪|>W(\`w KrPB e" PdwBn.wB 't,N]Sp'.NY8mN]Sp'.H֫å CgeA \/=!,hk8X_fcOz8Kz0&Cg@ct҈-462`@Q8peeE2.cOBnBjZ`"ތG*2ʋJ TZNY8,  't,вr+9uONY;d  (6 '.T\Ur܄EH,вpۋ,вwB '.T\ ˪|NqtT\ ˪|RBPB -EK/ZA i@^oFvl,qTZQL8qN T,QtEiQsw(XIMA \,[ѐ#(YFYQiAAʋI 'XŔYA@Y;dN]Sp'.T\ 't,AcSe]d>Wr+JPWX)%NqtNY;d>Wr+9uOвwBn.r+9uO @^(Z;*ZxŽ eC^Wb!}=>H]>X-͝12ʋJ tҼɁYG) Te.S(}>Cڃ 6x R%BjZ`"ތG*2ʋJ TZNY8,  't,вr+9uONY;d  (6 '.T\Ur)!5-poFR)jK*-'t,6 't,вwB˪|>Wr+;d]d>Wr+-j:P;6vTz3bֆob!}=>H]>X-͝12ʋJ tҼɁYG) Te.S(}>Cڃ 6x >a5-poF@qgeEK*-'t,AcSe]dNY9uON]Sp't,вqYO\qtT\ ˪|Q*BOMA \,[єZAʋI '  't,вr+9uONY;d@Y9uO KZ-͝-pbތX1-nٳ޽1ތ1 >X-,Km@ +͌%qN,0@YeFYQiL2=0lPXMA \,[ѐ#(YFYQiAAʋI 'XŔYA@Y;dN]Sp'.T\ 't,AcSe]d>Wr+JPXMA \,[єZAʋI '  't,вr+9uONY;d@Y9uO KZ-͝-pbތXzŭB6{|>נ|:[ц!7:ce@my)ŜS+,*-)]Wr+9uOвwB1e=pPmN]Sp'.D jZ`"ތR TZNY8mNY;dT\ ˪|>WwB ' ˪|>W)Zxthvl!kg% {[l4 }w@ct Bot;6t8Kx*-(PJc& eS8 *VYQTZS(yL4j (9;,4ڍE2)ŜTe,вqYO\qtNY;d>Wr+9uOвwB1e=pPmN]Sp'.D 6a5-poFR)jK*-'t,6 't,вwB˪|>Wr+;d]d>Wr+-j:P;6vTz3bֆj7Z/gzcb{ٳ|:[YQiDڀW0 K(Y8`RʌҙEeO{PaFܡa@XMA \,[ѐ#(YFYQiAAʋI 'XŔYA@Y;dN]Sp'.T\ 't,AcSe]d>Wr+JPۋ,&-E-@@eE]dNY9uON]Sp't,вpۋ,N]Sp?WJfʂ^1oFz,BYz׆]zŭB6{|>נ|:[ц!7:ce@my)ŜS+,*-)]Wr+J8" PdwB 't,вr+9uONY;d@Y9uO KZ F0Cg1oFuXŔrҀ8!,-462`@Q8peeE2.cO2)ŜTe,вwB 't,N]Sp'.NY8, ˪|>W(]ܤR TZNY;dN]Sp'.T\ 't,6 '.T\kUhvl4-δ5卹(PJc& eS8 *VYQTZS(yL4j (9;W#(YFYQiAAʋI 't,вwB˪|>Wr+;d,bz,ۋ,N]SpUIE-@@eENY;d>Wr+9uOвwBn.r+9uO @^6`fcObތC^W-462`@Q8peeE2.cOR%@qgeEK*-'t,вwB '.T\ ˪|N )뀲n.r+9uO %W@DE-@@eENY;d>Wr+9uOвwBn.r+9uO @^6`fcObތC^DDڀW0 K(Y8`RʌҙEeO{PaFK#(YFYQiAAʋI 't,вwB˪|>Wr+;d,bz,ۋ,N]SpU)H,вwB 't,N]Sp'.NY8mN]Sp'.H֫&ьi[ѝhk}. tҼɁYG) Te.S(}>Cڃ 6x*eS8*-((2YQi;dNY9uON]Sp't,вqYO\qtT\ ˪|Q* R TZNY;dN]Sp'.T\ 't,6 '.T\kUhvl4-δ5t,Km@ +͌%qN,0@YeFYQiL2=0l:#(YFYQiAAʋI 't,вwB˪|>Wr+;d,bz,ۋ,N]SpUPKP(2YQi;dNY9uON]Sp't,вpۋ,N]Sp?WM!ٳ:׾,Km@ +͌%qN,0@YeFYQiL2=0lK,8qQTZPPdwB 't,вr+9uONY;d  (6 '.T\Ut ,BYi%NY;dT\ ˪|>WwB ' ˪|>W)Zxd1=>qz3͝g>.]i@]}օe0 e@my)ŜS+,*-)]W(]QZAʋI 't,вwB˪|>Wr+;d]d>Wr+-j2m͞Ɵ8Žֆj6QL8qN T,QtEiQswA@XqN,,eENY;d>Wr+9uOвwB1e=pPmN]Sp'.D6 H,вwB 't,N]Sp'.NY8mN]Sp'.H֫&ьi[ѝhkn.X tk@_!YPB.$R@6*I@PB.Q@_!BhxpJ)j tΐ!4]<8iRE-DEÆ)Z'T@3 O (ʈ-z֫5l!qEQ]H7tњQtƟ%>lM@.7BlDX 6m5 PB[&Tg\4]<8i ע|TN]@=DMz+೤ HMO|1e=pPmZ%& >R(:O-fEÆ @ۋ/\E{64 CJc& eS8*-*2ʋdE}QsaGPdH$uA"H* t KZ8!]Gdew(k BOFkE|> uٳ|:[":a}PvlaA:Pa@Y헸\,n W{[є5v fΖSeHMlYM!6"-"MgMM@I KZ դ+:nb"QVg*/ T-n/g=DYnnfeD0 E{ @  HI֨)Q|t :ljTKQة&QMM@( tΐ,\j&6 rRE-D&2c`q)Z'T@3.l\j&6 r:EQQZahwgq ז6!I KZ դM H@kUEfe@d#GkrOVl'1oBJ դLbd-DZW0 K(YFYQiK|mɍG܁T&2c`q)nǭ462`@Q8җ4j (90ĨE-Dש":E5 tΐ,\j&6 jRE-D&2c`&)Z'T@3.l\j&6 j:EQQZahwgq װǺ!I KZ դM H@kUEfe@d#GkjOVl'1oBJ դLbd-DZW0 K(YFYQiK|mɍGT&2c`&)nǭ462`@Q8җ4j (90ĨE-Dש":E5 tΐ,\j&6 K|TKQ1p *4p"-E|eDos2+&2c`D @|eDDkUM!Ql\6TLo^DuٮCD@Ik@mIj F0@ E֫3͋ʀɍF׶-OVl'1oBJ դLbd-DZW0 K(YFYQiK|mɍG) @(1p *4p"-KVlzCJc& eS8*-)pcO<z%˪|ɍGK (ʈ-z֫ F0C;ظl ޼!I KZ դM H@kUEfe@d#Gk}.͘\-IDڴ`Ɍ\@ E֫Jc& eS8*-)pcObP1ThSvSɍGKZCcւW0 K(YFYQiK|m}T@hp"kԑMj":WgH@.5F TKQ1p *4pT-"Qʈ=e>W M@dQ`@)Q:Z?V6`qFwpP1{}fƟ%:OQZ%Q%2m2EKZ:(6.*&7;^Y=YkŽ (V 1((?Zi^ld,qgeE.liQsl\j&6  DM@dQinǭ462`@Q8җ4j (90ĨE-Dש":E5 tΐ,\j&6 TKQ1p *4pPE|eDos2+&2c`@X @|eDDkUM!Ql\6TLo^\cO'-jרV6`"QVgq ̍}@Y=YkŽ (V 1((?Zi^ld,qgeE.liQsl\j&6 T&2c`@ZE-[A +͌%qN,,m>Cڃ 6x >*48iKQE5HDMz+೤ KɍG X %I:KSɍG ZEI>z%˪|ɍG X @|eDDkUM!Ql\6TLo^rNmF¡r.bN@)'R%I8忨n.\cO'-jרV6`"QVgq ̍0 e՛1 [В-i-@"QVL8qQTZR6Ɵ!Ag<&2c`%SɍG ZE-[A +͌%qN,,m>Cڃ 6x >*48iKQE5HDMz+೤ KɍGQ J)j t.5F 6iZ'T@3.l\j&6 mFRH* t KZ2m3bᲠ2cz uٮCD@Ik@mIj F0@ E֫3͋ʀɍFנmF͘\-IDڴ`Ɍ\@ E֫Jc& eS8*-)pcObP1Thj6SɍGQZCcւW0 K(YFYQiK|m}T@hp"kԑMj":WgH@.5F Q*HZLl86 H@>2DuObP1Thۋ, t>2K^&ь(6.*&7 r>J tK^KmZKPd1d-DXtQl\6TLo24v6 '6b r%?[jZ&1se2EKZ+͌%qN,,m>Cڃ 6x M@dQn. JLl86 Ht6=h!y)ŜTe {PaF%@ >R)j HI֨)Q|t bP1D"IjbP1H@>2DuObP1H"ר-jɴc;3͋ʀɍkikrQ?RZ?[jZ&ь$Qj â3bᲠ2c}ּ$fABs$KmZKP0d.lH@kUy)ŜTe {PaFp u܁T&2carKVlzCJc& eS8*-)pcO<dfABs$KmZKP0d.lH@kUy)ŜTe {PaFp uK JLl:OE-[A +͌%qN,,m>Cڃ 6x >*48iKQE5HDMz+೤ KɍPT,Z%M@dè*E|eDos2+&2ca H"ר-jɴc;3͋ʀɍkik (z֩-z-i-Ah(?ZaFwpP1^Y=YkŽ (V 1((?Zi^ld,qgeE.liQsl\j&6AP JLl:inǭ462`@Q8җ4j (90ĨE-Dש":E5 tΐ,\j&6@@X %I:KSɍPPE|eDos2+&2caGT@k@Xd1fe@d5v4 (z֩-z-i-Ah(?ZaFwpP1^zf !9zQ%2c6P$Qj ҼɁYG*2ʋJ\=0lظLl:: JLl::ZCcւW0 K(YFYQiK|m}T@hp"kԑMj":WgH@.5abD"IjbP1!,-D* |K{T\6.5abH"ר-jɴc;3͋ʀɍkiknIM$B\Ĝ '>dD8pۋ,I KZ դM H@kUEfe@dpK,و5Nbބ@mIj ͔Z-j62`@Q8җ4j (96.5abDM@dèX)j Zi^ld,qgeE.liQsaGPOZ)RE5 tk@_!XLl:M %I:KSɍPiH@>2DuObP1 6`@)Q:Z?V6`qFwpP1r>{zlI KZ դM H@kUEfe@dzlو5Nbބ@mIj ͔Z-j62`@Q8җ4j (96.5j6SɍPiHt6=h!y)ŜTe {PaF%@ >R)j HI֨)Q|t bP1 Q*HZLl:n.-D* |K{T\6.5ۋ, t>2K^&ь(6.*&7ٮCu  tK^KmZKPd1d-DXtQl\6TLo׆]dfABs$KmZKP0d.lH@kUy)ŜTe {PaFp u]`@(1p u]inǭ462`@Q8җ4j (90ĨE-Dש":E5 tΐ,6X`X FQ8҂%N )뀲K, %I:KS &-EI>z%˪| &-+͌%qN,,FYQh{PaF%AAʋR)j,мK 0& K/eA \,[ѐ)Q:Z?V(Z4ٳf:Tz3  }:cц!7]f:ce@=DkTDڴgMP$Qj ,Í2ʋJ t BoÍ1 ,,mMl4(9DXŽgeA \/=!,ez:ŭB դM H@kUUHSe[PB -3(L,blŽ HSe]Yk-i-@"QVL8qQTZQ`.ͱ{PaF`jZ`"ތG*2ʋJ TZNY8,!,(0`jZ`"ތRպҼɁYG*2ʋJ12ٶ4j (90Ĩh0f >R)j HI֨)Q|t e@dirRE-Dʀɍd-b"Qʈ>5r˖>W  Z @|eDDkUM!M6cٮC΁ۗ;*&7-gfls :OQZ%Q%2m2EKZ@Mz)QS^J,ʀɍǹ J)j tTLl&=ϘQj tQƮYrܺᲠ2ca4q| t>2K^&ь͛1!@E˝3ge{1܆Wr҈5gMMCdew- 9q"D@Ik@mIj F0@ E֫.?S^kT@רҾ :B2c`5ˀ %I:KS*&6 \$Qj tQƮYrܺᲠ2c`5ˀ @|eDDkUM!M6cٮC΁ۗ;*&7-gf:y\nCaiD@Ik@mIj F0@ E֫.?S^kT@רҾ :B2c`NTKQ22c`NQj tQƮYrܺᲠ2c`NGT@k@Xd14ٳf=;|Hs2crvl>nt/2rr \J tK^KmZKPd1d-DYuO"$SZHDY% `.@($R@-L T,pH@>2ύ\uOe@d¡`5ˀ @|eDDkUM!M6cٮC΁ۗ;*&7-gf:wB\nCaiD@Ik@mIj F0@ E֫.?S^kT@רҾ :B2c`H %I:KS*&6aQj tQƮYrܺᲠ2c`H @|eDDkUM!M6cٮC΁ۗ;*&7-gfrk;j.ZQ?RZ?[jZ&ь$Qj ˪|ש":E5 tΐ2XŔY@%Z%@TV(:O-f]SpEo@ ,BY}  t>2K^ÍrfvNt% vl 2ʋ{|3 - (z֩-z-i-AkΛH@kUb>l&3OEK/[((V6`"QVSeWe"Mn3\eE>w!ٳZ=!":a`>SeF-JE2*͘\@mIj ͔Z-j62`@Q8Ҍpvm>Cڃ 6x@TV  (XU *+z nǭ462`@Q8Ҍpvm>Cڃ 6x >*8FZ١OZ)RE5 tk@_!LpD-FQ8҂%N (٥,,qy;dN]Sp'.T\ 't,AcSe]d>Wr+J)j t#G,,qzEI>z%еۙ724pɁYG*2ʋJtem}T,"2ʋI  t Bl`c[z2I^.]8iI^Z'1$zSH+ $uOX"XH+Z'L\HB%t$zX$m"zh[ t?>W aPCI ˪|k]a@y)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@|eDDkU͡ٳ:׈,b9vi@w Kr߃ YD@Ik@mIj \Vt2EKZ2ʋp|8,E nvl DYaMqц!7z%еۙ724pA[ѐ"W0 K(YFYQiN<* TZP1ARc IE-D^ld,qgeEFYQk*&(:D7-I{PaF%AʋBj&(:AϨܴ">PH(ʈ-z֫5gMMЛCgtn[z3bֆ`c[Bgzcb{ٳ|:[YQiD@Ik@mIj \Vt2EKZ2ʋp|8,KZK 0&|8͞2ʋrܡј4ٌD7ٳ[ђKZbތq-Ž ~_u6QV.]8ic͝]?jv4(֫X- CÍ\ǣ8:eٳ@kU-:^`.g|]ѝ8XPNc(֫XkŒڻ]>w!p@kU,q~ٳZ58弢KZ`N>gf |:bm]Ɵ%?ZkK 6s[ٳXt,KZa[Í\2ٳnc[  =pl-:^6y=pl 'PZ-j@ 5]+{/p҈-jֺ$EіT. lٳi1@mIj64 @ EJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH֫܆ٹev@^ʀɊ@mIj64 @ EJc& eS8*-*2ʋYP1A`'QlOTڃ 6x >* TZP1A}F堑IE-DXq@Te 8U"y!kԑMj":WgH@#G܁G*2ʋJ TZNY9cnI 't,вr+9uONY;d  (6 '.T\TKQ86"Qʈ=hZS86L8qQTZS,=0leEqTZI:^a!6I卹-$&k|@zh\J?^0{@94˪|\.?]Sp8弒˪|h1s н``] I b$?qt6Z/i$T\5@ $+z@Xd2/fƁi^ld,qgeEFYQk*&(:bc2">Pj (90Ĩ2YQhM@dTKsьDY'۪ :EQQZahvl4-δ5卹(z֩-z-i-AkΛH@kUYQn|:PEcO-j8-Д0|8z3(h]F[8XPIDZS6wٽٳ:^҈-j\0|(͝r iDZQ8XPNʅC^c[  D鋙FvlaA;.fiQVD.g>uѝ;e9oϧB žp|8s*=;=8弢KZ`BSgp2|e P(֫XTp CCvTLPuCtSKJ [Z F[HgtFZW (Kv@^:ܷT դHեy)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@kUYsьClܲQ/e@dT HI֨)Q|t 24pmTn[E2)ŜTe,вvQ8peeE2E r-0 eNY;d>Wr+9uOвwB1e=pPmN]Sp'.D"Ij24pmTn[EH@>2Ds1F x D62`@Q8ҝeEAg<txxK*-HHt/1 1 HJc& eS8 *VYQTZS(yLxŽ%QsaGPMO x %KV1oFI нa4]<Xp D BP$BK٤?]Spp$+D-?]Sp D鋘IKHt/Xk$ۋ/X$Dз0{I *8Hi$T\3ֺ$Eі{64 CJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH+͌%qN,,*-e@dT}F">Pj (90Ĩ2YQhM@dT"yDY'۪ :EQQZaƹ ihvl~1oFz,BYzז6t.6{|>נ|:[ц!7:ce@=DkTDڴgMP$Qj ,Í2ʋJ t BoÍ1 ,,mMt@}8Ž -;rߌ[ђ eZe?Zk Æ8>|:PEcO-j8-Д0|8z3(h]F[8XPIDZS6wٽٳ:^҈-j\0|(͝r iDZQ8XPNʅC^c[  D鋙FvlaA;.fiQVD.g>uѝ;e9oϧB žp|8s*=;=8弢KZ`BSgp2|e P(֫XTp \ܡͲk (֫=mk,2@T]nAbP͛1[Z 6{zcDڴc@Z62`@Q8ң,P1nz1dnm}T,&2bA",Z-j 1nz1m\j1t Dڴc@Z62`@Q8ң,PF"yȋ$u@=0leE5PX nZ dn$R@kUJ HI֨)Q|t 24pIqN,,eEĝвwB '.T\ ˪|N )뀲n.r+9uO %I:KQM\R(:O-fe9M\@^ld,qgeE:2ʋCڃ 6x >* TZKWeE?^cbd?Wbތ@zhx!v$AnI sN I 5I>W `c[ 0 ?^-I@^Hen`)@uOXTpH.gtH -lhL8qQTZTe2b-F3",<w!p@kU,q~ٳZ58弢KZ`N>gf |:bm]Ɵ%?ZkK 6s[ٳXt,KZa[Í\2ٳnc[  =pl-:^6y=pl 'PZ-j@ 0@$7e@dT7@ez@_Qtex2j1t{u@KmZKPqjd-ZW0 K(YFYQiQTZʀɊ=̈OTڃ 6x >* TZP1ARc IE-DX=6.[TLPu@kԑMj":WgH@#GA[ѐ#(YFYQiAAʋI 'eS8 *VYQTZS(yA4]<*-"ތ Y;dN]Sp'.T\ 't,AcSe]d>Wr+J)j t#GA[є-D* |K{k3NndhW:ܷz2Jc& eS8*-)іTZQsaGPPdԊZ*-$B/h0$62`@Q8peeE2.:ܷ[њ,BYaAg<txxt:ܷz2 ,BYicd E >I н`N.b t%Ht/X[ t]I>W aH.kKrI>W `N?^D.$BoH DO\- sN˪| @uO=mk,2@T]hc@462`@Q8ң,P1nz1dnm}T,&2bA",ZҼɁYG*2ʋJTLPuA n[",<w!p@kU,q~ٳZ58弢KZ`N>gf |:bm]Ɵ%?ZkK 6s[ٳXt,KZa[Í\2ٳnc[  =pl-:^6y=pl 'PZ-j@ 5]+{/p҈-jֺ$EіT. lٳi1@mIj64 @ EJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH֫܆ٹev@^ʀɊ@mIj64 @ EJc& eS8*-*2ʋYP1A`'QlOTڃ 6x >* TZP1A}F堑IE-DXq@Te 8U"y!kԑMj":WgH@#G) FQ8҂%ND;dN]Sp'.T\ 't,AcSe]d>Wr+J)j t#G))Z'T@3Bnf2D+͌%qN,,FYQh{PaF%AAʋR)j,мK 0& H-$zhx!v$zh\J? sN I ˪|\.?>W `c[ ˪|h1s  ? b$?@^Hen`)@T\5@ $.gtH -lhL8qQTZTe2b-F3",<Wr+;d,bz,ۋ,N]SpRE-DdhE"[*-"ތQj tQ[ ]ss#G)!PuodL8qQTZS,=0leEqTZI^cbd?^ld,qgJ*2ʋJeO)]=uo4Xڃ 6x >* PuodX)j-$zhx!v$zh\J? sN I ˪|\.?>W `c[ ˪|h1s  ? b$?@^Hen`)@T\5@ $.gtH -lhL8qQTZTe2b-F3",<2K^Írft&[bތXm"[t.6{|>נ|:[ц!7:ce@=DkTDڴgMP$Qj ,Í2ʋJ t BoÍ1 ,,mMt@}8Ž -;rߌ[ђ eZe?Zk Æ8>|:PEcO-j8-Д0|8z3(h]F[8XPIDZS6wٽٳ:^҈-j\0|(͝r iDZQ8XPNʅC^c[  D鋙FvlaA;.fiQVD.g>uѝ;e9oϧB žp|8s*=;=8弢KZ`BSgp2|e P(֫XTp \ܡͲk (֫=mk,2@T]nAbP͛1[Z 6{zcDڴc@Z62`@Q8ң,P1nz1dnm}T,&2bA",Z-j 1nz1m\j1t Dڴc@Z62`@Q8ң,PF"yȋ$u@=0leE5PX nZ dn$R@kUJ HI֨)Q|t 24p)2)ŜTe,вsKwB 't,N]Sp'.NY8, ˪|>W($R@-FF>iZ'T@3Bnf2L8qQTZS,=0leEqTZIyaM@cw[ђH E >I t/X- @BK٤?T\5\ .kKrIuOX-.a$KH žI  DO\- sN+!?T\3ֺ$Eі{64 CJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH(ʈ-z֫ Cg1oFu1(z֩-z-i-AkΛH@kUYQn|:PEcO-j8-Д0|8z3(h]F[8XPIDZS6wٽٳ:^҈-j\0|(͝r iDZQ8XPNʅC^c[  D鋙FvlaA;.fiQVD.g>uѝ;e9oϧB žp|8s*=;=8弢KZ`BSgp2|e P(֫XTp CCvTLPuCtSKJ [Z F[HgtFZW (Kv@^:ܷT դHեy)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@kUYsьClܲQ/e@dT HI֨)Q|t 24p) x FQ8҂%N8qN T,QthxTn[E!,wB 't,N]Sp'.NY8, ˪|>W($R@-FF>aPuoe"Qʈ=hZS8]A[ѐ"W0 K(YFYQiN<W `c[ .kt$н``] IzX$@^Hen`)@]Sp@$4+z@Xd2/fƁi^ld,qgeEFYQk*&(:bc2">Pj (90Ĩ2YQhM@dTKsьDY'۪ y)ŜTeeE 0AϨܶDY'۪Ag<txxK*- O>rH$uA"H* t KZ8!6m7Bm͝uo-EK/ZKкi@^oFvl,qTZQ?RZ?[jZ71@ E֫6x*-(֫1 1 6z0&Cgܱ(tf 6c=Mld֫8>l~1oFH%hM@kU&k|iCgeOڻ]>J  D BPg'1unvlaA%?Zk sN C|]ѝ8XPNc(֫XkŒڻ]>w!p@kU,q~ٳZ58弢KZ`N>gf |:bm]Ɵ%?ZkK 6s[ٳXt,KZa[Í\2ٳnc[  =pl-:^6y=pl 'PZ-j@ 5]+{/p҈-jֺ$EіT. lٳi1@mIj64 @ EJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH֫܆ٹev@^ʀɊ@mIj64 @ EJc& eS8*-*2ʋYP1A`'QlOTڃ 6x >* TZP1A}F堑IE-DXq@Te 8U"y!kԑMj":WgH@#GBqgeEK*-'t,вwB 't,N]Sp'.NY8, ˪|>W($R@-FF Qj tQ[ ]ss#GB^ld,qgeE:2ʋCڃ 6x >* TZKWeE?yaM@dt/XMO.4$ D BP$ /h0f@>W aH,qy$]Sp D鋘I, BoH6 =pl-:^H*8Hi$]Sp[Z FZ5 +͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"H* t KZ6m͞Ɵ8Žֆn@=DkTDڴgMP$Qj ,Í2ʋtPfʀɊ@kU{A=b{ٳYQnX۔:31óg%?ZcgÍbތYs.҈-jtBaO >X(vlWkDZh\J>lD=Д4.-͜,($KZan`)svn;ތ‚s/iDZ\.>gfi  KZ`c[|(͜,('eB!l-?Zkt;6pk3jv4(֫X"XH`qH:P͝ӡe?Zk b8>lD9͝KvrQVHen`)qȉeXPO>2n@kU*8Hn!!*&(:)%?ZgtH -3ֺ -+x%Q/tn[u۪?[jZP$QjҼɁYG*2ʋJTLPu@ŹdE}QsaGPdКɊOT)j ,Źw!nYrݨ2b?S^kT@רҾ :B8*[oF@qgeEK*-'t,qN,0@YeFYQiLt:ܷz2 ,BYdNY9uON]Sp't,вqYO\qtT\ ˪|Q*HZ x)Z'T@3Bnf2P:ܷz2Jc& eS8*-)іTZQsaGPPdԊZ*-$ t BlJc& eS8 *VYQTZS(yLxŽ%QsaGPMO x %KV1oFI BtBaOHн`N.b t%Hнan`)svi$]Spp$˪|@>W `N?z@t/Xk$n.`BS$˪| @>W Qte^͍PҼɁYG*2ʋJTLPu@ŹdE}QsaGPdКɊOT)j'Jc& eS8*-*2ʋYP1A`'QlOTڃ 6x >* TZP1A}F堑IE-DGT@k@XqC:ln;rߌ[ў^5t/t.6{|>נ|:[ц!7:ce@=DkTDڴgMP$Qj ,ƒ%eE?Zf:^a!7FvlT[6g } ͜bތ?ZcgÍuo-X -jtBaO >X(vlWkDZh\J>lD=Д4.-͜,($KZan`)svn;ތ‚s/iDZ\.>gfi  KZ`c[|(͜,('eB!l-?Zkt;6pk3jv4(֫X"XH`qH:P͝ӡe?Zk b8>lD9͝KvrQVHen`)qȉeXPO>2n@kU*8HnAbPf[x5n@kU *. 1w(`f͘筭tH1ĢKmZKPqjd-ZW0 K(YFYQiQTZʀɊ=̈OTڃ 6x >* TZP1ARc IE-DX=6.[TLPu@KmZKPqjd-ZW0 K(YFYQiQTZʀɊ#Wr+9uOвwB1e=pPmN]Sp'.D"Ij24pPE|eDos4-vc)̍ɁYG*2ʋJtem}T,"2ʋI мK 0& xŽ$BtBaOHt/X- @ /h0f@uOXk˪|@uOX-.a$, нa[n.`BS$+!?]Sp[Z FZ5 +͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"H* t KZ6m͞Ɵ8Žֆe:OQZ%Q%-qYsZ-j*-g%ٳ2b?Zf:^a!7FvlT[6dh p-DXŽg=\A KZa4]<XpO8J;(~iQVZ'1<8Fpt% wCg (֫X[ t]7;6pKQV ٳv|CA-(֫X"X 3g Pk,qyDZh1s0|(͜,('r"tڻ]>J >lT:3gl-YDZX<8eGgqǽݲ@kU"zh[ t>l"znO0۪?Zk H`8HnʀɊnxiDYk]ap|) 2Jd7E nb [vDڴc@Z62`@Q8ң,P1nz1dnm}T,&2bA",Z-j 1nz1m\j1t Dש":E5 tΐ&F r-qN,,eE)ŜS+,*-)]<.[oFAK,вwB '.T\ ˪|N )뀲n.r+9uO %I:KQ::ܷz2E|eDos4-vc)̍A[ѐ"W0 K(YFYQiN<rdnm}T,&2b H]>X-͝12ʋJ tK^KmZKPZ⳦((?ZqT[eE?Zf:^a!7FvlT[6g } ͜bތ?ZcgÍuo-X -jtBaO >X(vlWkDZh\J>lD=Д4.-͜,($KZan`)svn;ތ‚s/iDZ\.>gfi  KZ`c[|(͜,('eB!l-?Zkt;6pk3jv4(֫X"XH`qH:P͝ӡe?Zk b8>lD9͝KvrQVHen`)qȉeXPO>2n@kU*8HnAbPf[x5n@kU *. 1w(`f͘筭tH1ĢKmZKPqjd-ZW0 K(YFYQiQTZʀɊ=̈OTڃ 6x >* TZP1ARc IE-DX=6.[TLPu@KmZKPqjd-ZW0 K(YFYQiQTZʀɊ#Wr+J)j t#G ZEI>z%еۙ724p0 eɁYG*2ʋJtem}T,"2ʋI  t BlXz2I^.]8iI^Z'1$zSH+ $uOX"XH+Z'L\HB%t$zX$m"zh[ t?>W aPCI ˪|k]a@y)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@|eDDkU͡ٳ:y]ʌe t]80 e@*!,] y˶ ϋud4\[`]׃\>\ ܷϋud4]͜& >J tK^KmZKPZ⳦((?ZqT[eE(KwCge@dT t BoÍ1 ,,mMZAٳ[ђ-jz31oF{P1ouٳG˹ڻ]>uA-(֫XMO.41҇f.v|@kUAnN.cќ CB2‚J /h0fq`.͜,('1@kU5Fvl]Ɵ;pKJ 8Œ‚vT-nrQVZ'L\ 3g ܆1s6cO-j%t9,q~}:QV-N.cQqtl-?Zk6Z/n<6[(L-vDZ R 2b22ZQVz@Xd2 C=mk/2ҼB[A]Q%852E+͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"KZ[grf-ڌ]{*&(:QE5HDMz+೤ IK,*-"ތG*2ʋJ TZNY;(Y8`RʌҙE PuodX 't,вr+9uONY;d  (6 '.T\TKQ8X r-EI>z%еۙ724p0 eA[ѐ"W0 K(YFYQiN<* TZP1ARc IE-D^ld,qgeEFYQk*&(:D7-I{PaF%AʋBj&(:AϨܴ">PH(ʈ-z֫5gMMiCgeF2[c6m72ٮCD@Ik@mIj \Vt2EKZ2ʋp|8,KZK 0&|8͞2ʋrܡј4ٌD7ٳ[ђKZbތq-Ž ~_u6QV.]8ic͝]?jv4(֫X- CÍ\ǣ8:eٳ@kU-:^`.g|]ѝ8XPNc(֫XkŒڻ]>w!p@kU,q~ٳZ58弢KZ`N>gf |:bm]Ɵ%?ZkK 6s[ٳXt,KZa[Í\2ٳnc[  =pl-:^6y=pl 'PZ-j@ 5]+{/p҈-jֺ$EіT. lٳi1@mIj64 @ EJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH֫܆ٹev@^ʀɊ@mIj64 @ EJc& eS8*-*2ʋYP1A`'QlOTڃ 6x >* TZP1A}F堑IE-DXq@Te 8U"y!kԑMj":WgH@#GQ#(YFYQiAAʋI '@ڍNY;d>Wr+9uOвwB1e=pPmN]Sp'.D"Ij24piH@>2Ds1F 6`D62`@Q8ҝeEAg<txxK*-HH t Bl 1oFI t/XMO.4$н`N.b t%H /h0f@]Spp$,qy$>W `N?, t/Xk$6 =pl-:^H˪| @]Sp[Z FZ5 +͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"H* t KZ6m͞Ɵ8Žֆj6Q?RZ?[jZ71@ E֫6x*-B[;*&(:QVcbx>laMfeEcnPlHւ͜bތ@kU[ќ6qz3eδpKJ E >p|4ctٳ]Ɵ%?Zkqs[(`qgBPкt;6p-jKٸ>l z3g t?Zk p`Q;Wk4.҈-j%9o;6p [@kU3Œ‚w!'L\ͫKZ``]!} uC;6vrߟN@kU5|qT{6w{-,qyDZ"' Kۃ"' aA @kU *.[Z *.AtPF.uopn@mIj64 @ EJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH֫܆ٹev@^ʀɊ@Mz)QS^J,dhj6[oF@qgeEK*-'t,qN,0@YeFYQiLt:ܷz2 ,BYdNY9uON]Sp't,вqYO\qtT\ ˪|Q*HZmF r-EI>z%еۙ724pi x D62`@Q8ҝeEAg<txxK*-HH t Bl62`@Q8peeE2.:ܷ[њ,BYaAg<txxt:ܷz2 ,BYicdBtBaOH D BP$нan`)svi$>W aH˪|@]Sp D鋘Iz@BoHn.`BS$*8Hi$>W Qte^͍PҼɁYG*2ʋJTLPu@ŹdE}QsaGPdКɊOT)j'Jc& eS8*-*2ʋYP1A`'QlOTڃ 6x >* TZP1A}F堑IE-DGT@k@XqC:ln;rߌ[ў^5Qкi@^oFvl,qTZQ?RZ?[jZ71@ E֫6x*-(֫1 1 6z0&Cgܱ(tf 6c=Mld֫8>l~1oFH%hM@kU&k|iCgeOڻ]>J  D BPg'1unvlaA%?Zk sN p|80fgf{J p;6vcOh8\%?ZkKr߃FvlaA;*A {e9o(֫X-.fٳC_NWkDZCÍAFvl8> (֫Xkg'1̨l8[X-jDO\- sNÍDO\-‚x&u@KZaPCp|* sr6 p@$4KZQte>C6l=mk/@EF%?[jZP$QjҼɁYG*2ʋJTLPu@ŹdE}QsaGPdКɊOT)j ,Źw!nYrݨ2b?[jZP$QjҼɁYG*2ʋJTLPuA n[",<I  D BP$t/X[ t]I]Spp$.kKrI]Sp D鋘I^D.$t/Xk$ DO\- sN*8Hi$uO=mk,2@T]hc@462`@Q8ң,P1nz1dnm}T,&2bA",Z"ר-jٴ;6{|gZۋ/!,'-jרV鹊d-D\eqYQnP1A-j/h0g Bot;6x*-rF`f2@ִpvldKZbތq[ў.uZQV.]8ic͝]?jv4(֫X- CÍ\ǣ8:eٳ@kU-:^`.g|]ѝ8XPNc(֫XkŒڻ]>w!p@kU,q~ٳZ58弢KZ`N>gf |:bm]Ɵ%?ZkK 6s[ٳXt,KZa[Í\2ٳnc[  =pl-:^6y=pl 'PZ-j@ 0@$7e@dT7@ez@_Qtex2j1t{u@KmZKPqjd-ZW0 K(YFYQiQTZʀɊ=̈OTڃ 6x >* TZP1ARc IE-DX=6.[TLPu@kԑMj":WgH@#G]aPuod8qQTZPPdwBG) Te.PMO x %NY;dT\ ˪|>WwB 'XŔYA@Y9uOZ%@XTn[EH@>2Ds1F  r-+͌%qN,,FYQh{PaF%AAʋR)j,мK 0& ҼɁYG) Te.S({r1oFh em}TE r-0 eRՌ[ђHBtBaOHB8-Д  /h0f@T\5\ ˪|@T\5:b@,  žI n.`BS$.k I]Sp[Z FZ5 +͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"t62`@Q8ң,PF"yȋ$u@=0leE5PX nZ dn$R@|eDDkU3ͦMٳ-Ž eC^qtfcOz8Kz0&Cg@ct҈'-jרV鹊d-D\eqYQiDYaMqц!7J >lT:3gl-YDZX6x"qsʏf{e9o(֫X$Dз0{p|8D,('BakT @$7 1w(n3l7CJ [Z F[Pk0ifsֺ ^ޘbQ%852E+͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"KZ[grf-ڌ]{*&(:Q%852E+͌%qN,,*-e@dT}F">Pj (90Ĩ2YQhM@dT"yDY'۪ ?ZaQ.[2bWn[7\cO)RE5 tk@_!ÈOp0 D"Ij6=tt-"Qʈ=n'\XGT@k@XqC:ln.m͝op0B*=;(cO5`=dzf =48ȷ!siD@Ik@mIj F0@ E֫6ut] (V 1((?Zi^ld,qgeEk|m ;`@( p:a`KVlzCJc& eS8*-(_0f=0lSe]4H"$SZHDY$\w@X %I:KP .-n.-D* |K{]x .-n. (ʈ-z֫5gMM6`f & >wA \:ѹCZeA[qtMs ظeΊ-=ͦ؊GqT[Qg@^iC\cO'-jרV6`"QVqtλnPֆ. nqt@Mz)QS^J,.lDX %I:KP iZ'T@3 s`"RH* t KZ8!6m718mO0@_f =h:au tK^KmZKPd1d-DXqZ"Θ]E hkи HI֨)Q|t 6reS8*-((2YQi;`Q*HŹܤQj tQ[̱88ې"W0 K(YFYQiN<Cڃ 6x >*8FZ١OZ)RE5 tk@_!Ë́G*2ʋJ TZNXJ)j tsa&)Z'T@3a.l$L8qQTZS,=0leEqTZI:^a!65 +͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"H* t KZ2m͞Ɵ8Žֆ%:OQZ%Q%-qYsZ-j*-g%ٳ2b?Zf:^a!7FvlT[6d\f1oFJ դM H@kU8MO|C^Wbތ@mIj64 @ EJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH֫܆ٹev@^ʀɊ@mIj ͔Z-j62`@Q8Ҍpvm>Cڃ 6x \IqN,,eED\IE-[A +͌%qN,,#-|]cO<Pj (90Ĩ2YQhM@dTKsьDY'۪ ?Z`bc;7,nb P1A-i-@"QVL8qQTZQ`.ͱ{PaFR%@qgeEK*-'t, %BoZCcւW0 K(YFYQiF8FZ6Ɵ!Ag<txx#-E-Dש":E5 tΐ"OqN,,eED"Ij6 }.(:O-fcw>`D62`@Q8ҝeEAg<txxK*-HHB/h0lhL8qQTZTe2b-F3",<laMfeEcnPlHldKmZKPd1d-DXqtδ5>xŽ(Vlh"VL8qQTZTe2b-F3",<* TZP1ARc IE-DGT@k@Xd1=>qz3 p (z֩-z-i-AkΛH@kUYQnPj (90Ĩ2YQhM@dTKsьDY'۪ ?Z`bc;7,nb P1A-i-@"QVL8qQTZQ`.ͱ{PaF G*2ʋJ TZNXJͅB)j Zi^ld,qgeEk|m}T p C)?S^kT@רҾ :B*,|hxpZ%\V1` [EÆ)Z'T@\t/6UX$Et @|eDDkUM!t/Ban͜@T\1o_>2n?Fvl>J(z֩-z-i-Ah(?ZnV1|b0]?>2n@Mz)QS^J,.lH - O#dT\TKQ *,|hxp"Qʈ>5r˖Z ̀c Qpžaa4]<8it/eO.4$B"qsaBP$+c[GT@k@Xd1B& E(L-vgf.@ct,of.]8i /~g'1 t%'-jרV鹊d-D[(x!vc͝]?jv4(֫'1 t% t/Í\ǣ8:eٳ@kUX.`T. vl(L-vʅC^c[ դM H@kUX|QtƟu}@^1oFJ դHեy)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@kUYsьClܲQ/e@dT դLbd-DZW0 K(YFYQiF8FZ6Ɵ!Ag<.l 2)ŜTe,а( )j Zi^ld,qgeEk|m}T p C)?S^kT@רҾ :BqsaBPD"Ij6 D nE|eDos7Bs`N.b 0J@)Q:Z?V6`fN.cќ Ct;6sF3qt@=DkTDڴɴcZ-jg'19eи HI֨)Q|t 6 ,BY`FQ8҂%Z%\0 eQj tQ[Xs`%Jc& eS8*-)іTZQsaGPPdԊZ*-$B/h0lhL8qQTZTe2b-F3",<2K^&ьi[ѝhk6e:OQZ%Q%-qYsZ-j*-g%ٳ2b?Zf:^a!7FvlT[6d\f1oFJ դM H@kU8MO|C^-Dڴc@Z62`@Q8ң,P1nz1dnm}T,&2bA",Z-j 1nz1m\j1t Dڴ`Ɍ\@ E֫Jc& eS8*-(_0f=0l͆Q#(YFYQiAAʋI Pj6KVlzCJc& eS8*-(_0f=0lSe]4H"$SZHDY$\k @($R@-B\yH@>2Dx@RH* t KZ8!6m71:J tK^KmZKPd1d-DXq.MM̨kiQE5HDMz+೤ H]Puod&ͦTKQ ۘ[oF@ljEI>z%ln.l6n`Tn[EIi@)Q:Z?V6`fP;:lntn[y!z֩-z-i-Ah(?ZaP;:lntn[y!kԑMj":WgH@sasfbf@Q*HZ͆ MMH@>2DMM͆ MMH"ר-jɴc;6v"ftPZ};|@=DkTDڴɴcZ-jP;:lnBo\cO)RE5 tk@_!E͆]`FQ8҂%Z%\mE|eDos0ۋ/6qtɁYG*2ʋJtem}T,"2ʋI мK 0&y)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@|eDDkUM!ٳ:׆]e:OQZ%Q%-qYsZ-j*-g%ٳ2b?Zf:^a!7FvlT[6d\f1oFJ դM H@kU8MO|C^qtdKmZKPqjd-ZW0 K(YFYQiQTZʀɊ=̈OTڃ 6x >* TZP1ARc IE-DX=6.[TLPu@KmZKP0d.lH@kUy)ŜTece liQsbn.#(YFYQiAAʋI Pۋ-"L8qQTZQ`.ͱ{PaF%@@948iKQE5HDMz+೤ K sh1s  (6 RE-DZ'L\Ċ-D* |K{T\7 :bn.06 :EQQZah0CK)2LʷٮC OpD鋘OVl'K)%"M@=DkTDڴgMP$Qj sn8>a 80‚t..-i-Ah(?Z`z[ѝkt3gA{XPNqt.lkAp`.gcO)RE5 tk@_!O[Z FZRE-Dz@Xd2Ԋ-D* |.[T\3ֺ$EіGT@k@Xd14ٳf=3/oQte.sJN 7^ z-t8 8/2@k]x5ndQ?RZ?[jZ&ь$Qj ˪|ש":E5 tΐ(MH,bz,ۋ, %I:KR`"(:O-f2 `@ۋ/\EH"ר-j\tٴiC^ ץP"M>7E CuYhE|"e ʏf΅2 }(DP (4,Kܠ`>A    X{ @PhPdPhPa$@^a@>A@` xh$, $PhPaP xh$, $P (4,` (@`, }/rA@ }"z6uC'(g,n\S@nX,ʀ@ZE2*(UGtOfθD\]y:YM, a@S)'-jרV鹊d-DZ/Í$}>u,J HI֨)Q|t Bl68qQTZPPdwBrZ% 8۔-D* |K{7Bl6L8qQTZS,=0leEqTZI:^a!6I卹-c@462`@Q8ң,PF"yȋ$u@=0leE5PX nZ dn$RNL8qQTZTe2b-F3",<Pj (90Ĩ2YQhM@dT"yDY'۪ ?ZaQ.[2bWn[7\cO-i-AƁ(i^ld,qgeEFYQk*&(:bc2">Pj (90Ĩ2YQhM@dTKsьDY'۪ ?Z`bc;7,nb P1A-i-@"QVL8qQTZQ`.ͱ{PaF6reS8*-((2YQi;d卹R`q)nǭ462`@Q8Ҍpvm>Cڃ 6x >*8FZ١OZ)RE5 tk@_!P 5q2)ŜTe,вvD"IjBl$"Qʈ=c)Л 5q%y)ŜTe*-j (90Ĩ(2YQjE-\e@yaM@ \qz25 +͌%qN,,*-e@dT}F">Pj (90Ĩ2YQhM@dT"yDY'۪ y)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@|eDDkU͡ٳ:װĢI KZ դ+:nb"QWeE>lT[t;6vTLPu@KZK 0&|8͞2ʋrܡј4ٌ?u.8Ž(֫8>lg˝h p@mIj64 @ EJc& eS8*-*2ʋYP1A`'QlOTڃ 6x >* TZP1A}F堑IE-DXq@Te 8U"y!KmZKPqjd-ZW0 K(YFYQiQTZʀɊ=̈OTڃ 6x >* TZP1ARc IE-DX=6.[TLPu@KmZKP0d.lH@kUy)ŜTece liQshMG*2ʋJ TZNY; \@TIE-[A +͌%qN,,#-|]cO<z%S6K|ɁYG*2ʋJtem}T,"2ʋI  t Blobތ{64 CJc& eS8*-*2ʋYP1A`'QlOTڃ 6x >* TZP1A}F堑IE-D^ld,qgeEFYQk*&(:bc2">Pj (90Ĩ2YQhM@dTKsьDY'۪ :EQQZahvl4-δ5K|@=DkTDڴgMP$Qj ,Í2ʋtPfʀɊ@kU{A=b{ٳYQnX۔:31óg%?ZcgÍbތYs.҈-i-AƁ(i^ld,qgeEFYQk*&(:D7-I{PaF%AʋBj&(:AϨܴ">PH֫6x rݕP܇ O>rܱ;|@mIj64 @ EJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH֫܆ٹev@^ʀɊ@mIj ͔Z-j62`@Q8Ҍpvm>Cڃ 6x E"[8qQTZPPdwBHR`DE-[A +͌%qN,,#-|]cO<PH+͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"H* t KZ6m͞Ɵ8ŽֆI KZ դ+:nb"QWeE>lT[t;6vTLPu@KZK 0&|8͞2ʋrܡј4ٌ?u.8Ž(֫8>lg˝h p@mIj64 @ EJc& eS8*-*2ʋYP1A`'QlOTڃ 6x >* TZP1A}F堑IE-DXq@Te 8U"y!KmZKPqjd-ZW0 K(YFYQiQTZʀɊ=̈OTڃ 6x >* TZP1ARc IE-DX=6.[TLPu@KmZKP0d.lH@kUy)ŜTece liQshMK#(YFYQiAAʋI '1R`"L8qQTZQ`.ͱ{PaF%@@948iKQE5HDMz+೤ JaPuod8qQTZPPdwB1e=pP0 eD"IjBl*-"ތQj tQ[e9aPuodL8qQTZS,=0leEqTZI:^a!6I%-"ތ{64 CJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH+͌%qN,,*-e@dT}F">Pj (90Ĩ2YQhM@dT"yDY'۪ :EQQZaƹ ihvl~1oFz,BY{uٳ޽1ތ1 >X-,I KZ դ+:nb"QWeE>lTZQVcbx>laMfeEcnPl{Л-D[r-8MO x %[ђ& դHեy)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@kUYsьClܲQ/e@dT դHեy)ŜTeeE 0AϨܶDY'۪Ag<txxK*- O>rH$uA"KZ8 *2vTLPuCr** TZP1ARc IE-DGT@k@Xl=>qz3 p (z֩-z-i-AkΛH@kUYQnPH+͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"H* t KZ6m͞Ɵ8Žֆe:OQZ%Q%-qYsZ-j*-g%ٳ2b?Zf:^a!7FvlT[6dh p-DXŽg=\A KmZKPqjd-ZW0 K(YFYQiQTZʀɊ#Pj (90Ĩ2YQhM@dT"yDY'۪ y)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@|eDDkU͡ٳ: X tK^KmZKPZ⳦((?ZqT[eE(KwCge@dT t BoÍ1 ,,mMZAٳ[ђ-jz31oF{ւ iDڴc@Z62`@Q8ң,PF"yȋ$u@=0leE5PX nZ dn$R@kUJ դHեy)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@kUYsьClܲQ/e@dT դLbd-DZW0 K(YFYQiF8FZ6Ɵ!Ag<0 eG*2ʋJ TZNY8,!,(!6 ,BYinǭ462`@Q8Ҍpvm>Cڃ 6x >*8FZ١OZ)RE5 tk@_!P s  (6 RE-DԄ[E|eDos1M@ۋ/X[5 +͌%qN,,*-I{PaF%AʋA",Z"ר-j\tٴiC^ <,($8C;Ppn-=;(cO'-jרV鹊d-DZ6p zBz3^ >Ɵ%?[jZP$QjҼɁYG*2ʋJdnm}T,">PH֫6p /r7 'PZ)RE5 tk@_!P 6`FQ8҂%NRE-DԄiH@>2Dst&M+͌%qN,,FYQh{PaF%AAʋR)j,B/h0$j7[ѐ/fƁi^ld,qgeEFYQk*&(:D7-I{PaF%AʋBj&(:AϨܴ">PH+͌%qN,,*-e@dT [fDY'۪Ag<txxK*- )nz1H$uA"H* t KZ6m͞Ɵ8Žֆj6Q?RZ?[jZ71@ E֫6x*-B[;*&(:QVcbx>laMfeEcnPlHւ͜bތ@kU[ќ6qz3eδpKJ դHեy)ŜTeeE 0AϨܶDY'۪Ag<txxK*- O>rH$uA"KZ8 *2vTLPuCr*Pj (90Ĩ2YQhM@dT"yDY'۪ y)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@|eDDkU͡ٳ:׆]e:OQZ%Q%-qYsZ-j*-g%ٳ2b?Zf:^a!7FvlT[6dh p-DXŽg=\A KmZKPqjd-ZW0 K(YFYQiQTZʀɊ#W X"XX D62`@Q8ҝeEAg<txxK*-HHB/h0$ z2I^.]8iI^Z'1$zSH+ $uOX"XH+Z'L\HB%t$zX$m"zh[ t?>W aPCI ˪|k]a@GT@k@Xthvl!kg% xA i@^oFvl,qTZQ?RZ?[jZ71@ E֫6x*-(֫1 1 6z0&Cgܱ(tf 6c=Mld֫8>l!kg%l\gXYDZhx!v,q;6vQtKZ`N.b t% 6x"qsJQfQV0{@97ÍvoFvlaA9KZa  3gjv4܆ZQVD->gfkt׶X-j:b`Q8XPN5D鋙v|@kU, 0|8Ϥntgfc[в-jo6x"qsʏf{e9o(֫X$Dз0{p|8D,('BakT @$7 1w(n3l7CJ [Z F[Pk0ifsֺ ^ޘbQ%2m2EKZ,ʮ(E2*gfʂ^1oFw!Ba`>SeF-JE2*͘\@Mz)QS^J,r܄E2)ŜTe,вqYO\qtNY;d>Wr+9uOвwB1e=pPmN]Sp'.D"IjBnBjZ`"ތQj tQ[ ]uOùBnBjZ`"ތɁYG*2ʋJtem}T,"2ʋI мK 0& 6 -$&k|@zh\J?^0{@94˪|\.?]Sp8弒˪|h1s н``] I b$?qt6Z/i$T\5@ $+z@Xd2)Q:Z?V(Z;*ZxŽ eC^X۝b!}=>H]>X-͝12ʋJ tK^KmZKPZ⳦((?ZqT[eE?Zf:^a!7FvlT[6g } ͜bތ?ZcgÍ-pbތXqA (֫XMO.41҇f.v|@kUAnN.cќ CB2‚J /h0fq`.͜,('1@kU5Fvl]Ɵ;pKJ 8Œ‚vT-nrQVZ'L\ 3g ܆1s6cO-j%t9,q~}:QV-N.cQqtl-?Zk6Z/n<6[(L-vDZ T. m]f8HiDYk]ap|* sr 6lَz@^J դM H@kUUHSe[PB -3(L,blŽ HSe]Yk)RE5 tk@_!nPWX FQ8҂%N )뀲n.wB 't,N]Sp'.NY8, ˪|>W($R@-W(XIMA \,[є-D* |K{k3.w(XIMA \,[ѐ"W0 K(YFYQiN<2K^å CgeA \/=!,hkjZ/gzcb{ٳ|:[YQiD@Ik@mIj \Vt2EKZ2ʋp|8,KZK 0&|8͞2ʋrܡј4ٌD7ٳ[ђKZbތq[ў_u=qb!e?Zk Æ8>|:PEcO-j8-Д0|8z3(h]F[8XPIDZS6wٽٳ:^҈-j\0|(͝r iDZQ8XPNʅC^c[  D鋙FvlaA;.fiQVD.g>uѝ;e9oϧB žp|8s*=;=8弢KZ`BSgp2|e P(֫XTp \ܡͲk (֫=mk,2@T]nAbP͛1[Z 6{zcDڴɴcZ-j*)lq;*ZxŽ܆|e @YM)l6b rQE5HDMz+೤ MK|E2)ŜTe,вqYO\qtNY;d>Wr+9uOвwB1e=pPmN]Sp'.D"IjBoX)Z'T@3Bnf]SpPE"[&-+͌%qN,,FYQh{PaF%AAʋR)j,мK 0& n.bތ@&k|@AnI^0{@945I]Sp8弒0н``] I^-Iqt6Z/i$uOXTpH+z@Xd2)Q:Z?V(Z;*ZxŽ eC^Dαkt͞Ɵ$,qaMf΁oeE:OQZ%Q%-qYsZ-j*-g҈-j/h0g Bot;6x*-rF`f3>f1oFH-jz3ʂ^1oFz,BY}8u[@kU&k|iCgeOڻ]>J  D BPg'1unvlaA%?Zk sN p|80fgf{J p;6vcOh8\%?ZkKr߃FvlaA;*A {e9o(֫X-.fٳC_NWkDZCÍAFvl8> (֫Xkg'1̨l8[X-jDO\- sNÍDO\-‚x&u@KZaPCp|* sr6 p@$4KZQte>C6l=mk/@EF%?[jZ&ь$Qj l⌤S)vl!kgr&1e6TbބS)و5IDש":E5 tΐ7(X) !kz2eS8*-((2YQi;d  (6 't,вwB˪|>Wr+;d,bz,ۋ,N]SpRE-DrKX)Z'T@3Bnf]SpPSvPB dL8qQTZS,=0leEqTZIyaM@qtdBtBaOH D BP$нan`)svi$>W aH˪|@]Sp D鋘Iz@BoHn.`BS$*8Hi$>W QteRH* t KZ:P;6vTz3bֆX_fcOz8Kz0&Cg@ct҈'-jרV鹊d-D\eqYQiDYaMqц!7p|4ctٳ]Ɵ%?Zkqs[(`qgBPкt;6p-jK١`.͜,('1@kU5Fvl]Ɵ;pKJ 8Œ‚vT-nrQVZ'L\ 3g ܆1s6cO-j%t9,q~}:QV-N.cQqtl-?Zk6Z/n<6[(L-vDZ T. m]f8HiDYk]ap|* sr 6lَz@^J դM H@kUUHSe[PB -3(L,blŽ HSe]Yk)RE5 tk@_!nPXMA \,[ѐ#(YFYQiAAʋI 'XŔYA@Y;dN]Sp'.T\ 't,AcSe]d>Wr+J)j t,*PB e"Qʈ=hZ˪| !kz2Jc& eS8*-)іTZQsaGPPdԊZ*-$ t Bl z2I&k|@qs[(@ sN I + $]Sp8弒.kt$ ?zX$qt6Z/i$]Sp@$4.gtH -:EQQZa҅ٳ[ў^5t/X_fcOz8Kz0&Cg@ct҈'-jרV鹊d-D\eqYQiDYaMqц!7p|4ctٳ]Ɵ%?Zkqs[(`qgBPкt;6p-jKٸ>l z3g t?Zk p`Q;Wk4.҈-j%9o;6p [@kU3Œ‚w!'L\ͫKZ``]!} uC;6vrߟN@kU5|qT{6w{-,qyDZ"' Kۃ"' aACqeotY QVz@Xd2 \ܡM6cm"#-i-Ah(?Zie6UqFR)V;6vTz3  *1oBR)WVl$kԑMj":WgH@, !kz2eS8*-((2YQi;d  (6 't,вwB˪|>Wr+;d,bz,ۋ,N]SpRE-Drua5-poFR(:O-f̺ܡ`@XMA \,[ѐ"W0 K(YFYQiN<2K^å CgeA \/=!,hkPZ/gzcb{ٳ|:[YQiD@Ik@mIj \Vt2EKZ2ʋp|8,KZK 0&|8͞2ʋrܡј4ٌD7ٳ[ђKZbތq[ў_u=qb!e?Zk Æ8>|:PEcO-j8-Д0|8z3(h]F[8XPIDZS6wٽٳ:^҈-j\0|(͝r iDZQ8XPNʅC^c[  D鋙FvlaA;.fiQVD.g>uѝ;e9oϧB žp|8s*=;=8弢KZ`BSgp2|e P(֫XTp \ܡͲk (֫=mk,2@T]nAbP͛1[Z 6{zcDڴɴcZ-j*)lq;*ZxŽ܆|e @YM)l6b rQE5HDMz+೤ MmFjZ`"ތG*2ʋJ TZNY8,  't,вr+9uONY;d  (6 '.T\TKQ\al&-EI>z%еۙT\;,4ڍE%y)ŜTe*-j (90Ĩ(2YQjE-\e@^cbd?]xŽ$нa4]<XpB8-Д t/X[ t]IuOXk+D-?T\5:b@^D.$нa[ۋ/X$Dз0{I .k IuO=mk,2@T]h(ʈ-z֫-͝-pbތX@ڍA i@^oFvl,qTZQ?RZ?[jZ71@ E֫6x*-(֫1 1 6z0&Cgܱ(tf 6c=Mld֫8>l!kg%l\gXYDZhx!v,q;6vQtKZ`N.b t% 6x"qsJQfQV0{@97ÍvoFvlaA9KZa  3gjv4܆ZQVD->gfkt׶X-j:b`Q8XPN5D鋙v|@kU, 0|8Ϥntgfc[в-jo6x"qsʏf{e9o(֫X$Dз0{p|8D,('BakT @$7 1w(n3l7CJ [Z F[Pk0ifsֺ ^ޘbQ%2m2EKZ,ʮ(E2*gfʂ^1oFw!Ba`>SeF-JE2*͘\@Mz)QS^J,r]a5-poF@qgeEK*-'t,AcSe]dNY9uON]Sp't,вqYO\qtT\ ˪|Q*HZPۋ,&-EI>z%еۙT\;,6 !kz2Jc& eS8*-)іTZQsaGPPdԊZ*-$t/1 1 Hۋ/$? Æ$?qs[(@-:^`.$.k p@T\5%9o$.kt$t/X"XH@5|@]z"' KI]Sp@$4ា *. @|eDDkUJfʂ^1oFz,BYz׆]zŭB6{|>נ|:[ц!7:ce@=DkTDڴgMP$Qj ,Í2ʋJ t BoÍ1 ,,mMt@}8Ž -;*ZxŽ e[(-nQV.]8ic͝]?jv4(֫X- CÍ\ǣ8:eٳ@kU-:^`.g|]ѝ8XPNc(֫XkŒڻ]>w!p@kU,q~ٳZ58弢KZ`N>gf |:bm]Ɵ%?ZkK 6s[ٳXt,KZa[݇<8eGgqǽݲ@kU"zh[ t>l"znO0۪?Zk Pk7V@^ u!?ZgtH -5]4ٳf9k]z/oLb1(V6`"QVSeWe"Mn3geA \/;ό0K)%"MufABJ HI֨)Q|t X"X#(YFYQiAAʋI 't,вwB˪|>Wr+;d,bz,ۋ,N]SpRE-DtpD-Z'T@3BnfpD-ɁYG*2ʋJtem}T,"2ʋI  t Blнa4]<Xpн`N.b t%HBK٤?>W aH+D-?>W `N?KHBoHۋ/X$Dз0{I ˪| @T\3ֺ$Eі{64 CJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH(ʈ-z֫ F0Cg1oFuXŔrҀ8!,'-jרV鹊d-D\eqYQnP1A-j/h0g Bot;6x*-rF`f2@.og%?Zk Æ8>|:PEcO-j8-Д0|8z3(h]F[8XPIDZS6wٽٳ:^҈-j\0|(͝r iDZQ8XPNʅC^c[  D鋙FvlaA;.fiQVD.g>uѝ;e9oϧB žp|8s*=;=8弢KZ`BSgp2|e P(֫XTp CCvTLPuCtSKJ [Z F[HgtFZW (Kv@^:ܷT դM H@kU* TZP1ARc IE-DX=6.[TLPu@kԑMj":WgH@8ې#(YFYQiAAʋI 't,вwB˪|>Wr+;d,bz,ۋ,N]SpRE-DtrE|eDos4-ven@^ld,qgeE:2ʋCڃ 6x >* TZKWeE?:^a!6I^.]8iI^Z'1$zSH+ $uOX"XH+Z'L\HB%t$zX$m"zh[ t?>W aPCI ˪|k]a@y)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@|eDDkUM!ٳ:ז6I KZ դ+:nb"QWeE>lT[t;6vTLPu@KZK 0&|8͞2ʋrܡј4ٌ?u-DZhx!v,q;6vQtKZ`N.b t% 6x"qsJQfQV0{@97ÍvoFvlaA9KZa  3gjv4܆ZQVD->gfkt׶X-j:b`Q8XPN5D鋙v|@kU, 0|8Ϥntgfc[в-jo6x"qsʏf{e9o(֫X$Dз0{p|8D,('BakT @$7pݕP҈-jֺ$EіRk]|dEіPj (90Ĩ2YQhM@dTKsьDY'۪ :EQQZahvl4-δ55q(z֩-z-i-AkΛH@kUYQnw!p@kU,q~ٳZ58弢KZ`N>gf |:bm]Ɵ%?ZkK 6s[ٳXt,KZa[Í\2ٳnc[  =pl-:^6y=pl 'PZ-j@ 0@$7e@dT7@ez@_Qtex2j1t{u@KmZKPd1d-DXqmñ1oFJ դHեy)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@kUYsьClܲQ/e@dT HI֨)Q|t R%@qgeEK*-'t,вwB '.T\ ˪|N )뀲n.r+9uO %I:KU"-E|eDos4-vmK|@D+͌%qN,,FYQh{PaF%AAʋR)j,мK 0&  E >I  D BP$t/X[ t]I]Spp$.kKrI]Sp D鋘I^D.$t/Xk$ DO\- sN*8Hi$uO=mk,2@T]hc@462`@Q8ң,P1nz1dnm}T,&2bA",Z"ר-jɴc;6{|gZ%J tK^KmZKPZ⳦((?ZqT[eE(KwCge@dT t BoÍ1 ,,mMX͜bތ@kU&k|iCgeOڻ]>J  D BPg'1unvlaA%?Zk sN p|80fgf{J p;6vcOh8\%?ZkKr߃laA;*A {e9o(֫X-.fٳC_NWkDZCÍAFvl8> (֫Xkg'1̨l8[X-jDO\- sNÍDO\-‚x&u@KZaPCp|)  P1A O-(֫=mk,2@T]n!@T]i^ -ڌ]{rP(V6`"QVlF0i[ђ-i-AƁ(i^ld,qgeEFYQk*&(:bc2">Pj (90Ĩ2YQhM@dTKsьDY'۪ ?Z`bc;7,nb P1A)RE5 tk@_!nOqN,,eENY;d>Wr+9uOвwB1e=pPmN]Sp'.D"Ij>iZ'T@3BnfcwK"W0 K(YFYQiN<Pj (90Ĩ2YQhM@dTKsьDY'۪ :EQQZahvl4-δ5>e:OQZ%Q%-qYsZ-j*-g%ٳ2b?Zf:^a!7FvlT[6d\f1oFJ E >p|4ctٳ]Ɵ%?Zkqs[(`qgBPкt;6p-jKٸ>l z3g t?Zk p`Q;Wk4.҈-j%9o;6p [@kU3Œ‚w!'L\ͫKZ``]!} uC;6vrߟN@kU5|qT{6w{-,qyDZ"' Kۃ"' aA @kU *.[Z *.AtPF.uopn@mIj F0@ E֫6xͣv4-Dڴc@Z62`@Q8ң,P1nz1dnm}T,&2bA",Z-j 1nz1m\j1t Dש":E5 tΐ7AP#(YFYQiAAʋI 't,вwB˪|>Wr+;d,bz,ۋ,N]SpRE-Dt H@>2Ds7BX+͌%qN,,FYQh{PaF%AAʋR)j, t Bl E >I н`N.b t%Ht/X[ t]I>W aH.kKrI>W `N?^D.$BoH DO\- sN˪| @uO=mk,2@T]hc@462`@Q8ң,P1nz1dnm}T,&2bA",Z"ר-jɴc;6{|gZQ?RZ?[jZ71@ E֫6x*-B[;*&(:QVcbx>laMfeEcnPlHldKZa4]<XpO8J;(~iQVZ'1<8Fpt% wCg (֫X[ t]7;6pKQV ٳv|CA-(֫X"X 3g Pk,qyDZh1s0|(͜,('r"tڻ]>J >lT:3gl-YDZX<8eGgqǽݲ@kU"zh[ t>l"znO0۪?Zk H`8HnʀɊnxiDYk]ap|) 2Jd7E nb [vDڴɴcZ-jg1cObތ@mIj64 @ EJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH֫܆ٹev@^ʀɊ@Mz)QS^J,tG*2ʋJ TZNY;dN]Sp'.T\ 't,AcSe]d>Wr+J)j t-"Qʈ=hZPu`D62`@Q8ҝeEAg<txxK*-HHB/h0$t/XMO.4$t/X- @нan`)svi$uOXk,qy$uOX-.a$z@нa[6 =pl-:^H+!?>W Qte^͍PҼɁYG*2ʋJTLPu@ŹdE}QsaGPdКɊOT)j t>2K^&ьi[ѝhkPQ?RZ?[jZ71@ E֫6x*-B[;*&(:QVcbx>laMfeEcnPlHldKZa4]<XpO8J;(~iQVZ'1<8Fpt% wCg (֫X[ t]7;6pKQV ٳv|CA-(֫X"X 3g Pk,qyDZh1s0|(͜,('r"tڻ]>J >lT:3gl-YDZX<8eGgqǽݲ@kU"zh[ t>l"znO0۪?Zk H`8HnʀɊnxiDYk]ap|) 2Jd7E nb [vDڴɴcZ-jg1cObތ@mIj64 @ EJc& eS8*-*2ʋYP1AI{PaF%AʋBj&(: [d">PH֫܆ٹev@^ʀɊ@Mz)QS^J,t ,BY`FQ8҂%NY;dT\ ˪|>WwB 'XŔYA@Y9uOZ%X(:O-fXab%y)ŜTe*-j (90Ĩ(2YQjE-\e@{A$zhx!v$zh\J? sN I ˪|\.?>W `c[ ˪|h1s  ? b$?@^Hen`)@T\5@ $.gtH -lhL8qQTZTe2b-F3",<@_uun ,BYe>jr3uC\7B\DZ;˞3hhk ,BYx40tf s'-jרV鹊d-D\eqYQnP1A-j/h0g Bot;6x*-rF`f2@.og%?Zk Æ8>|:PEcO-j8-Д0|8z3(h]F[8XPIDZS6wٽٳ:^҈-j\0|(͝r iDZQ8XPNʅC^c[  D鋙FvlaA;.fiQVD.g>uѝ;e9oϧB žp|8s*=;=8弢KZ`BSgp2|e P(֫XTp CCvTLPuCtSKJ [Z F[HgtFZW (Kv@^:ܷT դM H@kU:Q]Ɵ: X դHեy)ŜTeeE ꁋsьȋ$u@=0leE5P-F2 dn$R@kUYsьClܲQ/e@dT HI֨)Q|t 6`FQ8҂%NY;dT\ ˪|>WwB 'XŔYA@Y9uOZ%4ڍQj tQ[ ]o 6`D62`@Q8ҝeEAg<txxK*-HHt/1 1 Ht/XMO.4$B8-Д нan`)svi$T\5\ ,qy$T\5:b@z@ žI 6 =pl-:^H.k I>W Qte^͍PҼɁYG*2ʋJTLPu@ŹdE}QsaGPdКɊOT)j t>2K^&ьi[ѝhk6e:OQZ%Q%-qYsZ-j*-g%ٳ2b?Zf:^a!7FvlT[6d\f1oFJ E >p|4ctٳ]Ɵ%?Zkqs[(`qgBPкt;6p-jKٸ>l z3g t?Zk p`Q;Wk4.҈-j%9o;6p [@kU3Œ‚w!'L\ͫKZ``]!} uC;6vrߟN@kU5|qT{6w{-,qyDZ"' Kۃ"' aA @kU *.[Z *.AtPF.uopn@mIj F0@ E֫6xͣv4-Dڴc@Z62`@Q8ң,P1nz1dnm}T,&2bA",Z-j 1nz1m\j1t Dש":E5 tΐ7A@XqN,,eENY;d>Wr+9uOвwB1e=pPmN]Sp'.D"Ij (:O-f6 n."W0 K(YFYQiN<Pj (90Ĩ2YQhM@dTKsьDY'۪ :EQQZahvl4-δ5@^ ,BYe:OQZ%Q%-qYsZ-j*-g%ٳ2b?Zf:^a!7FvlT[6d\f1oFJ E >p|4ctٳ]Ɵ%?Zkqs[(`qgBPкt;6p-jKٸ>l z3g t?Zk p`Q;Wk4.҈-j%9o;6p [@kU3Œ‚w!'L\ͫKZ``]!} uC;6vrߟN@kU5|qT{6w{-,qyDZ"' Kۃ"' aA @kU *.[Z *.AtPF.uopn@mIj F0@ E֫6xͣv4-Dڴc@Z62`@Q8ң,P1nz1dnm}T,&2bA",Z-j 1nz1m\j1t Dש":E5 t?Zp 6ĩ69uB'd:'d筭t J7&ڤr%}"'62`@Q8peeE2.cO%@g€)jҼɁn3%gdgh "()ISfjsvy#/=CRV_puFOBDTAELMP-04NqxHJz138GUk!259;QwUUUU$|"Jo(.r΢0/S}{ Z UUUI7хmAe H8P8 @ a~"B[>' `E9?`@23~ex(o(8eUUUPUUUIEyZTo%O{=Ks87O`D*UUUU$ڂUUUTȬ~H(0 /(0PPQ L.(@OPH$(,Qz]I 1Dš CQ.?$?OcȅPIc0 "BE("DABE JSSCAD({ 9%Gsy ,yFtBH!8M還  A #=7 I1&1@"-Et$ jhh(d=Dh=~"A%;3ƃv<БB O (AG!I"y7Q PA)2&Q=zt%{=D*Kw7рg!I"yL"xn'Ώ$ (8e&RPpš CQ.?$?OcȅPIc0 ݤ)>O ^B 1"xnI PA)2&Q=zt%{=D*Kw7рg!In "xn$ (8e&RPpš CQ.?$?OcȅPIc0 ݤ)>:y>$P B? 7ABE JSSCAD({ 9%Gsy ,yF4'~0H4'~0H(HᔙIA jhh(d=Dh=~"A%;3G$D`] ?!PKq`~Il:Ci G$D`]  G{YGA)2&Q=zt%{=D*Kw7рg!In.LBE()> (H(HᔙIA jhh(d=Dh=~"A%;37 *$PB܀I PA)2&Q=zt%{=D*Kw7рg!I hB ?i Om.II10?!P@sK-!TX󹾌?i O3L={E()>Ώ0  2)(8baMM ~Cܡ稗M[B$s}~(AG!I{KA "Re% L){=Ks9{>/o0"0.EyXB 2gF7$ (8e&RPpš CQ.?$?OcȅPIc0 g_^o$PqIdABE JSSCAD({ 9%Gsy ,yF^3z`?$G{exM鄂ABE%ᔙIA jhh(d=Dh=~"A%;;lMH!8M還cMI  0PpLቅ544Ar]4~In~?Og ǝ`T]v,HAeޘ@iI10?!P@sK-!TX󹾌^B:Ci3z`f  0PpLቅ544Ar]4~In~?Og ǝ`Г?$G{GP׀~KeY#(8e&RPpš CQ.?$?OcȅPIc0 }x1'=4~In,-Nl$P׃ $ ,-Nl$PpLቅ544Ar]4~In~?Og ǝ`(IrM[KeR.r(}x sH$$X=[-ﲗs(8e&RPpš CQ.?$?OcȅPIc0 }x: H$$X=[-ﲍΏ2)(8baMM ~Cܡ稗M[B$s}>^`D`] ?!PKq`~Il:Ci #H(Hz?$[e?I10?!P@sK-!TX󹾌^/|IrM[Ke[ Ke[2)(8baMM ~Cܡ稗M[B$s}>$C-Ń%.v(AC?iABE%.v(8e&RPpš CQ.?$?OcȅPIc0 }xGQIrM[KeQB#Lp,?  G{YGA)2&Q=zt%{=D*Kw7рcMH!8M還>ޘ(8e&RPpš CQ.?$?OcȅPIc0 }xy>$C-Ń%(y>(ACA "o}y2)(8baMM ~Cܡ稗M[B$s}>g'=4~In,-GA|1zoL =7  G{=7 I10?!P@sK-!TX󹾌@ f{D`?$G{죠:#p[e[eYʍe[eQB#Lqg*5{E(jy-QABE%( f{Dc--vTk,eFvTk-(M錳ݕ=QRe% L){=Ks9{F=72vTk,eFPR?DABE%,e[eYʍeYʍe[e1{Yg*4PpLቅ544Ar]4~In~?Og ǝ`R?B#IrM[KeSd=Dh= /o0"0.:췾{췾=Qݕ=Q{죠>F=72vTk,eFPR?B#H(Hz?$[e@YG[e[eYʍe[eQg*5{E JSSCAD({ 9%Gsy ,yFO H?$G{6{췾{ݕ=Qݕ{췾:Ci3zc,eFvTh O I P`~Ilsa,{췾=Qݕ=Q{=72vTk,eFI10?!P@sK-!TX󹾌@1{qt$C-Ń%)r]4~In~@YG[e[eYʍe[eQB#Lqg*5{E(jyEF P`~Il /o0"0.:췾{췾=Qݕ=Q{=72vTk,eFI10?!P@sK-!TX󹾌@ s$C-Ń%)|9L{췾=Qݕ=Q{죠>F=72vTk,eFPn A "o} [e[eYʍe[eQg*5{E JSSCAD({ 9%Gsy ,yFO BO{:hX=[-ﲟ({ 9%Gpn{qte[eYʍeYʍe[e!41{Yg*4Pp\  A "o}^`D`]duo}o}{Yg*5{Yo}FzoLeYʍ2)(8baMM ~Cܡ稗M[B$s}5<&tx?$G{so}o}{Yg*5{Yo}GA|1zoLeYʍ 3KeQ췾{췾=Qݕ=Q{=72vTk,eFI10?!P@sK-!TX󹾌@:<^`D`] ?!PKq`~Il~Cܡ稗M[{FGQo}g*5{Yg*5o}tgYʍeB @:<^`D`]  G{=# #{췾{ݕ=Qݕ{췾3zc,eFvThᔙIA jhh(d=Dh=~"A%;1 ~CܡGo}o}o}{Yg*5{Yo}GA|1zoLeYʍ $ ,-o}o}g*5{Yg*5o}gYʍeA)2&Q=zt%{=D*Kw7рcS/o0"0.(t%z?$[e?!P@sK-=# #{췾{ݕ=Qݕ{췾:Ci3zc,eFvTh O ^$ ,-A{FGQo}g*5{Yg*5o}gYʍeA)2&Q=zt%{=D*Kw7рcS ?!PKq`~Il˝2-,eFvTk,eF-ﲎcޘ=Qݕ(ACS  G{c--vTk,eFvTk-(M錳ݕ=QRe% L){=Ks9{F=72vTk,eFP:ABE%(GQo}g*5{Yg*5o}gYʍeA)2&Q=zt%{=D*Kw7рcS? '=4~In,-O{=Ks87O`?-,eFvTk,eF-ﲎcޘ=Qݕ(ACS? A "o}^`D`]duo}o}{Yg*5{Yo}FzoLeYʍ2)(8baMM ~Cܡ稗M[B$s}5<|IrM[KeQ}o}g*5{Yg*5o}tgYʍeB @y>H$$X=[-ﲏ7췾{췾=Qݕ=Q{=72vTk,eFI10?!P@sK-!TX󹾌@y>/o0"0.(t%z?$[e?!P@sK-=# #{췾{ݕ=Qݕ{췾:Ci3zc,eFvTh O aDABE%(7O`?-,eFvTk,eF-ﲌޘ=Qݕ(8e&RPpš CQ.?$?OcȅPIc0 jy=7 ?!PKq`~Il:Ci3zc--vTk,eFvTk-(!8M錳ݕ=Q5< KeQo}o}{Yg*5{Yo}FzoLeYʍ2)(8baMM ~Cܡ稗M[B$s}5<FГ?$G{=zt%{^`D`]duo}o}{Yg*5{Yo}GA|1zoLeYʍ ޘ/o0"0.KePn{qte[eYʍeYʍe[e1{Yg*4PpLቅ544Ar]4~In~?Og ǝ` .FV7O`D*-vTh^h!eotBH(M,eFI10?!P@sK-!TX󹾌-Qݣ7#IrM[KeQB#Lqo}o}{Yg*5{Yo}GA|1zoLeYʍ ـ5 ?|"0.KeQo}o}{Yg*5{Yo}FzoLeYʍ2)(8baMM ~Cܡ稗M[B$s}?R?@ݣ7#IrM[KeQB#Lqo}o}{Yg*5{Yo}GA|1zoLeYʍ DABE%(M錷{췾=Qݕ=Q{=72vTk,eFI10?!P@sK-!TX󹾌AGoFГ?$G{죠>F=72-,eFvTk,eF-ﲎcޘ=Qݕ(A_CH7h$ ,-FzoLe[eYʍeYʍe[e1{Yg*4PpLቅ544Ar]4~In~?Og ǝ`.rGoFГ?$G{죠>F=72-,eFvTk,eF-ﲎcޘ=Qݕ(A_CDABE%(M錷{췾=Qݕ=Q{=72vTk,eFI10?!P@sK-!TX󹾌Lnt$C-Ń%(!8M錷{췾=Qݕ=Q{죠>F=72vTk,eFWgGv A "o}g[e[eYʍe[eQg*5{E JSSCAD({ 9%Gsy ,yF{ݣ7#IrM[KeQB#Lqo}o}{Yg*5{Yo}GA|1zoLeYʍ /|D`]  G{=72-,eFvTk,eF-ﲌޘ=Qݕ(8e&RPpš CQ.?$?OcȅPIc0~GoFГ?$G{죠>F=72-,eFvTk,eF-ﲎcޘ=Qݕ(A_C ?|"0.KeQo}o}{Yg*5{Yo}FzoLeYʍ2)(8baMM ~Cܡ稗M[B$s}?nt$C-Ń%(!8M錷{췾=Qݕ=Q{죠>F=72vTk,eFWo'GoF P`~Il3zc--vTk,eFvTk-(M錳ݕ=QRe% L){=Ks9{F=72vTk,eFW f{Da P`~Il{췾{ݕ=Qݕ{췾3zc,eFvThᔙIA jhh(d=Dh=~"A%;?Г?$G{췾{췾=Qݕ=Q{죠>F=72vTk,eFW GH(Hz?$[e[eYʍeYʍe[e1{Yg*4PpLቅ544Ar]4~In~?Og ǝ`1'=4~In,-o}o}{Yg*5{Yo}GA|1zoLeYʍ ca$ABE%--vTk,eFvTk-(M錳ݕ=QRe% L){=Ks9{F=72vTk,eFWA "o}o}g*5{Yg*5o}gYʍeA)2&Q=zt%{=D*Kw7р'=4~In,-o}o}{Yg*5{Yo}GA|1zoLeYʍ a P`~Il{췾{ݕ=Qݕ{췾3zc,eFvThᔙIA jhh(d=Dh=~"A%;?,?$G{췾{췾=Qݕ=Q{죠>F=72vTk,eFWGQH(Hz?$[e[eYʍeYʍe[e1{Yg*4PpLቅ544Ar]4~In~?Og ǝ`y>$C-Ń%--vTk,eFvTk-(!8M錳ݕ=Q0O  G{췾{췾=Qݕ=Q{=72vTk,eFI10?!P@sK-!TX󹾌0IrM[Ke[e[eYʍe[eQB#Lqg*5{E+gA "o}o}g*5{Yg*5o}gYʍeA)2$x%o 8 ku$>7"I6v6$@(z>./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.codepageconversionexception.html$$ com.ibm.ivj.eab.record.cobol.CodePageConversionException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.cobol.codepageconversionexception_dsc.html#_top_">com.ibm.ivj.eab.record.cobol.CodePageConversionException (no frames)</a></b></p> </body>  k$ 7"I6v6$z ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.codepageconversionexception_dsc.htmlhtml$$ Class com.ibm.ivj.eab.record.cobol.CodePageConversionException

Class com.ibm.ivj.eab.record.cobol.CodePageConversionException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.ivj.eab.record.cobol.CodePageConversionException

public class CodePageConversionException
extends RuntimeException

This exception is thrown when an error occurs during conversion between code pages.


Constructor Index

CodePageConversionException()
Constructs a CodePageConversionException with no detail message.
CodePageConversionException(String)
Constructs a CodePageConversionException with the specified detail message.

Constructors

CodePageConversionException
 public CodePageConversionException()
Constructs a CodePageConversionException with no detail message.

CodePageConversionException
 public CodePageConversionException(String s)
Constructs a CodePageConversionException with the specified detail message.

Parameters:
s - The detail message.

ʍe[ k$7"I6v6$`~y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.cobol.codepageconversionexception_mi.htmlhtml$$ Method Index for com.ibm.ivj.eab.record.cobol.CodePageConversionException

Constructor Index

CodePageConversionException()
CodePageConversionException(String)
l> k.N$i7I6v6$@zi./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.fixedlengthterminalattributetype.html$$ com.ibm.ivj.eab.record.terminal.FixedLengthTerminalAttributeType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.fixedlengthterminalattributetype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.FixedLengthTerminalAttributeType (no frames)</a></b></p> </body>  l$i7I6v6$@|A./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.fixedlengthterminalattributetype_dsc.html$$   eort.<>acdilns /bfhmpu"T_gvxy(),=CR#:ABEFIOjw&-;LSVq '0P134HUz25789MW|!+?DGYk6NH-XӾ2~8`1$n2~t-D,רg[T@7o  D AA&aay~è&^2gXXpɅX i>d,,=Ik|Q p0Q9`|=.qCp9bfa   (`P0 0 M@=qdj,]ME5[ p#U#Ѯ}NmI&uDqB/ `X,>2Á@  tAfnNI%j }dP NeRme?⦛,8:À9mk(,8d)6&&RWt+Xq7'W,,;$8P`uj/Ѯނ3kQiYAIZWXX{e z.aRJՒeríc5{c%x兇[,ׇP!w9pnO%I+RI{ԒmI7J }dk)I% tIs ŭ,:xQ1s$8P`uj/Ѯހ[vtE8w t\ԒLu:NJ h$kCHݖ%b @nN@Z @4we }@0 ^2aa&j4%b ^rpdj+i@ht>mdm`+W,,;$8Q]MAnVe;lX,ׁܜ$:&jnx  ;mm }mm@0 ̓PCR+iF znx z5[t⏾ i܁I@2@k@%q=z p#U#Ѯ}N$>mq\PEvM5gkY4%b ^rpgh*4V-gs+jQpr:EvM5AoCѮwرY 8Huz5[OXt:Ikԓ@ ts7Ŕrnnt2Ff&9>ux\r#.QCo '.'v8p }}Zk3w0=~+ۋ |T0. NQ|urWh|uIެnoc9f=q>̘ L#{&^F #Ѯ 7 ;>t/kge8t5n|P@'(>)o?Ncsnt1S/d_a0x˃tLɅg 6OК5oxxfrŻnhd/⾳-o?d[ZY-=@Pb_ ɀQt!Y,]K%Zl@GNQF-Ytu;.xǷ:>\Y~/6 r= |XW[tBBѵۙA3/.k7>KܬX"ۦrb5n|H%V(m]m Fnf>$+Jv^Ƅhk3\Jv^.k7$r&R+Y,;0:J@0@L#t{.k 0IK^Km@+W,,;$8P`uj/Ѯނ3kQiKbf p#U#Ѯ}N! p#U#Ѯ}N%j }֫a:9̘F\euߎ\3\pfkkӊ>t:[j^2aa& #WdQ~tᝯf_]wt⏿cN[ 5`[vtE8w(mgh*Ao]ӊ>t6I억[1̘F\euߎ\3\pVakӊ>t:[j^2aa& #WdQ~tᝯf_]wt⏿cN[ 5`[vtE8w,ZR+6Hu3fk.|@ӺIZ+6I억[1̘F\euߎ\3\pVfF yӊ>t:Ik@2!D}-7 t`(רPJ 5(8X9e"&k 2-뻧}wرY1p b$2SɀV"A3/IZHdϛʙ\P,2`/]0<㦯: sn PJ 5(8X9e"&k 2-뻧}wرY1p b$6@Hu1p b$6IZHdϛ|ϛ&E :j1v-d\PCR+iF z p /Ѯ޻qG߱q-e3ɀV"C ]SɀV"C ]$ $KZP,.P,2`/]0<㦯: sn PJ 5(8X9e"&k 2-뻧}wرY1p b$P;Cd_ ҁݖV-j@pi@@|ɀQtD󎚼5]`Km@+W,,;$8P`uj/Ѯނ3kQiKbf +!|,]  ^p`ZIZHdA7ْ+uP7浘wA +jQpr:EvM5AoAnVe5[wN(4%b ^22MC54{& ^3/IZM ΅>kU 62Y`>[:[j^2aa& #WdQ~tᝯf_]wt⏿cN[ 5a^#o2MC54{& ^#o 4ЬXI억[Y`9CoY`>[:[j^2aa& #WdQ~tᝯf_]wt⏿cN[ 5a^ ]2MC54{& ^ ]$ 4ЬXI억[Y`; ]Y`>[:[j^2aa& #WdQ~tᝯf_]wt⏿cN[ 5a^C)o?P`v_hJ@%V tq̖}B:-wt⏿iqv_n@m%x兇dj,]ME5[[vU~tӊ>;lX,ׁ{찆IqF&`odBa!+4we 4ЬXI억[Y`84weY`>[:[j^2aa& #WdQ~tᝯf_]wt⏿cN[ 5a^MrWhp/vwI+P@I억[12[3kӊ>purWnt:[j^2aa& #WdQ~tᝯf_]wt⏿cN[ 5a^_ ^_I+P@I억[12[3kӊ>pVft1Coڀ2WXXvIqF)4_]gkYAo]8Ӹň2x>C)o?6HuG(aݗ-6I억[12[:-wt⏿iqv_n@m%x兇dj,]ME5[[vU~tӊ>;lX,ׁ/vw,ZR$:/vwI+P@c>kUo%>ϯѮߗwN(Ɲ;lX,ׁ&5(WdP hVt,+-hz)ҁݖ|$:&V`odBaXP;±Co>kUodY-/Y p Ʉmp-o?YgZΆ>ɦPJ 5(8X9e"&k 2-뻧}wرY\f_IqF&`odBaXC2$ 4ЬXV(m-j [.9xRn>~,WdRK%H teròMC5GYHɦ--;_*̿F z~ƝĶ,Ak &jM ΅U$m{& }֫`P˥㗊Rn>~,WdRK%H teròMC5GYHɦ--;_*̿F z~ƝĶ,Ak!.&jM ΅Ua{& }֫`P˥㗘bRn>~,WdRK%H teròMC5GYHɦ--;_*̿F z~ƝĶ,Ak ҁݖ5(WdP hVt,+6V,ZR$:A-$AɦgB±Co`Ǯ1 }֫`P˥ (xu d&Y-AD,˚u$e)&B`ɄneDIJo  p#U#Ѯ}NԒVJo  p#U#Ѯ}N!ԒVIJgh*Ao]ӊ>tR'WQ)fgh*Ao]ӊ>pI'WQQ억XAo-g&=5]w F}%3Y-wt⏿iA7qg |uIޭ9u{@/r]^K%@Ǯ1I,>Kܭ}Ry,oQ{@9DZ:WxXp[vtE8w(mI+Q3fk.|@ӺI)Dǔ33fk.|@ӸACo0IרKZ G2asY~9p΄mpg^^-;sYѮߗwN(Ɲфyk=xfrT\@'D+\U i[ } zoQ{@9DZ%Q[j)@%t}$daݗ-a|-o?浙weKyRw$I-j$ tAf <Y=-qG4X뀤=qV(mI+Q3fk.|@ӺI)Dǔ33fk.|@Ӹ@c㫗D ;>mmmmm(m}R tuu:Z>kUL#t{.k2.Ѝ KŸgn3_]XӺ02-o?53Nn^8>t/׍/YcrdK^dՒRJf:I)DkU_4l υ\ֳ>:~@Ӿ:V5kUû/ [ Zk30:V5IkԒZ:Ik@^ad!ԒVI }lH$ tAf\&X̿!ԒVIJb0H&epI%(uu>8b_ 2`/ՈL@$ t }֫Y`9S/ 6L'tAb><u@%RZ>%@$>%VK%WGoQ[j)@~@lY+W,,;$8Q]MB6ƝĶ,Ak\&X̿!2`/ՈLVf=qJ 5(WdP q-e0P"D ;I-zKZI-z+Y,;ɀV"A#oRIZ%)d_ IJ t]D<1p b$6@IרKZg̀ g̀~醉5yktlu{>tA>kTDm$>:I)DkUoU$[@lڲJP4_s|@$>%VJ 5(WdP q-e3ɀV"A#oSɀV"A#o:\ceròMC54.liKbf &!N%j }K^֨K^Jo 2`/ՈA!ԒVIJb0HaR'WQ)f*ep\&X 1t@$ t }֫Y`; ]Y`>d_ayM^t.0AC^ϨG]@9DZ%Q[j)AϨDJQZd[tI,>% :I)DkUeròMC54.liKbf 2`/ՈA!2`/ՈI%jΆc\PEvM5 wرY 8Hu 4@ӺIZdש$ tרҽñp b$P;C$D2`/Ոi@I%(uu>8b_ 2`/Ոi@ tuu:Z>kUP,P;P,2`/]0<㦯: sn !g# t-jר-dg"I%(-jY-?KzmVIJNo$d^2aa&j4%b ^b0H4weSɀV"A-$Yz+jQɦpcN[ 5a7' DwI+QZ$DZ:WxXq^p`X@Hu$R{= oKi$:NS^ .:I:-zd tq̖^ϖ t/5GXӺ0F yw]|68P˃u5P7^trXA>kTDm$>:I)DkUP7񎅠-dhTIJ }KZ+jQɦ 2ƝĶ,Ak½P7%а .:\ceròMC54ᝯfXӸň2xMCᝠG0@ӺIZdש$ tרҽÊ \&jM ΅RIZ%(WLJQ |q=LWL+jQɦ4-e0P07i%j4Тmmm:'Y \PEvM54L>u`%b ^rp hd_` [}pPs:I:-zd(|Tg̀lgf@ Fnf̿ɦgB±Co}ϊ'(KZ }KmY%(oQ@lZ&mf}]MAZi,6>ˏk3n(m/N>@lڲJPo@lZ [Kg4dՒRR$+jQɦ&ɀQtηL,AknNAM LksϮ u`VdO6s5&epM4+:|'5ώ?( }KmY%(/9 tRm֫%x兇dj+i-;_*̱q-e0`!jQɦ4ЬXHu \J՝ Ǯ1^2aa&j p ,iKbf &! p#U i$DIkԒZ:Ik@^a{5(WdP hVt,$:J@)BFI%(uu>8b½FJ 5(WdPhň2xMC4ԒjhQmmt/IeN*A^2aa&j+i L [}~1tKbf &!4ɀQt<ࡌ[ %j tuu:Z>kUP,P,-? M ΅}ϊ'(KZ }KmY%(oQ@lZ&mf}]MAZi,6>ˏk3n(m/N>@lڲJPo@lZf}cN }KmY%(A IJ^2aa&j+i L [}~1tKbf &!4ɀQt<ࡌ[ %j }KZk3\FM4+:gLbua>% :I)DkUeròMC54ᝯfXӸň2xWH PEvM5ɦgBCWH%jΆc\PEvM5gkY4%b ^rpgh*4V$I-j$ tAf⽆dj+iM4+:I%j t^ ]$@:yOs3 ]a^ ]%x兇dj+iuvM4Kbf &! jIZvM4(mm:'Y \PEvM54L't[[ 5a7' ɦLqW u`V+jQɦ&ɀQtηL,AknNAM LksϮ u`VI'WQQ억Xϛbϛ rb 4ЬXN.k7rdK^dՒRJf:I)DkUig4>%Vˏk3,Ά>ɦߎ<_\>t/3kym$>:I)DkUϘb [Kg4dՒRR$+jQɦ&ɀQtηL,AknNAM LksϮ u`VdO6s5a`odBa8f|t.)W\fA[j)@~@lY+W,,;$8Q]MAnVe;lX,ׁ{ 1t5(WdP hVt,$:{ 1tVf=qJ 5(WdP[vUcN[ 5a7' [vN%j }K^֨K^Jo +(aݗ-I+Q weKy$I@{ weKy $I@k@%VcdWgAo˻}cN;;p@\cq.k7'޳uIެj3{ [f:8ꓽX[K%H t-jר-dg"I%(-j>F ~]8waݗۅ>%RIkT@%Qz 7P;&jM ΅RIZ%(Wi@I%(uu>8`i@½JvXBWXXvIqF&WdD,AknN@ɦWdBmmm:'Y \PEvM54L't[[ 5a7' ɦLqW u`V+jQɦ&ɀQtηL,AknNAM LksϮ u`VI'WQQ억Xϛ,ϛ r (aɦgB±Co}ϊ'(KZ }KmY%(oQ@lZ&mf}]MAZi,6>ˏk3n(m/N>@lڲJPo@lZP;f}cN }KmY%(A IJ^2aa&j+i L [}~1tKbf &!4ɀQt<ࡌ[ %j }KZk3\JvX@07iYаXN.kY1P@lڲJP*AeròMC54WdY0.qW3n lX,ׁܜ$:{&0.T"yM_h(c9IZm֫3Y7ۙ0.gGBoD󎚾Pf::ƝрFnf찀`odBaYа\ֳ>:c3-dhTIJ }KZ+jQɦ 2ƝĶ,Ak½JvXC$8Q]M@07iYаP;J՝ Ǯ1^2aa&j p ,iKbf &! p#U i$DIkԒZ:Ik@^a{5]C$D+ _4JQ |q=\c{5]H$]DDZa:8fKu{>f}~tqG4㎮_4@#Ѯ 7 ;B|SL1sY,>Y:V5yk=\ֳuIެntrY-=qId@%RZ>%@$>%VgAo˻}cN8cN }K^֨K^Jo + !ԒVIJ pR'WQ)ft/ @IרKZ Gng#ϯѮߗwN(Ɲ3IzƝ:z&69,2Id@%RZ>%@$>%VgAo˻}cN9>% :I)DkUeròMC54ᝯfXӸň2xW%CW%J՝ Ǯ1^2aa&j p ,iKbf &! p#U i$DIkԒZ:Ik@^a0ACoRIZ%*>C)o?@:yOs0st}}R(m}R tuu:Z>kU}-f}~tqG4û/ [O9,nb}ώYR}1TƠrdK^dՒRJf:I)DkUû/ [ û/ [ }K^֨K^Jo `&~@Ӹ@9bև!!ԒVIJ\U i$I@{˛/vw zurWhpI'WQQ억XA7ْqgAo˻}cN8cNO=-|,@Ӿt/kge8t5n|H,>NcP@9DZ%Q[j)@%t}$dW/vw6gurWnt>%RIkT@%Qz 7 F C$8Q]M@07iYаX뀤JvXV(mI+Q_L#kKy$I@{k32kɄmp)o?%x兇dj+iuvM4Kbf &! jIZvM4(mmmmmzK.>ˆmmmmmJv^d6Xˆmmmmm6)o?2+jQɦ&ɀQtD󎚾1tKbf &!4ɀQt:jACηLJeròMC54WdY0.Kz%ެ ̘F Y|u-z߅k3j0]Iҁݗg |ɀQt:'trdK^dՒRJf:I)DkUi &7]-ڂdYql Ϥt[6-j&l ϙ0>%V)o?3yaݗڂdՒR}P$ddY-/Y p Ʉmp-o?YgZΆ>ɦ-dTI%+%x兇dj+iɦ`/]0-nys-e0PodC&EZ낆3n$-j#<}Ӡ+2`/]0Fg.kYηL~>=O6s#A3/V 1t@6.k7-dTI%+%x兇dj+iɦ`/]0><㦯g:0رY 8HuM42`/]0D󎚾Ps>%Vgo2`/]0Ύމ5}tu;)~+2/Y p Ʉmp-o?GBoD󎚾\d_`$I-j$ tAf !jQɦ4ЬXV(mI+Q\f_R'WQ)fTA3/BWXXvIqF&WdD,AknN@ɦWdBmmmm:(mmmmCo0N*A^2aa&j+i L [}~1tKbf &!4ɀQt<ࡌ[ %j tuu:Z>kUC.ˎ^*epԛυ8_K%U4ԒoR$>K%E%ެ}C8f}}Z͟Ʈf>CokyIz&zSi, |Kz%ޭ6g{ф$ӗN:8E@¡4 g:@Pe 0ɀQtD=||{HˆSYˆpesۦ_n(i(ǸQ gŻXS/5ŗ%A[@9DZ%Q[j)@%t}$d4a}]MԛzZΎ.AZi,6gYqz[- ]\P@l[;@l ϊ []Gqv_jmVIJ }B tRm֫3_ \ۦKg;Żf}]MA[j)B JVJ 5(WdQ]Md_`Z[[ 5a7' ɦL g:0I+QZ`F-nysO@Vd_`ϣk3\F>:c[}}]qEIkԒZ:Ik@^aA#o2MC54{& :JU$mR'WQ)fP6BWXXvIqF&WdD,AknN@ɦWdBmmml^ˏfT㒼eròMC54WdY0.%WK7ߨIJ }KZ]M6g4]Igυ2l>%Vˏa}%xgϸ˥0ѵm$>:I)DkUCoW0^>ݎ-ݸ3jmVIJeH> tRWXXvIqF&k&E_g:0رY 8HuM42`/]0>(c9IZm֫1ksϯ}ۚ}:&Ea:91gfr43ցxV>ɦxߎ]}5@K.>^*Ocf}]M >%RIkT@%Qz 7 1t5(WdP hVt,$:J@)W!.IJ t]D<6s3 ]kA ^2aa&j]MرY 8Hu{&V]M }mmmzK.>uRJ 5(WdQ]Md_`Z[[ 5a7' ɦL g:0I+QרKZ t\r ]bMgœ/%ުjIdr3^>ɦ޳>~K.>&_n1t@j'(KZ }KmY%(oQ@lZ&l ϫip<_Y [e} }KZ%x K.><_YqKeakmVIJ }B tRm֫3ί ]af}[q˫g4>% ʐ|@$d\PEvM54L>u`%b ^rp hd_` [}pPs>%Vb_:9/4tfLO6s5$m\1qOP@$I%QD,P;&jM ΅b Z @cRIZ%*P;IJ t]D<6s04wei@J 5(WdPhň2xMC4ԒjhQmmmн%aDmmmbaݗ-mmmmcky1BuRJ 5(WdQ]Md_`|"yM_ou`%b ^rp hd_`P5}[ %j ^2aa&j+i L [}~1tKbf &!4ɀQt<ࡌ[ %j tuu:Z>kUC.ˎ\04weMgœ/%ުjIdrW0gœ/ [\bIz{ ̘ L"@>IQ | b3/V>=~+}C.9x2#?>r \M ΅b f[g̘ L@/r!%HZZ=ܸHOk3\FM4+:>9eIϙ0. ^>C1qK.υsߊPˎ^ 1t_`'ѵۙC ]{& f[g̘ L@$:NQ억Ik@lڲJP ],~I%(-jvM7AWdqu&y>˥P@lZK.> \}y>.tFW>%V)o?3yaݗڂdc3=qxt`i@A[j)AϨDJQZa| (zkL4Ϣwcwn9uz&dՒRR$+jQɦ&ɀQtηL,AknNAM LksϮ u`VdZG7eNɀQtAW\ff:;g:0 |sߛnk3L?3 +\F }5C ]c}-.k7-dTI%+%x兇dj+iɦ`/]0><㦯g:0رY 8HuM42`/]0D󎚾Ps>%Vgo2`/]0Ύމ5}tu;)~+2/Y p -o?=qtt&O8fL }K^֨K^ImK\/-FXu&S*iÀc(,8ֺÀ }MғmRbj%zBrp|eròMC5GYHɦ--;_*̿F z~ƝeQ%x兇YǮ1K5$Y+W,,:=q ^@=qIZWXXuY(2xu w{c2[$I&ڤtmI6ԒZj r t\A(A& 4>Яaa0 Z4A(A.5bIkN,>*iÀ@HXp@C aԒVr$-I&YQ8ny kꪦ$(7I6v6$2|(./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.fixedlengthterminalattributetype_mi.html$$ Method Index for com.ibm.ivj.eab.record.terminal.FixedLengthTerminalAttributeType

Constructor Index

FixedLengthTerminalAttributeType()
FixedLengthTerminalAttributeType(byte)
FixedLengthTerminalAttributeType(Class, byte)

Method Index

canConvertToBoolean()
canConvertToByte()
canConvertToChar()
canConvertToObject()
getAlignmentHint()
getBoolean(IRecord, int)
getByte(IRecord, int)
getChar(IRecord, int)
getExpectedValue()
getObject(IRecord, int)
getPreferredType()
getSize()
setExpectedValue(byte)
setPreferredType(Class)
testConstantValue(IRecord, int, Object, byte)
toBoolean(IRecord, int, byte)
toByte(IRecord, int)
toChar(IRecord, int)
toObject(IRecord, int, byte, Class)
 kX$U7I6v6$@:|U./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.fixedlengthterminalfieldtype.htmli.htm$$ com.ibm.ivj.eab.record.terminal.FixedLengthTerminalFieldType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.fixedlengthterminalfieldtype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.FixedLengthTerminalFieldType (no frames)</a></b></p> </body>  l*$7I6v6$|2(./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.fixedlengthterminalfieldtype_dsc.htmlm$$   deiort.<>aclns bfghmpu",/_vy()=CRSTx#-:;BEFIPjqw&'ALO D1Vz+0HMUk34NW2589G|!7?YH [4i[<8(@(Tls4 N[E Q5 t+:M_r͐@8p nv %̑ rInq0(@]etlBl4ց ^>t*`P(9:@@_ .^rFj.-Ì?N@`(H (Nӵ?m[f50Y(e#g -P| ./L6[NHl(\(MIl@P(#P @ P@_r͐!I?bupP N&'Gd9l ;%9q„BӸ)/5mjB 8G3$ QD DdӖA l崪ƍ:Pf )KWJ%ܙAkD(-{qxRҾfIABֱ{3Mho jzE-]+d!mkliખ\="ykT[ H?Ejl"(&nR!B2Z2v ڷEj(`5QFN[P \^8m9mT$E[I` tJ%B!V1hjZ,lE؃4 P5cŠ$,ԊZ@TPPYMFK/! pti 8X2Ej2Yy\48iґKQ?P( 2J 5Ie l3F"Ak@!LQD^BT0K)?9@QD DdӖ>`NN[AU-IQ* t tT@5\m3{IP*iqz`tRtQ* !.PPYMFK/!P|e4b Zp P| ./LtR@5^9l_ҾfIABf50Y(e#g -6RѧH{f P,:pr l :R)jҾfIABf50Y(e#g -1Ӗti 8X6 :R)j t'(Ì5o{2[F>km38ph?L 6[&˴8i@-^̣ܫr>,[ 2ct,yN}2yU-2lys.'ֿݲ羜_O$nϼHݗݲ1xl8l'ç -pӧӶpHyutנNQ'!n8G5n{K9gNmK'U&u9M8uӷ2qnz8l2x,:pr l :};g ['ĽGm[W'WMz?2{睖t[aLUK`}<HL'd]ڷwsw)'qdct)w'q|m0j8,1m>}ξHݟvKڽw/%{9Ży@j(Q@d'VRC'm[>L3,?I ~dN,7g\E8e7tK ^ոɳ`\}2yU-pٟO08m9mt?lKd(w*A/*}2iطrgcӾ˼QENK5b= ~ҹ7mO|~i`elܫ[J1x'gWnVYf/9W'WMy'gW@ݞG+,@ݞU^@-wy{{{L 2zCLU^@-zv1ltryW'WMyn,O|~i`5G+,_*W)3߫c)tr6׼?Ki^,["{{{Ly-G+, g^x]5W ܧ'gWq}nVYW'WMyrA3߫cH6YnVY9 fP|l0N[yU-N:cTfIABf50Y(e#g -*./LiiU-ti>`NN[AU-H@5cŠ-{n+p Xšqh ܧ'V1hjZw)ʼn'ӴO$nH>`NN[AU-JE-Am['v[qbxn8>};Dv Ì[{6%{/w?VOT1./L8m9m ~UKcӥDPPYME VJ2Yyij ˋ6prUKcF"Ak@ӆӖUK`8iN<'ӴO$nH>`NN[AU-JE-Aɻl};DF섐?WS-=yْӟs']|}6?*i҂Hj&b` :e$<(T@醨2J 5IJFK/!8m9mAT0qzfN[JlhӤ\=3Mhp]d悲]V bn9Am"1 z&`@ᓏwyy[@PJ%e$Pj%d%6l3g -T4i.Ÿ.2sAYfSpeKP@I~7dz }[8/j܂Lj"W((C,Q&Q+%,lP|e8m9m*Np 5F-vᓚ 4,@H1n VYf/)j 0qvށ-'V:}:)ڷ 2J 5IJFK/!8m9mAT0qzfN[JlhӤ\=3Mhp]d悲y- bn9@-Ke"1 z<>n8wqכL^չDPPYME VJ2Yyij ˋ6prUKcF"Ak@['4h) -vᓚ 4^R@!_`@6נ8?edy^oE1{V:cTfIABf50Y(e#g -*./LiiU-ti1n VYh@H1n VYjE-A$b>N }2qn<7Ӣr1_3$ QD DdӖA l崪ƍ:E؃4ցۆNh+,X@H1n VY5ZH+ }0q~pջNb tƨ%|̒2Ej(`5QFN[PU6\^ӖҪ[4b Zbn9@rA -vᓚ 4$,ԊZH+ }$, }2qn<7Ӣr1_3$ QD DdӖA l崪ƍ:E؃4ցۆNh+,/4 $BۆNh+,/5"1 zy[N>utSnA5@+d!j(QC^B6prڂ>a͜6RѧH{f#peN, $BۆNh+,qi?W88n8 }2qn<7Ӣr1_3$ QD DdӖA l崪ƍ:E؃4ցۆNhu.+p@H1n ]VZH+ }[N>utSnA5@+d!j(QC^B6prڂ>a͜6RѧH{f#p@ݐ bn9KP@I~7dz }[8/j܂Lj"W((C,Q&Q+%,lP|e8m9m*Np 5F-vᓚaf/D)p]dXYĊZH+ }/0q~pջNb tƨ%|̒2Ej(`5QFN[PU6\^ӖҪ[4b Zbn9l[!"Ÿ.2sCR)j 0qxl`@ᓏwyy[@PJ%e$Pj%d%6l3g -T4i.Ÿ.2sC^SpSmzKP@I~^`@ᓏwyy[@PJ%e$Pj%d%6l3g -T4i.Ÿ.2sC -vᓚ`jE-A$b>N }2qn<7Ӣr1_3$ QD DdӖA l崪ƍ:E؃4ցۆNhuD)p]dX n-"1 zm }2qn<7Ӣr1_3$ QD DdӖA l崪ƍ:E؃4ցۆNhue!L['4:rAH $LBށrAށ-'V:}:)ڷ 2J 5IJFK/!8m9mAT0qzfN[JlhӤ\=3Mhp]dXi!L['4:LԊZH+ }^h>n8wqכL^չDPPYME VJ2Yyij ˋ6prUKcF"Ak@['4:w)ńSpqi?W88n8 }2qn<7Ӣr1_3$ QD DdӖA l崪ƍ:E؃4ցd!vݠ ! QD^Ba'V1hjZrA ,H]h-E-Ae rA ÌgL2X+n~-ϲAv0@^,cE>wӾ=K(,:cTfIABf50Y(e#g -*./LiiU-tih"2Ej2YyK/ OhMen'ӴO$nȞMen5n-j- [@n8 +,EenH ,>y7mOhN<"y7mO ܧ'S g_ɻlޝwK.%Y,eĩDPPYME VJ2Yyij ˋ6prUKcF"Ak@e5Ie ,>y#vDv'v[D(AvR)jK/ OhHݑ>};DFݶV1 6u|>wK.%Y,eĩDPPYME VJ2Yyij ˋ6prUKcF"Ak@eb!j(Q@,2Yy};D'ӴO$nȞMen  1xKP@,2Yy};D'ӴO$nȞMen n5}/=;oˡ\JYy ˉR1_3$ QD DdӖA l崪ƍ:E؃4ց 4Bf5,%'ӴO<ȟN>y#vDn+pNБ +, gH ,>|YDv'v[v?Wey-Ndd^BE2TLj"W((C,Q&Q+%,lP|e8m9m*Np 5B6ס QD^Ba'^'7dO& 6ש%'ӴO)'ӴO$nȞMen@!_ kMm2yt2]ˉVK/!"q*A5@+d!j(QC^B6prڂ>a͜6RѧH{f!Yf[Kh-C,Q&%XdvՌZlDv'v[j- [@n8<CVN,OhHh-մ2|R ^@N<$,>};DFݶV<7rXN,OhI~ p6YwV-ϧm2yt2]ˉVK/!"q*A5@+d!j(QC^B6prڂ>a͜6RѧH{f!Yfݡ QD^Ba'ӴOhN<"y7m$B4H ,>};Dv'v[H+[[;};oˡ\JYy ˉR1_3$ QD DdӖA l崪ƍ:E؃4ց 45Ie ,>{mʼn'7dO&QYf)jK/ Ohqb};Dvɻl$b-f_m2yt2]ˉVK/!"q*A5@+d!j(QC^B6prڂ>a͜6RѧH{f!Yfe5Ie ,>x5cŠ$,>};DFݶV<CVN,ObոS'V1hjZڷ$B4$,ԊZa'e'ӴOhHݑ<'Sw)ʼnڷ$LB,eL] tUH\J@PJ%e$Pj%d%6l3g -T4i.VY^hC,Q&%Xdv2Dv'v[D(CLԊZa''ӴO$nȞMen n5}^om2yt2]ˉVK/!"q*A5@+d!j(QC^B6prڂ>a͜6RѧH{f!YfSe$d ^@N<CVN,OhN<"y7m$B47rZE-Ae w)ʼn'7dO&?WeN/Ӷ<.eī%L 2J 5IJFK/!8m9mAT0qzfN[JlhӤ\=3Mh[h!E΀l@ NԊZH+).9sdqSyѧJ1_3$ QD DdӖA l崪ƍ:E؃4ց ]VYMFK/!e Am"Xdv?W897mzc%A5@+d!j(QC^B6prڂ>a͜6RѧH{f!s! QD^Ba!E΂R ^@NВ1 z$n>KxLj"W((C,Q&Q+%,lP|e8m9m*Np 5BB^2Ej2YyK/ OhH:b"Xdv?W8; ^`@ld tƨ%|̒2Ej(`5QFN[PU6\^ӖҪ[4b Z.tBf5,%'Ӵ$By-Za@!_`@gށ{@PJ%e$Pj%d%6l3g -T4i.\l\ˉ .tAvA.eE-A$bql'O?"q*W'hd/g\SˉQKk"q*W ~{<>\ˊqh tƨ%|̒2Ej(`5QFN[PU6\^ӖҪ[4b Z.tCw)ńQsN-"1 86tˏ8m9mT>:@G~8:cTfIABf50Y(e#g -*./LiiU-ti: mBf5,%'Ӵ$B6ש%'Ӵ$LBށm@0q~2^:cTfIABf50Y(e#g -*./LiiU-ti: v2Ej2YyK/ OhH: vR ^@NВ1 zh>KxLj"W((C,Q&Q+%,lP|e8m9m*Np 5B@kqa QD^Ba!E΀)jK/ OhI~X>KxLj"W((C,Q&Q+%,lP|e8m9m*Np 5B@m="\`41"1 86tˏ8m9mT>:@GV}:cTfIABf50Y(e#g -*./LiiU-ti: hC,Q&%XdvQs9 fR ^@NВ1 z4zc%A5@+d!j(QC^B6prڂ>a͜6RѧH{f!sS  AKP@I~e?:ed6[F #ˈLj"W((C,Q&Q+%,lP|e8m9m*Np 5BA QsS[iR)j ÌgL:~9LӖUKcӤ9q`:cTfIABf50Y(e#g -*./LiiU-ti: *s&!"\3$̘tR@!_OΙqts?g -ѧHvIS1i҂Lj"W((C,Q&Q+%,lP|e8m9m*Np 5BCLІYMFK/!e CLԊZa@!_`@2@0q~2^:cTfIABf50Y(e#g -*./LiiU-ti:@!"\ma͜6RѧH{f!sf5,%'Ӵ$B ܧKP@,2Yy};BH+ }7rX>KxLj"W((C,Q&Q+%,lP|e8m9m*Np 5BC ܧ!E·aN-"1 86tˏ8m9mT>:@GrZ1_3$ QD DdӖA l崪ƍ:E؃4ց:l QD^Ba'v[D)󠋶ܑKP@,2Yy};Dn+pI~v[0q~2^:cTfIABf50Y(e#g -*./LiiU-ti>t7d!j(Q@,2Yy};DF섈SAvR)jK/ OhHݐ1 z$n>KxLj"W((C,Q&Q+%,lP|e8m9m*Np 5G΅e$d ^@N=/D)f/)jK/ Oh$b>8?[/}1_3$ QD DdӖA l崪ƍ:E؃4ց:l[! QD^Ba'ŞKd$B:l[)%'ӴOa͜6RѧH{f#@-Kd7d\Lv[D)% s.&)j&?WS\wοprʩl}t\Sal2J 5IJFK/!8m9mAT0qzfN[JlhӤ\=3Mh󠥵N, CVN,$B: [_!)j ܧ@!_OΙq:Oio*i?{)Š2J 5IJFK/!8m9mAT0qzfN[JlhӤ\=3Mh!j(Q@,2Yy};DkБ |)H ,>yMI~^`@ld tƨ%|̒2Ej(`5QFN[PU6\^ӖҪ[4b Z|-մ2|2Ej2YyK/ Oh Xšqh4$B: um- )%'ӴO4$LB2͝2uLN[OdeLN޾UL{(w'eS%Lj"W((C,Q&Q+%,lP|e8m9m*Np 5G΂ݡ QD^Ba'Ӵ$B: vR ^@N>$b>N }DPPYME VJ2Yyij ˋ6prUKcF"Ak@ń2Ej2YyK/ Ohqa"ZE-Ae n,$LBށn,zc%A5@+d!j(QC^B6prڂ>a͜6RѧH{f#@m= ΀n{K)jhI~e?:e|?g -ѧHjݴ\^Lj"W((C,Q&Q+%,lP|e8m9m*Np 5G΀e5Ie ,>x5cŠ$,Б |H6Y%'ӴO4$LBށrAށ{@PJ%e$Pj%d%6l3g -T4i.b)ł7d$B: \E8@ݔZ @!_OΙq;8m9mT>:@GN/7eDPPYME VJ2Yyij ˋ6prUKcF"Ak@."X2LNБ |1q`ԊZ)@!_OΙq;8m9mT>:@GN/m A5@+d!j(QC^B6prڂ>a͜6RѧH{f#A%NdpӤ CVս"fIS04H -{H+).;_8m9mT>:@GJɏN:cTfIABf50Y(e#g -*./LiiU-ti>t4e$d ^@N=^hH>t4H ,>{̼В1 zy 2J 5IJFK/!8m9mAT0qzfN[JlhӤ\=3MhNБ |mCw)ńV1hjZw)ńSC ܧKP@n81 86tˎ2~N[yU-NpܧLj"W((C,Q&Q+%,lP|e8m9m*Np 5M]h-C,Q&%XdvՌZlDv'v[j- [@n8<CVN,OhHlBջ@m>R)jK/ Oh hN>y#vDn+pN,O ܧ'Ӵ$LB ?\Jeī_L] v[vizO[4ŴOe 2J 5IJFK/!8m9mAT0qzfN[JlhӤ\=3Mhlv[f5,%'ӴOhN<"y7mObոS5n-D+lv[)jK/ OhN>y#vDn+pN,O ܧ@!_C_&rdd^BE2TLj"W((C,Q&Q+%,lP|e8m9m*Np 5M@ݐYMFK/!e 'ӴO$nȞMen @ݔZa'ӴOhHݑ<@!_C_$n+,ߦO.KYq*e$S.%H tƨ%|̒2Ej(`5QFN[PU6\^ӖҪ[4b Z 1x5Ie ,>};Dvɻl"b"Xdv'7dO&?Wų_bo'C%,d):cTfIABf50Y(e#g -*./LiiU-tim[};Dvɻl};BH+H~ٯgewK.%Y,eĩDPPYME VJ2Yyij ˋ6prUKcF"Ak@`!j(Q@,2Yy};Dv'v[vV)H ,>};Dvɻl};BH+H~ٯ6׼~<.eī%L 2J 5IJFK/!8m9mAT0qzfN[JlhӤ\=3Mhle$d ^@N>};DFݶV R)jK/ OhN>y#vDn+pI~ [5newK.%Y,eĩDPPYME VJ2Yyij ˋ6prUKcF"Ak@`5YMFK/!e 'ӴO$nȞMen ZE-Ae 'ӴO$nȞMen !f_+,ߦO.KYq*e$S.%H tƨ%|̒2Ej(`5QFN[PU6\^ӖҪ[4b Z4!j(Q@,2Yy};Dv'v[j- [@n8<CVN,Oh Xšqh j 5"Xdv'7dO& Ổqb};D !f$,VYL] tUH\J@PJ%e$Pj%d%6l3g -T4i. e2Ej2YyK/ OhN>y#vDn+pHmy%'ӴOhN<"y7m$LB-/7o'C%,d):cTfIABf50Y(e#g -*./LiiU-timSe$d ^@N>};DFݶV ܧKP@,2Yy};Dv'v[H+H~ٯỔYf2yt2]ˉVK/!"q*AT5D, sf`NN[AU-H@H$R@%@ӆӖUK`8iґDvJy-pUih*4 t;%Dj+O%,eo;2Wzsnd+A8m9mT>:QÌRnwye9/?IQ@<+H\Jr)Ń-+X1qӆӖJPX 0` CR)m+q`<+FˉQ*s&<+qhcVS.%DW< n%̸],R)m+!WK.%@88>L?Ki\N/tT`@ˉQ[ˉP$eĨE:NQT5D,  \^8m9mT!ɻl};DF섈RE-DT \^8m9mT)J'dǒgP| ./L6[NvȒMeng H;yˈ  ."X nIQ* tT@!\8eo;2Wzsnd+AϳӖT>:Q{p{&9W2yHFyA'Ĕۯ^}2ygNmK@{T@-sJɀO eĨ7rZսˉQq|+ }zH\JR ܧºYq*ށ0qteĨ[JOziqzg eĨE2T@"j'(LB QcUJś;82E+x=:sF1 g  Ì1m>yWLy-@ݐKq1:sF1 ."X2L8y."X2L:sF1 ."X n'[OU'q`<쳧4j􊆩"@ Q}6B>`NN[AU-H@5cŠ-{n+p Xšqh ܧ'V1hjZw)ʼn'ӴO$nH$R@%@ӆӖUK`8iґDvJy-pUih*4 jvIS04@ɻl,[ 2`I ܧqbHn8R ܧ$ӷm=H;{Io9q`$c\^pr@ѧJ8/~21m>_ʼk~<쳧6Ki9/e}2ս t1 L5DWI*/lJvIS04^diʼdJɀO;,+ŞKd7d\Lp/2xŴ^}2|YAvA.e;,+ < Ì1m>yWL|Se9P@r-'[OU'Cw)ΜѨ LBvް\^8yOziqzg;,+x=:sF1 ."X2L8y."X2L:sF1 ."X n'[OU'q`<쳧4j􊆩"@ Q}6B:e)"I*ΙpHQ}6B1n VY!I:ISpelJ'dǒg&v-vᓚ 4v[H"Q1 897mz }[8/j܂+AˉVL r)0?5]$2tsJ\JeĨ1%@8̨(?!]+d!j(QB7F"Ak@['4h"SpelzwcVPPYMFK/! pti 8X4HHj*!DP:Wܳd(Cpe!I:ISpeDvJy-rn+wbn9AvBH"Q1 89#v@0q~pջNb ~:~9,n)ˉR'(LB QcUJ'O< D1 eīpH\JTʉx"QbҾfIABf5,-ti.Ÿ.2sAYfSpeKWv5oJ%e$d ѧH{f P NZ􊆩"@ Q}6B1n VYf/D)"I*bn9B^$Q* tKiطۆNh+,г$Gd Qp }/0q~pջNb ~:~9,n)ˉR'(LB QcUJ'O< D1 eīpH\JTʉx"QbҾfIABf5,-ti.Ÿ.2sAYf -vᓚ 4,E-^ս+d!j(QB7F"Ak@!@+ :R)j *QT5D, Ÿ.2sAYf[<@H$R@%L['4hlQ* tKiطۆNh+, g t;%Dj+`@gށ-'V:}:)ڷ zƿU|S.%H t1 L5DWI* ?2E+"q* LjIP2s*%d%DWJ%e$d ѧH{f#pel[!"Ÿ.2sAYf[R):NQ&ƫNx"QbˉVL?5]$92E+|̒2Ej2Yy[Ӥ\=3Mhp]dXY bn9b"Nj2J 5Ie!nNp 5A{g C)? RED(*Jlbn9l[!"KQ1n y-%DT@m3v[p g t;%Dj+`@gށ-'V:}:)ڷ zƿU|S.%H t1 L5DWI* ?2E+"q* LjIP2s*%d%DWJ%e$d ѧH{f#p g -vᓚ`%KWv5oJ%e$d ѧH{f P NZ􊆩"@ Q}6B1n 6ס"KQ1n 6שJ'dǒg&v-vᓚ` $(:a ^`@ᓏwyy[@h=c_tsYq*>R):NQ&ƫNx"QbˉVL?5]$92E+|̒2Ej2Yy[Ӥ\=3Mhp]dX) -vᓚ`"Nj2J 5Ie!nNp 5A{g C)? RED(*Jlbn9 vRE-DTŸ.2sCHT@;%D<97mn BH"Q1 8=;@0q~pջNb ~:~9,n)ˉR'(LB QcUJ'O< D1 eīpH\JTʉx"QbҾfIABf5,-ti.Ÿ.2sC -vᓚ`jE-^ս+d!j(QB7F"Ak@!@+ :R)j *QT5D, Ÿ.2sC!I:ISpZEI* ~q䶙ɻl݋p]dX n, $(:a X>n8wqכL^չV5'O?"q*A?Ra LjIPd灒(?!],n)ˉQcUJqQ/$Q* LBW((C,Q&%n:E؃4ցۆNhuD)p]dX n-"Nj2J 5Ie!nNp 5A{g C)? RED(*Jlbn9 h@H$R@%L['4:rAHT@;%D<97mn 4 $(:a e[N>utSnAeīpH\J@9DbjT:~9d%DWK.%[E2T@tdTKJ2J 5Ie!nNp 5F-vᓚ`9 fSplR)jƭ_3$ QD^B4b Zp \48iґKQP$TB" tfP-vᓚa^h@H$R@%L['4:LԊ%DT@m3v[p/4 $(:a ށ-'V:}:)ڷ zƿU|S.%H t1 L5DWI* ?2E+"q* LjIP2s*%d%DWJ%e$d ѧH{f#p/4 $BۆNhuyzwcVPPYMFK/! pti 8X4HHj*!DP:Wܳd(Cpqa"KQ1n ܧDvJy-rn+wbn9N, $(:a Sށ-'V:}:)ڷ zƿU|S.%H t1 L5DWI* ?2E+"q* LjIP2s*%d%DWJ%e$d ѧH{f#pqa"Ÿ.2sC7rZE-^ս+d!j(QB7F"Ak@!@+ :R)j *QT5D, % ?Vee$d ^@N<CV hH$R@%L2Xsn[O%DT@m3v[ $.[!+d!j(QEd؃4ց,BaH?)H oeh-O2_3$ QD^B2Yy }[s8͘IVp 5A{g eۆN>s8͘Nڷ$R'|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶:EL5DbÌgL2X+n~-ϲAv0@^,cE>wӾ=K(,:NQ&ƫ6vqd%DWep/2~K/!W|'E>wӾ?%epy`~=ݼb|1 ?Ve^d[viƫx"WJ%e$dedR{$p{f Pd'VRC'm[)j LB ]4O;,ُ8pչWI*3,2E2J 5Ie#%pո<ىdnb Zp ^@]d<ـH{$rE-DW2~H8~v[N>ޟ{y^l$o)F( LjIP2s*%d%DWJ%e$dU6\^Np 5F,H]h-C,Q&%XdvՌZlBD)Kn~iKWv5oJ%e$dU6\^Np 5A{g UJE-DECTQ tҾ!B 4v[f5,%'ӴO& '7dO& ՌZqbx5cŠ7rXH$R@%EelJ'dǒg~ier]VPPYMFK/!b Zp K/!"@QO@ݶV1m>D?;{eHS[iD?#vyˈ$ɻl,[ 2`ISn8$N/Cw)ń3,2J 5Ie#%pոOɐIVp 5A{g eۆN>ONڷ$R@vJ0?W _&zv'C%,d)ppո?źy#|K*)>?p ܧ9Kk7r_:]<.O%N/w)TLr=;oˡ,/S֍."_'ݲ<. q\E8u7IJ_NO'q|/5lAI T@tbf< D1 ,Oer''-ϧΠ1 QO^d(ylj߫z1m>xCw)/2xn8N6cy-ϐqm8|1 -q| Ìq~ l*[O q|ƫx"WJ%e$dedR{$p{f Pd'VRC'm[)j LB ]4O;,ُ8pչ8[[`q~Oe?:%Vs{T@-p'C%%,8"q*AÌ^OK.%N=H\J@-p'E>w<ϦOeze6\^_O~+\>?%?7e ~Ҹ&ϦO>Cw)ϦO)m|S\J{ZL [JO ##v~I/jޟn.sw'C%ݲ?Hڢ"H:ECT@_r͐e5Ie ,>y#vDv'v[D)"I*+,@ݔ%DT@m3W29Yf%|̒2Ej2Yy^@{f P,2Yy |^@Ne$ONڷ$R@vJ0?W _$nϧm2yt2]ˉVK/!"q*G }[[7X qL1m>};oSweN/?)7r_m2yt2]Yy[N[Z7qLly}O.KeO9q`ʉ9?L."_$ny[&@'(r)0?5]$Y$Q* LBK/#~?%7̜O>f 1 QO_O|9?LN6נ1 ~\ˊq~3|TfX=d%]+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH1 /)t}?f<-'Vp'mm_m?}@{[?IQÌ] |^GTԊeĩW2~K/#7ey=,8"q*AÌeO~+\>?%?7e ~ҽS@qz`}?쯋qsʼd^@Hݗ[JO ##v~I/jޟn.sw'C%ݲ?Hڢ"H:ECT@_r͐eb!j(Q@,2Yy};D'ӴO$nȞMen Z$B^$Q* tKiqQ4,BW((C,Q&%e i 8X%KWe QO@b[O$$S[iD?FN,7dI&xl\ˉeҾfIABf5,dn8i2;j./lb,pոi IVZ"Q1 ewK.%Y,eĩ.2qn OnHUc%{N/A7r_֙./L nөŐ?'[O?Lzp6YOỔ;oˡ$nʧ-\E8Oee;2yt2]./LG2Hq|m0oeD̜O9q#v_דj09D@!I1%@͝x"QbYy ,VYd2xŴN6aW|2}Sx lr)Ń- ."X2Lɚq|r9ˈ+q`< ."_$n눘~Slj܂+ŞKd7d\Lp/E1{/W<ϼ\Sɞ{@t2$Q*_3$ QD^B2Yy }[]4dnb Zp ^@]d ]4H{$rE-DWyK'e1n8#};oSweN/?)7r_m2yt2]Yy[N[Z7qLly}O.KeO<>tL}j?'C%ջiX ./LdN/m ,y ~r)F쿯'ղar'(LB QcUJś;82E+8Yyxx-ϧe1LAb./L_Oq9쯦O$n&}8,ل?!\S[ix\E8e74^sN-W9qvx\E8Hݟ1fչW< n%̸_Nb_y-yN-̸o< 1 Oziqzg2{4ex_V}2|^1%AeHUҾfIABf5,dn8i2;j./lb,pոi IVZM?'N6cN/2qnG2yV>_Dηl1?Ki\8wezK.%N=H\J@-p'9#v_דˉSkR)?Ki\8QOgﲾ-*Yy##v^m+E>t@<ϦOezdi?7g䝒vj>}2yt2]./LAÌ] sV}O״2P@-p y ^C'm[-ʬ~[Nm8O>w)ʼndӁͧN/Ӷ<.,F쿭ʧ-\E8I[]'C%ݲp'^i,DXa2yt2][=nO9q`ʉ9?L."_$ny[&@'(r)0?5]$Y$Q* LBK/#~?%7̜O>f 1 QO_O|9?LN6נ1 ~\ˊq~3|jݴp/'IW.el'TfX=d%]+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH1 /)t}?f<-'Vp'mm_m?}@{[?IQÌ] |^GTԊeĩW2~K/#7ey=,8"q*AÌeO~+\>?%?7e ~ҽS@qz`}?쯋qsʼd^@Hݗ[JO ##v~I/jޟn.sw'C%ݲ?Ki\8w5n{./L-{C%WxǚL*$=vջ~?̗}ed2H)N-(Hj*!DP:Wܳd(AYf[Kh-C,Q&%XdvՌZlDv'v[j- [@n8<CVN,OhH$R@%Ee um- )J'dǒg~ier[OPPYMFK/!b Zp K/!"@좟:$eմ2|  ."X2L$7gq`"H7mŞKd7d\L ỔN,I ܧ[_!Đ?vV`40'`PPYMFK/!,[N>ǹuH{$p{f Pd'V9uC'm[)jҾfIABf5,dn8i2;j./lb,pոi IVZ"Q1 ezum-b|v'C%,d)pْ3hH6YϦOed:f@9DbjT ^,ǁ(?!_%LeNO'[OOlf@{(/'E>w̜OeV^k@zum- < gӁ͘Oe 1 p/'IW'7eo> lr)Ń- ."X2Lɚq|r9ˈ+q`< ."_$n눘~Slj܂+ŞKd7d\Lp/E1{/W<ϼ\Sɞ{@}7r_2xn8N6cy-ϐqm8|1 -q| Ổ8,َU_>AǭKkW5n{K8y{+ZsWI*3,2E2J 5Ie#%pոOɐIVp 5A{g eۆN>ONڷ$R@pi>vYq}ᓏr8qVw*!쓶LpջpٟO~ielyYf@AvD 2DDʼne mDy-A ܧʼ:k@t2$Q*_3$ QD^B2Yy }[s8͘IVp 5A{g eۆN>s8͘Nڷ$R@p'䃏ed׽urF2iҎ=5fX=详O.KŴ:f9Wᓏr􊆩"@ Q}6Bh-5Ie ,>};Dv'v[D)"I*+,["Q?8[L3VYhBW((C,Q&%e i 8X%KWe o|vi$$."X2L$[g7g˙qN/&yAcUJ D|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶?!\.~Olǃ_ed܎d򭭰}8Oﲈo}+}b= ~Ҹqˡ\J{ZL [JOerF쿯'֤S.%H ~Ҹq좟;e|[U'GFW|./L/?}n.yWL?Ki\8$n;%^ջm}1ndd\^{T@T5IHj+Y @kqa QD^Ba'XN>y#vDn+pH$R@%Ee[HT@;%D<;{L.h n,!+d!j(QEd؃4ց,BaH?v(Ή -ȒNqz`Nr)Ń-H#vyˈ$v[YAvA.eO2_3$ QD^B2Yy }[]4dnb Zp ^@]d ]4H{$rE-DGd Qp[_mNdd^BE2Tn8?O$o*n9}?Ӂ͘Ab좟;Le2r~> m[yAb-2xŴ|lf=;oYy LBe O*Ӌ~(-۞ ~ڢm+<.,OeĩǵˉRd^G$nzYq*qjE2Tm+>)WŸ^}2~K/ $n@-{(΀(_y,/AÌ1m>@GF_.[?\O.Ke ~GDECTQ tҾ!B 4$,ІYMFK/!e 5n-9 f'7dO& ՌZqbx5cŠ7rXN<CVս"KQhH6YJ'dǒg~ier4!+d!j(QEd؃4ց,BaH?좟:$ o"H ӷq`m0h#vyˈ$Meng HỔN,I7r_)m|S@o5n{K?ڷ[O fX=+d!j(QFK/!ᓏqyy;j./lb,pոyyIVZPPYMFK/!,[N>.~LNڷ i 8XK/ .2qn.~H$=vչ"HT@醨LB-f$,Ndd^BE2T9D |Ƿ}2yt2]-ȟne}2yV>_ed3|Ojv-쮾lb|dig2sf9Yf?v[W'WMY6~2{-'V?KiDn[]|,ٳb|dig2sf9Yf?apٞ^9Yf^x]5d }[@-?oeu@ݞ1m>D2xŴky3n9H7e6gWVY<?~=ᓏrv-쮾ei'-[ɞp͘e@^j8l~iCLU_MLpչQ[W[-%qi'-[ɞp͘e@=ryW'WMY6~2{-'V?KiDn[]|-ȟO<Mo&{-'6ciۋG 3h n/yutg'2qnA@ž}M"~x-ϧe1LAb./L_Oq9쯦O$n&}8,ل?!\S[ix\E8e74^sN-W9qvx\E8Hݟ1fչW< n%̸_Nb_y-yN-̸o< 1 n8dq~ l*[O qpAb[_!w)p6Yξ1m>|[ijݴp/'IW.el'1m>Bڷ~=[쯦O.KŴAcUJ D|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶?!\.~Olǃ_ed܎dʼe?{$q}5$t{w'2qna6g߫cYf.+pVYf/?+,@ݑ{zչ쯦O.KŴ jyz@ur;-'V? RED(*Jl+,/4!j(Q@,2Yy};Dy};Dvɻl"KQhiDvJy-w]G+,/4!+d!j(QEd؃4ց,BaH?Ne$I S[iD?Hݞr)ł % s.&~J%e$dedR{$p{f Pd'VRC'm[)j t;%Dj+ k̼Ndd^BE2Tn8?O$o*n9}?Ӂ͘Ab좟;Le2r~> m[yAb-2xŴ|lf=;oYy LBe O*Ӌ~(-۞ ~ڢm+<.,OeĩǵˉRd^G$nzYq*qjE2Tm+>)WŸ^}2~K/ $n@-{(΀(_y,/AÌ1m>@GF_.[?\O.Ke ~GDECTQ tҾ!B 47rXC,Q&%XdvՌZqb};Dvɻl"KQhn8%DT@m3W29YfSJ%e$dY,p 5A{g Xd)j,$v(Ή SI$vN,m @$n9qvD?ɻl,[ 2`'`PPYMFK/!,[N>.~LNڷ i 8XK/ .2qn.~H$=vչ"HT@醨LB-fSO.KYq*e$S.%HvᓏqtFp6Y<7r_m2yt2]Yyy9ˈly}O.KeO9q`,y."_$ny[&@'(r)0?5]$Y$Q* LBK/#~?%7̜O>f 1 QO_O|9?LN6נ1 ~\ˊq~3|TfX=d%]+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH1 /)t}?f<-'Vp'mm_m?}@{[?IQÌ] qi,8"q*AÌ] |^GTԊeĩW2~K/#7ey=,8"q*AÌeO~+\>?%?7e ~ҽS@qz`}?쯋qsʼd^@Hݗ[JO ##v~I/jޟn.sw'C%ݲ?Hڢ"H:ECT@_r͐΀l@ NЀ HJ[EvJ'dǒgo.tmejv:EL5DbÌgLο-˷NU)F(ӆӖ4^O[AHݞnt}2rJO[h.SXA?Ra LjIPd灒(?!\8mȩjTʉx"QbҾfIABf5,A hӤ\=3Mh[h!E΀l@ NԊZ;{W((C,Q&%>ati 8X>` :R)j *QT5D, \"2Ej2YyK/ OhH$R@%E΂.+rEI* ~q䶙ɻlܹEenJ%e$dY,p 5A{g Xd)j,$o|O2_3$ QD^B2Yy }[]4dnb Zp ^@]d ]4H{$rE-DGd Qp }#Y/d6vqnr_>$prʩl}te9/Llr9lZ2߫g6tˎUf=8WnA?Ra LjIP1xggHT@|^G2~K/!W|2}S};Yy/W9?lNHdiƫNx"QbÌMen_LN?5]$8̰{JW((C,Q&%^C-'VM?&C'm[؃4ց,B%n8M?$;jܑKQb^Rfx?)[N>?L^=sdvӋ S\m[ѼuKg码1%@8̨(?!]+d!j(QAT0qzf:E؃4ց ]VYMFK/!e Am"Nj2J 5Ie l3F"Ak@!@NZ􊆩"@ Q}6B:5Ie ,>"KQ:DvJy-rFAvBfIABf5,VK/ \=3Mh^(,ZK/ Io|O2_3$ QD^B2Yy }[]4dnb Zp ^@]d ]4H{$rE-DGd Qp } 8?[/}8eO9xgg/5@g -ѧHvYӛR`=r9lZ2߫g6tˎUf=8WnA?Ra LjIP1xggHT@|^G2~K/!W|2}S};Yy/W9?lNHdiƫNx"QbÌHݞ1m>}4AcUJ D|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶?!\.~Olǃ_ed܎33ѧ6Mm8e?:eQfչmʼ[D~JnzTʉx"QbҾfIABf5,A hӤ\=3Mh@ݐYMFK/!e AvR)jƭ_3$ QD^B ˋ4i./lb \^4HHj*!DP:Wܳd(Asf/f5,%'Ӵ$B)j tB^$Q* tKi/9sf/fIABf5,VK/ \=3Mh^(,ZK/ Io|O2_3$ QD^B2Yy }[]4dnb Zp ^@]d ]4H{$rE-DGd Qp }/0q~2^p?eLrf?^k$N[yU-N쳧6o^wʼe^qh ~3~i.9W'WM ^չ@!I1%@͝x"QbYy ,?!^) QOOerF\d;#'-T:~9d%DW2{ ^qi쯦OѧJTfX=d%]+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH1 /)t}?f<-'VpٟO~i9liŐ?).Gs6mhU:%Vs@tdTKJ2J 5Ie l3F"Ak@΅e$d ^@NБ .t,E-^ս+d!j(QAT0qzf:E؃4ց,BT0K)? RED(*Jl.tBf5,%'Ӵ$B)j t@-Ke"Q?8[Lg΀[P@t$Q* LBq%-ϲ?F( LjIPq`(tPPYMFK/!,[N>.~LNڷ i 8XK/ .2qn.~H$=vչ"+O͘~S }[f~=z4ɲ@LgL=ڷ-yW{[AcUJqQ/$Q* LBW((C,Q&%>ati:l[! QD^Ba!E΀[:@G~8pٟIXtRtvO{2ڷrP@t$Q* LBqmxŴW'ӥWI*3,2E2J 5Ie#%pոOɐIVp 5A{g eۆN>ONڷ$R@pi>vYq}ᓏr8l'WF6]l#GV嶴o*o}+} LjIP2s*%d%DWJ%e$dU6\^Np 5BAMC,Q&%XdvQs"Nj2J 5Ie l3F"Ak@!@NZ􊆩"@ Q}6B: v2Ej2YyK/ OhH$R@%E΂ݩJ'dǒgo.tJ%e$dY,p 5A{g Xd)j,$o|O2_3$ QD^B2Yy }[]4dnb Zp ^@]d ]4H{$rE-DGd Qp }8?[/}8eO9xgg/5@g -ѧHvYӛR`o~iv[%?L͝2yutُN*[@9DbjT ^,ǁ(?!_%LAb좟;LeNd^G$nNO R2~ONڷ$R@vJ0?Wށn,zc%G _/l}2H巕R4:sj_?l߫g*{Šl)sgL^x]6cӊ5{V:NQ&ƫ6vqd%DWep/'@{(/'E>wӾ?%epyTO( LjIPd灒(?!\8-ϲ?F( LjIPq`(tPPYMFK/!,[N>.~LNڷ i 8XK/ .2qn.~H$=vչ"+O͘~S }[f~=z4ɲ@LgL=ڷ-yW{[AcUJqQ/$Q* LBW((C,Q&%>ati:[e$d ^@NБ .tKWv5oJ%e$dU6\^Np 5A{g UJE-DECTQ tҾ!B :ݴRE-DT\`41"Q?8[L΀n{KH"Q1 S\|?Oio*i?m=#2Hç -pӧӶp|Kٔvջyutא?Y6~2:sFr)0?5]$2tsJd6[F #v޾qzb􊆩"@ Q}6B: hC,Q&%XdvRE-DT\H6YJ'dǒg7: hBW((C,Q&%e i 8X%KWe NeПeҾfIABf5,dn8qכ1!쓶Ak@!A }[qכ0 dnHOJ%e$dedR{$p{f Pd'VRC'm[)j t;%Dj+`@9 f`@ld~<͝[ϦI6[F #gNmK'e߫g*{Šl)sgL^x]6cӊ5{V:NQ&ƫ6vqd%DWep/'@{(/'E>wӾ?%epyTO( LjIPd灒(?!\89 fi쯦OѧJTfX=d%]+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH1 /)t}?f<-'VpٟO~i9liŐ?).Gs6mhU*o}+} LjIPq`(tPPYMFK/!,[N>ǹuH{$p{f Pd'V9uC'm[)j LBqAc2qn:f9#~O4G d?~i9li2͝2(3jܶ֍^s[$Vs@tdTKJ2J 5Ie l3F"Ak@΀e5Ie ,>"\H6YzwcVPPYMFK/!P|e4b Zp P| ./LtR@T5IHj+Y b)łRE-DT\1qvR(:NQ%Hݞ\1qvBH"Q1 S\|?Oio*i?q|(?Lb& -NN–/fQVU^@d;,I T@t$Q* LBqprʩl}t."_$n􊆩"@ Q}6B: \E8e4 $B)j tA Q* tKib)Ń-$Gd Qp).>N'巕R4\E8u56g@ \Dt8i8R>%;jʼ:k?~Oe9P@9DbjT:~9d%DW2~N[yU-NS[iP@T5IHj+Y fIS04 Z$fIS04HT@;%D<8[VA%NdpӤ $(:a e?:ed6[F #%NdѧJ8l$,:pr l.OlKd(w*&e?tA?Ra LjIPd灒(?!\88m9mT>:@GJɏN? RED(*Jl.t4e$d ^@NБ HJ 2R(:NQ%/7:e%|̒2Ej2Yy^@{f P,2Yy |^@;}SB~J%e$dedR{$p{f Pd'VRC'm[)j t;%Dj+`@2@0q~2^p?eLrf?^k$N[yU-N쳧6oL^9WKN-f~O3:e*Uڷ r)0?5]$Y$Q* LBK/#~?%+E>w~>),Hݗ+̜@'rd2xŴAcUJ'O< D1 Oy-ϲ?F( LjIPq`(tPPYMFK/!,[N>.~LNڷ i 8XK/ .2qn.~H$=vչ"+O͘~S }[f~=z4ɲ@LgL=ڷ-yW{[AcUJqQ/$Q* LBW((C,Q&%>ati:e2Ej2YyK/ OhH:eRݍ[ҾfIABf5,A hӤ\=3Mh^(A408iґKQP$TB" tfPCh $B)j tCh"Q?8[LΆ@IQ* tT@!\86tˏ8m9mT>:@G8l$,ihpӧӶp|Kٔvջyutא?Y6~2:sFr)0?5]$2tsJd[F #ӹ#v^ƫ'2^HT@tPPYMFK/!P|e4b Z.t6BD(yHӻ|̒2Ej2Yy*./LѧH{f P*iqz`pӥ""H:ECT@_r͐ΆSe$d ^@NБ HJ ܧDvJy-pq|qa _3$ QD^B+%./lb ^BE-_%$;}SB~J%e$dedR{$p{f Pd'VRC'm[)j t;%Dj+`@Ổ0q~2^p?eLrf?^k$N[yU-N쳧6ow)ʼe^qh ~3~i.9W'WM ^չ@!I1%@͝x"QbYy ,?!^) QOOerF\d;#'-T:~9d%DW2xn81m>}4AcUJ D|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶?!\.~Olǃ_ed܎33ѧ6Mm8e?:eQfչmʼ[D~JnzTʉx"QbҾfIABf5,A hӤ\=3Mhqa QD^Ba!EΆSHӻ|̒2Ej2Yy*./LѧH{f P*iqz`pӥ""H:ECT@_r͐·aN, $B)j tC ܧDvJy-pq|>Cw)ń:EL5DbÌgL:~9LӖUKcӤ>{)ţ2Hç -pӧӶp|Kٔvջyutא?Y6~2:sFr)0?5]$2tsJd6[F #߹N-ECTQ tҾ!B:l QD^Ba'v[D)"I*|"$Q* tKiew΂.+pBW((C,Q&%e i 8X%KWe v(Ή n+w!?L|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶:EL5Db0qrn+p>Kxg^,9d?io*i?tԿ2yYf.+w~iv[%?L͝2yutُN*[@9DbjT ^,ǁ(?!_%LAb좟;LeNd^G$nNO ~ߦO( LBŴ_O&qi3:ƫx"WJ%e$dedR{$p{f Pd'VRC'm[)j LB ]4O;,ُ8pչ6g߫gNl.qd6tˀͫrZ7yηl?5]$92E+|̒2Ej2Yy*./LѧH{f#Am!j(Q@,2Yy};Dn+pH>tv[)jƭ_3$ QD^B ˋ4i./lb \^4HHj*!DP:Wܳd(CAvBf5,%'ӴO$nH$R@%O HT@;%D<8˨ J%e$dY,p 5A{g Xd)j,$)H#vxŴ fX=+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH(:a 7dzc%G _/l}2H巕R4:sj_Kxg^,9d?io*i?tԿ2yYf3yd@6g^9\r{ ^SB^$Rݍ[ҾfIABf5,A hӤ\=3Mh^(A408iґKQP$TB" tfP΀[Kxg^,9d?io*i?tԿ2yYf[<~iv[%?L͝2yutُN*[@9DbjT ^,ǁ(?!_%LAb좟;LeNd^G$nNO ~ߦO( LBŴ_O<?o= LjIPq`(tPPYMFK/!,[N>.~LNڷ i 8XK/ .2qn.~H$=vչ"+O͘~S }[f~=z4ɲ@LgL=ڷ-yW{[AcUJqQ/$Q* LBW((C,Q&%>ati>tBf5,%'ӴOtR)jƭ_3$ QD^B ˋ4i./lb \^4HHj*!DP:Wܳd(C@-Kd7d\Lv[D)"I*|l\ˉ%DT@m3 g ݶVy-@ݐKq0@vJ0?W2͝2uLӖUKcӤ2_{ e6wU|S.%D详Od{,[<>\ˊqbzYq*)m|S.%D[|[g7g˙qN-6gaӆӖUK`8i@-ʼ:k@9DbjT ^,ǁ(?!^,[ 2cxqprʩl}t\SalHj*!DP:Wܳd(CAKk7rX@5cŠ7rXH$R@%O-qiJ'dǒgu󠥵N, 7r_)m|S t;%Dj+OΙq:Oio*i?{)ţ2Hç -pӧӶp|Kٔvջyutא?Y6~2:sFr)0?5]$Y$Q* LBKk7r_'A߹N-ECTQ tҾ!B: mBf5,%'ӴO) Z$"Q?8[L.t^%|̒2Ej2Yy^@{f P,2Yy |^@좟:$k1m>B~J%e$dedR{$p{f Pd'VRC'm[)j t;%Dj+`@6נ8?[/}8eO9xgg/5@g -ѧHvYӛRe m{{L^s/}8? e?WlzqWj܂I T@tbf< D1 ,d^Bed(w'9#v_2r~2xŴAb-2yM?o= LjIPq`(tPPYMFK/!,[N>.~LNڷ i 8XK/ .2qn.~H$=vչ"+O͘~S }[f~=z4ɲ@LgL=ڷ-yW{[AcUJqQ/$Q* LBW((C,Q&%>ati>t^2Ej2YyK/ OhSmz!O6שzwcVPPYMFK/!P|e4b Zp P| ./LtR@T5IHj+Y!Vi5Ie ,>x5cŠ$,Б HJ: um- )J'dǒguVi2J 5Ie"YyAk@!@e$RYyH;}SD?l}:[OeҾfIABf5,dn8qכ1!쓶Ak@!A }[qכ0 dnHOJ%e$dedR{$p{f Pd'VRC'm[)j t;%Dj+OΙq:OV-ϲAOѧI_y*=S};tA?Ra LjIP1xggHT@|^G2~K/!W|2}S};Yy/W9?l~xմil~|TfX=d%]+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH1 /)t}?f<-'V?5]$8̰{JW((C,Q&%^C-'V:f$=vո\=3Mh^(2Yyvᓏp:f!쓶?!\8 1n8zuyyLt1%@8̨(?!]+d!j(QAT0qzf:E؃4ց: um- ! QD^Ba'V1hjZrA ΂[Kh-E-^ս+d!j(QAT0qzf:E؃4ց,BT0K)? RED(*Jl|-5Ie ,>};BD)"I*|-ڑDvJy-qQ: v%|̒2Ej2Yy^@{f P,2Yy |^@v(Ή o!?L|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶:EL5Db0qzv`@ld~<͝[ϦI6[F #gNmK'h-߫g*{Šl)sgL^x]6cӊ5{V:NQ&ƫ6vqd%DWep/'@{(/'E>wӾ?%epyw-1m>x-|TfX=d%]+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH1 /)t}?f<-'VpٟO~i9liŐ?).Gs6mhU:%Vs@tdTKJ2J 5Ie l3F"Ak@Bf5,%'ӴOhH>tHӻ|̒2Ej2Yy*./LѧH{f P*iqz`pӥ""H:ECT@_r͐ń2Ej2YyK/ Ohqa"KQ>tDvJy-qQ:[J%e$dY,p 5A{g Xd)j,$)Hmḭ{W((C,Q&%^C-'VM?&C'm[؃4ց,B%n8M?$;jܑKQQ* tT@!\zm }2'Ytsy ӖUKcӤ;,ͩdʼe^qh ~3~i.9W'WM ^չ@!I1%@͝x"QbYy ,?!^) QOOerF\ddi+[OdۋguWI*3,2E2J 5Ie#%pոOɐIVp 5A{g eۆN>ONڷ$R@pi>vYq}ᓏr8l'WF6]l#GV嶴o*o}+} LjIP2s*%d%DWJ%e$dU6\^Np 5G΀f5,%'ӴOm | n-"Nj2J 5Ie l3F"Ak@!@NZ􊆩"@ Q}6B>tvް\^NБ HJ:uiX ./LHT@;%D<8˨:ݴSm=$Gd Qp).;_8m9mT>:@GV}pٟIXtRtvO{2ڷrONڷ$R@vJ0?WށrAށ{,2yś;8G9yL8m9mT>:@GΜڗO+,l{{L^s/}8? e?WlzqWj܂I T@tbf< D1 ,d^Bed(w'9#v_2r~2xŴAb-2xH6Yb|LΠ1%AeHUҾfIABf5,dn8i2;j./lb,pոi IVZM?'N6cN/2qnG dӛ&˶Y2͝2(3jܶ֍^r9-۞@t2$Q*_3$ QD^B2Yy }[s8͘IVp 5A{g eۆN>s8͘Nڷ$R@p'䃏ed׽urF2iҎ3 ~^=sdvӋe?:eQfչmʼ[DH码1%@8̨(?!]+d!j(QAT0qzf:E؃4ց: hC,Q&%XdvՌZlBD)9 fRݍ[ҾfIABf5,A hӤ\=3Mh^(A408iґKQP$TB" tfP΃N,7d !"KQ>tq`)J'dǒguS $n9qvBH"Q1 S\w2~N[yU-NSG d?08m9mtvO{2ڷr:@GN/m AP$TB" tfP΃2JɀH@5cŠ-{D)"I*|3$̘tQ* tKiew΃2JɀH@[VJɀHIQ* tT@!\86tˎ2~N[yU-N쒧2cӥ6g@8m9mMhpӧӶp|Kٔvջyutg2:sFr)0?5]$Y$Q* LB%Ndpӧxqprʩl}td9F( *QT5D, /4!j(Q@,2Yy};Dy"KQ>t4HT@;%D<8˨ 2BfIABf5,VK/ \=3Mh^(,ZK/ IQO@̼1m>B~J%e$dedR{$p{f Pd'VRC'm[)j t;%Dj+`@2@0q~2^p?eLrf?^k$N[yU-N쳧6o443yd@6g^9\rx5cŠ7rXH$R@%O ܧDvJy-qQ:N,!+d!j(QEd؃4ց,BaH?좟:$N/[OeҾfIABf5,dn8i2;j./lb,pոi IVZ"Q1 88n8 }2'Ytsy ӖUKcӤ;,ͩd ܧ߫g*{Šl)sgL^x]6cӊ5{V:NQ&ƫ6vqd%DWep/'@{(/'E>wӾ?%epyw-1m>xw)i3:ƫx"WJ%e$dedR{$p{f Pd'VRC'm[)j LB ]4O;,ُ8pչ6g߫gNl.qd6tˀͫrZ7yηl?5]$92E+|̒2Ej2Yy*./LѧH{f#Cw)ń2Ej2YyK/ Oh Xšqh ܧ!O ܧKWv5oJ%e$dU6\^Np 5A{g UJE-DECTQ tҾ!B:n8j- [@n8 HJ:n8%DT@m3>Cw)ńSn8HT@醨LBqld6[F #߹N-6g@8m9mT>-^̣ܫɳvYӚ5@!I1%@͝x"Qb[_!=~8? RED(*Jl~۟v2|2Ej2YyK/ Oh Xšqh4OhN<"y7mObոS5n-vRE-DU ?VeHT@;%D<;{LݶV ?VeJ%e$dY,p 5A{g Xd)j,$좟:$H6Yݠ "Hӷ\^$;yˈ  Hݞr)ł Meng HSn8$w)n8$[eҾfIABf5,dn8qכ1!쓶Ak@!A }[qכ0 dnHOJ%e$dedR{$p{f Pd'VRC'm[)j t;%Dj+NK.%[E2U详O.K-ջxŴ=m'z@b|w'f{{Le o*n8<8͘A?Ra LjIP1xggHT@|^G2~K/#o9?L1m>}?Ӂ͘Ab좟;Le2r~> m[yAbn~iL1m>~&~cӟLnNd^Bqzg2{4e}2y#v_3f 1 ."X2LLr)Ń-|*󜸊qh LBˈLr)F8N6 LBYAvA.etSExlqmHݟ.e8O|aW>Cw)/'Slf9W|b|ӋR ܧLN/Ӂ͘^uizN/P@sV`43~=ǚL粼Qu+g>>/P@t$Q* LBYq*>R)E}2yt2]n~-ϐqk=lӾ?%eĨL{'AcUJ D|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶?!\.~Olǃ_ed܎dʼe?{$q}5$t{w'2qna6g߫c" af/? L?lkqb~)-Kgw)}?َUed܂"H:ECT@_r͐`5Ie ,>};Dvɻlx5cŠ7rX Xšqh ܧ!I:IV"$Q* tKirn+w]VPPYMFK/!b Zp K/!"@)Hӷ\^$;yˈ  Hݞr)ł Meng HSn8$w)n8eҾfIABf5,dn8i2;j./lb,pոi IVZ"Q1 ų_ɻlܬ~<.eī%L#ۆN>-ʬ~[6_'r_<~?%' qLN/[ONݶV?I ~\JeīNW'~ٳŴrXg'C%p ܧ\J[_)ˉW?1详I[6cr_>._^ϦO.KKk7rZ8 @2Yyvᓏp)tA!쓶ޟ̰{5N{+@dOb( t1 L5DWI*/lJ_Oer)}2xŴ!f 1 QO_O|9?oWm[@vˋ8y{+ɟ!f 1 ."X2LLr)Ń-|*Ĝqh LBˈLr)Fm~Sm[@xl\ˉ/eg<>\ˊq~3||S_O ܧP@rn8dq~CΖlǧ{Ȝ'OrT:~9d%DW2y7m䝒vj쯦Oy*9d^BTfX=d%]+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH1 = ~Ҹqˡ\J{ZL [JOerF쿯'֤S.%H ~Ҹq좟;e|[U'GFW|./L/?}n.yWL?Ki\i2sq}ןLR ܧzl~8?Hڢ"H:ECT@_r͐`! QD^Ba'ӴOhHݑ<!I:IV nEI* ~q䶙߫g$n J%e$dY,p 5A{g Xd)j,$o|ӷ\^$."X2L$."X nȒv[YAvA.eO2_3$ QD^B2Yy }[]4dnb Zp ^@]d ]4H{$rE-DGd QpH~ٯewK.%Y,eĩ.2qn OnHUc~ٴ=Ŵe,?L?edӋdSӶ#vP@'(q+َVYd8Oųf;)4p3~OLq}ǚL狗^d?'NO7sVFo/^rFO[;žzeۆN>ONڷz2A?Ra LjIP1xggHT@|^G2~K/#oL3-ϧ[6aW|2}Sx<}ߦOųj܂+\^L&s_LHݗL[6aW9q`dN,m 8{9W$SAb\E8@ݞdN/7gldǃ_ųj܂+ŞKd7d\Lp/E1{/W<ϼ\Sɞ{@t$Q* LBqN|WnW'eS2~K/!WI*3,2E2J 5Ie#%pոOɐIVp 5A{g eۆN>ONڷ$R@t?Ki\8wezK.%N=H\J@-p'9#v_דˉSkR)?Ki\8QOgﲾ-*Yy##v^m+E>t@<ϦOez4UH{$w0.ipd?!fwSHݔ?Hڢ"H:ECT@_r͐af/f5,%'ӴOhN<"y7m$B)j tJ'dǒg~i/>YPPYMFK/!b Zp K/!"@v(Ή ;{eHNr)Ń-HHݞr)ł 7mŞKd7d\L3,2J 5Ie#%pոOɐIVp 5A{g eۆN>ONڷ$R@vJ0?W-~<.eī%L#ۆN>-ʬ~[6_'r_<~?%' qLq|b|v_a?I ~d̕+,Nòv_'~ٳ@}/9#zͧ'SzZ7*8?$dSu$S!foQ?qlل?!^) QO''~>Cͫrqzg2{4e}2y#v_3?qlل?!\S[ix\E8e74^xN-W9qvx\E8HݟMq~Cͫry-@ݐKq1^,[>[g7g˙qN/&yAcUJ'O< D1 OaϒvKڽw=K(/7Yy LjIPq`(tPPYMFK/!,[N>.~LNڷ i 8XK/ .2qn.~H$=vչ"+[JO.KK/#Yq*qjE2Tm+?%\J{ZL [JO|?}n.yWL?Ki^)l0 WŸ^}2~K/ $n@-p'\^쯦Oųf;)"zϒm."XIr ~GH *QT5D, l[! QD^Ba'ӴOhHݑ<'Ӵ$B)j t gHT@;%D<;{Lg`%2J 5Ie"YyAk@!@e$RYyHQO@ol0IS[iD?\E8@ݑ$n+w< n%̸@o5n{K~J%e$dedR{$p{f Pd'VRC'm[)j t;%Dj+C_<+,ߦO.KYq*e$S.%HvᓏqtFCͧܧ-+,ߦOe d-'6_'r_>%9DÌy-O^r;'i2|-1߹N/mi󮝽ǚL8?'ߦO~8&sH^-Lm:<>󗒽b><1m>yW,[/@b|w)|eۆN>ONڷz2A?Ra LjIP1xggHT@|^G2~K/#oL3-ϧ[6aW|2}Sx<}ߦOųj܂+\^L&s_LHݗL[6aW9q`dN,m 8{9W$SAb\E8@ݞdN/7gldǃ_ųj܂+ŞKd7d\Lp/E1{/W<ϼ\Sɞ{@sV`43~=ǚL粼Qu+g>>/P@t$Q* LBq%N|WnW'eS2~K/!WI*3,2E2J 5Ie#%pոOɐIVp 5A{g eۆN>ONڷ$R@t?Ki\8wezK.%N=H\J@-p'9#v_דˉSkR)?Ki\8QOgﲾ-*Yy##v^m+E>t@<ϦOezddm=ztm+c&pxj;j?Kqo2s~$~ٳ;oŞKe(Hj*!DP:Wܳd(F)e$d ^@N>};DFݶV>"KQmkԊ%DT@m3WSm{MBW((C,Q&%e i 8X%KWe QO@./L@\E8e4I$n9qvD?n+w< n%̸@[eҾfIABf5,dn8i2;j./lb,pոi IVZ"Q1 ų_myYf2yt2]ˉVK/!"q*G }[[7Xm8O~81m>yYf2~K/ O%n9=ŴSmz9DÌSm{+َVYd8Oųf;)M8uӷIG:=1{ܧyzuŻͧQ'rWL[<Շѧ-*^Ie=L-%n8M?$;jL@!I1%@͝x"QbYy ,VYe0ϦO>?qlل?!^) QO''~>Cͫrqzg2{4e}2y#v_3?qlل?!\S[ix\E8e74^xN-W9qvx\E8HݟMq~Cͫry-@ݐKq1^,[>[g7g˙qN/&yAb[di3EֿdAcUJ'O< D1 O)'d]ڷ{+tr~?%ƫx"WJ%e$dedR{$p{f Pd'VRC'm[)j LBOjdd=?֤S.%H ~ҸqYy/eĩǵˉRd(_y,/A좟:Fˋ e|[U'GFW2yt2][ˋ=?K^A^18 5z dn%pm8n9L?qlَq~mP@"j􊆩"@ Q}6Bmݡ QD^Ba'ӴOhHݑ<!I:IV-ڑDvJy-wnЄPPYMFK/!b Zp K/!"@)Hӷ\^$;yˈ  Hݞr)ł Meng ?L|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶:EL5Db!fޝ~<.eī%L#ۆN>-ʬ~[6_'r_<~?%' qLq|b|v[;P@'(q+َVYd8Oųf;)4p3~OLq}ǚL^?lL[};DFݶV HJkqiJ'dǒg~i n,!+d!j(QEd؃4ց,BaH?)HNqz`ӷq`m0h7gq`"HMeng ?L|̒2Ej2Yye22qn)td=vո\=3Mh^(2Yyvᓏp)tA!쓶:EL5Db!f_+,ߦO.KYq*e$S.%HvᓏqtFCͧܧ-+,ߦOe d-'6_'r_>n-r=?%{17Ӷp읧l~8?_q8u&{b߹N/I헿w'NO4Og>}2yO7[OUm ~Lg};žzd'VRC'm[?` r)0?5]$Y$Q* LBK/#~?%7̦-0+E>w~>)d^o'~ٵnAb./L_Oq9쯦O$n&|-0+q`m0o2yˈ f_=r)Š1 ."X n2yˈI2cN/~ٵnAb% s.&8Ӣ+ŞKgwӋlFs.)= LjIPd灒(?!\8N|WnW'eS2~K/!WI*3,2E2J 5Ie#%pոOɐIVp 5A{g eۆN>ONڷ$R@t?Ki\8wezK.%N=H\J@-p'9#v_דˉSkR)?Ki\8QOgﲾ-*Yy##v^m+E>t@<ϦOez4UH{$w0.ipd?!fwSqh ~GDECTQ tҾ!B6rAe$d ^@N>};DFݶV<CVN,ObոS'V1hjZڷ$B)j tlR(:NQ%^8H6Yl$,ЄPPYMFK/!b Zp K/!"@o|;{eH."X2L$Hݞr)ł v[YAvA.en8|S@ ܧ[_!Đ?[$-{~J%e$ded{y^lćNڷ i 8XK/ .2qnCy^l$=vչ"=+d!j(QFK/!ᓏqK!쓶Ak@!A }[K dnH(:a  [5n9 fdd^BE2T9D |Ƿ}2yt2]-[VW'mm[N> ~<[J ~ wb>'-[ɟ:m6d{L`ʼ:kɳn8 [J ~ wb>f/͜of/͜G ~^>YU_MLpչQ[W o($߫g ^x]5d }[@-?oep/4O'[O?'OLuy$߫g 2yW'WMY6~2{-'V?KiDn[\2xŴky3tt[n.q6d{L`o*&ߦOed܂m(-݋|+2xŴky3tt[ n-6d{L`5U_MLpչQ[W6ע~ ~҈طϲldig鎷 gG ~^>l ~҈طϲn8?L1m>x>L?1N-6d{LaW'WMY6~2{-'V?HڢI T@tbf< D1 ,d^G+,2r~w̜Oųj߫zqzg2{4e}2y#v_3?qlل?!\S[ix\E8e74^xN-W9qvx\E8HݟMq~Cͫry-@ݐKq1^,[>[g7g˙qN/&yAbq| Ổ,ُN9NR ܧLq~CΖlǧ{Ȝ'Orjݴp/'IW.el'1m>Bڷ~=[쯦Oyq|$,?5]$2tsJdl~I/jd,cߦOe 1%AeHUҾfIABf5,dn8i2;j./lb,pոi IVZM?'N6cN/2qnG2~Jn^}2=vո>t=n8s031lv[vD/4ODX mD gtg ܧ@WI*3,2E2J 5Ie#%pո<ىdnb Zp ^@]d<ـH{$rE-DW2~H8~v[N>ޟ{y^l$o)F([ɟe@dd[Oƭ:f9Wᓏr􊆩"@ Q}6Bmy QD^Ba'ӴOhHݑ<!I:IViDvJy-we/4!+d!j(QEd؃4ց,BaH?v(Ή  ."X2L$7gq`"H7mŞKd7d\L3,2J 5Ie#%pոOɐIVp 5A{g eۆN>ONڷ$R@vJ0?W-/7o'C%,d)ppո?źy#yU!fӋdS畖o'2\@ᓛN/߹N/[ON2P@'(qefJcol;N/?qlَq}o ~&qL'r_q9פ/O6Fhy^}1ndVFo\ˊq~3|T:~9d%DW2{̼ߒvKڽw=K(/7Yy LjIPq`(tPPYMFK/!,[N>.~LNڷ i 8XK/ .2qn.~H$=vչ"+O͘~S }[ÌU}Q[?%o< @'DW2yt2]YyˉSkR)?Ki\8,HݗTԊeĩW2}S}?쯋qsʼd^@Hݗ[JQO#ePgﲾ-*Yy##v^m+c&pxj;j?Kqo2s~$~ٳ;oA= *QT5D, N,!j(Q@,2Yy};Dv'v[D)"I* ܧDvJy-ww)qa _3$ QD^B+%./lb ^BE-_%$Ne$vˋ?\E8e4Iw<ϦOeze6\^_O~+\>?%?7e ~GDECTQ tf(3[efRudy78 ;%ye8-iˈ @'aIykT^: ^9%e$Pj%d%6l3g -T4i҃4ֈPNOM4ZW((F Z!Am[ S5"2J [/AkD(kx[V)j_3$ k\e3MhoT2$S[ZREn(+VKeI1D@2J  B[di> v˴BFߌ  BQ.^)&.ɼPPpA`  @RE-Ir"H4֨չ k$97I6v6$}9./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.fixedlengthterminalfieldtype_mi.htmlm$$ Method Index for com.ibm.ivj.eab.record.terminal.FixedLengthTerminalFieldType

Constructor Index

FixedLengthTerminalFieldType()
FixedLengthTerminalFieldType(Class, boolean, String, String, int, int, int, byte)
FixedLengthTerminalFieldType(int, boolean, int, byte)

Method Index

canConvertFromBoolean()
canConvertFromByte()
canConvertFromChar()
canConvertFromDouble()
canConvertFromFloat()
canConvertFromInt()
canConvertFromLong()
canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToBoolean()
canConvertToByte()
canConvertToChar()
canConvertToDouble()
canConvertToFloat()
canConvertToInt()
canConvertToLong()
canConvertToObject()
canConvertToShort()
canConvertToString()
checkConstantValue(IRecord, int, Object)
getAlignmentHint()
getBoolean(IRecord, int)
getByte(IRecord, int)
getChar(IRecord, int)
getDouble(IRecord, int)
getDoubleByteEncoded()
getFalseString()
getFloat(IRecord, int)
getInt(IRecord, int)
getLong(IRecord, int)
getMantissaLength()
getObject(IRecord, int)
getPaddingByte()
getPaddingPolicy()
getPreferredType()
getShort(IRecord, int)
getSize()
getString(IRecord, int)
getTrueString()
setBoolean(IRecord, int, boolean)
setByte(IRecord, int, byte)
setChar(IRecord, int, char)
setDouble(IRecord, int, double)
setDoubleByteEncoded(boolean)
setFalseString(String)
setFloat(IRecord, int, float)
setInitialValue(IRecord, int, Object)
setInt(IRecord, int, int)
setLong(IRecord, int, long)
setMantissaLength(int)
setObject(IRecord, int, Object)
setPaddingByte(byte)
setPaddingPolicy(int)
setPreferredType(Class)
setShort(IRecord, int, short)
setSize(int)
setString(IRecord, int, String)
setTrueString(String)
fromBoolean(IRecord, int, boolean, int, int, byte, boolean, String, String)
fromByte(IRecord, int, byte, int, int, byte, boolean)
fromChar(IRecord, int, char, int, int, byte, boolean)
fromDouble(IRecord, int, double, int, int, byte, boolean, int)
fromFloat(IRecord, int, float, int, int, byte, boolean, int)
fromInitialValue(IRecord, int, Object, int, int, byte, boolean, String, String, int)
fromInt(IRecord, int, int, int, int, byte, boolean)
fromLong(IRecord, int, long, int, int, byte, boolean)
fromObject(IRecord, int, Object, int, int, byte, boolean, String, String, int, Class)
fromShort(IRecord, int, short, int, int, byte, boolean)
fromString(IRecord, int, String, int, int, byte, boolean)
testConstantValue(IRecord, int, Object, int, int, byte, boolean, String, String, int)
toBoolean(IRecord, int, int, int, byte, boolean, String, String)
toByte(IRecord, int, int, int, byte, boolean)
toChar(IRecord, int, int, int, byte, boolean)
toDouble(IRecord, int, int, int, byte, boolean, int)
toFloat(IRecord, int, int, int, byte, boolean, int)
toInt(IRecord, int, int, int, byte, boolean)
toLong(IRecord, int, int, int, byte, boolean)
toObject(IRecord, int, int, int, byte, boolean, String, String, int, Class)
toShort(IRecord, int, int, int, byte, boolean)
toString(IRecord, int, int, int, byte, boolean)
int,  k$Z7I6v6$@u|Z./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.fixedlengthterminalrecordtype.htmllm$$ com.ibm.ivj.eab.record.terminal.FixedLengthTerminalRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.fixedlengthterminalrecordtype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.FixedLengthTerminalRecordType (no frames)</a></b></p> </body>  d k$7 I6v6$}./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.fixedlengthterminalrecordtype_dsc.html$$ Class com.ibm.ivj.eab.record.terminal.FixedLengthTerminalRecordType

Class com.ibm.ivj.eab.record.terminal.FixedLengthTerminalRecordType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.AnyComposedType
                   |
                   +----com.ibm.record.AnyDynamicRecordType
                           |
                           +----com.ibm.record.AnyFixedLengthRecordType
                                   |
                                   +----com.ibm.record.FixedLengthRecordType
                                           |
                                           +----com.ibm.ivj.eab.record.terminal.FixedLengthTerminalRecordType

public class FixedLengthTerminalRecordType
extends FixedLengthRecordType
implements ITerminalRecordType

This class describes a 3270 fixed length record type.

The columns property is used to compute column and row information. See the ITerminalRecordType interface description for details.


Constructor Index

FixedLengthTerminalRecordType()
This default constructor creates an instance of a fixed length terminal record type.
FixedLengthTerminalRecordType(int)
This constructor creates an instance of a fixed length terminal record type.

Method Index

getColumns()
This method returns the record type's number of columns.
getRecordAttributesClass()
This method returns the class which implements the record attributes for the record type.
getRows()
This method returns the record type's number of rows.
setColumns(int)
This method sets the record type's number of columns.

Constructors

FixedLengthTerminalRecordType
 public FixedLengthTerminalRecordType()
This default constructor creates an instance of a fixed length terminal record type. The defaults set for the properties are:
  • columns = 80

FixedLengthTerminalRecordType
 public FixedLengthTerminalRecordType(int columns)
This constructor creates an instance of a fixed length terminal record type. It takes values for all the properties of public interest of this class.

Parameters:
columns - The value for the columns property.

Methods

getColumns
 public int getColumns()
This method returns the record type's number of columns. See the ITerminalRecordType interface description for details about this property.

Returns:
The record type's number of columns.
getRecordAttributesClass
 public Class getRecordAttributesClass()
This method returns the class which implements the record attributes for the record type. For all terminal types, this is the class TerminalRecordAttributes.

Returns:
The class TerminalRecordAttributes.
Overrides:
getRecordAttributesClass in class FixedLengthRecordType
getRows
 public int getRows()
This method returns the record type's number of rows. See the ITerminalRecordType interface description for details about this read only property.

Returns:
The record type's number of rows.
setColumns
 public void setColumns(int columns)
This method sets the record type's number of columns. See the ITerminalRecordType interface description for details about this property.

Parameters:
columns - The record type's number of columns.

Method Index for com.ibm.ivj.eab.record.terminal.FixedLengthTerminalRecordType

Constructor Index

FixedLengthTerminalRecordType()
FixedLengthTerminalRecordType(int)

Method Index

getColumns()
getRecordAttributesClass()
getRows()
setColumns(int)
is the kBl$77I6v6$@y|7./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.idelimitedterminaltype.htmle_m$$ com.ibm.ivj.eab.record.terminal.IDelimitedTerminalType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.idelimitedterminaltype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.IDelimitedTerminalType (no frames)</a></b></p> </body> b k$ 7I6v6$} ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.idelimitedterminaltype_dsc.html.html$$ Interface com.ibm.ivj.eab.record.terminal.IDelimitedTerminalType

Interface com.ibm.ivj.eab.record.terminal.IDelimitedTerminalType

public interface IDelimitedTerminalType
extends ITerminalType

This interface defines the base behavior of all terminal types that are delimited. The delimiting is achieved by specifying a delimiter byte. The occurence of the delimiter byte in a byte array will mark the end of a given field. The delimiter byte will not show up in the actual field content but will be added again when the field content is written back to the record's byte array.


Method Index

getDelimiterByte()
This method returns the byte that marks the end of the terminal type's representation in a record's byte array.
setDelimiterByte(byte)
This method sets the byte that marks the end of the terminal type's representation in a record's byte array.

Methods

getDelimiterByte
 public abstract byte getDelimiterByte()
This method returns the byte that marks the end of the terminal type's representation in a record's byte array.

Returns:
The byte that marks the end of the terminal type's representation in a record's byte array.
setDelimiterByte
 public abstract void setDelimiterByte(byte delimiterByte)
This method sets the byte that marks the end of the terminal type's representation in a record's byte array.

Parameters:
delimiterByte - The byte that marks the end of the terminal type's representation in a record's byte array.

rdt k$7I6v6$`y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.idelimitedterminaltype_mi.html$$ Method Index for com.ibm.ivj.eab.record.terminal.IDelimitedTerminalType

Method Index

getDelimiterByte()
setDelimiterByte(byte)
Classe kf$(7I6v6$@}(./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.ipaddedterminaltype.html.html$$ com.ibm.ivj.eab.record.terminal.IPaddedTerminalType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.ipaddedterminaltype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.IPaddedTerminalType (no frames)</a></b></p> </body>  kZ$17I6v6$}1./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.ipaddedterminaltype_dsc.htmll$$ Interface com.ibm.ivj.eab.record.terminal.IPaddedTerminalType

Interface com.ibm.ivj.eab.record.terminal.IPaddedTerminalType

public interface IPaddedTerminalType
extends ITerminalType

This interface defines the base behavior of all terminal types that use padding. Padding consists of two basic steps:

  • Filling in pads when setting the field's value.
  • Removing the pads when returning the field's value.
The interface abstracts information neccessary to perform the padding and de-padding. This information consists of three parts. The paddingByte defines the byte to be added/removed from the record bytes. The paddingPolicy defines where the padding bytes are located. The size defines how long the field types byte representation (includings pads) is.


Variable Index

CENTERING_PADS
Padding bytes are located to the right and the left of the fields value.
LEADING_PADS
Padding bytes are located to the left of the fields value.
NO_PADS
No padding bytes are filled in.
TRAILING_PADS
Padding bytes are located to the right of the fields value.

Method Index

getPaddingByte()
This method gets the byte that the field is padded with when setting its value, and that is removed from it when getting its value.
getPaddingPolicy()
This method returns the policy to be used for padding.
getSize()
This method gets the size of the type in bytes.
setPaddingByte(byte)
This method sets the byte that the field is padded with when setting its value, and that is removed from it when getting its value.
setPaddingPolicy(int)
This method sets the policy to be used for padding.
setSize(int)
This method sets the size of the type.

Variables

NO_PADS
 public static final int NO_PADS
No padding bytes are filled in. This means that the existing content of a field may still be present partially after setting a new field value.

TRAILING_PADS
 public static final int TRAILING_PADS
Padding bytes are located to the right of the fields value.

LEADING_PADS
 public static final int LEADING_PADS
Padding bytes are located to the left of the fields value.

CENTERING_PADS
 public static final int CENTERING_PADS
Padding bytes are located to the right and the left of the fields value.


Methods

getPaddingByte
 public abstract byte getPaddingByte()
This method gets the byte that the field is padded with when setting its value, and that is removed from it when getting its value.

Returns:
The padding byte.
getPaddingPolicy
 public abstract int getPaddingPolicy()
This method returns the policy to be used for padding. For explanations on the meaning of the value, see the comment on the final static variables of this class.

Returns:
The padding policy to be used for padding.
getSize
 public abstract int getSize()
This method gets the size of the type in bytes. Padding requires the type to have a fixed editable length.

Returns:
The size of the type in bytes.
setPaddingByte
 public abstract void setPaddingByte(byte paddingByte)
This method sets the byte that the field is padded with when setting its value, and that is removed from it when getting its value.

Parameters:
paddingByte - The padding byte.
setPaddingPolicy
 public abstract void setPaddingPolicy(int paddingPolicy)
This method sets the policy to be used for padding. Every value will be accepted, but only those defined as static values in this interface will be guaranteed to have a consistent behavior.

Parameters:
paddingPolicy - The padding policy.
setSize
 public abstract void setSize(int size)
This method sets the size of the type. Padding requires the type to have a fixed editable length.

Parameters:
size - The size of the type in bytes.

a href= k[$37I6v6$@}3./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.ipaddedterminaltype_mi.htmll$$ Method Index for com.ibm.ivj.eab.record.terminal.IPaddedTerminalType

Method Index

getPaddingByte()
getPaddingPolicy()
getSize()
setPaddingByte(byte)
setPaddingPolicy(int)
setSize(int)

Variable Index

CENTERING_PADS
LEADING_PADS
NO_PADS
TRAILING_PADS
Re k$-7I6v6$@}-./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminalelementtype.htmlll$$ com.ibm.ivj.eab.record.terminal.ITerminalElementType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.iterminalelementtype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.ITerminalElementType (no frames)</a></b></p> </body> tml kw$C7I6v6$}C./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminalelementtype_dsc.html$$ Interface com.ibm.ivj.eab.record.terminal.ITerminalElementType

Interface com.ibm.ivj.eab.record.terminal.ITerminalElementType

public interface ITerminalElementType
extends ITerminalType

This interface defines the base behavior of all terminal element types (or non-composed types in a record). It abstracts their behavior by defining that every terminal element type must implement the behavior necessary to compute preferred type information.

The preferred type information is used to determine what the type's Object conversion methods will consume/return.

Element types allow you to specify any class as the preferred type, but the Object conversion methods will throw a com.ibm.record.RecordConversionUnsupportedException if the class is not one of the following list:

  • java.lang.Boolean
  • java.lang.Character
  • java.lang.Byte
  • java.lang.Short
  • java.lang.Integer
  • java.lang.Long
  • java.lang.Float
  • java.lang.Double
  • java.lang.String


Method Index

getPreferredType()
This method returns the terminal element type's preferred type.
setPreferredType(Class)
This method sets the terminal element type's preferred type.

Methods

getPreferredType
 public abstract Class getPreferredType()
This method returns the terminal element type's preferred type. See the interface description for details about this property. The default value for this property is String.class, unless String conversion is not supported by the type.

Returns:
The terminal element type's preferred type.
setPreferredType
 public abstract void setPreferredType(Class preferredType)
This method sets the terminal element type's preferred type. See the interface description for details about this property.

Parameters:
preferredType - The new preferred type.

 k$7I6v6$`y./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminalelementtype_mi.html$$ Method Index for com.ibm.ivj.eab.record.terminal.ITerminalElementType

Method Index

getPreferredType()
setPreferredType(Class)
a k޻$#7I6v6$@z#./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminalfieldtype.htmlhtml$$ com.ibm.ivj.eab.record.terminal.ITerminalFieldType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.iterminalfieldtype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.ITerminalFieldType (no frames)</a></b></p> </body> ersio k6g$ 7I6v6$} ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminalfieldtype_dsc.html$$ Interface com.ibm.ivj.eab.record.terminal.ITerminalFieldType

Interface com.ibm.ivj.eab.record.terminal.ITerminalFieldType

public interface ITerminalFieldType
extends ITerminalElementType

This interface defines the base behavior of all terminal record fields. It abstracts their behavior by defining the properties that all terminal fields share:

  • doubleByteEncoded determines if the content of the field is to be encoded using two bytes per character (true) or only a single byte (false). The default for this property is to use single byte encoding.
  • mantissaLength is the number of digits after the dot to be used in floating point conversions. Any value is allowed, but negative values will force a com.ibm.record.RecordConversionFailureException when accessing the field in a floating point manner.
  • trueString is the String value that the field compares against when being accessed in a boolean manner. If in that case the actual field value equals the trueString, true is returned. null may be specified as trueString, but will force a com.ibm.record.RecordConversionFailureException when accessing the field in a boolean manner.
  • falseString is the String value that the field compares against when being accessed in a boolean manner. If in that case the actual field value equals the falseString, false is returned. null may be specified as falseString, but will force a com.ibm.record.RecordConversionFailureException when accessing the field in a boolean manner.


Method Index

getDoubleByteEncoded()
This method returns true if the terminal field type uses double byte encoding, false if it uses single byte encoding.
getFalseString()
This method returns the terminal field type's false string.
getMantissaLength()
This method returns the terminal field type's mantissa length.
getTrueString()
This method returns the terminal field type's true string.
setDoubleByteEncoded(boolean)
This method sets the terminal field type's encoding scheme.
setFalseString(String)
This method sets the terminal field type's false string.
setMantissaLength(int)
This method sets the terminal field type's mantissa length.
setTrueString(String)
This method sets the terminal field type's true string.

Methods

getDoubleByteEncoded
 public abstract boolean getDoubleByteEncoded()
This method returns true if the terminal field type uses double byte encoding, false if it uses single byte encoding. The default value for this property is false.

Returns:
true if the terminal field type uses double byte encoding, false if it uses single byte encoding.
getFalseString
 public abstract String getFalseString()
This method returns the terminal field type's false string. See the interface description for details about this property. The default value for this property is "".

Returns:
The terminal field type's false string.
getMantissaLength
 public abstract int getMantissaLength()
This method returns the terminal field type's mantissa length. See the interface description for details about this property. The default value for this property is 2.

Returns:
The terminal field type's mantissa length.
getTrueString
 public abstract String getTrueString()
This method returns the terminal field type's true string. See the interface description for details about this property. The default value for this property is "".

Returns:
The terminal field type's true string.
setDoubleByteEncoded
 public abstract void setDoubleByteEncoded(boolean doubleByteEncoded)
This method sets the terminal field type's encoding scheme. Set to true if the receiver uses double byte encoding, false if it uses single byte encoding.

Parameters:
doubleByteEncoded - The new encoding scheme.
setFalseString
 public abstract void setFalseString(String falseString)
This method sets the terminal field type's false string. See the interface description for details about this property.

Parameters:
falseString - The new false string.
setMantissaLength
 public abstract void setMantissaLength(int mantissaLength)
This method sets the terminal field type's mantissa length. See the interface description for details about this property.

Parameters:
mantissaLength - The new mantissa length.
setTrueString
 public abstract void setTrueString(String trueString)
This method sets the terminal field type's true string. See the interface description for details about this property.

Parameters:
trueString - The new true string.

Method Index for com.ibm.ivj.eab.record.terminal.ITerminalFieldType

Method Index

getDoubleByteEncoded()
getFalseString()
getMantissaLength()
getTrueString()
setDoubleByteEncoded(boolean)
setFalseString(String)
setMantissaLength(int)
setTrueString(String)
sa  k$(7I6v6$@}(./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminalrecordtype.htmll$$ com.ibm.ivj.eab.record.terminal.ITerminalRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.iterminalrecordtype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.ITerminalRecordType (no frames)</a></b></p> </body>  k$#7I6v6$}#./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminalrecordtype_dsc.html$$ Interface com.ibm.ivj.eab.record.terminal.ITerminalRecordType

Interface com.ibm.ivj.eab.record.terminal.ITerminalRecordType

public interface ITerminalRecordType
extends ITerminalType, IAnyDynamicRecordType

This interface defines the base behavior of all terminal record types (or record "descriptors"). It abstracts their behavior by defining that every terminal record type must implement the behavior neccessary to compute column and row information.


Method Index

getColumns()
This method returns the number of columns the terminal record type models.
getRows()
This method returns the number of rows the terminal record type models.
setColumns(int)
This method sets the number of columns the terminal record type models, and will modify both the number of columns and rows based on the record's size.

Methods

getColumns
 public abstract int getColumns()
This method returns the number of columns the terminal record type models.

Returns:
The number of columns the terminal record type models.
getRows
 public abstract int getRows()
This method returns the number of rows the terminal record type models. If the last row is only partially filled, it will be counted as a complete row.

Returns:
The number of rows the terminal record type models.
setColumns
 public abstract void setColumns(int columns)
This method sets the number of columns the terminal record type models, and will modify both the number of columns and rows based on the record's size.

Parameters:
columns - The number of columns the terminal record type models.

">  k7$7I6v6$`>|./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminalrecordtype_mi.html$$ Method Index for com.ibm.ivj.eab.record.terminal.ITerminalRecordType

Method Index

getColumns()
getRows()
setColumns(int)
d>< k$ 7I6v6$@} ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminaltype.html_mi.$$ com.ibm.ivj.eab.record.terminal.ITerminalType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.iterminaltype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.ITerminalType (no frames)</a></b></p> </body> l.iter kꎸ$(7I6v6$@~(./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminaltype_dsc.html$$ Interface com.ibm.ivj.eab.record.terminal.ITerminalType

Interface com.ibm.ivj.eab.record.terminal.ITerminalType

public interface ITerminalType
extends IAnyType

This interface describes the behavior of any terminal type. It is therefore implemented by every terminal type and can be used to check if a given type is one of the terminal family or not. Up to now, it does not define any common methods.


 kl$7,5v6$ps./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.iterminaltype_mi.html$$ Method Index for com.ibm.ivj.eab.record.terminal.ITerminalType p_">< k$A7 I6v6$@~A./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.terminalrecordattributes.html$$ com.ibm.ivj.eab.record.terminal.TerminalRecordAttributes <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.terminalrecordattributes_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.TerminalRecordAttributes (no frames)</a></b></p> </body>   k4]$ 7 I6v6$~ ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.terminalrecordattributes_dsc.htmltml$$ Class com.ibm.ivj.eab.record.terminal.TerminalRecordAttributes

Class com.ibm.ivj.eab.record.terminal.TerminalRecordAttributes

java.lang.Object
   |
   +----com.ibm.ivj.eab.record.terminal.TerminalRecordAttributes

public class TerminalRecordAttributes
extends Object
implements IRecordAttributes

Although terminal records do not have special attributes, they have to provide this record attributes class that implements the com.ibm.record.IRecordAttributes interface.


Constructor Index

TerminalRecordAttributes()

Method Index

clone()
Creates a new object of the same class as this object.

Constructors

TerminalRecordAttributes
 public TerminalRecordAttributes()

Methods

clone
 public Object clone()
Creates a new object of the same class as this object. It then initializes each of the new object's fields by assigning it the same value as the corresponding field in this object. No constructor is called.

Returns:
A new object initialized to the same state as this object.
Overrides:
clone in class Object

The n knu$7 I6v6$`}|./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.terminalrecordattributes_mi.htmltml$$ Method Index for com.ibm.ivj.eab.record.terminal.TerminalRecordAttributes

Constructor Index

TerminalRecordAttributes()

Method Index

clone()
ef="a k%$d7 I6v6$@}d./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.variablelengthterminalfieldtype.html$$ com.ibm.ivj.eab.record.terminal.VariableLengthTerminalFieldType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.variablelengthterminalfieldtype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.VariableLengthTerminalFieldType (no frames)</a></b></p> </body>  l$ 7 I6v6$~&./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.variablelengthterminalfieldtype_dsc.html$$   deort.<>abcilns /fhmpuvy"_g#(),=CIRST&-:;BEFjqwx 'ALO[]DPVk0HMNU1234Wz+5789|!?GYH t+k b V2 yTqV2Jʇ%֯e`q mCC5Е0$LP4$6 e mCC􂴷;J^F1Ѱ0PaH u Oa6p%SE@808( e2uP~=ZえMmanހ r|e2HkC ʇ,?[mB`X, $ (@ Q*de`[f 7eu',켚 O|L[]a@ '2 Q*oN⓲ĵJֆ `VQ![e-8[F-9x+k t]ODO2$p$P$̥2W$0JB@2@(9hz-e7ELZ[f bZ @e7RB8_+(-J(TŨ+Kx@ Sl9)e$q VQ![e-Mr}@^B-AZ[m(Je-MU Pe$q e-8[F--/J-[nȉP$28+8ɗqL깆ok@xTB5 x-U7t-[O2q&jqLPp|'N̮òڌj{ēYPY7IPt}.~5^:sc7oî,v\97kVq^v R,4&j7KܮjuzOrɼZ>#+ī  Uy9ey5s8/r~5^:scápNYaMչn]a~5^:sc`j(FAo"'I!j z˷7a|Cq ?h(qLʿ)GpnRGWײz._k t亟?O28"^IX:֕sá4dPd8ɝP -ahqR،J6AoA-[X[|PPV4X& SWہ՚ ,v\B8ߦe_Aނv\oA"뇉yЗ5z3ҾVQ![e-8[F-9x+k t]O<1j 6uf%M\nVh/,II!j o2oA ?h 6p:.xa sW q: +e%ZえMmanރ[O ҶAo%̡S- \nVh/,җ!BT6uf )x3* 6җPiہՑu Kui_+(- E-mk tr}@^ y.Ξe iojp:Aye;5*jp:Aye;57WPiXMv&eB\dΨJYD m08b)lFSo%X[-[u>t(TŨ+KxCWہ՚ ,^ SWہ՚ ,^$(qLʿM^Aނ;nVEL2{.j2gT|CCZp1#)-[rczV-亟:y*b!m 4Xt5$-A!CfUm!(4GmȺi^ot%^L4H`hs C"e6Q z^9l}>/JSO2LZ5p Yk*jp:Ayei!j o2oA Mv&eB\dΨJYD m08b)lFSo%X[-[u>t(TŨ+KxCWہ՚ ,`2!BT6uf HZB̫(4@e7@oA"뇉yЗ5z3ҾVQ![e-8[F-9x+k t]O<1j 6uf*BBm U椅$(qLʿMDMv&eB\dΨJYD m08b)lFSo%X[-[u>t(TŨ+KxCWہ՚ ,Cq%M\nVh/, @ZHZB̫(4@, 6p:.xa sW q: +e%ZえMmanރ[O ҶAo%̡S- \nVhnKHP5p Y6 }. !j o2oA }.PiہՑu Kui_+(- E-mk tr}@^ y.Ξe iojp:Dl~HP5p Y6 ?i$-A!CfUm!Aނ;nVEL2{.j2gT|CCZp1#)-[rczV-亟:y*b!mҗ!BT6ufiKĐ7WPiMv&eB\dΨJYD m08b)lFSo%X[-[u>t(TŨ+KxCWہ՚#`c$(JvkI!j o2oAfzY\PmanKB-AZ[ HP5p Y6MԐ7WPinAނ;nVEL2{.j2gT|CCZp1#)-[rczV-亟:y*b!m4$(J*RB8ߦe_Aނ"UAނ;nVEL2{.j2gT|CCZp1#)-[rczV-亟:y*b!m @XHP5p Y6! I PHP~~ztAނ;nVEL2{.j2gT|CCZp1#)-[rczV-亟:y*b!S@6\4Kl9)m!|MС*iT GW ym!|`2CfUN.ҩ ~]e7{pպ#WaQ޿)%>&5UxMq.M2gT|CCZp1#)-[rczV-亟:y*b 7o%Zє@p}6B.K_ep Ŝ=p @X_,뀴n:„7o$-A! }.}o/n:,(qLʿ7!Wa]y?]pOҫqҙv\CniHdΨJYD m08b)lFSo%X[-[u>t(TŨ+KxA9eO m0e6PM.KPX$o$/˷8ߦe_֛ҫşʍCW{'UŸKniL?i$6攁L4H`hs C"e6Q z^9l}>/JSO2LZXiKhs FSo% )xv\J^$$8>y!}/.KP~~ZnB?J3*5 ^쟥W-4Hm)i_+(- E-mk tr}@^ y.Ξe io',f-ahm8>y!~l>.K_t4(J,٬}$$8>y!~l>.K_t4(qLʿ7!Wa]y?]pOҫqҦc$6攁L4H`hs C"e6Q z^9l}>/JSO2LZX- m0e6PMKzv\BTNY`$-A! ס}o/8ߦe_֛ҫşʍCW{'UŸKniDש!42gT|CCZp1#)-[rczV-亟:y*b àrVh%Zє@p}6B1g-\`2}o/rZ7a|!  Q9eAHZC鷒v)v\,/n:CfUlzkrmwCoUŸKniYMۚR3ҾVQ![e-8[F-9x+k t]O<1j NYaЖhs FSo% ]*',jHZC鷒 }.CfU}i*Y(̨5z뇲~\[tjHm)i_+(- E-mk tr}@^ y.Ξe io',,%Zє@p}6B.KPX pm]3*>܄~]u,fTju?J-T:[sJ}ZHm)i_+(- E-mk tr}@^ y.Ξe io',nCZ2y(H_,뀴St/bZ @,/rZ7a}о YCh z*',n$8>y!|`2}o/n:,/^(qLʿ7!Wa]y?]pOҫqҀv)sJ@&u@W$0Kl9Kb2y(/>PmanKB-AZ[ ,@ m0e6PM4/ Q9ey!j H_Wv\̫rUvטQQjd*Pm*%^jHm)i_+(- E-mk tr}@^ y.Ξe io', @XKl9)mbZ @,/ Q9en:BM! }.CfU}i*Y(̨5z뇲~\[t! I q: +e%ZえMmanރ[O ҶAo%̡S-@W\ h u+.4Ά$(qLʿ)֕sU u :ɼS)i_+(- E-mk tr}@^ y.Ξe ioZ }.-J鷒~ PMpI PHp}6B3* 6˷zkj1@&u@W$0Kl9Kb2y(/>PmanKB-AZ[ւO m0e6PM$(JւOI PHp}6B3* 6oAmmF7dΨJYD m08b)lFSo%X[-[u>t(TŨ+Kx@җ-J鷒~ Pҗ!j H_a@@8ߦe_AނR 6cxL4H`hs C"e6Q z^9l}>/JSO2LZ t%B@=Żk'$$(qLʿ)֕s܄~\SP 4?ii_+(- E-mk tr}@^ y.Ξe ioZ>[e-Mo$/ uc$-A! ?hB̫(4D٬}Aނ:ڌo8ɝP -ahqR،J6AoA-[X[|PPVuc~* uc~* I PHP~~"S˭*i數m$һUr]OC͍G͚a^ۗ@X#4VHm+nlj>.a^ۗ@Z3ҾVQ![e-8[F-9x+k t]O<1j .Ƅ7a!BT.Ƅ7i!j o2Jtyu\7!W%yGƼwhdΨJYD m08b)lFSo%X[-[u>t(TŨ+Kx@[z-ahm8>y!}HP ש!j H_a@@8ߦe_Aނ }@oAmmF7dΨJYD m08b)lFSo%X[-[u>t(TŨ+Kx@hKl9)m!BT.:m!CfUm!(4G[[Q3ҾVQ![e-8[F-9x+k t]O<1j . m0e6PM$(Jրi!j H_a@@8ߦe_Aނpzkj1@&u@W$0Kl9Kb2y(/>PmanKB-AZ[րpF+*Zu] ҒB8ߦe_JZnB?JK(-pF+ Ґ8ɝP -ahqR،J6AoA-[X[|PPVu; m0e6PM$(JրSu$-A! ?hB̫(4@e7@oAmmF7dΨJYD m08b)lFSo%X[-[u>t(TŨ+Kx@ MfTe P MfTe$$(qLʿ)֕s܄~\SP fQ5S)i_+(- E-mk tr}@^ y.Ξe ioZ U愶CZ2y(H_a@@%BD Ԑo$/ o2oA*@oAmmF7dΨJYD m08b)lFSo%X[-[u>t(TŨ+Kx@A!BT.AHZB̫]iW?+MGUu>~e һ~P8ɝP -ahqR،J6AoA-[X[|PPVuhs FSo% ?hB]h-$-A! ?hB̫(4@, 6cxL4H`hs C"e6Q z^9l}>/JSO2LZ hCq%BDpt$(qLʿ)֕s܄~\SP mx:8ɝP -ahqR،J6AoA-[X[|PPVXhs FSo% ?hBŴV.'E$-A! ?hB̫]iW={iU+W̠=GsJ|iʞMҫWt>_)L4H`hs C"e6Q z^9l}>/JSO2LZen:IQ m0e6PM$/%Y[~RBM$/8ߦe_JZnB=pY?j<SW3*5 Ҩqe?j=U|J3ҾVQ![e-8[F-9x+k t]O<1j Mp m0e6PM˷%Qݾo$/7WPi](4G[[Q3ҾVQ![e-8[F-9x+k t]O<1j IA-J鷒~PF~HZC鷒~P~~za@Pi2gT|CCZp1#)-[rczV-亟:y*b"5/[e-Mo$/PF4HZC鷒R(qLʿM4m#i_+(- E-mk tr}@^ y.Ξe iohm`$%Qt8ߦe_Jҫ|<#ݵ q: +e%ZえMmanރ[O ҶAo%̡S-vkA-J鷒c(JZ>BM6kACfUm"l>oAmmF7dΨJYD m08b)lFSo%X[-[u>t(TŨ+KxDk@$TsR˷%Qvk@PmJHZYv\̫]iW>5Ur]O@$}A.E3ҾVQ![e-8[F-9x+k t]O<1j ZtrZ7aBUZt$Cq8ߦe_Jҫ|<#[^;2gT|CCZp1#)-[rczV-亟:y*b"5%Zє@p}6B/PF^$8>y!|(qLʿM^Aނ:ڌo8ɝP -ahqR،J6AoA-[X[|PPVևAKl9)mbZ @e7B5voymn7W%:<Ү|kc9o6Mm*e7^Mq.I1ҫkuOmq: +e%ZえMmanރ[O ҶAo%̡S-CZ2y(H_t4(JZ I PHp}6BCfUm!(4G[[Q3ҾVQ![e-8[F-9x+k t]O<1j ,%Zє@p}6B„55ZHZC鷒p8ߦe_Aނpzkj1@&u@W$0Kl9Kb2y(/>PmanKB-AZ[#Zu] ҂] րpF+8ߦe_Jҫ|<#\5ъ2gT|CCZp1#)-[rczV-亟:y*b"5; m0e6PM YCh PF`2!j H_ P~~z m#i_+(- E-mk tr}@^ y.Ξe ioh&*DO2A9hz-\b%QDeHRHZC^(qLʿ)֕s[W%yGMfT<@&u@W$0Kl9Kb2y(/>PmanKB-AZ[#Z U愶CZ2y(H_W%Q*RBM4(qLʿMDMu q: +e%ZえMmanރ[O ҶAo%̡S-tCZ2y(H_,뀴n:„5o$/n:‡̫(4@, 6cxL4H`hs C"e6Q z^9l}>/JSO2LZFG @XH1g-\Cq%QhCq @XP~~"S˭*ƶ?JK(6whdΨJYD m08b)lFSo%X[-[u>t(TŨ+KxFt6\4Kl9)m!|Mо˷9hz- YChtCBj:pVi$-A! ?hBe7B.K_t @X_t4(qLʿ7!ҷ ۚWq?J-T;nyyjW[tռqyWmq: +e%ZえMmanރ[O ҶAo%̡S-`-ahm8>y!}H_ep Ŝ=p @X_,뀴n:„lv\BM$/ @X_t7W~۱}.\[tzHm)i_+(- E-mk tr}@^ y.Ξe io-ahm8>y!}H_ep II!j H_a@@v\̫P?qm/UŸKniL?k1gҐ8ɝP -ahqR،J6AoA-[X[|PPVҗ-J鷒~]* )xm!}o(qLʿݏ_iKNYJ-T:[sJa]y=$6攁L4H`hs C"e6Q z^9l}>/JSO2LZm;5hs FSo% ?hB.K_t4(JHZC鷒~]hP~~ -6k\\[tzHm)i_+(- E-mk tr}@^ y.Ξe ioס-J鷒~]hPmkԐo$/ }.}С3*[v=|_ҫqҘ~^bI q: +e%ZえMmanރ[O ҶAo%̡S-aЖhs FSo% ?hB.KPmCRBM$/7W~۱t7_ҫqҘ~^bI q: +e%ZえMmanރ[O ҶAo%̡S-`5XKl9)m!}o(Jko$/ }.CfU(z9e*Pm)u,ۚR3ҾVQ![e-8[F-9x+k t]O<1j MЖhs FSo% ?hB.K_,뀴n:1g-\Cq Ŝ=p׮1 n$8>y!}H_ep ! ׮1 o2@ŷcMNYJ-T:[sJa]y=$6攁L4H`hs C"e6Q z^9l}>/JSO2LZmy-J鷒~]**RBM$/7W~۱*y9e*Pm)u,ۚR3ҾVQ![e-8[F-9x+k t]O<1j ! m0e6PM$/ V؆-$-A! ?hB.KP~~ -! uC4טCniHd/P%~ .[2J$8߆#kv# C, W[@5@^#X[O̡*I P%~ .U P-SD($(JB8b*c ҄k t["yIJna{*c ҄k t["y8 ̥2eo2"SYۄw nv/j=pupm{'r ҇anu>~e#^ho&U2]Q7IPtOqnI\34@$68/r٬}OA5<34VHm(q^s2ʑ̮ۚP- zۚPtІ/tzM$҇W%on:gKni@Pi(4BHm(q^r tb/J- sJn z&(qDC, W[@5@^#X[O̠bZ @k] YChtbZ @,/~P$qU P-SD)$1C28X7U P-SD($5yDeHPXyX njBCq @XXn:+|hCq8 tb/J oݵ$LCfUJt{n5y۔ú잾K=zWq.̤pj<ηU2]QO0=nmeG}GP81CfTz:(/]md@!oLʹDeHW}*yɼUs2ʑ̮fYxfUc~* oW9o67J6k@PmO3,\] ҹfViW{vOoW9o67J42OoDI"eC%de` r|e%I!jd@xTB5 x-?+MG4i$6攁Io28tA"I PfUۚVᴒsJoLXt@!oLʺW$0Kl9)<1j 6uf )x%M\nVh/,җ!jkH`hs FSo% y*b Vق'I!joDI"eC%de`4XX 2X4XXI P$̥70=}.m>B$LCfUoAfzY\܄@!oLʺ[sJ6CniCWKY$1CWJYD m0e6PB-AZ[^Y`c$(J^Y`c$-]z -ahmp?O2LZ 0P܄@!oLʺ[sJ6CniCWKY$1CWJYD m0e6PB-AZ[%M\nVhOI Wt;^ǥ|CCZ2y(\̡S-%@,܄@!oLʺ[sJ6CniCWKY$1CWJYD m0e6PB-AZ[ )x%M\nVhI Wt;^ǥ|CCZ2y(\̡S-%@,B$-C)mfIJna{v\;Wہ՚#`c$(qAJd8ߦe\ 66k@PiہՑu KuW|~VKni[Hm)8ߦeIq3bMD̫4i$68t@9՘騁C8tH`hs FSo% y*b!mf%M\nVh;5wCzW$0Kl9)<1j +lBT̤7"^2I2W0KWہ՚#`$(JB8bש!dǹoõp Y6 }BB$LCfUoAנPiہՑu KuW|~VKni[Hm)8ߦeIq3bMD̫4i$68t@9՘騁C8tH`hs FSo% y*b!m[z%M\nVhkԐwCzW$0Kl9)<1j +lBT̤7"^2I2W0KWہ՚#aА*I P%jp:Dl:IJna{v\;Wہ՚#aАIe(q/P~p(4CPiہՑu KuW|~VKni[Hm)8ߦeIq3bMD̫4i$68t@9՘騁C8tH`hs FSo% y*b!mhHP5p Y6 I Wt;^ǥ|CCZ2y(\̡S-%@,܄@!oLʺ[sJ6Cni]*nyynGt*GJm(4sJV@gU$1]+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ2V盕5ݩn:nVE7u],PY`CҾVQ![e-Me6[p:.aS@њ뀩PV[f m M0ͩFk !joLʸUvud]py=)yΫάMD̫|CCZ2y(\̡S- *o6[e-Mo$/ Ŝ=pn SJ(m:h[ͤwCzW$0Kl9)<1j +lBT̤7"^2I2W0I9enKKl9)m]˷9hz- YCht RHZ,Q9enKHb&e(qo\'X&|CCZ2y(vSo$TŨ+Kx@ Pp}6RBy!c.K9o6]6k@PmHX! І,,qtVІ,+Y`H`hs FSo%M7*5S-%A Y\ksFk !jdfR27W7!Wa]y?]pOҫqҙv\CniHnp:.wG»Mt7Jmn:%on:P@_}*P-_\'Uہ՚ S7}nz2LP~&^Ϋŗ[Y:Hb2oWmr+U[ͮڔ7e\oW9o6evڔ7e^l>'ۚڏq>l>狠-~ר6\Ԡq3*І/\Cqp:jy7| 5otiW%on:U Y<ξrmz+|iWKZnB t7e\D?k1g2PUqn:[ͤ7u],PY`CҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$q3*/%ny][Mڟ&/ud]pG*69G}8ˌ\\n7IPtiUJmx:%ox:ۚT {CniHn z/RHP$z+Yt$'CZ2y(H_aA}o(JB8b,~Hb&e(qo\'X$H`hs FSo%m䊘io`*JHZSo$,qy8epf ?hԅ2H3)Cz̫֛ҫşʍCW{'UŸKniL?i$6攁"t|+ہ՚ Usk}|Cq U@qnVk/U7}?k1gqLP$7ReoLXYu(q3*MU|O',*\mͩ@fU[ͮUskWmͩ@fUc~* nKcx]zn]}}͍J:(>܄@!oLʸU~^bFeF\=uCHoDI"eC%de`r )x-ahm8>y!}/.KP$qXiKĐ2LPs c^O',җ)_+(-J1j +lBTM|HX/9y8epf ?hԅ2H3)Cz̫֛ҫşʍCW{'UŸKniM)xsJ@pہՑuú>nmt*y ! *8ݷ5mט8&(qb̩27u],P^,ȁC8|O}*So'_Y_JrmwGufԠq3*-}*y+ufԠq3*f ?h7t%^{f<]oA.ƥWKZnB t7e\D?k1g2PUqn:[ͤ7"^2I2W0I9e;5hs FSo% fv\BTKNY`c$1C28X7Woa@@,٬}|CCZ2y(vSo$TŨ+Kx@ Pp}6RBy!cc뜷Acv\<٬}OA5!c `5@^tzW$0Kl9)KnVEV盕@њ뀩PV[f m52H3)Cz̫֛ҫşʍCW{'UŸKniSfsJ@pہՑuú>nmt*y ! *8ݷ5mט8&(qb̩27u],P^,ȁC8|O}*So'_Y_JrmwGufԠq3*-}*y+ufԠq3*f ?h7t%^{f<]oA.ƥW-pF+Ux[+=ݱ'k>^oP8tA"I PfUJ3*5 ^쟥W@gU$1]+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ2V盕5ݩn:nVEqo}}tw#̸}|8t7Kܮ"Uqn:^1_}@^ qԁ{^Ke`.(3]p֛p@_YJc}|Cq רqI$2HqAI,^CZ2y(H_% }.}С*I P%',[zIJna{7 }BRVQ![e-M;)*b Vق8>y)!jM%-XyX njBZᮌVTA_JG|CCZ2y(mud]p%nyTm io`*HmȺ [nP(3]pI P$28ɗqLʸ}i*Y(̨5z뇲~\[tKzsJ@pہՑuú>nmt*y ! *8ݷ5mט8&(qb̩27u],P^,ȁC8|O}*So'_Y_JrmwGufԠq3*-}*y+ufԠq3*f ?h7t%^{f<]oA.ƥW-pF+Ux[+=ݱ'k>^oP8tA"I PfUJ3*5 ^쟥W@gU$1]+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ2V盕5ݩn:nVEqo}}tw#̸}|8t7Kܮ"Uqn:^1_}@^ qԁ{^Ke`.(3]p֛p@_YJ}{7hn z/RHP$z+Yt$àrVh%Zє@p}6B1g-\`2}o/rZ7a|!  RHZ,Q9eAHb&e(qo\'Xt[*m|CCZ2y(vSo$TŨ+Kx@ Pp}6RBy!cnAXo͚$TsR8thCq8tVІ,,qo-pF+eҾVQ![e-Me6[p:.aS@њ뀩PV[f m M0ͩFk !j _+(-J2y-Y\ [nUFk-AZ[m(J鷒p:.盔 \B8 ̥2eo2![wA応]Uqn:ۚVSo%$6攎!T8:sy9eSwyY\#i^mJ&(qLʓ/PgUE˭$1CWm7ҫ6y9eqU-t{ J2;\UoWt[y+nCoUy(oLʼ٬}OA5< sW|٬}{@[Pmˠ/?o@fU @_}*/ufo:yj 2Jt7ҫn:nVmO&󯜷^J@fU\5ъj+^dplzϥW7e\ zUvq~\[siWKZnB t7e\D?k1g2PUqn:[ͤ7u],PY`CҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$q3*/%ny][Mڟ&/ud]pG*Rp})m79FT'>]"65(_J^ }.|J^7',IA| оNYaоNY`5X_',[z,٬}uGX/yn|P8tB%eI WJYD m0e6QmȺl"i^mMFk-AZ[m(J鷒p:.&4/6m$q3*%WQڞہՑuú>&eGR8{+Y`7q?J-T9y L2jy7"/RHP$z+Yt$á-J鷒 }.BTKNYaԐ2LPs c^O',hJW$0Kl9)e6ELZ 0Po%$-_)8 oo͚$TsR8 ̥2eo2ZnB?J3*5 ^쟥W-:sJ@pہՑuú>nmt*y ! *8ݷ5mט8&(qb̩27u],P^,ȁC8|O}*So'_Y_JrmwGufԠq3*-}*y+ufԠq3*f ?h7t%^{f<]oA.ƥWKZnB t7e\D?k1g2PUqn:[ͤ7"^2I2W0I9ea-J鷒pv\$-C(k2LPs c^O',,%+e%ZєCy"-AZ[m(J鷒 o/Ac]6k@PmHP$28ɗqLʸ}i*Y(̨5z뇲~\[tۚRpnVk/U[ͮm @_\'UYWtCoŞ1C8ߦeIq3b"eD̫6xUy<8Usk=6q3*-}*y+ufԠq3*f ?h7t%^{f<]oA.ƥWKZnB t7e\D?k1g2PUqn:[ͤ7"^2I2W0I9eSt%Zє@p}6B1g-\`2}o/rZ7a|! bZ @k RHZ,Q9eSu$1C28X7Woa@@,`2)_+(-J1j +lBTM|HXnh,q.K5I@6,q/BJt7t7kzPX׮1-k}+, -ahm)ہՑuD ښ\LZ 0Po$6ud]pL"i^mH(3]pI P_JYD m0e6QmȺJr3]p1j +lBTMہՑu<ܠP=fIe(q/P~prUvטQQjd*Pm(`2!47In \j}UŸ9o6½`@_mȺs8ݕ͍HqMzPpv5잾 }. UskWmͩ8ݗoBWo',Mpy[YY\8/rCqdҗnsh/U[ͮs]6XvG,4&jߥWmȺ{8:{'O-_ҫ\翲nVmO',?iBWo',I\5s7~]"Ppv5잾 Uh/U[ͮs]6Xxy^:sy9ey5s7~]"Ppv5잸pm -_ҫ\翲nVmO',Ux y[YY\8/rCqd/AJrmpsY<-BWo',/yn|zfҫud]p@tnƽo9o6\=p:jy9e7%G,^o<֭Ϗ[,UvnCáڸײzX-_ҫ\翲nVmO',f!U7XXy[YY\8/rCqd @_9o6\=p:jy9e7tUx! y[YY\8$2LP~&^Ϋŗ[Y:Hb2oWmr+U[ͮ@Mڔ7e\oW9o6ew@Mڞm*So%W5I@6槁.jO5y }v tGW65(oLʾ! oWtڞM_9o6M[p@fU[BUq @_mͩuk4ս[HoLʹk1X Pp7ҫY.Y;Yz̫A\cJ׮1Oҫqrm q3bMD̫]u,fTju?J-T9yΫ+,:HbW$0Kl9)KnVEV盕@њ뀩PV[f m57e\7+>kiSt%W\nϥ:>5=hʄҫud]pƥBU6<7o/XiK ?h/XW,:, }B9e;5Hrrto<֭ϊ:(Dt@!_+(-J2y-Y\ M0ͩ{huTŨ+Kx@ P}6CnVE&eԂ57e\D@j;Sp:.wG ڞy)!jMrm7epf ?hԅ}+, -ahm)ہՑuP=f*b Vق>y!"-ny@{hu$-C P&^3*#?k1g2PUqn:ۚP-$6攁"t|+c\[q @_&c~P8&(qb̩27u],P^,ȁC8|O}*So'_Y_JrmwGufԠq3*-}*y+ufԠq3*f ?h7t%^{f<]oA.ƥWKZnB t7e\D?k1g2PUqn:[ͤ7u],PY`CҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$q3*/%ny][Mڟ&/ud]pG*69G}8ˌ\\n7IPt%WKniP5I qH5oDI"eC%de`u+.4Ά RHZ,PgCRC83)C5s{]h u 3!C P&^3*%:<Үx*p.Cy7Jt~e#-*=y]o, O\'UM}*p.t7=o,81CfTz:(>܄@!oLʸU u :ΫάMD̫|CCZ2y(\̡S-@W\ h u+.4Ά\cҾVQ![e-M.PPV[f e$qI$2HqAEւnKKl9)m!BTK.v\C83)C5s{.KZ }.)_+(-J1j +lBTM|HX~a@.beҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$qAJd8ߦe\ 6˷zkj1Gv/]mdz<}*|<#2]QJ }.:sy7̶b @q :>:syu\o<֭ϩ7]p@$7ReoLXYu(q3*M%Wmہ՛-',7e]?U~~ߠ~ۿJrmrr@gU֛$1CW*.K9o6yΫ+,:HbW$0Kl9)KnVEV盕@њ뀩PV[f m57e\7+>kiSt_J^Ř.S˭*$7]p[ݧo9"ΫάMD̫|CCZ2y(\̡S-A7o%Zє@p}6B*Z }. !jkH`hs FSo% y*b Vق'I!joDI"eC%de`u[e-Mo$/ 2XuC83)C5s{A'|CCZ2y(vSo$TŨ+Kx@ Pp}6RBy!cv, VX:=+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ$LCfUoA ?h 6cxfGU^,y͏U7%yGef_l~׎\M3-8BN\]iW<5s{Mk\81CfTz:(/]md@!oLʾSo'Uy?ouf*y-Wa@.bn"Uvҫ\8tA"I PfUJy쟥W̤7u],PY`CҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$q3*/%ny][Mڟ&/ud]pGUx,u t7ҝ]iW $y&?y̸}|7u],Puf:j t7e]+e%ZєB~e ioZ ?h%Zє@p}6B*Z ?i$-]z -ahmp?O2LZ 0P~eOqn*CÀ=ŻjDk t̮ma+myfɼZ>#7~2̬81CfTz:(>܄@!oLʸUu>~eOqn8ߤzDʇ$K8_ˠ"@Kl9)m!BTK.٬}$(qfRkX@JW$0Kl9)e6ELZ 0Po%$-_)8v, VX:=+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ$LCfUoAfzkj1Gv/]mdz<}*|<#2]QJ>uzo9m_Jt|uzJy[So ^Io28t@xk"I PfUy< J}7U[ͮNYhoLʻsq@ŷ~\喁Ϋ7!:Hb2"UyX-ײ~_O28tB%eI WJYD m0e6QmȺJr3]p1j +lBTMہՑu<ܠP=f̫wGm7j|ہՑuBU7E58Jtyu\ {M21P8t@9՘騁C8tH`hs FSo% y*b ]hX m0e6PM$(Jր;5wCzW$0Kl9)<1j +lBT̤7"^2I2W0Hf ?hԄ RHZ,Pf ?hԤ(qfRk].٬}OA5!!C P&^3*%:<Ү~VKni[Hm+W%y8|٬}v t:[sJ%o$һƣ }v tU}*-SD+XJ^j-ro<֭ψuߥ:<̳+42LP~&^Ϋ7!:Hb2ҷ ۚWq?JK+5r tJI wݼ|]oA.7"^2I2W0HZt RHZ,PZt(qfRk @_Z [BIe(q/P~q]iW?+MGUu>~e@Z8WҨqpan u>DO2q&j7[,S2O@$7ReoLXr(q3*%W%yGƼwhoDI"eC%de`u%Zє@p}6B*I P%Z }RC83)C5sy/Z }BRVQ![e-M;)*b Vق8>y)!jM?hY@tzW$0Kl9)KnVEV盕@њ뀩PV[f m52H3)Cz̫Aނ }@oAmmF7n~\˭\'ϥPr]O@$yfVk?oUo\M3-8BN\]iW<5s{Mk\81CfTz:(/]md@!oLʾSo'Uy?ouf*y-Wa@.bn"Uvҫ\8tA"I PfUJK{[ͯd*e q3bJD -ahm)ہՑuP=f*b Vق>y!"-ny@{hu$-CWy+sn7}"8WҫWoqf>k,qJ#6 \ie.c.7q3bs1Q(q3*_+(-J(TŨ+Kx@[z-ahm8>y!}HP ש!jkH`hs FSo% y*b Vق'I!joDI"eC%de`uЖhs FSo% ?hB$-C(]ht5$1C28X7ևCBRVQ![e-M;)*b Vق8>y)!jM\Ş!_JG|CCZ2y(mud]p%nyTm io`*HmȺ [nP(3]pI P$28ɗqLʸm!(4G[[Q8}W1xk# /6>T8ܗSP fYU}o\M3-8BN\]iW<5s{Mk\81CfTz:(/]md@!oLʾSo'Uy?ouf*y-Wa@.bn"Uvҫ\8tA"I PfUJo9o6yΫ+,:HbW$0Kl9)KnVEV盕@њ뀩PV[f m57e\7+>kiSt_J^Ř.S˭*$7]p[ݧo9"ΫάMD̫|CCZ2y(\̡S-C-J鷒~ PjHZ=+e%ZєB~e io`*`xRHZ/RHP$z+Yt$]h p-ahm8>y!}HP$q C83)C5s{,%+e%ZєCy"-AZ[m(J鷒 o?k1gHWҲ_+(-J2y-Y\ [nUFk-AZ[m(J鷒p:.盔 \B8 ̥2eo2z}Xm#>ڏҫYuynK(3,uG* p7ymF.7S7ZU&jxZ2LP~&^Ϋŗ[Y:Hb2n"U|OYJrmrr@fU~ ]G--',7u],P}iC8q/^U}<@gU$1]+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ2V盕5ݩn:nVEq W\}P@X})֕rGl-7ˌ\\n@gUVcI PfUҾVQ![e-M.PPVu5XKl9)m!BT. I Wt;^ǥ|CCZ2y(\̡S-%@,T8ܗSP fYU}ns2Q-*֕sɼZ>u8ߦeIq3b"eD̫6x_)nVoҫ\8v,%WaQ~n*y-WKZnB t7e\D;-ײ~_O28tB%eI WJYD m0e6QmȺJr3]p1j +lBTMہՑu<ܠP=f̫wGm7j|ہՑuBU7E58Jtyu\ {M21P8tB%eI WJYD m0e6QmȺl"i^mMFk-AZ[m(J鷒p:.&4/6m$q3*%WQڞہՑuú>&eGR8WҨquzc躆J#6 \ie.c.7q3bs1Q(q3*_+(-J(TŨ+Kx@nCZ2y(H_a@@%B@v)vqJYD m0e6PB-AZ[m(JX"y$KԒ&T8"^J] Z2ʑ̠*I P%Z2ʑ̤2LPs c<]h&*DO2B$LCfUJtyu\7!W%yGMfTy!}HP$q *RC83)C5s|J.@ JYD m0e6PHPV[f m䤅6B?k1gHWҲ_+(-J2y-Y\ [nUFk-AZ[m(J鷒p:.盔 \B8 ̥2eo2zWzkj1Gv/]mdz<}*|<#2]QJ Us2Q-*֕sɼZ>u8ߦeIq3b"eD̫6x_)nVoҫ\8v,%WaQ~n*y-WKZnB t7e\D*yy쟥W̤7u],PY`CҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$q3*/%ny][Mڟ&/ud]pGUx,u t7ҝ]iW $y&?y̸}|7u],Puf:j t7e]+e%ZєB~e ioZ U愶CZ2y(H_a@@%BD ԐwCzW$0Kl9)<1j +lBT̤7"^2I2W0HA!BTK.AHb&e(qot7p48 ̥2eo2"S˭*i*.̠=zWt;ڊ8 P}\MO%_ҫ/JH}*ewGҀ$һD\81CfTz:(>܄@!oLʸUu>~e Ґ8t@9՘騁C8tH`hs FSo%/>PiPPVu&B]h wCzW$0Kl9)[O Ҵ(TŨ+Kx@ P^9l}zPRHZ/RHP$z+Yt$]h,%Zє@p}6B*I P%Z! I P$̥70=.Cq -ahmMS-%AI Wm䅎7a]<BJYD m0e6QmȺJr3]p1j +lBTMہՑu<ܠP=fIe(q/P~p(4@, 6cxfGU^,y͏U7%yGef_lCq7ymF.7S7ZU&jxZ2LP~&^Ϋŗ[Y:Hb2n"U|OYJrmrr@fU~ ]G--',7u],P}iC8qn:y쟥W̤7u],PY`CҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$q3*/%ny][Mڟ&/ud]pGUx,u t7ҝ]iW $y&?y̸}|7u],Puf:j t7e]+e%ZєB~e ioZ! m0e6PM$(Jֈn:B׮1_+(-J(TŨ+Kx@ P O2B8ߤzDʇ$K8_ˠ"Dpt RHZ,P67i!dǹCqֈ! dfR27W)֕s܄~\SP mx:*CÄk t["y %m5\97kVqfҝfYz&(qLʓ/PgU֛$1CW*.̠?ptqI$2HqAL[@b~B[e-Mo$/ 2XX2LPs c'*$|CCZ2y(vSo$TŨ+Kx@ Pp}6RBy!c?k1gHP$28ɗqLʸN.մ\_ҫP 9wDqP4eO&U+JG@c믾/JnfSj]J@${ڊ?ߕ#ş8SWmVGU(aQ<@^um*8ߦeIq3b"eD̫6x_)̫1g7*Y [ U}<#~P8tA"I PfUXu,d)+U(aQҫ6P8t@9՘騁C8tH`hs FSo% y*b ŴV.'D%Zє@p}6B*1mUIQI Wt;^ǥ|CCZ2y(\̡S-%@,_)VWҝ]-Њ:(>܄@!oLʸ ş9|2P*e?j=U|J:(:5:Hb2 -ahmp?O2LZen:IQ m0e6PM$/%Y[~RB׮1_+(-J(TŨ+Kx@ P O2B8ߤzDʇ$K8_ˠ1ݾhs FSo% }.BTKMpI P$̥70=?h|kA7o%+e%ZєCy"-AZ[m(J鷒 ov\9ytzW$0Kl9)KnVEV盕@њ뀩PV[f m52H3)Cz̫Aނv\oAmmF7n~\˭\''T8ܗSP fYUrrݾ^f[j1tqWҝ^Үy7kV@׮ qb̩27u],P^,ȁC8|Oq6~mUskZ2rmp7*ykP8tA"I PfUJ3*5 ^쟥W@gU$1]+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ2V盕5ݩn:nVEq W\}P@X})֕rGl-7ˌ\\n@gUVcI PfUҾVQ![e-M.PPVւnKKl9)m]*h&$\cҾVQ![e-M.PPV[f e$qI$2HqAcZ ?h%Zє@p}6B 2XւOI P$̥70=?h|kA'|CCZ2y(vSo$TŨ+Kx@ Pp}6RBy!c[͠Ie(q/P~p(4CMu#ٻQUs.=pbc쟥Pr]O@$yfVk?oU,~׎\M3-8BN\]iW<5s{Mk\81CfTz:(/]md@!oLʾSo'Uy?ouf*y-W9o6\~5oLXr(q3*%Wa]y?]pOҫqrm q3bJD -ahm)ہՑuP=f*b Vق>y!"-ny@{hu$-CWy+sn7}"8WҫWoqf>k,qJ#6 \ie.c.7q3bs1Q(q3*_+(-J(TŨ+KxDkA'CZ2y(H_aABUII!jkH`hs FSo% y*b Vق'I!joDI"eC%de`ֆ m0e6PMҗBTKҗ!dǹOhiKH`hs FSo%m䊘io`*JHZSo$,qҗ dfR27WM4m#>ڏҫYud*|<#2]QJNYa/5Ur]O@$|[q PpOqnڑD+XJ^j-ro<֭ψuߥ:<̳+42LP~&^Ϋŗ[Y:Hb24D亟?O2HmgaHoDI"eC%de`ր;5hs FSo% f%I!jdQvkI!dǹOhX JYD m0e6PHPV[f m䤅6B͚9o6JYD m0e6QmȺJr3]p1j +lBTMہՑu<ܠP=fIe(q/P~p(4D٬}Aނ:ڌoݨ*ŗ[YO1yOҨq.̠<̳+5>uzo9m_Jt|uzJy[So ^Io28t@xk"I PfUy< J}7U[ͮNYhoLʹyD-@gU֛$1CW*Y(̨5z뇲~\[siWK"VX: ttH`hs FSo%M7*5S-%A Y\ksFk !joLʸ [nWt|vɸ Y\*^:s{1]C]cGZU In෻Os.1s_)qEWKY$1CWJYD m0e6PB-AZ[#Z>[e-Mo$/͚PF٬}$\cҾVQ![e-M.PPV[f e$qI$2HqAcZ>'ۚ]*I P%hX njRC83)C5syvk@PmHK.K5I@6(qAJd8ߦe\DGZUύl~\SP Pmˠ/ťQt![[sJ6CniCOҫ|<ƣcPmˠ,ۚQ+|i$68o65@[Pmˠ-BUÄk t["y8Vy[2LP~&^Ϋŗ[Y:Hb26k@PmOq|<# t.8ߤzDʇ$K8_ˠ1 @XH1g-\Cq%I!jdQ @ZHb&e(qo:>54! tVІ,(qAJd8ߦe\DGZUύl~\SP JtU}*-SD+XJ^j-ro<֭ψuߥ:<̳+42LP~&^Ϋŗ[Y:Hb2Jt7*([^;7"^2I2W0LkAoKl9)m_kС*I P%h-I P$̥70=?h|kAoJW$0Kl9)e6ELZ 0Po%$-_)8׼ VX:=+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ$LCfUoAנPip7j?JbeG^l}nK(3,uG*9ek^f[j1tqWҝ^Үy7kV@׮ qb̩27u],P^,ȁC8|Oq6~mUskZ2rmp7*ykP8tA"I PfUJ3*5 ^쟥W@gU$1]+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ2V盕5ݩn:nVEq W\}P@X})֕rGl-7ˌ\\n@gUVcI PfUҾVQ![e-M.PPVւkЖhs FSo% סBU[zvqJYD m0e6PB-AZ[m(JX"y$KԒ&T8"^J] ht[*mCZ2y(H_,뀴St(JB8bZk I!dǹOht[*m|CCZ2y(vSo$TŨ+Kx@ Pp}6RBy!cnAWҲ_+(-J2y-Y\ M0ͩ{huTŨ+Kx@ P}6CnVE&eԂ5H`hs FSo%M7*5S-%A Y\ksFk !jdfR27W)֕s[Wt[ynCoU(qkuOIot>^&S\K~So%8ߦeIq3b"eD̫6x_)̫-o6]vo-@gU֛$1CW*Y(̨5z뇲~]vo-:(Dt@!_+(-J2y-Y\ [nUFk-AZ[m(J鷒p:.盔 \B8p<ܮOqp:. q3bJD -ahm)ہՑuD ښ\LZ 0Po$6ud]pL"i^mH(3]pI PfUJ 6="t|/|M0ͩ?N̤7u],Puf:j t7e]+e%ZєB~e ioht[*mCZ2y(H_,뀴St(JZk I!jkH`hs FSo% y*b Vق'I!joDI"eC%de`ևCB[e-Mo$/%I!jdQ(qfRk>5ДH`hs FSo%m䊘io`*JHZSo$,qCyy8 ̥2eo2zt4 6cxfGU^,y͏~Cu>~eeYW',o\M3-8BN\]iW<5s{Mk\81CfTz:(/]md@!oLʾSo'Uy?ouf*y-W9o6\~5oLXr(q3*%Wa]y?]pOҫqrm q3bJD -ahm)ہՑuP=f*b Vق>y!"-ny@{hu$-CWy+sn7}"8WҫWoqf>k,qJ#6 \ie.c.7q3bs1Q(q3*_+(-J(TŨ+KxDkC-J鷒 ևCRB׮1_+(-J(TŨ+Kx@ P O2B8ߤzDʇ$K8_ˠ1[e-Mo$/,(JB8bZ\(qfRk>55XJW$0Kl9)e6ELZ 0Po%$-_)8}_9o6$LCfUoA Mu#ٻQUs.=pbc쟥Pr]O@$yfVk?oU, ɼe@ZU})˭*yn}Ot -z&(qLʓ/PgUE˭$1CWm7*So'ߥW9o69eq3*-q_oƵWKZnB t7e\D?k1g2PUqn:[ͤ7u],PY`CҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$q3*/%ny][Mڟ&/ud]pGUx,u t7ҝ]iW $y&?y̸}|7u],Puf:j t7e]+e%ZєB~e ioh p-ahm8>y!}aBU-$-]z -ahmp?O2LZ 0P:syu\o<֭ϩ7]p@$7ReoLXYu(q3*M%Wmہ՛-',7e\n"Usk֠q3bMD̫]u,fTju?J-T9yΫ+,:HbW$0Kl9)KnVEV盕@њ뀩PV[f m57e\7+>kiSt_J^Ř.S˭*$7]p[ݧo9"ΫάMD̫|CCZ2y(\̡S- Kl9)mbZ @e7B5;I Wt;^ǥ|CCZ2y(\̡S-%@,~eeYW',7Wo&ڌ]hn!UGWo.Mչ=&d3*LCWK. t7e_)DMp:~\喁̫\ Jrm}7u],P}iC8qşʍCW{'UŸ9o68tB%eI WJYD m0e6QmȺJr3]p1j +lBTMہՑu<ܠP=f̫wGm7j|ہՑuBU7E58Jtyu\ {M21P8t@9՘騁C8tH`hs FSo% y*b"5^hKl9)myBU5$-]z -ahmp?O2LZ 0P~eeYW', @_\M3-8BN\]iW<5s{Mk\81CfTz:(/]md@!oLʾSo'Uy?ouf*y-W9o6\~5oLXr(q3*%Wa]y?]pOҫqrm q3bJD -ahm)ہՑuP=f*b Vق>y!"-ny@{hu$-CWy+sn7}"8WҫWoqf>k,qJ#6 \ie.c.7q3bs1Q(q3*_+(-J(TŨ+KxDkD7a-J鷒9hz-*h-$-]z -ahmp?O2LZ 0P58mn:D7pt2H3)Cz̫Jҫ|<# @Z8WҨqpan u>DO2q&j7[,S2O@$7ReoLXYu(q3*І/U@mx:8ߤzDʇ$K8_ˠ;Qۄup A-J鷒~bZ @e7B.K_,뀴n:1g-\Cq 2Xm:h[ͤ2LPs c^oGCn@*m|CCZ2y(vSo$TŨ+Kx@ Pp}6RBy!c~aQ;GW y8o͚$TsR8Cq @XX @_%on:\5ъj(+Y`H`hs FSo%M&e=f*b Vق>y!"aL2jA@њHZW$0Kl9)KnVEV盕@њ뀩PV[f m52H3)Cz̫֛Kni[Hm+W 5oҫj8ҫ6Q*uzr &Up:.DqM0ͩ@$7ReoLXYu(q3*M%Wmہ՛-',7e]GU~~ߠ~ۿJrmrr@fUc~* n sW|٬}{@[Pmˠ/?o@fU @_qn:̦Ot=}>ᴁ̫Ƅ7| J@_yݩϷ܇%o q3*`5@^D4V{'˅cN}*ޠq3bMD̫4i$6OҫqۄuprmzU5onrmwCUy ҉[I!4zU`9Ѥ7u],PY`CҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$q3*/%ny][Mڟ&/ud]pG*Rp})m79FT'>]"65(_J^`J^7 п `5X_סl٬}u~؆/yn|P8tB%eI WJYD m0e6QmȺl"i^mMFk-AZ[m(J鷒p:.&4/6m$q3*%WQڞہՑuú>&eGR8{+Y`7q?J-T9y L2jy7"/RHP$z+Yt'lv\[e-Mo$/ }.|! Ŝ=p @XP$qmnKHb&e(qo\˷7o%+e%ZєCy"-AZ[m(J鷒 oڈ7epf ?hԅ7thCq8Cq[BeҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$qAJd8ߦe\[v=}oÓ_ҫqҘ~^bI #7 ?- Ux:y/U~BPnہ՚ Ux:y ˷1CۚVᴒsJr=*ݩtkGi_J-T>! GKniDۚWt~V'T8ށn:y*?Je]Uv4Io28t@xk"I PfUy< Mp:~\喁̫7ҫ@ŷ~\喁̫͚$TsSЗ5{Q'͚׼tܺ+7e_pt7ҫn:̦Ot=}>ᴁ̫Ƅ7| tMڞ{ɬ+MrV:(>܄@!oLʸUv\>QQjd*P?j(oLX+|CCZ2y(mud]p%nyTm io`*HmȺ [nP(3]pI PfUk8/rUŸaQm*!47KܮvY׎/U[^;@V*ݩo;7ICH$LqDC,  ?h%Zє@p}6B˷%I!jd[`C83)C5s|uz'|CCZ2y(vSo$TŨ+Kx@ Pp}6RBy!ca]DB˷c~* VX:=+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ$LCfU@ŷc~',W-0ŞsJG Y\>n%[utk_ҫ*8ݷ5tk}} qLP$7ReoLXYu(q3*MU|OYJrmrr@fU~xU~~ߠ~ۿJrmrr@fUc~* nKcx]zn]}}͍J:(>܄@!oLʸU~3*5 ^쟥WEWK"VX: ttH`hs FSo%M7*5S-%A Y\ksFk !joLʺMzW*P?j=y]-@׽$6攁{^Ke`.(3]p֛p@_YJO/}} qH5oDI"eC%de`җ-J鷒~]*I P% )xIJna{7 )x -ahmMS-%AI Wm䅎7v o.K5I@6+Y`H`hs FSo%M7*5S-%A Y\ksFk !jdfR27Wݏ_iKNYJ-T:[sJa]y=$6攎p:.7t|+K;/U -',WaQ U@qnVk/U -t6J^ qLP$7ReoLXYu(q3*MU|OYJrmrr@fU~xU~~ߠ~ۿJrmrr@fUc~* nKcx]zn]}}͍J:(>܄@!oLʸUR]pOҫqΫ+,:HbW$0Kl9)KnVEV盕@њ뀩PV[f m57e]&C+\[vҠkޒsJ@t%W~۵>;rmv5nyw+۵n z/RHP$z+Yt'l٬}CZ2y(H_a@@v\BTK>C83)C5s|uzX`c%+e%ZєCy"-AZ[m(J鷒 o!c]6k@PmHXZᮌVTA_JG|CCZ2y(mud]p%nyTm io`*HmȺ [nP(3]pI P$28ɗqLʸ(z٬}rrUqn:ۚSY!4pہՑuq]]@ŷ]J@_9o69e*ڈ_Ҫp:]J@_9o6cb&(qLʓ/PgUE˭$1CWm7ҫ6~mUskZ2JUskZ26k@PmOwB\G6k^?kr ljP8r tb/JoW>\-vUWKZnB t7e\DfʍCW{'UŸaQ@gU$1]+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ2^{J-T;ڏ^WKniP5I q^qqZᮌWPwG…\u q^p X -z \=x8=nVoҨq-S _57ICH$LqDC,  }B[e-Mo$/ }.}С*I P%ש!dǹ:sy/ס)_+(-J1j +lBTM|HXa]DB.K5I@6,q\5ъj(+Y`H`hs FSo%M7*5S-%A Y\ksFk !jdfR27Wݏ_%uC4טCniH"wG»#n^;rmrrUvTuf^;rmwCo^qLP$7ReoLXYu(q3*MU|OYJrmrr@fU~xU~~ߠ~ۿJrmrr@fUc~* nKcx]zn]}}͍J2ZᮌVT\ 4V{'˅cN}*ޠq3bMD̫\]pOҫqΫ+,:HbW$0Kl9)KnVEV盕@њ뀩PV[f m57e]&C+\[vҠkޒsJ@t%W]/J ^@t/AxZm{kMqU{/ߥP[vq Kz רqI$2HqAvá-J鷒~]*I P%(qfRkhJW$0Kl9)e6ELZ 0Po%$-_)8v o˷c~* VX:=+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ$LCfU@ŷco',W-0ŞsJG Y\>n%[utk_ҫ*8ݷ5tk}pqLP$7ReoLXYu(q3*MU|OYJrmrr@fU~xU~~ߠ~ۿJrmrr@fUc~* nKcx]zn]}}͍J:(>܄@!oLʸU FeF\=uCq3bJD -ahm)ہՑuP=f*b Vق>y!"-ny@{hu$-CWIPt%WG+4Ґ8/r ilFkr<UC }7T8ݩtCo7ICH$LqDC, \CZ2y(H_a@@v\$-C+l I P$̥70=pkH`hs FSo%m䊘io`*JHZSo$,q?kHXv\<٬}OA5!_JG|CCZ2y(mud]p%nyTm io`*HmȺ [nP(3]pI P$28ɗqLʸ(z9e*Pm)u,ۚR8mȺ8p.~ۮW/\]D/UYW/] @tIo28t@xk"I PfUy< Mp:~\喁̫7ҫ@ŷ~\喁̫͚$TsSЗ5{Q'͚׼tܺ+7u],P}iC8q/]pOҫqΫ+,:HbW$0Kl9)KnVEV盕@њ뀩PV[f m57e]&C+\[vҠkޒsJ@t/AxZm{kMqU{/ߥP[vq 7ICH$LqDC, MЖhs FSo% ?hB.K_,뀴n:1g-\Cq Ŝ=p׮1 2Xn(qfRk;`; JYD m0e6PHPV[f m䤅6B?kHXo͚$TsR8thCq8tVІ,,qo-pF+kh5BJYD m0e6QmȺl"i^mMFk-AZ[m(J鷒p:.&4/6m$/|CCZ2y(mud]p%nyTm io`*HmȺ [nP(3]pI P$28ɗqLʸ(zv)/UŸKniL?k1gҐ8&(q%qW zpd*69p:.Dq9escRn^{8:{'nK_ҫ\翲V_ݾq 7oÓyn|zfҫud]p@tnƽJ^-X-9쯕*zJ^-X!T8:s~iKMչeJہՑu(qt;WO-9쯕*z'#U7\߶ ?kyn|zfҫud]p@tnƽ пW9o69e|7!S U棈U7\߶ Uo<֭Ϗ[,UvnCáڸײxt6*y{+i ÇCh]b8PxaMչeJہՑu(qt;WO\=܅O\z p!T8:s~ pɼZ>=lwUp:. q^7j^/U[ͮs_+MTǯkq o&jߥWmȺ{8:{';5W9o69e|7!S>*Wovk\5s7~]"Ppv5! UskWr=qq 7|5s7~]"^Io28t@xk"I PfUy< Mp:~\喁̫7ҫ@ŷ~\喁̫͚$TsSЗ5{Q'͚׼tܺ+7e_pt7ҫn:̦Ot=}>ᴁ̫Ƅ7| tMڞ{ɬ+MrV2ZᮌVT\ 4V{'˅cN}*ޠq3*-k7ҫ}Q5 ;@gU֛$1CW*e7~QQjd*LTM7u],PY`CҾVQ![e-Me6[p:.<ܪ\LZ 0Po$6ud]p7(m$q3*/%ny][Mڟ&/ud]pG*Rp})m79FT'>]"65(_J^`J^7 п `5X_סl٬}u~؆,q7kVWK"VX: ttH`hs FSo%M&e=f*b Vق>y!"aL2jA@њHZ2"U|iY\;{i^mOaJt~e#翲wuC]\c L2jy7"/RHP$z+Yt'l@ m0e6PM$/ RHZ,V؁WIJna{7īb^hJW$0Kl9)e6ELZ 0Po%$-_)8~aQ˷c~* VX:=+e%ZєFSo%"+sʠ{huTŨ+Kx@ P}6CnVEZr@њHZ$LCfU@ŷcUrUqn:ۚSY!4pہՑuq]]@ŷ]J@_9o69e*ڈ_Ҫp:]J@_9o6UqLP$7ReoLXYu(q3*MU|OYJrmrr@fU~xU~~ߠ~ۿJrmrr@fUc~* nKcx]zn]}}͍J:(>܄@!oLʸUU2PUqn:~P8tB%eI WJYD m0e6QmȺJr3]p1j +lBTMہՑu<ܠP=f̫רq^qqוۚT {CniHn\4V ^5mi*tہ՛on:UqH5oDI"eC%de` @XKl9)m!}o(JB8b7i!dǹ:sx/n:RVQ![e-M;)*b Vق8>y)!jM?j @8epf ?hԅ}+, -ahm)ہՑuP=f*b Vق>y!"-ny@{hu$-C P&^3*~۱NYJ-T:[sJa]y=$6攁"t|+Řn5 wtsUqn:~P8&(qb̩27u],P^,ȁC8|O}*So'ߥW9o69eq3*?j< ?j?o?qmߥW9o69eq3*f ?h7t%^{f<]oA.ƥWKZnB t7e\DfTju?J-T;ڊ:(Dt@!_+(-J2y-Y\ [nUFk-AZ[m(J鷒p:.盔 \B8t7Kܮ"Uqn:~z[sJzHm)AP~%I*d/P$P\w[.q*Nɬ Q=ŵ${i1s. );*LK[ޤ]h`[f e%ZえMmanރ[O ҶAo%̤J* _I WJYD ܪAZ[Ĩ5xXiG|CkPV*^5tH`YuJWOxJHZDK[ޤI>%(qqbVQ!P ,O-mCD.,_40JBCX@'kO 80HD0HRHZAd˓8 -a\ k$77 I6v6$7./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.variablelengthterminalfieldtype_mi.html$$ Method Index for com.ibm.ivj.eab.record.terminal.VariableLengthTerminalFieldType

Constructor Index

VariableLengthTerminalFieldType()
VariableLengthTerminalFieldType(boolean, byte)
VariableLengthTerminalFieldType(Class, boolean, String, String, int, byte)

Method Index

canConvertFromBoolean()
canConvertFromByte()
canConvertFromChar()
canConvertFromDouble()
canConvertFromFloat()
canConvertFromInt()
canConvertFromLong()
canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToBoolean()
canConvertToByte()
canConvertToChar()
canConvertToDouble()
canConvertToFloat()
canConvertToInt()
canConvertToLong()
canConvertToObject()
canConvertToShort()
canConvertToString()
checkConstantValue(IRecord, byte[], Object)
getAlignmentHint()
getBoolean(IRecord, byte[])
getByte(IRecord, byte[])
getChar(IRecord, byte[])
getDelimiterByte()
getDouble(IRecord, byte[])
getDoubleByteEncoded()
getFalseString()
getFloat(IRecord, byte[])
getInt(IRecord, byte[])
getLong(IRecord, byte[])
getMantissaLength()
getObject(IRecord, byte[])
getPreferredType()
getShort(IRecord, byte[])
getSize()
getString(IRecord, byte[])
getTrueString()
packageBytes(IRecord, byte[])
retrieveBytes(IRecord, byte[], int)
setBoolean(IRecord, boolean)
setByte(IRecord, byte)
setChar(IRecord, char)
setDelimiterByte(byte)
setDouble(IRecord, double)
setDoubleByteEncoded(boolean)
setFalseString(String)
setFloat(IRecord, float)
setInitialValue(IRecord, Object)
setInt(IRecord, int)
setLong(IRecord, long)
setMantissaLength(int)
setObject(IRecord, Object)
setPreferredType(Class)
setShort(IRecord, short)
setString(IRecord, String)
setTrueString(String)
fromBoolean(IRecord, boolean, boolean, String, String)
fromByte(IRecord, byte, boolean)
fromChar(IRecord, char, boolean)
fromDouble(IRecord, double, boolean, int)
fromFloat(IRecord, float, boolean, int)
fromInitialValue(IRecord, Object, boolean, String, String, int)
fromInt(IRecord, int, boolean)
fromLong(IRecord, long, boolean)
fromObject(IRecord, Object, boolean, String, String, int, Class)
fromShort(IRecord, short, boolean)
fromString(IRecord, String, boolean)
testConstantValue(IRecord, byte[], Object, boolean, String, String, int)
toBoolean(IRecord, byte[], boolean, String, String)
toByte(IRecord, byte[], boolean)
toChar(IRecord, byte[], boolean)
toDouble(IRecord, byte[], boolean, int)
toFloat(IRecord, byte[], boolean, int)
toInt(IRecord, byte[], boolean)
toLong(IRecord, byte[], boolean)
toObject(IRecord, byte[], boolean, String, String, int, Class)
toShort(IRecord, byte[], boolean)
toString(IRecord, byte[], boolean)
d, by ky$i7I6v6$@4~i./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.variablelengthterminalrecordtype.htmll$$ com.ibm.ivj.eab.record.terminal.VariableLengthTerminalRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.ivj.eab.record.terminal.variablelengthterminalrecordtype_dsc.html#_top_">com.ibm.ivj.eab.record.terminal.VariableLengthTerminalRecordType (no frames)</a></b></p> </body>  l$U7I6v6$4./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.variablelengthterminalrecordtype_dsc.html$$    edrt<>achilmnos .bpy"/T_fguv(),=FIR#'-:ABPVjwx 0CDELNSz1[]k+34HO|25789;GMWq!?Y8Y|sqkD:sp,1KDH:A$}2H;=. 4 }=wA$A9wfx0x`4#* |#bWnh򖚏F`a$H$ ;&LZ–;  (l0 AނHjc8<WIeWT*JNcҁɦ$+mW1hT*Eg$[z W($ 75Pl(0@444444Fp`H:s ]bq)A$mX?%=\*}ev&%Lx0֘'c. k^xsD vr_8> ĥ%AܠnImi-,H$q}W bZؤA$l1TS qL+%_1i@[x6+Ә?"3AČA$$.$$)xҠX?TRqw@=#SRQ`86I`A . an*RR^mg1QK4.`TS qU o4QsJ #mldm`H$ :r 8⫪%%2fTR,BUuB[!"3JPImm` $mmA Iӗ\``A0]P)/6Mz\WT*l8]qwB[T yAKT4q)A$mmmm,6mmm A'N]qUuB$T*l8]qwB[TM1%]maPiRHmmmmY$mmmmm US,IWzZP94Ėw=-HLq&WA$tH<ь[X1-[x6+Ә?"3Ih$671N]qUuB$T*l8]qw@94ĖwBQsJ #cͣ17㎜*)YU Ә_1muB3ۚp0X =-HL. an)tUuB=-)2ߧ1mg1QK4.`;X_^ǥ3JP*)YU Ә7z[fTR,B+ӘQsJ e9$KdrOl=4Ėߛ6׫:3I#'8ak fA=4Ėߛ6׆3I#YxI 04se@Vndp 8~KT&^ǥPi1bUe$2XؔI 0ǯ/΋ߌ˃f:v":,yX8f3#Ʀ?[#b~:uBY|ˏh̴'M1%FoxYX8f28E/Zֿ:3FeǴfdp| }ˎَZG=4Ėߢ7I 0bfXoqcƃ`(e@V6s2 H.. p&uIXR kcīU0dBK#F|줿-#LImmz9KuuBFruxI``;EpN1cc~fߎco$jLu7t՘kbkVe1$_R^8eA\Y?WT*cO I#Zq~?Okc[P|G;/}k%I*Knǿ֮TĢH9$INz]1"q)A$`Ht9W Ϟ$X -A$m)ӗ\``A0K*RUs=4Ė=-T٦qss@[x6+Ә?"3@94Ėw=-HLFǙF–9r]7}8zi-7m5sNLA9uTS qL+%_1iCLImkNcMg1QK4M1%]mb9KCR(8Kay&^ǥPiR>aDQ9P|n*YU~9/|m/W{sFT4Q$m)ӗ\``A0K*RUs=4Ė=-T٦qss@[x6+Ә?"3 };6PLImWxXNcT4q)@Kay^,xoFǙF–AeWM1_@fN~ǥ:3I-A$tI'89$q+A$͠:r 8<WIeWT*JNc҇6~ǥ 4.bnh3!퐕A0]P(8CY!Bvĥ! $2-NLrpvθk_3ZP ʱ$͠:r 8<WIeWT*JNc҇6~ǥ 4.bnh3!X8⫪%hk;d/=%5/PtǍ ̆Ac/ĥ! e4(6<6G;9319#/ֵ:1pvz]|2UwޮTUQ$m)ӗ\``A0K*RUs=4Ė=-T٦qss@ glʍ)IA ̆Aq eF%( vQ$lyl)lwrfc3uZ/cǍ(uW}FTUQ$m)ӗ\``A0K*RUs=4Ė=-T٦qss@}h>!!B7sq)@HQ$lyl)lwu{O]Pi/ր̨4s hN*)YU Ә$ߧ1muB3ۚc~ 9mJB#c̣aKds|uNLc~f(6ˮ00B[`y]%]P*9KJbKoox]sT*l8]qcƃ !}S2Ǎ|RH(Rk:kS8"8̱qf(6ˮ00B[`y]%]P*9KJbKoox]sT*l8]qcƃ`(А
cIDyN]qS,IWzZP[{{ӘSfTR׺g߈J[T Y8 }E{qmJP Y8 }FǙF–{\'WFt ^-^exuHiYkSֿ9sͿ hN*)YU Ә$ߧ1muB3ۚ % R>‰#c̣aKds:uBYpDs8Z2|J$͠:r 8<WIeWT*JNc҇6~ǥ 4.bnh>9m;!v̿@oJPY‰#c̣aKds:uBYpDt̿XoI@ t!PqL-0x<ʮT~ǥM1%m9Kk6i\E.<}S2Ǎ|$oD}S2Ǎ|R;Ie [#pzuBYpDqc;Q$m)ӗ\``A0K*RUs=4Ė=-T٦qss@ L4F! L4FJPQ$lyl)lwt}_ f&eXJ$TʸTD RH:X 6U¢IA$9w M1%]mb9KCR(8JPINz]LImWxXNcT4!A@94Ėw=-HLZ WA$c+LImWxXNcT4IetA$2)l1#yP|n*YU~9/|m/W{#_1nT4VHt}ᐭkʁ95D9$v,~ T'%PHks1 ( q*F;XbfX57c Lϑ^ǥ3(<` aĪIb1cƃ 1 ,XOA$c2 1 ,X8Bz #H栒b e$=.ɦ$+mW1hT*Eg c/1!A@94Ėw=-HLZ WA$c+LImWxXNcT4ދImmmmmُ4sH8+-A$lyaKdrU²r_^3'M1%=-$]Piy}$rᐬ<{;Y2~Q$aKxĎmG ֿ\I㚂HkL4FuBz+ӘQrÀ, 8Bz #F13,xaf:=%|+0 U $v{X_af:=%|+OA$cAA$lyZHcͣSIwQIh$<4X —w!ZXe@ViDǙFT9ώKzZ;ᐭkPh>8ʁ҉#cfPI-A$9w M1%]mb9KCR(8Kay^,xoAĥrM1%]mb9KCR(9ĖH9Iŵ[x6+Ә?"37Fmmmmmc* ,6mmmmmx̱AkhY$mmmmmbͿL4mHmmmmmśOk 6Q$II6<09P|n*YU~9/|m/W0#7m_1i$jNL`֐㇥pVK[P3ճ@f0qmb#1k[#%AA$lyZHcͣSIwQIh$<4X —w!ZL:,~2g4Hc̣* p=-V4se@ViDǙF13,xl8Rd+Z13,xl(6(&e 6KzZ;ᐭḵAT fIlyic~)KG|2Ok 62g4He8APINz];1J `H> $J!t0BfCY!*an*RPp-憳B RH9hLk;dKA$$`ad̆BN*)ILK1QK4.`vĥc;d+Z. an*RUuBc;f3=-d<\E.8 ?!FX9-d!s-yĥxˮ00B[T]Pz]xE<\E.8 ?!-.LYW2JPIetA$2)lwrfc3uZUwޮTUQ$FǙA$<1@54{QĖHc̣ glN3uf|IlycK" 8ю*)IU 4X*[ ss@ TEg`䵒U̶AFeRLǍəuBY|_^9/BH6Q$mюZ(d$Feˮ00B[T=4ĖMg1QK4vJ[T y퐡Lk;dR51:r 8⫪%M1%mSfTR,Bɦ$+m?"3JPIL2H8j K`̆Ac/J[T y퐼HԼi@e4(B%($̆Ac/ĖH9Iŵə gl_. an*RSF3ETR,Bo45q)F $mmmtǍ Z]µ:r 8⫪%WT*F3l;cOlTR,BRi HW2JP*)IU @sU̶A*)v !P glp|!s-yĥxˮ00B[T]Pz]xE<\E.8 ?!-.LYW2JPIetA$2)lwrfc3rF_k&u0cE#m6rCS'q%6(N]qUuB$T*l8]t̆Ac/J[T y퐼HԼi@e4(B2Gf?)qӗ\``A0]P(zi-mu 4.bnh]bM1%]maPiRHe8APINz]&d5 k*68⫪%hk;d(B%($̆Aq eF$A̮H-VNLk;dTl$ˮ00B[Tļьss@ [ glJQ3B:r 8⫪%WT*F3l;cOlTR,BRi HW2JP*)IU 헥-7YlTR,BR mtɠHE!s-yĥq&WA$ZH(–{\'&f98c;g\5=xUw$jNXAA$lyZHcͣSIwQIh$<0vKc;g\1&gDǛF9hB -ˮ00B[T]PٳLKY<"e1QK4.`Hk;dQp.KY HE\dq)A$mQ/4ϋxܙ:WT*ug̎υc~B+-1$19meFmO(KA$mQ*)ICLImkT٦qss@ glʍ)IA ̆Aq eF%(~SS. an*RP[{{6i\E.8 bKoR(9ĥPq3($G9 J o KA$$`f>`<9ψHQ$II6<09 u>:uBYpDs8Z2|Jg# =-HLCT-~ ,lI#$kdq=YAA$lyZHcͣO(KA$mQ/NLq~eAIL2H8j K`9m8Z;X_a$A̮H-V,o#e|$($$PIeRk:kS8":{X_Yg#s/ȯNcF~%_O[ 2XؒFIpz*zJ$H(<ǛF9h:QĖHc̣ _ f2b;Q$lq2L e$=.e 6HPJPI-}S2Ǎ|KA$$`bͿe 6HQ$II6<09 u>:uBYpDqc;V?־I8"9KEg}}>*lVicbI%u[#(b #c̠Fm?|AGZ #m2)WT*ugGIh$][X>Aę]yj #c̣ [#p^SWT*ugG JS Ad+O$::iʁ҉ 6<-A$mюZq%6(—uBYpDs8Z5@!#cfPI-A$9w bTR7 A0]P(8?!xop!AAP H 6N$A̮H-V,cm9uTS qU ]P1QK4.`IĥRImmmlYf$ LH<Q-NMTF:Si fś~8 )y$\c^pVfWT*J$sI8f]Pi29jm^=s/,56IP}3s#ԫ,kS8":{X_YFI5ImFWT*ugGEo̎2e &ek_X?1fɪIGEk}hV 놵]Pi,5ͿRRǍ kS8"8̱qf|F13,xdV `Yjh"9mykkZ^IuBYpDtXkoZ{U_ f`$`_Cߒ 6<-A$mюZߨ$FeS8RTIlyb; I/ͿTrKǍֿ8"8oĢHcͣPTIh$<1ӗ\``A0]P(zi-mu 4.bnhĨo~!*an*RPpT*Bf (B JJFaq)Fc9uTS qU 6]PL*)v ![x6 F%($&ZA$Lt0E{qm)IAP ś|PJPI-aq%etF0qmbӗ\``A0]P*3m"*)v !3 JQ3o$ˮ00B[TH]qw@pT*N%( Hmmmmfś|T@8 $mmm10d}Aę]yj #c̣ [#p^S㓅gi,x )zqֿ#YpDqfߎcNKZx@fT6J$sI8f]Pi29jm^5fߎM}RᐢHֿ:3#eś| ~6gi,y$1oίcJđk_ f`#YlFt ^dI#1ic9/^SI1Pyj #m6r M%Dq%6( —uBHc̣m]RM)mX%Fm?|AGZ #m2 3 1oe%5I7@f,K$\_iYkRֿ96I#*y(6h-?2|AGZ #m2t!PqL-WT*JbKoox]uB3ۚt? A0]P(8?!xop L081MLc*)ICLImkT٦qss@ ri- kHLF-A̠&ZH:s">x4s>„ RH9h KA$$`ad|BXʃG9 $2 FǙFG;:>WT*ugGĒ2KֶGP3՚Q$FǙA$<1@54{QĖHc̣* p]Pi/ր̨4s#cfPI-A$9w `Gk 6If J >9m-s+1kc~ ,{X_a‰ LH<Q-N_ f2b;V?־I8c~Ezs4Ϙ1*|UL2ᐭ>Ē2KֶGP3՚Q$FǙA$<1@54{QĖHc̣Ok 6_ f2b;Q$lq2L e$=.#cīU0dBKH.Ze@ViDsIe6h-]AGZ #m2bfX57p]PibfX54He8API] 6m, x``؄[~.>2[%.jcJ1ӗ\``KJ] kpk;f9/kR֠nPq7H$cރA$A$9u(%%c[ƥ.#Zho pP`QBX-0҆`\*}`$0@0` C"`Aĥb KH8ۚH$Q$ kꪶ$ 7 I6v6$8~ ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.ivj.eab.record.terminal.variablelengthterminalrecordtype_mi.html$$ Method Index for com.ibm.ivj.eab.record.terminal.VariableLengthTerminalRecordType

Constructor Index

VariableLengthTerminalRecordType()
VariableLengthTerminalRecordType(int, int)
VariableLengthTerminalRecordType(int, int, int, byte, byte)

Method Index

addField(IAnyField)
addFieldAfter(IAnyField, String)
addFieldAsFirst(IAnyField)
getColumns()
getDelimiterByte()
getPaddingByte()
getPaddingPolicy()
getRecordAttributesClass()
getRows()
packageBytes(IRecord, byte[])
retrieveBytes(IRecord, byte[], int)
setColumns(int)
setDelimiterByte(byte)
setPaddingByte(byte)
setPaddingPolicy(int)
 k$7I6v6$P~./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anycomposedtype.htmlabl$$ com.ibm.record.AnyComposedType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.anycomposedtype_dsc.html#_top_">com.ibm.record.AnyComposedType (no frames)</a></b></p> </body> co kV$i7I6v6$Ki./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anycomposedtype_dsc.htmllengtht$$ Class com.ibm.record.AnyComposedType

Class com.ibm.record.AnyComposedType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.AnyComposedType

public abstract class AnyComposedType
extends AnyType
implements IAnyComposedType

This interface describes a data type which is composed of one or more simple types. A composed type can be an array, an overlay or union, or a nested record. A composed type has an alignment, and a packing hint, and it knows how to align or pack itself based upon these hints.

The most common packing hints are 1, 2, 4, 8, and 16, where 1 indicates that the data items are packed on a byte boundary, and 16 indicates that the data items are packed on a 16 byte boundary. The alignment hint indicates how the composed type needs to be aligned in memory. If data types are by default packed along boundaries smaller than those specified by the packing hint, they are still aligned along the smaller boundaries.


Variable Index

packingHint_

Constructor Index

AnyComposedType()
This default constructor creates an instance of a composed type.
AnyComposedType(int)
This constructor creates an instance of a composed type with the specified packing hint.

Method Index

equals(Object)
This method determines if the two composed types are equivalent.
getAlignmentHint()
This method returns an alignment hint for the composed type.
getPackingHint()
This method returns the packing hint for the composed type.
getSize()
This method returns the size of the type in bytes.
pack(int)
This method forces alignment and packing rules for the composed type, and sets any relative offset of any fields contained in the composed type.
setPackingHint(int)
This method sets the packing hint for the composed type.

Variables

packingHint_
 protected int packingHint_

Constructors

AnyComposedType
 public AnyComposedType()
This default constructor creates an instance of a composed type. The default packing hint is to pack on an eight byte boundary.

AnyComposedType
 public AnyComposedType(int packingHint)
This constructor creates an instance of a composed type with the specified packing hint.

Parameters:
packingHint - The packing hint.

Methods

equals
 public boolean equals(Object obj)
This method determines if the two composed types are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this composed type is the same as the obj argument; false otherwise.
Overrides:
equals in class AnyType
getAlignmentHint
 public abstract int getAlignmentHint()
This method returns an alignment hint for the composed type.

Returns:
The alignment hint.
Overrides:
getAlignmentHint in class AnyType
getPackingHint
 public int getPackingHint()
This method returns the packing hint for the composed type.

Returns:
The packing hint for the composed type.
getSize
 public abstract int getSize()
This method returns the size of the type in bytes.

Returns:
The size of the type.
Overrides:
getSize in class AnyType
pack
 public abstract void pack(int startingOffset)
This method forces alignment and packing rules for the composed type, and sets any relative offset of any fields contained in the composed type.

Parameters:
startingOffset - The offset that the packing is to start from. Some alignment algorithms need to know where in current structure the alignment is starting at.
setPackingHint
 public void setPackingHint(int packingHint)
This method sets the packing hint for the composed type.

Parameters:
packingHint - The packing hint.

T k4$7I6v6$P<./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anycomposedtype_mi.html$$ Method Index for com.ibm.record.AnyComposedType

Constructor Index

AnyComposedType()
AnyComposedType(int)

Method Index

equals(Object)
getAlignmentHint()
getPackingHint()
getSize()
pack(int)
setPackingHint(int)

Field Index

packingHint_
>  k갆$7I6v6$P[./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anydynamicrecordtype.htmlengtht$$ com.ibm.record.AnyDynamicRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.anydynamicrecordtype_dsc.html#_top_">com.ibm.record.AnyDynamicRecordType (no frames)</a></b></p> </body> > lL$!Z7I6v6$^7./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anydynamicrecordtype_dsc.htmlht$$   deort.<>achilmns "/bfpy=_gu#()AFRTwx,-:EINSv CDOjk04BPVWqz13H+2589M|!;?GY7@3kL{sWHp,gg^'-S&BG ׹#R#֫Oa`HhG]j .!#8}j7L h{4iG]j %dkD660 p8a@ p? PVR_p BpnA^ xp:Gu$qܨǮv.N@`a 4dRG)dro(Rׂ # B8WB`TD技1%\ɬ@#蘥8LH7/S+UhGfQb])]P6M.t(׸VW Tve ʣ^Qv+PJЮ̢9nTcQ;5!!NwܨƢTve 9S'f$)mLz< RPL^9('e('q#uE:eԎ0! pZBV5N2 jBGʌziO>R$P46 {VKLA%5(% AId+(RHj@Q*f+;5vB@Tw*R#HWfQb])]P7M2Vvk'l$%v󴧟)wpiT$qt+(.v.Ny41Yٯp8Ҟ|I ho2RiT$quҞ|I hl2y!CLH!D#'SS[= HiR )#'S?jve Ҟ|IWo2SBf+;5`@{yL7Oku>WfQb])]䝪l)wBf+;5` ASڰ]䆚e $qL(1#ǭʌ|mG+LP5ί&OjΥnoA9nN5Lȟ6=[G+o7l#YP-Q^4ͼv[^YCm:|W3o#b3- 5Je}47嶝=w h}_)wq%APW6=nTb)`X@H4@H HV4{Qܨ '1Wmf6fqAd38WBl&J RG oB)Pd D#ԀWfQb])]P6M.t(Lgf-^A*H~A22C*Gk x T2%dNB2BiO>R$ꁲl)wBf+;5 ASڰ]䆚e= HiR RBGL6=w ^u+j=P4GUײ=KGdNB2BiO>R$ꁲl)wBf+;5 ASڰ]䆚e6BBhl2y!H%Il4$qD ccp^RGUײ=KCÛ2SRWcad.H!0qEk.x*A㌂XR8ȗ$q: ,A R$ࠨtL(%I@жӤ$qD W-Y^>PߔqD@d+(.v.N&Ojy:i&b^uL!E`BiO>R$ࠨtj@QӤ(A*H@(* n l7OS1嶝=EgWڞ[il>^eC~R'pZ^Q̢ySϔ:l=]P{2tD-])]BNӤ*!m RBAP4- o2¦cm:~W*6l{/+^eCG.|wEq: ,A ;עa7j'dNB2BiO>R$ꁲl)wBf+;5R$ $ƒ)wT)5}k.~VGƒaT^KRSřpoiqD@d+(.v.N&Ojy:i&b^xPpe.Bo;Jyy'R$+wPanhI R%!]nJ7l4 o2Xֲhz(;Au쾯*5R$ꁲl)wBf+;5R$XڈBiO>R$]nJ7l4 !0]䀖1QA*H@(2y![҅D vBGL6=Z/! uP]{/.yJOeqR'Pջ(^N8ȝH ve Ҟ|Id)^R'M2Vvkb6BLR68ߢe?e.u4TPިO1K\Ϭ&OjR'Pq>5sSײˍl{ay=P,ɉ̢ySϔ:l=]P{` m:BTw* l6N7A#&Se>[iÛ2Sl>T7.|wEq: ,A @`a 4l4$$qRBhl2y!H$2 Hs毅@ )Xe.CM2 )`[`( dfRG7O ccp^RGUײ=KCÛ2SRWcad)D#OAI> RG2bᬮb _W]48~eA3)d.H!^ }! A*H!0qEk.b8%#x) L! R$T -1Yٯp8PT m:PJm:B~,:= ,A R$Ӧ }B53[p1Yٯp8]䅶 >wHzm#LH"\)S1嶝?o+'Y]b*y>;ע81#&RrG:Պ}mdA$7e<ӧk+tUuLԜq)!!ve Ҟ|Iy%:i j٠њۀ{$R$- 4ހ9 ] $q)\juwTk9mOlyT ꙩ}\Tk>R'Q:̰IIWfQb])])w[i>Ih=tf&b^q;f !! m:Aj};)Rh$=؂CFkn%IoDxk+OeerNe*M{ay'oDz Hk2âA%']E!v󴧟)w|ImLkh=tf&b^q;f !! m:Aj}Aњۂ RG2SY\ӧ>5m:y> %̤qL#x) L!E`BiO>R$ࠨtj@QTAIT[i^ 83)#S T[i^!]E!v󴧟)wvt׸NقHH(*(%I嶝 a7\ӤOeG]E!v󴧟)w|ImNeB6h=tf&b^q;f !! m:CM2w!NlCFkn%It+(.v.O-v.A530I H[i pHzm nve Ҟ|Iy%0SNTAƃFknf+;5`KӤS&C$=tfT7B2BiO>R$KN) zmLgfvBC)wtރ+A!52 3)#rGLLǫtY^&R[jymO]ny KkyGd)D#OAI> RG2[i5m:~*jN8NZ\Y^ }{/+t)m-<ӤqÎ7u=$5a Ю̢ySϔ>R$ӧM2z S43[p1Yٯp8]䅶!@6A!57e<+UQNꀭg-*]S5?oꀭg]48'SRCYB )= ,A R$Ӧ })Jh=zmLgfvBC)wt vRH{cJ8W-SfJ};}e|I:̰IIWfQb])])w[i>{] ׸NقHHe.BNZ@eh$=tfTL_W-폅o}erNbO8~eA3)d.H!^ }!S!mHTBۑЅҞ|IAP4- !(%IdL!Q nGPIId )_gd- [r:ve Ҟ|Iڨ[i&b^q;f ! t'tfXtzٔXo;Jyy']tT/AsfFknf+;5`KӤ4(z$=tfT7B2BiO>R$KN)e*McA530I H[i S)JA!3[pA*H]E!v󴧟)w|ImLkh=tf&b^q;f !! m:Aj}Aњۂ RGD#&S¦cm:~W*6l{/+^eCG.|wEqbGL7u=$ȂIIoDymOW-|ꙩ8'SRCYB )= ,A R$Ӧ })Jh=zmLgfvBC)wt vRH{cJ8W-SJ};}e|I:̰IIWfQb])])w[i>{] ׸NقHHe.BNZ@eh$=tfTL_W-폅o}erNbO8~eA3)d.H!^ }"P:!R;GJzBPJ8)4A%$qfRG,5|R SR@PH 28ȗ$qDxk\{aQ/+uOLezB SqAo2K8Sk"A%$q)P5򋬨.R7YØճVQ:Z/!B )#OBi;_6?)w+?Y^*}uG+@WV 8 FJi>͍q) H65B )#OB2BiO>R$ꁫqL3 D P5Gr(I@U/BHMjtPJ*1WfQb])]P5v.5:i&b^q;f !!P4q 4A*H~eA3)d.H!^ } Ӥ+BTw* l2 ImHV83)#Sve Ҟ|Iڨ[i&b^q;f ! t'th@3qm:Aj}fXtzٔXo;Jyy']t њۀ{$R$-ޅظH$=tfTA&e$q.H~6=Z/![iڭuxKim嶝#nK2 H~\Nub[YB )#O-5ײmI:Z/!B )#O erN2Sm:|8'SRCYB )= ,A *A$%#*H$2 Hs毨){ At8$̤2%o2Ǿ?+E#^Kky]2 H~\NVDJH&SY^-u쿬QQ8'SR@mf6j RG2ve Ҟ|IWo2SBf+;5Z h *H%I[+(.v.Ny41Yٯp8̸Ԇe $qA2䠙2 $q>  H@I A*H ƒ)wJH ̤70YNjٔXo;Jyy'nR$LgfvBAAA*OR$ '2ãЮ̢ySϔ>R&Fknf+;5`KHzm#LH"\)l{Ys^B=^꠺_W],ˀ}e|OL ;.yFG+1[SÛornUL~ߨD^W+~R'=wK8, uB~mOˍlzk{aԵJ}e71K]P4TPc쿬8 Ď7J%oDz HehA$7e<+ƒaT^K7u=$5a Ю̢ySϔ>R&Fknf+;5`KHzm#O kXx V쿬8~eA3)d.H!^ }"KҞ|IA Ɣ/j nhBPJ8)0]䠒83)#Sve Ҟ|I۔1Yٯp8Pe.PJAB2BiO>R$]wP׸NقHH(2y![҅E=[҅D 8l%0oS*hYq ̰+(.v.Oɠњۀ{$R$3[pA*H 28ȗ$qDxk\Wv:.yIeƷk+eƷyy>Y_)wØճ<\jGzPl}e|O/-oDz HehA$7e<+ƒaT^K7u=$5a Ю̢ySϔ>R&Fknf+;5`KHzm#O kXx V쿬8~eA3)d.H!^ }"K`7j!$%#  H nRGe$qsWЮ̢ySϔ;ry"f+;5` J R|(82y % nB~,:= ,A R$]nJ7l4 !(%IdPpe.@Kuݨ83)#Sve Ҟ|I۔1Yٯp8Pe.PJA-cvve Ҟ|I۔V4{Q1Yٯp8Pe.Bq ڊ Rzq ڈq[@Ieƴ 8zP}C@ˍhOeG]E!v󴧟)w|MVvk'l$$2y њۂ RGD#&SXֲhz(;Au쾯*5εj~R'nOT uw>m:cՕߍi$qDQ.H'SR@:O!LwP? eunJee|O]s*Í@ VqLU K.5Y^.5՘xs+(qR'Bq)sEA K.5Y^.5Ϭ"KƭR8oU抃`++.yyo8'SRC+E"A%$q)^꠺_W]q)!!ve Ҟ|Iy43[p1Yٯp8]CFkn%IoDxT=f^{Z|WW^Ree|I.J H rG SA)`XCa$%#b83)#Sga [@Ieƴ$qIIdK8ߢe<5}k.yw9ByX }ey6 {Wy?M2Í Sh6\kc@e|LN85RWS^7X]SV:ܨ U-z/(Y]Nh>Kb}Ưj;O*o*}4ʏVW1Kzpʱpcj>/SY\k[KmO()`[`+ee|H(ެk抅OS^:qV.mDuLo*aͩ߬Pee|ObG]ÛsEA -lN81#&RrG:Պ}mdA$7e>:PYq~YqoW1K]~:^[8o4TPާ n𪟷Xweevì^eC|wE7WS*ol|uY8'SR@mf6j RG2ve Ҟ|IWo2SBf+;51K !&)`Z R{aF= ,A tJT !(%Id6NRGe$qsWOm!WA?Yve Ҟ|Iy%0.h=tf&b^q;f !! m:Awv. ] $qIIdK8ߢe<2`ڏW-}exKimSY]b*y>;ע81#&RrG:Պ}mdA$7e> }p? ex)쿬[iU`ړ7u=$5a Ю̢ySϔ>R$ӦظMVvk'l$$2y!mH..A!57e<5e-t)>8~eA3)d.H!^ }#* }!R;Gn6 P5Gr(PI A*H AOӥAIn`m~T m:B[i S 8 ZA?Yve Ҟ|Iy%0.h=tf&b^q;f !! m:Awv. ] $ Ю̢ySϔ>R$Ӧ })Jh=zmLgfvBC)wt vRH{cJ8$̤2%o2PS=\ӧY]b*y>;ע81#&RrG:Պ}mdA$7e<ӤW^嶝?o_* }I2 5A }{/+tq)!!ve Ҟ|Iy%0.h=tf&b^q;f !! m:Awv. ] $q)ᬯ)m-<ӧO7Q:̰IIWfQb])])w[i>Ih=tf&b^q;f !! m:Aj};)Rh$=؂CFkn%IoDxk+[KmOrN>7{cW]qA2䠙2 $q>c m:BTw* liO>R$ࠨt2 NQR-A%$qfRG,5|mc m:B>ÍٔXo;Jyy'jimH{$h[i҂T[iaWfQb])])w[iӦP͚] ׸NقHHe.BNL]S њۂ R@ ,A }p? ex)쿬[iUrRqLt? erNʯc7u=$5a Ю̢ySϔ>R$ӧM2z S43[p1Yٯp8]䅶!@6A!57e<+UQNꀭg-*]S5?oꀭg]48'SRCYB )= ,A vkBBtǪZ˘%svRw8'TS(&Z H0 ġ]E $%B^G`. !(kxssרUD iOYSK#y5p @A p D!(%IA&$qIW&qK5H082y % kꞿ$ 7I6v6$  ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anydynamicrecordtype_mi.htmlht$$ Method Index for com.ibm.record.AnyDynamicRecordType

Constructor Index

AnyDynamicRecordType()
AnyDynamicRecordType(int)

Method Index

addField(IAnyField)
addFieldAfter(IAnyField, String)
addFieldAsFirst(IAnyField)
equals(Object)
fieldAt(String)
fields()
getRecordAttributesClass()
getSize()
newRecord()
newRecord(IRecordAttributes, int, int)
newRecordWithBytes()
newRecordWithBytes(IRecordAttributes, int, int)
pack(int)
removeField(String)
renameField(String, String)
replaceField(String, IAnyField)

Field Index

dict_
 k<$7I6t6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anyfield.htmlrd$$ com.ibm.record.AnyField <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.anyfield_dsc.html#_top_">com.ibm.record.AnyField (no frames)</a></b></p> </body> sc.ht l,%$7I6v6$ ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anyfield_dsc.htmlpe_mi.$$    deort <>achilns./bfmpu"T_vy#(),=CIRgwx-:AEFOVj BJLPSUDNq04;GHK[]k13MWXz'589Z!+2?7Y|H)h+K0^q b+"v{t-P-ޤ-ʐtZAbC@@(( mCBćQUP :K_nj&`Xˆ4 (i' #7Kx5yзF ` RT+<gqM7 / @p 0 Rv=X$y# 4|#] !RnFCo  @P#bA@@DJ]`*I Rpη>bq*N&kĀ({bQ=@<,HRRvTI_}hX{f (,K,Ic2G\|-TvW@}Eܪ[Ĩ1xxƍI WJr \cQ[ĨǮ1}E[Q[ĨSO5knb$l$n)I_JIAtIW -%x)bĩ1{,Ic2G@h)AAW RHhT̥ _nQAbG  QՌX\DzA1`,J޸ $LԐ $ eK)8"AN Rtԃs %gY1[7zIP"ANH%H?WLx,m3P:}P(,q%ˀҝOs-%A :)!jADI1H:[AҿAb] *I R2, ЊA/R_nQAbYeK):4S\ŃKx9#vб*$nb̫P %X$y#Ju>EX;t}DX1}DZHZ2u@*W۔PXYce䎸 )1`˄upbm \#hZHZ2u@*W۔PXYce䎸 )1`SNO t$ZHZ2u@*W۔PXYce䎸 )1`S] OZHZ2u@*W۔PXYce䎸 )1`;\hX:-ż̫P %X$y#Ju>EX;t.ApxbUE3*:gT}Ee;,|^HҝOs-O^e*5ī) YEFZHZ2zt2.5ya4"2tԃu@*W۔PXYce䎸 )1`S%@ :)!j ALʿG_ͼ^z(CfhGWW u>GA:+(,K,Ic2G\|vo@h)&P"ANHZ }.(?W\#k6){QGWW u>x[H?꟔n:gT}Ee;,|^HҝOs- :!ՌX\*@h)I P@e_kp̥G„;\^@h)A[^&SS|]u@*W۔PXYce䎸 )1`S XŎB޸n:\xA ݾ*@h)I P@pY frnKJfU=ͼ^z(C쮸pDO;[e1:eSr-W\'.}zqě:_nQAbYeK):4S\ŃKx8"AN@5c;@<+V1cpH6\xA ݾ*@h)I P@pY fpY frnKJfU=ͼ^z(C쮸pDO;[e1:eSr-We:oAH?\'.}zqě:%ARZA5knxl&PtRztΨJr ,wXL:",[2YCB \"8ef j@C *\ef j@C Đ9fVhƮ:;P ALʿLǯ9fVhƮ:;P[]+;LT(,q%pS.bۥchQe;,|^H -bmE$-A ALʿGZ۟5 }űu>xżڏA_nQAbYeK):4S\ŃKx;L˄upbm2Ė>S/$pewCBDhe:h1o6BLhJfULj6[]bmr>NtyQot>yS/$uiNȹnp2Ė>S/$pewCBD>}. !j ^HWt4%3*S]]kn~V1|-ײNt>L8T^H:gT}Ee;,|^HҝOs-0ݠYceLhHրvBLhJfU<7!b#vżW)A׉꟔LT(,q%pS.bۥ>6D>6B~)rڏ*k|: ǒ7klmu@*W۔PXYce䎸 )1`Z ڈC,Ic2G ^HHրve䄠e_k˭mrڏkߔfTjS2GA:+(,K,Ic2G\|vo j!X$y#S/$+%A^$ 4:y!]Д̫MtyuZnB?[\X5y-ײNt>L8T^H:gT}Ee;,|^HҝOs-ż ˄upbm$ %3*:܄~.xż^}mrOtΨJr ,wXL:",[@=K!X$y#S/$+%A%ewCBP25ֶimpc%-ײNt>L8T^H:gT}Ee;,|^HҝOs-S  SN %3*S]]kn~VB}u>GA:+(,K,Ic2G\|vo>ס q%4:y!]Б*>ש!j ^HWt4%3*S]]kn~V1|[ͯe}mrO;Z}mxLqNLtΨJr ,wXL:",[C`r [͠* x1o6B~).?+MGk-bmr>N:gT}Ee;,|^HҝOs-ІYceLhHֆRBLhJfU<7!bY-ײNt>L8T^H:gT}Ee;,|^HҝOs-EL8T^H:gT}Ee;,|^HҝOs-!e@HրI!j ALʿGZ۟#_[\St3RܢIJĖ>S/$uiNȹnpY f2Ė>S/$pewCBD>H6!j ^HWt4%3*S]]kn~V1~7[ͮU)A׉꟔LT(,q%pS.bۥ>:pTkBD>:pTkRB~).?+MGk=z좣Z/kW쯭2x\\5n~:!_o]S:_nQAbYeK):4S\ŃKx8}he;,|^H P}hI P@hu2B(?W[s܄~my쯭Sk]))?):_nQAbYeK):4S\ŃKx8}h@HցNM$ %3*S]]kn~V׋^:=ڈ:gT}Ee;,|^HҝOs-V,wXLC +qI P@hu2B(?W[s܄~tżW)A׉꟔LT(,q%pS.bۥ>P( $JE 2B~).?+MGk+_[\St3RܢIJĖ>S/$uiNȹnv!ż !żI P@JfULj6|Sqe:o^t3RܢIJĖ>S/$uiNȹnv!vo-@H5q x1o6B~).?j; uOǮvokx^u@*W۔PXYce䎸 )1`R D: S/$pewCB#vD50ݤS/$+~).>5:/7k[ͮmmrO}m &SS~S/$t3RܢIJĖ>S/$uiNȹnxրvA#v,D50ݠűFXe_k˭mύl~Nq[_okcuO$n^bƎu@*W۔PXYce䎸 )1`nBeK)8hu2B#v,"UnRBLHݠ hJfU<1~N} - o)ڏ))?):_nQAbYeK):4S\ŃKx5:/1o6u>{LqNLtΨJr ,wXL:",[Zp [͠j,w4$JZp [ͤ4%3* _e:o\ϭS:_nQAbYeK):4S\ŃKx5:/͚K[ͮmmrO}m &SS~S/$t3RܢIJĖ>S/$uiNȹnxւO t$!Б*h)BRBhJfU[+k|u@*W۔PXYce䎸 )1`Sz,wXLC >ס"USzewCBOJfU<ǯS{-t6Nt>))?):_nQAbYeK):4S\ŃKxEX;tƴ: S/$uiNȹnxցMІYceLhWo4$JZ6RBLhWo4%3*S]]kn|kcu_o7[ͮmmrO}m &SS~S/$t3RܢIJĖ>S/$uiNȹnxց[xC,Ic2G ^HWt4+V1cp tD5VewCBe_k˭mύlztż)e1:2GA:+(,K,Ic2G\|vohPC,Ic2G @hPHFP)$-A 4 ALʿci쯭S:%AҿAbF/_Q n)-e Y/! +Yt') YEFX$I*z(QQ R22=ߔP,Z-Ie)J]) .RHZtOZH%H:LRf+q: !eд$+Yt%vo-б*I RT;\hZH%H:LRfY fABtfRteX\#hX$I*e:h1o6T̥ ̽mO oe:h1o6 ̥ _ˠ$ [Bĩ$-H:IQ#vдJtͩ [B,tfRteX.,JBԃe.Apxi 3)H?3/iSɻ}.)r ƋAAJAҿAbJu>@)БbT$S  R22=SNAAJAҿAbX>,JBԃ1}DZH%H:LRf',>L2{E ̥ _ˠ,GpmD$-H:[K@H?ͼAҿAbA u>D$-H:W,H"AN@H$I*@h)IIJA{LڞS2^̫kY˄w fve/j=~!4ot#+]p :#1H:HJ]@h)bz8RHZtDOJti/s8"AN@, AAJA/RfU5GpmfRBЎ eu 4|A߭))> .Ab2ԃgUJ˭$2\ 6]{+k|%I*ADH:W,H"AN@5c;@<+V1cpH6"T$S$&e)KSn: . $L;\h%Ie)LH?WGYKڏ_wB:2Sk~L8T,A忌[͡t̩2 t%xk"I̫eqM^:#wA\ 6r-ײN?"^2$Kԃ~ .Ă 4|V1cp t¸5c;di޸ $LЮMp  %@ :) 3)H?0^pDO+qYtY fAAH? oe:h1o6MpK\4%Ie)LH?WGYKڏ_wB:2Sk~L8T, t[ż GW h)ϸB޸n:\xA ݾ*I RTS R2 %g@h)AH? ot[ynK\(:H3)H:eALʸ=ͼ^z(C쮸pDO;[e1:eSr-W\'.}zqě:&^:T]md@ x,n)_[\St2;\kt[żW)̫.ApxUoe+pI wu>{>RI {:4:H$LI _ˠ :!ՌX\Mp  %@ :) 3)H?0^pDO+qYtnK\(:H3)H:eALʸ=ͼ^z(C쮸pDO;[e1:e\'.}zqě:&^:T]md@ x,n)_[\St2xUo4i$2W)\ƀ:˚QK|i$2[X ?"^2$Kԃ~ .Ă 4|v\D$-H:IP"ANH%H:LRfDOnK\(:H3)H:eALʸ=ͼ^|(C쮸pDO oe1:.}zqě:&^:T]md@ |. },nI!4⾶Nt~R4~\Ҋ[I!4zFAI$ "^+Yt$JBԃjI e _ˠ+r̬ѡ\tvX XŎM. 2F5p!څ`H$I*\ef j@C ĐJti/s8t́9fVhƮ:;Pr̬ѡ\tvYB%Ie)LH?WLǯ9fVhƮ:;P[]+;IALʓ/RWI*W. tJLʻVp7eY{{ Ϸ2:H$LI _ˠ,[@żڈC,Ic2G ^HH$I*b-RA*AfR~f^6v\;1o6%X$y#).bۥ^قĨ4:y)!jL$2 e\S]]kn|Txk[Y)j>IALʓ/RWI*W. tJLʾS/'e䎃gUJMD RWK.i[He+S-z&Ԁ:˚QK|i$2[X ?"^2$Kԃ~ .ı GW -C,Ic2G ^HWt4$JBԃ1 GW -H%H:LR4`\#h!+(,K,Ic2GvS/$\ŃKx8Phu2RBy!H?b򡠲hJ Rz2* mge:o\ϭSfTj^O$nGAb2ԃgUJ˭$2n)y#s Tkxmuy^*5L^ [tyN?u]$:܄@ t數m$\һGW k<̨4~\Ҋ[I!4zFAI$ "^+Yt&I|B޸ $LБ*I RU@$վ) 3)H?0^rnKjY f$2^̫k˭mϚ q_[_D/|ǯ+ 5 eIΫ+ŗ[Y:H%H?e^7EVT^7;[7Yf/(t:TZnB tJLʺYsJ6C.i]}ku>{?[^y4~\Ҋ[I!4zFA3%@騁A*A3*_nQAbG  QՌX\DzA1` xA &I Wt;ǂ5$KԒ&TzteX2Ė>S/$pewCBD$-H:IP}h v\A*AfR~aݾZ](,q%Ls-%AI We Cyʆ*5?[!%X$y#2YpY\ [nU\X;t0XS/$22.盔 e$+}Ee;,|^HL\VEaL2jhEf.bۥ^قĨ:y!u M0ͩ\Bԃ2^̫k˭mr:/v\8żW)A׉꟔IALʓ/RWI*W. tJLʾS/'e䎃fU^T4QQn)Lm{(+k2~z\5n~:#trTfU6ݾ1o6u>GA3%B!:H%]+(,K,Ic2Ge2.<ܪe vo`*^Heed]p-7("3]pI RWr盕5ͩn:ut:T)bUҾܢIJĖ>S/$|^K.+"끰y4"3]p1`/lbTLˀȺ&eԂDYFk !jA3*_(QڞˀȺ L2jy#~:#zDʐt/R, Z e;,|^H RHZtnH%H:LR4\>%X$y#).bۥ^قĨ4:y)!jLCAeПJr ,wXLy, -7*YFk,[,JpY\Ks\BҾܢIJĖ>S/$|^K.+"끰y4"3]p1`/lbTLˀȺ&eԂDYFk !jAAJA/RfU5ֶimpc-ײNt>L8T^H:LRfTzLIPYuTfUy< 6S/$t2b򡠲oqMco7kEF_[_)t#)ΫV$2)u_$n^:#tM$%X$y#2YpY\ [nU\X;t0XS/$22.盔 e$̫9Ksf7ˀȺ:WI*ܱA*_nQAbYeK)>S/%uD ښe vo`*^Heed]pL2jA",5 qMMOeed]pyGAI$ "^+Yt$>YceL*I RTZ ڊH%H:LR4@>(,q%Ls-%AI We䄠 ̥ 闩3*[s܄~#v7k|CiLڏ^Wu eu>y#v:LRfTzLIPYuTfUy< 6S/$t:TZnB tJLʸ#7k1cx\2PmrO}m|^H?"^2$Kԃ~ .ćֆ5x,wXLC  %A^$T̥ I{ j!+(,K,Ic2GvS/$\ŃKx8Phu2RBy!H?Cyʆ*5?[!%X$y#2YpY\ [nU\X;t0XS/$22.盔 e$+}Ee;,|^HL\VEaL2jhEf.bۥ^قĨ:y!u M0ͩ\Bԃ2^̫k˭mr:/1o6u>P~ ke1:2GAb2ԃgUJ˭$2n)y#s Tkxmuy^*5L^ [tyN?u]$:܄@ qMbk_ZOLIPD WJr ,wXLy, -7*YFk,[,JpY\Ks\BԃfUwGm3j|eed]pΫ nX@ t(,q%)ˀȺl"i^mM\X;t0XS/$22.py QHZLʸ&v2.wG ڞH߭tyN?"^2$Kԃ~ .ćֆ\#h $JBԃֆ\#i$&e)K $LZp [͠$2 e\:܄~.xż^}mrOt̩2 trTfU6.xż^}mrOy˚T {C.i] [Y]P?"^2$Kԃ~ .ćր{4C,Ic2G ^HWt4$JBԃր{4H%H:LR4l_\>٤ܢIJĖ>S/$we2EX;t0XS/%$-_)Cyʆ*5?[!%X$y#2YpY\ [nU\X;t0XS/$22.盔 e$+}Ee;,|^HL\VEaL2jhEf.bۥ^قĨ:y!u M0ͩ\Bԃ2^̫k˭mr:/͚K[ͯe}mrO;Z}mxLqNLt̩2 t%xk"I̫mp7e䎃fU^T4QQn)Lm{(+k2~z\5n~:#trTfU6fk_[\St:T)bUҾܢIJĖ>S/$|^K.+"KsʡQ뀹nq{f e\VERr",5 pG)ny][Lڟ&pY\A3%B!:H%]+(,K,Ic2Ge2.aSB,5s-%A \"i^mH$Ef2)I 4/67]S:H$LI _ˠ!S   %AS IIJA3AN:2^̫k˭mrON:LRfTzLIPuiA*A3*\] W){5쯭U y:kԃK.i@@8 (AA \ҒCܤRYsJA0  H(4t˚RH{K.i@@ph  @$@ @p@`@)!4) ש$KԒ&TzteXSz,wXLC  %A$&e)KS{AOBW۔PXYce^Hnq{f e䤅2B^T4QQ ܱ(,q%)ˀȺRrEf.bۥ^قĨ:y!u<ܠH(u$-A]+(,K,Ic2Ge2.aSB,5s-%A \"i^mH$Ef$2 e\S]]kn~V1|[ͯe}mrO;Z}mxLqNLt̩2 t%xk"I̫mp7e䎃fU^T4QQn)Lm{(+k2~z\5n~:#trTfU6>׼bm{+k|gUJ7,B tJW۔PXYce䏔eed]p)nyT"3]p1`/lbTLˀȺ [nP$Ef2-7+>kiSt.+"?u]$Sr"I}Ee;,|^HL\VEaL2jhEf.bۥ^قĨ:y!u M0ͩ\BԃfU6P 6=uú>&eFku>GAI$ "^+Yt$>6-ż  %Avo-H%H:LR4H6>6-ż AAJA/RfU5ֶimwA忌[ͮU)IALʓ/RWI*7!:H%H?e\Sk-bmr>Nϼe*!4\(t/RHR%AҿAbCCa q%4:y!]Б*I RTZ IIJA3Ca _nQAbYeK);y",[,JC A TkB~,B=+(,K,Ic2Ge2.<ܪe vo`*^Heed]p-7("3]pI PWJr ,wXLy, &eЋ(u\ŃKx8Pu2C.+"aR e$Ie)LH?WGZ۟#u_t68żW)A׉꟔IALʓ/RWI*W. tJLʾS/'e䎃fU^T4QQn)Lm{(+k2~z\5n~:#trTfU6}g^:#tM$%X$y#2YpY\ [nU\X;t0XS/$22.盔 e$̫9Ksf7ˀȺ:WI*ܱA*_nQAbYeK)>S/%uD ښe vo`*^Heed]pL2jA",5 qMMOeed]pyS/$|^K.+"끰y4"3]p1`/lbTLˀȺ&eԂDYFk !jAAJA/RfU5ֶimpcpk_[\Sֺ[^&SS~S/$t&)3*LH?u]$ ^,ȁA*A3*L_):W1yPYEFY1좣[쯭pպG|gUJMD RW:/-ײN?u]$Sr"I}Ee;,|^HL\VE盕B,5s-%A DYFk !jA3*Rr涙>M@?2.gUJ7,B tJW۔PXYce䏔eed]p64/6YFk,[,JpY\D ڐH(u$-H?e\Skj;SpY\;{i^mO$oֺS/$pewCBD$-H:IP}h,m3RA*AfR~aAAJr ,wXLݔ1`/lbTL|^HR /* (քnXzW۔PXYce䏔eed]p)nyT"3]p1`/lbTLˀȺ [nP$Ef%X$y#2YpY\ M0ͩQ뀹nq{f e\VE.4/6"3]pI R Rz2).?+MGkdi-*k|ACkcuOe䎃 eIΫ+ŗ[Y:H%H?e_)Sk2GA3*/* (7&6vTk}y?ZA.B?ZOLIPuiA*A3*\X$LU)Ϋ nX@ t(,q%)ˀȺRrEf.bۥ^قĨ:y!u<ܠH(u$-H?e\[nWt|6ɸ\VELIPD WJr ,wXLy, &eЋ(u\ŃKx8Pu2C.+"aR e$̫m|mGj{.+"t|/|M0ͩG|%I*ADH:W,H}hu=z (քRHZtz(QQIIJA3C YEF %Ie)LH?WGZ۟#pQQ eWyS/$we2EX;t0XS/%$-_)b򡠲hOG}Ee;,|^HL\VE盕B,5s-%A DYFk !j _nQAbYeK)>S/%uD ښe vo`*^Heed]pL2jA",5 ̥ 闩3*[s܄~my쯭Sk]))?):&^:T]md@ |^OqM̫h,[SkQQWejjku>GA3%Aզ"I̫mpck_[\St:T)bUҾܢIJĖ>S/$|^K.+"KsʡQ뀹nq{f e\VERr",5 pG)ny][Lڟ&pY\A3%B!:H%]+(,K,Ic2Ge2.aSB,5s-%A \"i^mH$Ef2)I 4/67]S:H$LI _ˠ!SA"T$> pi$&e)Kβcot7ցNM ̥ 闩3*[s܄~\W)$nGAb2ԃgUJMD RWpk_[\St/RHR%AҿAbC@@ tܢIJĖ>S/$we2EX;t0XS/%$-_)Cyʆ*5?[!%X$y#2YpY\ [nU\X;t0XS/$22.盔 e$+}Ee;,|^HL\VEaL2jhEf.bۥ^قĨ:y!u M0ͩ\Bԃ2^̫k˭mr:/qk_[\Sֺ[^&SS~S/$t&)3*LH?u]$ ^,ȁA*A3*L_):W1yPYEFY1좣[쯭pպG|gUJMD RW:/qk_[\St:T)bUҾܢIJĖ>S/$|^K.+"KsʡQ뀹nq{f e\VERr",5 pG)ny][Lڟ&pY\A3%B!:H%]+(,K,Ic2Ge2.aSB,5s-%A \"i^mH$Ef2)I 4/67]S:H$LI _ˠ!A"T$>P)$&e)KβcoJr ,wXLܸ ѦPnq{f De$֊e ̥ 闩3*[s܄~2u>GAb2ԃgUJMD RW4W)$KԒ&TzteX!ż  %M\C.Ay R2 %g&v!ż AAJA/RfUTvV}]DI"eH:HJ]h v\eK)8hu2B\%I!jAJZ]Jti/s8tրo!+(,K,Ic2GvS/$\ŃKx8Phu2RBy!H?CAeФ-OG}Ee;,|^HL\VE盕B,5s-%A DYFk !j _nQAbYeK)>S/%uD ښe vo`*^Heed]pL2jA",5 ̥ 闩3*[s[b7oÌ[ͮmmrO}m &SS~S/$t&)3*LH?u]$ ^,ȁA*A3*L_):W1yPYEFY1좣[쯭pպG|fU-qMMpk֎gUJ7,B tJW۔PXYce䏔eed]p)nyT"3]p1`/lbTLˀȺ [nP$Ef2-7+>kiSt.+"?u]$Sr"I}Ee;,|^HL\VEaL2jhEf.bۥ^قĨ:y!u M0ͩ\BԃfU6P 6=uú>&eFku>GAI$ "^+Yt&50ݠYceLhW$nH$I*h 7i$&e)K2>50ݠ(,q%Ls-%AI We /* (օ -OG}Ee;,|^HL\VE盕B,5s-%A DYFk !j _nQAbYeK)>S/%uD ښe vo`*^Heed]pL2jA",5 ̥ 闩3*[s[b#vż)e1:2GAb2ԃgUJ˭$2n)y#s Tkxmuy^*5L^ [tyN?e\bmp7k֎gUJ7,B tJW۔PXYce䏔eed]p)nyT"3]p1`/lbTLˀȺ [nP$Ef2-7+>kiSt.+"?u]$Sr"I}Ee;,|^HL\VEaL2jhEf.bۥ^قĨ:y!u M0ͩ\BԃfU6P 6=uú>&eFku>GAI$ "^+Yt&50ݠűHݠ *I RUnbIIJA3Oh 7h1lm7k7h(:H3)H:eALʸS/%uD ښe vo`*^Heed]pL2jA",5 qMMOeed]py5S t7|S!?[!zKh$Ef2^̫UON:LRfTzLIPYuTfUu>@)О\] W){5ko}:bmD /r˚P(4@@ Ph$!4){\ҁ@ @H@ $2攒 /r˚P0H (AA 4P(4pJHe)$=AH5A3%B!:H%\5PH(u̫mrOauOt|/zYsJ H@ $2 ` @@ Ph$!4y˚P0H (AA 4P(4pJHe(t/RHR%AҿAbcZ }BeK)8hu2B\$JBԃF^T̥ I{[ƴ^%}Ee;,|^He䋘vo`* ^JHZS/$) /* (օ OA?[!%X$y#2YpY\ [nU\X;t0XS/$22.盔 e$+}Ee;,|^HL\VEaL2jhEf.bۥ^قĨ:y!u M0ͩ\Bԃ2^̫k˭mύlz>׼bmwCok|Ci2Sy#1H?ReA3%@JeD RWe7m|^H?e\CAe]dnײoS/'W?eVG]S:W\ 6O_oƴt:T)bUҾܢIJĖ>S/$|^K.+"KsʡQ뀹nq{f e\VERr",5 pG)ny][Lڟ&pY\A3%B!:H%]+(,K,Ic2Ge2.aSB,5s-%A \"i^mH$Ef2)I 4/67]S:H$LI _ˠ1 x1o6eK)8hu2B"T$5vo-H%H:LR4e|kC`r [͠(,q%Ls-%AI We /* (քnXzW۔PXYce䏔eed]p)nyT"3]p1`/lbTLˀȺ [nP$Ef%X$y#2YpY\ M0ͩQ뀹nq{f e\VE.4/6"3]pI R Rz2).>5^:=LHݨMt|K5Yuño|zYsJhl[ysJAk|eqk~/2SEFt&)3*LH?u]$ ^,ȁA*A3*L_):W1yPYEFY1좣[쯭pպG|gUJ7,B tJW۔PXYce䏔eed]p)nyT"3]p1`/lbTLˀȺ [nP$Ef2-7+>kiSt.+"?u]$Sr"I}Ee;,|^HL\VEaL2jhEf.bۥ^قĨ:y!u M0ͩ\BԃfU6P 6=uú>&eFmrODI"eH:HJ]hl[y XŎN?"^2$Kԃ~ .ƴ6,wXLC RHZtֆRA*AfR~a-Z Jr ,wXLݔ1`/lbTL|^HR TkBt7[͠Jr ,wXLy, -7*YFk,[,JpY\Ks\BҾܢIJĖ>S/$|^K.+"끰y4"3]p1`/lbTLˀȺ&eԂDYFk !jAAJA/RfU5ֶƶ=|XCh>[ͮmmrO}m &SS~S/$t&)3*LH?u]$ ^,ȁA*A3*L_):W1yPYEFY1좣[쯭pպG|fU-qMo_oƴt:T)bUҾܢIJĖ>S/$|^K.+"KsʡQ뀹nq{f e\VERr",5 pG)ny][Lڟ&pY\A3%B!:H%]+(,K,Ic2Ge2.aSB,5s-%A \"i^mH$Ef2)I 4/67]S:H$LI _ˠ1. q%4:y!]ЮxH$I*hpIIJA3OhpJr ,wXLݔ1`/lbTL|^HRb򡠲hR1o6~,B=+(,K,Ic2Ge2.<ܪe vo`*^Heed]p-7("3]pI PWJr ,wXLy, &eЋ(u\ŃKx8Pu2C.+"aR e$Ie)LH?WGZ۟cpk[\S[H?꟔IALʓ/RWI*W. tJLʾS/'e䎃fU^T4QQn)Lm{(+k2~z\5n~:#qySk-Ϋ nX@ t(,q%)ˀȺRrEf.bۥ^قĨ:y!u<ܠH(u$-H?e\[nWt|6ɸ\VELIPD WJr ,wXLy, &eЋ(u\ŃKx8Pu2C.+"aR e$̫m|mGj{.+"t|/|M0ͩG|%I*ADH:W,Lk@Bˠj,w[xH$I*hYt R2 %gn t] ̥ 闩3*[s[^:?okctAb2ԃgUJ˭$2\ 6]{+k|%I*ADH:W,LkAdi,wXLC ՌX\ hH$I*h,m3RA*AfR~a-Z $LЄ(,q%Ls-%AI We t7h,ZH6bmnXzW۔PXYce䏔eed]p)nyT"3]p1`/lbTLˀȺ [nP$Ef%X$y#2YpY\ M0ͩQ뀹nq{f e\VE.4/6"3]pI R Rz2).>5:/ fy ScuOe䎃 eIΫ+ŗ[Y:H%H?e_)Sk2GA3*/* (7&6vTk}y?ZA.B?ZOLʸżn)di-Ϋ nX@ t(,q%)ˀȺRrEf.bۥ^قĨ:y!u<ܠH(u$-H?e\[nWt|6ɸ\VELIPD WJr ,wXLy, &eЋ(u\ŃKx8Pu2C.+"aR e$̫m|mGj{.+"t|/|M0ͩG|%I*ADH:W,LkCr Ƅv\D$-H:ITkCr ƤT̥ I{[ƴ: ~&R7x^ eIΫ+ŗ[Y:H%H?e_)r 7~K.i[He+St4He+޶AѡDI"eH:HJ]hu=z (ք:%I!jAJZO^e*5 3)H?0^q\2eЇC}TkBPtfRtԃqMtyuz+EF+_׎7_[H?ejku>BֺS/$|^K.+"끰y4"3]p1`/lbTLˀȺ&eԂDYFk !jAAJA/RfU5ֶƶ=|Xxż)e1:2GAb2ԃgUJ˭$2n)y#s Tkxmuy^*5L^ [tyN?e\bmp7mykGA3%B!:H%]+(,K,Ic2Ge2.<ܪe vo`*^Heed]p-7("3]pI RWr盕5ͩn:ut:T)bUҾܢIJĖ>S/$|^K.+"끰y4"3]p1`/lbTLˀȺ&eԂDYFk !jA3*_(QڞˀȺ L2jy#~:#zDʐt/R, +qe;,|^H pj,w[xH$I*hT̥ I{[ƴ tܢIJĖ>S/$we2EX;t0XS/%$-_)b򡠲hR+qh'r#ҾܢIJĖ>S/$|^K.+"KsʡQ뀹nq{f e\VERr",5t(,q%)ˀȺl"i^mM\X;t0XS/$22.py QHZtfRtԃqMtyu_1~;]:=AL8T^H:LRfTzLIPYuTfUy< 6S/$t2b򡠲oqMco7kEF_[_)t#)̫[ͮ\ tż~5tM$%X$y#2YpY\ [nU\X;t0XS/$22.盔 e$̫9Ksf7ˀȺ:WI*ܱA*_nQAbYeK)>S/%uD ښe vo`*^Heed]pL2jA",5 qMMOeed]py Method Index for com.ibm.record.AnyField

Constructor Index

AnyField()
AnyField(boolean)
AnyField(String)
AnyField(String, boolean)
AnyField(String, Object)
AnyField(String, Object, boolean)
AnyField(String, Object, Object, boolean)

Method Index

addPropertyChangeListener(PropertyChangeListener)
cacheValues(IRecord)
checkConstantValue(IRecord, int)
equals(Object)
getBoolean(IRecord, int)
getByte(IRecord, int)
getByteCache()
getBytes(IRecord)
getChar(IRecord, int)
getConstantValue()
getDouble(IRecord, int)
getFieldKind()
getFloat(IRecord, int)
getInitialValue()
getInt(IRecord, int)
getLong(IRecord, int)
getName()
getObject(IRecord, int)
getRelativeOffset()
getShort(IRecord, int)
getSize()
getString(IRecord, int)
getType()
hasConstantValue()
hasInitialValue()
isReadOnly()
removePropertyChangeListener(PropertyChangeListener)
setBoolean(IRecord, int, boolean)
setByte(IRecord, int, byte)
setByteCache(byte[])
setBytes(IRecord, byte[], int)
setChar(IRecord, int, char)
setConstantValue(Object)
setDouble(IRecord, int, double)
setFieldKind(int)
setFloat(IRecord, int, float)
setInitialValue(IRecord, int)
setInitialValue(Object)
setInt(IRecord, int, int)
setLong(IRecord, int, long)
setName(String)
setObject(IRecord, int, Object)
setReadOnly(boolean)
setRelativeOffset(int)
setShort(IRecord, int, short)
setString(IRecord, int, String)
setType(IAnyType)

Field Index

byteCache_
changes_
constantValue_
fieldKind_
fieldName_
initialValue_
readOnly_
relativeOffset_
="co k,a$7I6v6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anyfixedlengthrecordtype.htmlht$$ com.ibm.record.AnyFixedLengthRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.anyfixedlengthrecordtype_dsc.html#_top_">com.ibm.record.AnyFixedLengthRecordType (no frames)</a></b></p> </body> d.any l]$7I6v6$@r./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anyfixedlengthrecordtype_dsc.htmlminalr$$   deort.<>acilns "/bfhmpu=R_gvxy#(),ACEFITw&-:;DOUjq BNPSHLVk'014J[]+39MW|!258?Gz7YP3mW;OAŖ"V\.kǖ]@B޲HQY$(x0Px JmCD*6Y$Bg;u5Qp%\6aQ] higiv̍hFR !@5BSɶ9 h$C8 'I kdcq)pP H(^_K$u2VI 20cmJ+%000HS<} (^Zb#R὏p +0)j^M`{ POz t (Y$'Z2IB+hgJYuK4NBv+Ql_S9F+r'i)adc38zb4IL{F51j*-g;(%1=,-Χ{!<\Ej.'ZZY$apՒA$(F7ВcŽsXR#Dz1NSo%!p 3NMQ$(npVI C)dsRRZRX2@NQ5{ 16`2-Ix8c/d$`2-$I#@0 S9F)z\am䥐Сs=RgJB<@zزH$?e3hgJYи(\ũ;Ox8q) иԈB[IG`0 sSlӔK >GM 'i=.06RahmB[IG`0 =.06RR4TBC)ddz#Ns{ dcb<9ê@=@f*y"Хb#NLz4IMNSo%,6tz.bԝ^X\G = QlY$~ǩD=.06R@yR;)Сs=R<9ê@=@f*y"ХŒBH,t{^T~\9]yͼ> ={4=Ak|E?AFj?Nh2IЍfB~Vms]O5ȅvB~v3kϧQ$s]O5;-vC>xE*?NРHS ogm䤒8z t}9{#WA!=2 pϭ:$F;̯ck15BY$(Y$) >M)j-$ $.Ey48YHTdՀg;(%6K=9MpiM 'i pmBJX\8uH ӅSo$@zذHS+@G[Lڏd=um{7076~BI X sSlӔK <}@fPRvppP H(!ВR4T(,!ВHS+@G[Lڏd;d^> =MТH.Ӿ^(S\kz h ts I$(z!Gbp,?=i<>C!E $KI X sSlӔK <}@fPRvvL:! NSo%!p|L:*- S$?T g5NPf:Q̨om"G)$Հg;(%6K=9MpiM 'idsn6K=9MxsĽ'qR2|- S+;HS+.f=SݬuxMq溟> >$s*y>;QI$*u`*4IMNSo%,\:vSo'GB-I{2|9mzry) S$d9 s:ذu>BI#Ls]OPBf:Q̨i$|O-rI X sSlӔK <}@fPRvvM!!!FgJCSo$+ĽQnM!!!F[*y!]Ю 0MВHS+Fm:oǣ]S@MbI!STvQJmzry)d/ Ӳy:= 1jN@X5{ 1  )t EbF)IeN[X{Q7FSP|OT{2Qp>$NS9F)z\am䥐kT3Nm(\ũ;Ox8зdht4 $ {@gCT[IeG!v= }CyΆo>_)zHTU3hgJYuK4NBZLClӔHxmwCBJX(, P5eO6zWm䤒:Le$q)@yR;)Сs=H=S Kw]z\am<.ÝOu>T[:x\:!$WAmG|iN)5;QI$*u`*4IMNSo%,\:vSo'GB-I{Chq)T  PEEa⩷@ $2ty\Gj9C1"swC*5 Ө>B١ NSo%!⩷ ١%.5϶jbSo$+}BI#LM_ Fkzkj1I$*u`*4IMNSo%,\:vSo'GB-I{ZkǣA NSo%!⩷ b^ H(e7BJ\kCsiEa⩷  $24k~A?cѮƶĒBVD=.06R5ê_Pe6tz.bԝ5Іq)T wCBJ\kC-MhWt4$?TѬEoAAނ;ڌoI X sSlӔK <}@fPRvxր{q)T wր{ńHWt4+0$?TѬEoA Qv5$:Le$q)@yR;)Сs= ClӔHxmwCB1X 0MВQn, R4TŒBX\8uH ӅSo$@zY$) GApP H( $ZK$KIe|@G[Lڏd=um{7076~BI Ad$3В<9ê@=@f*y"РCBJZb!F,.Ü:i© = Qf,R#sx\8uH ӅSo$@zoA. hI$(2I ?TΏm;o;rwB:6|{y?GD]}:PT :HR $2KI!k"Qf,?S+1% n ut :ߧWm$?QrBBJ>똔ŒBŨY$~zӮbI ,Y$) >ɐS!z\am<.ÝOزHQdsY$) GAu>BvQJmzry)s T[u>B~#sSlӔNSo$SGPǺhsi u\ũ;Ox8Tu>D@=c!Hk - g;(%6K=9M6Mu>`dΎƇ6\Z@YKMSaHΎ4si uEa]Le$q)I}B59.bԝ^Xm: ; C]pQlY$(2I ?T\{9uz7ڎeC~So'q9I$ HS+Td_Q> ub#2k@溟?o]5)$TXb1vQJmzry)m|*XMm! 'i*y!ΧȀ( {4si uEd_ Ya;|GNɚp;6~BIbQf/D=.06S5?)>:;C]p1jN/me,U6CO[#G:;ͤ5ŒGe|@aߧW5~S$ΎǺNI$WbEsSlӔNSo$S >{C]p1jN/me,U6COzֆm!(,?S+Wf:t|/|k}u>z [XHNłcQf,?S+g;(%6K=9M|{PRvvL:! NSo%!p|L:*-k3hgJY> =m(\ũ;Ox8sESo$@zزHE֢VI .^HS<} )!ΧYX=.06RΧW0k@b@@`IKQlY$(Ųd9 7kY$!H"c6=!ΧYXsSlӔK溟"-I{,xsؾkI'qu>@vA?NS9F)z\am)kШ^c49.bԝ^Xm:"Р1ͤ5Ņu3hgJry&06ф뀹Rvq{h )b|֌$4si uEa]Le$q)I}1L9뀹Rvq{h )b|>ߔ9؆m!(,+D=.06S5^ƶ6\Z@YKMSaށ5Hk -$R!RG_ g57k>^(S\kyσ}:#ʆO-rI AdVz#:3}md@,ŒGe|S灸u>~2&jRI]Oq׳~\SL:PT]OH7kIbQf/D=.06S5T/FC]p1jN/me,U6COPzHh낋b#2Ƴ]w525?o=wm$?S1be_S9F)z\am)k mMm! 'i*y!ΧzhCG6\[I kuO5a&~\Sݬu CI$WbEsSlӔNSo$S >Hhsi u\ũ;Ox8Tu>@vAod CG6\[I|0|왩~S$ΎǺNI$WbEsSlӔNSo$S >{C]p1jN/me,U6COzֆm!(,?S+Wf:t|/|k}u>z [XHNłcQf,?S+g;(%6K=9M|{PRvvL:!f`ClӔHx\:!\Kw%-!ΧYXؾvS9F)z\am䥐#ܦNBZ@YK H04U6DJ-$\j.ed$3В2|9mzry) S$,b2|9Qf,R#sxtL:!qvGBvQJmzry)s T[u>B~#sSlӔNSo$SGPǺhsi u\ũ;Ox8Tu>D@=c!Hk - g;(%6K=9M6Mu>`dΎƇ6\Z@YKMSaHΎ4si uEa]Le$q)I}B59.bԝ^Xm: ; C]pQlY$(2I ?T\{9us(c@g~]T4>So'q9I$ HS+Td_Q> ub#2k@溟?o]5)$TXb1vQJmzry)m|*XMm! 'i*y!ΧȀ( {4si uEd_ Ya;|GNɚp;6~BIbQf/D=.06S5?)>:;C]p1jN/me,U6CO[#G:;ͤ5ŒGe|@溟> >sӫ6RIbQf/D=.06S5^ƶ6\Z@YKMSaށ5Hk -$TٿNk pus]O1$?S1`騁Y$T4IMNSo%,6tz.bԝ!Χ\CІq)u>BJ[&CO;#-k3hgJY> =m(\ũ;Ox8sESo$@zزHE֢VI .^HS<} )S@He:hcѠq)T pc/d$`2%-Edө$2d41ҋ1d2IL{̻}2S@He:hcѠ3hgJ]1jN/me,#`3"}CAۚY|iENti$_Q MDY$WvQJmzry)d07)Сs= E@1X 0MВ@X/dcvQJmzry)d07)Сs=R<> =MRb#/ZY$(z!La$opP h@IKQlY$(Ō {@gCTY$!H"coZ ΆBC)dz#LG!v= }CyΆo>_)zHR $2KIU"Qf,?S+Wc27jI#: YEHLD=.06RmƧGB-I{V }C@3%,eh[24:ؾvS9F)z\am䥐= NBZ@YK = H)EdE̬\dx0P6K=9MHWt4$,bVoAEHRK$&=]2}2 g;(%6K=9M).bԝ^Xxm䨶/6B#o5lkB~#sSlӔNSo%uEښC]p1jN/me,U6C.k".E/64si uEa]Le$q)Knk"끬sʡͤ5s=RSo$26.1G(4si uEdY$*^HS+5x ˷ zkj1I$p|~#*y!uR9HR $2KI!k"Qf,?S+MWm䤒?S+溟 Moq٦ƷNڏxՕ#n:ӫcѤGu}F,Uj9Y$T%Y̻}2k{7zHNň#:1}Le$q)Knk"끬sʡͤ5s=RSo$26.1G(4si uEd_ G+>kiStvEGu}F,@Yg;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.PBjCG6\[IQOmmd]p(!yAFПeǩD=.06Smmd]pFE/66\Z@YKMˀȺ QA ͩ C]pQlXWS9F)z\am)ۀȺkrsi u\ũ;Ox8T s C]pQlY$(2I ?T&b/z0~#$"vXxm\E\"^mHhI!H,?T/Y$WbcEHL6x_)HL|65 f}:So'?j>'VW$_N5FIU"Qf,?S+W g0~ǣ^u}$?S1be_S9F)z\am)ۀȺkrsi u\ũ;Ox8T s C]pQlY$WsnGu$_Q;,F ub4IMNSo%9MEaPBjhsi u\ũ;Ox8T Eڐͤ5ŒGe|@@j;SpY\;{^mO0ӝФG.^2HQrBIC+Cf6K=9MHWt4$,bVQf,R#s{Nfq3vQJmzry)vSo$\ũ;Ox8TQl_mGCy(cZ3hgJry- (뀹Rvq{h )bpY\p(!y!Hk - g;(%6K=9M6[pY\ cUm! 'i*y!u9z9AHk -$R!RG_ѬEoA 9zkj1I$p|~#*y!uR9HR $2KI!k"Qf,?S+MWm䤒?S+溟 Moq٦ƷNڏxՕ#n:ӫcѤGu}F,Uj9Y$T%Ys3cѯf:BIbQf/D=.06Smmd]p5z9T9.bԝ^Xm\E9m!(,?S+|9wGm7j|ۀȺHNň#:1}Le$q)Knk"0(!y49.bԝ^Xm\E\"^mHh낋b#2 u|j5 E/6?ΏRI#/ZY$(z!La$DClӔHxmwCBJZb!F,eh&1Y$) GAL}qDB4IMNSo%.m䋘'i*y*-MH]OQƴ'b1g;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.PBjCG6\[vQJmzry)m6.=C]p1jN/me,U6C.k"srG6\[I - B$2 XAނ&1zkj1I$p|~#*y!uR9HR $2KI!k"Qf,?S+MWm䤒?S+溟 Moq٦ƷNڏxՕ#n:ӫcѤGu}F,Uj9Y$T%Y1Ʊ׳~_GI$TXb1vQJmzry)m6.=C]p1jN/me,U6C.k"srG6\[Ikr涛>Q@gmmd]pI$WbEsSlӔNSo%uEښC]p1jN/me,U6C.k".E/64si uEd_:P5E^SG)$E̬\dx0P4!z\amAFПeǩD=.06Smmd]pFE/66\Z@YKMˀȺ QA ͩ C]pQlXWS9F)z\am)ۀȺkrsi u\ũ;Ox8T s C]pQlY$(2I ?T&b/z5Qv5$8[X>?NMˀȺ QA ͩ C]pI$)GZ$TXaIOq6RI]OQƷc[WmGټDdCkƱI#:*@,ŒGe|@ټk{7zHNň#:1}Le$q)Knk"끬sʡͤ5s=RSo$26.1G(4si uEd_ G+>kiStvEGu}F,@Yg;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.PBjCG6\[IQOmmd]p(!yQ@gmmd]pI$WbEsSlӔNSo%uEښC]p1jN/me,U6C.k".E/64si uEd_:P5E^SG)$E̬\dx0PT C $,bVH^8vF*,ŒBY$t1oacw=Z*y!{ڈcBC)dz#LNZB?Nײ1'9wy=ڏ6Ic>So')$Iej?S1bQDY$Wײ1'9wy=ڏ6Ic>So')$_Q MDY$WvQJmzry)d07)Сs=+ESo$/wb;Q {#2U6Bq#Dz1Ql_t;^ǩD=.06RanSo'GB-I{,x$|{*y"ХŒG.^2HQrBIC+@4!z\amP5eO6zWmkTiGDG>:>P5eO9Fq>k5 F:I+QG٘F5=I$)GZ$TXaIOq6RI0q?k1nA= XE$_QZB ub#2o0~xi) 6?NР0~{INI$WbCk1QI3hgJY= 1jNX2aQmzry)M` X2aQQl_t;^ǩD=.06RPRvq{h )ap = QlY$~Qs+$/Y$) >u>BĽ'qgJC<9 )j-$sY$) GAH=S tx0 $vQJmzry)s T[u>B~#sSlӔNSo$SGPǺhsi u\ũ;Ox8Tu>D@=c!Hk - g;(%6K=9M6Mu>azm ͤ5s=RSo$9CHh낋b!EHTdWRcj=S爻NuxMq溟> >WH溟=uvPߔERI!H,?T/Y$WbcEHLq׳~\S+ 6$_5n us]O̯ڔGu}F,@Yg;(%6K=9M6Mu>tz Ѭ{6\Z@YKMS@zހ=9زHL0}@fu>{̧@gdOuO}@fy?GI$TXb1vQJmzry)m|FCHk-I{,HsއZ0ͤ5ŒGe|@B]Su>|}}ɟW57kBĽ'qgJC<9 )yH=SE}{#sSlӔK >GM 'iahmB[Iz\!EI g%en: ?j! NSo%!⩷@ )j-$PEEHRK$&=g;(%6K=9M*Y1jN/me,@z fE+q6aQS9F)z\amMs=RSo%E)I0~0~^cPG i $R!RG_9֝sY#o0~xi) 6?NH= XGN:k5"I`fGuO7,Wmqiݝwr$+@A<ӮRI AdVz#:3}md@,ŒGe)@MGe|Ay@`ۆt}:B'VW$ߧWǣI$T=n usqz5kRIbQf/D=.06Smmd]p5z9T9.bԝ^Xm\E9m!(,?S+|9wGm7j|ۀȺHNň#:1}Le$q)Knk"0(!y49.bԝ^Xm\E\"^mHh낋b#2 u|j5 E/6?ΏRI#/ZY$(z!La$ֆmzry)MhWiزHQhab!He,:7Oha3hgJ]1jN/me,AFWMot>_)f+GoӫcѤGe|kp7:Nfqz5kRIbQf/D=.06Smmd]p5z9T9.bԝ^Xm\E9m!(,?S+|9wGm7j|ۀȺHNň#:1}Le$q)Knk"0(!y49.bԝ^Xm\E\"^mHh낋b#2 u|j5 E/6?ΏRI#/ZY$(z!La$ւmA NSo%!⩷ h )j-$ւmJ,ŒBY$t1onMc!Le$q)e6EZ@YKMHQ$k 4օG1ƱOӲcvQJmzry)m6.#SCHk-I{,Hemd]p(Ԇm!(,+D=.06Smmd]p5z9T9.bԝ^Xm\E9m!(,ZK$KIe|FQMc FcxHo`;,FAFWMot>_)f+GoӫcѤGe|kp7:&>=~5$TXb1vQJmzry)m6.=C]p1jN/me,U6C.k"srG6\[Ikr涛>Q@gmmd]pI$WbEsSlӔNSo%uEښC]p1jN/me,U6C.k".E/64si uEd_:P5E^SG)$E̬\dx0TkClІq)T s_lВزHQhs횢Y$) GA}BvQJmzry)vSo$\ũ;Ox8TQl_mGo5lkB#5Xh'b1g;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.PBjCG6\[vQJmzry)m6.=C]p1jN/me,U6C.k"srG6\[I - B$2 XAނ }@oAmF7$ӲcSo$26.PBjCG6\I AdVz#:3}md@,ŒGe)@MGe|Sin u{4CyAFWMot>_)f+GoӫcѤGe|kp7:k}ԒGu}F,@Yg;(%6K=9M6[pY\ cUm! 'i*y!u9z9AHk -$T_5z9][Mڟ(36.$?S1be_S9F)z\am)ۀȺ"^mMm! 'i*y!uR9زHL_(Gj{nk"t|/|QA ͩszHE֢VI .^HS<} *50!z\am ub#2n u|JI#2k 47:lk{M`7Y_lAFТHuz43hgJry- (뀹Rvq{h )bpY\p(!y!Hk - g;(%6K=9M6[pY\ cUm! 'i*y!u9z9AHk -$R!RG_ѬEoA:@oAmF7$ӲcSo$26.PBjCG6\I AdVz#:3}md@,ŒGe)@MGe|Sin u{4CykiStvEGu}F,@Yg;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.PBjCG6\[IQOmmd]p(!yc :*-Qq=z^^#E }-Eˆ vQJJKJK8ccV) iKSRRZR[`ʉpj1ƕ̼%1\ $0ep 0PR[Y$(.GY{I k$7I6v6$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anyfixedlengthrecordtype_mi.htmlminalr$$ Method Index for com.ibm.record.AnyFixedLengthRecordType

Constructor Index

AnyFixedLengthRecordType()
AnyFixedLengthRecordType(int)

Method Index

addField(IAnyField)
addFieldAfter(IAnyField, String)
addFieldAsFirst(IAnyField)
checkConstantValue(IRecord, int, Object)
equals(Object)
getAlignmentHint()
getBoolean(IRecord, int)
getByte(IRecord, int)
getChar(IRecord, int)
getDouble(IRecord, int)
getFloat(IRecord, int)
getInt(IRecord, int)
getLong(IRecord, int)
getObject(IRecord, int)
getRecordAttributesClass()
getShort(IRecord, int)
getString(IRecord, int)
packageBytes(IRecord, byte[])
replaceField(String, IAnyField)
retrieveBytes(IRecord, byte[], int)
setBoolean(IRecord, int, boolean)
setByte(IRecord, int, byte)
setChar(IRecord, int, char)
setDouble(IRecord, int, double)
setFloat(IRecord, int, float)
setInitialValue(IRecord, int, Object)
setInt(IRecord, int, int)
setLong(IRecord, int, long)
setObject(IRecord, int, Object)
setShort(IRecord, int, short)
setString(IRecord, int, String)
c kF$7I6s6$P~./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anytype.htmlhre$$ com.ibm.record.AnyType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.anytype_dsc.html#_top_">com.ibm.record.AnyType (no frames)</a></b></p> </body> ib lH$7I6v6$r./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anytype_dsc.htmlordtype$$    deort .<>acins/bhlmpuvy"C_f#&();=IRTgqwx,-:ADEFj BLOPSU[]J'04HVk13z!589?GMW2+7NY|XSn̮NW0 {8Ï;<,e_8LJNSM% . .`0+ Ck*LJZNz5 pچ2w\6rtnF18(% Bzcvͻ8y&I(AA 'ؔ/_SŔǺS-YN`xyRPU1(XeBȹ? *0P80 О PPPġmit(fك1cGv LjiW"k((>WuQ|(%/em(-[m+40S<ՔS`~e(,L$ho'(h`ʥ)lczk:)TNPJ+)Ecm ҊK,LW>xc%X}iS<% B36k]Ai@bh^bQYjy)גL&ޅ\&e^ J: m -O e:TC&.Q:Y@l.ʦ$(S Y]MkB2T5 Dв.ʦ DоՑ} K}IBXe^J(d'K(̀՚`!A!B]%ekM+x@d"m_uȾi^o|%nडsNPN VS%My2b]dB1̀՚bn,v$)(s,CZi[M q-oBVEL2{/su% `r uZy*l̡(,w6Vh} Ls`.uf* X`HRQY*ҷz6iP@}"y𗹺ΰ[y9CC:S-YN6PɋNP;w4>[t$(S Y *۫ J?\?P֚VoBƕmЁoBVEL2{/su% `r uZy*l̡(,w6Vh}BB1̀՚aՎ%ekM+x@ozp:/xa {)(\540S<ՔS`~e Dep:C cw4>[kB2T5 Dв&ޅ\&e^ J: m -O e:TC&.Q:Y@lӴ$(S Y jkB2T5 DаkNjl h@}"y𗹺ΰ[y9CC:S-YN6PɋNP;w4>o4$(S Yy J?\?P֚VoBMzp:/xa {)(\540S<ՔS`~e Dep:C|B1̀՚`F ̳U io6,|M YVڈK<ՔPhu:@܃, ̭S$ ?h Ф̳_]i7?+MG?AQD2P&@ AQk:{a?IK"AQlj=M%)ג% `r uZy*l̡(,xրeS`-O e:TN7"l25%T,v$4:y nET%ekM+x@d]M@}uF7J: m -O e:TC&.Q:Y@ uZy* ^H~PF?ic!r J?\?P֚VoB?h Dо:% `r uZy*l̡(,x֋%-O e:TN7q-Lh[ ^HRQY*ҷz[&ޅ)(\540S<ՔS`~e DeƴfUS-YNS$ ւ S$ J?\?P֚VoB 6/ΨIBXe^J(d'K(5­-O e:TN7UB25­u䁸ҭ~~ 4&ޅ*ۡ&ޅ)(\540S<ՔS`~e Deƴ6״iFK<ՔPhu:@Ӛi) (Qu䁸 @6IGgJ?^ҹ(s1RPko'(h`Yjy)ג<1rhl4%ZAju4:y nhPF6u䁻IGgJ"m[&ޅ)(\540S<ՔS`~e DeƴS-YNS$ ʸ dk@[kCCג\2T5 Dв&ޅ)(\540S<ՔS`~e Deƴ NЗYjy)גu䁸55E6 Ӵ(S#Z jkCCג1v%ekM+x@`1vzTcxsNPN VS%My2b uZy* ^Hě ցjkCCג&B2T5 Dиy&ޅ)(\540S<ՔS`~e Deƴ|]e^JCג֜(|25F u䁸%ekM+x@`F "m_kQ⒅%1([|] 9UDS;X,bf%Cq Pf% oKN%Ŏ% !%X1(YLJ9{NڞY% [ ġcġmit),v(Y8ŒJ?pȥ bP4  Bġmit(2B1cB`&e,r,̦%H)y,s2.JbQY|yue7j=Y|# JJc%1([|] .bkY ģ+IPf% oKM̬ŒP B$Ӛ)|+4d;P Ŏ% !̬ŒP Bcġfe1(AOw:= >Yx[ _VfVil(|vY|vX,s2.JbQY31>Yx[ _V})څg)% 1Gb%uk"X1(̳By52O%S Ϸ2%1c̱(XS`6Vh3,lB1cBcw4X vU6 % 3)G0 {eSa Y̲K J9LJ%1(s,J"mYeS`"m_uȾi^o|%nणJiZnB?+MGiQ% 1Gb%ur,rY`֕X%y)eBǒ- .9p:Ae HP,v(Y s`.uf2mՎCģi=܋lfY`­,s2.JbQYT5 Dб[t DоՑ} K}IG$܄x֕RP~.JbQgY 7!B!Gen iQbQǒX,y)B0Sw4Xl4$(S;X,9p:AeV9 JfSar.ʦùp:AeBBfSLJ?\8*ҷzh@}"y𗹺 (Ii*4f1(s,\ģ:βZnB C\:sLңK4ģ%1c̱(XS`6Vh3, )JC Y̲[!BbQ4ETw6Vh3, ,s2.JbQYT5 Dв&ޅ\&e^ J8$&#ƴҒģ̱rS\:`ui9 J?s,u0kJ,w\<ŏ2ġcLJA Y̲b Ŏ% !lfY`1vr,̦%H)]Ms`.uf2Ӵ$)(Xe1(\ģ̳kM+x@`֜( NЁoBVEL2{/su%POrZTiIBbQX)Gud0:܄A %u5F;iGJbǙbP% oKNlfY`A7)JC Y̲o5cġfe1(AOw"l;w4XM愅% ̦% ~pU io6.$h@}"y𗹺 (Ii*4f1(s,\ģ:βZnB C\:sLңK4ģ%1c̱(XS`6Vh3,#q Ŏ% !lfY`F bP2s vU6̀՚ ,|BfSLJ?\8*ҷzn>&ޅ\&e^ J8$&#ƴҒģ̱rS\:`ui9 J?s,u0kJ,w\<ŏ2ġcLJA Y]MHP,v(Y s`.uf vU6 % 3)G0 {eSa Y]MHRPbP)GgP֚VoBȻ*oBVEL2{/su%POrZTiIBbQX)Gud0:܄A %u5F;iGJbǙbP% oKNl Ŏ% !lX1(YLJ9SȻ*]cġrS2 4&ޅ~@}"y𗹺 (Ii*4f1(s,\ģ:βZnB C\:sLңK4ģ%1c̱(XS`6Vh}%)JC Y,!BbQ4ETw6Vh}%,s2.JbQYT5 Dз6/ud_p4/77_pRQ% 47!5F,%eYCMDbQg[iZTic昔~,y% JbP4 ]UAT)JC Y H*9 JfSar.ʦùp:CfU% ̦% ~pU io6.l oBVEL2{/su%POrZTiIBbQX)Gud0:܄A %u5F;iGJbǙbP% oKNlmАLXbP]aVX1(YLJ9SȻ*]aV J9LJ%1(s,J"mXҭ"m_uȾi^o|%nणJiZnB?+MGiQ% 1Gb%ur,rY`֕X%y)eBǒ- .9p:C NАLXbP]m;V9 JfSar.ʦùp:C NАcġrS2 4&ޅZsTS` m;BM Y?+MGiQ% 1Gb%ur,rY`֕X%y)eBǒ- .9p:C&BB1cBcw4>o5cġfe1(AOw"l;w4>o4$)(Xe1(\ģ̳kM+x@q&BM Y?+MGiQ% 1Gb%ur,rY`֕X%y)eBǒ- .9p:C|B1cBcw4>Acġfe1(AOw"l;w4>@$)(Xe1(\ģ̳kM+x@`F "m_uȾi^o|%nणJiZnB?+MG4ic昤f1(s,\ģ:β]mdA %|^Ok:TYƾ?&v4놵|>\IiETokR\9(~Mw\#Qm;~ucrDGTYCMDbQg[iu1(cLX,J<ġmit*MiQ 樦A@1v bk5Ecġfe1(AOw"l=Ң oIB3)B%e<ǗZMϚ xߤ+yܯB&P% 1Gb%uk"X1(̳YPu{ N$':βZnB C\:sL6;i~]6(c~_O2YCMDbQg&i]M9^&e)(γ%B!m -O e:UuȾ5(ܪu De0`S$]Ⱦ k7(&3_pXbQgyFwm;j|uȾण:βNXA u40S<ՔVS%"y4&3_p1r`L^HՑ} M0ͩ;XYɯ"mGj{VE^aS?/̥%y)eBǒ- .VS-YNS$ ?h …1cB`h~!BbQ4A\B?h%m -O e:T^HɋNP8ͳ `hu:V;Yy dr4( NXz)ZAju)גՑ}k^QT&3_p1r`L^HՑ}הnP,Mf7[y9CC:S-YNe:]p:/aSBn5(,qf u䋸YD ڐX}cB3)B%eCZi[M oB\opIBM>?I^HՑ} M0ͩ,%eYCvK!cģ2ϔ~M|^J\9sk~ncOk_C5p:jRAQ75)IGud0:܄A %pkVA\m{y:βNXA u40S<ՔVS%"ּrMf2b3lNw"1(ܠX}cGeƵ5n>"\:`y9bQ,rNPN VS%YN\&eЛ}d'K(fك0:y"VE&4/6&3_pXbQg&PY;{i^mO ?O2~,y% JbP4 !Z,K<ՔPhu:@܃,(S;X,V%bP2s Kp%m -O e:T^HɋNP8ͳ `hu:V;Yy dr4( NXz)ZAju)גՑ}k^QT&3_p1r`L^HՑ}הnP,Mf7[y9CC:S-YNe:]p:/aSBn5(,qf u䋸YD ڐX}cB3)B%eCZi[M q-oB\opIBM>?I^HՑ} M0ͩ,%eYCvK!cģ2ϔ~M|^J\9sk~ncOk_C5p:jRAQ75)IGud0:܄A %pkV[m{y:βNXA u40S<ՔVS%"ּrMf2b3lNw"1(ܠX}cGeƵ5n>"\:`y9bQ,rNPN VS%YN\&eЛ}d'K(fك0:y"VE&4/6&3_pXbQg&PY;{i^mO ?O2~,y% JbP4 !Z H*]e^JCגaBġd0BfU,r,̦%H)fUq UATr uZy*~S$d'K(fك04:y+N2Q?k~'1@XWrģNPN VS%YN\Zʡ7QɋNP8ͳ `u:EƼrbn5)ZAju)גՑ}D ښu De0`S$]Ⱦ&eԂFk J9LJ%1(s,J"m\٤A&ޅ)(|~%Nw"aR u)(YJ?\%1(γƗ[YB!Ge)דI՛RrڏIJJ?s!զ"X1(̳\[wҍc~_O2YC!cζr uZy*uud_pהnU L\tm0Sג.ud_p5 u,v(̳xּr涝>MCud_pRQgY ',J C:)ZAju)גՑ}D ښu De0`S$]Ⱦ&eԂFk J?s,6="||/|M0ͩR<ŏ2ġcLJA+Ca. VS%ArLXbP!Z X1(YLJ9S Е40S<ՔSy#&.Q:Y@6)Xgu䁒r4( NXz)ZAju)גՑ}k^QT&3_p1r`L^HՑ}הnP,Mf7[y9CC:S-YNe:]p:/aSBn5(,qf u䋸YD ڐX}cB3)B%eCZi[M |4 Dо:%POrģéג.ud_paL2jAbn5% 1Gb%uk"X1(̳:x_)ג2A@Ɵ<ۘMw\ڔ~}M}&eK)IGJbǙbP% oKB-@%ZAju4:y nA@P)JC+@[!BbQ4UCV40S<ՔSy#&.Q:Y@6)Xgu䁒?h,+9bQo'(h`Yjy)ג^KVEyFP}d'K(fك0:y"VEc^Q@7Qkm -O e:UuȾl"i^mM L\tm0Sג.ud_paL2jAbn5% ̦% ~pU io6,@}uF7J8$&GS$]Ⱦ&eԂFk Jc2LJ?s!;qDbQgu?&S%IGe9?y5?k1\5!Y)G y:βZnB C\8y5+No*!iFױIJJ?s!Dg[y9CC:S-YNe:]p:/ k7*Fk&.Q:Y@6)p:/;XY&eK)IGJbǙbP% oKB1vS-YNS$ ?h …1cB`h @6% 3)G0 { @6B NЕ40S<ՔSy#&.Q:Y@6)Xgu䁒A\9< ¾%r uZy*uud_pהnU L\tm0Sג.ud_p5 u,v NPN VS%YN\&eЛ}d'K(fك0:y"VE&4/6&3_pXbPbP)GgP֚VoBb6/ΨIG$(u䋸YD ڐX}IBbQX)Gud0n4Ȃ9 J?s,Nu(̳~'1?&v4놵|>]6(c~_O2YCMDbQg&i@6m{y:βNXA u40S<ՔVS%"ּrMf2b3lNw"1(ܠX}cGeƵ5n>"\:`y9bQ,rNPN VS%YN\&eЛ}d'K(fك0:y"VE&4/6&3_pXbQg&PY;{i^mO ?O2~,y% JbP4 !Zy. VS%ArLXbP!Zy% 3)G0 {I!Zy+o'(h`Yjy)ג:FL\tm0SCגϔ% A@ƞa_I[y9CC:S-YNe:]p:/ k7*Fk&.Q:Y@6)p:/;Xo'(h`Yjy)ג^KVEaL2jhMf2b3lNw"aR u,v(Xe1(\ģ̳kM+x@q&BM s1RQ% 4',J<:y"VE&4/6&3_pRP~.JbQgY ۍ. C\>S'y5y*J?s, iɮA]?|uͩJ9Gߤ̥%ur,rYɮZs|IsJ6M}_O2<:βZnB C\8&?AQD2P&e$yG Gk:T~,y% JbP4 ]@>Yx[ _VZsTE6Pef,BWjBġd3(:|+4d;PX1(YLJ9Sη.Π,;P J9LJ%1(s,]Q>Yx[ _Vqe&O+9O(YJ?\%1(γƗ[YB!GejɮfYq-rV}]JJ?XS<%1([|] }@!Q uZy* ^H~Bġd3+quEcġfe1(AOwike^J*[1r`L<7Zϕ:Cr uZy*~S$d'K(fك04:y+N2QA\9< GƍhRPbP)Gg%֓s܄{aۘ$KO3*5 i(y}&S'4+=ƣQy AQRP~.JbQgY ۍ. C\>S'y5y*J?s, iɮA]?|̠ (̳ѱ~M{65MriHK+BTYCMDbQg÷1?jMCud_pRQgY ',J C:)ZAju)גՑ}D ښu De0`S$]Ⱦ&eԂFk J?s,6="||/|M0ͩR<ŏ2ġcLJAZ-O e:TN7 LXbPCģi=܃/ƴ?h%m -O e:T^HɋNP8ͳ `hu:V;Yy diFWrģNPN VS%YN\Zʡ7QɋNP8ͳ `u:EƼrbn5)ZAju)גՑ}D ښu De0`S$]Ⱦ&eԂFk J9LJ%1(s,J"mYzTcxJiNXxu:EL"i^mH,Mfडf1(s,\ģ:β]mdA %|^Ok:TYiFkVA\m}%ur,rYI՛SiFQokR\:`y9bQ,rNPN VS%YN\Zʡ7QɋNP8ͳ `u:EƼrbn5%pOהnW||Ӷɸw\ J?s!Dg[y9CC:S-YNe:]p:/aSBn5(,qf u䋸YD ڐX}cGeMCud_pRQgY ',J C:)ZAju)גՑ}D ښu De0`S$]Ⱦ&eԂFk J?s,6="||/|M0ͩR<ŏ2ġcLJAZ H*]e^JCגfU bkւ Cģi=܃/ƴfUe^J1r`L ^Jk>S$ H*( NXz)ZAju)גՑ}k^QT&3_p1r`L^HՑ}הnP,Mf7[y9CC:S-YNe:]p:/aSBn5(,qf u䋸YD ڐX}cB3)B%eCZi[M 4 Dо:%POrģéג.ud_paL2jAbn5% 1Gb%uk"X1(̳:x_)ג2sJ6\H*(~5J?s!զ"X1(̳yv4놵|>]6ҍߤ̥%urĢX3e^Jy.YBn5(,qf u䋸YyFFk J?s,5(ܮmOqYYC!cζr uZy*uud_p64/6Fk&.Q:Y@6)p:/0y 7Qk\8y5MOuȾ L2jy%y%1c̱(XS`փ K<ՔPhu:@iV Ŏ% !mՎCģi=܃/ƴUBVNPN VS%Ou䌘De0`S%c)גJ?ƕmsJ6%r uZy*uud_pהnU L\tm0Sג.ud_p5 u,v NPN VS%YN\&eЛ}d'K(fك0:y"VE&4/6&3_pXbPbP)GgP֚VoBƕmЁoB\opIBM>?I^HՑ} M0ͩ,%eYCvK!cģ2ϔ~M|^J\9(~Mp ӛƕmsJ6ߍj\:`ui9 J?s,A]?|uͩ4i(75)IGud0<(9 o'(h`Yjy)ג^KVEyFP}d'K(fك0:y"VEc^Q@7Qk\8'k7+>kiS|;VE%urĢX3e^Jy.Y M0ͩ7QɋNP8ͳ `u:EL"i^mH,Mfģ2M|j;Sp:/w ڞAI|~e)(cLX,J<ġmit*5~CJ6]e^JCג֜( NСLXbP?^Ҁ!K% 3)G0 {@_hli@ҍ40S<ՔSy#&.Q:Y@6)Xgu䁒iP4h+9bQo'(h`Yjy)ג^KVEyFP}d'K(fك0:y"VEc^Q@7Qkm -O e:UuȾl"i^mM L\tm0Sג.ud_paL2jAbn5% ̦% ~pU io|i\mv)(|~%Nw"aR u)(YJ?\%1(γƗ[YB!Ge)ד&eK)IGJbǙbP% oKQ S-YNS$ Ŏ% ! r,̦%H)~5Е40S<ՔSy#&.Q:Y@6)Xgu䁒sJ6%r uZy*uud_pהnU L\tm0Sג.ud_p5 u,v NPN VS%YN\&eЛ}d'K(fك0:y"VE&4/6&3_pXbPbP)GgP֚VoB 6/ΨIG$(u䋸YD ڐX}IBbQX)Gud0n4Ȃ9 J?s,Nu(̳ҍ9sJ6ߍj\:`ui9 J?s,A]?|uͩ4i(75)IGud0<(9 o'(h`Yjy)ג^KVEyFP}d'K(fك0:y"VEc^Q@7Qk\8'k7+>kiS|;VE%urĢX3e^Jy.Y M0ͩ7QɋNP8ͳ `u:EL"i^mH,Mfģ2M|j;Sp:/w ڞAI|~e)(cLX,J<ġmit*5-@%ZAju4:y nU@(S;X,F,r,̦%H)~5-@%m -O e:T^HɋNP8ͳ `hu:V;Yy d\9( NXz)ZAju)גՑ}k^QT&3_p1r`L^HՑ}הnP,Mf7[y9CC:S-YNe:]p:/aSBn5(,qf u䋸YD ڐX}cB3)B%eCZi[M * "m_kQ⒎ (I9bQp:/0y 7Qģ̱rS\:`iu,rYy<ɯRQg9\ɮZsyWsJ6ߍj\:`ui9 J?s,A]?|uͩ4i(75)IGud0<(9 o'(h`Yjy)ג^KVEyFP}d'K(fك0:y"VEc^Q@7Qk\8'k7+>kiS|;VE%urĢX3e^Jy.Y M0ͩ7QɋNP8ͳ `u:EL"i^mH,Mfģ2M|j;Sp:/w ڞAI|~e)(cLX,J<ġmit*51vS-YNS$ 9)P @6Bġd251vr,̦%H)~51ve^J1r`L ^Jk>S$ m;y( NXz)ZAju)גՑ}k^QT&3_p1r`L^HՑ}הnP,Mf7[y9CC:S-YNe:]p:/aSBn5(,qf u䋸YD ڐX}cB3)B%eCZi[M Ӵ Dо:%POrģéג.ud_paL2jAbn5% 1Gb%uk"X1(̳:x_)ג2sJ6\ NsJ6ߍj\:`ui9 J?s,A]?|uͩ4i(75)IGud0<(9 o'(h`Yjy)ג^KVEyFP}d'K(fك0:y"VEc^Q@7Qk\8'k7+>kiS|;VE%urĢX3e^Jy.Y M0ͩ7QɋNP8ͳ `u:EL"i^mH,Mfģ2M|j;Sp:/w ڞAI|~e)(cLX,J<ġmit*5A7-O e:TN77)JC#Zy% 3)G0 {@_hM愭e^J1r`L ^Jk>S$ ě4h+9bQo'(h`Yjy)ג^KVEyFP}d'K(fك0:y"VEc^Q@7Qkm -O e:UuȾl"i^mM L\tm0Sג.ud_paL2jAbn5% ̦% ~pU io6.$h@}uF7J8$&GS$]Ⱦ&eԂFk Jc2LJ?s!;qDbQgu?&S%IGemp?&i&y(~5J?s!զ"X1(̳yv4놵|>]6ҍߤ̥%urĢX3e^Jy.YBn5(,qf u䋸YyFFk J?s,5(ܮmOqYYC!cζr uZy*uud_p64/6Fk&.Q:Y@6)p:/0y 7Qk\8y5MOuȾ L2jy%y%1c̱(XS`ցK<ՔPhu:@ӚP,v(Y h,r,̦%H)~5F r uZy*~S$d'K(fك04:y+N2QCҍGe^Jy.YBn5(,qf u䋸YyFFk u40S<ՔVS%"y4&3_p1r`L^HՑ} M0ͩ;X,s2.JbQYT5 Dа#q6/ΨIG$(u䋸YD ڐX}IBbQX)Gud0n4Ȃ9 J?s,Nu(̳ҍ9;9_oƵIGud0:܄A %pO Ɵp־kufQ{y:βNXA u40S<ՔVS%"ּrMf2b3lNw"1(ܠX}cGeƵ5n>"\:`y9bQ,rNPN VS%YN\&eЛ}d'K(fك0:y"VE&4/6&3_pXbQg&PY;{i^mO ?O2~,y% JbPqGv LjiW"k((>WuQ|(%/em(-[m+40S<ՔS`~e(,L$ho'(h`ʥ)lczk:)TNPJ+)Ecm ҊK,LW>xc%X}iS<% BPr RR$@iJ'K!Z) h-x)CCTG-ȼ@ + p@1\a8x`Ŏ,s,r.ObPbPpk kn$7I6v6$(./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.anytype_mi.html$$ Method Index for com.ibm.record.AnyType

Constructor Index

AnyType()

Method Index

addPropertyChangeListener(PropertyChangeListener)
canConvertFromBoolean()
canConvertFromByte()
canConvertFromChar()
canConvertFromDouble()
canConvertFromFloat()
canConvertFromInt()
canConvertFromLong()
canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToBoolean()
canConvertToByte()
canConvertToChar()
canConvertToDouble()
canConvertToFloat()
canConvertToInt()
canConvertToLong()
canConvertToObject()
canConvertToShort()
canConvertToString()
checkConstantValue(IRecord, byte[], Object)
equals(Object)
getAlignmentHint()
getBoolean(IRecord, byte[])
getByte(IRecord, byte[])
getChar(IRecord, byte[])
getDouble(IRecord, byte[])
getFloat(IRecord, byte[])
getInt(IRecord, byte[])
getLong(IRecord, byte[])
getObject(IRecord, byte[])
getShort(IRecord, byte[])
getSize()
getString(IRecord, byte[])
packageBytes(IRecord, byte[])
removePropertyChangeListener(PropertyChangeListener)
retrieveBytes(IRecord, byte[], int)
setBoolean(IRecord, boolean)
setByte(IRecord, byte)
setChar(IRecord, char)
setDouble(IRecord, double)
setFloat(IRecord, float)
setInitialValue(IRecord, Object)
setInt(IRecord, int)
setLong(IRecord, long)
setObject(IRecord, Object)
setShort(IRecord, short)
setString(IRecord, String)

Field Index

changes_
= k~$7I6v6$P~./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.arrayfield.html$$ com.ibm.record.ArrayField <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.arrayfield_dsc.html#_top_">com.ibm.record.ArrayField (no frames)</a></b></p> </body> d.a lK$"m7I6v6$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.arrayfield_dsc.htmltype$$  deiort<>achlns .bfmpu",/T_gvxy#-=EIORw():ACFjBJSU[]q P0DL134z289;HMV!5?GNW|+Yk{}7@8Mo8Kĉ :ĉ5 ̧)D˃5$2U $:!€Pvh@p2r\H$:Ӂ >۶]⇝!.Ѐ#K4րcB)00tA$Bitc?5Qk)A8 ( @W0 II#KT٥Qf(ખ$ NֶRIT$]Xo@P(Ѐ IWr(G"68 >PhtT[gy?\9K 9Q:I#Ѹl%5MjP$J+%wR<ʖLZ 9<o *OB2L2S4ևH%{58[JЮ̓[Tf5= Rzْ`@u5Q򙦴:A oTNKSZ J$?'T[e(5$I`҃-R : :I#KT٥Qf(ખ$ IJ$HB2LQBJ(H.L P8aVX.W)h0H-CTST $Ipppt+$J+%wR<ʖzfa{g ٥Qf(ખ$Ipppu٥Qf(ખ$ I)$3I?Djyǖ_[TFb[ZI#FCْ`@u٥Qf)NeK`\=e3Mh0H!U- RI#Fѧ6Mkْ`@u٥Qf*TS4փ 8Xt3<R@$&H[T(W2^FJ#O$uf(y_:ˇdL}2w;E W-OΗG}df(ɲy_me.\gYpvXډNGSwK1⍗>oVbH9$WY<۴lnSz?kR/Oɲ$8@>{chzvf(>&|Mk#ֳSOqaN)DvJi#p#pNqa^ BHA$3IWrҁ*I$!I$~ ?p tHH@!$jI!WfIfEVJ f(y-p5TJ+%wPP#1C:@PUKaT(P#1C:@đ"S={yגwHo?Tϳ: lG gOyҺ2>:J$F!]&]UiY+TS4փ3<R*4AA@<˻l`f(x**H(⇝"9wm8 I!?e?׷y*WtsN\3ખ$p}d+*cU[EQ$"5  0 :ҨJ]2.ખviTYd f(xH P8a@.8`:A l J f(xHS#D'L۟z%[/N~˟fu;3<R$ZϬteL}t:9-%B#R̓*4AJP*[)kA lWfEVJ Fbt QMSSݶT0t3<R@$ PCΑܧ ˻lbH S)vV7ӟrٝNT #ֳ']SG"9-":%QջY%B#R̓*4AJP*[)kA lWfEVJ Fbt QMSS QMSX.W`f(x**H(⇝"8 N# ?DB]o:U ꜹgS#1CU-Hᵬ:WFTHeKcFȎGVқƩDԀD+$J+%wR<ʖzf`Fb[U٥Qf((⇝"8-CTST8-CTST ]eNH#1CU- R@@<]p,\Dr*p?DB]o:U ꜹgS#1CU-Hᵬ:WFTHeKcFȏN7SON,!a$3!$SNI$ I$"5  0 :ҨJ]2.@ׁAj (,\@ Ik%I ?DB6u'g K6?RVO$˴HDj@"ْ`@u٥Qf)YeK`\=e3Mh0FbWfEVJ ]j (=`:P R@A#Z I!?e?:ˏdl.3Y̩lu?(vdviTYd VbRYLZ 2tlU٥Qf((2Wy=;DzvdvS%IJ GhN1$~)l.>NW5\ʝƩ]KηE8g$teLwӆ6|QչMPNϬeK`G e8>{Εѕ1WyB#R̓*4AJP*[)kANwm8 4,ҲWyJ GhNH J @N8$2͝e"vS4y Y$ti6\)Y#̩lᵬGOyҺ2>J HDj@"ْ`@u٥Qf)YeK`\=e3Mh0 ~viTYd @N`:@$ +=;@đ"S:~9\PriyNI#]S፟lnSz?ӢG{3'RkYN$teL|ADԀD+$J+%wR<ʖzfa*ҨJ]+=;@p #'@1(B%w#ӴGh#D'LgYqtsT%[3dGyҺ29h(sܦf(DgO2#ֲIY=Jʘ+!WfIfEVJ f(y-p5'A,VWfEVJ ]+%IJ GhN1$~)l.>NW5]lVqiyNI#]S፟lnSz?ӢG{3'RkYN$teL|ADԀD+$J+%wR<ʖzfa+J+%wPPdzv0tX*H(2Wy=;Dzv@?DB6u'O?+84y Y$ti6\)Y#̩lᵬGOyҺ2>J HDj@"ْ`@u٥Qf)YeK`\=e3Mh0lWfEVJ ] g@$ +=;@đ"S:~9\PxliyNI#]S፟lnSz?ӢG{3'RkYN$teL|ADԀD+$J+%wR<ʖzfa g*4AAA#Ӵ2t(B%w#ӴGh#D'LgYqtsgT%[3dGyҺ29h(sܦf(DgO2#ֲIY=Jʘ+!WfIfEVJ f(y-p5'AMhviTYd @N`: mP%IJ GhN1$~)l.>NW5\ڷSO̗npϷIJʘ leϫr՘;ٟY<ʖZq$}d+*c $F!]&]UiY+TS4փ 6ՠU٥Qf((2Wy=;Dzv@:FNj R@A#Ӵđ"S:~9\Psj5M>z2^u)>I$w+*c{v⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ 2t)]UiY+%w#ӴGh:FN;P%IJ GhN1$~)l.>NW5^j|dtS}H:WFT}8cg.}[ެTpS#']S%wQ$"5  0 :ҨJ]2.dS 4,ҲWyJ GhNHЧj P]bH S)\|?(j;x4y Y$ti6\)Y#̩lᵬGOyҺ2>J HDj@"ْ`@u٥Qf)YeK`\=e3Mh0 *4AAA#Ӵ #'@1T(PdzvGOOβpCUnƩ]KηE8g$teLwӆ6|QչMPNϬeK`G e8>{Εѕ1WyB#R̓*4AJP*[)kAN=`viTYd @N8n*H(2Wy=;Dzv@?DB6u'O?p5M>z2^u)>I$w+*c{v⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ 2t,\@J+%wPPdzvdY`^J @N1$~)l.>NOmdf(S՘ezHU 'B β۾~:~]lRI[&˷ٟY=Y(vdviTYd VbRYLZ 2t,\@J+%wPPdzvHвr@$ +=;@đ"S:~9\P{,+5M>z2^u)>I$w+*c1⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ 2t,\@J+%wPPdzv0t ,+ R@A#Ӵđ"S:~9\P{,+5M>z2^u)>I$w+*c{v⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ 2teWfEVJ ]+/5T(PdzvGOOβpCUT%[3dGyҺ2;>(sܦf(DgO2#ֲIY=Jʘ+!WfIfEVJ f(y-p5'@V^hviTYd @N8+/5T(Pdzv1$~)l.>NW5]5M>z2^u)>I$w+*c{v⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ 2t #'@ZLJGOOβdgٟY=Y̩lzw,~$F!]&]UiY+TS4փ w)J+%wPPdzvHr1T(PdzvGOOβpCU߹NƩ]KηE8g$teLwӆ6|QչMPNϬeK`G e8>{Εѕ1WyB#R̓*4AJP*[)kANU٥Qf((2Wy=;Dzv@:FNB%w#ӴGh#D'LgYqtsܧ T%[3dGyҺ29h(sܦf(DgO2#ֲIY=Jʘ+!WfIfEVJ f(y-p5'E:@`:(yҁ*H I!?e?:ˏyϬT $F!]&]UiY+TS4փ>tU٥Qf((2Wy=;DpZ ,+)p-S΂3=T(Pdzvez#Z I!?e?:ˎd+*c-efGS?R(vdviTYd VbRYLZ WfEVJ ]#vS J @N9wm8 I!?e?:ˎpCU˻lj|vO]KηE8a$w+*c1⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ WfEVJ ]9wm8 /*r P]9wm8 I!?e?:ˎpCU˻lj|vO]KηE8a$w+*c{v⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ ~viTYd @N9c@ ~ P]#?d I!?e?:ˎpCUƩϧmddtSGyҺ2;>(sܦf(DgO2#ֲIY=Jʘ+!WfIfEVJ f(y-p5ϝWfEVJ ]9c@ ~ P]9c@đ"SW5\oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ KU٥Qf((2Wy=;Dzvb /X*H(2Wy=;Dzvb I!?e?:ˎpCUg>yNIJʘ leϫr՘;ٟY<ʖZq$}d+*c $F!]&]UiY+TS4փ>t`viTYd @N8#0ttb P]:جGOOβu\PuYƩϧmddtSGyҺ29h(sܦf(DgO2#ֲIY=Jʘ+!WfIfEVJ f(y-p5ϝk<viTYd @NoVbtHf}d*[8mk)đt(vdviTYd VbRYLZ lWfEVJ ]J HDj@"ْ`@u٥Qf)YeK`\=e3Mh3BU٥Qf((2Wy=;DzvKBB%w#ӴGhN1$~)l.;_E WlTӶz2^u) #]S፟lnSz?ӢG{3'RkYN$teL|ADԀD+$J+%wR<ʖzfg΅;@J+%wPPdzv`|ST(PdzvbH S)\wοN9ƩϧmddtSGyҺ29h(sܦf(DgO2#ֲIY=Jʘ+!WfIfEVJ f(y-p5ϝ{p*ҨJ]+=;Dvۆn*H(2Wy=;Dzv GOOβu\PvۆqiY=w/:ᄑtpϊ6\)Y#̩lᵬGOyҺ2>J HDj@"ْ`@u٥Qf)YeK`\=e3Mh3@0 4,ҲWyJ GhNn΀=b P];mđ"SW5]j|vO]KηE8a$w+*c{v⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ вr*4AAA#ӴGjj0rKBT(Pdzv I!?e?:ˎpCU\x4̗npH:WFT}8cg.}[ެTpS#']S%wQ$"5  0 :ҨJ]2.ez]UiY+%w#ӴGh QMSX.W`|Y`^J @N8# ?DB6u"`^iY=w/:ᄑti6\)Y#̩lᵬGOyҺ2>J HDj@"ْ`@u٥Qf)YeK`\=e3Mh3B 4,ҲWyJ Gh P8aAez΅  P] I!?e?:ˎd+*c VbvOɲy${3'1C-ZpϬвrײַΒH}v᳛KgɲgOVb$F!]&]UiY+TS4փ>teWfEVJ ]#΀ R@A#ӴG{/4 I!?e?:ˎpCUTӶz2^u) #]S፟lnSz?ӢG{3'RkYN$teL|ADԀD+$J+%wR<ʖzfg΀*ҨJ]+=;@p G{/4 /YyB%w#ӴGhe恉#D'LgYq:(jyj|vO]KηE8a$w+*c{v⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ r0 4,ҲWyJ GhN)p€]p0ttܧ @$ +=;Dpr0 I!?e?:ˎpCU߹NƩϧmddtSGyҺ2;>(sܦf(DgO2#ֲIY=Jʘ+!WfIfEVJ f(y-p5ϝw)J+%wPPdzv)p€]p0ttܧ @$ +=;@p Gw)đ"SW5]j|vO]KηE8a$w+*c{v⍗>oVbtHf}d*[8mk)đt(vdviTYd VbRYLZ Cΐ*ҨJ]pCΐ0ttPT(P!:@đ"SOO>z?R(&HBl]o(BCHn~ǒB $+F@pFb[ҁ*I$!]6B3<R*4AA@<J$PUKaKI$ 씒G8KTWfIfEVJ Vb\=e3Mh0HP#1C:P%I<BHD5$"2n~μlC}9.}PUK`8mk>{Εѕ1yQ$ GJ!$Djz HV(ǁ$G!?G<dt3'R(?@jP&!$0ԒBܣd 8#1CU-*ҨJ]PCΑ)p€]p0tJI- T$BI$s-PUK` vdviTYd f(~:ES4փ 8Xt3wf(x*I6Y=JʘyY=Y̩lIL5(H@jI! QખviTYd f(xH P8a@.8` P8aAez#vSҁ*I$ 3<R@I;%$<#1CU-*ْ`@u٥Qf*<YLZ /laPCΔ R~:DGܧ Q ?e{մ" #]eN*4x$씒B!$)s^ue]9sΧpFb[kYtΑʖr[Jo":%QջY%BI$~HFUbxKI$"yOO>y-#<d(gO2Q$"մ<dum)j|/>z?R(? *4,]ħp@J}̩lzT{sGI P%wz|IL5(H@jI! QખviTYd f(xH P8a@.8`]eNJ$PUKaKI$ 씒G8KTWfIfEVJ Vb\=e3Mh0HP#1C:P%I<Ir3FȂHvSJ-$ ;%$jI#D'e?׷y*WtsN\3ખ$p}d+*cG2ܣdGS=r?dHA$CRI QIi$DB~:x?T $DB~J- ;q)>P%wF}d*[UGB%&) ]ħ޲p6%G J$&HBlf(x*]UiY+(y#vSҁ*I$ 3<R@I;%$<#1CU-*ْ`@u٥Qf*<YLZ /laPCΔ R~:DGʝUnh1$ I)$CRI!tA$Z:.Cΐ7e]&]UiY+Wy }[s8͘˓)kA,:C%w }[g<ـ˓WfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RI!NI$"H Oβ5Y>[&˵wVb*[O"1C$H D5$OAi;8:HD'8?+#r]f2z}ff}dG+I#ݪ?)Y̩lI٧[(yO5\khlt3'1CG5=2tsZI#)l_Χuf(2(jy-6H:WFT]I9$"jI#U6vqt -$O]p~)WyG!1+VG]UNS?R(? dOnǹuHVp5!ۆ>3y^lHV RDpFb:$pY`g9rvո$씒B!$)l.>NW5\ʝƩ]KηE8g$teLwӆ6|QչMPNϬeK`G e8>{Εѕ1WyBI$~HFUbxKI$"WydADO9Y.г |=E~ϳ |>~J#nST $DB}:$w=፟lnSz?ӢGIIi$DBxO5\ʝƩ]KηE8gPHT $Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDOAḭׁ$Fb:$pY`g9rvո? =JʘX0e1[CdGdg>N =MY=f}df(yDR1 $ !Nc@J+%wPPdzv0tJI-#'@1(ZI!d9ǖ_,~:]&]UiY+%w.^ä(2Wy@HNr]f8YvdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$GB2L4,ҲWydn8qכ1#'m[S4փ 8XtJ n8yy#'m[%IgYxHVH@RI?DBxS:~9\PriyNI#]S۴lnSz?ӢG{3'RkYN$teL|ADI!(?- Xgg@IG?%wQ$"VK,;OQo;Ϭi$u۵Te?1C-#NO4.}[ެG5=2tsZI#)E W,~=w/:o'1C#ӢG{3'R(?-":vdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$? b^x?):gV#)aIiWfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr$O I }[?َX*[G5=S2^@gYxHVHD'd+*cӢGu`͗oHm ;G$7dˆk=՘G J$&HBl:*4AAA#Ӵ (B H ~HA)$q嶗Nc@WfIfEVJ ] ip B?%w ?ӷhY>tA$oD}fXkْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչT 0 :ҨJ]]l{y^lĎ\nYLZ /la+Ml9u\n@$Gf(xSGfv{#'m[!NI$"H OβpCUƩ]KηE8g$teLwӆ6|QչMPNϬeK`G e8>{Εѕ1WyBI$~HFUbxKI$"WydADO9Y.г |=E~ϳ |>~J#nST $DB}:$w=፟lnSz?ӢGIIi$DBxO5\ZIvU9YOPeK`HD'ӢGp~)=@F˟V71C:$qDOAi ?:HD'dCUg=w/:o'1C#ӢG{3'R(?-":vdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$? b^x?):gV#)aIiWfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr$O I }[?َX*[G5=S2^@gYxHVHD'd+*cӢGu`͗oHm ;G$7dˆk=՘G J$&HBl: b 4,ҲWyJ GhN0tJI-#'A,V Ii$H[i}lVq+WfIfEVJ ] ip B?%w ?ӷhY>tA$oD}fXkْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչT 0 :ҨJ]]l{y^lĎ\nYLZ /la+Ml9u\n@$Gf(xSGfv{#'m[!NI$"H OβpCUg=w/:o$;Εѕ1NF˟V71C:$w>y-6H:WFT]I9$"jI#U6vqt -$O]p~)WyG!1+VG]UNS?R(? dӆ6|QչMPNQ$#SZC'O<%? <PuYƩ]KηE8gPHT $Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDOAḭׁ$Fb:$pY`g9rvո? =JʘX0e1[CdGdg>N =MY=f}df(yDR1 $ !N5[d 4,ҲWyJ GhNJ$2t(ZI!d9ǖ_<:ym*ْ`@u٥Qf*Wy)kA,:B%w*O]$Nr]f#p aWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RDt+$J+%wVJ!v᳏qyy9rvո\=e3Mh0Hd6᳏p qכ09rvչTN~\n$ ;%$jI#D'e?:ˏE W<=w/:o$;Εѕ1=@F˟V71C:$w>y-6H:WFT]I9$"jI#U6vqt -$O]p~)WyG!1+VG]UNS?R(? dOny-#)aIiWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RI#*~Oǃ36qn(?-":vdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ JIL/َpջ{8͘2Q$#SZE3,5t -<N~\n$DBxOyҺ2=:$wV {Εѕ1WyBI$~HFUbxKI$"WydADO9Y.г |=E~ϳ |>~J#nST $DB}:$w=፟lnSz?ӢGIIi$DBxO5^,y-6H:WFT]I9$"jI#U6vqt -$O]p~)WyG!1+VG]UNS?R(? dOnz2^u)>OVbGDgO2Q$#SZE3,5t -= 0 :ҨJ]]lbVp5!ۆ>SO ;j܁*I$"SO~Suۆ>G5=S2^@Ю̓*4AY+ۆ>ǹuHVp5!ۆ>3y^lHV RI#)@1n8zuyyYOT $Djz He%3<)#г;=˓đO:WFTǧD.O"=3%[9w$ Io {3'1C$& I$ L5$w(2tVWfEVJ ] RI!d)@I;%$ǹuHVp5!ۆ>3y^lHV RDpFb:$pY`g9rvո$씒B!$)l.>NW5\ڷSO̗npϷIJʘ leϫr՘;ٟY<ʖZq$}d+*c $H D5$OAi;8:HD'8?+#r]f2z}ff}dG+I#ݪ?)Y̩lItH2{>(sܦf(D(?-!@IL(jo=w/:o'1C#ӢG{3'R(?-":vdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$? b^x?):gV#)aIiWfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr$O I }[?َX*[G5=S2^@gYxHVHD'd+*cӢGu`͗oHm ;G$7dˆk=՘G J$&HBl:*4AAA#Ӵҁ*I$ vIi$H[i~dS vdviTYd @zfa{g ] JWy #Nr]foD7e]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%IЮ̓*4AY+ۆ>ǹuHVp5!ۆ>3y^lHV RDpFb:$pY`g9rvո$씒B!$)l.>NW5^j|dtS}H:WFT4.}[ެTpS#']S%wQ$ GJ!$Djz HV(ǁ$G!?%wO]I 0~)[03'>ZIvU9YOPeK`HD'ӢGp~)=@F˟V71C:$qDOAi ?:HD'dCUƩ]KηE8gPHT $Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDOAḭׁ$Fb:$pY`g9rvո? =JʘX0e1[CdGdg>N =MY=f}df(yDR1 $ !N;@J+%wPPdzvJ$2t)ځ%vJI#ymvN*ْ`@u٥Qf*Wy)kA,:B%w*O]$;yvcDG8 aWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RDt+$J+%wVJ!v᳏qyy9rvո\=e3Mh0Hd6᳏p qכ09rvչTN~\n$ ;%$jI#D'e?:ˏE Wo=w/:o$;Εѕ1NF˟V71C:$w>y-6H:WFT]I9$"jI#U6vqt -$O]p~)WyG!1+VG]UNS?R(? dӆ6|QչMPNQ$#SZC'O<%? <PzviyNz<=:$w>y-#)aIiWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RI#*~Oǃ36qn(?-":vdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ JIL/َpջ{8͘2Q$#SZE3,5t -<N~\n$DBxOyҺ2=:$wV *~L\nYLZ /la+Ml U4˓WfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr"8#1C8, 0 ;jIvJI!ԒGO6u'O?p5M>z2^u)>I$w+*c{v⍗>oVbtHf}d*[8mk)đt(rI#D%ԒG5=lZI#S' $DByvcx?-}c}WyX$vf(2Q$"#?ݠxeϫr՘8HFNxKI$"2x T%[3df(y$ztHf}d*[G5=S2^@Ю̓*4AY+ۆ>*~L\nYLZ /la+Ml U4˓G!<U4O;+ُ8g]lQ$#SZE3,5t -= 0 :ҨJ]]l{y^lĎ\nYLZ /la+Ml9u\n@$? ?$ >_v᳏w^qכ1eK`HFfXkZx#1C8, 0 ;jILteLztHy#zO2UX{Hpg>zǹuHVp5!ۆ>3y^lHV RDpFb:$pY`g9rvո$씒B!$)l.>NW5]j|dtS}H:WFT}8cg.}[ެTpS#']S%wQ$ GJ!$Djz HV(ǁ$G!?%wO]I 0~)[03'>ZIvU9YOPeK`HD'ӢGp~)NF˟V71C:$qDOAi ?:HD'dCUnƩ]KηE8gPHT $Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDOAḭׁ$Fb:$pY`g9rvո? =JʘX0e1[CdGdg>N =MY=f}df(yDR1 $ !N viTYd @N0tJI-#'BKI$ 씒G8Ke{N  0 :ҨJ]Y+p5!A@'Go9Y.г |2_Ю̓*4AY+ۆ>*~L\nYLZ /la+Ml U4˓WfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr$'d I$~LgYqts|k'1Cg ,+גGMm8gO:X.WP76uyg7ʖH6]P1_e?:ˏOCTv5ᄑN3< βSN,\J[T?$:ӭ<(rI#D%ԒG5=lZI#S' $DByvcx?-}c}WyX$vf(2Q$#SZC'O<%? >]՘OwVb3 $Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDOAi 9:HD']&]UiY+TS4փ ,+*ҨJ]+`:X.Ww[T+$J+%wR<ʖzfa{g C[G J$&HBl:X.WU٥Qf((2Wy=;Dzv@:P%I$ez%vJI#ymr'B vdviTYd @zfa{g ] JWy #ӷhY>tA$vtH}fXkْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչT 0 :ҨJ]]l{y^lĎ\nYLZ /la+Ml9u\n@$Gf(xSGfv{#'m[!NI$"H OβpCU\x4y Y$ti6\)Y#̩lᵬGOyҺ2>J HA$CRI QIi$DB~J#L(? +%aS'OagO]}b:ڪs՘ʖDODS'{v⍗>oVbtH#:~9t -$O"`^iyNz<=:$w>y-#)aIiWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RI#*~Oǃ36qn(?-":vdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ JIL/َpջ{8͘2Q$#SZE3,5t -<N~\n$DBxOyҺ2=:$wV tA$vtH7e]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%IЮ̓*4AY+ۆ>ǹuHVp5!ۆ>3y^lHV RDpFb:$pY`g9rvո$씒B!$)l.>NW5^SO̗npϷIJʘ leϫr՘;ٟY<ʖZq$}d+*c $H D5$OAi;8:HD'8?+#r]f2z}ff}dG+I#ݪ?)Y̩lItH2{>(sܦf(D(?-!@IL(j =w/:o'1C#ӢG{3'R(?-":vdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$? b^x?):gV#)aIiWfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr$O I }[?َX*[G5=S2^@gYxHVHD'd+*cӢGu`͗oHm ;G$7dˆk=՘G J$&HBl:@J+%wPPdzv0tJI-#'@V^jHA)$q嶗'@V^h 0 :ҨJ]Y+p5!A@'GVK,: ?NNo B2L4,ҲWydn8i29rvո\=e3Mh0Hd6᳏p)TBG.Nڷ J#]&]UiY+Wy }[s8͘˓)kA,:C%w }[g<ـ˓ tH,t<$rq$ I)$CRI!ZIvU9YOPeK`HD'ӢGp~)=@F˟V71C:$qDOAi ?:HD'dCUT%[3df(y$ztHf}d*[G5=S2^@Ю̓*4AY+ۆ>*~L\nYLZ /la+Ml U4˓G!<U4O;+ُ8g]lQ$#SZE3,5t -= 0 :ҨJ]]l{y^lĎ\nYLZ /la+Ml9u\n@$? ?$ >_v᳏w^qכ1eK`HFfXkZx#1C8, 0 ;jILteLztHy#zO2UX{Hpg>ztA$8 aWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RDt+$J+%wVJ!v᳏qyy9rvո\=e3Mh0Hd6᳏p qכ09rvչTN~\n$ ;%$jI#D'e?:ˏE W{/7SO̗npϷIJʘ leϫr՘;ٟY<ʖZq$}d+*c $H D5$OAi;8:HD'8?+#r]f2z}ff}dG+I#ݪ?)Y̩lItH2{>(sܦf(D(?-!@IL(jyj|dtS}$NϬeK`HFfXkZzْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչTHD'9'e{1 }[$Djz He%]&]UiY+Wy }[s8͘˓)kA,:C%w }[g<ـ˓G!PeKcӹc^Q$ GJ!$Djz Hd$G!PeKcӹc^Q$#SZBeD%? WfIfEVJ 8y-p5'@ZL@2t>= 0 :ҨJ]2.^äખ$R1 $ !NU٥Qf((2Wy=;Dzv@:P%I$.8bHA)$q嶗]p2tܧ ]&]UiY+%w.^ä(2Wy@H+%aI8YvdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$GB2L4,ҲWydn8qכ1#'m[S4փ 8XtJ n8yy#'m[%IgYxHVH@RI?DBxS:~9\PwSqiyNI#]S۴lnSz?ӢG{3'RkYN$teL|ADI!(?- Xgg@IG?%wQ$"VK,;OQo;Ϭi$u۵Te?1C-#NO4.}[ެG5=2tsZI#)E W~8g=w/:o'1C#ӢG{3'R(?-":vdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$? b^x?):gV#)aIiWfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr$O I }[?َX*[G5=S2^@gYxHVHD'd+*cӢGu`͗oHm ;G$7dˆk=՘G J$&HBl:SWfEVJ ] RI!d N%vJI#ymr3w)WfIfEVJ ] ip B?%w ?;yvcDGoD}fXkْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչT 0 :ҨJ]]l{y^lĎ\nYLZ /la+Ml9u\n@$Gf(xSGfv{#'m[!NI$"H OβpCU߹NƩ]KηE8g$teLwӆ6|QչMPNϬeK`G e8>{Εѕ1WyBI$~HFUbxKI$"WydADO9Y.г |=E~ϳ |>~J#nST $DB}:$w=፟lnSz?ӢGIIi$DBxO5]j|dtS}$NϬeK`HFfXkZzْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչTHD'9'e{1 }[$Djz He%]&]UiY+Wy }[s8͘˓)kA,:C%w }[g<ـ˓G!PeK`HFʉxKI$"Ю̓*4AJp*[)kANt@2tPTNjvdviTYd SRYLZ /lapUKaTHa@BRIWrf(xviTYd @N)p‚Gjj0KTTHAi|#1C$BI$s-6;AB2L4,ҲWyVJ \=e3Mh0HPd%I+ӷhY>tA$e{ƩȂH-SfnhH2_Ю̓*4AY+ۆ>*~L\nYLZ /la+Ml U4˓WfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr$'d I$~LgYq:teLpCU՘l_HwVb*[BI$~HFUbxKI$"WydADO9Y.г |=E~ϳ |>~J#nST $DBx4S'}G!=vivt~)E W;(?G>"1C$Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDR1 $ !:ݶT*ҨJ]+=;@p G.THAi|vS$BI$s-6;@;ʜB2L4,ҲWyVJ \=e3Mh0HPd%I+Nr]fNN #ʝƩ2_Ю̓*4AY+ۆ>*~L\nYLZ /la+Ml U4˓WfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr"8#1C8, 0 ;jIvJI!ԒGO6u"vS4̗npH:WFT4.}[ެTpS#']S%wQ$ GJ!$Djz HV(ǁ$G!?%wO]I 0~)[03'>ZIvU9YOPeK`HD'ӢGp~)=@F˟V71C:$qDO<vSO.qiJ$Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDOAḭׁ$Fb:$pY`g9rvո? =JʘX0e1[CdGdg>N =MY=f}df(yDR1 $ !:ݶT*ҨJ]+=;Dr*p:P%I$΀wm9KI$ 씒G8KntlT+$J+%wUdS4փ 8XtJ!TI+%aI #ʝƩ2_Ю̓*4AY+ۆ>*~L\nYLZ /la+Ml U4˓WfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr"8#1C8, 0 ;jIvJI!ԒGO6u"vS4̗npH:WFT}8cg.}[ެTpS#']S%wQ$ GJ!$Djz HV(ǁ$G!?%wO]I 0~)[03'>ZIvU9YOPeK`HD'ӢGp~)NF˟V71C:$qDO<d*w?otHFfXkZzْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչTHD'9'e{1 }[$Djz He%]&]UiY+Wy }[s8͘˓)kA,:C%w }[g<ـ˓G!@YvdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$GB2L4,ҲWydn8qכ1#'m[S4փ 8XtJ n8yy#'m[%IgYxHVH@RI?DBxSW5\oVbtHf}d*[8mk)đt(rI#D%ԒG5=lZI#S' $DByvcx?-}c}WyX$vf(2Q$"#?ݠxeϫr՘8HD'SO2ycx4}G5=S2^@Ю̓*4AY+ۆ>*~L\nYLZ /la+Ml U4˓G!<U4O;+ُ8g]lQ$#SZE3,5t -= 0 :ҨJ]]l{y^lĎ\nYLZ /la+Ml9u\n@$? ?$ >_v᳏w^qכ1eK`HFfXkZx#1C8, 0 ;jILteLztHy#zO2UX{Hpg>z@YvdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$GB2L4,ҲWydn8qכ1#'m[S4փ 8XtJ n8yy#'m[%IgYxHVH@RI?DBxSW5]lVqiY=w/:ᄑti6\)Y#̩lᵬGOyҺ2>J HA$CRI QIi$DB~J#L(? +%aS'OagO]}b:ڪs՘ʖDODS'{v⍗>oVbtH#5M>x?[S'5M>~|DOAḭׁ$+$J+%wVJ!v᳏q#'m[S4փ 8XtJ n8M?$$rr$OsM?'NcNn8IL xKOB2L4,ҲWydn8qכ1#'m[S4փ 8XtJ n8yy#'m[%I$DBxOO]l׽ure?R(?-":PD ?BCG.NڷG!{Εѕ1WyBI$~HFUbxKI$"WydADO9Y.г |=E~ϳ |>~J#nST $DB}:$w=፟lnSz?ӢGIiO[j|҉#)aIiWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RI#*~Oǃ36qn(?-":vdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ JIL/َpջ{8͘2Q$#SZE3,5t -<N~\n$DBxOyҺ2=:$wV wLm?gن>wٟY?%wHjVb*[G!>;Li6\)Y#$DBx4S'Ş[gSO:Q$#SZE3,5t -= 0 :ҨJ]]lbVp5!ۆ>SO ;j܁*I$"SO~Suۆ>G5=S2^@Ю̓*4AY+ۆ>ǹuHVp5!ۆ>3y^lHV RI#)@1n8zuyyYOT $Djz He%3<)#г;=˓đO:WFTǧD.O"=3%[9w$ Io {3'1C$& I$ L5$w(lWfEVJ ]#Ş[d (B K@-%vJI#ymQ:ym*ْ`@u٥Qf*Wy)kA,:B%w*O]$ӷhY>tA$8A$,SO ;j܁*HvdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ J#3<)#г;=˓Đ'd I$~LgYq:(jYx4̗npH:WFT}8cg.}[ެTpS#']S%wQ$ GJ!$Djz HV(ǁ$G!?%wO]I 0~)[03'>ZIvU9YOPeK`HD'ӢGp~)NF˟V71C:$qDO<dliJ$Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDOAḭׁ$Fb:$pY`g9rvո? =JʘX0e1[CdGdg>N =MY=f}df(yDR1 $ !: m@J+%wPPdzvڴ (B KAMjHA)$q嶗G|)]&]UiY+%w.^ä(2Wy@HVK,: ?vtHIo o B2L4,ҲWydn8i29rvո\=e3Mh0Hd6᳏p)TBG.Nڷ J#]&]UiY+Wy }[s8͘˓)kA,:C%w }[g<ـ˓ tH,t<$rq$ I)$CRI!wLm?gن>wٟY?%wHjVb*[G!>;Li6\)Y#$DBx4S'ViJ$Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDOAḭׁ$Fb:$pY`g9rvո? =JʘX0e1[CdGdg>N =MY=f}df(yDR1 $ !: m@J+%wPPdzvm@ҁ*I$ tVIi$H[i|mw΂j*ْ`@u٥Qf*Wy)kA,:B%w*O]$dB1 #oDIo o B2L4,ҲWydn8i29rvո\=e3Mh0Hd6᳏p)TBG.Nڷ J#]&]UiY+Wy }[s8͘˓)kA,:C%w }[g<ـ˓ tH,t<$rq$ I)$CRI!(sܦf(DgO2#ֲIY=Jʘ+!$?DBQ I$#SZ@*F<%? +2~J HD'hY>wLm?gن>wٟY?%wHjVb*[G!>;Lpϊ6\)Y#$DBx4S'ViJ$Djz He%]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%I$DBx#i>vWpλpոHFfXkZzْ`@u٥Qf+%wpո<ى;j.^ä2Wypոs8͘ ;j܁*I$"2~H|f:gVO<6c?)ʖDOAḭׁ$Fb:$pY`g9rvո? =JʘX0e1[CdGdg>N =MY=f}df(yDR1 $ !:*4AAA#ӴzvTHAi|SKI$ 씒G8Knt)B2L4,ҲWyVJ \=e3Mh0HPd%I++%aINN #Ʃ2_Ю̓*4AY+ۆ>*~L\nYLZ /la+Ml U4˓WfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr"8#1C8, 0 ;jIvJI!ԒGO6u"ӶFNqiY=w/:ᄑti6\)Y#̩lᵬGOyҺ2>J HA$CRI QIi$DB~J#L(? +%aS'OagO]}b:ڪs՘ʖDODS'{v⍗>oVbtH#5M>x?TΔIL xKOB2L4,ҲWydn8i29rvո\=e3Mh0Hd6᳏p)TBG.Nڷ JIG1T}?f<v᳏qDOAḭׁ$+$J+%wVJ!v᳏qyy9rvո\=e3Mh0Hd6᳏p qכ09rvչTHD'd$~uۆ>ޟ{y^l,S-#)aIi tH,t<$rq$"2{Εѕ1#a˷bȏy}?V}b #z{e5P# bI I$!]6Bt)]UiY+%w#ӴGhN0tJI-/ vIi$H[i|mw΅;@WfIfEVJ ] ip B?%w ?dB1 ##GӷSO7e]&]UiY+Wy }[U4;j.^ä2Wypոi!#'m[%IЮ̓*4AY+ۆ>ǹuHVp5!ۆ>3y^lHV RDpFb:$pY`g9rvո$씒B!$)l.;_E WlTӶz2^u) #]S፟lnSz?ӢG{3'RkYN$teL|ADI!(?- Xgg@IG?%wQ$"VK,;OQo;Ϭi$u۵Te?1C-#NO}8cg.}[ެG!*~L\nYLZ /la+Ml U4˓WfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr"8#1C8, 0 ;jIvJI!ԒGO6u"3SONy $teLsOn{Εѕ1WyBI$~HFUbxKI$"WydADO9Y.г |=E~ϳ |>~J#nST $DB}:$w<۴lnSz?ӢGIiOmg?otHFfXkZzْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչTHD'9'e{1 }[$Djz He%]&]UiY+Wy }[s8͘˓)kA,:C%w }[g<ـ˓G!};o'%[0;Εѕ1NF˟V71C:$w>y-6H:WFT]I9$"jI#U6vqt -$O]p~)WyG!1+VG]UNS?R(? dӆ6|QչMPNQ$"Ʃ=j|҉#)aIiWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RI#*~Oǃ36qn(?-":vdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ JIL/َpջ{8͘2Q$#SZE3,5t -<N~\n$DBxOyҺ2=:$wV *~L\nYLZ /la+Ml U4˓WfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr"8#1C8, 0 ;jIvJI!ԒGO6u"`^iY=w/:ᄑti6\)Y#̩lᵬGOyҺ2>J HA$CRI QIi$DB~J#L(? +%aS'OagO]}b:ڪs՘ʖDODS'{v⍗>oVbtH#5M>x?e{Ʃ(?-":vdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$? b^x?):gV#)aIiWfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr$O I }[?َX*[G5=S2^@gYxHVHD'd+*cӢGu`͗oHm ;G$7dˆk=՘G J$&HBl|Y`^WfEVJ ]#5E5NPY`^THAi|Y`^Ii$H[i|mw΅  0 :ҨJ]Y+p5!A@'GVK,: ?NN ?X.Wj|,5 0 :ҨJ]]lbVp5!ۆ>SO ;j܁*HvdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ J#3<)#г;=˓Đ'd I$~LgYq:(j >yNIJʘ leϫr՘;ٟY<ʖZq$}d+*c $H D5$OAi;8:HD'8?+#r]f2z}ff}dG+I#ݪ?)Y̩lItH2{>(sܦf(D(? TLX.Wj|҉#)aIiWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RI#*~Oǃ36qn(?-":vdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ JIL/َpջ{8͘2Q$#SZE3,5t -<N~\n$DBxOyҺ2=:$wV z?RU ,+(:ˏn<$n9Tyl.f}df(x2͝eǧdG$˷ f(x ͝eS3Ӊ# Kjd٧[(yQ$ GJ!$Djz HV(ǁ$G!?%wO]I 0~)[03'>ZIvU9YOPeK`HD'SO2xPfpr|(?-":vdviTYd ].6qn1Tdrpzfa{g ]mgVR䄎\n@$? b^x?):gV#)aIiWfIfEVJ BgV:f$rpzfa{g ]mgV<6`$rr$O I }[?َX*[G5=,lTKZI#vdviTYd SRYLZ вr*4AAA#5E5NPY`^ez*OuOB2L4,ҲWy)̩l ip8x**I$~0ԠLBI!a$+F@w΀*ҨJ]+=;@p G{/4 (B K@V^jHA)$q嶗G| ]&]UiY+%w.^ä(2Wy@HVK,: ?vtHIyj|,5 0 :ҨJ]]lbVp5!ۆ>SO ;j܁*HvdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ J#3<)#г;=˓Đ'd I$~LgYq:(jyj|vO]KηE8a$w+*c{v⍗>oVbtHf}d*[8mk)đt(rI#D%ԒG5=lZI#S' $DByvcx?-}c}WyX$vf(2Q$"#?ݠxeϫr՘8HD'SO2{yj|҉#)aIiWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RI#*~Oǃ36qn(?-":vdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ JIL/َpջ{8͘2Q$#SZE3,5t -<N~\n$DBxOyҺ2=:$wV SO ;j܁*HvdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ J#3<)#г;=˓Đ'd I$~LgYq:(jyj|vO]KηE8a$w+*c1⍗>oVbtHf}d*[8mk)đt(rI#D%ԒG5=lZI#S' $DByvcx?-}c}WyX$vf(2Q$"#? leϫr՘8HD'SO2{yj|҉#)aIiWfIfEVJ BgVM?&G.Nڷ ip @&6qn*~HHV RI#*~Oǃ36qn(?-":vdviTYd ].6qn=<6bG.Nڷ ip @&6qn:fG.Nڷ JIL/َpջ{8͘2Q$#SZE3,5t -<N~\n$DBxOyҺ2=:$wV };o'%[0;Εѕ1=@F˟V71C:$w>y-6H:WFT]I9$"jI#U6vqt -$O]p~)WyG!1+VG]UNS?R(? dOnޟ{y^l,S-#)aIi tH,t<$rq$"2{Εѕ1#a˷bȏy}?V}b #z{e5P# bI I$!]6Btܧ *4AAA#ӴGjj0r0 (B K@]p -$RIm/r0 vdviTYd @zfa{g ] JWy #+%aIoDIw)84}fXkْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչT 0 :ҨJ]]l{y^lĎ\nYLZ /la+Ml9u\n@$Gf(xSGfv{#'m[!NI$"H Oβu\PwSqiY=w/:ᄑtpϊ6\)Y#̩lᵬGOyҺ2>J HA$CRI QIi$DB~J#L(? +%aS'OagO]}b:ڪs՘ʖDODS'1⍗>oVbtH#5M>x?.8g?otHFfXkZzْ`@u٥Qf+%wpոSOɑ˓)kA,:C%w }[J9rvչTHD'9'e{1 }[$Djz He%]&]UiY+Wy }[s8͘˓)kA,:C%w }[g<ـ˓G! Method Index for com.ibm.record.ArrayField

Constructor Index

ArrayField(IArrayType)
ArrayField(IArrayType, boolean)
ArrayField(IArrayType, String)
ArrayField(IArrayType, String, boolean)
ArrayField(IArrayType, String, Object)
ArrayField(IArrayType, String, Object, boolean)

Method Index

equals(Object)
getArray(IRecord, int, Class)
getBoolean(IRecord, int, int)
getBoolean(IRecord, int, int[])
getByte(IRecord, int, int)
getByte(IRecord, int, int[])
getChar(IRecord, int, int)
getChar(IRecord, int, int[])
getDouble(IRecord, int, int)
getDouble(IRecord, int, int[])
getFloat(IRecord, int, int)
getFloat(IRecord, int, int[])
getInt(IRecord, int, int)
getInt(IRecord, int, int[])
getLong(IRecord, int, int)
getLong(IRecord, int, int[])
getObject(IRecord, int)
getObject(IRecord, int, int)
getObject(IRecord, int, int[])
getShort(IRecord, int, int)
getShort(IRecord, int, int[])
getSize()
getString(IRecord, int, int)
getString(IRecord, int, int[])
getType()
setArray(IRecord, int, Object, Class)
setBoolean(IRecord, int, int, boolean)
setBoolean(IRecord, int, int[], boolean)
setByte(IRecord, int, int, byte)
setByte(IRecord, int, int[], byte)
setChar(IRecord, int, int, char)
setChar(IRecord, int, int[], char)
setDouble(IRecord, int, int, double)
setDouble(IRecord, int, int[], double)
setFloat(IRecord, int, int, float)
setFloat(IRecord, int, int[], float)
setInt(IRecord, int, int, int)
setInt(IRecord, int, int[], int)
setLong(IRecord, int, int, long)
setLong(IRecord, int, int[], long)
setObject(IRecord, int, int, Object)
setObject(IRecord, int, int[], Object)
setObject(IRecord, int, Object)
setShort(IRecord, int, int, short)
setShort(IRecord, int, int[], short)
setString(IRecord, int, int, String)
setString(IRecord, int, int[], String)
setType(IAnyType)
rd, i k$7I6v6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.basicrecordattributes.html.html$$ com.ibm.record.BasicRecordAttributes <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.basicrecordattributes_dsc.html#_top_">com.ibm.record.BasicRecordAttributes (no frames)</a></b></p> </body> ble< kk$/7I6v6$/./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.basicrecordattributes_dsc.htmll$$ Class com.ibm.record.BasicRecordAttributes

Class com.ibm.record.BasicRecordAttributes

java.lang.Object
   |
   +----com.ibm.record.BasicRecordAttributes

public class BasicRecordAttributes
extends Object
implements IRecordAttributes


Variable Index

changes_
codePage_
endian_
floatingPointFormat_

Constructor Index

BasicRecordAttributes()
Default constructor for a record attribute.
BasicRecordAttributes(int, String, int)
This constructor creates a new record attributes instance with the specified endianess, codepage, and floating point format.

Method Index

addPropertyChangeListener(PropertyChangeListener)
Adds a PropertyChangeListener to the listener list.
clone()
Creates a new object of the same class as this object.
equals(Object)
This method determines if the two basic record attributes are equivalent.
getCodePage()
This method returns the codepage of the character data in a record.
getEndian()
This method returns the endian of integer data in a record.
getFloatingPointFormat()
This method returns the floating point format of floating point data in a record.
removePropertyChangeListener(PropertyChangeListener)
Removes a PropertyChangeListener from the listener list.
setCodePage(String)
This method sets the codepage for character data in a record.
setEndian(int)
This method sets the endian of integer data in a record.
setFloatingPointFormat(int)
This method sets the floating point format of floating point data in a record.

Variables

codePage_
 protected String codePage_
endian_
 protected int endian_
floatingPointFormat_
 protected int floatingPointFormat_
changes_
 protected PropertyChangeSupport changes_

Constructors

BasicRecordAttributes
 public BasicRecordAttributes()
Default constructor for a record attribute. It assumes the record attributes will have an endianess of LITTLEENDIAN , a floating point format of IEEEFLOATINGPOINTFORMAT and a codepage of the current machine (the file.encoding property from System.getProperties()). This will satisfy most Intel based architectures.

BasicRecordAttributes
 public BasicRecordAttributes(int endian,
                              String codePage,
                              int floatingPointFormat) throws IllegalArgumentException
This constructor creates a new record attributes instance with the specified endianess, codepage, and floating point format.

Parameters:
endian - The endian of integer data in the record. Valid values for this parameter are: LITTLEENDIAN and BIGENDIAN.
codePage - The codepage string. The list of valid codepage strings can be found in the JDK Internationalization Specification.
floatingPointFormat - The floating point format of floating point data in the record. Valid values for this parameter are: IEEEFLOATINGPOINTFORMAT and IBMFLOATINGPOINTFORMAT.
Throws: IllegalArgumentException
The endian, code page, or floating point format is not valid.

Methods

addPropertyChangeListener
 public void addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list.

Parameters:
listener - The property change listener to add.
clone
 public Object clone()
Creates a new object of the same class as this object. It then initializes each of the new object's fields by assigning it the same value as the corresponding field in this object. No constructor is called.

Returns:
A new object initialized to the same state as this object.
Overrides:
clone in class Object
equals
 public boolean equals(Object obj)
This method determines if the two basic record attributes are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this record attribute is the same as the obj argument; false otherwise.
Overrides:
equals in class Object
getCodePage
 public String getCodePage()
This method returns the codepage of the character data in a record.

Returns:
The codepage of character data.
getEndian
 public int getEndian()
This method returns the endian of integer data in a record.

Returns:
The endian of integer data in a record.
getFloatingPointFormat
 public int getFloatingPointFormat()
This method returns the floating point format of floating point data in a record.

Returns:
The floating point format of floating point data in a record.
removePropertyChangeListener
 public void removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list.

Parameters:
listener - The property change listener to remove.
setCodePage
 public void setCodePage(String codePage) throws IllegalArgumentException
This method sets the codepage for character data in a record. The list of valid codepage strings can be found in the JDK Internationalization Specification.

Once values have been set in the record, changing the code page value will not change the code page of any existing data in the record.

Parameters:
codePage - The codepage string.
Throws: IllegalArgumentException
The code page supplied is not a valid value.
setEndian
 public void setEndian(int endian) throws IllegalArgumentException
This method sets the endian of integer data in a record.

Once values have been set in the record, changing the endian value will not change the endian of any existing data in the record.

Parameters:
endian - The endian of integer data in a record. Valid values for this parameter are: LITTLEENDIAN and BIGENDIAN.
Throws: IllegalArgumentException
The endian supplied is not LITTLEENDIAN or BIGENDIAN.
setFloatingPointFormat
 public void setFloatingPointFormat(int format) throws IllegalArgumentException
This method sets the floating point format of floating point data in a record.

Once values have been set in the record, changing the floating point format value will not change the floating point format of any existing data in the record.

Parameters:
format - The floating point format of floating point data in a record. Valid values for this parameter are: IEEEFLOATINGPOINTFORMAT and IBMFLOATINGPOINTFORMAT.
Throws: IllegalArgumentException
The floating point format supplied is not IEEEFLOATINGPOINTFORMAT or IBMFLOATINGPOINTFORMAT.

 kL$ 7I6v6$0 ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.basicrecordattributes_mi.htmll$$ Method Index for com.ibm.record.BasicRecordAttributes

Constructor Index

BasicRecordAttributes()
BasicRecordAttributes(int, String, int)

Method Index

addPropertyChangeListener(PropertyChangeListener)
clone()
equals(Object)
getCodePage()
getEndian()
getFloatingPointFormat()
removePropertyChangeListener(PropertyChangeListener)
setCodePage(String)
setEndian(int)
setFloatingPointFormat(int)

Field Index

changes_
codePage_
endian_
floatingPointFormat_
ws:
 k^$7I6v6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.columnmajorarraytype.htmltmll$$ com.ibm.record.ColumnMajorArrayType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.columnmajorarraytype_dsc.html#_top_">com.ibm.record.ColumnMajorArrayType (no frames)</a></b></p> </body> C lꎓ$PZ7I6v6$[8./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.columnmajorarraytype_dsc.htmll$$   aeort<>cdhilmns .bfpuy"/T_gjv#(),-=ACORwx:EIM[]0FVkq 1HJLPUz+34BDN|2589;?SW!7GY@+ifӋsUą  )z{.ca.*%$kܒHC*VHCg_AbA zPб!eeAT%$I}ln@Y$6 y' #p9ж€@(I$A$ Y;KH]88p`~|AI$kuԒH5[io+)W(6s ׁx͢H@nIʕ]X[ă@@#bAppJI!/#6%()$-`'5%(-˼]`XOU96T 8Zb@q)$FQJ"s86,HͳDe%V[UU:s$<) HYY\1t OfQbw*fRxmdzJz'(2)JfRpLcQ@ODe&\K%3^) sr ZR Jjҁ[$ -Ԕ [G ! dˆ%T&qSֵR%$k1귔VRPm#3$gDF\5(I$ ܤB'(%(X`>JtiVXV\TS56%#|҃J G#AAAḤĪSKyYJYShb⢙p0ͳF J4ŔŞm T?I De%V[U14T4hb⢙p0ͳF J4Ŕ4Fu6*RI $"{2 yM-e*e[uqE3^af[io+)W(h,Tmib6*RI $"{2 yM-e*ee>G^NdC{m0JUo)^,*e~-;='o)}wH^>tHA$3I }lB"RRHC$m;+o8" H@:I! rI! ԀdOfQbUo)^,[|#'2O͡fL ̓Şm Hm#3$gH)$еllz;]Wʝ;0U{3 #dhHB ٔ`X[io+)W)V̓hb⢙p0m#3$g@톂aRn9:dh8uY^&Қci}m}B-DHB ٔ`X[io+)W)V̓hb⢙p0m#3$g@톂a=V[U `͠) dufd,i 톂a<4Fu6 #-i[wVueN|öقٞz>:dh8uY^&Қci}m}B-G˘͢! ԀdOfQbUo)^,[|#'2O͡fL ̓Şm B6s ׁxͤ  B #-i[wVueN|öقٞz>:dh8uY^&Қci}m}B-D'͕MJ$/R=FUxn9|?O6.*)ێ|2:32Oyh( 귔VRP h,Tm Hm#3$gH)l4 톄@X <$еllz9[yՕ;QGf fyw9͢H }exJil l6 kDKrI! ġHZ_At"II$!nI$!z 0,J4ŔqσuIy1qQL׸LA@qyM-e*eW 톄>JtiAŎh@(6h.:*R^,'ËJЂH Z e( WU;0>\uxJi+>JH'>:P3+dm9|R6~Jnن2 ;Yk_oG}J3+dQ$!z 0,J4ŔqσuIy1qQL׸#LXV MgKRpR ?B֟űeGϬn9מs$Q 9 (HDe%V[UU:s$<k 632OUxńBx%:`4Lb%#kC3$ W 톄LbIkOֲ|Y^Ol}s$^c瀙>s$! ԀdOfQbUo)^,[|#'2O͡fk@48#Zh(%#k@48#ZRvA@H ZǾd##[ [_Pn9y$qVWW_S|N}}fGW< HB ٔ`X[io+)W)V̓hb⢙p0; 0փ A@h@P jJA {aXOl4 ?B֟űeieraWyօ-E w<8+++SLm/ө lx>SZ>Wo #+dQ$!z 0,J4ŔqσuIy1qQL׸mhqcZyM-e*eW 톄 HR U{a-}k-+NG+5^s$^cs$fpR$.s`7+,u+A;Yk_o>}JIOo>IBḤ̌ĪSKyYJYJ>G^NdC{Z'SKyYJY@U{a'N_T̀߬D2 ;Yk_o>}J3+dQ$!z 0,J4ŔqσuIy1qQL׸5Ŏh:4Ŕ^,'H):SR U{a<8ԭ$еll{YkW_,u+|I}CbI'N_T̀߬R#pyIo>}J3+dQ$ RܒHDK,J9[y)@I$!0I#r$LtB'_AbCm>x'< B'_AbCm>x'< B Hm#3$gHZI!$9{J_ dufd,h (ܤBGZű$v\#r*vnU0$9͢!)nI$"|%$6s ׁx͠vA@)@I$ ێ|2:32OyEnRI#qnjm#3$g@P, (ܤBGZűGpmVTG;a*s#x'<@I7)$85\6s ׁx͠vz[p(I ʀhl4 (ܤBGZűGpmVTG;a*s#\uuL=Ʈ`6Q$~KrP)kI$ RܒHDK,Hm#3$g@톂a=ОyM-e*eU@nY@TZCm>x'<@I7)$85\6s ׁx͠vz[p(I ʀhl4$?{2 yM-e*e4ƈP͡f6% !4PyR\ƅm}fXz'(*VRVR9ysͨ^5t"7[pk 3lтRJXfdyWL*RInRI! rI#-i\#r*v^n9מs$D6Kkm!捃iDZ˘гͮŲg׳>IOlJ$B=[2"@=FUxx̓˘֞mB|QۀE3^afU3$г͠ eXETnRH-i\}<폅.j.ѥ>'<(?@()nI$"|%$6s ׁx͠vA@yM-e*eU@nY@TZCm>x'<@I7)$85\6s ׁx͠vz[p(I=FUxcDin iE3^af@X <@O.cB6>,B=ٔ`X[io+)W+)Ws$EG%B-$OľJJI! ġHZ\I!$Oĩ(6h.:o)^,@}*a=О:GN (8ԭ B JJnن2I$ ܤG4rSRۄvaLDe%V[UnR1qQL׸f٣JZJ~RIy,8#ZIRh.: !I$!nI$~<5*?Y]Wxqm)6d|,u+I#d}CcϬ91uK e( GfˎpHe>m}*gSϬ9xADRIkJGz% Qi$B֟-x#еrÌ25+e{0+*| d[ˎ#еh.:WGfˎeoe( j$L9=:(8W?1/wQ_WZk~#d۱»wa˯˝X;|/{W<9as*˯ 9ӟYg aD^֝I$*I:)VOiY]WxqnTjbHUd4J}+(? @ZI#е{2 yM-e*ee>G^NdC{Pp4 @귔VRP >xhO#LXV JJnن2=t=ٔ`X[io+)W+,A:s$<k 3lтRbx'<@I$~KrP)kI$ RܒHDK,MgK:GN (8ԭ B MgKEnRI#qnjwn,tAËJe$ 7)$$ll{Yk뭬{aQ3+[|;u?|zhuCJ$H ZP$? 9/I$,w _(ʂc[ jQD^֝I$*I:)VOiX̓mv+_^cpiϨh#VI*IlhH/SZCcWQ Qi$B֞0,J4ŕ y9~m \TS5,tAH):S@YTNǢ{2 yM-e*ee>G^NdC{m0JC@#3$gH)$)nJ-i$ [I }Z'SKyYJY@U{a-iKQۀE3^afUn"ۀ N4ͥUFn) ̣ĪSKyYJYYJZ"ہB*uf6%!ņE"Z㲀*u BHBܒH Zx6=;!.wWSfy?ט&GϜxۀȶK\vPETnRH-ik]m+i}gc`7>-Iz HeD E{2 yM-e*ee*jnB'mETn1qQL׸f٣>xۀȶ!6i`qQۂJI#еe|,"ۇl|/|N4ͥD^Ʈ@I=ٔ`X[io+)W+,A:s$<k 632OUxńBx%:`4Lb%#kC3$ éOfQbUo)^,̓hb⢙p0ͳF H}dufd,i$-@$KrI!/#k@48#Zh(%()$wSa@I7)$85]6}CC25t" }fXxfdD80,. qQہ$ QI$-$еccZ_ӲaWyօ-E w<8+++SLm/ө lx>SZ>Wo #+dQ$ ԒGZ҅$^}md@ZI#е Ųv)m}B-KI]Iz H}i(GkOagW_?ө (? lO ̓]E"7[p$B֞-m)6Џs :;wIGz>I$OfQbUo)^,̓hb⢙p0; 0փ  H; 0֠TNǢ{2 yM-e*ee>G^NdC{m0JC@#3$gH)$)nJ-i$ [I }Zu>vA@h(  B H; 0֠Qi$H[jamhdkA D $l7d-}B-D $l7ө C@m}fXxfdD80,. qQہ$ QI$-$еccZ_Ӳ埵#[ [_Pn9y$qVWW_S|N}}fGW< HA$е rI#нOAisȁ(GkOlB<+ewhR[py̓`(? Z|I"ۄxW ̓ FF߬"I`.uugW?_ez0V'}IY^>]P9VTnMʌ[pGAIr4,h" `R[p(eRH-i}C@\+ex׳IG%B-$Oč,u+Ao)^,@}*a=Ё)@I$ ,u+P(B I$sN-W,u+xRٔ`X[io+)W)JXE3^af@}*h)JXI$y,8#ZḅĪSKyYJYYJZ"ہЉƛyU \TS5h)^,6>-DMXETnR0,J4ŕŪ>--qT"7[pk 3lтRJXm}d[p%;("7[p@I$ QI$-$еccZ_Ӳ nW?ט?ٜ8ԭ$puK kCJpZ+RGSϬ9xA_ccZ_l}g4|o\i$}eqx8G}k-~`l-pR:c1$y <(jI#-iBܒH/SZ@\侶 d -$ZxŲRQ$NXqFqlf}e|^/~}Y_YD2O͉D^֝I$lPy̓-vM_,l~mIz Hpj d -$Z=FUx#'2O͡fkCJu[io+)W(JXOl4 JFև:)S1̣ĪSKyYJYYbד'E3^af--qT"7[pk 3lтRJXm}d[p%;("7[p@I$devǮpY $B=[2"@=FUxx\E6it"7[pk 3lтRJXm}d[pƛy8m$ZŲPuGi}Wmö>'mgcchH/SZCcWQ Qi$B֞0,J4ŕ y9~m \TS5hfdyM-e*eW 톄>JtiAŎhO#LB5zJ{az'(*VRVXuIy1qQL׸f٣>2:32OyRHR֒H@$Xւ l @귔VRP >xhO#LXV JJI!57[.eRHAI$iŹAp.:=FUxŌ\TS5h)үRńGy,8#ZIËJ7[.ePGeG{2 yM-e*ee*jnK\vU.*) 4`үpYk*R=FUxx\E6it"7[pk 3lтRJXm}d[pƛy8m$F$$?B֞-}k-~5u>\uxJi+>JH'o+ө >Iӗ.s`7+ƴeL$Z+Rzu>'I5$nI$- .r_[Y2H-iJ_ _)W(? Zy,8#[¸W ol>R?j> I5Y\|(? Z{`l \+evw.::oƷ1gl|G2>|IŎo׍iDŲIٌi}뺏R.e^cIs$ݍ8۽S]x\Y{86ŲI͘ƗkT]|liΜ8k $B=[2"@=FUxx\E%;*UFn{m0JCW nDeUFn)$B̖֞Ҷv6z"ہD^fX@Zz'(*VRVRȶt"qm.UFn{m0JCW n28o6U T? ZxWΨ/>-vM_,l~mIz Hpj d -$Z=FUx#'2O͡fѭAp.:o)^,@}*a=О:GN (8ԭւ l H)S1̣ĪSKyYJYYbד'E3^af--qT"7[pk 3lтRJXm}d[p%;("7[p@HODe%V[UUpYN4ͥЊmb⢙p0ͳF H}*amB'm*u BHBܒH Zx6=+SLm/:s$mezu>$f}ey̓/\oWhqcZZ_}e}<$pYL}C}2O+ll{YkQ$zhuC~T̀߬<#0_6col #:)WUۅCEmI5$nI$- .r_[Y2H-iJ_ _)W(? Zy,8#[¸W ol>R?j> H'ĢH-iW \'3:|(? lODe%V[UUpY U \TS5h)^,6>-U T? Zxg2Z㲻c[J_Y nGz-b QịĪSKyYJYYJZ"ہЉƛyU \TS5h)^,6>-DMXETnRH-i_( :ȶ 6i|yQ$-!1(GkODe%V[U|?O6.*)F8ԭUxńBx%:`4R JcZXVTNǢ{2 yM-e*ee>G^NdC{m0JC@#3$gH)$)nJ-i$ [If$?ж捀XhhdW.ub@q=TDS`4,H'eklĤ?F(J'б#6ٔ`X[io+)W)V̓hk% eep@*S=Fܪ) Hk1!a)̣˜LcQ) Hc]1E=ٔ`Xs/{1Ciˏ/kYkJP*/9(Jn$?+dRP)mH$HADe$P u xkBĪ 5|qAbJ(QE kmDTX$` ,H( Q$ .zI!rI - kĮ$ 7I6v6$0 ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.columnmajorarraytype_mi.htmll$$ Method Index for com.ibm.record.ColumnMajorArrayType

Constructor Index

ColumnMajorArrayType()
ColumnMajorArrayType(int[])
ColumnMajorArrayType(int[], IFixedLengthType)
ColumnMajorArrayType(int[], int)
ColumnMajorArrayType(int[], int, IFixedLengthType)

Method Index

checkConstantValue(IRecord, int, Object)
equals(Object)
getArray(IRecord, int, Class)
getElementOffset(int[])
getObject(IRecord, int)
setArray(IRecord, int, Object, Class)
setInitialValue(IRecord, int, Object)
setObject(IRecord, int, Object)
getElementOffset(int[], int[], int)
W kJ$7"I6v6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cchar.htmlpe_mi.$$ com.ibm.record.ctypes.CChar <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.cchar_dsc.html#_top_">com.ibm.record.ctypes.CChar (no frames)</a></b></p> </body> bm l$7"I6v6$@Z./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cchar_dsc.htmli.$$   deort.<>achilns "/bfmpu=C_vy#(),IORTgjx-:AEFVqw &;JU[]0HPSk14Lz+3589BM|!2?DGW7NYHSlѧWnq䁊(VT@|Ao(* tMz-ʈ&֯fВBpI= hChʃ(9a$W h8iOej$)k~Ư#Z%Ѱ0`9:@jb7,b9A 0 p@e:uQ){,8QC4i v@)Q[ @Q?hGD@(Jm $^RJZ2op|n}r&I {r$Oy˙tĒIQw&&RWxZ${g۔`YfŚ^JNj ^JmepA,Dt($U!kP1Ջ4jJZW۔`Vj(nT{1}F %o|mE ^J:1V))jIQ5ozVʒV%j})%K(-*eye %x)bQ){,8QC4i .vR+0I(AHABr(Ac).b7MpT C!LԔ?d  %}F %jYepNs!k,2C5L 48iԒ,d($C5L41b^S,8Q@)5 Pև :R@?`0 5,e2PuE5x@(:[ t@u\{=%PQj :B;P($C5L41b^P)5 Pև :R@*^k?(6?[\Wzz뱫ųk@P $Yqf)hӪ(c1beX3BISW 40 f $Lʿkͭmt%^x5Qf8NO[7 ~ˀe_ހᅈS4zƻ\2:vnj[Ϥ:gT}F %jYe䡚4ƯXb*2CSW$M^$ $Lʿkͭmt%^x5Qf8NO[7 ~ˀy00^@~v8kWѧR3Rܣ5,e2PuE cW,Ct׃ppYX3BISWaS5%-A$fUs]mkn{.bmgך1uwGze\Vovnj[ϯ_ހᅈS4zƻ\2:@P $Yqf)hӪ(c1bWᠵej2y( ^HW,nqZ0 f6E\#%-Aa X3BH̫ǃ[Zξ˄up1o>ʍC{u1:cv5_nQIej2y(f:1s!k` p [ϠYqf)ewCB-\X3BISL"AkyewCBab 2ê; mkk:.xż;*5 ߭1$#[ֺ[^'Sc~S/%_nQIej2y(f:1s!k4SW PFS/%a j$hRLƯH̫<ǯ Ư8żѧQ~V_,n^b\5n^E{H[ϯf}m}u :+0I,PFS/% ѧTP5x.b7Mx9fj!jYe,6y!]ЮƯIQfj%-Aa v5x@e_m}uqy7@v5x@P $Yqf)hӪ(c1b̳Br [ϠYqf)ewCB-\X3BIQfI)j ^HWt4+!LВ3*96>5^ot6:zN8T0CkcuOe䠁:+0I,PFS/% ѧTP5x.b7Mx9fA PFS/%a =p@ab %FekZ}$ ,6y!\0 f?W"?[]vo!Lmm}u?\'iu,oeV:[\ZżgѧR3Rܣ5,e2PuE cW,Ct׃ւP h@I*=6Ԕ?Wty{mC{] ^}m}u :+0I,PFS/% ѧTP5x.b7Mx8}hfŚ^Jia$>SW)j ^HW,n?WtyZ~B?[\X5y-׳>:Z7= [Sֺ[^'Scycv5_nQIej2y(f:1s!kE5x5,e2PLhI*JZi 2kO}m}uqy >Au@*W۔`YfŚ^JNj\ňnp)5,e2PLXݠ( %AS5%-Aa 3*96?+OGk,b=[6[ϯf}m}u?ot{.B]t>N8Tu,j3Rܣ5,e2PuE cW,Ct׃ֆ!LІYqf)ewCBIP}habIKP@Xm2B$fUmiN1o>1hzM^-Y f:+0I,PFS/% ѧTP5x.b7Mx8}hp@I*IKP@I~GZ۟# f}m}uwC7j( tΨJrK,8QC4i1^ ^M^2C5L/$+UM^$ ,6y!]^?Wty_1}^qy N?!Xݮōj@?kVԐ?^4Au@*W۔`YfŚ^JNj\ňnx֊j!jYe,6y!]ЮƯITkE5xewCB 2El~:że`a;ހ tΨJrK,8QC4i1^ ^и;\!jYe,6y!]Ю C!LВUи;\%-Aa p)@e_mwA忌[ϯeS7[_FD׽~'Sc}dk{u1:2P@P $Yqf)hӪ(c1b5pvoC,8Q@Xm2B-\X3BITkBr [Ϥ/$+!LВ3*Vk-b}p) N?!Xݮōj@?kVԐ?^4Au@*W۔`YfŚ^JNj\ňnxֆ!LІYqf)ewCB-\X3BITkC jJZi ᅈS4$Lʿ4뙖o\8abAu@*W۔`YfŚ^JNj\ňnxֆ!LІYqf)eqZ0 fֆ!LԔ/$+!LВ3*96>5B/b[_FD Z~B=|]ypպ5y ~1o>iԂLT($C5L3FQC๋5QWᠵej2y( ^HW,nqZ0 f諄upZ}$ ,6y!\@P hI~Qkk[Yp-tyQot>N8T?,n^bƠ:+0I,PFS/% ѧTP5x.b7Mx>tU:h-o>fŚ^Ji =p@ab %[QWᠵIKP@Xm2B\0 f?W}b}wG׉ak]1?)LT($C5L3FQC๋5bej2y( ^HW,nM^$ ,6y!\@P@e_5ֶimp!c^4 ~ k\5nOZ}mxLqX:gT}F %jYe䡚4ƯXC,8Q@Xm2B$lSW)j ^HWt4$Lʿ ?!i-\z >cW00 tfВYpȒ:[K@DwfDS@D,HM^:WhI"5xJR@-B5xQ?8qB tvR+Y$k[sTKqIhUknb@)Jm %e)TIjb*2AYfj%IJ ~qݾUef@I@门Lʸs]mkn{.bmgך1uwGze\Vo3,޾,b >cW005icve}u r̩2?u]%6@(?e],nI)4Ϋ MDQfUҾܣ5,e2P ѧP5\\Vhu!LЀTUefXabIKWt;ǥ}F %jYepNs!k, 48iԒ%KԒT@*^Jm %Wᠵej2y( ^HW,nqZ0 f:KSL"AkyQ?8rKci$U:h-o>ܣ5,e2P^H5Ji cvFD ˆX3{.Aky@(:e 2Qkk[Yp-tyQot>N8T?,n^bƠr̩2?u]%mmd@(?e_)9y( LʹFGsk7k1c{.A"ս$f}m}u 3*끸sk\7[ϯeS7Y/+=nuWIj ?!:J-DWK.i[Je+ϭ˄up1o>ʍC@re(ž4sJ4Ϋ MDQfUҾܣ5,e2P ѧP5m0GW C,8Q@Xm2Bcv,+,b=S4$1*\4I)jc($C5L.ti.b7Mx8D :R@zTʈ%K@_͡$*\4A PFS/%a qZ0 f:KSL"AkyQ?8rKci$U:h-o>ܣ5,e2P^H5Ji S0#Z@)p [ϠIGe(/Qpǃ[Zξ˄up1o>ʍCzkcuI0k׉꟔A?Re LKP^,ȁQj LʾS/'sk2P@sO op׳ ot>S/'7j>Qm}u|j( LʸżnGW b}i[AgUZkODQfU˚VsJ3k\7[ϮPYsJ1o$\ҽk 3-A+1Q@t($C5L41bWᠵej2y( ^HWt4+,b=S4$1*\4I)jc($C5L41b^P)5 Pև :R@zTʈ%K@_͡$hfŚ^JiI*IKQhQj t[^@P4SW _nQIej2y(vS/$\ňnq{g %AaIKWe?A?[ JrK,8QFS/%uŹP(u\ňnq{g %ApY\Ks\RҾܣ5,e2Qeed]p><6YGk,Ct׃8Y* ^HȺ'uԂDYGk )j tvR2?Wkͭmύlzj[Ϯmm}u?\'iu,oeV:[\ZżgѧR'(Lʓ/QgUZ:fDQfUy< Û_)̫[Ϯͮ,b֠3-A"IE3*Xݮōj@?kVy@4AgUZ %$Yqf)^K.+"끋sʡQ뀹5Ji*2.矔 e$3*b涙>O@?2. 3-AWJrK,8QFS/%uDښe ^/ld6y"+"qכR e$3*ͯ >=uú>'ukiԂ%KԒT@*^Jm $̳E5x5,e2PLhWcW$%-DfYIEvRyos<6YGk,Ct׃8Y* ^HȺ'uԂDYGk )j tvR2?W4뙖o_ހjzr̩2?u]%mmd@(?e_)9y( LʹaFskنF[_)fpkk+?oH Lʸżnj[ϯZΫ7,:J-]+0I,PFS/%L\VE矕B,s!k,/$Ued]p-?(";]pIKQfUŹwGm3j|eed]pAgUZ %$Yqf)^K.+"y4";]p1b^Pm2E\VE&<6";]pIKQfUÛ_(}Gj{.+"t|/|O8ͩGөJ%LTD,IfA PFS/%a qZ0 f:KQfI(:NQ-g\2<̳Br [Ϡ($C5L;).b7Mx8e䤥2BS0#Z@ ot[ky`($C5Le2YpY\ [~U\XpTLWu6r1hzM^-Y-,BoƵWIjnX6 tZW۔`YfŚ^J2y, -?*YGk,Ct׃8Y* ^HȺ [~P$Ev̫9sf?ˀȺΫ7,:J-]+0I,PFS/%L\VE:jhEv.b7Mx8e䊸 L"y^mH$Ev̫6P0\VE^qכSѧR/RJQz+Y$2 x-o>fŚ^Ji1hz)JR@-FekZ}$@;)D<:s9cv/h\[ky$Yqf)e2EXpTL|^HQ0 fAA?[ JrK,8QFS/%uŹP(u\ňnq{g %ApY\Ks\RҾܣ5,e2Qeed]p><6YGk,Ct׃8Y* ^HȺ'uԂDYGk )j tvR2?W\0 fCokӨ?+OG7k1c{.A"ս$-׳>:$Dfǯ,b=[6bA?Re LKP^,ȁQj LʾS/'sk2P@wA\ Û\AcٵoAgUZkODQfU]ypպ5yiԂΫ7,:J-]+0I,PFS/%L\VE矕B,s!k,/$Ued]p-?(";]pIKQfUŹwGm3j|eed]pAgUZ %$Yqf)^K.+"y4";]p1b^Pm2E\VE&<6";]pIKQfUÛ_(}Gj{.+"t|/|O8ͩGөJ%LTD,H}h! Ά:KP}h! Ά@;)D<Z{mC@3$Q^3*ty{mC{] ^}m}u r̩2?u]%6@(?e\9چΫ MDQfUҾܣ5,e2Pcj_PӨ\ňnpCj  %A>4:v=qJrK,8QA}@?[Ns!k,#Rhpө%-DJ%LTD,H}hfŚ^Jia$%-DZ)ĔZ'e(ǖ3Z)($C5L;).b7Mx8e䤥2Bcvcva?[ JrK,8QFS/%uŹP(u\ňnq{g %ApY\Ks\RҾܣ5,e2Qeed]p><6YGk,Ct׃8Y* ^HȺ'uԂDYGk )j tvR2?WkͭmB/1o>i@1j v:Sט t3*LDWIjś[Y:J-DWe7m|^J2XݠFb7mru,oeV:[\ZcvϭN?u]%6@(?e\9_cWb}{3kөWIjnX6 tZW۔`YfŚ^J2y, -?*YGk,Ct׃8Y* ^HȺ [~P$Ev̫9sf?ˀȺΫ7,:J-]+0I,PFS/%L\VE:jhEv.b7Mx8e䊸 L"y^mH$Ev̫6P0\VE^qכSѧR:25:J-DWJrK,8QB7FB,Ct׃֊j!jYe,6y!\@PJE5xv=qJrK,8QB7FB,Ct׃8Y*@hpө%-DJ%LTD,H}hfŚ^Ji %I)j tM^$@;)D<^pM^%}F %jYeLs!k,/%%-_)@ :!Пǥ}F %jYe)ˀȺbEv.b7Mx8e䊸 DYGk )j _nQIej2y(e2.qכSB,s!k,/$Ued]pa:jA",:J;)Dz̫֟4=|z}I 2@tY@|^Ope䠁3*:!ͯf}m|^O,n}@+q2żAgUZkODQfUÛ_F\b}uǯ@v5x@tbIE}F %jYe)ˀȺbEv.b7Mx8e䊸 DYGk )j Lʸ#<6YGk,Ct׃8Y* ^HȺ'uԂDYGk )j LʸskOeed]pySW PFS/%a M^$\cҾܣ5,e2Pcj_PӨ\ňnq{g %@ԀE@?Z4IKQIS* t/Q~ 6ZX3BfŚ^Jia$%-DZX3RQj t[X3x}habJrK,8QCy",Ct׃8Y* ^JJZS/$(cvcva?[ JrK,8QFS/%uŹP(u\ňnq{g %ApY\Ks\RҾܣ5,e2Qeed]p><6YGk,Ct׃8Y* ^HȺ'uԂDYGk )j tvR2?Wkͭm =p@ٟͬ[_FDsˆЩk]1<]yI 2@tY@|^Ope䠁3*f,op,n^b\5n^E{H7j>4AgUZkODQfUÛ\Acٵb}{3kөWIjnX6 tZW۔`YfŚ^J2y, -?*YGk,Ct׃8Y* ^HȺ [~P$Ev̫9sf?ˀȺΫ7,:J-]+0I,PFS/%L\VE:jhEv.b7Mx8e䊸 L"y^mH$Ev̫6P0\VE^qכSѧR:25:J-DWJrK,8QB7FB,Ct׃ֆ!LІYqf)er@XI* ,B)jc($C5L.ti.b7Mx8D :R@zTʈ%K@_͡$ֆ!LІYqf)ewCBIRJZ%>0 f@;)D<0 f)$Yqf)e2EXpTL|^HQCyaF'r_nQIej2y(e2.<e ^/ld6y"+")ny@QJZW۔`YfŚ^J2y, 'uЋ(u\ňnq{g %ApY\DڐH(u%-DQ^3*ᵧ>:ż_Xšz5xmg)I 2@tY@|^Ope䠁3*:!ͯf}m|^O,n}@+q2żAgUZkODQfUÛ_F\b}uǯ,b=[6bAgUZ %$Yqf)^K.+"끋sʡQ뀹5Ji*2.矔 e$3*b涙>O@?2. 3-AWJrK,8QFS/%uDښe ^/ld6y"+"qכR e$3*ͯ >=uú>'ukiԂΫ MDQfUҾܣ5,e2Pcj_PӨ\ňnp)5,e2PLhI* ,B)jc($C5L41b^P)5 Pև :R@zTʈ%K@_͡$րM:KP}hpJ-D@{ !A$Q^3*tyZ~B?[^.gѧWt9cvI 2@t@p׋&iԂΫ MDQfUҾܣ5,e2Pcj_PӨ\ňnp TZ4v=qJrK,8QA}@?[Ns!k,#Rhpө%-DJ%LTD,LkE5x5,e2PLƯIRJZ%5IEvRyos9cv/ƴSW _nQIej2y(vS/$\ňnq{g %AaIKWe?A?[ JrK,8QFS/%uŹP(u\ňnq{g %ApY\Ks\RҾܣ5,e2Qeed]p><6YGk,Ct׃8Y* ^HȺ'uԂDYGk )j tvR2?Wkͭmύlzj[Ϯmm}u?\'iu,oeV:[\ZżgѧR'(Lʓ/QgUZ:fDQfUy< Û_)̫[Ϯͮ,b֠3-A"IE3*Xݮōj@?kVy@4AgUZ %$Yqf)^K.+"끋sʡQ뀹5Ji*2.矔 e$3*b涙>O@?2. 3-AWJrK,8QFS/%uDښe ^/ld6y"+"qכR e$3*ͯ >=uú>'ukiԂΫ MDQfUҾܣ5,e2P ѧP5C,8Q@Xm2B %QJZ=+0I,PFS/% u ^/ldN?*^2IR:WhI1C,8Q@Xm2B]^:KTkE5xQ?8qBW۔`YfŚ^J1b^PXm2RRy!Dca j[Ϡǥ}F %jYe)ˀȺbEv.b7Mx8e䊸 DYGk )j _nQIej2y(e2.qכSB,s!k,/$Ued]pa:jA",:J;)Dz̫m}uqy7@v5x@9DfTz:׋6 tZ2nL?e\S0#[9#[ڏ85Ʒk[Ϥ?e\b}p7mv5y-AgUZ %$Yqf)^K.+"끋sʡQ뀹5Ji*2.矔 e$3*b涙>O@?2. 3-AWJrK,8QFS/%uDښe ^/ld6y"+"qכR e$3*ͯ >=uú>'ukiԂΫ MDQfUҾܣ5,e2Pcj_PӨ\ňnx֊j!jYe,6y!]ЮƯITkE5xv=qJrK,8QA}@?[Ns!k,#Rhpө%-DJ%LTD,LkBr [ϠYqf)ewCB-\X3BIRJZ%5pvoJ-D@{[ƴ.-ർJrK,8QCy",Ct׃8Y* ^JJZS/$(u>C 25D0 fAA?[ JrK,8QFS/%uŹP(u\ňnq{g %ApY\Ks\RҾܣ5,e2Qeed]p><6YGk,Ct׃8Y* ^HȺ'uԂDYGk )j tvR2?W^ot6:zN8T0CkcuOe䠁r̩2?u]%mmd@(?e_)9y( LʹaFskنF[_)fpkk+?oH Lʻr [Ϯͮ;\ZSWfqy@oAgUZ %$Yqf)^K.+"끋sʡQ뀹5Ji*2.矔 e$3*b涙>O@?2. 3-AWJrK,8QFS/%uDښe ^/ld6y"+"qכR e$3*ͯ >=uú>'ukiԂΫ MDQfUҾܣ5,e2Pcj_PӨ\ňnxօA PFS/%a qZ0 fօI)jc($C5L41b^P)5 Pև :R@zTʈ%K@_͡$ƴ.-ർej2y( ^HWXšz hI*IKQF.-ർIEvRyos9cv/ƴ.-ർJrK,8QCy",Ct׃8Y* ^JJZS/$(X3{r [Ϡǥ}F %jYe)ˀȺbEv.b7Mx8e䊸 DYGk )j _nQIej2y(e2.qכSB,s!k,/$Ued]pa:jA",:J;)Dz̫mwA忌[ϮX3{i@p#ט [msWjٟ[_FH"u3c1hzM^-Y fr̩2?u]%mmd@(?e_)9y( Lʻr [Ϯͮ C jleS7֠3-A"IE3*Xݮōj@?kVy@4AgUZ %$Yqf)^K.+"끋sʡQ뀹5Ji*2.矔 e$3*b涙>O@?2. 3-AWJrK,8QFS/%uDښe ^/ld6y"+"qכR e$3*ͯ >=uú>'ukiԂΫ MDQfUҾܣ5,e2P ѧP5 x-o>fŚ^Ji1hz)JZkZ}$\cҾܣ5,e2P ѧP5J4IKQIS* t/Q~ 6)5,e2PLhWXšz hI*IKQF0 f@;)D6-\)ųk8ż~5 LKPsrҾܣ5,e2Qeed]p1nyT";]p1b^Pm2E\VER",?e\[~Wt|6\VE?u]%9`؁Qj_nQIej2y(e2.qכSB,s!k,/$Ued]pa:jA",?e\9v2.wGڞX߭t~:@t騁Qj LʺW۔`YfŚ^J pKu ^)5,e2PLhWXšz hI*habIKWt;ǥ}F %jYeԾѧP5JN~8iԒ%KԒT@*^Jm &5S4!jYe,6y!\Ac ,B$%-D)Q?8r@_habJrK,8QCy",Ct׃8Y* ^JJZS/$(ab'r_nQIej2y(e2.<e ^/ld6y"+")ny@QJZW۔`YfŚ^J2y, 'uЋ(u\ňnq{g %ApY\DڐH(u%-DQ^3*ty_1~o]4 ~OXˆtȵo}IyϭN~ : =p@ͬX3P@9DfTz:׋6 tZ2nL?e\b}p7mqZSWfqykP@t@pG,n^b\5n^E{xż f}m}u 3-AWJrK,8QFS/%uŹP(u\ňnq{g %ApY\Ks\R@pG1ny][Lڟ'pY\@tbIE}F %jYe)ˀȺ|"y^mM\XpTLWu O8ͩ\R@pQڞˀȺ :jyc~4AgUZVcIE3*_nQIej2y(\Ө\ňnxֆ!LІYqf)eqZ0 fֆ!LԔwCzW۔`YfŚ^J41b^P"CI)j TI*eD tfВvAky5,e2PLXݠ( =p@ab %I)j t諄upZ}$@;)D<:s9woGE\#!+0I,PFS/%e䋘 ^/ld,6y))jL: ( X3{.Aky@(:e 2Qkk[Yp-tyQot>N8T?,n^bƠr̩2?u]%mmd@(?e_)9y( LʹFGsk7k1c{.A"ս$f}m}u 3*끸sk\7[ϯeS7Y/+=nuWIj ?!:J-DWK.i[Je+ϭ˄up1o>ʍC@re(ž4sJ4%KԒT@*^Jm 'j:*\4A PFS/%a qZ0 f:KVtU:h-o>Qj t[^Aky$Yqf)e2EXpTL|^HQCyaF(abGW I@门LʸuGcmg_e:o]eF{u1:dkx5CkcuOe䠁r̩2?u]%mmd@(?e_)9y( LʹaFskنF[_)fpkk(:T]5?e\b}p7mv\#y f4uЎ3-A"IE3*e+pILwp-tyQh@,ƒS.i^F@zTʈ%K@_͡$j!jYe,6y!\@PJR@-[bIEvRyosTY8ja<ɬH'(pH  $%I)jIG(Qw#T@)k@ e kt$?7$I6v6$?./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cchar_mi.htmli.$$ Method Index for com.ibm.record.ctypes.CChar

Constructor Index

CChar()

Method Index

canConvertFromChar()
canConvertFromObject()
canConvertToChar()
canConvertToObject()
checkConstantValue(IRecord, byte[], Object)
checkConstantValue(IRecord, int, Object)
getAlignmentHint()
getChar(IRecord, byte[])
getChar(IRecord, int)
getObject(IRecord, byte[])
getObject(IRecord, int)
getSize()
setChar(IRecord, char)
setChar(IRecord, int, char)
setInitialValue(IRecord, int, Object)
setInitialValue(IRecord, Object)
setObject(IRecord, int, Object)
setObject(IRecord, Object)
fromChar(IRecord, char)
fromChar(IRecord, int, char)
fromInitialValue(IRecord, int, Object)
fromInitialValue(IRecord, Object)
testConstantValue(IRecord, byte[], Object)
testConstantValue(IRecord, int, Object)
toChar(IRecord, byte[])
toChar(IRecord, int)
 k2$7"I6v6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cdouble.htmli.$$ com.ibm.record.ctypes.CDouble <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.cdouble_dsc.html#_top_">com.ibm.record.ctypes.CDouble (no frames)</a></b></p> </body>  l$7"I6v6$T./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cdouble_dsc.html$$   deort.<>achilns "/bfmpuv_y#(),=CIORTgjx-:;DEFSqw &AJUVP[]0HLkz13489B+5MW|!2?G7NYH)hkL4r + &v{t-[&B-KirIY@h(8@HmCB* 8Ì+Wۺh8.P(hˆ4,=%c^F-Ѱ( !C8Ì@P/V/jyB\=È4#^@0 8$!@d1{,8C4Y,CuP$CEYo  @>О B+Y@E7e0 #"!IՔ^M`Y Ge=5ltBR;)5s.Y BӸ11ozвmGnQad2C1L3EQC&)!@6 g VFR<=qgV/i%j_nQad-cP1({cRJҾܢ[QCtǐS=p-knbV$$(qNҒL0%RKo-l[›O>Y oDzC1L3EQ@`")8$$dJr !%$J@#(DzEP3ELXBzE S5$Cq@P*W۔XY FS/% m +lD)bQefIZ8@T(f!^J pK:m +lD)bQe:DI%jo Yf!^Jͨ0gdnR-2eo:i=z}$8ߦu^1_nQad2C1L:u,1b<V٢P)u Pֈ 6J8&^k?(ܨ6?[\3p9b5)zͮp78ܦ:.rk@GnaU(dKqC, !К!I%jdo.9ya4&8%P&^LD(f!^Jͨg1b<0g !A8IZG̫2IqRZe7ֶhLqK@ LC_nQad2C1L3EQC&)*b7Lx;ˁ 0g !L\.h+,ES$A#fU]ekn{.bmgך1TmwGr}e>v\^Y|Y(0<>Paנ~n8kͯݱR3ܢeb2y(f6MSTňnv.4`) !L\.h+,SzV3*A2=З1{QֶkE~69ox_lq.o/,ξuzv,}zu q:+,,YqF#)hj(d>LXbp>AYfBHSˁ 06V3*A2=З1{QֶkE~69ox_lq.o/,ξuu1klyyԁLD(f!^Jͨg1b<eeP3BHSˁ 08*f $qLʿk̭mt%^x5Qf8ͮN[/nˁ3=|z(J(0?7cf_nQad2C1L3EQC&)*b7Lx;ˁ 0 !L\.h+,[o5$A#fU]ekn{.bmgך1TmwGr}e>v\^Y|Y(0<[y(0?7cf_nQad2C1L3EQC&)*b7Lx;ˁ 0.4`/qI+P@H~~ GZ۞Kkk[YqU?E]f_YO8ݗ7g_z : t@Paנ~n8kͯݱR3ܢeb2y(f6MSTňnv.4BqO2}fX")V3*A2=З1{QֶkE~69ox_lq.ovǞ_o=|z8 :qYLD(f!^Jͨg1b<e℩B\ (J%j o2+[s s mkk>Y*k=lӖ)}flyyPaנp℩q;\}}m q:+,,YqF#)hj(d>LXbp>D,.4B{IZG̫y!\{@p℩8ߦe_Tv<u\#<ܨ7[^&[G/k1b8ɝPC,8C4Y2lB,Ctǃ GW V!bQe4>y!]Ю$և((J$)@e:hI%j ^HWt4+%LБ3*Bֶ\7]F{m1źq\kx5CkcuOeq:+,,YqF#)hj(d>LX/,ES!bQe4>y!^lA$(qO/$+͜S$qLʿk̭mύlz)[ήmm}m7\'iu,_eV:?[\Zqy쿭ͤ2gT%}E1(e2PmE 8Щ1}2C1L/$+)B0gI+P@h}2B^lA#fU.?[_E\Paנy}ï@dΨJr !bQe䡚,ڊ6qOS!c06-Ju2C1L/$+ĖzE S4$`l[I+P@h}2B\8*f7W tyt[y*fCokhqcuOˍot>M8T^J3ܢeb2y(f6MSTňnr xA FS/% K=hz"℩B06-Ju$ 4>y!\8*f7WmwA忞\8*fCokhq?+NG/k1b.A/"ս#[ίem}m q:+,,YqF#)hj(d>LXPt4 $րp h:V3*A26y͜Sz@&u@"W۔XY FS/% fPɳ} #ZP3Bf!^JC闒8I (J%j ^HW(^#fU]ekn~VYC,\_fpk\Gt*x5CkcuO(^^bŠq:+,,YqF#)hj(d>LX(J FS/% ℩VewCBG̫Ӳ[_E\_YC,^j3ܢeb2y(f6MSTňnq[&HPh-I%j o2+[s~\5쿭ͮrE_nQad2C1L3EQC&)*b7Lx8h/qeb2y( ^HW(^$(F 4>y!\{@7W tyZvB?[\Ytyy쿭ֹ͡eVTk׉Pŋ@&u@"W۔XY FS/% fPɳ} #Z tBf!^JC闒 !B5@E$A 7Wd>6yu_nQad2C1L3EQC&)*b7Lxy!]Я6qO3*[ͮzur(0<>Paנt2gT%}E1(e2PmE 8Щ1>ס FS/% ס$*5$A ס#fU]ekn|kcu[{[ήmm}m7\'iu,_eV:?[\Zqy쿭ͤ2gT%}E1(e2PmE 8Щ1>ס FS/% rkВSzVewCBoH~~ f=o:yfuuz@&u@"W۔XY FS/% fPɳ} ;\+y1(e2PLhWYC%LВ;\+yԒVewCBqBT o2+[s[;\BTfu_e}mxLqnL2gT%}E1(e2PmE 8Щ1 xA FS/% K=hz"℩BZk%o:JLP3BG̫]l~r[ήP3{Y8pd#ט} [msjW68ɝPC,8C4Y2lB,Ctǃƴ61(e2PLhI hl5$A 7W ty_zfu~V_(^^b\5n#^E{G^,@&u@"W۔XY FS/% fPɳ} hC,8@h}2B]ВjIZC闒 7Wm}ms󫗖g\8 :h :LD(f!^Jͨg1b<5 S4!bQe4>y!]Ю$և((J$*5 S5$A p℩8ߦe_cY[ήÇ%L2gT%}E1(e2PmE 8Щ1(J FS/% K=hz"℩BZP3RJLP3BG̫<ǯ=~o=o:Y8pd#ט} [msjW68ɝPC,8C4Y2lB,Ctǃƴeb2y( ^HWt4+ŷBZ m椕 4>y!]ЯhH~~ f=o:yfuu-u_nQad2C1L3EQC&)*b7Lxy!\{@7W tyZvB?[\YgW6Z7= [Sֺ[^&[yB-_nQad2C1L3EQC&)*b7Lx>")1(e2PLhI Y>JLhH~~ZvCkk]q(0<>Paנt2IqAd2Ù!I%jdCe;3o"8%P%~ 2 Y>RIZ+Y@`")BJ8)A8I)Cr8ӊ{qOI&(qAdZۘ2[K@ ZqK@ Je2}fY>HRIZ%)ee}$87)C8ظ\VY8@H$r8ɗqLʸ]ekn{.bmgך1TmwGr}e>v\^Y|Y(0<>Paנ~n8kͯݱR&qLʓ/PgURND JPfU˚VԒYsJoLJPq騁IJoLʺW۔XY FS/% m 2}fY>HSˁ 0gI+Wt;ǥ}E1(e2P fЩ1Bh m$qI2$2IqAd1p YO@I I+P$1p YOI)Cr8ӊ{ʻ}.ee }BG$LCfU+[s s mkk>Y*k=lӖ)}f:_A^}@Paנ~n8kͯݱR&qLʓ/PgURND JPfU˚VԒYsJoLJPq騁IJoLʺW۔XY FS/% m 2}f>ס$)ee }RJǮ1_nQad2C1L.Y*b7Lx8EI%joLI&eCedfPY \.h+,h@I I+P$1p Ya$2MPsN)g*v.4`l4 $qIJd8ߦe\A2=З1{QֶkE~69ox_lq.o/,ξuu1klyyԁIo28tӲ$8t數u$\҇:}f:j dR2C,8B/EB,Ctǃp Ya$)ee I+Wt;ǥ}E1(e2P fЩ1Bh m$qI2$2IqAd1p Yh@I I+P$1p YjI)Cr8ӊ{ʻ}.eeP3BG$LCfU+[s s mkk>Y*k=lӖ)}f:_A^Êh :qY<@$7ReoLJP}iIJoLʺYsJ:K.iCWIJ>52I)CWJr !bQep͡S!cظ\VY S4 $1p YjIZ=+,,YqF#)^6LXh@Xi$CI$̨qLC, !ee m2JSˁ 0I%(qnRqOs9Woñp YmЀI&(q/P~qY*k=lӖ)}f:_A^{ :qY<@$7ReoLJP}iIJoLʺYsJ:K.iCWIJ>52I)CWJr !bQep͡S!cظ\VY@D $1p Y{IZ=+,,YqF#)^6LXh@Xi$CI$̨qLC, !eES $$qR\ Y>IJdSUp\.h,A#MP&^3* tyڏ[^j,SYi{cp>{<|Y(0<>Paנ~n8kͤ2MP~&^Ϋ֝$̫4é$8t1Q$8t(f!^Jz,1b<eES $1p Y}$\cҾܢeb2y(\hTňnq[f!@4 6J8ߤzLʇ$8_̠\ (J$)$C2}fXqBTI%(qnRqOs9Woñp YP3BG$LCfU+[s s mkk>Y*k=lӖ)}flyyPaנp℩q;\}}m qj̩27u]%(>@$7e],nI%4ΫY$̫}E1(e2P fЩ1\.h%LЀ2}fXqBTI+Wt;ǥ}E1(e2P fЩ1Bh m$qI2$2IqAd1p Y tBHRIZ%)e^"JP$ܥ74rKbp>D,2I7)Cz̫5V/j<}myUOftz٧-S7egï@@Dzv,@$7ReoLJP}iIJoLʺYsJ:K.iCWIJ>52I)CWJr !bQep͡S!cظ\ :!$)e^"Vv=qJr !bQep͡S!cm( ,I+P~eI3*d/P%~ 2cipPC,8@h}2BB0 K=hz"℩BJ8)Lm0.@I%(qnRqOs9Woñ GW V!+,,YqF#)e2ELXhL|^HPu>@/j 78*f\#+y8$ܥ2eo2!Qkk[Yp[ήrP}mxLqnnPŋ@$7ReoLJP^,ȁIJoLʾS/'xk2P8rOڏ(^^b\5n#^E{G/j>,@fU[ή ˄upzu{(Jo5y]b+t#oLJP}iIJoLʺYsJ:K.i]mv\#<ܨ48,ƒK.i^F8t1Q$8t(f!^Jz,1b<@e:hA FS/% +,뀊hI cipRIZ=+,,YqF#)^6LXh@Xi$CI$̨qLC, !@e:hA FS/% q%=p@qBT !I%jd6Ju$87)C8`\#+yC,8Cy",Ctǃ4Q ^JIZS/$(qOˍhPÊoe:hA#MP&^3*}7*5 ߭i-#[ֺ[^&[~S/%T8ߦeIq3)@x+k"I%(q3*L @fUu>C.5 ^.5LP/[YCY騠q3*We:o=o:%L߷f7u]%(>@$7e],nI%4.yynTjn\ҋ[I%4zkHoLJPq騁IJoLʺW۔XY FS/%Nn6LXcipPC,8@h}2B\Ig\PP3BHSL˄up%o:JǮ1_nQad2C1L:u,1b<V٢P)u Pֈ 6J8ߤzLʇ$8_̠ 0geb2y( ^HW8I I+P$`")JP$ܥ74x `")C,8Cy",Ctǃ4Q ^JIZS/$(q>y`(f!^J2y,Y\ [vU \LXhLˁuy!]Я6qOVIJ/,ES$IJni=ϷO/,ES!+,,YqF#)e2ELXhL|^HP[Yq o͜S랷A?[ Jr !bQe)ˁueP(uTňnq[f!A Y\Ks\JҾܢeb2y(e}d]p:8o6F,Ctǃ4Q ^HeȺB'mԂDF %jdnR27Wkk\: :6qOuT8ߦeIq3)@x+k"I%(q3*L @fUu>C.5 ^.5LP/[Y_lqk~yԁ̫\ ^l\~5oLJPr$Ҿܢeb2y(e}d]p-nyT&7]p1b<V٢P}2C.ER"lu7e\;+>kiSt{.E7u]%(A`؁IJ_nQad2C1Le2Yp>.iSBluS!cm(/$2}d]p!6jA"lu7e\ATv}d]pƛy<Zm qI2$2IqAd`l[eb2y( ^HWt4+,뀊hI I+P$`l[I%(qnRqOs.<e +lD(>y!")ny@6QIZW۔XY FS/%L\B'mЛ(uTňnq[f!A Y\DMڐH(u$CMP&^3* tyt[y*fCokhqcuOˍot>M8T^J&qLʓ/PgUR*fVD JPfUy< _)̫|\kx6\k{y<{Q_xmsWt[^ YC,\oe S7֠q3)B  JWJr !bQe)ˁueP(uTňnq[f!A Y\Ks\J8p'mkY$ԒfT8&^Je^YvoV!bQe4>y!\Ig\PP3BHRIZ%(`rRI)Cr8ӊ{3/h~^YvoV!+,,YqF#)e2ELXhL|^HP8*fA [Πǥ}E1(e2QeȺZMn*b7Lx8Ee\eDF %j _nQad2C1Le2Yp>.iSBluS!cm(/$2}d]p!6jA"lu2I7)Cz̫ckzup℩ ͡;!Pŋj@GkVԎ7=o:Y"f6=|Ig\P}{(Jd3*LCWIJř[Y2I)CWe/m|^J2;\+yAĖzE8ײkP8tӲ$8p/k1b.A/"ս<oem}m q3)B  JWJr !bQe)ˁueP(uTňnq[f!A Y\Ks\J8p'mkY$ԒfT8&^Je#Z=02 h@I I+P$րp h:JP$ܥ74wCxh ʆ3#MP&^3* ty5{`eC{] }m}m qj̩27u]%(>@$7e\AʆΫY$̫}E1(e2P[_PhTňnq gCBHPh ʆ3%jc(f!^J pK:m +lD(:DI%joLI&eCedfPY58C,8@h}2BB0 !I%jdES$IJni=g58BW۔XY FS/%e䊘 +lD(4>y)%jL ,pǥ}E1(e2QeȺZMn*b7Lx8Ee\eDF %j _nQad2C1Le2Yp>.iSBluS!cm(/$2}d]p!6jA"lu2I7)Cz̫5Vimpg͜S랷^,n k\5nOZ}mxLqn X2MP~&^ΫṶ$̫2x6S/%W(^ | \{]ypպ1ynP/kiWIJ;!2I)CWmpg͜S랷^,@gUR $C,8FS/%"ksʡ6Q뀩1B闒p>.睔 e$q3*7-ny][Lڟ'c#p>. q3)B  JWJr !bQe)ˁuDMښe +lD(>y!"iR e$q3* :="t|/|N4ͩ GiWIJ>52I)CWJr !bQep͡S!ckAqOYqF#)er`BkAqOwCzW۔XY FS/% m +lD(fIZ/RIP$z+Y@h")1(e2PLhI I+P$ւ,I$2MPsN)g8Y>ܢeb2y(vS/$Tňnq[f!AI+We7t7|\kB~,C,8FS/%"ksʡ6Q뀩1B闒p>.睔 e$+}E1(e2QeȺt"qmM \LXhLˁuN4ͩ\J8$ܥ2eo2ZvCkk]q(0<>Paנt2MP~&^ΫṶ$̫2x6S/%W-,/m{,Ck2yB me}[kHoLJP}iIJoLʸkk]q(0<>Paנt7u]%(A`؁IJ_nQad2C1Le2Yp>.<e +lD(>y!")ny@6QIZ2r睕5ͩv:=": ܰl@$t(f!^J2y,Y\N4ͩ6Q뀩1B闒p>.ƛy 6QIZ2 @ê;Sp>.wGMڞPt~68t1Q$8t(f!^J pK:m #Z}2C1L/$+BkAqOwCzW۔XY FS/%Nn6LXh pHuͤ7&^2I22W(,℩1(e2PLP HRIZ%(F8*f87)C88*f℩C,8Cy",Ctǃ4Q ^JIZS/$(qBBlŋ'r_nQad2C1Le2Yp>.<e +lD(>y!")ny@6QIZW۔XY FS/%L\B'mЛ(uTňnq[f!A Y\DMڐH(u$CMP&^3* tyZvB?[\Ig\P}s[_ECsˆЩk]i-<{]yIo28t Y$8|^Oeq3* /xk/k1b.A/"ս#em}m q3)Ad"I%(q3* $և(Y>y쿭ͤ7u]%(A`؁IJ_nQad2C1Le2Yp>.<e +lD(>y!")ny@6QIZ2r睕5ͩv:=": ܰl@$t(f!^J2y,Y\N4ͩ6Q뀩1B闒p>.ƛy 6QIZ2 @ê;Sp>.wGMڞPt~68t1Q$8t(f!^Jz,1b<F8*f2C1L/$+/hp#ZP3RJǮ1_nQad2C1L.Y*b7Lx8EI%joLI&eCedfPY5 S4!bQe4>y!]ВVIJ(J$2MPsN)g(JF8*f%}E1(e2P^H1BC闒V oo-,քnX6=+,,YqF#)^K.E睕BluS!cm(/$2}d]p-;(&7]pI+PWJr !bQe)ˁuDMښe +lD(>y!"iR e$qIJd8ߦe\>f=o:ĖzE8ײIo28t Y$8|^Oeq3*废!ŗ e}m|^O(^}8+q}}msWIJ;!2I)CWm}ms=|Ig\P}{(JoLJPr$Ҿܢeb2y(e}d]p-nyT&7]p1b<V٢P}2C.ER"lu7e\;+>kiSt{.E7u]%(A`؁IJ_nQad2C1Le2Yp>.iSBluS!cm(/$2}d]p!6jA"lu7e\ATv}d]pƛy<Zm q3)AcI%(q3*_nQad2C1L:u,1b<F8*f2C1L/$+BkCjIZ=+,,YqF#)'REB,Ctǃ4Q 8N:fIZ/RIP$z+Y@h-A$)$C#Z pI)Cr8ӊ{ 5M2I7)Cz̫5Vimxk[_E] ڊ&qLʓ/PgURND JPfU^._f:}f:j dR2C,8An}@G[͡S!ckAn !B5M$\cҾܢeb2y(-u/tY*b7Lx8ES@#m$qI2$2IqAdւYqF#)er`BJ8)B5@E$IJni=@Gւ(f!^J1b<V٢Ph}2RJy!Cf,X?[ Jr !bQe)ˁueP(uTňnq[f!A Y\Ks\JҾܢeb2y(e}d]p:8o6F,Ctǃ4Q ^HeȺB'mԂDF %jdnR27Wk̭mӲ:_#[ίem}m7ot{.B]t>M8Tu,Z&qLʓ/PgUR*fVD JPfUy< _)̫/hX Pŋj@GkVԎ7(^}YΫ֝$̫6[_EHoLJPr$Ҿܢeb2y(e}d]p-nyT&7]p1b<V٢P}2C.ER"lu7e\;+>kiSt{.E7u]%(A`؁IJ_nQad2C1Le2Yp>.iSBluS!cm(/$2}d]p!6jA"lu7e\ATv}d]pƛy<Zm q3)AcI%(q3*_nQad2C1L.Y*b7Lx8h/qeb2y( ^HW(^$(F\cҾܢeb2y(\hTňnq[f!@4 6J8ߤzLʇ$8_̠kA{C,8@h}2B$)$C#Z tRIJdS txh/qJr !bQeLS!cm(/%$_)8[Yq ܰlzW۔XY FS/%L\;*F,Ctǃ4Q ^HeȺ [vP$MnVC,8FS/%"Љƛy4&7]p1b<V٢P}2C.E"8o6&7]pI+P$r8ɗqLʸ}iͮzuuǯï@@Dz@$7ReoLJP^,ȁIJoLʾS/'xk2P8rOˍoײˍot>S/'/j>Wo>yԁΫ֝$̫66yuWIJnX6 dRW۔XY FS/%L\;*F,Ctǃ4Q ^HeȺ [vP$MnV̫ܵewGm3j|eȺΫ7,2I)]+,,YqF#)^K.E6jhMn*b7Lx8Ee\D"qmH$MnV̫6P0\8o6/]ͤ7u]%(8t@$7e]+,,YqF#)'REB,CtǃւYqF#)ewCBHPh/qI+Wt;ǥ}E1(e2P[_PhTňnq[f!@ Ԁ=@GZ ,I+P~eI3*d/P%~ 2ȍh")1(e2PL6qOVIJh")JP$ܥ74r`Z}%}E1(e2P^H1BC闒V o6qOzunX6=+,,YqF#)^K.E睕BluS!cm(/$2}d]p-;(&7]pI+PWJr !bQe)ˁuDMښe +lD(>y!"iR e$qIJd8ߦe\A2>5:_8=o:Y8pd#ט} [msjW685CfTz:W2 dR2^ L7e\^ :_8=o:ߍj:ZvB dR2ru,_eV:?[\ZC쿭ͤ7u]%(A`؁IJ_nQad2C1Le2Yp>.<e +lD(>y!")ny@6QIZ2r睕5ͩv:=": ܰl@$t(f!^J2y,Y\N4ͩ6Q뀩1B闒p>.ƛy 6QIZ2 @ê;Sp>.wGMڞPt~68t1Q$8t(f!^Jz,1b<58C,8@h}2B>HTkAqOwCzW۔XY FS/% m +lD(fIZ/RIP$z+YDkAqOYqF#)ewCB>HRIZ%*58I)Cr8ӊ{ϷOh")C,8Cy",Ctǃ4Q ^JIZS/$(qo-,օ7)[Πǥ}E1(e2QeȺZMn*b7Lx8Ee\eDF %j _nQad2C1Le2Yp>.iSBluS!cm(/$2}d]p!6jA"lu2I7)Cz̫cY[ή^Y|z8 :Io28t Y$8|^Oeq3*废!ŗ e}m|^O(^}85[\@fU[ή 6qOzu}7u]%(A`؁IJ_nQad2C1Le2Yp>.<e +lD(>y!")ny@6QIZ2r睕5ͩv:=": ܰl@$t(f!^J2y,Y\N4ͩ6Q뀩1B闒p>.ƛy 6QIZ2 @ê;Sp>.wGMڞPt~68t1Q$8t(f!^J pK:m ES!bQe4>y!]Я6qOES$]zC,8An}@G[͡S!cm('Rhi$CI$̨qLC, "5!bQe4>y!\$$qRZ }RIJdSP kAOBW۔XY FS/%e䊘 +lD(4>y)%jL-POcҾܢeb2y(e}d]p-nyT&7]p1b<V٢P}2C.ER"lut(f!^J2y,Y\N4ͩ6Q뀩1B闒p>.ƛy 6QIZ$LCfU+[s[kzuwCokhq?+NG/k1b.A/"ս#[ίem}m qj̩27u]%(emd@$7e_)Ay(oLʹyAu[{[ίZΫ֝$̫ܡ{]ypպ1yP{/kiWIJnX6 dRW۔XY FS/%L\;*F,Ctǃ4Q ^HeȺ [vP$MnV̫ܵewGm3j|eȺΫ7,2I)]+,,YqF#)^K.E6jhMn*b7Lx8Ee\D"qmH$MnV̫6P0\8o6/]ͤ7u]%(8t@$7e]+,,YqF#)^6LXh)eb2y( ^HW- !Q>ש%jc(f!^Jz,1b<V٢P bͤ7&^2I22W(,ւkІYqF#)ewCBoI I+P$F^87)C8tւkЄ(f!^J1b<V٢Ph}2RJy!Cu>C.5C^'r_nQad2C1Le2Yp>.<e +lD(>y!")ny@6QIZW۔XY FS/%L\B'mЛ(uTňnq[f!A Y\DMڐH(u$CMP&^3*m}ms󫗖g_A^}@Paנt2MP~&^ΫṶ$̫2x6S/%W-,/m{,Ck2yB me}R2zup/mrkzu}7u]%(A`؁IJ_nQad2C1Le2Yp>.<e +lD(>y!")ny@6QIZ2r睕5ͩv:=": ܰl@$t(f!^J2y,Y\N4ͩ6Q뀩1B闒p>.ƛy 6QIZ2 @ê;Sp>.wGMڞPt~68t1Q$8t(f!^J pK:m Sz1(e2PLhW- !Q>ש%jc(f!^J pK:m +lD(:DI%joLI&eCedfPY xA FS/% q%=p@qBT !I%jdֆ [ΤR&(q3n;\+yC,8Cy",Ctǃ4Q ^JIZS/$(qu>C.5C8*fA [Πǥ}E1(e2QeȺZMn*b7Lx8Ee\eDF %j _nQad2C1Le2Yp>.iSBluS!cm(/$2}d]p!6jA"lu2I7)Cz̫5Vƶ?[]voW ͡޿i->.56Sy(d3*LCWIJř[Y2I)CWe/m|^J2[Yq^ YqeG|c[[Τ7e]voVxk-Ig\P}sq%L߷ZΫ7,2I)]+,,YqF#)^K.E睕BluS!cm(/$2}d]p-;(&7]pI+PfUnZ󲻣涙>N@G}d]p@gUR $C,8FS/%"Љƛy4&7]p1b<V٢P}2C.E"8o6&7]pI+PfU_(uGj{.E^iSf:}f:j dR2C,8An}@G[͡S!cZk%o:f!^JC闒 K=hz"℩BZk%o:JǮ1_nQad2C1L:u,1b<V٢P)u Pֈ 6J8ߤzLʇ$8_̠#Zk%o:f!^JC闒ĖzE S4$$qRZk%o:IJdSP kC`rPBW۔XY FS/%e䊘 +lD(4>y)%jLqBTxA?[ Jr !bQe)ˁueP(uTňnq[f!A Y\Ks\JҾܢeb2y(e}d]p:8o6F,Ctǃ4Q ^HeȺB'mԂDF %jdnR27Wk- S7[_EC ZvB=|{]ypպ1ynzu{/kiDͦlzZgP3P85CfTz:W2 dR2^ L7e]voVxk,뀊qOe S7֠q3)Ad"I%(q3*7(^^b\5n#^E{yy8,@gUR $C,8FS/%"ksʡ6Q뀩1B闒p>.睔 e$q3*7-ny][Lڟ'c#p>. q3)B  JWJr !bQe)ˁuDMښe +lD(>y!"iR e$q3* :="t|/|N4ͩ GiWIJ>52I)CWJr !bQep͡S!cZk%o:f!^JC闒ĖzE S4$F6-Ju$\cҾܢeb2y(\hTňnq[f!@4 6J8ߤzLʇ$8_̠#Z eb2y( ^HWt4$$qRZ I%(qnRqOs9B0 %}E1(e2P^H1BC闒V ozunX6=+,,YqF#)^K.E睕BluS!cm(/$2}d]p-;(&7]pI+PWJr !bQe)ˁuDMښe +lD(>y!"iR e$qIJd8ߦe\A2>5:_t7],nOӲ Xˆt~ȵo}Hs[_EHd3*LCWIJř[Y2I)CWe/m|^J2zup/mpg[ίZΫ֝$̫ܡ{]ypպ1yP{/kiWIJnX6 dRW۔XY FS/%L\;*F,Ctǃ4Q ^HeȺ [vP$MnV̫ܵewGm3j|eȺΫ7,2I)]+,,YqF#)^K.E6jhMn*b7Lx8Ee\D"qmH$MnV̫6P0\8o6/]ͤ7u]%(8t@$7e]+,,YqF#)^6LXhl4!bQe4>y!]ВjIZ=+,,YqF#)^6LXh@Xi$CI$̨qLC, "5ІYqF#)ewCB$)$CjI)Cr8ӊ{ϷOhl4!+,,YqF#)e2ELXhL|^HPS8Z8o=o:~,C,8FS/%"ksʡ6Q뀩1B闒p>.睔 e$+}E1(e2QeȺt"qmM \LXhLˁuN4ͩ\J8$ܥ2eo2 f=o:yfuÀï@ï@d3*LCWIJř[Y2I)CWe/m|^J2[Yq^ YqeG|c[[Τ7e\^ ֠q3)B  JWJr !bQe)ˁueP(uTňnq[f!A Y\Ks\J8p'mkYΫY$̫}E1(e2P[_PhTňnxֆBf!^JC闒 ֆRJǮ1_nQad2C1L:u,1b<V٢P)u Pֈ 6J8ߤzLʇ$8_̠#ZP3Bf!^JC闒 K=hz"℩BJ8)Q(J$2MPsN)g>>5 S4!+,,YqF#)e2ELXhL|^HP[Yq o%LzunX6=+,,YqF#)^K.E睕BluS!cm(/$2}d]p-;(&7]pI+PWJr !bQe)ˁuDMښe +lD(>y!"iR e$qIJd8ߦe\[ͮzuuǮ8*fH͏_YC,^j&qLʓ/PgUR*fVD JPfUy< _)̫|\kx6\k{y<{Q_xmsW=o:6ZgW@gUR $C,8FS/%"ksʡ6Q뀩1B闒p>.睔 e$q3*7-ny][Lڟ'c#p>. q3)B  JWJr !bQe)ˁuDMښe +lD(>y!"iR e$q3* :="t|/|N4ͩ GiWIJ>52I)CWJr !bQe䠷 Ծ#fЩ1(J FS/% q%=p@qBT !Q(J%jc(f!^J pK:m +lD(:DI%joLI&eCedfPY(J FS/% K=hz"℩BJ8)Q(J$2MPsN)g(^5 S4!+,,YqF#)e2ELXhL|^HP℩[Πǥ}E1(e2QeȺZMn*b7Lx8Ee\eDF %j _nQad2C1Le2Yp>.iSBluS!cm(/$2}d]p!6jA"lu2I7)Cz̫5Vƶ=|YP3yy ͡;!Pŋj@GkVԎ7=o:Y"f6=|Ig\P}{(Jd3*LCWIJř[Y2I)CWe/m|^J2zup/mq%=p@")[ίZΫ֝$̫ܡ{]ypպ1yP{/kiWIJnX6 dRW۔XY FS/%L\;*F,Ctǃ4Q ^HeȺ [vP$MnV̫ܵewGm3j|eȺΫ7,2I)]+,,YqF#)^K.E6jhMn*b7Lx8Ee\D"qmH$MnV̫6P0\8o6/]ͤ7u]%(8t@$7e]+,,YqF#)^6LXhqBTeb2y( ^HWYC%LВ℩Vv=qJr !bQep͡S!cm( ,I+P~eI3*d/P%~ 2ȍh-1(e2PLhWo4$$qRZ m椒87)C8tւy _nQad2C1L;)*b7Lx8Ee䤕2Bt7|\kBo7A?[ Jr !bQe)ˁueP(uTňnq[f!A Y\Ks\JҾܢeb2y(e}d]p:8o6F,Ctǃ4Q ^HeȺB'mԂDF %jdnR27Wkk\: :h :Io28t Y$8|^Oeq3*废!ŗ e}m|^O(^}85[\@fU[ή o=o:ߍj: ܰl@$t(f!^J2y,Y\ [vU \LXhLˁuy!^-В[o5$]zC,8B/EB,Ctǃ4Q ,@YV$ԒfT8&^Je^"1(e2PLhWYCVIJh/qI%(qnRqOs9:! _nQad2C1L;)*b7Lx8Ee䤕2BOˍhP'r_nQad2C1Le2Yp>.<e +lD(>y!")ny@6QIZW۔XY FS/%L\B'mЛ(uTňnq[f!A Y\DMڐH(u$CMP&^3*m}ms󫗖g_A^{ :Io28t Y$8|^Oeq3*废!ŗ e}m|^O(^}85[\@fU[ή tyykP8tbI%+}E1(e2QeȺZMn*b7Lx8Ee\eDF %joLʸ [vWt|6\oLJPr$Ҿܢeb2y(e}d]p:8o6F,Ctǃ4Q ^HeȺB'mԂDF %joLʸkOeȺ 6jyB,@gURMD JPfUҾܢeb2y(-u/tY*b7Lx.<e +lD(>y!")ny@6QIZW۔XY FS/%L\B'mЛ(uTňnq[f!A Y\DMڐH(u$CMP&^3* ty_zwzuwCokhq?+NG/k1b.A/"ս#[ίem}m qj̩27u]%(emd@$7e_)Ay(oLʹyAu@G_oƵWIJ;!2I)CWB/tb-[S[Ρ_f: ܰl@$t(f!^J2y,Y\ [vU \LXhLˁuy!\{@q%=p@qBT !I%jde:hI$2MPsN)g\UpQ˄up%o:ܢeb2y(vS/$Tňnq[f!AI+We7(^-H`88*f\#+y8$ܥ2eo2!Qkk[Yp[ήrP}mxLqnnPŋ@$7ReoLJP^,ȁIJoLʾS/'xk2P8rOڏ(^^b\5n#^E{G/j>,@fU[ή ˄upzu{(Jo5y]b+t#oLJP}iIJoLʺYsJ:K.i]mv\#<ܨ48,ƒK.i^F8ߤzLʇ$8_̠6Ju2C1L/$+ĖzE S4$$qRJu$87)C8:s9WoGC.@Jr !bQeLS!cm(/%$_)8[Yq oP3{.@ dnR27Wx5GW WtyQo^mxLqnoe v6Sy(d3*LCWIJř[Y2I)CWe/m|^J2[Yq^ YqeG|oͯMEW=o:6.yy*f0uЎq3)Ad"I%(q3*e+pI,wp[ήrP8tZI,{]@~eI3*d/P%~ 2Y>f!^JC闒8I I+P$m,I$2MPsN)g\6qO}%}E1(e2P^H1BC闒V o/k/hX ~,C,8FS/%"ksʡ6Q뀩1B闒p>.睔 e$+}E1(e2QeȺt"qmM \LXhLˁuN4ͩ\J8$ܥ2eo2 GZ۟d#u6qOzu{/khq5c{pպ<km1ź/k1b85CfTz:W2 dR2^ L7e\{@6b/mru,_eV:?[\ZqB쿭ͤ7u]%(>@$7e\Au6qOzu{/kiWIJnX6 dRW۔XY FS/%L\;*F,Ctǃ4Q ^HeȺ [vP$MnV̫ܵewGm3j|eȺΫ7,2I)]+,,YqF#)^K.E6jhMn*b7Lx8Ee\D"qmH$MnV̫6P0\8o6/]ͤ7&^2I22W(,ES!bQe4>y!]ВVIJY>IJdS^l_lgJr !bQeLS!cm(/%$_)8t7|\kB~,C,8FS/%"ksʡ6Q뀩1B闒p>.睔 e$+}E1(e2QeȺt"qmM \LXhLˁuN4ͩ\J8$ܥ2eo2ZvCkk]q(0<>Paנt2MP~&^ΫṶ$̫2x6S/%W-,/m{,Ck2yB me}[kHoLJP}iIJoLʸkk]q(0<>Paנt7u]%(A`؁IJ_nQad2C1Le2Yp>.<e +lD(>y!")ny@6QIZ2r睕5ͩv:=": ܰl@$t(f!^J2y,Y\N4ͩ6Q뀩1B闒p>.ƛy 6QIZ2 @ê;Sp>.wGMڞPt~68ߤzLʇ$8n(q.?Y N*kR;)c"@OytBR8'eI{ԕ^օ+l;r !bQe䡚,ڊ6qO7Ly c8hDt(7*1(1x:xƋI+WJr !o{Ƣ!@3ƢVB,ʊ<:1k[s$I'eI'qCue>eǨqqjܢB B hEoCt>kBejB|qd!ňI1@#y5d)`@@G`HhP RIZIdUȵ2In01( k$7"I6v6$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cdouble_mi.html$$ Method Index for com.ibm.record.ctypes.CDouble

Constructor Index

CDouble()

Method Index

canConvertFromDouble()
canConvertFromFloat()
canConvertFromInt()
canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToDouble()
canConvertToObject()
canConvertToString()
checkConstantValue(IRecord, byte[], Object)
checkConstantValue(IRecord, int, Object)
getAlignmentHint()
getDouble(IRecord, byte[])
getDouble(IRecord, int)
getObject(IRecord, byte[])
getObject(IRecord, int)
getSize()
getString(IRecord, byte[])
getString(IRecord, int)
setDouble(IRecord, double)
setDouble(IRecord, int, double)
setFloat(IRecord, float)
setFloat(IRecord, int, float)
setInitialValue(IRecord, int, Object)
setInitialValue(IRecord, Object)
setInt(IRecord, int)
setInt(IRecord, int, int)
setObject(IRecord, int, Object)
setObject(IRecord, Object)
setShort(IRecord, int, short)
setShort(IRecord, short)
setString(IRecord, int, String)
setString(IRecord, String)
fromDouble(IRecord, double)
fromDouble(IRecord, int, double)
fromInitialValue(IRecord, int, Object)
fromInitialValue(IRecord, Object)
testConstantValue(IRecord, byte[], Object)
testConstantValue(IRecord, int, Object)
toDouble(IRecord, byte[])
toDouble(IRecord, int)
d, k>$7"I6v6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cfloat.htmltml$$ com.ibm.record.ctypes.CFloat <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.cfloat_dsc.html#_top_">com.ibm.record.ctypes.CFloat (no frames)</a></b></p> </body> tValu l$7"I6w6$@./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cfloat_dsc.html$$   deort.<>achilns /bfmpuv"=_gy#(),CFIORTjx-:;ESqw &AJUVDP[]0HLk14z359BM!+28?GW|7NYH)hkL4q RI I1T y$1 t* tZBP@ˆ4P. tZ@ 9NJpچCƛB{.PBvt5yN@p(D  O(oYgpcp @/@P U:uQ=bQe䡚4ڊkI:}(KirIW#yCo$,,,,,,OBAҿB4X$.?BqTYOU {)c0POyt T@'eI{ԕ^ $^٢{r%bQe䡚4ڊ[z $}ET1 5$]+,Pzc ֶ)%jI11ozNʒN$})$ˏQ:Z*]yke rybĨ z1(e2PmEAoT@7)D(JJH>Qd,YB1b 4X,!LԒ?I@P*W۔X,FS/% m  /lbT1(e2P@hxi$D@`P( (K,8An}@fFB,Ctǃ 4X2C1LF5M?I@P+,8C4iפMQLDgU8\cRkԒRΫЎ&=+,PYqF#)#Rn6Xh* pHTkCƛI%j t/RMQznTj޸ 9c+͜SF\|ܡA$ }Mc-tsm*!T@n(ҿBB"TVK@ *Ù2B$Ze:e tΨJr%bQe䡚4ڊ[z.b7Lx0P[z%AAoIZ̫:IRZe?ֶBhDK@ LD_nQbC1L3FQC }EXbp>B }AU 0-I+P8A~GZ۞K[k[YqU?F]foYO@7g_z :[zq;\}}m}=o:@P(K,8C4i0\ňnf.W4/,h8@1p YyfCRJ@e_V/j<}myUOѦtz٧-S?euq;\}}m}=o:@P(K,8C4i0\ňnf.W4/,҄)%L\h^YS5$@fU{]ekn{.bmmgך1TmwGre>\^Y|Y((8iBAG^>6vǞH tΨJr%bQe䡚4ڊ[z.b7Lx3`%%L\h^YjIZ̫6vǞH tΨJr%bQe䡚4ڊ[z.b7Lx3`)%L\h}K8IZ̫Y*k=lӖ)}flyyPQנrku1i_nQbC1L3FQC }EXbp>C4 f SaS5$@fU{]ekn{.bmmgך1TmwGre>\=o:z :P3@PQנ~n8kM:gT%}E1(e2PmE -1b<UN0 J\:J@e_V/j<}myUOѦtz٧-S?eg@@` :qiLD(BYf!^JMע,Ctǃ1 GW VbQe0:y!<@=p҄)%Lm0®@I+P8`u2ByCv0 S4 Lʿx-GW WtyQot>M8T?(n^bƠ:+,PYqF#)hj(ao蹋1m0®@eb2y( ^HOt4',!LЁ*cipRIZ S4 Lʿx-GW WtyQo^mxLqn e v6Sy( tΨJr%bQe䡚4ڊ[z.b7Lx1yfנFS/% סT^YoIZ}B̫<ǯ=|]4 ~OӲ Xˆt}msjW6@P(K,8C4i0\ňnb }Af!^J סT^YoIZ סfU&?[_F\PQנrku_nQbC1L3FQC }EX/,;\+y1(e2PLhOYC (BT^YvoV$@ ҄)@e_Vƶ?[]voW) M޿i->.56Sy( tΨJr%bQe䡚4ڊ[z.b7Lx1yfA [ΠvYqF#)e=p҄)%Ek%o:JLP3B̫Ml~r[ήP3{i@pd#ט [ /"ս$[ίem}m :+,PYqF#)hj(ao蹋1+@gd h%C+@gd hVp3*=26@P(K,8C4i0\ňna)1(e2PLPݠ eh}$0:y!<@?WtyZvB?[\YgW67= [Snֺ[^&[yCv5_nQbC1L3FQC }EXZ,@FS/%  P gI+P8`u2B{fUuiMzuuǯ@gAG^@P(K,8C4i0\ňnao;,8@`u2ByCv0oIZ8A~GZ۟d#u[{[ίem}m?ot{.Bݭt>M8Tu,j3ܢ eb2y(f6^  2-eb2y( ^HOt4 JVש%j ^HOt4 Lʿ;!i[ήuzAu@"W۔X,FS/% ѦPks!cV!LvYqF#)e`%C+CJjIZ8A~GZ۟d#zbkzu{/kh-c{pպ<km1ź7k1cP@P(K,8C4i0\ňnaS4bQe0:y!=Ё*ZP3RJLhA~ZvCkk]q =hz1oﲄ)LD(BYf!^JMע,Ctǃ %C+A.=$ Lʿk̭mӲp[_F] ڊ3ܢ eb2y(f6^  2 eb2y( ^HO(nT2 I+P8`u2ByCv0 2+[s~ W67= [Snֺ[^&[yCv5_nQbC1L3FQC }EXZ tC1LS/$'%C+A;ĒS/$'@e_V4W\z : t@ tΨJr%bQe䡚4ڊ[z.b7Lx4kBkvYqF#)ekЁ*h[zVpekЂ3*=2>5:_-Wt66zCv7t[\Zy쿭M:gT%}E1(e2PmE -1b<5o;,8@`u2B{< JZ^0:y!=О[z@e_kci[ή^Y|z-AG^@P(K,8C4i0\ňnhֆA [ΠvYqF#)eCBxZ @iBֆA [ΤS/$'JhA~GZ۟mwA忞^ot66zM8T,CkcuOe䠁:+,PYqF#)hj(ao蹋1ѭ x@FS/% =hz1S4 JZk%o:JLP3B̫Ml~r[ήP3{i@pd#ט [ /"ս$[ίem}m :+,PYqF#)hj(ao蹋1ѭ C1LS/$'%Q 0:y!=Ђ3*=2>5:_t6Vs[_FD ZvB=|]ypպϭb-[R@_Ѧ3ܢ eb2y(f6^  h;,8@`u2B{=Ё*hd5$@ CB̫Ml~6y3zt4zAu@"W۔X,FS/% ѦPks!cZP3Af!^J =hz1S4 JZP3RJLhO (BfU&?[_F\\8iBAu@"W۔X,FS/% ѦPks!cZP3Af!^JzbJh@F4 f0:y!<4 f?Wty_z!LzuwCokh?+NG7k1c{.A^E{H^4Au@"W۔X,FS/% ѦPks!cZ m惲C1LS/$'ւ[y%j ^HOt4'ŷ@e_kci[ή^Y|zo4zAu@"W۔X,FS/% ѦPks!cZ m惲C1LS/$'ŷ%QRJLhA~GZ۟gŷ[ήmm}m?\'iu,oeV:>ȵo}I[_FH tΨJr%bQe䡚4ڊ[z.b7Lx4kA;vYqF#)eCBxZ @'q%Q:JLhO:̫Ml~6y3@@` :LD(BYf!^JMע,CtǃF eb2y( ^HOYC:5@bIZ;3*=2>5:_3]4 ~OӲ Xˆt}msjW6@P(K,8C4i0\ňnmU:h@FS/% ',!LЁ*ڎ\#+yԒVpe`JhA~Q[k[Yp[ήrP}mxLqn ~PݮōAu@"W۔X,FS/% ѦPks!cWJuC1LS/$'zbJh@mGB@I+P8`u2B{<4 f?W}7*5 ߭i-$[nֺ[^&[~S/%_nQbC1L3FQC }EX }Af!^J8@mש%j ^HO(nfU{]ekn~Vzo=o:i@1j v6Sט tΨJr%bQe䡚4ڊ[z.b7Lx6[z1(e2PLh@mש%j ^HOt4 Lʿ;!i[ήuzAz+Y(K.9y*I+Q ®9yI-2+Y(HP[z%I%j tfP!Ao8@$RkԒR&(3נMQ~ 2 21:[K@ āK@ Je *}f^ RIZ%)U 0-I%(nRqOs9Woñp YyfנMQ^3*tyڏ[^j,Sii{dp>yyfug@נ((?7cѦT@eI3)Aէd"I%(3*e+pI,?u]%(4t@$?e]+,PYqF#)n6Xbp>B }AU 0-I+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BX\м!TVIJbp>B @7)D8ظ\м!MQ^3*tyڏ[^j,Sii{dp>yyfug@@q_F_oc[Τ:MQ&^ΫV$̫4é$@t1Q$@t(BYf!^J41b<U 02%L\h^YԒwCzW۔X,FS/% m  /lbT@hxi$DI$̨LD,%U 04 f RIZ%)U 04 f@7)D8ظ\мJh8Ar@门Lʸ{]ekn{.bmmgך1TmwGre>\^Y|Y((8iBAG^>6vǞH t3*LDWIJ;!2I)DWK.i[RIe(3)AcI%(3*_nQbC1L.ti.b7Lx3`iB.W4/,҄)Vv=qJr%bQepMs!c,Jh m$I2$:IҿBp Yyf[yTVIJbp>BRIJ tSUp\h^Yh8Ar@门Lʸ{]ekn{.bmmgך1TmwGre>\^Y|Y((<[y((?7cѦT@eI3)Aէd"I%(3*e+pI,?u]%(4t@$?e]+,PYqF#)n6Xbp>BAU 0I+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BX\м;p*I+Q1p Yyfw$:MQN)g*v.W4/,N0 IJ t@e\=2=З1{QֶkE~69ox޲_l.o/,ξu AG^>6vǞH t3*LDWIJ;!2I)DWK.i[RIe(3)AcI%(3*_nQbC1L.ti.b7Lx3`'q%L\h^Y@bIZ=+,PYqF#)n6Xh*4{<|Y((<>PQנ~n8kM:MQ&^ΫV$̫4é$@t1Q$@t(BYf!^J41b<U g.W4>%S$]z(K,8B7FB,Ctǃ 4X4I+QeI3* t/Q~ 2 bp>C-:JSaoI)Dr@ӊ{ʻ}.U IJ t@e\=2=З1{QֶkE~69ox޲_l.ovǞ_o=|z-AG^>6@5DfTz:ZvB dR2\ҷ˚QgUROMD JQfUҾܢ eb2y(\h\ňnf.W4>kp*bp>C-I+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BX\ (BTVIJbp>C4 f@7)D8ظ\ (BMQ^3*tyڏ[^j,Sii{dp>{<|Y((8iBAG^>6@5DfTz:ZvB dR2\ҷ˚QgUROMD JQfUҾܢ eb2y(\h\ňnf.W4>Jh8@1p YP3RJǮ1_nQbC1L.ti.b7Lx0EP M?&^2I2:W(P.W4>;p*I+Q1p Y t$@7)D8ظ\:$LDfU+[s s mkk>Y*k=lӖ)}flyyPQנpN0zv4A?Re LJPuiIJ LʺYsJ:K.iDWIJ >52I)DWJr%bQepMs!c\:UN1$]z(K,8B7FB,Ctǃ 4X4I+QeI3* t/Q~ 2 cipP;,8@`u2ByCv0 =hz1S4 JJ@)Lm0®@I%(nRqOs9Woñ GW V+,PYqF#)e2EXh* ^JIZS/$$ 废  ڈ$ (BJu:I7)Dz̫v<u\#<ܨ7[^&[H7k1cP@5DfTz:W2 dR2^L?e\SQ^ Xˆt}msj ڏ6@sx{k\7^o ^WXź?u]%(:@$?e],nI%4.yynTj ~\ҋ[I%4z[H LJPi騁IJ LʺW۔X,FS/% m  *\4 [ΠvYqF#)e`zbJh@1 GW V$]z(K,8B7FB,Ctǃ 4X4I+QeI3* t/Q~ 2 cipP;,8@`u2B{ֶ\7]F{m1ź\kx-CkcuOe䠁j̩2?u]%(emd@$?e_)=y( LʹnieƷx{keƷ[_)e[k(6T]5?e\^GW W),W1nuWIJ;!2I)DWK.i[RIe+˄upzuwG4Ie+޶:}f:j dR2(K,8An}@fFB,Ctǃ1 GW VbQe0:y!=О ևP3B8U:hI%jc(BYf!^J pK541b<^٢Ĩ-5 Pm$I2$:IҿB`[z1(e2PL[z%I%j t }RIJ tS^@ }AҾܢ eb2y(vS/$\ňna{fe䤕2BHA[ Jr%bQe)ˁueP(u\ňna{fe\ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u:I7)Dz̫Vƶ=|Y׼Ѧ~V_(n^b\5n3kVԐ?=o:iI 2@t Y$@|^Oe䠁3*Wzo=o:ߍj:ZvB dR2ru,oeV:>ȵo}O=o:[_FH LJP{rq$Ҿܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!W"Z,u?e\;+>kiStv\ LJP{rq$Ҿܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u?e\=GTv}d]pƛyCK.5$^#rq_nQbC1Le2Yp>.<e  /lbTLu-ny@QIZzW۔X,FS/%L\B'mЋ(u\ňna{fe\D"qmH EnVI&(/QpMl~6y3@נ((:&Lʓ/QgUR*fVD JQfUy< _)̫|\kx\k{y.;("7]pI+POJr%bQe)ˁuDMښe  /lbTLuN4ͩ\J@$ܥ:e 2GZ۟mwA忞^ot66zM8T,CkcuOe䠁j̩2?u]%(emd@$?e_)=y( LʹnieƷx{keƷ[_)e[k+?o=o:@wA [ή;\=pD f?u]%(=`IJ_nQbC1Le2Yp>.<e  /lbTLu-ny@QIZ2r睕5ͩv:;.E?u]%(=`IJ_nQbC1Le2Yp>.iSB,us!c,Jp>.ƛy QIZ2@;Sp>.wGMڞP߭t~6@zLʈ$@_̡BK02-JuC1LS/$',!LЁ*I+Q`d[I%(nRqOsȵo}I[_FH"m3czbkeS5T@eI3)@x+k"I%(3*LAfUk%o:Z @[{ f?u]%(:@$?e\ Xˆt}msjzu?6@tI%+}E1(e2QeȺZEn.b7Lx0EPu2BEeYF %j Lʸ [vWt|6 Y\@tI%+}E1(e2QeȺt"qmM\Xh*^HUȺB'mԂYF %j Lʸ{kOeȺ 6jyC~4AeI3* t/Q~ 2 Z= eC@p*I+Q 2 jI)Dr@ӊ{ +@gd h@$ܥ:e 2GZ۞2?[]opPCyw[_FH t3*LDWIJ;!2I)DWmu eC{] AgUROMD JQfUҾܢ eb2y(-5/ h\ňna32T4] 32T4] I+Wt;ǥ}E1(e2P[j_PѦй1%Anjhxi$DI$̨LD,$eh}C1LS/$'7hp*I+Q qOR&(3͜S댭qOt(BYf!^J1b<^٢Ĩ0:y)%jL 4pǥ}E1(e2QeȺZEn.b7Lx0EPu2BEeYF %j _nQbC1Le2Yp>.iSB,us!c,Jp>.ƛy QIZ$LDfU+[s~)[ίem}m?ot{.Bݭt>M8Tu,j&Lʓ/QgUR*fVD JQfUy< _)̫7hXPݮōj@g1y ~Pݨ/kiWIJ;!2I)DWmpg͜S랷^4AgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\睔e$3*7-ny][Lڟ'c3}d]pAgURۖ $(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!W"iRe$3* :="t|/|N4ͩ GiWIJ >52I)DWJr%bQepMs!cVK8;,8@`u2ByCv0)Vv=qJr%bQepMs!c,Jh m$I2$:IҿBqOvYqF#)eCB$D2Y>IJ tS6qO2Y>Ҿܢ eb2y(vS/$\ňna{fe䤕2BHu>CK.5[ Jr%bQe)ˁueP(u\ňna{fe\ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u:I7)Dz̫V4W\z :6qOuT@eI3)@x+k"I%(3*LAfUu>CK.5 ^.5LPݨ/Y_lVR:ZvB dR24W\z :6qOuWIJnX. dRW۔X,FS/%L\;*YF,Ctǃ 4XS/$*}d]p [vP EnV̫ܵewGm3j|ˁuWIJnX. dRW۔X,FS/%L\B'mЋ(u\ňna{fe\D"qmH EnV̫P(\8o67]M?u]%(4t@$?e]+,PYqF#)#Rn6XZ,@FS/%  P gI+Wt;ǥ}E1(e2P[j_PѦй1%Anjhxi$DI$̨LD,$eh[z1(e2PLPݠ $D2-I%(nRqOs9oZ^}E1(e2P^H1%AI+We䄐?f,h[ Jr%bQe)ˁueP(u\ňna{fe\ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u:I7)Dz̫Vimpg^[_FDmsˆЩk]i-<]yI 2@t Y$@|^Oe䠁3* 7x{k7k1c{.A^E{H7j>4AgURND JQfU\Y׼_Ѧ:ܰ\@$t(BYf!^J2y,Y\ [vU\Xh*^HUȺ<@(u$DWksf;":ܰ\@$t(BYf!^J2y,Y\N4ͩQ뀹1%A Y\DMڐ@(u$DWm|QY\;{qmO(oֺ?FH LJPi騁IJ LʺW۔X,FS/% m  2-eb2y( ^HO(nT2-I+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BFVנFS/%  RIZ%(eh[zJQܥ?4rk2-Jr%bQeLs!c,JV u>CK.5[ Jr%bQe)ˁueP(u\ňna{fe\ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u:I7)Dz̫V4W\z :[zj̩2?u]%(emd@$?e_)=y( LʹnieƷx{keƷ[_)e[k+?u_[\AgURND JQfU_F\_AG^}@PQנt?u]%(=`IJ_nQbC1Le2Yp>.<e  /lbTLu-ny@QIZ2r睕5ͩv:;.E?u]%(=`IJ_nQbC1Le2Yp>.iSB,us!c,Jp>.ƛy QIZ2@;Sp>.wGMڞP߭t~6@t1Q$@t(BYf!^J pK541b<eh[z1(e2PLh@ }RJǮ1_nQbC1Lkti.b7Lx0EP[j@3Z4I+QeI3* t/Q~ 2 ZP3Af!^J8@$RV!LԒR&(3!L24 f}E1(e2P^H1%AI+We䄐?(n(n }nX.=+,PYqF#)^K.E睕B,us!c,Jp>.;("7]pI+POJr%bQe)ˁuDMښe  /lbTLuN4ͩ\J@$ܥ:e 2GZ۟d#zbkzu{/kh-c{pպ<km1ź7k1cP@5DfTz:W2 dR2^L?e\@6b/mru,oeV:>ȵo}IG[_FH LJPuiIJ Lʸ{k,׼_Ѧ:ܰ\@$t(BYf!^J2y,Y\ [vU\Xh*^HUȺ<@(u$DWksf;":ܰ\@$t(BYf!^J2y,Y\N4ͩQ뀹1%A Y\DMڐ@(u$DWm|QY\;{qmO(oֺ?FH LJPi騁IJ LʺW۔X,FS/% m  24 fC1LS/$'7hp*ZP3RJǮ1_nQbC1L.ti.b7Lx0EP M?&^2I2:W(PS4bQe0:y!=Ё*I+Q (B$:MQN)g (BehiBJr%bQeLs!c,JV o- ,ք}nX.=+,PYqF#)^K.E睕B,us!c,Jp>.;("7]pI+POJr%bQe)ˁuDMښe  /lbTLuN4ͩ\J@$ܥ:e 2ZvCkk]q =hz1oﲄ)I 2@t Y$@|^Oe䠁3*废!e}m|^O(n}m@+q}}msWIJ;!2I)DWm}ms=|Ag\ -P3P@tI%+}E1(e2QeȺZEn.b7Lx0EPu2BEeYF %j Lʸ [vWt|6 Y\@tI%+}E1(e2QeȺt"qmM\Xh*^HUȺB'mԂYF %j Lʸ{kOeȺ 6jyC~4AgUROMD JQfUҾܢ eb2y(-5/ h\ňnaS4bQe0:y!=Ё*ZP3RJǮ1_nQbC1Lkti.b7Lx0EP[j@3Z4I+QeI3* t/Q~ 2 Z p JJ@)C+A.=$@7)D828Ar@门Lʸ{]ekn~V׋^4(nP@5DfTz:ZvB dR2p[_FH LJPi騁IJ LʺW۔X,FS/%Fm  28@ Vv=qJr%bQe䠷Ծ3[Ms!c,J#RIZ/RIQz+Y(HN0bQe0:y!<@ RIZ%(eh'qJQܥ?4pN3:Ҿܢ eb2y(vS/$\ňna{fe䤕2BH7k7hX >,(K,8FS/%"ksʡQ뀹1%A Y\睔e$'}E1(e2QeȺt"qmM\Xh*^HUȺB'mԂYF %j tnR2?Wk̭mӲ:_3^4 ~ k\5nOZ}mxLqn X:MQ&^ΫṶ$̫2xS/%W(n \]ypպϭb-[R@Q_Ѧ:ZvB dR2:_3^4AgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\睔e$3*7-ny][Lڟ'c3}d]pAgURۖ $(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!W"iRe$3* :="t|/|N4ͩ GiWIJ >52I)DWJr%bQepMs!cVwFS/%  JVw%jc(BYf!^J41b<^٢ĨIZ/RIQz+Y(HN0bQe0:y!=Ё*I+Q :IJ tS tq@`:W۔X,FS/%e䋘  /lbTL|^HICynieƴ#rq_nQbC1Le2Yp>.<e  /lbTLu-ny@QIZzW۔X,FS/%L\B'mЋ(u\ňna{fe\D"qmH EnVI&(/QpӲ[_F\_AG^;uT@eI3)@x+k"I%(3*LAfUu>CK.5 ^.5LPݨ/Y_lVR:ZvB dR24W\z : t@ LJP{rq$Ҿܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!W"Z,u?e\;+>kiStv\ LJP{rq$Ҿܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u?e\=GTv}d]pƛy.iSB,us!c,Jp>.ƛy QIZ$LDfU54W/,ξ^@ t3*LDWIJř[Y2I)DWe/m|^J2[Yq^YqeG|d[[Τ?e\^׼~5 LJP{rq$Ҿܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!W"Z,u?e\;+>kiStv\ LJP{rq$Ҿܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u?e\=GTv}d]pƛy5=o:!Lmm}m?^LqnYq׉꟔A?Re LJP^,ȁIJ LʾS/'x{k2P@rOˍoײˍot>S/'7j>W ߭zu 3*x\ ]vo =hz1o=o:B~5 LJP{rq$Ҿܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!W"Z,u?e\;+>kiStv\ LJP{rq$Ҿܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u?e\=GTv}d]pƛy.;("7]pI+QfUnZ󲻣涙>N@geȺΫ,2I)]+,PYqF#)^K.E6jhEn.b7Lx0EPu2BE"8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j dR2(K,8B7FB,CtǃF2-JuC1LS/$',!LЁ*hd[I+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BcZ eb2y( ^HOt4 JJ@)Q @7)D8@ֆCAҾܢ eb2y(vS/$\ňna{fe䤕2BHt7A[ Jr%bQe)ˁueP(u\ňna{fe\ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u:I7)Dz̫Vƶ=|YzuwCokh?+NG7k1c{.A^E{H^4A?Re LJP^,ȁIJ LʾS/'x{k2P@sx{k=}zu}?u]%(:@$?e\ Xˆt}msjzu?6@tI%+}E1(e2QeȺZEn.b7Lx0EPu2BEeYF %j Lʸ [vWt|6 Y\@tI%+}E1(e2QeȺt"qmM\Xh*^HUȺB'mԂYF %j Lʸ{kOeȺ 6jyC~4AgUROMD JQfUҾܢ eb2y(\h\ňnhֆCAf!^J ֆCRJǮ1_nQbC1L.ti.b7Lx0EP M?&^2I2:W(PֆCAf!^J  RIZ%*5ԒR&(3nh:W۔X,FS/%e䋘  /lbTL|^HIS4Z@o=o:>,(K,8FS/%"ksʡQ뀹1%A Y\睔e$'}E1(e2QeȺt"qmM\Xh*^HUȺB'mԂYF %j tnR2?Wkk\:PQנwC@PQנt:MQ&^ΫṶ$̫2xS/%W- ,/m{,Ck2yCv me}R2zup/mwCyykP@tI%+}E1(e2QeȺZEn.b7Lx0EPu2BEeYF %j Lʸ [vWt|6 Y\@tI%+}E1(e2QeȺt"qmM\Xh*^HUȺB'mԂYF %j Lʸ{kOeȺ 6jyC~4AgUROMD JQfUҾܢ eb2y(-5/ h\ňnhֆCAf!^J  TkC!%jc(BYf!^J pK541b<^٢Ĩ-5 Pm$I2$:IҿBƴ4 fC1LS/$'zbJh@$RZP3RIJ tS}|kCJh:W۔X,FS/%e䋘  /lbTL|^HI[Yq !Lzu}nX.=+,PYqF#)^K.E睕B,us!c,Jp>.;("7]pI+POJr%bQe)ˁuDMښe  /lbTLuN4ͩ\J@$ܥ:e 2 Ѧ=o:P3Q Dfǯ,׾j&Lʓ/QgUR*fVD JQfUy< _)̫|\kx\k{y.;("7]pI+QfUnZ󲻣涙>N@geȺΫ,2I)]+,PYqF#)^K.E6jhEn.b7Lx0EPu2BE"8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j dR2(K,8An}@fFB,CtǃF4 fC1LS/$'zbJh@F4 f\cҾܢ eb2y(-5/ h\ňna{fԀ5@f.;("7]pI+POJr%bQe)ˁuDMښe  /lbTLuN4ͩ\J@$ܥ:e 2GZ۟gBWt66zCv7t[\Zy쿭M:MQ&^ΫṶ$̫2xS/%W=o:Z @[{[ίZΫV$̫ܡ]ypպϭb-[S[΢_Ѧ:ܰ\@$t(BYf!^J2y,Y\ [vU\Xh*^HUȺ<@(u$DWksf;":ܰ\@$t(BYf!^J2y,Y\N4ͩQ뀹1%A Y\DMڐ@(u$DWm|QY\;{qmO(oֺ?FH LJPi騁IJ LʺW۔X,FS/% m  ҄)1(e2PL ևP3B5S5$]z(K,8B7FB,Ctǃ 4X4I+QeI3* t/Q~ 2 h%1(e2PLhOo4 JJ@)QRIJ tS}|kA-t(BYf!^J1b<^٢Ĩ0:y)%jL 废!ВPGҾܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!W"Z,u(BYf!^J2y,Y\N4ͩQ뀹1%A Y\DMڐ@(u$DMQ^3*m}ms󫗖g_AG^AG^@5DfTz:W2 dR2^L?e\S4[=[ ڏ-ƷkH Lʹy=WAgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\睔e$3*7-ny][Lڟ'c3}d]pAgURۖ $(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!W"iRe$3* :="t|/|N4ͩ GiWIJ >52I)DWJr%bQe䠷Ծ3[Ms!cZ m惲C1LS/$'ւ[y%jc(BYf!^J pK541b<^٢Ĩ-5 Pm$I2$:IҿBƴeb2y( ^HOo4 JJ@)QRIJ tSPݠ kA-t(BYf!^J1b<^٢Ĩ0:y)%jLo7A[ Jr%bQe)ˁueP(u\ňna{fe\ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u:I7)Dz̫Vƶ=|Ym[_FD ZvB=|]ypպϭb-[R@_Ѧ&Lʓ/QgUR*fVD JQfUy< _)̫\ \Ym֠3)Aէd"I%(3*7(n^b\5n3kViΫ,2I)]+,PYqF#)^K.E睕B,us!c,Jp>.;("7]pI+QfUnZ󲻣涙>N@geȺΫ,2I)]+,PYqF#)^K.E6jhEn.b7Lx0EPu2BE"8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j dR2(K,8B7FB,CtǃFeb2y( ^HOo4 JZ m椕\cҾܢ eb2y(\h\ňna{fCƛI%j LI&eDe tfP1:f!^J =hz1@`@$RZ t$@7)D8tւw_nQbC1L;).b7Lx0EP`u2RJy!$Cynieƴ$ ts#rq_nQbC1Le2Yp>.<e  /lbTLu-ny@QIZzW۔X,FS/%L\B'mЋ(u\ňna{fe\D"qmH EnVI&(/QpMl~6y3@@` :I 2@t Y$@|^Oe䠁3*废!e}m|^O(n}m@5[\AfU[ή ts֠3)A JWJr%bQe)ˁueP(u\ňna{fe\ks\J@p. 3)A JWJr%bQe)ˁuDMښe  /lbTLuN4ͩ\J@pQڞˁuú>'mkiΫY$̫}E1(e2P[j_PѦй1ѭ:f!^J =hz1@`@F I+Wt;ǥ}E1(e2P[j_PѦй1%Anjhxi$DI$̨LD,&5@`;,8@`u2BxZ @'q%I%j tւw$:MQN)g(n5@`:W۔X,FS/%e䋘  /lbTL|^HIN3A[ Jr%bQe)ˁueP(u\ňna{fe\ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ 4XS/$*}d]p!6jA,u:I7)Dz̫Vƶ=|Yts[_FD ZvB=|]ypպϭb-[R@_Ѧ&Lʓ/QgUR*fVD JQfUy< _)̫\ \Yts֠3)Aէd"I%(3*7(n^b\5n3kViΫ,2I)]+,PYqF#)^K.E睕B,us!c,Jp>.;("7]pI+QfUnZ󲻣涙>N@geȺΫ,2I)]+,PYqF#)^K.E6jhEn.b7Lx0EPu2BE"8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j dR2(K,8B7FB,CtǃF eb2y( ^HOYC:5@bIZ=+,PYqF#)n6Xh*4M8T^J&Lʓ/QgUR*fVD JQfUy< _)̫|\kx\k{y,(K,8FS/%"ksʡQ뀹1%A Y\睔e$'}E1(e2QeȺt"qmM\Xh*^HUȺB'mԂYF %j tnR2?Wk̭mӲ:_-W67= [Snֺ[^&[yCv5T@eI3)@x+k"I%(3*LAfUf,o(n^b\5n3kVԐ?(n}iΫV$̫}yy쿭M?u]%(=`IJ_nQbC1Le2Yp>.<e  /lbTLu-ny@QIZ2r睕5ͩv:;.E?u]%(=`IJ_nQbC1Le2Yp>.iSB,us!c,Jp>.ƛy QIZ2@;Sp>.wGMڞP߭t~6@zLʈ$@_̡BvkvYqF#)eCB$D^@7)D8:s9o }AҾܢ eb2y(vS/$\ňna{fe䤕2BHS4Z`(BYf!^J2y,Y\ [vU\Xh*^HUȺ<@(u$A=+,PYqF#)^K.E6jhEn.b7Lx0EPu2BE"8o6"7]pI+Qr@门LʸuiMzuuǯ@נ((:&Lʓ/QgUR*fVD JQfUy< _)̫|\kx\k{y Method Index for com.ibm.record.ctypes.CFloat

Constructor Index

CFloat()

Method Index

canConvertFromFloat()
canConvertFromInt()
canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToDouble()
canConvertToFloat()
canConvertToObject()
canConvertToString()
checkConstantValue(IRecord, byte[], Object)
checkConstantValue(IRecord, int, Object)
getAlignmentHint()
getDouble(IRecord, byte[])
getDouble(IRecord, int)
getFloat(IRecord, byte[])
getFloat(IRecord, int)
getObject(IRecord, byte[])
getObject(IRecord, int)
getSize()
getString(IRecord, byte[])
getString(IRecord, int)
setFloat(IRecord, float)
setFloat(IRecord, int, float)
setInitialValue(IRecord, int, Object)
setInitialValue(IRecord, Object)
setInt(IRecord, int)
setInt(IRecord, int, int)
setObject(IRecord, int, Object)
setObject(IRecord, Object)
setShort(IRecord, int, short)
setShort(IRecord, short)
setString(IRecord, int, String)
setString(IRecord, String)
fromFloat(IRecord, float)
fromFloat(IRecord, int, float)
fromInitialValue(IRecord, int, Object)
fromInitialValue(IRecord, Object)
testConstantValue(IRecord, byte[], Object)
testConstantValue(IRecord, int, Object)
toFloat(IRecord, byte[])
toFloat(IRecord, int)
IReco k\H$7$I6w6$P=./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cint.htmlhtml$$ com.ibm.record.ctypes.CInt <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.cint_dsc.html#_top_">com.ibm.record.ctypes.CInt (no frames)</a></b></p> </body> ypes.cf l$7$I6w6$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cint_dsc.html$$    deort.<>achilns /bfmpuv"=_gy#(),CIORTjx&-:;EFSqw AJV[]DLPU0Hkz14+3589BMW|!2?G7NYH)hkL4q bII1D y$1 t* tZBC0$Oej(HuYPe Q:L_nj mC@M= h;B:Ktǂ;hF (` Q9 jڞP 6p;  n 7@kD[YqF#)hj( :IkD[K:J} P(  B:(H8   :W(P{f?e (N8ctJ)ʼB@Oe=5lt {)5s.B@JӸ11oz4OnQbC1L3FQC CtljPM$}ET1 5$]+,PzeǨ-I.ἵ ^9o m<1bT@qeb2y(f6i@7)D(JJH6Qd,YB1b4X,!LԒ?_nQbC1L.ti.b7Lx8ES,8@ M?_nQbC1Lkti.b7Lx8ES,8@)5 3Z4I+Q ``0 1(e2PmEaI&(Q^3SǮ1)AaԒRΫЎ&=+,PYqF#)#Rn6Xh*8FkCƛI%j t/RMQznTj޸ 9c+zM~Pݢ*%T@n(ҿBB"TVK@.Ù2B$Zu:e tΨJr%bQe䡚4ڊh1aЀ* $Lʹz-%QMknxd&H$ t@P(K,8C4i1s!cظVYЀ*bp>AYfCRJ@e_V/j<}myUOѦtz٧-S?eezt4 :qiAYf!LЀ*bp>AYf!LԒ?Wtyڏ[^j,Sii{dp>yyfugA^Jhu#1klyyԂLD(BYf!^JM .}fBD]e m椕 $Lʿk̭mt%^x5Qf8MN[7 ~ˁ3=| :hu#1klyyԂLD(BYf!^JM .}f:D]e t$ $Lʿk̭mt%^x5Qf8MN[7 ~ˁ3=| : tA^9>6vǞH tΨJr%bQe䡚4ڊh1\h}K8@H1p Y,I%j 2+[s s mkk>Y*k=lӖ)}flyy ïAgsq;\}}m :+,PYqF#)hj(c,Ctǃp Y }BD]SzV3*=2=З1{QֶkE~69ox޲_l.ovǞ_o=| :[zzv4Au@"W۔X,FS/% ѦPCEXbp>C2%L\h}CRJ@e_V/j<}myUOѦtz٧-S?egA^ sq;\}}m :+,PYqF#)hj(c,Ctǃp YnD] pV3*=2=З1{QֶkE~69ox޲_l.ovǞ_o=| :(0G7cѦ3ܢ eb2y(f6:.b7Lx;aS4 $J (B%j 2+[s s mkk>Y*k=lӖ)}flyy ïAS4 :qiLD(BYf!^JM .}f/q%L\h}%j 2+[s s mkk>Y*k=lӖ)}flyy ïA@`u#1i_nQbC1L3FQC 1b<0]:hA FS/%  ևP3BD0]:hI%j ^HW(np҄)@e_v<u\#<ܨ7[^&[H7k1cP@P(K,8C4i1s!c`#y1(e2PLhWYC (B"T.\4[ΤS/$+JhI~Qkk[Yp[ήrP޽6R@.5km1ź2P@P(K,8C4i1s!c02-:u2C1LS/$+zbJhH`d[uI+P@`u2B\4 f?Wtyt[y fCokhcuOˍot>M8T^J3ܢ eb2y(f6:.b7Lx9yfA[ΠYqF#)eq=p҄)%Eko:JLP3BH̫]l~r[ήP3{i@pd#ט [ /"ս$[ίem}m :+,PYqF#)hj(c,Ctǃ`d4!bQe0:y!]Б*/,jIZ 2+[s[,Cheg=o:i@pd#ט [ /"ս$[ίem}m :+,PYqF#)hj(c,Ctǃ`d4!bQe0:y!]ЮhH`d5$A wCBH̫]l~6y3 :hu!_nQbC1L3FQC 1b<eh WCBDeh WCRJ@e_V猭[2T7]Ѧ3ܢ eb2y(f6:.b7Lx8 geb2y( ^HW(nP gI+P@`u2BCv$$Lʿk̭mӲ2_8=o:i@1j v6Sט tΨJr%bQe䡚4ڊh1+@%S!bQe0:y!]Б*Z,I%j ^HWt4$Lʿ;!i[ή(0D>ïA tΨJr%bQe䡚4ڊh1+AOC,8@`u2BCv$$JVkԒS/$+7hBH̫<;!,kzu{/kh5c{pպ<km1ź7k1cP@P(K,8C4i1s!cVkІYqF#)ewCBDeh)I+P@`u2B$fUuiMzuuǯA^ }@ïA tΨJr%bQe䡚4ڊh1+C! FS/% *Z I+P@`u2BCv$$Lʿk̭mӲ2_t6Vs[_FDsˆЩk]i-<]yLD(BYf!^JM 221(e2PLhH 0:y!]В3*:Ѧ=o:zt4 :LD(BYf!^JM 22C1LS/$+7hBDeh I+P@`u2BCv$$Lʿk̭mӲ2_}g=o:i@1j v6Sט tΨJr%bQe䡚4ڊh1+@-`C,8@`u2B"T2$ 0:y!]В3*:Ѧ=o:ïA  :+,PYqF#)hj(c,Ctǃ (B FS/% *ZP3RJLPݠ 2+[s~Z @d6Vs[_FDsˆЩk]i-<]yLD(BYf!^JM 24 f2C1LS/$+%C+CJjIZ 2ëN}m}ms=|Ag\ 2C+=!L:gT%}E1(e2PmE t4\ňnq=P[J@e_Vimx[_F] ڊ3ܢ eb2y(f6:.b7Lx8^0!bQe0:y!\@@%C+A{ĒS/$+7hBH̫<;!,:9y쿭MֹeVTk׉PݮōAu@"W۔X,FS/% ѦPCEXZ t2C1LS/$+%C+A{ĒS/$+@e_V4W\zu   :+,PYqF#)hj(c,Ctǃƴ2-:u2C1LS/$+zbJhHF2-:u$ 0:y!]ЮP3BHֶ̫\7]F6R@]yLD(BYf!^JM  GW !bQe0:y!]Ю ևP3BDj:pRIZ S4$Lʿx5GW WtyQo^mxLqn e v6Sy( tΨJr%bQe䡚4ڊh1aІYqF#)erHHmCRJLPݠ 2+[s~ _Ѧk\Gt*x5CkcuO(n^bƠ:+,PYqF#)hj(c,CtǃCBf!^J jIZ 2ëN}m}ms=pPaנC@ïA t/Q~ 2 e;3o"%I%j tD];3o"@%Q~ 2 RIZ+Y(HXd4 $JJ@)AaԒR&(3CBH$Je eknb%I%j tD5D,%]e  :JS 02JQܥ?4rKbp>AYfCBH$LDfU+[s s mkk>Y*k=lӖ)}f2_:zv4}zu j̩2?u]%(:@$?e],nI%4ΫY$̫}E1(e2P Ѧй1\h+,h@H1p Y!%jc(BYf!^J41b<^٢ĨIZ/RIQz+Y(K 04 fRIZ%)]eP3RIJ tSUp\h+,҄)@$ܥ:e 2GZ۞Kkk[YqU?F]foYO@7g_zu 4 fA^9>6vǞH t3*LDWIJ;!:I)DWK.i[RIe(3)AcI%(3*_nQbC1L.ti.b7Lx; 04 fS 04 f\cҾܢ eb2y(\h\ňnq{fCƛI%j LI&eDe tfP,\h+,[o4 $JJ@)L\h+,[o5$IJ ~i=].}fBH$LDfU+[s s mkk>Y*k=lӖ)}f2_Ezv4}zu j̩2?u]%(:@$?e],nI%4ΫY$̫}E1(e2P Ѧй1\h+,[o4 $JVYjIZ=+,PYqF#)n6Xh*`4{<|YPaנ}A^9>6@5DfTz:ZvB tR2\ҷ˚QgUROMDJQfUҾܢ eb2y(\h\ňnv.w4>%S $JqOwCzW۔X,FS/% m /lbThxi$DI$̨LD,%]Sz%I%j t.w4>OI)Dr@ӊ{ʻ}.]Sz@$ܥ:e 2GZ۞Kkk[YqU?F]foYO@7c[ίez-sq;\}}m j̩2?u]%(:@$?e],nI%4ΫY$̫}E1(e2P Ѧй1\h}kЀ*bp>C^\cҾܢ eb2y(\h\ňnq{fCƛI%j LI&eDe tfP,\h}CBD$D.}fd5$IJ ~i=].}fd4 $IJ t@e\=2=З1{QֶkE~69ox޲_l.ovǞ_o=| :hu#1iT@eI3)Aէd"I%(3*e+pI,?u]%(4t@$?e]+,PYqF#)n6Xbp>C2%L\h}CRJǮ1_nQbC1L.ti.b7Lx8EP M?&^2I2:W(P.w4>-`@H$R$:MQN)g*v.w4>-`@Ir@门Lʸ{]ekn{.bmgך1TmwGre>\=o:zu!Paנn8kM:MQ&^ΫV$̫4é$@t1Q@t(BYf!^J41b<] p%L\h}[ĒwCzW۔X,FS/% m /lbThxi$DI$̨LD,%]҄)%I%j t.w4>JjI)Dr@ӊ{ʻ}.]҄)@$ܥ:e 2GZ۞Kkk[YqU?F]foYO@7c[ίez (BPaנn8kM:MQ&^ΫV$̫4é$@t1Q@t(BYf!^J41b<]҄)%L\h}!LԒwCzW۔X,FS/% m /lbThxi$DI$̨LD,%]^0 $JJ@)L\h}$:MQN)g*v.w4>{I&(/Qp5:I)DWJr%bQepMs!cظ:D]^1$]z(K,8B7FB,Ctǃ4X4I+QeI3* t/Q~ 2 ci pPC,8@`u2BCv$+,!LБ*I+Q1 GW $IJ ~i=].\4[Π(BYf!^J1b<^٢Ĩ0:y)%jL7k|7j @@҄)pPIr@门Lʸ}Gcmg_e:o=o:ʍC{m1źCv5T@eI3)@x+k"I%(3*LAfUu>@Pݮōj@g1y ~Pݨ/kiW=o:.yy f0u[AgURNDJQfU˚VԒYsJ/k\7]Fe(4YsJ4ΫY$̫}E1(e2P Ѧй1m0@ueb2y( ^HW(nq=p҄)%Lm0@uI+Wt;ǥ}E1(e2P Ѧй1%@,6J@zLʈ$@_̡BX`#y1(e2PLhWYC (B"TVIJci pRI)Dr@ӊ{ʻ}.0]:hA _nQbC1L;).b7Lx8EP`u2RJy!Dt7|\kBP3{.@u tnR2?Wx5GW WtyQo^mxLqn e v6Sy( t3*LDWIJř[Y:I)DWe7m|^J2[YqnYqeG| MMEW=o:.yy f0u[AgURNDJQfU˚VԒYsJ/k\7]Fe(4YsJ4ΫY$̫}E1(e2P[j_PѦй1m0@ueb2y( ^HWt4+,!LБ*ci pRIZ=+,PYqF#)#Rn6Xh*8FkCƛI%j LI&eDe tfP%ko:f!^J =hz1S4$JJ@)Eko:IJ tS^t xA _nQbC1L;).b7Lx8EP`u2RJy!D[Yq S7-:unX6=+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$+}E1(e2QeȺt"qmM\Xh*^H]Ⱥ6jA",u:I7)Dz̫Vƶ?[]voW) M޿i->.56Sy( t3*LDWIJř[Y:I)DWe7m|^J2[YqnYqeG|d[[Τ?e]vo󫁸{k-Ag\ 2C+9y@oAgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\Ks\J@p. 3)AJWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j Lʸ{kOeȺ 6jyC~4AeI3* t/Q~ 2 /,;\y1(e2PL ևP3BD$D^Yvo$IJ ~i=< rPBW۔X,FS/%e䋘 /lbTL|^HQ4 fA[Πǥ}E1(e2QeȺZEn.b7Lx8EPu2BER",ut(BYf!^J2y,Y\N4ͩQ뀹1%A Y\<"qmH$EnVI&(/Qp]l~r[ήP3{i@pd#ט [ /"ս$[ίem}m#H͏_YC eS5T@eI3)@x+k"I%(3*LAfUko:Z @d6V{(BoƵWIJ;!:I)DWyCv7t[\ZD쿭M?u]%(=`؁IJ_nQbC1Le2Yp>.<e /lbTLu. 3)AJWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j Lʸ{kOeȺ 6jyC~4AeI3* t/Q~ 2 /,hC,8@`u2B]Б*I+Q`d5$IJ ~i=ϷO/,hBW۔X,FS/%e䋘 /lbTL|^HQS4Z@o=o:~,(K,8FS/%"ksʡQ뀹1%A Y\Ks\J@$ܥ:e 2 Ѧ=o:yfuÁA^  j̩2?u]%(/emd@$?e_)=y( LʹnieƷ{keƷ[_)ekk+?o=o:@s󫁸{k[ίZΫ,:I)]+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$3*/-ny][Lڟ'c3}d]pAeI3* t/Q~ 2 Z eC@Ѐ*I+Q ^2 jI)Dr@ӊ{ +@Wd h@$ܥ:e 2GZ۞2?[]opPCyw[_FH t3*LDWIJ;!:I)DWmu eC{] AgUROMDJQfUҾܢ eb2y(-5/ h\ňnq+2T4]  +2T4] I+Wt;ǥ}E1(e2P[j_PѦй1%@ԀZhxi$DI$̨LD,$eh}2C1LS/$+7hBD$D2Y>IJ tS6qO2Y>ܢ eb2y(vS/$\ňnq{fe䤕2B7k7hX ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+PWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j tnR2?Wk̭mӲ2_8=o:i@1j v6Sט t3*LDWIJř[Y:I)DWe7m|^J2Pݠ1cxCv7t[\ZCv쿭M?u]%(:@$?e\=e6qOzu{/kiWIJnX6 tRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+QfU^Z󲻣涙>N@geȺΫ,:I)]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BEiR e$3* :="t|/|N4ͩ GiWIJ >5:I)DWJr%bQepMs!cVK8C,8@`u2BCv$$JVK8IZ=+,PYqF#)n6Xh*`4f!^J :JP gI%(nRqOs<> gJr%bQeLs!c,JV o- ,քnX6=+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$IJ t@e\:Ѧ=o:ïAg j̩2?u]%(/emd@$?e_)=y( LʹnieƷ{keƷ[_)ekk+?u_[\AgURNDJQfU_F\_MS :Ϋ,:I)]+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$3*/-ny][Lڟ'c3}d]pAgUROMDJQfUҾܢ eb2y(-5/ h\ňnq)1(e2PLhH qOwCzW۔X,FS/%Fm /lbT pH և6J@zLʈ$@_̡BFVkІYqF#)erHH$RVkԒR&(3^񕠧!+,PYqF#)e2EXh* ^JIZS/$(PݮPݠ1c@$'r_nQbC1Le2Yp>.<e /lbTLukiStv\ LJP{rҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ2@ê;Sp>.wGMڞP߭t~6@t1Q@t(BYf!^J41b<eh)eb2y( ^HW(nPSzVv=qJr%bQepMs!c,JX m$I2$:IҿB>ס FS/% RIZ%(eh)I%(nRqOs9oZ }Bܢ eb2y(vS/$\ňnq{fe䤕2BOˍhOcҾܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!w")ny@QIZ$LDfUëN}m}ms=| :[zzA?Re LJP^,ȁIJ LʾS/'{k2P@rOˍopײˍot>S/'7j>W >yԂΫV$̫6yz- 3)AJWJr%bQe)ˁueP(u\ňnq{feeDYF %j Lʸ [vWt|6 Y\@t1Q@t(BYf!^J pK541b<eh)eb2y( ^HWt4$JVkԒwCzW۔X,FS/%Fm /lbT pH և6J@zLʈ$@_̡BFVCBf!^J!"TVIJZ I%(nRqOs;ehd4!+,PYqF#)e2EXh* ^JIZS/$( s4B~,(K,8FS/%"ksʡQ뀹1%A Y\Ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ$LDfU+[s~ _Ѧk\Gt*x5CkcuO(n^bƠj̩2?u]%(/emd@$?e_)=y( LʹCv\ōn Xˆt}msj ڏ6@tӲ@pz_Ѧ:ܰl@$t(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP$EnV̫ewGm3j|ˁuWIJnX6 tRW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j tR2(K,8B7FB,Ctǃ 2C1LS/$+7hBDehd5$]z(K,8B7FB,Ctǃ4X4I+QeI3* t/Q~ 2 Z eb2y( ^HWt4$JJ@)C+C!$:MQN)gt7 %}E1(e2P^H1%AI+We?[Yq ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+Qr@门LʸuiMzuuǮ :hu!T@eI3)@x+k"I%(3*LAfUu>CK.5 ^.5LPݨ/[Y_lVR:ZvB tR24W\zïAA^@tbI%+}E1(e2QeȺZEn.b7Lx8EPu2BER",u?e\;+>kiStv\ LJPi騁IJ LʺW۔X,FS/%Fm 221(e2PLhH \cҾܢ eb2y(-5/ h\ňnq{fSj@-@fM8Tu,j&Lʓ/QgUR2fVDJQfUy< _)̫7hXPݮōj@g1y ~Pݨ/kiWIJ;!:I)DWmpg3^4AgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\Ks\J@p. 3)AJWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j Lʸ{kOeȺ 6jyC~4AgUROMDJQfUҾܢ eb2y(\h\ňnq0!bQe0:y!\@@%C+@-bIZ=+,PYqF#)n6Xh*`4. 3)AcI%(3*_nQbC1Lkti.b7Lx8 p1(e2PLhH %jc(BYf!^J pK541b<^٢Ĩ Pm$I2$:IҿB (B FS/% *I+Q (B$:MQN)g (BehiBJr%bQeLs!c,JV PݮPݠ1c@$'r_nQbC1Le2Yp>.<e /lbTLu. 3)AJWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j Lʸ{kOeȺ 6jyC~4AgUROMDJQfUҾܢ eb2y(\h\ňnqS4!bQe0:y!\@@%C+CJjIZ=+,PYqF#)n6Xh*`4. 3)AcI%(3*_nQbC1Lkti.b7Lx8҄)1(e2PLhH (B%jc(BYf!^J pK541b<^٢Ĩ Pm$I2$:IҿB $JJ@)C+AnzI%(nRqOs;eh-A$MQ^3*tyZvB?[^.z_Ѧt9CvI 2@tӲ@p׋iΫY$̫}E1(e2P[j_PѦй1+Anz =$\cҾܢ eb2y(-5/ h\ňnq{fSj@-@f. 3)AJWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j Lʸ{kOeȺ 6jyC~4AgUROMDJQfUҾܢ eb2y(\h\ňnq@`C,8@`u2BCv$$JV%jc(BYf!^J41b<^٢ĨIZ/RIQz+Y(H^0!bQe0:y!]Б*I+Q :IJ tS tq@`BW۔X,FS/%e䋘 /lbTL|^HQCynieƴ'r_nQbC1Le2Yp>.<e /lbTLuCK.5 ^.5LPݨ/[Y_lVR:ZvB tR24W\zu   3)AJWJr%bQe)ˁueP(u\ňnq{feeDYF %j Lʸ [vWt|6 Y\@tbI%+}E1(e2QeȺt"qmM\Xh*^H]Ⱥ6jA",u?e\=Tv}d]pƛy.睔 e$+}E1(e2QeȺt"qmM\Xh*^H]Ⱥ6jA",u:I7)Dz̫Vƶ?[]voW) M޿i->.56Sy( t3*LDWIJř[Y:I)DWe7m|^J2[YqnYqeG|d[[Τ?e]vo󫁸{k-Ag\ 2C+9y@oAgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\Ks\J@p. 3)AJWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j Lʸ{kOeȺ 6jyC~4AgUROMDJQfUҾܢ eb2y(-5/ h\ňnxֆA[ΠYqF#)ewCBZ @iB ֆA[ΤwCzW۔X,FS/%Fm /lbT pH և6J@zLʈ$@_̡BcZko:f!^JzbJhH$RZko:IJ tSPݠ xA _nQbC1L;).b7Lx8EP`u2RJy!D҄)ko:~,(K,8FS/%"ksʡQ뀹1%A Y\Ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ$LDfUu=o:iBѦ~V_(n^b\5n3kVԐ?=o:i"&6=|Ag\ 2C+=!L:MQ&^Ϋḙ$̫2xS/%Wt[un =hz1Y f?u]%(:@$?e\ Xˆt}msjzu?6@tbI%+}E1(e2QeȺZEn.b7Lx8EPu2BER",u?e\;+>kiStv\ LJP{rҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ2@ê;Sp>.wGMڞP߭t~6@t1Q@t(BYf!^J41b<5vo!bQe0:y!\Ag\ 4 fTkC rRIZ=+,PYqF#)n6Xh*`4.<e /lbTLu52_t6Vs[_FD ZvB=|]ypպϭb-[R@_Ѧ&Lʓ/QgUR2fVDJQfUy< _)̫\ \Y֠3)Aէd"I%(3*/(n^b\5n3kViΫ,:I)]+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$3*/-ny][Lڟ'c3}d]pAgURۖ $(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!w"N4ͩ\J@pQڞˁuú>'mkiΫY$̫}E1(e2P Ѧй1 2C1LS/$+%Q \cҾܢ eb2y(\h\ňnq{fCƛI%j LI&eDe tfP1 2C1LS/$+ :JTkC!$:MQN)g>>5Є(BYf!^J1b<^٢Ĩ0:y)%jLCynieƴ(zunX6=+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$IJ t@e\[Mzur:zA?Re LJP^,ȁIJ LʾS/'{k2P@rOˍopײˍot>S/'7j>W ߭zu 3*Wpt7_oƵWIJnX6 tRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+QfU^Z󲻣涙>N@geȺΫY$̫}E1(e2P[j_PѦй1 2C1LS/$+ ֆCRJǮ1_nQbC1Lkti.b7Lx8EP)5 3Z4I+QeI3* t/Q~ 2 hiBeb2y( ^HWt4+,!LБ*I+QF4 f@7)D8tֆ!LЄ(BYf!^J1b<^٢Ĩ0:y)%jLS4Z@ (B ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+PWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j tnR2?Wkk]q (B"m3czb!2BA?Re LJP^,ȁIJ LʾS/'{k2P@rOˍopײˍot>S/'7j>W ߭zu 3*WpYCt6Vs֠3)AJWJr%bQe)ˁueP(u\ňnq{feeDYF %j Lʸ [vWt|6 Y\@tbI%+}E1(e2QeȺt"qmM\Xh*^H]Ⱥ6jA",u?e\=Tv}d]pƛy.iSB,us!c,Jp>.xDMڐH(u$DMQ^3*ty_z!LzuwCokh?+NG7k1c{.A^E{H^4Gi և j&Lʓ/QgUR2fVDJQfUy< _)̫\ \Ag\ 2C+=!L߷ZΫV$̫]ypպϭb-[S[΢_Ѧ:ܰl@$t(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP$EnV̫ewGm3j|ˁuWIJnX6 tRW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j tR2(K,8B7FB,Ctǃƴ4 f2C1LS/$+,!LБ*hiBI+Wt;ǥ}E1(e2P Ѧй1%@,6J@zLʈ$@_̡BcZ m2C1LS/$+ :JTkAmԒR&(3n[o4!+,PYqF#)e2EXh* ^JIZS/$(Cynieƴ(yy`(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP$EnVI&(/Qp]l~6y3A^" j̩2?u]%(/emd@$?e_)=y( LʹnieƷ{keƷ[_)ekk+?o=o:@s󫁸{kŷ[ίZΫ,:I)]+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$3*/-ny][Lڟ'c3}d]pAgUROMDJQfUҾܢ eb2y(-5/ h\ňnxւy FS/% xBD5jIZ=+,PYqF#)#Rn6Xh*8FkCƛI%j LI&eDe tfP1Bf!^J :JTkAmԒR&(37h|kAmЄ(BYf!^J1b<^٢Ĩ0:y)%jLo7A?[ Jr%bQe)ˁueP(u\ňnq{feeDYF %j _nQbC1Le2Yp>.iSB,us!c,Jp>.xDMڐH(u$DMQ^3*ty_z[yѦ~V_(n^b\5n3kVԐ?=o:iI 2@t Y@|^Ope䠁3*Wpz[y~5 LJPuiIJ Lʸ ט [ /"ս< em}m 3)AJWJr%bQe)ˁueP(u\ňnq{feeDYF %j Lʸ [vWt|6 Y\@tbI%+}E1(e2QeȺt"qmM\Xh*^H]Ⱥ6jA",u?e\=Tv}d]pƛyȵo}I[_FH t3*LDWIJř[Y:I)DWe7m|^J2zup7mpgq[ίZΫV$̫]ypպϭb-[S[΢_Ѧ:ܰl@$t(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP$EnV̫ewGm3j|ˁuWIJnX6 tRW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j tR2(K,8B7FB,Ctǃƴ eb2y( ^HWYC:D5@bIZ=+,PYqF#)n6Xh*`4@Pݮōj@g1y ~Pݨ/kiW=o:.yy f0u[AgURNDJQfU˚VԒYsJ/k\7]Fe(4YsJ4$ԒfT@&^Je  GW !bQe0:y!]Ю ևP3BD$D GW $IJ ~i=ʻ}.j:pPBW۔X,FS/%e䋘 /lbTL|^HQCynieƴ(iBGW $IJ t@e\>ֶ\7]F{m1ź\kx5CkcuOe䠁j̩2?u]%(/emd@$?e_)=y( LʹnieƷ{keƷ[_)ekk(6T]5?e\nGW W),W1nuWIJ;!:I)DWK.i[RIe+˄upzuwG4Ie+޶/RIQz+Y(Nd4!bQe0:y!\@@%I%j tjI)Dr@ӊ{3! _nQbC1L;).b7Lx8EP`u2RJy!D,hnX6=+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$+}E1(e2QeȺt"qmM\Xh*^H]Ⱥ6jA",u:I7)Dz̫VimpgC+9y쿭MֹeVTk׉PݮōA?Re LJP^,ȁIJ LʾS/'{k2P@r=ט [ /"ս$em}m 3)Aէd"I%(3*,Cyy쿭M?u]%(=`؁IJ_nQbC1Le2Yp>.<e /lbTLuCK.5 ^.5LPݨ/[Y_lVR:ZvB tR24W\zïAA^@tbI%+}E1(e2QeȺZEn.b7Lx8EPu2BER",u?e\;+>kiStv\ LI&eDe t@ 8*N*k A=ձ(H 짼̺ A* N⓲ŽJV/l=E1(e2PmE t5 %@6 g V(NR Method Index for com.ibm.record.ctypes.CInt

Constructor Index

CInt()

Method Index

canConvertFromInt()
canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToDouble()
canConvertToFloat()
canConvertToInt()
canConvertToLong()
canConvertToObject()
canConvertToString()
checkConstantValue(IRecord, byte[], Object)
checkConstantValue(IRecord, int, Object)
getAlignmentHint()
getDouble(IRecord, byte[])
getDouble(IRecord, int)
getFloat(IRecord, byte[])
getFloat(IRecord, int)
getInt(IRecord, byte[])
getInt(IRecord, int)
getLong(IRecord, byte[])
getLong(IRecord, int)
getObject(IRecord, byte[])
getObject(IRecord, int)
getSize()
getString(IRecord, byte[])
getString(IRecord, int)
setInitialValue(IRecord, int, Object)
setInitialValue(IRecord, Object)
setInt(IRecord, int)
setInt(IRecord, int, int)
setObject(IRecord, int, Object)
setObject(IRecord, Object)
setShort(IRecord, int, short)
setShort(IRecord, short)
setString(IRecord, int, String)
setString(IRecord, String)
fromInitialValue(IRecord, int, Object)
fromInitialValue(IRecord, Object)
fromInt(IRecord, int)
fromInt(IRecord, int, int)
testConstantValue(IRecord, byte[], Object)
testConstantValue(IRecord, int, Object)
toInt(IRecord, byte[])
toInt(IRecord, int)
ign kꌙ$7$I6w6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguagearraytype.htmll$$ com.ibm.record.ctypes.CLanguageArrayType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.clanguagearraytype_dsc.html#_top_">com.ibm.record.ctypes.CLanguageArrayType (no frames)</a></b></p> </body> t k"$27$I6w6$X2./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguagearraytype_dsc.htmlinalr$$ Class com.ibm.record.ctypes.CLanguageArrayType

Class com.ibm.record.ctypes.CLanguageArrayType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.FixedLengthType
                   |
                   +----com.ibm.record.FixedLengthComposedType
                           |
                           +----com.ibm.record.RowMajorArrayType
                                   |
                                   +----com.ibm.record.ctypes.CLanguageArrayType

public class CLanguageArrayType
extends RowMajorArrayType

This class defines a record type which describes the C language.


Constructor Index

CLanguageArrayType()
This constructor creates an empty instance of a C language array type.
CLanguageArrayType(int[])
This constructor creates an instance of a C language array type with the specified dimensions.
CLanguageArrayType(int[], IFixedLengthType)
This constructor creates an instance of a C language array type with the specified dimensions and base type.
CLanguageArrayType(int[], int)
This constructor creates an instance of a C language array type with the specified dimensions, and packing hint.
CLanguageArrayType(int[], int, IFixedLengthType)
This constructor creates an instance of a C language array type with the specified dimensions, packing hint, and base type.

Constructors

CLanguageArrayType
 public CLanguageArrayType()
This constructor creates an empty instance of a C language array type.

CLanguageArrayType
 public CLanguageArrayType(int dimensions[])
This constructor creates an instance of a C language array type with the specified dimensions.

Parameters:
dimensions - Array of integers representing the dimensions and allocation size of the array type. The effect is that of the equivalent array creation expression:
new baseType[dimensions[0]][dimensions[1]]...
CLanguageArrayType
 public CLanguageArrayType(int dimensions[],
                           int packingHint)
This constructor creates an instance of a C language array type with the specified dimensions, and packing hint.

Parameters:
dimensions - Array of integers representing the dimensions and allocation size of the array type. The effect is that of the equivalent array creation expression:
new baseType[dimensions[0]][dimensions[1]]...
packingHint - Integer value specifying the boundary alignment for packing in bytes. This value can override the alignment hint.
CLanguageArrayType
 public CLanguageArrayType(int dimensions[],
                           int packingHint,
                           IFixedLengthType baseType) throws RecordArrayBaseTypeNotValidException
This constructor creates an instance of a C language array type with the specified dimensions, packing hint, and base type.

Parameters:
dimensions - Array of integers representing the dimensions and allocation size of the array type. The effect is that of the equivalent array creation expression:
new baseType[dimensions[0]][dimensions[1]]...
packingHint - Integer value specifying the boundary alignment for packing in bytes. This value can override the alignment hint.
baseType - The data type of the array elements.
Throws: RecordArrayBaseTypeNotValidException
The base type is not valid to be used with this array type.
CLanguageArrayType
 public CLanguageArrayType(int dimensions[],
                           IFixedLengthType baseType) throws RecordArrayBaseTypeNotValidException
This constructor creates an instance of a C language array type with the specified dimensions and base type.

Parameters:
dimensions - Array of integers representing the dimensions and allocation size of the array type. The effect is that of the equivalent array creation expression:
new baseType[dimensions[0]][dimensions[1]]...
baseType - The data type of the array elements.
Throws: RecordArrayBaseTypeNotValidException
The base type is not valid to be used with this array type.

> < k,$7$I6w6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguagearraytype_mi.htmlinalr$$ Method Index for com.ibm.record.ctypes.CLanguageArrayType

Constructor Index

CLanguageArrayType()
CLanguageArrayType(int[])
CLanguageArrayType(int[], IFixedLengthType)
CLanguageArrayType(int[], int)
CLanguageArrayType(int[], int, IFixedLengthType)
 k>$ 7$I6w6$@ ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguagerecordattributes.htmllr$$ com.ibm.record.ctypes.CLanguageRecordAttributes <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.clanguagerecordattributes_dsc.html#_top_">com.ibm.record.ctypes.CLanguageRecordAttributes (no frames)</a></b></p> </body> ns[0]] kT$7$I6w6$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguagerecordattributes_dsc.htmlordtyp$$ Class com.ibm.record.ctypes.CLanguageRecordAttributes

Class com.ibm.record.ctypes.CLanguageRecordAttributes

java.lang.Object
   |
   +----com.ibm.record.BasicRecordAttributes
           |
           +----com.ibm.record.ctypes.CLanguageRecordAttributes

public class CLanguageRecordAttributes
extends BasicRecordAttributes

This class describes the attributes of all C language records. It decscribes the environment that originated the "bytes" in terms of its data encoding characteristics (endianess, codepage, and floating point representation).


Constructor Index

CLanguageRecordAttributes()
Default constructor for a C language record attribute.
CLanguageRecordAttributes(int, String, int)
This constructor creates a new record attributes instance with the specified endianess, codepage, and floating point format.

Constructors

CLanguageRecordAttributes
 public CLanguageRecordAttributes()
Default constructor for a C language record attribute. It assumes the record attributes will have an endianess of LITTLEENDIAN , a floating point format of IEEEFLOATINGPOINTFORMAT and a codepage of the current machine (the file.encoding property from System.getProperties()). This will satisfy most Intel based architectures.

CLanguageRecordAttributes
 public CLanguageRecordAttributes(int endian,
                                  String codePage,
                                  int floatingPointFormat) throws IllegalArgumentException
This constructor creates a new record attributes instance with the specified endianess, codepage, and floating point format.

Parameters:
endian - The endian of integer data in the record. Valid values for this parameter are: LITTLEENDIAN and BIGENDIAN.
codePage - The codepage string. The list of valid codepage strings can be found in the JDK Internationalization Specification.
floatingPointFormat - The floating point format of floating point data in the record. Valid values for this parameter are: IEEEFLOATINGPOINTFORMAT and IBMFLOATINGPOINTFORMAT.
Throws: IllegalArgumentException
The endian, code page, or floating point format is not valid.

_t k$7$I6w6$`}./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguagerecordattributes_mi.htmlordtyp$$ Method Index for com.ibm.record.ctypes.CLanguageRecordAttributes

Constructor Index

CLanguageRecordAttributes()
CLanguageRecordAttributes(int, String, int)
/ k\$7$I6w6$P8./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguagerecordtype.html$$ com.ibm.record.ctypes.CLanguageRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.clanguagerecordtype_dsc.html#_top_">com.ibm.record.ctypes.CLanguageRecordType (no frames)</a></b></p> </body> ing  kdg${7$I6w6${./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguagerecordtype_dsc.htmlhtml$$ Class com.ibm.record.ctypes.CLanguageRecordType

Class com.ibm.record.ctypes.CLanguageRecordType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.AnyComposedType
                   |
                   +----com.ibm.record.AnyDynamicRecordType
                           |
                           +----com.ibm.record.AnyFixedLengthRecordType
                                   |
                                   +----com.ibm.record.FixedLengthRecordType
                                           |
                                           +----com.ibm.record.ctypes.CLanguageRecordType

public class CLanguageRecordType
extends FixedLengthRecordType

This class defines a record type which describes the C language.


Constructor Index

CLanguageRecordType()
This constructor creates an empty instance of a C language record type.
CLanguageRecordType(int)
This constructor creates an instance of a C language record type with the specified packing hint.

Method Index

getRecordAttributesClass()
This method returns the class which implements the record attributes for the given record type.

Constructors

CLanguageRecordType
 public CLanguageRecordType()
This constructor creates an empty instance of a C language record type.

CLanguageRecordType
 public CLanguageRecordType(int packingHint)
This constructor creates an instance of a C language record type with the specified packing hint.

Parameters:
packingHint - The packing hint of the record type.

Methods

getRecordAttributesClass
 public Class getRecordAttributesClass()
This method returns the class which implements the record attributes for the given record type.

Returns:
The class which implements the record attributes for the given record type.
Overrides:
getRecordAttributesClass in class FixedLengthRecordType

ef="a k~$-7$I6w6$`~-./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguagerecordtype_mi.htmlhtml$$ Method Index for com.ibm.record.ctypes.CLanguageRecordType

Constructor Index

CLanguageRecordType()
CLanguageRecordType(int)

Method Index

getRecordAttributesClass()
m.i kv$7$I6w6$P;./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguageuniontype.htmlt$$ com.ibm.record.ctypes.CLanguageUnionType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.clanguageuniontype_dsc.html#_top_">com.ibm.record.ctypes.CLanguageUnionType (no frames)</a></b></p> </body>  k6$"7$I6w6$h"./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguageuniontype_dsc.htmlhtml$$ Class com.ibm.record.ctypes.CLanguageUnionType

Class com.ibm.record.ctypes.CLanguageUnionType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.AnyComposedType
                   |
                   +----com.ibm.record.AnyDynamicRecordType
                           |
                           +----com.ibm.record.AnyFixedLengthRecordType
                                   |
                                   +----com.ibm.record.OverlayType
                                           |
                                           +----com.ibm.record.ctypes.CLanguageUnionType

public class CLanguageUnionType
extends OverlayType

Defines the behavior for a C Language union.


Constructor Index

CLanguageUnionType()
The default constructor creates an empty instance of an C language union type.
CLanguageUnionType(int)
This constructor creates a new instance of a C language union type with the specified packing hint.

Method Index

getRecordAttributesClass()
This method returns the class which implements the record attributes for the given record type.

Constructors

CLanguageUnionType
 public CLanguageUnionType()
The default constructor creates an empty instance of an C language union type.

CLanguageUnionType
 public CLanguageUnionType(int packingHint)
This constructor creates a new instance of a C language union type with the specified packing hint.

Parameters:
packingHint - The packing hint of the union type.

Methods

getRecordAttributesClass
 public Class getRecordAttributesClass()
This method returns the class which implements the record attributes for the given record type.

Returns:
The class which implements the record attributes for the given record type.
Overrides:
getRecordAttributesClass in class OverlayType

.clang kh$%7$I6w6$`~%./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clanguageuniontype_mi.htmlhtml$$ Method Index for com.ibm.record.ctypes.CLanguageUnionType

Constructor Index

CLanguageUnionType()
CLanguageUnionType(int)

Method Index

getRecordAttributesClass()
ass k$7$I6w6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clong.htmliontyp$$ com.ibm.record.ctypes.CLong <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.clong_dsc.html#_top_">com.ibm.record.ctypes.CLong (no frames)</a></b></p> </body> or l*$+7$I6w6$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clong_dsc.htmlyp$$   deort.<>achilns /bfmpuv"=_gy#(),CIORTjx&-:;EFSqw AJLV[]PU0DHk14z359BM!+28?GW|7NYH)hkL4q bI I1T y$1 t* tZBC $Oej(HuYPe Q:L_nj mC@M= h;B:Ktǂ;hF@ 8T@@zb7,ͳ8{N!8@ @@?p0Dv@qeb2y(f60N_J t\UP[ @P(OBAҿB4X$.?BqTYOU {)c0POyt T@'eI{ԕ^ $^٢{r%bQe䡚4ڊ7Lxmep$]+,Pʤ7LxqgV/ѩ%j_nQbcP1T=-j)%j_nQb̨cĨ{)\'Zۘ$ŽI;*I; ).=D@hIw 孔(JxSiֹ-{,8C4iKjK@Qܥ:W۔X(A(A"E ևeS4\ňn/lbT ևP3RJ@$_nQbC1L.ti.b7Lx8ES,8@ M?I`2W۔X,FS/%Fm /lbT1(e2P pH Pm$H f!^JM, tnR-:e :i=z\$@u^v1_nQbC1Lkti.b7Lx8EP)5 5@f6vǞH tΨJr%bQe䡚4ڊs!cظVYS4 $JVYS5$A$fU{]ekn{.bmgך1TmwGre>\^Y|YPaנ҄)zv4}zu : +,PYqF#)hj(cXbp>AYfy"T.}fRJ@e_V/j<}myUOѦtz٧-S?eUzo4 :qi6vǞH tΨJr%bQe䡚4ڊs!cظ[8@H1p YqO?Wtyڏ[^j,Sii{dp>{<|YPaנ}A^9>6@P(K,8C4i1,Ctǃp Y }BD]SzV3*=2=З1{QֶkE~69ox޲_l.ovǞ_o=| :[zzv4Au@W۔X,FS/% ѦP .}fd4 $J $Lʿk̭mt%^x5Qf8MN[7 ~ˁݱW*_:zv4Au@W۔X,FS/% ѦP .}f p%L\h}%j 2+[s s mkk>Y*k=lӖ)}flyy ïA sq;\}}m : +,PYqF#)hj(cXbp>C4 fSaS5$A$fU{]ekn{.bmgך1TmwGre>\=o:Vzu 4 fA^9>6@P(K,8C4i1,Ctǃp Y tS`@bIZH̫f!^J  gI+P@`u2B$fUuiMzuuǯA^&)zAu@W۔X,FS/% ѦP 2^2C1LS/$+7hBDeh)I+P@`u2BCv$$Lʿk̭mӲ*_-W6Z7= [Sֺ[^&[yCv5i_nQbC1L3FQCp.b7Lx8Sz1(e2PLhH >ש%j ^HWt4$Lʿ;!i[ή(0Aou!i_nQbC1L3FQCp.b7Lx8hC,8@`u2BCv$$JVCRJLPݠ 2+[s~ _Ѧk\Gt*x5CkcuO(n^bƠ: +,PYqF#)hj(cXZ eb2y( ^HWt4$JVCRJLhI~ZvCkk]q:zAu@W۔X,FS/% ѦP 2 eb2y( ^HW(nP1$A 3*=2?+NGk=}_Ѧk\Gt*x5CkcuO(n^bƠ: +,PYqF#)hj(cXZ\2C1LS/$+%C+@kĒS/$+@e_V4W\zu!Paנ:gT}E1(e2PmE }`1+CJhC,8@`u2BCv$$JV!LԒS/$+7hBH̫<;! և _Ѧk\Gt*x5CkcuO(n^bƠ: +,PYqF#)hj(cXZP3Bf!^J S5$A ?Wէd>6y և j3Ҿܢ eb2y(f6>0\ňnqDeh-?WtyZvB?[^.={/kkQAu@W۔X,FS/% ѦP 2 eb2y( ^HW(nP^1$A 3*=2?+NGk=~;zu{/kh5c{pպ<km1ź7k1cP@P(K,8C4i1,Ctǃ:f!^J @bIZ 2ëN}m}ms=| : tA^@P(K,8C4i1,Ctǃƴ2-:u2C1LS/$+zbJhHF2-:u$ 0:y!]ЮP3BH̫ȵo}I[_FH tΨJr%bQe䡚4ڊs!cZ eb2y( ^HWt4$JZ I+P@`u2B$fU{]ekn|kcUm Wt66zCv7t[\Zy쿭M:gT}E1(e2PmE }`1 2C1LS/$+ ֆCRJLhWt4$Lʿkk\:ïAA^@P(K,8C4i1,Ctǃƴ4 f2C1LS/$+zbJhHF4 f 0:y!]ЮP3BH̫]l~6yp҄)L4(BYf!^JM 1b<5S4!bQe0:y!\Ag\ 4 fTkCJjIZJhI~GZ۟gBWt66zCv7t[\Zy쿭M:gT}E1(e2PmE }`1Bf!^J m愉TkAmԒS/$+ 2u4W/,ξzo4 :L4(BYf!^JM 1b<5hC,8@`u2B[y"U[o5$A m愐?Wty_Vz[yѦ~V_(n^b\5n3kVԐ?=o:iL4(BYf!^JM 1b<5@`C,8@`u2B\Ag\  ւ%j ^HWt4+$fU.?[_F\ïA@`u!i_nQbC1L3FQCp.b7Lxt.\4[ΠYqF#)erHWYC (B"U GW $A P3BH̫ǃ[Zξ˄upzuwGCkcuIu,j3Ҿܢ eb2y(f6>0\ňn}]:hA FS/% q=p҄)%[Qлupo:JLhW (B$fU}Gcmg_e:o=o:ʍCzkcuI,k׉꟔Au@W۔X,FS/% ѦP  eb2y( ^HW(nVd5$A 3*=2?+NGk=}Y[ίem}m?ot{.B]t>M8Tu,j3Ҿܢ eb2y(f6>0\ňn}hC,8@`u2B"U I+P@`u2B$fUuiMzuuǮ :hu!e tfP,GpmD$D( GpmH$ tfP!`5`$ҿB"TVIJ IJ tS\:I7)D,$JJ@n)-2k[sI-2+Y(K 02%I%j t.w4`d5$IJ ~i=].}f :I7)Dz̫V/j<}myUOѦtz٧-S?eUzt4 :qi5:I)DWJr%bQepMs!cظVYЀ*bp>AYfCRJǮ1_nQbC1L.ti.b7Lx8EP M?&^2I2:W(P.w4`iB :JS 04 f@7)D8ظVYS4 $IJ t@e\=2=З1{QֶkE~69ox޲_l.o/,ξ(0@iBsq;\}}m}=o:@5DfTz:ZvB tR2\ҷ˚QgUROMDJQfUҾܢ eb2y(\h\ňnv.w4`iB .w4`iBI+Wt;ǥ}E1(e2P Ѧй1%@$6J@zLʈ$@_̡BXVYh@H$RVYjI)Dr@ӊ{ʻ}.]e m:I7)Dz̫V/j<}myUOѦtz٧-S?eUzo4 :qi5:I)DWJr%bQepMs!cظVYh@H1p YmԒwCzW۔X,FS/% m /lbT@hxi$DI$̨LD,%]e tRIZ%)]e t$@7)D8ظVY@`@Ir@门Lʸ{]ekn{.bmgך1TmwGre>\^Y|YPaנ^0 :qi5:I)DWJr%bQepMs!cظVY@`@H1p Y{ĒwCzW۔X,FS/% m /lbT@hxi$DI$̨LD,%]}RIZ%)]}$@7)D8ظ[8@Ir@门Lʸ{]ekn{.bmgך1TmwGre>\=o:Vzu"l@Paנn8kM:MQ&^ΫV$̫4é$@t1Q@t(BYf!^J41b<]}S` gI+Wt;ǥ}E1(e2P Ѧй1%@$6J@zLʈ$@_̡BX>ס"TVIJbp>C^@7)D8ظ>ס$MQ^3*tyڏ[^j,Sii{dp>{<|YPaנk(0G7cѦ&Lʓ/QgURNDJQfU˚VԒYsJ LJPi騁IJ LʺW۔X,FS/% m .}f) .w4>OIZ=+,PYqF#)n6Xh* 4Y*k=lӖ)}flyy ïAA^9>6@5DfTz:ZvB tR2\ҷ˚QgUROMDJQfUҾܢ eb2y(\h\ňnv.w4>!"T.}fd5$]z(K,8B7FB,Ctǃ4X4I+QeI3* t/Q~ 2 bp>C  :JS`5bI)Dr@ӊ{ʻ}.]0 $IJ t@e\=2=З1{QֶkE~69ox޲_l.ovǞ_o=| :(0G7cѦ&Lʓ/QgURNDJQfU˚VԒYsJ LJPi騁IJ LʺW۔X,FS/% m .}f p%L\h}%jc(BYf!^J41b<^٢ĨIZ/RIQz+Y(KaS4 $JJ@)L\h}!LԒR&(3v\;aS4 $IJ t@e\=2=З1{QֶkE~69ox޲_l.ovǞ_o=| :P3@ïAq_FH t3*LDWIJ;!:I)DWK.i[RIe(3)AcI%(3*_nQbC1L.ti.b7Lx;aS4 $J (B%jc(BYf!^J41b<^٢ĨIZ/RIQz+Y(K`@`@H$R:IJ tSUp\h}$MQ^3*tyڏ[^j,Sii{dp>{<|YPaנ^0 :qiI 2@tӲ@t數u$\҈:}f:j tR2(K,8B7FB,Ctǃp Y tS`@bIZ=+,PYqF#)n6Xh* 45:I)DWJr%bQepMs!c`#y1(e2PLPݠ =hz1S4$J`#yԒVv=qJr%bQepMs!c,JH m$I2$:IҿB GW !bQe0:y!]Ю ևP3BD$D.\4[ΤR&(3v\;Lpupo:ܢ eb2y(vS/$\ňnq{fe䤕2Bo- ,օ?4 f\#y@$ܥ:e 2Qkk[Yp[ήrP޽6R@.5km1ź2P@5DfTz:2 tR2nL?e\S4[=[ ڏ5@[_F_*.2zup7mv\#B}aB:ΫV$̫4é$_e:o=o:ʍCA˚Qk|i$[X tiWIJ >5:I)DWJr%bQe䠷Ծ3[Ms!c`#y1(e2PLhWYC (B"T.\4[ΤwCzW۔X,FS/%Fm /lbT pH Pm$I2$:IҿB`d[ueb2y( ^HWt4+,!LБ*I+Q`d[uI%(nRqOsN@geȺΫ,:I)]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iR e$3* :="t|/|N4ͩ GiI$̨LD,$ rPC,8@`u2BZ @iB :JQyfA[ΤR&(3Wg(n xA _nQbC1L;).b7Lx8EP`u2RJy!D҄)ko:~,(K,8FS/%"ksʡQ뀹1%A Y\Ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ$LDfUu=o:iBѦ~V_(n^b\5n3kVԐ?=o:i"&6=|Ag\ 2C+=!L:MQ&^ΫḘ$̫2xS/%Wt[un =hz1Y f?u]%(:@$?e\ Xˆt}msjzu?6@tbI%+}E1(e2QeȺZEn.b7Lx8EPu2BER",u?e\;+>kiStv\ LJP{rҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ2@ê;Sp>.wGMڞP߭t~6@zLʈ$@_̡BK021(e2PLhH$R02JQܥ?4x ^YЄ(BYf!^J1b<^٢Ĩ0:y)%jL POcҾܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!w")ny@QIZW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+Qr@门Lʸ{]ekn|kcUm Wt66zCv7t[\Zy쿭M:MQ&^ΫḘ$̫2xS/%W=o: WAgURNDJQfUNPݮōj@g1yQ/kiWIJnX6 tRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+QfUNZ󲻣涙>N@geȺΫ,:I)]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iR e$3* :="t|/|N4ͩ GiI$̨LD,$! FS/% wCBD$D^YԒR&(3Wg><! _nQbC1L;).b7Lx8EP`u2RJy!DOˍhQ ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+Qr@门Lʸ.?[_F\zt4 :I 2@tY@|^Ope䠁3*废!e}m|^O(n}@5[\AfU[ήo=o:ߍj:ܰl@$t(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP$EnV̫ewGm3j|ˁuI$̨LD,$eh gCBD$D2{@ʆ3$:MQN)gt72 h@Ir@门Lʸ{]eknxmu eC{] }m}m j̩2?u]%(:@$?e\= t5WIJ >5:I)DWJr%bQe䠷Ծ3[Ms!cVpPt4 $JVpPt5$]z(K,8An}@fFB,Ctǃ4X#RTkCƛI%j LI&eDe tfP#+@)1(e2PLPݠ :JP}$@7)D8l\eh>ܢ eb2y(vS/$\ňnq{fe䤕2B7k7hX ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+PWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j tnR2?Wk̭mӲ*_8=o:i@1j v6Sט t3*LDWIJř[Y:I)DWe7m|^J2Pݠ1cxCv7t[\ZCv쿭M?u]%(:@$?e\=U6qOzu{/kiWIJnX6 tRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+QfUNZ󲻣涙>N@geȺΫ,:I)]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iR e$3* :="t|/|N4ͩ GiWIJ >5:I)DWJr%bQepMs!cV-S!bQe0:y!\@@%C+@)Vv=qJr%bQepMs!c,JH m$I2$:IҿB[8C,8@`u2B"TVIJZqOR&(3͜S댭[8BW۔X,FS/%e䋘 /lbTL|^HQCynieƴ'r_nQbC1Le2Yp>.<e /lbTLu6yz8u!T@eI3)@x+k"I%(3*LAfUu>CK.5 ^.5LPݨ/[Y_lVR:ZvB tR24W\zu"l@Paנ?u]%(=`؁IJ_nQbC1Le2Yp>.<e /lbTLuȵo}IG[_FH LJPuiIJ Lʸ{k=|^4AgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\Ks\J@p. 3)AJWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j Lʸ{kOeȺ 6jyC~4AgUROMDJQfUҾܢ eb2y(\h\ňnq!bQe0:y!\@@%C+AOIZ=+,PYqF#)n6Xh* 4CK.5?[ Jr%bQe)ˁueP(u\ňnq{feeDYF %j tnR2?W;!i[ή(0Aou!T@eI3)@x+k"I%(3*LAfUu>CK.5 ^.5LPݨ/[Y_lVR:ZvB tR24W\zu :Ϋ,:I)]+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$3*'-ny][Lڟ'c3}d]pAgUROMDJQfUҾܢ eb2y(-5/ h\ňnq!bQe0:y!]Б*Z }RJǮ1_nQbC1Lkti.b7Lx8EP)5 5@fkiStv\ LJP{rҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ2@ê;Sp>.wGMڞP߭t~6@t1Q@t(BYf!^J41b<ehd4!bQe0:y!\@@%C+C!%jc(BYf!^J41b<^٢ĨIZ/RIQz+Y(HhC,8@`u2B"TVIJZ I%(nRqOs;ehd4!+,PYqF#)e2EXh* ^JIZS/$(OˍhOcҾܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!w")ny@QIZ$LDfUëN}m}ms=pPaנC@ïA t3*LDWIJř[Y:I)DWe7m|^J2[YqnYqeG|dG=o:@tӲ@pѦ=o:zt4 :Ϋ,:I)]+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$3*'-ny][Lڟ'c3}d]pAgUROMDJQfUҾܢ eb2y(-5/ h\ňnqІYqF#)ewCBDehd5$]z(K,8An}@fFB,Ctǃ4X#RTkCƛI%j LI&eDe tfP#+@kYqF#)erHH$RV$:MQN)g}gZ\%}E1(e2P^H1%AI+We?r!?[ Jr%bQe)ˁueP(u\ňnq{feeDYF %j _nQbC1Le2Yp>.iSB,us!c,Jp>.XDMڐH(u$DMQ^3*tyZvB?[\Y W6Z7= [Sֺ[^&[yCv5T@eI3)@x+k"I%(3*LAfUf,op(n^b\5n3kVԐ?(n}iΫV$̫ p[ίem}m 3)AJWJr%bQe)ˁueP(u\ňnq{feeDYF %j Lʸ [vWt|6 Y\@tbI%+}E1(e2QeȺt"qmM\Xh*^H]Ⱥa6jA",u?e\=Tv}d]pƛy.<e /lbTLu6yz}`u!T@eI3)@x+k"I%(3*LAfUu>CK.5 ^.5LPݨ/[Y_lVR:ZvB tR24W\zu!Paנ?u]%(=`؁IJ_nQbC1Le2Yp>.<e /lbTLu.<e /lbTLuȵo}IG[_FH LJPuiIJ Lʸ{k=~;zu{/kiWIJnX6 tRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+QfUNZ󲻣涙>N@geȺΫ,:I)]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iR e$3* :="t|/|N4ͩ GiWIJ >5:I)DWJr%bQepMs!cV FS/% *Z t$\cҾܢ eb2y(\h\ňnq{fCƛI%j LI&eDe tfP#+A{YqF#)ewCBD$D2 I%(nRqOs8/qV _nQbC1L;).b7Lx8EP`u2RJy!D 废!Пǥ}E1(e2QeȺZEn.b7Lx8EPu2BER",ut(BYf!^J2y,Y\N4ͩQ뀹1%A Y\,"qmH$EnVI&(/QpӲ[_F\_Paנ:MQ&^ΫḘ$̫2xS/%W- ,7m{,Ck2yCv me}[kH LJPuiIJ Lʸ{kk]qPaנ^0 :Ϋ,:I)]+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$3*'-ny][Lڟ'c3}d]pAgURۖ $(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!w"N4ͩ\J@pQڞˁuú>'mkiΫY$̫}E1(e2P[j_PѦй1+A{YqF#)ewCBDeh/qVv=qJr%bQe䠷Ծ3[Ms!c,JN5M?&^2I2:W(PֆA[ΠYqF#)ewCBZ @iB :JTkC rRI)Dr@ӊ{ϷOhd[uJr%bQeLs!c,JV OˍhQ (Bvo'r_nQbC1Le2Yp>.<e /lbTLu5=o:!Lmm}m?^LqnYq׉꟔A?Re LJP^,ȁIJ LʾS/'{k2P@rOˍopײˍot>S/'7j>W ߭zu 3*x\ ]vo =hz1Y[΢P3~ߍj:ܰl@$t(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP$EnV̫ewGm3j|ˁuWIJnX6 tRW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j tR2(K,8An}@fFB,Ctǃƴ2-:u2C1LS/$+zbJhHF2-:u$\cҾܢ eb2y(-5/ h\ňnq{fSj@jhxi$DI$̨LD,&5vo!bQe0:y!\Ag\ 4 fRIZ%*5vo$IJ ~i= ;\y(K,8Cy",Ctǃ4XS/%$_)@ (Bvo'r_nQbC1Le2Yp>.<e /lbTLuȵo}I[_FH"m3czb!2BA?Re LJP^,ȁIJ LʾS/'{k2P@wA[ή և oAgURNDJQfUNPݮōj@g1yQ/kiWIJnX6 tRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+QfUNZ󲻣涙>N@geȺΫ,:I)]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iR e$3* :="t|/|N4ͩ GiWIJ >5:I)DWJr%bQepMs!cZko:f!^JzbJhHF2-:u$\cҾܢ eb2y(\h\ňnq{fCƛI%j LI&eDe tfP1 2C1LS/$+%I%j tֆCRIJ tSPݠ %}E1(e2P^H1%AI+We?o=o:~,(K,8FS/%"ksʡQ뀹1%A Y\Ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ$LDfU+[s[Cheg=o:i@pd#ט [ /"ս$[ίem}m j̩2?u]%(/emd@$?e_)=y( Lʹy=Uo=o:ߍj:ZvB tR2ru,oeV:>ȵo}O=o:[_FH LJP{rҾܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!w")ny@QIZ2r睕5ͩv:;.E?u]%(=`؁IJ_nQbC1Le2Yp>.iSB,us!c,Jp>.XDMڐH(u$DWm|aY\;{qmO(oֺ?FH LJPi騁IJ LʺW۔X,FS/% m hC,8@`u2B"UjIZ=+,PYqF#)n6Xh* 4kiStv\ LJPi騁IJ LʺW۔X,FS/%Fm hC,8@`u2B]Б*hd5$]z(K,8An}@fFB,Ctǃ4X#RTkCƛI%j LI&eDe tfP1 (B FS/% q=p҄)%I%j tֆ!LԒR&(3n҄)(K,8Cy",Ctǃ4XS/%$_)@t7|\kBS7A?[ Jr%bQe)ˁueP(u\ňnq{feeDYF %j _nQbC1Le2Yp>.iSB,us!c,Jp>.XDMڐH(u$DMQ^3*m}ms=pS5DMlzZ @d6V{(B t3*LDWIJř[Y:I)DWe7m|^J2[YqnYqeG|d[[Τ?e\n =hz1Y[ίZΫ,:I)]+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$3*'-ny][Lڟ'c3}d]pAgURۖ $(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!w"N4ͩ\J@pQڞˁuú>'mkiΫY$̫}E1(e2P[j_PѦй1 (B FS/% q=p҄)%Q (B%jc(BYf!^J pK541b<^٢Ĩ3Z4I+QeI3* t/Q~ 2 hiBeb2y( ^HWYC (B"TVIJhiBI%(nRqOs9Cv'ƴ4 f%}E1(e2P^H1%AI+We? (B ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p-;("7]pI+PWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j tnR2?Wk̭mύlz f[_FD ZvB=|]ypպϭb-[R@_Ѧ?L=pm P3P@5DfTz:2 tR2nL?e\n =hz1Y[ίZΫV$̫]ypպϭb-[S[΢_Ѧ:ܰl@$t(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP$EnV̫ewGm3j|ˁuWIJnX6 tRW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j tR2(K,8B7FB,Ctǃƴ4 f2C1LS/$+,!LБ*hiBI+Wt;ǥ}E1(e2P Ѧй1%@$6J@zLʈ$@_̡BcZ m2C1LS/$+ :JTkAmԒR&(3n[o4!+,PYqF#)e2EXh* ^JIZS/$(Cynieƴ(yy`(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP$EnVI&(/Qp]l~6y3A^" j̩2?u]%(/emd@$?e_)=y( LʹnieƷ{keƷ[_)ekk+?o=o:@s󫁸{kŷ[ίZΫ,:I)]+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$3*'-ny][Lڟ'c3}d]pAgUROMDJQfUҾܢ eb2y(-5/ h\ňnxւy FS/% xBD5jIZ=+,PYqF#)#Rn6Xh*8F և6J@zLʈ$@_̡BcZ m2C1LS/$+ŷ%I%j tւy$:MQN)g(nւy _nQbC1L;).b7Lx8EP`u2RJy!Do=o:~,(K,8FS/%"ksʡQ뀹1%A Y\Ks\JҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ$LDfU+[s[yy M;!Pݮōj@g1y ~zu{/kiT@eI3)@x+k"I%(3*LAfU[ήyykP@tӲ@p7k1c{.A^E{yy@4AgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\Ks\J@p. 3)AJWJr%bQe)ˁuDMښe /lbTLu'mԂDYF %j Lʸ{kOeȺ 6jyC~4AgUROMDJQfUҾܢ eb2y(\h\ňnxւy FS/% m愉TkAmԒwCzW۔X,FS/% m /lbT@hxi$DI$̨LD,&5@`C,8@`u2B\Ag\  :JTkA{ĒR&(3n^0!+,PYqF#)e2EXh* ^JIZS/$(o- ,օ?{zunX6=+,PYqF#)^K.E睕B,us!c,Jp>.睔 e$+}E1(e2QeȺt"qmM\Xh*^H]Ⱥa6jA",u:I7)Dz̫ci[ή^Y| : tA^@5DfTz:2 tR2nL?e\S4[=[ ڏ5ƷkH Lʹy={zu}?u]%(=`؁IJ_nQbC1Le2Yp>.<e /lbTLuȵo}O=o:[_FH LJP{rҾܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!w")ny@QIZ2r睕5ͩv:;.E?u]%(=`؁IJ_nQbC1Le2Yp>.iSB,us!c,Jp>.XDMڐH(u$DWm|aY\;{qmO(oֺ?FH LJPi騁IJ LʺW۔X,FS/% m ^0!bQe0:y!\Ag\  ւ%jc(BYf!^J41b<^٢ĨIZ/RIQz+Y(Nt.\4[ΠYqF#)erHWYC (B"TVIJڎ#yԒJQܥ?4x] GW !+,PYqF#)e2EXh* ^JIZS/$(Cvnv!DJoe:hA$MQ^3*}7*5 ׉ X:MQ&^ΫḘ$̫2xS/%W- nxCv7t[\ZCv쿭M?e\nGW W),W1nuWIJ;!:I)DWK.i[RIe+˄upzuwG4Ie+޶/RIQz+Y(Nt.\4[ΠYqF#)ewCBZ @iB :JVt.\4[ΤR&(3Wg*}]:hA _nQbC1L;).b7Lx8EP`u2RJy!D 废!ТS7\4[ΠI&(/Qpǃ[Zξ˄upzuwG׉Yqk]i-?)I 2@tY@|^Ope䠁3*废!e}m|^O(n}4QtP@s󫁸{k\7^o ^WXź?u]%(:@$?e],nI%4.yynTj ~\ҋ[I%4zkH LI&eDe tfP;aІYqF#)erHH$R!$:MQN)g\o %}E1(e2P^H1%AI+We?(n(n @`(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP$EnV(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!w"N4ͩ\J@$ܥ:e 2GZ۟d#Um W6Z7= [Sֺ[^&[yCv5T@eI3)@x+k"I%(3*LAfUf,op(n^b\5n3kVԐ?(n}iΫV$̫ W6@tbI%+}E1(e2QeȺZEn.b7Lx8EPu2BER",u?e\;+>kiStv\ LJP{rҾܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pƛy QIZ2@ê;Sp>.wGMڞP߭t~6@zLʈ$@_̡Bv! FS/% RIZ%+l2JQܥ?4xhBW۔X,FS/%e䋘 /lbTL|^HQCynieƴ'r_nQbC1Le2Yp>.<e /lbTLu6yp(0CPaנ:MQ&^ΫḘ$̫2xS/%W- ,7m{,Ck2yCv me}[kH LJPuiIJ Lʸ{kk]q:zAgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\Ks\J@p. I2$:IQ\[27D:\ɬ$SV@` 'W2 $;Nʓ+Z(HD(K,8C4i1n*!02IZW۔X;Hn* zά^1RJҾܢ [Ǯ1cĨ{[RJҾܢ [QCtljPSO&1I+RI{ԒvTw@'VSI&\z&+,P } [0OBYpچR\``(A(A.1c*$c1@'y5 0CP0 (H@ RIZI tU:In9 k:$}7$I6w6$}./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clong_mi.htmlyp$$ Method Index for com.ibm.record.ctypes.CLong

Constructor Index

CLong()

Method Index

canConvertFromInt()
canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToDouble()
canConvertToFloat()
canConvertToInt()
canConvertToLong()
canConvertToObject()
canConvertToString()
checkConstantValue(IRecord, byte[], Object)
checkConstantValue(IRecord, int, Object)
getAlignmentHint()
getDouble(IRecord, byte[])
getDouble(IRecord, int)
getFloat(IRecord, byte[])
getFloat(IRecord, int)
getInt(IRecord, byte[])
getInt(IRecord, int)
getLong(IRecord, byte[])
getLong(IRecord, int)
getObject(IRecord, byte[])
getObject(IRecord, int)
getSize()
getString(IRecord, byte[])
getString(IRecord, int)
setInitialValue(IRecord, int, Object)
setInitialValue(IRecord, Object)
setInt(IRecord, int)
setInt(IRecord, int, int)
setObject(IRecord, int, Object)
setObject(IRecord, Object)
setShort(IRecord, int, short)
setShort(IRecord, short)
setString(IRecord, int, String)
setString(IRecord, String)
fromInitialValue(IRecord, int, Object)
fromInitialValue(IRecord, Object)
fromInt(IRecord, int)
fromInt(IRecord, int, int)
testConstantValue(IRecord, byte[], Object)
testConstantValue(IRecord, int, Object)
toInt(IRecord, byte[])
toInt(IRecord, int)
com.ibm.record.ctypes.CLongLong <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.clonglong_dsc.html#_top_">com.ibm.record.ctypes.CLongLong (no frames)</a></b></p> </body> /a>(IR lꔼ $7$I6w6$=./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clonglong_dsc.htmlmi.htm$$    deort.<>achilns /bfmpuv"=_gy#(),CIORTjx-:;EFLSqw &AJV[DPU]0Hkz14+3589BMW|!2?G7NYH)hkL4q RII1D y$1 t* tZBCC( Oej(HuYPe Q:L_nZ mC@M= h;B:KtǁhF (P Q9 jڞP 6p;   n7T@kD[YqF#)hj( \$I-ʈ%\ ePpH$ D$J+Y(HERIZ2'1%IՔ^M` ': A=@` %DRvTI_BE'(BYf!^JM }b1,Ctǃp YW"T.}fr\$ $Lʿk̭mt%^x5Qf8MN[7 ~ˁ3=|z}` :qi0\ňnv.w4`iB .w4`iBI+P@I~GZ۞Kkk[YqU?F]foYO@7g_z :P3@Paנ~n8kMݱR3ܢ eb2y(f6>1,Ctǃp YmЀ*bp>A9fy%j 2+[s s mkk>Y*k=lӖ)}f:_A^A^>6vǞH tΨJr%bQe䡚4ڊ .}fr:D] t$ $Lʿk̭mt%^x5Qf8MN[7 ~ˁ3=|z:Paנ~n8kMݱR3ܢ eb2y(f6>1,Ctǃp Y,A"T.}f}$ $Lʿk̭mt%^x5Qf8MN[7 ~ˁݱW:_A^)q;\}}m :+,PYqF#)hj(cp.b7Lx;`*bp>CpV3*=2=З1{QֶkE~69ox޲_l.ovǞ_o=|z}` :qiLD(BYf!^JM }`1\h}!LЀ*bp>C4 f $Lʿk̭mt%^x5Qf8MN[7 ~ˁݱW:_A^Jh :qiLD(BYf!^JM }`1\h}"T.}f/qV3*=2=З1{QֶkE~69ox޲_l.ovǞ_o=|z:Paנ~n8kM:gT%}E1(e2PmE }cXci p-PC,8@`u2BCvzbJhH1 GW $A @8W (B$fU}Gcmg_e:o=o:ʍC{m1źCv5_nQbC1L3FQCps!c`# y1(e2PLhWYC (B"T.\4[ΤS/$+JhI~Qkk[Yp[ήrP޽6R@.5km1ź2P@P(K,8C4i1 1b< r-PC,8@`u2B\Ag\ 4 fQyfA[ΤS/$+JhI~GZ۟mwA忞^ot66zM8T,CkcuOe䠁:+,PYqF#)hj(cp.b7Lx9yfA[ΠYqF#)eq=p҄)%Ek!o:JLP3BH̫]l~r[ήP3{i@pd#ט [ /"ս$[ίem}m :+,PYqF#)hj(cp.b7Lx9yff!^J \$ 0:y!]Ю3*[Mzur(0;Paנt:gT%}E1(e2PmE }cX/,U`C,8@`u2BDW%j ^HW}`I~GZ۟g3]4 ~OӲ Xˆt}msjW6@P(K,8C4i1 1b<eh WCBDeh WCRJ@e_V猭[2T7]Ѧ3ܢ eb2y(f6>1,CtǃqOYqF#)er $JVK8IZp3*=2?+NGk=~l\_Ѧk\Gt*x5CkcuO(n^bƠ:+,PYqF#)hj(cp.b7Lx8 geb2y( ^HWt4$JVK8IZ 2ëN}m}ms=|z8 :LD(BYf!^JM }`1+AW FS/% @8H \$ 0:y!\@H 2+[s~p[ίem}m?ot{.B]t>M8Tu,j3ܢ eb2y(f6>1,Ctǃ\2C1LS/$+%C+AW%j ^HWt4$Lʿ;!i[ήu(0:3ܢ eb2y(f6>1,Ctǃ (B FS/% @8H (B%j ^HW(nH̫<;! և W6Z7= [Sֺ[^&[yCv5_nQbC1L3FQCps!cV!LІYqF#)ewCBDehiBI+P@`u2B$fUuiMzuuǯ,=!L:gT%}E1(e2PmE }cXZ p@H $A$fU{]ekn~V׋iPݨ:+,PYqF#)hj(cp.b7Lx8^0!bQe0:y!\@H @bIZp3*=2?+NGk=~;zu{/kh5c{pպ<km1ź7k1cP@P(K,8C4i1 1b<eh/q1(e2PLhH :JLhI~ZvCkk]q(08/q:+,PYqF#)hj(cp.b7Lx0\ňnxւy FS/% xBD5jIZ m愐?Wm}ms󫗖g_A^A^@P(K,8C4i1 1b<5m2C1LS/$+ŷ%Qo5$A m愐?Wty_z[yѦ~V_(n^b\5n3kVԐ?=o:iLD(BYf!^JM }`1:f!^J =hz1@`HF I+P@`u2B\ 2u4W/,ξ(0:3ܢ eb2y(f6>1,Ctǃƴ eb2y( ^HWYC:D5@bIZ{3*=2>5:_3]4 ~OӲ Xˆt}msjW6@P(K,8C4i1 1b<j:p-PC,8@`u2BCvzbJhHmGB@I+P@`u2BCvJhI~Qkk[Yp[ήrP}mxLqn ~PݮōAu@"W۔X,FS/% ѦP>0\ňn}]:hA FS/% q=p҄)%[Qлup!o:JLhW (B$fU}Gcmg_e:o=o:ʍCzkcuI,k׉꟔Au@"W۔X,FS/% ѦP>0\ňn}U`C,8@`u2BCv%[`ĒS/$+7h $fU{]ekn~Vz9y쿭MֹeVTk׉PݮōAu@"W۔X,FS/% ѦP>0\ňn}U`C,8@`u2B"U I+P@`u2B$fUuiMzuuǯï@ A^@&^Je ˄wfDJJ@n)-:wfDK@Je  \ RIZ+Y(HX*0p%I%j tU`*1$IJ ~i=`U`@Ir@_̡BLmD$D&1 tҿBp Y!"TVIJbp>A9fCRIJ tSUp\h',h@Ir@门Lʸ{]ekn{.bmgך1TmwGre>\^Y|Y(0;(0?7cѦT@eI3)Aէd"I%(3*e+pI,?u]%(4t@$?e]+,PYqF#)n6Xbp>A9fCBD] I+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BXNY*I+Q1p YW$:MQN)g*v.w4`*0 $IJ t@e\=2=З1{QֶkE~69ox޲_l.o/,ξu(0?7cѦT@eI3)Aէd"I%(3*e+pI,?u]%(4t@$?e]+,PYqF#)n6Xbp>A9fD] I+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BXNYS4 $JJ@)L\h',҄)JQܥ?4rKbp>A9f!LЀI&(/QpA9f"TVIJbp>A9f$:MQN)g*v.w4`/q@$ܥ:e 2GZ۞Kkk[YqU?F]foYO@7g_z : tï@q_F_oc[Τ:MQ&^ΫV$̫4é$@t1Q$@t(BYf!^J41b<] tS 0 I+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BXqO*I+Q1p Y,I$:MQN)g*v.w4>%S $IJ t@e\=2=З1{QֶkE~69ox޲_l.ovǞ_o=|z8 :qiI 2@tӲ$@t數u$\҈:}f:j dR2(K,8B7FB,Ctǃp Y,A"T.}f}$\cҾܢ eb2y(\h\ňnq{fCƛI%j LI&eDe tfP,\h}D$D.}f*1$IJ ~i=].}f*0 $IJ t@e\=2=З1{QֶkE~69ox޲_l.ovǞ_o=|z}` :qiI 2@tӲ$@t數u$\҈:}f:j dR2(K,8B7FB,Ctǃp Y  .w4>W%jc(BYf!^J41b<^٢ĨIZ/RIQz+Y(KaS4 $JJ@)L\h}!LԒR&(3v\;aS4 $IJ t@e\=2=З1{QֶkE~69ox޲_l.ovǞ_o=|z (B(0?7cѦ&Lʓ/QgURND JQfU˚VԒYsJ LJPi騁IJ LʺW۔X,FS/% m .}fiB .w4>JjIZ=+,PYqF#)n6Xh*4{ĒR&(3v\;`@`@Ir@门Lʸ{]ekn{.bmgך1TmwGre>\=o:z : tï@q_FH t3*LDWIJ;!2I)DWK.i[RIe(3)AcI%(3*_nQbC1L.ti.b7Lx;`@`@H1p Y t$\cҾܢ eb2y(\h\ňnq{fCƛI%j LI&eDe tfP,m0@eb2y( ^HW(n¸Z @iB :JSL`up!o:IJ tSUpm0@Jr%bQeLs!c,JV Cvnvp!L˄up!o:H$LDfU; mkk:.yynTji-$ט t3*LDWIJř[Y2I)DWe/m|^J2[@ݨ/mru,oeV:>ȵo}IG[_FH Lʹy=p[ίeS7Y+b:ZvB dR2\ҷ˚Wq[]7*5 ?K.iE˚Wm`5Ѥ?u]%(4t@$?e]+,PYqF#)n6Xci p-PC,8@`u2BCvzbJhH1 GW $]z(K,8B7FB,Ctǃ4X4I+QeI3* t/Q~ 2 ci p-PC,8@`u2B\Ag\ 4 fRIZ%)0]:hI$:MQN)g*v6wBu%}E1(e2P^H1%AI+We?[Yq iBGW $IJ t@e\>ֶ\7]F{m1ź\kx5CkcuOe䠁j̩2?u]%(emd@$?e_)=y( LʹnieƷx{keƷ[_)ekk(6T]5?e\^GW W),W1nuWIJ;!2I)DWK.i[RIe+˄upzuwG4Ie+޶:}f:j dR2(K,8An}@fFB,Ctǃ GW !bQe0:y!]Ю ևP3BD0]:hI%jc(BYf!^J pK541b<^٢ĨU@f.<e /lbTLu<@(u$A]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iRe$IJ t@e\[;\󫆔!Lmm}m?\'iu,oeV:>ȵo}I[_FH"m3czbWj&Lʓ/QgUR*fVD JQfUy< _)̫-Bup/mq=pUg)kP@tӲ$@p7k1c{.A^E{yy@4AgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\+s\J@p. 3)A JWJr%bQe)ˁuDMښe /lbTLuB'mԂYF %j Lʸ{kOeȺ 6jyC~4AeI3* t/Q~ 2 /,U`C,8@`u2B]"TVIJ/,UbI)Dr@ӊ{3n^Y(BYf!^J1b<^٢Ĩ0:y)%jLo- ,օ?s'r_nQbC1Le2Yp>.<e /lbTLu<@(u$DMQ^3*m}ms󫗖g_A^pj̩2?u]%(emd@$?e_)=y( LʹnieƷx{keƷ[_)ekk+?o=o:@sx{k3_oƵWIJnX6 dRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+QfUnZ󲻣涙>N@geȺ$ԒfT@&^Je ^YYqF#)ewRIZ%(W$:MQN)g\Pݠ$\%}E1(e2P^H1%AI+We?p[Πǥ}E1(e2QeȺZEn.b7Lx8EPu2BEJ,ut(BYf!^J2y,Y\N4ͩQ뀹1%A Y\4"qmH EnVI&(/Qp<ǯ=}Ѧ~V_(n^b\5n3kVԐ?=o:iI 2@t Y$@|^Oe䠁3*Wz9ykP@tӲ$@p7k1c{.A^E{yy@4AgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\+s\J@p. 3)A JWJr%bQe)ˁuDMښe /lbTLuB'mԂYF %j Lʸ{kOeȺ 6jyC~4AeI3* t/Q~ 2 Z= eC@Ѐ*I+Q 2 jI)Dr@ӊ{ +@gd h@$ܥ:e 2GZ۞2?[]opPCyw[_FH t3*LDWIJ;!2I)DWmu eC{] AgUROMD JQfUҾܢ eb2y(-5/ h\ňnq32T4]  32T4] I+Wt;ǥ}E1(e2P[j_PѦй1%@Ԃ5M?&^2I2:W(P)1(e2PLPݠ$RIZ%(eh}$@7)D8l\eh}%}E1(e2P^H1%AI+We?(n(n H ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+PWJr%bQe)ˁuDMښe /lbTLuB'mԂYF %j tnR2?Wk̭mӲ:_8=o:i@1j v6Sט t3*LDWIJř[Y2I)DWe/m|^J2Pݠ1cxCv7t[\ZCv쿭M?u]%(:@$?e\=u6qOzu{/kiWIJnX6 dRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+QfUnZ󲻣涙>N@geȺΫ,2I)]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iRe$3* :="t|/|N4ͩ GiWIJ >52I)DWJr%bQepMs!cVK8C,8@`u2BCv%C+@%S$]z(K,8B7FB,Ctǃ4X4I+QeI3* t/Q~ 2 Z,A FS/% RIZ%(eh}$@7)D8l\eh}%}E1(e2P^H1%AI+We?t7|\kB~,(K,8FS/%"ksʡQ뀹1%A Y\+s\J@$ܥ:e 2ZvCkk]q(0<>Paנt:MQ&^ΫṶ$̫2xS/%W- ,/m{,Ck2yCv me}[kH LJPuiIJ Lʸ{kk]q(0<>Paנt?u]%(=`؁IJ_nQbC1Le2Yp>.<e /lbTLu<@(u$DWksf;":}f:j dR2(K,8An}@fFB,CtǃqOYqF#)ewCBDeh}$\cҾܢ eb2y(-5/ h\ňnq{fKjAUIZ/RIQz+Y(HU`C,8@`u2BCv%I%j tĒR&(33\%}E1(e2P^H1%AI+We?rًpǥ}E1(e2QeȺZEn.b7Lx8EPu2BEJ,ut(BYf!^J2y,Y\N4ͩQ뀹1%A Y\4"qmH EnVI&(/Qp<;!s[_FDsˆЩk]i-<]yI 2@t Y$@|^Oe䠁3* 7x{k7k1c{.A^E{H7j>4AgURND JQfU\Y W6@tbI%+}E1(e2QeȺZEn.b7Lx8EPu2BEJ,u?e\;+>kiStv\ LJP{r$Ҿܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pЉƛy QIZ2@ê;Sp>.wGMڞP߭t~6@t1Q$@t(BYf!^J41b<eh*0!bQe0:y!\@H ĒwCzW۔X,FS/% m /lbT@hxi$DI$̨LD,$eh*0!bQe0:y!]Б*I+Q \$@7)D8eh*0!+,PYqF#)e2EXh* ^JIZS/$(u>CK.5?[ Jr%bQe)ˁueP(u\ňnq{feeYF %j tnR2?W;!i[ήu(0:&Lʓ/QgUR*fVD JQfUy< _)̫|\kx\k{y52I)DWJr%bQe䠷Ծ3[Ms!cVf!^J ĒwCzW۔X,FS/%Fm /lbT pH*3Z4I+QeI3* t/Q~ 2 ZP3Bf!^Jp*I+Q (B$:MQN)g (BehiBJr%bQeLs!c,JV PݮPݠ1c@`(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP EnV(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!w"N4ͩ\J@$ܥ:e 2GZ۟d#zbW_Ѧk\Gt*x5CkcuO(n^bƠj̩2?u]%(emd@$?e_)=y( LʹCvlō^ Xˆt}msj ڏ6@tӲ$@pYC\s[_FH LJP{r$Ҿܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!w"%ny@QIZ2r睕5ͩv:;.E?u]%(=`؁IJ_nQbC1Le2Yp>.iSB,us!c,Jp>.hDMڐ@(u$DWm|aY\;{qmO(oֺ?FH LJPi騁IJ LʺW۔X,FS/% m 24 f2C1LS/$+7h "T24 f\cҾܢ eb2y(\h\ňnq{fCƛI%j LI&eDe tfP#+CJhC,8@`u2B"TVIJZP3RIJ tSP3x҄)(K,8Cy",Ctǃ4XS/%$_)@[Yq ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+Qr@门LʸuiMzuuǯ,=!L:MQ&^ΫṶ$̫2xS/%W- ,/m{,Ck2yCv me}[kH LJPuiIJ Lʸ{kk]q =hz1eS5WIJnX6 dRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+QfUnZ󲻣涙>N@geȺΫY$̫}E1(e2P[j_PѦй1+CJhC,8@`u2B"T24 f\cҾܢ eb2y(-5/ h\ňnq{fKjAUIZ/RIQz+Y(H[D$D2R&(3V@$ܥ:e 2GZ۟d#em}mwC7j( t3*LDWIJ;!2I)DWmx[_FH LJPi騁IJ LʺW۔X,FS/%Fm 2*Z pIZ=+,PYqF#)#Rn6Xh*FPm$I2$:IҿB:f!^Jp*I+Q :IJ tS tq@`BW۔X,FS/%e䋘 /lbTL|^HQrًpǥ}E1(e2QeȺZEn.b7Lx8EPu2BEJ,ut(BYf!^J2y,Y\N4ͩQ뀹1%A Y\4"qmH EnVI&(/Qp<;!:9y쿭MֹeVTk׉PݮōA?Re LJP^,ȁIJ LʾS/'x{k2P@rً=ט [ /"ս$em}m 3)Aէd"I%(3*:9y쿭M?u]%(=`؁IJ_nQbC1Le2Yp>.<e /lbTLu<@(u$DWksf;":ܰl@$t(BYf!^J2y,Y\N4ͩQ뀹1%A Y\4"qmH EnV̫P0\8o67]M?u]%(4t@$?e]+,PYqF#)n6XZ t2C1LS/$+7h "T2 I+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BFV FS/% RIZ%(eh/qJQܥ?4p^3:ܢ eb2y(vS/$\ňnq{fe䤕2Bu>CK.5?[ Jr%bQe)ˁueP(u\ňnq{feeYF %j _nQbC1Le2Yp>.iSB,us!c,Jp>.hDMڐ@(u$DMQ^3*էd>6y(0:&Lʓ/QgUR*fVD JQfUy< _)̫|\kx\k{ykiStv\ LJP{r$Ҿܢ eb2y(e}d]p:8o6YF,Ctǃ4XS/$.}d]pЉƛy QIZ2@ê;Sp>.wGMڞP߭t~6@t1Q$@t(BYf!^J pK541b<eh/q1(e2PLhH :JǮ1_nQbC1Lkti.b7Lx8EP%5 hxi$DI$̨LD,&5vo!bQe0:y!]Ю ևP3BD$D;\ yԒJQܥ?4sZk!o:ܢ eb2y(vS/$\ňnq{fe䤕2BS4Z@Jot[ ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+PWJr%bQe)ˁuDMښe /lbTLuB'mԂYF %j tnR2?Wk̭mύl~r[ίeS7[_FD׽~&[}\k{m1ź2P@5DfTz:W2 dR2^L?e\S4[=[ ڏ5ƷkH Lʻr-Wt[Z @*3D f?u]%(=`؁IJ_nQbC1Le2Yp>.<e /lbTLu<@(u$DWksf;":ܰl@$t(BYf!^J2y,Y\N4ͩQ뀹1%A Y\4"qmH EnV̫P0\8o67]M?u]%(4t@$?e]+,PYqF#)#Rn6Xhd[eb2y( ^HWt4+,!LБ*hd[I+Wt;ǥ}E1(e2P[j_PѦй1%@Ԃ5M?&^2I2:W(PֆA[ΠYqF#)eq=p҄)%I%j tֆA[ΤR&(37h 5vo!+,PYqF#)e2EXh* ^JIZS/$(P3{r-POcҾܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!w"%ny@QIZW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+Qr@门Lʸ.?[]voW (B4 ~OӲ Xˆt}msjW6 Dfǯ,=!L:MQ&^ΫṶ$̫2xS/%Wt[^ =hz1eS7֠3)Aէd"I%(3*7(n^b\5n3kViΫ,2I)]+,PYqF#)^K.E睕B,us!c,Jp>.V睔e$3*7-ny][Lڟ'c3}d]pAgURۖ $(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!w"N4ͩ\J@pQڞˁuú>'mkiΫY$̫}E1(e2P Ѧй1 xA FS/% =hz1S4$JZk!o:JǮ1_nQbC1L.ti.b7Lx8EP M?&^2I2:W(PֆCBf!^J :JTkC!$:MQN)g(nkC! _nQbC1L;).b7Lx8EP`u2RJy!D[Πǥ}E1(e2QeȺZEn.b7Lx8EPu2BEJ,ut(BYf!^J2y,Y\N4ͩQ뀹1%A Y\4"qmH EnVI&(/Qp<ǯ=}Y[ήmm}m?\'iu,oeV:>ȵo}I[_FH t3*LDWIJř[Y2I)DWe/m|^J2zup/mpg[ίZΫV$̫ܡ]ypպϭb-[S[΢_Ѧ:ܰl@$t(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP EnV̫ܵewGm3j|ˁuWIJnX6 dRW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j dR2(K,8B7FB,Ctǃƴ21(e2PLhHF2Vv=qJr%bQepMs!c,Jh m$I2$:IҿBƴ21(e2PLhWt4$JJ@)Q @7)D8tֆCBܢ eb2y(vS/$\ňnq{fe䤕2B 废!ТCyy`(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP EnVI&(/Qp]l~6y3zt4zA?Re LJP^,ȁIJ LʾS/'x{k2P@rOˍoײˍot>S/'7j>W ߭zu 3*Wt7_oƵWIJnX6 dRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+QfUnZ󲻣涙>N@geȺΫY$̫}E1(e2P[j_PѦй1 2C1LS/$+ ֆCRJǮ1_nQbC1Lkti.b7Lx8EP%5 hxi$DI$̨LD,&5YqF#)ewCBD$DUbI)Dr@ӊ{ϷOh*0!+,PYqF#)e2EXh* ^JIZS/$(u>CK.5D ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+Qr@门Lʸ.?[_F\Paנwï@ t3*LDWIJř[Y2I)DWe/m|^J2[Yq^YqeG|d[[Τ?e\^ WAgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\+s\J@p. 3)AcI%(3*_nQbC1Lkti.b7Lxȵo}I[_FH t3*LDWIJř[Y2I)DWe/m|^J2zup/mpg3_oƵWIJ;!2I)DWCv7t[\ZD쿭M?u]%(=`؁IJ_nQbC1Le2Yp>.<e /lbTLu<@(u$DWksf;":ܰl@$t(BYf!^J2y,Y\N4ͩQ뀹1%A Y\4"qmH EnV̫P0\8o67]M?u]%(4t@$?e]+,PYqF#)n6Xh*0!bQe0:y!]"UUbIZ=+,PYqF#)n6Xh*4.<e /lbTLu<@(u$A]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iRe$IJ t@e\=2>5:_)[ήmm}m?\'iu,oeV:>ȵo}I[_FH"m3czbWj&Lʓ/QgUR*fVD JQfUy< _)̫\ \Ag\ p[ίZΫV$̫ܡ]ypպϭb-[S[΢_Ѧ:ܰl@$t(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP EnV̫ܵewGm3j|ˁuWIJnX6 dRW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j dR2(K,8B7FB,Ctǃƴ4 f2C1LS/$+,!LБ*hiBI+Wt;ǥ}E1(e2P Ѧй1%@46J@zLʈ$@_̡BcZ m2C1LS/$+ :JTkAmԒR&(3n[o4!+,PYqF#)e2EXh* ^JIZS/$(Cynieƴ(yy`(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP EnVI&(/Qp]l~6y3ï@m怠ï@ t3*LDWIJř[Y2I)DWe/m|^J2[Yq^YqeG|d[[Τ?e\^m֠3)A JWJr%bQe)ˁueP(u\ňnq{feeYF %j Lʸ [vWt|6 Y\@t1Q$@t(BYf!^J pK541b<5hC,8@`u2B^-Б*h-Vv=qJr%bQe䠷Ծ3[Ms!c,J.TkCƛI%j LI&eDe tfP1o4!bQe0:y!^-Б*I+QF-ԒR&(37h 5m%}E1(e2P^H1%AI+We?[y ܰlzW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+PWJr%bQe)ˁuDMښe /lbTLuB'mԂYF %j tnR2?Wk̭mύlzWt66zCv7t[\Zy쿭M:MQ&^ΫṶ$̫2xS/%W=o:WAgURND JQfUnPݮōj@g1yQ/kiWIJnX6 dRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+QfUnZ󲻣涙>N@geȺΫ,2I)]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iRe$3* :="t|/|N4ͩ GiI$̨LD,&5@`C,8@`u2B\Ag\  :JTkA{ĒR&(3n^0!+,PYqF#)e2EXh* ^JIZS/$(o- ,օ?{zunX6=+,PYqF#)^K.E睕B,us!c,Jp>.V睔e$+}E1(e2QeȺt"qmM\Xh*^H]Ⱥ6jA,u:I7)Dz̫ci[ή^Y|z:Paנt:MQ&^ΫṶ$̫2xS/%W- ,/m{,Ck2yCv me}R2zup/mp^3_oƵWIJnX6 dRW۔X,FS/%L\;*YF,Ctǃ4XS/$.}d]p;("7]pI+QfUnZ󲻣涙>N@geȺΫ,2I)]+,PYqF#)^K.E6jhEn.b7Lx8EPu2BE iRe$3* :="t|/|N4ͩ GiWIJ >52I)DWJr%bQe䠷Ծ3[Ms!cZ t2C1LS/$+zb{*h/qVv=qJr%bQe䠷Ծ3[Ms!c,J.TkCƛI%j LI&eDe tfP1:f!^Jzb{*I+QF I%(nRqOs9CvZ t%}E1(e2P^H1%AI+We?:9y`(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP EnV(K,8FS/%"Љƛy4"7]p1b<^٢Ĩ:y!w"N4ͩ\J@$ܥ:e 2GZ۟gq[ήmm}m?\'iu,oeV:>ȵo}I[_FH t3*LDWIJř[Y2I)DWe/m|^J2zup/mpgq[ίZΫV$̫ܡ]ypպϭb-[S[΢_Ѧ:ܰl@$t(BYf!^J2y,Y\ [vU\Xh*^H]Ⱥ [vP EnV̫ܵewGm3j|ˁuWIJnX6 dRW۔X,FS/%L\B'mЋ(u\ňnq{fe8o6"7]pI+QfU_(uGj{.E^iSѦ:}f:j dR2(K,8B7FB,Ctǃƴ eb2y( ^HWYC:D5@bIZ=+,PYqF#)n6Xh*44AfU[ή˄upzu{(Bo5y]cGP@tӲ$@t數u$\һGW WtyQhYsJ-o$\ҽk I2$:IҿBGB@eb2y( ^HWt4+,!LБ*I+QmGB@I%(nRqOsM8Tu,j&Lʓ/QgUR*fVD JQfUy< _)̫7hXPݮōj@g1y ~Pݨ/kiWIJ;!2I)DWmpg3^4AgURۖ $(K,8FS/%"ksʡQ뀹1%A Y\+s\J@p. 3)A JWJr%bQe)ˁuDMښe /lbTLuB'mԂYF %j Lʸ{kOeȺ 6jyC~4AeI3* t/Q~ 2 \2C1LS/$+%I%j tUbI)Dr@ӊ{33킮ܢ eb2y(vS/$\ňnq{fe䤕2Bo- ,քnX6=+,PYqF#)^K.E睕B,us!c,Jp>.V睔e$IJ t@e\:Ѧ=o:Paנwï@ t3*LDWIJř[Y2I)DWe/m|^J2[Yq^YqeG|dG=o:@tӲ$@pѦ=o:Paנwï@ LJP{r$Ҿܢ eb2y(e}d]p-nyT"7]p1b<^٢Ĩ:y!w"%ny@QIZ2r睕5ͩv:;.E?&^2I2:[ ˏ{@Pp'VSy5 {j $Sj] ?qIRbb%W+E hܢ eb2y(f6>1n*)c8`Dt(Bw*1T<]XcF}E\cQCtljP 1}E 2S=pMknbV$$(NҒL9:MRW۔X(A(A-` 8BPP\bTIc ,O*k A<pDPB@ JJԒMQFKtǨ h kJ $7$I6w6$`./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.clonglong_mi.htmlmi.htm$$ Method Index for com.ibm.record.ctypes.CLongLong

Constructor Index

CLongLong()

Method Index

canConvertFromInt()
canConvertFromLong()
canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToDouble()
canConvertToLong()
canConvertToObject()
canConvertToString()
checkConstantValue(IRecord, byte[], Object)
checkConstantValue(IRecord, int, Object)
getAlignmentHint()
getDouble(IRecord, byte[])
getDouble(IRecord, int)
getLong(IRecord, byte[])
getLong(IRecord, int)
getObject(IRecord, byte[])
getObject(IRecord, int)
getSize()
getString(IRecord, byte[])
getString(IRecord, int)
setInitialValue(IRecord, int, Object)
setInitialValue(IRecord, Object)
setInt(IRecord, int)
setInt(IRecord, int, int)
setLong(IRecord, int, long)
setLong(IRecord, long)
setObject(IRecord, int, Object)
setObject(IRecord, Object)
setShort(IRecord, int, short)
setshort(IRecord, short)
setString(IRecord, int, String)
setString(IRecord, String)
fromInitialValue(IRecord, int, Object)
fromInitialValue(IRecord, Object)
fromLong(IRecord, int, long)
fromLong(IRecord, long)
testConstantValue(IRecord, byte[], Object)
testConstantValue(IRecord, int, Object)
toLong(IRecord, byte[])
toLong(IRecord, int)
nt k ) $7$I6w6$Pu./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cshort.html.html$$ com.ibm.record.ctypes.CShort <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.cshort_dsc.html#_top_">com.ibm.record.ctypes.CShort (no frames)</a></b></p> </body> va.la l $7$I6w6$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cshort_dsc.htmll$$    deort.<>achilns /bfmpuv"_gy#(),=CIORSTjx&-:;AEFqw JLUV[]DP0Hkz14+3589BMW|!2?G7NYH)hkL4q@bII1D y$(1 t* tZAb@Aa @+ ETB@+Wۺh8A hDi+ 'Lx#օ6`@R o P^%{ip`8`8# 8p0Dv@=qeb2y(f6iv@%Q`X,Wб@@_̠B)I%j ˏ{@,V8ctR)ʼ@+: {\ˠ0,P Qw&&-RWx2,PEv)bQe䡚4ڊjY*k=lӖ)}f"_Ezv4}zu : +,,S,8C4i2-s!cظ\^YJbp>Ayfn:J@e_V/j<}myUOѦtz٧-S?eEztA^9>6vǞH tΨJr 1(e2PmE o4\ňnv.4F%S $R\qO?W-tyڏ[^j,Sii{dp>{<|YPaנ}A^9>6@P)bQe䡚4ڊh1\.hkЀJbp>Dl^ $Lʿk̭mt%^x5Qf8MN[7 ~ˁݱW"_^A^9>6@P)bQe䡚4ڊh1\.hBE)ejIZH̫0 :qiL4(LFS/% ѦPȶEXbp>Dl8*fSˁ#a S5$A$fU]ekn{.bmgך1TmwGre>\=o:zu 8*fA^9>6@P)bQe䡚4ڊh1\.h6BE)ejIZH̫DlCqV3*E2=З1{QֶkE~69ox޲_l.ovǞ_o=| :! sq;\}}m : +,,S,8C4i2-s!c`\#y1(e2PLPݠ K=hz1 S4$R`\#yԒVerHW(J$fUGcmg_e:o=o:ʍC{m1źCv5i_nQabf!^JMm拘 2\4[ΠYqF#)ewCBZ @qBT 6:u$ 4>y!]ЮP3BH̫ǃ[Zξ˄upzuwG׉Yqk]i-?)L4(LFS/% ѦPȶEX/,;\y1(e2PLhWYC(J"^Yvo$A p℩@e_Vƶ?[]voW M޿i->.56Sy( tΨJr 1(e2PmE o4\ňnr xA FS/% K=hz1 S4$R06-:u$ 4>y!\8*f?W=o:qBTѦ~V_(n^b\5n3kVԐ?=o:iL4(LFS/% ѦPȶEX/,hC,8@h}2B^-БJ/,jIZC闒 m愐?W4W/,ξzo4 :L4(LFS/% ѦPȶEX/,hC,8@h}2B[y"^Y Ԓ/$+ŷ@e_Vƶ=|Ym[_FD ZvB=|]ypպϭb-[R@_Ѧ3Ҿܢ2C1L3FQC"1b<eh%*PK2T4] I+P@I~"GZ۞2?[]opPCyw[_FH tΨJr 1(e2PmE o4\ňnq)1(e2PLPݠ )VerHI~"GZ۟d#E6qOzu{/kh5c{pպ<km1ź7k1cP@P)bQe䡚4ڊh1+@%S!bQe4>y!]БJZ,I%j ^HWt4$Lʿ;!i[ή(0D>ïA tΨJr 1(e2PmE o4\ňnq!bQe4>y!\@@)C+AoIZC闒!$fU]ekn~Vzo=o:i@1j v6Sט tΨJr 1(e2PmE o4\ňnq!bQe4>y!]БJZ }RJLhI~ZvCkk]qPaנk(0B3Ҿܢ2C1L3FQC"1b<ehl4!bQe4>y!\@@)C+Ca%j ^HW(n?W-tyZvB?[\Y[_FDsˆЩk]i-<]yL4(LFS/% ѦPȶEXZ eb2y( ^HWt4$RVRJLhI~ZvCkk]q:zAu@W۔XXYqF#)hj(d[y,Ctǃnf!^JC闒!"2 I+P@h}2BCv$$Lʿk̭mӲ"_}g=o:i@1j v6Sט tΨJr 1(e2PmE o4\ňnq-`C,8@h}2B"2 I+P@h}2B$fU}iMzuuǯA^pzAu@W۔XXYqF#)hj(d[y,Ctǃ(J FS/% JZP3RJLPݠ 2Z+[s~Z @o7^4 ~ k\5nOZ}mxLqn X:gT}Eeb2y(f6E.b7Lx8℩1(e2PLhH (J%j ^HWt4$Lʿ;!i[ή%=poL4(LFS/% ѦPȶEXZ eb2y( ^HW(nPjIZC闒!$fU]ekn~Vz[y_Ѧk\Gt*x5CkcuO(n^bƠ: +,,S,8C4i2-s!cV6Bf!^JC闒  Ԓ/$+@e_֝4W\zu"-(0B3Ҿܢ2C1L3FQC"1b<ehE(ehJ@e_Vimx[_F] ڊ3Ҿܢ2C1L3FQC"1b<eh0!bQe4>y!\@@)C+D7%j ^HW(n?W-tyZvB?[\Yts[_FDsˆЩk]i-<]yL4(LFS/% ѦPȶEXZ! eb2y( ^HWt4$RVn:JLhI~ZvCkk]qPaנ @`u!i_nQabf!^JMm拘 ;\y1(e2PLhWYC(J";\yԒVewCBqBT 2Z+[s[;\BTѦ_e}mxLqnL:gT}Eeb2y(f6E.b7Lxy!]ЯhHFAVewCB[y$fUl~6y3A^" : +,,S,8C4i2-s!cZ eb2y( ^HWo4$RZ I+P@h}2B[y$fU]ekn|kcEo=o:i@pd#ט [ /"ս$[ίem}m : +,,S,8C4i2-s!cZ! eb2y( ^HWt4+,n:E*5Ē/$+7$fUl~6y3A^7Paנ:gT}Eeb2y(f6E.b7Lx5"_3]4 ~OӲ Xˆt}msjW6@P)bQe䡚4ڊh1Q˄upo:f!^JC闒!\Ig\ 8*fVt2\4[Τ/$+7hBqBT 2j; mkk:.yynTji-$ט tΨJr 1(e2PmE o4\ňn}e:hA FS/% q%=p℩)[Q˄upo:JLhW(J$fUGcmg_e:o=o:ʍCzkcuI,k׉꟔Au@W۔XXYqF#)hj(d[y,Ctǃ6Bf!^JC闒!" I+P@h}2BCv$$Lʿk̭mӲ"_o7^4 ~ k\5nOZ}mxLqn X:gT}Eeb2y(f6E.b7Lx>؃o4!bQe4>y!]БJm椕 4>y!]В3*>Ѧ=o:ïAmA^@&^Jee;3o")I%j tDe;3o"@%Q~ 26E)$D,   :JP`o5$IJ ~i= ЀI&(ҿAbmE)$D&1 tҿAb\^Y S4 $RJ@)L\.h/,℩JQܥ?4rKbp>Ayf%LЀI&(/Qq5:I)DWJr 1(e2P Ѧй1\.h/,℩)L\.h/,℩Vv=qJr 1(e2P Ѧй1)@ m$I2$:IҿAb\^Y ЀJI+Q1p Yy$:MQN)g*v.4`o4 $IJ t@e\E2=З1{QֶkE~69ox޲_l.o/,ξ,(0D[yPaנn8kMݱR&Lʓ/QgURNDJQfU˚VԒYsJ LJPq騁IJ LʺW۔XXYqF#)n6Xbp>Ayf6BE)e I+Wt;ǥ}Eeb2y(\h\ňnq{fL6J@zLʈ$@_̠L\.h/, @`@H$R\^YĒR&(3v\;ˁ 0Cq@$ܥ:e 2"GZ۞Kkk[YqU?F]foYO@7g_zu Cqzv4}zu j̩2?u]%(>@$?e],nI%4ΫY$̫}Eeb2y(\h\ňnv.4`0 $R\^YĒwCzW۔XXYqF#)n6XhJhi$DI$̨LD, 2}f}RIZ%)e gI%(nRqOs9Woñp Y6,A$MQ^3*-tyڏ[^j,Sii{dp>{<|YPaנ}A^9>6@5DfTz:ZvB tR2\ҷ˚QgURMDJQfUҾܢ2C1L.ti.b7Lx;ˁ#`))L\.hK8IZ=+,,S,8B7FB,Ctǃ4X`4DiV$ԒfT@&^Jebp>Dl^RIZ%)e[zJQܥ?4rKbp>Dl^:I7)Dz̫V/j<}myUOѦtz٧-S?egA^ }@ïAq_FH t3*LDWIJ;!:I)DWK.i[RIe(3)AcI%(3*_nQabf!^J41b<e[z)L\.hkԒwCzW۔XXYqF#)n6XhJhi$DI$̨LD, 2}fl4 $RJ@)L\.hRIJ tSUp\.hBH$LDfUZ+[s s mkk>Y*k=lӖ)}flyyïAA^9>6@5DfTz:ZvB tR2\ҷ˚QgURMDJQfUҾܢ2C1L.ti.b7Lx;ˁ#aЀJbp>Dl6Vv=qJr 1(e2P Ѧй1)@ m$I2$:IҿAb\nE)$D2}f pJQܥ?4rKbp>Dl  tnR2?Wk̭mt%^x5Qf8MN[7 ~ˁݱW"_>0 :qiI 2@tӲ@t數u$\҈:}f:j tR2)bQepMs!cظ\nE)e1$]z)bQepMs!c,R0"4I+QeI3* t/Q~ 21p Y6P3BE)$D2}fqBTI%(nRqOs9Woñp Y6P3BH$LDfUZ+[s s mkk>Y*k=lӖ)}flyyïA S4 :qiI 2@tӲ@t數u$\҈:}f:j tR2)bQepMs!cظ\(J"2}fqBTI+Wt;ǥ}Eeb2y(\h\ňnq{fL6J@zLʈ$@_̠L\.h6BE)$D2}f؃o5$IJ ~i=]2}f؃o4 $IJ t@e\E2=З1{QֶkE~69ox޲_l.ovǞ_o=| :hu#1iT@eI3)Ad"I%(3*e+pI,?u]%(8t@$?e]+,,S,8B7FB,Ctǃp Y6  .4Fy%jc(LFS/% m /lb IZ/RIQz+Y)e @`@H$R\t$@7)D8ظ\t:I7)Dz̫V/j<}myUOѦtz٧-S?egA^7Paנn8kM:MQ&^Ϋ֝$̫4é$@t1Q@t(LFS/% m 2}f؆0 $R\t$\cҾܢ2C1L.ti.b7Lx8EP&DFI%j LI&eDe tfPX6:u2C1L/$+7hBZ @qBT :JSL`˄upo:IJ tSUpm0.@uJr 1(e2P^H1)AI+We?\SQ%L˄upo:H$LDfUj; mkk:.yynTji-$ט t3*LDWIJř[Y:I)DWe7m|^J2[@ݨ7mru,oeV:>ȵo}IG[_FH LʹyEp[ίe S7Y+b:ZvB tR2\ҷ˚Wq[]7*5 ?K.iE˚Wm`5Ѥ?u]%(8t@$?e]+,,S,8B7FB,Ctǃ GW !bQe4>y!\@@ĖzbhH1 GW $]z)bQepMs!c,R0"4I+QeI3* t/Q~ 21 GW !bQe4>y!]Ю$ևP3BE)$D2\4[ΤR&(3v\;L`˄upo:ܢ2C1L;).b7Lx8EPh}2RJy!Dt7|\kBP3{.@u tnR2?Wx5GW WtyQo^mxLqn e v6Sy( t3*LDWIJř[Y:I)DWe7m|^J2[Yqn"YqeG| MMEW=o:.yy*f0u[AgURNDJQfU˚VԒYsJ/k\7]Fe(4YsJ4ΫY$̫}Eeb2y(-u/ h\ňnv6:u2C1L/$+ĖzbhH1 GW $]z)bQe䠷 Ծ3[Ms!c,Rnj5#M?&^2I2:W(,Qyf[ΠYqF#)ewCBZ @qBT :JQyf[ΤR&(3Wg><`rPBW۔XXYqF#)e2EXhJ ^JIZS/$(u>C.5D8*fA[Πǥ}Eeb2y(e}d]p-nyT&7]p1b<^٢(>y!"-ny@6QIZW۔XXYqF#)^K.E6jhMn.b7Lx8EP}2C.E8o6&7]pI+Qr@门Lʸ]ekn|kckzu{(J4 ~6S[i-?)I 2@t Y@|^Oqe䠁3*废!ŗ-e}m|^O(n}@5[\AfUko:rĖzby e S7֠3)B-JWJr 1(e2QeȺZMn.b7Lx8EP}2C.EZBlu?e\[vWt|6 Y\@tbI%+}Eeb2y(e}d]p:8o6F,Ctǃ4X/$2}d]p6jABlu?e\ETv}d]pƛy. 3)B-JWJr 1(e2QeȺt"qmM \XhJ^HeȺB'mԂF %j LʸkOeȺ 6jyC~4AeI3* t/Q~ 2`o4!bQe4>y!]ЯhH$R0AJQܥ?4xۧ`o4!+,,S,8Cy",Ctǃ4X/%$_)@S8Z@[y ܰlzW۔XXYqF#)^K.E睕Blus!c,R闒p>.睔 e$IJ t@e\B?[_F\ïAmA^@5DfTz:W2 tR2n"L?e\S8[E[ ڏ5ƷkH LʹyEWAgUR[ $)bQe)ˁueP(u\ňnq{fe\eF %j Lʸ'. I2$:IҿAb0A1(e2PLhH$R0AJQܥ?4x ^Y Є(LFS/%e䋘 /lbL|^HQŷ[Πǥ}Eeb2y(e}d]p-nyT&7]p1b<^٢(>y!"-ny@6QIZW۔XXYqF#)^K.E6jhMn.b7Lx8EP}2C.E8o6&7]pI+Qr@门Lʸ]ekn|kcEo=o:i@pd#ט [ /"ս$[ίem}m j̩2?u]%(emd@$?e_)Ey( LʹyEEo=o:ߍj:ZvB tR2 Xˆt}msjzu?6@tbI%+}Eeb2y(e}d]p-nyT&7]p1b<^٢(>y!"-ny@6QIZ2 ;+>kiStv\ LJPrҾܢ2C1Le2Yp>.iSBlus!c,R闒p>.Љƛy 6QIZ2"@ê;Sp>.wGMڞP߭t~6@zLʈ$@_̠C+A/pPt4 $RJ@)C+A/pPt5$IJ ~i=񕠗d h@$ܥ:e 2"GZ۞2?[]opPCyw[_FH t3*LDWIJ;!:I)DWmu eC{] AgURMDJQfUҾܢ2C1L:kti.b7Lx8K2T4]  d hVv=qJr 1(e2P[_PѦй1)@ ԀIZ/RIQz+Y(eh}2C1L/$+7hBE)$D2Y>IJ tS6qO2Y>ܢ2C1L;).b7Lx8EPh}2RJy!D X ܰlzW۔XXYqF#)^K.E睕Blus!c,R闒p>.睔 e$+}Eeb2y(e}d]p:8o6F,Ctǃ4X/$2}d]p6jABlu:I7)Dz̫Vimpg͜S랷^4 ~ k\5nOZ}mxLqn X:MQ&^ΫṶ$̫2xS/%W(n'1cxCv7t[\ZCv쿭M?u]%(>@$?e\EE6qOzu{/kiWIJnX6 tRW۔XXYqF#)^K.E睕Blus!c,R闒p>.睔 e$3*Z󲻣涙>N@geȺΫ,:I)]+,,S,8FS/%"Љƛy4&7]p1b<^٢(>y!" iR e$3*- :="t|/|N4ͩ GiWIJ>5:I)DWJr 1(e2P Ѧй1+@%S!bQe4>y!\@@)C+@%S$]z)bQepMs!c,R0"4I+QeI3* t/Q~ 2 qOYqF#)ewCBE)$D2Y>IJ tS6qO2Y>ܢ2C1L;).b7Lx8EPh}2RJy!D 废!ŗПǥ}Eeb2y(e}d]p-nyT&7]p1b<^٢(>y!"-ny@6QIZ$LDfUN}m}ms=| :6qO(0B&Lʓ/QgUR*fVDJQfUy< [_)̫|\kx\k{y@$?e\Ei[ή(0D>ïA LJPrҾܢ2C1Le2Yp>.<e /lbLˁuy!"-ny@6QIZW۔XXYqF#)^K.E6jhMn.b7Lx8EP}2C.E8o6&7]pI+Qr@门Lʸ]ekn~Vzo=o:i@1j v6Sט t3*LDWIJř[Y:I)DWe7m|^J2PݠNb7mru,oeV:>ȵo}IG[_FH LJP}iIJ Lʸk=|^4AgUR[ $)bQe)ˁueP(u\ňnq{fe\eF %j Lʸ'. 3)B-JWJr 1(e2QeȺt"qmM \XhJ^HeȺB'mԂF %j LʸkOeȺ 6jyC~4AgURMDJQfUҾܢ2C1L.ti.b7Lx8[z1(e2PLPݠ $]z)bQepMs!c,R0"4I+QeI3* t/Q~ 2 ס FS/% RIZ%(eh-I%(nRqOs9oZ }Bܢ2C1L;).b7Lx8EPh}2RJy!DCynqeƴ'r_nQabf!^J2y,Y\ [vU \XhJ^HeȺ [vP(MnVI&(/QpӲ[_F\_^A^@5DfTz:W2 tR2n"L?e\S8[E[ ڏ5n:zu 3)Ad"I%(3*-MzuuǮ :[zzAgUR[ $)bQe)ˁueP(u\ňnq{fe\eF %j Lʸ'. 3)AcI%(3*_nQabf!^J pK541b<eh-eb2y( ^HWt4$RVkԒwCzW۔XXYqF#)'Rn6XhJN ֈ6J@zLʈ$@_̠C+Ca FS/% JI+Q @7)D826)bQeLs!c,RC闒V CvCv9!?[ Jr 1(e2QeȺZMn.b7Lx8EP}2C.EZBlut(LFS/%L\B'mЛ(u\ňnq{fe\4"qmH(MnVI&(/Qq<;!,Cyy쿭MֹeVTk׉PݮōA?Re LJP^,ȁIJ LʾS/'k2P@rs7k7k1c{.A^E{H7j>4AgURNDJQfU[\Y[_FH LJPrҾܢ2C1Le2Yp>.<e /lbLˁuS/'7j>W >yԂΫ֝$̫6yp(0CPaנ?u]%(E`؁IJ_nQabf!^J2y,Y\ [vU \XhJ^HeȺ [vP(MnV̫yksf;":}f:j tR2)bQe䠷 Ծ3[Ms!cVBf!^JC闒 ԒwCzW۔XXYqF#)'Rn6XhJN ֈ6J@zLʈ$@_̠C+@[YqF#)erHH$RV$:MQN)g}gZ%}Eeb2y(vS/$\ňnq{fe䤕2BCvCv9!?[ Jr 1(e2QeȺZMn.b7Lx8EP}2C.EZBlut(LFS/%L\B'mЛ(u\ňnq{fe\4"qmH(MnVI&(/Qq<;!,s[_FDsˆЩk]i-<]yI 2@t Y@|^Oqe䠁3* ,oq(n^b\5n3kVԐ?(n}iΫ֝$̫p[ίem}m 3)B-JWJr 1(e2QeȺZMn.b7Lx8EP}2C.EZBlu?e\[vWt|6 Y\@tbI%+}Eeb2y(e}d]p:8o6F,Ctǃ4X/$2}d]p6jABlu?e\ETv}d]pƛyy)%jLo-,քnX6=+,,S,8FS/%"ksʡ6Q뀹1)A Y\ks \J@$ܥ:e 2ZvCkk]qPaנA^@5DfTz:W2 tR2n"L?e\S8[E[ ڏ5n:zu 3)Ad"I%(3*-MzuuǯA^pzAgUR[ $)bQe)ˁueP(u\ňnq{fe\eF %j Lʸ'. 3)AcI%(3*_nQabf!^J pK541b<eh p1(e2PLhH nJǮ1_nQabf!^J pK541b<^٢(:3Z"4I+QeI3* t/Q~ 2 (J FS/% JI+Q (J$:MQN)g(JehqBTJr 1(e2P^H1)AI+We?(n(n'1c@$'r_nQabf!^J2y,Y\ [vU \XhJ^HeȺ [vP(MnV)bQe)ˁuDMښe /lbLˁuN4ͩ \J@$ܥ:e 2"GZ۟d#Ėzby_Ѧk\Gt*x5CkcuO(n^bƠj̩2?u]%(emd@$?e_)Ey( LʹCv9Eט [ /"ս$em}m 3)Ad"I%(3*-$և W6@tbI%+}Eeb2y(e}d]p-nyT&7]p1b<^٢(>y!"-ny@6QIZ2 ;+>kiStv\ LJPrҾܢ2C1Le2Yp>.iSBlus!c,R闒p>.Љƛy 6QIZ2"@ê;Sp>.wGMڞP߭t~6@t1Q@t(LFS/% m 28*f2C1L/$+7hBE(ehqBTI+Wt;ǥ}Eeb2y(\h\ňnq{fL6J@zLʈ$@_̠C+ChC,8@h}2B"VIJZP3RIJ tSP3x℩)bQeLs!c,RC闒V o-,քnX6=+,,S,8FS/%"ksʡ6Q뀹1)A Y\ks \J@$ܥ:e 2ZvCkk]qK=hz1 e S5T@eI3)@x+k"I%(3*L-AfUu>C.5 [^.5LPݨ/[Y_lVR:ZvB tR2"4W\zZ @o7BTAgUR[ $)bQe)ˁueP(u\ňnq{fe\eF %j Lʸ'. 3)AcI%(3*_nQabf!^J pK541b<ehqBTeb2y( ^HWt4$RV%LԒwCzW۔XXYqF#)'Rn6XhJN ֈ6J@zLʈ$@_̠C+Dy FS/% JI+Q m椒@7)D8-2A)bQeLs!c,RC闒V 7k7h@`(LFS/%L\;*F,Ctǃ4X/$2}d]p;(&7]pI+PWJr 1(e2QeȺt"qmM \XhJ^HeȺB'mԂF %j tnR2?Wk̭mӲ"_o7^4 ~ k\5nOZ}mxLqn X:MQ&^ΫṶ$̫2xS/%W(n'1cxCv7t[\ZCv쿭M?u]%(>@$?e\EEo=o:iΫ,:I)]+,,S,8FS/%"ksʡ6Q뀹1)A Y\ks \J@pO-ny][Lڟ'c3}d]pAgUR[ $)bQe)ˁuDMښe /lbLˁuN4ͩ \J@qQڞˁuú>'mkiΫY$̫}Eeb2y(\h\ňnq ІYqF#)erHH m椕\cҾܢ2C1L.ti.b7Lx8EP&DFI%j LI&eDe tfPX ІYqF#)ewCBE)$D2AJQܥ?4xxhBW۔XXYqF#)e2EXhJ ^JIZS/$(o-,քnX6=+,,S,8FS/%"ksʡ6Q뀹1)A Y\ks \J@$ܥ:e 2ZvCkk]qPaנ@ïA t3*LDWIJř[Y:I)DWe7m|^J2[Yqn"YqeG|dG=o:@tӲ@qѦ=o:ïAmA^@tbI%+}Eeb2y(e}d]p-nyT&7]p1b<^٢(>y!"-ny@6QIZ2 ;+>kiStv\ LJPq騁IJ LʺW۔XXYqF#)'Rn6XZ eb2y( ^HWt4$RV6RJǮ1_nQabf!^J pK541b<^٢(:3Z"4I+QeI3* t/Q~ 2 p@H$RV8$IJ ~i=z tnR2?Wk̭mӲpײ6:MQ&^Ϋ֝$̫\쿭M?u]%(8t@$?e]+,,S,8An}@fFB,Ctǃp@H pIZ=+,,S,8An}@fFB,Ctǃ4X'RkDFI%j LI&eDe tfPXYqF#)erHH$RVn:IJ tS! +D7 _nQabf!^J1b<^٢(4>y)%jL ,hnX6=+,,S,8FS/%"ksʡ6Q뀹1)A Y\ks \JҾܢ2C1Le2Yp>.iSBlus!c,R闒p>.Љƛy 6QIZ$LDfUZ+[s~ W6Z7= [Sֺ[^&[yCv5T@eI3)@x+k"I%(3*L-AfU X-Pݮōj@g1y ~Pݨ/kiWIJ;!:I)DWmpgq[ίem}m 3)B-JWJr 1(e2QeȺZMn.b7Lx8EP}2C.EZBlu?e\[vWt|6 Y\@tbI%+}Eeb2y(e}d]p:8o6F,Ctǃ4X/$2}d]p6jABlu?e\ETv}d]pƛyy!\@@)C+D7%jc(LFS/% m /lb IZ/RIQz+Y(eh0!bQe4>y!]БJI+Q t$@7)D8CqVn:ܢ2C1L;).b7Lx8EPh}2RJy!D 废!ŗПǥ}Eeb2y(e}d]p-nyT&7]p1b<^٢(>y!"-ny@6QIZW۔XXYqF#)^K.E6jhMn.b7Lx8EP}2C.E8o6&7]pI+Qr@门Lʸ}iMzuuǯA^7Paנ:MQ&^ΫṶ$̫2xS/%W-,7m{,Ck2yCv me}[kH LJP}iIJ Lʸkk]qPaנ @`u!WIJnX6 tRW۔XXYqF#)^K.E睕Blus!c,R闒p>.睔 e$3*Z󲻣涙>N@geȺΫ,:I)]+,,S,8FS/%"Љƛy4&7]p1b<^٢(>y!" iR e$3*- :="t|/|N4ͩ GiWIJ>5:I)DWJr 1(e2P[_PѦй1+D7 FS/% P @bIZ=+,,S,8An}@fFB,Ctǃ4X'RkDFI%j LI&eDe tfPXֆ[ΠYqF#)ewCBZ @qBT :JTkC`rRI)Dr@ӊ{ϷOhl[uJr 1(e2P^H1)AI+We?Cynqeƴ(%L;\y`(LFS/%L\;*F,Ctǃ4X/$2}d]p;(&7]pI+PWJr 1(e2QeȺt"qmM \XhJ^HeȺB'mԂF %j tnR2?Wk̭mύl~r[ίe S7[_FD׽~&[}\k{m1ź2P@5DfTz:W2 tR2n"L?e\S8[E[ ڏ5ƷkH LʻrWqt[Z @o7D*f?u]%(E`؁IJ_nQabf!^J2y,Y\ [vU \XhJ^HeȺ [vP(MnV̫yksf;":"ܰl@$t(LFS/%L\B'mЛ(u\ňnq{fe\4"qmH(MnV̫P0\8o67]M?u]%(8t@$?e]+,,S,8An}@fFB,Ctǃƴ6-:u2C1L/$+ĖzbhHF6-:u$\cҾܢ2C1L:kti.b7Lx8EP-u -@fDiV$ԒfT@&^Jehl[ueb2y( ^HWYC(J"VIJhl[uI%(nRqOs9Cv'ƴ6-:u%}Eeb2y(vS/$\ňnq{fe䤕2B S7-:unX6=+,,S,8FS/%"ksʡ6Q뀹1)A Y\ks \JҾܢ2C1Le2Yp>.iSBlus!c,R闒p>.Љƛy 6QIZ$LDfU+ckzup℩ M;!Pݮōj@g1y ~zu{/kiͦlzZ @o7BTA?Re LJP^,ȁIJ LʾS/'k2P@wA[ή-$և P3~ߍj:ZvB tR2 Xˆt}msjzu?6@tbI%+}Eeb2y(e}d]p-nyT&7]p1b<^٢(>y!"-ny@6QIZ2 ;+>kiStv\ LJPrҾܢ2C1Le2Yp>.iSBlus!c,R闒p>.Љƛy 6QIZ2"@ê;Sp>.wGMڞP߭t~6@t1Q@t(LFS/% m ;\y1(e2PL$ևP3BE*5vo$]z)bQepMs!c,R0"4I+QeI3* t/Q~ 2F8*f2C1L/$+ĖzbhH$RZP3RIJ tS}|kChBW۔XXYqF#)e2EXhJ ^JIZS/$(o-,օ?Êo=o:~,)bQe)ˁueP(u\ňnq{fe\eF %j _nQabf!^J2y,Y\N4ͩ6Q뀹1)A Y\hDMڐP(u$DMQ^3*4W\zÊj? L%=poI 2@t Y@|^Oqe䠁3*废!ŗ-e}m|^O(n}@5[\AfU[ή-$և WAgUR[ $)bQe)ˁueP(u\ňnq{fe\eF %j Lʸ'. 3)B-JWJr 1(e2QeȺt"qmM \XhJ^HeȺB'mԂF %j LʸkOeȺ 6jyC~4AgURMDJQfUҾܢ2C1L:kti.b7Lx.<e /lbLˁuy!" iR e$IJ t@e\E2>5"_[ήmm}m?\'iu,oeV:>ȵo}I[_FH&m3cĖzbyj&Lʓ/QgUR*fVDJQfUy< [_)̫\ [\Ig\ A[ίZΫ֝$̫yCv7t[\ZD쿭M?u]%(E`؁IJ_nQabf!^J2y,Y\ [vU \XhJ^HeȺ [vP(MnV̫yksf;":"ܰl@$t(LFS/%L\B'mЛ(u\ňnq{fe\4"qmH(MnV̫P0\8o67]M?u]%(8t@$?e]+,,S,8B7FB,Ctǃƴ8*f2C1L/$+,%LБJhqBTI+Wt;ǥ}Eeb2y(\h\ňnq{fL6J@zLʈ$@_̠Qm2C1L/$+ :JTkDy$:MQN)g>>5 Є(LFS/%e䋘 /lbL|^HQOˍhQm'r_nQabf!^J2y,Y\ [vU \XhJ^HeȺ [vP(MnVI&(/Qq m}ms󫗖g_EzA?Re LJP^,ȁIJ LʾS/'k2P@rOˍoqײˍot>S/'7j>W ߭zu 3*Wq׋o7_oƵWIJnX6 tRW۔XXYqF#)^K.E睕Blus!c,R闒p>.睔 e$3*Z󲻣涙>N@geȺΫY$̫}Eeb2y(-u/ h\ňnxֈ6Bf!^JC闒 m愊TkDy%jc(LFS/%Nm /lb pH Pm$I2$:IҿAbZ eb2y( ^HWo4$RJ@)Qm椒@7)D8@@Z Jr 1(e2P^H1)AI+We?[y ܰlzW۔XXYqF#)^K.E睕Blus!c,R闒p>.睔 e$+}Eeb2y(e}d]p:8o6F,Ctǃ4X/$2}d]p6jABlu:I7)Dz̫Vƶ=|Ym[_FD ZvB=|]ypպϭb-[R@_Ѧ&Lʓ/QgUR*fVDJQfUy< [_)̫\ [\Ym֠3)Ad"I%(3*Pݮōj@g1yQ/kiWIJnX6 tRW۔XXYqF#)^K.E睕Blus!c,R闒p>.睔 e$3*Z󲻣涙>N@geȺΫ,:I)]+,,S,8FS/%"Љƛy4&7]p1b<^٢(>y!" iR e$3*- :="t|/|N4ͩ GiWIJ>5:I)DWJr 1(e2P Ѧй1m2C1L/$+ŷ)Qm椕\cҾܢ2C1L.ti.b7Lx8EP&DFI%j LI&eDe tfPXֈn:f!^JC闒 K=hz1JI+QFCqJQܥ?4sZ! Jr 1(e2P^H1)AI+We? 废!ŗТ3A?[ Jr 1(e2QeȺZMn.b7Lx8EP}2C.EZBlut(LFS/%L\B'mЛ(u\ňnq{fe\4"qmH(MnVI&(/Qq m}ms󫗖g_n:ïA t3*LDWIJř[Y:I)DWe7m|^J2[Yqn"YqeG|d[[Τ?e\n"zu}?u]%(E`؁IJ_nQabf!^J2y,Y\ [vU \XhJ^HeȺ [vP(MnV̫yksf;":"ܰl@$t(LFS/%L\B'mЛ(u\ňnq{fe\4"qmH(MnV̫P0\8o67]M?u]%(8t@$?e]+,,S,8An}@fFB,CtǃƴCq1(e2PLhWYCtTkD7%jc(LFS/%Nm /lb pH Pm$I2$:IҿAbZ! eb2y( ^HWYCtRIZ%*5ĒR&(37h|kD7 _nQabf!^J1b<^٢(4>y)%jLzunX6=+,,S,8FS/%"ksʡ6Q뀹1)A Y\ks \JҾܢ2C1Le2Yp>.iSBlus!c,R闒p>.Љƛy 6QIZ$LDfUZ+[s[,:9y M;!Pݮōj@g1y ~zu{/kiT@eI3)@x+k"I%(3*L-AfU[ή-,:9ykP@tӲ@pO(n^b\5n3kViΫ,:I)]+,,S,8FS/%"ksʡ6Q뀹1)A Y\ks \J@pO-ny][Lڟ'c3}d]pAgUR[ $)bQe)ˁuDMښe /lbLˁuN4ͩ \J@qQڞˁuú>'mkiΫY$̫}Eeb2y(\h\ňnxֈn:f!^JC闒Ėzb7" @bIZ=+,,S,8B7FB,Ctǃ4X`4DiV$ԒfT@&^Jeڎ\#y1(e2PLPݠ K=hz1 S4$RJ@)[Q˄upo:IJ tS^:u%}Eeb2y(vS/$\ňnq{fe䤕2B7k|7j @@8*f\#y@$ܥ:e 2#Qkk[Yp[ήrP}mxLqn ~PݮōA?Re LJP^,ȁIJ LʾS/'k2P@rOGk7k1c{.A^E{H7j>4AfU[ή-˄upzu{(Jo5y]cGP@tӲ@t數u$\һGW WtyQh YsJ-o$\ҽk I2$:IҿAb:u2C1L/$+ĖzbhH$R:u$@7)D8:s9WoGC.@uJr 1(e2P^H1)AI+We?t7|\kB%L˄upo:H$LDfUj; mkk:.yynTj׿[^&[HeƷ]t>M8T^J&Lʓ/QgUR*fVDJQfUy< [_)̫|\kx\k{yy!"-ny@6QIZ2 ;+>kiStv\ LJPrҾܢ2C1Le2Yp>.iSBlus!c,R闒p>.Љƛy 6QIZ2"@ê;Sp>.wGMڞP߭t~6@zLʈ$@_̠[b ІYqF#)ewCBE)$D I%(nRqOsy!"-ny@6QIZ$LDfUN}m}ms=| :hu!T@eI3)@x+k"I%(3*L-AfUu>C.5 [^.5LPݨ/[Y_lVR:ZvB tR2"4W\zu"-(0B:"ܰl@$t(LFS/%L\;*F,Ctǃ4X/$2}d]p;(&7]pI+QfUc ֶ)%jI11ozNʒN$})$ˏQ9%}EB B hŽ }^ ˆ4Rx!Ō(5XUA\"b 8@(X$T@$ t1 rq{f kD $7$I6w6$./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cshort_mi.htmll$$ Method Index for com.ibm.record.ctypes.CShort

Constructor Index

CShort()

Method Index

canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToDouble()
canConvertToFloat()
canConvertToInt()
canConvertToLong()
canConvertToObject()
canConvertToShort()
canConvertToString()
checkConstantValue(IRecord, byte[], Object)
checkConstantValue(IRecord, int, Object)
getAlignmentHint()
getDouble(IRecord, byte[])
getDouble(IRecord, int)
getFloat(IRecord, byte[])
getFloat(IRecord, int)
getInt(IRecord, byte[])
getInt(IRecord, int)
getLong(IRecord, byte[])
getLong(IRecord, int)
getObject(IRecord, byte[])
getObject(IRecord, int)
getShort(IRecord, byte[])
getShort(IRecord, int)
getSize()
getString(IRecord, byte[])
getString(IRecord, int)
setInitialValue(IRecord, int, Object)
setInitialValue(IRecord, Object)
setObject(IRecord, int, Object)
setObject(IRecord, Object)
setShort(IRecord, int, short)
setShort(IRecord, short)
setString(IRecord, int, String)
setString(IRecord, String)
fromInitialValue(IRecord, int, Object)
fromInitialValue(IRecord, Object)
fromShort(IRecord, int, short)
fromShort(IRecord, short)
testConstantValue(IRecord, byte[], Object)
testConstantValue(IRecord, int, Object)
toShort(IRecord, byte[])
toShort(IRecord, int)
ml#getD k$7$I6w6$Px./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cwchar.htmlmll$$ com.ibm.record.ctypes.CWChar <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ctypes.cwchar_dsc.html#_top_">com.ibm.record.ctypes.CWChar (no frames)</a></b></p> </body> stant l\4$7$I6w6$X [./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cwchar_dsc.htmll$$   deort.<>achilns "/bfmpu=C_vy#(),IORTgjwx-:EFVq &;AU[]JPSk014HLWz359BM!+28?DG|7NYHSlѧWnq䁊(@(_ 9QUT@n:[K:M_͡${.P$QQ* rI8 @0I"P0hӨˆ4I;B:St׀^FK``@0 J EB{S1slxw`P p8 Q]?➸DzC5L3FQ@ v@)Q[ A I?hGD J+Y${g %I)j ˆuN89J-˼$)=HOy˙t;NʓV+H0I,PFS/% ѧTP5x%@A(dt($U!kP15%-]+0I+{57My*)j))j_nQI[QCtג!S=p%-I*&RJRJQYo$p9RLo1l$2Y* =qej2y(f:@)IF\5I)Q:W۔`PPz-\e4\ňn /ld=c ,>)j $ ܣ5,e2P ѧP5JfŚ^J u$?00 JrK,8QA}@;[Ns!k,2C5L\#R5hhө%-D$`3,8QC4i M^:J;)D2?W8v=qIjBIELBcҾܣ5,e2Pcj_PӨ\ňna{g %@ԀM@;Z4IKQzr5cPmq]q Ưͬ_ѧR'(Q~ 6M:Z \#{6BhDS@Dz3Rܣ5,e2PuE cW,Ct׃ M^@)Ĕ?W t/Q@&<*B$ t@P $Yqf)hӪ(`1b)pTUefrJZֺ̫@P $Yqf)hӪ(`1b M^.+465xp3*56=З1{Q mgך1uwGze\Vovnj[ϯ2/@v5xϽ]_FH tΨJrK,8QC4i0A^ ^ UefYa%L\\VhmLԔ?Wtyڏmkk>Y.ӫ=l-2{cW0,_nQIej2y(f:1s!k4*-ॼej2y( ^HOt4'b9e4 hT[KypeCBxYa 2Zk[s[;\yfCokӨcuO ot>N8T^J3Rܣ5,e2PuE cW,Ct׃hT[Ky5,e2PLCLЂTfYPvo-JZƒ)hA~+ck1o>YaѧQ~V_,n^b\5n^E{H[ϯf}m}u :+0I,PFS/% ѧTP5x.b7Mx0uh@چC:{mC@!Ԕ?Wtyձ{mC{] ^}m}u :+0I,PFS/% ѧTP5x.b7Mx0uhfŚ^J)a:SW)j ^HO,n?WtyZ~B?[\,bٟ[_FD7= [St>N8Tu,j3Rܣ5,e2PuE cW,Ct׃VjjYe(2y!=ЂTZ)ĔS/$'@e_V4=|z}LT($C5L3FQC๋5աe4jYe(2y!<@PJBjJZƒ)afUk]mkn~VXšr5xmg^4 ~ 1j ku1:7k1cP@P $Yqf)hӪ(`1b:,fC5LS/$'JBjJZƒ)  2+O}m}uqyC jle5_nQIej2y(f:1s!k@C. PuhpJZֺ̫5cfy N?!Xݮōj@;kVԐ?^4Au@*W۔`YfŚ^JN j\ňnm諄upR}C5LS/$'7h xz-\X}3B VtU:h)o>RLXݠ( e4 Lʿ xk[Yp-tyQot>N8T?,n^bƠ:+0I,PFS/% ѧTP5x.b7Mx6tU:h)o>fŚ^J) =p@Ya%[QWᠥIKP8Pe2B{<,f?Wmkk:.xż;*5 ߭1$#[t>N8T^J3Rܣ5,e2PuE cW,Ct׃mjjYe(2y!<@PJ5xpe@XA~GZ۟#2/1o>i@Ac{pպ`Y;gހ t/Q~ 6˄wfD$RZ \#{6$ tfВEP RJZ+Y$@)pTIjBIEvRyos8 8A@_͡$Zۘ:[K@Dk[sIMu:WhI,\\Vh',M^:KSW 4SW(:NQ-g.v.+4h%LDfUZk[s s }my]OѧWtz٧[?eef2c`Y;gހq Nݱ@eI3-A"IE3*e+pIL?u]%,ef:j tZ2$Yqf)n:Xb*2A9fj 1ppYE5xv=qJrK,8QB7FB,Ct׃ 8Y* 44iԒ%KԒT@*^Jm %X}3A RJZ%X}3RQj t[]p\\Vh',в@(:e 2GZ۞KֶkE~:=ox޲_l.+7o_Ͻh >cve}u}H t3*LDWIj ?!:J-DWK.i[Je(3-Ac+1Q@t($C5L.ti.b7Mx3W 4,f.+4hYaIKWt;ǥ}F %jYepNs!k,4IKQIS* t/Q~ 6Uefئ RJZ% M^$@;)D<ظ 8A@门Lʸk]mkn{.bZϭ5c4[4z}} _oe_gހjzƻ\2:@9DfTz:Z~B tZ2\ҷ˚QgUZVcIE3*_nQIej2y(\Ө\ňnf.+465xJ JZ=+0I,PFS/% u ^ /ldѧRJZ/RJQz+Y$.+46h8A*IKQ1ppYX}3RQj t[]p\\VhmLpIGe(/QpֺϽh >cve}u r̩2?u]%2@(?e],nI)4ΫMDQfUҾܣ5,e2P ѧP5\\VhmLpTUefYaIKWt;ǥ}F %jYepNs!k,4IKQIS* t/Q~ 6HupR}C5LS/$'7h xz-\X}3B RJZ%WᠥIEvRyos9woñ*\4@_nQIej2y(vS/$\ňna{g %AAIKWe䄐?\Sva$ ,>ᠥ tvR2?W xk[Yp-tyQot>N8T?,n^bƠr̩2?u]%mmd@(?e_)5y( LʹGkk7k1c{.A"ս$f}m}u 3*끸kk\7[ϯe7Y/+9nuWIj ?!:J-DWK.i[Je+ϭ˄up1o>ʍC@re(ž4sJtiWIj Y%̫}F %jYepNs!k` p [ϠvYqf)e@XOXšrhA*ci$U:h)o>RǮ1_nQIej2y(\Ө\ňna{g %@D:R@zTʈ%K@_͡$*\4@PFS/%A Z ,f:KSL"AKyQ?8rKci$U:h)o>Ҿܣ5,e2P^H5J) S,#Z@p [ϠIGe(/QpڎLj6}b}wG׉aֺ[^'Sc~S/%@eI3-@xkk"IE3*L᭯AfUu>B25 [^25LXݨ36kӫEQAfU-pe:o^oN^WXr:Z~B tZ2\ҷ˚Wq[]b}wG˚Q|i%2[X :25:J-DWJrK,8QA}@;[Ns!k` p [ϠvYqf)eCBxz-\X}3B SL"AKyv=qJrK,8QA}@;[Ns!k,\#R5hhө%-DJ%LTD,IfjjYe(2y!=^:KQfj%IJ ~q|̳E5x$Yqf)e2EXpTL|^HI^qyb_nQIej2y(e2.<e ^ /ld2y"+"%ny@QJZzW۔`YfŚ^J2y, 'uЋ(u\ňna{g %ApY\Dڐ@(u%-DQ^3*ty_Ư8żѧQ~V_,n^b\5n^E{H[ϯf}m}u r̩2?u]%mmd@(?e_)5y( Lʸżnc_oƵWIj ?!:J-DW9cv7tﭮj-[S-3kөWIj nX@(t($C5Le2YpY\ [~U\XpTLWu<@(u%-DW9sf?ˀȺΫ,B tZW۔`YfŚ^J2y, 'uЋ(u\ňna{g %ApY\Dڐ@(u%-DW m|Y <67]N?*^2IR:WhI&e)vYqf)eCB{%I)j t2J-D@{3O3,M^}F %jYeLs!k,S/%%-_)@ :!fВƯ8żܱ($C5Le2YpY\ [~U\XpTLWu<@(u%-A=+0I,PFS/%L\VE:jhEv.b7Mx0e䊸 L"y^mH EvIGe(/Qp[N1o>f}Ư`Y:'(Lʓ/QgUZ:fDQfUy< [_)̫|dkxdk{y%-DfYPvo-J-D@{3O3,Ш;\+0I,PFS/%e䋘 ^ /ld(2y))jLo1 0ք?kR}}nXzW۔`YfŚ^J2y, -?*YGk,Ct׃ 8Y* ^HȺ [~P Ev$Yqf)^K.+"y4";]p1b^Pe2E\VE&<6";]pIKQ@门Lʸk]mkn|kck1o>Lmm}u?^Lqa׉꟔A?Re LKP^,ȁQj LʾS/'kk2P@sO op׳ ot>S/'7j> @5[\b} 3*x)o>r1hzM^-Y-,>oƵWIj nX@(t($C5Le2YpY\ [~U\XpTLWu<@(u%-DW9sf?ˀȺΫ,B tZW۔`YfŚ^J2y, 'uЋ(u\ňna{g %ApY\Dڐ@(u%-DW m|Y <67]N?*^2IR:WhI&ekR}C5LS/$'b9e4 $Z4*-ॼIEvRyos>,B=+0I,PFS/%L\VE矕B,s!k,S/$Ued]p?(";]pIKPOJrK,8QFS/%uDښe ^ /ld2y"+"qכRe$QJ t@e\Vk-b}p N?!Xݮōj@;kVԐ?^4GC jle5@eI3-@xkk"IE3*L᭯AfUkR}p7 mpZ SWf{,>oƵWIj ?!:J-DW9cv7tﭮj-[S-3kөWIj nX@(t($C5Le2YpY\ [~U\XpTLWu<@(u%-DW9sf?ˀȺΫ,B tZW۔`YfŚ^J2y, 'uЋ(u\ňna{g %ApY\Dڐ@(u%-DW m|Y <67]N?*^2IR:WhI!ՠCj:KPuh@چC(:NQ-gt7Vpt h:@(:e 2GZ۞[:7eѧR'(Lʓ/QgUZ+ODQfU[]opt ok LKPXt@(?e]+0I,PFS/%8Fn:XPt4 Vpt h:v=qJrK,8QA}@;[Ns!k,\#R5hhө%-DJ%LTD,HuhfŚ^J)a%-DZ)ĔZ'e(ǖ3Z)t($C5L;).b7Mx0e䤥2BHcvcvōJrK,8QFS/%uŹP(u\ňna{g %ApY\+s\RҾܣ5,e2Qeed]p><6YGk,Ct׃ 8Y* ^HȺ'uԂYGk )j tvR2?W kͭmc^4 ~ 1j ku1:7k1cP@9DfTz:׋6 tZ2nL?e\@Fb7 mru,oeV:[\ZcvϭN?u]%2@(?e\52/1o>iԂΫ,B tZW۔`YfŚ^J2y, -?*YGk,Ct׃ 8Y* ^HȺ [~P Ev̫ŹwGm3j|weed]pAgUZ[!:J-]+0I,PFS/%L\VE:jhEv.b7Mx0e䊸 L"y^mH Ev̫P,\VE^qכSѧR:25:J-DWJrK,8QB7FB,Ct׃VjjYe(2y!<@PJE5xv=qJrK,8QB7FB,Ct׃ 8Y* 44iԒ%KԒT@*^Jm $:SWPFS/%A :KPuhQj t[Ư8uhҾܣ5,e2P^H5J) O hGG}F %jYe)ˀȺbEv.b7Mx0e䊸 YGk )j _nQIej2y(e2.qכSB,s!k,S/$Ued]pa:jA,:J;)Dz̫V4=|z}I 2@tY@|^Ope䠁3*:!f᭯f}m|^O,n}Y_lVe}mqyΫV%̫:ż_gހjz3-A%$Yqf)^K.+"끋sʡQ뀹5J)*2.V矔e$3*G1ny][Lڟ'pY\@tDWJrK,8QFS/%uDښe ^ /ld2y"+"qכRe$3*᭯ >=uú>'ukiԂΫMDQfUҾܣ5,e2Pcj_PӨ\ňn`M^C5LS/$'JE5xv=qJrK,8QA}@;[Ns!k,\#R5hhө%-DJ%LTD,HuhYaej2y( ^HO,n:KPuhYaIEvRyos8Yaաe4+0I,PFS/%e䋘 ^ /ld(2y))jL34 >,B=+0I,PFS/%L\VE矕B,s!k,S/$Ued]p?(";]pIKPOJrK,8QFS/%uDښe ^ /ld2y"+"qכRe$QJ t@e\56?+OGkb9[6[ϯf}m}u?k\5nOv:Sט t3*LDWIjś[Y:J-DWe7 m|^J2Xݠ#1cxcv7tﭮj-[R@QgѧR:Z~B tZ2=p@ٟͬ[_FH LKPkr"IE}F %jYe)ˀȺbEv.b7Mx0e䊸 YGk )j Lʸ[~Wt|6v\VE?u]%5bҾܣ5,e2Qeed]p><6YGk,Ct׃ 8Y* ^HȺ'uԂYGk )j LʸkkϨOeed]pyB25[!$Yqf)^K.+"끋sʡQ뀹5J)*2.V矔e$'}F %jYe)ˀȺ|"y^mM\XpTLWu O8ͩ\R@(:e 2Z~Ckӫ[ϮZ SWf{,> t3*LDWIjś[Y:J-DWe7 m|^J2canaeGٜAn:WH LKPeiQj Lʸkkӫ[ϮZ SWf{,> LKPkr"IE}F %jYe)ˀȺbEv.b7Mx0e䊸 YGk )j Lʸ[~Wt|6v\VE?u]%5bҾܣ5,e2Qeed]p><6YGk,Ct׃ 8Y* ^HȺ'uԂYGk )j LʸkkϨOeed]pyiԂI 2@tY@|^Ope䠁3*끸kke_cWb}}?u]%2@(?e\Xˆtȵo}ODϭN?u]%5bҾܣ5,e2Qeed]p1nyT";]p1b^Pe2E\VEJ,?e\-?+>kiSt.+":ܱQj_nQIej2y(e2.qכSB,s!k,S/$Ued]pa:jA,?e\5gv2.wGڞX߭t~:@t騁Qj LʺW۔`YfŚ^J41b5ej2y( ^HOcW5IKWt;ǥ}F %jYepNs!k,4IKQIS* t/Q~ 6M^C5LS/$'A*IKQFSW(:NQ-gnM^}F %jYeLs!k,S/%%-_)@ :!fВƯ8żܱ($C5Le2YpY\ [~U\XpTLWu<@(u%-A=+0I,PFS/%L\VE:jhEv.b7Mx0e䊸 L"y^mH EvIGe(/Qp[N1o>f}Ư`Y:'(Lʓ/QgUZ:fDQfUy< [_)̫|dkxdk{y%-DШ;\%IJ ~q-ZkR}}F %jYeLs!k,S/%%-_)@ :!fВX}3{r [ϠJrK,8QFS/%uŹP(u\ňna{g %ApY\+s\RҾܣ5,e2Qeed]p><6YGk,Ct׃ 8Y* ^HȺ'uԂYGk )j tvR2?W kͭmύl~r-ײ N޿1>25:Sy( t3*LDWIjś[Y:J-DWe7 m|^J2canaeGٜAƷk[Ϥ?e]vo-pt[z-\)ųk8ż e7֠3-A%$Yqf)^K.+"끋sʡQ뀹5J)*2.V矔e$3*G1ny][Lڟ'pY\@tDWJrK,8QFS/%uDښe ^ /ld2y"+"qכRe$3*᭯ >=uú>'ukiԂΫMDQfUҾܣ5,e2Pcj_PӨ\ňnhօA@PFS/%A Z ,fօAI)jc($C5L41b^P%5 Pֆ:R@zTʈ%K@_͡$ƴ*-ॼej2y( ^HOXšrhA*IKQF*-ॼIEvRyos9cv/ƴ*-ॼJrK,8QCy",Ct׃ 8Y* ^JJZS/$$X}3{r [ϠJrK,8QFS/%uŹP(u\ňna{g %ApY\+s\RҾܣ5,e2Qeed]p><6YGk,Ct׃ 8Y* ^HȺ'uԂYGk )j tvR2?W\,fCokӨ?+OG7k1c{.A"ս$-׳>: Dfǯb9[6aA?Re LKP^,ȁQj LʾS/'kk2P@wA\ [\=cٵoAgUZ+ODQfUXݮōj@;kVy@4AgUZ[!:J-]+0I,PFS/%L\VE矕B,s!k,S/$Ued]p?(";]pIKQfUb涙>O@;2. 3-A%$Yqf)^K.+"y4";]p1b^Pe2E\VE&<6";]pIKQfU[_(}Gj{.+"t|/|O8ͩGөWIj Y%̫}F %jYepNs!kZkR}C5LS/$'b9e4 F*-ॼIKWt;ǥ}F %jYepNs!k,4IKQIS* t/Q~ 6в5,e2PLhOXšrhA*IKQF,f@;)DfÅL~:=p@ͬX}3P@9DfTz:׋6 tZ2nL?e\S,#[5#[ڏ8k+?oH Lʸżn=p@ͬ֠3-A%$Yqf)^K.+"끋sʡQ뀹5J)*2.V矔e$3*G1ny][Lڟ'pY\@tDWJrK,8QFS/%uDښe ^ /ld2y"+"qכRe$3*᭯ >=uú>'ukiԂΫMDQfUҾܣ5,e2Pcj_PӨ\ňnhօLvYqf)eCBxz-\X}3B TkBjJZ=+0I,PFS/%8Fn:XpT pHN?*^2IR:WhI1 ,>PFS/%A =p@Ya%I)j tօLԔZ'e(ǖ37h kBh:W۔`YfŚ^J1b^PPe2RRy!$oA[!$Yqf)^K.+"끋sʡQ뀹5J)*2.V矔e$'}F %jYe)ˀȺ|"y^mM\XpTLWu O8ͩ\R@(:e 2GZ۟ X}3xżѧQ~V_,n^b\5n^E{H[ϯf}m}u#@͏_Xšr5xmg隂I 2@tY@|^Ope䠁3*끸kkb9[6[ϯZΫV%̫]ypպw5yiԂΫ,B tZW۔`YfŚ^J2y, -?*YGk,Ct׃ 8Y* ^HȺ [~P Ev̫ŹwGm3j|weed]pAgUZ[!:J-]+0I,PFS/%L\VE:jhEv.b7Mx0e䊸 L"y^mH Ev̫P,\VE^qכSѧR:25:J-DWJrK,8QB7FB,Ct׃F,fC5LS/$'b9e4 F,f\cҾܣ5,e2P ѧP5J u$IR$:JҿBIڎGW -;,8Q@Pe2Bycv,'b9e4 $ZAKyQ?8xݾp [Ϡt($C5L;).b7Mx0e䤥2BH7k| n@,$YaGW -A@门LʸmGcZξ˄up1o>ʍC{u1:cv5@eI3-@xkk"IE3*L᭯AfUu>@7j< [\]ypպw5y ~Xݨ3kөW\ []b}{,>o9y]at# LKPeiQj LʺYsJ>S.i]}mv\#yvTj?K.iF-˚Wm`H TI*eD tfВvAKy5,e2PLhOXšrhA*IKQmGE\#%IJ ~q˻}.j:*\4@_nQIej2y(vS/$\ňna{g %AAIKWe䄐?t7|dkBHL˄upR}:J;)Dz̫v.xżX}3~erÖGP@t@t數}$\һGW <4 ~\Ҍ[I)4zF@zTʈ%K@_͡$jjYe(2y!<@PJR@-[bIEvRyoskiSt.+":ܱQj_nQIej2y(e2.qכSB,s!k,S/$Ued]pa:jA,?e\5gv2.wGڞX߭t~:@zTʈ%K@_͡$jjYe(2y!=ЂTIjJ-D@{3϶)t($C5L;).b7Mx0e䤥2BHo1 0ք}nXzW۔`YfŚ^J2y, -?*YGk,Ct׃ 8Y* ^HȺ [~P Ev$Yqf)^K.+"y4";]p1b^Pe2E\VE&<6";]pIKQ@门LʸeiN1o>`Y;gހ t3*LDWIjś[Y:J-DWe7 m|^J2canaeGٜAn:WH LKPeiQj Lʸkkӫ[Ϯ}Ư`Y::ܱQj_nQIej2y(e2.<e ^ /ld2y"+"%ny@QJZ2s矕5ͩ~:ݗuWIj nX@(t($C5Le2YpY\O8ͩQ뀹5J)*2.0y QJZ2@;SpY\;{y^mO,oֺ?FH TI*eD t@ {$pst'V[y5IR{)c$'2 $IQw&&RWxZ${g۔`YfŚ^JN j ^J)xP)j_nQIܪCtגO\c!Ջ4jJZW۔`Vj(nT=SRRҾܣ 6%@C.z<5JZTM[ޤIZJIR r t($!49i?WբIejJCqIB B qkO.k 41<@@h@BTr%r5DD@ kY$]7$I6w6$]./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ctypes.cwchar_mi.htmll$$ Method Index for com.ibm.record.ctypes.CWChar

Constructor Index

CWChar()

Method Index

canConvertFromChar()
canConvertFromObject()
canConvertToChar()
canConvertToObject()
checkConstantValue(IRecord, byte[], Object)
checkConstantValue(IRecord, int, Object)
getAlignmentHint()
getChar(IRecord, byte[])
getChar(IRecord, int)
getObject(IRecord, byte[])
getObject(IRecord, int)
getSize()
setChar(IRecord, char)
setChar(IRecord, int, char)
setInitialValue(IRecord, int, Object)
setInitialValue(IRecord, Object)
setObject(IRecord, int, Object)
setObject(IRecord, Object)
fromChar(IRecord, char)
fromChar(IRecord, int, char)
fromInitialValue(IRecord, int, Object)
fromInitialValue(IRecord, Object)
testConstantValue(IRecord, byte[], Object)
testConstantValue(IRecord, int, Object)
toChar(IRecord, byte[])
toChar(IRecord, int)
 kp$7I6w6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.customrecord.htmltmll$$ com.ibm.record.CustomRecord <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.customrecord_dsc.html#_top_">com.ibm.record.CustomRecord (no frames)</a></b></p> </body> > k0n$R*7I6w6$ R*./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.customrecord_dsc.htmll$$ Class com.ibm.record.CustomRecord

Class com.ibm.record.CustomRecord

java.lang.Object
   |
   +----com.ibm.record.Record
           |
           +----com.ibm.record.CustomRecord

public class CustomRecord
extends Record
implements ICustomRecord

This is a convenience class implementing default behavior for custom records. Note: Custom records deriving this class MUST override static method getCustomRecordType().


Constructor Index

CustomRecord()
Default construction of custom records is not allowed.

Method Index

checkBytes(byte[])
This method determines whether a specified byte array is suitable for use with the record.
equals(Object)
This method determines if the two custom records are equivalent.
getCustomRecordType()
This method returns the record type for this custom record.
getRecordKind()
This method returns the kind of the record.
getRecordType()
This method returns the record type for the custom record.
getSize()
This method returns the size of the record in bytes.
printTo(PrintStream)
This is a convenience method that produces a printable record "dump" to the specified print stream.
setInitialValues()
This method sets all initial field values in the custom record.
setRecordType(IRecordType)
This method sets the record type for this record.

Constructors

CustomRecord
 protected CustomRecord()
Default construction of custom records is not allowed.


Methods

checkBytes
 public boolean checkBytes(byte theBytes[])
This method determines whether a specified byte array is suitable for use with the record. This default implementation only checks that the length of the byte array equals the length of the record.

Parameters:
bytes - The byte array for the record.
Returns:
true if the byte array is suitable for use with the record; false otherwise.
Overrides:
checkBytes in class Record
equals
 public boolean equals(Object obj)
This method determines if the two custom records are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this custom record is the same as the obj argument; false otherwise.
Overrides:
equals in class Record
getCustomRecordType
 public static IRecordType getCustomRecordType()
This method returns the record type for this custom record. This method MUST BE overridden by specific custom record implementations. The concrete implementation MUST supply the correct class name. This default implementation returns a null value.

The concrete method implementation must return a new instance of the CustomRecordType initialized to the class of the CustomRecord and its size. There are 3 ways of constructing the Class object:

  1. Create a "throwaway" instance of the custom record and then call getClass() on it.
  2. Call Class.forName("class name as string").
  3. Use the .class notation.
 return new CustomRecordType((new ThisRecordClass()).getClass(), typeSize);
 --- OR ---
 return new CustomRecordType(Class.forName("record class name"), typeSize);
 --- OR ---
 return new CustomRecordType(ThisRecordClass.class, typeSize);
 

Returns:
The record type for the custom record.
getRecordKind
 public int getRecordKind()
This method returns the kind of the record.

Returns:
Always returns CUSTOMRECORD.
Overrides:
getRecordKind in class Record
getRecordType
 public IRecordType getRecordType()
This method returns the record type for the custom record.

Returns:
The record type for the custom record.
Overrides:
getRecordType in class Record
getSize
 public int getSize()
This method returns the size of the record in bytes.

Returns:
The size of the record in bytes.
Overrides:
getSize in class Record
printTo
 public void printTo(PrintStream stream)
This is a convenience method that produces a printable record "dump" to the specified print stream. Since no descriptive type information is available in a custom record, only the bytes are printed (in readable form).

Parameters:
stream - The stream to write the data to.
setInitialValues
 public void setInitialValues() throws RecordConversionFailureException, RecordConversionUnsupportedException
This method sets all initial field values in the custom record. As the internals of the record are only known to the developer, this method MUST BE overridden by specific custom record implementations to set any initial values on the record fields. The default implementation does nothing.

Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by a field in the record.
Overrides:
setInitialValues in class Record
setRecordType
 public void setRecordType(IRecordType recordType) throws IllegalArgumentException
This method sets the record type for this record.

Parameters:
recordType - The type of the record.
Throws: IllegalArgumentException
The record type parameter supplied is null, not the correct type, or if the record attributes are set, the attributes are not supported by the record type.
Overrides:
setRecordType in class Record

 k`$7I6w6$Px./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.customrecord_mi.htmll$$ Method Index for com.ibm.record.CustomRecord

Constructor Index

CustomRecord()

Method Index

checkBytes(byte[])
equals(Object)
getRecordKind()
getRecordType()
getSize()
printTo(PrintStream)
setInitialValues()
setRecordType(IRecordType)
getCustomRecordType()
e k]$7I6w6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.customrecordtype.htmll$$ com.ibm.record.CustomRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.customrecordtype_dsc.html#_top_">com.ibm.record.CustomRecordType (no frames)</a></b></p> </body> e kz$Z.7I6w6$ Z../usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.customrecordtype_dsc.htmlmi.htm$$ Class com.ibm.record.CustomRecordType

Class com.ibm.record.CustomRecordType

java.lang.Object
   |
   +----com.ibm.record.CustomRecordType

public class CustomRecordType
extends Object
implements ICustomRecordType

This is a common implementation of IRecordType shared by all custom records.


Constructor Index

CustomRecordType(Class, int)
This constructor creates an instance of a custom record type with the specified class and record size.

Method Index

equals(Object)
This method determines if the two custom record types are equivalent.
getObject(IRecord, int)
This method returns the referenced bytes as a new custom record with a copy of the bytes corresponding to this record type.
getSize()
This method returns the size of the record structure in bytes.
newRecord()
This method creates a new record for this record type.
newRecord(IRecordAttributes, int, int)
This method creates a new record for this record type.
newRecordWithBytes()
This method creates a new record for this record type.
newRecordWithBytes(IRecordAttributes, int, int)
This method creates a new record for this record type.
setObject(IRecord, int, Object)
This method sets the record bytes from a custom record (value).

Constructors

CustomRecordType
 public CustomRecordType(Class aClass,
                         int recordSize)
This constructor creates an instance of a custom record type with the specified class and record size.

Parameters:
aClass - The custom record class.
recordSize - The size of the record in bytes.

Methods

equals
 public boolean equals(Object obj)
This method determines if the two custom record types are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this custom record type is the same as the obj argument; false otherwise.
Overrides:
equals in class Object
getObject
 public Object getObject(IRecord record,
                         int fieldOffset) throws RecordConversionFailureException, RecordConversionUnsupportedException
This method returns the referenced bytes as a new custom record with a copy of the bytes corresponding to this record type. This accessor is provided in support of nested custom records. This default implementation always throws RecordConversionUnsupportedException.

Parameters:
record - The record.
fieldOffset - The offset in the record bytes of where to retrieve the custom record.
Returns:
A new custom record with a copy of the origian bytes.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this type.
getSize
 public int getSize()
This method returns the size of the record structure in bytes.

Returns:
The size of the record structure in bytes.
newRecord
 public IRecord newRecord() throws RecordException
This method creates a new record for this record type. It simply creates an instance of the custom record. No bytes are allocated for the record.

Returns:
A new instance of the custom record.
Throws: RecordException
The custom record class cannot be instantiated.
newRecord
 public IRecord newRecord(IRecordAttributes attributes,
                          int startingOffset,
                          int alignmentOffset) throws RecordException
This method creates a new record for this record type. It creates an instance of the custom record and sets the record attributes. No bytes are allocated for the record.

Parameters:
attributes - The attributes of the record (code page, endian, etc).
startingOffset - The offset to where the record begins within a byte array associated with the record.
alignmentOffset - The offset for the record or sub record which is used to start aligning the record from.
Throws: RecordException
The custom record class cannot be instantiated.
newRecordWithBytes
 public IRecord newRecordWithBytes() throws RecordException
This method creates a new record for this record type. It simply creates an instance of the custom record, with bytes allocated for the record, and any initial values set for the record fields.

Returns:
A new instance of the custom record.
Throws: RecordException
The custom record class cannot be instantiated.
newRecordWithBytes
 public IRecord newRecordWithBytes(IRecordAttributes attributes,
                                   int startingOffset,
                                   int alignmentOffset) throws RecordException
This method creates a new record for this record type. It creates an instance of the custom record, sets the record attributes, allocates bytes for the record, and sets any initial values for the record fields.

Parameters:
attributes - The attributes of the record (code page, endian, etc).
startingOffset - The offset to where the record begins within a byte array associated with the record.
alignmentOffset - The offset for the record or sub record which is used to start aligning the record from.
Throws: RecordException
The custom record class cannot be instantiated.
setObject
 public void setObject(IRecord record,
                       int fieldOffset,
                       Object value) throws RecordConversionFailureException, RecordConversionUnsupportedException
This method sets the record bytes from a custom record (value). This accessor is provided in support of nested custom records. This default implementation always throws RecordConversionUnsupportedException.

Parameters:
record - The record.
fieldOffset - The offset in the record bytes of where to set the custom record value.
value - The custom record to be set into the record bytes.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this type.

.  k$7I6w6$@./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.customrecordtype_mi.htmlmi.htm$$ Method Index for com.ibm.record.CustomRecordType

Constructor Index

CustomRecordType(Class, int)

Method Index

equals(Object)
getObject(IRecord, int)
getSize()
newRecord()
newRecord(IRecordAttributes, int, int)
newRecordWithBytes()
newRecordWithBytes(IRecordAttributes, int, int)
setObject(IRecord, int, Object)
rt alig kQ$7I6w6$P./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.dynamicrecord.html.html$$ com.ibm.record.DynamicRecord <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.dynamicrecord_dsc.html#_top_">com.ibm.record.DynamicRecord (no frames)</a></b></p> </body> (com lE$:7I6w6$ 1./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.dynamicrecord_dsc.htmll$$   deiort.<>aclns bfhmpuv"/_gxy#,=EFRST():CIJN[]jw -AUq;BDOPX&2L034k}'15KV{78HYz9GMW!?|+ZH-4Ki@ $H<&69zcxܪr$LB%Q\(dd8x`#ݲ %NK"@'W4$<(@"ݲƛ";-.С#4Izc@'ak΅S` Q r t@`ӋَHYgp9P8  `Dl5oe$dfSe@:D+:ImPdf(@ PB+Y V٢)"VLQmn ,lo"p(@DvKZVp-i Q N⓰ŵJ΅h^IABf"1,@,fK/!R'pH "VJ 2ƈP!{Z^0tPPjz !@;[ [/H|-r̗12G.$K[ZRD('VKeIzX[$(BВ!D!{,Q&#% 52,Hڤ, tJy%BAzոZ,tEC؂[frZ @$,ԉZ 0 J 1Ie#%*4 V٢)b(@l%j   3,Q&#% 52,HrT@/@醨LjgcV 52,%DcUfˡ+!b(FK/ T=/Lh@EPl%j F2]_/$ D^B*fS2YyAzcBm(B ke06Yy :DTT@;g ['ĽD>fS>K/#xbd̝.y<ܳ&>;फ़J>4r[AR[3F4 }aM^bƄ?ξ~|^@j9=y=3T{kez{ʼT8@YL^)gѦOܧ h<}?[/}~l5ig5cB}tf>K/ $KտyVvuwyWldK-%e?_}8[gsn dn[z7RA*^,ey[ c%r̟e}.yU-~\?[/}cyn>]RJ?.{d[3O ~s=ldX'ypx,%ڂ}.{[=|+-'~K/ 'sʩlw,9@}|]0Q.*K>\[ c%G}.y@a|.yU-Ż>&b&9pՍ};_%@-ܙT=;>v1Ӻט>,iڷ{+zZ?טܧ $ɏ%E \[ܳ'ӾO[J\^G^[t Xׄ.yU-O ~1>/sܳ'_KUKc|ewK-J\^AwL/sʩlzeWN.ō Ts<ܳ&=8=2~ߧE1{<]0ō2]ɚp2^~\(ݫs-7,3'gŘkek~=ld5?MDRIP  ' $(v8_* YHT@n\[%N lߒGM(-fJDҽ?r@r̟e}.yU-?"~lrgm` Omm#pi=ow0MQ'@NUK`P@Ù7$pUK`!3x?T ۅ[ p@ D@P>{/;WnPys'P?VOf?I*m_0hۅ1:* l"MQm([J.yU-uKcxlrgmo^bƄ=o}DӺ lߒG/1cA.4O\,oɒ kO|c%AX'sʶ|߸s4잷Řkd@&䨁f o*(0  T?H ~&䨁P2^^bl.  WM(J lܳ$P_~8_| 筧OP$UK`PN=nzvȹ߷筧O ~rT@;r/R\@@!U-@ :?o^bƂ]3p;yA., x-fHO^bƂ]0 I* ~>lrgm[Yy4,h%#&nXezvȹǐ?y*]0ō2]o"~9H@&䪝o UK` &䨁D@-$x@OnS-fK};z4葀d%D*}mdn[z4'~K%@tf=0͓%J^bƂ]1"i^XLo׾3K0z?KU ÙdF,[ r7%D߸s7?ӷR00P@!mU-B ߸s7I;yU-@!fܪB $ܕ8 KX-%}J*dv[tNRd8 lܳ'sʶ|-fK7"=:$`MQpUK`%o (u* zx'^B[P$@y tH v`e \%Tk2^טDBnJ(ytrb*ӅGu .rx8 W~@r7%T xW[ [ HrT@"[J ~ҒJH <\  'C)UK`%>o^bƂ]0 $cӾ=2}y*N~*U-[3ō>.\,o[/}}.~K/#Ϙdw*O*׿KeULu,oDA9pHʩl0404?/R8 ~@3x ?ӷR?po ʩl00`@h ~@"MQ( }ldKō2]`R2Dһ-ںtǧ8 X-%}J*J lܳ'sʶd)U-Z̗,o[ӶEu,h%#:4@&䨁v8_* Y`7p@ :R`N<@@ @ :N :NT Iנ ;z4葀o 0O0@!v]+46Yy:| UK`%=y tH0 ~&䨁 O9ɞ-.\򭭰}8_w^j'0OOq( N~̟ew$  ~rUN`Kq*A*``AI* ~T@<(%ߣ[/W|[/}W|HӾ=2}:)_,V4 ۔~rA#Xc%ѭц~6BzƬhOe?[sڷ*ζ2^^O*󭌗/-svh%ϫrטysʬ~5x'gʼ\?|[/}k>~=2{ƻV3K^><\[/}@<]dsW2vs<} ~jt۔|-fHO $Ӥ $"[J ~ҒJ@OnS-fKx  ' d%IQT}w΀x;r/R XKF@O=m:@J%m)$ $(v8_* Y ,h%#x  ' d%IQT}w΀x;r, Tk2^טD $zt$$KiDRIQQ:@H Pp`7R z4葁<[N2Dm(DT@5DD, N!I:K:[<葄%Dj1R^IABf"1,@,fK/ T=/LhFK/ zt ^@+QrLjTPPYLFK/!52b l^@xdRDDb"a tI`Q?pm$aI`QLjTPPYLFK/!52b fSePL ^BD@P1~\swÙ+[nW_YϒA5@*W((C,Q&#%Le \)Eb2YyfSe4PL ^BD@PHke06YyM1~]?Ù+_t r̦|^G?VO֗ ~eUL|^GѦ1R^IABf"1,@,fK/ T=/Lh@L ^@b(@$p 52,O$n0 52,Z@0,`lƛ!< hLB.n~̕쿯AfS>K/#ӟs'K\?y*>K/#d'Yy/B1R^IABf"1,@,fK/ T=/Lh@L ^@b(@$p 52,O$n0f"1,Cev};B};@fSe+PhL ^@xd'7d eDNПN1~]?Ù+_t92}ke3=92HK\,c9#v^׻I/ twiSP@P J 1Ie"fS2YyAzcB0,`lD^B ;aYe6B{,Q&#%Hl}ܢNxOhOhB0,`l%j@w \)lHl}ܢNxOhOhLB.n~̕쿯A[>52Yy[$.{͖QU1YyF!={DG~6/E>u0:K$.]0$ Q5@*W((C,Q&#%Le arQ/7d S zD@RFb1 <2tS\s}(XO ~VKgy|}iKA5@*W((C,Q&#%Le $PrZ @$,0HrZt@bytdw'g K\)% Iz.:cT|2Eb2YyY̖^@{^Ёs>bƁA=hj-۔a<ֆj0 5"V(v8XO5oxLB.̝.R_^b^dtSy*RYLjTPPYLFK/!52b .tX(9g [;r, 垴5nCV(\C)Оj1~]?:]ӱफ़ōy KeUL?*ܳ%_/$ D^B ke3%*4 \lPrZ @v8XB΀[ܑ+P;r, @!_ONqts<ɻlWeSʩlw,A5@*W((C,Q&#%Le :n+pֆNs$Jܧ ?W|;,n+w=m:}6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^ЁsA=hj-۔a>hB΀[ܑ+P;r,'Ӵ ?W|;,n+w=m:}6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^ЁsA=hj-۔`hB΀[ܑ+P;r, ?W|;,n+w=m:}6YET[2P@P J 1Ie"fS2YyAzcB΀[,pnS>a :n+rD@Pp`4'Ӵ @!_ONqts<ɻlWeSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB΀[,pnS>hB΀[ܑ+P;r, @bytdw'N?sK=|[Ne}.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4 \,pnS(\+P;r, @!_ONqts<e}.{͖QU0@r̔:cT|2Eb2YyY̖^@{^ЁsnֆNsnD@PpN1~]?:]ӱ\R_$n=m:}6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^ЁsnֆN (\+P;r,'Ӵ ?W|;,Fӧ_KeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le :FA=hj-۔`hB΀Q)C)1~]?:]ӱ\R_$n=m:}6YET[2P@P J 1Ie"fS2YyAzcB΀Q PrZ @v8X0snD@Pp`4'Ӵ @!_ONqts<e}.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4 \,pnS>hB΀Q)C)ПN`4 @!_ONqts<e}.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4 \ ֆNs׉C)bytdw'N?sK=}9i쯥y*RYLjTPPYLFK/!52b .tZ YCVhܧ PAkĉZ۔a>b1 <2tcफ़לWeSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB΂ ^A=hj-۔a>hB΂ ^$Jܧ @bytdw'N?sK=}9i쯥y*1c|Lo=(T;d+!b(D r̦dC؂Ƅ zոZ)0 H N +>N炖z ^sӧ_KeUL?*ܳ%_/$ D^B ke3%*4 \ ֆN v(\ D@Pp`4'Ӵ @!_ONqts<Z󞶝>\,`7dv+slUKcfJ1R^IABf"1,@,fK/ T=/Lh@Ak(9g [;r, @.tZ"V(v8X0 +>N炖z ^sӧ_KeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le :[ PrZ @v8XB΀k8D@Pp1~]?:]ӱ\R_8=m:}6YET[2P@P J 1Ie"fS2YyAzcB΀k8ֆNs%+P;r,'Ӵ @!_ONqts<%[Ne}.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4 \lA=hj-۔a>hB΀k8D@PpN`4 @!_ONqts<%[Ne}.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4 \lA=hj-۔`hB΀k8D@Pp`4 @!_ONqts<%[Ne}.{͖QU0@r̔:cT|2Eb2YyY̖^@{^Ёs%,pnS>a :[)C)ПN1~]?:]ӱ\R_8=m:}6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ёs%,pnS>hB΀k8D@Pp`4'Ӵ ?W|;,lӧ_KeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le :RzոZ)0 l$Jܧ @bytdw'N?R{픽͖QU1ʩl?r̞.Yy tƨJy%e$d\),P 1C*[;/%)PrZ @v8X0s-ԉZ۔`hLB.̝.[o}Z__y*9U-YӺK/ '%Ӷ}S},vN@KUKa_/$ D^B ke3%*4 \cmz,pnS(\cmz+P;r, @!_ONqts<myi쯥y*RYLjTPPYLFK/!52b .t1zոZ)};@.t1H N ˧'K:v9K Y6׼WeSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcBΆ6נPrZ @v8XOh0sD@PpN`4 @!_ONqts<myi쯥y*1c|Lo=(T;d+!b(D r̦dC؂Ƅ m@垴5np`4 !BCkԉZ۔`hLB.̝..x)g^ӧ_KeUL?*ܳ%_/$ D^B ke3%*4 \cmz,pnS>a :^Jܧ B};@bytdw'N?sK=|>\,`7dv+slUKcfJ1R^IABf"1,@,fK/ T=/Lh@ YCVhܧ B};A0 mR%jnS>hLB.̝..x)g^ӧ_KeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le : vA=hj-۔`a : vJܧ ?W|;,vȹzt+slT;d+!b(D r̦dC؂Ƅ @垴5npN0 R%jnSv+>N炖z;d\=m:}6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^ЁshֆN (\%ڑ+P;r,'Ӵ ?W|;,vȹzt+slX-%쯥y*9U-( tƨJy%e$d\),P 1A.(9g [;r, PK"V(v8X0 ˧'K:v9K YsWeSʩlw,A5@*W((C,Q&#%Le : vA=hj-۔`hOhB΂]C)ПN1~]?:]ӱ\R_l筧O=( ~ō2]\,cRYLjTPPYLFK/!52b .tzոZ)ПN`4 !BA.ԉZ۔`hOh0 ˧'K:v9K YsWeSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB΀=XֆNsn+P;r, @!_ONqts<n[Ne}.{͖QU0@r̔:cT|2Eb2YyY̖^@{^Ёsn,pnSv(\ۅJܧ ?W|;,ۅӧ_KeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le :`PrZ @v8XOh0sn+P;r,'Ӵ ?W|;,ۅӧ_KeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le :`PrZ @v8X0sn+P;r, ?W|;,ۅӧ_KeUL?*ܳ%_/$ D^B ke3%*4 \ۅA=hj-۔`hOhB΀=ZD@Pp`4'Ӵ @!_ONqts<n[Ne}.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4 \ۅA=hj-۔`hOh0sn+P;r, @bytdw'N?sK=}|WeSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB΀rAzոZ).tjD@Pp1~]?:]ӱ\R_A筧O=( ~UKcfJ1R^IABf"1,@,fK/ T=/Lh@H:YPrZ @v8XOhB΀rAH N ˧'K:v9K YH:YWeSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB΀rAzոZ)};A0 䃥+P;r,'Ӵ ?W|;,$,zt+slX-%쯥y*9U-( tƨJy%e$d\),P 1@9 fA=hj-۔`hB΀rAH N +>N炖zo=m:}6YET[2P@P J 1Ie"fS2YyAzcB΀rAzոZ)ПN0 䃥+P;r, ?W|;,$,zt+slX-%쯥y*9U-( tƨJy%e$d\),P 1@9 fA=hj-۔`hOh0stR%jnS>hLB.̝..x)g fӧ_KeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le :(9g [;r, Ph(ΤJܧ @bytdw'N?sKl(+sYy]:,OT@P J 1Ie"fS2YyAzcBΆ/ zt@.t6Yyӡ"V(LB.̝..x)쯥e +!b(D r̦dC؂Ƅ ^@xd slJ?W|;e}l+sYy tƨJy%e$d\),P 1C(9g [;r, !BCԉZ۔`b1 <2tcफ़7>\,`U-( tƨJy%e$d\),P 1C(9g [;r,'Ӵ !BCԉZ۔a>b1 <2tcफ़7>\,`7dv+slUKcfJ1R^IABf"1,@,fK/ T=/Lh@4 YCVhܧ @.t8H N +>N炖z˼zt+slX-%쯥y*9U-( tƨJy%e$d\),P 1C(9g [;r, P5"V(v8X0 ˧'K:v9K Y.yi쯥y*RYLjTPPYLFK/!52b .t8zոZ)ПN0 .R%jnS>b1 <2tcफ़7>\,`7dv+slUKcfJ1R^IABf"1,@,fK/ T=/Lh@4 YCVhܧ B};A0 .R%jnS>hLB.̝..x)g筧O=( ~ō2]\,cRYLjTPPYLFK/!52b .t: !BC\,`7dv+slUKcfJ1R^IABf"1,@,fK/ T=/Lh@p(9g [;r,'Ӵ PpZ۔a>hLB.̝..x)gr/>\,`7dv+slUKcfJ1R^IABf"1,@,fK/ T=/Lh@p(9g [;r, PpZ۔`hLB.̝..x)gr/>\,`U-( tƨJy%e$d\),P 1C)垴5np`4'Ӵ !BC)%jnS>b1 <2tcफ़pzt+slX-%쯥y*9U-( tƨJy%e$d\),P 1C)垴5np`4'Ӵ PpZ۔`hOh0 ˧'K:v9K Yܧ 筧O=( ~ō2]\,cRYLjTPPYLFK/!52b ZBKd8Cee$d 4 r̦/ ]RO2typs%|% :AIנeSܧo~:cT|2Eb2YyY̖^@{^Ї΀,pnSrZ @$,ОYCVh5oxB:,jD@PpK4' @!_ONq:y*8)g1c};osd_@nXUKa_/$ D^B ke3%*4!>bƁA=hj-۔`hO,prA 垴5nCV)>bƤJܧ Bx$,Оj1~]?:]|=(फ़ōϖɒ1cyU-:cT|2Eb2YyY̖^@{^Ї΀[,pnSn+pB:n+rD@PpMen?Wwοz7m>6YET[2P@P J 1Ie"fS2YyAzcB:n+pֆNɻla |lC)};By7m @!_ONq: YݶVztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:n+pֆN n+pB:n+rD@PpN`4'v[bytdwफ़Men筧Om.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4!A=hj-۔`hO&)$Jܧ By7m @!_ONq: YݶVztveSʩlw,A5@*W((C,Q&#%Le |lPrZ @v8X0ɻla |lC)ПNОMen?Wwοz7m>6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ї΀[,pnS>hO&)$Jܧ B};AОMen?Wwοz7m>6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ї΀Q PrZ @v8XO$nB:FJܧ ?Wwοz#vyiKeUL?*ܳ%_/$ D^B ke3%*4!nֆN΀Q)C)};By#v@bytdwफ़HݞztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:FA=hj-۔a>hO$nB:FJܧ By#v@bytdwफ़HݞztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:FA=hj-۔`hO$nB:FJܧ By#v@bytdwफ़HݞztveSʩlw,A5@*W((C,Q&#%Le |,pnS>< a |+P;r, ?Wwοz#vyiKeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le |,pnS>hO$nB:FJܧ B};AОHݐ1~]?:]|)g7g>6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ї΂ ^A=hj-۔a=AkĉZ۔a=bytdwफ़לy*RYLjTPPYLFK/!52b Ak(9g [;r,'Ӵ'B:-x+P;r,'Ӵ'LB.̝.u|Z󞶝>6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ї΂ ^A=hj-۔a>hOak0>tZ"V(v8XOh0Z @!_ONq: Y-y[NN\,`7dv+slUKcfJ1R^IABf"1,@,fK/ T=/LhCA垴5np`4'B:-x+P;r, -x ˧'K_,筧Om.{͖QU0@r̔:cT|2Eb2YyY̖^@{^Ї΂ ^A=hj-۔`hOhOak0>tZ"V(v8X0Z @!_ONq: Y-y[NN\,`7dv+slUKcfJ1R^IABf"1,@,fK/ T=/LhCA垴5np`4'Ӵ -x΂ ^$Jܧ B};AО׀b1 <2tR_akztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:[ PrZ @v8XO8B:[)C)|YĶ@bytdwफ़q-ztveSʩlw,A5@*W((C,Q&#%Le |lA=hj-۔a>>,[ a |lJܧ g?WwοzYĶyiKeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le |lA=hj-۔a>hO8B:[)C)};AПq-1~]?:]|)gŜKg>6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ї΀k8ֆN l)%+P;r, g?WwοzYĶyiKeUL?*ܳ%_/$ D^B ke3%*4!%,pnS>>,[ a |lJܧ B};B|YĶ@bytdwफ़q-ztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:[ PrZ @v8X0 l)%+P;r, B|YĶ@bytdwफ़q-ztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:^A=hj-۔a< !O mR%jnSk1~]?:]|)g^ӧӶ=( ~UKcfJ1R^IABf"1,@,fK/ T=/LhCCk(9g [;r,'Ӵ'^)󡍵D@PpNОSmz ˧'K_,kztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:^A=hj-۔a>hO)SCkԉZ۔a>hO)?WwοzM=m:};oslX-%쯥y*9U-( tƨJy%e$d\),P 1 m@垴5np`4'^)󡍵D@Pp`4'^+;_K=|>6YET[2P@P J 1Ie"fS2YyAzcB:^A=hj-۔`hOhO)SCkԉZ۔`hOhO)?WwοzM=m:};oslX-%쯥y*9U-( tƨJy%e$d\),P 1 m@垴5np`4'Ӵ 6נa |cmz+P;r, ByMLB.̝.u|myiKeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le |%մ/)VBt"V(LB.̝.umoVʩlsӥ,:cT|2Eb2YyY̖^@{^Ї΂]PrZ @v8XOhB: vJܧ ?Wwοz;d\=m:};oslT;d+!b(D r̦dC؂Ƅ>tzոZ)};B};@K"V(v8XOhOhLB.̝.u|"9iKeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le |%,pnSv>a |%ڑ+P;r,'Ӵ ?Wwοz;d\=m:};oslX-%쯥y*9U-( tƨJy%e$d\),P 1@垴5np`4'Ӵ !OR%jnS>b1 <2tR_l筧Om.{͖QU0@r̔:cT|2Eb2YyY̖^@{^Ї΂]PrZ @v8X0΂]C)ПNПN1~]?:]|)gӶEsӧӶ=( ~ō2]\,cRYLjTPPYLFK/!52b K YCVhܧ B};AПN0>tH N v>b1 <2tR_l筧Om.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4!n,pnSvۅ)n+P;r,'Ӵ', @!_ONq: Y 筧Om.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4!n,pnSv=`a |ۅJܧ B{mbytdwफ़pztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:`PrZ @v8XOmXB:iC){mbytdwफ़pztveSʩlw,A5@*W((C,Q&#%Le |ۅA=hj-۔`hOhOmXB:iC)ПNОp1~]?:]|)g/>6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ї΀=XֆN v=`a |ۅJܧ B};AОp1~]?:]|)g/>6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ї΀=XֆN ۅ)n+P;r, ?WwοzmiKeUL?*ܳ%_/$ D^B ke3%*4!t@垴5npNОYCVh䃥΀rAH N9 f+;_K=~K7>6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ї΀rAzոZ)};AОYCVh䃥΀rAH N H:Yb1 <2tR_A筧Om.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4!t@垴5npYCVh䃥΀rAH N9 f+;_K=~K7>6YET[2P@P J 1Ie"fS2YyAzcB:K4 YCVhܧ B};Bx9g [hB:K5"V(v8X09 f+;_K=~K7>6YET,oɒWeSr̔:cT|2Eb2YyY̖^@{^Ї΀rAzոZ)ПN`4'zոZ9 f)tR%jnS>hO䃥 ˧'K_,$,ztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:K4 YCVhܧ Bx9g [hB:K5"V(v8X09 f+;_K=~K7>6YET[2P@P J 1Ie"fS2YyAzcB:,b(@$6YyM0>t6YyMZe6@bytdw\^GѦ*tA5@*W((C,Q&#%Le |qw,pnSvya |qw+P;r,'Ӵ'?Wwοz˼ztveSט[&K_KeULr[2P@P J 1Ie"fS2YyAzcB:]A=hj-۔a>hOyw·yC)};AО4 @!_ONq: Y.yiKeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le |qw,pnSya |qw+P;r,'?Wwοz˼ztveSʩlw,A5@*W((C,Q&#%Le |qw,pnS>=hB:]Jܧ B};B{˼1~]?:]|)g筧Om.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4!hֆN v=hB:]Jܧ B};AО4 @!_ONq: Y.yiKeUL?^bl.e}.{͖QU1ʩlw,A5@*W((C,Q&#%Le |qw,pnS=hB:]Jܧ B{˼1~]?:]|)g筧Om.{͖QU0@r̔:cT|2Eb2YyY̖^@{^Ї·nSA=hj-۔a><ֆN·nSJܧ ۔`b1 <2tR_~8_=m:};oslX-%쯥y*9U-( tƨJy%e$d\),P 1ܧ zոZ)};AОYCVhܧ SC)%jnSv<;r, @!_ONq: Yܧ 筧Om.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4!۔`PrZ @v8XO,pnS)۔iC)xv8XLB.̝.u|߹N[NN\,`U-( tƨJy%e$d\),P 1ܧ zոZ)ПNОYCVhܧ SC)%jnS><;r, @!_ONq: Yܧ 筧Om.{͖QU0@yd}6YET*ܳ%_/$ D^B ke3%*4!۔`PrZ @v8X0 rZ @v8XB:N+P;r, Bxv8XLB.̝.u|߹N[NN\,`7dv+slUKcfJ1R^IABf"1,@,fK/ T=/LhCC)垴5np`4'zոZ)pZ۔`hOܧ ?Wwοz)iKeUL?*ܳ%0:Wܳ$(AY-RDDI, ^Rl$Ҿ!B2YyMB+Qdƛ"$:MQrY+!b(E-`ke3%MP 1!@@0,`lƛ)|^@xdQI* tfHP^@!I:IVK/ zt HT@7%Dfzv^@@nJ+Y!ͼx$J@/n~ǐ:Du:Wܳ$(@L ^@$J@_r̐ke06YyP0$J@%@ke06Yy J&䨁{,َfSe:DL5Db˟Rn[s6%{/w Ѿ[>52Yy tHj+Y  r̦/ 1Ie hL ^@xd !I:IPL ^BDI* ~iĶ0,`l_/$ D^B)n\),lh fSe4Hƛ bHrT@醨LBytsfvde}52Yy[<Z_͖QU1YyF( t1 L5DWI* ř;8:D+ƛ<Ѧϲ?%"aH:DT@_r̐ke06YyVYLFK/!@0,`lƛ!< hB%j t 52,%DrT@Ӊm3aYeR^IABf"1,R6fS2Yy4b +lB 4 r̦/ Q'l"VܢNxIӅr|Im q7E> 8vdn _/$ D^B2Yy1nոT=/Lh@EPl2Mڷ$J@nJ0?W.n~̕쿯A[>52Yy[$.{͖QU1Yy/ $헄;y~) t1 L5DWI* ř;8:D+ƛ<Ѧϲ?%+7eerF$1 $={De}.~K/#Yq<Ջ襸'ΰ +WN)ϲ|'sYyN֗N $n^b^p}iKAb%)ϲ|*sYy~K/#˦?/sYy@tI*E> 8vdn LBysYq׻I/ peO筵 LjIPyy`$tPPYLFK/!,7j*4 V٢(6Yyc&[%j LB]4O;,ُe8_%{Ve}.~K/!DT1 tҾ!B0,`lD^B ;aYe6B{,Q&#%Hl}ܢNxOhOhB%j t 52,%DrT@Ӊm3aYeR^IABf"1,R6fS2Yy4b +lB 4 r̦/ ud?!]pQO7.}S~9?KȺs>q.y#vz7RcK\^Bз.QO7.}SyWKYy]0O>`~7-Keƫx"IW-mYK,c$ݫqb˟$헄^m8_|^ڄ?5]$<{JW((C,Q&#%^Ddnb +lB,v?!\.vOlǃ/sْw?%"aH:DT@_r̐Np H^)%D$w t, tfHP,@)#vA0$J@%L.X 7eJ&䨁g&v,@)#v~ n1I* tT@!\<2tS\s}(XO ~VKgy|}iKGIK9[&K{V.X-{ X Ik=zY+sYyξU K/ 'war?HRsnztj)0?5]$/dJHݗ<=yʼ\^BT:v9t%DWK.%[JDU该$n^byի%ʼ ~sK\^@eĨ,{AcUJ9Q/I* LBW((C,Q&#%^@{^І,@)#vA00`(ݗJݍ[Ҿ^IABf"1,dC؂Ƅ 4P/!"V"aH:DT@_r̐ YCVh䃥Z$@פI* tKi 9mxoAbHrT@醨LBytdw'g K\)% Iz.:MQ&ƫ̝x"IQbwysJ2}o֗ }aAcUJgN<$1 eīpH\JYϒz̞.}g.@,R%z\>( LjIP>s*%t%DWJy%e$db  Ik垴5nH:Ya $zwcVPPYLFK/!,P 1!AHHj&!D0:Wܳ$(@1c@垴5np`4'zոZ [Z$\J&䨁g䃥΀ܧ Tk2^ ?!{,mlJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZ"MQ1 |; YX̗np6YET[2P@5DbjT2vqt%DW* YppōjK/WRAbfnhxg._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y \PrZ @v8XO,p !I:IP1cR$:MQN%K74 Nʩld?!{,mlJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZ"MQ1 |; YX̗np6YET[2P@5DbjT2vqt%DW* Yn\,WRAbfnhxg._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y \lPrZ @v8X0Z$\lJ&䨁g&qsC)U-Z̗oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deոqnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐@-enzոZ)ПN`4 !I:IP v[$:MQN%Men@-ennS[/BHN޼ō$`0^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONqts<ɻlWeSט[&K_KeULr[2P@5DbjT2vqt%DW* YppōjK/WRAbטD7o^b[tp^btS*^ƫΝx"IQb˞ YݶVzt+sט[&K_KUKaWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(@ v[垴5np`4'Ӵ !I:IP v[$:MQN%Men@-ennS[/BHN޼ō$`y`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]ӱ\R_&sӧ_KeUL?^bl.e}.{͖QU1ʩlw,A?Ra LjIP^,ǁ$?!\-fK ÷)7ݫS.{d_KUKaW^bƂ]3XN[N?5]$6tsJ\R_&sӧ_Kō2]\[ LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deոqn6f2Mڷ$J@nJ0?W.̝..x)gv[i쯥y*RYI T@tYI* LBU-Z̞pfO<T:v9t%DW.x)gv[i쯥*ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y \lPrZ @v8XOh0Z$\lJ&䨁g&qsC)U-Z̐ӷ1cA. Jy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ"MQ1 |;,n+w=m:}6YET,oɒWeSr̔:MQ&ƫ̝x"IQbʩld=2}T@u,h%#8 ט]:/sטʗ1%AcHT@p炖z7m>\,oɒWRAcUJ$|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$J@peSr̟/2 LjIPyy`$tPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH1 ?)tӲ}?f<}V?5]$<{JW((C,Q&#%^C->9mHIVP 1!A[}[qn6f2Mڷ$J@nJ0?W.̝..x)gv[i쯥y*1c|Lo=(T;dj)0?5]$/dJUK`'qnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐@(ݐ(9g [;r, RDDT.tHT@7%D89#vx 7d Nʩld }/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:FA=hj-۔`hOh0Z$\$nJq-rFsn;r/Rx0@טD@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp>N炖z#vyi쯥y*1c|Lo=(T;dj)0?5]$/dJUK`%۔}ynө=2_쯥*+1cA.oN޼ōjKōTWI* ;:D+<e}.z7dv+sʩl 1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:FA=hj-۔`hOhB%j tsnDI* ~iĶ΀Q PpUK`%hIo^bƂ]0 {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝..x)g7g>\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LB4葜>btHzt1%AcHT@p炖z#vyi쯥^bl.e}.yU-?5]$<{JW((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDDW.{͖QU1ʩlw,r#)ƫx"IWJy%e$deոNɑv¡AzcBm(Be8.vHXIVZM;'N6cNn>qnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐@(ݐ(9g [;r, !I:IP 7e"IQܕ?4[L@(ݐ(v8_* Y^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONqts<e}.{͖QU0@r̔:MQ&ƫ̝x"IQbʩld=2}T@tӱI* LBysK=|9mHIVP 1!A[}[9mHIVP 1!A[}[._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y \,pnSv)"VI*:FI* tKi<\ܧ Tk2BH;z4葀oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deո.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:-x,pnSa HJ΂ ^$I* tKi8Ak(v8_* Y`4 {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝..x)g=m:}6YET[2P@5DbjT2vqt%DW* YppōjK/WRAcUJgN<$1 ,筧O<T^X=t%]+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"V+=(T;duAcUJ$|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDDWK'e1 8 1%AHUҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHPs׀PrZ @v8X0 )"VI*:-x$nJq-vA۔|-fKВN޼ō$`0^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONqts<Z󞶝>\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LB4葜XvNXNeK@tӱI* LBysK=}9i쯥^bl.e}.yU-?5]$<{JW((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDDW.{͖QU1ʩlw,r#)ƫx"IWJy%e$deոNɑv¡AzcBm(Be8.vHXIVZM;'N6cNn>qnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐A垴5np`4'Ӵ !I:IPAkĉ%DrT@Ӊm3:-xܧ Tk2^ ?v,h%#K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp>N炖z ^sӧ_KeUL?^bl.e}.{͖QU1ʩlw,A?Ra LjIP^,ǁ$?!\-fK ÷)7ݫS.{d_KUKaW^bƂ]3XN[N?5]$6tsJ\R_akzt+sט[&K_KUKaWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(@Ak(9g [;r, !I:IPAkĉ%DrT@Ӊm3:-xܧ Tk2@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp>N炖z ^sӧ_KeUL?*ܳ%T@!I1%@!x'gHT@r[<r̟e}.yU-?5]$6tsJ\R_akzt+sʩl 1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:-x,pnSva HJ΂ ^$I* tKi8Ak(v8_* Y@טD@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp>N炖z ^sӧ_KeUL?^bl.e}.{͖QU1ʩlw,A?Ra LjIP^,ǁ$?!\-fOysܳ'_KUKaW^bƂ]3ޝynө=yLzT:v9t%DW.x)g=m:}X-%쯥*ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y \ ֆNZ$\ DI* ~iĶZnS[!$y tH7_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀vPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+QI* tT@!\<2tcफ़לWeSט[&K_KeULr[2P@5DbjT2vqt%DW* Yn\,WRAbטD77ӢFsӥWI* ;:D+<Z󞶝>\,oɒWRAcUJ$|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$J@peSr̟/2 LjIPyy`$tPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH1 ?)tӲ}?f<}V?5]$<{JW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp>N炖zYĶyi쯥y*RYI T@tYI* LBU-Z̗nS,oeWN \,<T:v9t%DW.x)gŜKg>\[ LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deոqn6f2Mڷ$J@nJ0?W.̝..x)gŜKg>\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LB4葜XvNXNeK@tӱI* LBysK=~,[qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHPs%,pnS>a HJ΀k8DI* ~iĶ%΀k8;r/Rx0@y tH7_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀vPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+QI* tT@!\<2tcफ़q-zt+slX-%쯥y*9U-( t1 L5DWI* ř;8:D+Rv8_^b[tpr̗+sʩl 1 XKFp#9i҂ƫΝx"IQb˞ Yg筧O=yd}T@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B q-(9g [;r, !I:IP gHT@7%D8qnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐@5Kd YCVhܧ @+Q q-%DrT@Ӊm3ŜKgq-(v8_* Y@y tH`4 {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝..x)gŜKg>\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2x ˞>\[ LB4葜XvNXNeK@tӱI* LBysK=~,[qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHPs%,pnSv)"VI*:[)J&䨁g8:[ PpUK`$$;z4葀oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deո.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:RzոZ)0$J@%BC*[ J&䨁gJy%e$dKpҪ[AzcBm(B ;T%jC*[PpUK`%hy`PPYLFK/!,[*tHIVP 1!A lC,@XIVZ"MQ1 |;UKcRcK6YET*@2x>w_e j)0?5]$/dJUK`%r̟e}.yU-?5]$6tsJ\[{6YET*ܳ%WI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~Hj&!D0:Wܳ$(@ʖ vr|ֆN )"VI*:R!y.QOHT@7%D8:W((C,Q&#%[X{^Ё[fʖ^"V.t2B]:ܧ Tk2^ Jy%e$d*ҬDdnb +lB,ʖ.2tdnH$ܕ:a ]?:]ӱT:e/f8>eULr[ܳ'Ku^@O[sKl(+sYy]:,<&LB QcUJBfN<$1 Tk2_n\,WRAcUJgN<$1 *%좟:ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@L5IHj+Y \cmz,pnSa HJΆ6שJ&䨁g)Ck(v8_* Y`4 {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝..x)g^ӧ_KeUL?*ܳ%T@!I1%@!x'gHT@r[/7ܧ XvNYe}.yU-?5]$6tsJ\R_)筧O<T^X=t%]+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"V+=(T;duAcUJ$|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDDWK'e1 8 1%AHUҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHPsֆN va HJΆ6שJ&䨁g)Ck(v8_* Y`4$N޼ō$`0^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONqts<myi쯥y*1c|Lo=(T;dj)0?5]$/dJUK`%۔}ynө=2_쯥*+1cA.oN޼ōjKōTWI* ;:D+<myi쯥^bl.e}.yU-?5]$<{JW((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDDW.{͖QU1ʩlw,r#)ƫx"IWJy%e$deոNɑv¡AzcBm(Be8.vHXIVZM;'N6cNn>qnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐Ck(9g [;r, RDDT.t1HT@7%D89M:^C)U-Z̗$v,h%#K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp>N炖zM=m:}6YET,oɒWeSr̔:MQ&ƫ̝x"IQbʩld;r/1c{-ںu8_fKT@u,h%#8 |ō葜AcUJgN<$1 ,kzt+sט[&K_KUKaWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(@ YCVhܧ RDDT.t1HT@7%D89M:^C)U-Z̐7_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀vPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+QI* tT@!\<2tcफ़Sm{[Ne}.{͖QU0@r̔:MQ&ƫ̝x"IQbʩld=2}T@tӱI* LBysK=|>\[ LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deո.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:^A=hj-۔a>a HJΆ6שJ&䨁g)Ck(v8_* Y@o^bƂ]0 {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝..x)g^ӧ_KeUL?^bl.e}.{͖QU1ʩlw,A?Ra LjIP^,ǁ$?!\-fOysܳ'_KUKaW^bƂ]3XN[N?5]$6tsJ\R_)筧O=yd}T@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B @垴5np`4 !I:IPK"IQܕ?4[LA.(v8_* Y`4 {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝..x)gӶEsӧ_KeUL?*ܳ%T@!I1%@!x'gHT@r[/7ܧ XvNYe}.yU-?5]$6tsJ\R_o=m:}T@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B @垴5np`4'Ӵ RDDT.tHT@7%D8=;xK Nʩld ;z4葀hy`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]ӱ\R_l筧O=( ~ō2]\,cRYI T@tYI* LBU-Z̗nS,oeWN \,<ō$g;z7ݫS.z7ӢR?5]$6tsJ\R_o=m:}X-%쯥*ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y \%,pnS>a HJ΂]J&䨁go: vC)U-Z̗$o^bƂ]0 {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝..x)gӶEsӧ_KeUL?^bl.e}.{͖QU1ʩlw,A?Ra LjIP^,ǁ$?!\-fK ÷)7ݫS.{d_KUKaW^bƂ]3XN[N?5]$6tsJ\R_o=m:}X-%쯥*ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y \%,pnS)"VI*: vI* tKi\%ܧ Tk2@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp>N炖z;d\=m:}6YET[2P@5DbjT2vqt%DW* Yn\,WRAcUJgN<$1 ,vӧ_KUKaWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(@K YCVhܧ @+Q R$:MQN%N.tnS[!$o^bƂ]0 }/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[ޟ{ql$o􉆩"b@ Q}2B @垴5npN0$J@%BA.ԉ%DrT@Ӊm3ӷ@۔|-fHIטD}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:`PrZ @v8X0Z$\ۅI* tKi|\ۅC)U-Z̗oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deոqnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐@, YCVhܧ B};A0$J@%B@-"IQܕ?4[L @, Nʩld XKFoҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deոޟ{ql$o􉆩"b@ Q}2B {p(9g [;r, RDDT.t$:MQN%p.t۔|-fKВN޼ō$`y`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]ӱ\R_m_=m:}6YET,oɒWeSr̔:MQ&ƫ̝x"IQbʩld;r/1c{-ںu8_fKT@u,h%#8 |ō葜AcUJgN<$1 ,ۅӧ_Kō2]\[ LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deոqn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHPsn,pnSva HJ΀=ZDI* ~iĶn΀=X;r/R XKFoҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deոޟ{ql$o􉆩"b@ Q}2B {p(9g [;r,'Ӵ !I:IP HT@7%D8;m nS[!$y tH7_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀vPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+QI* tT@!\<2tcफ़pzt+slX-%쯥y*9U-( t1 L5DWI* ř;8:D+R7.{d+sʩl 1 XKFp#9i҂ƫΝx"IQb˞ Y 筧O=yd}T@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B 䃥,pnSa HJ΀rAHT@7%D88$,.th;r/Rx0^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONqts<tyi쯥y*RYI T@tYI* LBU-Z̗nS,oeWN \,<T:v9t%DW.x)g fӧ_KUKaWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(@H:YPrZ @v8X0 )"VI*:K5"IQܕ?4[LtxH:YPpUK`%hIv,h%#7_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀vPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+QI* tT@!\<2tcफ़d[Ne}.{͖QU0@yd}6YET*ܳ%T@!I1%@!x'gHT@r[/7ܧ XvNYe}.yU-?!]y tHzv,oeWN \,oE2 LjIPl$?!\<फ़d[Ne}.z7dv+sʩl 1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:K4 YCVhܧ B};@+Q 䃥$nJq-pH:Y\$,(v8_* Y`4$;z4葀oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deո\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LB4葜>btHzt1%AcHT@p炖zo=m:}X-%쯥*ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y \$,(9g [;r, !I:IPH:YJ&䨁g䃥΀rAnS[ oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deո\,`U-( t1 L5DWI* ř;8:D+R7.{d+sʩl 1%AcHT@p炖zo=m:}T@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B 䃥,pnSva HJ΀rAHT@7%D88$,.th;r/R N޼ō$`0^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONqts<tyi쯥y*1c|Lo=(T;dj)0?5]$/dJUK`'qnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐@9 fA=hj-۔a>a HJ΀rAHT@7%D88$,.th;r/R N޼ō$`y`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]ӱ\R_A筧O=( ~ō2]\,cRYI T@tYI* LBU-Z̞pfO<ō$g3( LjIPl$?!\<फ़d[Ne}.z7dv+sʩl 1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:(9g [;r, RDDT.t/%)J&䨁go:(v8_* Y`4 {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDD&䨁 Qp>N笗NQOW;-ںu8Y.ʩl j)0?5]$/dJUK`%r̟e}.yU-?5]$6tsJ\WQOWRAcUJ$|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$J@peSr̟/2 &QL5D, .t6YyӠ Z$\lBDI* ~iĶΆ/ zt@&䨁 Qp>N"\^B&LB QcUJgN<$1 E:=,~ >>\򭭰}8_=m:^ ~m),"Yq*H҈T !``aCB4$K.%IQ\JA 8p  p ,$KiDRYq*   @ (4,@2DT-?Hƫs2^HT@tPPYLFK/!,P 1Ce=:a :,Б+Wv5oJy%e$db +lB,Z􉆩"b@ Q}2B ^@xd Z$\lƛ)J&䨁gJy%e$dY,lh / 9mHIVP 1!A[}[CqlXIVZ"MQ1 |;,yWeSט[&K_KeULr[2P@5DbjT2vqt%DW* YppōjK/WRAbטD7o^b[tp^btS*^ƫΝx"IQb˞ Y.yi쯥^bl.e}.yU-?5]$<{JW((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDDW.{͖QU1ʩlw,r#)ƫx"IWJy%e$deոNɑv¡AzcBm(Be8.vHXIVZM;'N6cNn>qnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐C(9g [;r, RDDT.t8HT@7%D8;˼.t8nS[/BHXKFJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ"MQ1 |;,yWeSט[&K_KeULr[2P@5DbjT2vqt%DW* YppōjK/WRAbטD77ӢFsӥWI* ;:D+<]ӧ_Kō2]\[ LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deո9mHIVP 1!A[}[qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHPshֆN )"VI*:]I* tKio:]C)U-Z̐;z4葀hy`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]ӱ\R_yw[Ne}.{͖QU0@yd}6YET*ܳ%T@!I1%@!x'gHT@r[<r̟e}.yU-?!]y tHzv,oeWN \,oE2 LjIPl$?!\<फ़7>\,oɒWRAcUJ$|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$J@peSr̟/2 LjIPyy`$tPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH1 ?)tӲ}?f<}V?5]$<{JW((C,Q&#%^C->9mHIVP 1!A[}[\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2x ˞>\[ LB4葜>btHzt1%AcHT@p炖z˼zt+sט[&K_KUKaWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(@ P0$J@%BCqn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONqts<߹N[Ne}.{͖QU0@r̔:MQ&ƫ̝x"IQbʩld;r/1c{-ںu8_fKT@tӱI* LBysK=}|WRAcUJ$|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$J@peSr̟/2 LjIPyy`$tPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH1 ?)tӲ}?f<}V?5]$<{JW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp>N炖z)i쯥y*1c|Lo=(T;dj)0?5]$/dJUK`%۔}ynө=2_쯥*+1cA.oN޼ōjKōTWI* ;:D+<߹N[Ne}.z7dv+sʩl 1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd:N,pnS>a HJ·nSI* tKi;r/ܧ nS[/BHӷ1cA.^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONqts<߹N[Ne}.{͖QU0@yd}6YET*ܳ%T@!I1%@!x'gHT@r[/7ܧ XvNYe}.yU-?!]y tHp1c}:$g=m:P@tӱI* LBysK=}|W1c|Lo<T^X=t%]+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"V+=(T;duAcUJ$|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDDWK'e1 8 1%AHUҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHPs۔`PrZ @v8XB%j ts۔iJ&䨁gܧ C)۔|-fHy`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]ӱ\R_~8_=m:}6YET[2P@5DbjT2vqt%DW* Yn\,WRAcUJgN<$1 ,Sӧ_KUKaWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(@p(9g [;r,'Ӵ RDDT.t;r-"IQܕ?4[L۔|\v8X;r/R N޼ō$`0^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONqts<߹N[Ne}.{͖QU0@yd}6YET*ܳ%T@!I1%@!x'gHT@r[<r̟e}.yU-?!]y tHzv,oeWN \,oE2 LjIPl$?!\<फ़pzt+sט[&K_KUKaWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(@p(9g [;r,'Ӵ !I:IPp%DrT@Ӊm3nSs۔`PpUK`$$;z4葀oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deո.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd-o!yK%q!Eb2YyfSe4RDDTZBKd8Ce$nJ͘ݶVZBKd8CeJy%e$dKpLehdT=/Lh@EP$p 52,D_%4:DL5Db˧'K;8e:_Η9YyMv )d{e,j)0?5]$/dJl?F>\^BT:v9t%DWK.%[JDU该e}l[to=yK%.Oe<?K.%E-eīޗ8􉆩"b@ Q}2B(9ghNYa HJvDI* ~iĶϺnS>#)+3rV`$ܕ:a ]?-˪\Nq7.dxbc8'^H8@ :?\,cܕI T@tYI* LB%fp=>l.~K/#@L5IHj+Y!>bƁA=hj-۔`hO,prA 垴5nCV)"VI*|J&䨁g>;@|ōnS[/BH䃥[N [fnhxd {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@nJ0?W.̝.uKeULpR_^bvdv\ט&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LBin\R_^b?!]av6x ˞jdM|i=av?Ѧϲ=yɚp,rgpH:Yd?5]$6tsJ\R_^b^dtS*ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y!>bƁA=hj-۔a<ֆK4'zոZ [Z$>bƤI* tKi4 Nʩld?K7!$6.y`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(C@-enzոZ)ПN`4'v[+Q>tݶV%DrT@Ӊm3uC)U-Z̗$N޼ō$`0@ݶVztJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ"MQ1 wοz7m>6YET,oɒWeSr̔:MQ&ƫ̝x"IQbʩld;r/1c{-ںu8_fKT@u,h%#8 ט]:/sטʗ1 筧Oysɻl} LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deոqn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=|[NN\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LB4葜>btHzt1 筧Oysɻl} LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deո9mHIVP 1!A[}[.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|lPrZ @v8XOh0ɻla HJ:n+rDI* ~iĶϺ v[۔|-fHIӷ1cA. ?7m oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deոqn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHP΀[,pnSvn+pB%j t΀[ܑ$nJq-stݶV(v8_* Y@XKF?7m oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deոqnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐m YCVhܧ ݶV0$J@%Om"IQܕ?4[LG|lPpUK`$$ɻl}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|,pnS>hO$nB%j t΀Q)J&䨁g>;@(ݐ(v8_* Y`4$ӷ1cA. ?FӤ {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝.u|N\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LB4葜XvNXNeK@sӧ<筧OAcUJ$|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$J@peSr̟/2 LjIPyy`$tPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH1 ?)tӲ}?f<}V?5]$<{JW((C,Q&#%^C->9mHIVP 1!A[}[tHT@7%D89Q:FC)U-Z̗$<}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|,pnS>< a HJ:FI* tKiv@۔|-fKВN޼ō$`I$n=m:@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=|qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deոhO$nB%j t΀Q)J&䨁g>;@(ݐ(v8_* Y@טDBH#vyi^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONq: Y筧Om.{͖QU0@yd}6YET*ܳ%T@!I1%@!x'gHT@r[<r̟e}.yU-?!]y tHzv,oeWN \,oE2 LBin\FӧΠ1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|,pnSF쁄)"VI*|$nJq-stnS[!$<}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[\[ LBin\FӧΠ1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|,pnSvF쁄)"VI*|$nJq-stnS[!$y tHHݞztJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ"MQ1 wοz#vyiKeUL?^bl.e}.{͖QU1ʩlw,A?Ra LjIP^,ǁ$?!\-fOysܳ'_KUKaW^bƂ]3XN[N?!\7.y#vyiP@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B>tZ YCVhܧ B};AО׀a HJ:-x$nJq-stZ Nʩld XKF$9i^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONq: Y-y[NN\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LB4葜XvNXNeK@sӧ<-y[N:ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y!׀PrZ @v8X0Z !I:ISA$:MQN%}w΂ ^C)U-Z̗$9i^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONq: Y-y[NN\,`U-( t1 L5DWI* ř;8:D+Rv8_^b[tpr̗+sʩl 1 筧OysZ󞶝?ouWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(CA垴5np`4'Ӵ'B%j t΂ ^$I* tKinS[/BH;z4葁$9i^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONq: Y-y[NN\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LB4葜>btHzt1 筧OysZ󞶝?ouWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(CA垴5npN`4'B%j t΂ ^$I* tKinS[!$y tH`4$=m:@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=}9iKeUL?^bl.e}.{͖QU1ʩlw,A?Ra LjIP^,ǁ$?!\-fOysܳ'_KUKaW^bƂ]3ޝynө=yLzzt=9iP@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B>tZ YCVhܧ -xZ$׉J&䨁g>;A۔|-fHIakztJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ"MQ1 wοz ^sӧӶ=( ~UKcfJ&LB QcUJBfN<$1 Tk2x ˞>\[ LBin\筧OAcUJ$|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$J@peSr̟/2 LjIPyy`$tPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH1 ?)tӲ}?f<}V?5]$<{JW((C,Q&#%^C->9mHIVP 1!A[}[9mHIVP 1!A[}[._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y!%,pnS>hO8B%j t΀k8DI* ~iĶϺ gnS[/BHXKF$lӤ {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝.u|%[NN\,`7dv+slUKcfJ&LB QcUJBfN<$1 Tk2_nNט]:/sܳ%\[ LB4葜XvNXNeK@sӧ9mHIVP 1!A[}[qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHP΀k8ֆN vl)"VI*|lI* tKiq-(v8_* Y`4$N޼ō$`I,[<}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|lA=hj-۔a>hO8B%j t΀k8DI* ~iĶϺ gnS[!$v,h%#ВYĶyi^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONq: Yg筧Om.{͖QU0@yd}6YET*ܳ%T@!I1%@!x'gHT@r[<r̟e}.yU-?!]y tHzv,oeWN \,oE2 LBin\lӧΠ1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|lA=hj-۔a>,[ a HJ:[)J&䨁g>;@5Kd Nʩld?%[N7_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀vPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+QI* tT@!\<2tR_8=m:};oslT;dj)0?5]$/dJUK`'qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHP΀k8ֆN%Z$%$nJq-stYĶ@۔|-fHIy tHYĶyi^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONq: Yg筧Om.{͖QU0@yd}6YET*ܳ%T@!I1%@!x'gHT@r[<r̟e}.yU-?!]y tHp1c}:$g=m:P@sӧ9mHIVP 1!A[}[CqlXIVZ"MQ1 wοzM=m:};oslX-%쯥y*9U-( t1 L5DWI* ř;8:D+Rv8_^b[tpr̗+sʩl 1 XKFpӷ1c{-ںu8_1c}:)/Ab[Np^ӧΠ1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|cmz,pnS< !I:ISCkԉ%DrT@Ӊm3u󡍵;r/Rx0@M=m:@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=|>6YET[2P@5DbjT2vqt%DW* YppōjK/WRAb[Np^ӧΠ1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|cmz,pnS>< !I:ISCkԉ%DrT@Ӊm3u󡍵;r/Rx0@;z4葁$^Ӥ {W((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDA=+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j _/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@nJ0?W.̝.u|myiKeUL?^bl.e}.{͖QU1ʩlw,A?Ra LjIP^,ǁ$?!\-fK ÷)7ݫS.{d_KUKaW^bƂ]3XN[N?!\7.yM=m:~|T^X=t%]+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"V+=(T;duAcUJ$|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDDWK'e1 8 1%AHUҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHPΆ6נPrZ @v8XOh0m@+Q>t1HT@7%D89Q:^C)U-Z̐טDBH)筧Hy`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]|)g^ӧӶ=( ~ō2]\,cRYI T@tYI* LBU-Z̞pfO<ō$g;z7ݫS.z7ӢR?!\7.yM=m:~|T^X=t%]+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"V+=(T;duAcUJ$|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDDWK'e1 8 1%AHUҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHPΆ6נPrZ @v8XO)RDDT"IQܕ?4[LG|cmzܧ Tk2BH)筧Hy`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]|)g^ӧӶ=( ~UKcfJ&LB QcUJBfN<$1 Tk2x ˞>\[ LBin\kzt?5]$<{JW((C,Q&#%^AU-^g:$c$ݫp{^Ё[feTws,c$ݫrDDW.{͖QU1ʩlw,r#)ƫx"IWJy%e$deոNɑv¡AzcBm(Be8.vHXIVZM;'N6cNn>qnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐ m@垴5npNОSmzZ$󡍵DI* ~iĶϺ Nʩld?N޼ō$`I6׼}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y!VBt Z$VBt"IQܕ?4[LG|%մ/Jy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF[,?5]$9:D+|2Eb2Yye |%մ/)VBt"VNjJ 1Ie#%*4 V٢(6Yy ? RD(&Jd|%,pnS>hOhB%j t΂]J&䨁g>;A.(v8_* Y`4$y tH`4$}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHP΂]PrZ @v8X0Z$jDI* ~iĶϺK Nʩld o=m:@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=~.s>6YET[2P@5DbjT2vqt%DW* YppōjK/WRAb[Npӷ?ouWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(CA.(9g [;r, RDDTK"IQܕ?4[LG|%ܧ Tk2^ ?ӷ1cA.@NztJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ"MQ1 wοz;d\=m:};oslX-%쯥y*9U-( t1 L5DWI* ř;8:D+Rv8_^b[tpr̗+sʩl 1 XKFp#9i҂+<ϧo=m:~|T^X=t%]+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"V+=(T;duAcUJ$|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDDWK'e1 8 1%AHUҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHP΂]PrZ @v8XOh0Z$jDI* ~iĶϺK Nʩld?ӷ1cA. ?ӷ oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deո\[ LB4葜XvNXNeK@sӧ<筧OAcUJ$|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$J@peSr̟/2 LjIPyy`$tPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH1 ?)tӲ}?f<}V?5]$<{JW((C,Q&#%^C->9mHIVP 1!A[}[9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=~.s>6YET,oɒWeSr̔:MQ&ƫ̝x"IQbʩld=2}T@u,h%#8 |ō葜Ab[Npӷ?ouWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(C@, YCVhܧ B};AОp0$J@%O{p%DrT@Ӊm3unܧ Tk2^ ?v,h%#ВpztJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ"MQ1 wοzmiKeUL?^bl.e}.{͖QU1ʩlw,A?Ra LjIP^,ǁ$?!\-fK ÷)7ݫS.{d_KUKaW^bƂ]3ޝynө=yLzzt=|} LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deոqn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=}|y*1c|Lo=(T;dj)0?5]$/dJUK`%۔}ynө=2_쯥*+1cA.n,oD筧Jzt=|} LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deոCqlXIVZ"MQ1 wοzmiKeUL?*ܳ%T@!I1%@!x'gHT@r[/7ܧ XvNYe}.yU-?!\7.{miP@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B>t垴5npN`4', !I:IS@-"IQܕ?4[LG|ۅC)U-Z̐N޼ō$`0@n[N7_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀vPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+QI* tT@!\<2tR_m_=m:};oslX-%쯥y*9U-( t1 L5DWI* ř;8:D+R7.{d+sʩl 1 XKFpӷ1c{-ںu8_1c}:)/Ab[Np/?ouWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(C@, YCVhܧ RDDT HT@7%D89Q:`PpUK`$$ӷ1cA.@n[N7_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀vPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH'|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+QI* tT@!\<2tR_m_=m:};oslX-%쯥y*9U-( t1 L5DWI* ř;8:D+R7.{d+sʩl 1 XKFp#9i҂+<m_=m:~|T^X=t%]+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"V+=(T;duAcUJ$|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDDWK'e1 8 1%AHUҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHP΀=XֆNnZ$n$nJq-st۔|-fHIm_=m:@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=}|y*RYI T@tYI* LBU-Z̞pfO<zt=|} LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deո9mHIVP 1!A[}[._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y!t@垴5np`4'Ӵ'zոZ9 f)"VI*|$,ԉ%DrT@Ӊm3ut@۔|-fKВ;z4葁$H:Y}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(C@9 fA=hj-۔`hO,prARDDTH:YJ&䨁g>;@9 fC)U-Z̗$H:Y}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(C@9 fA=hj-۔a>hO,prARDDTH:YJ&䨁g>;@9 fC)U-Z̐;z4葀hIo=m:@K|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$JҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=~K7>6YET,oɒWeSr̔:MQ&ƫ̝x"IQbʩld=2}T@u,h%#8 ט]:/sטʗ1 筧Oys9 fӧΠ1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|$,(9g [;r,'Ӵ'zոZ9 f)"VI*|$,ԉ%DrT@Ӊm3ut@۔|-fHIy tH$,ztJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ"MQ1 wοzo=m:};oslX-%쯥y*9U-( t1 L5DWI* ř;8:D+R7.{d+sʩl 1 XKFp#9i҂+<䃥[N:ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y!t@垴5npYCVh䃥Z$tR$:MQN%}w΀rAnS[!$H:Y}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(CCe4Eb2Yy/ hOywZ$jDI* ~iĶϺ4 Nʩld y tH`4$y}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(CC(9g [;r, .@+Q>t8HT@7%D89Q:]C)U-Z̗$ӷ1cA.@˼ztJy%e$d*ҬDdnb +lB,ʖ.2tdnH'|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDA=+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ"MQ1 wοz˼ztveSט[&K_KeULr[2P@5DbjT2vqt%DW* YppōjK/WRAbטD77ӢFsӥW=m:x ˞7?ouWI*/,:DJ 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+Qb˞eULr[2|\~1%AHUҾ^IABf"1,dn>qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(CC(9g [;r, .@+Q>t8HT@7%D89Q:]C)U-Z̗$筧Hy`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]|)g筧Om.{͖QU0@r̔:MQ&ƫ̝x"IQbʩld;r/1c{-ںu8_fKT@sӧ<.yiP@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B>t8zոZ)};AО4 !I:ISCԉ%DrT@Ӊm3uh;r/R y tH`4$y}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"V+N͘vS[}[@tI*_/$ D^B2Yy 8i1#&[C؂Ƅ 4P/ n>qn6f2Mڷ$J@p'Kc|׽mrF.ʩl Hj&!D0:Wܳ$(CC(9g [;r,'Ӵ'RDDT5"IQܕ?4[LG|qwܧ Tk2BHo^bƂ]0$y}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a tfHP·yPrZ @v8XOywZ$jDI* ~iĶϺ4 Nʩld?7 oҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j _/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+POJy%e$deո6YET[2P@5DbjT2vqt%DW* Yn\,WRAb[Np缻筧OAcUJ$|2Eb2YyeRuVsF2Mڷ h ^@eK`zg:2Mڷ$J@peSr̟/2 LjIPyy`$tPPYLFK/!,[}[]47j*4 V٢(6YyqpbddnH1 ?)tӲ}?f<}V?5]$<{JW((C,Q&#%^C->9mHIVP 1!A[}[qn)tӲdc$ݫp{^Ё[fe->1nչ"VJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDD&䨁 Qp;_K=}|y*1c|Lo=(T;dj)0?5]$/dJUK`%۔}ynө=2_쯥*+1cA.oN޼ōjKōTW=m:x ˞N[N:ƫx"IWJy%e$d*ҬDdnb +lB,ʖ.2tdnH1 y*9U->._{e?P@tI*_/$ D^B2Yy 8i21nոT=/Lh@EPlVN 7jܑ+Qb~Rdfx;)-> LjIPyy`$tPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j LBys@1n>qn6f9#~OT@L5IHj+Y!۔`PrZ @v8X0=hj-۔`a HJ:N$nJq-st;r, Nʩld ӷ1cA.@ܧ 筧Hy`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]|)gr/>6YET,oɒWeSr̔:MQ&ƫ̝x"IQbʩld;r/1c{-ںu8_fKT@u,h%#8 |ō葜Ab[NpnSӧΠ1%AHUҾ^IABf"1,d l:9#&[C؂Ƅ 4P/ 2 c&[%j LByslUKcfO^O?5]$<{JW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$J@pi>vYpqrT^X=t%]+!b(FK/!V6f$c$ݫp{^Ё[fe->CqlXIVZ\$~v[}[?MَHߥU-? RD(&Jd|v8XֆN rZ @v8XB%j t·nSI* tKiܧ nS[/BH۔|}/,J 1Ie#%UKaץYΉ7j*4 V٢(6Yy-]e 7jܑ+POJy%e$deոNɑv¡AzcBm(Be8.vHXIVZzW((C,Q&#%^C->9mHIVP 1!A[}[qnAcUJ$|2Eb2Yye2|sqlČdnb +lB,Eոs4͘ 7jܑ+Qb˟/َqw^i1*"aH:DT@_r̐ܧ zոZ)};AОYCVhܧ RDDTp%DrT@Ӊm3u۔`PpUK`$$N޼ō$`0@ܧ 筧Hy`PPYLFK/!,[*tHIVP 1!A lC,@XIVZzW((C,Q&#%^C->.vLdnb +lB,Eո1tӲB2Mڷ$JҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH$ܕ:a ]?:]|)gr/>6YET,oɒWeSr̔:MQ&ƫ̝x"IQbʩld=2}T@u,h%#8 ט]:/sטʗ1 筧Oys÷)iP@tI*_/$ D^B2YyTzU葌v¡AzcBm(BeRކY΀v?!\<6YET*ܳ'|T^X=t%]+!b(FK/!VM;&F2Mڷ h ^@"|i!c&[%j LB]4O;,ُe8_eչWI*/,:DJ 1Ie#%qqyƛy1nոT=/Lh@EPlV!8o6`,c$ݫrDDW.~Htf;->ޟ{ql$o􉆩"b@ Q}2B>t;r, YCVhܧ 垴5np0$J@%Oܧ HT@7%D89Q:Nܧ Tk2BHXKF?÷)i^X=+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"VJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱vPPYLFK/!,[}[s4͘v¡AzcBm(Be8yƛyc&[%j t7%Dj+ONq: Yܧ 筧Om.{͖QU0@yd}6YET*ܳ%T@!I1%@!x'gHT@r[<r̟e}.yU-?!]y tHp1c}:$g=m:P@sӧ<۔|} LjIPyy`$tPPYLFK/!,[*tHIVP 1!A lC,@XIVZ\,cRY׾FSWI*/,:DJ 1Ie#%qqK#&[C؂Ƅ 4P/ n>qn ]4쐱v?!\.vOlǃ/|܂ƫx"IWJy%e$deոCqlXIVZ"MQ1 wοz)iKeUL?*ܳ%T@!I1%@!x'gHT@r[<r̟e}.yU-?!\7.xv8_=m:~|T^X=t%]+!b(FK/ ïJ1nոT=/Lh@EPl*[91nչ"V+=(T;duAcUJ$|2Eb2Yye2|RdIVP 1!A[}[M;$,c$ݫrDDWK'e1 8 1%AHUҾ^IABf"1,dn>qn98o6bF2Mڷ h ^@"|9mdnH1 Neջ{4͘]?RA0$LB"a t B N&'Gd5l Q֚p); K[Z\P[f!b(D r̦d^ .rxg%j_/$(/Lh +WJy%[Zƭ1սZW((B,z !@;[*[tpI+RDŵH$N"udT1Gj^IAB(@ŶE/Lx.t(C-. M/! .^%h ro"p(@DpPH  P p`0Ba H"MQI7T@^9Ƅ  lh$mF7I6w6$e,./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.dynamicrecord_mi.htmll$$  .acenrt <>dgilmo "(),S[]bhsy#/=_fjvBCDFIORuALTp04P-KVx38EMkqz!1259;HQwUJR)P, >${#0@g'i :)JRGŌ*pH0 @Qtw|(<dgr`@@!0JR*:ssq0JR# )JRwĂ5)M=dڃb{JR)PC򘱅JR)Qb)9ǂ q>p`P @(T)JRRvG *Pǒ`!j(K\yv1 GjV\y:A ˏ1A)d0QܱU$G\t'̖#_eǘ\x02;Pu" qОˏ2A&GjV\y2 >:A ˏ1A)dMD `d@|$aRc IqOeǙ,Gjˏ03?`dveǘE=dMD `d@|)'#a2;PuPJYQ#X+.< Ii# URO{%B{.A)di# URO{%B{.&0G[s(%,0F*;0(K\yv1 )5/lio:۞>A)dio0QܱU$G\t'̖#_eǘ\x6O E }kdkL4|Im\ vJK4J*' ==d:.Hnx+.<A# URO{%B{.=5/lioi#_R]a*Tw,aUI?8Q0 %Aqb' xA#x TXª`pa.:qKڃ .O<sv&$uA)diIvITXª`pa.:qKڃ .O<SBj_Z/Ғ )6}q# ) K kJK4Č*Tw,aUI?8Q0 %Aqb' )5/li>ֆx_RlF*;0(K\yv1 xPֶKvJKM\HC< }rR/ ).)6}q# URO{%B{.J*' ==d:.=*Tw,aUI?8Q0 %Aqb' Ϗy(MK[%;ZR]a%HC<ޠ v|JJǼJ*' ==d:.=5/lioy# ϏzR/ ).)(F*;0(K\yv1 ygǼ&0Ғ )(GZ_R]a%H¥GrT qОˏ2X}`f!r,"Ծ_RP>=䎴3>= K kL4|{TXª`pa.:qKڃ .O<;Z@R֔o&$u_ K kJKI֒0QܱU$G\t'̖#_eǘ\x43v&).0Ғ"Ծ_󵤎3vA)diIv$aRc IqOeǙ,Gjˏ03?hgi(MK[%;ZRDPֶKvֆy֨%,)%;ZH¥GrT qОˏ2X}`f!r/PֶKvJKHR֒:/_R]RKvJ*' ==d:. com.ibm.record.Field <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.field_dsc.html#_top_">com.ibm.record.Field (no frames)</a></b></p> </body> G\ lU$A7I6w6$ejq./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.field_dsc.htmli$$   deort.<>achilns "/_bfmpu=Tvy#(),FIRgwx-:ACEOj JPSUBDNVq014;Lz39H!58?GMW+27Y|kHslgWnqI$8$_ \Ao$ dMz-ʇ&֯fЂ8P(H@Gej 2!C86}hB\6Q"΢;.Pm-^^FC`P@P!C8Ì_Xൊ\=ÉixoP@0P*:}(q=qej2y( u>G$I-ʇ%܋冲x `>~ 2WhAmQ I+P\+ 1Yo] 짾'-h{\ˠ !CRvTI_mh 8ܣ5,e2Pc!@2IZW۔`7*5(<^1JҾܣ\cQCtא;\cQI+WJrB,ڊ|ǮmRJԒbj$$7IՖRI P2ZU$ˆBxKi\Ő=jYe)deTZU2NP%}F!%$ F Xj,]3J A8 XjE隒Vo( JrC,8QB,S䩋5mQ ej2y(XSVo( ej2y( u>G$KqCzΫyos;Ǥ:)$7WLzW۔`fŚ^Jf:%LX+lPO7Wq>lzW۔`fŚ^JcTňnb(:)%jd/RNP k>j,Q:?Z\z\iϯήlG x@7EHdKqC,C4BJ8h(q , x$222gT}F!jYeS䩋5:"EEO"΢J8ߦe\qLCP~Gpm x$222gT}F!jYeS䩋5N8A u>RJ8ߦe_kY˄wfve/j=pi/ξ|q:+0A PFS/%:%LX u>AfŚ^J$YBO,H qLʿGٷKڏ_wB:2OoxLq,@&u@*W۔`fŚ^J u>J ^ |C5L,H'v\PSVp<uK@~~%e;o;2 upe{3:<9߭:SY Kpxqg q:+0A PFS/%:%LX u>AfŚ^J$Yk=p @S$@`x , F8ߦe_kp̥Gƒ\^NvhqN8Tuu|m q:+0A PFS/%:%LX u>AfŚ^J$Yk=p @KA u>RJ"Πn:<8ߦe_kp̥Gƒ\^NvhqN8Tu, ϸ<_^88ɝP  Yqf)O,Ct׃: PFS/%`x , ൊZtBx-b hA u>RJ"Πn:<X.fU=ͼ^z(;ξ|k~cuOgPOͮOt[q㌙_nQej2y(1*b7Mx0S5,e2P"Π Xj@4')hzQ`fKA u>RJ"Πn:<X.<8ߦe_kp̥Gƒ\^NvhqN8Tu, A=p~qLT(2C5L|1b)ej2y( XgPOR5Fk=p @(]3Bx-b hO.S$@`x , FEE˻}.fU=ͼ^z(;ξ|k~cuOgPO͠;\Kyp-Hu~R/wYHd/P%8߀Z۞ I-e2edΨJrC,8QAS!kKC4 P =oIZE8ߦe_kͭmϚ] q[_C|ǯ+ =–q:+0A PFS/%:%LX ojYe,2y!=ЂZnKIZ) o2ĵֶimpb˻}.R}{3k|7v:Sy(dΨJrC,8QAS!kk@(vYqf)eCBPmhVpeCB̫-tyZ~B?[\XqKyϭc89CkcuOeq:+0A PFS/%:%LX 5x5,e2PLhA 5xVpeCB̫-tyZ~B?[\X5y-׳>pk]1?)LT(2C5L|1b6Y征fŚ^J) !A-VpeCB̫-tyZ~B?[\X}qKyϭc89CkcuOeq:+0A PFS/%:%LX }AfŚ^J) !AOIZ) o2ĵֶimpb}xg1nku1:2P8ɝP  Yqf)O,Ct׃օAfŚ^J) !ApԒS/$'8ߦe_kͭm2/AR}{3k|7v:Sy(dΨJrC,8QAS!kk@"5,e2PLhA jIZ) o2ĵֶimpbp ٟ[\Sqs׉꟔@&u@*W۔`fŚ^J u>J ^ Z ,LvYqf)eCBPmh(]3RJLh@~~%6?+OGke-2k|7v:Sy(dΨJrC,8QAS!kk@h;,8Q@Xe2B{(6m椕,2y!=Ё3*K]mkn~V)~-)o>u>G;Z}mxLqL2gT}F!jYeS䩋5C&Pmh 7Wᕧ# f}msOrE_nQej2y(1*b7Mx0mhC5LS/$'Bk@@5$@a 7WZk[s~ Ktxg1nku1:2P8ɝP  Yqf)O,Ct׃։u"Τ7WZk[s~:u>P8ɝP  Yqf)O,Ct׃: :]ptRJ8ߦe_kͭmڎwu>{\ˠu>P8ɝP  Yqf)O,Ct׃FݾvYqf)eCBywo FݾS/$'˻}.fU<ǯ]p[\S[Cu1:2P8ɝP  Yqf)O,Ct׃Fej2y( ^HOt4'/h FI+P8Xe2B{<{AfU<ǯX)o>u>{8'Sc~S/%_nQej2y(1*b7Mx4kA ^C5LS/$'A h!ĒS/$'@~~%6>52/)o>u>{8'Sc~S/%_nQej2y(1*b7Mx4k@5[jYe,2y!=П6yo gI+P8Xe2B{>lAfU<ǯ6yo)o>u>{8'Sc~S/%_nQej2y(1*b7Mx4kBkvYqf)eCByA hSzVpeCBy@~~%6>52/^Ky c:Sy(dΨJrC,8QAS!kZ ej2y( ^HOt4'BZ I+P8Xe2B{=Ё3*K]mkn|kce_t6k81xLqL2gT}F!jYeS䩋5ѭh;,8Q@Xe2B{=Ђ,2y!=Оh@~~%6>52/-t6t>cuOeq:+0A PFS/%:%LXh(]3AfŚ^J) ൊZX.*5tI+P8Xe2B{<X.fU<ǯe-t6t>cuOeq:+0A PFS/%:%LXhej2y( ^HOt4'ŷBZ6RJLhOo4 qLʿGZ۟b[\S[Cu1:2P8ɝP  Yqf)O,Ct׃FtAfŚ^J) ൊZtBTk@@5$@a #q o2ĵֶƶ=|X:R}wCok|ChqN8T^J3Rܣ5,e2PcTňnh։uC5L,H FH$@`x ,o2ĵֶƶ?[_E^:(d/P%~ 6)x I+P%8߀[#ZdfЂ u>D:!I%jdO"΢Ijde3jzW۔`fŚ^J gQS!k8"ΤsO"΢$Jm!ͼ I+P%8߂.=yI-e2WhAN I+P%~ 6|2KPSKP$7;/iSOpI'e(q/P~q-t|ы=p̥G;EB:2O2NP$z+Y SjYe,bEA)$C|8;)C<)JrC,8QCz,*b7Mx1[gB$YԒVΠJrC,8QFS/$SEPh=vTňnb(S/$),!otCGk %jdvR27WGٷKڏ_wB:2OoxLq,@$7ReoLKPY$8}up/,g1@gUZ,: dZW۔`fŚ^J2y&::,襽A죵,Ct׃qD(2y!NȑgP {;]pI+PfUĶ:tG:SYԁ$ԒfT8&^Jm )ej2y( XgPOR5FBJ8-ANI-C8{Ot(2C5L9p΢,Ct׃qD(,bEI%j, ot|m}nXtzW۔`fŚ^J2y&::,襽A죵,Ct׃qD(2y!NȑgP {;]pI+P$8ɗqLʸ=ͼ^z(;ξ|k~cuOgW\'f'(qLʓ/PgUZuͭ$̫賫xgW>2\ Ķm{3k|q3-B[2I-]+0A PFS/%LOuBRQS!k8LSHހ e$q3*[_E\t|k{fq,@~eI3*d/P%~ 6|C5L,H')hz#q ൊZX.)$C|8;)C<)JrC,8QCz,*b7Mx1[gB$YԒVΠ@7fHtx[ϠJrC,8QFS/$SEPh=vTňnb(S/$),!otCGk %jdvR27WGٷKڏ_wB:2OoxLq, Y @89CfTz:mmd@$7e_E\ Ķ:u>P8x,^%kٟ[\SWt[B}p/^:(oLKPD KWJrC,8QFS/$SEPh=vTňnb(S/$),!otCGk %joLʸgW.Y\j~:8ߤzLʇ$8_͡: PFS/%`x , ൊZtBx-b hOR5t ݾVIj u>RIjd[|}F!jYeˀu1b!A`x ,I+WgPHFh$qQ`fA-HtGW  y8wo.APxJrC,8QFS/$SEPh=vTňnb(S/$),!otCGk %jdvR27WGٷKڏ_wB:2OoxLq, Yk)o>{.x nO\?i8ߦeIq3-@:fD KPfUYKk賫ٟ[\SWͮ[^ 6u>P8wA--;\Kyϭc̫\4--˄up)o>[\SW\| ߷˚VYsJ3k|G.}qYsJ1o$\ҽk@gUZ,: dZW۔`fŚ^J2y&::,襽A죵,Ct׃qD(2y!NȑgP {;]pI+PfUĶ:tG:SYԁ$ԒfT8&^Jm )ej2y( XgPOR5Fk=p @(]3Bywo $qZOZ'e(qǖ3: _nQej2y(r/EELX+lPXċ:JY8, oX.vo y8wo.APxJrC,8QFS/$SEPh=vTňnb(S/$),!otCGk %jdvR27WGٷKڏ_wB:2OoxLq, Yk)o>z?)s׻,Io28txkk"I%q3*,^%Yϭc̫f-^:(oLʻrxt[g1@fU <_"數}$\һ:=Kpxn\Ҍ[I%4zF8t-$ Yqf)^I΋:z)ot{(u5mQ ^HS$Y@B\J8q-ή]:5Nu qI2$2IqB u>AfŚ^J$Yk=p @KA I+P$:)$2NPs-g u>AҾܣ5,e2P^: ^ V<u$賨$q#q Y8wo.APxJrC,8QFS/$SEPh=vTňnb(S/$),!otCGk %jdvR27WGٷKڏ_wB:2OoxLq, Y Kpxqg qr̩27u]%^,ȁIjoLʾ:m}u{3k|q3*YKkf׳>2Ao4$g1\ŀ8tbI,{:4Ϋ nXt@$t(2C5Le2Lu>tY K{GkLX+lPe2BO"ΠzH$=vV̫m}ur _euƧ賩I$̨qLC,@S5,e2P"Π]p!I%jdS$IJnqN:W۔`fŚ^J gQS!k8"Τ}u7]pKT,#rãҾܣ5,e2Q1gT/E-e1b!A u>D:=[ QIZ$LCfUĵGpmfRAЎ fuS;[8'Sc~:z?)s׻,2NP~&^Ϋś[Y2I-CWgW-ίf}msO7e_)r /+~K.i[Ie+ϭcqe(ž4YsJtiWIjܰ聒Ij_nQej2y(e|質M\ ^ Ve:"E@-H{(u$CW,Ӡ[4OgR/RIP$z+Y k[sVKqIh(q"1dP%~ 6@$ ൊZX.)$C@$)$2NPs-g.z' oaNP&^3*Zk[s涰Bg:1Opd3*LCWIj׋6 dZ2em|+* eÝs,ӗΫV$̫4$gֺJ ^ @$ ൊZX.*I|RJǮ1_nQej2y(\|1b!@x u>RJ8ߤzLʇ$8_͡ր[5,e2PLhA I+P$ր[KP$78rK o+0A PFS/%e1b!AaI+We䄎7r򡠣 hGG}F!jYe)ˀȺb=vTňnb(S/$pY\矔 e$'}F!jYe)ˀȺ|"y^mM\ ^ Ve."qכR e$qIJd8ߦe\K]mkn~V)|-׳>pk]1?)Io28txkk"I%q3*L[_)̫h(#[Kkagejq.B?ZO7u]%2@$7e\Kk]pٟ[\SWIjܰ聒Ij_nQej2y(e*.<e1b!A\VECGk %joLʸ=Uuú>'uku>P8tPt@$7e]+0A PFS/% O,Ct׃ր[5,e2PLhA o$]z Yqf)YS!k8S$CI$̨qLC,@mh5,e2PLhA I+P$րQ{I$2NPs-g,^ Ҿܣ5,e2P^IS!k8L|^HHt7h(#Za_nQej2y(e*.<e1b!A\VECGk %j _nQej2y(e*.qכSA죵,Ct׃qD(2y Ⱥ'uԂCGk %jdvR27WGZ۟#e_,^^:#Ýt>N8T^J'(qLʓ/PgUZuͭ$̫2xm|^J2r򡠣 o-o?kنFٟ[_)jku>P8t$8q-,Rbg1@gUZ,: dZW۔`fŚ^J2y, -?*GkLX+lPe2AUu)ny@QIZ2-?+>kiSt{.":%a$Ҿܣ5,e2QeUd]p><6GkLX+lPe2AUu O8ͩ\J8q-OOeUd]py<ZO7u]%*52I-CWJrC,8QB,S䩋5^;,8Q@Xe2B{(6I+Wt;ǥ}F!jYepcTňnb(,)I+P~eI3*d/P%~ 6ZjjYe,2y!=ЂVIj 5xKP$78v5ykA ^}F!jYeL,Ct׃qD(,2y)%jLo9yPQF#rãҾܣ5,e2QeUd]p1nyT;]p*b7Mx1[gB) Ks\JҾܣ5,e2QeUd]p><6GkLX+lPe2AUu O8ͩ\J8$2eo2%6?+OGkƯ8g1nku1:2P89CfTz:mmd@$7e_)Kk2P8s dkxmuy^25L^7eVG]cΫV$̫mpb^G|q3-B[2I-]+0A PFS/%L\VE矕A죵,Ct׃qD(2y ȺJ ^ V<:)%joLI&eCedfЂk@5[jYe,2y!=ЂVIj yoZ'e(qǖ3͞[րk<:W۔`fŚ^J*b7Mx1[gB)V oo9yPQF#rãҾܣ5,e2QeUd]p1nyT;]p*b7Mx1[gB) Ks\JҾܣ5,e2QeUd]p><6GkLX+lPe2AUu O8ͩ\J8$2eo2%6?+OGk6yo)o>u>G;Z}mxLqL2NP~&^Ϋś[Y2I-CW_@fU^T4a^%\m{03k2~z8ݗ [ty:Z~B dZ2%e_<^:(oLKPD KWJrC,8QFS/%UuŹP{(u5mQ ^H"*.-?(;]pI+PfUŹwGm3j|oeUd]p@gUZ,: dZW۔`fŚ^J2y, 'u{(u5mQ ^H"*.0y QIZ2%I <6/]cΫVcI%q3*_nQej2y(\|1b6Y征fŚ^J) !A-Vv=qJrC,8QB,S䩋5mQ XSV$ԒfT8&^Jm 6)ej2y( ^HOt4 $qZkBkԒZ'e(qǖ3^Ч+0A PFS/%e1b!AaI+We䄎7 /* 0ք}nXtzW۔`fŚ^J2y, -?*GkLX+lPe2AUu)ny@QIZzW۔`fŚ^J2y, 'u{(u5mQ ^H"*.0y QIZ$LCfUĵֶimpb}xg1nku1:2P89CfTz:mmd@$7e\Kk~S/%W9yPQFxYq#[ϭv\5n~:(oLKPeiIjoLʸ)|[ϯf}msO7u]%KrâI%}F!jYe)ˀȺb=vTňnb(S/$pY\矔 e$q3*~b涙>O@7*. q3-B[2I-]+0A PFS/%L\VE:jh=vTňnb(S/$pY\DڐH{(u$CW@$\VE^qכS1@gUZB1Q$8t(2C5L.u>J ^ Z^C5LS/$'BkBkԒwCzW۔`fŚ^Jf:%LX+lPO7&^2I22WhApvYqf)eCBRIZ%6.KP$78wCxmh\4+0A PFS/%e1b!AaI+We䄎7r򡠣 hGG}F!jYe)ˀȺb=vTňnb(S/$pY\矔 e$'}F!jYe)ˀȺ|"y^mM\ ^ Ve."qכR e$qIJd8ߦe\K]mkn~V)} ٟ[\Sqs׉꟔@$7ReoLKPY$8|^O-@fU^T4a^%\m{03k2~z8ݗ [ty:Z~B dZ2%e_t6k8g1@gUZ,: dZW۔`fŚ^J2y, -?*GkLX+lPe2AUu)ny@QIZ2-?+>kiSt{.":%a$Ҿܣ5,e2QeUd]p><6GkLX+lPe2AUu O8ͩ\J8q-OOeUd]py<ZO7u]%*52I-CWJrC,8QB,S䩋5pvYqf)eCBPmh\5$]z Yqf)YS!k8S$CI$̨qLC,@mh\AfŚ^J) !I%jd8;)C<Zt(2C5L;)Tňnb(S/%$_)8 /* 0ք}nXtzW۔`fŚ^J2y, -?*GkLX+lPe2AUu)ny@QIZzW۔`fŚ^J2y, 'u{(u5mQ ^H"*.0y QIZ$LCfUĵֶimpbp ٟ[\Sqs׉꟔@$7ReoLKPY$8|^O-@fU^T4a^%\m{03k2~z8ݗ [ty:Z~B dZ2%e_}7[ϯf}msO7u]%KrâI%}F!jYe)ˀȺb=vTňnb(S/$pY\矔 e$q3*~b涙>O@7*. q3-B[2I-]+0A PFS/%L\VE:jh=vTňnb(S/$pY\DڐH{(u$CW@$\VE^qכS1@gUZB1Q$8t(2C5L.u>J ^ ZvYqf)eCBPmh\RJǮ1_nQej2y(\|1b!@x u>RJ8ߤzLʇ$8_͡ւ4jYe,2y!=ЂVIj  jI-C8{EkAE Yqf)e2J ^ Ve䤕2BG^T4aܰ(2C5Le2YpY\ [~U\ ^ Ve."R!죵(2C5Le2YpY\O8ͩQS!k8LEUd]pa:jA!죵2I;)Cz̫kͭm2/`fKy̼:#Ýt>N8T^J'(qLʓ/PgUZuͭ$̫2xm|^J2r򡠣 o-o?kنFٟ[_)jku>P8t$8q-,R o2k|q3-B[2I-]+0A PFS/%L\VE矕A죵,Ct׃qD(2y Ⱥ,:=+0A PFS/%L\VE矕A죵,Ct׃qD(2y Ⱥ:%a$Ҿܣ5,e2QeUd]p1nyT;]p*b7Mx1[gB) Ks\J8p?1ny][Lڟ'pY\8t-$ Yqf)^K."y4;]p*b7Mx1[gB) L"y^mH$=vV̫m|}Gj{."t|/|O8ͩG|q3-@U騁IjoLʺW۔`fŚ^Jf:%LX yPFS/%a !Vv=qJrC,8QB,S䩋5mQ XSV$ԒfT8&^Jm 6p8A I+P$ցI%qvRyos;6p8@$8ɗqLʸeimxkٟ[\S{QGf}msO\z[뾠P(d3*LCWIj ?!2I-CWp׳>ϼP3k|=|R-P ֠q3-@U騁IjoLʺW۔`fŚ^Jf:%LX 4Bk@M$\cҾܣ5,e2P 1*b7Mx1[gB|qI2$2IqB 7vYqf)eCBRIZ%6tRIjd[n:6tAҾܣ5,e2P^IS!k8L|^HHCyʆ25[ Yqf)^K."끋sʠQS!k8LEUd]p [~P$=vV Yqf)^K."y4;]p*b7Mx1[gB) L"y^mH$=vVI'e(q/P~q-tyZ~B?[\X:R}{3k|7v:Sy(d3*LCWIj׋6 dZ2^%y(oLʹʆ25 Ķˍff}m|^O֯Gt#1@gUZ+OD KPfUĶ Ktxg1@gUZ,: dZW۔`fŚ^J2y, -?*GkLX+lPe2AUu)ny@QIZ2-?+>kiSt{.":%a$Ҿܣ5,e2QeUd]p><6GkLX+lPe2AUu O8ͩ\J8q-OOeUd]py<ZO7u]%*52I-CWJrC,8QB,S䩋5F5,e2PLhA 7ԒwCzW۔`fŚ^Jf:%LX+lPO7&^2I22WhAE@)$CZ$YԒKP$78t(2C5L9p΢,Ct׃qD(,bEI%jᵢE@NP&^3*Zk[s~:u>P89CfTz:Z~B dZ2%YϭcΫVcI%q3*_nQej2y(\|1b6H ։u$\cҾܣ5,e2P 1*b7Mx1[gB|qI2$2IqBt@u̺)$CtRIjd[]p@4 qIJd8ߦe\K]mkn~v?oƫϭcr]cIo28t$8t數}$\һ:=.e : 8,ƒK.i^΍ qI2$2IqBh}.PFS/%a KA I+P$FݾZ'e(qǖ3Oh}._nQej2y(vS/$5mQ ^JIZS/$$q /* 0ք7woÊ[ϠJrC,8QFS/%UuŹP{(u5mQ ^H"*.-?(;]pI+POJrC,8QFS/%UuDښe1b!A\VE&<6;]pI+P$8ɗqLʸ<ǯ]p[\S[Cu1:2P89CfTz:mmd@$7e_)Kk2P8s dkxmuy^25L^7eVG]c̫[Ϯ[\-@gUZ,: dZW۔`fŚ^J2y, -?*GkLX+lPe2AUu)ny@QIZ2-?+>kiSt{.":%a$Ҿܣ5,e2QeUd]p><6GkLX+lPe2AUu O8ͩ\J8q-OOeUd]py<ZO7u]%*52I-CWJrC,8QB,S䩋5ѭojYe,2y!=О]p!Qo$]z Yqf)YS!k8S$CI$̨qLC,Dk@(vYqf)eCBybRIZ%5^I-C8{[ƴJrC,8QCy%LX+lPXe2RJy!#r򡠣 hH,^A[ Yqf)^K."끋sʠQS!k8LEUd]p [~P$=vV Yqf)^K."y4;]p*b7Mx1[gB) L"y^mH$=vVI'e(q/P~q-ty_)|{\R}wCok|ChqN8T^J'(qLʓ/PgUZuͭ$̫2xm|^J2r򡠣 o-o?kنFٟ[_)jku>P8qKyKk/k[ϯZΫ nXt@$t(2C5Le2YpY\ [~U\ ^ Ve."R!죵7e\[~Wt|6\VE7u]%KrâI%}F!jYe)ˀȺ|"y^mM\ ^ Ve."qכR e$q3*[_(QڞˀȺ :jyb:(oLKP(Uf:j dZ2 Yqf)YS!kZEC5LS/$'BZE$\cҾܣ5,e2P 1*b7Mx1[gB|qI2$2IqBh!vYqf)eCB{!I%jdւI%qvRyos8tւJrC,8QCy%LX+lPXe2RJy!#r򡠣 hHcWR}}nXtzW۔`fŚ^J2y, -?*GkLX+lPe2AUu)ny@QIZzW۔`fŚ^J2y, 'u{(u5mQ ^H"*.0y QIZ$LCfUĵֶƶ=|X5y-t6t>cuOeqr̩27u]%^,ȁIjoLʾS/'xeq3*/* 0/.6dk}y?ZnˆЏֺJ ^ V<:)%joLI&eCedfЂ#Z@PFS/%a }2KTk@5[$IJnqZ@_nQej2y(vS/$5mQ ^JIZS/$$qo9yPQF$q6yo)o>>,:=+0A PFS/%L\VE矕A죵,Ct׃qD(2y ȺS/'WpպG|q3*xכ<_oƵWIjܰ聒Ij_nQej2y(e*.<e1b!A\VECGk %joLʸ=Uuú>'uku>P8tPt@$7e]+0A PFS/% O,Ct׃FY征fŚ^J) g!QyowCzW۔`fŚ^Jf:%LX+lPO7&^2I22WhA }AfŚ^J) >ס)$CЧ$IJnqZ^}F!jYeL,Ct׃qD(,2y)%jL /* 0ք7c{-GG}F!jYe)ˀȺb=vTňnb(S/$pY\矔 e$'}F!jYe)ˀȺ|"y^mM\ ^ Ve."qכR e$qIJd8ߦe\K]mkn|kce_1[\S[Cu1:2P89CfTz:mmd@$7e_)y(oLʹʆ25 Ķˍff}m|^O֯Gt#1@fU--c{-@gUZ,: dZW۔`fŚ^J2y, -?*GkLX+lPe2AUu)ny@QIZ2-?+>kiSt{.":%a$Ҿܣ5,e2QeUd]p><6GkLX+lPe2AUu O8ͩ\J8q-OOeUd]py<ZO7u]%*52I-CWJrC,8QB,S䩋5ѭ }AfŚ^J) >ס*5OIZ=+0A PFS/% O,Ct׃qD(aNIZ/RIP$z+Y օAfŚ^J) 2KTkB$2NPs-gnиh:W۔`fŚ^J*b7Mx1[gB)V ot7h(#Z8oA[ Yqf)^K."끋sʠQS!k8LEUd]p [~P$=vV Yqf)^K."y4;]p*b7Mx1[gB) L"y^mH$=vVI'e(q/P~q-ty_)} [\S[Cu1:2P89CfTz:mmd@$7e_)Kk2P8s dkxmuy^25L^7eVG]c̫[Ϯ[])o>ߍj:%a$Ҿܣ5,e2QeUd]p1nyT;]p*b7Mx1[gB) Ks\J8p?1ny][Lڟ'pY\8t-$ Yqf)^K."y4;]p*b7Mx1[gB) L"y^mH$=vV̫m|}Gj{."t|/|O8ͩG|q3-@U騁IjoLʺW۔`fŚ^Jf:%LXh\4jYe,2y!=ОhA h\5$]z Yqf)YS!k8S$CI$̨qLC,Dk@"5,e2PLhO}4 $qZZԒZ'e(qǖ3Oh\AҾܣ5,e2P^IS!k8L|^HHt7h(#Z8p #rãҾܣ5,e2QeUd]p1nyT;]p*b7Mx1[gB) Ks\JҾܣ5,e2QeUd]p><6GkLX+lPe2AUu O8ͩ\J8$2eo2%6>52/-t6t>cuOeqr̩27u]%^,ȁIjoLʾS/'xeq3*/* 0/.6dk}y?ZnˆЏֺO@7*. q3-B[2I-]+0A PFS/%L\VE:jh=vTňnb(S/$pY\DڐH{(u$CW@$\VE^qכS1@gUZB1Q$8t(2C5L.u>J ^ C5LS/$'p !QjIZ=+0A PFS/% O,Ct׃qD(aNIZ/RIP$z+Y ւ4jYe,2y!=О XjEBJ8-Q jI-C8{[ƴX._nQej2y(vS/$5mQ ^JIZS/$$qo9yPQF$q ,L)o>>,:=+0A PFS/%L\VE矕A죵,Ct׃qD(2y Ⱥ-Ђ!Vv=qJrC,8QB,S䩋5mQ XSV$ԒfT8&^Jm"5F5,e2PLhOR5FBJ8-Q7ԒZ'e(qǖ3Oh}F!jYeL,Ct׃qD(,2y)%jLCAFБKya_nQej2y(e*.<e1b!A\VECGk %j _nQej2y(e*.qכSA죵,Ct׃qD(2y Ⱥ'uԂCGk %jdvR27WGZ۟bKy c:Sy(d3*LCWIj׋6 dZ2^%y(oLʹʆ25 Ķˍff}m|^O֯Gt#1@fU--n:R}}7u]%KrâI%}F!jYe)ˀȺb=vTňnb(S/$pY\矔 e$q3*~b涙>O@7*. q3-B[2I-]+0A PFS/%L\VE:jh=vTňnb(S/$pY\DڐH{(u$CW@$\VE^qכS1@gUZB1Q$8t(2C5L.u>J ^ #q ej2y( ^HOt4')hz#q !Q7ԒwCzW۔`fŚ^Jf:%LX+lPO7&^2I22WhA,ej2y( XgPA I+P$FH$IJnqZ$Y Yqf).YTňnb(,H$_EA[ Yqf)^I΋:z)ot{(u5mQ ^HS$Y@B\J8$2eo2%6>5,g1G[_E\t|k{^7.,Ӯ5?EH<Av\#Ky[\S?(RIo28txkk"I%q3*,^%Yϭcӟ_EHoLKPD KWJrC,8QFS/$SEPh=vTňnb(S/$),!otCGk %joLʸgW.Y\j~:8tPt@$7e]+0A PFS/% O,Ct׃FHjYe,bEA*5EI%jc(2C5L.u>J ^ V<:)%joLI&eCed8 {` pkt'V[y5B;)c #2 Pw&&RWxZ #(2C5L|kP-7 V ʤ7My =q;ht(-cP5(CRJҾܣ 6!@w:1+[s$I'eI'qCuee”8Ì89I_nQB B hk5oCt>kDˆ4%ƆVQ&,-0] a @B8!`H I+RI9CKI-^`t> k2$E7I6w6$ME./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.field_mi.htmli$$ Method Index for com.ibm.record.Field

Constructor Index

Field()
Field(IAnyType)
Field(IAnyType, boolean)
Field(IAnyType, String)
Field(IAnyType, String, boolean)
Field(IAnyType, String, Object)
Field(IAnyType, String, Object, boolean)
Field(IAnyType, String, Object, Object, boolean)

Method Index

equals(Object)
getBoolean(IRecord, int)
getByte(IRecord, int)
getChar(IRecord, int)
getDouble(IRecord, int)
getFloat(IRecord, int)
getInt(IRecord, int)
getLong(IRecord, int)
getObject(IRecord, int)
getShort(IRecord, int)
getSize()
getString(IRecord, int)
getType()
isPadding()
setBoolean(IRecord, int, boolean)
setByte(IRecord, int, byte)
setChar(IRecord, int, char)
setDouble(IRecord, int, double)
setFloat(IRecord, int, float)
setInt(IRecord, int, int)
setLong(IRecord, int, long)
setObject(IRecord, int, Object)
setShort(IRecord, int, short)
setString(IRecord, int, String)
setType(IAnyType)

Field Index

fieldType_
000 k$7I6w6$PM./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fielddata.htmli$$ com.ibm.record.FieldData <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.fielddata_dsc.html#_top_">com.ibm.record.FieldData (no frames)</a></b></p> </body>  kFb$7I6w6$Q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fielddata_dsc.htmlmll$$ Class com.ibm.record.FieldData

Class com.ibm.record.FieldData

java.lang.Object
   |
   +----com.ibm.record.FieldData

public class FieldData
extends Object

This class is used as a return value for the getFieldAndParentOffset() method of the IDynamicRecord interface.


Variable Index

field_
parentOffset_

Constructor Index

FieldData()
The default constructor creates an empty instance of a FieldData object.
FieldData(IAnyField, int)
This constructor creates an instance of a FieldData object with the specified field instance and parent offset.

Method Index

equals(Object)
This method determines if the two field data objects are equivalent.
getField()
This method returns the field instance.
getParentOffset()
This method returns the parent offset of the field instance.
setField(IAnyField)
This method sets the field instance.
setParentOffset(int)
This method sets the parent offset of the field instance.

Variables

field_
 public IAnyField field_
parentOffset_
 public int parentOffset_

Constructors

FieldData
 public FieldData()
The default constructor creates an empty instance of a FieldData object.

FieldData
 public FieldData(IAnyField field,
                  int parentOffset)
This constructor creates an instance of a FieldData object with the specified field instance and parent offset.

Parameters:
field - The field instance.
parentOffset - The parent offset of the field instance.

Methods

equals
 public boolean equals(Object obj)
This method determines if the two field data objects are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this field data object is the same as the obj argument; false otherwise.
Overrides:
equals in class Object
getField
 public IAnyField getField()
This method returns the field instance.

Returns:
The field instance.
getParentOffset
 public int getParentOffset()
This method returns the parent offset of the field instance.

Returns:
The parent offset.
setField
 public void setField(IAnyField field)
This method sets the field instance.

Parameters:
field - The field instance.
setParentOffset
 public void setParentOffset(int parentOffset)
This method sets the parent offset of the field instance.

Parameters:
parentOffset - The parent offset.

de kꚇ$7I6w6$PM./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fielddata_mi.htmlmll$$ Method Index for com.ibm.record.FieldData

Constructor Index

FieldData()
FieldData(IAnyField, int)

Method Index

equals(Object)
getField()
getParentOffset()
setField(IAnyField)
setParentOffset(int)

Field Index

field_
parentOffset_
t(int p ky $7I6w6$PM./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fieldenumeration.htmll$$ com.ibm.record.FieldEnumeration <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.fieldenumeration_dsc.html#_top_">com.ibm.record.FieldEnumeration (no frames)</a></b></p> </body> ent o k@!$l"7I6w6$el"./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fieldenumeration_dsc.htmlmi.htm$$ Class com.ibm.record.FieldEnumeration

Class com.ibm.record.FieldEnumeration

java.lang.Object
   |
   +----com.ibm.record.FieldEnumeration

public class FieldEnumeration
extends Object
implements IFieldEnumeration

This class describes the field enumerator for a dynamic record type. It defines the methods necessary to iterate through the fields of a dynamic record type.


Constructor Index

FieldEnumeration(OrderedDictionary)
This default constructor creates a new instance of a FieldEnumeration on the specified collection.

Method Index

field()
This method returns the field to which the enumeration currently points to.
hasMoreFields()
This method tests to see if the record contains more fields to iterate over.
indexOfField()
This method returns the index of the field to which the enumeration points to.
isValid()
This method tests to see if the enumeration points to a field in a record.
locate(String)
This method attempts to locate a field in a record with the specified name.
nextField()
This method returns the next field in the record.
setToFirst()
This method sets the enumeration to the first field in the record in interation order.
setToLast()
This method sets the enumeration to the last field in the record in interation order.
setToNext()
This method sets the enumeration to the next field in the record in interation order.
setToPrevious()
This method sets the enumeration to the previous field in the record in interation order.

Constructors

FieldEnumeration
 public FieldEnumeration(OrderedDictionary collection)
This default constructor creates a new instance of a FieldEnumeration on the specified collection.

Parameters:
collection - The collection to create an enumerator on.

Methods

field
 public IAnyField field()
This method returns the field to which the enumeration currently points to.

Returns:
The field the enumeration currently points to.
hasMoreFields
 public boolean hasMoreFields()
This method tests to see if the record contains more fields to iterate over.

Returns:
true if the record contains more fields; false otherwise.
indexOfField
 public int indexOfField()
This method returns the index of the field to which the enumeration points to.

Returns:
The integer index of the field; -1 is returned if the enumeration is not valid.
isValid
 public boolean isValid()
This method tests to see if the enumeration points to a field in a record.

Returns:
true if the enumeration points to a field in a record; false otherwise.
locate
 public IAnyField locate(String fieldName)
This method attempts to locate a field in a record with the specified name. If the field is found, the enumeration points to that field in the record.

Parameters:
fieldName - The name of the field to locate.
Returns:
The field associated with the specified name. null is returned if the field name does not exist in the record.
nextField
 public IAnyField nextField() throws NoSuchElementException
This method returns the next field in the record.

Returns:
The next field in the record.
Throws: NoSuchElementException
There are no more fields left in the record.
setToFirst
 public boolean setToFirst()
This method sets the enumeration to the first field in the record in interation order. Invalidates the enumeration if the record is empty.

Returns:
boolean Returns true if the record is not empty; false otherwise.
setToLast
 public boolean setToLast()
This method sets the enumeration to the last field in the record in interation order. Invalidates the enumeration if the record is empty.

Returns:
boolean Returns true if the record is not empty; false otherwise.
setToNext
 public boolean setToNext()
This method sets the enumeration to the next field in the record in interation order. Invalidates the enumeration if there are no more fields left in the record.

Returns:
boolean Returns true if there is a next field; false otherwise.
setToPrevious
 public boolean setToPrevious()
This method sets the enumeration to the previous field in the record in interation order. Invalidates the enumeration if no such field exists in the record.

Returns:
boolean Returns true if a previous field exists; false otherwise.

rue< k"$7I6w6$PM./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fieldenumeration_mi.htmlmi.htm$$ Method Index for com.ibm.record.FieldEnumeration

Constructor Index

FieldEnumeration(OrderedDictionary)

Method Index

field()
hasMoreFields()
indexOfField()
isValid()
locate(String)
nextField()
setToFirst()
setToLast()
setToNext()
setToPrevious()
href=" k"d#$7I6w6$P O./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fixedlengthcomposedtype.htmlhtm$$ com.ibm.record.FixedLengthComposedType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.fixedlengthcomposedtype_dsc.html#_top_">com.ibm.record.FixedLengthComposedType (no frames)</a></b></p> </body> =" k0$$y 7I6w6$ fy ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fixedlengthcomposedtype_dsc.htmlhtml$$ Class com.ibm.record.FixedLengthComposedType

Class com.ibm.record.FixedLengthComposedType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.FixedLengthType
                   |
                   +----com.ibm.record.FixedLengthComposedType

public abstract class FixedLengthComposedType
extends FixedLengthType
implements IFixedLengthComposedType

This interface describes a data type which is composed of one or more simple types. A composed type can be an array, an overlay or union, or a nested record. A composed type has an alignment, and a packing hint, and it knows how to align or pack itself based upon these hints.

The most common packing hints are 1, 2, 4, 8, and 16, where 1 indicates that the data items are packed on a byte boundary, and 16 indicates that the data items are packed on a 16 byte boundary. The alignment hint indicates how the composed type needs to be aligned in memory. If data types are by default packed along boundaries smaller than those specified by the packing hint, they are still aligned along the smaller boundaries.


Variable Index

packingHint_

Constructor Index

FixedLengthComposedType()
This default constructor creates an instance of a composed type.
FixedLengthComposedType(int)
This constructor creates an instance of a composed type with the specified packing hint.

Method Index

equals(Object)
This method determines if the two fixed length composed types are equivalent.
getAlignmentHint()
This method returns an alignment hint for the composed type.
getPackingHint()
This method returns the packing hint for the composed type.
getSize()
This method returns the size of the type in bytes.
pack(int)
Forces alignment and packing rules for the composed type, and sets any relative offsets of any fields contained in the composed type.
setPackingHint(int)
This method sets the packing hint for the composed type.

Variables

packingHint_
 protected int packingHint_

Constructors

FixedLengthComposedType
 public FixedLengthComposedType()
This default constructor creates an instance of a composed type. The default packing hint is to pack on an eight byte boundary, and the default alignment hint is to align on a byte boundary.

FixedLengthComposedType
 public FixedLengthComposedType(int packingHint)
This constructor creates an instance of a composed type with the specified packing hint.

Parameters:
packingHint - The packing hint.

Methods

equals
 public boolean equals(Object obj)
This method determines if the two fixed length composed types are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this fixed length composed type is the same as the obj argument; false otherwise.
Overrides:
equals in class FixedLengthType
getAlignmentHint
 public abstract int getAlignmentHint()
This method returns an alignment hint for the composed type.

Returns:
The alignment hint.
Overrides:
getAlignmentHint in class FixedLengthType
getPackingHint
 public int getPackingHint()
This method returns the packing hint for the composed type.

Returns:
The packing hint for the composed type.
getSize
 public abstract int getSize()
This method returns the size of the type in bytes.

Returns:
The size of the type.
Overrides:
getSize in class FixedLengthType
pack
 public abstract void pack(int startingOffset)
Forces alignment and packing rules for the composed type, and sets any relative offsets of any fields contained in the composed type.

Parameters:
startingOffset - The offset that the packing is to start from. Some alignment algorithms need to know where in current structure the alignment is starting at.
setPackingHint
 public void setPackingHint(int packingHint)
This method sets the packing hint for the composed type.

Parameters:
packingHint - The packing hint.

/pre>  kJ%$7I6w6$P#O./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fixedlengthcomposedtype_mi.html$$ Method Index for com.ibm.record.FixedLengthComposedType

Constructor Index

FixedLengthComposedType()
FixedLengthComposedType(int)

Method Index

equals(Object)
getAlignmentHint()
getPackingHint()
getSize()
pack(int)
setPackingHint(int)

Field Index

packingHint_
als k&$7I6w6$PP./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fixedlengthrecordtype.htmlhtml$$ com.ibm.record.FixedLengthRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.fixedlengthrecordtype_dsc.html#_top_">com.ibm.record.FixedLengthRecordType (no frames)</a></b></p> </body> hre k*'$=7I6w6$@f=./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fixedlengthrecordtype_dsc.html$$ Class com.ibm.record.FixedLengthRecordType

Class com.ibm.record.FixedLengthRecordType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.AnyComposedType
                   |
                   +----com.ibm.record.AnyDynamicRecordType
                           |
                           +----com.ibm.record.AnyFixedLengthRecordType
                                   |
                                   +----com.ibm.record.FixedLengthRecordType

public abstract class FixedLengthRecordType
extends AnyFixedLengthRecordType
implements IFixedLengthRecordType

This class defines the behavior for a dynamic collection of explicit field descriptors. This includes the ability to add, insert and retrieve field descriptors, and to iterate over the field descriptors through an enumerator. It describes the type, or field content, of a record. When extending this class, the pack() and getSize() methods must be overridden.


Variable Index

padFieldCounter_
size_

Constructor Index

FixedLengthRecordType()
This constructor creates an empty instance of a dynamic record type.
FixedLengthRecordType(int)
This constructor creates an instance of a dynamic record type with the specified packing hint.

Method Index

addPadding(int)
This method adds padding or buffer space to the end of the current record structure.
addPaddingAfter(int, String)
This method adds padding or buffer space after the specified field name in the current record structure.
canConvertFromObject()
This method indicates whether the described type is actually able to convert from a java.lang.Object to its value.
canConvertToObject()
This method indicates whether the described type is actually able to convert its value to java.lang.Object.
createPaddingFieldName()
Creates a unique field name for a padding field.
equals(Object)
This method determines if the two fixed length record types are equivalent.
getObject(IRecord, int)
This method returns a Record with a copy of the bytes corresponding to this dynamic record type within the Record.
getRecordAttributesClass()
This method returns the class which implements the record attributes for the given record type.
getSize()
This method returns the size of the record structure in bytes.
pack(int)
This method forces alignment and packing for the dynamic record type, and sets all the relative offsets in the record and any sub records.
setObject(IRecord, int, Object)
This method overlays the bytes of the specified IRecord object onto the specified record bytes.

Variables

size_
 protected int size_
padFieldCounter_
 protected int padFieldCounter_

Constructors

FixedLengthRecordType
 public FixedLengthRecordType()
This constructor creates an empty instance of a dynamic record type.

FixedLengthRecordType
 public FixedLengthRecordType(int packingHint)
This constructor creates an instance of a dynamic record type with the specified packing hint.

Parameters:
packingHint - The packing hint of the record type.

Methods

addPadding
 public void addPadding(int length) throws IllegalArgumentException
This method adds padding or buffer space to the end of the current record structure.

Parameters:
length - The number of bytes of padding to add.
Throws: IllegalArgumentException
The length supplied is a negative number or zero.
addPaddingAfter
 public void addPaddingAfter(int length,
                             String fieldName) throws IllegalArgumentException, RecordFieldNotFoundException
This method adds padding or buffer space after the specified field name in the current record structure.

Parameters:
length - The number of bytes of padding to add.
fieldName - The name of the field to be add the padding after.
Throws: IllegalArgumentException
The length supplied is a negative number or zero.
Throws: RecordFieldNotFoundException
The specified field name does not exist.
canConvertFromObject
 public boolean canConvertFromObject()
This method indicates whether the described type is actually able to convert from a java.lang.Object to its value.

Returns:
true
Overrides:
canConvertFromObject in class AnyType
canConvertToObject
 public boolean canConvertToObject()
This method indicates whether the described type is actually able to convert its value to java.lang.Object.

Returns:
true
Overrides:
canConvertToObject in class AnyType
createPaddingFieldName
 public String createPaddingFieldName()
Creates a unique field name for a padding field.

Returns:
The field name for a padding field.
equals
 public boolean equals(Object obj)
This method determines if the two fixed length record types are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this fixed length record type is the same as the obj argument; false otherwise.
Overrides:
equals in class AnyFixedLengthRecordType
getObject
 public Object getObject(IRecord record,
                         int fieldOffset) throws RecordConversionUnsupportedException, RecordConversionFailureException
This method returns a Record with a copy of the bytes corresponding to this dynamic record type within the Record. There is no data conversion performed.

Parameters:
record - The record.
fieldOffset - The offset in the record bytes of where to retrieve the value.
Returns:
A Record with a copy of the bytes.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this type.
Overrides:
getObject in class AnyFixedLengthRecordType
getRecordAttributesClass
 public abstract Class getRecordAttributesClass()
This method returns the class which implements the record attributes for the given record type.

Returns:
The class which implements the record attributes for the given record type.
Overrides:
getRecordAttributesClass in class AnyFixedLengthRecordType
getSize
 public int getSize()
This method returns the size of the record structure in bytes.

Returns:
The size of the record structure in bytes.
Overrides:
getSize in class AnyDynamicRecordType
pack
 public void pack(int startingOffset)
This method forces alignment and packing for the dynamic record type, and sets all the relative offsets in the record and any sub records. The packing algorithm followed is that for a C language structure. The alignment of the record is that of its strictest member. If the data types are packed along boundaries smaller than those specified by the packing hint of the record, they are still aligned along the smaller boundaries. Padding may be inserted at the end of the record so that it conforms with the alignment and packing hints.

Parameters:
startingOffset - The offset that the packing is to start from. Some alignment algorithms need to know where in current structure the alignment is starting at.
Overrides:
pack in class AnyDynamicRecordType
setObject
 public void setObject(IRecord record,
                       int fieldOffset,
                       Object value) throws RecordConversionFailureException, RecordConversionUnsupportedException
This method overlays the bytes of the specified IRecord object onto the specified record bytes. There is no data conversion performed.

Parameters:
record - The record.
fieldOffset - The offset in the record bytes of where to set the value.
value - An IRecord object to overlay onto the record bytes.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this type.
Overrides:
setObject in class AnyFixedLengthRecordType

 kp($i7I6w6$0Pi./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fixedlengthrecordtype_mi.html$$ Method Index for com.ibm.record.FixedLengthRecordType

Constructor Index

FixedLengthRecordType()
FixedLengthRecordType(int)

Method Index

addPadding(int)
addPaddingAfter(int, String)
canConvertFromObject()
canConvertToObject()
createPaddingFieldName()
equals(Object)
getObject(IRecord, int)
getRecordAttributesClass()
getSize()
pack(int)
setObject(IRecord, int, Object)

Field Index

padFieldCounter_
size_
d - The k)$7I6w6$P Q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fixedlengthtype.html_mi$$ com.ibm.record.FixedLengthType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.fixedlengthtype_dsc.html#_top_">com.ibm.record.FixedLengthType (no frames)</a></b></p> </body> /a lҫ*$7I6w6$f[./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fixedlengthtype_dsc.htmlhtml$$   deort.<>acilns "/bfhmpu=R_gvxy#(),:CEITqw&-;ADFOUj BLPS0HVk'14J[]z3589MW!+2?G|7NYPSmW;OAŖ"F\$Nkǖ]@B޲HQY$(x0PpP,<Wmj$TmeAR }k9ۨA Pejpچ+hvv?i։tl ``)dIoXͩ d}Ç"308 P᠐8 HV_K$ǶK=9M: ӃǡDY$(HQ#oP8( E}$p 0BIBR[I {@IXiKV2k(1%biA.%bIūej{֦}f P e$q)\:vBv+/DTDz1ՌƜ=E}Le$={#NR {#b4IL{);OyK=|DzZuT[{ŒGZ Y$B"mym )<(x5,? {#=.06R p3NB6Qgd2I g;(%%%%dX5Xfi.bԝ@YKk@bAfiزHI`0Le$q)@~BZ@YKmzry)@xx)Ed?`3lӔH)ê@z8\# p3NGc[Q>똧˃rBA}Co#z sF=Ў$=z 4RI!H,v,BJt&ŒBuG"ݼКI ,Y$*^HTU3hgJMpi= 1jN p3NSTpx)Ea$WfS6Gd^uO}@fzHQrBŨY$~Ӯxt&B8I :Le$q)\:vBZh GY  z4=.06R*y!]Ю `%Ăt$h GY  z4ذT pYnG_5{nCx=:kI X sSlӔIR;GB-I{A>! b^ H,m7BJ]"Ea $2ty\=Ш#| ӾBٕA cHTU3hgJMpi= 1jN2 dht5Ea$WyΏ>2?NǸdo9mӫ)$Հg;(%6K=9M/ Ӵz.bԝeh vdgJCSo$+RVoAEa© $24k~(7s.LA?c[QI!STvQJmzry)5ê_Ph(\ũ;Ox8~ClӔHpmwCBJX~ҋbSo$+Ieh"Qo@#zkj1I$*u`*4IMNSo%&uK4 'iZs0!z\am8U6B%,ehań HWt4$?TѬEށs0 $Հg;(%6K=9M/ Ӵz.bԝeh&1=.06R*y!]В2hQlX@pmwCBI#LM_ m@Qo@mF7$NS9F)z\am}@fСs=+AOhClӔHpmwCBJXS횢ذT G_5xA9hA?c[QI!STvQJmzry)5ê_Ph(\ũ;Ox8hClӔHpmwCBJXjbSo$+Ieh"Qo@D5$:Le$q)\:vBZgJCSo$+RV-MhI$~ XD0 $Հg;(%6K=9M/ Ӵz.bԝeh,m7BgJCSo$+RVuEa© $24k~(7pYnD5$:Le$q)\:vBZNІq)T IךذT G_5xAP.ʞmӫ+NI$*u`*4IMNSo%&uK4 'iu ~BgJCSo$+?h@(+RChń HW0~PWt4$?T9֝sY#o0~xi) 6?NH= XGN:٪-MhW5 $24k~(7s_l(7~ƶĒBVD=.06RkT3NPRvxևA<1ClӔHpmwCB5X 0MВ;\ǀ=QlX@pmwCB,m7BI#LM_vXk$Հg;(%6K=9M/ Ӵz.bԝ5Іq)T wCBJ\kC-MhWt4$?TѬEށ #zkj1I$*u`*4IMNSo%&uK4 'ihp=.06R*y!]Ю1Ea© $24k~(7wD5$:Le$q)\:vBZƴ`6 NSo%!© b^ H,m7BJ\kAfiذT pYnG_5xA8,m7@ށڌoI X sSlӔIR;GB-I{Zy NSo%!© :BJ\k@5Ea© :BI#LM_ '^hA?c[QI!STvQJmzry)5ê_Ph(\ũ;Ox p3NŒBI@4P@IKQlY$(ł: ӃǡJ,ŒBY$t1o8uHPBI!EHTdW2z=  og5ê{4ФBY$(z!La$NKQlY$(ZuG:$uBIM:C.C@C6K=9M HWt4+X5{ 1  )j-$M!!!FY$!H"ce:C.C@C)D=.06RHRvq{h )a©ؿ $Si $,m7{nC@CBC)dz#Lh"GY Xkh O|~VSni{ҋm-$Iej?S1`C1D-EHL6x_)HL|65 ίf}:So'?j>'VQ$}:BT]5Ge|kp7:nCx=`6oA]GRIU"Y$Wۚ^4sK$\j.ed$3ВA>! b^ H,m7BJZb!F.cY$) GA.LXwـВHQhe,/Y$~}i>kkt*=:5ê{4ШezEX#LRGu}F,f0ȅI0! b^ H,m7BJ]"E}{#sSlӔK ?GB-I{, <Vm}:=I$WbVZ1d_:0k9oCcѯf:BIb_S9F)z\am)ۀȺkrsi u\ũ;Ox8T 9m!(,?S+kr涛>Q@gmmd]pI$WbZ1}Le$q)Knk"0(!y49.bԝ^Xm\Ed"^mHh낋b#2u|j;SpY\;{^mO0ӝФG.^2HQrBIC+@aA NSo%!© )j-$0b!He,:7?k)D=.06RHRvq{h )a©ؿ $]OYƴ'b1g;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.!PBjCG6\[vQJmzry)m6.=C]p1jN/me,U6C.k")z9AHk -$R!RG_ѬEށFcxH|~#*y!uR9HR $2KI!k"Y$Wy< ίI$Wu>AfWMot>_)f+Gu WǣI$TXr Qf,?S+W g0~ǣ^u}$?S1ae-EsSlӔNSo%u9P뀹Rvq{h )bpY\Ls C]pQlY$W9wGm7j|ۀȺHNŇ#b4IMNSo%9MEaPBjhsi u\ũ;Ox8T Eڐͤ5ŒGe|'VW$_N5FIU"Y$Wή әk{7zHNŇ#b4IMNSo%9MEX磕CHk-I{,Hemd]p1G(4si uEd_sX磕5ݩ:;nk"I#:vXBYg;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.!PBjCG6\[I#QڞۀȺ PBjy$?QrBBJZ L}6K=9M HWt4$,bVmJ,ŒBY$t1oDZ L})D=.06RHRvq{h )a©ؿ $o5lkB~#sSlӔNSo%uEښC]p1jN/me,U6C.k"2E/64si uEa]Le$q)Knk"끬sʡͤ5s=RSo$26.磔9زHQhe,/Y$~M_ m@Qo@mF7$xb1⩷pY\(!y!Hk $ HS+Td_Q>!j,ŒGe)٪,ŒBY$t1o5+AOhB4IMNSo%.m䋘'i*y*-MHSi vXz4IMNSo%9MEaPBjhsi u\ũ;Ox8T Eڐͤ5Ņu3hgJry- G*6\Z@YKMˀȺ cPh낋b!EHTdW4k~(7s_l(7~ƶĒGVm}:=I$WbVZ1d_:0k9oǣ^u}$?S1ae-EsSlӔNSo%u9P뀹Rvq{h )bpY\Ls C]pQlY$W9wGm7j|ۀȺHNŇ#b4IMNSo%9MEaPBjhsi u\ũ;Ox8T Eڐͤ5ŒGe|AfПeǩD=.06Smmd]pFE/66\Z@YKMˀȺ QA ͩ C]pQlXWS9F)z\am)ۀȺkrsi u\ũ;Ox8T 9m!(,ZK$KIe|F#z}`A?c[QI#"vXxm\Ed"^mHhI!H,?T/Y$WbcZ1d_m7:So%$_5lkx^65u|O0~}NI+q6\k$?S1bQD-EHL\5k{7zHNŇ#b4IMNSo%9MEX磕CHk-I{,Hemd]p1G(4si uEd_sX磕5ݩ:;nk"I#:vXBYg;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.!PBjCG6\[I#QڞۀȺ PBjy$?QrBBJZ 0MІq)T ŒBXYnI C)dDǹ`6eh,m7BvQJmzry)vSo$\ũ;Ox8TQl_mGt7|65?NS9F)z\am)ۀȺ"^mMm! 'i*y!uR9ذsSlӔNSo%u9P뀹Rvq{h )bpY\Ls C]pQlY$(2I ?T&b/F 0M(7~ƶĒGVm}:=I$WbVZ1d_:0k= ǣ^u}$?S1ae-EsSlӔNSo%u9P뀹Rvq{h )bpY\Ls C]pQlY$W9wGm7j|ۀȺHNŇ#b4IMNSo%9MEaPBjhsi u\ũ;Ox8T Eڐͤ5ŒGe|h"= fI#j9:3?Ƨ $ HS+Td_Q>!j,ŒGe)_G@ `?S1bQD-EHL!٘ڏ9;!zڏt #y)$TX,mf:j!j,ŒGe}Le$q)@~BZƀ ~BgJCSo$+?h@($ƀ ~T[ײ1g;(%6K=9Mz.bԝ^X"ǡJ-$\j.ed$3ВChq)T  ŒB^VmY$) GA3hgJtz, 'i= Xؿ@0)D=.06RHRvq{h )a©ؿ $?k?hADC}lkBI!EHTdWty\Gj9C1"swC*5 Ө>BDy `?S1`騅I3hgJY= 1jN@06K=9M HW0~PWt4$n: ?j*-k3hgJY= 1jN/me,ХŒG.^2HQrBIQLClӔHpmwCBo@$,bZ]b!He,:7Oh vdvQJmzry)vSo$\ũ;Ox8TQl_mGSi $.LǣA?NS9F)z\am)ۀȺ"^mMm! 'i*y!uR9ذsSlӔNSo%u9P뀹Rvq{h )bpY\Ls C]pQlY$(2I ?T&b/Fe#zkj1I$pCX>?NMˀȺ QA ͩ C]pI$)GZ$TXa Qf,?S+MWm䤒?S+溟 Mop٦ƷNڏxՕ#ƷƱI#25F\˷!ƱI$WbZ1}Le$q)Knk"끬sʡͤ5s=RSo$26.磔9زHL9snGu$_Q;,F!j,3hgJry- (뀹Rvq{h )bpY\(!y!Hk -$TyOmmd]p(!y!j,ŒGe)kiStvEGu}F,<vQJmzry)m6.#SCHk-I{,Hemd]pB(Ԇm!(,?S+WF=uú>(9= I$~Qs+$/Y$) >Mc!z\am8U6B^mA%-EdMcEHRK$&=mZ L})D=.06RHRvq{h )a©ؿ $u>AfТH&>= vXz4IMNSo%9MEaPBjhsi u\ũ;Ox8T Eڐͤ5Ņu3hgJry- G*6\Z@YKMˀȺ cPh낋b!EHTdW4k~(7yL}D5$8!,eNJHemd]pB(Ԇm!$#LRGu}F,f0ȅIOp6RI]OYƷyc[WmGټDd[Xi$_ǣ\ ί65FߍjI#:vXBYg;(%6K=9M6[pY\ cUm! 'i*y!u=ͤ5ŒGe|cWt|v8 $TXyb1 Qf/D=.06Smmd]pFE/66\Z@YKMˀȺ QA ͩ C]pQlY$Wί Gj{nk"t|/|QA ͩszHE֢VI .^HS<} *54!z\am8U6B\4$,bZ }TY$!H"c6>54!Le$q)e6EZ@YKMHQ$]OYƴ(?_l5F~#sSlӔNSo%uEښC]p1jN/me,U6C.k"2E/64si uEa]Le$q)Knk"끬sʡͤ5s=RSo$26.磔9زHQhe,/Y$~M_ 4 $`;,F'VW$ߧWǣI$T=nus_l5FߍjI#:vXBYg;(%6K=9M6[pY\ cUm! 'i*y!u=ͤ5ŒGe|cWt|v8 $TXyb1 Qf/D=.06Smmd]pFE/66\Z@YKMˀȺ QA ͩ C]pQlY$Wί Gj{nk"t|/|QA ͩszHE֢VI .^HS<} *5v z4=.06R*y!]Ю `%Ăt$,bZkǣJ,ŒBY$t1on;\ǀ=S9F)z\amMs=RÅSo%E)I 溟 MhQ$ tcC;,F=Le$q)Knk"끬sʡͤ5s=RSo$26.磔9ذsSlӔNSo%uEښC]p1jN/me,U6C.k"2E/64si uEdY$*^HS+5{sƱc[QI#"vXxm\Ed"^mHhI!H,?T/Y$WbcZ1d_m7:So%$_5lkx^65u|O0~}NI5N5FIA<1p1k{0M߷ZHNŇ#b4IMNSo%9MEX磕CHk-I{,Hemd]p1G(4si uEd_sX磕5ݩ:;nk"I#:vXBYg;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.!PBjCG6\[I#QڞۀȺ PBjy$?QrBBJht4!z\am8U6B]ВزHQht5EHRK$&=mZ S9F)z\amMs=RÅSo%E)Io5lkB# Xh'b1g;(%6K=9M6[pY\QA ͩͤ5s=RSo$26.!PBjCG6\[vQJmzry)m6.=C]p1jN/me,U6C.k")z9AHk -$R!RG_ѬEށ #zkj1I$pCX>?NMˀȺ QA ͩ C]pI$)GZ$TXa Qf,?S+MWm䤒?S+溟 Mop٦ƷNڏxՕ#ƷƱI#25F]5FߍjI#:vXBYg;(%6K=9M6[pY\ cUm! 'i*y!u=ͤ5ŒGe|cWt|v8 $TXyb1 Qf/D=.06Smmd]pFE/66\Z@YKMˀȺ QA ͩ C]pQlY$Wί Gj{nk"t|/|QA ͩszHE֢VI .^HS<} *5=`ClӔHpmwCBJZb!F.5=b1d2IL{ۧƴ S9F)z\amMs=RÅSo%E)I 溟 MhQ$}gǣA?NS9F)z\am)ۀȺ"^mMm! 'i*y!uR9ذsSlӔNSo%u9P뀹Rvq{h )bpY\Ls C]pQlY$(2I ?T&b/F(7~ƶĒG'VW$ߧWǣI$T=nupYnz5kRIb_S9F)z\am)ۀȺkrsi u\ũ;Ox8T 9m!(,?S+kr涛>Q@gmmd]pI$WbZ1}Le$q)Knk"0(!y49.bԝ^Xm\Ed"^mHh낋b#2u|j;SpY\;{^mO0ӝФG.^2HQrBIQNІq)T xy%-Ed$Qf,R#sxtց'^hB4IMNSo%.m䋘'i*y*-MH 溟 MhQ$:x= vXz4IMNSo%9MEaPBjhsi u\ũ;Ox8T Eڐͤ5Ņu3hgJry- G*6\Z@YKMˀȺ cPh낋b!EHTdW4k~(7xyQo@mF7$xb1⩷pY\(!y!Hk $ HS+Td_Q>!j,ŒGe)!j,ŒGe)X$ Wm=At (Oz t (Hn-[+TOc޵30ehW;(%6K=9M/ ӴzY\E}Le$ʤ=f4-g;(%1kRv{cT[vQJcQI{X!S=ӮbصEE,?^\j !H-Le$>1;O+0ehpچ88%%%% 0=#i\ɬP+$8Ĕ)\ ĔŨI ,ˑ$vA$$?Q kT+$7I6w6$Q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.fixedlengthtype_mi.html$$ Method Index for com.ibm.record.FixedLengthType

Constructor Index

FixedLengthType()

Method Index

checkConstantValue(IRecord, int, Object)
equals(Object)
getAlignmentHint()
getBoolean(IRecord, int)
getByte(IRecord, int)
getChar(IRecord, int)
getDouble(IRecord, int)
getFloat(IRecord, int)
getInt(IRecord, int)
getLong(IRecord, int)
getObject(IRecord, int)
getShort(IRecord, int)
getSize()
getString(IRecord, int)
packageBytes(IRecord, byte[])
retrieveBytes(IRecord, byte[], int)
setBoolean(IRecord, int, boolean)
setByte(IRecord, int, byte)
setChar(IRecord, int, char)
setDouble(IRecord, int, double)
setFloat(IRecord, int, float)
setInitialValue(IRecord, int, Object)
setInt(IRecord, int, int)
setLong(IRecord, int, long)
setObject(IRecord, int, Object)
setShort(IRecord, int, short)
setString(IRecord, int, String)
 k{,$7I6w6$P7Q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianycomposedtype.htmll$$ com.ibm.record.IAnyComposedType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ianycomposedtype_dsc.html#_top_">com.ibm.record.IAnyComposedType (no frames)</a></b></p> </body> ord,  k|-$7I6w6$`Q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianycomposedtype_dsc.htmltml$$ Interface com.ibm.record.IAnyComposedType

Interface com.ibm.record.IAnyComposedType

public interface IAnyComposedType
extends IAnyType

This interface describes a data type which is composed of one or more simple types. A composed type can be an array, an overlay or union, or a nested record. A composed type has an alignment, and a packing hint, and it knows how to align or pack itself based upon these hints.

The most common packing hints are 1, 2, 4, 8, and 16, where 1 indicates that the data items are packed on a byte boundary, and 16 indicates that the data items are packed on a 16 byte boundary. The alignment hint indicates how the composed type needs to be aligned in memory. If data types are by default packed along boundaries smaller than those specified by the packing hint, they are still aligned along the smaller boundaries.


Method Index

getPackingHint()
This method returns the packing hint for the composed type.
pack(int)
Forces alignment and packing rules for the composed type, and sets any relative offsets of any fields contained in the composed type.
setPackingHint(int)
This method sets the packing hint for the composed type.

Methods

getPackingHint
 public abstract int getPackingHint()
This method returns the packing hint for the composed type.

Returns:
The packing hint for the composed type.
pack
 public abstract void pack(int startingOffset)
Forces alignment and packing rules for the composed type, and sets any relative offsets of any fields contained in the composed type.

Parameters:
startingOffset - The offset that the packing is to start from. Some alignment algorithms need to know where in current structure the alignment is starting at.
setPackingHint
 public abstract void setPackingHint(int packingHint)
This method sets the packing hint for the composed type.

Parameters:
packingHint - The packing hint.

/ k9.$7I6w6$`~./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianycomposedtype_mi.htmltml$$ Method Index for com.ibm.record.IAnyComposedType

Method Index

getPackingHint()
pack(int)
setPackingHint(int)
d M kƁ/$7I6w6$P:Q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianydynamicrecordtype.htmlml$$ com.ibm.record.IAnyDynamicRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ianydynamicrecordtype_dsc.html#_top_">com.ibm.record.IAnyDynamicRecordType (no frames)</a></b></p> </body> The  lꤺ0$.27I6w6$fZ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianydynamicrecordtype_dsc.html$$   deirt.<>achlmnos "/bfp=F_guxy#(AENRTvw),:IS-0Cj 13DHPV24589MW!?G7;OYq@ Ѧfe(4g\|zQTR@f t2) t:]u$ PA=p~9!Tee=tJHvnP09 DƛDO ҙh=lVF=008 I9`0 +jycxL|X?p P @_ `$m$?k R=.'h:KHXhV޶@)IHX䂈 @Pp%$w;D?&:bLRQm\2kMlMR⃒MiHJHѸlrԡ_UC'`i=F%pq)p=dk^RᓣM\R," Rzٔ`rw*sIHF<blve5jٮi)kxF5+(䩭zQ;5% otُSEk!1AJJ ֥ln$VPTbH1K-M2[kQ) 냏eKINR4 tdAL tKR@u޶WQvѿa2 of>~Ves.>j+7au>~+k2+?2梼v ΧxV+aj+.i  ]6zίdjH Đ:ާPrmC J RH D?ZO>ha"HԐ:'RP̣8[d5u)pѦЙsAU2" 8[d. RRM4Ed @e?ǫtO>S.>;ע@HB2Jn>R{Sשּ'FBf+;5Tȋ9X 8[d. n1Gj(x))Tȋ9X`@;ƈl'r( @e?ǫt3k>MٗS̺lYD/2)prD@*ٔ`rWq ڞ6FN.:41Yٮh*D]6A": 8[d. RRMx$. R)f=\˦}erU^}eu̧'pZ^QWfQ\{-\2Ojx:הdhLgf]6A Pb=\˦Tcڶ޳]u<˦oYoKIWfQ\{-\2Ojx:הdhLgf]6b %&]6b`)ˏuk!?+EOma̺lίd: veDz|$SyKN6Vvk ** }ܲDj`))ZKH>Yb5Q RA&S[.=լW[UZƶOe|'w,{QC>\2~6@HB2Jn>R{Sשּ'FBf+;5t(Ed Pb/2)prARԐ:ާPr]ZLIJ RH ġ+Y "H S9*t\{-\2NxM))AJIdEeAI ~hk.;^\Ll!]F%pq)p=Ll4N$.()I]6@Y B2Jn>R|$˦΍6 SnhbݸReeu)J2㱡v3悉$R"P;r#B\v!F)It+(=.'\2LlNc[CFf+;54I) $Ed%Nh& bݸ=)$IZ)1]6~+ϬyKO輣: IZNb[Y: -$O2n]6~×]S5' Dz H[2Ю̣8[d)p2鳣MCۚ7n1Yٮh(IHU.".!cMh SnB.ۃR@~s.>˫xXʞxg\2~6@dbAE]F%pq)p>Reeu)J2㱡v3悉$R"P;r#B\v!F)I Dx[+N>M*FqW\2N@dbAE]F%pq)p>Reeu>7n1Yٮh(IHU.".!*uA5F)I Dx[+N>Mq?+tÐ?*Z2ARԐ:ާPrU2"f.=.'h* Qڧ8'r( JPR@-*t3kQi t-㸥 Tȋ9X veDz|$2&b\Q;D@;ƈl't?w-⹗M:Y B2Jn>R|$˦΍6 SnhbݸRee -CFf+;54I) $Ed&"!F)It+(=.'\2LlN7)R6\v41tn&b\Q;D\2D]6BTnRh@ˎ bݸ=) nveDz|$KIMlkhbݸRegFO)41tn&b\Q;D\2D]6BƛA0܄ ]$)1Yj-O]6}ǗV]S5?a̱=Zϔdm-!lOB2Jn>R|$˦@[.ۃVvk '`hRKHL4DB.ۃR@W2yM:êg+t3k<£ 2 Dz H[2Ю̣8[d)p2:ܥHqѻpxsAD JBpt SJ.;v?e<-̺lꙩnRoe|$OAi f@6 tZzٔ`rWq .&]6^Sᱭv3悉$R"PL4Z1tnL3+tooMjN9AS) t-I]u%S". y\{-\2NxM))AJIdEd"/#(: IE_QqRBdEd"/#WfQ\{-\2Ojx."f+;54I)h RyM/dcЮ̣8[d)p2鳣MCۚ7n1Yٮh(IHU.".!cMh SnB.ۃRWfQ\{-\2OdtzJnRm hbݸ˫xXʞxg\2~6@dbAE]F%pq)p>Reeu)J2㱡v3悉$R"P;r#B\v!F)I Dx[+tSJ\v> ?u=-؁QiWfQ\{-\2OdtzOƶ.ۃVvk '`hRKHJA0Mh@ѻpz RH2SϬeg{5]6y: LT$w. 1Gj(x))AJItZH$m){Ю̣8[d]6DVvk '`hRxM. ܷ]6BTf@6= 09+eKI ./o7n1Yٮh(IHU.".!07nAJIr@薤Dx[.=լW2vᷬ6f]O2@up[RrA 2KR@Sk"AE)]6BT7 ewgW2rNVI&S\˦VexK.tSOAi f@6 tZzٔ`rWq .&]6_ 241tn&b\Q;D\2D]6Ba -1tnLMٗS̺lo9AS) t-I]u$˦A)$ef((: IE_QqR]F%pq)p=t٧ub3悉$]6B-ՊۃR̺l @(ܤ:% 2ˏuk!?+EOma̺lίdjHLԐ?u=*^> tZH2Oma̺lίdARԠ: Ю:** }ܲDj`))AJI $w,{QAI ~hk.;^!xЪ\2Ar!AIZ)lV^>?Y]mTcYkgu?c ܲG ~*))p49Ԑ?J% Dz HUh|@(?e<-F<5{qS?Y_)p,^yϬ2 M?*Z2ARԐ:ާPrrtTOpNP$ZrtAEnRH,◼2?) M`NWz@_ǡ]F%pq)p>Ree -CFf+;54I) $Ed&"!F)I tnRHԐ?O @2̺l}exK.NoOߔd ^9Ԑ?J% Dz H V)յ@nSϬeg9uʓ?u=-؁QiWfQ\{-\2Odt|4 |ѻpxsAD JBpt @ѻpz RH26f]O2ާWT{ᾆ\t LT$w" 1Gj(x7TOpNP$ZrP -$r@e\wᐹOSEdo̺l ;]P2WfQ\{-\2Odt|4 |ѻpxsAD JBpt @ѻpz R@ 09+eKI ./SMT ]4N$* M:۔27nAJIr@薤DxU=Ns.>/2)prA 2KR@Sk"AE)]6BT7 ewgW2OSN@hJ\l SϬedOAi f@6 tZzٔ`rWq .&]6_ 241tn&b\Q;D\2D]6Ba -1tnLMٗS̺lo9'SZBِ veDz|$KIMԦ*FˎƆ.ۃVvk '`hRKHJ@Tq؄ ]$)liveo2ާWSr#} }+.' T(*e$ t+N.]6A(So냏eKI"%()I tZЋ -$r@e\wᐹFKM`NWz@b]F%pq)p=Ll4N$.()I]6@Y B2Jn>R|$˦΍6 SnhbݸRee -CFf+;54I) $Ed&"!F)I tnRHԐ?O ZzMzϬive.=up}exK.MoOߔd ^?l: ]6|¢@޶)R@e(- )XVDI&SާW[+N>M5]I2eg-̺l.QRN@dbAE]F%pq)p>RegFO)41tn&b\Q;D\2D]6BƛA0܄ ]$)1Yj-O]6}ǗV]S5?a̱=Zϔdm-!lOB2Jn>R|$˦@[.ۃVvk '`hRKHL4DB.ۃR@W2yM:£ 2 T(*e$ t3@ mxrr3IJ5EpɬHO]55KHO]5f(9 9) FQEkR}V HeDz|$SyKN6sIH; )IWfQܪ;5% CUuŰj Rzٔ`rT֭j'fCUPRЮ̣uD4Ef=O)(*.SZAZIASa r t+(0ShRvkZORpXrNrrQ)⬷,ѧfˆM`r@rx@X Hp'@@HXr@0R@(HԐ: f rЮ̣ k1$#7I6w6$@hQ#./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianydynamicrecordtype_mi.html$$ Method Index for com.ibm.record.IAnyDynamicRecordType

Method Index

addField(IAnyField)
addFieldAfter(IAnyField, String)
addFieldAsFirst(IAnyField)
fieldAt(String)
fields()
getRecordAttributesClass()
removeField(String)
renameField(String, String)
replaceField(String, IAnyField)
AR k2$7I6w6$P=Q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianyfield.htmlr$$ com.ibm.record.IAnyField <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ianyfield_dsc.html#_top_">com.ibm.record.IAnyField (no frames)</a></b></p> </body>  l3$]7I6w6$fn./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianyfield_dsc.htmlpe_mi$$    deort .<>achilns /bfmpu"T_v#(),=CEIRgxy-:ABFLOVw DHJNPSUjGXq01KMWZ[]kz'349;!258?Y7H3l3+K0^q@r;=[)[")G-ޣG%֯e`$  pچ * J8%֯t=\40Pmj&e mCCm i ~Ư#Z@0E(s@ O$O{x$ @88kGmaKevYhq%)LnI}(㤆G$܉DYo  `X%(~ . 0`$\7`ptR%ɼ@+:!We=.e q;Nʓ+ 3l]E eZ2y(r&SomepI|<Tt([HnJ zxƉ}E [Ǯ1[(׮1}E [QCtP%S=pHZDK[ޤ5d%Tq:ZE$ rx1bqWeZ2y(L|tUTEtqL깆3XR]$<0[ QI$qmt{-q5S"pYngeO)E+e_3(/좣Z18̱kz>5XW&eG>N:LQKqG+Yt)Кt8Y/ #Utq:+(0S,8єC2O![a 8 X ” 008 pXxp0I Q3*|=| Tu8P )ZIheˀNɋ-Hx$  X ”A@`pŀ` fU-\zK뾠#ALT(LKFS/%\u>FLXoD `p08 pXxp0`8@@!”A@`pŀ` p,<CBqLʿ=_r}wuo_-bN,\%8n)-*?Z۞ #Utq:+(0S,8єC2O![`#h%ZIheFLXo C-LS/$/)B5=S/$/qLʿGZ۟#_$Ok[ͯe}mrOֺ[^&SS~S/%3Rܢ2C-L9p)1b F'6B(F'6BqLʿGZ۟#ڏ*k|: $Oklm u@*W۔P`Yhq%).e:#&,Ctւ-$e2P!LJ E$-A! 8e_k˭mrG7k|Ch^J:gT}E eZ2y(r&S2b7Kx@hkW,KFS/%  PhkW!j ^H_t4(~-.?+MGk Ư8ռW)8ke1:2Pq:+(0S,8єC2O![kCnAy)B5I PHQ3*B܄~.xռ^}mrOtΨJr -$e2PLSdňn%-$e2P!LhPրi/S/$/qLʿGZ۟#_4^:'ݭt>L8T^J:gT}E eZ2y(r&S2b7Kx@h-gBBB(F|3)!j 8e_VB}u>Pq:+(0S,8єC2O![kAoK,8є@x2BB#Z }RB!LhQ3*[]]kn~V5|[ͯe}mrOֺ[^&SS~S/%3Rܢ2C-L9p)1b F>- ;\i$-A!G̫mtyuZnB?[]voVkyu>Pq:+(0S,8єC2O![kC,KFS/%  Ph|5$-A! 2ŵֶimp!cW 5o6u>N?Z}mxLqNLtΨJr -$e2PLSdňneD%ZIheN?Z}mxLqNLtΨJr -$e2PLSdňn%eHPց+.BqLʿGZ۟#_[\S3Rܢ2C-L9p)1b FHLЖYhq%) eCB(FHLԐS/$/qLʿGZ۟#_@f>Nk]))?)_nQAeĖ^J | #Z!O^mJ*5!B#Z!O^mJ*5!j 8e_k˭mrO^m{(օ+h^OoeVG]S:(8P )ZIheˀNɋ-5[o4%ZIheL8T^J:gT}E eZ2y(r&S2b7Kx@h JfU<7!m{+k|C'tΨJr -$e2PLSdňn/q eZ2y(^H_t4(Rk@@E$-A! 2ŵֶimp!cWy쯭Sq=CkcuOeu@*W۔P`Yhq%).e:#&,Ct֋2B(FXfU<7!fWN:gT}E eZ2y(r&S2b7KxCWۄuprm SWۄuprm$$(~.ֶ|=pGW Vkx^u@*W۔P`Yhq%).e:#&,Ct5qx9o6B)|[yfUFLXotD)r B)6I PHQ3*[]]kn~v<uOϸ?꟔ALT(LKFS/%\u>FLXohm:h9o6@ՍZHLСJhm:h9o6B $ hQ3* _e:o\ϭS򃎙_nQAeĖ^J | %-$e2P!Lh_4PFI}$${?꟔ALT(LKFS/%\u>FLXoh-gBB] ւOt%$-A.2mp t'_[\S3Rܢ2C-L9p)1b"5%ZIhe{?꟔ALT(LKFS/%\u>FLXoh|[y-$e2P!LhPF>-I PHx2BG̫mtyut[ռW)eD_nQAeĖ^J | ;\h$ Xա뀊 ևI!j 4(~-.>5\ϭS򃎙_nQAeĖ^J | hK,8є@x2B}СJh|5$-A! CB?W[s[,j#Yƭt6Nt>2Sy(8P )ZIheˀNɋ-\BYeĖ^J)  TkAS/$/p 8e_k˭mύlzy SqL8T^J:gT}E eZ2y(r&S2b7KxDk@A jƭ\P:!B%eHZ@@D(~-.>5Yu쯭SL8@E3Rܢ2C-L9p)1b"5@fC-LS/$/ՍZHLСJh46!j ^H_t4/IiqLʿGZ۟!cW6jmwCok|Ck))?)_nQAeĖ^J |  \`0nKPFB {?꟔ALT(LKFS/%\u>FLXoh3(%ZIhe<1bfPPFXLʼnAG̫.?[_D̯e}mrOt/QJ] r}DRBqRZU,N:HhTqҿAa 8 X ”T 008 pXxp0I̥~atoq`8,<8tfR:e8e\|=| TuI8"^, A@`pŀ` )I!j8%@Hx$  X  t4:s9N Hx$  X $z?W=_r}wuI8"^, A@`pŀ` p,<C)$-G$ $aŀ Xx$TqfR?0^x: t7"P08q`8,<8@x ㎒ QLG̫Oǯ^9d:v'i~.BLQIte`[sJI QKqIhTqz㤆G+Yt)`m:h9o6YeĖ^J) t6I̥~a&;fnKcip[͠(LKFS/%e䌘 3l!L|^HYCyʆJ*5G$z?WQ{k[Ypƭ*k|GCk))<=ʼn2q3%@ReD Q̫2xm|^J?e\CA]dnײoS/'Wt#)AΫV!$WK.i[He+˄up5o6ʍC@qYsJ)o$\ҽk %I*8"^, #Z }.,KFS/%  RHZ:IPh*$TqfR?0^uųy7oÈւKJW۔P`Yhq%)e2FLXo`J^JHZS/$,CAЯǥ}E eZ2y(e6.<ܪe 3l!LۀȺ [nPp(u$-A}+(0S,8єFS/%uD ښe 3l!LۀȺB&eԇ 2\BqAJ8门qmtyuZnB?[\XnK^:'ݭt>L8T^J:LQ3*LG:T/]mdA LʾS/'efU^T4QQ~-Lm{(+k2~zq.B?ZOLIPiA*8qm,j7oÍ[ͯe}mrOLIPI}E eZ2y(e6.<ܪe 3l!LۀȺ [nPp(u$-G2 -7+>kiSt{.k"?u]$[r$UҾܢ2C-Le2YpY\ M0ͩ&Qɋ-6)B d"i^mHp(u$-G2-I 4/6')A$KԒ&TqDG+Yt(F'-$e2P!LhP$㤕ւA*83)Gi/s:Ɏټ=#Z  Jr -$e2P^Hɋ-6)AI We䅜bҊhWҾܢ2C-Le2YpY\ [nU 2\LXo`J^Hmmd]p7(8If)ZIhe)ˀȺl"i^mM 2\LXo`J^Hmmd]p!L2jCFk !j8 ̥tqLʸ<7!,j"{\jm{+k|~v2Sy(81G̩2LIPYu$Tq3*L_)W1yPiEFY1좣[쯭jku>Pq3%B"IfUŶqy쯭SWI*ܰ|A t(LKFS/%L\E盕BL5![m0R)pY\kse$fU JW۔P`Yhq%)^K.k"끰y4$3]p1b fك(By!u M0ͩe$fUŶP 6=uú>&eD:(8zDʎ:H~ .ւVHP$㤕ւVH%G&e( %gY1[7'@kAB{Ach$(㤃2q/Q3*[s܄~"{Q^}mrOVY[\Sqv-tfTz?u]$B܄A LʸbڞHyW[\S/RHQIte`PBYeĖ^J))I!j8%B5=TqfR?0^uųy"{@|F'(LKFS/%e䌘 3l!L|^HQIe(^fUŵֶimrDsʍCcu>{qS/%mrDוCjyYemrOHbAI8eIgUJ˭!$We?LLIPiA*8pO$Ok1b|1(̨6?[\S[_)H$L㤉z:W0PhkW,KFS/%  RHZ:IPhkW t4dqlƯ8hkW)_nQAeĖ^J1b fك(Pq3%B"IfUŶj[ͯe}ku>Pq3%Bۖ!$)ZIhe)ˀȺRrIf2b7Kx@ͳ P2Cnk"-nyAL5Lʸ'<ܮmOq 8tm WJr -$e2Qemd]p64/6Fk&,Ct 0`S/$66.y!L5Lʸ&v6.wG ڞHֺ}K.iP5I wqpDI"eG$KqҿAk@k4K,8є@x2BBT#ZYA*83)Gi/s:Ɏپl_\FI}}E eZ2y(vS/$dňnf  e䤅2B? TkB,)ZIhe)ˀȺRrIf2b7Kx@ͳ P2Cnk"-nyAL5(LKFS/%L\EaL2jhIf2b7Kx@ͳ P2Cnk"aR$3]pI QIe(^fUŵֶimp!cW%ƭײNk]))?)qLʓ/QΫKŗ[YBH%G2-)W1yPiEFY1좣[쯭jku>Pq3%B"IfUŶfVk_[\S:T-`A*_nQAeĖ^J2y, -7*Fk&,Ct 0`S/$66.盔$3]pI Q̫yKsf7ˀȺWI*ܰ|A t(LKFS/%L\EaL2jhIf2b7Kx@ͳ P2Cnk"aR$3]pI Q̫m|mGj{.k"t|/|M0ͩku>PqI$t/QJ]  HHP$㤕ւOt%$2q3- 5S 8 ̥tqLʸimp t'_[\S&(&^WI*7!BH%G2-1Пe}mrO~翓^^[`@G[ͨ?IQ{\ҁa 8 X !4(K.i@Hx$  X !4(K.i@Hx$  X ,pH$9$2攒~ z?"^2%8_ˠB5%ZIhePq3%Bۖ!$)ZIhe)ˀȺRrIf2b7Kx@ͳ P2Cnk"-nyAL5Lʸ'<ܮmOq 8tm WJr -$e2Qemd]p64/6Fk&,Ct 0`S/$66.y!L5Lʸ&v6.wG ڞHֺ A$KԒ&TqDG+Yt(F>-$e2P!LhP$㤕ևRA*83)Gi/s:Ɏٽ#Z Jr -$e2P^Hɋ-6)AI We䅜t7h4Z`(LKFS/%L\E盕BL5![m0R)pY\kse$/}E eZ2y(e6.aSBL5![m0R)pY\D ڐ&QHZ:H3)G22-.?+MGk mqy쯭Sq=CkcuOe2q3%@ReD Q̫2xm|^J?e\CA]dnײoS/'Wt#)AΫV!$WBƯB5jm{+k|gUJ,BH%]+(0S,8єFS/%uP(udňnf  eEZrFk !j8pO)ny][Lڟ&#pY\q3%Bۖ!$)ZIhe)ˀȺl"i^mM 2\LXo`J^Hmmd]p!L2jCFk !j8qmMOemd]pyPq3%B"IfUŶy쯭SWI*ܰ|A t(LKFS/%L\E盕BL5![m0R)pY\kse$fU JW۔P`Yhq%)^K.k"끰y4$3]p1b fك(By!u M0ͩe$fUŶP 6=uú>&eD:(8zDʎ:H~ .ց+.B)$-G$F Yt QIJ8I{Lw^#k@A!G$z?WGZ۟#_[\S&(&^WI*7!BH%G2-_[\S/RHQIte`i m3BYeĖ^J) ti m3RA*83)Gi/s:ɎټHL#Z $ hJW۔P`Yhq%)e2FLXo`J^JHZS/$,o1yPiEF+r_nQAeĖ^J2y, -7*Fk&,Ct 0`S/$66.盔$3]pI P_Jr -$e2Qemd]p64/6Fk&,Ct 0`S/$66.y!L5tfR:e8e\[]]kn~V5~iʼ:'ݭt>L8T^J:LQ3*LG:T/]mdA LʾS/'efU^T4QQ~-Lm{(+k2~zq.B?ZOLIPiA*8qm,j7yu>Pq3%Bۖ!$)ZIhe)ˀȺRrIf2b7Kx@ͳ P2Cnk"-nyAL5Lʸ'<ܮmOq 8tm WJr -$e2Qemd]p64/6Fk&,Ct 0`S/$66.y!L5Lʸ&v6.wG ڞHֺPqI$t/QJ] y,KFS/%  RHZ:IPhI̥~a&;fxh Jr -$e2P^Hɋ-6)AI We䅜CyʆJ*5_[Jr -$e2Qemd]p)nyT$3]p1b fك(By!u<ܠ&QHZW۔P`Yhq%)^K.k"끰y4$3]p1b fك(By!u M0ͩe$㤃2q/Q3*[s܄~my쯭Sq=CkcuOe2q3%@ReD Q̫2xm|^J?e\CA]dnײoS/'Wt#)AΫV!$WBƯŷƭײN?u]$[r$UҾܢ2C-Le2YpY\ [nU 2\LXo`J^Hmmd]p7(8IfW盕5ͩn:=u:T-`A*_nQAeĖ^J2y, &eГ(udňnf  eE24/68IfW@$ڎ\E^aSG|%I*8"^, #Zh$(RBqJk@m$TqfR?0^uų{F pHQIe(^fUŵֶimxk_[\S=2q3%B"IfUŶ\쯭SH$L㤉z:W0PhC-LS/$/)I!j8%B5^" QIJ8I{Lw^#k@@D%+(0S,8єCy#&,Ct 0`S/%$-_)qt7h4Z`(LKFS/%L\E盕BL5![m0R)pY\kse$/}E eZ2y(e6.aSBL5![m0R)pY\D ڐ&QHZ:H3)G22-.?+MGk @G[ͯe}mrOֺ[^&SS~S/%&(&^WI*. J?e_)[k2Pq3*/* (?&6vTk}y?Z8 [tyN?u]$B܄A Lʸ5~;^:(8tm WJr -$e2Qemd]p)nyT$3]p1b fك(By!u<ܠ&QHZ?e\[nWt|6ɸ\ELIPI}E eZ2y(e6.aSBL5![m0R)pY\D ڐ&QHZ?e\[kj;SpY\;{i^mO$O]SH$L㤉z:W0Ph3($(RBqJkEI t4dqlޕ)ZIheˀC&,Ct 0``&,LI W&etfR:e8e\[]]kn~V3+_[\S&(&^WI*7!BH%G2-LW)A$KԒ&TqDG+Yt)m:h9o6B)$-G$m:h9o6A*83)Gi/s:Ɏټڸ#h$(㤃2q/Q3*;mkk:Nj˄up5o6:LQ3*LG:T!ZnB J?e],nI!4⾶Nj˄up5o6qYsJ)o$\ҽk %I*8"^, >- t!vo-H%G&e( %gY1[7v\;W;\h$(㤃2q/Q3*[sֶ|=p^&(&^WI*7!BH%G2\ҷ ˚Wq_[\Sqt[ռ9e(4sJ4H$L㤉z:W0S!Kl&)I!j8%N.AxH%G&e( %gY1[7v\;!Kl&qAJ8门qmtyuQ{k[Yu>{>4tfTz?u]$B܄A LʺYsJ6C.i]}mrOϸ5)ZIheL![m0R) 8bҊhYݾ5o6,)ZIhe)ˀȺRrIf2b7Kx@ͳ P2Cnk"-nyAL5(LKFS/%L\EaL2jhIf2b7Kx@ͳ P2Cnk"aR$3]pI QIe(^fUŵֶƶ=|XnK]:=cuOe2q3%@ReD Q̫2xm|^J?e\CA]dnײoS/'Wt#)A̫[ͮ\ƭAΫ nX> JW۔P`Yhq%)^K.k"Ksʡ&Qɋ-6)B  2\Bq3*Rr涙>M@G6. gUJ,BH%]+(0S,8єFS/%uD ښe 3l!LۀȺB&eԇ 2\Bq3*_(QڞˀȺ L2jy"ZODI"eG$KqҿAZ  eZ2y(^H_t4/')I!j8%Q $TqfR?0^uųxtւRܢ2C-L;)2b7Kx@ͳ Px2RBy!gt7h4ZqDռ ܰ|zW۔P`Yhq%)^K.k"Ksʡ&Qɋ-6)B  2\BҾܢ2C-Le2YpY\ M0ͩ&Qɋ-6)B d"i^mHp(u$-G$z?WGZ۟!cWVk[\S[\LqNLtfTz?u]$ ^,ȂA*8|^OmA̫h4[[kQQWej\5n~:(8qy[k'ƭAΫ nX> JW۔P`Yhq%)^K.k"Ksʡ&Qɋ-6)B  2\Bq3*Rr涙>M@G6. gUJ,BH%]+(0S,8єFS/%uD ښe 3l!LۀȺB&eԇ 2\Bq3*_(QڞˀȺ L2jy"ZODI"eG$KqҿAZ  [A$P RHZ:ITkAB{Aci$2q3-ۧƴ'6Is&@qAJ8门qmtyu)y"{]ckmxLqNu,M&(&^WI*. J?e\=Nbmu,O\=DI"eG$KqҿAZ ڈK,8є@x2B"{@a}СJI QI*h(Oj) t4dqloh(Oj!)_nQAeĖ^J1b fك("{G1b|ϭS򃎓qLʓ/QΫKŗ[YBH%G2~-y(8rD9~-XN$Oj JW۔P`Yhq%)^K.k"끰y4$3]p1b fك(By!u M0ͩe$fUŶP 6=uú>&eD:(8zDʎ:H~ .F6\4A jƭ\P $ hP$㤕F6\4I t4dql6>5 7\4AG$z?Wcpƭ*k|2q3%@ReD Q̫\4\Ŷ.xռ^}mrODI"eG$KqҿAZYYeĖ^J) f tրi/J:LQKβcon%)ZIheL![m0R) 8 TkB?٤ռ ܰ|zW۔P`Yhq%)^K.k"Ksʡ&Qɋ-6)B  2\BҾܢ2C-Le2YpY\ M0ͩ&Qɋ-6)B d"i^mHp(u$-G$z?WGZ۟!cW%ƭt6Nt>2Sy(81G̩2LIPYu$Tq3*L_)W1yPiEFY1좣[쯭jku>Pq3*Vkכ4_oƵ:T-`A*_nQAeĖ^J2y, -7*Fk&,Ct 0`S/$66.盔$3]pI Q̫yKsf7ˀȺWI*ܰ|A t(LKFS/%L\EaL2jhIf2b7Kx@ͳ P2Cnk"aR$3]pI Q̫m|mGj{.k"t|/|M0ͩku>PqI$t/QJ] h-gBB] tւOt%$2q3-ۧƴ|3!.Ot$+r}4 2\:H3)G22kc>:(81G̩2LIPYu$Tq3*: Om+k|= Q[`@G[ͨ?IQ{\ҁa 8 X !4(K.i@Hx$  X !4(K.i@Hx$  X ,pH$9$2攒~ z?u]$[r$U[8"iu eLʸ)OTG4XxHÁ2He(,A@`pŀ` sJ ,"P08q`8,<8@x ˚R?"^2%8_ˠQס,KFS/% kСJI QI*h-I̥~a&;fס)_nQAeĖ^J1b fك(׼jm}nX>=+(0S,8єFS/%uP(udňnf  eEZrFk !j _nQAeĖ^J2y, &eГ(udňnf  eE24/68If QLG̫k˭mύlz>׼jmwCok|Ck))?)qLʓ/QΫKŗ[YBH%G2~-y(8s Tkxmuy^*5L^~ˆЏֺ{y<=2q3%@ReD Q̫2xm|^J?e\CA]dnײoS/'Wt#)AΫ nX> JW۔P`Yhq%)^K.k"Ksʡ&Qɋ-6)B  2\Bq3*Rr涙>M@G6. gUJ,BH%]+(0S,8єFS/%uD ښe 3l!LۀȺB&eԇ 2\Bq3*_(QڞˀȺ L2jy"[\S/RHQIte`ևA jƭ\P $ hP$㤕F>-I̥~a&;fx9o6Ax9o6:H3)G22-.>5\ϭS򃎓qLʓ/QΫKŗ[YBH%G2;\kt[ռ^}mrODI"eG$KqҿAZ eZ2y(^H_t4/)I!j8%QTqfR?0^uųxtևBRܢ2C-L;)2b7Kx@ͳ Px2RBy!gCAг5o6,)ZIhe)ˀȺRrIf2b7Kx@ͳ P2Cnk"-nyAL5(LKFS/%L\EaL2jhIf2b7Kx@ͳ P2Cnk"aR$3]pI QIe(^fUŵֶƶ=|XChF[ͮmmrO}mse1:2Pqb?Re8t)xk"IfUy<ŶS/%2bҊomco7kEF_[_)ӏpպG|fUƭmo_oƵ:T-`A*_nQAeĖ^J2y, -7*Fk&,Ct 0`S/$66.盔$3]pI Q̫yKsf7ˀȺWI*ܰ|A t(LKFS/%L\EaL2jhIf2b7Kx@ͳ P2Cnk"aR$3]pI Q̫m|mGj{.k"t|/|M0ͩku>PqI$t/QJ] h2"-$e2P!Lh_}D(RBqJZ TqfR?0^uųxtփ.!)_nQAeĖ^J1b fك(=+(0S,8єFS/%uP(udňnf  eEZrFk !j _nQAeĖ^J2y, &eГ(udňnf  eE24/68If QLG̫k˭mύlzy SqL8T^J:LQ3*LG:T/]mdA LʾS/'efU^T4QQ~-Lm{(+k2~zq.B?ZOLʸռ~-pVk֠gUJ,BH%]+(0S,8єFS/%uP(udňnf  eEZrFk !j8pO)ny][Lڟ&#pY\q3%Bۖ!$)ZIhe)ˀȺl"i^mM 2\LXo`J^Hmmd]p!L2jCFk !j8qmMOemd]py5Jˠ/qYtqAJ8门qmtyuׂ˯e}mrOe1T:(81G̩2LIPYu$Tq3*Yu[keײN?"^2%8_ˠQ4%ZIhe Method Index for com.ibm.record.IAnyField

Method Index

checkConstantValue(IRecord, int)
getBoolean(IRecord, int)
getByte(IRecord, int)
getByteCache()
getBytes(IRecord)
getChar(IRecord, int)
getConstantValue()
getDouble(IRecord, int)
getFieldKind()
getFloat(IRecord, int)
getInitialValue()
getInt(IRecord, int)
getLong(IRecord, int)
getName()
getObject(IRecord, int)
getRelativeOffset()
getShort(IRecord, int)
getSize()
getString(IRecord, int)
getType()
hasConstantValue()
hasInitialValue()
isReadOnly()
setBoolean(IRecord, int, boolean)
setByte(IRecord, int, byte)
setByteCache(byte[])
setBytes(IRecord, byte[], int)
setChar(IRecord, int, char)
setConstantValue(Object)
setDouble(IRecord, int, double)
setFieldKind(int)
setFloat(IRecord, int, float)
setInitialValue(IRecord, int)
setInitialValue(Object)
setInt(IRecord, int, int)
setLong(IRecord, int, long)
setName(String)
setObject(IRecord, int, Object)
setReadOnly(boolean)
setRelativeOffset(int)
setShort(IRecord, int, short)
setString(IRecord, int, String)
setType(IAnyType)

Variable Index

FIXEDLENGTHFIELD
VARIABLELENGTHFIELD
VARIABLELENGTHFIELDWITHMAXSIZE
t(com.i kʱ5$7I6w6$PlQ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianyfixedlengthrecordtype.html$$ com.ibm.record.IAnyFixedLengthRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ianyfixedlengthrecordtype_dsc.html#_top_">com.ibm.record.IAnyFixedLengthRecordType (no frames)</a></b></p> </body>  k*6$7I6w6$@xQ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianyfixedlengthrecordtype_dsc.htmlhtml$$ Interface com.ibm.record.IAnyFixedLengthRecordType

Interface com.ibm.record.IAnyFixedLengthRecordType

public interface IAnyFixedLengthRecordType
extends IAnyDynamicRecordType, IFixedLengthComposedType

This interface defines the behavior for a dynamic collection of explicit field descriptors that has a fixed size. This includes the ability to add, insert and retrieve field descriptors, and to iterate over the field descriptors through an enumerator. It describes the type, or field content, of a record.


ibm. k7$7B5w6$pt./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianyfixedlengthrecordtype_mi.htmlhtml$$ Method Index for com.ibm.record.IAnyFixedLengthRecordType p_ k8$7I6w6$P|Q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianytype.htmlhr$$ com.ibm.record.IAnyType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ianytype_dsc.html#_top_">com.ibm.record.IAnyType (no frames)</a></b></p> </body> s the l\9$7I6x6$@gy./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianytype_dsc.htmlordtyp$$   deort <>achilns./bmpuvy"_f#()=CRTgwx,:;AEFIJq &-BOSU[]jDLP'01HVk349M58?Wz!27GYNHiWnQd=@a#v{t tǨ R/RH:I_ɠ `\6bCh]eA%H:kWۺP @`Xˆ44pچۤkB0 %H: JboVb9Qa  @pX ` `H:uR6X-l$gHLiT}vvH:H7}X`0   %H:Wh,H RGZˌ{'}r/&,H짾%-xXOyKtĀ( 'eI+{ԕ^օPܡabYd )3tҨf/Y\O ֮ T3tPcub5#]+%o{Ƣ3tP)\cQHWJr[QKĨcO=knb֤V##)HJHhw rm<1bT [+6S/$`h*U ]TE 闩3Cm`HP4C*9 ALBcҾܡabYd )3d>LX3t (P@K!֤#Ԓ5 [+E*=~WiUˍOt:S/$d1e|>[1|ƾUEC )H:[AҿAb] *HRH?mhEH*tԃu@"W۔,,K,A#e2FrnU f/bp2Ado$(J\ fY =pHPHRfUs]Mkn{.bZϭ5ciUik{!~ˁ1|z "Aס!BT2ef2>שj ALʿkɭmt%^xk[Yq?M*-oyd>p2xz9f/A"k]'%+Wd3ܡabYd )3tҨTŃ7IxCˁ $ .+4H6̫֠Y"Wtz٥7A.VoO_,]$ tPywV8k_oc[ˡtΨJre3$l^H\ JS % \.Vhuo$(J\ KGZB2Úk[s s }myEOJK[oY\ 1o.,]$˽Ļ\e}4LD(XXY#8Fe41`^2efXnHP1p Y̫֠PywV8kC P $gHLB,K\ >ס!BT2efX1HPHRfUs]Mkn{.bZϭ5ciUik{!~ˁݱ-嘾˽}@PywV8kC P $gHLB,K\ BBel5#A!H?Wty5ڏmkk>Y"Wtz٥7A.Vovǘ_ob .h .qҨd3ܡabYd )3tҨTŃ7IxCˁ`%L\.VhukzGZB2Úk[s s }myEOJK[oY\ 1o.,]%]'%+P:gT%}BIJ6S/$g.Pn.+4:f Sˁ`Am3R:~GZ۞KֶkE*~UwGZz}}eflyyu3fu@"W۔,,K,A#e2FrnU f/bp2C m愅 Sˁ`Ko5#A!H?Wty5ڏmkk>Y"Wtz٥7A.Vovǘ_ob .h .qҨd3ܡabYd )3tҨTŃ7IxCˁ`N%L\.Vhu;zGZB2Úk[s s }myEOJK[oY\ 1o.,]$ tPywV8kC P $gHLB,K`\#B]6S/$`hm2@v0՘4(J`\#B]$u$L? ݠ,  6H?Wmkk:.yyuVTjn^bLD(XXY#8Fe41`^Z {MC@А*=&jGZB2Úk[sc}m}4LD(XXY#8Fe41`^ZݾY#8Fe ^Hn P}hv\: ^Hn e_5ֶiympr_"sؿH?k\5nOv*nטFA:+%H y#9p7M*LX3tր6S/$`hm2@v0(J@sv: ^Hn e_5ֶiympr_ ݮb]{ҩ sˆЩֺ[^%S-^6S/$`hm2@v0(JAGZA ̫\: ^Hn e_5ֶiympr_}?^m}4A\Gt*x׉T uO ݮŚ2_nP,FqˁiT*b > hK,A#e2F/$7h > jGZA ̫sv$gHL *)lnR: ^Hn e_5ֶulmG_J ݨ*xϭ]LtΨJre3$l^H\ JS %[(7j!,FqL? ݠ, CB+qeE#A e``~GZ۟#ś_ ݨEeFAU$yG[_) ,+=ƣ2@: ^H͖C)3*9&>5嘿6Yb]wCokR Z^B=|voeV:[]+6-ױ[_M*A:+%H y#9p7M*LX3tF^6S/$`hm2@[z%Q>שj /$žסH?Wty5_,o1o.ҩ/!A]y7tˁRؿC P $gHLB,K#Z x-K,A#e2F/$՘4(JZ x-GZA 6H?Wty5t[yu6iT~V_ ݮśpպeͩAyu_JtΨJre3$l^H\ JS %BYd )046y ~hPF HPH46y ~hRfUs]Mkn|kc1}-t6U p#7k1f\5np2jP~b]{Ҩd3ܡabYd )3tҨTŃ7IxDk@5<%H y#Ci Tk@5=#A eH?Wty5_,yu H?\'iy Y [mv\ ڔ^m}4LD(XXY#8Fe41`^ 6,FqL?Vbz0@LС*h@LԎCiAm3B2Úk[s[Y@Lb]wCokR Z^B=|voeV:[]+6-ױ[_M*A:+%H y#9p7M*LX3tF m愲6S/$`hm2@-С*hHPH46y hRfUs]Mkn|kc1~-b]wCokR Z^B=|voeV:[]+6-ױ[_M*A:+%H y#9p7M*LX3tF tYd )046y ~Ō<`'q ց;zGZA'q ALʿkɭmύlz9f/q-t6U p#7k1f\5np2jP~b]{Ҩd#ԃ~ &ēZۘRGZtH?mPtJMbp2Ado$(J:ԃ1p Y̲@{R!gY[7v\;ˁ $}.!H:G+)H:eALʸs]Mkn{.bZϭ5ciUik{!~ˁ1|z "AUP~\҅˚Wm`C yz<ʐt/R, 2ef2  !L\.Vh3,ݤBtYs:Ȏټظ\ fY 9A!H:G+)H:eALʸs]Mkn{.bZϭ5ciUik{!~ˁ1|z ݠ]'%+Wd%)3*LH?u]$(6A  t數]$v\һm}4\;.VoO_, iT AYsJƒ;.i^ H*AUP~\҅˚Wm`C yz<ʐt/R, 2ef2>ס!BT֤$)ee }R9 AVR~Qd=";f.Kbp2AdkА#2 e\9&=З1{Q mgך1T4[4h?e嘾˽}@PywV8k_oc[ˡt̩2 t$rfU˚VtsJҫpY^Y=|ž׿M*(?K.iBGe+޶AѡY"Wtz٥7A.Vovǘ_ob .A@(Y"Wtz٥7A.Vovǘ_ob .ƯPywV8kC )H?ReA3!A"H)̫4#/kWbp2{<ż}h?O_,5yҨ˚P4sJthd/RGRAҿAbX\ Y*HR2efX}$r {Dw]2efX}  闩3*ty5ڏmkk>Y"Wtz٥7A.Vovǘ_ob .6Y]'%+P:JRfTzLHPmiy9 A3*e+pH칥w iUظv\ 1o.Z1~l_M*=, [I4zFAH$y ^+Y4%ecz%IjAB\ >ש +)H?(uųyoñp Y }BBtVRtԃpp2{<ż|PywPywV8kC )H?ReA3!A"H)̫4#/kWbp2{<ż}h?O_,UzYsJƒ;.i^ H*A4  !A>4 H)IYJAE3- >4 A9YJA/RfUÚk[sc}m}4IJALʓ/RWI /!BG!H?e\92G#̩H _ɠ!=p e3$l^He``P$uI KG!H:JR,dGqlEp=p Jre3$l^He䊘f/P*/%#_)Avh}nXzW۔,,K,A#e2Feed]p<e f/P* ^HeȺ [^P,EV֠?Jre3$l^HL\ %UЋ(uTŃ7Ix@ Pm2C.VE*,6"+]pHRRz2GZ۟#1|[˯bU Ac{pպ7h%+%H y#;)*b VBL|^H7kn+1f``WG}BIJ6S/$l^K.VEksʡQZ뀩n[e e\ ŹYEk j(XXY#8Fe䍔eȺ\"YE^mM\LX3t (P/$2ed]p*jAb,  闩3*ty5Z^B?[\7k^m}4A\Gt*x׉T uO ݮŚ2&^:׋& BLʾS/'9y# r f,p ݮśpպeͩAGؿC t$rfUÛ\7k^m}4Ϋ7,B BW۔,,K,A#e2Feed]p<e f/P* ^HeȺ [^P,EV֤2 痕5ͩ^:+"?u]$(9b$rҾܡabYd )6S/%+"pey4"+]p1`^+lBTLˁu K(ͩ\:ԃfUÛ_(]Gj{.VE^QWS7]C yz<ʐt/R, ZK,A#e2F/$7h #H:HP}hcW +)H?(uų{^}BIJ6S/$ge2ELX3t (PCi֯r f,, ܱ(XXY#8Fe䍔eȺ-nyyT"+]p1`^+lBTLˁuJ8[yu,ѐt̩2 tY5$rfUy<̫ͯn+1f6u,ˆt.VmJ7j>m}4Ϋ֗!#2嘿6Yb]{Ҩd:ܱ9 _nP,Fq)ˁuZEV*b VB6y!+"1nyy@QZGZLʸ+[^Wt|6x\  tDWJre3$l^HL\ %UЋ(uTŃ7Ix@ Pm2C.VE*,6"+]pHRWm|yuY\;{YE^mO ߭t~U H*Aש +)H?(uųxփkД(XXY#8Fe^Hn[e hm2R:y tvh}nXzW۔,,K,A#e2Feed]p<e f/P* ^HeȺ [^P,EV֠?Jre3$l^HL\ %UЋ(uTŃ7Ix@ Pm2C.VE*,6"+]pHRRz2GZ۟#1|[{[˯bU Ac{pպ^m}4A\Gt*x׉T uO ݮŚ2&^:׋& BLʾS/'9y# r f,p ݮśpպeͩAGؿC t$rfUÛ\ -ױ[_M*A3!A!# $gHLy,Y\/*YEk,Km(Jip2.痔 e$u̫wGm3j|eȺ2WI nXA t(XXY#8Fe䍔eȺ\"YE^mM\LX3t (P/$2ed]p*jAb, pQڞˁuú>%U GP?^2#ԃ~ &ćրkxK,A#e2F/$7h #H:HP}hr {Dw p Jre3$l^He䊘f/P*/%#_)A  YXb_nP,Fq)ˁuZEV*b VB6y!+"1nyy@QZGZ+%H y#e2Yp2.QWSB,S %%A Y\DڐX(u#H:G+)H:eALʸs]Mkn~V,yu_J5ot{.B;Z}mxLpT Y )H?ReA3!@xkk"H)̫2x Û_)2W ݠVb7mr Y [mv\ ڔn}iT2WI /!BG!H?e\91}b]{Ҩd:ܱ9 _nP,Fq)ˁuZEV*b VB6y!+"1nyy@QZGZLʸ+[^Wt|6x\  tDWJre3$l^HL\ %UЋ(uTŃ7Ix@ Pm2C.VE*,6"+]pHRWm|yuY\;{YE^mO ߭t~U H*A m愥}BIJ6S/$ge2ELX3t (PCi֯7h@0+r#ҾܡabYd )6S/%+"뀵P(uTŃ7Ix@ Pm2C.VEbb,W۔,,K,A#e2Feed]p.,6YEk,Km(Jip2.Pey QZGZtVRtԃpsv $gHL1`^+lBT ^JGZS/$ ݮA@ŚH:G+)H:eALʸs]MknzVzo^4H ڏk([iUeS믾AYLtU$yDo򴼄zט}5oeVGkPGnyO.=p7ЎW׺6d%)3*LH?u]$(MmdA  |^Osk2FA3* YͮA]y7t@ AQΫ֗!#2 ^b/nx\Pm}4H ڏt#ԑTyztdXQY#8Fe ^HnBT֤$++qeE#%e)Cβ#oJre3$l^HiU+Պf/P*4դun:ݨ}BIJ6S/$ge2ELX3t (PCi֯7h@0Xօ  闩3*ty5Z^B=pY ڏkߔVTjPGn{y=p"ؾAQ\j=AS/$#7j# )H?ReA3!@xkk"H)̫2x Û_)2W ݠVb7mr Y [m}4H ڈ?e^ŋoskرq ݮśY_Z4P{LHPmiy9 A3*u,bG5o+*5 J ݨALOׁdY_ ݨo.5}m )%U GP?^2#ԃ~ &ƴ7h%H y#Ci%IjABZR!gY[7nxր}BIJ6S/$ge2ELX3t (PCi֯[ˠJre3$l^HL\ 痕B,S %%A Y\s\:_nP,Fq)ˁuDښe f/P* ^HeȺB%UԂYEk jA9YJA/RfUÚk[s[Y[ˮmm}4A?+KGn^bj@?kefԠż/kP:JRfTzLHP^,Ȃ9 A3*Lpe䌃fU[ˮp, -Ϋ֗!#2 ט{.AY<żAiT2WI nXA t(XXY#8Fe䍔eȺ-nyyT"+]p1`^+lBTLˁukiSt.VELHPsr"H+}BIJ6S/$l^K.VE*jhEV*b VB6y!+"QWR e$u̫6P<\ ,6oֺ?M*AH$y ^+Y4&5^6S/$`hm2@^ RGZtֆ5xR!gY[7nxֆ5x $gHL1`^+lBT ^JGZS/$b]}nXzW۔,,K,A#e2Feed]p<e f/P* ^HeȺ [^P,EV֠?Jre3$l^HL\ %UЋ(uTŃ7Ix@ Pm2C.VE*,6"+]pHRRz2GZ۟r_cWfs[_M*~Oט{.AY(?1o.iT2&^:׋& BLʾS/'9y# s91}^s֌gUBkKDRWr Y [mv\ ڞb] m}4Ϋ7,B BW۔,,K,A#e2Feed]p<e f/P* ^HeȺ [^P,EV֤2 痕5ͩ^:+"?u]$(9b$rҾܡabYd )6S/%+"pey4"+]p1`^+lBTLˁu K(ͩ\:ԃfUÛ_(]Gj{.VE^QWS7]C yz<ʐt/R,  e e3$l^Hed>#H:HTk@-C#%e)Cβ#o ݠ, Y(XXY#8Fe^Hn[e hm2R:y t}s+r#ҾܡabYd )6S/%+"뀵P(uTŃ7Ix@ Pm2C.VEbb,W۔,,K,A#e2Feed]p.,6YEk,Km(Jip2.Pey QZGZtVRtԃp<ǯbd>yu H?\'iy Y [mv\ ڔ^m}4IJALʓ/RWI œ[YBG!H?e_)nLLʹyun嘿6Yb]}ѐLHPmiy9 A3*A]y7tˁS[ˤؿC tDWJre3$l^HL\ 痕B,S %%A Y\s\:ԃfU\Z涙>K@?ed]pΫ7,B BW۔,,K,A#e2Feed]p.,6YEk,Km(Jip2.Pey QZGZLʸsk˨OeȺ *jykҨd/RGRAҿAbcZ }BYd )046y ~-  !Q>ש +)H?(uųy`gh1 Jre3$l^He䊘f/P*/%#_)AA_[! $gHLy,Y\/*YEk,Km(Jip2.痔 e$uҾܡabYd )6S/%+"pey4"+]p1`^+lBTLˁu K(ͩ\:ԃr^̫5ֶƶ=|ž׼żJ򴼄zu,ˆt.VmJ[˯bU eIΫuɭ!#27m|^H?e\ż7mpr_^֌gUBkKDRWr Y [mv\ ڞb] m}4Ϋ7,B BW۔,,K,A#e2Feed]p<e f/P* ^HeȺ [^P,EV֤2 痕5ͩ^:+"?u]$(9b$rҾܡabYd )6S/%+"pey4"+]p1`^+lBTLˁu K(ͩ\:ԃfUÛ_(]Gj{.VE^QWS7]C yz<ʐt/R, l[!o.Yd )046y ~Ō<` 6BT֤$*5;\B]$r {Dw5;\B]}BIJ6S/$ge2ELX3t (PCi֯Am3{r ytb_nP,Fq)ˁuZEV*b VB6y!+"1nyy@QZGZ+%H y#e2Yp2.QWSB,S %%A Y\DڐX(u#H:G+)H:eALʸs]Mkn|kckb]{ ot6U p#7k1f\5np2jP~b]{Ҩd%)3*LH?u]$(MmdA  |^Osk2FA3*-sk-ż@L߷Z2WI /!BG!H?e\7k1f\5np2jyytҨd:ܱ9 _nP,Fq)ˁuZEV*b VB6y!+"1nyy@QZGZLʸ+[^Wt|6x\  tDWJre3$l^HL\ %UЋ(uTŃ7Ix@ Pm2C.VE*,6"+]pHRWm|yuY\;{YE^mO ߭t~U H*A%U GP?^2#ԃ~ &ƴ\Yd )046y ~xP$uI hr {Dw5 $gHL1`^+lBT ^JGZS/$[ˠJre3$l^HL\ 痕B,S %%A Y\s\:_nP,Fq)ˁuDښe f/P* ^HeȺB%UԂYEk jA9YJA/RfUÚk[s[Y[_M*~Oט{.AY(?1o.iT2&^:׋& BLʾS/'9y# s91}b]}ѐLHPmiy9 A3*A]y7tˁS[ˤؿC tDWJre3$l^HL\ 痕B,S %%A Y\s\:ԃfU\Z涙>K@?ed]pΫ7,B BW۔,,K,A#e2Feed]p.,6YEk,Km(Jip2.Pey QZGZLʸsk˨OeȺ *jykҨd/RGRAҿAbcZ4%H y#CijX\i%IjABZ5#%e)Cβ#o ݠ, i $gHL1`^+lBT ^JGZS/$7A_[! $gHLy,Y\/*YEk,Km(Jip2.痔 e$uҾܡabYd )6S/%+"pey4"+]p1`^+lBTLˁu K(ͩ\:ԃr^̫5ֶƶ=|6żJ򴼄zu,ˆt.VmJ[˯bU eIΫuɭ!#27m|^H?e\ż7mpr_f֌gUBkKDRWr Y [mv\ ڞb] m}4Ϋ7,B BW۔,,K,A#e2Feed]p<e f/P* ^HeȺ [^P,EV֤2 痕5ͩ^:+"?u]$(9b$rҾܡabYd )6S/%+"pey4"+]p1`^+lBTLˁu K(ͩ\:ԃfUÛ_(]Gj{.VE^QWS7]C yz<ʐt/R, %$gHLB#H:HTk@jG!H:JR,dGqlA@XZBRܡabYd )3y",Km(JHWeo1o.,B=+%H y#e2Yp2. [^U\LX3t (P/$2ed]p-/("+]pHP}BIJ6S/$l^K.VE*jhEV*b VB6y!+"QWR e$uHe)LH?Wkɭmύlz9f/ŷ[ˮmm}4A?+KGn^bj@?kefԠż/kP:JRfTzLHP^,Ȃ9 A3*Lpe䌃fU[ˮp,yyukFA3!A"H)̫u,ˆt.VmO1o.bU gUB!BG!]+%H y#e2Yp2. [^U\LX3t (P/$2ed]p-/("+]pHRWqksf/ˁud:ܱ9 _nP,Fq)ˁuDښe f/P* ^HeȺB%UԂYEk jA3*ͯ.=+"t|/|K(ͩJK@?ed]pΫ7,B BW۔,,K,A#e2Feed]p.,6YEk,Km(Jip2.Pey QZGZLʸsk˨OeȺ *jykҨd/RGRARqop|ۢTYEQ=ĥ {))s.xXӸ1%ozб"۔,,K,A#e2FrnU %T3k+R:Ҿܡabw*n* z^1u}BĭcFn*=1j)j_nP+{j#7Ix u>c mR:ԑJ$}$} VCI\btIJJrav񛤉 ˆ4JCqbFqĬ><A,(у,O"kĀ(048X0bx8,H$rr.MRۤH: { kbk:$U7I6x6$gU./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ianytype_mi.htmlordtyp$$ Method Index for com.ibm.record.IAnyType

Method Index

canConvertFromBoolean()
canConvertFromByte()
canConvertFromChar()
canConvertFromDouble()
canConvertFromFloat()
canConvertFromInt()
canConvertFromLong()
canConvertFromObject()
canConvertFromShort()
canConvertFromString()
canConvertToBoolean()
canConvertToByte()
canConvertToChar()
canConvertToDouble()
canConvertToFloat()
canConvertToInt()
canConvertToLong()
canConvertToObject()
canConvertToShort()
canConvertToString()
checkConstantValue(IRecord, byte[], Object)
getAlignmentHint()
getBoolean(IRecord, byte[])
getByte(IRecord, byte[])
getChar(IRecord, byte[])
getDouble(IRecord, byte[])
getFloat(IRecord, byte[])
getInt(IRecord, byte[])
getLong(IRecord, byte[])
getObject(IRecord, byte[])
getShort(IRecord, byte[])
getString(IRecord, byte[])
packageBytes(IRecord, byte[])
retrieveBytes(IRecord, byte[], int)
setBoolean(IRecord, boolean)
setByte(IRecord, byte)
setChar(IRecord, char)
setDouble(IRecord, double)
setFloat(IRecord, float)
setInitialValue(IRecord, Object)
setInt(IRecord, int)
setLong(IRecord, long)
setObject(IRecord, Object)
setShort(IRecord, short)
setString(IRecord, String)
()  k;$7I6x6$PQ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.iarrayfield.htmlordtyp$$ com.ibm.record.IArrayField <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.iarrayfield_dsc.html#_top_">com.ibm.record.IArrayField (no frames)</a></b></p> </body> ean()" lV<$nA7I6x6$g?./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.iarrayfield_dsc.htmltyp$$  deiort.<>achns bflmpu",/T_gvxy#-=EIORw():ABCFJU[]jq PSDL0132489HM5;?GW!7Y{}NH [4yۦ<)88!`1ۦ9t$L:!-LQ$%Q$$,!-.Ѐ\乒DI 6u}}  lA:C[]Ghj``: ! ]82Ʈ-4{/2^u)>$w,c0F˟Vט;[< G m8>{ΖQu1Yy$ƨ}%e(dKXLp!i'AfJe(d,=;@@ C'AfJܑ+P(2Yy=;Dzv(?LB6u'O?5|%nVayNI#eS6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L:e(d,=;@2t?e"V PdzvGWOζZƯ?gYeKηE8g$]Lwӆ>(sܳ:?ӢG{/gRdᵭGy.>K/!4$QE^B)y]I.7M0d ~j(Q@PdzvP(u H,=;@@ I!_m?:ۏkP5f=/:od;ΖQu1<͠xeϫrXN쿭]I#ֶI[=K(,BcTҾܒEj2Yy,yu&@{4aQE^B%#ӴGh:NZH,=;@b:~9|jYeKηE8g$]Lwӆ>(sܳ:?ӢG{/gRdᵭGy.>K/!4$QE^B)y]I.7M0d%#,QF%eP: j"V PdzvP)$~~)ln>N_jVayNI#eS6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L:yFHj(Q@PdzvP2R%jK/ GhN)$~~)ln>N_jY{/2^u)>$w,c0F˟Vט;[< G m8>{ΖQu1Yy$ƨ}%e(dKXLp!i'@(2Ej2Yy ^@N  gdJ ^@N $6͝m്_<'YeKηE8g$]LsO3h(sܳ:?ӢG{/gRdᵭGy.>K/!4$QE^B)y]I.7M0d(^f5,K/ GhN(u kԉZA#Ӵ I!_m?:ۏkYVayNI#eSO6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L: 2נFYFK/!A#Ӵ@2teR%jK/ GhNGWOζZƯex՘|^dtS}H:YE46⍗>31c:$wyu&@Zq$}l,cI PJrK5Qe"ԙCtN;@QE^B%#ӴGh:N;R%jK/ GhN)$~~)ln>N_j;x՘|^dtS}H:YE}8a⍗>31c:$wyu&@Zq$}l,cI PJrK5Qe"ԙCtN;@QE^B%#ӴGhCdS"V PdzvP)$~~)ln>N_j;x՘|^dtS}H:YE46⍗>31c:$wyu&@Zq$}l,cI PJrK5Qe"ԙCtN-`j(Q@PdzvP H,=;@b:~9|[q0y [$tp'.}[g^btHelL6H:YEe j(QE/1c˩2؆ [p#,QF%eP:%#ӴGhI#+Mg[qts-cW̷ VayNI#eS6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L:P ,#,QF%eeH,=;@b:~9|P ,5f=/:od;ΖQu1NdeϫrXN쿭]I#ֶI[=K(,BcTҾܒEj2Yy,yu&@{4ae2Ej2Yy ^@N eH,=;@@ I!_m?:ۏkeVayNI#eS6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L:[yFYFK/!A#Ӵ C'@+o5"V PdzvGWOζZƯƬ%[3lGy.; lnYy#˩2pӉ#geS%HLjWےX@vYFK/!ŏ.b 2t@QE^B%#ӴGhCdmJ ^@N $6͝m്_{o7YeKηE8g$]LsO3h(sܳ:?ӢG{/gRdᵭGy.>K/!4$QE^B)y]I.7M0dܧ 2Ej2Yy ^@NP:w)%jK/ GhN)$~~)ln>N_j)8՘|^dtS}H:YE}8a⍗>31c:$wyu&@Zq$}l,cI PJrK5Qe"ԙCtN]p#,QF%eP:w)%jK/ GhNGWOζZƯr3YeKηE8g$]LsO3h(sܳ:?ӢG{/gRdᵭGy.>K/!4$QE^B)y]I.7M0|ŏ2Ej2Yy ^@NXՠŸb# @$ŽP|1c%jK/ GhP ,b)$~~)ln;_t X,ml2Mk#y˩2I PJrK5Qe"ԙCt:2V#,QF%e#vdP|"[%jK/ GhN%nGWOζu|]+wNy $]Lwӆ>(sܳ:?ӢG{/gRdᵭGy.>K/!4$QE^B)y]I.7M0󠋳%n2Ej2Yy ^@N #vdP|"[%jK/ GhNʻ2V)$~~)ln;_kUْq0̗npH:YE46⍗>31c:$wyu&@Zq$}l,cI PJrK5Qe"ԙCt:e(d,=;DrC)%#ӴGhP)$~~)ln;_kP5f>yNIK( 2|Qչfu,D_.k[N$]L|^B !1i_nIaf5,R< \=n`3A@QE^B%#ӴGhSAR%jK/ GhN$6͝m|-cWƬӶ{/2^u) #eS6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L|%#,QF%e#(u>tD@@e#)$~~)ln;_kƯ8՘|veKηE8a$w,c0F˟Vט;[< G m8>{ΖQu1Yy$ƨ}%e(dKXLp!iϝxe(d,=;@@GcWP|%ĉZA#ӴDv5x$6͝m|-cWNy $]LsO3h(sܳ:?ӢG{/gRdᵭGy.>K/!4$QE^B)y]I.7M0 gdf5,K/ GhN,(u>t,򌔉ZA#ӴG<$ I!_m?:ێZƯŞQƬӶ{/2^u) #eSO6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L|Y FYFK/!A#ӴDx2@2R%jK/ GhN(GWOζu|gd0̗npH:YE46⍗>31c:$wyu&@Zq$}l,cI PJrK5Qe"ԙCt: 2נFYFK/!A#ӴG,^C-z+P(2Yy=;Dzvk)$~~)ln;_kYVa[=/:ᄑtp'.}[g^btHelL6H:YEe j(QE/1c˩2؆>te@QE^B%#ӴGhk(u>teR%jK/ GhN2נRH1 Siwο5|-{ƬӶ{/2^u) #eS6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L|S5Qe (2Yy=;DzvSB%#ӴGhN)$~~)ln;_kN9ƬӶ{/2^u) #eSO6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L|S5Qe (2Yy=;Dzv(N(u>t)ڑ+P(2Yy=;Dzv(N)$~~)ln;_kN9ƬӶ{/2^u) #eS6\,μŏԙ8mkiđtA$&5@ +, ;,QF%^bǗRd L|ۆf5,K/ GhNp(u>tm%jK/ GhNp)$~~)ln;_kegNy $]Lwӆ>(sܳ:?ӢG{/gRdᵭGy.>K/!4$QE^B)y]I.7M0 ne(d,=;@@G20 O[pĉZA#ӴDs-b_jj>};og%[0;ΖQu1<͠xeϫrXN쿭]I#ֶI[=K(,BcTҾܒEj2Yy,yu&@{4g΅K45Qe (2Yy=;Dzv2ƭ-P ,(u>t,Y%#ӴGhP ,)$~~)ln;_keVa[=/:ᄑtp'.}[g^btHelL6H:YEe j(QE/1c˩2؆>t,YFYFK/!A#ӴDpcV (h::P ,ԉZA#ӴDpifI#+Mg[q: X(oNy $]LsO3h(sܳ:?ӢG{/gRdᵭGy.>K/!4$QE^B)y]I.7M0e(d,=;Dw@ H,=;Dw@b_jyj>};og%[0;ΖQu1NdeϫrXN쿭]I#ֶI[=K(,BcTҾܒEj2Yy,yu&@{4g΀Vhj(Q@PdzvQ(u>tR%jK/ GhNGWOζu|m0̗npH:YE46⍗>31c:$wyu&@Zq$}l,cI PJrK5Qe"ԙCt:w)QE^B%#ӴGh,jb1r0 O%#ӴGhw)b_j)8՘|veKηE8a$w,c0F˟Vט;[< G m8>{ΖQu1Yy$ƨ}%e(dKXLp!iϝFYFK/!A#ӴDpcVP|ܧ H,=;@@GRH1 Siwο5}j>};og%[0;ΖQu1<͠xeϫrXN쿭]I#ֶI[=K(,BD$f@sg[pHRZ*#g[pHH HJl:X#,QF%eeZ [ b(u$JI )C'@%(vJ#yFS:~ټ,Yd1c_nIaf5,VK/ \=n`0PPd%j,^K,: ?$Živt~,5+, ;,QF%^C-gV:f$s$p{4a{g emgV <6`$s$rDB:WےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDD'd(?LB:~9f6]_[?Rdu5}yHI$$LjJP^,ǁ$G!_%e ?1 /%YoSgه,/g>zI]9[OX]IH+:.CΞ6yF<_^bIt$IJ$LBϓ$v}nX]I X,z #)a$IJ_nIaf5,dn80;j.7M0^è2Yypո0̓G!\]~Olǃ36qnA$cUR7,5d)]+, ;,QF%^C-gV:f$s$p{4a{g emgV <6`$s$rDDW 9 }[?َPLG)"bI (!N.̕5Qe (2Yy=;Dzv(:%j$%nHI ;%D<)e?qlUْq%n%}%e(dY,p!iAAHGӷhYetA$;}:$p~,5+, ;,QF%^C-gVF#'m[؆ 8XuK/ n8F9vչ"V+, ;,QF%^C-gV:f$s$p{4a{g emgV <6`$s$rDB81c8, ,g9vո$B`GW6u'O?5|%nVayNI#eS6\,μŏԙ8mkiđtA$$GR`G5]%(/lR#SgIs ,~)S}[}YyZ$v,.A$b#?fч䄎dnH?1 ~Z}?f<᝖᳏r #)a$IJ_nIaf5,dn8qכ1#'m[؆ 8XuK/ n8nyy#'m[%j$LBϗel׽urm?Rd ?1)B2DXD ?BYdn$LBy.=:$w^ 31c:$r #:~9d)DW്_*[՘|^dtS}ŏ$N쿭]IHƫ nXkRWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDDWF'e1 }[ItM x"JWJrK5Qe#%pո<ى;j.7M0^è2Yypոs8͘ ;jܑ+Q$b6~H|f;-gVO<6c?i!WIJׁܰ$p>bDž:$pYX"t<$s$q$b6{ΖQu1#a˷bȏy}?^}j #z[ч䄎dnHGJrK5Qe#%pո<ى;j.7M0^è2Yypոs8͘ ;jܑ+PXD ?BYdn$;%D1Db6͝m്_(~̗npϷIK(f31c:$r #:~9d)DW്_(~̗npϷט#˩2ItM x"JWJrK5Qe#%pոчIVp!iAۆ>ч䄎dnH?1 ~Z}?f<᝖᳏r #)a$IJ_nIaf5,dn8qכ1#'m[؆ 8XuK/ n8nyy#'m[%j$LBϗel׽urm?Rd ?1)B2DXD ?BYdn$LBy.=:$w^ ?gew[?%Hj^bLG!^;Mim.}[g^btHG5]%(2tsR#)kƯ8՘|^dtS}ŏ$N쿭]IHƫ nXkRWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDDWF'e1 }[ItM x"JWJrK5Qe#%pո<ى;j.7M0^è2Yypոs8͘ ;jܑ+Q$b6~H|f;-gVO<6c?i!WIJׁܰ$p>bDž:$pYX"t<$s$q$b6{ΖQu1#a˷bȏy}?^}j #z[(sܳ:?ӢG{/gRdᵭGy.>K/!I!IItY$IJ$LBK/#MA$b^K,;YOYo_e}j;-ںsט!WDSg0F˟Vט9WIJ ?2DH+lZƯ5f=/:og1c#ӢG{/gRd ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+YdY FYFK/!A#Ӵ@ԑ+Q$$ K<%"JQ$$G8uų|YŮ?&G2Nڷ Lp ^@&6qn.?$$s$rDB:WےX@vYFK/!,[>ǹuHIVp!iAۆ>y^lHIVZp>bDž:$pYX"t<$s$q$$I*$$)ln>N_jY{/2^u)>$w,cy@F˟Vט;[< G m8>{ΖQu1Yy$H1 LHƫE͝x"JQ$bYyl^B #r]e6z}~ϲ|~K/#Wnӟŏԙ$LB:$w<6\,μŏ$LjJPd灒$G!\Sg5~,5f=/:og1c#ӢG{/gRd ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+YdY FYFK/!A#Ӵ IBJP2R$BNQ$s(gYO[7ŞQN%QJrK5Qe"YyCt,:%+We$^K,: ?oDnXkWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDB:WےX@vYFK/!,[>ǹuHIVp!iAۆ>y^lHIVZp>bDž:$pYX"t<$s$q$$I*$$)ln>N_jY{/2^u)>$w,c0F˟Vט;[< G m8>{ΖQu1Yy$H1 LHƫE͝x"JQ$bYyl^B #r]e6z}~ϲ|~K/#Wnӟŏԙ$LB:$w=O6\,μŏ$LjJPd灒$G!\Sg5~,5f=/:og1c#ӢG{/gRd ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Yd(^f5,K/ GhNRDD2teR$BNQ$s(gYO[7exQ%}%e(dY,p!iAAHG;yv[DG;}:$p~,5+, ;,QF%^C-gVF#'m[؆ 8XuK/ n8F9vչ"V+, ;,QF%^C-gV:f$s$p{4a{g emgV <6`$s$rDB81c8, ,g9vո$B`GW6u'O?5|-{Ƭ%[3lGy.9lnYy#˩2pӉ#geS%HI$$LjJP^,ǁ$G!_%e ?1 /%YoSgه,/g>zI]9[OX]IH+ӢGp~)<͠xeϫrXNHƫNx"JQ$b6x-cW2׼j>{/2^u)>^bǒGD_.A$cUR7,5d)]+, ;,QF%^C-gVF#'m[؆ 8XuK/ n8F9vչ"VH+k͘~Sv[>$LjJP冼 %+}%e(del{y^lĎdnb /la,MludnH?1 ?$>_᳏w^qכ1]IHƫ nXkR1c8, ,g9vո?1 =K(x0e1{CdGdg>n=f}df[=yH"`$LB!"`BWܳd 8Q2Ej2Yy ^@NPHRNDHI*$qL)f̵: 2נD$QE^B+%.7M0^è(2Yy |^@Ho9y.в|HoDnXkWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDB:WےX@vYFK/!,[>ǹuHIVp!iAۆ>y^lHIVZp>bDž:$pYX"t<$s$q$$I*$$)ln>N_jfZYeKηE8g$]Lwӆ>(sܳ:?ӢG{/gRdᵭGy.>K/!I!IItY$IJ$LBK/#MA$b^K,;YOYo_e}j;-ںsט!WDSg0F˟Vט9WIJ ?2DH+lZƯex՘|^dtS}ŏ$N쿭]IHƫ nXkRWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDDWF'e1 }[ItM x"JWJrK5Qe#%pո<ى;j.7M0^è2Yypոs8͘ ;jܑ+Q$b6~H|f;-gVO<6c?i!WIJׁܰ$p>bDž:$pYX"t<$s$q$b6{ΖQu1#a˷bȏy}?^}j #z[?gew[?%Hj^bLG!^;Mim.}[g^btHG5]%(2tsR#)kN5f=/:og1c#ӢG{/gRd ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+YdS5Qe (2Yy=;DzvC"VHIJ:HI ;%D<)e?qlN2t)JrK5Qe"YyCt,:%+We$o9y.в|HvtH/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnHG,xSGe,CG2NڷBDHLH1 OζZƯӷYeKηE8g$]Lwӆ>(sܳ:?ӢG{/gRdᵭGy.>K/!I!IItY$IJ$LBK/#MA$b^K,;YOYo_e}j;-ںsט!WDSg0F˟Vט9WIJ ?2DH+lZƯӷYeKηE8gXHԙ$LjJP冼 %+}%e(delZds$p{4a{g emgVRBG2Nڷ$JIp?-ta>vYppչWIJׁܰ$t$QE^B2Yy }[s8̓͘Ct,:% }[7<ـ̓G!\Sgc6qn:f9C˩2ItM x"JW,xSGe,CG2NڷG!\SgeS;l}?F/hl֭̕<Ϸ̗ /g1cILQ$$LHJl:FYFK/!A#Ӵ@ԑ+Q$$ [pĉ)DTI2S[q nJrK5Qe"YyCt,:%+We$B- #oDP/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnHG,xSGe,CG2NڷBDHLH1 OζZƯnƬ%[3lGy.9lnYy#˩2pӉ#geS%HI$$LjJP^,ǁ$G!_%e ?1 /%YoSgه,/g>zI]9[OX]IH+ӢGp~)<͠xeϫrXNHƫNx"JQ$b6x-cW̷ VayNz<=:$wyu&B #)a$IJ_nIaf5,dn80;j.7M0^è2Yypո0̓G!\]~Olǃ36qnA$cUR7,5d)]+, ;,QF%^C-gV:f$s$p{4a{g emgV <6`$s$rDDW 9 }[?َPLG5]%(Sr^HgY`=̓đW:YEǧD.O"=3%{9w$ 93l%5XG)"bI (!N-`j(Q@PdzvRDD2tm$BNQ$s(gYO[7nN-`+, ;,QF%e Lp ^BD_% ?v ,Έ$8 a_nIaf5,dn80;j.7M0^è2Yypո0̓_nIaf5,dn8qכ1#'m[؆ 8XuK/ n8nyy#'m[%jgY`=̓Đ'd(?LB:~9|[q0y [$tp'.}[g^btHelL6H:YEe r#)0b#6vqd)DWep~)Yy$LBv[x?)a>-,^GeWN?Rd ?1 lӆ>(sܳ:?ӢG ?1)AHIqM X-8՘|^dtS}ŏ$N쿭]IHƫ nXkRWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDDWF'e1 }[ItM x"JWJrK5Qe#%pո<ى;j.7M0^è2Yypոs8͘ ;jܑ+Q$b6~H|f;-gVO<6c?i!WIJׁܰ$p>bDž:$pYX"t<$s$q$b6{ΖQu1#a˷bȏy}?^}j #z[2\3[쿭ŏA$~0b&!D0b!+YdY@4@QE^B%#ӴGh:%j$eHI ;%D<)e?qlP ,2t,YD$QE^B+%.7M0^è(2Yy |^@HB- #vtH/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnHG,xSGe,CG2NڷBDHLH1 OζZƯ@4x՘|^dtS}H:YE}8a⍗>31c:$wyu&@Zq$}l,cI 9Db1DWIJś;82DH+8?,G!\B-l0eel^G֯I#ݫ?iy˩2IztH6{ lnYy#It$IJ$LBjK7YeKηE8gXHԙ$LjJP冼 %+}%e(delZds$p{4a{g emgVRBG2Nڷ$JIp?-ta>vYppչWIJׁܰ$t$QE^B2Yy }[s8̓͘Ct,:% }[7<ـ̓G!\Sgc6qn:f9C˩2ItM x"JW,xSGe,CG2NڷG!\SgeS;l}?F/hl֭̕<Ϸ̗ /g1cILQ$$LHJl:[yFYFK/!A#Ӵ@ԑ+Q$$ ԉ)DTI2SmJrK5Qe"YyCt,:%+We$v ,Έ$vtHnXkWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDB:WےX@vYFK/!,[>ǹuHIVp!iAۆ>y^lHIVZp>bDž:$pYX"t<$s$q$$I*$$)ln>N_jyj>{/2^u)>$w,cy@F˟Vט;[< G m8>{ΖQu1Yy$H1 LHƫE͝x"JQ$bYyl^B #r]e6z}~ϲ|~K/#Wnӟŏԙ$LB:$w<6\,μŏ$LjJPd灒$G!\Sg5}5f=/:og1c#ӢG{/gRd ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Ydmf5,K/ GhN(u$JI )C'@+o5"JQ$$G8uų{ydmܒEj2Yy^@{4a{g e$JYy #B- #8 a_nIaf5,dn80;j.7M0^è2Yypո0̓_nIaf5,dn8qכ1#'m[؆ 8XuK/ n8nyy#'m[%jgY`=̓Đ'd(?LB:~9|m0y [$tp'.}[g^btHelL6H:YEe r#)0b#6vqd)DWep~)Yy$LBv[x?)a>-,^GeWN?Rd ?1 lӆ>(sܳ:?ӢG ?1)AHIqM Xx՘|^dtS}ŏ$N쿭]IHƫ nXkRWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDDWF'e1 }[ItM x"JWJrK5Qe#%pո<ى;j.7M0^è2Yypոs8͘ ;jܑ+Q$b6~H|f;-gVO<6c?i!WIJׁܰ$p>bDž:$pYX"t<$s$q$b6{ΖQu1#a˷bȏy}?^}j #z[?gew[?%Hj^bLG!^;Mim.}[g^btHG5]%(2tsR#)kp5f=/:og1c#ӢG{/gRd ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Ydܧ 2Ej2Yy ^@NPHRN]pĉ)DTI2Sr3D$QE^B+%.7M0^è(2Yy |^@HB- #vtH/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnHG,xSGe,CG2NڷBDHLH1 OζZƯr3YeKηE8g$]Lwӆ>(sܳ:?ӢG{/gRdᵭGy.>K/!I!IItY$IJ$LBK/#MA$b^K,;YOYo_e}j;-ںsט!WDSg0F˟Vט9WIJ ?2DH+lZƯr3YeKηE8gXHԙ$LjJP冼 %+}%e(delZds$p{4a{g emgVRBG2Nڷ$JIp?-ta>vYppչWIJׁܰ$t$QE^B2Yy }[s8̓͘Ct,:% }[7<ـ̓G!\Sgc6qn:f9C˩2ItM x"JW,xSGe,CG2NڷG!\SgeS;l}?F/hl֭̕<Ϸ̗ /g1cILQ$$LHJl|1cQE^B%#ӴG5h1nif2ƭ- 1ox:%j$΁="JQ$$G8uųxۨ,x+, ;,QF%e Lp ^BD_% ?Nr]eif0I:.Cΐ/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnH$B`GW6u:YEj?Ӷ|&˵ŏԙ$H1 LHƫE͝x"JQ$bYyl^B #r]e6z}~ϲ|~K/#Wnӟŏԙ$LB՘|~)kŏ}$LB,ӭч䄎dnH?1 ~Z}?f<᝖᳏r #)a$IJ_nIaf5,dn8qכ1#'m[؆ 8XuK/ n8nyy#'m[%j$LBϗel׽urm?Rd ?H1IHH1D,Eْf5,K/ GhNʻ2V(u$JI )O]+rDHI*$qL)fQ:2V"WےX@vYFK/!b /la,ZK/ A$v ,Έ$NN #vdj>@[j(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Pj(QFK/!᳏qyy9vո\=n`0Pd6᳏pqכ09vչ"VN~ ;jI vJ!0b#+m?:ێZƯvdj>};og%[0;ΖQu1<͠xeϫrXN쿭]I#ֶI[=K(,BNQ$~& Q$cUR"f< %(?1 ,6~K/!W9y.в|=e>?gew[?%Hj^bLG!^;Mim.}[g^btHG!\j>x?*[*[՘|G5]%(Sr^HҾܒEj2Yye26qn-ta29vո\=n`0Pd6᳏p)ta!#'m[%j$LB0O;,ُ8gel܂Hƫ nXkRWےX@vYFK/!,[>ǹuHIVp!iAۆ>y^lHIVZ#)@s1n8zuyy[Oԙ$LjJP冼 %+<)#в{#'m[#)tN׃6]#6D{[fJsVxI@sgKk}ט$& RD(& Q$%}6BtvdFYFK/!A#ӴG*[ԑ+Q$$>tvdR!'d9ǔe3-G|"[_nIaf5,VK/ \=n`0PPd%j,^K,: ?;}:$pH]+w/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnHG,xSGe,CG2NڷBDHLH1 Oζu|]+wNy $]Lwӆ>(sܳ:?ӢG{/gRdᵭGy.>K/!I!IItY$IJ$LBK/#MA$b^K,;YOYo_e}j;-ںsט!WDSg0F˟Vט9W6yWfJƬΠ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Y FYFK/!A#ӴDrC"VHIJ| ~DHI*$qL)fQ:JrK5Qe"YyCt,:%+We$B- #oDQ?gYr_ҾܒEj2Yye26qn-ta29vո\=n`0Pd6᳏p)ta!#'m[%jҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$J#<)#в{#'m[!"NQ$& Q$~qMg[q: X0̗npH:YE46⍗>31c:$wyu&@Zq$}l,cI 9Db1DWIJś;82DH+8?,G!\B-l0eel^G֯I#ݫ?iy˩2IztH6ylnYy#Iq0Sg?gYA$cUR7,5d)]+, ;,QF%^C-gVF#'m[؆ 8XuK/ n8F9vչ"VH+k͘~Sv[>$LjJP冼 %+}%e(del{y^lĎdnb /la,MludnH?1 ?$>_᳏w^qכ1]IHƫ nXkR1c8, ,g9vո?1 =K(x0e1{CdGdg>n=f}df[=yH"`$LB!"`BWܳd ;A@QE^B%#ӴGhP(u$JI )OHI ;%D<)e?ql6;A@_nIaf5,VK/ \=n`0PPd%j,ӷhYetA$ #(~/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnHG,xSGe,CG2NڷBDHLH1 Oζu|Va[=/:ᄑtp'.}[g^btHelL6H:YEe r#)0b#6vqd)DWep~)Yy$LBv[x?)a>-,^GeWN?Rd ?1 lӆ>(sܳ:?ӢG ?1 Va(~:Hƫ nXkRWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDDWF'e1 }[ItM x"JWJrK5Qe#%pո<ى;j.7M0^è2Yypոs8͘ ;jܑ+Q$b6~H|f;-gVO<6c?i!WIJׁܰ$p>bDž:$pYX"t<$s$q$b6{ΖQu1#a˷bȏy}?^}j #z[zI]9[OX]IH+ӢGp~)<͠xeϫrXNH+Yjl5yƬΠ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Y󠖯QE^B%#ӴGhƯԑ+Q$$>tDHI*$qL)fQ: jj(QEd؆ 8XuK/!"VI;yv[DGNN ?5yƬ a_nIaf5,dn80;j.7M0^è2Yypո0̓_nIaf5,dn8qכ1#'m[؆ 8XuK/ n8nyy#'m[%jgY`=̓Đ'd(?LB_jVa[=/:ᄑtp'.}[g^btHelL6H:YEe r#)0b#6vqd)DWep~)Yy$LBv[x?)a>-,^GeWN?Rd ?1 lӆ>(sܳ:?ӢG ?1 VacWj>~| #)a$IJ_nIaf5,dn80;j.7M0^è2Yypո0̓G!\]~Olǃ36qnA$cUR7,5d)]+, ;,QF%^C-gV:f$s$p{4a{g emgV <6`$s$rDDW 9 }[?َPLG5]%(Sr^HgY`=̓đW:YEǧD.O"=3%{9w$ 93l%5XG)"bI (!:yFHj(Q@PdzvQ,(u$JI )OK<%"JQ$$G8uųxۨK<$j(QEd؆ 8XuK/!"VI/%YoI ?(Vaܰ$QE^B2Yy }[]~Ldnb /la,Ml ]~HHIVZt$QE^B2Yy }[s8̓͘Ct,:% }[7<ـ̓|ŏ tH,ExHIVHHTI I!\Siwο5~,5f>yNIK(f31c:$r #5f<l2x՘|G5]%(Sr^HҾܒEj2Yye26qn-ta29vո\=n`0Pd6᳏p)ta!#'m[%j$LB0O;,ُ8gel܂Hƫ nXkRWےX@vYFK/!,[>ǹuHIVp!iAۆ>y^lHIVZ#)@s1n8zuyy[Oԙ$LjJP冼 %+<)#в{#'m[#)tN׃6]#6D{[fJsVxI@sgKk}ט$& RD(& Q$%}6Bt,#,QF%e#ŞQZ!%) gdIJ$HQβou gdܒEj2Yy^@{4a{g e$JYy #B- #8A$ŞQƬ a_nIaf5,dn80;j.7M0^è2Yypո0̓_nIaf5,dn8qכ1#'m[؆ 8XuK/ n8nyy#'m[%jgY`=̓Đ'd(?LB_jY};og%[0;ΖQu1NdeϫrXN쿭]I#ֶI[=K(,BNQ$~& Q$cUR"f< %(?1 ,6~K/!W9y.в|=e>?gew[?%Hj^bLG!^;Mp'.}[g^btHG!\j>x?gd0}$LjJP冼 %+}%e(delZds$p{4a{g emgVRBG2Nڷ$JIp?-ta>vYppչWIJׁܰ$t$QE^B2Yy }[s8̓͘Ct,:% }[7<ـ̓G!\Sgc6qn:f9C˩2ItM x"JW,xSGe,CG2NڷG!\SgeS;l}?F/hl֭̕<Ϸ̗ /g1cILQ$$LHJl|(^f5,K/ GhN2נPHR: 2שR!'d9ǔe3-G|(^ܒEj2Yy^@{4a{g e$JYy #/%YoIoDQ̵/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnHG,xSGe,CG2NڷBDHLH1 Oζu|k5f>yNIK(f31c:$r #5f<l̵:Hƫ nXkRWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDDWF'e1 }[ItM x"JWJrK5Qe#%pո<ى;j.7M0^è2Yypոs8͘ ;jܑ+Q$b6~H|f;-gVO<6c?i!WIJׁܰ$p>bDž:$pYX"t<$s$q$b6{ΖQu1#a˷bȏy}?^}j #z[Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDB:WےX@vYFK/!,[>ǹuHIVp!iAۆ>y^lHIVZp>bDž:$pYX"t<$s$q$$I*$$)ln;_kYVa[=/:ᄑtp'.}[g^btHelL6H:YEe r#)0b#6vqd)DWep~)Yy$LBv[x?)a>-,^GeWN?Rd ?1 lӆ>(sܳ:?ӢG ?1 Va,^0}$LjJP冼 %+}%e(delZds$p{4a{g emgVRBG2Nڷ$JIp?-ta>vYppչWIJׁܰ$t$QE^B2Yy }[s8̓͘Ct,:% }[7<ـ̓G!\Sgc6qn:f9C˩2ItM x"JW,xSGe,CG2NڷG!\SgeS;l}?F/hl֭̕<Ϸ̗ /g1cILQ$$LHJl|S5Qe (2Yy=;Dzv(N(u$JI )O vIJ$HQβouN"WےX@vYFK/!b /la,ZK/ A$o9y.в|HNN #;x՘|~,5+, ;,QF%^C-gVF#'m[؆ 8XuK/ n8F9vչ"V+, ;,QF%^C-gV:f$s$p{4a{g emgV <6`$s$rDB81c8, ,g9vո$B`GW6u്_lVa[=/:ᄑtim.}[g^btHelL6H:YEe r#)0b#6vqd)DWep~)Yy$LBv[x?)a>-,^GeWN?Rd ?1 lO3h(sܳ:?ӢG ?1 Vaϧo:Hƫ nXkRWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDDWF'e1 }[ItM x"JWJrK5Qe#%pո<ى;j.7M0^è2Yypոs8͘ ;jܑ+Q$b6~H|f;-gVO<6c?i!WIJׁܰ$p>bDž:$pYX"t<$s$q$b6{ΖQu1#a˷bȏy}?^}j #z[yNIK( 2|Qչfu,D_.k[N$]L|^B !'(?LB(?1)@xggHI|^G?%H+hYewMf;쿭$v[tm?1cu&B #N}8a⍗>31c:$r #5f<lv0}$LjJP冼 %+}%e(delZds$p{4a{g emgVRBG2Nڷ$JIp?-ta>vYppչWIJׁܰ$t$QE^B2Yy }[s8̓͘Ct,:% }[7<ـ̓G!\Sgc6qn:f9C˩2ItM x"JW,xSGe,CG2NڷG!\SgeS;l}?F/hl֭̕<Ϸ̗ /g1cILQ$$LHJl|ۆf5,K/ GhN̷ RDD HI ;%D<)e?ql6;@0j(QEd؆ 8XuK/!"VI;yv[DGNN #23Yr_ҾܒEj2Yye26qn-ta29vո\=n`0Pd6᳏p)ta!#'m[%jҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$J#<)#в{#'m[!"NQ$& Q$~qMg[q: X-8՘|veKηE8a$w,cy@F˟Vט;[< G m8>{ΖQu1Yy$H1 LHƫE͝x"JQ$bYyl^B #r]e6z}~ϲ|~K/#Wnӟŏԙ$LB:$w<6\,μŏ$LB՘|~)̷ VaPItM x"JWJrK5Qe#%pոчIVp!iAۆ>ч䄎dnH?1 ~Z}?f<᝖᳏r #)a$IJ_nIaf5,dn8qכ1#'m[؆ 8XuK/ n8nyy#'m[%j$LBϗel׽urm?Rd ?1)B2DXD ?BYdn$LBy.=:$w^ 31c:$wyu&@Zq$}l,cI 9Db1DWIJś;82DH+8?,G!\B-l0eel^G֯I#ݫ?iy˩2IztH6{ lnYy#Iq0SgnƬΠ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Ye2Ej2Yy ^@N # @Y@4@ԑ+Q$$>t,YR!'d9ǔe3-G|Y@4@_nIaf5,VK/ \=n`0PPd%j,Nr]eNN #,Yj>@[j(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Pj(QFK/!᳏qyy9vո\=n`0Pd6᳏pqכ09vչ"VN~ ;jI vJ!0b#+m?:ێZƯ@4x՘|veKηE8a$w,cy@F˟Vט;[< G m8>{ΖQu1Yy$H1 LHƫE͝x"JQ$bYyl^B #r]e6z}~ϲ|~K/#Wnӟŏԙ$LB:$w<6\,μŏ$LB՘|~)ƬΠ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Ye2Ej2Yy ^@N8 ApK4 IBJSB%(vJ#yFS:~ټmw΅K4j(QEd؆ 8XuK/!"VI/%YoI #,Yj>@[j(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Pj(QFK/!᳏qyy9vո\=n`0Pd6᳏pqכ09vչ"VN~ ;jI vJ!0b#+m?:ێZƯ@4x՘|veKηE8a$w,c0F˟Vט;[< G m8>{ΖQu1Yy$H1 LHƫE͝x"JQ$bYyl^B #r]e6z}~ϲ|~K/#Wnӟŏԙ$LB:$w=O6\,μŏ$LB՘|~)ƬΠ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Ye(d,=;@@G{o4 IBJS@+o5"JQ$$G8uųxۨ"WےX@vYFK/!b /la,ZK/ A$B- # ?o/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnHG,xSGe,CG2NڷBDHLH1 Oζu|m0̗npH:YE46⍗>31c:$wyu&@Zq$}l,cI 9Db1DWIJś;82DH+8?,G!\B-l0eel^G֯I#ݫ?iy˩2IztH6ylnYy#Iq0SgƬΠ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Ye(d,=;Dw@ԑ+Q$$>tR$BNQ$s(gYO[7 %}%e(dY,p!iAAHG^K,: ?NN ?o/冿}%e(delZds$p{4a{g emgVRBG2Nڷ$J#}%e(del{y^lĎdnb /la,MludnHG,xSGe,CG2NڷBDHLH1 Oζu|m0̗npH:YE}8a⍗>31c:$wyu&@Zq$}l,cI 9Db1DWIJś;82DH+8?,G!\B-l0eel^G֯I#ݫ?iy˩2IztH6{ lnYy#Iq0SgƬΠ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Yr05Qe (2Yy=;Dzv(,jb1r0 IBJS@.8bDHI*$qL)fQ:w)_nIaf5,VK/ \=n`0PPd%j,Nr]eNN #Sq0nXkWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDB:WےX@vYFK/!,[>ǹuHIVp!iAۆ>y^lHIVZp>bDž:$pYX"t<$s$q$$I*$$)ln;_kp5f>yNIK(f31c:$r #5f<l NƬΠ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!+Yr05Qe (2Yy=;Dzv2ƭ-w)ԑ+Q$$>tS$IJ$HQβour0j(QEd؆ 8XuK/!"VI/%YoI #Sq0nXkWےX@vYFK/!,[>Ů?&G2Nڷ Lp ^@&6qn.?$$s$rDB:WےX@vYFK/!,[>ǹuHIVp!iAۆ>y^lHIVZp>bDž:$pYX"t<$s$q$$I*$$)ln;_kp5f>yNIK( 2|Qչfu,D_.k[N$]L|^B !'(?LB(?1)@xggHI|^G?%H+hYewMf;쿭$v[tm?1cu&B #N}8a⍗>31c:$r #5f<l NƬΠ?1)B2Dj(QFK/!᳏qkɑ̓Ct,:% }[K ;jܑ+Q$bчfx?);-gVG5]%(Sr^HҾܒEj2Yye26qn=<6bG2Nڷ Lp ^@&6qn:fG2Nڷ$JIqM/َpջ{8͘.A$cUR7,5d)\N~ ;jIqM]LztHy#zO2WZ{H>2\3[쿭ŏA$~0b&!D0b!-GbC(ct:(^D@p ye8`@p 9q DRv RWx2t 8j(QE/1c˩24sxPTZWےX@}ɔ7M0:&-T+WJrK a{n`u3L[/H}%Y9f4gTtpg[pZ%; HGD2T1CTII 9I_nIaЁ(@2F,7Mx2t ;-.M3 V2^%(Xp "p 8C@(~@HP`0ԑ+RDHH%i$H  kD=$7I6x6$ph./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.iarrayfield_mi.htmltyp$$ Method Index for com.ibm.record.IArrayField

Method Index

getArray(IRecord, int, Class)
getBoolean(IRecord, int, int)
getBoolean(IRecord, int, int[])
getByte(IRecord, int, int)
getByte(IRecord, int, int[])
getChar(IRecord, int, int)
getChar(IRecord, int, int[])
getDouble(IRecord, int, int)
getDouble(IRecord, int, int[])
getFloat(IRecord, int, int)
getFloat(IRecord, int, int[])
getInt(IRecord, int, int)
getInt(IRecord, int, int[])
getLong(IRecord, int, int)
getLong(IRecord, int, int[])
getObject(IRecord, int, int)
getObject(IRecord, int, int[])
getShort(IRecord, int, int)
getShort(IRecord, int, int[])
getString(IRecord, int, int)
getString(IRecord, int, int[])
setArray(IRecord, int, Object, Class)
setBoolean(IRecord, int, int, boolean)
setBoolean(IRecord, int, int[], boolean)
setByte(IRecord, int, int, byte)
setByte(IRecord, int, int[], byte)
setChar(IRecord, int, int, char)
setChar(IRecord, int, int[], char)
setDouble(IRecord, int, int, double)
setDouble(IRecord, int, int[], double)
setFloat(IRecord, int, int, float)
setFloat(IRecord, int, int[], float)
setInt(IRecord, int, int, int)
setInt(IRecord, int, int[], int)
setLong(IRecord, int, int, long)
setLong(IRecord, int, int[], long)
setObject(IRecord, int, int, Object)
setObject(IRecord, int, int[], Object)
setShort(IRecord, int, int, short)
setShort(IRecord, int, int[], short)
setString(IRecord, int, int, String)
setString(IRecord, int, int[], String)
in k꼷>$7I6x6$PQ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.iarraytype.html$$ com.ibm.record.IArrayType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.iarraytype_dsc.html#_top_">com.ibm.record.IArrayType (no frames)</a></b></p> </body> ld_ l?$P7I6x6$h(./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.iarraytype_dsc.htmltyp$$  deiort<>achnps .bflmu",/T_gvxy#-=EIORw():ABCFJSU[]jq DP0Lz1349HM!58?GNVW27Y;@(OfoqKĉ bDfoe5F-HC4RIdI:u]:B!-Ѐdr$I:u]$mnmnYbH$H@ p -Vr!CUm3^P 8 $ p$6RI7g R*8AA@=II!Y*B 6 80, a ```$v/måTHDPޣhcB fJ5E<Ȝa^.0 8Mr)tGq(Jr5(W`Ѐ$볊+%wU+1C{iƇHNO€JЮ̓L8SŰz= 0 :5f8o^*OB2LMj8oԛlpgYp RP%(R; @ĒG6R1CRI mb!ՔD2M;KPtGM볊+%wPP#1CtBmԠKI$" I$~YM-!@=ҁ%?Dj|l?]&]UqY+0lfvs=. /mä(CZ3X o=ҁ*I$ L9$)M/^Qr }cz՘ʓcل{Tu/ $9$bI! Q8:P%I$0dGβ6$q$ KI$" I$"5 0 :⨳]JPYLӍ:P*⨳]+8(4a@Td#1C%IJ G 5Ox?DB:u'Oƿ~|'KuoVbW5]YQ$"5 0 :⨳]JPYLӍ: SPH #'A*|@$ $2ΝeZ>P%B#RЮ̓*8ATp8aeM*8AAA#t #'A7fʚ*H(2Wy=7Dzn#D'LYqtkݛ*oO̗џo$;+*c0GK_V՘;ٟY=Y{G e4>{+*c $F]&]UqY+Y")q'A7fʚ]UqY+%w#tG d&SP%IJ GMGOONp CU˻6T5F=w/u)>I$wWFT8v⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4ANGWgEVJ ](B%w#tG?DB:u'OƿjX5F=w/u)>I$wWFT}4a⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4ANGWgEVJ ]`: *H(2Wy=7Dzn8?DB:u'OƿjX5F=w/u)>I$wWFT8v⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4AN*8AAA#t #'ALV J @MbH S)\|?jجTiy[b3dG{teLwF>(kڣz?bG{3'1CtᵬGO{teL|ADԀ4+$볊+%wU+1C{\=e3N4d)*⨳]+=7@` #'ALV J @M0$2Νe5F=w/u)>I$wWFT8v⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4ANJ:Z @$ $2ΝeGK_V6:6֭o},0>z?IDԀ4+$볊+%wU+1C{\=e3N4d6@+%wPPdznH glJ @MbH S)\|?jYz2^lSF}Hthg-}[ToVblHf}df(6Ht(vdvqTYd f(~tiƃ yfvqTYd @M0,@$ +=7@` I!?e?:ˏ_5 Ww~{ tmQYI5]SMVk$m ߪa$}df(xHDj@ْ`@uQg*=. 2t$:[f-7@` #'BMa@$ MGOONd0oO8v⎖71C#r~{+*cɲt_ߪ䚭{Y$IHB2L8,WyR?GES4AN'Kt(:FN'Kt R@bH S)\|?YgSz?ɲt}7$:?IDԀ4+$볊+%wU+1C{\=e3N4d,VWgEVJ ]mZ*H(2Wy=7Dzn#D'LYqtkj5F=w/u)>I$wWFT}4a⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4AN͵hvqTYd @M0mZ*H(2Wy=7Dzn8?DB:u'OƿjaTiy[b3dG{teLs7h(kڣz?bG{3'1CtᵬGO{teL|ADԀ4+$볊+%wU+1C{\=e3N4dSt 8,WyJ GM0t nJ @MbH S)\|?j7x|dئY$]Sцϊ:ZެؑP"8mk)]S%wQ$"5 0 :⨳]JPYLӍ:*8AAA#t2t)*H(2Wy=7Dzn8?DB:u'OƿjM5F=w/u)>I$wWFT8v⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4AN%`vqTYd @M`:шB%w#tG?DB:u'OƿjmgO̗џo$;+*c0GK_V՘;ٟY=Y{G e4>{+*c $F]&]UqY+Y")q'@0 8,WyJ GMH@$ +=7@` I!?e?:ˏ_5 W63Q]KmhϷIѕ1<ݠxjPMϬ=#ֲIY=ѕ1WyB#RЮ̓*8ATp8ae*8AAA#t #'B%z*H(2Wy=7Dzn#D'LYqtkX+5F=w/u)>I$wWFT}4a⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4ANJ 8,WyJ GMHв^J @M0$2Νe`Dx|dئY$]S:ZެؑP"8mk)]S%wQ$"5 0 :⨳]JPYLӍ:2@+%wPPdznH*H(2Wy=7Dzn#D'LYqtke4{MI#Һ2; tmQY#՘GDpSI#'Һ2>J HDj@ْ`@uQg*=. 2teWgEVJ ]`:2P%IJ GMGOONp CUTiy[b3dG{teLs7h(kڣz?bG{3'1CtᵬGO{teL|ADԀ4+$볊+%wU+1C{\=e3N4d M]UqY+%w#tG:FNшB%w#tG?DB:u'Oƿjh5F=w/u)>I$wWFT}4a⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4ANрUQg((2Wy=7Dzn8:FNшB%w#tG #D'LYqtkܦTiy[b3dG{teLs7h(kڣz?bG{3'1CtᵬGO{teL|ADԀ4+$볊+%wU+1C{\=e3N4*8AAA# SFX+Pj0Q{FbJ @M,"W8(=bH S)\wο'Һ28PMl-0:՘ʓ`HDj@ْ`@uQg*=. J"@+%wPP.L$fPH:_: SPJ P]Ih`1$~)t.;_Sµ_G}՘GJ$F]&]UqY+Y")qϝݛ*hvqTYd @M9wfʚ΂n͕5T(Pdzn˻6T1$~)t.;_5 W.Sx|nI$wWFT}4a⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4A: 6T*⨳]+=7@`G.S@MٲJ @M0#vlbH S)\wοj]ٲ4ݿHtq-}[ToVblHf}df(6Ht(vdvqTYd f(~tiƃ>t?d 8,WyJ GM `|$~ P]#?d I!?e?:ˎp CUƨvI#Һ2; tmQY#՘GDpSI#'Һ2>J HDj@ْ`@uQg*=. H*⨳]+=7@`G,~:_: *H(2Wy=7Dzn8X1$~)t.;_5 W,~OM$Jʘn}7o$;+*c0GK_V՘;ٟY=Y{G e4>{+*c $F]&]UqY+Y")qϝ1X]UqY+%w#tG b /1X*H(2Wy=7Dzn8+đ"SӬW5]lVq4ݿHtq-}[ToVblHf}df(6Ht(vdvqTYd f(~tiƃ>tQյZn8:_:(k R@p1$~)t.;_⎖lum[VYa$}df(!hWfIgEVJ VbHzfh3@%Y]UqY+%w#tGyf:_:,͔ R@A#tG}7o$;+*cy@GK_V՘;ٟY=Y{G e4>{+*c $F]&]UqY+Y")qϝj*⨳]+=7Ds h:_: 6ըB%w#tGaGOONu\Ps oOM$Jʘ歷6|QյFf(ĎgOVbkYM$Jʘ+!hWfIgEVJ VbHzfh3Afڴ 8,WyJ GM6ՠ`|,VJ @M0#m@đ"SӬW5\m[ƨvI#Һ29ǛtmQY#՘GDpSI#'Һ2>J HDj@ْ`@uQg*=. ЦvqTYd @M=7@Ц P]#t I!?e?:ˎp CU#'8|nI$wWFT}4a⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4A:*8AAA#tznM R@A#tzn#D'LYq:j7ddOM$Jʘn(kڣz?bG{3'1CtᵬGO{teL|ADԀ4+$볊+%wU+1C{\=e3N4 m]UqY+%w#tG F m*H(2Wy=7Dzn8m`?DB:umƨvI#Һ29ǛtmQY#՘GDpSI#'Һ2>J HDj@ْ`@uQg*=. в^WgEVJ ]# SFX+0tt,"WB%w#tGX+1$~)t.;_5 W^4ݿHthg-}[ToVblHf}df(6Ht(vdvqTYd f(~tiƃ>t,"WUQg((2Wy=7Dzn8(j5MPY`D@в^J @M0#J I!?e?:ˎp CU"Wj>}7o$;+*cy@GK_V՘;ٟY=Y{G e4>{+*c $F]&]UqY+Y")qϝyUQg((2Wy=7Dzne恃#/5T(PdznGOONu\Pwx|nI$wWFT}4a⎖71C6$w>z?HZi$}dWFT]IHB2L8,WyR?GES4A:2@+%wPPdznq0tteJ @M0#$2Νe|e4ݿHtq-}[ToVblHf}df(6Ht(vdvqTYd f(~tiƃ>tܦ*8AAA#tG5E(ܦK@Mh R@A#tG7)đ"SӬW5]ќj>}7o$;+*c0GK_V՘;ٟY=Y{G e4>{+*c $F]&]UqY+Y")qϝ7)+%wPPdznqPj0r0 /7)%IJ GMMh1$~)t.;_5 W~4gOM$Jʘnw~~J#?eᬜHPVk$DBz[e({L죫hlgOVbJ$Djz Hdׁ$G!Q䄎\jځ*I$"Q^x?):gV҉#)aIiWfIgEVJ BgV͘˗m[ES4AXtJ m8yu\jځ*I$"2~H|f:gVO=μَX(?@5(H@5$v2tȡ(:P%I$>EtIi$;%$yf~◽ 0 :⨳]FPe5=. /mä(CZ3X({T2tȡ(%)$A$)t.>NO-O }gOVb(GJ ԒG5=2tkZI#)Sµ_G}՘GJ$& J$& I$!]:Bݛ*hvqTYd @M0 RI!d&SP$BHI$wWFT8v⎖71C6$w>z?HZi$}dWFT]IrI#D%jI#U:vqt -$O]p~)WyG!<ʓ`,;O |dG,~Y9?Y$՘הIlH2yǛtmQY#$Djz Hdׁ$G!z?IDOAḭׁ$+$볊+%wVJ!vѳiOɑ˗m[ES4AXtJ m8F9rj$OsF'e{1붍}[J$Djz He%]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj$O I붍}[}?:f9c{HFfXkZx#1C›8, 0g9ri$"2{+*cbGu`Ζm 7G$yњf}df(yD@B$+GH@qeM*8AAA#t (B HMٲIi$;%$yf~◼eM'A7fʚB2L8,WyVJ \=e3N4^ۅHPd%I+Tfؑo B2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJ#]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj"8#1C›8, 0g9ri$ KRIRI!OVbGĎgOVb(?-":vdvqTYd ].6qm1Ti29rhzfh0 ]gVZBG.]m@$? b}?f<ѝvѳiDOAḭׁ$+$볊+%wVJ!vѳiyuH˶)q,:C%w }[@V:fG.]m@$? ?$ >_vѳo^l,StIL xKOf(xSbGflG.]m$DBxO{teLzlHy#zO2UXH~O6Z3YϬ(?@5(H@5$v2t?d 8,WyJ GMJ$2t?eKI$!)$6['A#@WfIgEVJ ] iƃ p B?%w ?n*M |H#` aWfIgEVJ BgVF#.ڶiƃ p @*6qm?$$rV RDt+$볊+%wVJ!vѳiyuH˶)q,:C%w }[@V:fG.]m@$Gf(xSbGflG.]m$ vJI!jI#D'e?:ˏ_5 W,~O̗џo$;+*cy@GK_V՘;ٟY=Y{G e4>{+*c $9$"5$OAi;8:HD'8?+#eIaS'ن>w~~J#?eᬜHPVk$DB}6$w<:ZެؑG5=2tkZI#)5 W,~O̗џo'1C#bG{3'1CtIL xKOB2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJIG1Ti>vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!+^{y#.ڶJ#3<)#г6{a#.ڶB%$5$"2Νe?gQ]KmhϷIѕ1MljPMϬ=#ֲIY=ѕ1WyBH DHFUbxKI$"WydADO2 0~);Y?%wfpNOI$uf(~5G!>;Lhg-}[ToVblH#:~5t -$O?gQ]KmhϷ՘#՘GJ$Djz He%]&]UqY+Wy }[LU~L\j. /mä2Wyhմ4˗m[P%I$DBx#4O;+ُ4g]lQ$#SZE3,5t -= 0 :⨳]]l{^{y9rhzfh0 ]gV=μـ˗m[P%I$DBxOO]lכ1%G5=S2^@ؑgY=˗m[I#)]S;t}?F+hl̕l)<'߷͖{3'1C$& J$& I$!]:B1X]UqY+%w#tG THAi: bKI$!)$6[b1XB2L8,WyVJ \=e3N4^ۅHPd%I+wRlcDGMMo B2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJ#]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj"8#1C›8, 0g9ri$ KRIRI!tA$ؑo B2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJ#]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj"8#1C›8, 0g9ri$ KRIRI!(kڣz?bG{3'1CtᵬGO{teL|AD$?DBQ?- Xg@IG?%wQ$"̩61d0oO]rٜ5IYߪyDOĎS'0GK_V՘8HFNxKI$"2xbQ]KmhϷ՘#՘GJ$Djz He%]&]UqY+Wy }[LU~L\j. /mä2Wyhմ4˗m[P%I$DBx#4O;+ُ4g]lQ$#SZE3,5t -= 0 :⨳]]l{^{y9rhzfh0 ]gV=μـ˗m[P%I$DBxOO]lכ1%G5=S2^@ؑgY=˗m[I#)]S;t}?F+hl̕l)<'߷͖{3'1C$& J$& I$!]:Btmx (B H GK_VנIi$;%$yf~◾0NJ:Z $ vJI!jI#D'e?:ˏ_⎖lum[VYa$}df(!I$~ I$#SZC'OƼ%? >(kQյmf}df(# R1 $ RIWj'@%Y]UqY+%w#tG THAi:,͔ -$d;,_QoRŞYNK1Wy/g ddGVb^Q$"#?nz2^lSF}$MϬ=Q$#SZE3,5t -= 0 :⨳]]lbdrVp8a{n![F>Q䄎\jځ*I$"Q^x?):gV҉#)aIiWfIgEVJ BgV͘˗m[ES4AXtJ m8yu\jځ*I$"2~H|f:gVO=μَX(?-":PĎ ?B퇄\jILJʘؑX01[CdGdg>M =FlfٟY=YQ$~0jP&!$0jI! Qd6@+%wPPdznJ$2tY(ZI!I$wY߸*?&G.]mYLӍa+Ul U~HH˶WfIgEVJ BgV͘˗m[ES4AXtJ m8yu\jځ*HPĎ ?B퇄\jI씒B ԒGO:u'OƿjyfO̗џo$;+*c0GK_V՘;ٟY=Y{G e4>{+*c $9$"5$OAi;8:HD'8?+#eIaS'ن>w~~J#?eᬜHPVk$DB}6$w=цϊ:ZެؑG5=2tkZI#)5 Wt MJ$2t$:[f -$d;,_QoRw 6NY>t MMo f(xSbGflG.]m$ vJI!jI#D'e?:ˏ_;Y<:Zެ$t&~5 jf0>z< Q$!$A$Djz HV(ǁ$G!>;Lq-}[ToVblH#:~5t -$OagO{teLuf(dnIL xKOf(xSbGflG.]m$DBxO{teLzlHy#zO2UXH~O6Z3YϬ(?@5(H@5$v2t$:[f-7@ҁ*I$ 6NY>uKI$!)$6['BMawbG,5M~  vմ%)$A$)t.>NO,~ϳ |dF>(kڣz<8k'''Һ2<'Ku.I?o'UHP1D$?DBQ?- Xg@IlH2{ tmQY#$Djz Hdׁ$G!wٟY=ѕ1՘MQ$#SZE3,5t -<M~  vմ? =ѕ1#aKwdbȏy}?V}b #zYzQ䄎\jځ*HvdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶ lH,MxH˶.I$" I$~LYqtkj5F=w/u)>I$wWFT8v⎖71C6$w>z?HZi$}dWFT]IrI#D%jI#U:vqt -$O]p~)WyG!<ʓ`,;O |dG,~Y9?Y$՘הIlH2yǛtmQY#$Djz Hdׁ$G!J HCI!(RI QӳIi$DB~J#L(? Tf2}c}7'9c_$fHD'bGp~)MljPMQ$#SZC'OƼ%? <Ps oO̗џo'1C#bG{3'1CtIL xKOB2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJIG1Ti>vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!{+*c $9$"5$OAi;8:HD'8?+#eIaS'ن>w~~J#?eᬜHPVk$DB}6$w<:ZެؑG5=2tkZI#)5 WO̗џo'1C#bG{3'1CtIL xKOB2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJIG1Ti>vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!{+*c $9$"5$OAi;8:HD'8?+#eIaS'ن>w~~J#?eᬜHPVk$DB}6$w=цϊ:ZެؑG5=2tkZI#)5 WO̗џo'1C#bG{3'1CtIL xKOB2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJIG1Ti>vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!כ1#.ڶiƃ p @*6qmZ͘ vյTM~  vմ%)$A$)t.>NW5\h5F=w/u)>I$wWFT8v⎖71C6$w>z?HZi$}dWFT]IrI#D%jI#U:vqt -$O]p~)WyG!<ʓ`,;O |dG,~Y9?Y$՘הIlH2yǛtmQY#$Djz Hdׁ$G!vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!כ1#.ڶiƃ p @*6qmZ͘ vյTM~  vմ%)$A$)t.>NW5\h5F=w/u)>I$wWFT}4a⎖71C6$w>z?HZi$}dWFT]IrI#D%jI#U:vqt -$O]p~)WyG!<ʓ`,;O |dG,~Y9?Y$՘הIlH2{ tmQY#$Djz Hdׁ$G!vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!J HCI!(RI QӳIi$DB~J#L(? Tf2}c}7'9c_$fHD'bGp~)<ݠxjPMQ$#SZC'OƼ%? <P{,O̗џo'1C#bG{3'1CtIL xKOB2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJIG1Ti>vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!J HCI!(RI QӳIi$DB~J#L(? Tf2}c}7'9c_$fHD'bGp~)MljPMQ$#SZC'OƼ%? <P{,O̗џo'1C#bG{3'1CtIL xKOB2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJIG1Ti>vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!tA$wbG82_Ю̓*8AY+F>*?&G.]mYLӍa+Ul U~HH˶WfIgEVJ BgV͘˗m[ES4AXtJ m8yu\jځ*HPĎ ?B퇄\jI씒B ԒGO:u'Oƿj^oO̗џo$;+*cy@GK_V՘;ٟY=Y{G e4>{+*c $9$"5$OAi;8:HD'8?+#eIaS'ن>w~~J#?eᬜHPVk$DB}6$w<:ZެؑG5=2tkZI#)5 W{/7Q]KmhϷ՘#՘GJ$Djz He%]&]UqY+Wy }[LU~L\j. /mä2Wyhմ4˗m[P%I$DBx#4O;+ُ4g]lQ$#SZE3,5t -= 0 :⨳]]l{^{y9rhzfh0 ]gV=μـ˗m[P%I$DBxOO]lכ1%G5=S2^@ؑgY=˗m[I#)]S;t}?F+hl̕l)<'߷͖{3'1C$& J$& I$!]:ByUQg((2Wy=7DznTHAi:2P$BH;Lhg-}[ToVblH#:~5t -$Oƨ%4gPHؑP%G5=S2^@Ю̓*8AY+F>*?&G.]mYLӍa+Ul U~HH˶G!<U~Oǃ36qm(?-":vdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶G!כ1#.ڶiƃ p @*6qmZ͘ vյTM~  vմ%)$A$)t.>NW5]ќj>z2^lSF}Htq-}[ToVblHf}df(6Ht(GJ ԒG5=tZI#S' $DBy&Y>wLfM+X3r~I#1CY(? ؑd7h(kڣz?bGIIi$DBxO5]ќj>z2^lSF}$MϬ=Q$#SZE3,5t -= 0 :⨳]]lbdrVp8a{n![F>Q䄎\jځ*I$"Q^x?):gV҉#)aIiWfIgEVJ BgV͘˗m[ES4AXtJ m8yu\jځ*I$"2~H|f:gVO=μَX(?-":PĎ ?B퇄\jILJʘؑX01[CdGdg>M =FlfٟY=YQ$~0jP&!$0jI! Qd M]UqY+%w#tG:P%I$&4bHCRIǖm/){Mh2tܦ]&]UqY+%w. /mä(2Wy@Hʓ`,: ?Ď}fXkْ`@uQg+%whմQ˶)q,:C%w }[AjO vյT 0 :⨳]]l{^{y9rhzfh0 ]gV=μـ˗m[P%IؑgY=˗m[I!]HDH ONp CU߹Mƨ%4g$Jʘ歷6|QյFf(ĎgOVbkYM$Jʘ+!I$~ I$#SZ@*GN<%? +2~J HD'Rlcx?a߬8k''$:?U#MO}4a⎖71C6$qDOAi ?:HD'd CU߹Mƨ%4gPHؑP%G5=S2^@Ю̓*8AY+F>*?&G.]mYLӍa+Ul U~HH˶G!<U~Oǃ36qm(?-":vdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶G!MfGSz?RlIrI#D%jI#U:vqt -$O]p~)WyG!<ʓ`,;O |dG,~Y9?Y$՘הI4S'j}G!=vs=OvQմ6~t3'j(?-":vdvqTYd ].6qm1Ti29rhzfh0 ]gVZBG.]m@$? b}?f<ѝvѳiDOAḭׁ$+$볊+%wVJ!vѳiyuH˶)q,:C%w }[@V:fG.]m@$? ?$ >_vѳo^l,StIL I$ LHBTt|%OC UQg((CZ3X({ (B KA*|@IvJI#ͥ/xۨ({ vdvqTYd (tњYLӍa -=ҁ*O-OC o B2L8,Wyd-j$rVp8a{n!f(x%OC @(ڀ˗m[P%I$ vJI!jI#D'e?:ˎdWf}df(!I$~ I$#SZ@*GN<%? ({LZ>=Q$#SZE3,5t -= 0 :⨳]VbΏtj˗m[ES4AXtJ >EtjG.]m@$? <>~tmj>.yᵬVb(?@5(H@5$vMٲWgEVJ ]9wfʚ RI!󠛳eM@IvJI#ͥ/xۨݛ*h 0 :⨳]Y+p8a{n!A@'G2 0Έ$MM #vlj>@YvdvqTYd ].6qm1Ti29rhzfh0 ]gVZBG.]m@$GB2L8,Wydm8מ^lĎ\j. /mä2Wyhմks6`$rV RDpFb6$pY`&l<$rVH@d?DBxSӬW5\eMTiY$]S:ZެؑP"8mk)]S%wQ$!$A$Djz HV(ǁ$G!?%wO]I*M |>1Wy/g ddGVb^Q$"#?nvWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!tA$nlH˻6T5F o B2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJ#]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj"8#1C›8, 0g9ri$ KRIRI!wLfM+X3r~I#1CY(? ؑdF>(kڣz?bGI4S'vlj>~|DOAḭׁ$+$볊+%wVJ!vѳiOɑ˗m[ES4AXtJ m8F9rj$OsF'e{1붍}[J$Djz He%]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj$O I붍}[}?:f9c{HFfXkZx#1C›8, 0g9ri$"2{+*cbGu`Ζm 7G$yњf}df(yD@B$+GH@w΂GWgEVJ ]9c@ҁ*I$ t?eKI$!)$6[nt?d vdvqTYd @zfh0 ] JWy #2 0Έ$8GX5F o B2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJ#]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj"8#1C›8, 0g9ri$ KRIRI!Iѕ1<ݠxjPMϬ=#ֲIY=ѕ1WyBH DHFUbxKI$"WydADO2 0~);Y?%wfpNOI$uf(~5G!>;Lq-}[ToVblH#5F<d4}G5=S2^@Ю̓*8AY+F>*?&G.]mYLӍa+Ul U~HH˶G!<U~Oǃ36qm(?-":vdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶G!Q䄎\jځ*HvdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶ lH,MxH˶.I$" I$~LYq:jcx|nI$wWFT}4a⎖71C6$w>z?HZi$}dWFT]IrI#D%jI#U:vqt -$O]p~)WyG!<ʓ`,;O |dG,~Y9?Y$՘הIlH2{ tmQY#$DBx|~)ƨΔIL xKOB2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJIG1Ti>vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!J HCI!(RI QӳIi$DB~J#L(? Tf2}c}7'9c_$fHD'bGp~)<ݠxjPMQ$"ƨY2zجTiJ$Djz He%]&]UqY+Wy }[LU~L\j. /mä2Wyhմ4˗m[P%I$DBx#4O;+ُ4g]lQ$#SZE3,5t -= 0 :⨳]]l{^{y9rhzfh0 ]gV=μـ˗m[P%I$DBxOO]lכ1%G5=S2^@ؑgY=˗m[I#)]S;t}?F+hl̕l)<'߷͖{3'1C$& J$& I$!]:Bt`vqTYd @M:جJ$SZI!I$wY߸u+WfIgEVJ ] iƃ p B?%w ?n*M |H#G+8|,5 0 :⨳]]lbdrVp8a{n![F>Q䄎\jځ*HvdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶ lH,MxH˶.I$" I$~LYq:jجTiY$]Sцϊ:ZެؑP"8mk)]S%wQ$!$A$Djz HV(ǁ$G!?%wO]I*M |>1Wy/g ddGVb^Q$"#?歷6|QյFf(Ď(? TiO[j>~|DOAḭׁ$+$볊+%wVJ!vѳiOɑ˗m[ES4AXtJ m8F9rj$OsF'e{1붍}[J$Djz He%]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj$O I붍}[}?:f9c{HFfXkZx#1C›8, 0g9ri$"2{+*cbGu`Ζm 7G$yњf}df(yD@B$+GH@w΀J:Z MJ$ GK_VנIi$;%$yf~◼mw΀J:Z Mtmx !]HDH ONuY>(kQյmfGOVb(GJ ԒG5=tZI#tmg쌜vKM⎖$Qյmf}df(aV0>|'-ެVշdmGCR ({:Z0 R%$@B$+GH@w΀K1Wy/g ddGVb^Q$"#?n_vѳo^l,StIL xKOf(xSbGflG.]m$DBxO{teLzlHy#zO2UXH~O6Z3YϬ(?@5(H@5$v glWgEVJ ]#ŞY RI!,@IvJI#ͥ/xۨyf 0 :⨳]Y+p8a{n!A@'G7y&Y>tA$wbG$6x|,5 0 :⨳]]lbdrVp8a{n![F>Q䄎\jځ*HvdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶ lH,MxH˶.I$" I$~LYq:jY}7o$;+*c0GK_V՘;ٟY=Y{G e4>{+*c $9$"5$OAi;8:HD'8?+#eIaS'ن>w~~J#?eᬜHPVk$DB}6$w=цϊ:ZެؑG!x?gl4}G5=S2^@Ю̓*8AY+F>*?&G.]mYLӍa+Ul U~HH˶G!<U~Oǃ36qm(?-":vdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶G!}7o$;+*cy@GK_V՘;ٟY=Y{G e4>{+*c $9$"5$OAi;8:HD'8?+#eIaS'ن>w~~J#?eᬜHPVk$DB}6$w<:ZެؑG!x?j5F?otHFfXkZzْ`@uQg+%whմQ˶)q,:C%w }[AjO vյTHD'9O~SFuF>G5=S2^@Ю̓*8AY+F>כ1#.ڶiƃ p @*6qmZ͘ vյTHD'd$~uF>{{yYO=Q$#SZE3,5t -<M~  vմ? =ѕ1#aKwdbȏy}?V}b #zYzQ䄎\jځ*HvdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶ lH,MxH˶.I$" I$~LYq:jڷQϦdG{teLwF>(kڣz?bG{3'1CtᵬGO{teL|AD$?DBQ?- Xg@IG?%wQ$"̩61d0oO]rٜ5IYߪyDOĎS'0GK_V՘8HD'QvWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!Q䄎\jځ*HvdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶ lH,MxH˶.I$" I$~LYq:j7ddOM$Jʘnכ1#.ڶiƃ p @*6qmZ͘ vյTM~  vմ%)$A$)t.;_5 W쌜TiY$]Sцϊ:ZެؑP"8mk)]S%wQ$!$A$Djz HV(ǁ$G!?%wO]I*M |>1Wy/g ddGVb^Q$"#?歷6|QյFf(Ď(? TiOO:Q$#SZE3,5t -= 0 :⨳]]lbdrVp8a{n![F>Q䄎\jځ*I$"Q^x?):gV҉#)aIiWfIgEVJ BgV͘˗m[ES4AXtJ m8yu\jځ*I$"2~H|f:gVO=μَX(?-":PĎ ?B퇄\jILJʘؑX01[CdGdg>M =FlfٟY=YQ$~0jP&!$0jI! Q m]UqY+%w#tG FTHAi|[F Ii$;%$yf~◼mw΀%` 0 :⨳]Y+p8a{n!A@'GMeIaI7}6$p $h5F o B2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJ#]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj"8#1C›8, 0g9ri$ KRIRI!~|DOAḭׁ$+$볊+%wVJ!vѳiOɑ˗m[ES4AXtJ m8F9rj$OsF'e{1붍}[J$Djz He%]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj$O I붍}[}?:f9c{HFfXkZx#1C›8, 0g9ri$"2{+*cbGu`Ζm 7G$yњf}df(yD@B$+GH@w΀%`vqTYd @M9р`@$Z_:шZI!I$wY߸u mB2L8,WyVJ \=e3N4^ۅHPd%I+wRlcDGMM ?m8|,5 0 :⨳]]lbdrVp8a{n![F>Q䄎\jځ*HvdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶ lH,MxH˶.I$" I$~LYq:jќj>}7o$;+*c0GK_V՘;ٟY=Y{G e4>{+*c $9$"5$OAi;8:HD'8?+#eIaS'ن>w~~J#?eᬜHPVk$DB}6$w=цϊ:ZެؑG!x?Fq4}G5=S2^@Ю̓*8AY+F>*?&G.]mYLӍa+Ul U~HH˶G!<U~Oǃ36qm(?-":vdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶G!Q䄎\jځ*HvdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶ lH,MxH˶.I$" I$~LYq:jJQϦdG{teLwF>(kڣz?bG{3'1CtᵬGO{teL|AD$?DBQ?- Xg@IG?%wQ$"̩61d0oO]rٜ5IYߪyDOĎS'0GK_V՘8HD'Q<,"Wj>~|DOAḭׁ$+$볊+%wVJ!vѳiOɑ˗m[ES4AXtJ m8F9rj$OsF'e{1붍}[J$Djz He%]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj$O I붍}[}?:f9c{HFfXkZx#1C›8, 0g9ri$"2{+*cbGu`Ζm 7G$yњf}df(yD@B$+GH@w΀*⨳]+=7@`G{/4 (B K@F^jHCRIǖm/){G|]&]UqY+%w. /mä(2Wy@H7y&Y>tA$8GTḭ+$볊+%wVJ!vѳiOɑ˗m[ES4AXtJ m8F9rj":ْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJ#3<)#г6{a#.ڶB%$5$"2Νe|e4ݿHtq-}[ToVblHf}df(6Ht(GJ ԒG5=tZI#S' $DBy&Y>wLfM+X3r~I#1CY(? ؑd7h(kڣz?bGI4S'ƨΔIL xKOB2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJIG1Ti>vWhλhմHFfXkZzْ`@uQg+%whմ:f$rVp8a{n![F>+^{y#.ڶJIL/َhշo{s6c?)GJ$Djz He%3<)#г6{a#.ڶG!tA$8A$5F o B2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJ#]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj"8#1C›8, 0g9ri$ KRIRI!~|DOAḭׁ$+$볊+%wVJ!vѳiOɑ˗m[ES4AXtJ m8F9rj$OsF'e{1붍}[J$Djz He%]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj$O I붍}[}?:f9c{HFfXkZx#1C›8, 0g9ri$"2{+*cbGu`Ζm 7G$yњf}df(yD@B$+GH@w΀рUQg((2Wy=7Dzn8(j5MP M RI!&4bHCRIǖm/){G| MB2L8,WyVJ \=e3N4^ۅHPd%I+MeIaIؑ0 ?Mh5F o B2L8,Wydm84vմ\=e3N4^ۅHdVѳh-Ti!#.ڶJ#]&]UqY+Wy }[Oks6bG.]mYLӍa+Ulכ09rj"8#1C›8, 0g9ri$ KRIRI!Iѕ1<ݠxjPMϬ=#ֲIY=ѕ1WyBH DHFUbxKI$"WydADO2 0~);Y?%wfpNOI$uf(~5G!>;Lq-}[ToVblH#5F<dr3Q(?-":vdvqTYd ].6qm1Ti29rhzfh0 ]gVZBG.]m@$? b}?f<ѝvѳiDOAḭׁ$+$볊+%wVJ!vѳiyuH˶)q,:C%w }[@V:fG.]m@$? ?$ >_vѳo^l,StIL xKOf(xSbGflG.]m$DBxO{teLzlHy#zO2UXH~O6Z3YϬ(?@5(H@5$vr0 8,WyJ GMPj0r0 (B K@Mh -$d;,_QoRr0 vdvqTYd @zfh0 ] JWy #ʓ`,: ?#G Mƨ aWfIgEVJ BgVF#.ڶiƃ p @*6qm?$$rV RDt+$볊+%wVJ!vѳiyuH˶)q,:C%w }[@V:fG.]m@$Gf(xSbGflG.]m$ vJI!jI#D'e?:ˎp CU߹MƨvI#Һ2; tmQY#՘GDpSI#'Һ2>J HCI!(RI QӳIi$DB~J#L(? Tf2}c}7'9c_$fHD'bGp~)MljPMQ$"ƨLnSFq4}G5=S2^@Ю̓*8AY+F>*?&G.]mYLӍa+Ul U~HH˶G!<U~Oǃ36qm(?-":vdvqTYd ].6qm==μىvմ\=e3N4^ۅHdVѳh מ^lH˶G! Method Index for com.ibm.record.IArrayType

Method Index

getArray(IRecord, int, Class)
getBaseType()
getBoolean(IRecord, int, int)
getBoolean(IRecord, int, int[])
getByte(IRecord, int, int)
getByte(IRecord, int, int[])
getChar(IRecord, int, int)
getChar(IRecord, int, int[])
getDimensions()
getDouble(IRecord, int, int)
getDouble(IRecord, int, int[])
getElementOffset(int)
getElementOffset(int[])
getElementSize()
getFloat(IRecord, int, int)
getFloat(IRecord, int, int[])
getInt(IRecord, int, int)
getInt(IRecord, int, int[])
getLong(IRecord, int, int)
getLong(IRecord, int, int[])
getObject(IRecord, int, int)
getObject(IRecord, int, int[])
getShort(IRecord, int, int)
getShort(IRecord, int, int[])
getString(IRecord, int, int)
getString(IRecord, int, int[])
setArray(IRecord, int, Object, Class)
setBaseType(IFixedLengthType)
setBoolean(IRecord, int, int, boolean)
setBoolean(IRecord, int, int[], boolean)
setByte(IRecord, int, int, byte)
setByte(IRecord, int, int[], byte)
setChar(IRecord, int, int, char)
setChar(IRecord, int, int[], char)
setDimensions(int[])
setDouble(IRecord, int, int, double)
setDouble(IRecord, int, int[], double)
setFloat(IRecord, int, int, float)
setFloat(IRecord, int, int[], float)
setInt(IRecord, int, int, int)
setInt(IRecord, int, int[], int)
setLong(IRecord, int, int, long)
setLong(IRecord, int, int[], long)
setObject(IRecord, int, int, Object)
setObject(IRecord, int, int[], Object)
setShort(IRecord, int, int, short)
setShort(IRecord, int, int[], short)
setString(IRecord, int, int, String)
setString(IRecord, int, int[], String)
 kA$7I6x6$Pb./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ibytebuffer.htmlltyp$$ com.ibm.record.IByteBuffer <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ibytebuffer_dsc.html#_top_">com.ibm.record.IByteBuffer (no frames)</a></b></p> </body> t, int kD4B$> 7I6x6$xd> ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ibytebuffer_dsc.htmltyp$$ Interface com.ibm.record.IByteBuffer

Interface com.ibm.record.IByteBuffer

public interface IByteBuffer

This interface describes the behavior of a byte buffer.


Method Index

checkBytes(byte[])
Determines whether a specified byte array is suitable for use with the buffer.
getBytes()
Returns an array of bytes that represents the buffer contents.
setBytes(byte[])
Associates an array of bytes with a buffer.

Methods

checkBytes
 public abstract boolean checkBytes(byte theBytes[])
Determines whether a specified byte array is suitable for use with the buffer.

Parameters:
bytes - The byte array for the buffer.
Returns:
true if the byte array is suitable for use with the buffer; false otherwise.
getBytes
 public abstract byte[] getBytes()
Returns an array of bytes that represents the buffer contents.

Returns:
An array of bytes that represents the contents of the buffer.
setBytes
 public abstract void setBytes(byte theBytes[])
Associates an array of bytes with a buffer.

Parameters:
bytes - The byte array contained in the buffer.

/r koC$7I6x6$`M./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ibytebuffer_mi.htmltyp$$ Method Index for com.ibm.record.IByteBuffer

Method Index

checkBytes(byte[])
getBytes()
setBytes(byte[])
Fields khD$7I6x6$Pxe./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.icustomrecord.htmltyp$$ com.ibm.record.ICustomRecord <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.icustomrecord_dsc.html#_top_">com.ibm.record.ICustomRecord (no frames)</a></b></p> </body> As kE$7I6x6$@{e./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.icustomrecord_dsc.htmlp$$ Interface com.ibm.record.ICustomRecord

Interface com.ibm.record.ICustomRecord

public interface ICustomRecord
extends IRecord

This interface describes a custom record.


me="c k`vF$7F5x6$pt./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.icustomrecord_mi.htmlp$$ Method Index for com.ibm.record.ICustomRecord p_"> com.ibm.record.ICustomRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.icustomrecordtype_dsc.html#_top_">com.ibm.record.ICustomRecordType (no frames)</a></b></p> </body>  kH$7I6x6$Ni./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.icustomrecordtype_dsc.htmli.htm$$ Interface com.ibm.record.ICustomRecordType

Interface com.ibm.record.ICustomRecordType

public interface ICustomRecordType
extends IRecordType

This interface describes a custom record type.


Method Index

getObject(IRecord, int)
This method returns the referenced bytes as a new custom record with a copy of the bytes corresponding to this record type.
setObject(IRecord, int, Object)
This method sets the record bytes from a custom record (value).

Methods

getObject
 public abstract Object getObject(IRecord record,
                                  int fieldOffset) throws RecordConversionFailureException, RecordConversionUnsupportedException
This method returns the referenced bytes as a new custom record with a copy of the bytes corresponding to this record type. This accessor is provided in support of nested custom records.

Parameters:
record - The record.
fieldOffset - The absolute offset of the field in the record bytes.
Returns:
The referenced bytes as a new custom record.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this type.
setObject
 public abstract void setObject(IRecord record,
                                int fieldOffset,
                                Object value) throws RecordConversionFailureException, RecordConversionUnsupportedException
This method sets the record bytes from a custom record (value). This accessor is provided in support of nested custom records.

Parameters:
record - The record.
fieldOffset - The absolute offset of the field in the record bytes.
value - The custom record to set.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this type.

 kI$7I6x6$`&O./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.icustomrecordtype_mi.htmli.htm$$ Method Index for com.ibm.record.ICustomRecordType

Method Index

getObject(IRecord, int)
setObject(IRecord, int, Object)
com.ibm.record.IDynamicRecord <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.idynamicrecord_dsc.html#_top_">com.ibm.record.IDynamicRecord (no frames)</a></b></p> </body> record. l꘤K$|\7I6x6$Xi./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.idynamicrecord_dsc.html$$   deiort.<>aclns bfhmpuv"/_gx#,:=CEFRSTy()-JN[]jw AIUq;BLOPX&2D0134{}'58Yk79HM?GW!ZH-"lN%$(P4*69zcxܪr(TJ%Q\(dd !@`'ݲ %NK"T@'W4 IxPv˴ "llBE:O8 Q* r t@N/f9"<ncpH  x`p/@ʈ8R=b(@.Ye:EmkeDEDny#m 'С  @ Q}2B4X$R@?1BrTY-MN k^jN${%5qB@%DRvI_С"((K,Q&#%,fK/!2'p"J 2ƉP[V8ab)tPPjz %@3[ڷ^KWJy% [Z/AzcDkxmKantRԑO1mj+aIHY-$TQ rI`RJo)l+[B ;LX?;p{,Q&#%\) t*ݪH L5DcU8=;g ['"L^BE17eJ 1Ie"YyAzcA,Jpe$R@ RMQO)le/\r̦|^G*?{:]ygL}2w; =||/WDr[AR[3F"l{ξ0|gW|V#9ΫpGe@&sדC|QENKD[/W;KxU_*$r̟Nb_ =|~>rA#X c%{[?DM{>q,t}.{VYKyߢ-:{>>[&K ~pϼݠ\[@ ~2^ity lSux0%ʼ\[2H'9-Q1ʼ.s%=2~Kn-ܙau'?9K2^ityw^b}߹NdP@w羌5طϲ=|>K/ [3ʩlzw_e}-{]:ckKu1b!,iڷ{+zZ?טewS?Hud~<,G9_Krvň#sʩlzy,ɎH7,pϥr̟e}.yU-'}/p~, ._Rv1Z];yTs<ܳ&=8=2~ߧE1{<]0ňl.O8g[/|?.|Kٔnչɖ7}D[j5euK2^lmQT@H '@H < NʩlVd(??.yU-uӆ6{doe#UK`%"^ fO<*ӆpÙdF[!$nJpo<T nʩl0 ~@"Q( !}ldKUKcUK`*l ܳ'r3tP\ӧ(u* zHܕ?ܧ T+2xWP$UK` :?mg0D[p`t2t[p)U-J̐0 ~F䨁 O9ɞ-2\򭭰m8g ^ջAO h~@P[>9H$MSm9 3q*nJSiDRIP  ' $(~8`(ʩlVd Dsʩl|K;_sv%><ǧ?nӦ=;_%=8Ո-{-%쮷u,EҊlVd"^ň+r1]0Q.*KUKcfK+a}|] tsmZ#טNeKsʶ lZs=c$$m ~҄ UKc侢_}Ûl-,u,E}2*ӆpÙdF[!$nJpo<T ߸s7 @mg*Ù ʩl? T ?'@!7%D(.yU-QU-U(#g69gO[#@PKɞp*ӆ?I* ~NʩlVd \ z`N@@ P$ :R8'^@B kp^BNkp* Y0 ~F䨁 O9ɞ-2\򭭰m8g ^ջAO h~@P[>9H$MSm9 3qPUK`nJSiDPsʩl|K;_% yl.eu1b(  ~[&K 0, /]4[ T#gpmPܳ'ޝyWgdv#kK筧K~ G`GnJSr[<+(u* z!v,DtHP/ppppB^BN* Yט#@E( ]?l&zܶ9osʶ/{V9<1[@Zsnd+po `7%TƠ 0, -"Qm([JI* $$ܧ U-J̗zv,DtH2E*}፟dn[z"%N _sv%J^b@wDHW.z"@ɒZ&z{@X[[`p߸s4잷՘kd$MQp?ӷR0(Bۆr[po<T ߸s7 ʩl0 ~@"Q( !}ldKňl. 쮚QU-$U+ݫLzwM($U( P6lsrϨ*ӆr[/X[ӶFNztHВ7%D)9U-J̗|+ @@!U-P$ :R0'^@BX葼+ӷ"xW0D:Yy:x%fK:"$h?HrT@D m[g?.yV63^j'4?Oq( N~̟ew$ @&䪝¸RdR0(@ZEQT@H '@H < N [/"$h"QRa.}[޼ňu=o}DӺǼݠ;doe#җ#R*nX푓ZeR ._^b|Loc%AX[[`p߸s4F[!$nJpo !m9U-B ߸s7v[9T?H ~F䨁P2^^b|Lo0,`_iETTv1*iET"AF9>~ʓsʩlueSy葨 ~rT@3xT  nʩl?H ~Ù?ӷR( ~7*@!BnJ@Q c%\,GdvP@+UK`Jj@( 1b>[&K +UK`*l ܳ'sʶᜁP* Yň=;dd^b@wDXIᜪ%fK@Iנ(u zIנ#(uIנ#(u*`N ט#A@ ݼ+", UK`%y4 Q* ~6lrgm=~c%yWld፟x@Û2\-yT Uc6ř;8Uz{YY"X޷-{ʼ\ldAu^,O\ӧΠm ~ҒJ@OSr[![N2Em([JI*>;@H < N [/$zt($SiDRIQQ:@H PpUK`$#ӷ1b ;Fp@O=m:@J)m)$ $(~8g* Y ,DtHЎ@H 筧H"RE6@-$u$ܧ U-J̗zv,DtHЎ@H 筧H"RE6@-$u$ܧ U-J̐NP/1b ;Fp@O=m:@J)mQ:K:Wܳ$(M:$h$R@, ΗqwD t, tT@P J 1Ie"E2b 2tXֆN=hj1m[6bR)jSp?W|;YXeKͷE8g\,`U-( tƨJy% e$dP"Le :f,D YCVܧ 81g [ -{T2tXE-@PpP,#oxLB.̝.B_^b{/2^m)>eSʩlw,A5@*W((K,Q&#%,fK/ \=/Lh8 v[Ş5np0 m"(~8`LB.̝..x!gv[i쯥y*RYLjTPPYLFK/!.Y̖^@{^qA=hj1a*:n+rE-@PpN1~ ]?:]ӱ\B_&sӧ_KeUL?^b|Lo=(T;d+%b(E@e3%.4dlPbZ @~8`Gh($Rܧ btdw'N?s =|[Ne}.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^qA=hj1ဠXJN[ܑKP?r0 ?W|;,n+w=m:}6YET[2P@P J 1Ie"E2b 2tݶV(1g [ ?r0  P v[)jSab1 @2tcMen筧O=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh8 v[Ş5npP,#Ӵ  P v[)jSaXLB.̝..x!gv[i쯥y*1b>[&K_KeULr[2P@P J 1Ie"E2b 2tA=hj1a*:DvR)jS+>Nz";\,`#d}6YET*ܳ%_/$,D^B*\),p 1'@(ֆN dH N +>Nz";\,`#d}6YET*ܳ%_/$,D^B*\),p 1'B^A=hj1a*:Z"(~8`LB.̝..x!g=m:}6YET[2P@P J 1Ie"E2b 2t,ֆNe)jSzv+>Nz ^sӧ_KeUL?^b|Lo=(T;d+%b(E@e3%.4dYk(1g [ ?r0#Ӵ  Pв׉C)=;A@1~ ]?:]ӱ\B_akzt+slXɒWeSr̔:cT|Eb2Yyr̦d؂ƃ -x,pS`a*:Z"(~8`(  'K:v9KY-y[Ne}.{͖QU0@r̔:cT|Eb2Yyr̦d؂ƃ -x,pSaa*:Z"(~8`(  'K:v9KY-y[Ne}.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^qeŞ5npP,#Ӵ  Pв׉C)@NP, @!_ONqts<Z󞶝>\,`#d}6YET*ܳ%_/$,D^B*\),p 1'@%,pSdĶR)jS+>NzYĶyi쯥y*RYLjTPPYLFK/!.Y̖^@{^qgzոb)=;@T2t[)C)=;@btdw'N?s =~,[NzM=m:}6YET[2P@P J 1Ie"E2b 2t5zոb)=;@T2t5H N  'K:v9KY6׼WeSט-%쯥y*9U-( tƨJy% e$dP"Le :^A=hj1XJNשC)=;A@1~ ]?:]ӱ\B_)筧O=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh8 YCVܧ T2t5H N +>NzM=m:}6YET[2P@P J 1Ie"E2b 2t5zոb)@N0 mR)jSab1 @2tcSm{[Ne}.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^qֆN zv`a*:^Rܧ =;A@1~ ]?:]ӱ\B_)筧O=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh8,pSdH N  'K:v9KY푓WeSʩlw,A5@*W((K,Q&#%,fK/ \=/Lh8,pSzvdH N  'K:v9KY푓WeSט-%쯥y*9U-( tƨJy% e$dP"Le :@Ş5npNP, %C'@wjE-@PpNP, @!_ONqts<#'9i쯥y*1b>[&K_KeULr[2P@P J 1Ie"E2b 2tvA=hj1ဠXJNԊZဠXLB.̝..x!gӶFNsӧ_KeUL?*ܳ%_/$,D^B*\),p 1'@whֆN zvdH N zv+>Nz;dd=m:}6YET,Gdv+slUKcfJ1R^IABYf"1,TfS2YyAzcAN(1g [ ?r0 T2tvRܧ =;A@1~ ]?:]ӱ\B_l筧O=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh8 n,pSd H N  'K:v9KY 筧O=( ~UKcfJ1R^IABYf"1,TfS2YyAzcANkp(1g [ ?r0#Ӵ %C'@5bE-@PpN1~ ]?:]ӱ\B_mg=m:}6YET,Gdv+slUKcfJ1R^IABYf"1,TfS2YyAzcANkp(1g [ ?r0#Ӵ  P nKP?r0#Ӵ ?W|;,ۆsӧ_KeUL?^b|Lo=(T;d+%b(E@e3%.4d zոb)@0 C)@1~ ]?:]ӱ\B_mg=m:}6YET[2P@P J 1Ie"E2b 2t[A=hj1ဠXGhJNkpĊZဠXGhLB.̝..x!g3>\,`#d}6YET*ܳ%_/$,D^B*\),p 1'@5`ֆN zv`a*:)jSaXLB.̝..x!g3>\,`#d}6YET*ܳ%_/$,D^B*\),p 1'@9 fA=hj1a*:K5"(~8`LB.̝..x!g fӧ_KeUL?*ܳ%_/$,D^B*\),p 1'@9 fA=hj1a*:K5"(~8`GhLB.̝..x!g fӧ_KeUL?^b|Lo=(T;d+%b(E@e3%.4d$,(1g [ ?r0#Ӵ  PH2YC)=;A@1~ ]?:]ӱ\B_A筧O=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh8H2YPbZ @~8`(dR)jS`b1 @2tcd%[Ne}.{͖QU0@r̔:cT|Eb2Yyr̦d؂ƃ%,pSaa*:K5"(~8`(  'K:v9KYH2YWeSט-%쯥y*9U-( tƨJy% e$dP"Le :K4 YCVܧ =;A@0 %KP?r0 btdw'N?s =~K7>\,`#d}6YET*ܳ%_/$,D^B*\),p 1'@B]:,pS`a*:ԊZဠXLB.̝..z}ee}.~K/#ݫS?1R^IABYf"1,TfS2YyAzcANyPbZ @~8`JNyC)btdw'N?s =}o=m:}6YET[2P@P J 1Ie"E2b 2t<zոb)=;@T2t[&K_KeULr[2P@P J 1Ie"E2b 2t<zոb)=;A@0 .R)jSzv`b1 @2tc7>\,`#d}6YET*ܳ%_/$,D^B*\),p 1'C˼(1g [ ?r0  P5"(~8`(  'K:v9KY.yi쯥y*RYLjTPPYLFK/!.Y̖^@{^qhֆN zvdywKP?r0 ?W|;,yWeSט-%쯥y*9U-( tƨJy% e$dP"Le :]A=hj1ဠXGh(jE-@PpP,#Ӵ ?W|;,yWeSט-%쯥y*9U-( tƨJy% e$dP"Le :N,pSd~8bE-@Pp1~ ]?:]ӱ\B_~8g=m:}6YET[2P@P J 1Ie"E2b 2t?r0 YCVܧ  PpĊZb1 @2tcpzt+slXɒWeSr̔:cT|Eb2Yyr̦d؂ƃܧ zոb)=;A@0 ܧ H N +>Nz)9i쯥y*1b>[&K_KeULr[2P@P J 1Ie"E2b 2t?r0 YCVܧ T2t?r1"(~8`(  'K:v9KYܧ 筧O=( ~UKcfJ1R^IABYf"1,TfS2YyAzcANSA=hj1ဠXGhJNS$Rܧ =;@btdw'N?s =}WeSט-%쯥y*9U-( tƨJy% e$dP"Le :N,pSaXJNS$Rܧ =;A@1~ ]?:]ӱ\B_~8g=m:}6YET,Gdv+slUKcfJ1R^IABYf"1,TfS2YyAzcA:f,D YCVܧ Ş5nH2Yֆսa*| Z hG j1~ ]?:]|=(ňvdv\טUKa_/$,D^B*\),p 1",pSaֆK4#zոbڷ %O"KP?r0 dB8[V+;_6YET,,GӶ>[&Kň[ tƨJy% e$dP"Le |lPbZ @~8`G&$Rܧ ݶV1~ ]?:]|!gv[iKeUL?*ܳ%_/$,D^B*\),p 1m YCVܧ ݶV0>tݶVZ  'K_,n+w=m:};oslXɒWeSr̔:cT|Eb2Yyr̦d؂ƃtݶV(1g [ ?r0#Ӵ ݶV0>tݶVZXG&+;_ =|[NN\,`#d}6YET*ܳ%_/$,D^B*\),p 1m YCVܧ 97m %Om"(~8`(ɻlb1 @2tB_&sӧӶ=( ~UKcfJ1R^IABYf"1,TfS2YyAzcA:n+pֆN zvrn+pJ:n+rE-@PpP,#Ӵ#v[btdwMen筧Om.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^w΀[,pSaXG&$Rܧ =;A@Men?Wwοz7m>6YET,Gdv+slUKcfJ1R^IABYf"1,TfS2YyAzcA:Dv@Ş5npHJ:DvR)jSrDv@btdwH=m:};oslT;d+%b(E@e3%.4Gd YCVܧ 쁄Ge"(~8`GhG$Gd @!_ONq:YӧӶ=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh;@(ֆN rDv@T #KP?r0#Ӵ 쁈+;_ =|ztveSט-%쯥y*9U-( tƨJy% e$dP"Le |zոb)@HJ:DvR)jSa1~ ]?:]|!g#[NN\,`U-( tƨJy% e$dP"Le |zոb)@NЎHJ:DvR)jSa1~ ]?:]|!g#[NN\,`#d}6YET*ܳ%_/$,D^B*\),p 1; PbZ @~8`( rDv@T #KP?r0 9"; b1 @2tB_$Gg>6YET,Gdv+slUKcfJ1R^IABYf"1,TfS2YyAzcA:Z YCVܧ -x΅H NZ @!_ONq:Y-y[NN\,`U-( tƨJy% e$dP"Le |Yk(1g [ ?r0#Ӵ#J:Z"(~8`GhGak1~ ]?:]|!g=m:};oslXɒWeSr̔:cT|Eb2Yyr̦d؂ƃt,ֆN v SB^$Rܧ ; ^+;_ =}9iKeUL?^b|Lo=(T;d+%b(E@e3%.4eŞ5npP,#J:Z"(~8`(Z @!_ONq:Y-y[NN\,`U-( tƨJy% e$dP"Le |Yk(1g [ ?r0 -x΅H N zvv?Wwοz ^sӧӶ=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh;B^A=hj1ဠXGh(Z %O -xKP?r0 ; ^+;_ =}9iKeUL?^b|Lo=(T;d+%b(E@e3%.4gzոb)[&K_KeULr[2P@P J 1Ie"E2b lA=hj1ဠXG8J:q-ZဠXG8LB.̝.u|%[NN\,`U-( tƨJy% e$dP"Le |Ķ@Ş5npP,#Ӵ#ŜKd %O{8E-@PpP,#Ӵ#ŜKd @!_ONq:Yg筧Om.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^w΀=Kd YCVܧ =;A@q-0>t[)C)@NP,#ŜKd @!_ONq:Yg筧Om.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^wΆנPbZ @~8`G) SC[kԊZ @!_ONq:Y6׼y*RYLjTPPYLFK/!.Y̖^@{^wΆנPbZ @~8`GhG) SC[kԊZ @!_ONq:Y6׼y*1b>[&K_KeULr[2P@P J 1Ie"E2b  YCVܧ 9MJ:^Rܧ 9MLB.̝.u|myiKeUL?^b|Lo=(T;d+%b(E@e3%.4󡭵ֆN rk0>t5H N rk1~ ]?:]|!g^ӧӶ=( ~UKcfJ1R^IABYf"1,TfS2YyAzcA:^A=hj1ဠXGhG) SC[kԊZဠXGhG)?WwοzM=m:};oslXɒWeSr̔:cT|Eb2Yyr̦d؂ƃt5zոb)@NP,#^󡭵E-@PpP,#Ӵ 6נb1 @2tB_)筧Om.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^w΀(1g [ ?r0#Ӵ %OݩC)=;@btdwN9[NN\,`U-( tƨJy% e$dP"Le |zոb)=;B=;@TڑKP?r0#Ӵ#Ӵ @!_ONq:Y푓y*1b>[&K_KeULr[2P@P J 1Ie"E2b ,pSzvaa*|H N zv+;_ =~2s>6YET,Gdv+slUKcfJ1R^IABYf"1,TfS2YyAzcA:@Ş5npP,#Ӵ %OݩC)@N1~ ]?:]|!gӶFNsӧӶ=( ~UKcfJ1R^IABYf"1,TfS2YyAzcA:@Ş5npP,#Ӵ#Ӵ %OݩC)@NЏN1~ ]?:]|!gӶFNsӧӶ=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh;@whֆN zvaa*|H N zvab1 @2tB_l筧Om.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^w΀kp(1g [ ?r0#Ӵ#0 %OC)=;B;mbtdwpztveSט-%쯥y*9U-( tƨJy% e$dP"Le | zոb)=;A@p0>t[$Rܧ ;mbtdwpztveSט-%쯥y*9U-( tƨJy% e$dP"Le | zոb);mT nKP?r0#0 @!_ONq:Y 筧Om.{͖QU0@r̔:cT|Eb2Yyr̦d؂ƃt[A=hj1ဠXGhGm`J:)jSab1 @2tB_mg=m:};oslXɒWeSr̔:cT|Eb2Yyr̦d؂ƃt[A=hj1ဠXGh(n΀kpĊZဠXGh(n  'K_,ۆsӧӶ=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh;@5`ֆN vۆ1"(~8`(n  'K_,ۆsӧӶ=( ~UKcfJ1R^IABYf"1,TfS2YyAzcA:K4 YCVܧ Ş5nH2Ya*|$,ԊZ hLB.̝.u|dyiKeUL?^b|Lo=(T;d+%b(E@e3%.4d@Ş5npNP,#zոb9 fdR)jSzva hLB.̝.u|dyiKeUL?^b|Lo=(T;d+%b(E@e3%.4d@Ş5np YCV%΀rAH N9 f+;_ =~K7>6YET[2P@P J 1Ie"E2b H2YPbZ @~8`(=hj1d@TH2YC)@NЎK4 @!_ONq:YH2Yy*1b>[&K_KeULr[2P@P J 1Ie"E2b H2YPbZ @~8`( pbZ @$,0>t jE-@PpP,#Ӵ d@btdwd%[NN\,`#d}6YET*ܳ%_/$,D^B*\),p 1%,pSaֆK4 %O%KP?r0 d@btdwd%[NN\,`U-( tƨJy% e$dP"Le |yw,pSzvwya*|ywKP?r0#Ӵ#?Wwοz˼ztveSט-%쯥y*9U-( tƨJy% e$dP"Le |yw,pSzvahJ:]Rܧ ;˼1~ ]?:]|!g筧Om.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^w·yPbZ @~8`Gyw·yC);˼1~ ]?:]|!g筧Om.{͖QU0@r̔:cT|Eb2Yyr̦d؂ƃt<zոb)@NЎ4 %O.R)jSahLB.̝.u|]ӧӶ=( ~ňl.e}.{͖QU1ʩlw,A5@*W((K,Q&#%,fK/ \=/Lh;C˼(1g [ ?r0 ;˼0>t[&K_KeULr[2P@P J 1Ie"E2b p(1g [ ?r0 81g [ ?r0 %Oܧ H N zva?r0 @!_ONq:Yܧ 筧Om.{͖QU0@y2]\,cRYLjTPPYLFK/!.Y̖^@{^w·SA=hj1ဠXG,pSC)@N  'K_,SsӧӶ=( ~UKcfJ" tfHP'Kx$R@/,w t, tfHP6b@Ş5npP,#zոbڷ %I:IP1b)J&䨁gY/[7rA'@lňC)9U-J̗aڷ6.d kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[\H71b< Y[GgpH2Yd?5]$:tsR(?!\@ň^dtS}*ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!BFN[,pS`a*HJN[ܑDnJq-uųy7mm NʩlVd }/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!gv[i쯥y*RYI T@tY HT@r[/~NטvNYe}.yU-?5]$:tsR(?!\@Men筧O<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[ LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(H v[Ş5npP,#Ӵ %I:IP v[(:MQN%β_o&qC)9U-J̗aX葠o_Ҿ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 |;,n+w=m:}6YET,Gdv+slUKcfJ&LB QcUJBfN<%"QbʩlVd~8g^b{-ںu8gfKT@u,DtH6b}:$o=m:P@tӱ HT@qz7m>\,Gdv+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPA=hj1a*HJN[ܑDnJq-uųy7mm NʩlVd Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONqts<ɻlWeSʩlw,A?Ra LjIP^,DŽQ* LBU-J̞r̟e}.yU-?5]$:tsR(?!\@Men筧O<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONqts<ɻlWeSט-%쯥y*9U-( t1 L5DWI* ř;8%DW* Y@Y쯥*+1b ;F?o^b{-ںu8g1b>ʗ1%AӧcD1 ,n+w=m:}XɒWRAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐#'@-enzոb)=;@TKQ m"Qܕ?4[L%fn+w:n+p?r3R o^b@wD}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!gv[i쯥y*1b>[&K_KeULr[2P@5DbjT2vq)JUK`'sܳ'_KUKaW^b@wD~f,GӢFӥWI*;%DW.x!gv[i쯥^b|Lo<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPGd YCVܧ =;A@0$R@%C'@(EI* ~iĶKGd NʩlVd  y4 }/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!g#[Ne}.{͖QU0@y2]\,cRYI T@tY HT@r[/~NטvNYe}.yU-?!]y7;z#nө>=yTWI*;%DW.x!g#[Ne}.z#d}T@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O?5]$@kR(tPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKQbnRdfx;);-> LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(H #,pSaa*HJNQ%DrT@Ӊm3-'@(?r3Rx(@;z"$hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw'N?s =|zt+slXɒWeSr̔:MQ&ƫ̝xJE+Rpμň[tpϥr̗+sʩl 1 X葼lňtHzt1%AӧcD1 ,Dvyi쯥^b|Lo<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONqts<筧O=( ~UKcfJ&LB QcUJBfN<%"QbʩlVd?.{d+sʩl 1%AӧcD1 ,Dvyi쯥*ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!BFNQ(1g [ ?r0#Ӵ  RE-DT2tQ* tKidqlH:Dv@ᜪ%fHAX葠Xy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw'N?s =|zt+slXɒWeSr̔:MQ&ƫ̝xJE+R~ \,WRAbט#xӷ1b=]:3sטNeK@tӱ HT@qz";[&K_KUKaWI*/,%]+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"+=(T;duAcUJ %"WJy% e$deոNɑvAzcA,Jn>qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2B; PbZ @~8`GhJ)j tGe"Qܕ?4[L%fDvx #ܧ T+2Bo^b@wD}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!g#[Ne}.{͖QU0@y2]\,cRYI T@tY HT@r[< >\[ LB"$o1b>7( LjIPt焤Q* LBs =|zt+sט-%쯥*ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!BFNzոb)@0$R@%C'B^$Q* tKidqlלdYk(~8g* YP, kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tcלWeSʩlw,A?Ra LjIP^,DŽQ* LBU-J̗?ܧ XeWN \,<T:v9)J \B_akzt+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPeŞ5npP,#Ӵ  RE-DT2t,EI* ~iĶK-yNSr[/o^b@wDK|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[=yTWI*;%DW.x!g=m:}XɒWRAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐#'B^A=hj1ဠXGhJ)j te(:MQN%β_oak2t,?r3Rx(@;z"$hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw'N?s =}9i쯥y*1b>[&K_KeULr[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*+1b ;F?##yi҂ƫNxJE+<Z󞶝>\,Gdv+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPeŞ5np0$R@%C'B^$Q* tKidqlלdYk(~8g* Y^X5+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"J 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH(ܕ:a  ]?:]ӱ\B_akzt+slT;dj)0?5]$/dR(?!\%fOfO<T:v9)J \B_akzt+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPeŞ5npNP, %I:IPв׉J&䨁gY/[7:Z NʩlVd?N޼ň  Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONqts<Z󞶝>\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2x=2}T@u,DtHXeWN \,GӢR?5]$:tsR(?!\@לW1b>[&K_KUKaWI*/,%]+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"+=(T;duAcUJ %"WJy% e$deոNɑvAzcA,Jn>qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2B -x,pSzv"I*:Z"Qܕ?4[L%f'B^C)9U-J̐ט#@K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[\[ LB"$o1b>7( LjIPt焤Q* LBs =}9i쯥^b|Lo<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[=2_쯥*ƫNxJE+<%[Ne}.yU-?5]$@kR(tPPYLFK/!,[*tHIVp 1%A loCl@`IVZ \,cRY׾FWI*/,%]+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$R@pi>vYpqrT ^X5)JW((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j LBs@1n>qn6f9"?K[ *QT5D, 2t[ PbZ @~8`( "I*:q-%DrT@Ӊm3-%N=Kd NʩlVd  ט#A@7_/$,D^B2YyTzU葬vAzcA,JRކ΀vtPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKPGJy% e$deոNzYĶyi쯥y*1b>[&K_KeULr[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*+1b ;F?o^b{-ںu8g1b>ʗ1%AӧcD1 ,lӧ_Kňl.e}.yU-?5]$@kR(tPPYLFK/!,[*tHIVp 1%A loCl@`IVZ \,cRY׾FWI*/,%]+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$R@pi>vYpqrT ^X5)JW((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j LBs@1n>qn6f9"?K[ *QT5D, 2t[ PbZ @~8`(Z$dĶR(:MQN%β_o8:q-(~8g* YP, o^b@wD}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!gŜKg>\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2_?r31b=]:3sܳ%\[ LB"$o1b>7( LjIPt焤Q* LBs =~,[[&K_KUKaWI*/,%]+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"+=(T;duAcUJ %"WJy% e$deոNɑvAzcA,Jn>qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2B{8ֆNZ$dĶR(:MQN%β_o8:q-(~8g* Y^X5+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"J 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH(ܕ:a  ]?:]ӱ\B_8=m:}6YET[2P@5DbjT2vq)JUK`'sܳ'_KUKaWI*;%DW.x!gŜKg>\[ LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y$dĶ@Ş5npNP, %I:IPlQ* tKidqlq-2t[ PpUK`$ o^b@wDK|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[=yTWI*;%DW.x!gŜKg>\,Gdv+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPgzոb)=;@TKQ {8EI* ~iĶKg'@%ܧ T+2Bv,DtH7_/$,D^B2YyTzU葬vAzcA,JRކ΀vtPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKPGJy% e$deոNzYĶyi쯥y*1b>[&K_KeULr[2P@5DbjT2vq)JUK`'sܳ'_KUKaW^b@wD~f,GӢFӥWI*;%DW.x!gŜKg>\,Gdv+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP-(1g [ ?r0  RE-DT2t6DnJq-uųzW((K,Q&#%[Jl h*gԶ)j'Cj[PpUK`%Xy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ"Q1 |;UKcRckK6YET*@2x6w_e j)0?5]$/dR(?!\%fK=2}T@tӱ HT@qRߥy*9U-( LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|􊆩"@ Q}2B l΀h(΁A=hj1ဠXJ)j t-Ԋ%DrT@Ӊm3-Ҿ^IABYf"1,R؅؂ƃ4XԶzZږ  vr|?r3Rx(^X5+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"HrT@醨LBtdw'N?R{픽͖QU1ʩl?r̞ .YynY/좟;쯥ev[tp\[ t1 L5DWI* ř;8%DW* Yr̟e}.yU-?5]$:tsR(?!\@T:}SP@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O? RED(*Jd :^A=hj1ဠXJ)j tEI* ~iĶK6׼dkmzܧ T+2^  Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONqts<myi쯥y*RYI T@tY HT@r[/~NטvNYe}.yU-?5]$:tsR(?!\@Sm{[Ne}.yU-?5]$@kR(tPPYLFK/!,[*tHIVp 1%A loCl@`IVZ \,cRY׾FWI*/,%]+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$R@pi>vYpqrT ^X5)JW((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j LBs@1n>qn6f9"?K[ *QT5D, 2t5zոb)@NP, %I:IP"Qܕ?4[L%fk2t5Sr[/y4 }/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!g^ӧ_KeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW^b@wDN޼ň[tpϥ^b}:)/AcUJN<%"Qb Y6׼W1b>[&K_KUKaWI*/,%]+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"+=(T;duAcUJ %"WJy% e$deոNɑvAzcA,Jn>qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2B m@Ş5npP,#Ӵ %I:IP"Qܕ?4[L%fk2t5Sr[/y4 kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tcSm{[Ne}.{͖QU0@y2]\,cRYI T@tY HT@r[/~NטvNYe}.yU-?!]y7 N?5]$:tsR(?!\@Sm{[Ne}.z#d}T@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O?5]$@kR(tPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKQbnRdfx;);-> LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(H YCVܧ  RE-DT2t5HT@7%D8:~ټ m@ᜪ%fHy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw'N?s =|>\,`U-( t1 L5DWI* ř;8%DW* Y@Y쯥*ƫNxJE+<myi쯥*ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!BFNנPbZ @~8`Gh(Z$dkmzDnJq-uųyM:^C)9U-J̐o^b@wDK|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[ʗ1%AӧcD1 ,kzt+sט-%쯥*ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!BFNנPbZ @~8`GhJ)j tEI* ~iĶK6׼dkmzܧ T+2By4 kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tcSm{[Ne}.{͖QU0@y2]\,cRYI T@tY HT@r[< >\[ LB"$o1b>7( LjIPt焤Q* LBs =|>\,Gdv+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP; YCVܧ TKQ ݩJ&䨁gY/[7ӷݠPpUK`%Xy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw'N?s =~2s>\,`U-( t1 L5DWI* ř;8%DW* YyjK/WRAcUJN<%"Qb Y筧O<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw'N?s =~2s>\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2_?r31b=]:3sܳ%\[ LB"$ov,GݫS}.z#LzT:v9)J \B_o=m:}XɒWRAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐#'@whֆN zv"I*:R(:MQN%β_oo:@ᜪ%fK@v,DtH7_/$,D^B2YyTzU葬vAzcA,JRކ΀vtPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKPGJy% e$deոNz;dd=m:}6YET,Gdv+slUKcfJ&LB QcUJBfN<%"QbʩlVd~8g^b{-ںu8gfKT@u,DtH6b}:$o=m:P@tӱ HT@qz;yi쯥^b|Lo<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!gӶFNsӧ_KeUL?*ܳ%T@!I1%@!x'gD1 T+2x=2}T@tӱ HT@qz;yi쯥*ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!BFN(1g [ ?r0#Ӵ  RE-DT2tvQ* tKidqlN2tvC)9U-J̐v,DtHP, kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tcN9[Ne}.{͖QU0@y2]\,cRYI T@tY HT@r[< >\[ LB"$ov,GݫS}.z#LzT:v9)J \B_o=m:}XɒWRAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐#'@whֆNZ$dHT@7%D8:~پdSr[!X葠o_Ҿ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 |;,vzt+slXɒWeSr̔:MQ&ƫ̝xJE+R~ \,WRAbט#xً葼AcUJN<%"Qb Y筧O=y2]\[ LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y$d zոb)@0$R@%C'@5bEI* ~iĶK '@5`?r3Rx(^X5+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"J 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH(ܕ:a  ]?:]ӱ\B_mg=m:}6YET[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*ƫNxJE+<n[Ne}.yU-?5]$@kR(tPPYLFK/!,[*tHIVp 1%A loCl@`IVZ \,cRY׾FWI*/,%]+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$R@pi>vYpqrT ^X5)JW((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j LBs@1n>qn6f9"?K[ *QT5D, 2t[A=hj1ဠXGh(Z$d HT@7%D8:~ٽd Sr[/o^b@wDK|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[ LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(H n,pSaa*HJNkpĊ%DrT@Ӊm3-nNkp(~8g* YP, v,DtH7_/$,D^B2YyTzU葬vAzcA,JRކ΀vtPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKPGJy% e$deոNzm9i쯥y*1b>[&K_KeULr[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*+1b ;F?##yi҂ƫNxJE+<n[Ne}.z#d}T@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O?5]$@kR(tPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKQbnRdfx;);-> LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(H n,pS"I*:(:MQN%β_omg:ᜪ%fHy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw'N?s =}WeSʩlw,A?Ra LjIP^,DŽQ* LBU-J̞r̟e}.yU-?5]$:tsR(?!\@pzt+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP0 YCVܧ TKQ J&䨁gY/[73PpUK`$ v,DtHP, kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tcpzt+slXɒWeSr̔:MQ&ƫ̝xJE+R~ \,WRAbט#xӷ1b=]:3sטNeK@tӱ HT@qzm9i쯥^b|Lo<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tcpzt+slXɒWeSr̔:MQ&ƫ̝xJE+R~ \,WRAbט#xً葼AcUJN<%"Qb Y 筧O=y2]\[ LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y$d$,(1g [ ?r0  RE-DT2t jEI* ~iĶKdxH2YPpUK`%Xy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw'N?s =~K7>\,`U-( t1 L5DWI* ř;8%DW* YyjK/WRAcUJN<%"Qb YH2YWRAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐#'@9 fA=hj1ဠXGh(Z$d$,Ԋ%DrT@Ӊm3-9 fd@ᜪ%fK@y4 }/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!g fӧ_KeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW^b@wDN޼ň[tpϥ^b}:)/AcUJN<%"Qb YH2YW1b>[&K_KUKaWI*/,%]+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"+=(T;duAcUJ %"WJy% e$deոNɑvAzcA,Jn>qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2B%,pSaa*HJNrAHT@7%D8:~ټ o:K4 NʩlVd  ט#@K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[[&K_KUKaWI*/,%]+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"+=(T;duAcUJ %"WJy% e$deոNɑvAzcA,Jn>qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2B%,pS"I*:K5"Qܕ?4[L%fH2Yd$,(~8g* Y^X5+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"J 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH(ܕ:a  ]?:]ӱ\B_A筧O=( ~UKcfJ&LB QcUJBfN<%"QbʩlVd?.{d+sʩl 1%AӧcD1 ,$,zt+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPd@Ş5npNP, %I:IPH2YJ&䨁gY/[7rA'@9 fC)9U-J̐y4 }/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!g fӧ_KeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fOfO<ňyjKňtS*^ƫNxJE+<dyi쯥^b|Lo<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!g fӧ_KeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fOfO<ňXD筧JT:v9)J \B_A筧O=y2]\[ LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y$d^KS@Ş5npP, %I:IPh(ΤQ* tKidqlN2t/%)PpUK`%Xy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ"Q1 |;Y/좟;쯥ev[tp]?RA?Ra LjIP^,DŽQ* LBU-J̗?.{d+sʩl 1%AӧcD1 5y.ee}.yU-?5]$@kR(tPPYLFK/!,[*tHIVp 1%A loCl@`IVZ \,cRY׾FECTQ tҾ!BFNyPbZ @~8`(Z$dywDnJq-uų{˼2t<Sr[/K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[\[ LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y$dyw,pSaXJ)j tjEI* ~iĶK.x4 NʩlVd  v,DtHP, kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tc7>\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2_?r31b=]:3sܳ%\[ LB"$ov,GݫS}.z#LzT:v9)J \B_yw[Ne}.z#d}T@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O?5]$@kR(tPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKQbnRdfx;);-> LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(H4 YCVܧ =;@TKQ .R(:MQN%β_oywNyPpUK`%XAӷ1b ;F Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONqts<]ӧ_KeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW^b@wD~f,GӢFӥWI*;%DW.x!g筧O=y2]\[ LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y$dyw,pS"I*:]Q* tKidql7.@ᜪ%fHy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw'N?s =}o=m:}6YET[2P@5DbjT2vq)JUK`'sܳ'_KUKaWI*;%DW.x!g筧O<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[\[ LB"$ov,GݫS}.z#LzT:v9)J \B_yw[Ne}.z#d}T@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O?5]$@kR(tPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKQbnRdfx;);-> LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(H4 YCVܧ  RE-DT2tqn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!g筧O=( ~ňl.e}.{͖QU1ʩlw,A?Ra LjIP^,DŽQ* LBU-J̞r̟e}.yU-?!]y7 N?5]$:tsR(?!\@7>\,Gdv+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPPbZ @~8`(Z$d~8bEI* ~iĶKd~8`?r3Rx(^X5+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"J 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH(ܕ:a  ]?:]ӱ\B_~8g=m:}6YET[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*ƫNxJE+<߹N[Ne}.yU-?5]$@kR(tPPYLFK/!,[*tHIVp 1%A loCl@`IVZ \,cRY׾FWI*/,%]+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$R@pi>vYpqrT ^X5)JW((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j LBs@1n>qn6f9"?K[ *QT5D, 2t?r0 YCVܧ =;A@0$R@%C'C)(:MQN%β_oܧ 'C)ᜪ%fK@y4 }/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!gr3>\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2_?r31b=]:3sܳ%\[ LB"$ov,GݫS}.z#LzT:v9)J \B_~8g=m:}XɒWRAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐#'C)Ş5npP,#Ӵ %I:IPpĊ%DrT@Ӊm3-)8p(~8g* YP, o^b@wD}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!gr3>\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2_?r31b=]:3sܳ%\[ LB"$o1b>7( LjIPt焤Q* LBs =}W1b>[&K_KUKaWI*/,%]+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"+=(T;duAcUJ %"WJy% e$deոNɑvAzcA,Jn>qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2Bܧ zոb)TKQ ܧ HT@7%D8:~ټ?r3ܧ Sr[ o_Ҿ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 |;,Ssӧ_KeUL?*ܳ%T@!I1%@!x'gD1 T+2x=2}T@tӱ HT@qz)9i쯥*ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!BFNSA=hj1XJ)j tJ&䨁gY/[7SqPpUK`$ o^b@wDK|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[=yTWI*;%DW.x!gr3>\,Gdv+sʩl 1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPPbZ @~8`GhJ)j tJ&䨁gY/[7SqPpUK`$ o^b@wD}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝..x!gr3>\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2x=2}T@u,DtH6b}:$o=m:P@tӱ HT@qz)9i쯥^b|Lo<T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[2]W ~u,GRA?Ra LjIP^,DŽQ* LBU-J̗?ܧ XeWN \,<zt?.x!g1b?ouWem]&煵oA&]K0tH艳쯥^by3N;nQ|6}%AcUJN<%"Qb YXeKͷE8g\[ LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y%6b@Ş5np YCV%=hj1m[Z$6bR(:MQN%β_o>;@lňC)9U-J̐$,zt?ڷ6.d kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[\,G4 Y[GgpH2Yd?5]$:tsR(?!\@ň^dtS}*ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:n+pֆN zvaZ$$Q* tKidql}w΀[ܧ T+2^ ?o^b@wDv[i^X5+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"J 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH(ܕ:a  ]?:]|!gv[iKeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW^b@wDN޼ň[tpϥ^b}:)/Ab[N&sӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP΀[,pSaZ$$Q* tKidql}w΀[ܧ T+2^ ?o^b@wD Men筧Hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdwMen筧Om.{͖QU0@y2]\,cRYI T@tY HT@r[/~NטvNYe}.yU-?!]y7 N?!\~ \n+w=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:n+pֆN rn+pJ)j t΀[ܑDnJq-uųyQ:n+p?r3R N޼ň ?&sӤ kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tB_&sӧӶ=( ~ňl.e}.{͖QU1ʩlw,A?Ra LjIP^,DŽQ* LBU-J̞r̟e}.yU-?!]y7;z#nө>=yTW=m:x<[N:ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:n+pֆNɻla*HJ:n+rEI* ~iĶKG|lPpUK`$ ;z"$hAn+w=m:@K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP΀[,pSrn+pJ)j t΀[ܑDnJq-uųyQ:n+p?r3R Men筧Hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdwMen筧Om.{͖QU0@r̔:MQ&ƫ̝xJE+R~ \,WRAb[N&sӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP΀Q(1g [ ?r0 9"; a*HJ:DvR(:MQN%β_o>;@(?r3Rx(@;z"$h(@";<}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝.u|筧Om.{͖QU0@y2]\,cRYI T@tY HT@r[/~NטvNYe}.yU-?!]y7;z#nө>=yTW=m:x<zt?5]$@kR(tPPYLFK/!,[*tHIVp 1%A loCl@`IVZ \,cRY׾FWI*/,%]+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$R@pi>vYpqrT ^X5)JW((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j LBs@1n>qn6f9"?K[ *QT5D,  #,pSa0$R@%O;)J&䨁gY/[7uGd NʩlVd  zt Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONq:YӧӶ=( ~UKcfJ&LB QcUJBfN<%"QbʩlVd~8g^b{-ںu8gfKT@sӧs筧OAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐/; PbZ @~8`( RE-DT #DnJq-uųyQ:Dv@ᜪ%fK@ט#B$Gg o_Ҿ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 wοz";[&K_KeULr[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*+1b ;F?##yi҂+< H=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 wοz";[&K_KeULr[2P@5DbjT2vq)JUK`'sܳ'_KUKaW^b@wDN޼ň[tpϥ^b}:)/Ab[N$Gg?ouWI*/,%]+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"+=(T;duAcUJ %"WJy% e$deոNɑvAzcA,Jn>qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2BtA=hj10$R@%O;)J&䨁gY/[7uGd NʩlVd?H=m:@K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐/; PbZ @~8`GhG$Gd %I:IS@(EI* ~iĶKG|Sr[!ӷ1b ;F?H=m:@K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y%eŞ5npP,#Ӵ -xZ$e(:MQN%β_o>;B^C)9U-J̗aӷ1b ;Fa=m:@K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[=yTW=m:x=9iP@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O?5]$@kR(tPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKQbnRdfx;);-> LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(KB^A=hj1ဠXGak0$R@%O -xDnJq-uųyQ:Z NʩlVd  9i^X5+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"J 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH(ܕ:a  ]?:]|!g=m:};oslT;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW=m:x=9iP@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O?5]$@kR(tPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKQbnRdfx;);-> LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(KB^A=hj1ဠXGhGak0$R@%O -xDnJq-uųyQ:Z NʩlVd  y4 筧Hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdwלy*1b>[&K_KeULr[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*+1b ;F?##yi҂+< ל} LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y%eŞ5npNP,#J)j t΅HT@7%D8:~ټ -xܧ T+2Bo^b@wDakzt Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONq:Y-y[NN\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2x=2}T@u,DtHXeWN \,GӢR?!\~ \筧OAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐/ -x,pSv RE-DTв׉J&䨁gY/[7ueᜪ%fHA-y[N7_/$,D^B2YyTzU葬vAzcA,JRކ΀vtPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKPGJy% e$deոqn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2Bt,ֆNZ %I:ISB^$Q* tKidql}w΅Sr[!ӷ1b ;F?ל}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝.u|Z󞶝>6YET,Gdv+slUKcfJ&LB QcUJBfN<%"QbʩlVd?.{d+sʩl 1 X葼lňtHzt1 筧O簵=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[[&K_KeULr[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*+1b ;F?o^b{-ںu8g1b>ʗ1 筧OŜKg?ouWI*/,%]+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"+=(T;duAcUJ %"WJy% e$deոNɑvAzcA,Jn>qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2Bt[ PbZ @~8`(%Z$gHT@7%D8:~ټ{8?r3Rx(@g筧Hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdwq-ztveSʩlw,A?Ra LjIP^,DŽQ* LBU-J̗?ܧ XeWN \,<zt?.|YĶyiP@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O?5]$@kR(tPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKQbnRdfx;);-> LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(K@%,pSa,[ a*HJ:q-%DrT@Ӊm3-ϺlC)9U-J̗aN޼ň@g筧Hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdwq-ztveSט-%쯥y*9U-( t1 L5DWI* ř;8%DW* YyjK/WRAbט#xً葼Ab[Nϋ8=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 wοzYĶyiKeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fOfO<ňyjKňtS*^+< q-zt?5]$@kR(tPPYLFK/!,[*tHIVp 1%A loCl@`IVZ \,cRY׾FWI*/,%]+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$R@pi>vYpqrT ^X5)JW((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j LBs@1n>qn6f9"?K[ *QT5D, lA=hj1,[ a*HJ:q-%DrT@Ӊm3-ϺlC)9U-J̐8=m:@K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2Bt[ PbZ @~8`GhG8J)j t΀=Ke"Qܕ?4[L%ft[ PpUK`$ ט#B,[<}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝.u|%[NN\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2x=2}T@u,DtH6b}:$o=m:P@sӧs%[N:ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:^A=hj1ဠXGh(m@TKQ>t5HT@7%D8:~ټ m@ᜪ%fK@;z"$h(@)筧Hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdwSm{[NN\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2_?r31b=]:3sܳ%\[ LB"$ov,GݫS}.z#Lzzt?.yM=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tB_)筧Om.{͖QU0@r̔:MQ&ƫ̝xJE+Rpμň[tpϥr̗+sʩl 1 筧O^ӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPΆנPbZ @~8`(m@TKQ>t5HT@7%D8:~ټ m@ᜪ%fK@;z"$hA o_Ҿ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 wοzM=m:};oslXɒWeSr̔:MQ&ƫ̝xJE+Rpμň[tpϥr̗+sʩl 1 X葼lňtHzt1 筧O^ӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHPΆנPbZ @~8`Gh(m@TKQ>t5HT@7%D8:~ټ m@ᜪ%fHAy4  ^Ӥ kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tB_)筧Om.{͖QU0@y2]\,cRYI T@tY HT@r[< >\[ LB"$ov,GݫS}.z#Lzzt?.yM=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[;C[k(~8g* Y@)筧Hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdwSm{[NN\,`U-( t1 L5DWI* ř;8%DW* Y@Y쯥*+< Sm{[N:ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:^A=hj1 %I:ISC[kԊ%DrT@Ӊm3-Ϻ NʩlVd?ט#B6׼}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝.u|myiKeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fOfO<ňXD筧Jzt?.yM=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[6YET,Gdv+slUKcfJ&LB QcUJBfN<%"QbʩlVd~8g^b{-ںu8gfKT@u,DtHXeWN \,GӢR?!\~ \vӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP΀(1g [ ?r0  RE-DTڑDnJq-uųyQ:@ᜪ%fK@Nzt Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONq:Y푓y*RYI T@tY HT@r[/~NטvNYe}.yU-?!\~ \vӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP΀(1g [ ?r0  RE-DTڑDnJq-uųyQ:@ᜪ%fK@N޼ň@[N7_/$,D^B2YyTzU葬vAzcA,JRކ΀vtPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKPGJy% e$deո6YET,Gdv+slUKcfJ&LB QcUJBfN<%"QbʩlVd~8g^b{-ںu8gfKT@u,DtH6b}:$o=m:P@sӧs[N:ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:@Ş5npNP,#Ӵ %I:IS@wjEI* ~iĶKG|Sr[!y4  筧Hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdwN9[NN\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2x=2}T@u,DtHXeWN \,GӢR?!\~ \vӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP΀(1g [ ?r0#Ӵ %I:IS@wjEI* ~iĶKG|Sr[!}/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝.u|#'9iKeUL?*ܳ%T@!I1%@!x'gD1 T+2x=2}T@sӧs[N:ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:@Ş5npNЏN0$R@%OݩJ&䨁gY/[7u; NʩlVd?v,DtHЂNzt Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONq:Y푓y*1b>[&K_KeULr[2P@5DbjT2vq)JUK`'sܳ'_KUKaW^b@wD~f,GӢFӥW=m:x>} LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y%0 YCVܧ =;A@p0$R@%OJ&䨁gY/[7u0 NʩlVd  y4  }/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝.u|n[NN\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2_?r31b=]:3sܳ%\[ LB"$ov,GݫS}.z#Lzzt?.{m9iP@t HUҾ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j LBslUKcfO^O?5]$@kR(tPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKQbnRdfx;);-> LjIPy`ׄQ*_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH1 Neջ{4͘.ʩl Hj*!DP:Wܳ$(K@5`ֆN zvvۆ"I*| HT@7%D8:~ټPpUK`%XAX葡3 o_Ҿ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 wοzm9iKeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW^b@wD~f,GӢFӥW=m:x=} LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y%0 YCVܧ ;mTKQ>t[$Q* tKidql}w΀kp(~8g* YP, ۆsӤ kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tB_mg=m:};oslT;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW=m:x=} LjIPy`ׄQ*_/$,D^B2YyTzU葬vAzcA,JRކ΀v?!\@6YET*ܳ'|T ^X5)JW((K,Q&#%^C->.vLdnb /lbT,qpjd dnH1 7)tӲ}?f<᝖V?5]$@kR(tPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@q'Kc|׽mrD~OT@T5IHj+Y%0 YCVܧ ;mTKQ>t[$Q* tKidql}w΀kp(~8g* Y@;z"$h(@m9i^X5+%b(FK/ ïJ5nո\=/Lh8EPtj[95nչ"J 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j_/$,D^B2Yy 8i1#Y&[؂ƃ4XK/ .|9m dnH(ܕ:a  ]?:]|!g3>6YET,Gdv+slUKcfJ&LB QcUJBfN<%"QbʩlVd?.{d+sʩl 1 X葼טvNXE2 LBi@ 筧OAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐/PbZ @~8`GhGm`J)j t΀kpĊ%DrT@Ӊm3-Ϻ nܧ T+2Bo^b@wD }/,J 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKPGJy% e$deոNɑvAzcA,Jn>qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝.u|n[NN\,`#d}6YET*ܳ%T@!I1%@!x'gD1 T+2x=2}T@u,DtH6b}:$o=m:P@sӧsn[N:ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:Ş5npp0$R@%OJ&䨁gY/[7u0 NʩlVd?pzt Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONq:Y 筧Om.{͖QU0@r̔:MQ&ƫ̝xJE+R~ \,WRAb[Nmg=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2Bt hֆN zvpbZ @$,0$R@%O%DnJq-uųyQ:K4 NʩlVd  v,DtHЂ%[N7_/$,D^B2YyTzU葬vAzcA,JRކ΀vtPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKPGJy% e$deո6YET,Gdv+slUKcfJ&LB QcUJBfN<%"QbʩlVd~8g^b{-ںu8gfKT@u,DtH6b}:$o=m:P@sӧs9 fӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP΀rAzոb)@ YCV%Z$dR(:MQN%β_o>;@9 fC)9U-J̗aK7 o_Ҿ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 wοz o=m:};oslT;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW=m:x< o=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tB_A筧Om.{͖QU0@y2]\,cRYI T@tY HT@r[< >\[ LB"$ov,GݫS}.z#Lzzt?.x$,zt?5]$@kR(tPPYLFK/!,[*tHIVp 1%A loCl@`IVZ \,cRY׾FWI*/,%]+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$R@pi>vYpqrT ^X5)JW((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j LBs@1n>qn6f9"?K[ *QT5D, H2YPbZ @~8`GhG,prA RE-DTH2YJ&䨁gY/[7ud@ᜪ%fHAӷ1b ;F?$,zt Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONq:YH2Yy*1b>[&K_KeULr[2P@5DbjT2vq)JUK`'sܳ'_KUKaW^b@wD~f,GӢFӥW=m:x< o=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tB_A筧Om.{͖QU0@r̔:MQ&ƫ̝xJE+R~ \,WRAb[N%[N:ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:]A=hj1ဠXGh(]恄"I*|ywDnJq-uųyQ:]C)9U-J̗av,DtHP, 7 o_Ҿ^IABYf"1,d l:9#Y&[؂ƃ4XK/ 6 Y&[)j_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"J 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ"Q1 wοz˼ztveSט-%쯥y*9U-( t1 L5DWI* ř;8%DW* YyjK/WRAbט#xӷ1b=]:3sטNeK@sӧs]ӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP·yPbZ @~8`(]恄"I*|ywDnJq-uųyQ:]C)9U-J̗av,DtHЂ˼zt Jy% e$d*ҬDdnb /lbT,ږ&6t dnH#|Eb2Yye2|RdIVp 1%A 8vH`IVZ:W((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j t7%Dj+ONq:Y.yiKeUL?^b|Lo=(T;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW^b@wD~f,GӢFӥW=m:x=o=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qn ]4vtPPYLFK/!,[}[s4͘vAzcA,Jn>qn6fMڷ$R@nJ0?W.̝.u|]ӧӶ=( ~ňl.e}.{͖QU1ʩlw,A?Ra LjIP^,DŽQ* LBU-J̞r̟e}.yU-?!]y7;z#nө>=yTW=m:x=o=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:]A=hj1hJ)j t·yJ&䨁gY/[7uh?r3R 筧Hy`PPYLFK/!,[*tHIVp 1%A loCl@`IVZ:W((K,Q&#%^C->.vLdnb /lbT,qpjd dnH#|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"HrT@醨LBtdw7>6YET[2P@5DbjT2vq)JUK`'sܳ'_KUKaW=m:x=o=m:~|T ^X5)JW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-DW.{͖QU1ʩlw,r#iƫ xJEJ 1Ie#%qqK#Y&[؂ƃ4XK/ .|i!Y&[)j LB ]4O;,ُe8geչWI*/,%]+%b(FK/!V6f$k$ݫp{^q{feۏ}[[&K_KeULr[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*+1b ;F?o^b{-ںu8g1b>ʗ1 筧OSsӧΠ1%B^D|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$R@qeSr̟/6 LjIPy`ׄQ*_/$,D^B2Yy 8i25nո\=/Lh8EPt>5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" tfHP·SA=hj1ဠXGhG,pS"I*|~8bEI* ~iĶKG|~8`?r3Rx(@X葡N[N7_/$,D^B2YyTzU葬vAzcA,JRކ΀vtPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKPGJy% e$deո[&K_KeULr[2P@5DbjT2vq)JUK`%):#nө>=2_쯥*+1b ;F?##yi҂+< N[N:ƫ xJEJ 1Ie#%UKaץYΉ7j.4^٢Ĩ:Yy-Mm 7jܑKQb eULr[2|\~1%B^D|Eb2Yye2|RdIVp 1%A 8vH`IVZrM;'N6cNn>qnAcUJ %"WJy% e$deոޟ{ql$GtUKaECTQ tҾ!B_:N,pSaֆNZ$J&䨁gY/[7uPpUK`%XASsӤ kW((K,Q&#%^AU-^g:$k$ݫp{^q{feԶ7s0k$ݫrE-A+%b(FK/!VM;&FMڷ h*^@]ո5tӲCMڷ$RҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQQ* tT@!\@2tB_~8g=m:};oslT;dj)0?5]$/dR(?!\%fKSu,GݫS}.{d_KUKaW=m:xqn ]4v?!\.vOlǃ3|܂ƫ xJEJ 1Ie#%qqyƛy5nո\=/Lh8EPt>Cql`IVZ \$~v[}[?MَH􊆩"@ Q}2Bt?r0 YCVܧ 81g [ ?r0 %I:ISC)(:MQN%β_o>;C)ᜪ%fHAӷ1b ;FaN[N7_/$,D^B2YyTzU葬vAzcA,JRކ΀vtPPYLFK/!,[}[]47j.4^٢Ĩ:YyvVN 7jܑKPGJy% e$deո[&K_KeULr[2P@5DbjT2vq)JUK`'sܳ'_KUKaW^b@wDN޼ň[tpϥ^b}:)/Ab[Nܧ 筧OAcUJ %"WJy% e$d*ҬDdnb /lbT,ږ&6t dnH1 y*9U->._{m?P@t HUҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-DWK'e1 8 1%B^D|Eb2Yye2|sqlčdnb /lbT,qpi05nչ"+?$ :_VO8o6c#*"H:ECT@_r̐/ܧ zոb)=;B81g [ ?r0 %I:ISC)(:MQN%β_o>;C)ᜪ%fHAӷ1b ;F?~8g=m:@K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[vYpqrT ^X5)JW((K,Q&#%^C->9mHIVp 1%A 8yƛyY&[)j LBs@1n>qn6f9"?K[ *QT5D, p(1g [ ?r0#zոb)TKQ>t?r1"Qܕ?4[L%ft?r0 NʩlVd?~8g=m:@K|Eb2YyeRuVsFMڷ h*^@mK`zg:Mڷ$RҾ^IABYf"1,dn>qn)tӲdk$ݫp{^q{feۏ}[WM;$0k$ݫrE-A+%b(FK/!V6f$k$ݫp{^q{feۏ}[5nչ"+ܥN͘vSv[}[@t HUҾ^IABYf"1,dn>qn98o6bFMڷ h*^@]ոs4͘ 7jܑKQb /َqw^i1]?RAP$TB" t 9C *N&'Od5l A=֚p ); K[ZdP{f%b(E@e3%ƉPsc8KWJy% ܙAzcD-{J^0ZW((J5o|m[/H|r̗1T56G :])jHIQVʒ*(9:MRW((J)Xŵ~N ee%IwTbK8ec @(O&'O@ PO PZ(:Ep"Hƨ k@1L$>7I6x6$k>./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.idynamicrecord_mi.html$$ Method Index for com.ibm.record.IDynamicRecord

Method Index

getArray(String, Class)
getArray(String[], Class)
getBoolean(String)
getBoolean(String, int)
getBoolean(String, int[])
getBoolean(String[])
getBoolean(String[], int)
getBoolean(String[], int[])
getByte(String)
getByte(String, int)
getByte(String, int[])
getByte(String[])
getByte(String[], int)
getByte(String[], int[])
getChar(String)
getChar(String, int)
getChar(String, int[])
getChar(String[])
getChar(String[], int)
getChar(String[], int[])
getDouble(String)
getDouble(String, int)
getDouble(String, int[])
getDouble(String[])
getDouble(String[], int)
getDouble(String[], int[])
getField(String[])
getFieldAndParentOffset(String[])
getFloat(String)
getFloat(String, int)
getFloat(String, int[])
getFloat(String[])
getFloat(String[], int)
getFloat(String[], int[])
getInt(String)
getInt(String, int)
getInt(String, int[])
getInt(String[])
getInt(String[], int)
getInt(String[], int[])
getLong(String)
getLong(String, int)
getLong(String, int[])
getLong(String[])
getLong(String[], int)
getLong(String[], int[])
getObject(String)
getObject(String, int)
getObject(String, int[])
getObject(String[])
getObject(String[], int)
getObject(String[], int[])
getParentOffset(String[])
getShort(String)
getShort(String, int)
getShort(String, int[])
getShort(String[])
getShort(String[], int)
getShort(String[], int[])
getString(String)
getString(String, int)
getString(String, int[])
getString(String[])
getString(String[], int)
getString(String[], int[])
setArray(String, Object, Class)
setArray(String[], Object, Class)
setBoolean(String, boolean)
setBoolean(String, int, boolean)
setBoolean(String, int[], boolean)
setBoolean(String[], boolean)
setBoolean(String[], int, boolean)
setBoolean(String[], int[], boolean)
setByte(String, byte)
setByte(String, int, byte)
setByte(String, int[], byte)
setByte(String[], byte)
setByte(String[], int, byte)
setByte(String[], int[], byte)
setChar(String, char)
setChar(String, int, char)
setChar(String, int[], char)
setChar(String[], char)
setChar(String[], int, char)
setChar(String[], int[], char)
setDouble(String, double)
setDouble(String, int, double)
setDouble(String, int[], double)
setDouble(String[], double)
setDouble(String[], int, double)
setDouble(String[], int[], double)
setFloat(String, float)
setFloat(String, int, float)
setFloat(String, int[], float)
setFloat(String[], float)
setFloat(String[], int, float)
setFloat(String[], int[], float)
setInt(String, int)
setInt(String, int, int)
setInt(String, int[], int)
setInt(String[], int)
setInt(String[], int, int)
setInt(String[], int[], int)
setLong(String, int, long)
setLong(String, int[], long)
setLong(String, long)
setLong(String[], int, long)
setLong(String[], int[], long)
setLong(String[], long)
setObject(String, int, Object)
setObject(String, int[], Object)
setObject(String, Object)
setObject(String[], int, Object)
setObject(String[], int[], Object)
setObject(String[], Object)
setShort(String, int, short)
setShort(String, int[], short)
setShort(String, short)
setShort(String[], int, short)
setShort(String[], int[], short)
setShort(String[], short)
setString(String, int, String)
setString(String, int[], String)
setString(String, String)
setString(String[], int, String)
setString(String[], int[], String)
setString(String[], String)
.idyn kM$7I6w6$Pe./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifield.htmlrd_m$$ com.ibm.record.IField <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ifield_dsc.html#_top_">com.ibm.record.IField (no frames)</a></b></p> </body> ng.Obje kPN$Y7I6x6$0_fY./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifield_dsc.html$$ Interface com.ibm.record.IField

Interface com.ibm.record.IField

public interface IField
extends IAnyField

This interface describes a field that has a simple type as its underlying data type.


Method Index

isPadding()
This method tests to see if the field is a padding field.

Methods

isPadding
 public abstract boolean isPadding()
This method tests to see if the field is a padding field.

Returns:
true if the field is a padding field; false otherwise.

">setOb kO$7I6x6$pt./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifield_mi.html$$ Method Index for com.ibm.record.IField

Method Index

isPadding()
td> k:P$7I6x6$P com.ibm.record.IFieldEnumeration <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ifieldenumeration_dsc.html#_top_">com.ibm.record.IFieldEnumeration (no frames)</a></b></p> </body>  kꆌQ$a7I6x6$0ka./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifieldenumeration_dsc.htmli.htm$$ Interface com.ibm.record.IFieldEnumeration

Interface com.ibm.record.IFieldEnumeration

public interface IFieldEnumeration

This interface describes the field enumerator for a dynamic record type. It defines the methods necessary to iterate through the fields of a dynamic record type.


Method Index

field()
This method returns the field to which the enumeration currently points to.
hasMoreFields()
This method tests to see if the record contains more fields to iterate over.
indexOfField()
This method returns the index of the field to which the enumeration points to.
isValid()
This method tests to see if the enumeration points to a field in a record.
locate(String)
This method attempts to locate a field in a record with the specified name.
nextField()
This method returns the next field in the record.
setToFirst()
This method sets the enumeration to the first field in the record in interation order.
setToLast()
This method sets the enumeration to the last field in the record in interation order.
setToNext()
This method sets the enumeration to the next field in the record in interation order.
setToPrevious()
This method sets the enumeration to the previous field in the record in interation order.

Methods

field
 public abstract IAnyField field()
This method returns the field to which the enumeration currently points to.

Returns:
The field the enumeration currently points to.
hasMoreFields
 public abstract boolean hasMoreFields()
This method tests to see if the record contains more fields to iterate over.

Returns:
true if the record contains more fields; false otherwise.
indexOfField
 public abstract int indexOfField()
This method returns the index of the field to which the enumeration points to.

Returns:
The integer index of the field; -1 is returned if the enumeration is not valid.
isValid
 public abstract boolean isValid()
This method tests to see if the enumeration points to a field in a record.

Returns:
true if the enumeration points to a field in a record; false otherwise.
locate
 public abstract IAnyField locate(String fieldName)
This method attempts to locate a field in a record with the specified name. If the field is found, the enumeration points to that field in the record.

Parameters:
fieldName - The name of the field to locate.
Returns:
The field associated with the specified name. null is returned if the field name does not exist in the record.
nextField
 public abstract IAnyField nextField() throws NoSuchElementException
This method returns the next field in the record.

Returns:
The next field in the record.
Throws: NoSuchElementException
There are no more fields left in the record.
setToFirst
 public abstract boolean setToFirst()
This method sets the enumeration to the first field in the record in interation order. Invalidates the enumeration if the record is empty.

Returns:
boolean Returns true if the record is not empty; false otherwise.
setToLast
 public abstract boolean setToLast()
This method sets the enumeration to the last field in the record in interation order. Invalidates the enumeration if the record is empty.

Returns:
boolean Returns true if the record is not empty; false otherwise.
setToNext
 public abstract boolean setToNext()
This method sets the enumeration to the next field in the record in interation order. Invalidates the enumeration if there are no more fields left in the record.

Returns:
boolean Returns true if there is a next field; false otherwise.
setToPrevious
 public abstract boolean setToPrevious()
This method sets the enumeration to the previous field in the record in interation order. Invalidates the enumeration if no such field exists in the record.

Returns:
boolean Returns true if a previous field exists; false otherwise.

wise.  kR$'7I6x6$Pdf'./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifieldenumeration_mi.htmli.htm$$ Method Index for com.ibm.record.IFieldEnumeration

Method Index

field()
hasMoreFields()
indexOfField()
isValid()
locate(String)
nextField()
setToFirst()
setToLast()
setToNext()
setToPrevious()
u kS$7I6x6$Pf./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifixedlengthcomposedtype.htmltm$$ com.ibm.record.IFixedLengthComposedType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ifixedlengthcomposedtype_dsc.html#_top_">com.ibm.record.IFixedLengthComposedType (no frames)</a></b></p> </body> ToFir kET$f 7I6x6$0gf ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifixedlengthcomposedtype_dsc.htmlhtml$$ Interface com.ibm.record.IFixedLengthComposedType

Interface com.ibm.record.IFixedLengthComposedType

public interface IFixedLengthComposedType
extends IAnyComposedType, IFixedLengthType

This interface describes a data type which is composed of one or more simple types. A composed type can be an array, an overlay or union, or a nested record. A composed type has an alignment, and a packing hint, and it knows how to align or pack itself based upon these hints.

The most common packing hints are 1, 2, 4, 8, and 16, where 1 indicates that the data items are packed on a byte boundary, and 16 indicates that the data items are packed on a 16 byte boundary. The alignment hint indicates how the composed type needs to be aligned in memory. If data types are by default packed along boundaries smaller than those specified by the packing hint, they are still aligned along the smaller boundaries.


ra kU$7H5x6$p#u./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifixedlengthcomposedtype_mi.htmlhtml$$ Method Index for com.ibm.record.IFixedLengthComposedType p_" kZV$7I6x6$Pf./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifixedlengthrecordtype.htmlhtml$$ com.ibm.record.IFixedLengthRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ifixedlengthrecordtype_dsc.html#_top_">com.ibm.record.IFixedLengthRecordType (no frames)</a></b></p> </body> the da kZW$ 7I6x6$@k ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifixedlengthrecordtype_dsc.html$$ Interface com.ibm.record.IFixedLengthRecordType

Interface com.ibm.record.IFixedLengthRecordType

public interface IFixedLengthRecordType
extends IAnyFixedLengthRecordType

This interface defines the behavior for a dynamic collection of explicit field descriptors that has a fixed size. This includes the ability to add, insert and retrieve field descriptors, and to iterate over the field descriptors through an enumerator. It describes the type, or field content, of a record.


Method Index

addPadding(int)
This method adds padding or buffer space to the end of the current record structure.
addPaddingAfter(int, String)
This method adds padding or buffer space after the specified field name in the current record structure.
createPaddingFieldName()
Creates a unique field name for a padding field.

Methods

addPadding
 public abstract void addPadding(int length) throws IllegalArgumentException
This method adds padding or buffer space to the end of the current record structure.

Parameters:
length - The number of bytes of padding to add.
Throws: IllegalArgumentException
The length supplied is a negative number or zero.
addPaddingAfter
 public abstract void addPaddingAfter(int length,
                                      String fieldName) throws IllegalArgumentException, RecordFieldNotFoundException
This method adds padding or buffer space after the specified field name in the current record structure.

Parameters:
length - The number of bytes of padding to add.
fieldName - The name of the field to be add the padding after.
Throws: IllegalArgumentException
The length supplied is a negative number or zero.
Throws: RecordFieldNotFoundException
The specified field name does not exist.
createPaddingFieldName
 public abstract String createPaddingFieldName()
Creates a unique field name for a padding field.

Returns:
The field name for a padding field.

le>  kX$7I6x6$`Q./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifixedlengthrecordtype_mi.html$$ Method Index for com.ibm.record.IFixedLengthRecordType

Method Index

addPadding(int)
addPaddingAfter(int, String)
createPaddingFieldName()
fa k ?Y$7I6x6$P}h./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifixedlengthtype.html_m$$ com.ibm.record.IFixedLengthType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ifixedlengthtype_dsc.html#_top_">com.ibm.record.IFixedLengthType (no frames)</a></b></p> </body> d.ifi lXrZ$7I6x6$IkR./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifixedlengthtype_dsc.htmlhtml$$  deort.<>achinps "/bflmuv=RT_x#(,CIgwy)-:EFJOAPSUj 0BLVq1D3459HMWk!28;?G7YzNHSlWngrĒFLp >[ &B-LP%P$@P$$ #ߴ@.!C86}P 9LJ &ߴ o~#h^4{hwF`02@z}b{Ӹ p_`p 0p@ p e2ue(q ~Wej2y( ]HD‡$P$CCyAl/ A Ih^ P @(!C@ !I%joˏ1oF8-B(^M`r)a煇 F̹a(q;NʓVaJC+nvYqF)u&S CtPY\7 Vʤ7M0ǀ!Ջ45$]+,9 0Ƣ8Ij)%j_nQaY=fP4gxk[s$ RIRIPYFRL0%RK-l/FZ,7OPFS/%@ hP$(q&(qL(3XZ]%((u  I%(qL |ǥ}E!jQexn…LX ۀ4Hl)$Cd& a-t{qU+ sSj8| SZۘxe|.[K=|ƾ¢86\jyзهm{,k\@& d8_z͠9BRIZ-*ֶ>hX$C1CD(2C5L8 2P4f6|uovYqF)~p%g-h4 B`mտ@B:J"y!Ў ( hqLʿQֶ[eF{ cuH{,k\S[~S/%D(2C5L8 2P4` ve-PFS/%B) ve-%j LqLʿGZ۟cK=|)oë[_CaC׿[^08T,k\S[~S/%D(2C5L8 2P4` 5(e2P"y!) I%j LqLʿGZ۟cK=|ݮz:68{ cuOˍo v1ź2P8ɝPJrC,8QCp)z L jjQe(E2B;RZIZ„S/$#o2ĵֶimpR_cWu{/kl(qek cuOeq:YqF)u&S 1b ZqFP;,8Q@Pew?@(.⌤^HGs 8ߦe_kͭmӱफ़6qFW=f^ n1źeƷ;Zmx˜Sy(dΨ%}E!jQeŸ]In…LXւL;,8Q@Pew?@(.eRJ"y!(~~%6?+NkzfZem} 7^˜S[saLqnL2gTܢÐ5(e2P.x^CaB,CtBPFS/%B)ЧIZ„S/$#o2ĵֶimpR_s90_Pu_)->.51?k꟔@&u@+,9 PFS/%-Lt6*b7M0.f^JS/$#!AuVp~G̫-tyZv>?[\̷a쿭޿S[}\kxc׌)-?)L"W۔Xrf^J[ԙO l(Tňn`0]h,&PFS/%B)Y@M3RJ"y!(~~%6?+Nkz7em} 7^˜S[saLqnL2gTܢÐ5(e2P.x^CaB,Ct@vh;,8Q@Pew?@(.m椕(E2B;Q3*K]mkn~V,y0_Pu_)->.51?k꟔@&u@+,9 PFS/%-Lt6*b7M0.sf^JS/$#!Au>Vp~G̫-tyZv>?[\a쿭߭S[}\kxc׌)-?)L"W۔Xrf^J[ԙO l(Tňn`4k@5ٔC5L^HGs#ve-R ve-%j LG*[fU<ǯzWfRYWs‡zaLqnYq׌)-?)L"W۔Xrf^J[ԙO l(Tňn`4k@0n;,8Q@Pew?B9A@R Vp~rvfU<ǯzA\uw?okl(qemx˜Sy(dΨ%}E!jQeŸ]In…LXF%vYqF)~v5x!Q j$@B)j 8ߦe_kͭmύlz)gz:68{ cuOˍosaLqnL2gTܢÐ5(e2P.x^CaB,CtZqFP;,8Q@Pew?B<@R2J"y!Џ6qFPqLʿGZ۟R_8+m} 7^˜S[S[~S/%D(2C5L8 2P4hւL;,8Q@Pew?B9fZ BZ 2ש%j LG,^G̫-ty_,̵=f] n1źeƷ[^08T^J3_nQaej2y(qnRe.51ź2P8ɝPJrC,8QCp)z Lh煃C5L^HGs#+=h1o @煁HTk@}<-$@B)>o2ĵֶƶ=|a޿S[}\k{ cuOeqLJm ą$qRZU7 mG$dfr`mտ@B:f^JS/$#PL) I+P$1~u$8ɆRs:ʎټ)om0a6ߠ!f@_nQaej2y(vS/$Tňn`0 !AB)Vos2AeЁY@M3{-տ@B:aL3*j;u[~a ~aLqnoek cuOeq7Rd7u]%(^,ȁIJoLʾS/'eq3*庌YeƷײˍosS/'eP}m} |j(oLʹ0n%oYWf6 [@gURV$̫4é$_e:=f]ʍ?@n\ҋY˚Wm`cHoL2I2b+Y ve-PFS/%B)2JP]h2R0PxQgYQ[7ve-.]Kx:W۔Xrf^J1b +nPPe䤕2B庌Yeƴ a_nQaej2y(e}d]o-n0ʆ*b7M0V Y[+qe#}E!jQe)yuBjh[*x4a[pBS/$&}d]o ͩ eC]oI+P$e(q&(qLʸ<; Y]K=f^ n1źeƷ;Zmx˜Sy(dCfT1CWIJ6 tR2n%y(oLʹn$Yqn%[G|1n:z:8tcI%(q3*[\ʻ2z:6Ϋ nXd@$t(2C5Le2Yo>.vU eC]o1b +nPeϬòP[J8pvWt|6[ϬoLJPDJWJrC,8QFS/%"yωЅжT5S!i¶(^HMȺ>'BRʆޒV̫m|uGj{-E^mO(7]7&LRIP$1C@]h ej2y( L$qR@0nI)Ce(q(3- u7h+,9 PFS/%e䊘 LD((E2RJy!u ˍhr#ҾܢÐ5(e2QeȺZaT- uTňn`0 !B)o>.V eC]oI+PGJrC,8QFS/%"yωЅжT5S!i¶(^HMȺ>'BRʆޒVI0P&LP~q-tyZv>?[\ ë[_CaC׿[^08T,k\S[~S/%(qLʓ&(q3)@2fDJPfUy< ĶS/%W-d.5 Ķ\k{y<ݨ/6|QYR:"|@$7e\KkzA\u{/kl)WIJܰȁIJ_nQaej2y(e}d]o-n0ʆ*b7M0V Y[+qeq3*/-n0mO 췟Y[8t- $YqF)^K-E ͩlk,CtmQ Lyu|N/6- u$CW@$[Ϭ:ڞPoֺ?CaHoL2I2b+YЖf^JS/$#!I%jdЖIJd)CqF9eGqlƯ8]hKW_nQaej2y(vS/$Tňn`0 !AB)Vo[\k@[YqF)^K-Eʡlk,CtmQ LyuvP [*zIZ:W۔Xrf^J2y,Y[|N/6 LD(E2BmE!:ڐ@T52IR2b̫kͭmӱफ़Ư90_Pu_)->.51?k꟔@& o2ɊoLJP Y8|^Oq-@fUu ˍoq-em|^O(7j>፬8+q}}msaԁΫ;:I)CWफ़Ư90_R:%aҾܢÐ5(e2QeȺZaT- uTňn`0 !B)o>.V eC]oI+PfU^Za][Lڟ'co>.q3)B[:I)]+,9 PFS/%L[Ϭ>'BSBP[LX ۀ"y!6"x^mH [*zIZ2%I췟Y[{t!y<߭t~8ߤ1I&eCd2W޳h9ugeC5L^HGs BJ8)Auge$8ɆRs:ʎپl⌮ZqFP:W۔Xrf^J1b +nPPe䤕2B?yn$YqnXdzW۔Xrf^J2y,Y[[;* LD(E2BmEJa@lk%j_nQaej2y(e}d]o9:ښʆ*b7M0V Y[BjAP[J8&JdɊo2%6?+Nkz\u{/kl(qek cuOeq7Rd7u]%(^,ȁIJoLʾS/'eq3*庌YeƷײˍosS/'eWo>0@gURV$̫mpR_8+em} q3)B[:I)]+,9 PFS/%L[ϬBP[LX ۀ"y!6"x%n0@T57e\5ͩv9}"z:%aҾܢÐ5(e2QeȺst!y4- uTňn`0 !B)o>.ЅԂq3*[_(Qڞyu='BS Gl)IfT8&LP%}6Z 2נPFS/%B)2JP]h$^8ɆRs:ʎټ-{A&Z+,9 PFS/%e䊘 LD((E2RJy!-d.5_ JrC,8QFS/%"ykqePT5S!i¶(^HMȺ [;(- u$A+,9 PFS/%L[Ϭ>'BSBP[LX ۀ"y!6"x^mH [*zIZ$)C1CfUĵֶimpR_,^a쿭޿S[}\kxc׌)-?)L8ߦeI8txkk"I%(q3*L[_)̫2Ae[^.5LPn}Y_lqVéWIJZv> tR2%K=|-{YW8t- $YqF)^K-Eʡlk,CtmQ LyuvP [*zIZ2f;yuWIJܰȁIJ_nQaej2y(e}d]o9:ښʆ*b7M0V Y[BjAP[J8q-NOeȺ ͩk6$ɊI3*d&(qA ~C5L^HGs BJ8)AuOԒR0PxQgYQ[7B_nQaej2y(vS/$Tňn`0 !AB)Vos2Ae/G}E!jQe)yuò[*x4a[pBS/$&}d]oʆޒVYqF)^K-E ͩlk,CtmQ Lyu|N/6- u$CaL3*Zk[s|~)gAuu{/kl(qek cuOeq7Rd7u]%(^,ȁIJoLʾS/'eq3*庌YeƷײˍosS/'eWo>0@gURV$̫mpR_sem} q3)B[:I)]+,9 PFS/%L[ϬBP[LX ۀ"y!6"x%n0@T57e\5ͩv9}"z:%aҾܢÐ5(e2QeȺst!y4- uTňn`0 !B)o>.ЅԂq3*[_(Qڞyu='BS Gl)IfT8&LP%}6Z`PFS/%B)2JP]h8ɆRs:ʎټx_ t(2C5L;)*b7M0VI+We7-d.5_ JrC,8QFS/%"ykqePT5S!i¶(^HMȺ [;(- u$A+,9 PFS/%L[Ϭ>'BSBP[LX ۀ"y!6"x^mH [*zIZ$)C1CfUĵֶimpR_2YW‡zaLqnYqֹ[^08T^J0P~&LPgUReͭ$̫2xm|^J2[\kxm{,?k2yAQ_ me}[k7u]%(EiIJoLʸ,-|u{/kl)WIJܰȁIJ_nQaej2y(e}d]o-n0ʆ*b7M0V Y[+qeq3*/-n0mO 췟Y[8t- $YqF)^K-E ͩlk,CtmQ Lyu|N/6- u$CW@$[Ϭ:ڞPoֺ?CaHoL2I2b+YY@M3Af^JS/$#!I%jdY@M3RIJd)CqF9eGql ( o 4+,9 PFS/%e䊘 LD((E2RJy!Q ,ց~,2=+,9 PFS/%L[ϬBP[LX ۀ"y!6"x%n0@T5t(2C5Le2Yo>.^mM eC]o1b +nPeϬCt!y lk%jd 2d7WGZ۟cK=~iYW‡zaLqnYqֹ[^08T^J0P~&LPgUReͭ$̫2xm|^J2[\kxm{,?k2yAQ_ me}[k7u]%(EiIJoLʸ,( o=f^ @gUR,2 tRW۔Xrf^J2y,Y[[;* LD(E2BmEJa@lk%joLʸ [;+>kiSs-E7u]%(Kr"I%+}E!jQe)yuBjh[*x4a[pBS/$&}d]o ͩ eC]oI+PfUĶP :="t{|N/6R&)$̨qLJm .m惲C5L^HGs BJ8)Au;o5$L28cTwmYqF)e2ELX ۀ"y)%jLs2Ae/G}E!jQe)yuò[*x4a[pBS/$&}d]oʆޒVYqF)^K-E ͩlk,CtmQ Lyu|N/6- u$CaL3*Zk[s|~)gŷYW‡zaLqnYqֹ[^08T^J0P~&LPgUReͭ$̫2xm|^J2[\kxm{,?k2yAQ_ me}[k7u]%(EiIJoLʸ,y0_R:%aҾܢÐ5(e2QeȺZaT- uTňn`0 !B)o>.V eC]oI+PfU^Za][Lڟ'co>.q3)B[:I)]+,9 PFS/%L[Ϭ>'BSBP[LX ۀ"y!6"x^mH [*zIZ2%I췟Y[{t!y<߭t~8ߤ1I&eCd2W޳h9u>5(e2P"y!) I+P$րxZI)Ce(q(3-}.^mM eC]o1b +nPeϬCt!y lk%joLʸ'Tv}d]o}Ѕ~ @~d$2I8_z͠F]Kx;,8Q@Pew?B9WfR!I%jdրk)oI%(q 7uųyfRYqF)e2ELX ۀ"y)%jL~FH,Z8)oè a_nQaej2y(e}d]o-n0ʆ*b7M0V Y[+qe#}E!jQe)yuBjh[*x4a[pBS/$&}d]o ͩ eC]oI+P$e(q&(qLʸ<ǯzWfRYWs‡zaLqnYq׌)-?)L8ߦeI8txkk"I%(q3*L[_)̫2Ae[^.5LPn}Y_lqk~0@fUYWq-UٔakP8t- $YqF)^K-Eʡlk,CtmQ LyuvP [*zIZ2f;yuWIJܰȁIJ_nQaej2y(e}d]o9:ښʆ*b7M0V Y[BjAP[J8q-NOeȺ ͩk6$ɊI3*d&(qAȍh ej2y( LG(7h BJ8)QI$2a8βo>>57h+,9 PFS/%e䊘 LD((E2RJy!u ˍh@saܰ(2C5Le2Yo>.vU eC]o1b +nPeϬòP[JҾܢÐ5(e2QeȺst!y4- uTňn`0 !B)o>.ЅԂqL28ɓ8ߦe\K]mkn|kcK=|ݮz:68{ cuOˍosaLqnL2`3*LΫś[Y:I)CWe7L7e\Q ,7Yqevc[YR2z:mrv0~5oLJPDJWJrC,8QFS/%"ykqePT5S!i¶(^HMȺ [;(- u$CWykqewGm3j|x_eȺށΫ nXd@$t(2C5Le2Yo>.^mM eC]o1b +nPeϬCt!y lk%joLʸ'Tv}d]o}Ѕ~ @~d$2I8_z͠F%vYqF)~v5x!I%jdքxJP&Jo1*;fZ:W۔Xrf^J1b +nPPe䤕2Bs2AeЁ=f@_ JrC,8QFS/%"ykqePT5S!i¶(^HMȺ [;(- u$A+,9 PFS/%L[Ϭ>'BSBP[LX ۀ"y!6"x^mH [*zIZ$)C1CfUĵֶƶ=|=f] n1źeƷ[^08T^J0P~&LPgUReͭ$̫2xm|^J2[\kxm{,?k2yAQ_ me}éW=f\ Ķë֠q3)B[:I)]+,9 PFS/%L[ϬBP[LX ۀ"y!6"x%n0@T57e\5ͩv9}"z:%aҾܢÐ5(e2QeȺst!y4- uTňn`0 !B)o>.ЅԂq3*[_(Qڞyu='BS Gl)IfT8&LP%}62f^JS/$#(2JTk@(I%(q 7uųy{8(+,9 PFS/%e䊘 LD((E2RJy!-d.56qFW=f@_ JrC,8QFS/%"ykqePT5S!i¶(^HMȺ [;(- u$A+,9 PFS/%L[Ϭ>'BSBP[LX ۀ"y!6"x^mH [*zIZ$)C1CfUĵֶƶ=|(ë[_CaC׽~08T,?k꟔@& o2ɊoLJP Y8|^Oq-@fUu ˍoq-em|^O(7j>፬85[\u q3*ëכ8+ZΫ nXd@$t(2C5Le2Yo>.vU eC]o1b +nPeϬòP[J8pvWt|6[ϬoLJPDJWJrC,8QFS/%"yωЅжT5S!i¶(^HMȺ>'BRʆޒV̫m|uGj{-E^mO(7]7&LRIP$1CDkA&ZjQe(E2B;-z!I%jdւLI)Ce(q(3-ϷOh$^}E!jQeLS!i¶(^JIZS/$ q-d.5̵=f@_ JrC,8QFS/%"ykqePT5S!i¶(^HMȺ [;(- u$A+,9 PFS/%L[Ϭ>'BSBP[LX ۀ"y!6"x^mH [*zIZ$)C1CfUĵֶƶ=|2׼uw?okl(qemx˜Sy(dCfT1CWIJ6 tR2n%y(oLʹn$Yqn%[G|1Ʒk7e\up7kz:ߍj:%aҾܢÐ5(e2QeȺZaT- uTňn`0 !B)o>.V eC]oI+PfU^Za][Lڟ'co>.q3)B[:I)]+,9 PFS/%L[Ϭ>'BSBP[LX ۀ"y!6"x^mH [*zIZ2%I췟Y[{t!y<߭t~8ߤ1I&eCd2W޳h9 {0,èjQe(E2B; YAxZe42JTkBr 0I%(q 7uųy {0,è+,9 PFS/%e䊘 LD((E2RJy!u ˍh@ಀf=aܰ(2C5Le2Yo>.vU eC]o1b +nPeϬòP[JҾܢÐ5(e2QeȺst!y4- uTňn`0 !B)o>.ЅԂqL28ɓ8ߦe\K]mkn|kckg=f^i޿S[}\k{ cuOeq7Rd7u]%(^,ȁIJoLʾS/'eq3*庌YeƷײˍosS/'eWo߭z:8w=aKk,z:7֠q3)B[:I)]+,9 PFS/%L[ϬBP[LX ۀ"y!6"x%n0@T57e\5ͩv9}"z:%aҾܢÐ5(e2QeȺst!y4- uTňn`0 !B)o>.ЅԂq3*[_(Qڞyu='BS Gl)IfT8&LP%}6Ч;,8Q@Pew?B;RVIJhS$L28cTwۧƴ)YqF)e2ELX ۀ"y)%jL-d.5z:[YqF)^K-Eʡlk,CtmQ LyuvP [*zIZ:W۔Xrf^J2y,Y[|N/6 LD(E2BmE!:ڐ@T52IR2b̫kͭmύlz)gAuuw?okl(qemx˜Sy(dCfT1CWIJ6 tR2n%y(oLʹn$Yqn%[G|1Ʒk7e\up7~akP8t- $YqF)^K-Eʡlk,CtmQ LyuvP [*zIZ2f;yuWIJܰȁIJ_nQaej2y(e}d]o9:ښʆ*b7M0V Y[BjAP[J8q-NOeȺ ͩk6$ɊI3*d&(qAȍhC5L^HGs#o 2JTk@=-$L28cTwۧƴҾܢÐ5(e2P^H4a[pBS/%$_)8Q ,ք7e//G}E!jQe)yuò[*x4a[pBS/$&}d]oʆޒVYqF)^K-E ͩlk,CtmQ Lyu|N/6- u$CaL3*Zk[s[ Y[0~Pu_)->.51ź2P8ɂ̩2b:/mmd@$7e_)Kk2P8rFH,[KkeƷ[_) ڏck+7o=fHoLʹ0n%̷akP8t- $YqF)^K-Eʡlk,CtmQ LyuvP [*zIZ2f;yuWIJܰȁIJ_nQaej2y(e}d]o9:ښʆ*b7M0V Y[BjAP[J8q-NOeȺ ͩk6$ɊI3*d&(qAȍh,&PFS/%B)JZ [ ( h$qRZ ( jI)Ce(q(3-ϷOh,&_nQaej2y(vS/$Tňn`0 !AB)Vo?yn$YqoY@M3y0nXdzW۔Xrf^J2y,Y[[;* LD(E2BmEJa@lk%j_nQaej2y(e}d]o9:ښʆ*b7M0V Y[BjAP[J8&JdɊo2%6>5फ़e4ë[_CaC׽~08T,?k꟔@& o2ɊoLJP Y8|^Oq-@fUu ˍoq-em|^O(7j>፬85[\u q3*ë7ZΫ nXd@$t(2C5Le2Yo>.vU eC]o1b +nPeϬòP[J8pvWt|6[ϬoLJPDJWJrC,8QFS/%"yωЅжT5S!i¶(^HMȺ>'BRʆޒV̫m|uGj{-E^mO(7]7&LRIP$1CDk@vh;,8Q@Pew?B<[yRVIJhI%(q 7uųyy_nQaej2y(vS/$Tňn`0 !AB)Vou ˍh@-z:[YqF)^K-Eʡlk,CtmQ LyuvP [*zIZ:W۔Xrf^J2y,Y[|N/6 LD(E2BmE!:ڐ@T52IR2b̫kͭmύlz)gŷYWs‡zaLqnYq׌)-?)L8ߦeI8txkk"I%(q3*L[_)̫2Ae[^.5LPn}Y_lqk~0@fUYWq-o=f_oƵWIJܰȁIJ_nQaej2y(e}d]o-n0ʆ*b7M0V Y[+qeq3*/-n0mO 췟Y[8t- $YqF)^K-E ͩlk,CtmQ Lyu|N/6- u$CW@$[Ϭ:ڞPoֺ?CaHoL2I2b+YրxX;,8Q@Pew?B8փxX$qRZ9i$2a8βo>>5>YqF)e2ELX ۀ"y)%jLs2AeЁz:[YqF)^K-Eʡlk,CtmQ LyuvP [*zIZ:W۔Xrf^J2y,Y[|N/6 LD(E2BmE!:ڐ@T52IR2b̫kͭmύlz)gq ë[_CaC׽~08T,?k꟔@& o2ɊoLJP Y8|^Oq-@fUu ˍoq-em|^O(7j>፬85[\u q3*ëz:ߍj:%aҾܢÐ5(e2QeȺZaT- uTňn`0 !B)o>.V eC]oI+PfU^Za][Lڟ'co>.q3)B[:I)]+,9 PFS/%L[Ϭ>'BSBP[LX ۀ"y!6"x^mH [*zIZ2%I췟Y[{t!y<߭t~8ߤ1I&eCd2[oˏ1oF8-B(^M`r)a煇 F̹a(q;NʓVaJC+nvYqF)u&S CtPY\7 Vʤ7M0ǀ!Ջ45$]+,9 0Ƣ8Ij)%j_nQaY=fP4gxk[s$ RIRIPYFRL02`(!, YnG]hro~п`rP\j$--őʼR8H1$9  I+RI$rI-LP0 krF[$8 7I6x6$8i8 ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ifixedlengthtype_mi.htmlhtml$$ Method Index for com.ibm.record.IFixedLengthType

Method Index

checkConstantValue(IRecord, int, Object)
getBoolean(IRecord, int)
getByte(IRecord, int)
getChar(IRecord, int)
getDouble(IRecord, int)
getFloat(IRecord, int)
getInt(IRecord, int)
getLong(IRecord, int)
getObject(IRecord, int)
getShort(IRecord, int)
getString(IRecord, int)
setBoolean(IRecord, int, boolean)
setByte(IRecord, int, byte)
setChar(IRecord, int, char)
setDouble(IRecord, int, double)
setFloat(IRecord, int, float)
setInitialValue(IRecord, int, Object)
setInt(IRecord, int, int)
setLong(IRecord, int, long)
setObject(IRecord, int, Object)
setShort(IRecord, int, short)
setString(IRecord, int, String)
 k>=\$7I6x6$Pyk./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.inestedrecordfield.html$$ com.ibm.record.INestedRecordField <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.inestedrecordfield_dsc.html#_top_">com.ibm.record.INestedRecordField (no frames)</a></b></p> </body> dsc ky]$d7I6x6$@|kd./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.inestedrecordfield_dsc.htmlml$$ Interface com.ibm.record.INestedRecordField

Interface com.ibm.record.INestedRecordField

public interface INestedRecordField
extends IAnyField

This interface describes a field that has a nested record type as its underlying data type.


 kt^$7J5x6$pu./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.inestedrecordfield_mi.htmlml$$ Method Index for com.ibm.record.INestedRecordField p kC_$7I6x6$Pk./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ioverlayfield.htmlmi.ht$$ com.ibm.record.IOverlayField <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ioverlayfield_dsc.html#_top_">com.ibm.record.IOverlayField (no frames)</a></b></p> </body> l> Interface com.ibm.record.IOverlayField

Interface com.ibm.record.IOverlayField

public interface IOverlayField
extends IAnyField

This interface describes a field consisting of several overlayed fields (a "union").


 kxa$7J5x6$pv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ioverlayfield_mi.htmlt$$ Method Index for com.ibm.record.IOverlayField p_"> com.ibm.record.IOverlayType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ioverlaytype_dsc.html#_top_">com.ibm.record.IOverlayType (no frames)</a></b></p> </body>  kNc$j7I6x6$@kj./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ioverlaytype_dsc.htmlt$$ Interface com.ibm.record.IOverlayType

Interface com.ibm.record.IOverlayType

public interface IOverlayType
extends IAnyFixedLengthRecordType

This interface defines the behavior for a dynamic collection of explicit field descriptors that overlay each other in memory (a "union"). This includes the ability to add, and retrieve field descriptors, and to iterate over the field descriptors through an enumerator. It describes the type, or field content, of an overlay field.


ean)"> k:d$7J5x6$pv./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ioverlaytype_mi.htmlt$$ Method Index for com.ibm.record.IOverlayType p_"> com.ibm.record.IRecord <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.irecord_dsc.html#_top_">com.ibm.record.IRecord (no frames)</a></b></p> </body> n= k?f$27I6x6$k2./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.irecord_dsc.htmltmlt$$ Interface com.ibm.record.IRecord

Interface com.ibm.record.IRecord

public interface IRecord
extends IByteBuffer

This interface describes the behavior of all records. It abstracts the base behavior of all records in a way usable in any usage context having the notion of a record. This includes associating a record descriptor (record type) with some data bytes (the record bytes) and describing the environment that originated the "bytes" in terms of its data encoding characteristics (endianess, codepage, and floating point representation).


Variable Index

CUSTOMRECORD
Record is a custom record.
FIXEDLENGTHRECORD
Record is a dynamic record with a fixed length.
FIXEDWITHVARIABLESUBRECORD
Record is a dynamic record with a fixed length, but it has a variable length sub record with a maximum size.
VARIABLELENGTHRECORD
Record is a dynamic record with a variable length.

Method Index

getAlignmentOffset()
Returns an offset for the record or sub record which is used to start aligning the record from.
getRawBytes()
Returns an array of bytes that has been set on the record.
getRecordAttributes()
Returns the attributes of the record.
getRecordKind()
Returns the kind of the record.
getRecordType()
Rreturns the record type of a record.
getSize()
Returns the size of a record in bytes.
getStartingOffset()
Returns the offset to where a record begins in its byte array.
setAlignmentOffset(int)
Sets an offset for the record or sub record which is used to start aligning the record from.
setInitialValues()
Sets all initial field values in the record.
setRawBytes(byte[])
Associates an array of bytes with a record.
setRecordAttributes(IRecordAttributes)
Sets the attributes of a record.
setRecordType(IRecordType)
This method sets the record type for this record.
setStartingOffset(int)
Sets the offset to where the record begins within a byte array associated with the record.

Variables

CUSTOMRECORD
 public static final int CUSTOMRECORD
Record is a custom record.

FIXEDLENGTHRECORD
 public static final int FIXEDLENGTHRECORD
Record is a dynamic record with a fixed length.

VARIABLELENGTHRECORD
 public static final int VARIABLELENGTHRECORD
Record is a dynamic record with a variable length.

FIXEDWITHVARIABLESUBRECORD
 public static final int FIXEDWITHVARIABLESUBRECORD
Record is a dynamic record with a fixed length, but it has a variable length sub record with a maximum size.


Methods

getAlignmentOffset
 public abstract int getAlignmentOffset()
Returns an offset for the record or sub record which is used to start aligning the record from. The offset is used for those records whose alignment may be affected by what position is located in byte array. This offset may be requred for the pack() method on the record type.

Returns:
The alignment offset.
See Also:
IAnyDynamicRecordType
getRawBytes
 public abstract byte[] getRawBytes()
Returns an array of bytes that has been set on the record. This method does not write out any cached bytes or perform any data packaging of the bytes. It is intended to be used by type implementors to avoid recursive loops when trying to access the record bytes. If a byte array representing the current state of the record is required, then the getBytes() method should be called.

Returns:
An array of bytes that has been set on the record, or null if no bytes have been set.
getRecordAttributes
 public abstract IRecordAttributes getRecordAttributes()
Returns the attributes of the record.

Returns:
The attributes of the record.
getRecordKind
 public abstract int getRecordKind()
Returns the kind of the record.

Returns:
The kind of the record. It will be one of the following values:
  • CUSTOMRECORD
  • FIXEDLENGTHRECORD
  • VARIABLELENGTHRECORD
  • FIXEDWITHVARIABLESUBRECORD
getRecordType
 public abstract IRecordType getRecordType()
Rreturns the record type of a record.

Returns:
The record type of a record.
getSize
 public abstract int getSize()
Returns the size of a record in bytes.

Returns:
The size of a record in bytes.
getStartingOffset
 public abstract int getStartingOffset()
Returns the offset to where a record begins in its byte array.

Returns:
The offset to where a record begins in its byte array.
setAlignmentOffset
 public abstract void setAlignmentOffset(int offset) throws IllegalArgumentException
Sets an offset for the record or sub record which is used to start aligning the record from. The offset is used for those records whose alignment may be affected by what position is located in byte array. This offset may be requred for the pack() method on the record type.

Parameters:
offset - The alignment offset.
Throws: IllegalArgumentException
The offset parameter is negative.
See Also:
IAnyDynamicRecordType
setInitialValues
 public abstract void setInitialValues() throws RecordConversionFailureException, RecordConversionUnsupportedException
Sets all initial field values in the record.

Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by a field in the record.
setRawBytes
 public abstract void setRawBytes(byte bytes[])
Associates an array of bytes with a record. This method does not cache any bytes or perform any data unpackaging of the bytes. It is intended to be used by type implementors to avoid recursive loops when trying to set the record bytes. If a record representing the current state of the byte array is required, then the setBytes() method should be called.

Parameters:
bytes - The byte array for the record.
setRecordAttributes
 public abstract void setRecordAttributes(IRecordAttributes attributes) throws IllegalArgumentException
Sets the attributes of a record.

Parameters:
attributes - The attributes of the record (code page, endian, etc).
Throws: IllegalArgumentException
The attribute parameter supplied is null.
setRecordType
 public abstract void setRecordType(IRecordType recordType) throws IllegalArgumentException
This method sets the record type for this record.

Parameters:
recordType - The type of the record.
Throws: IllegalArgumentException
The record type parameter supplied is null, not the correct type, or if the record attributes are set, the attributes are not supported by the record type.
setStartingOffset
 public abstract void setStartingOffset(int offset) throws IllegalArgumentException
Sets the offset to where the record begins within a byte array associated with the record. The offset is not taken into account when calculating field offset in the record. It is up to the user to ensure the offset does not affect the alignment of the record fields.

Parameters:
offset - The starting offset.
Throws: IllegalArgumentException
The offset parameter is negative.

gum kg$7I6x6$0k./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.irecord_mi.html$$ Method Index for com.ibm.record.IRecord

Method Index

getAlignmentOffset()
getRawBytes()
getRecordAttributes()
getRecordKind()
getRecordType()
getSize()
getStartingOffset()
setAlignmentOffset(int)
setInitialValues()
setRawBytes(byte[])
setRecordAttributes(IRecordAttributes)
setRecordType(IRecordType)
setStartingOffset(int)

Variable Index

CUSTOMRECORD
FIXEDLENGTHRECORD
FIXEDWITHVARIABLESUBRECORD
VARIABLELENGTHRECORD
 kh$7I6x6$Pk./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.irecordattributes.htmlt$$ com.ibm.record.IRecordAttributes <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.irecordattributes_dsc.html#_top_">com.ibm.record.IRecordAttributes (no frames)</a></b></p> </body>  kZ%i$"7I6x6$k"./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.irecordattributes_dsc.htmlml$$ Interface com.ibm.record.IRecordAttributes

Interface com.ibm.record.IRecordAttributes

public interface IRecordAttributes
extends Cloneable

This interface describes the base attributes of a record. It describes the environment that originated the "bytes" in terms of its data encoding characteristics (endianess, codepage, and floating point representation).


Variable Index

BIGENDIAN
Byte representation of integers are ordered from most significant byte to least significant byte.
IBMFLOATINGPOINTFORMAT
Byte representation of floating point numbers as defined in the IBM System/370 Principles of Operation.
IEEEFLOATINGPOINTFORMAT
Byte representation of floating point numbers as defined by IEEE standard 754.
LITTLEENDIAN
Byte representation of integers are ordered from least significant byte to most significant byte.

Method Index

clone()
Creates a new object of the same class as this object.

Variables

BIGENDIAN
 public static final int BIGENDIAN
Byte representation of integers are ordered from most significant byte to least significant byte.

LITTLEENDIAN
 public static final int LITTLEENDIAN
Byte representation of integers are ordered from least significant byte to most significant byte.

IBMFLOATINGPOINTFORMAT
 public static final int IBMFLOATINGPOINTFORMAT
Byte representation of floating point numbers as defined in the IBM System/370 Principles of Operation.

IEEEFLOATINGPOINTFORMAT
 public static final int IEEEFLOATINGPOINTFORMAT
Byte representation of floating point numbers as defined by IEEE standard 754.


Methods

clone
 public abstract Object clone()
Creates a new object of the same class as this object. It then initializes each of the new object's fields by assigning it the same value as the corresponding field in this object. No constructor is called.

Returns:
A new object initialized to the same state as this object.
Overrides:
clone in class Object

m.reco k6j$7I6x6$`b./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.irecordattributes_mi.htmlml$$ Method Index for com.ibm.record.IRecordAttributes

Method Index

clone()

Variable Index

BIGENDIAN
IBMFLOATINGPOINTFORMAT
IEEEFLOATINGPOINTFORMAT
LITTLEENDIAN
>  kVk$7I6x6$Pk./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.irecordtype.html_mi.htm$$ com.ibm.record.IRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.irecordtype_dsc.html#_top_">com.ibm.record.IRecordType (no frames)</a></b></p> </body> e. Interface com.ibm.record.IRecordType

Interface com.ibm.record.IRecordType

public interface IRecordType
extends ISizeable

This interface defines the base behavior of all record "descriptors" (record types). It abstracts the base behavior of all record types in a way usable in any usage context having the notion of a record type. In the abstract, all record types provide a "factory" capability for creating new records of its type.


Method Index

newRecord()
This method returns a new instance of a record based upon the record type.
newRecord(IRecordAttributes, int, int)
This method returns a new instance of a record based upon the record type, and attributes.
newRecordWithBytes()
This method returns a new instance of a record based upon the record type.
newRecordWithBytes(IRecordAttributes, int, int)
This method returns a new instance of a record based upon the record type, and attributes.

Methods

newRecord
 public abstract IRecord newRecord() throws RecordException
This method returns a new instance of a record based upon the record type. No actual record bytes are associated with the record, but it needs to ensure that record is correctly packed, and the field offsets are set in accordance with the packing and alignment hints of the record.

Returns:
A new instance of a record.
Throws: RecordException
An error occurs during the creation of the record.
newRecord
 public abstract IRecord newRecord(IRecordAttributes attributes,
                                   int startingOffset,
                                   int alignmentOffset) throws RecordException
This method returns a new instance of a record based upon the record type, and attributes. No actual record bytes are associated with the record, but it needs to ensure that record is correctly packed, and the field offsets are set in accordance with the packing and alignment hints of the record.

Parameters:
attributes - The attributes of the record (code page, endian, etc).
startingOffset - The offset in the byte array where the record begins.
alignmentOffset - The offset for the record or sub record which is used to start aligning the record from.
Returns:
A new instance of a record.
Throws: RecordException
An error occurs during the creation of the record.
newRecordWithBytes
 public abstract IRecord newRecordWithBytes() throws RecordException
This method returns a new instance of a record based upon the record type. The actual record bytes are allocated and associated with the record, and it needs to ensure that record is correctly packed, and the field offsets are set in accordance with the packing and alignment hints of the record. Any initial values on the fields are also set.

Returns:
A new instance of a record.
Throws: RecordException
An error occurs during the creation of the record.
newRecordWithBytes
 public abstract IRecord newRecordWithBytes(IRecordAttributes attributes,
                                            int startingOffset,
                                            int alignmentOffset) throws RecordException
This method returns a new instance of a record based upon the record type, and attributes. The actual record bytes are allocated and associated with the record, and it needs to ensure that record is correctly packed, and the field offsets are set in accordance with the packing and alignment hints of the record. The record is placed at a specified absolute offset within the allocated record bytes. Any initial values on the fields are also set.

Parameters:
attributes - The attributes of the record (code page, endian, etc).
startingOffset - The offset in the byte array where the record begins.
alignmentOffset - The offset for the record or sub record which is used to start aligning the record from.
Returns:
A new instance of a record.
Throws: RecordException
An error occurs during the creation of the record.

a>  kL m$7I6x6$`k./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.irecordtype_mi.htmlhtm$$ Method Index for com.ibm.record.IRecordType

Method Index

newRecord()
newRecord(IRecordAttributes, int, int)
newRecordWithBytes()
newRecordWithBytes(IRecordAttributes, int, int)
t in  kn$7I6x6$Pk./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.isizeable.htmlh$$ com.ibm.record.ISizeable <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.isizeable_dsc.html#_top_">com.ibm.record.ISizeable (no frames)</a></b></p> </body>  k\o$7I6x6$0k./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.isizeable_dsc.htmlhtm$$ Interface com.ibm.record.ISizeable

Interface com.ibm.record.ISizeable

public interface ISizeable

This interface is provided as a language work around to provide the size of different types. The interface is implemented in two different interfaces which ultimately end up being extended by the same interface (multiple inheritance). This gets around the problem of the getSize() method being ambiguous in the implementing class.


Method Index

getSize()
This method returns the size of the type in bytes.

Methods

getSize
 public abstract int getSize()
This method returns the size of the type in bytes.

Returns:
The size of the type.

 k(p$7I6x6$p,w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.isizeable_mi.htmlhtm$$ Method Index for com.ibm.record.ISizeable

Method Index

getSize()
< kHq$7I6x6$Pk./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.itypeinfo.htmlm$$ com.ibm.record.ITypeInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.itypeinfo_dsc.html#_top_">com.ibm.record.ITypeInfo (no frames)</a></b></p> </body>  k$r$97I6x6$l9./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.itypeinfo_dsc.htmlhtm$$ Interface com.ibm.record.ITypeInfo

Interface com.ibm.record.ITypeInfo

public interface ITypeInfo
extends BeanInfo

A concrete type implementor who wishes to provide explicit information about the type may provide a TypeInfo class that implements this ITypeInfo interface.

Typically, the TypeInfo class is not used at runtime (while accessing record information). Its primary intended use is to provide assistance to Java development tools manipulating type implementations.


Method Index

getConstantValueEditor(IAnyType)
Returns the property editor for the constant value of the type, or null if there is none.
getInitialValueEditor(IAnyType)
Returns the property editor for the initial value of the type, or null if there is none.
getStaticAccessorParmString(IAnyType)
This method is used to construct an argument string for the static accessors of a given concrete type.
getStaticConstantValueMethod(IAnyType)
Returns the static method on the specified type which is used to check the constant value on the type.
getStaticConstantValueParmString(IAnyType)
This method is used to construct an argument string for the static constant value checker of a given concrete type.
getStaticGetterMethod(IAnyType)
Returns the preferred static method on the specified type which is used for a getter method.
getStaticGetterMethods(IAnyType)
Returns all static methods on the specified type which are used for getter methods.
getStaticInitialValueMethod(IAnyType)
Returns the static method on the specified type which is used to set the initial value on the type.
getStaticInitialValueParmString(IAnyType)
This method is used to construct an argument string for the static initial value setter of a given concrete type.
getStaticSetterMethod(IAnyType)
Returns the preferred static method on the specified type which is used for a setter method.
getStaticSetterMethods(IAnyType)
Returns all static methods on the specified type which are used for setter methods.
getTypeSet()
For type constrained constructed types, this method returns an array of valid type sets.
isTypeSetConstrained()
This method is used when the described type is a composed type and its elements are constrained to types within specific type sets.
setTypeSet(ITypeSetInfo[])
For type constrained constructed types, this method sets the valid type sets.
setTypeSetConstrained(boolean)
This method is used when the described type is a composed type and its elements are constrained to types within specific type sets.

Methods

getConstantValueEditor
 public abstract PropertyEditor getConstantValueEditor(IAnyType type)
Returns the property editor for the constant value of the type, or null if there is none.

Parameters:
type - The data type.
Returns:
The property editor for the constant value of the type, or null if there is none.
getInitialValueEditor
 public abstract PropertyEditor getInitialValueEditor(IAnyType type)
Returns the property editor for the initial value of the type, or null if there is none.

Parameters:
type - The data type.
Returns:
The property editor for the initial value of the type, or null if there is none.
getStaticAccessorParmString
 public abstract String getStaticAccessorParmString(IAnyType type)
This method is used to construct an argument string for the static accessors of a given concrete type. Its primary use is to assist in creation of custom records using types with type-specific instance data (eg. string length). If no additional parameters are required to access the supplied type then the method should return a null. If parameters are required, they should be returned as a single string (comma separated parameters, no leading or trailing comma).

Parameters:
type - The data type.
Returns:
The argument string.
getStaticConstantValueMethod
 public abstract Method getStaticConstantValueMethod(IAnyType type)
Returns the static method on the specified type which is used to check the constant value on the type.

Parameters:
type - The data type.
Returns:
The static method which is used to check the constant value on the type or null is there is none.
getStaticConstantValueParmString
 public abstract String getStaticConstantValueParmString(IAnyType aType)
This method is used to construct an argument string for the static constant value checker of a given concrete type. Its primary use is to assist in creation of custom records using types with type-specific instance data (eg. string length). If no additional parameters are required to access the supplied type then the method should return a null. If parameters are required, they should be returned as a single string (comma separated parameters, no leading or trailing comma).

Parameters:
aType - A type instance.
Returns:
Static constant value checker parm string.
getStaticGetterMethod
 public abstract Method getStaticGetterMethod(IAnyType type)
Returns the preferred static method on the specified type which is used for a getter method.

Parameters:
type - The data type.
Returns:
The static method which is used as for a getter or null is there is none.
getStaticGetterMethods
 public abstract Method[] getStaticGetterMethods(IAnyType type)
Returns all static methods on the specified type which are used for getter methods.

Parameters:
type - The data type.
Returns:
The array of static methods which are used as for getters or null is there are none.
getStaticInitialValueMethod
 public abstract Method getStaticInitialValueMethod(IAnyType type)
Returns the static method on the specified type which is used to set the initial value on the type.

Parameters:
type - The data type.
Returns:
The static method which is used to set the initial value on the type or null is there is none.
getStaticInitialValueParmString
 public abstract String getStaticInitialValueParmString(IAnyType aType)
This method is used to construct an argument string for the static initial value setter of a given concrete type. Its primary use is to assist in creation of custom records using types with type-specific instance data (for example, string length). If no additional parameters are required to access the supplied type then the method should return a null. If parameters are required, they should be returned as a single string (comma separated parameters, no leading or trailing comma).

Parameters:
aType - A type instance.
Returns:
Static initial value setter parm string.
getStaticSetterMethod
 public abstract Method getStaticSetterMethod(IAnyType type)
Returns the preferred static method on the specified type which is used for a setter method.

Parameters:
type - The data type.
Returns:
The static method which is used as for a setter or null is there is none.
getStaticSetterMethods
 public abstract Method[] getStaticSetterMethods(IAnyType type)
Returns all static methods on the specified type which are used for setter methods.

Parameters:
type - The data type.
Returns:
The array of static methods which are used as for setters or null is there are none.
getTypeSet
 public abstract ITypeSetInfo[] getTypeSet()
For type constrained constructed types, this method returns an array of valid type sets.

Returns:
Array of valid type sets.
isTypeSetConstrained
 public abstract boolean isTypeSetConstrained()
This method is used when the described type is a composed type and its elements are constrained to types within specific type sets. It tests whether the type is constrained or not.

Returns:
true if the type is constrained; false otherwise.
setTypeSet
 public abstract void setTypeSet(ITypeSetInfo typeSets[])
For type constrained constructed types, this method sets the valid type sets.

Parameters:
typeSets - Array of valid type sets.
setTypeSetConstrained
 public abstract void setTypeSetConstrained(boolean isConstrained)
This method is used when the described type is a composed type and its elements are constrained to types within specific type sets. It sets whether the type is constrained or not.

Parameters:
isConstrained - true if the type is constrained; false otherwise.

hod is k~&s$a 7I6x6$0la ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.itypeinfo_mi.htmlhtm$$ Method Index for com.ibm.record.ITypeInfo

Method Index

getConstantValueEditor(IAnyType)
getInitialValueEditor(IAnyType)
getStaticAccessorParmString(IAnyType)
getStaticConstantValueMethod(IAnyType)
getStaticConstantValueParmString(IAnyType)
getStaticGetterMethod(IAnyType)
getStaticGetterMethods(IAnyType)
getStaticInitialValueMethod(IAnyType)
getStaticInitialValueParmString(IAnyType)
getStaticSetterMethod(IAnyType)
getStaticSetterMethods(IAnyType)
getTypeSet()
isTypeSetConstrained()
setTypeSet(ITypeSetInfo[])
setTypeSetConstrained(boolean)
../imag kꬺt$7I6x6$Pk./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.itypesetinfo.htmlhtm$$ com.ibm.record.ITypeSetInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.itypesetinfo_dsc.html#_top_">com.ibm.record.ITypeSetInfo (no frames)</a></b></p> </body> t kGu$7I6x6$"l./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.itypesetinfo_dsc.htmltm$$ Interface com.ibm.record.ITypeSetInfo

Interface com.ibm.record.ITypeSetInfo

public interface ITypeSetInfo

A concrete type implementor who wishes to provide explicit information about a set of related types may provide a TypeSetInfo class that implements this ITypeSetInfo interface.

Typically, the TypeSetInfo class is not used at runtime (while accessing record information). Its primary intended use is to provide assistance to Java development tools manipulating type implementations.

An example of a TypeSetInfo class is one describing all defined COBOL types.


Method Index

getDisplayName()
This method returns the localized display name for described type set.
getShortDescription()
This method returns the localized short description for the type set.
getTypeInfo()
This method returns an array of ITypeInfo corresponding to the concrete types comprising this type set.
setDisplayName(String)
This method sets the localized display name for described type set.
setShortDescription(String)
This method sets the localized short description for the type set.
setTypeInfo(ITypeInfo[])
This method sets an array of ITypeInfo corresponding to the concrete types comprising this type set.

Methods

getDisplayName
 public abstract String getDisplayName()
This method returns the localized display name for described type set.

Returns:
The localized display name.
getShortDescription
 public abstract String getShortDescription()
This method returns the localized short description for the type set.

Returns:
The localized short description.
getTypeInfo
 public abstract ITypeInfo[] getTypeInfo()
This method returns an array of ITypeInfo corresponding to the concrete types comprising this type set.

Returns:
The elements of the type set.
setDisplayName
 public abstract void setDisplayName(String name)
This method sets the localized display name for described type set.

Parameters:
name - The localized display name.
setShortDescription
 public abstract void setShortDescription(String description)
This method sets the localized short description for the type set.

Parameters:
description - The localized short description.
setTypeInfo
 public abstract void setTypeInfo(ITypeInfo types[])
This method sets an array of ITypeInfo corresponding to the concrete types comprising this type set.

Parameters:
types - The elements of the type set.

to Jav k_v$7I6x6$P-l./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.itypesetinfo_mi.htmltm$$ Method Index for com.ibm.record.ITypeSetInfo

Method Index

getDisplayName()
getShortDescription()
getTypeInfo()
setDisplayName(String)
setShortDescription(String)
setTypeInfo(ITypeInfo[])
 kw$7I6x6$P0l./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ivariablelengthcomposedtype.htmlhtml$$ com.ibm.record.IVariableLengthComposedType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ivariablelengthcomposedtype_dsc.html#_top_">com.ibm.record.IVariableLengthComposedType (no frames)</a></b></p> </body> me()"> kx$ 7I6x6$ 3l ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ivariablelengthcomposedtype_dsc.htmltml$$ Interface com.ibm.record.IVariableLengthComposedType

Interface com.ibm.record.IVariableLengthComposedType

public interface IVariableLengthComposedType
extends IAnyComposedType, IVariableLengthType

This interface describes a data type which is composed of one or more simple types. A composed type can be an array, an overlay or union, or a nested record. A composed type has an alignment, and a packing hint, and it knows how to align or pack itself based upon these hints.

The most common packing hints are 1, 2, 4, 8, and 16, where 1 indicates that the data items are packed on a byte boundary, and 16 indicates that the data items are packed on a 16 byte boundary. The alignment hint indicates how the composed type needs to be aligned in memory. If data types are by default packed along boundaries smaller than those specified by the packing hint, they are still aligned along the smaller boundaries.


Method Index

setAlignmentHint(int)
This method sets the alignment hint for the composed type.

Methods

setAlignmentHint
 public abstract void setAlignmentHint(int alignmentHint)
This method sets the alignment hint for the composed type.

Parameters:
alignmentHint - The alignment hint.

 ky$7I6x6$`k./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ivariablelengthcomposedtype_mi.htmltml$$ Method Index for com.ibm.record.IVariableLengthComposedType

Method Index

setAlignmentHint(int)
recor kTz$7I6x6$P9l./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ivariablelengthrecordtype.htmlh$$ com.ibm.record.IVariableLengthRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ivariablelengthrecordtype_dsc.html#_top_">com.ibm.record.IVariableLengthRecordType (no frames)</a></b></p> </body>  k{$ 7I6x6$@l ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ivariablelengthrecordtype_dsc.htmltml$$ Interface com.ibm.record.IVariableLengthRecordType

Interface com.ibm.record.IVariableLengthRecordType

public interface IVariableLengthRecordType
extends IAnyDynamicRecordType, IVariableLengthComposedType

This interface defines the behavior for a dynamic collection of explicit field descriptors. This includes the ability to add, insert and retrieve field descriptors, and to iterate over the field descriptors through an enumerator. It describes the type, or field content, of a record. The size of the record type will return -1 if a size has not been set on it. A negative size indicates that the record type is variable length. If a size is set on the record type it means that its size will be constant, but the length of the fields inside the record type may vary in size.


Method Index

hasFixedSize()
Tests whether the record type has a fixed size or not.
setSize(int)
Sets the size of the variable length record type.

Methods

hasFixedSize
 public abstract boolean hasFixedSize()
Tests whether the record type has a fixed size or not.

Returns:
true if the record type has a fixed size; false otherwise.
setSize
 public abstract void setSize(int size)
Sets the size of the variable length record type.

Parameters:
size - The size of the variable length record type.

fo Method Index for com.ibm.record.IVariableLengthRecordType

Method Index

hasFixedSize()
setSize(int)
ierar kꚡ}$7I6x6$PGl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ivariablelengthtype.html_mi.htm$$ com.ibm.record.IVariableLengthType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.ivariablelengthtype_dsc.html#_top_">com.ibm.record.IVariableLengthType (no frames)</a></b></p> </body> e will k~$7I6x6$@Jl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ivariablelengthtype_dsc.htmlhtm$$ Interface com.ibm.record.IVariableLengthType

Interface com.ibm.record.IVariableLengthType

public interface IVariableLengthType
extends IAnyType

This interface describes a data type used in a record that has a variable length or size. Methods are provided to get and set Java base types on the type.


insid k@f$7L5x6$p?w./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.ivariablelengthtype_mi.htmlhtm$$ Method Index for com.ibm.record.IVariableLengthType  k4$7I6x6$PNl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.nestedrecordfield.htmlh$$ com.ibm.record.NestedRecordField <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.nestedrecordfield_dsc.html#_top_">com.ibm.record.NestedRecordField (no frames)</a></b></p> </body>  l^$?C7I6y6$Ql8*./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.nestedrecordfield_dsc.htmlhtm$$    dert .<>achilmnos "/bfpy=T_uv#(),FIORgjw-:ACNVx 04BEq1DPSU[]kz3589;HJKMW!+27?G|YHjLL݃ {H0kk`-[&B:[z:[kt~+ 0((De\Yd(st} HJ;q8L;%6KvƯ'z%Ӑ@P ( 3"HHRue>Rʼ@Ge1ltCĐoytCĐRvoz$ GnYbHdeYHn,o7` *IZWۖX7.݃P)xƚV$z;y w4t,$-sCv!@Sp li%jI3$$)N9RKwX[›oz,O\(!AlRw=K(-$GTZ3-C+,IA(A"$AcV!BSb0Y XաzJjIZ? 8JrC%8#-Binк݃B(!AlR14-I+Ps⠌K)[%}tfZ:[駨ss3JP.AeI$Z`ݸWۖX(!AlRKu؆/d` nIZ?Wt }_nYbHdeYHtn{ue} <^d(0s۠dotORLPO\َ*u{ڹY_M29|dj!iΓ9PJW CV !I%jh1xᑫt)C4t֨JrC%8#-Dn{ue} <[Bu-ѡi%j\s@BWۖX(!AlR#s۬K([]MnB2ŐoFbJ9MRI4tJ f8dj$ PM=C5ܲĐA*deYEBlCv:,[!Te 0@A\de]n uJ خ`uYB2G?WJ3͖ven}~6#/<s۠do]2u-5ܲĐA*deYEBlCv:,[!Te 0@A\deqZn:!$(s۠dobh6+lPLj}3ek۟_Fz:,[sk~̶8]}4xΒin)-9ʸdj$ PM=C5ܲĐA*deYEBlCvcm8(W-,!Te 0:,I cm8(W--$AewGBG?W{>"}mJ3xռe[|[|̹w?[|sK+n9Z!+,I ⠌K)[%[.7`{F-XաzJhI 4b4!lБj~zs/o茼n{u,[>`h [:Κ _nYbHdeYHn,ou6!ށf!Te 0:,z4[%9MRO23>"1,̹v[|[?[cYHP$JqPF[%--Sbx8}iBdeYH K(+:BCJjIZ T5ľ,jo\o}~"keźYHP$JqPF[%--Sbx8} pz$A#+Mt/[*z3#?7/o_-]4t֨JrC%8#-Dn{ue} <>QX@I iVj~|L"n{u,[Κ _nYbHdeYHn,ou6!s x1oa$)d][xI+P@H5JS]? ʾ|Ednj\~5o}Ѻ.ֺ=2t֨JrC%8#-Dn{ue} <wYsdeYH K(+n ]В;,ݹ 0:,Q`0wGBG?W^UBumlmk~n(ݹ9̶8]|K)5ܲĐA*deYEBlCvd][xdeYH K(+:Bzkb2JlPWtt$s~)e^w"ntv_[-4t֨JrC%8#-Dn{ue} <w[4!Te 0:,WXաzJhI iBI+P@`uYA]ЮPBG?W^U{>K"-ƭ/;/[eźYHP$JqPF[%--Sbxntst~lW(ݹsT95)@%x^LJP+Y\6[%W1yq˝M',,^~GV]>[WIJ!$WK%VY*w(WV>f\:Qk|$UjvWIJ y!$WJrC%8#-Binк݃`J3AxdeYH K(+:B`J3AxI+Wt{ϥ}e!Te!q4[]MnF !@}$siI5J&Ε$F-XաzJhI I+PIJ4b4R:LP )g*R}>ы|JoB#$Κz?WOWtn}mn[%uח }P9b?Rit\/o&I%(sjPM]ŗPxEc~˲P1yhtљIJtUji%WqZY\[[~koȡ @dZ;I,Z.skURFcI%(sjҾܲĐA*d[.7`{F-XաzJhI 4b4wGWۖX(!AlRKu؆/d` nIZ?&TΒi_bHۘC%8#-@`uYA$)$C%(> 7ni$tSQ`0,ݹ%}e!Te!lP݃BI+WdG:I3-C4T)e_/Fdg7n|Ec~Ysnt~?d(ݹXۮ^J[|[nb@IIskURJp!$WdmK)Zz3#0BI)CT טx\2qmomK)Z6W0BI)CT$JqPF[%ou6!ށf!Te 0:,z4wGWۖX(!AlRKu؆/d` nIZ?&TΒi_bH (B١ ⠌K)ewGBHRIZ:JP}iBI%(s̵~`žp҄-CJhBWۖX(!AlRe <^d(0:,|K((sGyˎ\B~$#>$JqPF[%K)ɺQ-nx̻J"lCv0Y K((2k,tV$JqPF[%K)ɺQ0fX5fQSbx8PuY@Dm(aK6 J)%j$̵t9MR~|_BV˖}mo]t~̶8]|K)&(s&WIJ+`R?_-~),MRˎ\xm9n?]%(SrB3$ҾܲĐA*de2Qy7J%`YD]MnF !Aet4 f2PC2,[% !A[5$]z>$JqPF[%ou6!,bh[VI$(sz:WX@S}ti$tSN9Ij駨sqMt/[*z3#?7/o_-]4tjz?]%(:fF`R?\So>Htѷ깂IJt,$2PC2,.&} <>8@I NV=sJrC%8#-Binк݃B14-I+P$Ԓj9M=C+\,I2HRIZ:JP}LR:LP )gJrC%8#-Ct,]MnF !A(-$\>QX@HI&esj5ľesۯerotjz?]%(:fF`R?\So_[|[Z6W0BI)CT$JqPF[%ou6!ފ4 !A2JǮs_nYbHdeYH\M-Sbx8P&&I%jzMR:Is~+!d][x !I%j)M\"r [ZI)C&es3)>2.-żetfZ:i\S]? ʾ|Ednj\~5o}Ѻ.ֺ=2tjz?]%(:fF`R?],ZZId_ߍn[%uW>~\xJEU[x"?]%(4m:`R?]+,I ⠌K) BlCvjkb2HSW0Ȼ\V=sJrC%8#-Binк݃B14-I+P$Ԓj9M=C+\,IۘC%8#-@`uYA\v` tށf$Γ29 {ۘBWۖX(!AlRe <^d(0:,|K((s(ݾQ`ŚhP`ˎ\BG:I3-C4T)e\t.[|[vo}r۟[ccudf߈y_(ݹ(ݱטyrϭ[Γ9MROP֫{y0BI)CTep?lR?\v97(ݾś]0[7n|95Jq˝M"˝t~F,"iʰFhtљIJqM*ȾQs'u7o}wGon^b@֫UJP+}e!Te!q4[]MnۘC%8#-@`uYA\v` ށf$]z>$JqPF[%ou6!,bh[VI$(sz:WX'zkb2(!AlR tކER:LP )g'Wd][xJrC%8#-C,u6!,[%Ve ,ބnHF}+,I ⠌K)lS%tZv eE؆/d`lP*Qy7J!kseYE$A]+,I ⠌K)lS%t23aͺk,t.7`q{#dRɺQq m eRJ9Ij駨sqMt/[*t][ռeulW(ݹsMtYk\uzGo|Y*N2.-żeJC>omY\E߭f[7}y\P9b?Rit\/o&I%(sj,-@+ieYSm\|lW֯G?dtg-@֫ nHF`RWۖX(!AlR2,J#o&D23]( <^d(:,T6nB5ҊIZ?\[3/~muf:!ɺQ@֫ nHF`RWۖX(!AlR2,J#o&Ddf0%u`YD]MnF !Aet1,۠03](sj6X2]ɺQaK6o-@֫UJP+}e!Te!q4[]Mn x1oa ⠌K)ewGBHTC"r [ZIZ}+,I ⠌K) BlCv0Y з[$CORIPI4tp$N4 f2PC2,[% =q@iB !I%j)S (B٩$tS6N;҄-$JqPF[%eYBlCv0Y K)$_- twie(s4 fx ܐWۖX(!AlR2,J#o&D23]( <^d(:,T6nB5ҊIZWۖX(!AlR2,J#o&Ddf0%u`YD]MnF !Aet1,۠03](s29OP5J^U{>K"-ƭ/;/[eźYH1C)4MjJP ^.$95JlWMe sj^\t4{So6.wEmK+WQպ3O} sjƭ/ (Bټj2Z)!IJ_nYbHdeYHd(˰k,t.7`q{#dRɺQ [3, J)%jpO-nx̾mסJ#o&EZ)!IJ_nYbHdeYHd( mՃYfku6!,[% FM҈ dnk,tVW`h˞vJ#o&G~21,ۮQZoMjJPhu\ $MRWۖX(!AlRKu؆;҄-A*dlPWtt+,j=[4$N4 f=\ҾܲĐA*d[.7`q{#LM uJ9I4$tOPJW DEe2PC2,bhLVΒ;Fi$tS6N;Fa _nYbHdeYHrne <^d(0EeXOgҾܲĐA*de}i\eVUYfku6!,[%} 4A{ J)%j$̵t9MR~yo_[~7=lW-Gk,g~5o~Q]pۤtjz?]%( ɂIJ}4~)/ȿ[WIJܐ $t,$2PC2,eYEZihս`YD]MnF !AeB2rb5ҊIZ?\So_*;zlWL,\|=f4@֫UJP+}e!Te!q4[]MniA*d 2HTEe=\ҾܲĐA*d[.7`q{#LM uJ9I4$tOPKqC4op|Dn}x$${b臉 #T臉 !CӸ)3%WH0ܲĐA*deYEHn([y|Tt,$n]S9 u5$]+,I {w47` {)i%j_nYbH[B/ uzTJԒgI;JI;'VSI&5Cst,$!=>DGn:B,>LCTaqdrx$$ P 8$ 0@ I+RI1C$*5C$`q k꼔$7I6y6$0sl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.nestedrecordfield_mi.htmlhtm$$ Method Index for com.ibm.record.NestedRecordField

Constructor Index

NestedRecordField(IAnyDynamicRecordType)
NestedRecordField(IAnyDynamicRecordType, String)

Method Index

checkConstantValue(IRecord, int)
equals(Object)
getBytes(IRecord)
getObject(IRecord, int)
getSize()
getType()
hasInitialValue()
setBytes(IRecord, byte[], int)
setInitialValue(IRecord, int)
setObject(IRecord, int, Object)
setType(IAnyType)

Field Index

fieldKind_
fieldType_
4o k($7I6y6$Pxl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.overlayfield.htmlmi.htm$$ com.ibm.record.OverlayField <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.overlayfield_dsc.html#_top_">com.ibm.record.OverlayField (no frames)</a></b></p> </body> m k^$.7I6y6$l../usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.overlayfield_dsc.htmltm$$ Class com.ibm.record.OverlayField

Class com.ibm.record.OverlayField

java.lang.Object
   |
   +----com.ibm.record.AnyField
           |
           +----com.ibm.record.OverlayField

public class OverlayField
extends AnyField
implements IOverlayField

This class describes a field consisting of several overlayed fields (a "union").


Variable Index

fieldType_

Constructor Index

OverlayField(IOverlayType)
This constructor creates a new instance of an OverlayField with the specified type.
OverlayField(IOverlayType, String)
This constructor creates a new instance of an OverlayField with the specified type and name.
OverlayField(IOverlayType, String, Object)
This constructor creates a new instance of an OverlayField with the specified type, name and inital value.

Method Index

equals(Object)
This method determines if the two overlay fields are equivalent.
getFieldKind()
This method returns the kind of the field.
getObject(IRecord, int)
This method returns the Java object value for the field within the specified record.
getSize()
This method returns the size of the overy field in bytes.
getType()
This method returns the type of the overlay field.
setObject(IRecord, int, Object)
This method sets a Java object value into the field in the specified record.
setType(IAnyType)
This method sets the type of the overlay field.

Variables

fieldType_
 protected IOverlayType fieldType_

Constructors

OverlayField
 public OverlayField(IOverlayType type)
This constructor creates a new instance of an OverlayField with the specified type.

Parameters:
type - The type of the overlay field.
OverlayField
 public OverlayField(IOverlayType type,
                     String name)
This constructor creates a new instance of an OverlayField with the specified type and name.

Parameters:
type - The type of the overlay field.
name - The name of the field.
OverlayField
 public OverlayField(IOverlayType type,
                     String name,
                     Object initialValue)
This constructor creates a new instance of an OverlayField with the specified type, name and inital value.

Parameters:
type - The type of the overlay field.
name - The name of the field.
initialValue - The initial value for the array field.

Methods

equals
 public boolean equals(Object obj)
This method determines if the two overlay fields are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this overlay field is the same as the obj argument; false otherwise.
Overrides:
equals in class AnyField
getFieldKind
 public int getFieldKind()
This method returns the kind of the field.

Returns:
The kind of the field. It will be one of the following values:
  • FIXEDLENGTHFIELD
  • VARIABLELENGTHFIELD
  • VARIABLELENGTHFIELDWITHMAXSIZE
Overrides:
getFieldKind in class AnyField
getObject
 public Object getObject(IRecord record,
                         int parentOffset) throws RecordConversionFailureException, RecordConversionUnsupportedException
This method returns the Java object value for the field within the specified record.

Parameters:
record - The record.
parentOffset - The absolute offset of the record that contains this field.
Returns:
The Java object for the field.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this field.
Overrides:
getObject in class AnyField
getSize
 public int getSize()
This method returns the size of the overy field in bytes.

Returns:
The size of the field.
Overrides:
getSize in class AnyField
getType
 public IAnyType getType()
This method returns the type of the overlay field.

Returns:
The type of the field.
Overrides:
getType in class AnyField
setObject
 public void setObject(IRecord record,
                       int parentOffset,
                       Object value) throws RecordConversionFailureException, RecordConversionUnsupportedException
This method sets a Java object value into the field in the specified record.

Parameters:
record - The record.
parentOffset - The absolute offset of the record that contains this field.
value - The Object value to set.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this field.
Overrides:
setObject in class AnyField
setType
 public void setType(IAnyType type) throws RecordFieldTypeNotValidException
This method sets the type of the overlay field. Any initial or constant value on the field is removed.

Parameters:
type - The type of the field.
Throws: RecordFieldTypeNotValidException
The type being set is not an overlay type.
Overrides:
setType in class AnyField

p_"> ku$7I6y6$@{l./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.overlayfield_mi.htmltm$$ Method Index for com.ibm.record.OverlayField

Constructor Index

OverlayField(IOverlayType)
OverlayField(IOverlayType, String)
OverlayField(IOverlayType, String, Object)

Method Index

equals(Object)
getFieldKind()
getObject(IRecord, int)
getSize()
getType()
setObject(IRecord, int, Object)
setType(IAnyType)

Field Index

fieldType_
/ k|A$7I6x6$Pl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.overlaytype.htmltmltm$$ com.ibm.record.OverlayType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.overlaytype_dsc.html#_top_">com.ibm.record.OverlayType (no frames)</a></b></p> </body> a.lang k$97I6y6$l9./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.overlaytype_dsc.htmltm$$ Class com.ibm.record.OverlayType

Class com.ibm.record.OverlayType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.AnyComposedType
                   |
                   +----com.ibm.record.AnyDynamicRecordType
                           |
                           +----com.ibm.record.AnyFixedLengthRecordType
                                   |
                                   +----com.ibm.record.OverlayType

public abstract class OverlayType
extends AnyFixedLengthRecordType
implements IOverlayType

This interface defines the behavior for a dynamic collection of explicit field descriptors that overlay each other in memory (a "union"). This includes the ability to add, and retrieve field descriptors, and to iterate over the field descriptors through an enumerator. It describes the type, or field content, of an overlay field. When extending this class, the pack() and getSize() methods must be overridden.


Variable Index

size_

Constructor Index

OverlayType()
The default constructor creates an empty instance of an overlay type.
OverlayType(int)
This constructor creates a new instance of an overlay type with the specified packing hint.

Method Index

canConvertFromObject()
This method indicates whether the described type is actually able to convert from a java.lang.Object to its value.
canConvertToObject()
This method indicates whether the described type is actually able to convert its value to java.lang.Object.
equals(Object)
This method determines if the two overlay types are equivalent.
getObject(IRecord, int)
This method returns a Record with a copy of the bytes corresponding to this overlay type within the Record.
getRecordAttributesClass()
This method returns the class which implements the record attributes for the given record type.
getSize()
This method returns the size of the overlay.
pack(int)
This method forces alignment and packing for the overlay type, and sets all the relative offsets in the overlay and any sub records.
setInitialValue(IRecord, int, Object)
This method sets the initial value of the overlay field into the first member of the overlay.
setObject(IRecord, int, Object)
This method overlays the bytes of the specified IRecord object onto the specified record bytes.

Variables

size_
 protected int size_

Constructors

OverlayType
 public OverlayType()
The default constructor creates an empty instance of an overlay type.

OverlayType
 public OverlayType(int packingHint)
This constructor creates a new instance of an overlay type with the specified packing hint.

Parameters:
packingHint - The packing hint of the overlay type.

Methods

canConvertFromObject
 public boolean canConvertFromObject()
This method indicates whether the described type is actually able to convert from a java.lang.Object to its value.

Returns:
true
Overrides:
canConvertFromObject in class AnyType
canConvertToObject
 public boolean canConvertToObject()
This method indicates whether the described type is actually able to convert its value to java.lang.Object.

Returns:
true
Overrides:
canConvertToObject in class AnyType
equals
 public boolean equals(Object obj)
This method determines if the two overlay types are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this overlay type is the same as the obj argument; false otherwise.
Overrides:
equals in class AnyFixedLengthRecordType
getObject
 public Object getObject(IRecord record,
                         int fieldOffset) throws RecordConversionUnsupportedException, RecordConversionFailureException
This method returns a Record with a copy of the bytes corresponding to this overlay type within the Record. There is no data conversion performed.

Parameters:
record - The record.
fieldOffset - The offset in the record bytes of where to retrieve the value.
Returns:
A Record with a copy of the bytes.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this type.
Overrides:
getObject in class AnyFixedLengthRecordType
getRecordAttributesClass
 public abstract Class getRecordAttributesClass()
This method returns the class which implements the record attributes for the given record type.

Returns:
The class which implements the record attributes for the given record type.
Overrides:
getRecordAttributesClass in class AnyFixedLengthRecordType
getSize
 public int getSize()
This method returns the size of the overlay. The overlay size is the size of the largest field in the overlay.

Returns:
The size of the overlay field.
Overrides:
getSize in class AnyDynamicRecordType
pack
 public void pack(int startingOffset)
This method forces alignment and packing for the overlay type, and sets all the relative offsets in the overlay and any sub records. The packing algorithm followed is that for a C language union. The alignment of the union is that of its strictest member. If the data types are packed along boundaries smaller than those specified by the packing hint of the record, they are still aligned along the smaller boundaries. Padding may be inserted at the end of the overlay so that it conforms with the alignment and packing hints.

Parameters:
startingOffset - The offset that the packing is to start from. Some alignment algorithms need to know where in current structure the alignment is starting at.
Overrides:
pack in class AnyDynamicRecordType
setInitialValue
 public void setInitialValue(IRecord record,
                             int fieldOffset,
                             Object initialValue) throws RecordConversionFailureException, RecordConversionUnsupportedException
This method sets the initial value of the overlay field into the first member of the overlay.

Parameters:
record - The record.
fieldOffset - The offset in the record bytes of where to set the value.
initialValue - The initial value object to set.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this type.
Overrides:
setInitialValue in class AnyFixedLengthRecordType
setObject
 public void setObject(IRecord record,
                       int fieldOffset,
                       Object value) throws RecordConversionFailureException, RecordConversionUnsupportedException
This method overlays the bytes of the specified IRecord object onto the specified record bytes. There is no data conversion performed.

Parameters:
record - The record.
fieldOffset - The offset in the record bytes of where to set the value.
value - An IRecord object to overlay onto the record bytes.
Throws: RecordConversionFailureException
A failure is detected during conversion.
Throws: RecordConversionUnsupportedException
The requested conversion is not supported by this type.
Overrides:
setObject in class AnyFixedLengthRecordType

< kA$7I6y6$@l./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.overlaytype_mi.htmltm$$ Method Index for com.ibm.record.OverlayType

Constructor Index

OverlayType()
OverlayType(int)

Method Index

canConvertFromObject()
canConvertToObject()
equals(Object)
getObject(IRecord, int)
getRecordAttributesClass()
getSize()
pack(int)
setInitialValue(IRecord, int, Object)
setObject(IRecord, int, Object)

Field Index

size_
 k$7I6y6$Pl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.paddingtype.htmlmltm$$ com.ibm.record.PaddingType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.paddingtype_dsc.html#_top_">com.ibm.record.PaddingType (no frames)</a></b></p> </body> Class com.ibm.record.PaddingType

Class com.ibm.record.PaddingType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.FixedLengthType
                   |
                   +----com.ibm.record.PaddingType

public class PaddingType
extends FixedLengthType

This class is a concrete type to represent padding within a record.


Constructor Index

PaddingType()
The default constructor creates an empty instance of a padding type.
PaddingType(int)
This constructor creates a padding type with the specified length.

Method Index

equals(Object)
This method determines if the two padding types are equivalent.
getAlignmentHint()
This method returns the alignment hint for the padding type.
getLength()
Returns the length of the padding.
getSize()
This method returns the size of the padding type in bytes.
setLength(int)
Sets the length of the padding.

Constructors

PaddingType
 public PaddingType()
The default constructor creates an empty instance of a padding type.

PaddingType
 public PaddingType(int length) throws IllegalArgumentException
This constructor creates a padding type with the specified length.

Parameters:
length - The length of the padding.
Throws: IllegalArgumentException
The length supplied is a negative number or zero.

Methods

equals
 public boolean equals(Object obj)
This method determines if the two padding types are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this padding type is the same as the obj argument; false otherwise.
Overrides:
equals in class FixedLengthType
getAlignmentHint
 public int getAlignmentHint()
This method returns the alignment hint for the padding type. The alignment hint is always 1.

Returns:
The alignment hint for the padding type.
Overrides:
getAlignmentHint in class FixedLengthType
getLength
 public int getLength()
Returns the length of the padding.

Returns:
The length of the padding.
getSize
 public int getSize()
This method returns the size of the padding type in bytes.

Returns:
The size of the padding type.
Overrides:
getSize in class FixedLengthType
setLength
 public void setLength(int length)
Sets the length of the padding.

Parameters:
length - The length of the padding.
Throws: IllegalArgumentException
The length supplied is a negative number or zero.

< kA$7I6y6$Pl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.paddingtype_mi.htmltm$$ Method Index for com.ibm.record.PaddingType

Constructor Index

PaddingType()
PaddingType(int)

Method Index

equals(Object)
getAlignmentHint()
getLength()
getSize()
setLength(int)
e kF$7I6y6$Pl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.record.htmlmi.h$$ com.ibm.record.Record <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.record_dsc.html#_top_">com.ibm.record.Record (no frames)</a></b></p> </body> > Th lW$VT7I6y6$lW4./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.record_dsc.html$$    deort <>abchins"./flmpu_gy()=AIRTvw #,-:BCOPjx0ELS[]q&14;DFNkz39HMV258?GUW!+7K|YH3mfWvW0D" 8/ A, u.T, 4pxx7mj0uYPm Iu0@i pچřCv6cmtie/#Z( 0At _zb_,Asmxa^@ 00x(:* )qm;XMé~JACr,)UXP @(oб882teXv2Bԃ^!S@,lxhNWeEPX8ݴQF.e02N⓲ĵRUc 0nBm;XMy#K(e%Օ I WJ rwie iKxx I WJ eҗGvP ( )qE$-]+$,eT]Dwie Š)TǮ"1I RHk($$ #V©I"^ KI&ἕ^=e]EVH?җc:y(:H&IU 3)H:WݔHXÎ@I,rC1hv2 X.0!MԐ P@P(,wy#So%Ie)KH:d u\XS-R(:y)!ALv1)waT]CcҾBm;XMߔ1h 0H JHZt%)&)sR5Q,A(Ɉ[#Pƻ)}z+6c"|حW|:/>/_pO_m{4f^| )yyry?EA\E.W/j<']_) ڈW\'E>@Ap.\/j~M  z~}.>^r rm^𚄽psF,UP~O$^o3*5 ^:ؤ+Yt34I!jA ^=l*l&(:HpR)H:gTJ Xac6Gm䉘wieS@&5FRxPq$ƴJHZ2u@t(e>So$|HGvP!$e0^D3*:gTJ Xac6Gm䉘wieUDHkU)!jALʺҾBm;XMy"f-Y@^z:FT/^Kڽ})!jALʺҾBm;XMy"f-Y@Hf=DHmnnD3*:gTJ Xac6Gm䉘wie#|&5FTuyq$ƴJHZ2)H:]K:ݼᰚ!H:d P+$,fc)&bݥHHPJHZB2MJۄw nro:So$t3}D,wy#6DZ; `, c4:y!O|4 AI PK``'So$3wv {H?W|{n5y۔Pm:6]H?ג{]y nGA::WݔHXͲ{ )>So$LţK(Mc4:y!O|4 AI PHhu6C7q7j h'~Ƕ[Kڏ_O|#k]ԃMy/ǰݨ)H:]K:"<6A$8L3}D,wy#6DZ; Y\PB$ \"8?, r*jC)s +4X5ˀ_V$$efp@K ̫ɘ~Y,U/+>W)څg)tΨe3lm䏔1h5  S@`0^RB{@X~ǗZ5"VuMy/ט}AM~W&/}uvI5P+$,fc)&bݥl*]{W |V¨޼zHZB2KQ뀾fY/ˀ}u|O',|r_#P+$,fc)&bݥK0/j!!,w|4 ܥ { )8hu6BTY{QI PH? )exhu6B2ǯ!P}A˭u/yrkj=||5l*So'P4&`M?2_S|w)e.V«xX:gTJ Xac6Gm䉘wie$Hf=D$ [=Xac6G Hf=D(eIM{ ڊHZAhK,CaQ ALʿsۀA.?\eɭ1հ 6I@o@G~So%ǰݨ)%<|7r_|>Rl*7u@t(e>So$|HGvP"@.佫BUAl*]{W$$)3*UGfVh.>y?o/ʑtΨe3lm䏔1hPjʈHAb P)2 5eE$-A )~ǗZ5~mǯ+kUCGA::WݔHXͲ{ )>So$LţK(*0u LkBBPž*4I1I PHRfUui$Ʒyy>|OscSuy?YOWWmrL_vQ!c6,|HM3,@` U{QI PHRfU{]k~V\:/=ߔfTj6GA::WݔHXͲ{ )>So$LţK(*9b {Q BC"  e_V\:/=Dz5y#P+$,fc)&bݥZM{ ڈHPZM{ ڊHZB2]s܄~q7j>MtΨe3lm䏔1h H U𔐵 e_VW'6GA::WݔHXͲ{ )>So$LţK(*:y!̠*:y!̤ e_ֺiu|OfWzSo$t3}D,wy#6DZ;@ B@I PHRfU{]k~VWm{'6{/j#P+$,fc)&bݥZj_@IhHPZj_@IjHZB2]s܄~Lk~ueuOe |#/k1bA::WݔHXͲ{ )>So$LţK(]P?, r*j!,vRfVhkT;P YE؅̬`. |vX~Y,U/+2è~Y,U/+99eurVrL_vQ!c6,|HM3,DkC xPq$ƴ%Сž*4I1I PKH?WUlzc[ɼMyk>So'w|y~:+6y9eu@t(e>So$|HGvP"5{Q `, Q ڊHZX/h 2]s^ï1b/jSo$|HGvP"5 ǰݨ,|H ǰݨ ևSo$3wvmnnB2]s[{ ڏzSo$t3}D,wy#6DZ;Hx(%Xac6G Hx((eF:y!̤So$Mۚ,UPPZСLʼuyq$Ʒ{W I1OWm6{Dt2*4I1I1}u|O5)\<ԠoWSAyAe>GA3bݖ#ZHbWݔHXͲ{ )>So&-53,@mњHZLʸg%o(ܮOq۔}?]_):H&T)H:W,`m䄶,|H ǰݨ{᠞hPI R(:y)!AfR~a) J Xac6G~So%{3,@mnnRB׻aQ|7W LkA(? )]CAēЯ (0Q4tfRtJALʸ{ۄw nv/j=~#y= "wRe5侧wv:&JRWK^,ȂCfU׻aQǰݨ'6xKnkT AB^}kBA3*ē ^k+$Ʒ?]_)LʺxPq$Ʒ{$Ʒyy>|OscR^oYOWWmrΫvXAi!BPf 4њWu|O^=Gx_^&5 ):H&T)H:W,b]s.%H?Z똠!H:W,ẽ̬`. |vXXe.efp@K ,RAfVhkT;PI R2 aOo\?, r*j +4X5ˀ_VrV ̥ 钔pɘ~Y,U/+>W)څg)t̩2RLXzeD2S fY/ˀ>;P}s#)I"eH:H~ .k0/j!,C)$-H:X&e)ž޶Gqm˲pu4D%H:H3)H:d e\=Ϗ.>kk |* $LXr)̫4i$6OW`ŋհ ~뫰I-I!4zƇAIRDʐt%)J]/Uג_p I!jAK@.佫C̥ ̽Oϗl*]{W ̥ 钔pTz/efr*]_)/\H:LR$ _ˠ ڈHAb 8? )e{lmM,TY{QI R2 aOo^!o&`0^BAhK/rX%ҾBm;XMߔ1h 0H JHZSo$)Ie)L̫_mBkZ럮^2zjU|Oi"M, ze5侧R\W&t̩2RLXzeD2Y|^;}uy^펃fUy<_)]qmdTzey4*GAIRDʐt%)J]&`u6C7q7j!!,w|4 ܥ { )8hu6C7q7j!C)$-H:X4aQI R2 aOo^!o&`u6C7q7j! |4 ܥK,(e>So$w6WaQ1h 0H Hf=E$-]{$2R2Ǿ=} ]k~{˓[QcaU(mK0ހdu|J׻aQ]^&S^Kyo,|Uro IALʓ%)Ϋ]mdAi!A3*ܥ\=K/~W?e]{ ǰݨifT$$ "JR, @.佫BRHZtUw%^&e)e7jx}Al*]{W ̥ 钔p" aU eY\ Wm*GAbt%)J]@i*!!,rCPI R*VTRC̥ XSvU.VTBASwH:H3)H:d e\=Ϗ.>kk |*=u}ɏ^W4׈, eIgU׋. {`C{YPm{`BE"o1yCtAզ" I RWKni[Hm+|~So'?]^+.iu ?KniDHm+޺ELXpf>j t( ! 3( X.)&bݥ( 5eD$ R(ps TvǃH&T)H:W,aUSo'XLk{͍O&5y1A5S@/&=ˋڞ ,$/PnTo>[sJ1m!I!4ZpM̡t̩2RLXr)̫xPdLX*)̫}D,wy#p"ܦN2Z;v2C ,{C,I RH&T)H:W,aU{Q I!jA  ڊHbtk {{`gZ $2R2ǗZ럕#ŋO`rMt̩2RLXr)̫C1b/j?\FeF]_):H&T)H:W,aU ڈHPI R(UhrA&e)ž{@XV,D/j!!H:H3)H:d e\:܄zט~^.=P><\n{q^޸ []S/j>XM}pzb)뫰^G7{ MOlj{ewaT]Co#-xȑuC |} '^ט(̨5neC|u{^M4H'?WKniBAsJֺiS](t̩2RLXr)̫C1b/j?\\{*[]_) ?KniP4Cni]_`,B*Z:H&T)H:W,aU ǰݨ bVSo$3wv&e)žޕe3lmJq7j"f-Y@;f A ǰݨHf=D$)Ie)Lֺ̫iuun}y#1H?Rd tAզ" I RWuun}y#)I"eH:H~ .ZMfPHPI R(Uhu6CřI!AfR~a)dw_vQ!c6,|Hm(LţK('l#(4:y!̤qUe ̥ 钔p><\7!,O_m䎃 eIgUV-$1H?e\=y?E^MD2$IJAҿAc h$(e$K* x 3)H?0;nx)6BtfRtJALʸ{]k~VWm{'6{/j#1H?Rd tAզ" I RWuxײ~So$t%)$LIRteX«@^k(I1 I!jA yq$Ƶ$1H:LR5=* ēА$2R2ǗZ럕#c[+6{(SwP~{]y:&JRWKZnB }u{$"MG{]y:H&T)H:W,lBfVhkT;P ,Ac2E\ %څ`PI R+(~Y,U/+C̥ XS- Y\PB$efp@K S $2R2E؅G̬`. |vY/뫔B:LRfT)H?u],P=xk" I RW)څgpW3,UrV}]P?"JRHR$ _ˠZS@&5/ bZS@&5!AfR~a) )]CAēЗ}LkB,F<4R FP "3_pAAJA%)3*Ulzc[ɼMyk>So'w|y~:+6y9e{$Ʒ_)]eSo$|Kn}D ښZ;v2 VEB&eԁњHZtfRtJALʸ{]k|kcQ]~er_EOYF{y#1H?Rd tA-$1]+$,fc)ۀd_p%o(ܪZ;v2 VEnPm$̫rVn7] Ⱦ:WKCҾBm;XMy-VEaL2jh"3_p1h 0HH6!YaR[Fk !jA3*Qڞۀd_py=/]_):H&T)H:W,hև,D/j!,C)$-H:Xև,D/j)!AfR~a)X0^BX/k^@0)Ie)L̫F6ׯj=pXd ڏ~6G=Ϗ.(?^ y̬& _6-1b^ADw=ڄƧ_fWyfE6?oB(?iW*T>WM{QzSo%FeFs*OW`ŋM~T~ut`$ҹuuTWj*t&)3*L:(Yu)̫^x+u,_&6GAIRDʐt%)J]mnnB[e>So$pmnnBRHZtQHf=E$1H:LR5=B>5 ǰݨ}D,wy#){ ڈGvP NقFPhu6C7q7j)!jǰݨ}vXxiEP.@Ef2JRfU]s[{ ڏzSo$t&)3*L:(Yu)̫wv\=׻aQOWm1bpօgU,F pҊK(3]C@h}̫q7kYu&aOKniP4Cni@y L2jP~]_)Y:H&T)H:W,hևSo$/>?_`ŋm^뾺So$^&5Pٰ"ji/_\Sc[}u|H|y}Ϸ7+$Ʒ|/z&]]eSo$wie a|4!j_vQ!cnU, )qw/i!j_vQ!c,RA.1}D˨,Q\>xV)!jI-e$jU)$K:LRWݔHXÎ@EP;Vۆ4e%ƅ89-b$@S[L87eC,` 8p  e$$$2Zt, 8 kd)$7I6y6$m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.record_mi.html$$ Method Index for com.ibm.record.Record

Constructor Index

Record()
Record(byte[], IRecordAttributes, int, int)
Record(IRecordAttributes, int, int)

Method Index

addPropertyChangeListener(PropertyChangeListener)
checkBytes(byte[])
disableNotification()
enableNotification()
equals(Object)
getAlignmentOffset()
getBytes()
getRawBytes()
getRecordAttributes()
getRecordKind()
getRecordType()
getSize()
getStartingOffset()
removePropertyChangeListener(PropertyChangeListener)
setAlignmentOffset(int)
setBytes(byte[])
setInitialValues()
setRawBytes(byte[])
setRecordAttributes(IRecordAttributes)
setRecordType(IRecordType)
setStartingOffset(int)
dumpBytes(PrintStream, IRecord)
dumpRecordAttributes(PrintStream, IRecordAttributes)

Field Index

alignmentOffset_
bytes_
changes_
notificationOn_
recordAttributes_
startingOffset_
 k$7I6y6$@m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordarraybasetypenotvalidexception.htmlordtyp$$ com.ibm.record.RecordArrayBaseTypeNotValidException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.recordarraybasetypenotvalidexception_dsc.html#_top_">com.ibm.record.RecordArrayBaseTypeNotValidException (no frames)</a></b></p> </body>  ke$)7I6y6$ m)./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordarraybasetypenotvalidexception_dsc.htmlyp$$ Class com.ibm.record.RecordArrayBaseTypeNotValidException

Class com.ibm.record.RecordArrayBaseTypeNotValidException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.record.RecordException
                                   |
                                   +----com.ibm.record.RecordArrayBaseTypeNotValidException

public class RecordArrayBaseTypeNotValidException
extends RecordException

This exception is thrown to indicate that a specified array base type is not valid to be set on the specified array type.


Constructor Index

RecordArrayBaseTypeNotValidException()
Constructs a RecordArrayBaseTypeNotValidException with no detail message.
RecordArrayBaseTypeNotValidException(String)
Constructs a RecordArrayBaseTypeNotValidException with the specified detail message.

Constructors

RecordArrayBaseTypeNotValidException
 public RecordArrayBaseTypeNotValidException()
Constructs a RecordArrayBaseTypeNotValidException with no detail message.

RecordArrayBaseTypeNotValidException
 public RecordArrayBaseTypeNotValidException(String s)
Constructs a RecordArrayBaseTypeNotValidException with the specified detail message.

Parameters:
s - The detail message.

2 k>a$ 7I6y6$`>l ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordarraybasetypenotvalidexception_mi.htmlyp$$ Method Index for com.ibm.record.RecordArrayBaseTypeNotValidException

Constructor Index

RecordArrayBaseTypeNotValidException()
RecordArrayBaseTypeNotValidException(String)
/div> kb$7I6y6$@m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordconversionfailureexception.htmli.$$ com.ibm.record.RecordConversionFailureException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.recordconversionfailureexception_dsc.html#_top_">com.ibm.record.RecordConversionFailureException (no frames)</a></b></p> </body>  k $7I6y6$m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordconversionfailureexception_dsc.htmlmlyp$$ Class com.ibm.record.RecordConversionFailureException

Class com.ibm.record.RecordConversionFailureException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.record.RecordException
                                   |
                                   +----com.ibm.record.RecordConversionFailureException

public class RecordConversionFailureException
extends RecordException

This exception is thrown to indicate that a failure occurs during data conversion of a data type.


Constructor Index

RecordConversionFailureException()
Constructs a RecordConversionFailureException with no detail message.
RecordConversionFailureException(String)
Constructs a RecordConversionFailureException with the specified detail message.

Constructors

RecordConversionFailureException
 public RecordConversionFailureException()
Constructs a RecordConversionFailureException with no detail message.

RecordConversionFailureException
 public RecordConversionFailureException(String s)
Constructs a RecordConversionFailureException with the specified detail message.

Parameters:
s - The detail message.

get k$7I6y6$`l./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordconversionfailureexception_mi.htmlmlyp$$ Method Index for com.ibm.record.RecordConversionFailureException

Constructor Index

RecordConversionFailureException()
RecordConversionFailureException(String)
> k$7I6y6$@ m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordconversionunsupportedexception.htmlmlyp$$ com.ibm.record.RecordConversionUnsupportedException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.recordconversionunsupportedexception_dsc.html#_top_">com.ibm.record.RecordConversionUnsupportedException (no frames)</a></b></p> </body> r kJ$ 7I6y6$$m ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordconversionunsupportedexception_dsc.htmlyp$$ Class com.ibm.record.RecordConversionUnsupportedException

Class com.ibm.record.RecordConversionUnsupportedException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.record.RecordException
                                   |
                                   +----com.ibm.record.RecordConversionUnsupportedException

public class RecordConversionUnsupportedException
extends RecordException

This exception is thrown to indicate that a data conversion is not supported for a data type.


Constructor Index

RecordConversionUnsupportedException()
Constructs a RecordConversionUnsupportedException with no detail message.
RecordConversionUnsupportedException(String)
Constructs a RecordConversionUnsupportedException with the specified detail message.

Constructors

RecordConversionUnsupportedException
 public RecordConversionUnsupportedException()
Constructs a RecordConversionUnsupportedException with no detail message.

RecordConversionUnsupportedException
 public RecordConversionUnsupportedException(String s)
Constructs a RecordConversionUnsupportedException with the specified detail message.

Parameters:
s - The detail message.

a>< ka$ 7I6y6$`,m ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordconversionunsupportedexception_mi.htmlyp$$ Method Index for com.ibm.record.RecordConversionUnsupportedException

Constructor Index

RecordConversionUnsupportedException()
RecordConversionUnsupportedException(String)
/div> k:$7I6y6$P.m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordexception.htmlpor$$ com.ibm.record.RecordException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.recordexception_dsc.html#_top_">com.ibm.record.RecordException (no frames)</a></b></p> </body> bm k6$# 7I6y6$1m# ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordexception_dsc.htmledexcep$$ Class com.ibm.record.RecordException

Class com.ibm.record.RecordException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.record.RecordException

public class RecordException
extends RuntimeException

This class is a base for exceptions thrown by record I/O objects.


Constructor Index

RecordException()
Constructs a RecordException with no detail message.
RecordException(String)
Constructs a RecordException with the specified detail message.

Constructors

RecordException
 public RecordException()
Constructs a RecordException with no detail message.

RecordException
 public RecordException(String s)
Constructs a RecordException with the specified detail message.

Parameters:
s - The detail message.

VJava kT$x7I6y6$`8mx./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordexception_mi.html$$ Method Index for com.ibm.record.RecordException

Constructor Index

RecordException()
RecordException(String)
 k@$7I6y6$@:m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldnamealreadyexistsexception.htmllyp$$ com.ibm.record.RecordFieldNameAlreadyExistsException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.recordfieldnamealreadyexistsexception_dsc.html#_top_">com.ibm.record.RecordFieldNameAlreadyExistsException (no frames)</a></b></p> </body> /a>  k $7I6y6$@m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldnamealreadyexistsexception_dsc.htmlp$$ Class com.ibm.record.RecordFieldNameAlreadyExistsException

Class com.ibm.record.RecordFieldNameAlreadyExistsException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.record.RecordException
                                   |
                                   +----com.ibm.record.RecordFieldNameAlreadyExistsException

public class RecordFieldNameAlreadyExistsException
extends RecordException

This exception is thrown to indicate that a specified field name already exists in a record.


Constructor Index

RecordFieldNameAlreadyExistsException()
Constructs a RecordFieldAlreadyExistsException with no detail message.
RecordFieldNameAlreadyExistsException(String)
Constructs a RecordFieldAlreadyExistsException with the specified detail message.

Constructors

RecordFieldNameAlreadyExistsException
 public RecordFieldNameAlreadyExistsException()
Constructs a RecordFieldAlreadyExistsException with no detail message.

RecordFieldNameAlreadyExistsException
 public RecordFieldNameAlreadyExistsException(String s)
Constructs a RecordFieldAlreadyExistsException with the specified detail message.

Parameters:
s - The detail message.

m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldnamealreadyexistsexception_mi.htmlp$$ Method Index for com.ibm.record.RecordFieldNameAlreadyExistsException

Constructor Index

RecordFieldNameAlreadyExistsException()
RecordFieldNameAlreadyExistsException(String)
com.ibm.record.RecordFieldNameNotSetException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.recordfieldnamenotsetexception_dsc.html#_top_">com.ibm.record.RecordFieldNameNotSetException (no frames)</a></b></p> </body>  k$7I6y6$Km./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldnamenotsetexception_dsc.html$$ Class com.ibm.record.RecordFieldNameNotSetException

Class com.ibm.record.RecordFieldNameNotSetException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.record.RecordException
                                   |
                                   +----com.ibm.record.RecordFieldNameNotSetException

public class RecordFieldNameNotSetException
extends RecordException

This exception is thrown to indicate that a field being added to a type does not have a name set.


Constructor Index

RecordFieldNameNotSetException()
Constructs a RecordFieldNameNotSetException with no detail message.
RecordFieldNameNotSetException(String)
Constructs a RecordFieldNameNotSetException with the specified detail message.

Constructors

RecordFieldNameNotSetException
 public RecordFieldNameNotSetException()
Constructs a RecordFieldNameNotSetException with no detail message.

RecordFieldNameNotSetException
 public RecordFieldNameNotSetException(String s)
Constructs a RecordFieldNameNotSetException with the specified detail message.

Parameters:
s - The detail message.

= k/$7I6y6$`Sm./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldnamenotsetexception_mi.html$$ Method Index for com.ibm.record.RecordFieldNameNotSetException

Constructor Index

RecordFieldNameNotSetException()
RecordFieldNameNotSetException(String)
>< k6$7I6y6$PUm./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldnotfoundexception.htmlhtml$$ com.ibm.record.RecordFieldNotFoundException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.recordfieldnotfoundexception_dsc.html#_top_">com.ibm.record.RecordFieldNotFoundException (no frames)</a></b></p> </body>  ko$T7I6y6$XmT./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldnotfoundexception_dsc.html$$ Class com.ibm.record.RecordFieldNotFoundException

Class com.ibm.record.RecordFieldNotFoundException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.record.RecordException
                                   |
                                   +----com.ibm.record.RecordFieldNotFoundException

public class RecordFieldNotFoundException
extends RecordException

This exception is thrown to indicate that a specified field name does not exist in a record.


Constructor Index

RecordFieldNotFoundException()
Constructs a RecordFieldNotFoundException with no detail message.
RecordFieldNotFoundException(String)
Constructs a RecordFieldNotFoundException with the specified detail message.

Constructors

RecordFieldNotFoundException
 public RecordFieldNotFoundException()
Constructs a RecordFieldNotFoundException with no detail message.

RecordFieldNotFoundException
 public RecordFieldNotFoundException(String s)
Constructs a RecordFieldNotFoundException with the specified detail message.

Parameters:
s - The detail message.

TH=" ko$7I6y6$``m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldnotfoundexception_mi.html$$ Method Index for com.ibm.record.RecordFieldNotFoundException

Constructor Index

RecordFieldNotFoundException()
RecordFieldNotFoundException(String)
/a> com.ibm.record.RecordFieldTypeNotValidException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.recordfieldtypenotvalidexception_dsc.html#_top_">com.ibm.record.RecordFieldTypeNotValidException (no frames)</a></b></p> </body> com.i k\$7I6y6$fm./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldtypenotvalidexception_dsc.htmltmlp$$ Class com.ibm.record.RecordFieldTypeNotValidException

Class com.ibm.record.RecordFieldTypeNotValidException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----java.lang.RuntimeException
                           |
                           +----com.ibm.record.RecordException
                                   |
                                   +----com.ibm.record.RecordFieldTypeNotValidException

public class RecordFieldTypeNotValidException
extends RecordException

This exception is thrown to indicate that a specified field type is not valid to be set on the specified field.


Constructor Index

RecordFieldTypeNotValidException()
Constructs a RecordFieldTypeNotValidException with no detail message.
RecordFieldTypeNotValidException(String)
Constructs a RecordFieldTypeNotValidException with the specified detail message.

Constructors

RecordFieldTypeNotValidException
 public RecordFieldTypeNotValidException()
Constructs a RecordFieldTypeNotValidException with no detail message.

RecordFieldTypeNotValidException
 public RecordFieldTypeNotValidException(String s)
Constructs a RecordFieldTypeNotValidException with the specified detail message.

Parameters:
s - The detail message.

/ngib kn$7I6y6$`nm./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.recordfieldtypenotvalidexception_mi.htmltmlp$$ Method Index for com.ibm.record.RecordFieldTypeNotValidException

Constructor Index

RecordFieldTypeNotValidException()
RecordFieldTypeNotValidException(String)
> kꄃ$7I6y6$Ppm./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.rowmajorarraytype.htmle$$ com.ibm.record.RowMajorArrayType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.rowmajorarraytype_dsc.html#_top_">com.ibm.record.RowMajorArrayType (no frames)</a></b></p> </body>  l$7I6y6$m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.rowmajorarraytype_dsc.htmlption$$   deiort<>achns .bflmpuy",/T_gvx#()=AEIORw-:BCFj JSU[]qDLPYkz0HMNV14G3+589;WX|!2?7H [5N7f80APӍ̧,BI nj!-‰!'NgHH,Gee :L2D( !'Nt4hPv˴ -Gee#d~nhnƯ:O0@!DI0 .^rൎ\[=j)`080/ (P Q$'kMGVYQg(:`Ţ-+kMBE6W $p,k,P( #$@0BWܳ$@ͳRE-Df6yw8 vI4$@M=q" B#Ӹ)/9flHg0$C,⨳erwZ:StD(;g')j_nI"7&JnhM[j)t$ 4^StD((x$սZWے`HktƈPQUIGY="y4$V’+qDZ͕$TPA$%&[HH,-GN!D$սqTYd X.+1hD$2ݪH HI*$$(d((ոiVX.Y!)p0ͳP-cQp҃K5"H $ 0 JrL 8,Yy-'{ nh0ͳS,⨳eE|RI$_nI"gEVK/ (|DaMӍx eUqY,T>`ˆE|RI$_nI"gEVK/ (|Y5d=7N4f)qTYd P .|RI$̳+%Pu*wYDZ'$$Q*$I TI5\ 6ja ]VbE?Ljt?}&eUqY,ˆYgoO8agUM}`Z'E-DcU͓!qTYd -DaMӍx Z">R)j$TIO5o{2^'Aţ̩6=I~rΦ|^A_l^Ӿzǧ|H,y̼9{͠<[ט^Q$py a{l[pcI#><:]y< g@z2' 6Nh@&AG:l. |8@G:m qJvI =D!+Y"FQk|DKQ$~rHLjT$ +%VXy/1h'{ nh0 440!@ :E-Db!1RܓD2*8^AYa,xţ#!)q,,`PppP@0(88(RI!\+0$C,⨳erwZ:2› @A@B 0(88(RI!\+0$C,⨳erwZ:2› tnx :\[>q$u-%BcT}&eUqY,X.yGQ>FCStA<V Z">AAa ]VbKP=;@( ?LBe3o;2Wzsnd3yG'$pl,*c.}[Q$&5@*Wے`HYQg+,<ud=7N4:`Ţ-H'*8^AA0eu>B(:`Ţ-"zv P \7Z- ?LBe3o;2Wzsnd3yG'$pl,*c.}[HLjT$ +%VXy/1h'{ nh0u*wYDZ'=;@(Oh@XxxE|RN$ I!_m?+[92}ţ8}k~{ϖQ1⎗>筀"7BcT}&eUqY,X.yGQ>FCStA<V Z">AB};DYQg(0C,nZ'@XxxE|RN$ '| ֋D$Ŷn~ ̕쿭ޜ[>w^bI>[=(ʘGKV筀"7z~|I RZEG :ێ䐑M"!0j!1RܓD2*8^AYa,xţ#!)qY@f- GKV烂9e (4\B)5Ţ(sZK4 ?LB:u'P?g.}[ηuuGC #eNwlZ%BcT}&eUqY,X.yGQ>FCStAmç4pi`fSMt悲 ,,ԊZ #+m[qL^{g[9^̢>|[5j=e?l;-ç7w_r5nPi`fZ9f%BcT}&eUqY,X.yGQ>FCStAmç4] h8@1nۇNh ,,ԊZ #+m[qL^{g[9^̢>|[5j=e?l;-ç7ֿYOൎYFJ ,,҉!1RܓD2*8^AYa,xţ#!)qlmջ@f 쳊+%P`tvൎYFJ ,,Ё ce n~5 H0:Yy};Dr$-l[v5 >YFTǧ}lc\I#1hl6Nkטy&b67g ?VuG:uMϭŢQ$&5@*Wے`HYQg+,<ud=7N4@kk[X.Y Z 5 hA$~~-tnN[͡:]^}l!.HZ?Q>J$ƨJrL 8,Yye]|ƃ Z 쳊+%P`tvൎYFJ B΅f-Z'ӴO ?LB:u'P?~|'Kw^b,rD_nI"gEVK/ ^bO8aE|PB">R)j$ŶΝm1z>Z?Q>J$ƨJrL 8,Yye]|ƃ ]+p;,⨳e,>};B(l"[)j ^@N>bӭ:9|X͕YOeKϷE8o$eLwӆ>(sܳzDg^b'ֶI[=(ʘ,!1RܓD2*8^AYa,xţ#!)qgAf8,YyK/ OhN$ enH0:Yy};Dv PA$~~-tn>N_9|enjyNI#eS E.}[o^bZ?Q>DӉ#geS%Q$&5@*Wے`HYQg+,<ud=7N4l!vYQg(0:Yy};DvPB;)K/ OhNЂH1 [i|C,rh5 y [$|pg.}[o^bZ?Q>DӉ#geS%Q$&5@*Wے`HYQg+,<ud=7N4l!vYQg(0:Yy};Dv P@ #KP8`tv@H1 [i|C,rh5 y [$|r>71htHf}l-"x}kiđ|(+0$C,⨳erwZ:2› 6t;,⨳e,>};B(l%ĊZ'ӴOhA$~~-tn>N_9}^q5 y [$|pg.}[o^bZ?Q>DӉ#geS%Q$&5@*Wے`HYQg+,<ud=7N4l%vYQg(0:Yy};Dv P@ xKP8`tv@H1 [i|C,rjyNI#eS E.}[o^bZ?Q>DӉ#geS%Q$&5@*Wے`HYQg+,<ud=7N4lϫs(lϫs)j$ŶΝm1GKV:6ؽw}a$}l-%BcT}&eUqY,X.yGQ>FCStA΀K@dqTYd ^@N>6tZ)K/ OhNЂH1 [i|C,rZzO<>H>YFTeI P !qTYd 9`-DaMӍ:-͐vYQg(0:Yy};Dv P@ fE-@'Ӵ  #+m[qu s hl5 y [$|r>71htHf}l-"x}kiđ|(+0$C,⨳erwZ:2› 6t,:]zvPгdvcR)jhA$~~-tn>Nϳ |}lӆ>(sܳz$pOy2<'K|W:~~7لטB $ƨJrL 8,Yye]|ƃ 6Nhi>t};@(Oh@ 6Nhi>u"zv@>bӭ:9[tH'Ӵ vPгdvcR)jh @>bӭ:9[M[$ט~|I P !qTYd 9`-DaMӍ: 6נ쳊+%P`tvmzKP8`tv$ŶΝm12/mx嚄^dtSH>YFT}8i⎗>71htHf}l-"x}kiđ|(+0$C,⨳erwZ:2› 6tmAgEVK/ e A6tmR)j ^@N>HI!_m?:ۏce_0^5 y [$|r>71htHf}l-"x}kiđ|(+0$C,⨳erwZ:2› 6t18,YyK/ OhNЁ :H0:Yy};DvGWONc,'%ۢ7lGy2;MtnYyGӢG3g1hD[N$eL|^AD_nI"gEVK/ ^bO8avYQg(0:Yy};Dv P@ vR,>};@( ?LB:u'P?N9f=/>od;ϖQ1@ݠ4Qչf-NϭţOm8>{ϖQ1YyBcT}&eUqY,X.yGQ>FCStA΀[pvYQg(0:Yy};DvP nKP8`tv$ŶΝm12/n,'%ۢ7lGy2;MtnYyGӢG3g1hD[N$eL|^AD_nI"gEVK/ ^bO8a4qTYd ^@N>H!Cg@-jE-@'Ӵ  #+m[qu s ۆ5 y [$|r>71htHf}l-"x}kiđ|(+0$C,⨳erwZ:2› 6t4\AgEVK/ e 嚑KP8`tvGWONlvO^bu-fpry$pv,i~xrN۾~|p4<'Kٟ[=yD HLjT$ +%VXy/1h'{ nh0reUqY,'ӴOh@ ,,ԊZ'ӴOhA$~~-tn>N_9~7YOeKϷE8o$eLwӆ>(sܳzDg^b'ֶI[=(ʘ,!1RܓD2*8^AYa,xţ#!)qgCK4qTYd ^@N>H!CgCK5"pe Abӭ:9|X,,9f=/>od;ϖQ1@ݠ4Qչf-NϭţOm8>{ϖQ1YyBcT}&eUqY,X.yGQ>FCStA΀vYQg(0:Yy};DvPKP8`tv$ŶΝm12/,'%ۢ7lGy2;MtnYyGӢG3g1hD[N$eL|^AD_nI"gEVK/ ^bO8a;o4qTYd ^@N>H!Cg@vjE-@'Ӵ  #+m[qu s m5 y [$|r>71htHf}l-"x}kiđ|(+0$C,⨳erwZ:2› 6t 6t)GWONl f}l->GeBcT}&eUqY,X.yGQ>FCStA΀쳊+%P`tv>8jE-@'Ӵ ?LB:u'P?p9f=/>od;ϖQ1NlϫrZ>?ٟ[=yG'ȞZq$}l,*c $ƨJrL 8,Yye]|ƃ )AgEVK/ e A6tܧ H0:Yy};Dv PA$~~-tn>N_9}rB{/2^})~$w,*c@hϫrZ>?ٟ[=yG'ȞZq$}l,*c $ƨJrL 8,Yye]|ƃzvQ`Hbӭ^2_m qtsN̼Z?Q>J$ƨJrL 8,Yye]|ƃ>t+1h*8^AA'9e (4\DZ,VM[!O Z)K/ OhX.Yx$սbӭy28 Z>:]a$u1h*M!1RܓD2*8^AYa,xţ#!)qϝ--qTYd P .!O--"pUh!bӭ-o Dg^bQ$&5@*Wے`HYQg+,<ud=7N4󠋳eneUqY,'ӴOh]ٲSAfܑKP8`tv˻6VH1 [iwο]ٲq5 H>YFT}8i⎗>71htHf}l-"x}kiđ|(+0$C,⨳erwZ:2› Eٲ*8^AA'Ӵ ͕ B:6VZ'ӴOh ݛ+pA$~~-tn;_e_.[嚄v$w,*c@hϫrZ>?ٟ[=yG'ȞZq$}l,*c $ƨJrL 8,Yye]|ƃ>t;,⨳e,>};D΂H0:Yy};Dv売I!_m?:ێcGgYOmlGy2;MtnYyGӢG3g1hD[N$eL|^AD_nI"gEVK/ ^bO8g΂eUqY,'ӴOh 売!O#KP8`tv@YFT9vGKVט}:$>zO<>H>YFTeI P !qTYd 9`-DaMӍ|%vYQg(0:Yy};Dvj B: j"pe 'H1 [iwοƯ8嚄v$w,*c4GKVט}:$>zO<>H>YFTeI P !qTYd 9`-DaMӍ|%vYQg(0:Yy};Dv PƯ)󠖯)j ^@N>H'H1 [iwοƯ8嚄v$w,*c@hϫrZ>?ٟ[=yG'ȞZq$}l,*c $ƨJrL 8,Yye]|ƃ>tQչ@ |ϫs)jhGWONu[>(sGYn>$ţHLjT$ +%VXy/1h'{ nh3@%Y8,YyK/ OhN>-͐ | 6R)j ^@N>|Z!bӭ_9~-͞9f>I(ʘ 6|Qչf-NϭţOm8>{ϖQ1YyBcT}&eUqY,X.yGQ>FCStA:-͐vYQg(0:Yy};Dv Pf@>tZ)K/ OhN$ ,$ŶΝm| hl5 H>YFT9vGKVט}:$>zO<>H>YFTeI P !qTYd 9`-DaMӍ|(^*8^AA'ӴO0^SAF"pe 'mB #+m[q:,rYOmlGy2;MtnYyGӢG3g1hD[N$eL|^AD_nI"gEVK/ ^bO8g΂;,⨳e,>};@(O0^SAF"pe By ?LB:u2/mx嚄v$w,*c@hϫrZ>?ٟ[=yG'ȞZq$}l,*c $ƨJrL 8,Yye]|ƃ>t1մ@f 쳊+%P`tvൎYFJ ,,Ё |cif:BR)j ^@N<4\B #+m[q:N,'eSe_r$ţ[>Mf}l-eIسM um,YH8A$s[q[?Q>~et[:]Z!BcT}&eUqY,X.yGQ>FCStA:eUqY,'ӴOhNЁ |c"pe 'Ӵ ?LB:u2/ӶFq5 H>YFT}8i⎗>71htHf}l-"x}kiđ|(+0$C,⨳erwZ:2› h;,⨳e,>};@(Oh@>t1ڑKP8`tv@>bӭ_9~6sYOmlGy29:\,޼ţ#ט~|Gy2>K/ HLjT$ +%VXy/1h'{ nh3@-h;,⨳e,>};DmB)5"pe 'nI!_m?:ێcͷ j[$|pg.}[o^bZ?Q>DӉ#geS%Q$&5@*Wے`HYQg+,<ud=7N44qTYd ^@N>H'n!OK/ OhN$ ͷ $ŶΝm| ۆ5 H>YFT9vGKVט}:$>zO<>H>YFTeI P !qTYd 9`-DaMӍ|i`f*8^AA'ӴOr5nPi`fSCK5"pe ' hA$~~-tn;_e_rj[$|pg.}[o^bZ?Q>DӉ#geS%Q$&5@*Wے`HYQg+,<ud=7N4󡥂8,YyK/ OhN$ k[X.YrH0:Yy};Dv PX.Ybӭ_9~7YOmlGy29:\,޼ţ#ט~|Gy2>K/ HLjT$ +%VXy/1h'{ nh3CK4qTYd ^@N<(ոiA!O ,,ԊZ'ӴO ,,ЂH1 [iwοgeS4\zml6Nk#ٟ[=yGRlpv,i~{CK4#:ۏnIo:s|l.f}l-!1RܓD2*8^AYa,xţ#!)qϝy쳊+%P`tv΀ԊZ'ӴOhhA$~~-tn;_e_{o7YOmlGy2;MtnYyGӢG3g1hD[N$eL|^AD_nI"gEVK/ ^bO8g΀vYQg(0:Yy};Dv Ph@>tmR,>};@(O{o4 ?LB:u2/,'ӶI#eS E.}[o^bZ?Q>DӉ#geS%Q$&5@*Wے`HYQg+,<ud=7N4>8h;,⨳e,>};DZ,Vr5"pe 'bӭ_9}rB};od;ϖQ1NlϫrZ>?ٟ[=yG'ȞZq$}l,*c $ƨJrL 8,Yye]|ƃ>tܧ eUqY,'ӴOh ൎYFJ)B)>8jE-@'Ӵ r4 ?LB:u2/r7YOmlGy29:\,޼ţ#ט~|Gy2>K/ HH5D, 9yK,x$RI n)-"#^R6^I (!" [Z' HZ[Z'Ċ-DTIlJrL 8,YyQ>`pn|ƃ <`| ֋DHȴOG䨒!"">!IBKTQչ(BOQ$sY(sHI ~J!+Y 4E  KQ$$`HA@"Q$$G?/e1߫g2};xh  !"Q$%}:BDC@(XP  KQ$$C@(XP  Z!'䨒9{,َ^9,(rHHTI _rΐ,,`PppPZ!%Ņ  Z!'䨒9{,َ^9XXI ~J!+Y A8$RI -@ (BOQ$sYs)7ӷ@(8`PppP$?%D, @@ )"HIj@   Z!'䨒9{,َ^9 hc9$$Q*$gHHP 0(88(RE-D Bt-DTIl~ir ,`PppP$?%D, q HZXE~J#͘3NY0  䐑G䨒!"(h`PppPZ!%0Ft-DTIl~ir4 0(88(BEHJt48X!IBKPt-DTIl~ir8 !"Q$%}:BDÃ8$RI -@8(E~J#͘3NY!"Q$%}:BD2Z!-%Q$~ ?qm!"EBWܳ$@u*wYDZ'ȅ$RI _rΐf-h KQ$$XxxE|Qj$Hf8u*wYDZ'8A$$Q*$$-bw+[~չηG^bQ$$BEA$gHHUOzv P@$RI -Af-h)Z!'䨒9m3XxxE|ӷ.}[AG䨒?LB-Ayْӟs'ٝnZ?Q>I#ַgeS(s!'?LB?1-@xgHIxϫsf-fzv_.p߭tny$u:6ؽw}g^bW>L2YfGϐ- eט{2Wn@ϫs&(s$`PQE$Q*$* RED(* Q$%}:BDXxxE|Ӵ vRE-Da ]VbE~J#f8u*wYDZ'=;|QչH$?o=l NЂHHTI TI!\[i ͼ^չηu-$[|tnxG=lὴ(z#)0j#:vqt-DW:\?Vbgl?% GKVG[mڷw f}l-%~-%Za$}lС6]yG%{V#{$T- :\< 0( b>@EREH+poplj|F7gh:C\tI#y[E8ory_m?YObtTOY5KG"I !"<V Z">AB};DYQg(0C,nZ'@$RI -Af-h)Z!'䨒9m3XxxE|ӷ.}[BI#vNI}&eUqY,0lnQ>FCStAm0BT>`ˆE|R[Z'G凿}&eUqY,Yy Z%.j${$p{ nh0ͳPt!oh z6,{$rE-DG䨒?LB-Ayْӟs'ٝnZ?Q>I#ַgeS(s<SӴO[O!'?LB?1-@xgHIxϫsf-fzv_.p߭tny$u:6ؽw}g^bW>L2YfGϐ- eט{2Wn@ϫs&(s$`PQE$Q*$LB` Jv7 v9f=(i~yvxY5K9Sw-嚄-NeDlC\t{iQ$b[Z'qm Dg^bl.הItmx"WJrL 8,YydK[Q>]z9fHIV8agef-B">@m@XIVZ#-['ϧ^6Z߭-%G"I !"<V Z">AB{,⨳e \7Z- B)j$UO-DTI 6ì<V Z">A⎗>@$Wے`HYQg*ˆud=7N4f(0C,nZ'E-\E|}nX{Wے`HYQg+%ŢZ:6GOڷ ƃ <`K/ +1hנjDzOڷ$RI ~J!0j#+m?+[92}ţ8}k~{ϖQ1⎗>trQ$$GR`G5]%/tZ#tnpţN8~KN⎗>$GYn>Z?Q>J[gɆK7{HClzfJGոI'[Z'tnx`P.}[ (?%DW-oh< Ŷ|/Wٟ[=yGɲt^Q$cUZ,=t-]+0$C,⨳e^b-oDuQ#'[CStAm0BA |DkYc'[)j$LB-o>{,ڏ˞8}k~ט~|ITQ$$THJt:uZ!-%Q$~y$$S@HJtbbd+1hJ:\<(ոiA!IBKSk5{!YDQչZ!'䨒9{,ُN$ Y@f- GKV烆 o^b$?%D5DbŶΝm1GKV3x]n/ţH2/`fӺ#g:DI!ITIt YӳQj$LBpww^bg9~5G5]%:u sZ#-⎗>g^bzvμŢQ$~Pj*!DPj!+Y!p&:sAYg h8@$RI -L[6Ӛ 84\R(BOQ$s,g.[Mt悲 ,,pHHTI TI!\[iztS}l(>AfYf$pek[X.YoֿYIDI!ITIt1Qj$LBYq*BR)Hƫʉx"Q$bҾܓD2*8^AKr:2› Ÿn9K4 Bmç4pi`fR݆_nI"gEVK/ DaMӍx r">R)j$* RED(* Q$%}:BD1nۇNh ,,p HZmç4] jEHI*$zLݛ+wb vX.YG䨒?LBӭ/e=/fQsQ>}?5͟Iӛ_,'Z,V iDI!ITIt1Qj$LBYq*BR)Hƫʉx"Q$bҾܓD2*8^AKr:2› Ÿn94\A)p&:sEi`fR݆_nI"gEVK/ DaMӍx r">R)j$* RED(* Q$%}:BD1 ?Vu*8^AA'9e (4\B)"HIjce n~5 HI ?%D@ienlmջ@f _nI"gEVK/ e ƃ <`K/!"Iv*M |H oeh$ (B`GWXn~,'eSe_r$ţ[:]g^bT4p߭@&[jI{wO_V6No>zADI!ITIt YӳQj$LBK/#eIs*M |qmfN,Z;/gll-^k$LB-ջ@f< Ŷ{-ջx嚄,,߷`7#ţe#l-zNr|Y@&zIyG־M3ob˞iyhou5x6pŶz$szw~ѦL.~K5nϭHƫNx"Q$bˉVLz3g[YO_.đˉQ5L{Hƫʉx"Q$bҾܓD2*8^AFPeu2› @&[j8,YyK/ Oh Xj4r6X6ݠPZ;ս+0$C,⨳ee6\7[#!)q6!@0eu>R)j$* RED(* Q$%}:BDHx8-cQp҃K4 B)j$YHI ?%D@ien^X.YBEHLH1 ON>~^b Z9f˴HI$$LjKP^,ǁ(G!^7&NK>7ַ߷g#:9t-DWK.%[JE2Uϭ->޳[>hbHeĨŚH\JgQ$cUZGNeDE?1 _nI"gEVK/ (|Y5d=7N4@kk[X.Y Z 5zwa{Wے`HYQg(0lnqDaMӍx P .|RITQ$$THJt:m qJvRE-D6t(HI ?%D@ilQ5K)I ~J!0j#+m?:ۏchkom;y[=fK:O O6vӷٞ~|I =Db5DWIjC:EH+lC\t{iϭŢQ$cUZGNeDE?1 _nI"gEVK/ (|Y5d=7N4lQ5K)!CgB:] NԊZ;ս+0$C,⨳ee6\7Z8|Ƣ|ƃ <`| ւl>R)j$* RED(* Q$%}:BD Z 쳊+%P`tvൎYFJ B)j$YE"Q$$G=ͦprgB:Wے`HYQg*Yy!)q6!AHG;y&i>tI$M[gnhOJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـ _nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKQ$$Q*$$-tn>NYl6Nkţ|X-#pc\}?<7Zb߿od;/2YyG'@w1BOQ$~& Q$cUZ2gN<E?1 ,?%Q$b̩6L1 Ŷ}c};g9hٜ=IyGW#8tE|7[C'ϳ>z:8HƫNx"Q$bŶ|'Kw^bTo2/1hItmx"WJrL 8,Yydn85 ?j2› 3l,Mt ]HXIVZ#]OlDŽ27:qn(?1-Bۖ:E!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j$LBЗet׽}rO#TQ $TI _rΐgA |DZ!%l!oh)Z!'䨒9m3}&eUqY,0lnQ>FCStAm0BT>`ˆE|R΂I ~J!0j#+m?:ۏc[Q>}ט~|I =Db5DWIjC:EH+l_Of}l-%G"I !"΂.͕qTYd ^@N>H!IBKPEٲ$Qj$HY]ٲqenJrL 8,YyVK/ d=7N4f(0:Yy |^@HӷRlcDG< >,=+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)jҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-BxVb tH44ExXIVHHTI TI!\[i|C,rwf,'%ۢ7lGy29:\,޼ţ#ט~|Gy2>K/ HI$$LjKP^,ǁ(G!_%[g $LB&i>wϳ |}l^G-3r~I#1h^Q$b#l7h tnYyGӢGIt1Qj$LB9|enjyNz$ztHf}l-%G5]%[rHҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"H+sF'e1 }[$LjKP凼E}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZ#-@%1n8zuzy~Hƫ nX{ZVb tH44ExXIVH+l,*cӢGoH>ջG-yf}l-#TQ $TI _rΐgAf8,YyK/ OhNЁ HZ΂.͕"Q$$G=ͦr͕]+p:Wے`HYQg*Yy!)q6!AHGʓ`4:$?[!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5  _nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn>N_9|enjyNI#eSϊ:\,޼ţ#ט~|Gy2>K/ HI$$LjKP^,ǁ(G!_%[g $LB&i>wϳ |}l^G-3r~I#1h^Q$b#lӆ>(sܳzD(?1-AӨcHIqm,rwf,'%ۢ7l-HZ?Q>J$LjKP凼E}&eUqY,Yy }[]LdnaMӍx ^@&:qn.C$,{$rE-DW .C'N6cNn8Itmx"WJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـG!\[ghKc:qn>f9hm?'DWIjܰ(pŢhiAđW>YFTǧD.O"}7%{9w$ Z 7leuZ%G"I !"΂eUqY,'ӴOhRE-D6tEHI*$zL壳΂JrL 8,YyVK/ d=7N4f(0:Yy |^@HNeIaI#(#rҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"=+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$R'f-D CCLZdn$?%D5DbŶΝm12/P̗np߷I(ʘ n(sܳzDg^b'ֶI[=(ʘ,!'?LB?1-@xgHI|^Gqm(?1 T>1Yyv_$ţ߫yDWDn-@ݠ4Qչf-NQ$cUZP<E?1 <XjyNz$ztHf}l-%G5]%[rHҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"H+sF'e1 }[$LjKP凼E}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZ#-@%1n8zuzy~Hƫ nX{ZVb tH44ExXIVH+l,*cӢGoH>ջG-yf}l-#TQ $TI _rΐgA샲*8^AA'Ӵ B)j$vR(BOQ$s,g-6t:Wے`HYQg*Yy!)q6!AHGv*M |HNNa_nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKP!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j³cG-CDzOڷBEHLH1 ONcGgYOeKϷE8o$eLwӆ>(sܳzDg^b'ֶI[=(ʘ,!'?LB?1-@xgHI|^Gqm(?1 T>1Yyv_$ţ߫yDWDn-NlϫrZ>J$LjKP凼E}&eUqY,Yy }[]LdnaMӍx ^@&:qn.C$,{$rE-DW .C'N6cNn8Itmx"WJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـG!\[ghKc:qn>f9hm?'DWIjܰ(pŢhiAđW>YFTǧD.O"}7%{9w$ Z 7leuZ%G"I !"΂ZeUqY,'ӴOhRE-D6tEHI*$zLjx!qTYd ^@{ nh0ͳP`t)j,$ʓ`4:$?ӷӢG PG凿}&eUqY,Yy }[]LdnaMӍx ^@&:qn.C$,{$rE-BzWے`HYQg+%pչ=ϼى?j2› 3l,Mt9}dnHO Z! ?jI ~J!0j#+m?:ۏce_cWrB{/2^})~$w,*c@hϫrZ>?ٟ[=yG'ȞZq$}l,*c $H1 LHƫeΝx"Q$bYy Ŷ~K/ H+Rlcxl0wer8{g'd:~5G!^?9vGKVט}:$yDWIjC:EH+lcP̗np߷טI#ӢG3g1hD(?1-Bۖ:E!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5 G!\+5 O;,ُe8oetQ$cUZ,=t-]+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$RIqm/َpջ{<͘%G5]%[rH³cG-CDzOڷG!\[geS?t}?Fhtܕ֭KQ$$ xE~J#f;gA-^}&eUqY,%2› 3l,ZK/ I$o2 0Ή$[!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5  _nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn>N_9}^q5 y [$|pg.}[o^bZ?Q>DӉ#geS%Q$$GR`G5]%/tZ#n-YyG!\ʓ`4;[gن>wӾ~K/#9?[$ט{y(?1 Ŷ{MtnYyGӢGIt1Qj$LB9}^q5 y [=yD=:$>zO#-aQj_nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKQ$b¹P͘S[N>G5]%[rHҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-DW Z}[?ϼَZ?[OQ$cUZ,=t-\+1h:$xj`"t<,{$q$bŶ{ϖQ1#jKjHy}?^}j #[zDEAHBEA$gHH>Z!%lϫs(BOQ$s,ghq>$?%D5DbŶΝm1GKV:6ؽw}a$}l-%BOQ$~& Q$cUZP<E?1 >(sGYn>Z?Q>J$* RED(* Q$%}:BD f;,⨳e,>};@( B)j$,HI ?%D@i-͞6tZ _nI"gEVK/ e ƃ <`K/!"Iʓ`4:$?;}:$x}nX{Wے`HYQg+%pոѨdIV8agemçVR2BDzOڷ$R'}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZŢhiAĐG䨒?LBӭ:9|X 6x嚄^dtSH>YFT9vGKVט}:$>zO<>H>YFTeI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB:$qmr>71htH#:9t-DW2/ŠY,'%ۢ7l-HZ?Q>J$LjKP凼E}&eUqY,Yy }[]LdnaMӍx ^@&:qn.C$,{$rE-DW .C'N6cNn8Itmx"WJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـG!\[ghKc:qn>f9hm?'DWIjܰ(pŢhiAđW>YFTǧD.O"}7%{9w$ Z 7leuZ%G"I !"΀K@dqTYd ^@N>KQ$$ fEHI*$zLhl,JrL 8,YyVK/ d=7N4f(0:Yy |^@HT$#>,=+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)jҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-BxVb tH44ExXIVHHTI TI!\[i|C,rZzO<>H>YFTeI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB:$qmpg.}[o^bG5]%:u sZ#-e_@gYOeKϷE8oZ$#ט~|Itmx"WJrL 8,Yydn85 ?j2› 3l,Mt ]HXIVZ#]OlDŽ27:qn(?1-Bۖ:E!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j$LBЗet׽}rO#-aQjYD1#Pc'[#-|N׃P:]#W:D[nJsVxI@oˆ}טJ$* RED(* Q$%}:BD 6Nhi>tH!IBKPгdvcR(BOQ$s,go:l. |=;}:$x}nX{Vb tH44ExXIVHHTI TI!\[i|CfN n(sܳz$pOy2<'K|W:~~7لטB $H1 LHƫeΝx"Q$b#l7h tnYyGӢGIt1Qj$LBϳ |>{ϖQ1ט|'KHƫ nX{ZVb tH44ExXIVH+l,*cӢGoH>ջG-yf}l-#TQ $TI _rΐgB͓ah @>KQ$$ 6Nhi>u"Q$$G=ͦw΅'K4:NNBI#ט@%.}[BI#:]=ܰŢhiAĐG䨒?LBӭ:9[zOa^0>|hP.޼ţْwnGI*t.}[1GKV )"Q$b:]=n-@&}ţ:]G5]%:u sZ#-;ϭeLu-&(?1-Bۖ:EC<5 0h:=~ո?1 =(ʘx55{COg>n Aflnٟ[=yDH"$TB!"BWܳ$@гdvcA!IBKPгdvcR(BOQ$s,go:l. |=;}:$xG凿f-D CCLZdn$?%D5DbŶΝm1aﭞpg.}[o^b$>YFTǓdvWjO0>zADI!ITIt YӳQj$LB:$qmpg.}[o^bG5]%:u sZ#-;ϭeLu-&(?1-Bۖ:EC<5 0h:=~ո?1 =(ʘx55{COg>n Aflnٟ[=yDH"$TB!"BWܳ$@гdvcA'Ӵ vRE-D6t,:]Ԋ-DTI 6߫go:l. |=;}:$xHv- GKV PHv6Nh@&B>,=+1h:$xj`"t<,{$q$$Q*$$-tn>N-fN 6|Qչf-H휟eLy6Nky&ht^o #g1hI =Db5DWIjŝ;8:EH+ӢG7 6|Qչf-NQ$bט@%.}[+1h3ӶF?䟒vӆlϫs#i[ϳ>zOa^0>|hP.޼ţْwnGI*t.}[1GKV )"Q$b:]=n-@&}ţ:]G5]%:u sZ#-;ϭeLu-&(?1-Bۖ:EC<5 0h:=~ո?1 =(ʘx55{COg>n Aflnٟ[=yDH"$TB!"BWܳ$@гdvd B)j$fEHI*$zLgB͓ pHHTI TI!\[i|C3ηu-&ﭒHZ?Q>J$H1 LHƫNx"Q$bŶ{ϳ:ט|'KH"$TB!"BWܳ$@QeUqY,'ӴOhRE-D6tmR(BOQ$s,g0^񳠣mz!qTYd ^@{ nh0ͳP`t)j,$v*M |H;}:$x}nX{Wے`HYQg+%pոѨdIV8agemçVR2BDzOڷ$R'}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZŢhiAĐG䨒?LBӭ:9|X P̗np߷I(ʘ n(sܳzDg^b'ֶI[=(ʘ,!'?LB?1-@xgHI|^Gqm(?1 T>1Yyv_$ţ߫yDWDn-@ݠ4Qչf-NQ$cUZP<E?1 <X P̗np߷טI#ӢG3g1hD(?1-Bۖ:E!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5 G!\+5 O;,ُe8oetQ$cUZ,=t-]+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$RIqm/َpջ{<͘%G5]%[rH³cG-CDzOڷG!\[geS?t}?Fhtܕ֭K/ HI$$LjKP^,ǁ(G!_%[g $LB&i>wϳ |}l^G-3r~I#1h^Q$b#lӆ>(sܳzD(?1-AӨcHIqm,rYOeKϷE8oZ$#ט~|Itmx"WJrL 8,Yydn85 ?j2› 3l,Mt ]HXIVZ#]OlDŽ27:qn(?1-Bۖ:E!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j$LBЗet׽}rO#-aQjYD1#Pc'[#-|N׃P:]#W:D[nJsVxI@oˆ}טJ$* RED(* Q$%}:BD v*8^AA'Ӵ )"HIj:HI ?%D@ilc+0$C,⨳eY,8age$RYyI#NeIaIvtH$ ܰ$ +%VK/!ӏqPɑ!)q6!AۇN>ѨddnHOJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـ YD1#Pc'[!"Q$& Q$~qm[qu s jyNI#eS E.}[o^bZ?Q>DӉ#geS%Q$$GR`G5]%/tZ#n-YyG!\ʓ`4;[gن>wӾ~K/#9?[$ט{y(?1 Ŷy:\,޼ţ#$LjKPt(G!\[gN9f=/>og1hGDg^bQ$cUZ,=t-]+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)j$LBW1tj>vYppոHƫ nX{ZWے`HYQg+%pչ=ϼى?j2› 3l,Mt9}dnH?1 ?$ B_ӏw^y1GiQ>J$LjKP凼Ef-D CCLZdn$LBy2=:$^ @vt^=o+ϭ[$yYog.g^b(?H5IHH5D, 6t18,YyK/ OhNЁ HZΆ;R(BOQ$s,go:JrL 8,YyVK/ d=7N4f(0:Yy |^@HӷRlcDG<#rҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"=+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$R'f-D CCLZdn$?%D5DbŶΝm12/ӷYOeKϷE8o$eLwӆ>(sܳzDg^b'ֶI[=(ʘ,!'?LB?1-@xgHI|^Gqm(?1 T>1Yyv_$ţ߫yDWDn-NlϫrZ>.C&GOڷ ƃ <`K/ n8F=~չ"H+sF'e1 }[$LjKP凼E}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZ#-@%1n8zuzy~Hƫ nX{ZVb tH44ExXIVH+l,*cӢGoH>ջG-yf}l-#TQ $TI _rΐg@-h;,⨳e,>};@( B)j$5"Q$$G=ͦsmx n!qTYd ^@{ nh0ͳP`t)j,$ʓ`4:$?ӷӢG PG凿}&eUqY,Yy }[]LdnaMӍx ^@&:qn.C$,{$rE-BzWے`HYQg+%pչ=ϼى?j2› 3l,Mt9}dnHO Z! ?jI ~J!0j#+m?:ۏce_67YOeKϷE8o$eLs7h tnYyGӢG3g1hD[N$eL|^ADI!ITIt YӳQj$LBK/#eIs*M |qmfN,Z;/gllG^b漢H+ӢG7 n(sܳzD(?1-AӨcHIqm,rrB{/2^})~^b$NϭţHƫ nX{ZWے`HYQg+%pոѨdIV8agemçVR2BDzOڷ$RIpb2}?ftI$oDܰ$ +%VK/!ӏqPɑ!)q6!AۇN>ѨddnHOJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـ YD1#Pc'[!"Q$& Q$~qm[qu s ۆ5 y [$|pg.}[o^bZ?Q>DӉ#geS%Q$$GR`G5]%/tZ#n-YyG!\ʓ`4;[gن>wӾ~K/#9?[$ט{y(?1 Ŷ{MtnYyGӢGIt1Qj$LB9|p9f=/>og1hGDg^bQ$cUZ,=t-]+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)j$LBW1tj>vYppոHƫ nX{ZWے`HYQg+%pչ=ϼى?j2› 3l,Mt9}dnH?1 ?$ B_ӏw^y1GiQ>J$LjKP凼Ef-D CCLZdn$LBy2=:$^ @vt^=o+ϭ[$yYog.g^b(?H5IHH5D, 6t4\AgEVK/ e Z!%li`fQj$HYX.Yli`f}&eUqY,%2› 3l,ZK/ I$v*M |G凿}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZ$ +%VK/!ӏqPɑ!)q6!AۇN>ѨddnH(B`GW:u'P?g˶zO1h3 k#fNΆ h8G:u[No:]Z!~-tn=?Y}4pHgB8G:unzpN᥂S [H쳏KZ'DI!ITIt YӳQj$LBK/#eIs*M |qmfN,Z;/gllG^b漢HƫNx"Q$bŶ|k'1hyGٜ4\^Q$cUZ,=t-]+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)j$LBW1tj>vYppոHƫ nX{ZWے`HYQg+%pչ=ϼى?j2› 3l,Mt9}dnH?1 ?$ B_ӏw^y1GiQ>J$LjKPh̨(G!]+0$C,⨳ee6\7[#!)qgCK4qTYd ^@NЁ :X.Yzwa{Wے`HYQg(0lnQ>FCStAm0BT>`ˆE|RITQ$$THJt:X.Y쳊+%P`tv@ HZΆ jEHI*$zL᥂Ά h:Wے`HYQg*Yy!)q6!AHGo2 0Ή$NNA[!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5  _nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn>N_9~7YOeKϷE8o$eLs7h tnYyGӢG3g1hD[N$eL|^ADI!ITIt YӳQj$LBK/#eIs*M |qmfN,Z;/gllG^b漢H+ӢG7 n(sܳzD(?1-AӨcHIqm,r oP̗np߷טI#ӢG3g1hD(?1-Bۖ:E!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5 G!\+5 O;,ُe8oetQ$cUZ,=t-]+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$RIqm/َpջ{<͘%G5]%[rH³cG-CDzOڷG!\[geS?t}?Fhtܕ֭f${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn>N_9~7YOeKϷE8o$eLwӆ>(sܳzDg^b'ֶI[=(ʘ,!'?LB?1-@xgHI|^Gqm(?1 T>1Yyv_$ţ߫yDWDn-NlϫrZ>1Yyv_$ţ߫yDWDn-@ݠ4Qչf-NQ$cUZP<E?1 <Xx嚄^dtSŢI?ٟ[=yG'DWIjܰ(t$ +%VK/!ӏqPɑ!)q6!AۇN>ѨddnH?1 \ѨdfxC){-çV#-aQj_nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"H+l- ~v[N>ޟ{ށl-D(?1-Bۖ:EC<5 0h:=~ո?1 =(ʘx55{COg>n Aflnٟ[=yDH"$TB!"BWܳ$@8,YyK/ OhNЁ HZ΀Ԋ-DTI 6g@vh:Wے`HYQg*Yy!)q6!AHG̩6L1I#[!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5  _nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn>N_9}9f=/>od;ϖQ1NlϫrZ>?ٟ[=yG'ȞZq$}l,*c $H1 LHƫeΝx"Q$bYy Ŷ~K/ H+Rlcxl0wer8{g'd:~5G!^?}8i⎗>71htH#:9t-DW2/,'%ۢ7l-HZ?Q>J$LjKP凼E}&eUqY,Yy }[]LdnaMӍx ^@&:qn.C$,{$rE-DW .C'N6cNn8Itmx"WJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـG!\[ghKc:qn>f9hm?'DWIjܰ(pŢhiAđW>YFTǧD.O"}7%{9w$ Z 7leuZ%G"I !"΀d B)j$=HI ?%D@il@&A !"Q$& Q$~qm[qu s{ϳ>zON売!'?LB?1-AӨcHIqm3ϭţܴv^Q$cUZGNeDE?1 _nI"gEVK/ (|Y5d=7N4l@&A(l@&R)jV$ +%Q>`pk,2› 3l \7Z DH?H5IHH5D, 6tܧ eUqY,'ӴOhRE-D6tܧ HI ?%D@iܧ g@}pt$ +%UdCStAm0BKWe $NeIaI< >,=+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)jҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-BxVb tH44ExXIVHHTI TI!\[i|C,r)x嚄^dtSH>YFT9vGKVט}:$>zO<>H>YFTeI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB:$qmr>71htH#:9t-DW2/P̗np߷טI#ӢG3g1hD(?1-Bۖ:E!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5 G!\+5 O;,ُe8oetQ$cUZ,=t-]+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$RIqm/َpջ{<͘%G5]%[rH³cG-CDzOڷG!\[geS?t}?Fhtܕ֭8jEHI*$zL>8o:S}&eUqY,%2› 3l,ZK/ I$v*M |H[!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5  _nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn>N_9}rB{/2^})~$w,*c4GKVט}:$>zO<>H>YFTeI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB:$qmpg.}[o^bG5]%:u sZ#-e_~8oP̗np߷טI#ӢG3g1hD(?1-Bۖ:E!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5 G!\+5 O;,ُe8oetQ$cUZ,=t-]+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$RIqm/َpջ{<͘%G5]%[rH³cG-CDzOڷG!\[geS?t}?Fhtܕ֭Z=@&}IyGnbbf $H1 LHƫeΝx"Q$b߫ͧ 07a=lᾟy̳$m q4mkNt}a=݈fKqj$m q^m8o^ItәQ/Qj$LBWے`HYQg(0lnqDaMӍ=lKWv}&eUqY,ˆYgoO8agUM}`Z'E-DEAHBEA$gHH΅f-vYQg(0:Yy};DZ,V h Xj4I{)"HIj|VbHI ?%D@iuw΅f-t$ +%UdCStAm0BKWe $ʓ`4:$?rj$?I{,a_nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKP!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j$?%D5DbŶΝm|{ϖQ1e_^b& #yGRlI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB嚄72/1h҉#8tE|7[C'ϳ>x Z%G5]%[rHҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"H+sF'e1 }[$LjKP凼E}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZ#-@%1n8zuzy~H"$TB!"BWܳ$CA |DeUqY,T>`ˆE|RE-DB">R(BOQ$s,gu󠅾E|}&eUqY,0lnQ>FCStAm0BT>`ˆE|R[Z'G凿}&eUqY,Yy Z%.j${$p{ nh0ͳPt!oh z6,{$rE-DG䨒?LBӭ-o Dg^bQ$$GR`G5]%/tZ#Z">xl_O#-aQj_nI"gEVK/ ^Bk|'˯G,ډ?j2› 3l,Ţ[Z'^:ͨ ?jܑKQ$bŶyk|D9f}\1[ţH"$TB!"BWܳ$CAf8,YyK/ OhN$ ˻6V HZ:6V-DTI 6]G|"[ҾܓD2*8^AUaMӍx ^BE-_%$?̩6L1I#< Gwf,$#rҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"=+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$R'f-D CCLZdn$?%D5DbŶΝm| ݛ+wPN$eLs7h tnYyGӢG3g1hD[N$eL|^ADI!ITIt YӳQj$LBK/#eIs*M |qmfN,Z;/gllG^b漢H+ӢG7 n(sܳzD(?1 jܻenf9hm?'DWIjܰ(pŢhiAđW>YFTǧD.O"}7%{9w$ Z 7leuZ%G"I !":6VvYQg(0:Yy};Dvݛ+p@$RI -O]+rEHI*$zL㮣tvl_nI"gEVK/ e ƃ <`K/!"IT$NN$?˻6V9f![!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5  _nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn;_e_.[嚄v$w,*c4GKVט}:$>zO<>H>YFTeI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB:$qmpg.}[o^bG!\rBxl͕YO(?1-Bۖ:E!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5 G!\+5 O;,ُe8oetQ$cUZ,=t-]+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$RIqm/َpջ{<͘%G5]%[rH³cG-CDzOڷG!\[geS?t}?Fhtܕ֭tEHI*$zL㮣t:Wے`HYQg*Yy!)q6!AHGv*M |HNNBI#h5 ܰ$ +%VK/!ӏqPɑ!)q6!AۇN>ѨddnHOJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـ YD1#Pc'[!"Q$& Q$~qm[q:,rh5 H>YFT9vGKVט}:$>zO<>H>YFTeI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB:$qmr>71htH#9f< Ŷyh5 }G5]%[rHҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"H+sF'e1 }[$LjKP凼E}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZ#-@%1n8zuzy~Hƫ nX{ZVb tH44ExXIVH+l,*cӢGoH>ջG-yf}l-#TQ $TI _rΐ#8,YyK/ OhNf${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn;_e_-9f>I(ʘ 6|Qչf-NϭţOm8>{ϖQ1YyBOQ$~& Q$cUZ2gN<E?1 ,?%Q$b̩6L1 Ŷ}c};g9hٜ=IyGW#N[g4GKVט}:$yDWPG5]%[rHҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-DW Z}[?ϼَZ?[OQ$cUZ,=t-\+1h:$xj`"t<,{$q$bŶ{ϖQ1#jKjHy}?^}j #[zDEAHBEA$gHH΂ZeUqY,'ӴOh j B)j$΂ZHI ?%D@iuw΂ZJrL 8,YyVK/ d=7N4f(0:Yy |^@HNeIaI#(I$cWrBB>,=+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)jҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-BxVb tH44ExXIVHHTI TI!\[iwοƯ8嚄v$w,*c@hϫrZ>?ٟ[=yG'ȞZq$}l,*c $H1 LHƫeΝx"Q$bYy Ŷ~K/ H+Rlcxl0wer8{g'd:~5G!^?9vGKVט}:$yDWPjl5y,'ΔItmx"WJrL 8,Yydn85 ?j2› 3l,Mt ]HXIVZ#]OlDŽ27:qn(?1-Bۖ:E!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j$LBЗet׽}rO#-aQjYD1#Pc'[#-|N׃P:]#W:D[nJsVxI@oˆ}טJ$* RED(* Q$%}:BD>t;,⨳e,>};D5x!IBKSA-^$Qj$HY:;A-^}&eUqY,%2› 3l,ZK/ I$o2 0Ή$I#ja_nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKP!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j³cG-CDzOڷBEHLH1 ONu|X5y,'ӶI#eSϊ:\,޼ţ#ט~|Gy2>K/ HI$$LjKP^,ǁ(G!_%[g $LB&i>wϳ |}l^G-3r~I#1h^Q$b#lӆ>(sܳzD(?1 j[g9f?otHƫ nX{ZWے`HYQg+%pոѨdIV8agemçVR2BDzOڷ$RIpb2}?fhRE-D GKVQj$HY:;@%.}[NtnxBEHLH1 ONu[>(sGYn>$ţHI$$LjKP^,ǁ(G!^(sYGٞ6q$˶7g.}[InM/j@&}ט~|ϓ ojل B,v-̕[?%p:OS?ȴO&(s$( :\< QI~J#TQ $TI _rΐf;,⨳e,>};@(O@d B)j$΀K@e"Q$$G=ͦqQ:-͐t$ +%UdCStAm0BKWe $ӷRlcDG#(I$-͞9f![!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5  _nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn;_e_@gYOmlGy29:\,޼ţ#ט~|Gy2>K/ HI$$LjKP^,ǁ(G!_%[g $LB&i>wϳ |}l^G-3r~I#1h^Q$b#l7h tnYyGӢGIq5 n-,jJ$LjKP凼E}&eUqY,Yy }[]LdnaMӍx ^@&:qn.C$,{$rE-DW .C'N6cNn8Itmx"WJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـG!\[ghKc:qn>f9hm?'DWIjܰ(pŢhiAđW>YFTǧD.O"}7%{9w$ Z 7leuZ%G"I !":-͐vYQg(0:Yy};DvhlRE-D hlQj$HY:;@%Y!qTYd ^@{ nh0ͳP`t)j,$v*M |H;}:$xHZ,=+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)jҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-BxVb tH44ExXIVHHTI TI!\[iwοfPN$eLwӆ>(sܳzDg^b'ֶI[=(ʘ,!'?LB?1-@xgHI|^Gqm(?1 T>1Yyv_$ţ߫yDWDn-NlϫrZ>vYppոHƫ nX{ZWے`HYQg+%pչ=ϼى?j2› 3l,Mt9}dnH?1 ?$ B_ӏw^y1GiQ>J$LjKP凼Ef-D CCLZdn$LBy2=:$^ @vt^=o+ϭ[$yYog.g^b(?H5IHH5D, QeUqY,'ӴOh kЁ HZ: 6שZ!'䨒9m3QJrL 8,YyVK/ d=7N4f(0:Yy |^@H̩6L1I#oD@$mx嚄}nX{Wے`HYQg+%pոѨdIV8agemçVR2BDzOڷ$R'}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZŢhiAĐG䨒?LBӭ_9|m{,'ӶI#eS E.}[o^bZ?Q>DӉ#geS%Q$$GR`G5]%/tZ#n-YyG!\ʓ`4;[gن>wӾ~K/#9?[$ט{y(?1 Ŷy:\,޼ţ#$LB嚄7k9f?otHƫ nX{ZWے`HYQg+%pոѨdIV8agemçVR2BDzOڷ$RIpb2}?ftI$I#0^5 ܰ$ +%VK/!ӏqPɑ!)q6!AۇN>ѨddnHOJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـ YD1#Pc'[!"Q$& Q$~qm[q:,rYOmlGy2;MtnYyGӢG3g1hD[N$eL|^ADI!ITIt YӳQj$LBK/#eIs*M |qmfN,Z;/gllG^b漢H+ӢG7 6|Qչf-NQ$b,'0^5 }G5]%[rHҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"H+sF'e1 }[$LjKP凼E}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZ#-@%1n8zuzy~Hƫ nX{ZVb tH44ExXIVH+l,*cӢGoH>ջG-yf}l-#TQ $TI _rΐ um,YH;,⨳e,>x-cQp҃K4 B)j$Ά:h%"Q$$G=ͦqQ:YPt$ +%UdCStAm0BKWe $T$4\}:h$#rҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"=+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$RI ~J!0j#+m?:ێlum,9f=(ʘﭞ,r i$u-Nl.3g1h*MŚm8o|cif:BA #:ۏn-ç7&g^b(z#)0j#:vqt-DWep7,#eIan-;[?%Ge휟I[f9hm?'DWIj 9:EH+}&eUqY,ˆud=7N4󡎭5 eUqY,'ӴOr5nPi`fSC[K4jKWv}&eUqY,ˆud=7N4f(C,nZ'E-DEAHBEA$gHHΆ;AgEVK/ e B};B)"HIj|c"Q$$G=ͦqQ:JrL 8,YyVK/ d=7N4f(0:Yy |^@Hv*M |HvtH$ IN9f![!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5  _nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"<+1h:$xj`"t<,{$q$$Q*$$-tn;_e_lj[$|r>71htHf}l-"x}kiđ|(z#)0j#:vqt-DWep7,#eIan-;[?%Ge휟HZ=הIztH< E.}[o^bG!\rBxlv5 }G5]%[rHҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"H+sF'e1 }[$LjKP凼E}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZ#-@%1n8zuzy~Hƫ nX{ZVb tH44ExXIVH+l,*cӢGoH>ջG-yf}l-#TQ $TI _rΐ v*8^AA'ӴOh@$RI -O vQj$HY:;C_nI"gEVK/ e ƃ <`K/!"INeIaINN$?rBB>,=+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)jҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-BxVb tH44ExXIVHHTI TI!\[iwοN9,'ӶI#eSϊ:\,޼ţ#ט~|Gy2>K/ HI$$LjKP^,ǁ(G!_%[g $LB&i>wϳ |}l^G-3r~I#1h^Q$b#lӆ>(sܳzD(?1 j[gӷYO(?1-Bۖ:E!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5 G!\+5 O;,ُe8oetQ$cUZ,=t-]+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$RIqm/َpջ{<͘%G5]%[rH³cG-CDzOڷG!\[geS?t}?Fhtܕ֭ѨddnHOJrL 8,Yydn8 y1#'[CStAm0B }[=ϼـ YD1#Pc'[!"Q$& Q$~qm[q:,rrB};od;ϖQ1@ݠ4Qչf-NϭţOm8>{ϖQ1YyBOQ$~& Q$cUZ2gN<E?1 ,?%Q$b̩6L1 Ŷ}c};g9hٜ=IyGW#N[g@hϫrZ>vYppոHƫ nX{ZWے`HYQg+%pչ=ϼى?j2› 3l,Mt9}dnH?1 ?$ B_ӏw^y1GiQ>J$LjKP凼Ef-D CCLZdn$LBy2=:$^ @vt^=o+ϭ[$yYog.g^b(?H5IHH5D,  n8,YyK/ OhNtI$oDIͷ ja_nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKP!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j³cG-CDzOڷBEHLH1 ONu|Xmx嚄v$w,*c4GKVט}:$>zO<>H>YFTeI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB:$qmpg.}[o^bG!\rBxlmx嚄҉#-aQj_nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKQ$b¹P͘S[N>G5]%[rHҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-DW Z}[?ϼَZ?[OQ$cUZ,=t-\+1h:$xj`"t<,{$q$bŶ{ϖQ1#jKjHy}?^}j #[zDEAHBEA$gHHΆ h;,⨳e,>};@(Or5nPi`fRE-DrHI ?%D@iuwΆ h:Wے`HYQg*Yy!)q6!AHG̩6L1I#H$?X.YrBB>,=+0$C,⨳eetb2d{$p{ nh0ͳPt6ӏp)tj!c'[)jҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-BxVb tH44ExXIVHHTI TI!\[iwοe,'ӶI#eS E.}[o^bZ?Q>DӉ#geS%Q$$GR`G5]%/tZ#n-YyG!\ʓ`4;[gن>wӾ~K/#9?[$ט{y(?1 Ŷy:\,޼ţ#$LB嚄7᥂,'ΔItmx"WJrL 8,Yydn85 ?j2› 3l,Mt ]HXIVZ#]OlDŽ27:qn(?1-Bۖ:E!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j$LBЗet׽}rO#-aQjYD1#Pc'[#-|N׃P:]#W:D[nJsVxI@oˆ}טJ$* RED(* Q$%}:BD>t4\AgEVK/ e '9e (4\B)"HIj|i`fQj$HY:;CK4+0$C,⨳eY,8age$RYyI#T$vtH$rja_nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKP!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j³cG-CDzOڷBEHLH1 ONu|X,,9f>I(ʘ 6|Qչf-NϭţOm8>{ϖQ1YyBOQ$~& Q$cUZ2gN<E?1 ,?%Q$b̩6L1 Ŷ}c};g9hٜ=IyGW#N[g4GKVט}:$yDWP<4\x嚄҉#-aQj_nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKQ$b¹P͘S[N>G5]%[rHҾܓD2*8^AY,[N>9}HIV8agemçV!@6`,{$rE-DW Z}[?ϼَZ?[OQ$cUZ,=t-\+1h:$xj`"t<,{$q$bŶ{ϖQ1#jKjHy}?^}j #[zDEAHBEA$gHHΆ h;,⨳e,>x-cQp҃K4 B)j$Ά jEHI*$zL㮣t4\AҾܓD2*8^AUaMӍx ^BE-_%$?NeIaI ,,9f![!qTYd e2:qn1tj2=~ոd=7N4f(:Yypո5  _nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"HHTI TI!\[iwοgeS4\zml6Nk#ٟ[=yGRlpv,i~{CK4#:ۏnIo:s|l.f}l-:uI@(r͗oYӆl΅f-ptn:ᾜI4\Ja{gnhO!'?LB?1-@xgHI|^Gqm(?1 T>1Yyv_$ţ߫yDWP<X-fpr|DWIjܰ(t$ +%VK/!ӏqPɑ!)q6!AۇN>ѨddnH?1 \ѨdfxC){-çV#-aQj_nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"H+l- ~v[N>ޟ{ށl-D(?1-A2^HIt$ +%Q>`pn|ƃ>t4\AgEVK/ e k[X.YrHӻ [ҾܓD2*8^AFPeu2› 3l \7Z-"H"$TB!"BWܳ$C@vh;,⨳e,>};@(O{o4 B)j$΀Ԋ-DTI 6]G|JrL 8,YyVK/ d=7N4f(0:Yy |^@H̩6L1I#oD@$,$#rҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"=+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$R'f-D CCLZdn$?%D5DbŶΝm| m5 H>YFT9vGKVט}:$>zO<>H>YFTeI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB:$qmr>71htH#9f< Ŷ{yrB~|DWIjܰ(t$ +%VK/!ӏqPɑ!)q6!AۇN>ѨddnH?1 \ѨdfxC){-çV#-aQj_nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"H+l- ~v[N>ޟ{ށl-D(?1-Bۖ:EC<5 0h:=~ո?1 =(ʘx55{COg>n Aflnٟ[=yDH"$TB!"BWܳ$C@vh;,⨳e,>};DB)"HIj|HI ?%D@iuw΀t$ +%UdCStAm0BKWe $ʓ`4:$?vtH$,$#rҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"=+0$C,⨳eet܃lďdnaMӍx ^@&:qn>fDzOڷ$R'f-D CCLZdn$?%D5DbŶΝm| m5 H>YFT}8i⎗>71htHf}l-"x}kiđ|(z#)0j#:vqt-DWep7,#eIan-;[?%Ge휟HZ=הIztH=ϊ:\,޼ţ#$LB嚄7m5 }G5]%[rHҾܓD2*8^AY,[N>.C&GOڷ ƃ <`K/ n8F=~չ"H+sF'e1 }[$LjKP凼E}&eUqY,Yy }[s<͘!)q6!AۇN>ClXIVZ#-@%1n8zuzy~Hƫ nX{ZVb tH44ExXIVH+l,*cӢGoH>ջG-yf}l-#TQ $TI _rΐ)AgEVK/ e Bx-cQpҀ}pЁ HZ:SQj$HY:;@}pt$ +%UdCStAm0BKWe $ӷRlcDG#(I$ܧ ja_nI"gEVK/ ^C-çVF#'[CStAm0B }[KP ?jܑKP!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j³cG-CDzOڷBEHLH1 ONu|XS5 H>YFT9vGKVט}:$>zO<>H>YFTeI =Db5DWIjŝ;8:EH+8l^ADW2 07aﭟ売fpO$u-^k$LB:$qmr>71htH#9f< ŶxN,'ΔItmx"WJrL 8,Yydn85 ?j2› 3l,Mt ]HXIVZ#]OlDŽ27:qn(?1-Bۖ:E!qTYd e2:qnA@6bGOڷ ƃ <`K/ n8zyc'[)j$LBЗet׽}rO#-aQjYD1#Pc'[#-|N׃P:]#W:D[nJsVxI@oˆ}טJ$* RED(* Q$%}:BD>tܧ eUqY,'ӴOh Xj4r4 B)j$΀Z!'䨒9m3r4+0$C,⨳eY,8age$RYyI#T$vtH$r7YHG凿}&eUqY,Yy }[]LdnaMӍx ^@&:qn.C$,{$rE-BzWے`HYQg+%pչ=ϼى?j2› 3l,Mt9}dnHO Z! ?jI ~J!0j#+m?:ێc߹N,'ӶI#eSϊ:\,޼ţ#ט~|Gy2>K/ HI$$LjKP^,ǁ(G!_%[g $LB&i>wϳ |}l^G-3r~I#1h^Q$b#lӆ>(sܳzD(?1 j[grB~|DWIjܰ(t$ +%VK/!ӏqPɑ!)q6!AۇN>ѨddnH?1 \ѨdfxC){-çV#-aQj_nI"gEVK/ ^C-çV>f${$p{ nh0ͳPt6ӏpy0=~չ"H+l- ~v[N>ޟ{ށl-D(?1-Bۖ:EC<5 0h:=~ո?1 =(ʘx55{COg>n Aflnٟ[=yDH"$TB!"B[$6$FP'VY˼#M5答" Gdi눧 bI'aIy4%WgBD Method Index for com.ibm.record.RowMajorArrayType

Constructor Index

RowMajorArrayType()
RowMajorArrayType(int[])
RowMajorArrayType(int[], IFixedLengthType)
RowMajorArrayType(int[], int)
RowMajorArrayType(int[], int, IFixedLengthType)

Method Index

calculateArrayDimensions(Object)
canConvertFromObject()
canConvertToObject()
checkConstantValue(IRecord, int, Object)
equals(Object)
getAlignmentHint()
getArray(IRecord, int, Class)
getBaseType()
getBoolean(IRecord, int, int)
getBoolean(IRecord, int, int[])
getByte(IRecord, int, int)
getByte(IRecord, int, int[])
getChar(IRecord, int, int)
getChar(IRecord, int, int[])
getDimensions()
getDouble(IRecord, int, int)
getDouble(IRecord, int, int[])
getElementOffset(int)
getElementOffset(int[])
getElementSize()
getFloat(IRecord, int, int)
getFloat(IRecord, int, int[])
getInt(IRecord, int, int)
getInt(IRecord, int, int[])
getLong(IRecord, int, int)
getLong(IRecord, int, int[])
getObject(IRecord, int)
getObject(IRecord, int, int)
getObject(IRecord, int, int[])
getShort(IRecord, int, int)
getShort(IRecord, int, int[])
getSize()
getString(IRecord, int, int)
getString(IRecord, int, int[])
pack(int)
setArray(IRecord, int, Object, Class)
setBaseType(IFixedLengthType)
setBoolean(IRecord, int, int, boolean)
setBoolean(IRecord, int, int[], boolean)
setByte(IRecord, int, int, byte)
setByte(IRecord, int, int[], byte)
setChar(IRecord, int, int, char)
setChar(IRecord, int, int[], char)
setDimensions(int[])
setDouble(IRecord, int, int, double)
setDouble(IRecord, int, int[], double)
setFloat(IRecord, int, int, float)
setFloat(IRecord, int, int[], float)
setInitialValue(IRecord, int, Object)
setInt(IRecord, int, int, int)
setInt(IRecord, int, int[], int)
setLong(IRecord, int, int, long)
setLong(IRecord, int, int[], long)
setObject(IRecord, int, int, Object)
setObject(IRecord, int, int[], Object)
setObject(IRecord, int, Object)
setShort(IRecord, int, int, short)
setShort(IRecord, int, int[], short)
setString(IRecord, int, int, String)
setString(IRecord, int, int[], String)
getElementOffset(int, int[], int)
getElementOffset(int[], int[], int)

Field Index

baseType_
dimensions_

Variable Index

BOOLEAN_ARRAY
BYTE_ARRAY
CHAR_ARRAY
DOUBLE_ARRAY
FLOAT_ARRAY
INT_ARRAY
LONG_ARRAY
OBJECT_ARRAY
SHORT_ARRAY
STRING_ARRAY
o k<$7I6y6$Psm./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.simpletypeinfo.html.htm$$ com.ibm.record.SimpleTypeInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.simpletypeinfo_dsc.html#_top_">com.ibm.record.SimpleTypeInfo (no frames)</a></b></p> </body> jorarra lK$D7I6y6$n+./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.simpletypeinfo_dsc.html$$   et <>acdhilmnoprs./bfuy"ISTg()=A_#-:CMPRVXvw ,0;Eq&14FG[]jkx359DHJO!+28?BW|7NY@%sCܼ8Xٛp~Q tT ='2Ĝȇh,8@H˔oÃy>+sȇfҜ  o(ߍvTV@ä9d`j d)`… 8$> VBNd['6˔qrMQs"LdnLÎ$'ʁa$@H}|Xp8@PI̅h,8maҁԓm pC)ptC"TgXp(>_{5- tEd]bQX)JT,8mai @g*0jd3n7a@NBi tf EQm-9 ͧ$,:U͸<:C z_T+6{zۃä1%TY~&U(SޔlJ$m@ҁNc TF*_ 9O[:NmOUk( 5:F %ЛDFҁ9:tVm9!aqS8 PAC=Q4vʬf)H PAC=Q0z'6'6`@ fӒaaku9#1Qt>]dʬf)H PAC%Л"$'6m'6m`@ @g*0a.>"$@Ĭ'2!2{En]UA MQs"L9 9C-;epBoꈈ#d2ӝ 됬rBîP@juʌ\LYUۃ)HEψ2@Íi95ήV\w[ZA1QOM6t]"pEψ29=L(7xܩ\Gp~,W-s[aͤNt&tEd1̉Ch T8XwEJRNd4$9D?g2hĬ='2irBîP@juʌDPT[uARnt{P:sl18C- BNHXu8 NQUЛ> Uc6=.|OM.|Ou$ bq́m ]ʘDYýs!ĬZ@+6qr7.}&Amq.>"$$(:D\$!N›9*)(RT˧UGxN΍mQ_' t&(&CĬ(hIͰ/d",<@ 9ǤC- BNHXu8 NQUЛ> Uc68`F9O+uʁ+qr>"ڣ`<1* u$$@dK\QͲ΄jJ8S[~%?K/v:LL.Q7 y\'[~9HfӒr"ST`t&eϺ$5X͸</؈ܧ\@g*0a,QsA/؈ܧ\Ԑ,QsG6crTS:(eMmt,12ܧW9߬d2!Y䅇\35] s2 eV3n&nXbYP@M@g*0a,QsA/؛Ua_e@b7GDZRBDDEυ!Nš{l\U{5.QХTr,xޭ5ڶrZʕ'+ pC.Q]=eόs!! ͧ$,:D\M˟tIk*px_6rRmQrWl@g*0a,QsA/؛U`F9O+L@HHȖ(d1FmV{lmq.\nuNlU{5-`;[~\[Tou.|c Vm9!a( 5:F WBo\LYUۃ[ kj1T,%r"ST`"Xƒ_6rRmQrW*ttEu$$@dK\QͲ)əW\ ]G*ʇxS[yͫj/.Q7 y_-`;H-Et>1̆Z@+6qr7.}&Amq~ڭ^`JD\DEυHbmV倯w 1!""XŽm'`ooӧ'ҝr=LҎYvk.Z:6*S+ ~& s!! ͧ$,:D\M˟tIk*px_6rWlP8 NQ b ~ڭ^eP: 2%.|( bv*S߫j/CdG[~K5?-rەNsbى0weF9HfӒr"ST`t&eϺ$5X͸</؛Ub"rSmW( 5:F 2%.|(:Ej,D]nSy\bRBDDEυ!NeR5߫j/Cd(o՟[wfE[ssbٮZE?u.|c Vm9!a( 5:F WBo\LYUۃ[".)< U & \30Ȗ(MܱuO)pb7GDZRBDDEυ!Nš{l\U{5.QХTr,xޭ5ڶrr y_Wi!(9HfӒr"ST`t&eϺ$5X͸</؛Ub}ߠ/d8 NQ b ~ڭ~& u$$@dK\QͲ U#]mtSVn^ɚQ߫>e\TW*ejMm9HfӒr"ST`t&eϺ$5X͸</؛Ub}ߠ/dʄP@juʌ@dK\Pt&nXw 2I >sl1;}H)յ[etV}n%ݚ˟mʧ9UʚCdʌs!! ͧ$,:D\M˟tIk*px_Eω".|O!Nš{lF? S[~*hs!! ͧ$,:D\M˟tIk*px\`FE:=!A.|OT[!Nš{l\U{0E:=WG٬e{5>seE]uʧ˔ktSٮZ˟ϭĹg6}c Vm9!a( 5:F WBo\LYUۃ(>W( 5:F Qs}2`0(:kQs}u$$@d`QͲ)ɚ뭿Ys {5.| ҦOx2irBîP@juʌDQs})?!A_b(G!$JOQͲ)əW[㭿3tq˟ήV\9WYs6TYu7\|FE:=嬹Ksk.WF9; T8XpP@Ĭ(hIͰ9Tŕs!Z* ꂥJRNdT(G5IͧI_]b%'G:FE:=2:Nd+EPaQs}4:P:s xj!'2'NNVm9!a( 5:F .~dʬf L4:D .|O&HI(>áN T8Xu5*(I9%  9J5*s vVÉt&(&Aҁԓ T8Xq.>"$$(:P:s t&(&Hȝ:Nm2{\ Ν'2!NߙQOFBr]:*;v^tkj8K7Eψ2Ds v='2p2ҁԓ P`_ɕ9;@BNd+EPaJ5Fy\ cT \30Ȗ(@Î/*Q6Scr!'2'NLe%?K, cTڣ`<1*Y䅇\33Uc68ma 2%.}:˟ 961]OeR5\3cIͲġIͶe ECߥA(l1:˟)1Veόsmi! eR5rsmDŽT]u=H!rgLJ{:Αm;$@zNd+EPa[rWW( 5:F 2%.|(:P:s ".)<1* rs"t9!^RS:L/؈ܧ\fӒr"ST`TKYUۃ)HȖ(.|(@Ĭ='6c#yЛs yӤCd1š{l\U{5.QХTr,xޭ5ڶrZʕ'+ pC.Q]=eύ]t*lUjtrnt*(juʌ*e]m9>KڢV պ:"EB9te:(jҹT ),ֺJÛYs㭿CdVȧSTVOxA:jҹT6Ju;mE=G*Z[/Pm_5QW٦**?*kD^\ saMus9*) nu=J.LOz\1̉ bPǤd2ӐBAҠBNmCEF \tkj6! U#PJ!'6!NBΘuɝ'6Jcs v='2p[ kj/d8 NQ b !"[ kj/dBNdN'6D=m0bmV傥ڣ`< 0% ͧ$,:D\eφnS ,QsI\Q́N zNm'}H[~ܽm4V}n%ݚ˟mΩ͊feko˔kjWҎeύ΄jJ'6tn?2mV{l-r۠[}uMW~9Jh\DT[TlHo\':6 `3JI͡*}mTt󫉑QfBΘuɝ9U#1̉ bPǤd2ӐBAҠBNmCeFߘV9 oP9 9 bp[Uz&`\W^roXߗ(ʬf L4:DDEϠu'(QsG2:Nd19C)əW\ ]G*ʇxS[yͫj/.Q7 y_-`;H-Et>6u9*YUy˧UQ',ܡ*2"me]m\"q.^tkjbX'Vm  іSt骊JSp4S\Zo*s{meom5["OeR9Z%=a骊JSڜ )ub>̪j"nB 9|E_f{,:"syr1ͅ5䨧t&UQS]m6BΑ~ڭ Zk*H :":Νm12u2&d1CmNA *JP9 9 br?3Ysѭ+lZrH7TA(l18MܼF)|M5RGDX6Jcs v='2p[ߠ/d8 NQ b !"[ߠ/dBNdN'6D=m0bmV倯w 0% ͧ$,:D\eφnS ,QsI\Q́N zNm'}H[~9>յ[fuϭĻYs"-9UʙX_0m5䨧t&UQ΍U]߬Lj/CdkZ뭿EPj̀0T Bΐx<@x?ʌs`Na:ΐ +E` PAG6!U˟aJ[U(dTY3%=rgNuu=H s"i9C19 b{%m'Ys7*լmC-9$FBNmC)Vn^ɘ"-W*S+ ~T9&tħLή|ʬf L4:DDEϠu'YsG2:Nd19C U#\Vn^ɕҎYvk.Z*W*a~Cdʍ΄jJ9ѺJ뺜?2mV{l-r۠[}uMW~9Jh\޹QNtl 0R\ҥ`^x<\J(*YsȚNm% zNmC-9$** @$d1\aMk.|cmNA *%m' oʥ^:r=LnU>*Uʘ_lɝ1)@:s*FQ v=(ÍVË&nXܧ/d8 NQ b !"[".)< 1IͦQr/d/؛Ub"rSmPrBîP@juʌʉv\k*px60>ԝeυt9Ǥ bp7Tuڭ3J:g]٬kتkmuO<m˟aMus9*) nNl%Yu.*ejڭ3ZAVoT>"s` +й3!'3I@D]nSy_ʌs`No]8a @:@0T aGJ?:d.LOz\ӝ]OeR=ȚNm% zNmC-9$** @$d1\aMk.|cmNA *%m' oյ[fnuqU-_zr y\ҎeS!rgLJ{:Μoή9@zP;9CMܱuO)pb7GDXJD\DEυJRNd~ڭ[rW*ttErs"t9!^ttE~ڭ[rW*ttEY䅇\33Uc68ma 2%.}9B 9F*ՂI7[/?](c'FYLcҊ*+OҝNrZkT9?:=Ll{5=Hh*+Nsjp4S ^dSوʤ{2պ:"J(U}jҠNҦ)tEPP6W3yЛ`JD\DEυJRNd~ڭ~& rs"t9!^lj,OlfӒr"ST`TKYUۃ)HȖ(.|(@Ĭ='6cʤkNJvjڭ3J:g]٬kتbeL_w`aMus9*) nstgu9.*ejڭ3ZAVoT>"s` +й3!'3I@޹QNtl x< 0R\ҥ`^x<\R *Ysl Sj\L2&tħLήdM'6c='6! U~rsm.0Z>1Ͷe }HIͶc7ڭ3Z:eW*ejM* :bSށ&tW[}>ute1ͲcҁĜI̅h,8bmV~m*@g*0a,QsAҁԓ$_6r@_ɕ@$DsiCܼ 0/؛Ub}ߠ/dʄY䅇\33Uc68ma 2%.}:˟ 99( B>1̉ bPǤd2ӐBAҠBNmCeFߘV9 oP9 9 bpQEj/Cd\Sٕ\L+C!rgLJ{:Μoʧєx6Jcs v='2p.|O@Î/آ@$DsiCܼfӒr"ST`β&Amp۔C@dԐ0b$(@Ĭ='6c53STu.WpAOs12eρ:T)šDR J9W*fAWYs 9(Ee)G\^(]ʌs"i9C19 oP9 9 bpe)f&T߬m;$@zNd+EPaQEω ktS(I9B]QEω ktS؁ỈӤ(xIQΨJ5) 9LҶ]^1ͲcҁĜI̅h,=}.|O8 NQ\b"LX !5(>9 9:te/$j\a(Vm9!a( 5:F .~dʬf L4:D .|O&HIΉ2`0(@Ĭ='6c53Wu.WpAOs12eρ:T)šDR J9W*fAWYs 9(Ee)G\^(]ʌs"i9C19 b{%m':$0e(=\slv1'2cs!Z* _b(G$IQ !5(>Rnt{9 9:te/$j\`FE:=$JOuARnt{d:tcsl18S]]m3f[~g;5?\Brfl: Method Index for com.ibm.record.SimpleTypeInfo

Constructor Index

SimpleTypeInfo()

Method Index

getConstantValueEditor(IAnyType)
getInitialValueEditor(IAnyType)
getStaticAccessorParmString(IAnyType)
getStaticConstantValueMethod(IAnyType)
getStaticConstantValueParmString(IAnyType)
getStaticGetterMethod(IAnyType)
getStaticGetterMethods(IAnyType)
getStaticInitialValueMethod(IAnyType)
getStaticInitialValueParmString(IAnyType)
getStaticSetterMethod(IAnyType)
getStaticSetterMethods(IAnyType)
getTypeSet()
isTypeSetConstrained()
setTypeSet(ITypeSetInfo[])
setTypeSetConstrained(boolean)

Field Index

isConstrained_
theTypeSets_
 k-$7I6y6$P|m./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.simpletypesetinfo.html$$ com.ibm.record.SimpleTypeSetInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.simpletypesetinfo_dsc.html#_top_">com.ibm.record.SimpleTypeSetInfo (no frames)</a></b></p> </body>  kꬫ$7I6y6$n./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.simpletypesetinfo_dsc.htmlption$$ Class com.ibm.record.SimpleTypeSetInfo

Class com.ibm.record.SimpleTypeSetInfo

java.lang.Object
   |
   +----com.ibm.record.SimpleTypeSetInfo

public abstract class SimpleTypeSetInfo
extends Object
implements ITypeSetInfo

This is a convenience class providing default implementations of ITypeSetInfo methods. Concrete type implementors can extend this class instead of implementing ITypeInfo.


Variable Index

displayName_
shortDescription_
theTypes_

Constructor Index

SimpleTypeSetInfo()
The default constructor creates an empty instance of SimpleTypeSetInfo.

Method Index

getDisplayName()
This method returns the localized display name for described type set.
getShortDescription()
This method returns the localized short description for the type set.
getTypeInfo()
This method returns an array of ITypeInfo corresponding to the concrete types comprising this type set.
setDisplayName(String)
This method sets the localized display name for described type set.
setShortDescription(String)
This method sets the localized short description for the type set.
setTypeInfo(ITypeInfo[])
This method sets an array of ITypeInfo corresponding to the concrete types comprising this type set.

Variables

displayName_
 protected String displayName_
shortDescription_
 protected String shortDescription_
theTypes_
 protected ITypeInfo theTypes_[]

Constructors

SimpleTypeSetInfo
 public SimpleTypeSetInfo()
The default constructor creates an empty instance of SimpleTypeSetInfo.


Methods

getDisplayName
 public String getDisplayName()
This method returns the localized display name for described type set.

Returns:
The localized display name.
getShortDescription
 public String getShortDescription()
This method returns the localized short description for the type set.

Returns:
The localized short description.
getTypeInfo
 public ITypeInfo[] getTypeInfo()
This method returns an array of ITypeInfo corresponding to the concrete types comprising this type set.

Returns:
An array containing the elements of the type set.
setDisplayName
 public void setDisplayName(String name)
This method sets the localized display name for described type set.

Parameters:
name - The localized display name.
setShortDescription
 public void setShortDescription(String description)
This method sets the localized short description for the type set.

Parameters:
description - The localized short description.
setTypeInfo
 public void setTypeInfo(ITypeInfo info[])
This method sets an array of ITypeInfo corresponding to the concrete types comprising this type set.

Parameters:
info - An array containing the elements of the type set.

g k$7I6y6$Pun./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.simpletypesetinfo_mi.htmlption$$ Method Index for com.ibm.record.SimpleTypeSetInfo

Constructor Index

SimpleTypeSetInfo()

Method Index

getDisplayName()
getShortDescription()
getTypeInfo()
setDisplayName(String)
setShortDescription(String)
setTypeInfo(ITypeInfo[])

Field Index

displayName_
shortDescription_
theTypes_
 k꨸$7I6y6$Pxn./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.typedata.htmlnf$$ com.ibm.record.TypeData <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.typedata_dsc.html#_top_">com.ibm.record.TypeData (no frames)</a></b></p> </body> ="com k$ 7I6y6$n ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.typedata_dsc.htmlmi.htm$$ Class com.ibm.record.TypeData

Class com.ibm.record.TypeData

java.lang.Object
   |
   +----com.ibm.record.TypeData

public class TypeData
extends Object

This class is used as a return value for the setBytes() method of the IAnyType interface.


Variable Index

bytes_
numBytesUsed_

Constructor Index

TypeData()
The default constructor creates an empty instance of a TypeData object.
TypeData(byte[], int)
This constructor creates an instance of a TypeData object with the specified byte array and number of bytes used.

Method Index

equals(Object)
This method determines if the two type data objects are equivalent.
getByteArray()
This method returns the byte array which represents the type's bits in the record.
getNumberOfBytesUsed()
This method returns the number of bytes used by the type in the record.
setByteArray(byte[])
This method sets the byte array which represents the type's bits in the record.
setNumberOfBytesUsed(int)
This method sets the number of bytes used by the type in the record.

Variables

bytes_
 public byte bytes_[]
numBytesUsed_
 public int numBytesUsed_

Constructors

TypeData
 public TypeData()
The default constructor creates an empty instance of a TypeData object.

TypeData
 public TypeData(byte byteArray[],
                 int numBytesUsed)
This constructor creates an instance of a TypeData object with the specified byte array and number of bytes used.

Parameters:
byteArray - The byte array representing the type's bits.
numBytesUsed - The number of bytes used by the type in the record.

Methods

equals
 public boolean equals(Object obj)
This method determines if the two type data objects are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this type data object is the same as the obj argument; false otherwise.
Overrides:
equals in class Object
getByteArray
 public byte[] getByteArray()
This method returns the byte array which represents the type's bits in the record.

Returns:
The byte array.
getNumberOfBytesUsed
 public int getNumberOfBytesUsed()
This method returns the number of bytes used by the type in the record.

Returns:
The number of bytes used by the type in the record.
setByteArray
 public void setByteArray(byte byteArray[])
This method sets the byte array which represents the type's bits in the record.

Parameters:
byteArray - The byte array.
setNumberOfBytesUsed
 public void setNumberOfBytesUsed(int numBytesUsed)
This method sets the number of bytes used by the type in the record.

Parameters:
numBytesUsed - The number of bytes used by the type in the record.

y()">g kB($7I6y6$P{n./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.typedata_mi.htmlmi.htm$$ Method Index for com.ibm.record.TypeData

Constructor Index

TypeData()
TypeData(byte[], int)

Method Index

equals(Object)
getByteArray()
getNumberOfBytesUsed()
setByteArray(byte[])
setNumberOfBytesUsed(int)

Field Index

bytes_
numBytesUsed_
pre k$7I6y6$Pn./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.beandialoglauncher.htmlion$$ com.ibm.record.util.BeanDialogLauncher <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.util.beandialoglauncher_dsc.html#_top_">com.ibm.record.util.BeanDialogLauncher (no frames)</a></b></p> </body> s use k0$l7I6y6$nl./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.beandialoglauncher_dsc.htmlmi.html$$ Class com.ibm.record.util.BeanDialogLauncher

Class com.ibm.record.util.BeanDialogLauncher

com.ibm.record.util.BeanDialogLauncher

public class BeanDialogLauncher
implements ActionListener

This class is uses to launch a bean dialog in the Java record editor.


Constructor Index

BeanDialogLauncher()
Default constructor for the BeanDialogLauncher class.

Method Index

actionPerformed(ActionEvent)
Converts the pushbutton actionPerformed to BeanDialogLauncher.actionPerformed.
addActionListener(ActionListener)
Adds an action listener to the listener list.
getFrame()
Obtains the frame window for the BeanPropertyTable.
getType()
Returns the IAnyType type object.
paint(Graphics)
Performs the painting of the cell.
removeActionListener(ActionListener)
Removes an ActionListener from the listener list.
setFrame(JFrame)
Sets the JFrame for the cell.
setLabel(String)
Sets the label for the cell.
setType(IAnyType)
Sets the IAnyType type object.

Constructors

BeanDialogLauncher
 public BeanDialogLauncher()
Default constructor for the BeanDialogLauncher class.


Methods

actionPerformed
 public void actionPerformed(ActionEvent evt)
Converts the pushbutton actionPerformed to BeanDialogLauncher.actionPerformed.

Parameters:
evt - The event which occurrs.
addActionListener
 public void addActionListener(ActionListener listener)
Adds an action listener to the listener list.

Parameters:
listener - The ActionListener to add.
getFrame
 public JFrame getFrame()
Obtains the frame window for the BeanPropertyTable.

Returns:
The JFrame containing the BeanPropertyTable.
getType
 public IAnyType getType()
Returns the IAnyType type object.

Returns:
The IAnyType object.
paint
 public void paint(Graphics g)
Performs the painting of the cell.

Parameters:
g - The Graphic to use.
removeActionListener
 public void removeActionListener(ActionListener listener)
Removes an ActionListener from the listener list.

Parameters:
listener - The ActionListener to remove.
setFrame
 public void setFrame(JFrame frame)
Sets the JFrame for the cell.

Parameters:
frame - The JFrame to set.
setLabel
 public void setLabel(String label)
Sets the label for the cell.

Parameters:
label - The label to set for the cell.
setType
 public void setType(IAnyType type)
Sets the IAnyType type object.

Parameters:
type - The IAnyType object to set.

> R k$}7I6y6$@n}./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.beandialoglauncher_mi.html$$ Method Index for com.ibm.record.util.BeanDialogLauncher

Constructor Index

BeanDialogLauncher()

Method Index

actionPerformed(ActionEvent)
addActionListener(ActionListener)
getFrame()
getType()
paint(Graphics)
removeActionListener(ActionListener)
setFrame(JFrame)
setLabel(String)
setType(IAnyType)
 ki$7I6y6$Pn./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.iknowsianytype.htmli.html$$ com.ibm.record.util.IKnowsIAnyType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.util.iknowsianytype_dsc.html#_top_">com.ibm.record.util.IKnowsIAnyType (no frames)</a></b></p> </body> a k $ 7I6y6$n ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.iknowsianytype_dsc.htmlml$$ Interface com.ibm.record.util.IKnowsIAnyType

Interface com.ibm.record.util.IKnowsIAnyType

public interface IKnowsIAnyType

The Java Record Editor primes a PropertyEditor implementing IKnowsAnyType with the IAnyField type. Implementors of this interface will have the type property of their java.beans.PropertyEditor set by the Java Record Editor before PropertyEditor.getValue() is called. The Java Record Editor can find the type if it introspecting an IAnyField bean, or an IAnyType bean.


Method Index

getIAnyType()
Get the type field of the IKnowsIAnyType object.
setIAnyType(IAnyType)
Set the type field of the IKnowsIAnyType object.

Methods

getIAnyType
 public abstract IAnyType getIAnyType()
Get the type field of the IKnowsIAnyType object.

Returns:
The type property of the IKnowsIAnyType object.
setIAnyType
 public abstract void setIAnyType(IAnyType type)
Set the type field of the IKnowsIAnyType object.

Parameters:
type - The type to assign the IKnowsIAnyType object.

a- kֽ$x7I6y6$`~nx./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.iknowsianytype_mi.htmlml$$ Method Index for com.ibm.record.util.IKnowsIAnyType

Method Index

getIAnyType()
setIAnyType(IAnyType)
 k$ 7I6y6$@n ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.iordereddictionaryenumerator.htmll$$ com.ibm.record.util.IOrderedDictionaryEnumerator <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.util.iordereddictionaryenumerator_dsc.html#_top_">com.ibm.record.util.IOrderedDictionaryEnumerator (no frames)</a></b></p> </body> th k$7I6y6$n./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.iordereddictionaryenumerator_dsc.htmlmlp$$ Interface com.ibm.record.util.IOrderedDictionaryEnumerator

Interface com.ibm.record.util.IOrderedDictionaryEnumerator

public interface IOrderedDictionaryEnumerator
extends Enumeration

This interface describes the enumerator for an OrderedDictionary. It defines the methods necessary to iterate through the elements of an OrderedDictionary.


Method Index

element()
This method returns the element int the collection to which the enumeration currently points to.
indexOfKey()
This method returns the index of the key to which the enumeration points to.
isValid()
This method tests to see if the enumeration points to a valid entry in the collection.
locate(Object)
This method attempts to locate an element in the collection with the specified key.
setToFirst()
This method sets the enumeration to the first element in the collection in interation order.
setToLast()
This method sets the enumeration to the last element in the collection in interation order.
setToNext()
This method sets the enumeration to the next element in the collection in interation order.
setToPrevious()
This method sets the enumeration to the previous element in the collection in interation order.

Methods

element
 public abstract Object element()
This method returns the element int the collection to which the enumeration currently points to.

Returns:
The element the enumeration currently points to.
indexOfKey
 public abstract int indexOfKey()
This method returns the index of the key to which the enumeration points to.

Returns:
The integer index of the key; -1 is returned if the enumeration is not valid.
isValid
 public abstract boolean isValid()
This method tests to see if the enumeration points to a valid entry in the collection.

Returns:
true if the enumeration points to a valid entry in the collection; false otherwise.
locate
 public abstract Object locate(Object key)
This method attempts to locate an element in the collection with the specified key. If the key is found, the enumeration points to that element in the collection.

Parameters:
key - The key of the element to locate.
Returns:
The element associated with the specified key. null is returned if the key does not exist in the collection.
setToFirst
 public abstract boolean setToFirst()
This method sets the enumeration to the first element in the collection in interation order. Invalidates the enumeration if the collection is empty.

Returns:
boolean Returns true if the collection is not empty; false otherwise.
setToLast
 public abstract boolean setToLast()
This method sets the enumeration to the last element in the collection in interation order. Invalidates the enumeration if the collection is empty.

Returns:
boolean Returns true if the collection is not empty; false otherwise.
setToNext
 public abstract boolean setToNext()
This method sets the enumeration to the next element in the collection in interation order. Invalidates the enumeration if there are no more elements left in the collection.

Returns:
boolean Returns true if there is a next element; false otherwise.
setToPrevious
 public abstract boolean setToPrevious()
This method sets the enumeration to the previous element in the collection in interation order. Invalidates the enumeration if no such element exists in the collection.

Returns:
boolean Returns true if a previous element exists; false otherwise.

on t kV$7I6y6$Pn./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.iordereddictionaryenumerator_mi.htmlmlp$$ Method Index for com.ibm.record.util.IOrderedDictionaryEnumerator

Method Index

element()
indexOfKey()
isValid()
locate(Object)
setToFirst()
setToLast()
setToNext()
setToPrevious()
i kt$7I6y6$Pn./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.ordereddictionary.htmlrato$$ com.ibm.record.util.OrderedDictionary <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.util.ordereddictionary_dsc.html#_top_">com.ibm.record.util.OrderedDictionary (no frames)</a></b></p> </body> t l$4F7I6y6$o7+./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.ordereddictionary_dsc.html$$    deirt <>achlnos./bfmpuy"Ojv():=ETgkx#,-AD_w 0IKPRqz14CFN3589;BHMSW!+2?G|7VYH K)ܳu848ۥ; ǧRNRH:J_zʠ@ BCvAOС]YOeR 0 OHaЎ?i#h?Gnj5W@ BtH 5>{S7X8(p@p8pn N޺\Dz d6S!1nNMeH.ٷ A>޺vH:H d @(} pq AҾAB֤3ba ur!X NtK[-BqxhPBN⓲ĥJkB6$(C PACe2#ᡓYS6͸=xhҜ!@ࢸTt(C7Jp.1u4Ԏt( s58BNw.\cQHWJr 9*3tP)*b֤)##)HJHbԃh)$[((BCim=(k prk*Av͸=xjɃI%)Jr 0Ì0;(,Zr4LdŃ7J6(RŬg- U3R:ԃ A)_nQ!BqTe8XmimA (  Kpf5#H??`H$5PLHma95 f5H)KqH:eALfgc95 f5#Ϋ~<lۃ׆u^-U?cKYG[ Y#˔ԃ6Y ɬ6Wc_df5,6?aŭTAurX.Yc~N7}F4@-ۃ AY pzԎM+M(f;!49͸;3a|z\3ܢB2 d6S!1n53lۃ׆&,Srk*Av͸=xh8@ ɬ6jALʿ mDzgfRE|uoexBiBrk*Av͸=xjGd&2ARZu!A:GhRrtΨJr 5PLHmhdTͳn^ fN)b3ф*?WoGZĐ*?W፸[ Qkk[YYSٷ A ]?[^%,(d3ܢB2 d6S!1n53lۃ׆&,Sv4h8X[F@fS ] M֠q$ hBfUcn<~v<}mxdTmz.dOFA:+$(C PACe2#ᡓYS6͸=xh2b86͸=xh[~ Bٷ uOؤu!3*1Uka?+Lǭ,Ҁ95 f4-X$vBiH?}mzuOBiBrk*Av͸=xjGd&2_nQ!B )ͷ ʙmA )ym@6 6͸=xhF#@?W፸[ Zf>=od& ɬ6o01#JAkQ',҄TpzԎM(d3ܢB2 d6S!1n53lۃ׆&,S*@S~#@ALʿ mǕZO1lۃ׆uO޽.dJA42_nQ!B )ͷ ʙmA )zuO؃U:R:~ۏ*cO0aU?cO[~BiBrk*Av͸=xjGd&2_nQ!B )ͷ ʙmA )ro#n!DGBES#@?W፸[ Zf>?[\QT'k&ͳn^2_nQ!B )ͷ ʙmA )pqK$TԎ U3B2qV|~ ʟ6͸=xo\cZmxLnQ P !(k pɬf41`Ҝ$RŬg- U3B*4$ U3B2qVK6Ɇ}mro# aOexl]?[2k*|6᠏aymz [[ u~Vu@2W۔HP@d2F3mC&mpzdŃ7Jp4$&kxhHLЁ $ R:$TALʿ mǕZO/ڏ&ɼ1e=O tFYSٷ }7 ^̍7kbZH#|}}hKY7SŭWm 5>mpzG[Y{]2ɺoLd( CY dfۆMeL6ɋn=,p ^֠p̫yUx5ɬlۃ׆A|{U?b2_nQ!B )ͷ ʙmA )p6 F#@?W፸[ Zf>=o ^[\:=oAY ɬ6P:gT%}Dd (lC$c642k*fٷ LX3tܸ[~S uOԎ e_6ʭl'imw.;U?| ɬlۃ׆u@2W۔HP@d2F3mC&mpzdŃ7Jp4RŬg- U3ARŬg- U3B(5#@HLG@f e_6ʭl']2ɺF׉t&x&ͳn^2_nQ!B )ͷ ʙmA )|.,Zr0S4 BHP8S4!3*1Uka?( mp7c ʉp|x ?׆MeOf4d3ܢB2 d6S!1n53lۃ׆&,SE@]+A!YE@]+R:oЄ̫yU.èϽd3*%o (#+[^5>mpz޽.dOu@2W۔HP@d2F3mC&mpzdŃ7Jp5n qK$TqK$T{~TkBESj@f8S4~ۏ*[ʏ׉t&xu8 ʟ6͸=xo^mxLnA:+$(C PACe2#ᡓYS6͸=xh2b8h B`m$u!3*1Uka?+Lkˆ'Ө~2k*|6 \+YT!|w f"!IjARZ`͆EH AҾABTpz HR '&lۃ׆RGZt95 f5#%)CNMeH.ٷ A9yJA.RfUqc6ٔE[^Pʐ]n^ \+YT b!IjARZuH AҾABkxhHLЁ HR?WoG!H:KR0[9ov U3xA9yJA.RfUqVֶk&ͳn^A|~KY7SŭP:KRfTrLHPYU H)̫[ ፮-n2ú ^?u]$( 3BLʺY nIW~olۃ׆BM(4 xkk#˔TyrtePPA|@4RŬg- U3B)#H:HS ] MR!D [ ] M$ThBRr2ۏ*[^5>mpzރA|~KY7Sèѐt̩2 t)xk"RWx'6ubA3!@]irfUM+pHҽèq6͸=xh ,҉[IWqɬ6 yr<ʐt.R 6͸=xhF B:ԃMn^ѱH)IyJAfgJr 5PLHmkMeL6 ^ )pf`rk*Av͸=xh[*{ HWf4 br򔃦\̫6ʭl'iP'&lۃ׆«ĎM)FJYR mR;!4t̩2 t.|BR9 A3*yV/nF95 f4d.RGRAҾAB)U?AZoЁ HRN ԎBtaq$ oQTh=}hb/nA3*O׉t&}h?{Zr2G)#̩H _zʠ* !T*H)IyJAfg yV/n*A9yJA.RfUqV|zX?>:| zM(NMeH.ٷ H҆AZ2˔gUB1 H)̫X?>:| YR mFA3!BEeD%#2 aaHvQ#Xfۆf41`Ҁ*uOؤuǂpz.RGRAҾAB 8@$uI &:* /)H?,lHLMt-U?At^Rt˔pyU3MwӨ~YSٷ IjALʓ.RWI L%#2G}:?[^5>mpzѐLHPcr؄r\04-U?BE?e^ɬlۃ׆FAH$y \+YT 6RŬg- U3B)#H:HPmjG!H:KR0[8S7փ U3xur򔃦\̫6ʭl'imqkq[^5>mpz޸ J.dOFAZ2˔gUBʭJG!H?e\: omxdTmFA3!@]irfU\Ze{׆MeOf71-{SAKY7SèѿLǥSs;!4dmp7*=AAk&ͳn^2WI ..j!) t( 8*CRŬc646ɋn kxhHLЁ HW9q6?\2#˔}*[Ē)b3ф*֤$*4$Bta{~|xAĐ*Ze  )3*፸[ Q>70̧ .ŭR[^5>mpzGڎy0@au~-AU:?+LAZ2˔gUBʭJG!H?e\ZepOqkq[^5>mpzѐLHPZf>!) x׷]2ɺ-n2 3 A |7}}k&ͳn^2G)#̩H _zʠ$4h8X[F@fRGZt|x@5#%)C߾4$&@f4!H)LH?W mǕZO/ڏ&ɼ1e=O tFYSٷ }7 ^̍7kbZH#|}}h͏߭M|x߅Au8YSٷ nR@aw}mxLnŶN ';V.ރ|/k>o+yyBEƌ6h?dw]|Zepܥg֭ 1n{1Ao@aw}mvOk ʟ6͸=xh? mp78[ WK!4$vBiC -H?ReA3!@ReVD%#2FO mxdTmxu2W\^5>mpz-n2A3* ፯oofmryo ѐLHPcr؄rY4|x4I 1 e{'kǾŭ# t H+* e{'kQŭWJyrGd&2G)#̩H _zʠA)#H:HU,ԎBtar!R!e  )3*፸[ Qkk[YYSٷ vӨ~d%3*LH?u]$( 3BLʺY nIW~2k*|6AY F;!4 m`6C t"2RWJr 0Ì0;(,Z3mMn^ f@{YEq (5#^<lۃ׆yr<ʐt.R F B:ԃQH)IyJAfg yV/nlAt^Rt˔pyU3yV/nF,҄TpzԎM(d%3*LH?u]$( 3BLʸ)aUۃkQ'NMeH.ٷ Ϋ Y5BLʺW۔HPa!D)b1nmpzdŃ7JQ6)j.1f5#˔TyrtePP.:*֤$)ˎG!H:KR0[8S7qзQTA9yJA.RfUqV|~*mxdTmFAZ2˔gUB1 H)̫6*mxdTmFA3!AbWpзQT e{'k&ͳn^>/M#˔TyrtePPqK$TqK$T !E /)H?,lHLY$Th! U3xA9yJA.RfUqVYq.dO~kĺeumpzѐ~ԃ|3[ŽEtJyrGd&2ԃ&\:/UmdBR9 A3*o׆MeOf7Q qkq<1YSٷ (d:֙JG!H?e^<1p2=̨ͼ7[N@mxdTmzkĺeu>47፸[  m7?[Y^N׿[^%,~ԃ׷+[տ=-a~uF(?֭[]fS'k&ͳn^2ԃ&\:/UmdBR9 A3* ፯o'kӨ~*d:܀6!)pVb4$HBE?e^qku?\2#˔}*F-U?AZ)b3ф*)b3ф*oЁ HRзQTjG!H:KR0[8\օ+AĐ*: U3x t^Rt˔pyUܶT~KY7SèŭW-wdTmzkĺeu>47፮^PA:^j>n,^MH?IjAckQŭWbo"Y <9#J፯oW_\7){Yz [ÀoP[ ̧O׆MeOf4d%3*LH?u]$( ^,ȄrfUè ፯ ʟ6͸=xoFA3*+xck&ͳn^ŭP?e^4<1AmzuO߰ElLHPcr؄rY4|x4I 1 e{'kǾŭ# t H+* e{'kQŭWJyrGd&2G)#̩H _zʠ6)#H:HTl Bta{~@:G/)H:eALʸcn<~VyYOQTmxdTmFAZ2˔gUB1 H)̫6(}:}k&ͳn^2WI ..j!) t( 8*CRŬc646ɋn!Q6:\cv͸=xjG)#̩H n)LؾXk„eD):\dvSxhPGe9Ůf Ӹ1)nrС́b;r 5PLHmhdTͳn^3tP(#]+$(FPҜ!@%ˌx]b5#]+$(B9qDfNSKR:ҾܢB-zʨ) s tǭ.u#ĥH*HA>R<ص :ԕ aa [n#6(C & a{)ad6ȆM`PG AB8(A`@(0(@ $u## 5H:Gn 8`U kd$N 7I6y6$ nN ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.ordereddictionary_mi.html$$ Method Index for com.ibm.record.util.OrderedDictionary

Constructor Index

OrderedDictionary()

Method Index

contains(Object)
containsKey(Object)
dictionaryElements()
dictionaryKeys()
elementAt(int)
elements()
firstElement()
get(Object)
indexOf(Object)
indexOfKey(Object)
insertElementAt(Object, Object, int)
isEmpty()
keys()
lastElement()
put(Object, Object)
remove(Object)
removeElementAt(int)
setElementAt(Object, Object, int)
size()
d k]$7I6y6$@n./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.ordereddictionaryenumerator.htmltm$$ com.ibm.record.util.OrderedDictionaryEnumerator <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.util.ordereddictionaryenumerator_dsc.html#_top_">com.ibm.record.util.OrderedDictionaryEnumerator (no frames)</a></b></p> </body>  k X$#7I6y6$$o#./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.ordereddictionaryenumerator_dsc.htmlmlp$$ Class com.ibm.record.util.OrderedDictionaryEnumerator

Class com.ibm.record.util.OrderedDictionaryEnumerator

java.lang.Object
   |
   +----com.ibm.record.util.OrderedDictionaryEnumerator

public class OrderedDictionaryEnumerator
extends Object
implements IOrderedDictionaryEnumerator

An OrderedDictionary enumerator class. It allows a user to iterate over the elements of an OrderedDictionary.


Constructor Index

OrderedDictionaryEnumerator(Vector)
This constructor creates an OrderedDictionaryEnumerator for a specified collection of keys.

Method Index

element()
This method returns the element int the collection to which the enumeration currently points to.
hasMoreElements()
Tests if the enumeration contains more elements.
indexOfKey()
This method returns the index of the key to which the enumeration points to.
isValid()
This method tests to see if the enumeration points to a valid entry in the collection.
locate(Object)
This method attempts to locate an element in the collection with the specified key.
nextElement()
This method returns the next element of the enumeration.
setToFirst()
This method sets the enumeration to the first element in the collection in interation order.
setToLast()
This method sets the enumeration to the last element in the collection in interation order.
setToNext()
This method sets the enumeration to the next element in the collection in interation order.
setToPrevious()
This method sets the enumeration to the previous element in the collection in interation order.

Constructors

OrderedDictionaryEnumerator
 public OrderedDictionaryEnumerator(Vector collection)
This constructor creates an OrderedDictionaryEnumerator for a specified collection of keys.

Parameters:
collection - A collection of keys.
Returns:
An OrderedDictionaryEnumerator object.

Methods

element
 public Object element()
This method returns the element int the collection to which the enumeration currently points to.

Returns:
The element the enumeration currently points to.
hasMoreElements
 public boolean hasMoreElements()
Tests if the enumeration contains more elements.

Returns:
Returns true if the enumeration contains more elements; false otherwise.
indexOfKey
 public int indexOfKey()
This method returns the index of the key to which the enumeration points to.

Returns:
The integer index of the key; -1 is returned if the enumeration is not valid.
isValid
 public boolean isValid()
This method tests to see if the enumeration points to a valid entry in the collection.

Returns:
true if the enumeration points to a valid entry in the collection; false otherwise.
locate
 public Object locate(Object key)
This method attempts to locate an element in the collection with the specified key. If the key is found, the enumeration points to that element in the collection.

Parameters:
key - The key of the element to locate.
Returns:
The element associated with the specified key. null is returned if the key does not exist in the collection.
nextElement
 public Object nextElement()
This method returns the next element of the enumeration.

Returns:
The next element of the enumeration.
Throws: NoSuchElementException
if no more elements exist.
setToFirst
 public boolean setToFirst()
This method sets the enumeration to the first element in the collection in interation order. Invalidates the enumeration if the collection is empty.

Returns:
Returns true if the collection is not empty; false otherwise.
setToLast
 public boolean setToLast()
This method sets the enumeration to the last element in the collection in interation order. Invalidates the enumeration if the collection is empty.

Returns:
Returns true if the collection is not empty; false otherwise.
setToNext
 public boolean setToNext()
This method sets the enumeration to the next element in the collection in interation order. Invalidates the enumeration if there are no more elements left in the collection.

Returns:
Returns true if there is a next element; false otherwise.
setToPrevious
 public boolean setToPrevious()
This method sets the enumeration to the previous element in the collection in interation order. Invalidates the enumeration if no such element exists in the collection.

Returns:
Returns true if a previous element exists; false otherwise.

ore ele kp$7I6y6$@6o./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.util.ordereddictionaryenumerator_mi.htmlmlp$$ Method Index for com.ibm.record.util.OrderedDictionaryEnumerator

Constructor Index

OrderedDictionaryEnumerator(Vector)

Method Index

element()
hasMoreElements()
indexOfKey()
isValid()
locate(Object)
nextElement()
setToFirst()
setToLast()
setToNext()
setToPrevious()
 k $7I6y6$Pn./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.variablelengthcomposedtype.html$$ com.ibm.record.VariableLengthComposedType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.variablelengthcomposedtype_dsc.html#_top_">com.ibm.record.VariableLengthComposedType (no frames)</a></b></p> </body> .ht k4$i7I6y6$@oi./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.variablelengthcomposedtype_dsc.htmlhtml$$ Class com.ibm.record.VariableLengthComposedType

Class com.ibm.record.VariableLengthComposedType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.AnyComposedType
                   |
                   +----com.ibm.record.VariableLengthComposedType

public abstract class VariableLengthComposedType
extends AnyComposedType
implements IVariableLengthType

This interface describes a data type which is composed of one or more simple types. A composed type can be an array, an overlay or union, or a nested record. A composed type has an alignment, and a packing hint, and it knows how to align or pack itself based upon these hints.

The most common packing hints are 1, 2, 4, 8, and 16, where 1 indicates that the data items are packed on a byte boundary, and 16 indicates that the data items are packed on a 16 byte boundary. The alignment hint indicates how the composed type needs to be aligned in memory. If data types are by default packed along boundaries smaller than those specified by the packing hint, they are still aligned along the smaller boundaries.


Variable Index

alignmentHint_

Constructor Index

VariableLengthComposedType()
This default constructor creates an instance of a variable length composed type.

Method Index

equals(Object)
This method determines if the two variable length composed types are equivalent.
getAlignmentHint()
This method returns an alignment hint for the composed type.
getSize()
This method returns the size of the type in bytes.
pack(int)
This method forces alignment and packing rules for the composed type, and sets any relative offset of any fields contained in the composed type.
setAlignmentHint(int)
This method sets the alignment hint for the composed type.

Variables

alignmentHint_
 protected int alignmentHint_

Constructors

VariableLengthComposedType
 public VariableLengthComposedType()
This default constructor creates an instance of a variable length composed type. The default alignment hint is to align on a byte boundary.


Methods

equals
 public boolean equals(Object obj)
This method determines if the two variable length composed types are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this variable length composed type is the same as the obj argument; false otherwise.
Overrides:
equals in class AnyComposedType
getAlignmentHint
 public int getAlignmentHint()
This method returns an alignment hint for the composed type.

Returns:
The alignment hint.
Overrides:
getAlignmentHint in class AnyComposedType
getSize
 public abstract int getSize()
This method returns the size of the type in bytes.

Returns:
The size of the type.
Overrides:
getSize in class AnyComposedType
pack
 public abstract void pack(int startingOffset)
This method forces alignment and packing rules for the composed type, and sets any relative offset of any fields contained in the composed type.

Parameters:
startingOffset - The offset that the packing is to start from. Some alignment algorithms need to know where in current structure the alignment is starting at.
Overrides:
pack in class AnyComposedType
setAlignmentHint
 public void setAlignmentHint(int alignmentHint)
This method sets the alignment hint for the composed type.

Parameters:
alignmentHint - The alignment hint.

gnment  kA$7I6y6$P:o./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.variablelengthcomposedtype_mi.htmlhtml$$ Method Index for com.ibm.record.VariableLengthComposedType

Constructor Index

VariableLengthComposedType()

Method Index

equals(Object)
getAlignmentHint()
getSize()
pack(int)
setAlignmentHint(int)

Field Index

alignmentHint_
dt> < k$7I6y6$P=o./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.variablelengthrecordtype.htmlht$$ com.ibm.record.VariableLengthRecordType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.variablelengthrecordtype_dsc.html#_top_">com.ibm.record.VariableLengthRecordType (no frames)</a></b></p> </body> pre>  lY$N[7I6z6$Oo\9./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.variablelengthrecordtype_dsc.htmlhtml$$     dert .<>achilmnos "/bfpy=T_guv#()AFRx,-:CEILOVjwz HNSk'014BDP[]q39!+58;?GMW|27UYHLL݃ {H@I5۰dtVIG0_b! P(Gn: .!G0`4c (@M2v[xN@p(sojLќ0``(QN_j8^ϲPC2,YOe^:,&g$[kt*7-|A!}@HP B:WXlBJqN 1ۤ):|e^ o|[bv[bb(w&p[ޤ]l#,2PC2, ^9e>qd- <)!`I+WJrFy sxcMI+WJrB=s <=w4t,-sCv!A u li%jI3$$)NqRKwX[ͷsB?s⠌K)SqK(IYI%:QIj8_nYbB B Y ZD4UMn$VD(ChjIZ?g08JrC%8#-Bne <$VD)Te 2&4I+Q,_nYbdeYH\MddublCv 0Q deYH @NIZIZ?g08JrC%8#-Bmd,UMn"F !L⠌K)4K(IZIZ?g08deYH/`ˈhuYBM2:I3-G-tqMj {Tz>^9e>zdeqMjƧҾܲA*dFps2,4SbxHPdM&psiVkUpWۖX(!AlR5x}^-LU6!(,2/ZlPLtORLQOYnomXK9rοFps;$5ҏgys[͘6Y4~%tXs)v]u@co\k:-sf8͖L .^ߐϭu\َ3eܐm돸X{qW?`c圷[QێlR?Sn>Nt [z8#aA~L m:⃎qQJW CVBJq9xՇtz:kT}e!Te j)n[%blCv [.0\aq!I%j8\㦵@:WۖX(!AlRoYZi*7`#bTI%j8\㤚z:[K@:?F{ XyI-8駨㦵@:WۖX(!AlRoYZi*7`r) և[%$,(,YOe^:,&i%j 8_r׷>otg/Ⱦ^9e>zde㦵@:WۖX(!AlRoYZi*7`r) և[%$,)в^9e>zde)гj'-{stg/Ⱦ^9e>zde[~f[[?6_nYbdeYHr}/[eiX݃A,2/ZlPLG@в^9e>zde)7tt,~ ^/YOe^:,&| oߙ룏 .;-[/٠㦵@:WۖX(!AlRoYZi*7`r) և[%$,)7tt  !@SqK(IZIZwG@гj'-{stg/Ⱦ^9e>zde[~f[[?[.0knb"]uƼtOQKqIhQ7p\j:IhQM=G5ҾܲA*d5x}^-LU6!5 deYHD[,.5I+PP,2&Ag+ʩo/ofe~[%13-5ҾܲA*d5x}^-LU6!5 /o(!AlRa45pzƭ\E tEAIZa45p+qqMR _-/o>̶8]roqf\wY^{2qZ+,A ⠌K)WYOEr,4SbxJ]oɆ'L⠌K)Ț}A vORJ Y5J2}|[쾶V-ы/ȿ8-_nYbdeYHr}/[eiX݃Xe4}BSL6CrPjIZ?WZ^Us>mo>\َ*_t٣S?d6yy(uzƭ\EP>ٿeݳV񖃎_nYbdeYHr}/[eiX݃Xe&@ҁ !L\A2 i@f(,~%e]ѧ1{s޶o͘⮾eO1oye>J#o7gƭ/=cV" (lt֨JrC%8#-@SzܶK+M2T؆`4b0zƭ\EP>١d*hži%j hY5JK]? ʽ^Aѹ!.5x︋K+\юu5ҾܲA*d5x}^-LU6! { !BCq@GRJqMRO23[.0kgddu-5ҾܲA*d5x}^-LU6!hS%8#-@,:,7(ݰPi@f(lPn g+-t/[*z3#>lW;[# /on%s2QDY/tlWLve 㦵@:WۖX(!AlRoYZi*7`wen0K9wen0K9(,~%e_/Fdg| 11 oY]{mϗ,8[~[%-5ҾܲA*d5x}^-LU6!. pFJqMRǑ"[%/8w,gs-^n:kT}e!Te j)n[%blCv j) !M\\t8#i%j 8_AlWLϯ7okF;.rϭ}lR:kT}e!Te j)n[%blCv un™(!AlRaeF퀰X$A@dܣvX wGB?WZ^U љǯ1f7n| 1,̹v[gX(ݹGoY]q*ȾQs2w>meIۚ:kT}e!Te j)n[%blCv c.0Sd*wpC%j tt,~%e^w{tw, e㦵@:WۖX(!AlRoYZi*7`ށNSd*wS6VGB?WU"S/[,h8& ,RIZ:[K@:?Sg$~+"nآV7lRI)G&e2[lۮ6(㤓2qҿ\aq!D)$G%)opCIJ83-GfwGzq@GEtfZ:WX(pc6Y2V&Qlg$~+ r}."e 4!I%j8_b/`ˈhuYBM2‚RIZ:JP9x\ECiJQIj8=SqK(IXPYI&e㦞j9k۟\}73ŗ__/`ˈhuYBM2qb:I~+ r}."e 4 tt,$㤥YOe^:,&i$tS^9e>zde:;tfZ:i8\Ǻ3ŗ__/`ˈhuYBM2A߭3--GAI8IkURRp!$W7Ko/oY_M2qI4$tOQJW @9x\ECi:BJqR,2/ZlPLR:LQ )g/`ˈhuYBM2{1l`Cg$z?Wn}qqe,2/ZlPLvocu{s-qb?Ri8t\/o&I%(j .::;Ko\wMR`~%[D_k8zMR:I~+ r}."e 4 tt wGBRIZ:JP9x\ECiJQIj8=SqK(IXSopCc-[,tt qnYI&e㦞j9k۟\{=\Y~Er) և[%$/2tqq{]s-5Tq5)@)x^LJQ+\ttw[.0k8s-:;KonGPqI4$tOQJW D/[* I+QKqIhQ7L㤖utp.5 deYHD[,$㤥.5I%(̵~`žquuAI_nYbdeYHrinЪ݃ElBa45I+W- ܐB}+,A ⠌K)lQn֚eZ5ouX{,t*7`[#d]o&`LA5ҊIZ+,A ⠌K)lQnW [F{YDUMn"F !Ae@Ja] t`YE$@n JqPF[%K([+[;eET؆+d`lPk@P{,tVLQM=G+UO}}߸ב[}3.;,=љh81G)4MjJP ^.$q5J\ĶnrZ% $t,2PC2,eYEZihսa5҈݃ElB ue2rJ)%j8p5x︋oUu]|wE~[%-Z% $t,2PC2,eYEQ\-o]afkU6!([%}+?-th(=قfkMRߊ~Emo宍,MjJP$ҾܲA*de}Epg{a5҈݃ElB uhz eRJq5J[~+u--/ MjJP4m:`R?]+,A ⠌K) lW3-LU6!5 deYHD[,.5I+Wt{ϥ}e!Te!q6eYZi*7`[#ȚM[%$-$GORIQI4tp.5 /o(!AlRa45pzƭ\E tEtAI)G&e35 /oܲA*doU6!("hkV[8+qu$JrC%8#-F[%[q[V3]( <$VD(:,[IX--P{,tV7JrC%8#-F[%[irYDUMn"F !Ae@L6C#@YE$@n JqPF[%K([+kl={,t*7`[#d]o%p宍{0P{,tV7JrC%8#-F[%[-퇲J"lCv 0Q K(5W eU(=fQI+QI&e㦞j*uϭ3--\[pm~lWh̴tjz?]%(/ ɂIJ8ro[|[WUtW-W ~%_[|[꾶̶8]ro^ kUR$!$ JqPF[%K([M2-=fQSbxHPuYAГL&Z[@YE$GTƯ}z[>U"ꮾ˯odekUR$!$ JqPF[%K([225a5҈݃ElB uhlFA5ҊIZ?\Kocu-\/꾶nY{yW?oOPq5)B[LJWJrC%8#-F[%[Ѷ=fQSbxHPuYAXcF=(=fQI+Q+mo˕}uW]o]=GoYH8t-&I%+}e!Te#--qfkU6!([%}+2*3](jĶW /o}wO[{[^.8thu\ $MRWۖX(!AlRhخf[%blCv ]Pk^2PC2,"hkZ@ !K u ĒwGWۖX(!AlRhخf[%blCv 0Q $خ`uYBM2JqI4$tOQJW B]oɆ'L⠌K)Ț}tA vORIJ83-G0l]uAd]Ф,2PC2,9q4[UMn"F !@Ț}$}nH!> JqPF[%K([M2-=fQSbxHPuYAГL&Z[@YE$@n JqPF[%K([+kl={,t*7`[#d]o%p宍{0P{,tV7JrC%8#-F[%[-퇲J"lCv 0Q K(5W eU(=fQI+QI&e㦞j*uob"qӏ,=љh81G)4MjJP ^.$q5J\ĶnrZ% $t,2PC2,eYEZihսa5҈݃ElB ue2rJ)%j8p5x︋oUu]|wE~[%-Z% $t,2PC2,eYEQ\-o]afkU6!([%}+?-th(=قfkMR-\/k}{>mK)Z% $t,2PC2,eYEQ\.2{,t*7`[#d]o%p&Z^fkMRߊ~Emo||uZ y!$WJrC%8#-Bmd,UMn+ u&입2PC2,"hkBT}L5=I+Wt{ϥ}e!Te!q6eYZi*7`[#ȚM[%$-$GORIQI4tp1q#o47%i@ft. Dm (lԒR:LQ )g*R}=&Qy(J4(,㤓2qOQ5JZ^Us>mo>\َ*_t٣S?d6yy(uzƭ\EP>ٿeݳV񖃎qMROQ֫^JQ+VI,Z?]%(6W0BI)GT JqPF[%4SbxKL6CrPhPY b FhnJҁI+Wt{ϥ}e!Te!q7M2T؆+d`DeiI5J8& . Dm扐4}BRIZ:JSL6DP>٩$tST\{L6DP>١Ag$z?WOӘo[yqW_M2޲dq%ݳV\Chj:LQ5JM=GZz3#0BI)GTJ[-$Uj8thu\ $MRWۖX(!AlRt,UMn,\A2 i@f. Dm扐4}RJǮs_nYbdeYH\MLU6!(D&i%j8zMR:I~+"hža@Z@4}BRIZ:JUы|IJ83-G0IJ7ȠxYI&e㦞jĵlq[BWYOodeϯ/ }Pqb?Ri8t\/o&I%(jP?.(lv7%WIJ!$WK%VY*wr}E~[%/[~koȠ^  Uj-oJ^Zh8thu\ $MRWۖX(!AlRhخf[%blCv 1oP=cV" (lв`4b4wGWۖX(!AlRhخf[%blCv 0Q $خ`uYBM2JqI4$tOQJW @Ǹ\aq!РV.1\ttu$2q {Cq@GB:I3-G4T%e_/Fdg\aqGyrϭ@NZ:LQ5JM=GZz3#0BI)GT% .;?]%(6W0BI)GT JqPF[%JJwZi*7`wpCAd(]c.0IZ}+,A ⠌K) ,UMn"F !A4() 4I+Q$ԒjqM=G+\,AAA*d K( 7lV.P>٩$tS (l.P>١I_nYbdeYHv[%*7`[#XuYI%jlP@X ܐB}+,A ⠌K)lS%t23aͺYDUMn"F !Aeetf0%t eRJ_nYbdeYHd(˰YDUMn"F !Aeetkg,qC6˖}m~-n?-iqMROQ֫^JQ+m=s5ot }lW^8s>?e}4A֫FcI%(jҾܲA*dFps2,4SbxHd7q ۘ%‚Pd7q ۘ%JǮs_nYbdeYH\Mb9lVe <$VD(2&b9e 4I+Q$ԒjqM=G+\,A@l(,$㤥 R:LQ )gtwLQM=G+kfF[~nߑ[-ilWLڹ˖7m&(&WIJ!$WpFlWL7p8/oY_M2?j.[MjJP4m:`R?]+,A ⠌K) lW3-LU6!. pFJǮs_nYbdeYH\Mb9lVe <$VD(2&b9e 4I+Q$ԒjqM=G+\,A \\t8#aAd)$G%)km$2q {ʔkj) 8$̵tqMRτzϭe}4\npFZqMROQ֫^JQ+VI,ZlWLϯ7lQk|$Uj;A$ԒjqM=G+\,A-XSd)$G%(Ű I%(̵~`žqus,)=^k,Ys 8$̵tqMR~r匹 ƹ`1>\lJJw_M2q;ߖߑeȾuq%[u@NZ:LQ5JM=GZ $MRyieߑeW[|Ű tEOyq(_[.0[n8Aqq{tE?]%(6W0BI)GT JqPF[%6+eiX݃L[GBQ`V=sJrC%8#-Bmd,UMn"F !A4K(IZIZ?&Ti8_b1l.As deYH[%`Y I+QIJ1l.AsI%(̵~`žu=ųyF퀰[n’ܲA*dK(UMn"F !@dJ,1Q|v3h g$z?WOձ>?q~/`|v s3he.Y/?[-Ga끏ie,On/~^Ϯ=y7ȾQs8 1un"\ J(_ֺM2W>[?7ݾ'1Zט~^wO ֯N?-^n:LQ5JM=GZ $MR[%KoYH8r YĶF,GV"eIۚ?]%(:fF`R?\2=y7ȾQsfei'7n}8[-A֫FcI%(jҾܲA*dblCv 1l.As deYH[%`Y 1l.AsI+Wt{ϥ}e!Te!q7M2T؆+d`DeiI5J8& X)Te lPn nY I+QIJunIJ83-G0eOqlޕ JqPF[%4˥T؆+d`$,VV` ݹ%}e!Te!lP݃ElBae$Y@cQ|v3h ce,㤓2qOQ5JZ^U љǯ1f7n| 1,̹v[gX(ݹGoY]q*ȾQs2w>meIۚ:LQ5JM=GZ $MR[%KoYH8r YĶF,GV"eIۚ?^E;[~E;mY O_*ź3A֫^JQ+G1f7n| 1,̹v[M2$FϺ'oY]q*ȾQs2w>meIۚ?]%(6W0BI)GT JqPF[%4SbxN^mvA*d K( 7l7tt,e:7ni%jc9,2PC2,.&X݃ElB"hLM=I&G$qҿ;Ǹ\aq!ЧGBRIZ:JTCq@GRIJ83-G0l^wpCN tfZ:i8\K]? ʼg .;.Y()}4AI8IkURRp!$W[.0-\aqGPqI4$tOQJW D@l)вV;)I%(̵~`žquyށNSnYI&e㦞jm#~Em,}^Y_M2qb?Ri8t\/o&I%(j?pFWYOodeiI5J8&?izqF8[t'VS,R;-c,A{]S,AN⓴ {ԕ^ @v JqPF[%,"lVe6d8,%j_nYbܻCv!@sCi%j_nYb[Ǯsǿ^V \.hn(1᮷\7M$I&p[ޤue>ԒiTq9IJrBJKEŭnwd!It,]̘qPa[#,R8`$H #X"$qIRTqKvQ8@ !A kJ$B 7I6z6$oB ./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.variablelengthrecordtype_mi.htmlhtml$$ Method Index for com.ibm.record.VariableLengthRecordType

Constructor Index

VariableLengthRecordType()
VariableLengthRecordType(int)
VariableLengthRecordType(int, int)
VariableLengthRecordType(int, int, int)

Method Index

addField(IAnyField)
addFieldAfter(IAnyField, String)
addFieldAsFirst(IAnyField)
canConvertFromObject()
canConvertToObject()
equals(Object)
getAlignmentHint()
getObject(IRecord, byte[])
getRecordAttributesClass()
getSize()
hasFixedSize()
pack(int)
packageBytes(IRecord, byte[])
retrieveBytes(IRecord, byte[], int)
setAlignmentHint(int)
setSize(int)

Field Index

alignmentHint_
size_
/com.i kꈁ$7I6y6$P}o./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.variablelengthtype.html$$ com.ibm.record.VariableLengthType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.ibm.record.variablelengthtype_dsc.html#_top_">com.ibm.record.VariableLengthType (no frames)</a></b></p> </body> ert k$7I6z6$o./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.variablelengthtype_dsc.htmlhtml$$ Class com.ibm.record.VariableLengthType

Class com.ibm.record.VariableLengthType

java.lang.Object
   |
   +----com.ibm.record.AnyType
           |
           +----com.ibm.record.VariableLengthType

public abstract class VariableLengthType
extends AnyType
implements IVariableLengthType

This is a convenience class providing default implementations of a variable length type. Concrete type implementors can extend this class instead of implementing IVariableLengthType.


Constructor Index

VariableLengthType()
Creates and empty instance of variable length type.

Method Index

equals(Object)
This method determines if the two variable length types are equivalent.
getSize()
Returns the size of the type in bytes.

Constructors

VariableLengthType
 public VariableLengthType()
Creates and empty instance of variable length type.


Methods

equals
 public boolean equals(Object obj)
This method determines if the two variable length types are equivalent.

Parameters:
obj - The reference object with which to compare.
Returns:
true if this variable length type is the same as the obj argument; false otherwise.
Overrides:
equals in class AnyType
getSize
 public int getSize()
Returns the size of the type in bytes. The size of a varible length type should return -1.

Returns:
The size of the type.
Overrides:
getSize in class AnyType

ctyp k~$7I6z6$`o./usr/IBMVJava/html/enterp/en_US/eab/ref/com.ibm.record.variablelengthtype_mi.htmlhtml$$ Method Index for com.ibm.record.VariableLengthType

Constructor Index

VariableLengthType()

Method Index

equals(Object)
getSize()
/ k$7 I6z6$`o./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.connector.application.htmlhtml$$ Package com.ibm.connector.application

All Packages

package com.ibm.connector.application

Interface Index

LogonLogoff
length k$p7 I6z6$Pop./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.connector.connectionmanager.htmlhtml$$ Package com.ibm.connector.connectionmanager

All Packages

package com.ibm.connector.connectionmanager

Interface Index

Task

Class Index

ConnectionManager
ConnectionOrganizer
ConnectionTimestampAssociation
TaskTimer
 kv$7I6z6$@o./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.connector.html$$ Package com.ibm.connector

All Packages

package com.ibm.connector

Interface Index

Communication
ConnectionSpec
ConnectionSpecManagementProperties
InteractionSpec
InteractionSpecModeProperties

Exception Index

AlreadyConnectedException
CommunicationException
ConnectorException
InvalidTransactionException
LogonException
NoConnectionAvailableException
NotConnectedException
 k $7I6z6$Po./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.connector.infrastructure.htmlm$$ Package com.ibm.connector.infrastructure

All Packages

package com.ibm.connector.infrastructure

Interface Index

Coordinator
Identifier
LogonInfo
RASService

Class Index

DefaultLogonInfo
DefaultRASService
NullCoordinator
NullID
RuntimeContext
UniqueID
href="c kꢩ$%7&I6z6$Po%./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.connector.infrastructure.java.htmlhtml$$ Package com.ibm.connector.infrastructure.java

All Packages

package com.ibm.connector.infrastructure.java

Class Index

JavaCoordinator
JavaRASService
JavaRuntimeContext

Exception Index

JavaCoordinatorException
com k($7I6z6$@o./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.connector.internal.html.java.h$$ Package com.ibm.connector.internal

All Packages

package com.ibm.connector.internal

Interface Index

ConnectionManager
Managed
ManagedFactory
Resource

Class Index

DefaultConnectionManager
LogonInfoItems

Exception Index

BadInvOrderException
HeuristicCommit
HeuristicHazard
HeuristicMixed
HeuristicRollback
NotPrepared
ResourceException
TransactionRolledBack
method  k`y$q7 I6z6$@oq./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.ivj.eab.businessobject.htmla.h$$ Package com.ibm.ivj.eab.businessobject

All Packages

package com.ibm.ivj.eab.businessobject

Interface Index

IBusinessObject
IBusinessObjectKey
IInstanceSpace

Class Index

BusinessObject
BusinessObjectKey
ContextBasedInstanceSpace
InstanceSpaceHolder
SimpleInstanceSpace
StructuredInstanceSpace
ThreadBasedInstanceSpace
./  kZ$7I6z6$0o./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.ivj.eab.command.htmlt.$$ Package com.ibm.ivj.eab.command

All Packages

package com.ibm.ivj.eab.command

Interface Index

ICommand
ICommandPrimitive

Class Index

Command
CommandCommunicationPrimitive
CommandEvent
CommandMappingPrimitive
CommandObjectTransferPrimitive
CommunicationCommand
CommunicationNavigator
Navigator
SelectorRecord

Exception Index

CommandException
ExecutionException
InvalidInputStateException
InvalidOutputStateException
InvalidTriggerStateException
c kC$7I6z6$`o./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.ivj.eab.mapper.htmlt.$$ Package com.ibm.ivj.eab.mapper

All Packages

package com.ibm.ivj.eab.mapper

Interface Index

IMapper

Class Index

Mapper
/h4>  k$7"I6z6$Po./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.ivj.eab.record.cobol.htmlla.h$$ Package com.ibm.ivj.eab.record.cobol

All Packages

package com.ibm.ivj.eab.record.cobol

Class Index

CobolArrayType
CobolDynamicRecordType
CobolInitialValueObject
CobolOverlayType
CobolRecord
CobolRecordAttributes
CobolType

Exception Index

CobolRecordException
CodePageConversionException
o kN$7I6z6$@o./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.ivj.eab.record.terminal.html.h$$ Package com.ibm.ivj.eab.record.terminal

All Packages

package com.ibm.ivj.eab.record.terminal

Interface Index

IDelimitedTerminalType
IPaddedTerminalType
ITerminalElementType
ITerminalFieldType
ITerminalRecordType
ITerminalType

Class Index

FixedLengthTerminalAttributeType
FixedLengthTerminalFieldType
FixedLengthTerminalRecordType
TerminalRecordAttributes
VariableLengthTerminalFieldType
VariableLengthTerminalRecordType
tateexc k$7"I6z6$Po./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.record.ctypes.htmlinal$$ Package com.ibm.record.ctypes

All Packages

package com.ibm.record.ctypes

Class Index

CChar
CDouble
CFloat
CInt
CLanguageArrayType
CLanguageRecordAttributes
CLanguageRecordType
CLanguageUnionType
CLong
CLongLong
CShort
CWChar
b.rec kޠ$7I6y6$o./usr/IBMVJava/html/enterp/en_US/eab/ref/package-com.ibm.record.htmls.h$$ Package com.ibm.record

All Packages

package com.ibm.record

Interface Index

IAnyComposedType
IAnyDynamicRecordType
IAnyField
IAnyFixedLengthRecordType
IAnyType
IArrayField
IArrayType
IByteBuffer
ICustomRecord
ICustomRecordType
IDynamicRecord
IField
IFieldEnumeration
IFixedLengthComposedType
IFixedLengthRecordType
IFixedLengthType
INestedRecordField
IOverlayField
IOverlayType
IRecord
IRecordAttributes
IRecordType
ISizeable
ITypeInfo
ITypeSetInfo
IVariableLengthComposedType
IVariableLengthRecordType
IVariableLengthType

Class Index

AnyComposedType
AnyDynamicRecordType
AnyField
AnyFixedLengthRecordType
AnyType
ArrayField
BasicRecordAttributes
ColumnMajorArrayType
CustomRecord
CustomRecordType
DynamicRecord
Field
FieldData
FieldEnumeration
FixedLengthComposedType
FixedLengthRecordType
FixedLengthType
NestedRecordField
OverlayField
OverlayType
PaddingType
Record
RowMajorArrayType
SimpleTypeInfo
SimpleTypeSetInfo
TypeData
VariableLengthComposedType
VariableLengthRecordType
VariableLengthType

Exception Index

RecordArrayBaseTypeNotValidException
RecordConversionFailureException
RecordConversionUnsupportedException
RecordException
RecordFieldNameAlreadyExistsException
RecordFieldNameNotSetException
RecordFieldNotFoundException
RecordFieldTypeNotValidException
Package com.ibm.record.util

All Packages

package com.ibm.record.util

Interface Index

IKnowsIAnyType
IOrderedDictionaryEnumerator

Class Index

BeanDialogLauncher
OrderedDictionary
OrderedDictionaryEnumerator
om.ibm k.{$7FI6r6$o./usr/IBMVJava/html/enterp/en_US/eab/ref/r5hgnrcp.htmbm$$ java com.ibm.ivj.eab.record.generator.codegen.Generator Command Parameters

java com.ibm.ivj.eab.record.generator.codegen.Generator Command Parameters

Parameter Description
target path The path of the target directory.
package The name of the package in which to generate your files.

A dynamic record type that has been generated or edited using one of our tools is meta-data. It is used to generate records. The generated records contain a method getMetadataClass() which returns the class of the dynamic record type from which they were generated. If a dynamic record is generated, its type is generated from the input dynamic record type meta-data class. The input dynamic record type meta-data class should not be packaged as part of an application or applet. Therefore, you may want to generate records into a package that differs from the default package containing the dynamic record type meta-data.
class name The class name for the new record.
input dynamic record type The name of the dynamic record type that record generation will use.
output type The type of record for output. Use '0' for a custom record, and '1' for a dynamic record.

With custom records, offset information is generated directly into the code. This provides faster run time creation of the record and field access.

Dynamic records have full type information which adds overhead during record creation and field access, but provides greater flexibility such as support for variable length records.
layout The access mode of the record. Use '0' for direct access, and '1' for hierarchical access.

Direct access is recommended if you plan to include mappers in your Commands.

Depending on the complexity of the record fields, selecting hierarchical access may result in the generation of subrecords.
style The notification support of the record. Use '0' for notification support, and '1' for no notification support.
record attribute type The record level attribute class for the record. The record attribute type must match the input dynamic record type, and is used to specify record level attributes of the generated record.

ngrelc.gif (533 bytes)
Records: Overview

ngrelt.gif (466 bytes)
Generating a Record Bean or Class from the Command Line

">Fi k,U$ 7HI6r6$ o ./usr/IBMVJava/html/enterp/en_US/eab/ref/r5hgnrtc.htmbm$$ java com.ibm.ivj.eab.record.importer.gentype.cobol.CobolImport Command Parameters

java com.ibm.ivj.eab.record.importer.gentype.cobol.CobolImport Command Parameters

Parameter Description
target path The path of the target directory.
package The name of the package in which to generate your dynamic record type.
class name The class name for the new COBOL record type that will represent the commareas.
commarea[:commarea...] The names of the definition records for the commareas contained in the COBOL file.

If you specify more than one commarea, they will be overlayed in the same storage area.

The definition record is the data definition processed by the COBOL program. If the definition record for the commarea is defined in the 01 DFHCOMMAREA structure in the LINKAGE SECTION, specify DFHCOMMAREA as the COMMAREA field name. However, if the 01 DFHCOMMAREA is defined as a PIC X string that is later moved to a COBOL structure in WORKING STORAGE, you should specify this COBOL structure as the commarea
COBOL file The name of the COBOL file that you want to import.
-cics 1 Indicates that the generated dynamic record type is not intended for a CICS application.

The default generation style is for a CICS application. When this is the case, it is necessary to know the DFHCOMMAREA size since the size of the buffer area sent across the wire must equal the DFHCOMMAREA size. Consequently, if the commarea DFHCOMMAREA is not specified and the record type is intended for a CICS application, the DFHCOMMAREA will automatically be imported along with the specified commareas.

ngrelc.gif (533 bytes)
Records: Overview

ngrelt.gif (466 bytes)
Generating a Dynamic Record Type from COBOL Source Code from the Command Line
Editing Record Types in the Java Record Editor
Generating a Record Bean or Class

 l G$Ë7 I6s6$odU./usr/IBMVJava/html/enterp/en_US/eab/ref/tree.htmltmbm$$    .aceimortbdlns"<>_fhp #/=juvyCITgx()AFRELSBDMNOPVkz,-0Hw138JKU!59:q27;GWQ 4liK,a@ ,C+bP)C)~$H2 @(p#꾕 4U?O3 L]x^0 A 0PH R q*B6[T `8 Xp @@30)~$0V`Tu`zL(J+#D @*H`P5:#@ v #pppHTe JA!333ЛP #>+RbmAGqi)6P@rCff#=Tu`"΢ď L[, ZdXc:<%*:Rm Cz5 D@%$#I? M@XCb H0^ظ?T!;iwIAH\WH0.A `YMҘZwϏ;r!,H|~Ct˙~P.A,55[NyD1EwϏ;{.() 3!4]%@33%0=wCXqSU/Ss?JK@&yKo Me+Ӹ|~C gQbGdzNKGT .\ć+҇$R @"( D -)qS"΢ď;g>L .() 3!4#+AIA WqS"΢ď;g=s?J`204t"  @i$0VfbddzNc:<=w4) 3!4h8hKo Me+Ӹ|~C gQbGdzNC|iR.gCiC Pq 0` I!33%0=wCXqS utm˙~P4p] i@%i{>?T!Ȇ3#ypnMs?J`:6fff ZI -)qS"΢ď;g<(j2wMs?J:a i@%i{>?T!Ȇ3#yp˞G6BHrM(rA2Sq 0` I!3333%0=wCXqS .i ySm˙~P4a4"jw4 D[SYJ=wCXqSP&PG;H\WH0CAH)A`&yMA `YCffffff!6KJaki{>?T!Ȇ3#y]J:y4) 3!4XM y6Rm;g9u$y{>?T! &uN4[ gQbGdzN|i‚EuN4[aA"^4) 3!4!A"6 BlӸ|{)S>Ȇ3#`;Nt>FW&h.\ć+҇$O#+AƛDX xjk)^dzOPw<. Ԃjw4 @i$0Vffffb I!3333%0=wCXqSptiAgT#ƛE!r~$9_9 .:"jw4 D[SYJ=wCXqSM&uN=~CvZ.D1EwϏc=Aߪw]K:i43 xh.\ć+҇$\4R?T!G\4PG;4) 3!4qM0p] i@%i{>?T!Ȇ3#yc#M(#H\WH0 :hyMA `Y-$ BlӸ|~C gQbGdzN &xh.\ć+҇$a4"6Rm;g9u$y{>?T! &xh.\ć+҇$a4"6fff ZI -)qSm-Ȇ3#y>4[̙R.gCiC dq YMҘZwϏ;y܈c:<=wME4R.gCiC YDCffff!6KJaki{>?T!ƛKr!,H|~Cύ6Zv<.\ć+҇$ D+3331 ZS [Ny>4[ gQbGdzN|iW˙~P䂃+ BlӸ|~Cύ6CXqSm-:s?JP#T@$0VfffbddzN|i"΢ď;g?T!ƛKy28.\ć+҇$()Cffff!6KJaki{>=~CΟRCXq0Sy:}KΟSMs?J]>i@%aP2 333%0=wCXqS.i ynMs?JEPG n4 D[SYJ=wCXqS&PG;4) 3!4XM yMA `YCfffff!6KJaki{>?T!Ȇ3#y9h.\ć+҇$V6Rm;g9u$y{>?T!;o6BHrM(rA4i@$ +33331H`&iL-m;gȆ3#`;Nt>;o6BHrM(rAt?t m" `-ᩬzwϏc=AߪwԸ.R @8h +333331 ZS [NyD1EwϏ;yԋd ގMs?J]HP[~4 D+33331Y-$ BlӸ|{)SB\c:<= zT!-P.i y]L_׍6BHrM(rAH)A`=vZ m" `-ᩬzwϏc=Aߪw]K gQbGdzOPw?ejk)_Ms?J`zB@tRi@$ +3331 ZS [N`;N r!,H|{)SB\ &}vZ%%4) 3!4XM yj.q Wq0Syju$y{>=~CvZ/]IwIG6BHrM(rA ]%MA Ӹ|{)SB\c:<= zT!-Pa}vZ>4) 3!4PR m"  BlӸ|~C gQbGdzNB-A4) 3!4PZƛDCfff @+331 ZS [NyD1EwϏ;qM&xh.\ć+҇$\4R=~CvZ.2:҂<ϮT$ƛE!r~$9_9 .:"eJƛDX xjk)^dzOPw?eCXq0SyjvZ%%4) 3!4T$t6+N`;N r!,H|{)SB^I}vZ>4) 3!4ԛ@=vZ MA `Y-$ @i$0VfbddzNc:<=wN#R.gCiCaw /dX xjk)^dzNc:<=w;ȏYH\WH0&yY 0` I!33%0=wMu$y{>?T!ƛKyL( \WT"?/e!r~$9_9 D( \P&yY Y-$ BlӸ|{)U-zqU>CXq0S-vZ}-vZ|.\ć+҇$]qU>@%i{>=s]8r!,H|{)U-zqU>qkRקS!r~$9_9 ZTA `YMҘZwϏc=AjN*܈c:<= zŮK^UOŮK^UOR.gCiCEKX 8E D[SYJ= zŮK^UOu$y{>=s]8{8کkӊCJBHrM(rA(کk'S@3%0= zT!Or!,H|{)S>O_$d$]iTH\WH.R H'SCff!6KJaki{>=~CΟRCXq0Sy:}KΟS;ȏYH\WH.R @@%aP2 qS"΢ď;g=N#R.gCiC @@$ +31 ZS [N`;BCXq0Ss!HyR BHrM(rAw2A,55[N`;BCXq0Ss!H{̅ .\ć+҇$s!H D i$0VffbddzOPw̅!Ȇ3#`;BszR BHrM(rAw0ZcT " `-ᩬzT =B+ d("_ҫ33%0= zd)D1EwϏc=Aw2T ␹s?J,"?xH` I!333%0= zd)D1EwϏc=Aw2*XD~H\WH. U}D A,55[ Rv]ALPkUp0Vffb I!3 ZI -)q0Ss!Hr!,H|{)󹐤DCff!6KZi{>?T!E:y4) 3!4 i@$ +31 ZS [NT{W*CXqUO= tQp-?:T!r~$9_9 i]R~@X xjk)^dzΩU?T%Ȇ3#T{W*UOޫ!P\R.gCiC UOި "H0VfbddzΩU?.|_S gQbGdzΩU?.|_SiF^˙~Pj.( D[SYJ=uJпsc:<=uJпs:!r~$9_9 Fj^"  BlӸ|y*_Bϋr!,H|y*_BϋtQp-?е s?J E$5.hKo Me+Ӹ|y*_Bϋr!,H|y*_Bϋ~e˙~P@H\2ff!6KJakaP2_\\꣆ @+331 ZS [Ny/.D1EwϏ;qi}WRsR.gCiCyԀ s@%aP20NaP2 3 ZI -)@qipe+ITo Me+ d=5 Mff ZI -)q0Ss!Hr!,H|{)󹐤E!r~$9_9 PQ 0`&kWM;g9u$y{>?T!6w ?T!Ȇ3#yp˞G6BHrM(rA2Sq OҐdzNc:<=w;H\WH0&yMA Ӹ|~C gQbGdzNCgp]#ƛE!r~$9_9 u 7WHm"  Bl}qq4Ӹ|~C gQbGdzNCKJ BHrM(rAJ Bl}qq4Ӹ|~C gQbGdzNCKBiAgT#ƛE!r~$9_9 u XM y6~=wCXqSP TeT#ƛE!r~$9_9 u Ur @8hH=wCXqS&PG;4) 3!4XM yMA `YM֯.&wϏ;r!,H|~C(o6BHrM(rA4 DZ RӸ|~C gQbGdzN`6颐s?J`&mAD@3%_\\M4=wCXqS%!r~$9_9 ~J~=wCXqSPs?J`:.A `YM֯.&wϏ;r!,H|~Cw@m˙~Ph8hKh'H[NyD1EwϏ;{.i ynMs?J`EPG n4 D -jiq0S-vZ}Ȇ3#`;ZTTŮK^UO˙~PQkRN*~PCUPt0Vfbd닉dzOPw8کkӊ"΢ď;gDZqkRקSgU-zqU>(iH\WH0U-`$|4Kh'H[ 8*uUMff!6KZi{>?T!Ȇ3#ygqe\R.gCiC FQe\@$0Vfbd닉dzOPw̅!Ȇ3#`;B; AH\WH0.B@$0Vfbd닉dzOPw̅!Ȇ3#`;B; Ayc(.\ć+҇$s!H]yc(H`&kWM;g9u$y{>?T!E:y!r~$9_9 " `-) i{>?T!Ȇ3#y}Ss?J`MNff!6KZi{>?T!Ȇ3#yr-;H\WH0(&yMA,!m;g9u$y{>?T!wMs?J`MNƛD@3%_\\M4= zT!-P"΢ď;gDZ;T%GeMs?J` Ie4 DZ RӸ|{)SB\c:<= zT!-PT'ƛE!r~$9_9 j6ff!6KZi{>?T!Ȇ3#yh˞AH\WH0ːMN~=wCXqSAH\WH0&y@3%_\\M4=wCXqSs?J`EP@%-qS"΢ď;g=†t˙~P4t"  Bl}qq4Ӹ|~C gQbGdzN˺J)B>E!r~$9_9 PQ YM֯.&wϏ;r!,H|~CvHM(#̝utm˙~P,&R<]utq OҐdzNc:<=w ;4) 3!4h.Ẻ@8hH=wCXqS&PGMs?J`EPG4 D -jiqS"΢ď;g=a4҂<ΩG6BHrM(rAH)A`&yMA,!m;g9u$y{>?T!4 &uN?T!Ȇ3#yz207ƛE!r~$9_9 $er`h8hKh'H[NyD1EwϏ;{ .i ySm˙~P4a4"jw4 D -jiq0Syju$y{>=~CvZ/fHB|iR.gCiC e4 DZ RӸ|{)SB\c:<= zT!-PT'ƛE!r~$9_9 j6ff!6KZi{>?T!Ȇ3#y}Ss?J`MN~=wCXqS8ˮ) 3!4~(ˮ D -jiqS"΢ď;g=N#R.gCiC @@%-@t‚:3%_\\M4=wCXqSG6BHrM(rA5;m" `-) i{>?T!Ȇ3#ykPtH\WH0`6A `YM֯.&wϏ;r!,H|~C4R.gCiC  :hH`&kWM;gDZ;T%Ȇ3#`;N {Bi5H\WH0=vZ :k)^4 DZ RӸ|{)SB\c:<= zT!-PT'ƛE!r~$9_9 j6ff!6KZi{>=~CvZ.D1EwϏc=Aߪw]Ke]QMs?J`zBAI@8hKh'H[N`;N r!,H|{)SB^-PMe+iR.gCiC ]HW6ff!6KZi{>=~CvZ.D1EwϏc=Aߪw]Ke;H\WH0=vZ 6~= zT!-P"΢ď;gDZ;T% H\WH0=vZ MA Ӹ|~C gQbGdzNCP5Q=Sm˙~P4 Te&yMA `YM֯.&wϏc=Aߪw]K gQbGdzOPw?ejh.\ć+҇$-Pq OҐdzNc:<=w Ms?J`:6ff!6KZi{>?T!Ȇ3#y~4ڵ!r~$9_9 MeX A?JBT =B@/@3%_\\M4=wCXqSm.^˙~P6eCff!6KZi{>?T!Ȇ3#yc#M(#̝utm˙~P냦PG n4 DZ RӸ|~C gQbGdzNCgp]#ƛE!r~$9_9 u 7WHm" VdzNc:<=w2:҂<m˙~P냦PG4 D -jiqS"΢ď;g=:i43wMs?J`ptJ5;m" `-) i{>?T!Ȇ3#yp˞G6BHrM(rA2Sq i{>?T!Ȇ3#yc#M(#̝utm˙~P냦PG n4 D -jiqS"΢ď;g=:i43ƛE!r~$9_9 .:"6~=wCXqSPm˙~P4i@$ +31 ZNT{Q} >/Ȇ3#T{Q} >/.\ć+҇$H`&iL-m;gDZqkRקSD1EwϏc=AjN*ԿM,ؚ3R␹s?Je/S@I4W" -jiqUO9u$y{>=|M|M) 3!4iX xjk)^dzOPw4"΢ď;gDZiy\R.gCiC kff!6KJaki{>?T!Ȇ3#y}Ss?J`MNff ZI -)qS"΢ď;g<_uN BHrM(rAE5; D[SYJ=wCXqS˙~P_jw@$ +331 ZS [NyD1EwϏ;t TeT .\ć+҇$ Te&yX xjk)^dzNc:<=w˙~Pa H0VffbYMҘZwϏc=AߪwԹu$y{>=~CΟRN BHrM(rAtMNRl*C޸]pt0Vffb I!3 ZI -jiqUO= r!,H|y*ʄR_M˙~Piz/ BlӸ|y*_Bϋr!,H|y*_Bϋ~}H\WH$Zu_A>@$0VfbYMҘZwϏ:Tڋ_}N*C gQbGdzΩU?.|_Sdp}N'BHrM(r@ -_y@ D+31YMҘZwϏc=Aw2"΢ď;gDZ; CSSs?J&S" `-ᩬzwϏ;r!,H|~CYe˙~PQ@Ye"  Bl d9o MZ(`-ᩬzT =B@/@3-$ BlӸ|~C gQbGdzNwij/JBHrM(r@S@MeX xjk)^dzNc:<=wMQzR.gCiC 4Qz@$ +31YMҘZwϏc=AjN*܈c:<= zŮK^UO MZ𩥛E!r~$9_9 M᩠e/S@I4@%i{>=s]8r!,H|{)U-zqU>j_¦lM˙~P) MA `YMҘZwϏ;r!,H|~C׍6_j/JBHrM(r@S@M&E WqS"΢ď;g=iu.\ć+҇$i׃( D -)q0S-vZ}Ȇ3#`;ZTT\Z𩥛E!r~$9_9 O}HR4DX xjk)^dzOPw8کkӊ"΢ď;gDZqkRקSv*ifH\WH02$ؚ D -jiqUO=~CvZ.D1EwϏc=Aߪw]KvZ=S8˙~Pe @@%i{>?T!Ȇ3#y}S8˙~Pjw8"  Bl d:aAgT!aP20R0` I!33%0=uJR~Y "΢ď;gǝRyTVB">.\ć+҇$+Rm;gǝRyTVB"Ȇ3#Ty*Us?JxX D H`&iL-l*CvL4[SYJzMul@`YCfff!6KJakaP20f @+3331 ZS [ 8$Zp~A333-$ BlӸ|{)S>Ȇ3#`;Nt>wA3FBHrM(rAtMNp~DCfffff!6KJaki{>=~CΟRCXq0Sy:}K΢Pުf˙~P(@EW.@8LѿzA!3333%0= zd)D1EwϏc=Aw2̅"f˙~Pd)8LѿzA!3333-$ BlӸ|{)󹐤9u$y{>=yRjE&h߽QH\WHR/T D+333331 ZS [N`;BCXq0Ss!H{PMh_) 3!4PMF' 7T@$0VfffffbddzOPw̅!Ȇ3#`;BFE>&h߽QH\WH2Bm$_/&h߽Q YMҘZwϏc=Aw2"΢ď;gDZ; CچBm\ 7TR.gCiC @?X@Ep D+33331YMҘZwϏ:T gQbGdzΩU?UOPLѿzs?J]Rx 7T@$0VffffbYMҘZwϏ:T gQbGdzΩU?@*4oި.\ć+҇$@]R~ D+333331 ZS [NT{W*CXqUO= s-C7]A3FBHrM(r@, CO" 7T@$0VfffffbddzΩU?CXqUO<`\ުf˙~P`\ި 7T@$0VfffffbddzΩU?CXqUO=d& \Oުf˙~P(d&Хp~DCffffff!6KJaki{>?T!Ȇ3#y;.(ҷBm4oި.\ć+҇$SEP4.hf" H`Cfff @+31YMҘZwϏ;r!,H|~CiR.gCiC4@$0VfbddzΩU?.|_S gQbGdzΩU?.|_SU.!r~$9_9 U.1 WqUO= CXqUO= Ww\R.gCiC Ww\@$ +1H-$ AK3331  >c"H;M%+6&$pa $0Vfb?#I JIL-l]& b!,Hak:R@%3#R[,JФ03PA$^BRI=#Yt$E$0RP4HgI ˙ krBX$7FI6z6$A./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5haeovr.htm$$ Accessing Enterprise Data: Overview

Accessing Enterprise Data: Overview

The following list provides a typical task flow for accessing enterprise data with the Enterprise Access Builder:

  1. Generate a dynamic record type.

    Use the SmartGuide that corresponds to your middleware to generate a record type for your source. The dynamic record type represents the data structure on the host. It can be used as generated or modified in the record editor.

  2. Edit the dynamic record type.

    Use the record editor to modify your record type. If you have COBOL source with a simple commarea, this step may not be necessary.

  3. Generate a record bean or class.

    Use the Generate Records SmartGuide to generate a record bean or class based on the record type you define as input.

  4. Construct Commands.

    Define connection and interaction specifications and use them in conjunction with record beans to create Commands. Commands define the flow of single interactions with the host program.

  5. Construct a Navigator.

    Use your Commands to construct a Navigator that combines the Commands you created and defines the overall flow of interactions with the host system.

  6. Create a business object.

    Create a class that inherits from the BusinessObject class. You can create either managed or unmanaged business object classes.

  7. Map the business object to the record bean.

    Use the Mapper Editor to create a mapper that maps the properties between the business object and records. Then, add the mapper to the record beans in the Command.

  8. Connect business objects.

  9. Export business objects and supporting classes.

    If you wish to use your business objects in another environment -- for example, IBM Component Broker or IBM WebSphere -- export your business objects and associated classes.

  10. Create a client program using your business objects.

    Use the VisualAge for Java Visual Composition Editor to construct a client program that contains your business objects.

  11. Test your client application.

    Test run your client program as either an applet or from program main.

  12. Deploy your client application.

    Package and deploy your client program and supporting classes and set up your Web server. Start the client as an applet or as a stand-alone application.

ngrelc.gif (533 bytes)
Enterprise Access Builder: Overview
Enterprise Access Builder Commands
Enterprise Access Builder Navigators
Business Objects
Mappers
Records: Overview

ngrelt.gif (466 bytes)
Generating a Dynamic Record Type: Overview
Editing Record Types in the Java Record Editor
Generating a Record Bean or Class
Constructing a Command
Constructing a Navigator
Creating a Managed Business Object Class
Creating an Unmanaged Business Object Class
Creating a Mapper: Overview
Deploying a Client Program as an Applet
Deploying a Client Program as a Stand-Alone Application

ic rec kd5X$J#7FI6z6$JJ#./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcomm1.htm$$ Creating an Enterprise Access Builder Command

Creating an Enterprise Access Builder Command

To create an Enterprise Access Builder Command, you must be familiar with VisualAge for Java class creation and the concepts of the VisualAge for Java Visual Composition Editor.

Each Command you develop has to extend the CommunicationCommand base class that is provided with the Enterprise Access Builder.

To create your own Command, you must first create a subclass of CommunicationCommand using the Class Creation SmartGuide provided with VisualAge for Java.

You can use the following tools to create a Command:

  • the Visual Composition Editor
  • the Command Editor

The Visual Composition Editor will provide you the freedom of visual programming when composing a Command. The Command Editor will guide you through the steps of constructing a Command, and thus allow you to focus on the specific composition patterns of a Command. Because both tools work on the same metadata, you can switch from one tool to the other, while working on the same Command.

Creating a Command in the Visual Composition Editor
To launch the Visual Composition Editor, do the following:

  1. Select the Command that you created.
  2. On the selected Command, pop up the context menu, and choose Open. The class browser will open on your Command.
  3. Then, select the 'Visual Composition' tab, if it is not already selected.

In the Visual Composition Editor, selecting Choose Bean from the bean palette will allow you add a bean. To add a specific bean variable, you must first select Choose Bean; the Choose Bean dialog will then appear. Then, select the class of the bean and its name, and indicate whether you want to add it to the Command composition as a bean or as a variable bean. Add the connection specification, the interaction specification, and the input and output record beans to the Command composition following the procedure described above. To access the class names of the connection and interaction specifications, please refer to the documentation for the Common Connector Framework connector that you want to use.

Note: Adding a connection specification is optional.

Note: The types of record beans that are available depends on the Common Connector Framework-based connector that you are using. We can distinguish three types of connectors, with respect to record beans:

  • Connectors that support only RecordJava-based record beans (i.e. they implement the IByteBuffer interface)
  • Connectors that support both RecordJava-based record beans and a connector-specific form of record beans
  • Connectors that support only a connector-specific form of record beans.

When you have completed the above, you must connect the beans in the Command composition to the generic execution code that your Command inherits from the CommunicationCommand base class.

You must create the following property-to-property connections:

  • Connect between the 'this' property of the connection specification and the 'connectionSpec' property of the Command.
  • Connect between the 'this' property of the interaction specification and the 'interactionSpec' property of the Command.
  • Connect between the 'this' property of the input record bean and the 'input' property of the Command.
  • Connect between the 'this' property of the output record bean and the 'output' property of the Command.

n5hcom02.gif (16796 bytes)

 

If you choose to construct a Command in the Visual Composition Editor, and then view it in the Command Editor, you must follow the naming convention used by the Command Editor:

  • The interaction specification bean should be named ceInteractionSpec
  • The connection specification bean should be named ceConnectionSpec
  • The input bean should be named ceinput and the corresponding mapper bean should be named ceMapperCeInput
  • If there is only one output that does not implement IByteBuffer interface, it should be named ceoutput and the corresponding mapper should be named ceMapperCeOutput
  • If there is only one output bean implementing IByteBuffer interface, it should be named ceOutput1 and the corresponding mapper should be named ceMapperCeOutput1
  • If there are multiple output beans, they should be named ceOutput1, ceOutput2, ... and corresponding mappers should be named ceMapperCeOutput1, ceMapperCeOutput2, ...

Creating a Command in the Command Editor
To launch the Command Editor, do the following:

  1. Select the Command that you created.
  2. On the selected Command, pop up the context menu, and choose Command Editor from the Tools menu. The Command Editor will open, displaying in the Tasks node the tasks that you have to perform in order to complete a Command composition.

n5hcom03.gif (6337 bytes)

To create a Command in the Command Editor, you must work with the following tasks: Communication, Input, and Output.

Communication allows you to add a connection specification and an interaction specification. Select the Communication task node, and then pop up the menu. In the menu, you can choose to add either a connection specification or an interaction specification. The class chooser dialog will prompt you to select from a set of classes reduced to either all classes implementing the Common Connector Framework ConnectionSpec interface, or all classes implementing the Common Connector Framework InteractionSpec interface.

Input allows you to add a record bean. Select the Input task node, and then pop up the menu. In the menu, you can choose to add either a record bean that is RecordJava-based (i.e. it implements the IByteBuffer interface), or any other record bean. You can also add a record bean as a variable bean (see Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command).

Output allows you to add a record bean. Select the Output task node, and then pop up the menu. In the menu, you can choose to add either a record bean that is RecordJava-based (i.e. it implements the IByteBuffer interface), or any other bean. If you choose to add a RecordJava-based record bean, you will be able to add more than one.

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Implementing the handleException Method for an Enterprise Access Builder Command
Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command
Associating Mappers with Input and/or Output Record Beans
Defining More than One Output Bean for an Enterprise Access Builder Command
Checking the Input State of an Enterprise Access Builder Command
Checking the Trigger State of an Enterprise Access Builder Command
Executing an Enterprise Access Builder Command
Creating a Navigator
Mapping Between a Business Object and a Record Bean
Accessing Enterprise Data: Overview

ByteBu kꊡX$_7FI6z6$\_./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcomm2.htm$$ Editing and Promoting Bean Properties of an Enterprise Access Builder Command

Editing and Promoting Bean Properties of an Enterprise Access Builder Command

You can edit the properties of the connection specification, interaction specification, and input/output record beans by launching a 'Property Sheet' on any of them.

To access the 'Property Sheet' in both the Visual Composition Editor and the Command Editor, select the bean that you want to edit, and then select Properties from the pop-up menu.

Note: You must edit the properties of the connection and interaction specifications. Whether you have to edit the properties of other beans will depend on the situation-at-hand.

n5hcom21.gif (6057 bytes)

 

Promoting Features of Input and Output Record Beans
You can promote features from input and output record beans by launching the Promote Features dialog on the desired input or output record bean.

To access the Promote Features dialog box in both the Visual Composition Editor and the Command Editor, select the bean that you want to work with, and then select Promote Bean Feature from the pop-up menu.

You can either promote the input or output record bean as a whole, or just the selected properties.

You can view the bean features promoted in this way through the Bean view on a Command class. To launch the Bean view, select the Command that you created, pop up the context menu on the selected item, and choose Open. The class browser will open on your Command. Then, select the Bean tab.

n5hcom22.gif (10488 bytes)

 

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Implementing the handleException Method for a Command
Working with Input Bean Variables and Input Beans for a Command
Associating Mappers with Input and/or Output Record Beans
Defining More than One Output Bean for a Command
Checking the Input State of a Command
Checking the Trigger State of a Command
Executing a Command
Creating a Navigator
Editing and Promoting Bean Properties of a Navigator
Mapping Between a Business Object and a Record Bean

= kIX$ 7FI6z6$ d ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcomm3.htm$$ Implementing the handleException Method for an Enterprise Access Builder Command

Implementing the handleException Method for an Enterprise Access Builder Command

By default, when you compose a Command through the Visual Composition Editor or the Command Editor, a method named handleExceptions will get generated.

The generated method looks as follows:

n5hcom04.gif (3436 bytes)

You must change the method to the following:

n5hcom05.gif (3951 bytes)

Your Command inherits the internalExceptionHandler(...) method from the CommunicationCommand class. This inherited method ensures that the exceptions are flowing the correct way.

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command
Associating Mappers with Input and/or Output Record Beans
Defining More than One Output Bean for an Enterprise Access Builder Command
Checking the Input State of an Enterprise Access Builder Command
Checking the Trigger State of an Enterprise Access Builder Command
Executing an Enterprise Access Builder Command
Creating a Navigator
Implementing the handleException Method for a Navigator
Mapping Between a Business Object and a Record Bean

  kꪔX$7FI6z6$j./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcomm4.htm$$ Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command

Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command

When you pass a concrete record bean instance from the outside to the Command during run time, you would specify the input record bean of a Command as a bean variable. This is especially useful in the cases where the output of one Command is the input of the following Command. Instead of transferring the output of one Command on a property-by-property basis to the input of the other Command, you get the output of one Command as a whole, and set it, as a whole, as the input of the other Command.

In the Visual Composition Editor, selecting Choose Bean from the bean palette will allow you add a bean. To add a specific bean variable, you must first select Choose Bean; the Choose Bean dialog will then appear. Then, select the class of the bean and its name, and indicate that you want to add it to the Command composition as a bean variable.

To add a bean variable in the Command Editor, select the Input task node, and then pop up the context menu. You can choose to add either a bean variable for a record bean that is RecordJava-based (implementing the IByteBuffer interface), or any other record bean as a bean variable.

Note: The types of record beans that are available depends on the Common Connector Framework-based connector that you are using. We can distinguish three types of connectors, with respect to record beans:

  • Connectors that support only RecordJava-based record beans (i.e. they implement the IByteBuffer interface)
  • Connectors that support both RecordJava-based record beans and a connector-specific form of record beans
  • Connectors that support only a connector-specific form of record beans.

If you define the input record bean as a bean variable, you must edit the bean properties and promote features in the Visual Composition Editor.

To edit a property of a record bean variable (i.e. setting it to a fix value when the bean variable gets set) in the Visual Composition Editor, do the following:

  1. Create an event-to-action connection between the 'this' event of the record bean variable and the setter method of the record bean property that you want to set.
  2. Select the connection that you just created, and open the properties dialog.
  3. Then, select the Set Parameters button to access the property sheet that allows you to specify a fix value that you want to set as the parameter of the setter.

n5hcom06.gif (1407 bytes)

To promote a property of a record bean variable (i.e. making the record bean variable a part of the interface of a Command), do the following:

  1. Create an event-to-action connection between the 'this' event of the record bean variable and the setter method of the record bean property that you want to be able to set from outside the Command.
  2. Define the property as a settable property of your Command. You can do this using the Property Creation SmartGuide available in the Bean view on your Command.
  3. Create a property-to-parameter connection between the property of the Command you just created and the connection parameter of the event-to-action connection that you created before.

n5hcom07.gif (1541 bytes)

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Implementing the handleException Method for an Enterprise Access Builder Command
Associating Mappers with Input and/or Output Record Beans
Defining More than One Output Bean for an Enterprise Access Builder Command
Checking the Input State of an Enterprise Access Builder Command
Checking the Trigger State of an Enterprise Access Builder Command
Executing an Enterprise Access Builder Command
Creating a Navigator
Mapping Between a Business Object and a Record Bean

her k꒸X$7FI6z6$u./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcomm5.htm$$ Associating Mappers with Input and/or Output Record Beans

Associating Mappers with Input and/or Output Record Beans

Although associating a mapper with an input or output record bean is optional, using mappers within Enterprise Access Builder Commands facilitates the moving of data between the properties of a record bean and the properties of other objects.

To add a mapper to a record bean in the Visual Composition Editor, do the following:

  1. Tear off the mapping helper that your Command inherits from the CommunicationCommand base class.
  2. From the context menu of the free-form surface, choose Tear-Off Property. In the Tear-Off Property dialog, select the property named 'mappingHelper'. You will now have a mapping helper bean named 'mappingHelper1' available on the free-form surface.
  3. For each record bean mapper association that you want to establish, you must do the following:
    1. Add a mapper bean using the Choose Bean function.
    2. Create an event-to-action connection between the 'this' property of the record bean and the 'key' parameter of the event-to-action connection that you created before.
    3. Create a property-to-parameter connection between the 'this' property of the record bean and the 'key' parameter of the event-to-action connection that you created before.
    4. Create a property-to-parameter connection between the 'this' property of the mapper bean and the 'value' parameter of the event-to-action connection that you created before.

n5hcom08.gif (2250 bytes)

To add a mapper to a record bean in the Command Editor, do the following:

  1. Select an input or output record bean.
  2. From the context menu, choose Add Mapper. The class chooser dialog will appear, prompting you to select from a set of classes that implement the Enterprise Access Builder IMapper interface.

If the input of the Command is defined by a record bean variable, you must add a mapper using the Visual Composition Editor. In this case, do the following:

  1. Add a mapper bean using the Choose Bean function.
  2. Create an event-to-action connection between the 'this' event of the input record bean variable and the 'addObjectMapperAssociation' method of the mapping helper.
  3. Create a property-to-parameter connection between the 'this' property of the input record bean and the 'key' parameter of the event-to-action connection that you created before.
  4. Create a property-to-parameter connection between the 'this' property of the mapper bean and the 'value' parameter of the event-to-action connection that you created before.

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Implementing the handleException Method for an Enterprise Access Builder Command
Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command
Defining More than One Output Bean for an Enterprise Access Builder Command
Checking the Input State of an Enterprise Access Builder Command
Checking the Trigger State of an Enterprise Access Builder Command
Executing an Enterprise Access Builder Command
Creating a Navigator
Mapping Between a Business Object and a Record Bean

g he kLX$7FI6z6$./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcomm6.htm$$ Defining More than One Output Record Bean for an Enterprise Access Builder Command

Defining More than One Output Record Bean for an Enterprise Access Builder Command

For a Command, you can specify more than one output record bean if all the output bean candidates implement the IByteBuffer interface (i.e. if they are RecordJava-based). Only one of the output bean candidates will handle the data returned by the host sytem; the checkBytes method defined by the IByteBuffer interface is used to determine the output bean responsible for handling the data.

Note: The record beans generated from COBOL, BMS and MFS all implement the IByteBuffer interface.

To add multiple output record beans to a Command in the Visual Composition Editor, do the following:

  1. Add multiple output record beans to the composition.
  2. Add a SelectorRecord bean using the Choose Bean function. The Enterprise Access Builder provides the SelectorRecord class; name it selectorRecord.
  3. Create a property-to-property connection between the 'object' property of the SelectorRecord and the 'output' property of the Command.
  4. For each output record bean, do the following:
    1. Create an event-to-action connection between the 'initialise' event of the Command and the 'addSelectableRecord' method of the SelectorRecord.
    2. Create a property-to-parameter connection between the 'this' property of the output record bean and the 'record' parameter of the event-to-action connection you just created.

n5hcom09.gif (2299 bytes)

To add multiple output record beans in the Command Editor, do the following:

  1. Select the output task.
  2. From the context menu, choose AddIByteBuffer Bean. The class chooser dialog will pop up, prompting you to select from a set of classes that implement the IByteBuffer interface.

You can repeat the above sequence for as many output record beans that your Command should contain.

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Implementing the handleException Method for an Enterprise Access Builder Command
Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command
Associating Mappers with Input and/or Output Record Beans
Checking the Input State of an Enterprise Access Builder Command
Checking the Trigger State of an Enterprise Access Builder Command
Executing an Enterprise Access Builder Command
Creating a Navigator
Mapping Between a Business Object and a Record Bean

t k>UX$] 7FI6z6$ ] ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcomm7.htm$$ Checking the Input State of an Enterprise Access Builder Command

Checking the Input State of an Enterprise Access Builder Command

The input state of a Command is checked after the optional mapping of input occurs and before the actual communication with the host system is carried out.

For this purpose, the generic Command execution calls the method checkInputState that your Command inherits from CommunicationCommand. The default implementation of this method does not do anything. The default implementation looks as follows:

n5hcom10.gif (1913 bytes)

In your Command, you can overwrite this method. An implementation would call the getInput() method of your Command, and check the input data to determine whether the input data is set on what the Command expects to execute. If the check is negative, an InvalidInputStateException has to be thrown. A client of a Command can catch this exception.

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Implementing the handleException Method for an Enterprise Access Builder Command
Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command
Associating Mappers with Input and/or Output Record Beans
Defining More than One Output Bean for an Enterprise Access Builder Command
Checking the Trigger State of an Enterprise Access Builder Command
Executing an Enterprise Access Builder Command
Creating a Navigator
Mapping Between a Business Object and a Record Bean

 kgX$~7FI6z6$~./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcomm8.htm$$ Checking the Trigger State of an Enterprise Access Builder Command

Checking the Trigger State of an Enterprise Access Builder Command

The trigger state of a Command is checked for the record bean that is optionally contained as property in the CommandEvent object. The CommandEvent object is the object that gets passed to the execute(CommandEvent event) method of the Command.

The check that takes place determines whether the passed Record bean represents the right precondition for the Command to execute; this check occurs when the generic Command execution calls the method checkTriggerState that your Command inherits. This method is called only if a record bean was passed with the CommandEvent object. (Note: For more information on the CommandEvent object, see Executing an Enterprise Access Builder Command.) The signature of the method called is as follows (the transferObject argument is set to the record bean that was passed):

n5hcom11.gif (1897 bytes)

The default implementation of this method does the following:

  • If the input of the Command is defined as a record bean, the method checks whether the class of the record bean that was passed with the transferObject matches the class set in the expectedTriggerClass property of the Command. By default, the expectedTriggerClass property is set to null. With this setting, the check never fails. If you do not want to use the default setting, the expectedTriggerClass property does allow you to tailor the check, so that the check only succeeds if the class of the transferObject matches the expected trigger class.
  • If the input of the Command is defined as a record bean variable, the method checks whether the class of the record bean that was passed matches the class of the record bean variable defined in the Command. If they do not match, the check will fail.

In your Command, you can overwrite this method to provide a checkTriggerState logic that best suits your scenario.

If the check is negative, an InvalidTriggerStateException has to be thrown. The generic Command execution logic catches this exception and stops execution (i.e. the exception of the Command ends, but no exception gets thrown).

Note: The default implementation of the checkTriggerState method is optimized for the use of Commands in Navigators. Very seldomly will you need to overwrite this method in your own Command implementation.

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Enterprise Access Builder Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Implementing the handleException Method for an Enterprise Access Builder Command
Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command
Associating Mappers with Input and/or Output Record Beans
Defining More than One Output Bean for an Enterprise Access Builder Command
Checking the Input State of an Enterprise Access Builder Command
Creating a Navigator
Mapping Between a Business Object and a Record Bean

3> kX$D*7FI6z6$D*./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcomm9.htm$$ Executing an Enterprise Access Builder Command

Executing an Enterprise Access Builder Command

Setting the Command Input
On input, you must indicate whether the input of the Command was defined as a record bean or as a record bean variable.

If the input of the Command was defined as a record bean, the following options are available to you for setting the Command Input:

  • If you promoted the input record bean as a whole, then you can call the getter method that resulted from the promotion task, in order to have type correct access on the input record bean. Then, use the setter methods of the input record bean to set the input data.
  • If you promoted the properties of your input record bean, then use the setter methods that resulted from the promotion task to set the input data.
  • If you called the inherited getInput() method to access the input record beans, then use its setter methods to set the input data. Note: You must typecast the return of getInput() to the correct record bean type.

If the input of the Command was defined as a record bean variable, you must do the following:

  1. Create an instance of a record bean that matches the type of the record bean variable that was defined as the input of your Command.
  2. Use the setter methods of the record bean instance to set the input data.
  3. Then, use the inherited setInput() method of the Command to assign the record bean instance to the record bean variable.

If your input record bean variable is associated with a mapper, and the mapper maps from keyed business objects, then you need to set only those properties of the (variable) record bean that represent key properties of business objects. The rest of the record bean properties are set when the associated mapper gets processed during the Command execution.

The Execute Methods
Your Command inherits two execute methods from the CommunicationCommand base class; these two execute methods drive the execution of your Command. Their signature is as follows:

n5hcom13.gif (2143 bytes)

Use the first signature when handscripting with Commands; use the second signature when visual scripting with Commands.

Getting the Command Output
If you promoted the output record bean as a whole, or promoted only selective properties of the output record bean, you can use the respective getter methods that resulted from the promotion task, in order to access the data of the output record bean. You can also access the output record bean by calling the inherited getOutput method of the Command. Note: You must typecast the return of getOutput() to the correct record bean type.

If your output record bean is associated to a mapper, then you can access, through the inherited getMappedObjects method of your Command, the objects data that was mapped to during the execution of the Command.

The executionSuccessful/Unsuccessful event
You can use the executionSuccessful and executionUnsuccessful event when visual scripting with a Command. A Command signals the executionSuccessful event if the execution completed without an exception. If an exception occurs during execution, the Command will signal an unsuccessfulEvent.

With both events, a CommandEvent object gets transferred.

The CommandEvent Object
The CommandEvent object is a container for properties. It provides named access to the property values.

Use the CommandEvent object with the execute(CommandEvent event) method and the successful/unsuccessful event to enable execution properties to flow implicitly to and from a Command.

A Command uses the following properties:

  • __ComIbmIvjEabCommand_Object
    On execute(CommandEvent event), this property can contain a record bean. The record bean that is passed is used to check the trigger state of the Command. If the input of a Command is defined as a record bean variable, the record bean that is passed as a property of the CommandEvent object is set to the record bean variable.

    Upon signalling executionSuccessful or executionUnsuccessful, the property will contain the output record bean resulting from the execution of the Command signalling the event.
  • __ComIbmIvjEabCommand_Communication
    When this property is set, the value is a connected Common Connector Framework communication; the Command will not alter the value (in other words, what gets passed on input is still present with the executionSuccessful/Unsuccessful event).
  • __ComIbmIvjEabCommand_MappedObjects
    On execute(CommandEvent event), this property can contain a collection of objects that the data has been mapped to thus far. On signalling executionSuccessful or executionUnsuccessful, the collection is enhanced by objects that the data has been mapped to in this Command. The collection that you must use is that of type com.ibm.ivj.eab.util.Set.
  • __ComIbmIvjEabCommand_Exception
    This property is set only upon signalling executionUnsuccessful. If the event listener handled the exception, the event listener must delete the exception from the CommandEvent object. Otherwise, the event sending the Command will rethrow the exception.

Note: When receiving a CommandEvent with an executionUnsuccessful event, all properties (except for the property containing the exception) may contain incomplete data depending on where the exception occurred.

Exceptions
As a caller of the execute methods, you must be aware of the following exceptions:

  • InvalidInputStateException
    This exception gets thrown when the checkInputState method of your Command fails.
  • ExecutionException
    This exception gets thrown for any other Command internal error (for example, in the case that no connection specification or communication was provided).
  • ConnectorException
    Subclasses of this exception get thrown by the Common Connector Framework communication interface. For details on this exception, please refer to the Common Connector Framework javadoc. If the generic execution logic of the Command catches a ConnectorException, it disconnects the communication (if the Command created the communication), and rethrows the exception.
  • InvalidOutputStateException
    This exception gets thrown in the case that multiple output record beans are defined for a Command, and either none or more than one of the specified output record beans are able to handle the data returned by the host system.

Note: In the case of other exceptions, the communication may get disconnected. In such cases, the disconnectCommunication property is not considered.

Influencing How the Communication Gets Handled
Rather than specify the connection specification fix in your Command, you can pass the connection specification dynamically during run time to the Command, through the inherited setConnectionSpec(...) method.

Whether a Command disconnects the communication it created at the end of its execution will depend on the setting of the disconnectCommunication property. By default, the disconnectCommunication property is set to true, which means that the communication gets disconnected.

Instead of passing a connection specification from the outside to your Command, it is possible to pass an already-connected communication. If a communication gets passed from the outside, the setting of the disconnectCommunication property has no effect, which means that the Command is not disconnecting the communication at the end of execution.

Using the CCF RuntimeContext with a Command
Using the CCF (Common Connector Framework) RuntimeContext involves the same process as using the CCF RuntimeContext directly with a CCF connector.

The Enterprise Access Builder Command makes use of the CCF RASService interface of the RuntimeContext.

For more information on the CCF RuntimeContext, see Setting Up the Common Connector Framework Run-time Context.

NGRELC.GIF (533 bytes)
Enterprise Access Builder Commands: Overview
Navigators: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Implementing the handleException Method for an Enterprise Access Builder Command
Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command
Associating Mappers with Input and/or Output Record Beans
Defining More than One Output Bean for an Enterprise Access Builder Command
Checking the Input State of an Enterprise Access Builder Command
Checking the Trigger State of an Enterprise Access Builder Command
Creating a Navigator
Executing a Navigator
Setting Up the Common Connector Framework Run-time Context
Mapping Between a Business Object and a Record Bean

Creating a Managed Business Object

Creating a Managed Business Object

Creating a managed business object consists of the following steps:

  1. Creating a new class
  2. Defining the properties for the new class
  3. Creating a key class
  4. Creating an instance of the managed business object

Creating a New Class
If necessary, create a new project and package to contain the business object. Then, create a class that inherits from BusinessObject (for example, DemoBusinessObject). The class you create must supply a default constructor.

Defining the Properties for the New Class
The properties of the business objects are treated differently, depending on whether or not the property is part of the business object key.

  • Non-key properties should be defined as normal Java properties as defined by the JavaBean specification.
  • In the case of a business object's key, rather than having a getter/setter for the property, there is only a getter; that getter calls the getter for that property on the business object's key. In other words, the business object delegates getter access to key properties to the corresponding property of the business object key. For example, in the case of the classes below, name would be a key property.

n5hbocls.gif (5278 bytes)

The getName() method of the DemoBusinessObject would resemble the following example:

/**
* Perform the getName method.
* @return java.lang.String
*/
public String getName() {
     /* Perform the getName method. */
    return ((DemoBusinessObjectKey)this.getKey()).getName();
}

Creating a Key Class
Create a key class with the same name as the business object class, but with the suffix Key on the class name (for the example above, DemoBusinessObjectKey). For a key class, the following requirements should be met:

  • It must inherit from the BusinessObjectKey class.
  • It must define the properties representing the key for the business object.
  • It must implement the getPropertyValues() method (defined abstract within the BusinessObjectKey class). The sample below shows DemoBusinessObjectgetPropertyValues method:

/**
* getPropertyValues method comment.
*/
protected java.lang.Object[] getPropertyValues() {
         return new Object [] { this.getName() };
}

Create an Instance of the Managed Business Object
Create an instance of the managed business object by invoking the getTarget() method of the BusinsessObjectKey class (for the example above, DemoBusinessObjectKey.getTarget(true)).

During the execution of the getTarget() method on the BusinessObjectKey, the business object instance that corresponds to that key is returned.

The sample below illustrates the construction of a DemoBusinessObject:

/**
* This method was created in VisualAge.
*/
public void makeBO() {


     DemoBusinessObjectKey demoKey = new DemoBusinessObjectKey();
     demoKey.setName("Kate");
     DemoBusinessObject demoBO =
                    (DemoBusinessObject)demoKey.getTarget(true);


}

ngrelc.gif (533 bytes)
Business Objects

ngrelt.gif (466 bytes)
Creating a Class
Creating an Unmanaged Business Object

the m kX$7FI6z6$P ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hcrubo.htm$$ Creating an Unmanaged Business Object

Creating an Unmanaged Business Object

An unmanaged business object is an object that has no key. To create an unmanaged business object, complete the following steps:

  1. If necessary, create a new project and package to contain the business object.
  2. Create a class (for example, MyCustomer) that inherits from BusinessObject.
  3. Define the properties for the new class. These properties are normal Java properties as defined by the JavaBean specification.
  4. Instantiate the object using one of the supplied constructors.

ngrelc.gif (533 bytes)
Business Objects

ngrelt.gif (466 bytes)
Creating a Class
Creating a Managed Business Object

ess o kX$U7FI6z6$ U./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hctrnt.htm$$ Setting Up the Common Connector Framework Run-Time Context

Setting Up the Common Connector Framework Run-Time Context

The Common Connector Framework (CCF) run-time context provides infrastructure services to a CCF connector in a standardised way. Standard interfaces are defined for the infrastructure services, thereby making the CCF connectors independent of the environment they are running in. The environment that the connector runs in can range from a fat Java application to a well-defined component-based infrastructure.

A fat Java application programmer must work with both the CCF connector interfaces and the CCF run-time context. Regarding a component infrastructure, the infrastructure works with the CCF run-time context and the component works with only the CCF connector interfaces.

Note: To determine whether your component infrastructure already supports the CCF run-time context, please see the respective infrastructure documentation. If it does not support the CCF run-time context, then you must work with the CCF RuntimeContext as you would in the fat Java application scenario described above.

The CCF run-time context provides a CCF connector with the following:

  • Connection management
  • Coordination
  • Session sensitivity
  • Security
  • RAS services (i.e. error logging and tracing)

Run-time Context Implementations
The CCF run-time context is implemented as a single threaded context (in other words, the thread that the CCF connector is called on has to be the same thread on which the run-time context was set up).

The CCF provides a base RuntimeContext class, which has to be extended by all specific RuntimeContext implementations. This base class provides default implementations for all infrastructure services, and the methods to control the association of the run-time context with a thread.

The following describes the behavior of the RuntimeContext infrastructure services:

  • Connection management
    Each time the connector implicitly asks to reserve a connection, a new one is created. Upon release, the connection is destroyed.
  • Coordination
    The connection resource is not coordinated. If the connector provides coordination properties in its interaction specification, the properties are used when specified.
  • Session sensitivity
    An instance of NullID is specified, which means that the connector is not used-session sensitive.
  • Security
    By default, the user and password are supported.
  • RAS services
    Tracing is off, and errors get logged to standard error.

To change the quality of service for a certain infrastructure, you simply plug in different implementations. Plugging in different implementations is exactly what specializations of the RuntimeContext class is doing on construction.

A specialised run-time context included in the CCF is the JavaRuntimeContext. Use this run-time context when working with standard Java application programming. The following describes the behavior of the RuntimeContext infrastructure services:

  • Connection management
    Each time the connector implicitly asks to reserve a connection, a new one is created. Upon release, the connection is destroyed.
  • Coordination
    A simple coordinator implementation provides a prepare, commit, rollback interface to the CCF connector client in order to control the coordination. If coordination properties are defined in the interaction specifications of the CCF connectors, the properties will not be used by the connectors. Note: Currently, this coordinator supports only one-phase commit resources.
  • Session sensitivity
    An instance of UniqueID is specified, which means that the connector is used-session sensitive.
  • Security
    By default, the user and password are supported.
  • RAS services
    Tracing can be controlled by setting the trace level; by default, the trace level is set to off, and the trace output goes to standard out. Errors get logged to standard error.

Besides the default connection manager provided by the run-time contexts described above, a common connection manager is provided with the CCF. If you need the management of your connections, set this connection manager to your newly created run-time context.

The common connection manager manages connections based on the CCF connectors connection specification hashcode and, if specified, the sessionID. The common connection manager allows for a more efficient use of connections. If you are using an application server environment that associates a session with a requestor, the common connection manager will preserve a connection for a requestor over several requests with the environment.

To determine whether the coordination supports one or two pass commit coordinations, please refer to the documentation for the respective CCF connector.

Using the Run-time Context
The following shows the usage of the runtime_context on the sample of the JavaRuntimeContext:

n5hcom20.gif (11606 bytes)

 

Note: Depending on which CCF connector you use, you may be required to use a connector-specific logon info items class. With certain connectors, specifying the user and password is not enough.

Note: In the above sample, the connection manager is newly created and passed. Usually, you use one connection manager per Java Virtual Machine; therefore, the connection manager is created once. To set it in the run-time context, you would refer to some static where it is stored.

NGRELC.GIF (533 bytes)
Connectors: Overview
CICS Connector
Encina Connector
Enterprise Access Builder Commands: Overview
Navigators: Overview

NGRELT.GIF (466 bytes)
Creating an Enterprise Access Builder Command
Creating a Navigator
Exporting Code
Deploying an Applet on the Network Station
Deploying an Application on the Network Station

 


aRu kX$y7FI6z6$0y./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hdpyan.htm$$ Deploying a Client Program as a Stand-Alone Application

Deploying a Client Program as a Stand-Alone Application

Once your applet or application is running inside the IDE, you may want to export your program from the IDE and deploy it on another machine or on a web server.  To do so, you must copy the required files to the target environment and put them into the classpath.

However, if you are running the application on a machine with VisualAge for Java 2.0 installed, you do not need to update the classpath; all of the classes are added to the classpath when VisualAge for Java is installed. The classes are located in the IDE\runtime20 directory.

Running an Application on a Machine Without VisualAge for Java Installed

When running an application on a machine where VisualAge is not installed, there are three zip files that must be placed in the classpath of the application. The following zip files are required:

  • IDE\runtime20\ccf.zip (IBM Common connector framework)
  • IDE\runtime20\eablib.zip (IBM Enterprise access builder library)
  • IDE\runtime20\recjava.zip (IBM Java record library)

The zip file for the connector you are using in the application must also be in the classpath.  See the connector documentation for the name of the zip file required for that connector.


Enterprise Access Builder: Overview


Exporting Code: Overview
Deploying a Client Program as an Applet

hine; t khX$7FI6z6$@!./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hdpyat.htm$$ Deploying a Client Program as an Applet

Deploying a Client Program as an Applet

Once your applet or application is running inside the IDE, you may want to export your program from the IDE and deploy it on another machine or on a web server.  To do so, you must copy the required files to the target environment and put them into the classpath.

When running an applet on a web server, there are three jar files that must be placed on the server so web clients can download them. The following jar files are required:

  • IDE\runtime20\ccf.jar (IBM Common connector framework)
  • IDE\runtime20\eablib.jar (IBM Enterprise access builder library)
  • IDE\runtime20\recjava.jar (IBM Java record library)

The jar file for the connector you are using in the applet must also be placed on the server.  See the connector documentation for the name of the jar file required for that connector.


Enterprise Access Builder: Overview


Exporting Code: Overview
Deploying a Client Program as a Stand-Alone Application

 kXX$l 7HI6z6$0%l ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hdrtcm.htm$$ Generating a Dynamic Record Type from COBOL Source Code from the Command Line

Generating a Dynamic Record Type from COBOL Source Code from the Command Line

Prior to generating the dynamic record type, ensure that the CLASSPATH environment variable includes the following path (where path is the location of the installed product):

path\ide\tools\com-ibm-ivj-eab-record

To generate a dynamic record type from the command line, invoke the Java program named CobolImport with the following parameters:

java com.ibm.ivj.eab.record.importer.gentype.cobol.CobolImport

<target path>
<package>
<class name>
<commarea[:commarea...]>
<COBOL file>
[-cics 1]

For example, the following command imports the adder.ccp COBOL file and generates the dynamic record type, named ADDER, into the w:\tmp\pkg directory:

java com.ibm.ivj.eab.record.importer.gentype.cobol.CobolImport w:\tmp pkg ADDER DFHCOMMAREA adder.ccp

With the exception of the last parameter, all of the command parameters are required. For information about the parameters, see the topic, java com.ibm.ivj.eab.record.importer.gentype.cobol.CobolImport Command Parameters.

ngrelc.gif (533 bytes)
Records: Overview

ngrelt.gif (466 bytes)
Editing Record Types in the Java Record Editor
Generating a Record Bean or Class

ngrelr.gif (548 bytes)
java com.ibm.ivj.eab.record.importer.gentype.cobol.CobolImport Command Parameters

Editing a Mapper Bean

Editing a Mapper Bean

If you wish to modify any of the connections contained in an existing mapper bean, you can do so by editing the bean in the Mapper Editor. To edit a mapper bean, select the mapper bean you want to modify, and, from the Selected menu, select Tools - Mapper Editor to open the Mapper Editor.

n5hmappr.gif (10889 bytes)

Specifying a new input bean

  1. From the Code Generation menu, select Change Input Bean. The Set Input Bean dialog opens.
  2. In the Input Bean class field, specify the class name of the new input bean. You can also click Browse to open a dialog in which you can select an input bean class.
  3. Click OK. The Confirm Input Bean replacement dialog opens.

    By selecting a new input bean, you are breaking any links you defined when you created the mapper bean. If you do not want to break these links, click No.
  4. If you wish to proceed, click Yes. The input bean appears in the Input Bean pane of the Mapper Builder, and output bean instances are removed.

    The Input Bean pane displays the bean properties in a hierarchical view. In the case of a bean that implements the IRecord class, you can also select, from the Input Bean View menu, Record view. This view is a detailed view of the record fields. In the case of a terminal record, the Record view is a detailed view of the two-dimensional screen structures. These detailed views allow you to map directly to the record attributes, rather than to their corresponding properties in the input bean.

Adding new output beans

  1. In the Output Beans pane, click Add. A Select class dialog opens.
  2. Select a class that contains properties you want to map to input bean properties and click OK. The instance you selected appears in the Output Beans pane.

    This pane displays the class instances and properties, and the superclass to which the class belongs, in a hierarchical view.
  3. Complete the previous two steps for any additional classes you want to add.

Deleting output beans

In the Output Beans pane, select the bean you wish to remove and click Delete. The bean and its connections are removed.

Mapping output bean properties

  1. In the Output Beans pane, select a property of a class instance that you want to map to a record bean property.
  2. In the Input Bean pane, select the record bean field or property that you want to map to the class property.
  3. Click the Connection button that corresponds to desired direction of data flow between the selected properties. You can also click the Severed Connection button n5hxwycn.gif (154 bytes) to remove a connection.
  4. Complete the previous three steps for any additional connections you want to map.

Deleting connections

  1. In the Output Beans pane, select the property of the class instance that you want to remove the connection from.
  2. In the Input Bean pane, select the record bean field or property that you want to remove the connection from.
  3. Click the Severed Connection button n5hxwycn.gif (154 bytes) to remove the connection.

Regenerating the mapper bean

When you have made the desired changes to the mapper bean, click OK. The mapper bean is regenerated into its package.

ngrelc.gif (533 bytes)
Enterprise Access Builder: Overview
Mappers
Records: Overview

ngrelt.gif (466 bytes)
Accessing Enterprise Data: Overview

n< kX$7FI6z6$4./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hgenrb.htm$$ Generating a Record Bean or Class

Generating a Record Bean or Class

Once your record type contains all the necessary fields to access the application, you can create a record bean or class. This record bean or class can be used in a Command to define input or output. To generate a record bean or class, complete the following steps:

  1. In the Workbench, select the class that represents the record type from which you want to generate record beans or classes.
  2. From the Selected menu, select Tools - Records - Generate Records. The Generate Records SmartGuide opens.

    n5hgnrc1.gif (10281 bytes)

  3. In the Class Name field, specify a valid class name for the generated record beans or classes.
  4. Select Beans or Classes as output. If events are not required, you may wish to generate a simple class. However, if you require events because you may use the record in the Mapper Builder or in the Visual Composition Editor, generate a bean.
  5. Select Direct or Hierarchical for record field access for the generated record beans or classes.

    Both access modes provide equivalent function for field access in the generated record, but are provided so that users can access fields according to their coding preferences. In the event of non-unique field names, direct access generation will qualify the field names as required to ensure that they are unique. Direct access is recommended if you plan to include mappers in your Commands.
  6. Select Dynamic Records or Custom Records for the generated record beans or classes.

    For dynamic records, its dynamic record type is regenerated. The dynamic record has full type information, which provides some benefits, but also some overhead. Some of the overhead is due to instantiation of type information and when accessing fields. For dynamic records, a lookup based on the field's name is done to determine the offset of the field, while the offset is hardcoded into the field access in a custom record. However, because full type information is available, the typeset of the dynamic record may allow you to change record level attributes after it has been generated. Dynamic records also support accessing variable length records.
  7. In the Project Name field, accept the default project or specify a different project. If the project you specify does not exist, it will be created. You can also click Browse to open a dialog in which you can select an existing project to contain the generated record beans or classes.
  8. In the Package field, accept the default package or specify a different package. If the package you specify does not exist, it will be created. You can also click Browse to open a dialog in which you can select an existing package to contain the generated record beans or classes.

    A dynamic record type that has been generated or edited using one of our tools is meta-data. It is used to generate records. The generated records contain a method getMetadataClass() which returns the class of the dynamic record type from which they were generated. If a dynamic record is generated, its type is generated from the input dynamic record type meta-data class. The input dynamic record type meta-data class should not be packaged as part of an application or applet. Therefore, you may want to generate records into a package that differs from the package containing the dynamic record type meta-data.
  9. Click Next. The property page of the Generate Records SmartGuide opens. This page allows you to modify record-level properties, such as marshalling properties of a record.

    n5hgnrc2.gif (7832 bytes)

  10. Modify values of the properties for the record bean or class attributes.
  11. Click Finish. A record bean or class and supporting classes are generated into the package you selected.

ngrelc.gif (533 bytes)
Records: Overview

ngrelt.gif (466 bytes)
Mapping between a Business Object and a Record Bean

 kX$e 7HI6z6$ @e ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hgnrcm.htm$$ Generating a Record Bean or Class from the Command Line

Generating a Record Bean or Class from the Command Line

Prior to generating a record from the command line, ensure that the CLASSPATH environment variable includes the following paths (where path the location of the installed product):

path\ide\tools\com-ibm-ivj-eab-record;path\eab\runtime20

To generate a record from the command line, invoke the Java program named com.ibm.ivj.eab.record.generator.codegen.Generator with the following parameters:

java com.ibm.ivj.eab.record.generator.codegen.Generator

<target path>
<package >
<class name>
<input dynamic record type>
<output type>
<layout>
<style>
<record attribute type>

For example, the following command generates a dynamic record, named ADDER with direct access and notification, into the c:\application\pkg directory:

java com.ibm.ivj.eab.record.generator.codegen.Generator c:\application pkg ADDER metatype.ADDER 1 0 0 com.ibm.ivj.eab.record.cobol.CobolRecordAttributes

The record attribute type must match the input dynamic record type and specify the record-level attributes of the generated record. In this case, the record level attributes specify the marshalling attributes of the record, such as code page, endian, and floating point format.

The command parameters are described in the topic java com.ibm.ivj.eab.record.generator.codegen.Generator Command Parameters.

ngrelc.gif (533 bytes)
Records: Overview

ngrelt.gif (466 bytes)
Mapping between a Business Object and a Record Bean

ngrelr.gif (548 bytes)
java com.ibm.ivj.eab.record.generator.codegen.Generator Command Parameters

.x kꄌX$7FI6z6$PF./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hgnrto.htm$$ Generating a Dynamic Record Type: Overview

Generating a Dynamic Record Type: Overview

Generate a dynamic record type from the source code of the legacy application you want your business object to access. You can use the generated dynamic record type unmodified or modify it in the Record Editor. Once you have a dynamic record type that contains the data your business object needs to access, you can generate a record class or bean.

ngrelc.gif (533 bytes)
Enterprise Access Builder: Overview
Records: Overview

ngrelt.gif (466 bytes)
Generating a Dynamic Record Type from COBOL Source Code
Generating a Dynamic Record Type from BMS Source Code
Generating a Dynamic Record Type from MFS Source Code

DE k.&X$G7FI6z6$KG./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5himpbm.htm$$ Generating a Dynamic Record Type from BMS Source Code

Generating a Dynamic Record Type from BMS Source Code

To generate a dynamic record type from BMS files, complete the following steps:

  1. Download a local representation of your BMS source file.
  2. In the Workbench, select a package to contain the generated dynamic record type.
  3. From the Selected menu, select Tools - Records - Create BMS RecordType. The Create a BMS RecordType SmartGuide opens.

    n5hbmssg.gif (9784 bytes)

  4. In the Class Name field, specify a valid class name for the generated BMS dynamic record type.
  5. Beside the Filenames field, click Add to add, from a directory, the BMS files that contain the map sets and maps that you want to generate from.

    The BMS files that you generate from are actually the local representation of BMS files that resides on the host. These BMS files must be capable of successfully compiling on the host.
  6. In the Codepage field, specify the target host codepage.
  7. From the Device Type list, select a device type.
  8. In the Project Name field, accept the default project or specify a different project. If the project you specify does not exist, it will be created. You can also click Browse to open a dialog in which you can select an existing project to contain the generated record type.
  9. In the Package field, accept the default package or specify a different package. If the package you specify does not exist, it will be created. You can also click Browse to open a dialog in which you can select an existing package to contain the generated dynamic record type.
  10. Click Next. The second page of the SmartGuide opens.

    n5hbms2.gif (9866 bytes)

  11. From the Map Sets list, select the map sets that contain the maps you want to generate from.
  12. Click > to add them to the Maps list.
  13. From the Maps list, select the maps you want to generate from.
  14. Click > to add them to the Selected list.
  15. If you do not wish to modify the specified maps, click Finish. A dynamic record type is generated into the package you selected
  16. If you want to manipulate the map coordinates, click Next. The third page of the SmartGuide opens.
  17. Edit the values you wish to modify.
  18. Click Finish. A dynamic record type is generated into the package you selected.

ngrelc.gif (533 bytes)
Records: Overview

ngrelt.gif (466 bytes)
Editing Record Types in the Java Record Editor
Generating a Record Bean or Class

 kV+X$7FI6z6$S./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5himpcb.htm$$ Generating a Dynamic Record Type from COBOL Source Code

Generating a Dynamic Record Type from COBOL Source Code

For a simple commarea, you can usually use the generated dynamic record type unmodified to generate a record bean or class. To generate a dynamic record type from COBOL source, complete the following steps:

  1. In the Workbench, select a named package to contain the generated code. This may include the IDE default package.
  2. From the Selected menu, select Tools - Records - Create COBOL RecordType. The Create a COBOL RecordType SmartGuide opens.

    n5hcbsg.gif (9053 bytes)

  3. In the Class Name field, specify a valid class name for the new dynamic record type that will represent the commareas.
  4. In the COBOL File field, specify the name of the COBOL file that contains the commareas that you want to import. You can also click Browse to open a dialog in which you can select the COBOL file from a directory.

    The COBOL file must be capable of successfully compiling on the MVS host or the NT, AIX, or OS/2 workstation.
  5. In the Project Name field, accept the default project or specify a different project to contain the package for the dynamic record type. If the project you specify does not exist, it will be created. You can also click Browse to open a dialog in which you can select an existing project.
  6. In the Package field, accept the default package or specify a different package to contain the dynamic record type. If the package you specify does not exist, it will be created. You can also click Browse to open a dialog in which you can select an existing package.
  7. Click Next. The second page of the SmartGuide opens.

    n5hcbsg2.gif (10721 bytes)

  8. From the Available level 01 commareas list, select the name of the definition records for the commareas contained in the COBOL file. If you select more than one commarea, they will be overlayed in the same storage area.

    The definition record is the data definition processed by the COBOL program. If the definition record for the commarea is defined in the 01 DFHCOMMAREA structure in the LINKAGE SECTION, specify DFHCOMMAREA as the COMMAREA field name. However, if the 01 DFHCOMMAREA is defined as a PIC X string that is later moved to a COBOL structure in WORKING STORAGE, you should specify this COBOL structure as the commarea. For example, in the following code fragment, you would specify ORDER-COMMAREA for the commarea:

    .
    .
    WORKING-STORAGE SECTION.
    01 ORDER-COMMAREA.
       05 REQUEST-TYPE.
          10 CATALOG-PLATFORM PIC X(10).
          10 CUSTOMER-NAME.
             15 REQUEST-TYPE PIC X(8).
             15 CATALOG-PLATFORM PIC X(10).
             15 GUI-PLATFORM PIC X(10).
             15 SUPPLIER-1 PIC X(3).
             15 SUPPLIER-2 PIC X(3).
    .
    LINKAGE SECTION.
    01 DFHCOMMAREA PIC X(131).
    .
    PROCEDURE DIVISION.
    .
    MOVE DFHCOMMAREA TO ORDER-COMMAREA
    .
    .
  9. Click > to add the commarea to the Selected commareas list.
  10. If the definition record is not a level 01 record, in the Specify non-level 01 commarea field, enter the fully qualified definition record you want to import by specifying the higher-level group records to which it belongs up to the level 01 record.

    For example, in the above sample, to import the definition record CUSTOMER-NAME, you would specify ORDER-COMMAREA.REQUEST-TYPE.CUSTOMER-NAME.

    You can click View COBOL File to open the COBOL file and view the commareas.
  11. Click > to add the commarea to the Selected commareas list.
  12. If the generated COBOL record type is not intended for a CICS application, clear the RecordType intended for CICS checkbox. The default generation style is for a CICS application. When this is the case, it is necessary to know the DFHCOMMAREA size since the size of the buffer area sent across the wire must equal the DFHCOMMAREA size. Consequently, if the commarea DFHCOMMAREA is not selected and the record type is intended for a CICS application, the DFHCOMMAREA will automatically be imported along with the selected commareas.
  13. Select RecordType intended for CICS if the generated type will be used for a CICS application.
  14. Click Finish. A dynamic record type is generated into the package you selected.

ngrelc.gif (533 bytes)
Records: Overview

ngrelt.gif (466 bytes)
Editing Record Types in the Java Record Editor
Generating a Record Bean or Class

li> kX$7FI6z6$`./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5himpmf.htm$$ Generating a Dynamic Record Type from MFS Source Code

Generating a Dynamic Record Type from MFS Source Code

You must generate a dynamic record type for each desired device page of the device format in the host program. To generate a dynamic record type from MFS files, complete the following steps:

  1. Download a local representation of your MFS source file.
  2. In the Workbench, select a package to contain the generated record type.
  3. From the Selected menu, select Tools - Records - Create MFS RecordType. The Create an MFS RecordType SmartGuide opens.

    n5hmfssg.gif (9706 bytes)

  4. In the Class Name field, specify a valid class name for the generated MFS RecordType.
  5. In the MFS file field, specify the name of the MFS program that you want to generate a dynamic record type from. You can also click Browse to open a dialog in which you can select the MFS file from a directory.

    The MFS file that you generate from is actually the local representation of an MFS file that resides on the host. This MFS file must be capable of successfully compiling on the host.
  6. In the Format Name field, specify the name of the device page that represents the logical page of the format definition that includes the device format to parse. You can also click View to view the source file.
  7. In the Device Page Name field, specify the device page representing the logical page of the device format to parse. You can also click View to view the source file. If there is no DPAGE statement specified, use the value specified in the Format Name field.
  8. In the Codepage field, specify the target host codepage.
  9. From the Device Type list, select a device type.
  10. In the Project Name field, accept the default project or specify a different project. If the project you specify does not exist, it will be created. You can also click Browse to open a dialog in which you can select an existing project to contain the generated record type.
  11. In the Package field, accept the default package or specify a different package. If the package you specify does not exist, it will be created. You can also click Browse to open a dialog in which you can select an existing package to contain the generated record type.
  12. Click Finish. A dynamic record type is generated into the package you selected.

ngrelc.gif (533 bytes)
Records: Overview

ngrelt.gif (466 bytes)
Editing Record Types in the Java Record Editor
Generating a Record Bean or Class

&nb kX$7HI6z6$h./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hjrccr.htm$$ Creating Custom Records Using an Existing Typeset

Creating Custom Records Using an Existing Typeset

When using an existing typeset, you need to work only with the CustomRecord and CustomRecordType classes, and the classes provided in the existing typeset.  The CustomRecord class will provide the ability to get and set values on any field in the record by its field name. The classes in the typeset will provide a record type, and any base or compound data types that can be used with the record type.

The easiest way to create a custom record is to use the code generator. Another way to create a custom record is to write the code in an editor. The typeset used in this example is the C language typset provided in the package com.ibm.record.ctypes. We will use the following C struct to demonstrate the creation of a custom record:

struct complexType
{
   int    myInt;
   char   myChar;
   double myDouble;
};

The first step in creating the custorm record is to extend the CustomRecord class. The class constructor needs to set the record attributes on the record, the record type, and the record bytes. The following Java code fragment demonstrates what the class and constructor would look like for the example C struct:

import com.ibm.record.*;

pubic class complexType extends CustomRecord
{
   public complexType()throws RecordException
   {
      try {
         com.ibm.record.ctypes.CLanguageRecordAttributes attrs;
         attrs = new com.ibm.record.ctypes.CLanguageRecordAttributes();
         this.setRecordAttributes (attrs)
         this.setRecordType (new CustomRecordType(complexType.class, 16);
         this.setBytes (new byte[16])
         this.setInitialValues();
      } catch (Exception exc) {
         throw new RecordException (exc.getMessage());
      }
   }
}

In the code statement that sets the record type, the CustomRecordType class requires two pieces of information in order to be instantiated correctly. The CustomRecordType class needs the custom record class that it belongs to, along with the size of the record.  In our example, the custom record class is complexType.class, and the size of the record is 16 bytes. You can also create another class for the record type that extends the CustomRecordType class.

The last thing to implement is the accessor methods for the record fields. Because no field information exists in a custom record, we cannot ask the record for a particular field of interest. Instead, we need to generate accessor methods that use the field absolute offset to retrieve the information from the record bytes. In our example, we need to create three pairs of accessor methods for the three fields in the record. The accessor methods would look like the following:

public int getMyInt() throws RecordConversionFailureException {
   return (com.ibm.record.ctypes.CInt.toInt (this, 0));
}
public char getMyChar()throws RecordConversionFailureException {
   return (com.ibm.record.ctypes.CChar.toChar (this, 4));
}
public double getMyDouble()throws RecordConversionFailureException {
   return (com.ibm.record.ctypes.CDouble.toDouble (this, 8));
}

public void setMyInt (int value) throws RecordConversionFailureException {
   com.ibm.record.ctypes.CInt.fromInt (this, 0, value);
   return;
}
public void setMyChar (char value) throws RecordConversionFailureException {
   com.ibm.record.ctypes.CChar.fromChar (this, 4, value);
   return;
}
public void setMyDouble (double value) throws RecordConversionFailureException {
   com.ibm.record.ctypes.CDouble.fromDouble (this, 8, value);
   return;
}

The accessor methods are using a static method on the data type to perform the data conversion. This saves us the expense of creating a type object and then throwing it away after the method call.  For more information on the static conversion methods see Methods on the Data Type. See below for an example using the  complexType class:

// Create an instance of the record

ComplexType theReocord = new ComplexType();

// Set some values on the record

complexType.setMyInt (43);
complexType.setMyChar ('H');
complexType.setMyDouble (19630.3821D);

// Retrieve the record bytes

byte[] theRecordBytes = theRecord.getBytes();

// We can now send the bytes as a message somewhere and get a reply.

byte[] replyBytes = sendAMessageAndGetAReplyFromSomewhere (theRecordBytes);

// Set the reply bytes on the record

theRecord.setBytes (replyBytes);

// Get some values

int x = complexType.getMyInt();
char y = complexType.getMyChar();
double z = complexType.getMyDouble();

NGRELC.GIF (533 bytes)
Java Record Framework: Overview
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Custom Record Implementation
Builder Tool Support
Support Required for the Code Generator
Support Required for the Java Record Editor
The Java Record Editor
Record Type Generation

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Dynamic Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor
Generating a Dynamic Record Type: Overview

 

 kL X$7HI6z6$./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hjrcdr.htm$$ Creating Dynamic Records With an Existing Typeset

Creating Dynamic Records Using an Existing Typeset

When using an existing typeset, you need to work with only the DynamicRecord class and the classes provided in the existing typeset. The DynamicRecord class will provide the ability to get and set values on any field in the record by its field name. The classes in the typeset will provide a record type and any base or compound data types that can be used with the record type.

The easiest way to create a record is to use the Java Record Editor. Another way to create a record is to write the code in an editor. The typeset used in the following example is the C language typset provided in the package com.ibm.record.ctypes. We will use the following C struct to demonstrate the creation of a dynamic record:

struct nestedStruct
{
   float myFloat;
   long  myLong;
};

struct complexType
{
   int    myInt;
   char   myChar;
   double myDouble;
   union  myUnion
   {
      short myShort;
      char  myChar;
   };
   struct nestedStruct myStruct;
   int    myIntArray[5][8];
};

The first step in creating the record is to add the fields of the struct to the record type. The following Java code fragment demonstrates the necessary code to create the record type:

import com.ibm.record.*;
import com.ibm.record.ctypes.*;

// Create a C language record type
CLanguageRecordType recordType = new CLanguageRecordType();

// Add the fields to the record type

recordType.addField (new Field(new CInt(), "myInt"));
recordType.addField (new Field(new CChar(), "myChar"));
recordType.addField (new Field(new CDouble(), "myDouble"));

// Create a union type and add the fields to the union

CLanguageUnionType unionType = new CLanguageUnionType();
unionType.addField (new Field(new CShort(), "myShort"));
unionType.addField (new Field(new CChar(), "myChar"));

// Add the union field to the record type
recordType.addField (new OverlayField(unionType, "myUnion"));

// Create another record type for the nested struct and add its fields
CLanguageRecordType nestedRecordType = new CLanguageRecordType();
nestedRecordType.addField (new Field(new CFloat(), "myFloat"));
nestedRecordType.addField (new Field(new CLong(), "myLong"));

// Add the nested record type to the record type
recordType.addField (new NestedRecordField(nestedRecordType, "myStruct"));

// Create an two dimensional integer array

CInt arrayBaseType = new CInt();
int[] arrayAllocationSize = {5, 8};

CLanguageArrayType arrayType = new CLanguageArrayType(allocationSize, baseType);

// Add the array to the record type
recordType.addField (new ArrayField(arrayType, "myIntArray"));

// Pack the record type to calculate the relative offsets
recordType.pack(0);
Now that we have our record type defined we can use the record type to create a dynamic record which we can use.
// Create a dynamic record from the record type

DynamicRecord complexType = recordType.newRecordWithBytes();

// Set some values on the record

complexType.setInt ("myInt", 43);
complexType.setChar ("myChar", 'H');

// Set a value on the union
complexType.setShort ({"myUnion", "myShort"}, 22);

// Set a value in the nested record
complexType.setLong ({"myStruct", "myLong"}, 34202L);

// Set a value in the array at index [2][4]
complexType.setInt ("myIntArray", {2, 4}, 324);

// Retrieve the record bytes

byte[] theRecordBytes = complexType.getBytes();

// We can now send the bytes as a message somewhere and get a reply.

byte[] replyBytes = sendAMessageAndGetAReplyFromSomewhere (theRecordBytes);

// Set the reply bytes on the record

complexType.setBytes (replyBytes);

// Get some values

int x = complexType.getInt ("myInt");
short y = complexType.getShort ({"myUnion", "myShort"});

NGRELC.GIF (533 bytes)
Java Record Framework: Overview
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Custom Record Implementation
Builder Tool Support
Support Required for the Code Generator
Support Required for the Java Record Editor
The Java Record Editor

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Custom Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor

 

rd k\X$97HI6z6$9./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hjrcnt.htm$$ Creating a New Typeset

Creating a New Typeset

The Java Record Framework is designed so that you can easily integrate new data types into the existing structure. The first decision you have to make is whether the new typeset being created is fixed or variable length in nature. The methods that you need to implement will depend on whether the type is fixed or variable length in nature. For both fixed and variable length typesets, you need to implement the following minimum number of components:

  • Simple data types
  • A record type
  • The record Attributes

If the typeset is fixed length, you can also implement a number of  composed types (arrays, overlays). Because fixed and variable length typeset differ in their implementations, they will be discussed separately.

Creating Simple Data Types of a Fixed Length Typeset
First, you must create the simple data types of the typeset. These data types will implement the IFixedLengthType interface. A convenience class, FixedLengthType, is provided to give a reasonable implementation of most of the interface methods. There are two different approaches to creating the simple data types of a typeset.  The first approach is to create a one-to-one mapping between the Java primitive types, and the simple data types of the typeset (for example, a C language int mapping to a Java int, and a C language char mapping to a Java char). The other approach is to create only one simple data type, and have instance data on the type determine what Java primitive type it maps to. For example, a 3270 screen is all character (or string) data, but the field could be representing an integer or boolean value. In this case, the data would be stored as a string, but there would be instance data on the type mapping it to a Java int or a Java boolean.

When creating the new simple data type class, you must first extend the FixedLengthType class. This will provide an implementation for most of the methods that are required by the interface. At the minimum, you must implement, or override, the following six methods for the type to be useful:

  1. getSize()
  2. getAlignmentHint()
  3. One of the canConvertToXXX() (where XXX is a Java primitive type).
  4. One of the canConvertFromXXX() (where XXX is a Java primitive type).
  5. The matching fixed length style data getter for the type - XXX getXXX (IRecord record, int fieldOffset).
  6. The matching fixed length style data setter for the type - void setXXX (IRecord record, int fieldOffset, XXX value).

If the data type can be converted to or from more than just one Java primitive type, Object or String, then those canConvertTo/FromXXX() methods and accessors should be overridden as well. If the type can support an initial value, then the fixed length style initial value setter should be implemented (setInitialValue (IRecord record, int fieldOffset, Object initialValue)). If the type can support a constant value, then the fixed length style constant value checker should be implemented (checkConstantValue (IRecord record, int fieldOffset, Object constantValue)). If the data type is also to be used in a variable length record, then the variable length style accessors should be overridden also (XXX getXXX (IRecord record, byte[] byteArray), byte[] setXXX (IRecord record, XXX value), byte[] setInitialValue (IRecord record, Object initialValue), and checkConstantValue (IRecord record, byte[] fieldBytes, Object constantValue)).

Let us take, as an example, a C language int data type, which is a four byte integer. The data type can be converted from a Java int primitive type, as well as short, String, and a java.lang.Integer object. It can be converted to the Java primitive type int, as well as long, float, double, String and a java.lang.Integer object. It also has the capability of having an initial and a constant value. The following is the list of methods that you would implement on the type for completeness:

  • getSize()
  • getAlignmentHint()
  • canConvertFromInt(), canConvertFromShort(), canConvertFromString(), canConvertFromObject()
  • canConvertToInt(), canConvertToLong(), canConvertToFloat(), canConvertToDouble(), canConvertToString(), canConvertToObject()
  • void setInt (IRecord record, int fieldOffset, int value), void setShort (IRecord record, int fieldOffset, short value), void setString (IRecord record, int fieldOffset, String value), void setObject (IRecord record, int fieldOffset, Object value)
  • int getInt (IRecord record, int fieldOffset), long getLong (IRecord record, int fieldOffset), float getFloat (IRecord record, int fieldOffset), double getDouble (IRecord record, int fieldOffset), String getString (IRecord record, int fieldOffset), Object getObject (IRecord record, int fieldOffset)
  • setInitialValue (IRecord record, int fieldOffset, Object initialValue)
  • checkConstantValue (IRecord record, int fieldOffset, Object constantValue)

If you wanted to have the type used in a variable length record, then you would implement the variable length style accessors as well.

Creating a Fixed Length Record Type of a Fixed Length Typeset
Secondly, you must create a record type. These record types will implement the IFixedLengthRecordType interface. A convenience class, FixedLengthRecordType, is provided to give a reasonable implementation of most of the interface methods. There are four methods which need to be implemented or overridden for the record type to behave correctly:

  1. pack()
  2. getAlignmentHint()
  3. getSize()
  4. getRecordAttributesClass()

The most important method to be overridden is the pack() method. This method assigns the relative offsets to the fields based upon the packing hint of the record type and the alignment hints of the fields. The default implementation follows the algorithm for the C language. The getRecordAttributesClass() method returns a class which describes the attributes of the record data for the record type. These are the attributes required to marshall or convert data from one environment to another. The convenience class BasicRecordAttributes is provided to encapsulate endian, floating point format, and code page. Any other class can be used provided that it implements the IRecordAttributes interface.

Creating Fixed Length Composed Types of a Fixed Length Typeset
Lastly, you must create composed types, which can be arrays or overlays.

To create an array type, you must implement the IArrayType interface. Two convenience classes are provided for arrays: RowMajorArrayType and ColumnMajorArrayType. The class you would extend depends on whether the data in the array is stored in row major or column major format. There are five methods which need to be implemented or overridden for the array type to behave correctly:

  1. pack()
  2. getSize()
  3. getElementSize()
  4. getElementOffset()
  5. getAlignmentHint()

The pack() method ensures that the array's base data type is correctly packed, and the other methods ensure that the data elements are accessed correctly.

To create an overlay type, you must implement the IOverlayType interface. The convenience class OverlayType is provided to give a reasonable implementation of most of the interface methods. There are four methods which need to be implemented or overridden for the overlay type to behave correctly:

  1. pack()
  2. getAlignmentHint()
  3. getSize()
  4. getRecordAttributesClass()

These methods are the same as for the record type.

Creating Simple Data Types of a Variable Length Typeset
Firstly, you must create the simple data types of the typeset.  These data types will implement the IVariableLengthType interface. A convenience class, VariableLengthType, is provided to give a reasonable implementation of most of the interface methods. There are two different approaches to creating the simple data types of a typeset. The first approach is to create a one-to-one mapping between the Java primitive types, and the simple data types of the typeset. The other approach is to create only one simple data type, and have instance data on the type determine what Java primitive type it maps to. An example of a variable length data type is a length prefixed string (a string preceded by an integer length).

The first thing to do when creating the new simple data type class is to extend the VariableLengthType class. Extending this class will provide an implementation for most of the methods that are required by the interface. At the minimum, seven methods must be implemented or overridden for the type to be useful:

  1. getAlignmentHint()
  2. One of the canConvertToXXX() (where XXX is a Java primitive type)
  3. One of the canConvertFromXXX() (where XXX is a Java primitive type)
  4. The matching variable length style data getter for the type - XXX getXXX (IRecord record, byte[] byteArray)
  5. The matching variable length style data setter for the type - byte[] setXXX (IRecord record, XXX value)
  6. byte[] packageBytes (IRecord record, byte[] byteArray)
  7. TypeData retrieveBytes (IRecord record, byte[] byteArray, int offset)

If the data type can be converted to or from more than just one Java primitive type, Object or String, then those canConvertTo/FromXXX() methods and accessors should be overridden as well. If the type can support an initial value, then the variable length style initial value setter should be implemented (byte[] setInitialValue (IRecord record, Object initialValue)). If the type can support a constant value, then the fixed length style constant value checker should be implemented (checkConstantValue (IRecord record, byte[] fieldBytes, Object constantValue)). Note that the main difference between the variable and fixed length type is the accessor style and the implementation of the package/retrieveBytes() methods. The main responsibility of the package/retrieveBytes() methods is to parse the record's byte array to determine where a field ends and a new field begins. This is not required in a fixed length type as the size of the fields do not change. Note that the getSize() method is not required. As the size of the data is constantly changing in a variable length type, the value of -1 is used to indicate the size of a variable length type.

Creating a Variable Length Record Type of a Variable Length Typeset
Secondly, you must create a record type. These record types will implement the IVariableLengthRecordType interface.  A convenience class, VariableLengthRecordType, is provided to give a reasonable implementation of most of the interface methods. There are four methods which need to be implemented or overridden for the record type to behave correctly:

  1. byte[] packageBytes (IRecord record, byte[] byteArray).
  2. TypeData retrieveBytes (IRecord record, byte[] byteArray, int offset)
  3. getRecordAttributesClass()

The most important methods to be overridden are the package/retrieveBytes() methods. These methods are the corollary to the pack() method in a fixed length record type. The record type needs to know where it begins and ends in array of bytes to enable the support of nested records.

Note: The getSize() method is not required.

Because the size of the data is constantly changing in a variable length record, the value of -1 is used to indicate the size of a variable length record. The getRecordAttributesClass() method returns a class that describes the attributes of the record data for the record type. These attributes are required to marshall or convert data from one environment to another. The convenience class BasicRecordAttributes is provided to encapsulate endian, floating point format, and code page. Any other class can be used provided that it implements the IRecordAttributes interface.

Composed Types in Variable Length Records
Composed types are not supported in variable length records, because they require fixed length data types as their underlying data structures. However, you can add a fixed length record type, as a field, to a variable length record.

NGRELC.GIF (533 bytes)
Support Required for the Code Generator
Support Required for the Java Record Editor
Java Record Framework: Overview
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Custom Record Implementation
Builder Tool Support
The Java Record Editor

NGRELT.GIF (466 bytes)
Using the Java Record Framework
Creating Dynamic Records Using an Existing Typeset
Creating Custom Records Using an Existing Typeset
Editing Record Types in the Java Record Editor

 

er shou kX$B 7HI6z6$0wB ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hjruse.htm$$ Using the Java Record Framework

Using the Java Record Framework

At first glance, the number of methods and classes in the Java Record Framework may seem overwhelming. Fortunately, however, the reference implementation handles most of the complexities for the user; therefore, little code is required to use the framework, or even to create a new typeset. The following tasks are the most common uses of the Java Record Framework:

NGRELC.GIF (533 bytes)
Java Record Framework: Overview
Java Record Framework: Record Description
Java Record Framework: Design
Dynamic Record Access Styles
Dynamic Record Implementation
Custom Record Implementation
Builder Tool Support
Support Required for the Code Generator
Support Required for the Java Record Editor
The Java Record Editor

NGRELT.GIF (466 bytes)
Creating Dynamic Records Using an Existing Typeset
Creating Custom Records Using an Existing Typeset
Creating a New Typeset
Editing Record Types in the Java Record Editor

 

border kX$ 7FI6z6$ ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hmapor.htm$$ Mapping between a Business Object and a Record Bean

Mapping between a Business Object and a Record Bean

Once you have a business object that requires data from a record bean, you need to have a mapping between them. Mapping permits the exchange of data between the record data contained in your Commands and a business object (or business objects). The record bean is used in the Mapper Builder as an input bean. You can specify multiple business objects (or other classes) as output beans.

The Mapper Builder generates a mapper bean that you can include in a Command to map between the input or output record of that Command and a business object (or objects).

To map between a business object and a record bean, complete the following steps:

  1. Select the class you want to use as an input bean and click mouse button 2.
  2. From the pop-up menu, select Tools - Mapper Editor. The Mapper Editor opens.
  3. In the Output Beans pane, click Add. A Select class dialog opens.
  4. Select a class that contains properties you want to map to input bean properties and click OK. The instance you selected appears in the Output Beans pane.

    This pane also displays the class instances and properties, and the superclass to which the instance belongs, in a hierarchical view.
  5. Complete the previous two steps for any additional instances you want to add.
  6. In the Output Beans pane, select a property of a instance that you want to map to a record bean property.
  7. In the Input Bean pane, select the record bean field or property that you want to map to the class property.

    n5hmappr.gif (10889 bytes)

  8. Click the Connection button that corresponds to desired direction of data flow between the selected properties. You can also click the Severed Connection button n5hxwycn.gif (154 bytes) to remove a connection.
  9. Complete the previous three steps for any additional connections you want to map.
  10. Click OK. A mapper bean or class is generated into the package you specified.

ngrelc.gif (533 bytes)
Enterprise Access Builder: Overview
Mappers
Records: Overview

ngrelt.gif (466 bytes)
Accessing Enterprise Data: Overview
Editing a Mapper Bean

 kz X$ 7FI6z6$ ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hmpmbo.htm$$ Mapping Managed Business Objects and Record Beans: Overview

Mapping Managed Business Objects and Record Beans: Overview

The Mapper Editor can be used to map properties of business objects and record beans created by other VisualAge for Java tools. This is possible because both business objects and record beans are just special JavaBeans. For non-key attributes of Business Objects, mapping is the same as described in Creating a Mapper: Overview. Key properties on the Business Object, however, require further description.

Mapping Managed Business Object Key Properties

Mapping key properties of the managed business object in the Mapper Editor differs from mapping other properties. When mapping these properties, only two of the directional buttons at the bottom of the mapper dialog are valid.

  • n5h1wylc.gif (163 bytes) Input Bean property to Output Bean property Connection.

    The property is mapped from the input bean to the managed business object. If there is a mapping to or from a key property of a business object, it is assumed that the value is set on the input bean, and must be mapped to the managed business object property.

  • n5hxwycn.gif (154 bytes) No Connection.

    If there is no mapping for a Managed Business object key property, a property is generated on the mapper object. These properties must be set prior to execution of the mapper.

While you can click the Two Way Connection button n5h2wycn.gif (175 bytes) and the Output to Input Connection button n5h1wyrc.gif (164 bytes), these buttons should have been disabled. Clicking them results in the same behavior as clicking the Input to Output Connection button (described above).

Mapper Context
The context property allows output beans to be passed externally to the mapper. It is a Hashtable that can be set from the outside and contains qualified bean names as keys and output beans as values. See the Javadoc reference information for more details.

ngrelc.gif (533 bytes)
Mappers
Business Objects

ngrelt.gif (466 bytes)
Creating a Mapper: Overview
Mapping between a Business Object and a Record Bean

 kJX$ 7FI6z6$ ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hmprov.htm$$ Creating a Mapper: Overview

Creating a Mapper: Overview

Use the Mapper Editor to create a mapper that maps properties of one JavaBean to properties of another JavaBean. The Mapper Editor works on any pair of JavaBeans that include a default constructor.

For mapping purposes, unmanaged business objects should be treated as a simple JavaBean. For mapping key properties for managed business objects, some additional information is required; see the topic, Mapping Managed Business Objects and Record Beans: Overview.

The left pane in the dialog allows the specification of multiple Output Beans. Data is mapped to/from these Beans during execution of the mapper. On the right pane you can specify a ‘Input Bean’ to/from which data is mapped.

n5hmappr.gif (10889 bytes)

Select a pair of properties (one Output Bean property, and one Input Bean property) and click one of the Connection buttons. The direction specifies which direction the property is to be set. The generated mapper contains a method to drive the mapping in each of the directions.

To set properties from the Output Bean into the Input Bean, a method called mapFromOutputBeans() should be invoked. To set properties in the opposite direction, a method called mapToOutputBeans() should be invoked. An input bean is passed to each of these methods as a parameter. When using mappers within Commands these methods get called at runtime to set data in the Command's input record bean, and to get data from the Command's output record bean. Prior to communicating with the backend system, the mapFromOutputBeans() is invoked, and after communication with the backend system, and after the Output Bean has been determined, the mapToOutputBeans() method is invoked.

ngrelc.gif (533 bytes)
Mappers

ngrelt.gif (466 bytes)
Mapping Managed Business Objects and Record Beans: Overview
Mapping between a Business Object and a Record Bean

 kvX$7FI6z6$./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hnav1.htm$$ Creating a Navigator

Creating a Navigator

To create an Enterprise Access Builder Navigator, you must be familiar with VisualAge for Java class creation and the concepts of the VisualAge for Java Visual Composition Editor.

Each Navigator you develop has to extend the CommunicationNavigator base class that is provided with the Enterprise Access Builder.

To create your own Navigator, you must first create a subclass of CommunicationNavigator using the Class Creation SmartGuide provided with VisualAge for Java.

Creating a Navigator in the Visual Composition Editor
To launch the Visual Composition Editor, do the following:

  1. Select the Navigator that you created.
  2. On the selected Navigator, pop up the context menu, and choose Open. The class browser will open on your Navigator.
  3. Then, select the 'Visual Composition' tab, if it is not already selected.

In the Visual Composition Editor, selecting Choose Bean from the bean palette will allow you add a bean. To add a specific bean, you must first select Choose Bean; the Choose Bean dialog will then appear. Then, select the class of the bean and its name. Add the connection specification and the Commands to the Navigator composition following the procedure described above. To access the class names of the connection specification, please refer to the documentation for the Common Connector Framework connector that you want to use. Note: Regarding Command names, because you created the Commands yourself, you will already be aware of their names.

Note: Adding a connection specification is optional.

After you have completed the above, you must connect the beans in the Command composition to the generic execution code that your Navigator inherits from the CommunicationNavigator base class provided with the Enterprise Access Builder.

You must create the following property-to-property connection:

  • Connect between the 'this' property of the connection specification and the 'connectionSpec' property of the Navigator. You must create this connection, if you defined a connection specification.

You must create the following event-to-action connections:

  • Connect between the 'internalExecutionStarting' event of the Navigator and the 'execute(CommandEvent)' method of the first Command in the navigation.
  • Connect between the 'executionSuccessful' event of one Command and the 'execute(CommandEvent)' method of another Command. This connection makes up the navigation flow.
  • Connect between the 'executionSuccessful' event of the last Command in the navigation flow and the 'returnExecutionSuccessful(CommandEvent)' method of the Navigator.

Note: For all of the former event-to-action connections, you must do the following:

  1. Select the connection you just created and open the properties dialog.
  2. In the properties dialog, select the Pass event data checkbox.

n5hcom15.gif (18897 bytes)

 

NGRELC.GIF (533 bytes)
Navigators: Overview
Enterprise Access Builder Commands: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Editing and Promoting Bean Properties of a Navigator
Implementing the handleException Method for a Navigator
Executing a Navigator
Creating an Enterprise Access Builder Command
Mapping Between a Business Object and a Record Bean
Accessing Enterprise Data: Overview

st c kX$ 7FI6z6$ ./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hnav2.htm$$ Editing and Promoting Bean Properties of a Navigator

Editing and Promoting Bean Properties of a Navigator

You can edit the properties of the connection specification, interaction specification, and Commands by launching a 'Property Sheet' on any of them.

To access the 'Property Sheet' in both the Visual Composition Editor, select the bean that you want to edit, and then select Properties from the drop-down menu.

Note: You must edit the properties of the connection specification. Whether you have to edit the properties of Commands will depend on the situation-at-hand.

n5hcom23.gif (6051 bytes)

 

Promoting Features of Commands Contained in the Navigator Composition
You can promote features from Commands by launching the Promote Features dialog on the desired Command.

To access the Promote Features dialog box in the Visual Composition Editor, select the bean that you want to work with, and then select Promote Bean Feature from the drop-down menu.

You can view the bean features promoted in this way through the Bean view on a Navigator class. To launch the Bean view, select the Navigator that you created, pop up the context menu on the selected item, and choose Open. The class browser will open on your Command. Then, select the Bean tab.

n5hcom24.gif (11544 bytes)

 

NGRELC.GIF (533 bytes)
Navigators: Overview
Enterprise Access Builder Commands: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating a Navigator
Implementing the handleException Method for a Navigator
Executing a Navigator
Creating an Enterprise Access Builder Command
Editing and Promoting Bean Properties of an Enterprise Access Builder Command
Mapping Between a Business Object and a Record Bean

-r  kX$7FI6z6$0./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hnav3.htm$$ Implementing the handleException Method for a Navigator

Implementing the handleException Method for a Navigator

By default, when you compose a Navigator through the Visual Composition Editor, a method named handleExceptions will get generated.

The generated method looks as follows:

n5hcom16.gif (3437 bytes)

You must change the method to the following:

n5hcom17.gif (3952 bytes)

Your Navigator inherits the internalExceptionHandler(...) method from the CommunicationNavigator class. This inherited method ensures that the exceptions are flowing the correct way.

NGRELC.GIF (533 bytes)
Navigators: Overview
Enterprise Access Builder Commands: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating a Navigator
Editing and Promoting Bean Properties of a Navigator
Executing a Navigator
Creating an Enterprise Access Builder Command
Implementing the handleException Method for a Navigator
Mapping Between a Business Object and a Record Bean

Ov kp%X$G!7FI6z6$G!./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hnav4.htm$$ Executing a Navigator

Executing a Navigator

Setting the Navigator Input
On input, you must provide to the Navigator all the data that is required, from the outside, for the execution of the Commands in the navigation flow.

Depending on what features you promoted from the Commands to the interface of your Navigator, you must do one of the following:

  • If you promoted the input record bean of a Command in the navigation flow as a whole to the interface of your Navigator, then you can call the getter method that resulted from the promotion task, in order to have type correct access on the input record bean. Then, use the setter methods of the input record bean to set the input data.
  • If you promoted the properties of the input record bean of a Command in the navigation flow to the interface of your Navigator, then use the setter methods that resulted from the promotion task to set the input data.

If the input of the Commands in the navigation flow are associated with a mapper, and the mapper maps from keyed business objects, then you need to set only those properties of the record bean variable that represent key properties of business objects. The rest of the record bean properties are set when the associated mapper gets processed during execution.

The Execute Methods
Your Navigator inherits two execute methods from the CommunicationNavigator base class; these two execute methods drive the execution of your Navigator. Their signature is as follows:

n5hcom19.gif (2144 bytes)

Use the first signature when handscripting with Navigators; use the second signature when visual scripting with Navigators.

Getting the Navigator Output
If you promoted features from the Commands in the navigation, output records as a whole, or selective properties of the output record beans, you can use the respective getter methods that resulted from the promotion task, in order to access the data of the output record bean. You can also access the output record bean by calling the inherited getOutput method of the Command. Note: You must typecast the return of getOutput() to the correct record bean type.

If the Commands in the navigation have mappers associated with their output record beans, then you can access, through the inherited getMappedObjects method of your Navigator, the objects data that was mapped to during the execution of the Navigator.

The Implicit Transfer of Execution State
By means of the CommandEvent object, the execution state gets transferred implicitly, beginning with the internalExecutionStarting event, continuing with the executionSuccessful events between Commands in the flow, and ending with calling the returnExecutionSuccessful event of the last Command in the navigation flow.

The following are the two most important aspects achieved when the record bean is passed as a property of the CommandEvent object:

  • It is resolved which one of the succeeding Commands are executed next in the navigation flow (all succeeding Commands are linked to the executionSuccessful event of the same preceding Command).
  • The output of the preceding Command becomes the input of the succeeding Command. (The succeeding Command has to define its input as a record bean variable.)

Exceptions
As a caller of the execute methods, you must be aware of the following exceptions:

  • InvalidInputStateException
    This exception gets thrown when the checkInputState method of one of the Commands in the Navigator fails.
  • ExecutionException
    This exception gets thrown for any other Navigator internal error (in the case that no connection specification or communication was provided).
  • ConnectorException
    Subclasses of this exception get thrown by the Common Connector Framework communication interface. For details on this exception, please refer to the Common Connector Framework javadoc. If the generic execution logic of the Navigator or one of the Commands comprising the Navigator catches a ConnectorException, it disconnects the communication (if the Command created the communication), and rethrows the exception.
  • InvalidOutputStateException
    This exception gets thrown in the case that multiple output record beans are defined for a Command in the navigation flow, and either none or more than one of the specified output record beans are able to handle the data returned by the host system.

Note: In the case of other exceptions, the communication may get disconneted. In such cases, the disconnectCommunication property is not considered.

Influencing How the ConnectionSpec Gets Handled
Rather than specify the connection specification fix in your Navigator, you can pass the connection specification dynamically during run time to the Navigator, through the inherited setConnectionSpec(...) method.

Whether a Navigator disconnects the communication it created at the end of its execution will depend on the setting of the disconnectCommunication property. By default, the disconnectCommunication property is set to true, which means that the communication gets disconnected.

Instead of passing a connection specification from the outside to your Navigator, it is possible to pass an already-connected communication. If a communication gets passed from the outside, the setting of the disconnectCommunication property has no effect, which means that the Navigator is not disconnecting the communication at the end of execution.

Executing a Script Between Commands
Rather than link a sequence of Commands directly, you can also script some complex logic between Commands. If more than one subflow exists, the script can
determine which subflow the execution continues.

The following sample script finally calls the execution method of a Command:

n5hcom18.gif (2659 bytes)

Using the CCF RuntimeContext with a Navigator
Using the CCF (Common Connector Framework) RuntimeContext involves the same process as using the CCF RuntimeContext directly with a CCF connector.

The Enterprise Access Builder Command makes use of the CCF RASService interface of the RuntimeContext.

For more information on the CCF RuntimeContext, see Setting Up the Common Connector Framework Run-time Context.

NGRELC.GIF (533 bytes)
Navigators: Overview
Enterprise Access Builder Commands: Overview
Connectors: Overview
Business Objects
Mappers

NGRELT.GIF (466 bytes)
Creating a Navigator
Editing and Promoting Bean Properties of a Navigator
Implementing the handleException Method for a Navigator
Creating an Enterprise Access Builder Command
Executing an Enterprise Access Builder Command
Setting Up the Common Connector Framework Run-time Context
Mapping Between a Business Object and a Record Bean

> k,X$F7FI6z6$F./usr/IBMVJava/html/enterp/en_US/eab/tasks/t5hredit.htm$$ Editing Record Types in the Java Record Editor

Editing Record Types in the Java Record Editor

The IBM Record Java Library is used to manipulate record byte streams as if they were Java beans or classes. You would use the Java Record Editor to define the structure and properties used to manipulate the record bytes.

To launch the Java Record Editor, you must do the following:

  • Under Projects in the IDE workbench, select a class (that you have previously created by using the wizard).
  • Then, go to the Tools menu, select Records, and then select Edit Record Type.

When you have the Java Record Editor open before you, you will see two panes. The left pane displays the record structure as a tree of fields. The right pane displays the properties of the field that you have selected in the tree view. You can work within these two panes to change the record structure and set the field properties of your record type.

 

n5hjre.gif (9627 bytes)

 

The Java Record Editor allows you to edit one class at a time.

Adding, Moving and Deleting Fields
In the Java Record Editor, you can add new fields as children and/or as siblings to your record type. Five different fields exist in the Java Record Editor:

  • Simple Field: Simple fields are used to manipulate record bytes as Java primitive types, such as an int or a String.
  • Array Field: Array fields manipulate record bytes as an indexed sequence of subfields. The type of the subfield is specified as the base type of the array.  Arrays with multiple dimensions are supported.
  • Nested Record Field: A nested record field manipulates record bytes as a sequence of subfields. This is analogous to the support of structures in high-level programming languages (for example, a C struct).
  • Overlay Field: An overlay field manipulates record bytes as a sequence of subfields all anchored to the same offset (subject to individual component subfield alignment). An example of an overlay field would be a C union.
  • Padding Field: Padding fields allow fine control over the positioning of subsequent fields in the IBM Java Record Framework. A padding field takes up space in the record type but does not contain data.

Overlay fields, Nested Record, and Array fields can have children; the Simple fields can only have siblings. For Overlay and Nested Record fields, the children are the contents of the type. For Array fields, the children are the contents of the base type. This means that an Array field with a base type that is a Simple field type cannot have children, and an Array field with a base type that is an Overlay or Nested Record field type can have children.

To add a field, select a field in the left pane, and right-click. You will then be able to choose from the following functions:

  • Create New Field as Sibling
  • Create New Field as Child
  • Create New Field in Array Base Type
  • Move To Local Clipboard
  • Move Field from Local Clipboard as Sibling
  • Move Field from Local Clipboard as Child
  • Delete

The Create a New Field function allows you to add a field to the field's type. The field type value is displayed in the right pane.

When you select Create New Field as Sibling or Create New Field as Child, the Create a Field SmartGuide will pop up. Use the Create a Field SmartGuide to add a field to a record type. The Create a Field SmartGuide consists of several pages that guide you in creating any of the five fields that exist in the Java Record Editor. You would use the initial Create a Field SmartGuide page -- the Field Selection Page -- to select the field category you want to create. The list of field types available for you to choose from will depend on what type system you defined earlier. You select the desired field category by clicking on it.

The Move function allows you to move a field to another field as a child or a sibling. The Move function is similar to cut and paste, except that the Move function allows you to move a field only once.

The Delete function allows you to delete a field.

Editing Field Properties
In the right pane, you can edit the properties of each field. Nested properties are indented and listed below their containing property.

A field can have an initial value property and a constant value property if the field's type supports it. Each field's initial value is used to initialize a record when it is constructed. The default constructor of the record does this by invoking the setInitialValues() method. The constant value is used with the record's checkBytes(byte[]) method. This method returns true, if the supplied byte array matches the constant values specified for the fields of the record. The checkBytes(byte[]) method is a very useful feature that is essential in supporting applications which can receive multiple types of output for a given request. This method provides a means of checking the returned output to determine its type. The com.ibm.ivj.eab.command.CommunicationCommand class uses this feature to determine which of the output objects that you specified is able to handle the data returned from the host.

Note: If you change the Field Type value, or modify one of its nested attributes, you will invalidate the Initial Value and Constant Value, and thus delete the two values.

To edit a property, click on its respective value cell in the table. For some properties, when you click on their values, a button will appear in the cell. If a button appears, click the button. A dialog box will pop up for you to work with.

Click Done to generate the code.

NGRELC.GIF (533 bytes)
Java Record Framework: Overview
Record Type Generation
Java Record Editor
Record Generation
Enterprise Access Builder Commands: Overview
Enterprise Access Builder: Overview

NGRELT.GIF (466 bytes)
Generating a Dynamic Record Type: Overview
Editing Record Types in the Java Record Editor
Generating a Record Bean or Class
Accessing Enterprise Data: Overview
Versioning a Program Element

 

 

 

rd k`X$7PnL6{6$U./usr/IBMVJava/html/enterp/en_US/eab/ui/u5hredit.htmtm$$ Java Record Editor
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Java Record Editor

The IBM Record Java Library is used to manipulate record byte streams as if they were Java beans or classes. Use the Java Record Editor to define the record structure and field properties that manipulate the record bytes.

The Java Record Editor consists of two panes. The left pane displays the record structure as a tree of fields. The right pane displays the properties of the field that you have selected in the tree view.

In the Java Record Editor, you can edit classes one at a time.

Adding, Moving, and Deleting Fields
In the Java Record Editor, you can add new fields as children and as siblings to your record type. Five different fields exist in the Java Record Editor:

  • Simple Field: Simple fields are used to manipulate record bytes as Java primitive types, such as an int or a string.
  • Array Field: Array fields manipulate record bytes as an indexed sequence of subfields. The type of the subfield is specified as the base type of the array.  Arrays with multiple dimensions are supported.
  • Nested Record Field: A Nested Record field manipulates record bytes as a sequence of subfields. This is analogous to the support of structures in high-level programming languages. An example of a Nested Record field would be a C struct.
  • Overlay Field: An Overlay field manipulates record bytes as a sequence of subfields all anchored to the same offset (subject to individual component subfield alignment). An example of an Overlay field would be a C union.
  • Padding Field: Padding fields allow fine control over the positioning of subsequent fields in the IBM Java Record Framework. A Padding field takes up space in the record type but does not contain data.

Overlay, Nested Record, and Array fields can have children; Simple fields can only have siblings. For OverLay and Nested Record fields, the children are the contents of the type. For Array fields, the children are the contents of the base type. This means that an Array field with a base type that is a Simple field type cannot have children, and an Array field with a base type that is an Overlay or Nested Record field type can have children.

To add a field, select a field in the left-hand pane, and right-click. You will then be able to choose from the following functions:

  • Create New Field as Sibling
  • Create New Field as Child
  • Create New Field in Array Base Type
  • Move to Local Clipboard
  • Move Field from Local Clipboard as Sibling
  • Move Field from Local Clipboard as Child
  • Delete

The Create a New Field function allows you to add a field to the field's type. The field type value is displayed in the right pane.

When you select Create New Field as Sibling or Create New Field as Child, the Create a Field SmartGuide will pop up. The Create a Field SmartGuide consists of several pages that guide you in creating any of the five fields that exist in the Java Record Editor. Use the Create a Field SmartGuide to add a field to a record type.

The Move function allows you to move a field to another field as a child or a sibling. The Move function is similar to cut and paste, except that Move only allows you to move a field once.

The Delete function allows you to delete a field.

Editing Field Properties
In the right pane, you can edit the properties of each field. Nested properties are indented and listed below their containing property.

A field can have an initial value property and a constant value property if the field's type supports it. Each field's initial value is used to initialize a record when it is constructed. The default constructor of the record does this by invoking the setInitialValues() method. The constant value is used with the record's checkBytes(byte[]) method. This method returns true, if the supplied byte array matches the constant values specified for the fields of the record. The checkBytes(byte[]) method is a very useful feature that is essential in supporting applications which can receive multiple types of output for a given request. This method provides a means of checking the returned output to determine its type. The com.ibm.ivj.eab.command.CommunicationCommand class uses this feature to determine which of the output objects that you specified is able to handle the data returned from the host.

Note: If you change the Field Type value, or modify one of its nested attributes, you will invalidate the Initial Value and Constant Value, and thus delete the two values.

To edit a property, click on its respective value cell in the table. For some properties, when you click on a value, a button will appear in the cell. If a button appears, click the button. A dialog box will pop up for you to work with.

Click Done to generate the code.

NGRELT.GIF (466 bytes)
Create a Field SmartGuide: Field Selection Page
Create a Field SmartGuide: Simple Field Page
Create a Field SmartGuide: ArrayField Page 1
Create a Field SmartGuide: ArrayField Page 2
Create a Field SmartGuide: Nested Record Field Page
Create a Field SmartGuide: Overlay Field Page
Create a Field SmartGuide: Padding Field Page

have kpX$7nL6{6$c./usr/IBMVJava/html/enterp/en_US/eab/ui/u5hresg1.htmtm$$ Create a Field SmartGuide: Field Selection Page
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Create a Field SmartGuide: Field Selection Page

Use the Create a Field SmartGuide to add a field to a record type.

Use this page to select the type category for the field you want to create. You select the desired type category by clicking it, and then clicking the Next> button. You can choose from a maximum of five possible type categories (only some of these types may be available depending on the type system). The type category you choose determines the kind of data an IBM Record Java Library field manipulates.

  • Simple Field: Simple fields are used to manipulate record bytes as Java primitive types, such as an int or a string.
  • Array Field: Array fields manipulate record bytes as an indexed sequence of subfields. The type of the subfield is specified as the base type of the array.  Arrays with multiple dimensions are supported.
  • Nested Record Field: A Nested Record field manipulates record bytes as a sequence of subfields. This is analogous to the support of structures in high-level programming languages. An example of a Nested Record field would be a C struct.
  • Overlay Field: An Overlay field manipulates record bytes as a sequence of subfields all anchored to the same offset (subject to individual component subfield alignment). An example of an Overlay field would be a C union.
  • Padding Field: Padding fields allow fine control over the positioning of subsequent fields in the IBM Java Record Framework. A Padding field takes up space in the record type but does not contain data.

Click Next> to continue to the next task.

Click Cancel to cancel the tasks you have performed on this page.

NGRELT.GIF (466 bytes)
Create a Field SmartGuide: Simple Field Page
Create a Field SmartGuide: Array Field Page 1
Create a Field SmartGuide: Array Field Page 2
Create a Field SmartGuide: Nested Record Field Page
Create a Field SmartGuide: Overlay Field Page
Create a Field SmartGuide: Padding Field Page
Editing Record Types in the Java Record Editor

>  kfX$N 7|oL6{6$kN ./usr/IBMVJava/html/enterp/en_US/eab/ui/u5hresg2.htmtm$$ Create a Field SmartGuide: Simple Field Page
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Create a Field SmartGuide: Simple Field Page

Use the Create a Field SmartGuide to add a Simple field to a record type. Simple fields are used to manipulate record bytes as Java primitive types.

Enter a name for your Simple field, and select the type of field you want to create.

  • Field Name Enter a text string of any character length.
  • Field Type
    • If the record you are editing uses a type system (such as the IBM C Language Types, BMS, MFS, or COBOL types), the field type will be constrained. When the type is constrained, you must select a field type from the drop-down menu. The list of available field types depends on how you defined the type system earlier.
    • If the record you are editing uses a type system for which there is only one valid Simple field type, you do not have to enter a field type. The only valid field type is defined by the type system.
    • If the record you are editing does not use a type system, you must enter the fully qualified type name for the field you want to create. The field type must implement IAnyType, but not IAnyComposedType.

Once you have created the Simple field, you can edit it and the properties for its type in the Field Properties Table.

Click Cancel to cancel the tasks you have performed on this page.

Click Finish to create the field.

NGRELT.GIF (466 bytes)
Create a Field SmartGuide: Field Selection Page
Create a Field SmartGuide: Array Field Page 1
Create a Field SmartGuide: Array Field Page 2
Create a Field SmartGuide: Nested Record Field Page
Create a Field SmartGuide: Overlay Field Page
Create a Field SmartGuide: Padding Field Page
Editing Record Types in the Java Record Editor

Create a Field SmartGuide: Array Field Page 1
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Create a Field SmartGuide: Array Field Page 1

Use the Create a Field SmartGuide to add an Array field to a record type. Array fields manipulate record bytes as an indexed sequence of subfields. The type of the subfield is specified as the base type of the array. Arrays with multiple dimensions are supported.
 
Use this page to enter the name of the Array field you want to create, and to select the Array field type.

  • Field Name Enter a text string of any character length.
  • Field Type
    • If the record you are editing uses a type system (such as the IBM C Language Types or COBOL types), you must select a type within this type system as the type of your Array field. A type is within the type system if it is one of the classes listed, or has one of the listed classes as a superclass.
    • If the type system provides more than one Array field type choice, you can select a field type from the drop-down list box. Alternatively, you can enter the fully qualified name of a Java class you have defined, which extends one of the field types in the drop-down list.

      If the type system defines a single Array field type (such as the IBM C Language Types), you may select that type or enter the fully qualified name of a Java class you have defined which extends that type. This allows you to create an Array type and reuse it in several record types.

      Note: If you enter a fully qualified class name, the Java Record Editor will generate an inner class as a copy of the contents of the Array field type you specify. As a result, the fields using your Array type will not reflect any subsequent changes you make to the original Array type.

    • If the record you are editing does not use a type system, you must enter the fully qualified Java class name for the Array field type you want to create. The only restriction the Java Record Editor makes is that this class must implement IArrayType.

Once you have entered the Field Name and Field Type, click the Next> button to edit the Array base type and dimensions.

Click Cancel to cancel the tasks you have performed on this page.

NGRELT.GIF (466 bytes)
Create a Field SmartGuide: Field Selection Page
Create a Field SmartGuide: Simple Field Page
Create a Field SmartGuide: Array Field Page 2
Create a Field SmartGuide: Nested Record Field Page
Create a Field SmartGuide: Overlay Field Page
Create a Field SmartGuide: Padding Field Page
Editing Record Types in the Java Record Editor

rtGu kX$7pL6{6$./usr/IBMVJava/html/enterp/en_US/eab/ui/u5hresg4.htmtm$$ Create a Field SmartGuide: Array Field Page 2
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Create a Field SmartGuide: Array Field Page 2

Use the Create a Field SmartGuide to add a field to a record type. Array fields manipulate record bytes as an indexed sequence of subfields. The type of the subfield is specified as the base type of the array. Arrays with multiple dimensions are supported.

Use this page to select the base type for the Array field you want to create, and to specify the dimension of the Array field.

  • Field Type
    • If the record you are editing uses a type system (such as the IBM C Language Types or COBOL types), you must select a type within this type system as the base type of your Array field. A type is within the type system if it is one of the classes listed, or has one of the listed classes as a superclass.
    • If the type system provides more than one Array base type choice (such as the IBM C Language Types), you can select an Array base type from the drop-down list box. Alternatively, you can enter the fully qualified name of a Java class you have defined which extends one of the Array base types in the drop-down list.

      If the type system defines a single Array base type, you can select that type or enter the fully qualified name of a Java class you have defined which extends that type. This allows you to create an Array base type and reuse it in several record types.

      Note: If you enter a fully qualified class name, the Java Record Editor will generate an inner class as a copy of the contents of the Array field base type you specify. As a result, the fields using your Array base type will not reflect any subsequent changes you make to the original Array base type.

    • If the record you are editing does not use a type system, you must enter the fully qualified class name for the Array base type. The Java Record Editor enforces two restrictions on this class: the class must implement IFixedLengthType, and it may not implement IArrayType.
  • Dimension Allows you to specify a size for the Array field you want to create.

Once you have created the Array field, you can edit it and its Array type properties in the Field Properties Table. You can also change the structure of its Array base type (if any) in the Tree view.

Click Cancel to cancel the tasks you have performed on this page.

Click Finish to create the field.

NGRELT.GIF (466 bytes)
Create a Field SmartGuide: Field Selection Page
Create a Field SmartGuide: Simple Field Page
Create a Field SmartGuide: Array Field Page 1
Create a Field SmartGuide: Nested Record Field Page
Create a Field SmartGuide: Overlay Field Page
Create a Field SmartGuide: Padding Field Page
Editing Record Types in the Java Record Editor

> Create a Field SmartGuide: Nested Record Field Page
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Create a Field SmartGuide: Nested Record Field Page

Use the Create a Field SmartGuide to add a field to a record type. A Nested Record field manipulates record bytes as a sequence of subfields. This is analogous to the support of structures in high-level programming languages (for example, a C struct).

Use this page to enter the name of the Nested Record field you want to create, and to select the field type.

  • Field Name Enter a text string of any character length.
  • Field Type
    • If the record you are editing uses a type system (such as the IBM C Language Types, BMS, MFS, or COBOL types), you must select a type within this type system as the type of your Nested Record field. A type is within the type system if it is one of the classes listed, or has one of the listed classes as a superclass.
    • If the type system provides more than one Nested Record type choice (such as the IBM BMS Types), you may select the type from the drop-down list. Alternatively, you can enter the fully qualified name of a Java class you have defined, which extends one of the types in the drop-down list.

      If the type system defines a single Nested Record type (such as the IBM C Language Types), you may select that type or enter the fully qualified name of a Java class you have defined which extends that type. This allows you to create a Nested Record type and reuse it in several record types.

      Note: If you enter a fully qualified class name, the Java Record Editor will generate an inner class as a copy of the contents of the Nested Record field type you specify. As a result, the fields using your Nested Record type will not reflect any subsequent changes you make to the original Nested Record type.

    • If the record you are editing does not use a type system, you must enter the fully qualified Java class name for the Nested Record type you want to create. The only restriction the Java Record Editor makes is that this class must implement IAnyDynamicRecordType.

    Once you have created the field, you can edit it and its type in the Field Properties Table.

Click Cancel to cancel the tasks you have performed on this page.

Click Finish to create the field.

NGRELT.GIF (466 bytes)
Create a Field SmartGuide: Field Selection Page
Create a Field SmartGuide: Simple Field Page
Create a Field SmartGuide: Array Field Page 1
Create a Field SmartGuide: Array Field Page 2
Create a Field SmartGuide: Overlay Field Page
Create a Field SmartGuide: Padding Field Page
Editing Record Types in the Java Record Editor

xt=" k4X$7nL6{6$./usr/IBMVJava/html/enterp/en_US/eab/ui/u5hresg6.htmtm$$ Create a Field SmartGuide: Overlay Field Page
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Create a Field SmartGuide: Overlay Field Page

Use the Create a Field SmartGuide to add a field to a record type. An Overlay field manipulates record bytes as a sequence of subfields all anchored to the same offset within the record bytes (subject to individual component subfield alignment). An example of an Overlay field would be a C union.

You would use this page to enter the name of the Overlay field you want to create, and to select the field type.

  • Field Name Enter a text string of any character length.
  • Field Type
    • If the record you are editing uses a type system (such as the IBM C Language Types or COBOL types), you must select a type, within this type system, as the type of your Nested Record field. A type is within the type system if it is one of the classes listed, or has one of the listed classes as a superclass.

      If the type system provides a single Overlay type (such as the IBM C Language Types) or more than one Overlay type choice, you can select the type from the drop-down list.

      Alternatively, you can enter the fully qualified name of a Java class you have defined, which extends one of the types in the drop-down list. This allows you to create an Overlay type and reuse it in several record types.

      Note: If you enter a fully qualified class name, the Java Record Editor will generate an inner class as a copy of the contents of the Overlay field type you specify. As a result, the fields using your Overlay type will not reflect any subsequent changes you make to the original Overlay type.
    • If the record you are editing does not use a type system, you must enter the fully qualified Java class name for the Overlay type you want to create. The only restriction the Java Record Editor makes is that this class must implement IOverlayType.

Click Cancel to cancel the tasks you have performed on this page.

Click Finish to create the field.

NGRELT.GIF (466 bytes)
Create a Field SmartGuide: Field Selection Page
Create a Field SmartGuide: Simple Field Page
Create a Field SmartGuide: Array Field Page 1
Create a Field SmartGuide: Array Field Page 2
Create a Field SmartGuide: Nested Record Field Page
Create a Field SmartGuide: Padding Field Page
Editing Record Types in the Java Record Editor

P kSX$d 7:oL6{6$ d ./usr/IBMVJava/html/enterp/en_US/eab/ui/u5hresg7.htmtm$$ Create a Field SmartGuide: Padding Field Page
Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

Create a Field SmartGuide: Padding Field Page

Use the Create a Field SmartGuide to add padding to a record type. Padding fields allow fine control over the positioning of subsequent fields in the IBM Java Record Framework. A Padding field takes up space in the record type but does not contain data.

Use this page to specify the number of padding bytes for the Padding field you want to create.

  • Padding Allows you to specify the number of padding bytes as a positive integer value.

    Once you have created the type, you can edit its properties in the Field Properties Table.

Click Cancel to cancel the tasks you have performed on this page.

Click Finish to create the field.

NGRELT.GIF (466 bytes)
Create a Field SmartGuide: Field Selection Page
Create a Field SmartGuide: Simple Field Page
Create a Field SmartGuide: Array Field Page 1
Create a Field SmartGuide: Array Field Page 2
Create a Field SmartGuide: Nested Record Field Page
Create a Field SmartGuide: Overlay Field Page
Editing Record Types in the Java Record Editor

.x kꎿX$,7I6{6$,./usr/IBMVJava/html/enterp/en_US/encina/ref/allclasses.htmlord.$$ Class and Interface Index (Encina IBM e-business Connector)
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

Class and Interface Index (Encina IBM e-business Connector)


D
DELConnCommAttributes
DELConnCommunication
DELConnConnectionSpec
DELConnInteractionSpec
DELConnReturnValue
DrpcArrayType
DrpcBasicType
DrpcConnection
DrpcConnectionBeanInfo
DrpcDictionary
DrpcEngine
DrpcException
DrpcStructure
DrpcStructureStub
DrpcStructureStubBeanInfo
DrpcStructureType
DrpcStub
DrpcStubBeanInfo
DrpcTxException
DrpcType

R
RpcDescription
RpcList
RpcMetadata

S
SERVICE

T
Transaction
TransactionBeanInfo


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
g4.h lX$7I6{6$(P./usr/IBMVJava/html/enterp/en_US/encina/ref/allnames.htmllord.$$  aceinrt.dhlos "<>_fgmpu#/=CDEMSTby ()LOPRvxAINw,-BGUVjFHKXYk3Wq0128;z46JQZ'9[]!7:&50n"=InT Z!~gU͖zYc=Q&2fIF@<(0)"_ogE2yqp R((@`"\#\JP4  0xcJ$mQ1}]Ï վ'Womfq`1ߛo| v׻$4L˕Q&r)w ,8@\}À Yd6$YJ&""" dKq _b 3n;|$mkҚ@I`.*ԥk@I`,҉3=fe4Ɇu$3iflrzDl0γė-m6^z贳@l lIk`eo9o0Cіz0G` L 4`qL3% 4 `4LgYK=@40DQ&L3%  ,FJ$Ɇu$ؚ$ae,iD0γĖ{D 0F"M(&xÏbh!fCId:XqM0YA$҉2ag,8&h0DQ&L3% 4`4LgYK=@@0DQ&L3% bJ$Ɇu$ؚ$`0DQ&L3%  ,ѦJ$Ɇu$ؚ$`Af &I jė=,҉6|L:~- 3k6`&{SnQ&=! iD1,{D ,Icv5bKh heTiD1,{D ,A$҉0A4 SJ$Ŵ҉1~l0γėNE_ӯSnܥqzmnӑF'S=+,#\J\JȊdr͕+,#A_yLB1{|~.3b/|SWTۯw)vA&xȫuԪv׻n Rr(arJg{8ENE7a`4b Z͈|#~.%k|L%J2u =n?oQD6LgYK"R۷^R=Kӷz>jvrJgs":c Q z_yLB1{|Ys":ch0W9+")XF?oQ#olSer*|*u.ۈ3d:]9NzNݺrm]KSS=;ܑŚ,`@nߧKSIbl@c9q+[a.rWF)\7eq{} & d:]9Nzn R*n~;N[LZVrWDS'Pr*!sPW9+")XF?o6VrWDS'P"M %}E2u :$m͊l($jB=FL3%ӑWK /v徔E$qfSnJ& Ŭ؁7rV\䯼S'Pn?oˆLA`Ɇu$r*|)vAT@徔Ek %}E2u 0!:s":cek %}E2u $`rWDS'PF߱ˌئFNz.ۈ3d:]9Nzn R*u rJg{8ET;:zd &LAYُoĭo_yNpG= 7() Q1  &ƻ6Pe_Eb2ag._=J]g/i})C 7/: &=&Ǻ=aBQ1/̀S&xȫuԥqz*]vҙ< {ȥ`پY&""MuH9q{PHRqzgYK"RmvKrJg{8BҡvK`4b Z͈|#~.:>Dzȥpa)MDzȥpq=F-Eb2ag._=J]g|?:!s徔E\Y.tSe0DH66)ӯ 0γėNE_ӯ.ۈ3ԾJz}orJg{8ET;:zd{0DQ1-ff>'H6❿9e6^=>ɀJ&z}pLfF() 'H6❿9e6^=>ɀJ&鐌Eb2ag._=J]g|Sn-z-B J1 Y- д#AQ#olSeA#T?_=Jm2ag._=J]g|Sn-z-w#4_%Bu0DQ1-ff>c~kcڸDA=|.]~;_Z ;cُvEb2ag._=J]g|Sn-z-B J1 d(wjB J1`4wj(r6)ӯ 0γėNE_ӯ.ۈ3ԾJ۷_ӖS=;ܑŚ/Nݺv"M(b߱ˎO1}\{vҠÈw_voĿ-l |{'dL!Lu+ڢ1~l0γėNE_ӯ.ۈ3R79o3hrhZT`.C%MACP,hZTIÿPQDc\ :Pn Q ctv…CҺDz7`6& d:]9Nzn R*^Wx})Cnxi<`4E6\f6^5CuԡvA&xȫuԥqzRN[LZrGhJ~;g"M(b߱ˊm>= v=|k-() cA15q:kuqMs첉v=B~2EEb2ag._=Jn{K .Nݧ"{?ӖS=nx09fӷnh0:$m͊lNE_ӯSnܥqzgYK"R۷^R=KӷiȢO徔E$qf)ۢ)T;L&LAYُoÈ|&)۷_DL b B~2F#ˁNݺvBߚ{.)>(oop9+|.͵'=츧n~;`a]aSQD6LgYK"Rm_%Kv9o3hzv SgPPI.690D @ uH9q{PHRqzgYK"Rm_%Kv9o3hsY*"`4b Z͈|#~.>K/}`eKSl{."1~l0γėNE_ӯ.ۈ3ԾJ"rJgx \J:fYx&Af~.3b/| :Pn Q c~kbq)\.]{Eb2ag._=J]g|y徔E,rDL&F߱ˌئFNz.ۈ3d:]9Nzn R*!/)Y})CHP/E+0DQ1-ff>c~kbq)\.]{Eb2ag._=J]g|?:VrJg䈃m9"&AQ#olSeA#T?_=Jm2ag._=J]g|?:VrJg{8ET;:ǑJ&LAYُo_$F|{.9"0qR]r& d:]9Nzn R*u rJg䈁-N 6u l,r*l x9fӒ" T;0D )@ uH9q{PHRqzgYK"Rm_%ON>d[LZrGhJ'^XL$҉1k6 {1%0_%CO@ obv'HÏ/opz& d:]9Nzn R*u rJg䈁RPHRqzT;:6*Z"MPQDcMP|(]gɆu$r*|)vAT@徔E$qfwu"M(b߱ˇ߾=N>?-|F'c5;W>$`_%CO@ LA`Ɇu$r*|*u.ۈ3Իm;vuzWG-z-]s)ȢOk~9Sܩv"MQDcM)ȫuԪv׻n Q jPHRqzgYK"Rm_%Wf})CHPC6&LAYُoˁbC\lS7.}`t=2N,(SQ1/̀S&xȫuԥqz*]vҙ:…j…"MQD یئFNz.ۈ3d:]9Nzn W%Kb_ӖS=;ܑŚ b_Ibl@c❯ߌO?ˀQv6faBQ1/̀S&xȫuԥqzU;vBsOq})Cu}D"-\䯼}v%`r]XIbl@c9q&%}avK{=Q0Iy dIڊ& d:]9Nzn R*n~;N[LZu`KQ`r]Xlh0:$m͊l($jB=FL3%ӑWK /v徔E$qfSnJ& Ŭ؁7r|{.)>߁bBoFt{1Nݺv|NQD6LgYK"Rm_%Wf})C }6 Y_}"MQDc\ :Pn Q Ibl@c9q&%}avK{=Q0%(Odmb _L3%ӑWK /v徔EtkA5wMh0:$m͊l($jB=FL3%ӑWK /v徔E$qfSnJ& Ŭ؁7rwMDz~=a6 J@[.=Q0K[츤~&.?_5QD6LgYK"Rm_%Wf})C/Rփj=a-i$`uH9q||ӯ 0γėNE_ӯ.ۈ3ԾJPͳS=;ܑŚ/m"M(b߱˅6z\m@ږ-*0A`lYDe-lfDz |Eb2ag._=Jn{K .Nݧ"O-z-,`@nr('`r0 SE9@y$`uHkwAU:U;v]gɆu$r*|*u.ۈ3Իm;v3A?ҙ9,c;tSD A?"M(bu讹|NŢc;tSD A?Èw^1~l0γėNE_ӯSnܥqzmnӑE=ʟi})C)ۢ)T;A4XNQOr`4E){)9NzNݺrm2ag._=Jn{K .Nݧ"{?ӖS=;ܑŚ,`@nr(S0DQ1-fD6LgYK"R۷^R=Kӷi۷_ץtrJg vn~;G%t Y vn~;G%t`4E){)9NzNݺrm2ag._=Jn{K .Nݧn~;^})CH0 SE;v9+Ibl@\.ϔN'^럷Z)y0 SE;v9+Eb2ag._=Jn{K .NkҺ9o3hqc;t}509f)۠}h䮌&E;_{wE6^"R۷^R=FL3%ӑWTۯw)vAi۹}5zWG-z-w#4XNM~;G%t`4b Z͈|#~.1])❯Nܢ1~l0γėNE_ӯSnܥqzmn}徔EŌл@jv Y v]}T;0D u={✊_=Jn{K 0γėNE_ӯSnܥqzmn}徔E$qf)ۡwRiDb2ag._=J]g|Sn-z-l`r^Wx$`uH9q{PHRqzgYK"Rm_%Tۯi})CHPn~;L&LAYُo_>=^WxDDz~=6 J@F\qq׶~&_nOdm6\%=(@d;z& d:]9Nzn R*C6[LZy_ 嚼lI(r63~A#T?_=Jm2ag._=J]g|^g-z-w#4_%C5 0DQ1-ff>c~kcڸGy_%\@ږ-*0Aa9p ƶ}Ǻ?^(!~ j=A(up}() uAQ#olSer*|*u.ۈ3d:]9NzNݺrm]NE*-z-w#4XNQOr`4b Z͈|#~.n{qNݺvbk27ڊ& d:]9Nzn R*ڴ-z-, yBÆh 8`5E;2{$n3b/| :Pn Q /$/Q1/̀S&xȫuԥqzUե9o3hqaaB (hG L&G|TOdmlSeA#T?_=Jm2ag._=J]g|XmZ_ӖS=;ܑŚ/i~;L&LAYُ KʟDz~=&ǑJ`e(\ 5#q6oQ1/̀S&xȫuԥqzUե9o3hqaaB,aaB0DP=AMP|(]gɆu$r*|)vAUai~;N[LZrGhJե0DQ1-ff>,6/lf*~\%S=+?*w~;J&|{.Lf Q1/̀S&xȫuԥqzUե9o3hqaaB8,aaB80DP=AMP|(]gɆu$r*|)vAUai~;N[LZrGhJե0DQ1-ff>,6/lf*~!+m.2Z& d:]9Nzn R*ڴ-z-,,(Q8Y@aÀ$,Yf ppPp `5E;2{$n3b/| :Pn Q %qD&_므of>*v3W?q0<c?uLA`Ɇu$r*|)vAUai~;N[LZXXPa ,aaB0,,$,j$w@dIf6^5CuԡvA&xȫuԥqzUե9o3hsY*ViDُ KʟDz~'c7[IL%Su~U'kl{.7() YD%ۏe7/~>ZsPt{.LQD6LgYK"Rm_%VV徔EŅ 8PH 0P 0Yf p@ `@0 `I(?$q{PHRqzgYK"Rm_%VV徔E$qf`mZ_Ibl@cjvj쟏e7/~2Odn=NݺtL!?`"1~l0γėNE_ӯ.ۈ3ԾJ6/i})C pC#)0 @p4XXPp N8` `5E;2{$n3b/| :Pn Q 2Eb2ag._=J]g|^g-z-,,(Q 8(,$xC,aaB(aAa# p0@A$Hʀ ͌߾>jPHRqzgYK"Rm_%Wf})CHPC6&LAYُv~ODz M(0G%9m:0A`X<6-)T;_/7{˄'$buq}e& d:]9NzNݺrm]NE [LZXXPpPXH񂇜($(yf pC 0P0DP=AM)ȫuԪv׻n Q )zWX~[?ˁc`AO&HoYD 9.wyͰiۯ0A`X<6-)T;_/7{˄'$buq}e& d:]9Nzn R*C6[LZXXPpPXH񂇜($(yf pC 0P0DP=A\ :Pn Q )zWX~[?ˁc`AO&HoYD 9.wyͰi˳6 'am(=QOr!~ \ b B~2F'Wˇ_(b _L3%ӑWK /3l徔EŅ 8X(y@0So ,P}}Fa҉NE*e 1:\>2Eb2ag._=Jn{K .Nݧ"O-z-,,(Q 8(,$xC@`$af pC 0P󆁀9P `5E;2{$n3b/|SWTۯw)vA&xȫuԪv׻n Rr(arJg{8ENE7a`4b Z͈|S;Dzᘃ- 'amdc&gtSE=ʟk&cpdN= QD6LgYK"Rm_%Wf})C pC 0P󆁀9P Y…,PÂG<`pF"MQD یP|(]gɆu$r*|)vAUzmҙ9,| 3liD=kw]aoe1[Ol2ǔL.͵"{? MDz \{.||1~l0γėNE_ӯSnܥqzmnӑF'S=(b<`A 4XXPpPXH񂇜  0DP=AM)ȫuԪv׻n Q )zWX~[?ˁc`AO&HoYD 9.wyͰi6Ol2Q0{)ȢOBw0dN= QD6LgYK"Rm_%Wf})C pC 0P ,,(Q 8(,$xC"MQD یP|(]gɆu$r*|)vAUzmҙ9,| 3liD=kw]aod{.Lq첉Qr\aӵf l 2tge`tSE=ʟk&cpdN= QD6LgYK"R۷^R=Kӷiȣ?y})C pC 0P€0,,(Q 8(,$xC  "MQD یئU:U;v]gɆu$r*|*u.ۈ3Իm;v3A?ҙ9,c;tSD A?"M(b=+?-쟏e0F τ'$a7{,`Tu;eO ,P}}Fa҉NE*e 1:\>2Eb2ag._=J]g|^g-z-,,(Q 8(,$xC  hG 0࠰8( ( `5E;2{$n3c75CuԡvA&xȫuԥqzUrJg{8ET3PͳIbl@c❯߇u=B~2F}Dz& o%GQsm[NH 'am(=QOr!~ \!?`#e/Q1/̀S&xȫuԪv׻n Rr(arJg…,PÂG< <8 x E 8X(y@yp@A$Hʀ ͊lNE_ӯSnܥqzgYK"R۷^R=Kӷiȣ?y})CH0 SE9@y$҉1k6 {1NҺ\ b B~2F}Dz& o%GQsm[NHٿh ,P}}Fa҉NE*e 1:\>2Eb2ag._=J]g|^g-z-,,(Q 8(,$xC  4XXPpPXH񂇜"MQD یP|(]gɆu$r*|)vAUzmҙ9,| 3liD=kw]aod{.Lq첉Qr\aӒ>vo l 2tge`tSE=ʟk&cpdN= QD6LgYK"R۷^R=Kӷiȣ?y})C pC 0P0PP,aaB(aAa# pPpPX  TQ#*'H66)9NzNݺrm2ag._=Jn{K .Nݧ"O-z-w#4XNQOJ& Ŭ؁;_J|{'p,` 3 M(0G%9m9 %4D bC0 Lr(S|{.LDz() `5E;2{$n3b/| :Pn Q Eb2ag._=J]g/i})CK5|`5E;2{$n3b/| :Pn Q j t\!?`"1~l0γėNE_ӯ.ۈ3ԾJ6/i})C p<`X p $y8PHX4XXP PÁ#‚Bnj`5E;2{$n3b/| :Pn Q iWk\!?`"1~l0γėNE_ӯ.ۈ3ԾJ6/i})C p<`X p0,p$p($hPxY…†   "MQD یئFNz.ۈ3d:]9Nzn R*ڴ-z-w#4_%Cjv"M(``{1ai~;c5ySOO&_=Лbv3~,dc]NE) ۀN{"tD]+l{.LQD6LgYK"Rm_%VV徔EŅ 8qg 0capA,,(Qp@8X 0 0DP=AMP|(]gɆu$r*|)vAUai~;N[LZrGhJե0DQ1-fDcjvj쟉ƶЖC!vBR e|=+?-j() ,6/lf*~\!?`#ڸ|ؔ%?pLA`Ɇu$r*|)vAUai~;N[LZXXP'  Y… 8xX8 (x$ppPXH0pI(?$q{PHRqzgYK"Rm_%VV徔E$qf`mZ_Ibl@cjvj쟏eXo\9+vXo(|'쟍tNk̈́u() )KP$oQ1/̀S&xȫuԥqzUե9o3hqaaB ($ $ ,aaB ($ $ 0DP=AMP|(]gɆu$r*|)vAUai~;N[LZrGhJե0DQ1-ff>,6/lf*~; s&_JYDl{.Lf1~l0γėNE_ӯ.ۈ3Rؗ徔EQ~h-N5|Rj$w@dIf6^5CuԡvA&xȫuԥqz*]vҙ9,д]v"M(bu|NXP`2ZSҍ& d:]9Nzn R*ڴ-z-,,(QaBY…(aa!fTQ#*'H66)ӯ 0γėNE_ӯ.ۈ3ԾJ6/i})CHPڴJ& Ŭ؁ņեO?}uR}ָZ}{.…EKZ1~l0γėNE_ӯ.ۈ3ԾJ6/i})C pXP( p0h0,E 8,(Qp@8 A 4`5E;2{$n3b/| :Pn Q ,6/lf*~\!?`#|"NL;n…@'=C/ceQD6LgYK"Rm_%VV徔EŅ 8,(P 4aH @Y…(0$ 0DP=AMP|(]gɆu$r*|)vAUai~;N[LZrGhJե0DQ1-ff>,6/lf*~\!?`# u5t7eˀQb _L3%ӑWK / KrJg…8`$,<0,,$,E 8p@HXx8`XXHY$Hʀ ͊l($jB=FL3%ӑWK / KrJg{8ET06/i$҉1k6 {1ai~;c5ySOC!IyqDê!C5Eb2ag._=J]g|XmZ_ӖS=(g 4!c 4XXP ($hӀ 0DP=AMP|(]gɆu$r*|)vAUai~;N[LZrGhJե0DQ1-ff>,6/lf*~\!?`#ڸ|S漢cpLA`Ɇu$r*|)vAUai~;N[LZXXP 4 8 ,E 8p(`Y@8HX&G|TOdmlSeA#T?_=Jm2ag._=J]g|XmZ_ӖS=;ܑŚ/i~;L&LAYQ0=ڴ|{'vmf#;(_A~;J&$q 1~l0γėNE_ӯ.ۈ3ԾJ6/i})C p`Pa 0 ,E 8p(`Y0ч `5E;2{$n3b/| :Pn Q ,6/lf*~um\/g˅6z() 3~оQD6LgYK"Rm_%^E+9o3huTrmvY@j$w@dIf6^5CuԡvA&xȫuԥqzWJ[LZrGhJJ&LAYُv~:}'a=~!0|f|1~l0γėNE_ӯ.ۈ3ԾJ6/i})C pq4 ,6/lf*~\_?ˇ\;J&=ܽ\{.L5Q1/̀S&xȫuԥqzU;vrJg*ۯh09fSnAQ"N/| :Pn Q )NK-;"u`-˄'$TQ1/̀S&xȫuԥqzU;vrJg*ۯh0!Π٨hJ;v`4wj(N'^MP|(]gɆu$r*|)vAUNݺvҙ9,| viD=kwEuclۯl{qLQD6LgYK"Rm_%Tۯi =-z-/Nݺv: Y*ۯhs}=AQ"N/| :Pn Q )]s\TQ1/̀S&xȫuԥqzRN[LZ_%BA|ET/+Y*"`47X=QDv:tl($jB=FL3%ӑWK /~;gҙ9,| v0DQ1-ff>)]s^WxsQ1zWX~Z7?%Ry\5Ҹ>k() ޙIbl@c❯N?oÏeO( F)}G5$z}qÏf>)b _L3%ӑWK /'^[2.w4ҙ8J'^XLs}=/ק; Oq$`uHkwAFNz.ۈ3d:]9Nzn R*u BsOq})CHPtiDb2ag._=J]g|? rJg*,|"MQDv:tl($jB=FL3%ӑWK /d[LZrGhJzd &LAYQ1/̀S&xȫuԥqzS2.w4ҙ8Jzd{,|:`4E){)ӯ 0γėNE_ӯ.ۈ3ԾJ!s徔E$qfw@>IblLA`Ɇu$r*|)vAURS=P)X09fyh0:$S׻tSeA#T?_=Jm2ag._=J]g|y徔E$qfyiD`҉2ceX&af"M(ƔISL=|Չ.{%+-RYd6$M0́`4L{0C҉1m4b _L3%ӑWK /~;gҙ=ѽmѽ"MQDcMP|(]gɆu$r*|)vATlS=;ܑŚ/y_&J& Ŭ؁7r Ѿl8u쟊v=Q0-N^Wx& d:]9Nzn W%Kb_ӖS=wtxXPͽwtxXPI(?$q{PHRqzgYK"RmvKrJg{8BҡvK`4b Z͈|S;񚼩|{'p*1;6d`k=|[aBQ1/̀S&xȫuԥqz*]vҙ=fn{N Y#]:<,(Q$Hʀ ͊l($jB=FL3%ӑWK rT}v%9o3hsYiP}v%0DQ1-ff>)^T= YcHp=4(wG 1~l0γėNE_ӯ.ۈ3Rؗ徔Ek6G9h(ok6G9h(j$w@dIf6^5CuԡvA&xȫuԥqz*]vҙ9,д]v"M(bf*~\ |Nͬ(4ƻ_5XPLA`Ɇu$r*|)vAJoĿ-z-{Y=h ӣ…mf9'<N `5E;2{$n3b/| :Pn Q '`flLssu_l QD6LgYK"R۷^R=KӷiȢO徔E6?jr*u樂` SgPPI.X2T@ rͰۤ&樂`$u,E6\f6^"R۷^R=FL3%ӑWTۯw)vAi۴QOrrJg{8ENE*J& Ŭ؁7r41&3k6a _@XPҺDDz7樂v0PeK[|=4nZ|:0BiD1,{D  4iD4L`a߃Is-Ym ʒ(&6Q%bh!fI`ݾiIib2ag._=J]g|?:9o3hsڷim[&@ ͊l($jB=FL3%ӑWK /'^[2-z-w#4_%COw@iD= ۊv'b{8\?:>jez& d:]9Nzn R*n~;N[LZn&4n&&F߱ˌئFNz.ۈ3d:]9Nzn R*n~;N[LZrGhJ;v`4b Z͈|#~.):M({Ľ'=;vڢ0BiD1,{D i$҉1iD4ݿXZ%Q&LlbK D"M(L4L[M() \䯼.]{wGX#gL!?`#JʟlOdmb _L3%ӑWK /~;gҙ:\J:fY_"M:$m͊l($jB=FL3%ӑWK /~;gҙ9,| v0DQ1-ff>ca#˅~;gb _L3%ӑWK /~;gҙ:;۝2T;5rBssAf~.3b/| :Pn Q S=Bss\J:fY_snth0Q#olSeA#T?_=Jm2ag._=J]g|?:[LZrGhJ'^Y$҉1k6 {1B0Amd;DzGڊ& d:]9Nzn R*^Wx})C~2T;5rB#`4wj(r6)ӯ 0γėNE_ӯ.ۈ3ԾJ"rJg{8ET/+S=B# d(wj嚅Gh0Q#olSeA#T?_=Jm2ag._=J]g|?:[LZrGhJ'^Y$҉1k6 {1B0@KS?{./d|mb _L3%ӑWK /~;gҙ:< d(wj嚅O"M:$m͊l($jB=FL3%ӑWK /~;gҙ9,| v0DQ1-ff>c_&)-Nr1^Wx& d:]9Nzn R*uҙ:< d(wj嚅O"M:$m͊l($jB=FL3%ӑWK /'^Y})CHP0DQ1-ff>c_&)-Nr1dA1~l0γėNE_ӯSnܥqzmnӑE=ʟi})C~)۷_]j❻uт$`uH9q{✊_=Jn{K 0γėNE_ӯSnܥqzmnӑE=ʟi})CH0 SE9Sܩv"M(``{1 Dz❻u퇥uOEb2ag._=Jn{K .Nݧn~;^})C~)۷_?,/;v?'AQ#olSer*|*u.ۈ3d:]9NzNݺrm]Nݺv+S=;ܑŚ,`@nvrWFJ& Ŭ؁7r|{.)۷_Fܟb _L3%ӑWTۯw)vAi۴Q 徔EпV:>"a`rB]X&j6=N>LA`Ɇu$r*|)vAT@徔EпmX0!Π٨j-0D ;5uH9q{PHRqzgYK"Rm_%ON>d[LZrGhJ'^XL$҉1k6 {1B p`3cpQD6LgYK"Rm_%Kv9o3ht/#]> d(wj嚅k&@E6\f6^5CuԡvA&xȫuԥqzRN[LZrGhJ~;g"M(b߱˄/-Nr1^Wx& d:]9Nzn R*uҙ:2T;5rB5Af~.3b/| :Pn Q d\i9o3hsY*z}c2=΁"M(b߱ˎOӶ@ =(0& d:]9Nzn R*@S=BNl,/0D (r6)ӯ 0γėNE_ӯ.ۈ3ԾJ!s徔E$qfw@>Ibl@c9q=zvÈw_e>{QD6LgYK"Rm|㴅S=BNl,/0D (r6)ӯ 0γėNE_ӯ.ۈ3:i =-z-w#4NkOq$҉1k6 {1_ˀ=;a첉c`A=Ψb _L3%ӑWK /~;gҙ:}`.C%MACP,/Af~.3b/| :Pn Q 0!Π٨j}IÿPQDcMP|(]gɆu$r*|)vAT9o3hsY*z}fJ& Ŭ؁7r fKS?{./d|mb _L3%ӑWTۯw)vAi۹}5zWG-z-DKZ Y_KTAQ#olSer*|*u.ۈ3d:]9NzNݺrm]_ץtrJg{8E>rWFJ& Ŭ؁7r|{.)>߇Ïee-l9/p3(=& d:]9Nzn R*^Wx})C~@ SgPP5 jAf~.3b/| :Pn Q 'Hb _L3%ӑWK / ڴ-z-{ ,/(Y$`uH9q{PHRqzgYK"Rm_%^ai~;N[LZrGhJ K`4b Z͈|#~.:>Dzwm.wGjvb _L3%ӑWTۯw)vAi۴ۯkҺ9o3ht/v嚅Nݺvh0:$m͊lNE_ӯSnܥqzgYK"R۷^R=Kӷi۷_ץtrJg{8ENݺvJiD=F\!~\#jhۯk?Q1! =iQ1/̀S&xȫuԥqzU;vBsOq})C~Jȋb^x09f~Jȋb^y$`uH9q{PHRqzgYK"Rm_%Tۯi =-z-w#4_%ButiD=F\u}؞#>oĽ=(ۯl8u9+z& d:]9Nzn R*u BsOq})C~Jȋb^x09f~Jȋb^y$`uH9q{PHRqzgYK"Rm_%ON>d\i9o3hsY*z}c2=΁"M(b߱ˎO;$aؗeN>7 sb _L3%ӑWK /d\i9o3ht/¹_yvK,/¹_yvK0D ~.3b/| :Pn Q c~kv'HÏ/w>wG&z}qmo~%}oQD6LgYK"Rm|㴅S=B+oĽ`rB+oĽI(r6)ӯ 0γėNE_ӯ.ۈ3:i =-z-w#4NkOq$҉1k6 {1_=F|.]{{=Q0?_5%}oQD6LgYK"R۷^R=Kӷi۷_ץtrJg_ܤ?`rB.!"MQDcM)ȫuԪv׻n Q c_=(8\ tf8;cq\҉\K\XmqR֨b _L3%ӑWTۯw)vAi۹}5zWG-z-ZT~h-N5 .>*Z"MQDcM)ȫuԪv׻n Q *Z\䯼Y‰v=~lKSzmql,(T%|{\sˁc;t}58u() "`4E6\f6^"R۷^R=FL3%ӑWTۯw)vAi۴ۯkҺ9o3hsY vn~;G%t`4b Z͈|#~.:>DzE4am>tg(\Sruq0d& d:]9Nzn R*n~;N[LZ Iy`rBu}Dh0:$m͊l($jB=FL3%ӑWK /v徔E$qfSnJ& Ŭ؁7r|{.SFaq,` 3Iy!~ ҉e7/~'W˄'$TQ1/̀S&xȫuԥqzUrJg_Oȃj㮓&AQ#olfWFNz.ۈ3d:]9Nzn R*C6[LZrGhJj`4b Z͈|#~.:>DzE4am>tg(\SruqB~2EEb2ag._=J]g|? rJg_ ,/__"MQDcMP|(]gɆu$r*|)vATL})CHPL$҉1k6 {1B}elq쟌|R}׾0BP(M=>…EKZLA`Ɇu$r*|*u.ۈ3Իm;w7樂J徔Eп||lP||lh0:$m͊lNE_ӯSnܥqzgYK"R۷^R=Kӷs~k[LZrGh߾vJiD=F\!~\R}׾1o {-p,P,t>26QLA`Ɇu$r*|)vATlS=Bs d(wj嚅;h0Q#olSeA#T?_=Jm2ag._=J]g|/+S=Bs d(wj嚅;h0Q#olSeA#T?_=Jm2ag._=J]g|?:[LZrGhJ'^Y$҉1k6 {1B0;%F= >H6Q1/̀S&xȫuԪv׻n Rr(arJg_~;G6Pӯvm$`uH9q{✊_=Jn{K 0γėNE_ӯSnܥqzmnӑF'S=;ܑŚ,`@nr('Ibl@c9q=ˊO2ZÏe6 &aNռEb2ag._=Jn{K .Nݧn~;^})C~om09f~om$`uH9q{✊_=Jn{K 0γėNE_ӯSnܥqzmnӷnJ徔E$qf)ۢuт$҉1k6 &߱˄/˄d7MF6Ʒt[?YD;v6b _L3%ӑWK /'^[2-z--N 6u@Pق$a٨F߱ˌئFNz.ۈ3d:]9Nzn R*u rJg{8ET;:zd &LAYُo>*Z\#˄/&[W߱ˏt!~Q1 paקFQ&[M(&6Q%bh)f"M(ƔISL=|Չ.{%+-RYd6$M0,`4L{0C҉1m4b _L3%ӑWK /d[LZmk'V0DH66)ӯ 0γėNE_ӯ.ۈ3ԾJ9o3hsY*0DQ1-ff>'H6❿9eJj |{7KJ&:QRֽEb2ag._=J]g|? BsOq})CumrWD]p09fumrWD]q$`uH9q{PHRqzgYK"Rm_%OrJg{8ET; Oq$҉1k6 {1_ s0}v%=ˆNQ0=A1~l0γėNE_ӯSnܥqzmnӷnJ徔E/`.5 rh0:$m͊lNE_ӯSnܥqzgYK"R۷^R=Kӷi۷_ץtrJg{8ENݺvJiD=F\% aCe\䯿-쟉kt>uڷÏg陨E;v?{.)۷_FvPIj& d:]9Nzn W%M})C^5ch5F`4E6\f6^5CuԡvA&xȫuԥqz*n?[LZrGhZTIbl@c9q?pc)Eqmo}(-I(ؒDZ4Hr0DQ&3({\K@V[C/J$ɍlIcؚ$`9f &Iv`Q&-LA`Ɇu$r*|*u.ۈ3Իm;v3A?ҙ>n~Kp6 Y-ق$`uH9q{✊_=Jn{K 0γėNE_ӯSnܥqzmnӑF'S=;ܑŚ,`@nr('Ibl@c9qDz.rWߖGv|߀jvYD0,` 3Q1/̀S&xȫuԪv׻n R߾v+S=n&77?%0D ~.3b/|SWTۯw)vA&xȫuԪv׻n R߾v+S=;ܑŚ,`@n樂0DQ1-ff>co|K[ sǺ= 6KSb _L3%ӑWK rT}v%9o3h|߾>jno5`F&F߱ˌئFNz.ۈ3d:]9Nzn W%Kb_ӖS=;ܑŚ b_Ibl@c9q=(8\fWB=aBQ1/̀S&xȫuԥqz*n?[LZ7Do2T;5r(&@E6\f6^5CuԡvA&xȫuԥqz*n?[LZrGhZTIbl@c9q'b{8^?k7Fˆ=2&WEb2ag._=J]g|/+d[LZyf0DH66)ӯ 0γėNE_ӯ.ۈ3ԾJz}oҙ9,|N>ޙIbl@c2{$n)\7.rWF)\7QD6LgYK"Rm_%Oҙ;q{|n?o`5EOdmlSeA#T?_=Jm2ag._=J]g|? rJg{8ET; `4b Z͈|Odm;~s_ˆ|%J2u () 'H6❿9eq>%}b:q{|IJ$ɍlIcؚ$a`4LgQ&0M0oV$얀_IfI(ؒDZ4HK6$҉0A4 SJ$Ŵ҉1~l0γėNE_ӯ.ۈ3ԾJH徔EѐЋ`rFCB/L&F߱ˌئFNz.ۈ3d:]9Nzn R*#RS=;ܑŚ/7tE+0DQ1-ff>c~kp) C>'b{$ id6$M0 L&IJ$)>jė=,҉2ceX&YI`ݾiIib2ag._=J]g|?:VrJg(7ey$`uH9q{PHRqzgYK"Rm_%ON>"ҙ9,|N>RIbl@c9q&q񲍾wE2-l{,aק֢1~l0γėNE_ӯ.ۈ3ԾJKVrJg=f9f8`47Q#*cMP|(]gɆu$r*|)vATB_RS=;ܑŚ/_=J\Odm7\KSLA`Ɇu$r*|)vATlS=I?0!Π٨Am΃jI6L&@sntE6\f6^5CuԡvA&xȫuԥqzRN[LZrGhJ~;g"M(b߱˄9;3}^Wx& d:]9Nzn R*uҙ:I6A 6u@sntROw9:`4wj,ss(r6)ӯ 0γėNE_ӯ.ۈ3ԾJz}g-z-w#4_%COiD=F\$&9͹ qe%쏒 LA`Ɇu$r*|)vATlS=I?r*l  jIGh0X GE6\f6^5CuԡvA&xȫuԥqzRN[LZrGhJ~;g"M(b߱˄?p-N7˅~;gb _L3%ӑWK /'^Y})C~ 6u@~5$#`4wj,#~.3b/| :Pn Q S=I?`.C%MACPb<Y'<`4wj,S'Q#olSeA#T?_=Jm2ag._=J]g|?:[LZrGhJ'^Y$҉1k6 {1I?|LS'2Zo= >H6Q1/̀S&xȫuԥqzRN[LZ$[ 2T;565$[ 0D ;56Q#olSeA#T?_=Jm2ag._=J]g|/+H6Q1/̀S&xȫuԥqzRN[LZ$5\J:ft9fF|h0X=QDcMP|(]gɆu$r*|)vATlS=;ܑŚ/y_&J& Ŭ؁7r$0{]?3}^Wx& d:]9Nzn R*uҙ:Ik 6u@rI?t$a٨{]>~.3b/| :Pn Q c '-N7ˆK$j() c '~2Zo= >H6R -|%|{~!azvb _L3%ӑWK /~;gҙ:I692T;5wjI690D ;5wF߱ˌئFNz.ۈ3d:]9Nzn R*^Wx})CHPlIbl@c9p~{3}^Wx Q0A?w#6,7_LA`Ɇu$r*|)vAT9o3ht'_ms d(wj,=,ԓ'_ms`4wj,=QDcMP|(]gɆu$r*|)vAT9o3hsY*z}fJ& Ŭ؁7r$0;%fp{#l( owWǻj$ id6$M0Ś`4LFĖ=@ ,Ic8҉1 i~%de2*K4LFĖ=@ , I`ݾiIib2ag._=J]g|/+*Z"M(b߱ˎ\o_yNpAcpCq1~l0γėNE_ӯ.ۈ3ԾJ۷_ӖS=EJȊd`.C%D.u %}E2u 9f %}E2u $`rWDS'PF߱ˌئFNz.ۈ3d:]9Nzn R*n~;N[LZrGhJ;v`4b Z͈|#~.:pe&%}b:q{}eq{} & d:]9Nzn R*u rJgh2¹_yLB1{| dνA\䯼Na,޴\a\䯼Na0D JȊduH9q{PHRqzgYK"Rm_%ON>d[LZrGhJ'^XL$҉1k6 {1EKd F= 7() c~kqRq ~lKSaSfmi)˳ceXPd5d;QD6LgYK"Rm|㴅S=5&H_yvKkHM٨s"ؗ&F߱ˌئFNz.ۈ3d:]9Nzn W.w4ҙ9,:hs}=J& Ŭ؁7r|L%Jؗt{.9i Q0Q1/̀S&xȫuԥqz*n?[LZ-*2T;5 6u@BңIÿP`wj(r6)ӯ 0γėNE_ӯ.ۈ3SqrJg{8BҠ"M(b߱ˉk\ |L%=Iz…G\56M"ceQD6LgYK"RmvKrJg%,J"MQDcMP|(]gɆu$r*|)vAJoĿ-z-w#4-*oĿJ& Ŭ؁7r|{.6Qq 1~l0γėNE_ӯ.ۈ3Rؗ徔E*E+,JJ&F߱ˌئFNz.ۈ3d:]9Nzn W%Kb_ӖS=;ܑŚ b_Ibl@c9q=E+ˀJ(-I(ؒDZ4HË4iD4L`a߃Is-Ym ʒ(&6Q%bhlI`ݾiIib2ag._=Jn{K .Nݧn~;^})C(`8`q"MQD یئU:U;v]gɆu$r*|*u.ۈ3Իm;vuzWG-z-w#4XNۯh䮌&LAYُv~ODzX#g0 MޔL{.){:\ b B~2F1f % l{'L vdzۯh {|{'yDƺtgQD6LgYK"Rm_%Wf})C(`8`q"MQD یP|(]gɆu$r*|)vAUzmҙ9,| 3liD=kw]aod{.1|>># lDDz⛗e 1e1[tg(m[c?fXdmö=n~;@X?&5<& d:]9NzNݺrm]Nݺv+S=0Q€b8H Y 8P,Pp L&G|TOdmlSer*|*u.ۈ3d:]9NzNݺrm]Nݺv+S=;ܑŚ,`@nvrWFJ& Ŭ؁;_J|{'p}}F1 Q0{ "D7"%l;ZFˌXo!~ \Sruq0dYٚ{.)۷_uLA`Ɇu$r*|)vAUzmҙ8ႎ ǜGR0Q€b8H `5E;2{$n3c75CuԡvA&xȫuԥqzUrJg{8ET3PͳIbl@c❯߇u=8pD>>#A k(= vMuqg}#҉en~Kcӷ{.){:\!?`#clbAfˊvEb2ag._=Jn{K .Nݧn~;^})C(ခA` (yf(ခA` (y$Hʀ ͊lNE_ӯSnܥqzgYK"R۷^R=Kӷi۷_ץtrJg{8ENݺvJiD=kwʖǺ pPP<࠰8Q1/̀S&xȫuԥqzUrJg 8` PX Y 8` PX `5E;2{$n3c75CuԡvA&xȫuԥqzUrJg{8ET3PͳIbl@c❯ߌ|b*[0Q@a@`PPQD6LgYK"R۷^R=Kӷi۷_ץtrJg 84pG`Xy$Hʀ ͊lNE_ӯSnܥqzgYK"R۷^R=Kӷi۷_ץtrJg{8ENݺvJiD=kw]aod{.1|>># lDDz⛗e0F τ'$cϵcp,P‰'amdc6}"{? MDz&LDz() eC &tge=M)T;_/7{(B~2F'Wˇ_(b _L3%ӑWTۯw)vAi۴ۯkҺ9o3hq4 H0Q@( 0DP=AM)ȫuԪv׻n Q LQD6LgYK"Rm_%Wf})C(`pFhႎ@`$a$Hʀ ͌߾>jPHRqzgYK"Rm_%Wf})CHPC6&LAYُv~3_ö= o}}FaOLcv~mwE9Sܩv_n=ܽ\{,a LA`Ɇu$r*|*u.ۈ3Իm;vuzWG-z-8` 8` TQ#*'H66)9NzNݺrm2ag._=Jn{K .Nݧn~;^})CH0 SE;v9+Ibl@c❯߇u=c`AO>::>#A k(!~ \SruqB~2F9쉊ę}&Dz|cgЇ\& d:]9NzNݺrm]Nݺv+S=0Q@a@`PP8 Y 8( ( pPX  #&G|TOdmlSer*|*u.ۈ3d:]9NzNݺrm]Nݺv+S=;ܑŚ,`@nvrWFJ& Ŭ؁;_J|{'p}}F1 Q0Bw츦p,` 3 &+e#|!?} C=() 럾dH!LA`Ɇu$r*|*u.ۈ3Իm;vuzWG-z-8`€00p88`€00p8TQ#*'H66)9NzNݺrm2ag._=Jn{K .Nݧn~;^})CH0 SE;v9+Ibl@c❯߇u=8pD>>#A k(!~ \Sruq0ds2MdD> ` ú럾QD6LgYK"Rm_%Wf})C(0 0yA`p( (89f(0 0yA`p( (89$Hʀ ͌߾>jPHRqzgYK"Rm_%Wf})CHPC6&LAYُv~OL\>QL(0 0yA`p( (A?k\ |;ZF+eRw|mcpr& d:]9Nzn R*C6[LZpGa @a@  Y 8( ( pPX  0HX@I(?$q||ӯ 0γėNE_ӯ.ۈ3ԾJPͳS=;ܑŚ/m"M(b=+?-0<6-Bw첉n^N=O&Hl{.(dK& pPP<࠰8X ĵ#HRw|mbLz& d:]9Nzn R*n~;H\i9o3hw'B_yvK\䯼.]{wGX#gL>>#$j() "al,ߋtgi$lQDcM)ȫuԪv׻n Q c|{.Ol2!pp퀰OADDzX<6-;츧n~;`&cp,` 3a \{.0LA`Ɇu$r*|)vAUNݺvҙ;ՎOȄXe75]'B,2`47Q#olSeA#T?_=Jm2ag._=J]g|Sn-z-w#4_%Bu0DQ1-ff>c|{.Ol2!pp퀰OADDzX<6-;츧n~;`&cpdDp,Pw@ͬه_(b _L3%ӑWK /3l徔E~.u}D"-پYV:>"aIپ~.3c75CuԡvA&xȫuԥqzUrJg{8ET3PͳIbl@c9pDzX<6-  GXOl2 sˊv_n=O&HLN= t ͘}e& d:]9Nzn S2徔E ,`0 SgPP4pH &@E;9q{PHRqzgYK"Rm}fUҙ9,8J& Ŭ؁7rehC1G]ak񶢉1~l0γėNE_ӯ.ۈ3̫9o3hq @@(`@6ohŌ `0 h6oG|T#~.3b/| :Pn Q ]Mm[TQ1/̀S&xȫuԥqz|g-z-8`cp$|G ,`@À1$lQDF\f6^5CuԡvA&xȫuԥqz|g-z-w#4p((a$҉1k6 {1}p }2FBTQ1Mޢ1~l0γėNE_ӯ.ۈ3̫9o3hq @@`r*l  Y0@"0㇅ 0D ;53|E;9q{PHRqzgYK"Rm}fUҙ9,8J& Ŭ؁7reQkt5BhB6D@&Eb2ag._=J]gVrJg0@r*(%?I?r9fc|{.#\@ږ-*0AJ&cka7{uퟸ!~ j=A(&'W OJ7-N> -kQ1/̀S&xȫuԥqzSO徔E~2ڰ`.C%MACP` SgPPI.5-0D ;5Hw^~.3b/| :Pn Q &j6=N>LA`Ɇu$r*|)vAT@徔E~2ڰ`.C%MACP` SgPPI.5-0D ;5Hw^~.3b/| :Pn Q c|{.%8?-\?:Q1/̀S&xȫuԪv׻n Rv]ҙ;]r*l 9fLт$a٨F߱ˌئU:U;v]gɆu$r*|*u.ۈ3Իm;vuzWG-z-w#4XNۯh䮌&LAYQ0=F\>츧n~;a]aSt$ߏt{. &6Q0F τ'$A1~l0γėNE_ӯ.ۈ3ԾJ۷_ӖS=}?`"9+`.C%MACP,߁ #0D ;5uH9q{PHRqzgYK"Rm_%Tۯi})CHPn~;L&LAYُo˄'$a]aSQD6LgYK"Rm_%Oҙ;,`‚FNz.ۈ3/mk,fAT3PͰuH9q{PHRqzgYK"Rm_%Oҙ9,|"M(b߱ˇ߾=*f{7Kam≀QRֽEb2ag._=Jn{K .NkҺ9o3hw߄KT9f"_⥭0D Am΃F߱ˌئU:U;v]gɆu$r*|*u.ۈ3Իm;w7樂J徔E$qf)۠}h䮌&LAYُo=od{.6~1| N5Be Rl{.)>߉ˏ~;TQ1/̀S&xȫuԪv׻n Rv]ҙ;hn~;^ j)۷_ט"MkuH9q{✊_=Jn{K 0γėNE_ӯSnܥqzmnӷnJ徔E$qf)ۢuт$҉1k6 {1}p)$/o;vZ& d:]9NzNݺrm]Nݺv+S=}Nݺv5sE;vIv~.3b/|SWTۯw)vA&xȫuԪv׻n Rv]ҙ9,c;tSn0DQ1-ff>c|{.SF54H_Cv쟉 lmDM1~l0γėNE_ӯSnܥqzmnӷnJ徔E~rF@_~rF&5ڀ:$m͊lNE_ӯSnܥqzgYK"R۷^R=Kӷi۷_ץtrJg{8ENݺvJiDُoˏn3~2[ٰj fS#eO.)m׻+|rz1~l0γėNE_ӯSnܥqzmnӑE=ʟi})C-i ;5`.C%MACP,߅!4Gf`4wj(r6)9NzNݺrm2ag._=Jn{K .Nݧ"{?ӖS=;ܑŚ,`@nr(S0DQ1-ff>c|LB@ OBrl(5A ˏ~;cf>){\+Fn~O{.9i 1~l0γėNE_ӯSnܥqzmn]ҙ;ҠD`\J:fY J"M:$m͊lNE_ӯSnܥqzgYK"R۷^R=Kӷs~k[LZrGh߾vJiD=F\>FDz,(T{41&ˌ߾>jΔLfDz^VOnEb2ag._=Jn{K .Nݧn~;^})C-=vS^T۝,߅N~ʟ"M 6AQ#olSer*|*u.ۈ3d:]9NzNݺrm]Nݺv+S=;ܑŚ,`@nvrWFJ& Ŭ؁7r_yODz❻utrzQ0 c(d&n'W K w. &%?eO_v/5\>P|fDz&)>ߎOoob _L3%ӑWTۯw)vAi۴ۯkҺ9o3hwߎOȃf9fu}Dh6oF߱ˌئU:U;v]gɆu$r*|*u.ۈ3Իm;vuzWG-z-w#4XNۯh䮌&LAYُo;DzE4am>tg(\Sruq0d& d:]9Nzn R*n~;N[LZ㮓 پYtg0D (r6)ӯ 0γėNE_ӯ.ۈ3ԾJ۷_ӖS=;ܑŚ/Nݺv"M(b߱ˊv9e9hl2>1|>>#/7zQ1츦pd& d:]9Nzn R*C6[LZ㮓 پYtg0D (r63~A#T?_=Jm2ag._=J]g|^g-z-w#4_%C5 0DQ1-ff>cs_˄sqцe| b }}F_ncqM߉Dz LA`Ɇu$r*|)vATL})Cue0!Π٨k__"M:$m͊l($jB=FL3%ӑWK /d[LZrGhJzd &LAYُoˇ_F7MX#gXPk^1~l0γėNE_ӯSnܥqzmn]ҙ;__%2T;5r}DfAf~.3b/|SWTۯw)vA&xȫuԪv׻n R߾v+S=;ܑŚ,`@n樂0DQ1-ff>c|{.|}({Ľ'=z~YDXPDz~}dzۯl;7樂vb _L3%ӑWTۯw)vAi۴Q 徔E~?"-پYVaIپP͊lNE_ӯSnܥqzgYK"R۷^R=Kӷiȣ?y})CH0 SE9@y$҉1k6 {1}p\B[> Cl2&)5^JTMf1~l0γėNE_ӯSnܥqzmnӑF'S=}|~#nO|_~?_5ۓIپ~.3b/|SWTۯw)vA&xȫuԪv׻n Rr(arJg{8ENE7a`4b Z͈|#~.~\~#nO6t[t{.6|cu_E9j() M() epC&=|L?:h& d:]9Nzn R*^Wx})C`M"MQDcMP|(]gɆu$r*|)vATlS=;ܑŚ/y_&J& Ŭ؁7r|{.)>߇n|{."1~l0γėNE_ӯ.ۈ3ԾJz}g-z-Mk6`4E6\f6^5CuԡvA&xȫuԥqzSO徔E$qfwu"M(b߱ˎO!}>jub _L3%ӑWK /'^[2-z-Mk6`4E6\f6^5CuԡvA&xȫuԥqzSOS=;ܑŚ/ק; `4b Z͈|#~.:>DzSD8?-|fDzק֢1~l0γėNE_ӯ.ۈ3ԾJ۷_ӖS=Ϧ6ok}7p &f:$m͊l($jB=FL3%ӑWK /v徔E$qfSnJ& Ŭ؁7r❡wG_{`wj]רb _L3%ӑWK /3l徔E{f M;5Iپ~.3c75CuԡvA&xȫuԥqzUrJg{8ET3PͳIbl@c9qN|N;>✻tLB@ IJ$ɍlIcؚ$a`4LgQ&0M0oV$얀_IfI(ؒDZ4H6$҉0A4 SJ$Ŵ҉1~l0γėNE_ӯ.ۈ3ԾJ6/i})C"MQDcMP|(]gɆu$r*|)vAUai~;N[LZrGhJե0DQ1-ff>c~kqF|{.,6/h ǀ˄w# 0Yú1|_s54H_(b _L3%ӑWTۯw)vAi۴Q 徔EÿP,p &F߱ˌئU:U;v]gɆu$r*|*u.ۈ3Իm;v3A?ҙ9,c;tSD A?"M(b߱˄e'DzK3}0;5LA`Ɇu$r*|*u.ۈ3Իm;v)T;N[LZ;5`r@h0:$m͊lNE_ӯSnܥqzgYK"R۷^R=KӷiȢO徔E$qf)ۢ)T;L&LAYُo2pqq.PQD6LgYK"R۷^R=Kӷi۷_ץtrJg٨owjAQ#olSer*|*u.ۈ3d:]9NzNݺrm]Nݺv+S=;ܑŚ,`@nvrWFJ& Ŭ؁7rr3_j֗[~cpq0 SE;v9+q.Q1/̀S&xȫuԪv׻n R߾v+S=@}ÿP0D ~.3b/|SWTۯw)vA&xȫuԪv׻n R߾v+S=;ܑŚ,`@n樂0DQ1-fDc9p\?|{.@ DQ1/̀S&xȫuԥqzTI"ҙ?wj$`uH9q{PHRqzgYK"Rm_%S$|VrJg{8ET#ȥfJ& Ŭ؁7rI)\f`wj]רb _L3%ӑWK /"ҙ?wj$`uH9q{PHRqzgYK"Rm_%D%^E+9o3hsY*CȥfJ& Ŭ؁7rI)\f`wj]רb _L3%ӑWK / KrJg٨owjAQ#olSeA#T?_=Jm2ag._=J]g|XmZ_ӖS=;ܑŚ/i~;L&LAYُo_{B=֗[}츾tSj() =||ըb _L3%ӑWK NkBsOq})C~;@{,:hs}=AQ"N/| :Pn Q c~ka.rWFoĽeӯv;}栢1~l0γėNE_ӯ.ۈ3ԾJ۷_;{[LZu_ЮrWD]p09fNkJȋb^0D ~.3b/| :Pn Q \䯼.]{wG&?_5b _L3%ӑWK NkBsOq})CNk?'\䯼}v%`r|~#nO¹_yvKAQ#olSeA#T?_=Jm2ag._=J]gu_;{[LZrGh|>Ibl@c9q&%}avK{=Q1:l~#nOQ1/̀S&xȫuԥqz_59o3hq0p(afC &G|TOdmlSeA#T?_=Jm2ag._=J]gu_ӖS=;ܑŚ?_50DQ1-fDc❯ߌO?ˁ:l8u񏉯ADDz~1,LNk A=%#Q\;&9mMLA`Ɇu$r*|)vA~;N[LZx8Php  0DP=AMP|(]gɆu$r*|)vA~;N[LZrGh|iD=kw5ySODzNk |c_OQ0ɵp䯧3b9E˰G~1,Lmcu_҉|J~g#%K3q‰ᢜ9 l;h[@$ QD6LgYK"Rm_%^ai~;N[LZx8PHѠq ,A#FǏ,j$w@dIf6^5CuԡvA&xȫuԥqzWmZ_ӖS=;ܑŚ/jv"M(bV3W?od{.?_5Lac*Z1NEb _L3%ӑWK / ڴ-z-<0<0TQ#*'H66)ӯ 0γėNE_ӯ.ۈ3ԾJ6jvҙ9,| ViD=ڴ|{'v3C%A4o~2zi$ܵb _L3%ӑWK / ڴ-z-<p`8A$Hʀ ͊l($jB=FL3%ӑWK / ڴ-z-w#4_%CFե0DQ1-ff>,6/lf*~\<ъrm\k)Ȥ(\u:vÒj& d:]9Nzn R* KrJg9 8,YfP0`fTQ#*'H66)ӯ 0γėNE_ӯ.ۈ3ԾJ6jvҙ9,| ViD=ڴ|{'q:l#$a|2C,bMӪ*() ,6/lf*~\NkwB2F5 ("op=6 tmcu_b _L3%ӑWK NkrJg9p@P80Gs0p(a$Hʀ ͊l($jB=FL3%ӑWK NkrJg{8GJ& Ŭ؁;_ʟDz~=u_q.Q15`dcX|/w!h'() ,6/lf*~\Nk|SG?`)D5Ѷ ~;`/z1~l0γėNE_ӯ.ۈ3ԾJ6jvҙ8p $yÀhp $yÀ"MQD یئFNz.ۈ3d:]9Nzn R* KrJg{8ET<4`mZ_Ibl@cjvj쟏eXo\9+v>5uﴉDI'wQ1/̀S&xȫuԥqzWmZ_ӖS= ($ aa!e<<$PHAB&G|TOdmlSeA#T?_=Jm2ag._=J]g|xmե9o3hsY*06/i$҉1k6 {1ai~;c5ySO9+v&_6҉I.r]ڊ& d:]9Nzn R* KrJg9a!8P,ఐ ("MQD یئFNz.ۈ3d:]9Nzn R* KrJg{8ET<4`mZ_Ibl@cjvj쟏e 9 1~l0γėNE_ӯ.ۈ3ԾJ6jvҙ8pXH@@ €1q@`5E;2{$n3b/| :Pn Q c_=P=}vDz^eL6_:lekmpBhb _L3%ӑWK NkrJg_~;E;`r"Nk)"MQDcMP|(]gɆu$r*|)vA~;N[LZrGh|iD=F\!~\R}׿ӯv2ssPQD6LgYK"Rm|徔E4ӯvm09fh~?_5ۓI(r6)ӯ 0γėNE_ӯ.ۈ3:i})CHӯv"M(b߱˄/ˊO2ZÏeۓ͇;VuLA`Ɇu$r*|)vA~;N[LZB֐ nkHMI(r6)ӯ 0γėNE_ӯ.ۈ3:i})CHӯv"M(b߱ˎsZ|MLA`Ɇu$r*|)vA~;N[LZG_!4Gf d(wjᣯ֐#P0D ;5uH9q{PHRqzgYK"Rm|徔E$qf~;L&LAYُoP=}v\&9njBhDzu_LA`Ɇu$r*|)vA~;N[LZG_~;E;l, ~?_5sL&f:$m͊l($jB=FL3%ӑWK NkrJg{8GJ& Ŭ؁7r|NkBz& d:]9Nzn W-z-ᣯr~ ᣯr~`47Q#olSeA#T?_=Jm2ag._=J]gu_ӖS=;ܑŚ?_50DQ1-ff>c|{.?' v{=aQ1:l{MLA`Ɇu$r*|*u.ۈ3Իm;v)T;N[LZG|o0D ~.3b/|SWTۯw)vA&xȫuԪv׻n Rr(S9o3hsY v"{?Ibl@c9q=u~Dzu_LA`Ɇu$r*|)vA~;N[LZG|o0D ~.3b/| :Pn Q "ҙ?J YE+y$`uH9q{PHRqzgYK"Rm_%ON>"ҙ9,|N>RIbl@c9q&q/R蹦Eѽ͏eL?:Q&[M(&6Q%bh0DQ&LlbK E`4LFĖ=@b0DQ&LlbK r0DQ&LlbK 0DQ&31xCD؃ com.transarc.connector.delight.DELConnCommAttributes <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.connector.delight.delconncommattributes_dsc.html#_top_">com.transarc.connector.delight.DELConnCommAttributes (no frames)</a></b></p> </body> ˌئ lGX$;A7I6{6$*./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconncommattributes_dsc.htmlmi.htm$$   et <>Cacdhilnors/DEPT_bmpu".LORfgvy()-=ANw #IKSj,04:FGUVYkx1MXz23589;HW!'6?Jq+7|XW3OA'$ lGO־hTPp JA!?e2܇8sWӀ^C7`ppyD0@)+lO훯~#l]x֔l"9 $-(ڞx^r;RVFgRVDqbᯬ`$ @$   ``RVGAڠhv,1I\$;r@v/\t[C,ߓsAA`9BT'׶b ]tŻ74(9T}Ou.#C`7^qsl{C`#;>' RưsEtőb1IY㧌Y)*JXx?tXf'׿}Ou.dkB~<51g%{ѴɩdkB~<61VA䴯|z65'yOvʴ;472cDlwvkRcaa J-6A$-ҍ,X iph$ (; [M%XF ` 0,HRs3#+֗S}dc2ZW=KGػ|`S!V8nu!9BlHi-(Ŋ0i` P-ҍ,X i 0PaK!R\ ̌Z_]MC!sPH pqI9A-]3PSpj9Fx;&}O=IVfSsvkRcaa J-6A$-ҍ,X i 0łHi-(Ŋ0i` ,X( h' t1,ػ~9%>dkB~<5;MBY3ҽZ?dԞ2I=*}q pCs,;,!I\50(8&r2]d9OZN:yZkKy3ju眯L)+"bً'֗"*=IYؤbk w`PpI% miFm#ܸ8@vP֔mO}iL~ʴfSsPH p'䴯[rQaa J-6A#sLw?eZ#8@v 2Υhdʣ!R\ ͍̌a획ϱmlΚ93sʣI>)+xʒ:r8NN,0!Ip?22?65_6c U /c r39G/ *dpIA"d6:!I\50(8&}GavmغpLL85Ü u. U l]A&WܦX ;-vj틨7,0U l]A&WܦX!Ip?22?65Q~[Gr2e眯LX[moKFpvLTЀi/f=KG5ʚA_6cFx;'!N,TKJǣih<Zw֔Nvhne>9%Rxnu!9i^QòX[moe`eLpvMd9)?gFWưͿ:J ! (X i^x;'VO}i* ҷ?Ph%p`gR~ʴ2GQySBYԻ Tud9)?gFWưͿGx<!p2?Tu.OO7)+xAiPh8@vmAiPjs3#+cXs܅=NwZeY*m{3m* MJ(8ZN:ypYbً'1֓]IYؤގ?,KJ4b)I@HX$YbHi-(Ŋ0i%!`XARVOA'O%GOʛ[M%XF $$, b1I\&' FW/e9($LxnF8 ^j왰Fzg%{Ѵɩ=òde~KJǣih<C!j?eZy]IeV=i169O)/:rrOwM*6[|찅%dBlRVGA[M%XF hX!ز%g0eZQaM0օb-Rz9?]*:~THi-(Ŋ0kBĉRVB)+ؤAt1,ػ~9%>dkB~<5A䴯|z65'yOvʴ;472ck\?Ry-+vO |K/.ޅiu'[o;ʔNj-O Ss,;-{`腠%dBlRVGA[M%XF ,-Ő)+9-ҍ,X iYF, c'NOlJ7,KJ4b)X[Ae-RW Ip9K멾c2YvrJ !5ہѾ})=g2<ך6x;&jvi^m-烲jO[wѤi~vhne>8nu!9#+ZW=KG]e9eemvQIǣl)V2?s%t-*>H:~] I[~$Ym4ibSL4Y ( Ő)+9-ҍ,X i 0PaK )+B'ӓ'񒣧M-ҍ,X i 0PaJJB%p3_>C%o$2]s,yZgfiՐs9-+vMI+nz4ݲ/ ̧>=òde~KJǣih<Klu!e2YvV3qIvK[! ̧=ò.;2C%MJ(9"iK(ša4`0-hv,1IY$Ym4ibSL4Y, Y1IZ)=N??*o$Ym4ibSL4Y, RVB)+ؤAt1,ػ~9%>dkB~<5;MBY3ҽZ?dԞ2I=*}q pCs,;,!IFW䴯|z6?t1,ػzUa'c2Ypg-烲w>ϊŖ DΚ9~޿(Cr I[~$Ym4ibSL4@ YAز%g0eZQaM0 āe, c'NOlJ7,KJ4b)A`X,%d!lbMǑZ_]MC!xlri^m-烲b%L[wѤi~vhne>8nu!9ke6c_{W-ҍ,X i 0ł I[~Lñd9Jd}eb-Rz9?j틨7mr2RVB)+ؤAs'<5ҥ<}еPhsWܦZеPhsWܦ[8߱vjһ!y [GC!z Ԟ}a!Z RVD&%nqȿkkbs\@v)?mu%dDbz8 IB[ZQIYC43<3B1I\&' FWưͿ%{Ѵ;:7zӋ-'sҽZ?dc1*ӝOIA"d6;Ԟ5ہH}rZWT||찅')<2b䴯|z65'ԥwu<9ϔ!<Υh!IZ R\ lRpugb~1Zm-烲} WqҘi ̧$2]Ou!9i^QòU7M}ml>sPPo%{ѴI9%}i}u6Bփ<ZWcѴ`J !jBBBBBBBBBBBBBBBBBA!!!!!!!!!!!!!!!!*O981BEIiF,Q4I( Ę +LA"iK(ša Rxpv֔@ Hi-(Ŋ0kE8 Hi-(Ŋ0kBĉRxsЀ@ eZQaM0 ('7-x*m-$Ym4ibSL4Y ( Rx89nx˴9-ҍ,X i 0łOYy1IZ R\ lRpuyڗARp9mlZW=KG옅' gYfpޠB9Og[moKFpvL;/KFpvMd9/[mI[M%XF $$, `v,KJ4b)I@HX$Őn  $Ym4ibSL40PaAHi-(Ŋ0h`–C0(8$eZQaM0֊ )a"iK(šaSLY` `EIiF,Q4Z$Hv,KJ4b)б"VC0(8$eZQaM0 ($Ym4ibSL41d9/[mI[M%XF ,a eZQaM0f 0)d9/[mI[M%XF ,amCeZQaM0fXP5d9O"bȄMJ(=Lw?eZ#<ز%g2YԻ Tud%h[:r>6$rue|,]VH:*oGBJ6)?g22?65m>;O|}i qw?eZ}}OBy##MgR~ʴA O4p r3߶u.O?*Κ9+ o$2]W9es=.#F{ԟu.O?*_NWC~8nu!R{z.܇t%}CcsvkRV1p\5g0Y,}Tw#d~U>8sR~Ի>׾<9;Y1I w`PpH,]VH:sLw?eZ#sD&ő1IYPqYԻ Tt ;C 2Υhdʣ )+B'ӓi YԻ Tt!IY[bs#+cX{fj_ss[)sz#Rx<!p:sUG}dcoR}F}9~w?eZxkSОn~٨ڜsu'gY yR{/.߱5ہmY!;O|}i qw?eZ}}OBy!IYs.wb`gR~ʴ2GQiu.C$~UYbȄز!)+"bz8 |,4 ;C_49'dARVOA'OGդNCe`B1I\&' FWưͿ:J ! (X i^x;'VO}i* ҷ?Ph+.ލAc+cX)=u><+nϒPH s=-9ԟwJڋ;S88K)?b6)?k:an\Y1I >̎z`o飜em9~y옎ds>QIg Cܷ飞Tuγ,g0AԞds9g962|| =ۗ99ԟ iVP0һʟcDlw ?)VemԞ}m)?M"b!6)+w Phe}ecqڨe{b 22ز%g1ЁvmغpLL9Jж1I"t:t ][G.+S,][G.+S-+S,-RW Ip9; t-T2?.)_9_ro9_D)IgvC%A U >C%8+bsͨ3m* Y1IZ)=NiPoڃ6Ҡp%d!lbMǑ͍ar8ߡjeʹ4BAؤ9Q.,p J}N]wGe:m:hԟ\5g0P쵥 b` A\9& S6x3m* ͨ3m* Yg;ߊ8' dB RVD&%qC! i bO9մ2A`9>Tߓ%AA`R{f/`Nl[sB@?`PwgR>?kaltD2o({m#ܸ [8YUu0(>0Dtcf߀Tγ=d9n u>a9׾]d9n Ύ?.":|ð.sLpu!>lk 1d\NlY,:xő b+Aw`Pq tGO4;#A @${Ƞ{ lV ` (d9!)+ {>lRT9-+ k;X$ 7I6{6$ ./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconncommattributes_mi.htmlmi.htm$$ Method Index for com.transarc.connector.delight.DELConnCommAttributes

Constructor Index

DELConnCommAttributes()

Method Index

addPropertyChangeListener(PropertyChangeListener)
getDceSecurityLevel()
getTransactionTimeout()
initialize()
removePropertyChangeListener(PropertyChangeListener)
setDceSecurityLevel(int)
setTransactionTimeout(int)
toString()
setTraceLevel(int)

Field Index

listeners

Variable Index

DRPC_DCE_PROTECT_CALL
DRPC_DCE_PROTECT_CONNECT
DRPC_DCE_PROTECT_DEFAULT
DRPC_DCE_PROTECT_MAX_VALUE
DRPC_DCE_PROTECT_NONE
DRPC_DCE_PROTECT_PACKET
DRPC_DCE_PROTECT_PKT_INTEG
DRPC_DCE_PROTECT_PKT_PRIVACY
ava- k>nX$'7I6{6$@'./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconncommunication.htmltml$$ com.transarc.connector.delight.DELConnCommunication <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.connector.delight.delconncommunication_dsc.html#_top_">com.transarc.connector.delight.DELConnCommunication (no frames)</a></b></p> </body> T kX$-7I6{6$-./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconncommunication_dsc.htmlmi.htm$$ Class com.transarc.connector.delight.DELConnCommunication

Class com.transarc.connector.delight.DELConnCommunication

java.lang.Object
   |
   +----com.transarc.connector.delight.DELConnCommunication

public class DELConnCommunication
extends Object
implements Communication

This class implements the connector Communication interface for the Encina Connector. It provides methods and properties to initiate a conversation with a DE-Light gateway and to use that conversation to perform RPCs and TRPCs with DCE and Encina servers. DELConnCommunication objects are used for short-term exchanges by retrieving a long term connection object from a Connection Manager.


Constructor Index

DELConnCommunication()

Method Index

connect()
This method obtains a connection to a DE-Light gateway from the Connection Manager by using the current context and the properties defined within the connection specification.
disconnect()
This method disconnects the connection from active use.
execute(InteractionSpec, Object, Object)
This method invokes an Encina or DCE server RPC as specified by the interaction specification by using the caller-supplied drpcBean.
getConnectionSpec()
This method retrieves the connection specification.
getRollbackString()
This method gets the String object that describes the reason the last transaction was rolled back.
setConnectionSpec(ConnectionSpec)
This method designates the connection specification to be used with the Communication object when communicating with the DE-Light gateway through the connectors framework.
setRollbackString(String)
This method sets a String object that describes a reason for rolling back the transaction if this client is the first participant to initiate the rollback.
toString()
This method maps the state of the object to a String.
txState()
This method returns the current state of the transaction.

Constructors

DELConnCommunication
 public DELConnCommunication()

Methods

setConnectionSpec
 public void setConnectionSpec(ConnectionSpec connectionSpec)
This method designates the connection specification to be used with the Communication object when communicating with the DE-Light gateway through the connectors framework. The connection specification defines attributes of the connection to the gateway, such as the gateway's network address, protocol, and network security level.

Parameters:
connectionSpec - The DE-Light gateway connection specification.
getConnectionSpec
 public ConnectionSpec getConnectionSpec()
This method retrieves the connection specification.

Returns:
The DE-Light gateway connection specification.
connect
 public void connect() throws AlreadyConnectedException, NoConnectionAvailableException, LogonException, CommunicationException
This method obtains a connection to a DE-Light gateway from the Connection Manager by using the current context and the properties defined within the connection specification.

Throws: AlreadyConnectedException
If an attempt is made to connect a Communication object that is already associated with a Connection object via a prior connect call.
Throws: NoConnectionAvailableException
If the Connection Manager has no available connection that matches the connection specification.
Throws: LogonException
If the user and password information results in a failure to open a connection to the DE-Light gateway.
Throws: CommunicationException
If any other exception occurs while creating the connection.
execute
 public synchronized void execute(InteractionSpec interactionSpec,
                                  Object drpcBean,
                                  Object drpcBeanOut) throws CommunicationException, LogonException, IllegalArgumentException, NotConnectedException, InvalidTransactionException, ResourceException
This method invokes an Encina or DCE server RPC as specified by the interaction specification by using the caller-supplied drpcBean. The RPC's return value is set on the interaction specification's rpcReturnValue property. If no return value is defined for the operation, a null returnValue is set in the rpcReturnValue.

Parameters:
interactionSpec - The RPC name and other DE-Light specific RPC call attributes.
drpcBean - A DE-Light DrpcStub-based JavaBean (generated by using drpcidl from a source IDL or TIDL file) that defines RPC arguments as properties. The application uses property setter methods to establish RPC input argument and property getter methods to retrieve output argument values.
drpcBeanOut - The same DE-Light DrpcStub-based JavaBean as provided for the input object. This argument is required by higher level tooling, but ignored by the DE-Light connector implementation if null. If not null, and the RPC is successful, the input drpcBean's RPC argument properties are copied into this object before this method returns (event listeners are not copied).
Throws: CommunicationException
If a communication error occurs while invoking the RPC.
Throws: LogonException
If invalid or expired password information results in a failure (for example if the DCE ticket has expired).
Throws: IllegalArgumentException
If one of the arguments is of an invalid class or specifies an RPC name that is not defined by the drpcBean.
Throws: NotConnectedException
If a DE-Light gateway connection has not been established for the Communication object.
Throws: InvalidTransactionException
If the coordinator ID used for this call does not match the one used in a previous call within the same transaction (DE-Light does not support multiple concurrent transactions over the same connection).
Throws: ResourceException
If the execution of the RPC results in a failure of the transaction.
disconnect
 public void disconnect() throws NotConnectedException
This method disconnects the connection from active use. The connection is returned to the pool of available connections.

Throws: NotConnectedException
If a DE-Light gateway connection has not been established.
setRollbackString
 public void setRollbackString(String str) throws NotConnectedException
This method sets a String object that describes a reason for rolling back the transaction if this client is the first participant to initiate the rollback.

Parameters:
str - A String object that describes the reason for rolling back the transaction.
Throws: NotConnectedException
If a DE-Light gateway connection has not been established.
See Also:
getRollbackString
getRollbackString
 public String getRollbackString() throws NotConnectedException
This method gets the String object that describes the reason the last transaction was rolled back. If no reason was provided or no rollback occurred, then null is returned.

Returns:
The rollback String object for the last transaction that was rolled back.
Throws: NotConnectedException
If a DE-Light gateway connection has not been established.
See Also:
setRollbackString
txState
 public int txState() throws NotConnectedException
This method returns the current state of the transaction.

Returns:
The current state of the transaction.
Throws: NotConnectedException
If a DE-Light gateway connection has not been established.
See Also:
TX_ACTIVE, TX_INACTIVE, TX_ROLLBACK_ONLY
toString
 public String toString()
This method maps the state of the object to a String.

Returns:
A String object that represents the state of the connection.
Overrides:
toString in class Object

 kX$7I6{6$@./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconncommunication_mi.html$$ Method Index for com.transarc.connector.delight.DELConnCommunication

Constructor Index

DELConnCommunication()

Method Index

connect()
disconnect()
execute(InteractionSpec, Object, Object)
getConnectionSpec()
getRollbackString()
setConnectionSpec(ConnectionSpec)
setRollbackString(String)
toString()
txState()
 k-X$,7I6{6$@,./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconnconnectionspec.htmll$$ com.transarc.connector.delight.DELConnConnectionSpec <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.connector.delight.delconnconnectionspec_dsc.html#_top_">com.transarc.connector.delight.DELConnConnectionSpec (no frames)</a></b></p> </body> ght. lX$xf7I6{6$$B./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconnconnectionspec_dsc.htmlmi.htm$$   eint <>acdhors/CEbglmpu".ST_fwy()-=ADILPRv #,HKMNUVYx0124:GOjk8BFWq'35X[]z679!+?J|;X/᧝DíPY$GKy}N$LRW <)+5RV}k~4  XЀbY}J)J[Ẁ]lL0QQͬбP]ͬ[A&y;N2 @`0)*JB 7i< h_x  @ 0@ xX['l웓l-̧ld-u XQ*9)JөJɅ5RVd^Gktd(8A @P@QLRVߍ>ؠ8SKX'ufE1zdd`Wutk A}ᡂQLR{&/^s߭lP*)<^ɹ6vBGYoG2p pxk%ox`Pi aG6s૩6NuT<0SN96spw(u5uT<0SN;}L\4049el"dsN'd'dL:_blRT [NŽ4S9tOnMpG2l4XqbG0S)+$|sX`RVJ*(XE$ x*H69hSsp(1msp`Ye;VKXRႝ웓l-̧ld-u 9tO=ژ᧜@p:'7&8[N[6,8TO<7vVb;SY-bI/dܛdne;c!oh aQ̧m!NRVJ)+1Iot0wq͜`qbG0S,=vox`D{&' ts) }fEtsnv9pilP)ň¢yỲښkg:Nێ B G28i}f(TjJyZ RFsg>yS J(T}}l"gO:ݸR~ u#vs{xqabl7ݢ " 9[A|ЧXsv㝸 #+<3+HUbuon?+!fy "ԕ%pOW,I\)?+iWEIY01I[uT<0P aeŌ) (p,`Ւ)?gasO[:Oa\8 6NFWy'Gs+HUbuon?+!fy >f§tezEIP st.aase;n8 'Y7yܚ>tezDZox`@Px@AAB0$P80/ e;n8-I[uT<0P ae,P@Dh ,ŃJY-b~6>nicPҁe"$ ( -I[uT<0P ae) (px4XxՒ)?gasO[:Oa\8 6NFWy'Gs+HUbuon?+!fy >!Ra\8ԟ:r2#Ρ:;:3>2磖'̭!UaJO5DGR RV`m YC 8 ,SP`hY-b~6>hS}¼,TΜHN}>]»p,o5DDZox`@"P,KƄ0ae (XѥBAB %R[7 u7xtezGǙ]IJ!}ylH(;n9a^wjz+HUgWqYXX hHsaJOts)q{ͣezD- Giq8KʀJ5=%o P@8D4YcGJ `"P,DKXϺ9=nou?n<23<Yuon?+!fy <;{TD~^ee͕7jBԕX[|%CPҁe"$ ( 80SPҁe"$ ( 81dO{\NS0CΜH+:z̭!Ua]]f¸qabl7ݢ #^÷ЅKGOeMڗ78/f-I[uT<0P ae (X"A҂88D4YcGJ dO{\NS0CΜH+:z̭!Ua]]f¸qabl7ݢ #^÷ЅKGO˛*nԅ+~J  ,!8DH<P@pĄ0ae (X"A҂@$ Z'l.}s|ЧXp,o9^P̭!UaJOqYXX hHϰ6\HI (pi@Ǝӎ {T"e0¸8XjJyRW 1pTr{$]EIY01I[uT<0P 8Ts)qSB08Ts)qSKXwvG'EwJ>zG Ts e;n81 r`NjJyRW 1p _RVL)+yRV`m tEDsv!BSv磖KXϟ[Tݩz9nns2Οa]IG2;(R۩RV`m 6Sl:)֕vpmQGVKXϟ[ʵd»Nێ}(%o P@k@iSB0)DDb)?gRx\et'S FRXX hHNDeKts)qwTiWyR3jJ߬ႁ։SPgHPZ%M@mK% R[Τakgϯy!6o<+y[[#mwD}?$pZox`AH;³mxHPZ$+6ݧ$)Io{? >6a]Uđv5fۛ=nе%o P@kFSL6e9^Y-`HR~6>}l"*e YΡ:;,,B͆ӑei R~»p,o5DDZox`AFt}E kA،l:Z'O >6a\lOg \+gOR{Nێ{i :*(E)lT_K% R[ϭ_ДD>#º-7{e]Ύj'TGۮ̧m''wG2mHЌN:*(:ңNێ (IB2uG2gQՒ4)Io{? >l»Nێ}(%o P@ցM #h4(S'Z7hHBZ+BKXtpХ'O >l¾6&ӸM:8v! t>”kdcMu;c/5 RV`m h8ƣsvdbu72uH;³mzkLNR~6>}l":%*ZG|dWts)qϱGBGxqEgRƟ]g2ڎ³mێzÈԥo7+ηo R{7>A:*(:єezD&B2u)ko4)Io{? >tseϼ?BtwXX #+<Xwuۏ ŅYkv4%o P@փt$B:v#:x>$JO{Ԟ6>}l":s?\&gsG0nG=Ie;n9| 4Zox`FfАL،^Z'l.|E|d{v}*e^HJYێxOWkW,@vpbvRVKbi(MuLSKXb1I[L: RVߍ> , )%RVcP`hY&1IZ)=L:wxӽ8ÁԕJsϺ9=nou? 6=#+<}tO=7n9>ei :7,o5DD_#)ViA?a\lO>{1kAJyRVߍ> ,QbAE1dJ` $5d%hJ0wm}NPh( JBT%o9O{7 u7~¸qabl7ΜHNV'+W,,B͆[A}B{O¸qE>tezGBtw7}tg\|eG-ێOZB>”kv4n?+Τ'RW,,B͆ӑu Titd~+DZa=h1IQ|e9^'GË ae9^'G)<,,,,,,,,,,,,,,,,,,Pv (qAEƎ  )<  (p4 v (qAEƎ  )<8IM88ae({ (p4 %LRVl.}s|ЧXwxqabl7ΜHnT'ZB>»p,o5DDZb^sOC (qAEƎ   bk8"GIRVOAyv4yae(`yӑsetgO%'+kѲ"}{iTQ̭!Ua]]f¸qabl7ݢ #HBίS֘u)=̧mq|e6%mXX #+<Ӷ}{`c\̎)I9W}i4hts)qɂyOuINͲ6F(˽ބMBԞ 7z80CPO6WzӶ@멩= X\G(;n8,)h1IY/9J`80h,IYYC1c S&nix5IY(J1Io{8\NSW,,B͆ӑu Xwuۏ ŅYkv4xY9^Ry'G}w] 6ux\Nێ} { }7&9^%m0P"P,D1dJ`"P,DIRVOAyv4yae (X"A҂ JBT%o9O{7 u7xtezGǙ]Ԟei :7Ë aiBք*\ ?`R}ρ/2~2ʛ!vQi{*v#ºӶOss\Sv ق{ a^(m'&9^I :7n,o9^PДv5 6dvaJOu½NދNࡣD{NێLZb^sOC (q`҄#E1dJ`X4 Ւc*bDízݷq;oYC$%LRVl.}s}6Ӿnj,!8DH<P@Zb^sOC (pi@Ǝ!LY-b0 ,h xiA Y&1IZ)=L:wxӽ8D4YcGJXrP1I[bqG'BcË atezGBtw2V})=]f¸qabl7ݢ #>¼}r #5',!8DH<P@G{N:$'!RëO c)+%1I[~4 0 ,h xiA႘Z%f0ae (X"A҂IRVOAyv4yae (X"A҂JsϺ9=nou?n<23<Yuon?+!fy <;{TD~6Tݩ}s/2bփ󘤭} YCCJ4px<4p0E1dJ`"P,Dp Lb%LRzu[>{ (pi@Ǝ8*P1I[bqG'Bc 0`9^?WFt'ZB>»p,o5DGou h7Ts0y6Tݩ Z RVKbi)vSŒ)+ R*9=.jJɀ%m0PqbG0S bkOAň£Nێ B)%RVc*9G29d%hJ0w,@vpb%d*b'a]=v]ҦO=ň£Nێ BSZ%m0Q)%RW 1p _5%dbi*uSv4) cD,l Œ)+1AF!NY&1IZ)=L:G G,iN6:)DDb+y #)+% S)?g >l»NێyN>ǡiXX hH(Z¹ ?}yN=Ϸ'й vι[Agq~"y)a]IDܰ [A|#}v%@ Gb4)> &-Ia^hetNl(DCF(hԞ ϰ4tN>kY;m!?3TWBQ؅ ut#-'ݢ #粼79;oWB2߈eH xsvt#-B}s[A}ϝsxʀJ5='Дv!sBcn9?+<i=~#| :D*@'O+orC+ݢ #|^JOj{1xEu*OZ RzЕ1I@ =8   OY(J ϰ 4DgBQغ'{FtOW^!ghѝ<}pPѢ>-=G~ϯ#Ќ'Rl8_O=##*F[B#NFUЌ?y?A=h1IBT'u$0@$@@  OY(JBc;mݢ #0OFuh\ɻO\zn'~.~-= RzbքOIt/(p@ :^P 0PRzBT%h1Io{߬1-OL Y&1IhHBotO=s&?s8 6nbԟKb{ؤ%m0QSv4)!BZ%f0)DDbc*bDídqДr&l ցM #)+% S)?g >la]UË ai4)>ݸjJb-1IYcQL Y&1Ia]UË ai4)>ݸ'^)+%1I[~4 Sv磖B1dJcM*'[Y&1IZ)=L:ʉ磖;M*'[ RVJ)+yR[6>}l"Svry幻qv:}u'vpbKn-IZ R[ż)?:`j2Ɂ+$)?7G-ێxS'+ uts)q4)>ݸAi)RY/9%b^sOSNFWBo4(SKXNe9^Y&1IZ)=L:G G,iN6:єezD&| JJBT%o9O{ϭ_Ds,OP?!f|2V)?a]]f¸qabl7ݢ "/N:r2#Ρ:;Ԟ0@ibD ԁ>wG2> ࡣDFt%wRxN #o6a]㮳xoܵt/+)>heࡣDFppQ̧m& XX }ma wG2zQ?:r2#>>'Tqa\E8 $7}*Wa\8 6ӑu ߙZB>»s[AxD'_9^P swDsvV'+ݢ #ۏ ԅ=h1I4¹ q80og_a^l*ziW,,B͆ӑu  m:r2#Ρ::jOl}?G+(H[ϷS['ӎ //aP F5ɹ^q>u #6')!{0@icgtezDZփ*\M#S:۸qabl7ΜHN)>TQ?!f|:4)>}ʼʔS`>60砋 C=h1I^:ϭ_~N m<yNOm9>2tQ$"Tũ=h1I*º`tqxm,"}fn9Ng*J"vz>¸\4W;n8\ʽ;L;Ë aO9^P1jJb-1IYc[&[RLb{NFWD(N|l+#+<+92V)?a]]f¸qabl7ݢ "-IYcUpӧ%d'ႁ֌#+"mhr2"ZO[|%CP X0b Y-`'ႁ (qAEƎ   `Px@AAK%T<0P ae,P@Dh ,ŃJY-`'ႁ (px4XxLYCăƬ P@8K8KY-`'ႁ (pi@Ǝ, 8D4YcGF , P@8D4YcGJ `"P,DKX ox`@"P,D `"P,D, P@8D4YcGJ SPҁe"$ ( 80p Uz*(0 ,h xiA 8D4YcGJXrkKb{ؤ%m0Q)HP,IY6e9^Y&1IZ)=L:G G,iy)HRP1I[bqaV,W>Du #qabl7ΜH+HUbuon?+!fy "ԕ'[b~ V,Lb{¹z'NË atezGZB>”㮳{qa\8 6n߬1*iӈLb{ P@֌#+":єezEdJ  ,E0aeŌZO[|%CPĊ 8"GKX ox`@X4 LYC$ZO[|%CPh( 0AEY-`'ႁ (p4 ) (p4 ZO[|%CPҁe X$4 ) (pi@Ǝ, Y-`'ႁ (pi@Ǝ8D4YcGJ, P@8D4YcGJ 8D4YcGJ Y-`'ႁ (pi@Ǝ8( ,!8DH<P@p8`%T<0P ae (X"A҂@$ ) (pi@Ǝ!)?ŒIY/9J`։#j; ͷ7i&F'Sp(SKXNIcQVmOY&1IZ)=L:G G,iN6:$pGaY<$ny#j; ͷ7iJJBT%o9O{ϭ_[>ބKHwS e;n9>H^((XlB2R{QVmqOB3q:yaJOr2f#gtsh#ԕ'[b~M>0%d'cQVmO|:fvK+!fy >u9s v Esv㝸S6tN !{H: ^sK%d)+oƟAGvnnB1dJaH;³mz1JЕ1I"a28J9`OF'SsZ$+6ݧ)+% S)?g >6a]Uđv5fۛ=nо?)IH;³mBQB}δG2XX hH9^((vnns<&u_a\8 6i.{&dsi|eόnqIϰ6tse{9ͽ"-IZ R[ż)?:`j2Ɂ+$)?l+[?+9ЧXsv E SqS![ W,,B͆[A|s&u'QQ}+6ݸn?TͶ>Fe^(=N?ŒIY/9J`6p*/LY-bELb%LRzuog RVJ)+yR[6>}l"'o6pДPm*Ο>tu;Ty=n:?t/ e;n9>>Q?+9=j@>bp%h1Io{߬1XJVLb{ PBŒ,Y cP@ƉYE27 g 6p*/{9,2O%1dRVKbi*uG2gQГ bk֕vpmQGVIRVOAq8Je;n86Ϩ'G (RP1I[bqa+9>a]̧m>w=#*a_l78:8vڗ! t;yԟ*(ϩ Q̧mDg4è C+AO{ط'gYl}mJ`J1OgtpmQGx_ TGt 'NێpcqԼSڗssmvG2Pʔϼ7^sK%d)+oƟA*9> bkkJe;n86Ϩ$)+BT'[yG2gQА%d*b'as/FY?Sl:/wG2gQޤԏ}st?j\-{xoR|Sڗ>⎂{qNێiQaRqs D)<+>¹̩xe;n9?sjJb-1IYcQL Y&1Ia]Ur5?+9>}uΝ|ũ?ŒIY/9J`փ*9N)%RVc'Z hDSY&1IZ)=L:o4"Ts)qɄ7ЉQ̧m&%LRVl.|Eu #gO2?:ts)qtHS'V}ϝg5Ч~Ge;n9>WtOu'mluSr5[_a]̧m>tԞ Q̧mDg4è C+AO{ط'gYl}mJ`J1Og=NێO{B6z'D*^#NێOOW*97mKR-Id,JyRVߍ>Z hDS Œ)+1փ*9IRVOAskAvra!JJBT%o9O{ϭ_Za\lOTGG27{R}Ft/V}ϝg5Ч~Ge;n9>WtOԞ?+mluSvsQGA=Iؕvp4MsL:ێ{J$0ZyRou*eVIRo{8Wr2f?'RvrbԟKb{ؤ%m0TAG2IB1dJdAG21JЕ1I"a'h2S :8o>S RVJ)+yR[6>}l":s,OTGG27{e]maԞ>2gBg\}S] x'+9ԟAU>gOg:Ͻ|QRVo9Oγ"4ڔc[}Q̧m'W>DeKts)qwTV^TZyY/{󘤭} 6xTs)qɄ bkkAG21JЕ1I"atpmh2S RVJ)+yR[6>}l"ml¹z'D*^#NێO'MsL:ʑ "asYMt)SO7}]TWG?\>U;GN-IZ R[ż)?:`j2Ɂ+$)?l+ygO2?9*m?е'^)+%1I[~4 :*jl :8hP,IYh5}, S&nq։SPgI|)+% S)?g >l¾6&ӸM:8v! t>”kdcMu;c/5 +v߰6}W}j'jC 4<XWm0  $Xh¾,aJO*97mKk'Nێ} {㰩wG6Q;j}'δZyRouɧԦySP|?6&Ӂ>Ν|<Y#NGn9?aJO51tN:JjO%1dRVKbi(*jl Œ)+1։SPg1JЕ1I"atpmh5})+% S)?g >6a_lRi&Ν|»waJO51tN:JsGxo\NF+I!ŀppE ,+]6u? ,4Dpaa_QOx'vs6lim>=T(r5>RZ-IZ R[ż)?:`j2Ɂ+$)?l+k'NmHMp:tq VAr;qɩ>#¹6q팾T׋RY/9%b^sOSb3(IB1dJdA،l:Lb%LRzuZgOgQГqt)IY(J1Io{8\ghFD}p}uΝ|¾۝Ft'96|4~ԾϠOWts)qs'OԟTs)q n4ڐϺ9ݸ$iԕ'[b~M>0%d'Ξ6Ϩ/}st 3=̧m=ρϰTs)q n4ڐϺ9ԟKb{ؤ%m0QFt}E Œ)+1փud%hJ0w:8o6Ξ6Ϩ!JJBT%o9O{ϭ_ͭW==o9q:tq ntqԞSCER >?a]̧m=ʏ?OR~¹Q̧m81j@>'v{(RVo9Oγ%Z`J1Og g \+gOe;n9| 7)?a\Si tse?ŒIY/9J`͕!BZ%f3b3exj1JЕ1I"a3exo،^%LRVl.|E|d{v}*e^HJYێxOWkW,@vpbvRVo9Oγ%Z`J1Og x e;n9>=ԟ[f0 JSVIRo{:*)<^ɹ6vBGYoDۻ+1|.y͕!B5d}m /dܛdne;c!ohΎcyݕ>n <@08TO<7vVb;SY-byY/{󘤮b؟in L:AQ]qA40P +9 E1I옽{3q[~Fֆ @Wx`D{&' ts) }fEtsvrhSO8SD*UOႶUB᧜)ς:VKY PM8Φ.y˜qܣ9KY PM8i1pӎϷZœ3qY:,0b}IRTŷT<0PdL :i᧊Z)ͬL]o(XE&i2p0 DY Method Index for com.transarc.connector.delight.DELConnConnectionSpec

Constructor Index

DELConnConnectionSpec()

Method Index

createCommunication()
getConnectionTimeout()
getGatewaySpec()
getMaxConnections()
getMinConnections()
getReapTime()
getRunUnauthenticated()
getSecurity()
getUnusedTimeout()
hashCode()
setConnectionTimeout(long)
setGatewaySpec(String)
setMaxConnections(long)
setMinConnections(long)
setReapTime(long)
setRunUnauthenticated(boolean)
setSecurity(int)
setUnusedTimeout(long)
toString()

Variable Index

SEC_BEST
SEC_CIRCUIT_AUTH
SEC_ENCRYPT
SEC_INHERIT
SEC_MAX_VALUE
SEC_NONE
SEC_PACKET_INTEGRITY
SEC_PACKET_PRIVACY
SEC_PACKET_PRIVACY_US
SEC_PACKET_PRIVACY_US_128
SEC_PACKET_PRIVACY_WORLD
"c k/X$17I6{6$@71./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconninteractionspec.htmll$$ com.transarc.connector.delight.DELConnInteractionSpec <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.connector.delight.delconninteractionspec_dsc.html#_top_">com.transarc.connector.delight.DELConnInteractionSpec (no frames)</a></b></p> </body> delight kX$W"7I6{6$TW"./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconninteractionspec_dsc.htmli.htm$$ Class com.transarc.connector.delight.DELConnInteractionSpec

Class com.transarc.connector.delight.DELConnInteractionSpec

java.lang.Object
   |
   +----com.transarc.connector.delight.DELConnCommAttributes
           |
           +----com.transarc.connector.delight.DELConnInteractionSpec

public class DELConnInteractionSpec
extends DELConnCommAttributes
implements InteractionSpec

This class defines the DE-Light-specific attributes of an execute() method call, including the name of the RPC to invoke and the application server on which to invoke it.


Constructor Index

DELConnInteractionSpec()
This method is the default constructor.

Method Index

getLastCall()
This method returns the current state of the last call optimization flag.
getRpcName()
This method gets the name of the RPC to invoke on the interface bean in the associated execute call.
getRpcReturnValue()
This method returns the rpcReturnValue property which contains the return value result of the last RPC performed with the DELConnInteractionSpec object.
getServerName()
This method gets the currently established DCE CDS server name.
initialize()
This method resets all properties to their default values.
setLastCall(boolean)
This method declares that the next DE-Light RPC will be the last-call in the current active transaction.
setRpcName(String)
This method sets the name of the RPC to invoke on the interface bean in the associated execute call.
setServerName(String)
This method sets the server name to be associated with future RPCs that use this connection or interaction specification.
toString()
This method maps the state of the object to a String.

Constructors

DELConnInteractionSpec
 public DELConnInteractionSpec()
This method is the default constructor. It initializes an empty DELConnInteractionSpec object with default values.


Methods

initialize
 public void initialize()
This method resets all properties to their default values.

Overrides:
initialize in class DELConnCommAttributes
setRpcName
 public synchronized void setRpcName(String rpcName)
This method sets the name of the RPC to invoke on the interface bean in the associated execute call.

Parameters:
rpcName - The name of the RPC from the DE-Light-generated JavaBean.
getRpcName
 public synchronized String getRpcName()
This method gets the name of the RPC to invoke on the interface bean in the associated execute call.

Returns:
The specified name of the RPC.
setServerName
 public synchronized void setServerName(String serverName)
This method sets the server name to be associated with future RPCs that use this connection or interaction specification. Applications that use Encina Monitor transparent binding must specify null instead of a server name.

Parameters:
serverName - The DCE CDS name of the server or null for Encina Monitor client applications.
getServerName
 public synchronized String getServerName()
This method gets the currently established DCE CDS server name.

Returns:
The DCE CDS name of the server.
setLastCall
 public synchronized void setLastCall(boolean isLastCall)
This method declares that the next DE-Light RPC will be the last-call in the current active transaction. This method is optional and is used to improve performance by reducing the number of messages exchanged between the DE-Light gateway and the client. It causes the declareLastCall method from the DE-Light API to be issued prior to the next RPC.

Parameters:
isLastCall - Indicates whether the next call is the last call in a transaction.
See Also:
declareLastCall
getLastCall
 public synchronized boolean getLastCall()
This method returns the current state of the last call optimization flag.

Returns:
A true value to indicate that the next call is the last call in a transaction.
See Also:
setLastCall
getRpcReturnValue
 public synchronized DELConnReturnValue getRpcReturnValue()
This method returns the rpcReturnValue property which contains the return value result of the last RPC performed with the DELConnInteractionSpec object. If no return object was provided, the rpcReturnValue's returnValue property will be null.

Returns:
The last RPC return value
See Also:
DELConnReturnValue
toString
 public String toString()
This method maps the state of the object to a String.

Returns:
The state of the connection as a String.
Overrides:
toString in class DELConnCommAttributes

d kʥX$7I6{6$@;./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconninteractionspec_mi.htmli.htm$$ Method Index for com.transarc.connector.delight.DELConnInteractionSpec

Constructor Index

DELConnInteractionSpec()

Method Index

getLastCall()
getRpcName()
getRpcReturnValue()
getServerName()
initialize()
setLastCall(boolean)
setRpcName(String)
setServerName(String)
toString()
 kloX$7I6{6$@f./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconnreturnvalue.htmli.htm$$ com.transarc.connector.delight.DELConnReturnValue <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.connector.delight.delconnreturnvalue_dsc.html#_top_">com.transarc.connector.delight.DELConnReturnValue (no frames)</a></b></p> </body> .tr kX$7I6{6$m./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconnreturnvalue_dsc.htmlm$$ Class com.transarc.connector.delight.DELConnReturnValue

Class com.transarc.connector.delight.DELConnReturnValue

java.lang.Object
   |
   +----com.transarc.connector.delight.DELConnReturnValue

public class DELConnReturnValue
extends Object

This class is a container for an RPC return value.


Variable Index

listeners
This variable contains the list of property change listeners.

Constructor Index

DELConnReturnValue()

Method Index

addPropertyChangeListener(PropertyChangeListener)
This method adds a property change listener to the listener list.
getReturnValue()
This method retrieves the return value object.
removePropertyChangeListener(PropertyChangeListener)
This method removes a property change listener from the listener list.

Variables

listeners
 public PropertyChangeSupport listeners
This variable contains the list of property change listeners. A property change listener is an object that has asked to be notified if any property of a specified object is modified.


Constructors

DELConnReturnValue
 public DELConnReturnValue()

Methods

getReturnValue
 public Object getReturnValue()
This method retrieves the return value object.

Returns:
The return value object.
addPropertyChangeListener
 public void addPropertyChangeListener(PropertyChangeListener listener)
This method adds a property change listener to the listener list. A property change listener is an object that has asked to be notified if any property of a specified object is modified.

Parameters:
listener - The listener to add to the listener list.
removePropertyChangeListener
 public void removePropertyChangeListener(PropertyChangeListener listener)
This method removes a property change listener from the listener list. A property change listener is an object that has asked to be notified if any property of a specified object is modified.

Parameters:
listener - The listener to remove from the listener list.

td> k_Y$7I6{6$Pv./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.connector.delight.delconnreturnvalue_mi.htmlm$$ Method Index for com.transarc.connector.delight.DELConnReturnValue

Constructor Index

DELConnReturnValue()

Method Index

addPropertyChangeListener(PropertyChangeListener)
getReturnValue()
removePropertyChangeListener(PropertyChangeListener)

Field Index

listeners
COM.Transarc.Delight.DrpcArrayType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcarraytype_dsc.html#_top_">COM.Transarc.Delight.DrpcArrayType (no frames)</a></b></p> </body>  k|Y$7I6{6$./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcarraytype_dsc.html$$ Class COM.Transarc.Delight.DrpcArrayType

Class COM.Transarc.Delight.DrpcArrayType

java.lang.Object
   |
   +----COM.Transarc.Delight.DrpcType
           |
           +----COM.Transarc.Delight.DrpcArrayType

public class DrpcArrayType
extends DrpcType

This class implements the DRPC array type descriptor.

See Also:
DrpcType

Method Index

baseType()
This method returns the base type of the array elements.
copy()
This method returns a copy of the type descriptor.
maxLen()
This method returns the maximum length of an array.
toString()
This method maps the type into a String object.

Methods

copy
 public DrpcType copy() throws DrpcException
This method returns a copy of the type descriptor.

Returns:
A copy of this type.
Throws: DrpcException
If an error occurs.
Overrides:
copy in class DrpcType
toString
 public String toString()
This method maps the type into a String object.

Returns:
A String object that represents the type.
Overrides:
toString in class DrpcType
baseType
 public DrpcType baseType()
This method returns the base type of the array elements.

Returns:
The DrpcType of the array elements.
See Also:
DrpcType, drpc_byte, drpc_char, drpc_double, drpc_float, drpc_int, drpc_long, drpc_short, drpc_string, drpc_ubyte, drpc_uchar, drpc_uint, drpc_ulong, drpc_ushort
maxLen
 public int maxLen()
This method returns the maximum length of an array.

Returns:
The maximum length of the array. A value of 0 (zero) in an RPC description indicates a DCE-conformant array.

nts th kPRY$7I6{6$`./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcarraytype_mi.html$$ Method Index for COM.Transarc.Delight.DrpcArrayType

Method Index

baseType()
copy()
maxLen()
toString()
 kXY$7I6{6$P|./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcbasictype.htmlml$$ COM.Transarc.Delight.DrpcBasicType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcbasictype_dsc.html#_top_">COM.Transarc.Delight.DrpcBasicType (no frames)</a></b></p> </body>  k@Y$%7I6{6$%./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcbasictype_dsc.html$$ Class COM.Transarc.Delight.DrpcBasicType

Class COM.Transarc.Delight.DrpcBasicType

java.lang.Object
   |
   +----COM.Transarc.Delight.DrpcType
           |
           +----COM.Transarc.Delight.DrpcBasicType

public class DrpcBasicType
extends DrpcType

This class implements the DRPC basic type descriptors. Basic types include all types except structures and arrays, including strings.

See Also:
RpcDescription, DrpcType

Method Index

copy()
This method returns a copy of the type descriptor.
narrow(int)
This utility method checks that an integer is in the correct range to represent a DRPC basic type.
toString()
This method maps the type into a String object.
type()
This method returns an integer that describes the type of the object.

Methods

narrow
 public static final int narrow(int type) throws DrpcException
This utility method checks that an integer is in the correct range to represent a DRPC basic type.

Parameters:
type - Putative type value.
Returns:
The type, if it is valid.
Throws: DrpcException
If the type is not valid.
See Also:
DrpcType, drpc_byte, drpc_char, drpc_double, drpc_float, drpc_int, drpc_long, drpc_short, drpc_string, drpc_ubyte, drpc_uchar, drpc_uint, drpc_ulong, drpc_ushort
type
 public int type()
This method returns an integer that describes the type of the object.

See the DrpcType documentation (links are provided in the See Also section) for more information about object types.

Returns:
A value representing the object type.
Overrides:
type in class DrpcType
See Also:
DrpcType, drpc_byte, drpc_char, drpc_double, drpc_float, drpc_int, drpc_long, drpc_short, drpc_string, drpc_ubyte, drpc_uchar, drpc_uint, drpc_ulong, drpc_ushort
copy
 public DrpcType copy() throws DrpcException
This method returns a copy of the type descriptor.

Returns:
A copy of this type.
Throws: DrpcException
If an error occurs.
Overrides:
copy in class DrpcType
toString
 public String toString()
This method maps the type into a String object.

Returns:
A String object that represents the type.
Overrides:
toString in class DrpcType

"co kbjY$7I6{6$`./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcbasictype_mi.html$$ Method Index for COM.Transarc.Delight.DrpcBasicType

Method Index

copy()
toString()
type()
narrow(int)
 kVY$7I6{6$P./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcconnection.htmll$$ COM.Transarc.Delight.DrpcConnection <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcconnection_dsc.html#_top_">COM.Transarc.Delight.DrpcConnection (no frames)</a></b></p> </body> cdhilnors"./C_bgmp=DEPRTfuwy#(),-ALSv:INOjx 04GKMUVYk12FH[]q358;Wz'679B!?|+X\{}Xnt9ߨG< ,k(qЕIJDI[I[%hfߕ 8,h,Q=A#0vS$%J3ouc '-hX(=A;-@J戅f  IRTNK){Mrp   ( ,-Jbט Kn(NFJDZd,nrRV^cRV[%gMyǶq8 pp%JDXOqM {/l:tvPA 9=l$x@r{r1FHIsT.1bD`hVҝҝDZX݄S~S8b"˶u}0pv?P,27Z ѯ"wL [r?P, y*wL eheJ~X N^kꬻb˪e똲R^,@=J#:r:ۂ B~ldIke ʷF'#ߥ -2r7a9)+,tYoF)+F%wL ,8,aTnG35iO٢i,X}cueOXXXY,V҄`{4ENR'%%eLbъJ)?Έ^&X݄bݬ ܓg1k<F8Kk} l+irѥ;#ߥ:$|%)A٢i,DZ*GX]wL *S0=Uj5iO"nI`ZۯmehIW7Z q l,nr?9g~c1 )er[a_~{s= t!w~SL}nG휥NE)+EJ)?k:`vg fYg1I`hVҝҝD[>]VB 4 -#,YvKf[Kn)* u괧7fb-m׶JtXb0A0K]I[)?HY  RVI[2リ8A w%,+,V]Ins?W!gG;g-J_0h4kG+,JRV[%o!ONUnΜ'`5IYobke}0pA9KI`"')cv˶?g_ UnΟlOKjRke}0pA9K e ʷF'#ߥ -2r7a9s`YCirѥ BhD D$ -2r7a9,`@"')cvWDZ& NWB!*Os½v۳lцWܾa]휥NA\U' NWB%)+v]$Mi XP\tiBr0=P"')cvWX}m!#I`"')cv˶ -2r7a9p$xJ~5l]4a/Wa#g)cvW8~~UI "Rke}0pA9KeFyAHHX&X݄HH'k^ʻAӶ{;g)cv~yZ}%)+-bыx'/5w RV[)+tXwL {sh4䲁˕JI&>~»sh4䲋..G)L} w% R[ƾfnWFG){_r?ܖSҔX.郄v EðHb- ueT3z3GU郲&Ca]8߯R{g-JV'*ӧnje}#gGX}m!#¸2܏(;i K ˶m!#¸v<%Ins?W6_If|%9nw|+ӧ,~KxfT%n˾`W)+CIcer1eT3z3GUJd0W\ O{g)cvR;܈wL wcctۮq@I,v67L `@J~5C5wv67L~y`7zcn1BVY!Im>Jdv*vJJݬ} tBIc݄t"*Os½ ޙ*Ls;݄t"}Ym#h@J9 ܄#>iroqIf̗?!gG< ;t3r>?*Rke}0pABWNЕ.9|+|WG+1nWk6C_l,nr)I[2リ8A ncGD7!$-hCH~EeT3z3GUJd0W4}!|p?"_I\hCH~GI7k9K٤3%ϽEI'}~q& &WwL s@!dCƄ@!dCƬ`@J~5C5wm!_}>`: Rke}0pAƏ4@I,?4;>+.9|+|>B$PXl~GGC2JOlarw>YX.郄LBa.G)L} w%X}v\PM1#6ܖP$S~ ir?a]e] ]&SH K(9|+|L?+I=0䲜u&+,+)+v]$[ D%$[ ˶BZ9|+|_$^󳏮;\`*O`\hCH~GI7k9K٤3%ϽEI'}~q& &WwL z扃vЈA,V҄`{4E`݄t"K+& NWB+.&LBT3zsk'+9b- Yg1Ifn!ϳKc{BG,畡R}^:tg,یjRke}0pA "4 aTnG %opGHH'k^k\~spGm'"X.郄\hCHBZK+Hil%Ins?WrN5BP@z8Ċ \hCHHfII2[N "Rke}0pA뷣6aHHKBIev}F;i ?g_ 3_7vAM|'OLlݟgm!#ct%n˾`.U' YV۰] %Ins?W4}%_~;)n}6*vn?_{_u w! l,nr)IYnߕ BΎT,bыx'6 :9U%eb0A1w%,Yv%g20䲕Yg1IZ4)=F 4rD܏:o+,T1J)?gW!gG;g-J_0h4kG+,JRxgFG){_r?Y鍙B7½pb4@J4.`: K. )I_FtwFٶqg`N ha)=hI`'l^>௯νkQY{~!:;¼}qO;I6ތ鰜}~) TΌr{,|a]BGӧ]_yI XLb@0)I-cX~K󀁣Ei=g }~up?^>'ܝѤauGoFtN^c:ϽGi 9V Λ=JO 5t{Λ.Ak9BWܔ$:)>v~OA!IEOZ4)=@0)I-c}~p4h'l^>௯ν?u+84_mp+?~3 gMJxIpRr4}3:o8d1>qB__  OZ,RzѦ1ID  PRZ4)q܄5Oی~4 D9h@O;N"<`*RXEJ-2r7a9 Kn(NFJDZd,nr r<$xI,Yv%g0Mi e%hG7-2r7a9.郄nI`"')cv˶yJOö!dB~!^Kf[Kn))E n#uZSDX&P5rYv%eLbEOsƾ휫ݝ;f2 $l,nr ܏ʩ?_!dJkvR'/ ?) 4}!T]1_qw%hInsIYs- ܥA ,)?9qw _Mi f7~ϝF┟[}pwh{,r8Ѐ$>YW郄٠V[JvFJun['#]VB 4 - n#]IYhbqzskϽGlARV1n[g0]TbsϽG٠^a]ϽFOγ5 Y`hVҝҝD[; U?P94M%hE['%lRns8$w>Y]$|$qRYn[%e,RW~V$&Yq$e@!dCƬc$?4 D9h@JѦ1I['_ 3_7zf #6NE)+EOsEOγ34}%PB9OgX]q;1!dj,9JtX MsC " hI,Yv%g2Yg1IZ4)=F sC " oB~!^Kf[Kn))E n#uZSDX&P5rYv%eLbEOsƾfn휶~:|q"`{><R~;c 9Bȕv\hCH~GªOaX(Q_W'r7a9xW$F{6!__>:9N휥N^#C%Ə4ӌfB')<ˌ~:kp @g'!_HR}q #!/%}>8 Kqӧl@|NUf̒ϽGܝ'qC5w! a7|~WTa$PXl~GG%~5>:9HiIL! c~9ԙ _\݄;+vJRzb̸ 0@<}幞C%)=hI\c|C_Åh( G^czGD')<pG`: E4}!|p?#RR}0;߾8WBt\hb9K_ar n#FL>)>ٜ257a9ӧBt $PXl~>JRV1n[g0]Tbsƿ<4}!|p?#N_ ˝C2JOlarw>Y[g0k2,} l+irѥ;#ߥ:vJ~svhKNK.ؤpHLcƏ4|*}6tp'gYᑬ ,)?9wL *S0=SrGXkҟD%Ə4˶u}0p[4 \tiNN- aJ~pFqAI`p 8.} l+irѥ;#ߥ:$|%)AÅi@A,aFF  .} l+irѥ;#ߥ:$|%)AÅhQcI`p  0`,j˶u}0p[4 \tiNN- aJ~pF C#I`p @.} l+irѥ;#ߥ:$|%)AÅh( Kh( ]wL *S0=SrGXkҟD8Q 0 4H(h$`$hKhCMFF.} l+irѥ;#ߥ:$|%)AÅhCM0F,0(PE.} l+irѥ;#ߥ:$|%)AÅhCM0F,0(PEƁ.} l+irѥ;#ߥ:$|%)AÅhCM0@0F,0(PEƁƀP .} l+irѥ;#ߥ:$|%)AÅhCM0I`p `(i@@ 04J˶)?E-b)++C~hv4}!BIb˶)+9cGEe%hG7[Ə4@JѦ1I['_ 3_7zfЄcAa=Hivi }~)=K}_!dJRnubs} l+irѥ;#ߥ:$|%)AƏ4,?4;>+.} l+irѥ;#ߥ:$|%)AÅh %Œ4⃆`W]%@ʷF~"ܑ괧aFF 8Q ` h`4,`W]%@ʷF~"ܑ괧aF %Œ4P(p.} l+irѥ;#ߥ:$|%)AÅh$ %Œ4 F`W]%@ʷF~"ܑ괧aX(Q,aX(R˶u}0p[4 \tiNN- aJ~pF,0(PA q,a  4 (  ,`W]%@ʷF~"ܑ괧a  4XH`KhCM0,`W]%@ʷF~"ܑ괧a  4XH`hKhCM0,`W]%@ʷF~"ܑ괧a  4XH`hh KhCM0@0,`W]%@ʷF~"ܑ괧a  4XH`h%Œ4XaP C X+.ؤ,9JtX K>X}m!#¸2܏(;i K]IYsp6gK,)+F'<>pwsp6gAHH>IZHHH8'2`hVҝҝD[; U?P94M%hE['%lRVZ4)+tX9k^k\~q& l ߯\rNή-R5l sHfK{,;()IEOOs~AkL?_6<+ΞC[΍H;8߯휶*~tn!:;>|\I4n!^tݬ9_I!eλKf[Kn))E n#uZSDX&P5rYv'3G}~xK¼|=pݬ9ٜ25!e'3郄٠V[JvFJunHK uZS3"Xlτ]Ie,YnsI]Z 7%h`@I,Yv%g12IZbiRz#Όö2IZiRVIns8½ ޙ*~v2[Ę+RVqӧ½ )IDJRV1n[g0fhJs[ög1%_KxqJ'>휥NE)?k:`vg fYg1I`hVҝҝD[>]VB nJX\ Yv'eRV[%wh`k%HiȄBZK]IY̮hv4}!Cp?"biRz#ΌzncGD7!~D'2`hVҝҝD[; U?P94M%hE['%lRVZ4)+tX9k^k\~q& Ə4~ϝ}qrPR~8zGG=Oq_X݄!/}*O;0W86\~P')<=ϯLHiȩ=)Oy }~t G<{Km ȥ%hInsIYs- ܥA ,)?98|k+ czGG%)?k:`d*Yg3郄٠V[JvFJun['#]VB 4 - n#]I_wHiܼO;=sJRnubs} l+irѥ;#ߥ:$|%)A%HiȒncGD7+.} l+irѥ;#ߥ:$|%)AČaLhh@0 KaLhh@0 ]wL *S0=SrGXkҟDHf$F (`DHf$F (`K.} l+irѥ;#ߥ:$|%)AČaLhiP(QI`4I04QM0  0j˶u}0p[4 \tiNN- aJ~q#h,`,h``hi,0Y0QƊ0i`W]%@ʷF~"ܑ괧0Y0QƊ0i  %F 0& 4XXF 4XaP.} l+irѥ;#ߥ:$|%)AČaLhh(iP@I,0Y0QƊ0iACE+.} l+irѥ;#ߥ:$|%)AČaLhh(i@X$` `E`ECM0,btX)+-b0A'ncGD7!$eD "sLbt` o?4Kp;>! RVZ4)+tX9k^kL~;Gҙ-LHiȀ?`'>>8{~vR'.vi }~spR}_II)=hIn^ҙTg'}8d!#zGG5R}H휫-!IEOX5X&  d]j`' NА0Y0QƊ0iEp04j/NXF 0& 4XXF 4  RxNRH  ,D(ccE4`P<8A04I04QM0045IGmB@`Hf$F ( 0 5I @ aLhh(iP@J @. aLhh(i@'jIZ,R[ź,Rnu*YRns8hS%Iq #[g0;3F,u}0p[4 \tiNN- aJ~sD "X~hv4}!Cp?"]wL *S0=SrGXkҟDHf$F (ѤHf$F (ѫ.} l+irѥ;#ߥ:$|%)AČaLhh( KaLhh( ]wL *S0=SrGXkҟDHf$F ( 4 ,D(ccE4`P`W]%@ʷF~"ܑ괧0Y0QƊ0i#h,`,h``hj˶u}0p[4 \tiNN- aJ~q#h,`,h,0(PX$` `E`E ]wL *S0=SrGXkҟDHf$F (  #h,`,h, h$4P]wL *S0=SrGXkҟDHf$F (,`$ 0%F 0& 4XXF 4X4c har˶)?E-b)++CیF"ЀeQPv<$,bیF"ՖsLbt`8; ;i ] }0p[4 \tiNN-kqkҟDݚ&4Ev˶)+-c,R[5C5wn4~}ˌg~sp)I_`<+6(]]$xW 5OlXWk; nPGRzb>,Rz ~qʶGa9)=q:7KC7)ݕm rRz)=hI_`;N]a]~0>c?0BYpgFJz7Kw8 nUnqk׺CC^X  0)e+ܝԞ bgm<+=6%)T+c|7*9Wn[RX+C<}~zvzcӉ0W;a+g8'(o@}w{Tq w:qRl%| P?)R5hg nPu<+,|)Н3^r'Fn8}3w筡VxW}6ts~sp)I_{,ŗ `  c )};g*Lr*R֋6,|TY~ yZ_Tq pWܹؤb4`:fF{Rzbƿ:7KC7)ݕm rG~tnnRg 0'~S;n\:tnnS*A_u7wkԞ2:K. BGk7KC7)ݕm r𯜳wN1HB֋b03!gG< hS%׷'+!gG< m˝\5GQ}mܧBr#yNAd ʣm-s[@򔞸vgρq`, (m.U49@? Rz)=hImtsKt3rV'.ۗ; B  K x@(Gs9WnZRz܄H9, wLyϯ!Hnkc`ǣ8KTrwy?Y- ½~Sq;GI9 gC5w:`:8gln)I/\ŗb״!%rvA `e)dyv/\']A(R3#!qRە  +/')d}=q;Gh!u+R׶9m^HHxG>?)P:wLyʔb1I/lXϯγ&Tez-/+Ѥr/#YvO:t'L N^ΘX ,”'['gYt3r,z"`pög1%_0YV'"[g0k2,} l+irѥ;#ߥ:vJ~svhKNK.ؤpH0Yw¾tJz7?q~dQ߯π; ˇG=vtН36[g0;3F,u}0p[4 \tiNN- aJ~vb1b1btX)+-b0A;Km $,bV۰YRV1ODyуzリ8A-m.U4d`{ʶ݄kҟDݚ&V۰].U' %eLbEOsƾfnIWߦdgʶ݄p3OWk6C_9KRV1n[g0fhJs[郲&~qV۰cw>R{g)cvJOγ#YYRns:リ8A-m.U4d`{Q䏄U?P>[nr%Km e[Ŗ1IYnߕ v67L ŗlRVsne+,)+F'<>pwv67L }&BwL *S0=SpGa9괧7fMhkqJF%n3|+|ݍ+_X ޳یF"Ѐs9F%)+EOsEOγ5 Y`hVҝҝD[; U?P94M%hE['%lRns8$w[nr'gYᑬ ,)?9wL *S0=SrGXkҟD06\bKne+.ؤ,9JtX K݄t"K]IYtVYRV1ODyуzリ8A-m.U4d`{Q NWB&)A٢i,DZ& NWB+.'+%eLbEOsƾfnIWߦdg'+'~:cn1BVYfn!ϳKc{O;4dv> :9he}R'['gY>!e'3z`I_L|cw>휥NE)?k:`vg fYg1I`hVҝҝD[>]VB vЉ,tV]Ie,YnsI]Z 扃vЈA,V҄`{4E`݄t"K]IY̮h7a9]c޹`݄t"Kf[Kn))EvЉJ~svhKvЊ˶wAiRVIns8½ ޹vЏ~ub13_7rxʱvi z!#}tsʩ>p:q}3gm5)IZ,R[ź,RnuwKC7)PB9Ogt/z`I_XCvЏnӧªOl,nr)IYs8dk0B9Og]%@ʷF~"ܑ괧h7a9]扃vЊ˶)?E-b)++Cv EŗlRVs!6ՖsLbt`޻Kf[Kn)*0괧7fb- ue9|$1º }0p[4 \tiNN-kqkҟDݚ&4Ev˶)+-c,R[5C5whJ0vS$?rhl+g1Ol W*A^:t̯l眾휥NE)+EOsEOγ34}%PB9Og Ca]8߯휶*e[H#9IpR[g0k2,} l+irѥ;#ߥ:vJ~svhKNK.ؤpHrJNmhT'gYᑬ ,)?9wL *S0=Uj5iO"v EðHb- ue[Ŗ1IYnߕ ;"WBeFyAHHXJa|$1ºbiRz#Ό} l+irѥ;#ߥQ]VB 4 Eg;"WB]~!^Kf[Kn))E n#uZSDX&P5rYv%eLbEOsƾfnIWߦdg\b- wf7~I휶*e[H#N0Yޅ_]'+v_~zevnr8;}»9I" #e*/qfnW郄٠V[JvFJun['#]VB 4 - n#]IYhbqzg ܾRhKnϳög1R^0vRΎ}\9yZgC5wI}lnw-)+EOsEOγ.hf*Yg1I훳ϔ7grn8'gY>!e'3~p$n}l WܾQ'Rt훰'gYLA ,u}0p[4 \tiNN-kqkҟDݚ&4Ev˶)?9;ܾRZ>)IYs8dk0B9Og]%@ʷF~"ܑ괧ޏهm!#ev}F;i ]wL *S0=SpGa9괧?4 X~h.ؤ,9JtX Kc:@I,Yv%g1qe%hG7*JF%n3|+|kD}`ira9Wܝ*~vR'/ "RXEJ0 %.ؤ0Yg1IZ4)=OqJ W}&BΎ)+-c,R[5C5wlr^=Lѹ_u w! ½ ȥ'|+|q~;c:C5w:tr#Km ʪO;3}~vR'/ "RX9tXݬ9_I!e5 :8pHrJNmhT'gY)eA ,)?9wL ,8,aTnG35iOBWNЕ..kg1,9JtX M4rD܏WrY@eGeʥ ir?a]eIb˶)+9 ir?a]eYRV1ODyуx|npM1#6ܖP ]&SH K) K(iRVIns8½ h4kG+,~x»xºR:49M# K)_r8߯5'S;wh4~`:3Л:┕'['gYt3r,x»p5 K)~w%t'eRV[%wh`iL?h4䲁˕JI&>~»ŗlRVs)L?h4䲋,)+F'<>pw!0I&>~» ir?a]e H|ΝHOH A  O H b˶,X,RV[IR@Y khZ Y$k 7I6{6$k ./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcconnection_mi.html$$ Method Index for COM.Transarc.Delight.DrpcConnection

Constructor Index

DrpcConnection()
DrpcConnection(DrpcConnection, DrpcDictionary)
DrpcConnection(DrpcConnection, String)
DrpcConnection(String)

Method Index

addPropertyChangeListener(PropertyChangeListener)
beginRpcList()
beginRpcList(String)
callRpc(String)
close()
dceLogin(String, String)
dceUsername()
declareLastCall()
dictionary()
finalize()
getDceSecurityLevel()
getGatewaySpec()
getSecurity()
removePropertyChangeListener(PropertyChangeListener)
setDceSecurityLevel(int)
setDictionary(DrpcDictionary)
setGatewaySpec(String)
setSecurity(int)
statusToString(int)
transaction()

Field Index

listeners
 kB$ Y$7I6{6$Pj./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcconnectionbeaninfo.html_mi$$ COM.Transarc.Delight.DrpcConnectionBeanInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcconnectionbeaninfo_dsc.html#_top_">COM.Transarc.Delight.DrpcConnectionBeanInfo (no frames)</a></b></p> </body> br> k Y$!7I6{6$!./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcconnectionbeaninfo_dsc.htmlhtmlm$$ Class COM.Transarc.Delight.DrpcConnectionBeanInfo

Class COM.Transarc.Delight.DrpcConnectionBeanInfo

java.lang.Object
   |
   +----java.beans.SimpleBeanInfo
           |
           +----COM.Transarc.Delight.DrpcConnectionBeanInfo

public class DrpcConnectionBeanInfo
extends SimpleBeanInfo

This class provides the bean information for the DrpcConnection class.


Constructor Index

DrpcConnectionBeanInfo()

Method Index

dceSecurityLevelPropertyDescriptor()
This method returns a property descriptor for the dceSecurityLevel variable.
dceUsernamePropertyDescriptor()
This method returns a property descriptor for the dceUsername variable.
dictionaryPropertyDescriptor()
This method returns a property descriptor for the dictionary.
gatewaySpecPropertyDescriptor()
This method returns a property descriptor for the DE-Light gateway specification variable.
getIcon(int)
This method returns the Icon object for the DrpcConnection Bean.
getPropertyDescriptors()
This method returns an array of descriptors for the Connection object properties.
securityPropertyDescriptor()
This method returns a property descriptor for the DE-Light security variable.
transactionPropertyDescriptor()
This method returns a property descriptor for the transaction.

Constructors

DrpcConnectionBeanInfo
 public DrpcConnectionBeanInfo()

Methods

getIcon
 public Image getIcon(int iconKind)
This method returns the Icon object for the DrpcConnection Bean.

Parameters:
iconKind - An integer that represents the type of icon to return. The supported icon types are: ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, and ICON_MONO_32x32.
Returns:
An Image object containing the GIF icon of the requested type.
Overrides:
getIcon in class SimpleBeanInfo
transactionPropertyDescriptor
 public PropertyDescriptor transactionPropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the transaction.

Returns:
A PropertyDescriptor object for the Transaction object associated with the connection.
Throws: IntrospectionException
If an error occurs.
dictionaryPropertyDescriptor
 public PropertyDescriptor dictionaryPropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the dictionary.

Returns:
A PropertyDescriptor object for the Dictionary object associated with the connection.
Throws: IntrospectionException
If an error occurs.
dceUsernamePropertyDescriptor
 public PropertyDescriptor dceUsernamePropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the dceUsername variable.

Returns:
A PropertyDescriptor object for the dceUsername variable associated with the connection.
Throws: IntrospectionException
If an error occurs.
dceSecurityLevelPropertyDescriptor
 public PropertyDescriptor dceSecurityLevelPropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the dceSecurityLevel variable. The DCE security level protects the connection between the DE-Light Gateway and the DCE or Encina servers.

Returns:
A PropertyDescriptor object for the dceSecurityLevel variable associated with the connection.
Throws: IntrospectionException
If an error occurs.
securityPropertyDescriptor
 public PropertyDescriptor securityPropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the DE-Light security variable. The DE-Light security level protects the connection between the DE-Light Client and the DE-Light Gateway.

Returns:
A PropertyDescriptor object for the DE-Light security variable associated with the connection.
Throws: IntrospectionException
If an error occurs.
gatewaySpecPropertyDescriptor
 public PropertyDescriptor gatewaySpecPropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the DE-Light gateway specification variable. The gateway specification defines which gateway the connection is to be made.

Returns:
A PropertyDescriptor object for the DE-Light gateway specification.
Throws: IntrospectionException
If an error occurs.
getPropertyDescriptors
 public PropertyDescriptor[] getPropertyDescriptors()
This method returns an array of descriptors for the Connection object properties. The array includes: transactionPropertyDescriptor, dictionaryPropertyDescriptor, dceUsernamePropertyDescriptor, dceSecurityLevelPropertyDescriptor, securityPropertyDescriptor, gatewaySpecPropertyDescriptor.

Returns:
An array of PropertyDescriptor objects, or null if an error occurs.
Overrides:
getPropertyDescriptors in class SimpleBeanInfo

onExcep k Y$c7I6{6$@c./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcconnectionbeaninfo_mi.html$$ Method Index for COM.Transarc.Delight.DrpcConnectionBeanInfo

Constructor Index

DrpcConnectionBeanInfo()

Method Index

dceSecurityLevelPropertyDescriptor()
dceUsernamePropertyDescriptor()
dictionaryPropertyDescriptor()
gatewaySpecPropertyDescriptor()
getIcon(int)
getPropertyDescriptors()
securityPropertyDescriptor()
transactionPropertyDescriptor()
  k Y$7I6{6$P./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcdictionary.htmlfo_$$ COM.Transarc.Delight.DrpcDictionary <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcdictionary_dsc.html#_top_">COM.Transarc.Delight.DrpcDictionary (no frames)</a></b></p> </body> ef= llY$Z7I6{6$7./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcdictionary_dsc.htmli.html$$   adent <>chilors./bgmpu"()Sfvy,:=Tjwx #-ADEIzBCFOPR04LU_129;HKMk!358GNW[]+7?q|YHѦ_faEEmvin丂/K4)K.iH:K] B@oͼА]^.éA]n h;o44 3KpaЖ`At ? ۮH#& J 8@p@ AӭZwLcp$ f niLP1`Z AF]jAC.iH:I} 䔷  l7BC8pA?$ I4ў\Ұ$<S4:KU$8ntL ۜd7 é&%˜فW!^a!NF`ҙ ]5zh@ e$ $Jg,$>vin m` I셋 .r1vinKwLcqI셋 .vIw٥:.wnzRD$Ds66 AF.$h :XE$[x]6\p֮Ct<@0pNF`V jɀ$ ~jC&Bԃ{!bC9@]l,Yr2GtC^fzXuӅkԑ*AA@ @0pNF`V jɀ$ RAH:iAMj毭T X)ֿ&RA*AMjG$I$ Llz1\];q l,͏x<@?Z AcvǛH< ›ɱo@:3zwɄ{p%|s&]Ìq?"8_㯅<_2a%"6KaYZxSrǦZ $s fh0 AMk`4@7A8 AMr`P < XLp7)OS\Mv(?noo 7,zjɀG*k8 AH2&)M9H?]$U/I+{!bC台cչ3G›+[/^` T X/ nZHd,XHu,z4hZQXzXubwZđ*AE9H:Y 韒]nURH `RV )MjɞXpT X)ֿ&D T X)ֿ&RD@+6=o ^pۏSֿ&GAZ2g,$8 jɀ @SW~LPAMR cc _1/[Euɒt֨ 셋 @łk`4CsA>tHubM^0%BŹPT˜#5zun>}5zo n2merd7Ws渹^", c25I  ANR=a!u  "T JjS]]n~5zowzߛ-6:=a!~l" .FH(p$^6[II!v~Ǘzێdž2<%l{s/W~L@dd,XHp:ߛ-Ȁ]#$wN8p!Էr cRD@p(?WLlyw}}xc/Yph2`%_P3 n6"U˼ؤP(?WLlyw}rc8/ .:y!v޷r?Yh?.6۟Y~k`4t5&{!bCʽ#$wN8p!UHn%5J). 6\|y!v5zh:kTLBńz=r2GtC7 E^{q$J 7 ~Ǘz*>y/{s|\__Z MjɞXr@abd‡n$:P[BPT˜X^$n.6z0%ֿ&GAZ2g,$8S% .FH(q[BCS%֒%Bl AMR cc˽c{>i.2\mpyY~k`4t5&{!bCʽr2GtC7 E^|Hn%5J).U|n|.6|yqۚM^0:=a!C: .FH(q[@[:$:7@>u$J 7 (?WLlyw}s 2\m/W~L@dd,XHp934@\8P sDQ35$J 7 ~Ǘz0ݏͲd_Z MjɞXs ; VP?nh0njHnۚ%5J).a9ۛe\8qۚM^0:=a!%P#pl? F%RHn(JjS]\v>{qo5Y~k`4t5&{!bC7E1r2GtC7 cCtS I Xh+6<>|2\m/W~L@dd,XHp9 ȴ ; VP?$nؐ0Y@0ݴ*+`(7lJjS]\v>y#vqۚM^0MO~.ZV{ ȵ:=a!+"ҲS #$wN8p>$:7@VEeЦ>%Bl(?WLlyw}s cd_Z A&~?yo~-+=ZMjɞXxYobd‡n$:eeP[BPT˜X2L$vxqY~k`4t5&{!bCmQh6D@+6<>/MG/B|Z Y~k`4t$S~Ivo ^*A), Aߑ|" 韒]@łk`4:DL$8*,_RH %@SW~LTZ~aSW~L!jANRj˜#5zun>}NϦZ IAE9H:ga!P1`Z !Ԓ%H:IP*,_ 2i.j*,_ۍˀy2V%IBԃ+1~G`j|jɀbeuۍ˺[th? ejɀcͺ=}]`ۍː~2Veqe ,xymϬɋ>.t)4 t*a%" RWn7[.[topf7[.%mѽ5zh?"T$S~Iv jɀ !Ԓ%H:IP*,_ 2i.j*,_ۍˀy2V[;"W#a5$ RrTǭî;qֿ&xcu?_mn7[.%mѾr5LM^0uy^cbϲK~qr&Jۣ|L[n?Y}lᥓp6 1g%?Lqr|.oŏ5ɿaNU?aY=Ϛzw5s옳AX]\d]p^vlx@?2] I)֫S .JMRqp&Jۣx#1w\+nֿ&GA5J|+Â8 |+Ë|>5zh?]$)xdBA*ٚW ýk6$S*rt.CzC$Jt KB2!!H:ga!I"T-0II IsW7? u AA )5JLlyw}u_/~l#`ۈ:LR)A?$ r"d‡I I$o͖RA*Ad-H?0\Ųƃn/{s܈$^lOAٚ M9H?W cc˽cczˇSF^qo=ֿ&GAbTӔkUJ{pBH%H?\d%?]$ 6JMRT ~Y~&Z-\dn}ejɀMjIPS Ȅ$Ua5T K5$S*rt.C܈r2GtC7 I"T-܈ԐJt R45~#qlۮK~l"v4@p]AA )5JLlyw}}xc/Yph2`%_1H?RiA5%@TKD!$T]G[]'zߛ-e.]kUJaI+@euK_Z $S*rt.C͈۬!Ԓ%H:IU˼ؤTZ~adp^]un6" ZtӔp6<>Wpk󼐻^d[eqϬM^0:&ZTޛ BH%H?\pk󼐻^d[e2\mϬM^0:H)$U)I 韒]*@\8P „RH %E^TZ~adp$^D 7 %ؔ$ RrTǗzׅc.>s^pyY~k`4t&)5JM9H?]$ Iw$TjK+`+^d[e2`%KMjIPzl2! p_.6e.|5$S*rt.C ѢRH %M,4jH%H:LKAm%uvY4@$ RrTǗz[-`\>5zol}fIAMRNRWI*MD!$Tl__Z 폲ѣrERtNR%Hp $:DI*Jt R45~#qlۮ KN6@$ RrTǗzׅ KNH]~w܊L$Iw_1H?RiA5%@]Ȅ$Tj9xiw ֿ; N6[wAɃd_.۟Y~k`4tNRHR)A?$ a .FH(q[@.FH(p$^*AJ7RA*Ad-H?0\ŲƃnH]y[_$AB{K?YGWfk_:H24 \).\-mۮ2`%K%?nJ%$]\1Ϭ.Ƀd_. 6\~q:&ZTL$ۄBA*A5J%pOnH]zߛ-& ]$+|™|d=5zo ֫w" RW e!ccK|5֫2 BH%\3ZA5JY|d.c;$lwkE9I"H:H)L$<,r2GtC7 I"TBxII IsW7? I!v2 7 %ؔ$ RrTǗzׅ2`%+cK.-_1H?RiA5%@TKD!$T]G[]'zߛ-e.]kUJaI+2y%x2`%àrERtNR%HxbRH %Qh6A*Ad-H?0\Ųƃns|Z Ptd-H:iAMRS]^#l!y-xM^0:&ZTޛ BH%H?\)ɸw{s/W~L)IJAE9H:ga!7[ .FH(q[@C$Jt 椂TZ~a+`+`?7OAٚ M9H?W cc˽cnvW2\m/W~L6<>cۋqužo,֒7F>7/`ҙε,ylo/z %$]C1H?RiA5%@TKD!$T]G[]'zߛ-e.]kUJaI+2q۟Y~k`4|nmp۾[?]$)xdBA*ٚW %\?y7pۯͲtW|!$T셋 *E^3RD$S*rt.Cn ; VP?[&C$Jt Jt R45~#qlۮ1a` VW.ɇ.xdx,5vf!jANRj˜Xɇ.6s_ֿ&GAbTӔkUJ{pBH%H?_$ » N6[& ]$+pG eo__ _`4tZT<2! pXjk+p޵)IJAE9H:ga!7@g8 .FH(q[@8$:DI*0\H%H:LKAm0\[_$A8p#a5$ RrTǗz0ݏK%nk5zh? e^\.6c㯅ny Ͳt&)5JM9H?]$ Iw$TjK+`+^d[e2`%KMRwp_.6eM^06GA5%AL" WֿMR0_>Y?"T$S~Ivt .FH(q[@bC$Jt nH%H:LKAm0nKtF?YGWfk_:H24 \).a<|d_Z IAMRNRWI*]! |8'7 $.׿Y;nG/6IutT2])KY,3W~L̀MjIPS Ȅ$Ua5T =zl":H)$U)I 韒]0Y@0ݱr2GtC7 I"TnJˠnH%H:LKAm0Y@0ݱ ¾IvHݾ2\' XjkIBԃ+1ޱ7c7o}_?$2-/ťgݼ_1H?RiA5%@TKD!$T]G[]'zߛ-e.]jK#2q//zjɀy:WI* dJ,5vfjAZ̈́GAI$ "3Kh#pl!Ԓ%H:IQ> R!jAn-~4u=7E1 ¾Ivxp#a5$ RrTǗz0ݏ>Kejɀt)4 t*a%" RW.#xpB{o͖~Ƀd_.A5J%™|d=5zo ֫2 BH%\3ZA5J~s wf#rERtNR%Hs iYt) ; VP? I"TnJˡL|5$&Bԃ %_[ h6{knJˡL|4@p]2\' XjkIBԃ+1ޱ7cŏo5Y~k`4䛾q\kt&)5JM9H?]$ Iw$TjK+`+^d[e2`%KMRwp_.6eM^06GA5%AL" WֿMR0_>Y?"T$S~Ivt .FH(q[@C$Jt fjH%H:LKAm0fnKt7 <2<3ZAA )5JLlyw}s *Kejɀt)4 t*a%" RW.#xpB{o͖~Ƀd_.A5J%™|d=5zo ֫2 BH%\3ZA5J~s wf#rERtNR%Hs (@\8P  *AJ7@KJt R45~#qlۮ1a_nKt? %~ ֿtd-H:iAMRS]\v>{qo5Y~k`4t&)5JM9H?]$ Iw$TjK+`+^d[e2`%KMRwp_.6eM^06GA5%AL" WֿMR0_>Y?"T$S~IvtsDӅ+`(sDRH %FC: R!jAn-~4u=7@>t@p]n|.xdx,5vf!jANRj˜XŹd_Z IAMRNRWI*]! |8'7 $.׿Y;nG/6IutT2])KY,3W~L̀MjIPS Ȅ$Ua5T =zl":H)$U)I 韒]0<]bd‡nI"Tni.Jt R45~#qlۮ1a y 7 %:Iu?YGWfk_:H24 \).a>i.2\m/W~L I)֫S .JMRIwlwk߬~l#L$Iv:W.%xֿ&}h?]$)xdBA*ٚW ýk6$S*rt.Cz` .FH(q[BC$Jt@vLA*Ad-H?0\Ųƃn0^nK?YGWfk_:H24 \).U|aK.//W~L I)֫S .JMRIwlwk߬~l#L$Iv:WI*MD!$T%n}ejɀ1ɀ?hGA5%AL" WֿMR0__.61ɾˆ}[&rERtNR%Hr@g8 .FH(q[BC$Jt@g8 R!jAn-~4u{sunK?YGWfk_:H24 \).U|^\.6 VW.d ]~ ZtӔp6<>Wxqejɀt)4 t*a%" RW.#xpB{o͖~Ƀd_.MjIPzl2! p_.6s/W~L>/};MjIPS Ȅ$Ua5T K~o2__GAI$ "3K^3DӅ+`(Hu$RTU35$&Bԃ %_[ h67z +`+b~ ֿtd-H:iAMRS]\*K.//W~L I)֫S .JMRIwlwk߬~l#L$Iv:WI*MD!$T%n}ejɀ1󝹶U_n lv#tAIWfk_?\//}s[en6ʸ)IJAE9H:ga!ʽ/„Ӆ+`(Hu$RTU ~ R!jAn-~4u+z_nK?YGWfk_:H24 \).U|? %ֿ&GAbTӔkUJ{pBH%H?_$ » N6[& ]$֫w" RW eo>5zh?~/};MjIPS Ȅ$Ua5T K~o2__(tNRHR)A?$ UΈ ; VPI$!ϝII IsW7? UΈnK?YGWfk_:H24 \).U|n|.6}<]|d5zh:LRjrMjIP0nI+|i.~}5؎kUJD!$ ]~ p`2\mc}o O4X?"T$SRh.iX )I%|*:&Jۅ2jԃv NғRgА/^`~Xyc'#0XniL.k`4vin|_%]3 av;4Px60[WLBń9n;4P%;1WLBń;$@; T|p c)"T"\IJI #dZE4btILBńr*\;4f^[o4:C9CK$aM$4r,?%Hp$ ( 8`*I)II ܤ%A k{Y$#7I6{6$1#./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcdictionary_mi.html$$ Method Index for COM.Transarc.Delight.DrpcDictionary

Constructor Index

DrpcDictionary()
DrpcDictionary(int)
DrpcDictionary(int, float)

Method Index

clear()
contains(Object)
containsKey(String)
elements()
get(String)
getBoolean(String)
getByte(String)
getChar(String)
getDouble(String)
getFloat(String)
getint(String)
getInt(String)
getLong(String)
getShort(String)
isEmpty()
keys()
put(String, Object)
putBoolean(String, boolean)
putByte(String, byte)
putChar(String, char)
putDouble(String, double)
putFloat(String, float)
putInt(String, int)
putint(String, int)
putLong(String, long)
putShort(String, short)
putUnsignedByte(String, byte)
putUnsignedShort(String, short)
remove(String)
size()
3c//d kZY$7I6{6$P:./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcengine.htmli.html$$ COM.Transarc.Delight.DrpcEngine <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcengine_dsc.html#_top_">COM.Transarc.Delight.DrpcEngine (no frames)</a></b></p> </body> ing)  lR)Y$ё7I6{6$E^./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcengine_dsc.htmlml$$   aet <>cdhilnorsCET_bpu"./DPRSfgmvwy,-=AILO[] #()4KNUVYx0168:FHjk2BGMWq'35;JX9!7?z&{}\XNtߤDHPe Ż]ߤ P!+y!,RV%)+~[mY,   0Ol- ;e2M,RT;abK%FC[б;%}ҹp€  b+(+6K){eMr##` ` @$0a%{ 1I6[!mXxm.U4P̌E 2Da,RV/a)+1IYq^y3X@@P  @P@Q,RW~VKĝ@,Xb@_X@ (܌j"$ۑBDBĀX^+Xt#${Ķdm.U4S0" ܑK?IDKC p.}bv%^)tkʬ]bk%, yq*vλ qTSD21T2.;|Xbԕ,Xs/h'bώ1blRTز t%ymbl(Bۜ(\th~DdXY Xo6)+tXk:7[!mγ24bbn_ Kr-ݕm ~W|^qgXed' OsI3HK+Wiw.dGa"<'"Y- R}6 U(3(O)QJO5B'c϶rN?_i +)%'0o;–T'| )=;UI 3&WàES Eˌ2Z&pRHE ƣHi_=G|Qqh^er z9mU Е'/g㆗|R~q;ܝ],nRtYJܔ~|)9Wn[_:za I_R|%݄t*)IAO6K%O 3B  JbъJ`XIŋ)+x-O, "[lRVI[u}0X@K8af4pyiņ `K8af4pyiņ,]Ins?5l]oW~9)ez5ϯ'QӐG Nm+{8ƣHi_'Ry Ӷd#(6y3%K+N RV`wL $0pY iqai% ,ᅘpY YlR[|+9Wn[6!߯F Y^sI=A4)=y9K{8ƣHi_'Ry Ӷd#(6y3%K+N RV`wL $0pY ippqX0pY ippqlR[|+9Wn[6!߯F Y^sI=A4)=y-Ş0=qW TBt"H ^~iL}~r7R=r򂔕X] 4aGafx`p8,8ig ,Æ489qlR[|+9Wn[6!w,\j4y݄!,w!:v̑$er?4d9)e}_ByAJJݬĂY 0ᣃ0NLp8hL,Ӂ.ؤ9Wrܷ lC+_{(NiR{ӣ'Jrŋ=afzQ4ȩ<2D{ ʼҙop'}~z )+v 8ig ,Æ48ha` p8hL,ӆ 0Ջ)?g휫-C}#{,F Ӛrt<g,\j4y';fH2oa9WS2__\<%n}bA ,ᅘpY ph40 4aGaf4iLlR[|+9Wn[6!߯F Y^sI=A4)=ytKpŞ0=qW TBt"H ^~iL}~r7R=r򂔕X] 4aGaf4iG  `K8af4pyiA4ph<03_ Uۖe~–W\Rzei9 OqtpD9 @Ş0=qW TBt"H ^~iL}~r7R=r򂔕X]0)p0ylR[|+9Wn[6!߯0~Q4JfII2[Nop|+i *c/iLn}ʶ݄)I[u}0XC݄t*  c݄t*vH)Ins?5%5J0S$?7a9] ?_{{q ,Y_7rz5ϳKc{O?4dvN >9df9;9QJJݬĂnƣHiP'hj4yAJOsy,ޙUFoYi + bFҾ8O#Ф휥N\ҙopR}_afyә&W':リ@,H hj4hj4X`$9W|隍%_J$Ix<0~Q4?4d%F YQJJݬĂ+1?!CD h(K+1?!CEb퀘KAJOsy,޹ 3!|pGѮ;\p_af)>i += Oq_X݄)/F YU'ܝg9l%~ByAJJݬĂ+2 NWB8irѢd`E(eh7a9] ݄t*vH ѐnr)?g_7z NWB_{{q ,YRy,ܤ#sX?4dvN >9dO;tYNNW9ug4یj)I[u}0XEsGQ4&PW4~5CJ] h)Ins?5%rN5(D 5CJJfII2[Nop:リ@,H"zM$D h(K+ُBDV. 9W|9m}):z5훳HHf7E)+v \mN@Pm.U'%AJOsy,ޙU2&[nrR|1ZͰrʶ݄q㆗U'gh¾ܛd><%B[%wd,I;,DbJF-)?RV-)++%bGY,bph4 0pi{LbD{[ǘY,+1J)?g5l]oW~8EFҾ8O#)%'0o;–W¾~R)2__af)>i +?_{_ tk2D{ ʼҙRy)e}_ByA_ 5CJ .P<,4q`N <#mnh(ag ,aM0 4 77p!A@qpph40B O$m ivҠ8 8ha` 8hxaa'XD Z RV-bX$y %lRV{Yi{LbD{[ǘYiJšLbEOs|+9Wn[6!)@!|+%SJfK0o;–TRbnߕ#,G 4qX,]IYag8pi,)+B'}v !+0 X84ӃƁjJšLbEOs|+9Wn[6!~tk'E'H 'xKp!B(l.>Q)/%F Y^ (G>Wl¯~)= N'O n4Rv>zrQJO5`Pt}qW zv%]ma"<Q}_t {P휥NU 磾#Hi^'݄I*)vҽ Oq P)h1IXEJ`Xp0yXv%gyLjŞ%hS>0o%qp0yJšLbEOs|+9Wn[6!߯0~Q4JfII2[Nop|+i *~tkRy3%dܝK+C_?)+Ox,kNF{mn>L΅'݄ܹ/r_r v!t$G__hl'*'pdܝK*)I 5CJ9%b)++%bGYC iG %lRV{YC iG gIZ)=O뷰o! \|%y40a4ph<0JšLbEOs|+9Wn[6!iOpX φRbnߕ#,ᡅ 4ᣃAᅄ8@,]IYag ,a  , p8y0,)+B'}v !+0 0ӆ 8< JšLbEOs|+9Wn[6!09ӑ^-)+I]Y, <p<08`,]IYagp81bb)Rz7o`BKx 89qJšLbEOs|+9Wn[*»_9}~wFҾ8O#O{%'Nْ$NU̗larwK*+ѥ2[?_`I^09ڊZ RV-bX$`ᥜ08< 4ADbJ`K8af4pyi ƬYRV1OABW o8ig ,Æ48aP`88%bЦ1I['휫-C}#{,F Ӛrt<ubgYi +*O!:v̑$er?4d9)e}_ByAKAJź,RW~VKČ4aGaf %lRV{Y 0ᣃ0NLXؤ c' 7>0pY ip4<bhSbs_ Uۖe~–W\Rzei9 OqtpDNXg,\j4y';fH2oa9WS2__\<'W,\j4yT1! MI%m'/ 2'BX)@|"8'ܝ*k ʾ]-)+I]Y, 0pY iqai%lRV{Y 0ᣃ0N,< 0V,)+B'}v !+4aGafXx4af+1J)?g5l]oW~9)ez5ϯ'QӐG Nl,nY 3!|pEI'Nْ$NU̗#{,;(O()I 3!|pG lC+ Oq ªOC(Bt%J}~v-] *r) PPRbnߕ# ,ᅘpY%lRV{Y 0ᣃ0N,089bb)Rz7o`BKxK8af4pyiņ)+1J)?g5l]oW~9)ez5ϯ'QӐG Nm+{8ƣHi_'Ry Ӷd#(6y3%K+N RyxƣHi_'C}Bnr ca)BD||Z?%' ~=0KAJź,RW~VKČ4aGaf40abp8hL,ӆ 0Ջ=JЦ1I"|`]yJ- ,ᅘpY ,aJšLbEOs|+9Wn[6!߯F Y^sI=A4)=yubgYi +*O!:v̑$er?4d9)e}_ByAJO5Yi +?%Tiq4FJO5gl,nrL)2__K8Rl–TRbnߕ# ,ᅘpY ph40,]IY8ig ,Æ48h0ӃA,)+B'}v !+4aGaf4iLJšLbEOs|+9Wn[6!߯F Y^sI=A4)=ytKpŞ0=qW TBt"H ^~iL}~r7R=r򂔞k^0=qW ~J+N! NYCITR~iL}~r7Rr^~d)![%wd,HK8af4pyiA4ph<0,]IY8ig ,Æ48h0ӆ Xؤ c' 7>0pY ipa  , Z)+tX9½v徨c`B_op>DsNBn'97NB'm*g,\j4y';fH2oa9WS2__\<'W,\j4yT1! )='/ 2'BX'}P12_zܝ5I㆗Q%NxWk?m KAJź,RW~VKČ4aGafx`p8,Xb0pY ip s,)+B'}v !+4aGafx`p8%bЦ1I['휫-C~wg5CJ>X݄^a"?_ 4ѣͳO޸i +U';l;r7a9xB8K%ƣHi_u'̥@')<~9,ܤ5y oIHo`PtT\j4y)/%F Y^B%FҾ8O#FN$IA)%'–Wܝ''q%0)>s_';l`Pt}qW E~k;l5CJd:;iQJOZ Ryw~rYHk 8 3Iy!FҢ~Sw lAaA"ƣHi_'H}~)>Q;0(:_i +>c`B_|鞸iOl,nr}Fώq B1e$)IAOs^K5w|$N`n8%ICxd8EFҼҙR~;c 9)eE)+AOsEOγ;5JJŞ'3(D 5CJJfKI2[Nopݬ=8dk0%bbs}bA, `DyLjzリ@,H yXh4 qap`8-b=wL $<0XDy`4]'ĂY,` 8484Ջ}0X@ 8 0KYil a pph40BX<X0N `hAb=wL $<X0N84X@KYC iG ,]'ĂYC iG %,ᡅ 4ᣃAᅄX`O]0 0ӆ 8<X<X0N84X@p`,]'ĂYC iG  pp.}bAFҢY\i *v'tXnstXm#h$ v*7""!" ,XbیG Ջ=JЦ1I"|`gimNpwm#h$~#]$ Lzリ@,KfHV[E;#/N q sOQ@,D`ErXbhSbs_ YqWܸc~: a ,\봄Ry]$Gr+!MԞ)=q ~qKʶCa9)=q ~t.K7)ݕm rRzţ)=h1I8e[H!g*»_2a]R|unX0-pa;8pgBJKw<(nU n RyNp7 3u0r'uLb'ܝԞZ[u O}`FP!ܴ)I9;9_tϳrU !;>Bہ>t휫-')<畒2_ByNI?=P1܄g;&W͜T\<@y$kS~zc ә&W< =r_VK<}~xKr-_L(˜_r)>J{ Mid>=lyY,w{K*)I:X8ik_ ` F  6S).ZvU'):TRփ6%1I=,Y !'Y_T1! pOܹbcBݝ BpnpIcyT~HH>t$DW>0\to`PtTNL,,Wd`X39)<$Bt%{ Gz5>HH>t$Fgm@J3bփktYNi6WtYJ4JO5Ls 9):K%ʶCa9WzM!' vHH̶tYNi6|dBqBD@')=hŊO\`N >9d__ҙ-7a9] Rx> >9d.~Hkȯ?6 }۹O:)<5W_򜂊>B۝[w)Ц7϶┞vgτ(~9aQVC20"[@#hŊOZ Rx> >9d],nS*A rBv9ICa9\bWW푯^!!`O^&^TBA3GDV/u:uB:"{ӯuFX RysvBdrVl'*ܹЦ7J~)={V/ul')<ʻrKtYNi6$wr2_*O^)={NN2 hx,^b@`X %\]j똤H;^$PK8% ְ>%~CJpny}۹Jc:㔟 q=~Si  'O$p']$Grܷ½ړкY,ܧ=vt",یG H)bbfn'i 휫-*M=HyЦ7R} >7W)=bX'q4$#GD}2DI1O5Wm?gׄnr&qK :n9IE۝\یG H)bg$wOl!{㜤5_ [s6F}*TR~rfR#ώze+Ԟ0;T2_{2H^) kY;U I '5iT3̒>9FsJRxPPPPPPPPW‚g8@_t =K@(P h ZԞ|ZO ZBK@pXOF " 9.B?k!= "-Bz0! "ф<k> ' h -a=K@pZ+ #vBz-}@D'('ZBz0'R?i  }@D'BxB|%8,@D' h RywD봄<" "tS}'|%@OF!Imܠ!"!=ZO Z<-i R{_tHHOk!= "-Bz0*Ok"?BDDT["OEK@%@MB{' E3]- ]{cuẆD?hu`)I(GnL"IE_q'7Z|qAQFwOt>8nk> ' h -a=K@pZ-A_t %8,@EI#vBz-}@D'('ZBz0'pP@D@Gv'NDZO ZBK@pXOFDDk!= " -b!=K@pXç""?A_t %8,@EI봄 "k!> @D' h "HHv'|k> ' h -a=K@pZD_t A(P h  ZT= "k! "ф=b$b#f+к{V/ut`$4tEbY#]R{{(焾;o NWBCܺX!4tEbYNS5HEbYкY,ܢuQ }~w^tBTNrHy2H^) Bdr^0;T0RփCS%!tYO #žgLr~wa F;ҨgV~U 'E'zK%~rfR#ώze+݄-k'JO!:|U I '3Z1NP')=o[w(Z-R|%GROF#J)>|OF{MR|%?#Rz06[rOç"*OFtEI#;ީ=D&'i ~"n24~4'Ak?> @G=K@y]'Z?4@EIZ?|*O @EIZ`@G'Zg""*OF #ȈFw?gz "M?'T]$D@G~" "n E0@EI$CS%!tYO O|B~<'qG<*YB8RiLwpWrYKO%# R|eʿ_{9;9^ȞSqgڍ)NCrw#&|ycr'oҨgy,wu~C+&gT2-5I"F_rwR'M.!"5xKgڍ)N>f7|+Lr~z, dT3~;Q2Zws1 er[9;8)IAO{"F^K(G-j4Ky;8ڍ)NTG4 ERŞK5wz5}!~vJdd>[^nL%_œ!Y-,r-j4Ky;9NF}4R'W4 ERŞK5p')<?%^K+^K(G-j4Ky;8# $G)eT3nW\wFQ|+s%q.Ÿ#[P:)>_rJY_2Q=̇YD?hu`ŞJOZ Rx~KܽҖW¿g?RWžK+^e;b_ҙ-JYQ\,}<&%J0WtYJ~KIŸ#[^R?<%]7+C E1b`%h1InsIY{,nRJŞ'3Kp?i < [p~8aJ RvL@=wL %$+irѢQEr9h(٠p 0"Ca9,]I>8` G+;Ӷ)?>q8WUF;"Ca9rwsΟ_HHNٷRXE1IXEJ`XA T ŋ)+=vЪŞ%hS>0o봶]l \thd`E)AvЩΫE?IDveh7a9] ] NWBRhSbs_ Y3Qe2MϳvЪ_gARŞK5w)ǣ\?V7JfKi VK+N],nS)?b)?k:`i*+{[2&~qnr< !:}|*R'!JOb)+I]Y, \ѐnrKn3#/C(FA T%lRV{+2 NWB{LbDϮۼ\ѐnrĶdm.U4S0" A TU;fX24dV.)IX)RVIns9y,޹vЯ~ub9AK{K5w)ǣ\?V7)/]$GBώyY,N],nS'NAF /RV1n[gmf*YRns;\3e2Mϳœd|1N_ = Rź,X9Jź,RW~VK.U' H(K.ؤm.U'%=JЦ1I"|`gim޻ ْVNV[nr9h(٠pKm bira9A__I]l \thd`E)An!uZ)J h%(LNKlRV- c,R[k^K5wj4}a I~V۰3n}}ֳl/qܤ5ira9\xI$_𯄫& nP)+AOsEOγ;5JJŞ'3za I_\mN^g'O{g)cv'gY5J+{:リ@,KfHV[E;#/N q sOQ@,D`ErXbsH}~vJd 2Da,< <{f^㹴V۰1)Ib,[%b)++%b]] P,]IYv67LwYRV1OA>Kns`uK Lzリ@,KfHV[E;#/N q sOQ@,D`ErXbhSbs_ Ye~;{q ,Y!Im>Fo \mNB5%ªO NF$&O:B+sWa"?_H?(䲵9_G)/F Y_rwlaJJb-bvL@=wL %$+irѢQEr9h(٠p 0"Ca9,]I<*v}`O)?[ŋs[%wd,K# @'br"(~"'br"(~" ŋ)+=nL$gIZ)=O-nL$ k'֥'G)^ ْVNSp"Ca9SAl8KQn!.ؤZ)+tX9¼k\~q20l߳F'=Q>Qo4Ry{g-W\w?4d9)e}_ByAJO2-$pKoa9Ẇ¾ܡ nr{)?_IrYC lQ4!:v̑$er)/%F YQJOZ Rx6{_{Lt'ZWi'*˵"0p#O$p'da.p#OmS~vG/JtṡV۰)+AOsEOγ6drV,)?9%dp?i < [p~8Rl?g> +4}=l{  1'3uI+qHHf7~rۄкԤBtR~9qФ$!q 1'gY5J+{:リ@,KfHV[E;#/N q sOQ@,D`ErXbsH}~x̌%^[b)Ib,[%b)++%b\W)+%P,]IYsp\,YRV1OA>KnHHsp\AJJšLbEOs|+fnFj4Kx)+%l,nr R|{QJJb-bvFgI~#x߯휶*~vJd,΍rX½ Rź,X9Jź,RW~VK4cp~5CJa<&P,]IYhj4y=JЦ1I"|`gimNpwhj4yL%8O" Lzリ@,KfHV[E;#/N q sOQ@,D`ErXbhSbs_ Yskg5CJ<\w~8R}qW zv_ ˟S2__O;,:s$Jr򂔞l>rN+L NUkDa"?_O5CJctR3@;}~uA[l'%=%I )2|s5ϯγG4kdp Xfn)2JO_ Wr)IZ R[ź,RnuK%gI훳s_)IӶnϳlO)JOγ;5JJŞ'3qHHf7~rۄ_(F{ ̇K):v)IY{ }&RJŞλ ْVNSp"Ca9SAl8KQn!.ؤp9ϝ ƨ[a"!b@Q=nt$D,H %Oh똺ŋB9bN٠'@,KfHV[E;#/N SD?)0 bwL 'i)J"X\n\2F:リ@,M-ֹQOQǗrla7eE?IDK#C"|U,]I\bŋ1bR/l-&%IRV}bE (P~G4,Kg-h.ѡbE (P9Qr#5|XO ĀA< 04f ,]bbgX[X  kVY$7I6{6$./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcengine_mi.htmlml$$ Method Index for COM.Transarc.Delight.DrpcEngine

Method Index

callRpc(String)
close()
dceLogin(String, String)
dceUsername()
declareLastCall()
dictionary()
getDceSecurityLevel()
getSecurity()
setDceSecurityLevel(int)
setDictionary(DrpcDictionary)
setSecurity(int)
statusToString(int)
transaction()

Variable Index

DRPC_DCE_PROTECT_CALL
DRPC_DCE_PROTECT_CONNECT
DRPC_DCE_PROTECT_DEFAULT
DRPC_DCE_PROTECT_MAX_VALUE
DRPC_DCE_PROTECT_NONE
DRPC_DCE_PROTECT_PACKET
DRPC_DCE_PROTECT_PKT_INTEG
DRPC_DCE_PROTECT_PKT_PRIVACY
SEC_BEST
SEC_CIRCUIT_AUTH
SEC_ENCRYPT
SEC_INHERIT
SEC_MAX_VALUE
SEC_NONE
SEC_PACKET_INTEGRITY
SEC_PACKET_PRIVACY
SEC_PACKET_PRIVACY_US
SEC_PACKET_PRIVACY_US_128
SEC_PACKET_PRIVACY_WORLD
XO k>Y$7I6{6$P./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcexception.htmlml$$ COM.Transarc.Delight.DrpcException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcexception_dsc.html#_top_">COM.Transarc.Delight.DrpcException (no frames)</a></b></p> </body>  lY$a7I6{6$`W./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcexception_dsc.html$$    et <>R_adinrs/ACDEINOPTchlop".LMSUbfgmu=BGVvwxy #FHKWY(),-X0jkq14:Q[]+2389;JZ|!57?z&p3Y= _:A^>$I34 RTr9M )͗`0s-C֮t<0v[*{X8lH(9kWr$]0}%M :jJ `0wcX@#2inO ARY>Q @>ip8 !c=e{!+Jf+Ah,f'Xv=q*dVo=5Zp8  0{XzȆCg@%h>Ahwd5\V0~*גt`?OUyNt`;vٽ!%U{V :XyY1h=M;.'4 S-L.p0}`4Z"iY5\L.p0y*jˈSH**-Y^w'Kl JYˈSH**>+5Ew'vk?Nj:=k^Wx'jIPLT+6;VW-ByY1b2˦hbxj$r׸ :]K`` A `"8 VU!aSH/ eQ=q2{Y[YCԶ A"- eQ5K,!gt)՗wyHB )e5\q2{Y[YCԶ A"- eQ01<_hc;!M C*BG41<_h\L@Z%iVb h=MeL}kJǵRk5^~FDj,f'O_3r41<_hZ5^$/VWʧ%EYn_Y?6ҲuȮ` nEwU0ZmSezզW]r+HP nEw0 M7Ykt֞_gL]*Bgr+bxjCY͒j| O-^RY]nR$ ;H.u!Lhͪt*Ϙh&ߖk=גypʳ͕2w.yʊ{~zbUPޚRiVhzÚϪgYkt֞| O-^+J*=iVOhD~u~-S5\Oh~L ҭՖjjT nyJj#BxU-^\nqr|ho#zT3kҭՖᶲq#_RZz_$D]5Og0 M|!rk5^yn8k?ӛԶm[Ɉ+Aht3V3b /2˦aEdWRk/Y`0;L9@{YLI W9՞5%@{Xׁ].p0p1R9Ba!rdNo%)~վʻ/S:ԉoK}/¤&s zZޤH k=x[KP)"d.%@""(8=ӛIJ_bxjVtN[aHewj~>Y^9k5TK[m%L$25|=T>[r :z+Զ2q@aDAyD :2&AgJRWҳrܿ%T>[r r^WOZ-YIW0OEsBr $5 u-%Ĩ@\OA(z0 q*(J&DL)"L~/1<_h}+:'-R[G- ȮɵrR$5\[G-bZ :z+Զ2rP-AQ*0L~/1<_h}+:'-R[LvZH$2vW]ZdLD c]K``c q(ȕ=!ad. 0Q-gJRWҳrܿ%\jOo*"_' ɵUT< k=x[K9FDL:AQ-ťr=ӛIJ_bxjVtN[˦o_VCyWuuJ q;*xR q;vn׀UHڠw_וC7,!tWKl  d. O1= 2r9'gDK~{-&E:ֶjaT>[r R/P+Ik=x[K9FDP2ra&Ok?tR/Z-e>C/y+by@ׁ].p0p1DdQ(XR0;̂%"Bł&Ok?tR/Z-u{i~o!-MFZT>Y^FjȆk=x[K9FDZPZC l@$Ȗ q(ȋJ Hd DzN&Ok?tR/Z-z 7-"qgvΓ[y jj}S<5eimׁ].p0p1DdRhwK9FE Z&=ӛIJ_bxjVtN[ʽaKaTƳu>O^tAQy\q$"PyDdFrÅyI!$a&Ok?tR/Z-_djڄ)YjRT5tKSS\u:O yj-Q c]K``c q(Ȍ<DzAd. h"ZIgJRWҳrܿ%TFZu1Y#]Vֳ牫+KhD5 u-%"0Y[r :z+Զ2( q<@i Hd%@FlL~/1<_h}+:'-R[L#jip_mk=:>9kyqjjk=x[KAI (B҈' <;̂%  !iDadNo%)EY9n_ߪg-Ȇp_m#Yk=x[KAI (lF =Qd.!$h(\O(Qx$G=ӛIJ_bxjVtN[">>[r EV ׁ].p0p1Dq<"'EwKAI (i@"z DY8=ӛIJ_bxjVtN[p.A+5֥wmJJkYW4CXR88"\N=#`(bPs,;̂%6r6% 8!L~)K O-_JΉrTWw/.W%<#|k<]y",G|VZZtDZ-L ֮pzþܰ')+}S8n4CXR88"\N=#`(bz D% yDzFQfJ(A#Lq2{Y7}蜷/Io3,[/5Tu:Oһ$CXR88"\N=#`(b0I q8͈' =gJRWҳrܿ%Tl$rI<#keuPֳ3\D5 u-%6r6!&Y-HM q8͈Ir@R%$p8\L~)K O-_JΉrTWw/.W%<#|k<]y²עjQ5=/ UMSʡgUiO'_g-k=x[KDŽ$"afDRG |Dh2 (ID͉4 @4$.&Ok?tt'gDK|誸>J 7-_ qrS&!tWKl  d.'P . 8J)4;̂%Jq0eGQE Z&=ӛ2N!JʻJ֋V9WUCx+Qom[һCW˵c]K``c q8𒄜dEX."M 4HwKDŽ$",@qhI\L~/1<_h}+:'-R[_JIZO#jhoWVtLׁ].p0p1DxIBN2#9ü"\N<$'&Ok?t0O#Z-^C } _9 \5Ʊׁ].p0p1D@ X %@id."P8(bz D"Pc9'gDK~+Ww/V*Ƴ-Y26G}y'ZO^tAz$"YDyDE y!h.&Ok?tR/Z-q oVޚAmk=+^mSe-Zj⪈k=x[KDXlMwKDXlM9'gDK~|X[xVmg|^/jKs,:z+Զ2ЊP(e0@"AzJ,9qF@bL~/1<_h}+:'-R[LG/>im4]iVOhx;Iom*I+ײ헸ׁ].p0p1DQ-40;̂%hyi&Ok?tR/Z-t֭q=sB+LLU3\zWl5 u-%‘hOH"\OA()&41gJRWҳrܿ%TC5EU]\!ܘׁ].p0p1D0H D2 hdNo%)EY9n_/R*5|rʦ[&p(yW\*?e&!tWKl  d.'&!% hwKIBFdNo%)EY9n_/R*¤rʦ[&p2^ /LCXR88"\P"l"\`q8𒄜dFrQ̓9֋VzT7vT.} _.Q?؊zFYfO֐mƱׁ].p0p1D(Q(P9,;̂%yBBn&Ok?tR/Z-q oMj[ [>*j%jT>Y_Y c]K``c q%Pb0I q%Pb0Iq2{Y7}蜷/Io3\|ؚ@qx"_`ׁ].p0p1D49 \MwKKA8=ӛIJ_bxjVtN[˘YSC~ZY&['FԨQ c]K``c qlMK@P8HA,Qp5gJRWҳrܿ%T>[r EY5OZϪgX+,!tWKl  d."̀IDt yD6&"!ЂFdNogIJ_bxjVtN[ʼڧJːd?-{Ey Zۓx"Xׁ].p0p1D6&'( t 0;̂%Y 6YQ c]K``c qH "\Rb(E@'s)K O-_l^|ʿ-eYbT>[r :z+Զ2"A,A $H9E\L~/1<_h}{e*e}S8n4CXR88"\FrqL)"d.#98&DQ`'s)K O-_JΉrTr5㩊Γ[y jj5T[r [m%!q3UcܠVjOYcXTwk=x[ xY{~8<9 iVT';ʡO^tڱX뉓PӛIJ_QifoLu}S>'IovyeCiQNַ0 M-eDׁܰ].p0p6/mJ@`ՅQ&O@fNo%)~C5EFտ[}ԨK}{egYkt֞kL{XzȆ !ýcܠ&VkJ `l "PCc)DADfkg^n'?}>:`l "PZc9/ZW}{egU` 7-IoTa@S~Z[ԉa]ck/Y`AZiiDQM0;L8k̂%Ĵ<҈cuȍV춉Ԭ q-4(&8k5^~%)EY9n_ߪgMZewd5\Mjֳ\|!˽q3Uc" "\K@P!q2{X2*&Ač{Xk:FD[DVJWyDQ6B c^UgR/Z-@9mZ[dmlYԢLL"og-rkL{XzȆ2(|KxA=P(0;L8k̂%JlOA($JLq#^9{cι?}>:d."P8(bz D"PcXW=t{Y7'gDK~+Ww/V*Ƴ-Y26G}y'Z5^:^!̂%" im4]iVOhx;Iom*I+ײ헸.W`0s q(ȕ=!ad^d. 0Q-č{Xk:FD[DVJWyDdJ@Fįl{XNo)K O-_JΉrTr->~؞P+&yWҡRV$2!˽q3Uc" "\`g(،<zýc"\`g(،<zH׵^DjOeOdwK,O@{XW=t{Y7'gDK~|_mZ g3dC9w&jtdCKǤllF =Qd^d.'Yx$Gkg\hhJ_J2H,،<zc9/1<_h}+:'-R[LG/?JXtK26WU k:Jy?JS8n4C{XfKD09D(Q(P9,;L8k̂%yBBn$k/l{Y"5Z''RWһ̂%yBBmc^UgR/Z-q oMj[ [>*j%jT>Y_Y]ck/Y`AQ*0c"\A2%@ uȍV춉Ԭ q(ȕzMc^UgR/Z-p-QH uyXy]Yr+2|rx"X.W`0s q*pE$X ;L8k̂%ĨDQ`5c=mY+]AT"(bHCXW=t{Y7'gDK~VDW~㖳YLD5VBZT+"C+CW _ܟL ]ck/Y`AT P. <ț!q2{X2q@aDA8kg\hhJ_J2q@aDA5%{cMWsIJ_bxjVtN[p.A.W [*S9 㨮tՕ_TBA D.W`0s q*(J&DL)"c"\J 0  H5c=mY+]AT P.'M=RE5%{cMWsIJ_bxjVtN[mUS[.+]uik8¥jHjַMjZ%]!˽q3Uc" "\@-#>'iRP(Qq2{X28H`Ԇ@T jFč{Xk:FD[DVJWyDZG |O42PR6 c^UgR/Z-{fzf\궵tL5OhD9w&jtdCKǤllOA(4q2{X2H,؞Q4 E$i$k/l{Y"5Z''RWһ̂%6r6'MQB cXW=t{Y7'gDK~`U8vY{u2~ܰ'5^:^!̂%IJR' q,"b(`H׵^DjOeOdwKe 9C8k5^~%)EY9n_.:DU޲i~dmJx"_NJ!˽q3Uc" "\Ea* r2{ yD6&%(T@$d q#^9{cι?}>:d."̀Ih 9G Zc9/1<_h}+:'-R[L ޚUZ${傲5^:^!̂%a &Ok5AKq#^9{cι?}>:d.0D!įl{XNo)K O-_JΉrTW嬵ɦF*?}9*.W`0s q@ @BJ-y&Ok5AAq$" :d."̀I 604FLkJǵk?t}蜷/Io3, 4LC{XfKD09DE y!h!d^d.'HrHB%$KuȍV춉Ԭ q=@B,"Zc9/1<_h}+:'-R[L K5:&zWʼڧJˊZխU8 d.'c DY 6d^d.'c DY 6$k/l{Y"5Z''RWһ̂%",a`6&q+:jӛJRWҳrܿ%T>[r EYu+6ʾKe% rkL{XzȆ2s0"l c"\A<Ïq#^9{cι?}>:d. aDŽDA5%{cMWsIJ_bxjVtN[ʿ-eM26O̍QgX+-ҳGrkL{XzȆ2rh-(t -#<;L8k̂%"ZJ&KHq#^9{cι?}>:d. :d. J, kJǵk?t}蜷/Io3+-kOΓ[y jj5rq 7VD0C{XfKD09D49 \Mw=pיKKA8kg\hhJ_J2f2$ kJǵk?t}蜷/Io0}26YM26O̍QUҢ5^:^!̂% &#(q2{X2`H<zH׵^DjOeOdwK0A$ @LF =Qc^UgR/Z-#PUײڲk+u:M3\}Ԩ]ck/Y`AQ4@' q(Țyq8kg\hhJ_J2rXW=t{Y7'gDK~{-&E:ֶjaT>[r R/P+IrkL{XzȆ24P. O@xw=pיKAI (B҈' =č{Xk:FD[DVJWyDq -(<zc9/1<_h}+:'-R[L ޢY+rk1]ck/Y`ARFO@xw=pיKAI (lF =Q$k/l{Y"5Z''RWһ̂%  6#(įl{XNo)K O-_JΉrTS=dC'p.A[xu8 d.'PKI&' q8𒄜dEX."M 4KuȍV춉Ԭ q8𒄜dEX."M 4KXW=t{Y7'gDK|P+IdmM V*p_|N8 d.'NEzF&Ok5Az DH4Qi$k/l{Y"5Z''RWһ̂%‘hOHc9/1<_h}+:'-R[L3TZ~[xno]ɈrkL{XzȆ2rad^d. BH׵^DjOeOdwK9FDPįl{XNo)K O-_JΉrTq! C/y:q h}S8n7gˍ ?8,CV]5|XY|^u!L]uhW,k8U%LDJY{f9w&jtdCK@L`  ' qH $.$k/l{Y"5Z''RWһ̂% &0@Hr%{cMWsIJ_bxjbvUk-n:q h^AkNWˀ-e~RCWlwҭg2˦aEKT}RUYt O-Q]ck/Y`AA@ *{ yDP$k/l{Y"5Z''RWһ̂% & T kJǵk?t}Zu!L g:ޜZZaTr*Z.eM CT̲/Z5^:^!̂% &&xIBCc"\RbiDŽ%č{Xk:FD[DVJWyDӏ (KXW=t{Y7'gDK}*%i?+"C+yl8 d.)1-BI#L' qH h rIcuȍV춉Ԭ qH h rIcXW=t{Y7'gDK~26W~U-V+@7&!˽q3Uc" "\BM>"({ yDg |E,QIq#^9{cι?}>:d.!&YG REc9/1<_h}+:'-R[LYkj߬; VV]|淪KSPC{XfKD09Dj)@Q6d^d.&%G |AP)MuȍV춉Ԭ q4 ,R9 Hlc9/1<_h}/%}R[~F?u{ 5}տ]3CV5^:^!̂%D Z&{ yD0H D5c=mY+]Ax"b-Zc9/1<_h}+:'-R[EU~.WT#]d*"_ ܥGy{9w&jtdCKIBF&Ok5Ax"bPkg\hhJ_J2 5q+:jӛJRWҳrܿ%^UWIR9Mb5ܶMjeʽa+ _ܘ.W`0s q(ȋJ Hd DzAd^d. i@ai h"ZIč{Xk:FD[DVJWyDdE2qLh =&įl{XNo)K O-_JΉrTS=HOH8bYI5>xTC{XfKD09DJ Hd DG REc"\E2qL)"$k/l{Y"5Z''RWһ̂%ZPZC l@$Ȋ8X,8k5^~%)EY9n_/}􍳎+?:Om%}S<5eim.W`0s qlMEB%0;L8k̂%Y 645c=mY+]A,JB cXW=t{Y7'gDK|ͪt VCqZgխ?g%rkL{XzȆ29C=#@(bH@w=pיKRhJQpE$X!č{Xk:FD[DVJWyD%(G REc9/1<_h}+:'-R[,:DUޚ B!-MFbxjL#jT39w&jtdCK`0cE$i 6@q2{X2)Da"H"l$k/l{Y"5Z''RWһ̂%İJQx4Ȅg {XW=t{Y7'gDK~|_m"[ZϪg9} zײڲk+²ע8 d.%RCDQM0;L8k̂%İJQ(b@8I8kg\hhJ_J2)D"(&8k5^~%)EY9n_ߪgV>,o k5.WkZ؞TrgD47QeeZ0.W`0s q,`h@bl c"\K-,؛!5c=mY+]AX%(h fA5%{cMWsIJ_bxjVtN[p.A9Voll_u֬^/jKqP]ck/Y`AX%(4Di@q2{X2)E B Jkg\hhJ_J2)E B J%{cMWsIJ_bxjVtN[Kr~SCzyk>m [ʳq o u)Tήbag^n'ZT_IߪgMZetC{XfKD09D J(-(< ;L8k̂%İJQF$iiE$$k/l{Y"5Z''RWһ̂%İJQF$iiE$ c^UgR/Z-zܟ&Fޮbnh^eZϪge|-ZS:5{-jR[l$rC~5i]ck/Y`AX%(zFA{ yD J'<16B$k/l{Y"5Z''RWһ̂%İJQ8 kJǵk?t}蜷/Io}+j^,kYײڲk*[Z[dmlZTu5^:^!̂%͉CE#MQ:&Ok5Aafġ"łMJ&(Lq#^9{cι?}>:d.&lJ")X$Ԣh4Ʊįl{XNo)K O-_JΉrTS8n77ܟ|/嬵lvYbT- Xwl0zvvVr5:Jg#| FX}+naf*!˽q3Uc" "\B HQ@JJ"H;L8k̂%  q=,ԜH׵^DjOeOdwKAI (i@"z DY5%{cMWsIJ_bxjVtN[p.A+5֥wmJJkYW4C{XfKD09DQ-40;L8k̂%hyi$k/l{Y"5Z''RWһ̂%hyic^UgR/Z-t֭q=sB+LLU3\zWl9w&jtdCKDŽ$"afDRG |Dhq2{X2 (ID͉4 @4$.$k/l{Y"5Z''RWһ̂%Jq0baM)#>"M 4KXW=t{Y7'gDK|誸>J 7-_ qrS&!˽q3Uc" "\N=#`(bPs,;L8k̂%6r6% 8!H׵^DjOeOdwKǤllJpB%{cMWsIJ_bxjVtN[ʾ[A}r!)չY_JXtYMQb;²ע_'-jeyg%^seELI'Z)#Ě8k5^~%)EY9n_*nVog}+aO8VZZ-J&VޚjyT5)+L ]ck/Y`A0> sdE,QI' qy9Ɖ2"(8kg\hhJ_J2h"(bHCXW=t{Y7'gDK|jgI5Ϫg&-8 d. h"ZH;L8k̂%"0> sdK@a8kg\hhJ_J2r@4I-8k5^~%)EY9n_ߪg#Z-^:k~kYLՕZ5^:^!̂%"0>&,(ID$# ' q(Ȍ< . 8B (H\H׵^DjOeOdwK9FDa |L8Yp8QǔIBF8k5^~%)EY9n_/u:O.Bn%HYI5:ΰ-|_dߪg&-8 d.0DxIBN2#9(@;L8k̂% (IDa |E(8kg\hhJ_J2"\N<$'hs`8k5^~5տ! ޵U ]+B CWˀjT}"_V}w.W`0s q8𒄜dL8Yp8QǔzQHd^d.'P . 8J)5č{Xk:FD[DVJWyDxIBN2&,(=( Dֱįl{XNoRڄ)YWo^qyjߧ*o5%`-kzWp~[jw.W`0s q8𒄜dFr{ yDxIBN2#9H׵^DjOeOdwKDŽ$"0=q+:jӛ kEao!K{XfKD09D$ah"aˁŽ:d. h8k5^~%)EY9n_*|O}/}S%ײڒrkL{XzȆ!Ӹw=r{wQiݬq*;KD08Y{~0w=p׏uȍV{jT+/ykJǵk?t!#j*+e!-og}yT4CX~k? |3Hڷ5gs+R@>'T֮ʕ36TWCZg3bxj!O_5eI!č{Y.p0q  0lHT+*Y` W#;!M +/yq2zj)e5\k?q3U&s{XfKD0>/mJ@`q2{XՅQ$k/l{Y"5Z'QVG3XW=t{Y7 iV^-mR--eZx!rk?tMWm[C9QaߪK}{egYkt֞k? zYkRypq#^7Kl @D$[! ʣjX.CUSHa{jTx ~/mJq2zj)e5\k?q3U&s{XfKD0>utcV:Frǵr#U~߫]@fįl{XNo)K-?l6㖱g}-}S9,m*?Y?6Ҳ 7嬵H9ws{t_ 6!č{Yʯw復-TCYq35^9K=t==Mlj֞X8UN ⪯)Ε {Y=7$tAV\?R8:ko+&"x'e}T;JeC#ԶT;VWS-+&kԶ%UMY^q iCU+.du-Uk"q iCUzbgfdrUWNg Wg@cXu-H=\%D)MjWC ?Ƀ  ˓QA5Dj֞X8G 8 i0%w$j {XT k kY$R 7I6{6$R ./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcexception_mi.html$$ Method Index for COM.Transarc.Delight.DrpcException

Method Index

getMessage()
toInt()
toString()

Variable Index

DLT_ERROR_BASE
DRPC_ARG_MISMATCH
DRPC_ARRAY_BOUND_ERROR
DRPC_ARRAY_NOT_ENOUGH_DATA
DRPC_BAD_ARGCOUNT
DRPC_BAD_ARGUMENTS
DRPC_BAD_CONST_DIRECTION
DRPC_BAD_ENDPOINT
DRPC_BAD_MSG
DRPC_BAD_PASSWORD
DRPC_BAD_STRUCTURE_FIELD_COUNT
DRPC_BAD_TYPE
DRPC_BAD_UNION_DISCRIMINATOR_VALUE
DRPC_BAD_UNION_FIELD_COUNT
DRPC_BAD_USERNAME
DRPC_BINDING_ERROR
DRPC_CALL_FAULT
DRPC_CKT_AUTH_FAILED
DRPC_CKT_INTERNAL_ERROR
DRPC_CKT_PROTECT_TOO_STRONG
DRPC_CKT_PROTECT_TOO_WEAK
DRPC_CKT_RESOURCE_ERROR
DRPC_CKT_UNSUPPORTED_VERSION
DRPC_COMM_ERROR
DRPC_CONNECT_FAILED
DRPC_DCE_AUTH_TICKET_EXPIRED
DRPC_EXCEPTION_WRAPPER
DRPC_FAULT_CONTEXT_MISMATCH
DRPC_FUNCTION_NEEDS_RETURN_PARAMETER
DRPC_GATEWAY_HOST_UNKNOWN
DRPC_GATEWAY_NAME_UNKNOWN
DRPC_GATEWAY_STRING_NOT_SET
DRPC_INTERFACE_AMBIGOUS
DRPC_INTERFACE_NOT_EXPORTED
DRPC_INTERFACE_UNKNOWN
DRPC_INTERFACE_VERSION_INCOMPATIBLE
DRPC_INVALID_DCE_DELEGATION_LEVEL
DRPC_INVALID_DISCRIMINANT_TYPE
DRPC_INVALID_SECURITY_LEVEL
DRPC_INVALID_UNION
DRPC_LOGIN_CHANGE_NOT_ALLOWED
DRPC_NO_MONITOR_CELL
DRPC_NO_SUCH_SERVER
DRPC_NO_TRANSACTION_IN_PROGRESS
DRPC_NOT_CONNECTED
DRPC_NOT_IMPLEMENTED
DRPC_NULL_TYPE
DRPC_NULL_VALUE
DRPC_ONLY_MONITOR_TRANSP_BINDING
DRPC_PROTOCOL_UNKNOWN
DRPC_RPC_ERROR
DRPC_RPC_INVALID_UNION_MEMBER
DRPC_RPCNAME_AMBIGUOUS
DRPC_RPCNAME_UNKNOWN
DRPC_SECURITY_ERROR
DRPC_SERVER_COMM_FAILURE
DRPC_SERVER_MGR_ABORTED
DRPC_SERVER_NAME_REQUIRED
DRPC_STRUCTURE_FIELD_MISMATCH
DRPC_TX_COMMITTED
DRPC_TX_EINVAL
DRPC_TX_HAZARD
DRPC_TX_ROLLBACK
DRPC_UNION_FIELD_MISMATCH
DRPC_VALUE_FIELD_DISCRIMINATOR_MISMATCH
DRPC_VAR_NOT_FOUND
DRPC_VERSION_MISMATCH
t.drpc kz_Y$7I6{6$P=./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructure.htmlml$$ COM.Transarc.Delight.DrpcStructure <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcstructure_dsc.html#_top_">COM.Transarc.Delight.DrpcStructure (no frames)</a></b></p> </body>  kY$>7I6{6$ >./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructure_dsc.html$$ Class COM.Transarc.Delight.DrpcStructure

Class COM.Transarc.Delight.DrpcStructure

java.lang.Object
   |
   +----COM.Transarc.Delight.DrpcStructure

public class DrpcStructure
extends Object

This class provides the default implementation for structure objects that are passed as parameters to RPC calls.


Constructor Index

DrpcStructure()
This constructor creates an empty DrpcStructure object.

Method Index

getBoolean(String)
This method gets a boolean value from the hash table.
getByte(String)
This method gets a byte value from the hash table.
getChar(String)
This method gets a char value from the hash table.
getDouble(String)
This method gets a double value from the hash table.
getField(String)
This method gets the value of a field in the structure.
getFloat(String)
This method gets a float value from the hash table.
getInt(String)
This method gets an int value from the hash table.
getLong(String)
This method gets a long value from the hash table.
getShort(String)
This method gets a short value from the hash table.
putBoolean(String, boolean)
This method puts a boolean value into the hash table.
putByte(String, byte)
This method puts a byte value into the hash table.
putChar(String, char)
This method puts a char value into the hash table.
putDouble(String, double)
This method puts a double value into the hash table.
putFloat(String, float)
This method puts a float value into the hash table.
putInt(String, int)
This method puts an integer value into the hash table.
putLong(String, long)
This method puts a long value into the hash table.
putShort(String, short)
This method puts a short value into the hash table.
putUnsignedByte(String, byte)
This method puts a byte value into the hash table, but does not perform sign extension.
putUnsignedShort(String, short)
This method puts a short value into the hash table, but does not perform sign extension.
setField(String, Object)
This method sets the value of a field in the structure.
size()
This method returns the number of fields in the structure.

Constructors

DrpcStructure
 public DrpcStructure()
This constructor creates an empty DrpcStructure object.


Methods

setField
 public void setField(String fieldname,
                      Object newVal) throws Exception
This method sets the value of a field in the structure. Any previous value for this field is overwritten.

Parameters:
fieldname - A String object that contains the name of a structure element.
newVal - An object containing the value to be saved.
Throws: Exception
If fieldname is null.
getField
 public Object getField(String fieldname) throws Exception
This method gets the value of a field in the structure.

Parameters:
fieldname - A String object that contains the name of a structure element.
Returns:
The object associated with this field name. If no value has been set for this field, null is returned.
Throws: Exception
If fieldname is null.
size
 public int size()
This method returns the number of fields in the structure.

Returns:
The number of fields.
putChar
 public synchronized void putChar(String name,
                                  char val) throws Exception
This method puts a char value into the hash table.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
putBoolean
 public synchronized void putBoolean(String name,
                                     boolean val) throws Exception
This method puts a boolean value into the hash table. The boolean value is stored in an Integer object.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
putByte
 public synchronized void putByte(String name,
                                  byte val) throws Exception
This method puts a byte value into the hash table.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
putUnsignedByte
 public synchronized void putUnsignedByte(String name,
                                          byte val) throws Exception
This method puts a byte value into the hash table, but does not perform sign extension.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
putShort
 public synchronized void putShort(String name,
                                   short val) throws Exception
This method puts a short value into the hash table.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
putUnsignedShort
 public synchronized void putUnsignedShort(String name,
                                           short val) throws Exception
This method puts a short value into the hash table, but does not perform sign extension.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
putInt
 public synchronized void putInt(String name,
                                 int val) throws Exception
This method puts an integer value into the hash table.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
putLong
 public synchronized void putLong(String name,
                                  long val) throws Exception
This method puts a long value into the hash table.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
putFloat
 public synchronized void putFloat(String name,
                                   float val) throws Exception
This method puts a float value into the hash table.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
putDouble
 public synchronized void putDouble(String name,
                                    double val) throws Exception
This method puts a double value into the hash table.

Parameters:
name - A String object that contains the variable name.
val - The value of the new hash table entry.
Throws: Exception
If an error occurs.
getChar
 public synchronized char getChar(String name) throws Exception
This method gets a char value from the hash table.

Parameters:
name - A String object that contains the variable name.
Returns:
The value in the hash table, as a char, if it exists.
Throws: Exception
If the value cannot be converted to char.
getBoolean
 public synchronized boolean getBoolean(String name) throws Exception
This method gets a boolean value from the hash table.

Parameters:
name - A String object that contains the variable name.
Returns:
The value in the hash table, as a boolean, if it exists.
Throws: Exception
If the value cannot be converted to boolean.
getByte
 public synchronized byte getByte(String name) throws Exception
This method gets a byte value from the hash table.

Parameters:
name - A String object that contains the variable name.
Returns:
The value in the hash table, as a byte, if it exists.
Throws: Exception
If the value cannot be converted to byte.
getShort
 public synchronized short getShort(String name) throws Exception
This method gets a short value from the hash table.

Parameters:
name - A String object that contains the variable name.
Returns:
The value in the hash table, as a short, if it exists.
Throws: Exception
If the value cannot be converted to short.
getInt
 public synchronized int getInt(String name) throws Exception
This method gets an int value from the hash table.

Parameters:
name - A String object that contains the variable name.
Returns:
The value in the hash table, as an int, if it exists.
Throws: Exception
If the value cannot be converted to int.
getLong
 public synchronized long getLong(String name) throws Exception
This method gets a long value from the hash table.

Parameters:
name - A String object that contains the variable name.
Returns:
The value in the hash table, as a long, if it exists.
Throws: Exception
If the value cannot be converted to long.
getFloat
 public synchronized float getFloat(String name) throws Exception
This method gets a float value from the hash table.

Parameters:
name - A String object that contains the variable name.
Returns:
The value in the hash table, as a float, if it exists.
Throws: Exception
If the value cannot be converted to float.
getDouble
 public synchronized double getDouble(String name) throws Exception
This method gets a double value from the hash table.

Parameters:
name - A String object that contains the variable name.
Returns:
The value in the hash table, as a double, if it exists.
Throws: Exception
If the value cannot be converted to double.

 k1Y$ 7I6{6$ ) ./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructure_mi.html$$ Method Index for COM.Transarc.Delight.DrpcStructure

Constructor Index

DrpcStructure()

Method Index

getBoolean(String)
getByte(String)
getChar(String)
getDouble(String)
getField(String)
getFloat(String)
getInt(String)
getLong(String)
getShort(String)
putBoolean(String, boolean)
putByte(String, byte)
putChar(String, char)
putDouble(String, double)
putFloat(String, float)
putInt(String, int)
putLong(String, long)
putShort(String, short)
putUnsignedByte(String, byte)
putUnsignedShort(String, short)
setField(String, Object)
size()
 k꼂Y$7I6{6$P}./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructurestub.html$$ COM.Transarc.Delight.DrpcStructureStub <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcstructurestub_dsc.html#_top_">COM.Transarc.Delight.DrpcStructureStub (no frames)</a></b></p> </body> Class COM.Transarc.Delight.DrpcStructureStub

Class COM.Transarc.Delight.DrpcStructureStub

java.lang.Object
   |
   +----COM.Transarc.Delight.DrpcStructure
           |
           +----COM.Transarc.Delight.DrpcStructureStub

public class DrpcStructureStub
extends DrpcStructure

This class implements the superclass for the generated DE-Light Java Bean structure stubs.


Variable Index

fields
This variable contains an array of the structure's field names.
listeners
This variable contains the list of property change listeners.

Constructor Index

DrpcStructureStub()
This constructor creates a structure stub with zero elements.
DrpcStructureStub(DrpcStructure)
This constructor creates an instance of the structure stub by converting the input structure to an instance of this class.

Method Index

addPropertyChangeListener(PropertyChangeListener)
This method adds a property change listener to the listener list.
copyArrayValue(Class, Object)
This method copies an array of DrpcStructure objects into an array of generated structures.
copyValue(DrpcStructure)
This method sets the structure fields from an instance of a DrpcStructure object.
getField(String)
This method gets the value of a field in the structure.
getValue(String)
This method is called by the getField method to get the value of a structure element.
removePropertyChangeListener(PropertyChangeListener)
This method removes a property change listener from the listener list.
setField(String, Object)
This method sets the value of a field in the structure.
setValue(String, Object)
This method is called by the setField method to set the value of a structure element.
size()
This method returns the number of fields in the structure.

Variables

fields
 protected String fields[]
This variable contains an array of the structure's field names. This array is initialized by the constructors in each generated structure stub.

listeners
 public PropertyChangeSupport listeners
This variable contains the list of property change listeners. A property change listener is an object that has asked to be notified if any property of a specified object is modified.


Constructors

DrpcStructureStub
 public DrpcStructureStub()
This constructor creates a structure stub with zero elements. Generated stub classes override this constructor.

DrpcStructureStub
 public DrpcStructureStub(DrpcStructure value) throws Exception
This constructor creates an instance of the structure stub by converting the input structure to an instance of this class. The structure fields must match exactly.

Parameters:
value - A structure to be converted to an instance of this class.
Throws: Exception
If the structure fields do not match.

Methods

copyValue
 protected void copyValue(DrpcStructure value) throws Exception
This method sets the structure fields from an instance of a DrpcStructure object. The structure fields must match exactly.

Parameters:
A - DrpcStructure object.
Throws: Exception
If the structure fields do not match.
copyArrayValue
 public Object copyArrayValue(Class cls,
                              Object value) throws Exception
This method copies an array of DrpcStructure objects into an array of generated structures. All structure fields must match exactly.

Parameters:
cls - The class of the result object.
value - An array of DrpcStructure objects.
Returns:
An array of generated structures.
Throws: Exception
If all structure fields do not match.
size
 public int size()
This method returns the number of fields in the structure.

Returns:
The number of fields.
Overrides:
size in class DrpcStructure
setField
 public void setField(String fieldname,
                      Object newVal) throws Exception
This method sets the value of a field in the structure. Any previous value for this field is overwritten.

Parameters:
fieldname - A String object that contains the name of a structure element.
newVal - An object that contains the value to be stored.
Throws: Exception
If fieldname is null.
Overrides:
setField in class DrpcStructure
getField
 public Object getField(String fieldname) throws Exception
This method gets the value of a field in the structure.

Parameters:
fieldname - A String object that contains the name of a structure element.
Returns:
The object associated with this field name. If no value has been set for this field, null is returned.
Throws: Exception
If fieldname is null.
Overrides:
getField in class DrpcStructure
setValue
 protected void setValue(String fieldName,
                         Object newVal) throws Exception
This method is called by the setField method to set the value of a structure element. Generated stubs override this method.

Parameters:
fieldName - The name of the structure element.
newVal - The new value of the structure element.
Throws: Exception
If an error occurs.
getValue
 protected Object getValue(String fieldName) throws Exception
This method is called by the getField method to get the value of a structure element. Generated stubs override this method.

Parameters:
fieldName - The name of the structure element.
Returns:
An object that contains the value of the structure element.
Throws: Exception
If an error occurs.
addPropertyChangeListener
 public void addPropertyChangeListener(PropertyChangeListener listener)
This method adds a property change listener to the listener list. A property change listener is an object that has asked to be notified if any property of a specified object is modified.

Parameters:
listener - The listener to add to the listener list.
removePropertyChangeListener
 public void removePropertyChangeListener(PropertyChangeListener listener)
This method removes a property change listener from the listener list. A property change listener is an object that has asked to be notified if any property of a specified object is modified.

Parameters:
listener - The listener to remove from the listener list.

ri kT]Y$k7I6{6$0@k./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructurestub_mi.htmltml$$ Method Index for COM.Transarc.Delight.DrpcStructureStub

Constructor Index

DrpcStructureStub()
DrpcStructureStub(DrpcStructure)

Method Index

addPropertyChangeListener(PropertyChangeListener)
copyArrayValue(Class, Object)
copyValue(DrpcStructure)
getField(String)
getValue(String)
removePropertyChangeListener(PropertyChangeListener)
setField(String, Object)
setValue(String, Object)
size()

Field Index

fields
listeners
tener khY$7I6{6$@5./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructurestubbeaninfo.html$$ COM.Transarc.Delight.DrpcStructureStubBeanInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcstructurestubbeaninfo_dsc.html#_top_">COM.Transarc.Delight.DrpcStructureStubBeanInfo (no frames)</a></b></p> </body> ener k\Y$$7I6{6$W$./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructurestubbeaninfo_dsc.htmllm$$ Class COM.Transarc.Delight.DrpcStructureStubBeanInfo

Class COM.Transarc.Delight.DrpcStructureStubBeanInfo

java.lang.Object
   |
   +----java.beans.SimpleBeanInfo
           |
           +----COM.Transarc.Delight.DrpcStructureStubBeanInfo

public class DrpcStructureStubBeanInfo
extends SimpleBeanInfo

This class provides the superclass for the bean information for the generated DE-Light Java Bean structure stubs.


Variable Index

beanClass
This variable contains the class for DE-Light Java Bean structure stub information.

Constructor Index

DrpcStructureStubBeanInfo()

Method Index

getIcon(int)
This method returns the Icon object for the DE-Light Bean.
getPropertyDescriptors()
This method returns an array of descriptors for the structure element properties.

Variables

beanClass
 protected Class beanClass
This variable contains the class for DE-Light Java Bean structure stub information.


Constructors

DrpcStructureStubBeanInfo
 public DrpcStructureStubBeanInfo()

Methods

getIcon
 public Image getIcon(int iconKind)
This method returns the Icon object for the DE-Light Bean.

Parameters:
iconKind - An integer that represents the type of icon to return. The supported icon types are: ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, and ICON_MONO_32x32.
Returns:
An Image object containing the GIF icon of the requested type.
Overrides:
getIcon in class SimpleBeanInfo
getPropertyDescriptors
 public PropertyDescriptor[] getPropertyDescriptors()
This method returns an array of descriptors for the structure element properties.

Returns:
An array of PropertyDescriptor objects, or null if an error occurs.
Overrides:
getPropertyDescriptors in class SimpleBeanInfo

.Del k|Y$7I6{6$`9./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructurestubbeaninfo_mi.htmllm$$ Method Index for COM.Transarc.Delight.DrpcStructureStubBeanInfo

Constructor Index

DrpcStructureStubBeanInfo()

Method Index

getIcon(int)
getPropertyDescriptors()

Field Index

beanClass
m k$Y$7I6{6$P;./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructuretype.html$$ COM.Transarc.Delight.DrpcStructureType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcstructuretype_dsc.html#_top_">COM.Transarc.Delight.DrpcStructureType (no frames)</a></b></p> </body> > T kH Y$X7I6{6$`X./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructuretype_dsc.htmli.ht$$ Class COM.Transarc.Delight.DrpcStructureType

Class COM.Transarc.Delight.DrpcStructureType

java.lang.Object
   |
   +----COM.Transarc.Delight.DrpcType
           |
           +----COM.Transarc.Delight.DrpcStructureType

public class DrpcStructureType
extends DrpcType

This class represents the DRPC structure type. It is used in RPC metadata descriptions.

See Also:
DrpcType

Method Index

copy()
This method returns a copy of the type descriptor.
names()
This method returns a list of names for each element in the structure.
toString()
This method maps the type into a String object.
types()
This method returns a list of DrpcTypes for each element in the structure.

Methods

copy
 public DrpcType copy() throws DrpcException
This method returns a copy of the type descriptor.

Returns:
A copy of this type.
Throws: DrpcException
If an error occurs.
Overrides:
copy in class DrpcType
toString
 public String toString()
This method maps the type into a String object.

Returns:
A String object that represents the type.
Overrides:
toString in class DrpcType
types
 public DrpcType[] types()
This method returns a list of DrpcTypes for each element in the structure. Types are returned in the order in which they are transmitted.

Returns:
An array of DrpcType.
names
 public String[] names()
This method returns a list of names for each element in the structure. Names are returned in the order in which they are transmitted.

Returns:
An array of String objects.

 k,!Y$7I6{6$`>./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstructuretype_mi.htmli.ht$$ Method Index for COM.Transarc.Delight.DrpcStructureType

Method Index

copy()
names()
toString()
types()
> COM.Transarc.Delight.DrpcStub <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcstub_dsc.html#_top_">COM.Transarc.Delight.DrpcStub (no frames)</a></b></p> </body> s kt##Y$7I6{6$l./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstub_dsc.htmlmi.ht$$ Class COM.Transarc.Delight.DrpcStub

Class COM.Transarc.Delight.DrpcStub

java.lang.Object
   |
   +----COM.Transarc.Delight.DrpcStub

public class DrpcStub
extends Object

This class implements the superclass for the generated DE-Light Java Bean stubs.


Variable Index

handle
This variable contains the DrpcEngine object to use as a handle for RPC calls.
listeners
This variable contains the list of property change listeners.
server
This variable contains the server name to use for DE-Light RPC calls.

Constructor Index

DrpcStub()

Method Index

addPropertyChangeListener(PropertyChangeListener)
This method adds a property change listener to the listener list.
getHandle()
This method gets the DrpcEngine instance that is currently being used as a handle for RPC calls.
getServer()
This method gets the server name that is currently being used for DE-Light RPC calls.
removePropertyChangeListener(PropertyChangeListener)
This method removes a property change listener from the listener list.
setHandle(DrpcEngine)
This method sets the DrpcEngine to use as a handle for RPC calls.
setServer(String)
This method sets the server name to use for DE-Light RPC calls.

Variables

listeners
 public PropertyChangeSupport listeners
This variable contains the list of property change listeners. A property change listener is an object that has asked to be notified if any property of a specified object is modified.

server
 public String server
This variable contains the server name to use for DE-Light RPC calls.

handle
 public DrpcEngine handle
This variable contains the DrpcEngine object to use as a handle for RPC calls.


Constructors

DrpcStub
 public DrpcStub()

Methods

setServer
 public synchronized void setServer(String server)
This method sets the server name to use for DE-Light RPC calls.

Parameters:
server - The server name to use for RPC calls.
getServer
 public synchronized String getServer()
This method gets the server name that is currently being used for DE-Light RPC calls.

Returns:
The server name used for RPC calls.
setHandle
 public synchronized void setHandle(DrpcEngine handle)
This method sets the DrpcEngine to use as a handle for RPC calls.

Parameters:
handle - The DrpcEngine instance to use as a handle for RPC calls.
getHandle
 public synchronized DrpcEngine getHandle()
This method gets the DrpcEngine instance that is currently being used as a handle for RPC calls.

Returns:
The DrpcEngine instance used as a handle for RPC calls.
addPropertyChangeListener
 public void addPropertyChangeListener(PropertyChangeListener listener)
This method adds a property change listener to the listener list. A property change listener is an object that has asked to be notified if any property of a specified object is modified.

Parameters:
listener - The listener to add to the listener list.
removePropertyChangeListener
 public void removePropertyChangeListener(PropertyChangeListener listener)
This method removes a property change listener from the listener list. A property change listener is an object that has asked to be notified if any property of a specified object is modified.

Parameters:
listener - The listener to remove from the listener list.

a name= k8$Y$7I6{6$P/./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstub_mi.htmlmi.ht$$ Method Index for COM.Transarc.Delight.DrpcStub

Constructor Index

DrpcStub()

Method Index

addPropertyChangeListener(PropertyChangeListener)
getHandle()
getServer()
removePropertyChangeListener(PropertyChangeListener)
setHandle(DrpcEngine)
setServer(String)

Field Index

handle
listeners
server
bject i k6%Y$7I6{6$P2./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstubbeaninfo.htmlt$$ COM.Transarc.Delight.DrpcStubBeanInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpcstubbeaninfo_dsc.html#_top_">COM.Transarc.Delight.DrpcStubBeanInfo (no frames)</a></b></p> </body> > k&Y${7I6{6${./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpcstubbeaninfo_dsc.htmli.ht$$ Class COM.Transarc.Delight.DrpcStubBeanInfo

Class COM.Transarc.Delight.DrpcStubBeanInfo

java.lang.Object
   |
   +----java.beans.SimpleBeanInfo
           |
           +----COM.Transarc.Delight.DrpcStubBeanInfo

public class DrpcStubBeanInfo
extends SimpleBeanInfo

This class provides the superclass for the bean information for the generated DE-Light Java Bean stubs.


Variable Index

beanClass
This variable contains the class for DE-Light Java Bean stub information.

Constructor Index

DrpcStubBeanInfo()

Method Index

getIcon(int)
This method returns the Icon object for the DE-Light Bean.
getPropertyDescriptors()
This method returns an array of descriptors for the structure element properties.
handlePropertyDescriptor()
This method returns a property descriptor for the handle variable.
serverPropertyDescriptor()
This method returns a property descriptor for the server name variable.

Variables

beanClass
 protected Class beanClass
This variable contains the class for DE-Light Java Bean stub information.


Constructors

DrpcStubBeanInfo
 public DrpcStubBeanInfo()

Methods

getIcon
 public Image getIcon(int iconKind)
This method returns the Icon object for the DE-Light Bean.

Parameters:
iconKind - An integer that represents the type of icon to return. The supported icon types are: ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, and ICON_MONO_32x32.
Returns:
An Image object containing the GIF icon of the requested type.
Overrides:
getIcon in class SimpleBeanInfo
handlePropertyDescriptor
 public PropertyDescriptor handlePropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the handle variable.

Returns:
A PropertyDescriptor object for the handle variable.
Throws: IntrospectionException
If an error occurs.
serverPropertyDescriptor
 public PropertyDescriptor serverPropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the server name variable.

Returns:
A PropertyDescriptor object for the server name variable.
Throws: IntrospectionException
If an error occurs.
getPropertyDescriptors
 public PropertyDescriptor[] getPropertyDescriptors()
This method returns an array of descriptors for the structure element properties.

Returns:
An array of PropertyDescriptor objects, or null if an error occurs.
Overrides:
getPropertyDescriptors in class SimpleBeanInfo

Method Index for COM.Transarc.Delight.DrpcStubBeanInfo

Constructor Index

DrpcStubBeanInfo()

Method Index

getIcon(int)
getPropertyDescriptors()
handlePropertyDescriptor()
serverPropertyDescriptor()

Field Index

beanClass
ef kK(Y$7I6{6$P}./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpctxexception.htmltm$$ COM.Transarc.Delight.DrpcTxException <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpctxexception_dsc.html#_top_">COM.Transarc.Delight.DrpcTxException (no frames)</a></b></p> </body> ght Ja kz)Y$:#7I6|6$:#./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpctxexception_dsc.htmli.ht$$ Class COM.Transarc.Delight.DrpcTxException

Class COM.Transarc.Delight.DrpcTxException

java.lang.Object
   |
   +----java.lang.Throwable
           |
           +----java.lang.Exception
                   |
                   +----COM.Transarc.Delight.DrpcException
                           |
                           +----COM.Transarc.Delight.DrpcTxException

public class DrpcTxException
extends DrpcException

This class encapsulates transaction-related exceptions. Each exception contains an integer code number (drawn from the DCE, Encina®, and DCE Encina Lightweight Client(TM) (DE-Light) error spaces) and a detail message.

The detail message normally contains a translation of the error code, except when the exception was raised during a transaction. In that case, the detail message contains the transaction rollback string (note that rollback strings are not always available to every participant in a transaction).

Translations are not always filled in; for example if there is a problem with the connection to the gateway, the translation string will not be available. However, a translation can always be obtained by using the translateError utility that is packaged with the DE-Light gateway.

See Also:
DrpcException

Variable Index

TX_COMMITTED
This exception indicates that the transaction was heuristically committed.
TX_EINVAL
This exception indicates that an invalid argument was supplied.
TX_FAIL
This exception indicates that the system could not complete the requested operation.
TX_HAZARD
This exception indicates that the transaction may or may not have completed successfully.
TX_HAZARD_NO_BEGIN
This exception indicates that the transaction may or may not have completed successfully, and no new transaction was begun.
TX_NO_BEGIN
This exception indicates that the transaction was committed, but no new transaction was begun.
TX_NOT_SUPPORTED
This exception indicates that the requested operation is not currently supported.
TX_PROTOCOL_ERROR
This exception indicates that an operation was invoked at an inappropriate time.
TX_ROLLBACK
This exception indicates that the transaction was rolled back.
TX_ROLLBACK_NO_BEGIN
This exception indicates that the transaction was rolled back, but no new transaction was begun.

Method Index

getMessage()
This method returns the detail message for the exception.
toString()
This method returns a String object that represents the TX error code contained in this exception.

Variables

TX_NOT_SUPPORTED
 public static final int TX_NOT_SUPPORTED
This exception indicates that the requested operation is not currently supported.

TX_ROLLBACK
 public static final int TX_ROLLBACK
This exception indicates that the transaction was rolled back.

TX_HAZARD
 public static final int TX_HAZARD
This exception indicates that the transaction may or may not have completed successfully. See the TX specification for a discussion of this code.

TX_PROTOCOL_ERROR
 public static final int TX_PROTOCOL_ERROR
This exception indicates that an operation was invoked at an inappropriate time.

TX_FAIL
 public static final int TX_FAIL
This exception indicates that the system could not complete the requested operation.

TX_EINVAL
 public static final int TX_EINVAL
This exception indicates that an invalid argument was supplied.

TX_COMMITTED
 public static final int TX_COMMITTED
This exception indicates that the transaction was heuristically committed. For example, the declareLastCall() method can possibly be used to indicate that the transaction ends after the next RPC. Once the callRpc() method is used to invoke the final RPC of the transaction, calling the txRollback() method results in this exception. The transaction has already committed and therefore cannot be rolled back.

TX_NO_BEGIN
 public static final int TX_NO_BEGIN
This exception indicates that the transaction was committed, but no new transaction was begun.

TX_ROLLBACK_NO_BEGIN
 public static final int TX_ROLLBACK_NO_BEGIN
This exception indicates that the transaction was rolled back, but no new transaction was begun.

TX_HAZARD_NO_BEGIN
 public static final int TX_HAZARD_NO_BEGIN
This exception indicates that the transaction may or may not have completed successfully, and no new transaction was begun.


Methods

toString
 public String toString()
This method returns a String object that represents the TX error code contained in this exception.

Returns:
A String object that represents the TX error code.
Overrides:
toString in class DrpcException
See Also:
toString
getMessage
 public String getMessage()
This method returns the detail message for the exception. This message is either a string form of the Tx Error code, or a transaction rollback string, if available.

Returns:
A String object that contains the detail message for the exception.
Overrides:
getMessage in class DrpcException
See Also:
getMessage

blic s k꬚*Y$.7I6|6$@../usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpctxexception_mi.htmli.ht$$ Method Index for COM.Transarc.Delight.DrpcTxException

Method Index

getMessage()
toString()

Variable Index

TX_COMMITTED
TX_EINVAL
TX_FAIL
TX_HAZARD
TX_HAZARD_NO_BEGIN
TX_NO_BEGIN
TX_NOT_SUPPORTED
TX_PROTOCOL_ERROR
TX_ROLLBACK
TX_ROLLBACK_NO_BEGIN
xc k+Y$7I6|6$P./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpctype.htmln$$ COM.Transarc.Delight.DrpcType <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.drpctype_dsc.html#_top_">COM.Transarc.Delight.DrpcType (no frames)</a></b></p> </body>  k0,Y$7I6|6$./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpctype_dsc.html.html$$ Class COM.Transarc.Delight.DrpcType

Class COM.Transarc.Delight.DrpcType

java.lang.Object
   |
   +----COM.Transarc.Delight.DrpcType

public abstract class DrpcType
extends Object

This class is the abstract superclass for all DRPC types. It is used in RPC descriptions.

See Also:
DrpcBasicType, DrpcArrayType, DrpcStructureType

Variable Index

drpc_byte
This constant represents an 8-bit integer.
drpc_char
This constant represents a character.
drpc_double
This constant represents a 64-bit floating point number.
drpc_float
This constant represents a 32-bit floating point number.
drpc_int
This constant represents a 32-bit integer.
drpc_long
This constant represents a 64-bit integer.
drpc_short
This constant represents a 16-bit integer.
drpc_string
This constant represents a string.
drpc_ubyte
This constant represents an unsigned 8-bit integer.
drpc_uchar
This constant represents an unsigned character.
drpc_uint
This constant represents an unsigned 32-bit integer.
drpc_ulong
This constant represents an unsigned 64-bit integer.
drpc_ushort
This constant represents an unsigned 16-bit integer.

Constructor Index

DrpcType()

Method Index

copy()
This method returns a copy of the type descriptor.
toString()
This method maps the type into a String object.

Variables

drpc_char
 public static final int drpc_char
This constant represents a character.

drpc_uchar
 public static final int drpc_uchar
This constant represents an unsigned character.

drpc_byte
 public static final int drpc_byte
This constant represents an 8-bit integer.

drpc_ubyte
 public static final int drpc_ubyte
This constant represents an unsigned 8-bit integer.

drpc_short
 public static final int drpc_short
This constant represents a 16-bit integer.

drpc_ushort
 public static final int drpc_ushort
This constant represents an unsigned 16-bit integer.

drpc_int
 public static final int drpc_int
This constant represents a 32-bit integer.

drpc_uint
 public static final int drpc_uint
This constant represents an unsigned 32-bit integer.

drpc_long
 public static final int drpc_long
This constant represents a 64-bit integer.

drpc_ulong
 public static final int drpc_ulong
This constant represents an unsigned 64-bit integer.

drpc_float
 public static final int drpc_float
This constant represents a 32-bit floating point number.

drpc_double
 public static final int drpc_double
This constant represents a 64-bit floating point number.

drpc_string
 public static final int drpc_string
This constant represents a string.


Constructors

DrpcType
 public DrpcType()

Methods

copy
 public abstract DrpcType copy() throws DrpcException
This method returns a copy of the type descriptor. Array bounds are adjusted to match the specified object.

Returns:
A copy of this type.
Throws: DrpcException
If an error occurs.
toString
 public abstract String toString()
This method maps the type into a String object.

Returns:
A String object that represents the type.
Overrides:
toString in class Object

y k(7-Y$7I6|6$@./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.drpctype_mi.html.html$$ Method Index for COM.Transarc.Delight.DrpcType

Constructor Index

DrpcType()

Method Index

copy()
toString()

Variable Index

drpc_byte
drpc_char
drpc_double
drpc_float
drpc_int
drpc_long
drpc_short
drpc_string
drpc_ubyte
drpc_uchar
drpc_uint
drpc_ulong
drpc_ushort
/ ky.Y$7I6|6$P./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.rpcdescription.htmltml$$ COM.Transarc.Delight.RpcDescription <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.rpcdescription_dsc.html#_top_">COM.Transarc.Delight.RpcDescription (no frames)</a></b></p> </body> pc_ lꂭ/Y$27I6|6$./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.rpcdescription_dsc.htmli.ht$$    aenrt <>cdhilops"./mu=CPRT_bfg#y(),DEMNkx -04:Avw1FISVj2379HOW!&58;?G+LYq|@hL+JwbqrI@D_f/ۗMX9)9ʕAUJh ڽ 8YV'1̂gv=[@}^BaC>BY8LhV8 P09cM]d/ .@[|| ,o 0  `<@:NdkuԓΘdžarn3 Nhi UEXk_g2 '2 eJs [ōS 8@p?Q  tȟrUVJ [@.h >4k4td[~.(@TFУS ZcBѸj҈.rQ?gօVe :QqQ 4k4QV6 Ҝ:@-B OfPU)ä310%z'(`QS1)ä sgLcQA2ysJ)ä sm9qk=qA2J ե$A;"IA+hC(2UAGlpZH9 x` '&8Tf" TUs J `$D2s"{2 @ZC rICŀV\TC4Z  .@!cH`.&Rs98arn3 Nhi UEXk_g2 RNd3s!nI,[Lc-" UEXk_h$ZNoнO~ծ<V%nJ KLc0neuU3ϋlk9[sUER е{2O(ɸ(Ӛ5B ۡKfZ  v5H&R ̡GS#rn3!tfSiN" )9Jܓ ĜȟrU)9%'7*q-E2 ` rNd/R"{2!j e'7Z6=OکڏNeqvϷ 6炃9H p):WP ߡkOX>{Uma2=C6^)Noе,lzqٽPʍ^v * ԀȞ̡G^AB^) ߡkOX>{/`^NIU^De 8B 倩qt:WP/,K)9B֟ı}fC*5{7 򴼾K * ԀȞ̡G^ABu Ҽ`xh&Rs~?ccʆTj>orJ˰u +Z B 2'(`Q*ېcؑ6n96$@p&Rs~?ccmdW7l|ڛrspcܛZqs!zٔ0(jm1~ ɱ"5jm1~ ɱ"A2-iKvo{mmTG'~c.۔D$n>eZܻ ԀȞ̡GSnD7A96$@pæMؑ I%S;7vY\@pݱ|jmĽ7}&*־@p^De 8EZr%p9'&Ĉtթ"^rlHL Zǩ[U;Q߬ 8n 6^rn2k] ÂVf% Rs~ cE2 ` rNd/R"{2"pieUgzW] 7Z6<=+KˏWY3 ,NY\@pdQ~ڜZc~VqtA̅@dOfPN ,7)Z84ܥk_h&Rm ZǕZǯiyqnR|'5-ӞpieUeqs!zٔ0(K*AUz3K*AU H-iKUk+ܕ]9JܓJn)9JN6Es )9> : (&Rs ZWP IX5^;:qwm^ABg2 RNd-9B֞%S;7*Q 8nہ{9%V$A+rNdO*<(&Rs ZWP$ZNdC)'7bxU6ݷy yzs e$Bܓ-iX>{/`^NIU" 9JܓJ MNd J yzED2sx-Wε\cn]{אPә)'2ߡkOǩߕ |7m𜒫kDs '2'ܕAG^AB..J ++KRÏe$,[jܻ YZ^X G2 RNd-9B֞%S;7*Q 8o2\]xNIU" 9JܓJ E:A2Ҽ`xh$ZNdC)'7bxU6ݷy .6d [s~{kjj?Y; 7vܢ% ĸ$u&*־@p" 9JܓJթ u }ɱ"(&Rs Zjېcؑ i9 sU㳭Wۗv6n96$@p2 RNd-9B֞%S;7vY\@pݱ|jmrn2k] B 9> =Zr%p9'&ĈtÍiSnD7Dؑ i9 sU㳭Wۗv6KstNM1̂a rNoеccmdW7l|ڛrsq/{߹7V.!ÎVȟrUMؑ)9-5jmȗ5'&ĈÏe$,[jܻթ"^؜ 8c)'2ߡkOǩ[U;Q߬ 8n 6^{qk_r 8b%nỈ%PQ֪0A2ҵPHȆRNoŹ֫m˻ozB9L2s!nI,lzqٽS폟ojm$A+rNdO*Uk)9JZǮ'2 `J$&)9-9 i9 sU{  d [s~9 H [)IZ=CV܃m 8aV܃m 8d)OfPU u }ɱ"5jm1~_brlHL=CV܉{nɱ"5jmȗ蜛 8d)OfPU"^؜ 8aV܉{n_brlHL=CPJBA2%i9JܓJdUNd KokJ%R IX5\6 P6J8 A0I̅'7ZıVZ^\~U3+d{-߬ 8bdA'7Z҅'7ziZ^\@-'7kO%WxϬ}c~9A+rPJ֓9> >A@*҂e'2 lH$ZNdC)'7bp T&I9$ Zx6<=+KˏW*}eqs" 9B֔-9 H i9 ZxW*}eqs~V䠕'2 [s"}T|/,HL((&Rs Zr!0-'2!nj'(`Qܛ]9Y/ \TC4 Pd$&e?+K >Ǣ{2O(ɸ(Ӛ5B zإD3Jp@|VA@z &I9$ Zx6<=+KˏWИWxϬ 8o2\]NnSI3+c+Kd Ds~([s A"s,0־W..nq7zix)ODe :QqQ 4k4@T5KfZ  `T5)9 Zxf?;Ԣ$zp-xE-i̡GS#rn3!tf&)qQ Ҝ+_CPR z'(`Qܛ]9Y/ \TC4/ BvJ ,'iA=ٔ0(yDnMqD.ѬV….*!SP2pt Jd z'(`Qܛ]9Y/ \TC4/ KybCy [A2ODe :QqQ 4k40Kf(c::WP| z'(`Qܛ]9Y/ \TC4/ M+(SoPL=CFgB!yhL(R8!y sh^ABe u<7&8Nhi +BaB) (TXҼEA2ODe :QqQ 4k40Kf*;y lj z'(`Qܛ]9Y/ \TC4/ E +(QbvL=CFgB!yhL(R8!y -L+(Qjd z'(`Qܛ]9Y/ \TC4/ Et EA=ٔ0(yDnMqD.ѬV….*!SP:WPe u<7&8Nhi +BaB) (QqcGJ \X)9A+rPJ֓9> <ʫ.(&Rs ZgU^yw$ZNdC)'7bvW]s e$Bܓ-iXX/.?Y^(]gx84?Y:s}eq}uDjqkmZ^_%2 -iBܓнO@/. R еe{,u<ʫϬ 8boJܔA+rNdO*84HL(@A284HL)Ïe$,[u<7&8Nhi +BaB):AY OYUz$&mh#1lz'(`Qܛ]9Y/ }\TC4 Pd }Îa rNoеccʭc򴼸e} w9QnK*~+InI^ZCIUH=Y]K*~>Jm7ziZ^\@-'7kO sZ9U^W17zix)ODe :QqQ 4k4@T5KfZ  `T5)9 Zxkl{&7zi5\ t^ i9 Zz'(`Qܛ]9Y/ \TC4 Pd$&e u<7&8Nhi +BaB) (PҼ A2ODe :QqQ 4k40Kf)L+(R8e u<7&8Nhi +BaB) (RXP^ABźL=CFgB!yhL(R8!y Ύ(c:e u<7&8Nhi +BaB) (SoGJ )OfP7sFH^AZ iN^AB:WP>ƠH'{2O(ɸ(Ӛ5B ИPD3JpB ?4t QcPL=CFgB!yhL(R8!y lh^ABe u<7&8Nhi +BaB) (QbvJ X)OfP7sFH^AZ iN^ABS'J Z8e u<7&8Nhi +BaB) (Qm+(QmA2ODe :QqQ 4k40Kf(>Ǝ(>ƠH'{2O(ɸ(Ӛ5B ИPD3JpB \XҼ?5NoJܔA+rNdO*84ܥk_`vނJ W+ZA"s"I9 櫶 ,7)Zǁ̡GS#rn3!tf)qQ Ҝ+_CP,e'2 RNd-9B֞%*_ܥk_}ʫ߯tA^ZDV)IZvo~wC*5{+Zsy֨NyW_ A^ZD A"=CFgB!yP=U kR8 VH+ X=U kNoB֞}evgɱA^Z@MWH$ZNoB֞p):WP z'(`QPy yze p)t M&R ̡G^AB..J 倩qte'7%nJ Zs '2'ܕAGYUz @A284%R IX5\6W*}f< De :QqQ 4k4@T5KfZ  `T5)9L2s!nI,lyUzVrUw9QnK*~+InI^ZCIUH=Y]K*~>Jm7ziZ^\@-'7kO%Wx>849 Hc؁H$Zz'(`Qܛ]9Y/ }\TC4 Pd }IZ@Ϭ]c^669A+rPJ֓9I 捰FGJ6ENta*m 8?U9Е4(@9F(R%pmhQk?fP7sFH)uca})äY\ + ODe >Q Ҝ:C:c-SPL{2\:c Ҝ:@;t5)̡G:䪉 Ҝ:@;vӗ6 c)A1*\䠝ZPNNo-Ԕ9cJ'(`Q %]Ce3JУz:P҆₎AA-*FIR@֌~.(@@(H@G  !G :PL'2 A,Ҝ1 k X0Y$7I6|6$0./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.rpcdescription_mi.html$$ Method Index for COM.Transarc.Delight.RpcDescription

Method Index

argumentCount()
argumentDirection(int)
argumentName(int)
argumentType(int)
interfaceName()
returnType()
rpcName()
rpcType()

Variable Index

dceRPC
drpc_in
drpc_inout
drpc_out
drpc_returnValue
drpc_unknown
encinaMonitorNonTranTRPC
encinaMonitorTranTRPC
encinaToolkitNonTranTRPC
encinaToolkitTranTRPC
A2OD k1Y$7I6|6$P./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.rpclist.htmln_$$ COM.Transarc.Delight.RpcList <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.rpclist_dsc.html#_top_">COM.Transarc.Delight.RpcList (no frames)</a></b></p> </body>
 kk2Y$7I6|6$./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.rpclist_dsc.html.html$$ Class COM.Transarc.Delight.RpcList

Class COM.Transarc.Delight.RpcList

java.lang.Object
   |
   +----COM.Transarc.Delight.RpcList

public class RpcList
extends Object

This class implements an RPC list, which contains a set of RPC descriptions. These RPC descriptions can be iterated through once or looked up by name.


Method Index

hasMoreElements()
This method returns true if the RpcList contains more elements.
interfaceNames(String)
This method returns an array of distinct interface names in the list that match a given restriction.
nextElement()
This method returns the next RPC in the RpcList.
Rpc(String, String)
This method allows a particular RPC to be looked up by name.

Methods

hasMoreElements
 public boolean hasMoreElements()
This method returns true if the RpcList contains more elements.

Returns:
True if there are more elements in the RpcList, false otherwise.
nextElement
 public RpcDescription nextElement()
This method returns the next RPC in the RpcList. There is no guarantee concerning the order in which RPCs will be returned.

Returns:
A description of next RPC.
Rpc
 public RpcDescription Rpc(String ifName,
                           String rpcName) throws DrpcException
This method allows a particular RPC to be looked up by name. The rpcName must be specified, the interface name (ifName) is optional. If no match is found, null is returned. An exception is raised if more than one description matches the search criteria.

Parameters:
ifName - The name of the interface, or null.
rpcName - The name of the RPC.
Returns:
Description of the RPC or null.
Throws: DrpcException
If more than one entry matches the search criteria.
interfaceNames
 public String[] interfaceNames(String restriction)
This method returns an array of distinct interface names in the list that match a given restriction. The restriction is specified as a list of key=value pairs, separated by whitespace. The valid keys are INTERFACE and RPC (case is not significant).

Parameters:
restriction - The restriction on interfaces to be returned.
Returns:
An array of interface names that match the given restriction.

Method Index for COM.Transarc.Delight.RpcList

Method Index

hasMoreElements()
interfaceNames(String)
nextElement()
Rpc(String, String)
COM.Transarc.Delight.RpcMetadata <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.rpcmetadata_dsc.html#_top_">COM.Transarc.Delight.RpcMetadata (no frames)</a></b></p> </body> ri k95Y$m 7I6|6$m ./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.rpcmetadata_dsc.htmll$$ Interface COM.Transarc.Delight.RpcMetadata

Interface COM.Transarc.Delight.RpcMetadata

public interface RpcMetadata

This interface provides a method to return information about a list of RPCs that are available at a gateway. The request for this list may contain a restriction parameter, which can be used to specify that only RPCs from a particular interface, a particular server, or even with a particular name, be returned.


Method Index

beginRpcList(String)
This method returns a list of RPCs that match a given restriction.

Methods

beginRpcList
 public abstract RpcList beginRpcList(String restriction) throws DrpcException
This method returns a list of RPCs that match a given restriction. The restriction is specified as a String object that contains a list of key=value pairs, separated by whitespace. The valid keys are SERVER, INTERFACE, and RPC (case is not significant). Note that in order to use the SERVER keyword to restrict the list of RPCs, the server must be up and running and accessible from the gateway.

Parameters:
restriction - A String object that contains the restrictions on RPCs to be returned.
Returns:
A list of the RPCs that match the given restriction.
Throws: DrpcException
If the list cannot be generated.

ml' k56Y$7I6|6$`./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.rpcmetadata_mi.htmll$$ Method Index for COM.Transarc.Delight.RpcMetadata

Method Index

beginRpcList(String)
a k7Y$7I6|6$P./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.service.htmli.$$ COM.Transarc.Delight.SERVICE <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.service_dsc.html#_top_">COM.Transarc.Delight.SERVICE (no frames)</a></b></p> </body> /dl>  kDM8Y$"7I6|6$"./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.service_dsc.htmlmll$$ Class COM.Transarc.Delight.SERVICE

Class COM.Transarc.Delight.SERVICE

java.lang.Object
   |
   +----COM.Transarc.Delight.SERVICE

public class SERVICE
extends Object

This class implements debugging tools for DE-Light.


Constructor Index

SERVICE()

Method Index

SETDEBUGFILE(String)
This method sets the debug output stream to log to the specified file.
SETDEBUGLEVEL(int)
This method sets the debug level.
SETDEBUGMASK(int)
This method sets the debug mask for selectively logging Drpc classes.
SETDEBUGSOCKETSTREAM(String, int)
This method sets the stream used to log debug messages to a socket.
SETDEBUGSTREAM(OutputStream)
This method sets the stream used to log debug messages.

Constructors

SERVICE
 public SERVICE()

Methods

SETDEBUGSTREAM
 public static synchronized void SETDEBUGSTREAM(OutputStream s)
This method sets the stream used to log debug messages.

Parameters:
s - The output stream for the debug log.
SETDEBUGSOCKETSTREAM
 public static synchronized void SETDEBUGSOCKETSTREAM(String host,
                                                      int port)
This method sets the stream used to log debug messages to a socket. If the port connection fails, the existing stream is maintained. Note that some Java(TM) runtime environments restrict host access to the host from which the applet was loaded.

Parameters:
host - The output stream listener host name.
port - The output stream listener port number.
SETDEBUGMASK
 public static synchronized void SETDEBUGMASK(int mask) throws IOException
This method sets the debug mask for selectively logging Drpc classes. The following table identifies the masks that are associated with the various classes:

Mask Class ---- ----- 0x00000001 DrpcTypes 0x00000002 DrpcParser 0x00000004 DrpcTransporters 0x00000008 RpcDescription 0x00000010 DrpcConnection 0x00000020 DrpcGateway 0x00000040 DrpcDictionary 0x00000080 DrpcStructure 0x00000100 RpcList 0x00000200 Transaction 0x00000400 DrpcLruQueue 0x00000800 DrpcSecurity 0x40000000 DrpcInputStream 0x80000000 DrpcOutputStream

Parameters:
mask - The new mask to use to filter log messages.
SETDEBUGFILE
 public static synchronized void SETDEBUGFILE(String fileName) throws IOException
This method sets the debug output stream to log to the specified file.

Parameters:
s - The output stream for the debug log.
Throws: IOException
If the file is inaccessible.
SETDEBUGLEVEL
 public static synchronized void SETDEBUGLEVEL(int l)
This method sets the debug level. The following table lists the available debug levels:

Debug Level Description ----------- ----------- LOG_CATCH_LVL Minimum level for logging caught exceptions LOG_THROW_LVL Minimum level for logging thrown exceptions LOG_HDR_LVL Minimum level for logging message headers LOG_MSG_LVL Minimum level for logging message contents LOG_CALL_LVL Minimum level for logging external method calls LOG_PARAM_LVL Minimum level for logging method calls LOG_CATCH_STACKS Minimum level for logging exception stack traces

Parameters:
l - The new value for the debug level.

socke k0<9Y$;7I6|6$P ;./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.service_mi.htmlmll$$ Method Index for COM.Transarc.Delight.SERVICE

Constructor Index

SERVICE()

Method Index

SETDEBUGFILE(String)
SETDEBUGLEVEL(int)
SETDEBUGMASK(int)
SETDEBUGSOCKETSTREAM(String, int)
SETDEBUGSTREAM(OutputStream)
/  kH:Y$7I6|6$P./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.transaction.htmlmll$$ COM.Transarc.Delight.Transaction <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.transaction_dsc.html#_top_">COM.Transarc.Delight.Transaction (no frames)</a></b></p> </body> ic k;Y$77I6|6$7./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.transaction_dsc.htmll$$ Class COM.Transarc.Delight.Transaction

Class COM.Transarc.Delight.Transaction

java.lang.Object
   |
   +----COM.Transarc.Delight.Transaction

public class Transaction
extends Object

This class defines the methods used for transaction demarcation. The basic operations on a transaction are begin, commit and rollback; methods are provided for each of these operations. In addition, a number of ancillary methods are provided. Note that transactions are automatically rolled back if an RPC results in an exception. Use of the txRollback() method is optional after an exception.


Variable Index

listeners
This variable contains the list of property change listeners.
TX_ACTIVE
This constant indicates that the Transaction object is active; that is, a transaction has begun and has not yet committed or rolled back.
TX_CHAINED
This constant indicates that the Transaction object is operating or should operate in chained mode; that is, a new transaction is automatically started when the previous one is ended with txCommit() or txRollback().
TX_INACTIVE
This constant indicates that the Transaction object is inactive; that is, a transaction has not yet begun.
TX_ROLLBACK_ONLY
This constant indicates that the Transaction object is inactive but that the next RPC will begin a transaction.
TX_UNCHAINED
This constant indicates that the Transaction object is not operating or should not operate in chained mode; that is, each transaction is explicitly demarcated with a call to the txBegin() method and a call to either the txCommit() method or the txRollback() method.

Method Index

addPropertyChangeListener(PropertyChangeListener)
This method adds a property change listener to the listener list.
removePropertyChangeListener(PropertyChangeListener)
This method removes a property change listener from the listener list.
txBegin()
This method begins a transaction.
txCommit()
This method attempts to commit a transaction.
txGetRollbackString()
This method gets the String object that describes the reason the last transaction was rolled back.
txGetTransactionControl()
This method gets the current state of transaction chaining.
txGetTransactionTimeout()
This method gets the current value of the transaction timeout (in seconds).
txRollback()
This method rolls a transaction back.
txSetRollbackString(String)
This method sets a String object that describes a reason for rolling back the transaction.
txSetTransactionControl(int)
This method turns transaction chaining on or off.
txSetTransactionTimeout(int)
This method sets the timeout (in seconds) for the next transaction to complete.
txState()
This method returns the current state of the transaction.

Variables

TX_UNCHAINED
 public static final int TX_UNCHAINED
This constant indicates that the Transaction object is not operating or should not operate in chained mode; that is, each transaction is explicitly demarcated with a call to the txBegin() method and a call to either the txCommit() method or the txRollback() method.

TX_CHAINED
 public static final int TX_CHAINED
This constant indicates that the Transaction object is operating or should operate in chained mode; that is, a new transaction is automatically started when the previous one is ended with txCommit() or txRollback().

TX_INACTIVE
 public static final int TX_INACTIVE
This constant indicates that the Transaction object is inactive; that is, a transaction has not yet begun.

TX_ACTIVE
 public static final int TX_ACTIVE
This constant indicates that the Transaction object is active; that is, a transaction has begun and has not yet committed or rolled back.

TX_ROLLBACK_ONLY
 public static final int TX_ROLLBACK_ONLY
This constant indicates that the Transaction object is inactive but that the next RPC will begin a transaction.

listeners
 public PropertyChangeSupport listeners
This variable contains the list of property change listeners. A property change listener is an object that has asked to be notified if any property of a specified object is modified.


Methods

txBegin
 public synchronized void txBegin() throws DrpcTxException
This method begins a transaction. The transaction continues until it is either committed (completes successfully) or rolled back (fails).

Throws: DrpcTxException
If an error occurs.
txCommit
 public synchronized void txCommit() throws DrpcTxException
This method attempts to commit a transaction. It throws an exception if the transaction cannot be committed or if transactions are chained and the next transaction cannot be started.

Throws: DrpcTxException
If a transactional error occurs, in particular, if the transaction has been rolled back by another participant.
See Also:
txGetRollbackString
txRollback
 public synchronized void txRollback() throws DrpcTxException
This method rolls a transaction back.

Throws: DrpcTxException
If an error occurs.
See Also:
txSetRollbackString
txState
 public synchronized int txState()
This method returns the current state of the transaction.

Returns:
The current state of the transaction.
See Also:
txState, TX_ACTIVE, TX_INACTIVE, TX_ROLLBACK_ONLY
txSetTransactionControl
 public synchronized void txSetTransactionControl(int chaining) throws DrpcTxException
This method turns transaction chaining on or off. When chaining is on, a new transaction is begun when the previous transaction commits or rolls back. Chaining is off by default. To end a chain of transactions, turn chaining off during the last transaction to be chained.

Parameters:
chaining - The desired transaction control state.
Throws: DrpcTxException
If an error occurs.
See Also:
txGetTransactionControl, TX_UNCHAINED, TX_CHAINED
txGetTransactionControl
 public synchronized int txGetTransactionControl()
This method gets the current state of transaction chaining.

Returns:
The current transaction control state.
See Also:
txSetTransactionControl, TX_UNCHAINED, TX_CHAINED
txSetTransactionTimeout
 public synchronized void txSetTransactionTimeout(int txTimeout) throws DrpcTxException
This method sets the timeout (in seconds) for the next transaction to complete. The current transaction (if any) is unaffected. The default transaction timeout value is 180.

Parameters:
txTimeout - The timeout (in seconds) for the next transaction to complete.
Throws: DrpcTxException
If an error occurs.
See Also:
txGetTransactionTimeout
txGetTransactionTimeout
 public synchronized int txGetTransactionTimeout()
This method gets the current value of the transaction timeout (in seconds).

Returns:
The current value of the transaction timeout (in seconds).
See Also:
txSetTransactionTimeout
txSetRollbackString
 public synchronized void txSetRollbackString(String reason)
This method sets a String object that describes a reason for rolling back the transaction.

Parameters:
reason - A String object that describes the reason for rolling back the transaction.
See Also:
txGetRollbackString
txGetRollbackString
 public synchronized String txGetRollbackString()
This method gets the String object that describes the reason the last transaction was rolled back.

Returns:
The rollback String object for the last transaction that was rolled back.
See Also:
txSetRollbackString
addPropertyChangeListener
 public void addPropertyChangeListener(PropertyChangeListener listener)
This method adds a property change listener to the listener list. A property change listener is an object that has asked to be notified if any property of a specified object is modified.

Parameters:
listener - The listener to add to the listener list.
removePropertyChangeListener
 public void removePropertyChangeListener(PropertyChangeListener listener)
This method removes a property change listener from the listener list. A property change listener is an object that has asked to be notified if any property of a specified object is modified.

Parameters:
listener - The listener to remove from the listener list.

>  kv Method Index for COM.Transarc.Delight.Transaction

Method Index

addPropertyChangeListener(PropertyChangeListener)
removePropertyChangeListener(PropertyChangeListener)
txBegin()
txCommit()
txGetRollbackString()
txGetTransactionControl()
txGetTransactionTimeout()
txRollback()
txSetRollbackString(String)
txSetTransactionControl(int)
txSetTransactionTimeout(int)
txState()

Field Index

listeners

Variable Index

TX_ACTIVE
TX_CHAINED
TX_INACTIVE
TX_ROLLBACK_ONLY
TX_UNCHAINED
xc kVO=Y$7I6|6$P3./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.transactionbeaninfo.htmli.ht$$ COM.Transarc.Delight.TransactionBeanInfo <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.transarc.delight.transactionbeaninfo_dsc.html#_top_">COM.Transarc.Delight.TransactionBeanInfo (no frames)</a></b></p> </body> .t k\R>Y$7I6|6$@./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.transactionbeaninfo_dsc.htmlht$$ Class COM.Transarc.Delight.TransactionBeanInfo

Class COM.Transarc.Delight.TransactionBeanInfo

java.lang.Object
   |
   +----java.beans.SimpleBeanInfo
           |
           +----COM.Transarc.Delight.TransactionBeanInfo

public class TransactionBeanInfo
extends SimpleBeanInfo

This class provides the bean information for the Transaction class.


Constructor Index

TransactionBeanInfo()

Method Index

getIcon(int)
This method returns the Icon object for the DE-Light Bean.
getPropertyDescriptors()
This method returns an array of descriptors for the Transaction object properties.
rollbackStringPropertyDescriptor()
This method returns a property descriptor for the rollback string.
transactionControlPropertyDescriptor()
This method returns a property descriptor for the transaction control setting.
transactionStatePropertyDescriptor()
This method returns a property descriptor for the transaction state.
transactionTimeoutPropertyDescriptor()
This method returns a property descriptor for the transaction timeout.

Constructors

TransactionBeanInfo
 public TransactionBeanInfo()

Methods

getIcon
 public Image getIcon(int iconKind)
This method returns the Icon object for the DE-Light Bean.

Parameters:
iconKind - An integer that represents the type of icon to return. The supported icon types are: ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, and ICON_MONO_32x32.
Returns:
An Image object containing the GIF icon of the requested type.
Overrides:
getIcon in class SimpleBeanInfo
rollbackStringPropertyDescriptor
 public PropertyDescriptor rollbackStringPropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the rollback string. The rollback string describes the reason the last transaction was rolled back.

Returns:
A PropertyDescriptor object for the rollback string.
Throws: IntrospectionException
If an error occurs.
transactionTimeoutPropertyDescriptor
 public PropertyDescriptor transactionTimeoutPropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the transaction timeout. The transaction timeout limits the amount of time (in seconds) a transaction has to complete.

Returns:
A PropertyDescriptor object for the transaction timeout.
Throws: IntrospectionException
If an error occurs.
transactionControlPropertyDescriptor
 public PropertyDescriptor transactionControlPropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the transaction control setting. The transaction control setting determines whether chaining is on or off. When chaining is on, a new transaction is begun when the previous transaction commits or rolls back. Chaining is off by default.

Returns:
A PropertyDescriptor object for the transaction control setting.
Throws: IntrospectionException
If an error occurs.
transactionStatePropertyDescriptor
 public PropertyDescriptor transactionStatePropertyDescriptor() throws IntrospectionException
This method returns a property descriptor for the transaction state.

Returns:
A PropertyDescriptor object for the transaction state.
Throws: IntrospectionException
If an error occurs.
getPropertyDescriptors
 public PropertyDescriptor[] getPropertyDescriptors()
This method returns an array of descriptors for the Transaction object properties. The array includes: rollbackStringPropertyDescriptor, transactionTimeoutPropertyDescriptor, transactionControlPropertyDescriptor, and transactionStatePropertyDescriptor.

Returns:
An array of PropertyDescriptor objects, or null if an error occurs.
Overrides:
getPropertyDescriptors in class SimpleBeanInfo

rte k"3?Y$Y7I6|6$P6Y./usr/IBMVJava/html/enterp/en_US/encina/ref/com.transarc.delight.transactionbeaninfo_mi.htmlht$$ Method Index for COM.Transarc.Delight.TransactionBeanInfo

Constructor Index

TransactionBeanInfo()

Method Index

getIcon(int)
getPropertyDescriptors()
rollbackStringPropertyDescriptor()
transactionControlPropertyDescriptor()
transactionStatePropertyDescriptor()
transactionTimeoutPropertyDescriptor()
escript k @Y$W7I6|6$P9W./usr/IBMVJava/html/enterp/en_US/encina/ref/package-com.transarc.connector.delight.html$$ Package com.transarc.connector.delight

All Packages

package com.transarc.connector.delight

Class Index

DELConnCommAttributes
DELConnCommunication
DELConnConnectionSpec
DELConnInteractionSpec
DELConnReturnValue
h k2AY$K 7I6|6$0NK ./usr/IBMVJava/html/enterp/en_US/encina/ref/package-com.transarc.delight.htmlig$$ Package COM.Transarc.Delight

All Packages

package COM.Transarc.Delight

Interface Index

DrpcEngine
RpcMetadata

Class Index

DrpcArrayType
DrpcBasicType
DrpcConnection
DrpcConnectionBeanInfo
DrpcDictionary
DrpcStructure
DrpcStructureStub
DrpcStructureStubBeanInfo
DrpcStructureType
DrpcStub
DrpcStubBeanInfo
DrpcType
RpcDescription
RpcList
SERVICE
Transaction
TransactionBeanInfo

Exception Index

DrpcException
DrpcTxException
 kBY$7I6{6$S./usr/IBMVJava/html/enterp/en_US/encina/ref/tree.htmlm.$$ Class Hierarchy (Encina IBM e-business Connector)

Class Hierarchy (Encina IBM e-business Connector)


 k\@h$7PI6|6$@P./usr/IBMVJava/html/enterp/en_US/gsolent/addapp/tconnopn.htmarc$$ Connecting the Open To-Do File button

Connecting the Open To-Do File button

Now that you have added all the new beans to the free-form surface, you are ready to begin connecting them.

The To-Do List applet should perform the following actions when a user selects the Open To-Do File button:

  1. Show the file dialog.
  2. Dispose of the file dialog.
  3. Invoke the readToDoFile method.

You implement actions 1 and 2 by making connections between the Open To-Do File button and the JFileChooser bean for opening files. You implement action 3 by making a connection between the Open To-Do File button and the DefaultListModel bean.

Create the connection to show and dispose of the open file dialog

  1. Select the Open To-Do File button and click mouse button 2. Select Connect and then actionPerformed from the pop-up menu that appears. The mouse pointer changes to indicate that you are in the process of making a connection.
  2. Complete the connection by clicking mouse button 1 on the JFileChooser bean to the right of the applet. From the pop-up menu that appears, select Connectable Features. Choose Methods from the End connection to window. Select showOpenDialog(java.awt.Component).   Click OK.
  3. Select the connection just completed and click mouse button 2. Select Connect and then parent from the pop-up menu. Click the frame containing the file chooser and select this from the pop-up menu.

Now the free-from surface should look like this:

tconnOvc.GIF (12781 bytes)

You have completed all the connections between the Open To-Do File button and the JFileChooser that get data from a file and put it in your To-Do list. Now you are ready to make the connection that invokes readToDoFile in the DefaultListModel bean.

Create the connection to invoke readToDoFile

  1. Select the Open To-Do File button and click mouse button 2. Select Connect and then actionPerformed from the pop-up menu that appears.
  2. Click mouse button 1 on the free-form surface and select Event to Code.
  3. In the Event to Code window, select method readToDoFile(java.io.File, java.io.File, com.sun.java.swing.DefaultListModel) and then select OK. The connection that appears is incomplete because readToDoFile takes three parameters: a directory name, a file name, and a DefaultListModel object. Begin by specifying the directory name:
    • Select the connection and click mouse button 2.
    • Select Connect and then dirName from the pop-up menu that appears. Notice the selections under Connect include the names of all the parameters that you specified for readToDoFile when you created it as a method.
    • Move the mouse pointer to JFileChooser1 and click mouse button 1. Select Connectable Features from the pop-up menu that appears.
    • Choose Method from the End connection to secondary window, select getCurrentDirectory() and then select OK.
  4. You have specified one of the parameters, but the connection is still not complete. To specify the file name:
    • Select the connection between the Open To-Do File button and the readToDoFile method; click mouse button 2.
    • Select Connect and then fileName from the pop-up menu that appears.
    • Click mouse button 1 on JFileChooser1. Select Connectable Features from the pop-up menu that appears.
    • Choose Method from the secondary window, select getSelectedFile() and then select OK.
  5. There is still one parameter to specify before the connection is complete: the List object.
    • Select the connection between the Open To-Do File button and the readToDoFile method; click mouse button 2.
    • Select Connect and then fillList from the pop-up menu that appears.
    • Click mouse button 1 on the DefaultListModel bean and select this from the pop-up menu that appears. This last connection is significant. It specifies that the DefaultListModel bean in the user interface is the fillList parameter for readToDoFile. In other words, the DefaultListModel bean in the interface is the DefaultListModel object in which readToDoFile adds items as it reads the input file.
  6. The free-form surface should look like this:

    tconn2vc.gif (13243 bytes)

Congratulations! You have completed all the connections from the Open To-Do File button. Now you are ready to test the work you have done so far on the To-Do List program.

/ k*xh$7PI6|6$[P./usr/IBMVJava/html/enterp/en_US/gsolent/addapp/tfiledlg.htmarc$$ Adding JFileChooser beans to the free-form surface

Adding JFileChooser beans to the free-form surface

Now that you have added the new buttons, the next step is to add file dialog beans for opening files and saving files. Later, you will use these file dialog beans to obtain a file selection and provide parameters to the readToDoFile and writeToDoFile methods.

These file dialog beans are preview beans for Swing that are not part of the Java Foundation Classes. Note that the Java Foundation Classes (JFC) present these file dialogs in a platform-independent representation as shown below:

tfiledl2.gif (5464 bytes)

In the finished To-Do List program, a file dialog appears when a user selects the Open To-Do File or Save To-Do File button. In the file dialogs, the user specifies the name of the file to open or save.

To add the file dialog beans:

  1. Select the JFrame bean from the palette.
    tjframic.GIF (216 bytes)
  2. Add the JFrame bean to the right side of the applet area, that is, outside of the gray area. Add a second JFrame bean below JFrame1. Select both of them and open the Property window to change the layout to BorderLayout.
  3. Select Choose Bean from the palette.
    tchoosbn.GIF (433 bytes)
  4. When the Choose Bean window appears, select Browse to specify the  com.sun.java.swing.preview.JFileChooser class. Click OK. Place the JFileChooser bean (which is the file dialog itself) inside JFrame1.
  5. Add a second JFileChooser dialog bean inside JFrame2.

Your free-form surface should look similar to the one below.

t3partsv.gif (12138 bytes)

Save the current state of your work in the Visual Composition Editor by selecting Save Bean from the Bean menu.

Note:
The exact positions of the file dialog beans do not affect the interface of the finished program. However, it will be easier for you to follow the instructions in the following sections for connecting beans if you line up these beans according to the instructions in this section.

  • Sel kʛh$&7PI6|6$P&./usr/IBMVJava/html/enterp/en_US/gsolent/addstat/terrorck.htmrc$$ Adding state checking to your applet

    Adding state checking to your applet

    Now that you have versioned an edition of your applet, you are ready to add state checking.

    Desired behavior of the Remove button

    Currently, the Remove button is always enabled, even if no items are in the list. Here is how the Remove button should work:

    • When the applet starts, the Remove button should be disabled.
    • When an item is selected in the To-Do List, the Remove button should be enabled.
    • When a selected item in the To-Do List has been deleted, the Remove button should be disabled.

    Overview of adding the desired behavior to the Remove button

    To get the desired behavior for the Remove button, you need to:

    • Open the To-Do List applet in the Visual Composition Editor.
    • Set the properties of the Remove button so it is disabled when the applet first starts.
    • Create a new method that checks if any item is selected in the To-Do List.
    • Add an Event-to-Code connection to enable the button when an item is selected in the To-Do List.

    Open your To-Do List applet in the Visual Composition Editor

    First, open your To-Do List applet class in the Visual Composition Editor:

    1. Select the class for your To-Do List applet in the Workbench.
    2. From the Selected menu, select Open To and then Visual Composition.
    3. The free-form surface appears. It should look like this:

      tconnct3.GIF (5004 bytes)

    Set the properties of the Remove button

    Now set the properties of the Remove button so it is disabled when the applet starts:

      1. Select the Remove button and click mouse button 2. Select Properties from the pop-up menu that appears. The Properties secondary window appears.

        tpropdia.gif (4047 bytes)

      2. Select the field to the right of enabled. Select False from the drop down list in this field and close the Properties window. The Remove button should now appear disabled:

        trembdis.gif (204 bytes)

    Create a new method to check if an item is selected

    Next, create a new method in your To-Do List applet that checks to see if any items are selected in the To-Do List. To create a new method:

    1. Select the Methods page.
    2. Select Create Method or Constructor from the tool bar.
      tmeticon.gif (1035 bytes)

      The Create Method SmartGuide appears.

    3. In the Create Method SmartGuide, enter the following field beside Types:
    4. boolean enableRemove(

      Click Types. In the Types pop-up window, enter JL as the pattern.   Select JList from the Type Names panel. Click Insert.

    5. Add checkList as the parameter name for the JList type; then add a closing parenthesis. Your method should now be:
    6. boolean enableRemove(com.sun.java.swing.JList checkList)

      This specifies a method that takes one parameter (a JList) and returns a boolean value.

    7. Select Finish to generate the method.
    8. Select the new enableRemove(com.sun.java.swing.JList) method from the Methods list and add the code to implement it. If you are viewing this document in a browser, you can select the following code, copy it, and paste it into the Source pane. The finished method should look like this:
      public boolean enableRemove(com.sun.java.swing.JList checkList) {
              if (checkList.getSelectedIndex() < 0)
                      return false;
              else
                      return true;
      }
    9. To save this new method, click mouse button 2 in the Source pane and select Save from the pop-up menu that appears.

    This simple method calls the getSelectedIndex method for its checkList parameter. If getSelectedIndex returns -1, there are no items selected in the list and enableRemove(com.sun.java.swing.JList) returns false (so the Remove button appears faded). Otherwise, enableRemove(com.sun.java.swing.JList) returns true (so the Remove button appears with solid black text like the Add button).

    Add a connection to enable and disable the Remove button

    Next, add the connection that enables the Remove button when an item is selected in the To-Do List:

    1. Select the Visual Composition page.
    2. Select the list and click mouse button 2. Select Connect then listSelectionEvents from the pop-up menu that appears. The mouse pointer changes to indicate that you are in the process of making a connection.
    3. Complete the connection by clicking mouse button 1 on the free-form surface and selecting Event to Code. Select method enableRemove() and select OK.
    4. The connection is incomplete because you need to provide information as to what JList should be checked for selected items. To complete the connection, select it, click mouse mouse button 2, and select Connect. Connect checkList to the JList1 this property.
    5. The boolean that is returned from the enableRemove method is used to set the enabled property of the  Remove button. Select the connection to the enableRemove method and click mouse button 2. Select Connect and select normalResult. Connect  normalResult to the Remove button enabled  property.

    Every time an item is selected in the list, the enabled property of the Remove button is set to true.

    tstacon3.gif (5739 bytes)

    Saving and testing your changes

    Before you continue, save your work and test it:

    1. To save the current state of your work in the Visual Composition Editor, select Save Bean from the Bean menu.
    2. To test the changes you made, select Run from the tool bar.
      trunicon.gif (1013 bytes)
    3. The Applet Viewer appears with your applet.
    4. Experiment with it to ensure that the behavior of the Remove button is correct. Ensure that the Remove button is disabled when the applet starts and then becomes enabled as soon as an item is selected in the To-Do List. Ensure that the Remove button becomes disabled again when nothing is selected in the To-Do List.

    Congratulations! You have successfully added state checking to your To-Do List applet.

    Now that you have a new level of your code working, create another versioned edition of it by following the steps in Versioning an edition of your applet.

    utt k>h$!7PI6}6$R!./usr/IBMVJava/html/enterp/en_US/gsolent/frstapp/todoli06.htmrc$$ Building the To-Do List applet

    Building the To-Do List applet

    When the Visual Composition Editor opens for the new ToDoList applet, the default JApplet is represented as a gray rectangle on the free-form surface. To build the rest of the user interface, you must add several other visual beans. When you have finished creating the user interface for the To-Do List applet, the free-form surface of the Visual Composition Editor should look like this:

    todointr.gif (3128 bytes)

    To make a user interface that looks like this, you need to add, size, and align the remaining beans.

    Note:
    As you add beans to the applet, you may find that the default JApplet bean is too small to accommodate all the other beans. If this happens, you can resize the JApplet bean by selecting it and dragging one of the selection handles using mouse button

    Although this bean uses a <null> layout manager, it could be built using one of the layout managers, such as GridBagLayout. For an example of creating the user interface for this bean in GridBagLayout, see "Creating a GUI Using GridBagLayout" in the online helps.

    Adding a text field and a label

    In this stage of the applet creation, you add a JTextField bean that is used to enter the To-Do items, and a JLabel bean to identify the field. These beans are in the Swing category of the beans palette.

    Tip:  As you work with the palette, you may find the icons too small for your preference. To make them larger, right-click on any gray area on the palette and select Show Large Icons from the pop-up pane.

    1. From the beans palette, select the JTextField bean.
      ttext.gif (258 bytes)
      The information area at the bottom of the Visual Composition Editor displays Category: Swing Bean: JTextField, reflecting the current selection in the beans palette.
    2. Move the mouse pointer over the JApplet bean (the rectangle on the free-form surface). The pointer changes to a crosshair, indicating that it is now loaded with the bean you selected. Click mouse button 1 where you want to add the JTextField.

      If you accidentally picked the wrong bean and have not dropped the bean into the JApplet yet, select the correct bean, or select the Selection tool from the beans palette to unload the mouse pointer.
      tselect.gif (224 bytes)

      After you have added the JTextField bean to the JApplet, you can move it to a new location by dragging it with the mouse. You can also resize it by dragging a side of the rectangle.

    3. Select the JLabel bean and add JLabel just above the JTextField.
      tlabel.gif (266 bytes)

      Don't worry about their exact positions. Later you'll learn how to use the tools from the tool bar to match sizes and align beans.

    Changing the text of a label and adding another label

    Change the text of  JLabel to To-Do Item by editing the text as follows:

    1. Select the JLabel bean. Select Properties  from the tool bar.
    2. In the Properties window, click text field, and type To-Do Item (instead of JLabel1). The label now contains the text To-Do Item. You may need to stretch the label to see it.
    3. You can add another label below the JTextField by copying JLabel1. To copy a bean:
      1. Select the bean.
      2. From the Edit menu, select Copy.
      3. From the Edit menu, select Paste. The pointer changes to a crosshair, indicating that it is now loaded with the bean you selected.
      4. Click mouse button 1 below the JTextField to add the new label.
    4. Change the text for the new label to To-Do List by editing it as you did for JLabel1.

    Tip: You can also copy a bean using the Ctrl key. Position the mouse pointer over the JLabel bean, hold down the Ctrl key, and drag the copy of the bean to below the JTextField bean.

    Adding a scroll pane for your list

    Add a scroll pane so that your list of items can be scrolled.

    1. Select the JScrollpane bean.
      tscrollpn.GIF (300 bytes)
      (Notice it comes from another group on the palette; the group of container beans.)
    2. Add JScrollPane below the text field.

    Adding a list

    To create the list in which the To-Do items are displayed, you need to add a JList:

    1. Select the JList bean and place it inside the scroll pane.
      tlistbox.gif (318 bytes)
      The JList bean adjusts to fill the JScrollPane.
    2. In the Properties window, change the selectionMode property to SINGLE_SELECTION. This simplifies the code needed to handle selection within the list.
    3. It is good practice to save your work periodically. To save your work, from the Bean menu select Save Bean.

    Adding buttons

    To add and remove items from the To-Do list, you need to add two buttons:

    1. To add more than one instance of a bean at a time, press and hold the Ctrl key before selecting the bean.
    2. Select the JButton bean.
      tpushbtn.gif (203 bytes)
      Add a button to the right of the text field.

      Notice that the mouse pointer remains a crosshair, indicating that it is still loaded with the JButton bean. To add another JButton, click mouse button 1 below JButton1.

    3. Select  the Selection tool from the beans palette to unload the mouse pointer.
      tselect.gif (224 bytes)
    4. Change the text on JButton1 to Add and JButton2 to Remove by editing them as you did with the label beans.
    5. Save your work using Save Bean from the Bean menu.

    Congratulations! You have just created your first user interface using VisualAge for Java. Next, you need to size and align the beans within the To-Do List applet.

     kh$(7PI6}6$R(./usr/IBMVJava/html/enterp/en_US/gsolent/frstapp/todoli09.htmrc$$ Connecting beans

    Connecting beans

    Now that you have added the visual beans to create the user interface, the next step is connecting them.

    Event-to-method and parameter-from-property connections

    This is a short discussion of the event-to-method connections used in this example. It is not necessary for you to make the connections as you follow along in this text. Step-by-step instructions are provided in the next section.

    The behavior of the To-Do List applet is to add the text entered in the text field to the list when the Add button is selected, and to remove a selected item from the list when the Remove button is selected. To do this, you need to make event-to-method connections between the buttons and the text field and the list. In the example, you will extend your list to include a model called DefaultListModel. The Java Foundation Classes, also known as Swing, separate data from the view of the data. The actual list items are stored in the list model and then a connection sends the model's data to the list in the applet.

    Because selecting a button signals an actionPerformed(java.awt.event.ActionEvent) event and adding an item to the list model is performed by the addElement(java.lang.Object) method, the event-to-method connection for adding an item to the list model is between the Add JButton's actionPerformed(java.awt.event.ActionEvent) event and the DefaultListModel's addElement(java.lang.Object) method. Removing an item from the list is performed by connecting the Remove JButton's actionPerformed(java.awt.event.ActionEvent) event to the removeElementAt(java.lang.Object) method of the DefaultListModel.

    Simply adding these two event-to-method connections does not actually cause anything to be added to or removed from the list model because both the addElement(java.lang.Object) and removeElementAt(java.lang.Object) methods require a parameter that specifies what object is to be added to or removed from the list. You specify the parameters by creating parameter-from-property connections.

    The text from the JTextField is provided as the parameter to the addElement(java.lang.Object) method. The selectedValue from the JList is provided as the parameter to the removeElementAt(java.lang.Object) method.

    Adding a list model and making your connections

    You must first add a list model before connecting your beans. Why do you need a list model?  In the Java Foundation Classes (also called Swing) data and views of the data are separate. A list is simply one view of some To-Do items. The To-Do list items themselves are contained in the list model. To add a list model, do the following:

    1. Select the Choose Bean tool from the palette.
      tchoosbn.GIF (433 bytes)
    2. Select Class as the Bean Type from the Choose Bean window. Using Browse with a pattern of "de", select the DefaultListModel class:

      tchodeft.GIF (3220 bytes)

      Click OK and place the DefaultListModel on the free-form surface, below the applet (the gray area).

    3. Now you can begin your connections to move items into your list. Select the Add button, then click mouse button 2. In the pop-up menu that appears, select Connect and then actionPerformed.

      The mouse pointer changes, indicating that you are in the process of making a connection. If you accidentally started the wrong connection, press the Esc key to cancel.

    4. To complete the connection, click mouse button 1 on the DefaultListModel and then select Connectable Features. Click addElement(java.lang.Object) from the pop-up menu that appears. A dashed line appears, which means that more information is necessary. In this case, the value of the parameter for the addElement(java.lang.Object) method is missing.

      tincconn.gif (4579 bytes)

    5. To make the parameter-from-property connection that specifies what to add to the list, follow these steps:
      • Move the mouse pointer on top of the dashed event-to-method connection line.
      • Click mouse button 2. Select Connect then obj from the pop-up menu that appears.
      • Click mouse button 1 on the text field, and then select text from the pop-up menu that appears.

        tconnct1.gif (4751 bytes)

    6. Finally, you must get the To-Do items from the DefaultListModel to the list in your applet, so that users can see them in the applet. This is a connection that sends data from a source (the model) to a view (the list). Click mouse button 2 on the DefaultListModel. Select Connect and then this from the pop-up window. Click mouse button 1 on the list and select model from the pop-up window. A blue line appears indicating a property-to-property connection.

      tconnct2.gif (4870 bytes)

    To make the event-to-method connection for the Remove button, do the following:

    1. Select the Remove button, then click mouse button 2. In the pop-up menu that appears, select Connect and then actionPerformed.
    2. Click mouse button 1 on the DefaultListModel, then select Connectable Features.   From the pop-up menu that appears, select removeElementAt(int).   Again, a dashed line appears, which means that more information is necessary. In this case, the value of the parameter for the removeElementAt(int) method is missing.
    3. To make the parameter-from-property connection that specifies what to remove from the list, follow these steps:
      • Move the mouse pointer on top of the dashed connection line.
      • Click mouse button 2, then select Connect, then index from the pop-up menu that appears.
      • Click mouse button 1 on the list, then select selectedIndex from the pop-up menu that appears.
    4. Save your work.

    Your connections should now look like this:
    tconnct3.GIF (5004 bytes)
     

    Event-to-Code Connection

    Event-to-code programming allows you to associate a hand-written method with an event. In the first applet you created, you did not need to write any methods because VisualAge for Java generated them based on your visual elements and connections. However, sometimes additional logic is required. In this brief section you can link an event, like the click of a button, with your own hand-written methods and it is added to the Visual Composition Editor. An actual example of using this approach, however, is not shown here.

    To link an event such as the click of a button with your own hand-written method, do the following:

    1. Click mouse button 2 on the Add button. Click mouse button 1 on Event to Code in the pop-up window. The Event-to-Code window appears.

      tevtocde.GIF (8281 bytes)

    2. At this point, add your code. Before the return statement, add a comment: // testing event-to-code programming. (You will get to add more real code using the Event-to-Code feature later.)  Click OK to save it. An information message appears, telling you the text has been modified.   Click Yes. Your method appears in the Visual Composition Editor as shown below.

      tevtocd2.GIF (4570 bytes)

    3. If you had added a real method that performed a function then your method would be run when the Add button was clicked. Select the text box that contains the method name. Click mouse button 2 on the method. Select Delete from the pop-up window. Save your work.

    For an introduction to some features of the VisualAge for Java IDE that help you write manual code quickly and neatly, go to Writing code by hand.

    With the user interface complete and the behavior of the applet defined by the connections between the visual beans, you are now ready to test your work.

    make kPh$Q7f5}6$RQ./usr/IBMVJava/html/enterp/en_US/gsolent/images/aa400av.gifmrc$$GIF89a&T  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,&T@ @ SÇ#B,aA%jAC dRɈ x1ɗ/IœI͛8sɳO 1qPH~3bǖ:]TEõDLbШѠR)EY]L Tt庐XN2Ȓh޽\̸ǐ#KL˘3k̹a?^$:)iX nHC+{m~-þ n7RUsG)Q&ϸeE2$M[Ÿ78֛2hՇO{^,׃בWʥ߂ 6F($G9fv ($h('م,(4h8()X )"@&-i"%^s:)r )XWIeq)?:!9h2fhYP\vrARřR]'z~TiqIFvH]Gdf;HfigmvcYJEZm-xQ%*QWݩYo:\~v)8jcVZzֳ&%RfeS %Bbkʊd*IaUF/N(jvv+9T.UaFɆdV6CTZz75lcd!k8rO}ǹ\.y ~9D.W^|Y'gf>+[EQ{9mvlZ'ϹPɇF:\cCcvp qMio9.ۍn7h*K<9yo砇N&ON墷8c.9OH9g^弄 {n!nW-*_N9Go!⋛5bzUw q0#V'#,BXC2s~ H4R\&YRGNuu%^s OmR 1HM5%u6gC_f%B>̂a8&ZF"*rbd4D,S좭AV! uBdbq`3Dp!QWċfږ>\J Z$E}Ci I35҅,f*^.UQjrF|a!NJ̆4׶LJ(uFvxrì!H/Mvhl2R.fG 8ĘL:m"l`R"g6~:ԡ̉SÐ/gT%X╗*We(qd ,1$+Zj}E`[ L_h戺 8*>x&2`Q:IRB=*(lD×pPeK3(g$蜌Z%$H@4#L6T&SQ-*f^#bSe#RL5\,&6EdӚ 1UfUYsZq1Xig)}OٕQ{++5LDat۴cbo[(} "h W&&1G8:;:;ܸ- J| @*=PDBD"~R~Lō3XÜ$>g(5Nv4-@ivV$EPi?iFs/]s[צ?ר ëemp;0FMgYe]2MqL w6;EJ5Z}5V?ɶ_t~fqVeL>iL/Mݼzw~-"h&Ă,*6Fpu2xT ~BVwfW0JVe]"XrKbw' TSF%qၸk}mr+^ KLX$R7AdZh*1uv35bu(39WGUq48[3(^c\|S 2IgIv|WzKԡRVv('zI/q-Ɋ@jU9UUaPǟQYz'3WNSY]TPDGb*7Ҕ2ruYEr3j57i'wL/Y8my)1y{Z) x#]*n]s~9ᙟbL*`7pfZ v o&ʈZ*^!:;,x(/uf(񩴪dɧɫ᫿c\Uo!o~*vtѷZWGCh:xx*lx@Y=91|[gIx`h3r"rڷV1 y*]&h^D1kYqY'5/T1VĚyCŰDNc ۞^rvJW5i Bv1v H*8th%( arQԭK 0;z't.Y[BӁByѩ`1* &1Zr9&myGhi$qT(GRI~˟f96GںBDs6hAG R1qA[&BjR!+R+BwU"A!dxYDlz+t y˶sD:IU67 YGh舙;,V5G+WǽVۂ z +YlRZ,j]e;yiى5A3v(0G4D*0}Kô(Wì~~z%hћZު)(c(l [,|"AoCd9à#d!P~GI.M4,T%[{H3?zrMT4t" Zthɻ&d$k&t|hw]fܱUrO&eܺ;zHKq'7wq̵ijy=}9ݻ9TۼO;n9-s؉X\x3z]=VI`=rn%5'W(Qs9|݅֒׷B&M]<&bnټnc{IM#[Q@]8ܨ(lF}[* :7&˯:7TrT5ꩅ@ʕUdJilM:s$ay,{6b ꯀd IOMYW=&-YguQv\?>E,=v 'H.э&VΩINIZ\N!^N2`NfO>JRx毸AP\Ud „(|fnp>@--~LB3iV5STgUEQ4.j!l쐼!6ҾَǼ惋N`#JV.J1\mJ[Ť'^TjINćJ4 iVTaO~vYtsNEk"O[7YYznAhOpr,|~𳶎ܡ-OFOdZAe}W!_3TXWiGͮU\^kmMKZOJ4K7Е>4rB@![hXhIH%j:GLy6QOSykXLoPQ&O%m4w!tiYaQLkN(j"Y*%!/y~Qu7%=kt֛"3T%x~dQ,)?bX~p$XA .dC%NX95nG!WI)Ud2H1eΤY3!Ɗ$[OA%Zɗ ue/iåMNZU"Ċ3ϯa@Ⱦ- W-"W/ľ~&\8V{R쏻 Vl\wra!=dcΘÖ|?o1s6LU.or[%_}dFvΒrK~;^zqgO#3D'V,9~!pJJP۬ʿBo0 *sN.cn9DOe5zmB~8GpdnܪËtSk"*1Ƃ% Ұ=$(dJR9̲1X$1ZmM8C\MBRz,L5Ԅ-]-aLlTJekGmLTPlSڴ3(KaCR)6̓~mO:[:LOLYU{t!$R*;Î:=Ou3,K8kܶUFuËV!L"gw_~}ru? & 3:2 ^ۆzimj33708Bi OvV_e/`f/n/BK͓ODOr1'WE% Ρ2;(ցsݰaGe\1ʂ0^'@ZN82ǀUP̻DV1P#$a MxBP+da ]BV TC>CP;a}DC$bQKdb5 $'2Vy^E0QG.a5Tc⌑1XrpFQ[DG@GsFΈŃ01mHHfZ[!$(rHSIc&= rS J"njўP5@P-5pZ!O$Tkqo%Sz(E٩ljԁ_]^+Wk OC:kSzk# !or{_S!PKڭdsZKĊblO%ZЃVֵd}ilcFfrZz;]~;Dжgw-k^ T FZO;}*Jc5́P%*e*,Rh@_`bSz;.eIjC* gKn;֍,^ %^r0|}LCnc9W-( KGSPCYv5.S{& qےEY-V݅6qV[W6l=I%ԻcWUA՝kzm km?+x+rc]xJξqmS ;[[cǨWsw=DVys{ 2~d.e8$2D s >%,2s4@+ @ J4A;@s[Ծ>+Ė46ÊJA@9ĿQk v¥.(L#$@=3V1"CnھÚ7T P"Z1 ƓpcA(C;%#% Bks&ٶ`NıD3gz ӈEEYEZE]E^ŌE ěx&Uض@#(;nDT|r(3W=tpF:iC8t2"!YnTD;ovǴ6nKFHZEGԈwtǨD%ʣ01P$Z+%WYD Lb{ƊG'Lf"ƄpƱP{q&2&Fq nQH-+; dl3&/FN| +ڋm[ȉ$0GH\J }|ă|JijJJʠyKK,K7ϊ4$O&ǻ3鈜Ia(K-#a1M22lPΩ84 c3Ю(I߄>G˴QQ Iլ8y?QՍE"-RYƵRJ26SR|"C19pRCỊR3NkqЂ(QltJG݉08YQ/ԏɈKeLEϦpӯ(i@GRW- k♸Q=A<&PWΟa STtbqPSc+zߤa(yYpXTbr^)6;y){P``&b=_b'DsLP c/;MchI>c5d4Kc7ލRAҹ,d?[EfB%b%=I6MILdMPFOeSRNeO>N$~eXeY!\eVH-T]b[\e]e\FQa?bRc>f>NfZf_npDf(ѳa'iNj`@Wco18TWreo. Y\ il>)˜]{#|++AGkfzhhvZ+ *  7hڤ˒5lBi=ȡ̄bs7Ai(i~ˉ P:Pv 79ۜigj j>|fծ'M׫iz&kLj&~kJ_6k&$kkl2*0v"T~l8eLǮlCc̮rl^/l>mm֣BBg% ٭mn7+W( .FWG3i}īg2f nh9ngnnsKXfCV.hC0Cg3˘ 7sp:Д. [7Z5 og!YfoC.)Y"\v5ȼp g6o%B-|qqmcBv>_%yW+3?5b^ r>SK1/Qi4זaZbi$xI.n)sgq1r4of=ʔoƬ=mm!8WC'X% st^p@O_wh)qUuY' nYYu]u^ps9膴/Vd'='Iuv_"Z?DW6–,=ĭsmAYvOo ZmX`}|vZC&/܋M5qZv'SSIiwo6xڹrxO4?! ߳8gv8wy~w#+77"o'YoS+]w3ڔotL)t [zL!2 Hǭg' Oz/vGru/G{Z" ?{y7 uvX{'x;{- gv`{O"KzxvoC+ޣTqE_Hr!ͫ0Uzcq7xAz&}5wz\䀷v ?S Rw^]mg7QxIY?sqotn/ =}-nzW3߳=T,h „ 2l!Ĉ'Rh"ƌ7r#Ȑ"G,i$ʔ*Wl%̘2gҬi&Μ:w'РB-j(ҤJ2)ԨRRj*֬Zr+ذb6-kVrjײm-ܸrҭk.޼zW̴~.l0Ċ1Ȓ'S 8ʚ7sYmϢG.2̦Wn9زg'FR5ܺwDž7ݶ]n8iߧ2o9ҭo;euӷsӽ~}ۿO{HP/GB @$ؔ$ [!Fe*X"F$B2"C,"$cA*Rfq#Hڥ_`H?,8?/ *@JJxUN %>SaU~?&G>2[rĥAPV9@? dg&JДdĥ,H#fj$H9'ǗIYyygJeAW㤭hOcN$gytFzd)Y:jN^g6ꬤNhšs lJNBbBZʠU>eBS*/.ֶ*np,Ĝz:+Lq ;H*'))-0Khul.Z̚&r˒ro0g83Ռ]'y/alCxJlgY&Z9,v'nӖ9q>҂R e`CWY,wJߚ$ڃh閃% {%)أ#:{ħ-~X$zD8lm(/kRNݹ(e&SrAD("򛨾Kn,8yjNK{6-_p8`JIъ'#)IJ,wd{m^j0$ou[~P:jTZ?GA'c@W:P[ׄB" v#EL]OLx,q!ݲJ<⭬mbZ r/^E`-udKGǬ"ز-jWRh*Z"EZU+i}-t3 ᵭVIJxH=YR:HxQ<%*Ǚ 2C\7khR%i1^.a$(l%T"b~quD%4)h`2k%^iMV è)14bE1{U&frY<`<#q3ѣg( ݔA#ю99BGS?3-yӞ@]UPԄήSj=V ЫTdrɺ֞fjԓtjakׇ>Ϯ"Q7 k6cl%'rY6~ gGS=i·Yv˱R;Ѷv;݄[B*r{ Zu*#ip / GK&w^a?c<~,-|LFy; EOޖy9'Fqd jyc3]]Cϳ[FrM r1X:.)j}kYE)Nu6I`Orvoٞ}){1.9^O7$v|Y"|yK/= Op$U9g|g2sCF}XxߴugFks>"tj~K4O凷Xy|Q~! u|< o{;# q2+)KYDy`UQU O{ UQEDjܱEI8ȃ0ygtL\ QF rIp ^e<B`E . V\ HPB`$a  & , uJDF]L!L4` H)TaH !QaZ àΔɒEBP "O)"R![!U᝱ᬌ!VbQb%b"#n"*'(BZC˘b-" +zzSyEhY%B/.-B 0JDui,EшLΨȎb"##Cpf!cIEN9E0VMY S2rc9:HNGc!.! ʵ61:c"F#d)K4HEEv׵W $E^@6c|=$:rdMH,=2^dO"Aج L|DIPDQd,."nW!WTA!CUS)a$cV;:aAc[j}" { &QFcG"3Hb&I\rb6>edd3ZQ_N~UafD=fH%.:ĻhB#`^CFC"[\9ze9[%gN_*hiOve5!t^XTGcؘ8XMu..5Je&jfg66U$I2NIIrFU&W[#qʕywf":@eEVy&-whaL$n ˨Φtٜ0y1V xe݂>%mS4d7hm< y$`8^J7ZN@h]6nnrj aaE\( Hh(*>AJpU=JF{U${f/.P.*6ꢎEhF%v aIKTjyUߨiWyjŜ'*t~1ڏj٠t jJ bW9bNc\N*d`9**jU@j]$(W׵NF^Xj N&u)+FɫFHCƊI([9%Qd߱,JS>i Elr&'kQINbjN++^]V?WzMǮH'y~̾eMa%>Bml&S*Bേ̖-т)h撩HƢJ~4T;YJ1n)*ܸ(kC"FZեq ߲K&"Jk^-\b+f'|FmmhZvj HZ+S)J C]K$А%Yl1(6!͟X.6,'C؍+YΨ.]2'^n6.M 5 /z0U^E-oޤfn&GLꃄ)Vj}Hsniթ9m~eH㞨 UbϠRS;֣ʢY>b-,85+p mjNcg htlT/ܵF.Bvn~Z)`Q8ϒc[jJ 0\lŲ1naZpA`Y8Fd)RמƓ<]l">Ƞ/쁊V/bPm#TLa EtW2>jq$$j4KrU},$Ѩ1(BK ZQrTצ"ߧo4hR_̾*țŽ`H17W!o΄ L1:qso?F/<%r +2H<-+UXMt4kF<_m#EsC\:vo  A?JVZJI/_6;Y?\1sejndE3BtH4V#%PS#DQ0M4,t|.iO5 JOcsSPwU4XJ{1.ToDyuNdc9\r\4]OC3C_[Xt(YvB6YpMjiYYO]'e31gUGRo>5tX?76j5dk2?i[6icsmogklNGi tΏ:tV 5o hsi'X}+.9V7f7$'_ 6p'7q"wy.Hr+l[FT,x.}0KWg:woocvg7|,ʴgXimwC<@SgbW_sE8g/bf bxa QyFƇOf.kosw{5Ssƛ(fBeӂ炲a̸B䥍킫ePf_ue08zzݘ8hƮg9Ly8[pŹB,6\e59ܥ]ZGSoGGOܓl0zҨܩ(ɝyq7{*ƘTofx9er,: mKƫǺkzOWFF;SD:b,;{o4۱y'oit;1{6_eO;7g ]"k[pL`Yi_[Źh{\#e6Ψ9a档]#g(<9âa`]|<ȿF^9; ѝz<3l&8]ͯxkf ;^+zf[#{iۅ?}G}zCZ;]cmES=&_<+}ڧz_w绯 ~F~ {EE;>dD+[wzw }@}>/~~Lȑ>OS>WzWfmG˾GkIq9/43D0V S`>K[1{ h pˆQP D9 48P 6tbD)VxcƉru$?xI#ʏ"/ҥM`Ɣyg͎ {Y*K6ujQVzkVAv:%LbzveM?tU ؔ%͖9(Ls̡p`N6|q\z_2$:vsN<ЅE Cbٳ}wnČ8HcvmөWxv[}_[7[ٷ|ׯk~#+;!%j ?V!/)-\L<ܐ>/;{08xJDVӋ" FN0FBl3%Hiͳ#"Qk<H s2praI▌JR+El3~ )*b # 3$P0P] &L3'"KJjr0ҚK.?/\lC[PQP,k-8-r )IO, A/ʒW?TաX[qLgiP_5ۮ oLiqlS dKeTk/!lݰZ{WL ymJWAi~> `mE<|X;&a-c@ޔamU>EYfVސfٮlsx+]#6z7= {Z"G>!:q$$j&&ژ1"wnߞ &64%."#7q*N| {b"{/nA+_\DozhItLRt!Eeo|Akڤw/*ߞϡlVM=^"B^}0/}@HD9 X@OYËb~^fg~^ֻImwKT:Q.$'y lF:]-RAxyd )TX; $"#4%"CNO H"XF F'^ߙ]5F`sK-vH42*QHjqΈ4rg!D֭pVv$$G=9H왟,hH`!'^VdД^1ɕaU7LcɄ$KȐx<*h9N"fč-dŊ`%e %J#%Eřa Rv Ȯ䙍Wxlf3`y(2>DX:җuڏAcӿdLt !L%]jV,oV+Tlҋ6Ec^$eC PF*qBhZO)XEo("j*"} Ԃ ;ں#JhR1f0OI%Q)w=eQr3;Qgiϓ.Is8GzJ_K'yN7ªYEPN˪t?*9*ʭG嚙MGC)ɗx'gd@)uh@QBP>Z=E6-\2ƥ~seIZ.]ZaٍewܘUqZH*b9)&tr\.["{ޑ4^_DfTj~S̛tMs, 0< fXGqSp\Lege&nˬ~ྚ L%ԽE'Xvo86WSs ebT%"%4 ״y享pr|˧w<Q)4`Y ~S=k)WKI^\ʶTKt}=vc0[PL!lW@vrڔ̟ҜgC!tNcS{s&hBX>%hzѸ:sn^rDBb|-^}ZP ժ=`f-Oj`.ȤVHϊKObV]~ߡ^7ƽ)AJ`L/aٔcwNM9oVO:*=i,4RDT(r%l*O0vB=L2Аj¦0#76VH$Hc } oEN pPKSn0+jNzep"C156*M6[,<E0iI{IAo#qoG^0 Me1f30!Gy.m(?"p1qe0h^,yK|Q #Q  gj҃ı#R!I"O"-!+h.#e&";g4#Arb>$9F$OGR%%%[2֑gF%a&wR@l"qjd'>|򉄒(=)82*u*2+'+UX,D*ɒ-,Y-2Fֲ-)-&.YR&-,.Q/!/IDP wR.ҋ%(0B+,/(\bƂru*!n$1/%MfO$ bI*ŪL+Q35S<.c"-R77S,'yhHPR$ Ӽl;ˢd7rQ2: 8 S]ee 3B\bۜ<<ϳcv6K.3L?C5r+@4eABSB'@ك jg84 ADA3tf>vXA=\D1Qa(d(袍81\oJH&2TTtG$pSL4642N禤&KFNFcCC0I3ƴ,I}LCLm"NN( TtK^p; L#3ZTTQmNSN;N%NhQYOEK6A6$E 4S۔>Tz4 J%-KBJ"n4N8=.?=%TL#NeNGOk_dt6USU@;:ISIQEZZUZQZ+t'5AU\\i\M]SE]ו۵KߵPU^^^_SL`N``s`6\v.a[S%jPm:c?dCVdGdKdb1Vc'vea&[V2f'g9Lf(sax?^g{6hhQdhhfiU4BLVjg/L kklVl6FkmVmזm6s ; kbi$Y7h5~6$pNY./usr/IBMVJava/html/enterp/en_US/gsolent/images/acrcicon.gifrc$$GIF89a,2 dڋkؼoy"pCp_x')l1tL׻*!2y;^^ kz i$l7h5~6$Ul./usr/IBMVJava/html/enterp/en_US/gsolent/images/atdevm10.gifrc$$GIF89a,0I8ͻ`(dih@,tmx|pH,Ȥr9tJZجvqxL.zn|N~xa |~O`~ >  PN 3i1Ϻm5h4jaټݐ]ð Ǵcwk , %618vݿ}nјŌL( 0q*! 0%'ɲhI#eh&(?ФE>}z4OQMJԔ`Ê0KI P0 Y $[系G8/W{ lr0azv8kBKJ fϒ@BIJ$.slTr5" m\ZqðwrOƂ֖L^M̴~:+pяQwt~#k<7I{jt#|P@A b<me' k_uםt'.מơ8( |m4EVATkzeUn-gU&޶TሠnedY+@ЙRL6$S 'JEZ\2 '`)[tlڛp9]xY z矶Šj衈&,裐F*餐6J饘f馜N`i*ꨤiꪚ꫰*j뭸A믩 +&Y F[VkMnKmk䞫KKZ`!{)\ܰ RY\Y{ ga|P\R1c2͂ d5s;gs;яK;L,4Cz"3}sS#5J5NUb[M6_]hosMh5\ͷ3ۭ܄cSKgčx'8g>E2rԠN覧5ꪷ2Ǯ/~..a/o'7G/@fŮqfw/o觯/A\LoL@m0Z̠7ȃO~ْ+YԠ,L W.֫HHBޠ.̡wC p?PGxHLDAOF\H*ޠc.z;"gE hLc(2QpF э4G Q I"{L"iC/$#IIZ&3Mz(CIQ<*SU|,cIYǎN8^ %$Er--9F!&$ZI4Y`B 1AnzS ĞM|ą5?Mxl錧pj2}0;+ g,3 spbC,’ā=1.+c,>ܝ1٪ƺz|M![F+%3N~_A)ϗ!}LF-7^,qfye-l59n~O,gŞu-=ٱwVAAІlE3~t#-i S45MwӞ1C=QĦ>uSj/~5e,Yטڵuq]]#Ѿ"a;>ik&ad6,iC֞2ɛ[3݆Zl[}3[fy{Y}{\Z?D-ᰢ NLѭ?]񅸢rαhj7Gčjgѡ6w5yNt 46;G[] {^{= YA= ?MpNnOxݾ@x1`m|ypϼ7{GOқOWֻ|+kdr/`O_|sy3}O[O>X| O{OH/sۿ?/'X~~{ǀx(~~xyD:Qy{w{#| |%XzX~ׂ}|5y70 (@~#sB} $xG'(DŽ҇ 489'Ab}'PnA&hI"Ȅ+,.4㇇uZ~G~ 8Xŧ}K؄xprwt{3Y~~胆h|E#*h'(ȉxt hX`8~xXzogz8|}x~јxhOHzX|`|H8x}W<ʷ帎؎>F8XxX؏a}׸xF7h9AȐx'H#i8(dHyٌnɆr99Ӹh؇)2ybh|q;)H\(.H^IJC yPmRiz؉@h#i_Y@ghfMSiؖrɉ7艘hxYȑNJHz5H8Dəv9טXeXz{09IzEI|-74y)řiɎɔԷaɏөgA( iY )芖 (Y+hɒXɒty_َ9~y!xnA)TY'م* Ƞ:i*Uyw9=xء(87VdɗM=8yl衠9:<>C (y*XHzK:HŸ`JkiSUzY|ي"^aHoyIk:my騌أxИ(ڨYvZk*]Fg)ȥǪ92zz|JfyzŪ|egzǺʤΈ|z9zhz|ȕ̊z ܈Pʑhu H$*w( ۈtʓ鰒hv]&K,۠~)`J:ڲ(˱x.y؇4Ϻ} <ٌ??K+˭sj8˖dh* zMx_{FZٮ:&e9 $KTYk)X竆-jJm ;u+D+YYz*딇;:R󪸥K ~넢pC;6+jK+X,_a'xKۆMl[A|]۽m˽˅ڢ+Zx r*k+[R +* ٯ"y+kYȮַj̛XgbI*&$̫'Ω,\}zZ: P 1z[ygjՉF[;<9ĭzz+i+X9웙 ؅)}_|')Yya< k^{K|6{B| i ʻ`ˢXskxhGl[ur<˯cኼ[ }kJ ŇhYzL˫ɍ<˱ʱg@yI{Ph{TI_˼bZ̛El u  tۿc.JkꜾ쌾'Ǔ;j{ M @|^  ѓ*Ѱ"}=9'{]y}3,2z=LӉ,|B#=F:<}ˬ[ɐ:R })^ e^x]L<>Ǚ,w-O'ᝪKxؼ|b,@ Pۙ 6ʱ ~|nunU&-ə> }nzN[YnfNўN ܃뻕@+g|,]\г쵮鋙v۷.柞>SkOL})^b ʺ~*z.7Y>+,ܾ薞8+М~(zQ)qp O*͓~~4OnlX,[cJlLƾO/Sړ}ʝg/ج{/]oM8 >K/}+0Kn|qom_΃(֮5k;H,NH_N௮$*-I-θy.>Ш LZYςCq$KDX[u`i  Q82@Sj*ecnvzyB)h~fi[{ʾy c*PdH[CD hT}ULZ24\Z2\fnт)kI]6K3O+ Ex9Sv'hMG5S_Ч/_ d31 -u{wQ)vcOH*ѢH੃\ V2Rd. NPNyQnDPgQxm=- acX|XȎ2"%̘]*0Sf٩?v[fyk4 ;:h&hF:ifi:j9ue.Fk;l&{S@;mY]}Ӳl离n`jbqp'pGz?xzϙ' >}gOpw&S?Au}9 ywAķ?60z `7A >]MρQA '\X$ |+Ve8І&!.9 n~ i8D"VGaDu~5̍8BPWDb?9Q_|"B#bьZDck<(ncF:Qc#]輶я+ciG⦇{ֶHd$%9IJVҒd&7HN$q͔De*UJVҕe,GN֒}_"G^җ&IIӘDf2 6]әτf4)‘MӚf66l˻V3^P ni\W2u)T[Xa6pmb:aRbmt6*lk;t]iqK@vu\[Jݎ7ssջm| '^ܑ]kkb ;_VԾ5/MpT>ءgIZ7`z Jbcq!9WiqShc'c"27EF2+m,d&MC e*UƲ7e._s]Vf2ceFϜf6msg:.quƳqc>t=hBЇFthF7яt%=iJ2; k  i$7h5~6$2U./usr/IBMVJava/html/enterp/en_US/gsolent/images/atdevmlg.gifrc$$GIF89a𠠤,pI8ͻ`(dihl뾙3tmx|pH,Ȥrl:h جvzCznߗu~uruU Au ftǙѩsTT67˿Ȭs#gw*\ȰP<23vO50 lCɓ(SF{'`r#GJ P  9TѣHbia 2xo;Ǖ;g1ݝ]ÊUJٓL+8Y!TjvZ@ Z,س ֪KZl[uՎYAn5Wl_kTaLJV cuī7t~vM6 Aq4ߧ @x[@wУm?W*vd\ʖN|m&;X97O`߿pg߂ ݃SGDW4^ ((a(,M0(4ŋ6<#>)DF&L$UU1h0e[se* eMi Ozd~fo&d% by|p gehg&vbIhb}F*) &Dniv*fM~65M.ZS6檚BMj뭆 ի^몞[`*Fkl{,Z6JdeRdi^.vm-{i;/׾p'on2Llq1O\B^|Zֺ颌>3 ${ou 5+.LK3uTQLU0Y|^`ldth6gpvtmv7߀.n'7G.Oew砇.褗ι@z.n;V?:C|77Wzcwoy7Ͻ~~wy^מ?'Lz @x KF1; ^ <8ΥO _ HWGCp"` o81!%pD#S pSaa.zz2\ x12̨FqӞ'@xc7ig ۘ0q?3$!U'GE:ÞQd8Hћ7<9: `iTv=ҍP` HVR &8(*RsP@J) he!YaTyf"4a~?*#%[:b<Cz#gyρu4=\a9iBrsGÀZNH 9QN*t& 9D^^LJGDc@00ƻ ʁ"ӛ0Uԛ6L='槢CH#T ;Y'((Ҳ5v- Mԛkh@Gn[PM~64g!ZRԢxhʑuubα}ч{;fDo, tWI(;Qs6O]73ܔtnC[4ȍx H+U_xN閮T@!\{.OGeHr53D~JZL|#mX#o8ᖩdnK&kk@w_ îhr#N{c "=3|l^Q4`PϹ%l>]@ yޒ\r) ima?M3wAqtm>Ǽya4=:0 ȿo<7LyauWF~9gB w@}wC|}CQh ȁ8VF~:b%.H=HK3؁587|)cBh>FOehu꣄ÄDh-hIGHe6XHe^fxϓRaX@yy9O؋n yP6XܷIّSy&9S*iQ+Y / ,y6)YK:"ɀ }- 0yD))593ٔ>YP~GAIVyM2\uG n ɓ,)I]^YSj+珱 pY'vzٗȗ~(ɖY}Vؘ9Yq99G!ٙ9YyٚrT{32USS2rA*ԒJi.*%45ʹ+[+458.)&b)ٝb4G4($5/052ө25+.20^99y0").);B-@& :ҟ91yY$10%Ҡb>:)U%*Q3sZ.PB32iܩ4o.YyRB3*ySJ*8-!z,b`jlA֘2p b83:J)B(Y*2(n-9| yڟpj2è)~Yԁ*j*?2XZX*ڨB 0ʤ>㧈Z-K:,ylz*:CpRƺ+3zJ3Y*.:t1}ڪJuR*z/*1 y꬈Z.ãaz4cBM*ʬZz[ڞmZz3:Țފ1bګ$J:肬!(**: z<r> *ϢQ6+6jLjD":HK˥1ڢ_ZDS MˠQ[E;+;J5#S*8 ʢiʛ4Ѻv[ j"l+5oku|K#Y۷;)pKj`z^Щ}{hyk) wK빩ۺkk;{z38{˙+Uakɻۼ;[{֛ػ۽;[*;Rо=` ;K[{ۿð 믎; \ QC6x+ <ث+Piz5$"0<2\;1)a„643]8=7 @oL.znA|N.,"|"(& a ~ćOɱͷ ށ}+`*`-ΠѱBC !aCYX癭i2BH=@$?DDy*@0cr#bCE8 :A tAg@P{ SerRׯhbP .Q՜fu/z~&I@}K"~J0cÉLdϖ8fNf9E ^ڷS]r6lp]RMd6 Z,[ni h "C[J2.b ʷ;_oOJ^b ;Ӫ}>qZ5pGyl1z^z9HqVɧᆃG}5M# LA4Ѐo4 ٘㎄uCf:P&Ǝ 8Ax$#y⦕c]vI n!l$N.ӑPaEg-/qM#J%dw,hDr uB@[$Z%q"Ȍjjg҉i|*무JB筸GG u ԝP&dzF+V+hfmla J~L~mJnJn1fd 2Bk9p@0nZ s+,,[/@ Ӂ1wqer$%q %-o!7f<,O$ )SJ13C.$ :<P3s!3P>Ml5I5`MM-v.=[ k>lXw 5g?}2I~^S[Ə?{θa/gdFozdt%}K@ˠV%5Ѓ' !P*ja /'o "KlBPy-'3 /7yωk Wͩ\,`w6AOzpcBEˑ0{ۢnͱx 0H= PHtHK v Bp+$.O<*pUr&|,qYR._P]&R0YFH2f:Ќ4Ij*3^Ȧ6+kz dL:v<9Oy̧>ۙci @:P@qM@Pw29OYHͨ9 LzhH?JRxR`(JWN,H1:ӘLMwRV$ :|B5>΢&ԩ-*NX$iN@RVdW Ֆe k[׳@u=AI|V;N@IA}ఉb'zVVE,Z{YcA{WΎV]TS5U`θ ] ىeo%[Bt^ըƄ鱯@lrUP,Dːs".q :S&7╨y\ew$1ZרX+JW~E4ɕy`wW ̹Z~-p ܶ{Ӻ\:s.":g.ϐ XnPq;O޺5#bn8&ľ.N;'  k~}'iesyLJk!r-v>oN ?U\D ie04 sK+YSqN-3 <ڂwu5GEM& HJV'@[, ,.'k8ӈ-٤!n>uW-jc1ra+YΪ7fb [4S ~]t]lxNj!zݔn ݶ-Enpy ^y5%;߁޷ܐ3!@ oЁ^ z'\ XnE_l jY/WLyuN`v6D! }ȶ4Rr6'r5ot釿."`iWJ.rWfrs*;ovxܞ =/O3:cjL=qO޾{KTe[r$ eQ T0 9'ork]ȇqF\ VPru,UTtVzv}[tNtuw7jyuV$`@VuHj jvguuWv P_0$w|Ɨ c#(vP}E(sW7W}Dbb&UY"w1x]' c-(vVi5j8UhNsu}F;G}6o&DLX6YO~] 跁TT]`chvXpi3(8Hx!y6hn,"jTk1Uu1,8WURv 1AYcшfT`X[vq`"r!HjU_UؘY|hzMEJSSN tvre;zAN0f`])c6b*x9$|͇nwFd/B6Ps0蘎1UxhO-eK﷏d Qp&'yh% KŒ>y} tFd]I=kAVWTU6U]Xg=tZTXO5vODI36D<M%'mzgFVi{YPz Q]U=V>1BLryP P^yiPo5ehR eQU> ԖCH阏b|R5ƙF%ْ?i2%DTٚcveP7)y@ p)uɝɜߩiYkiF^FxƙQtIҜv*.Vy*Tg*P9 D)C)XI @TVeYOBյVZNZ3MIѵX8 Ţ9X(U o)[70:K :-ZՕrԣ>:eB`Ibȣ24ENtXZdM\bMzBsfzhjlڦnkꥮpZvzxZ''cڧ~L:Ԟ|eNiIU@Xڨک"szĩJF5jErڪ:NګL8CYDctwZ:G"J9Y5J.0Zzj`z+䬷f'*J-TLd4p@?«k-w- [bʖ(m\Yd/RbΗưzYhPrvܣ6YG7K6C:c0M-vM$ C)Ӂ.TURv&-M d"mDJuD+snt0yx`R$knG~03G'n>%V _ER"b ң1o|)Yb:F<дu{ևXKGZ4_U`Z?5%l7HE4(V~:I90rF"sJw٘;kJ΀$ bq BSBtZ3}/k=к;y99K/p{:WeT?;k$$8f'iϖi$j8ds܊E$ H\9ae !fC7h7^!l["}>k0C<49Sk` 6(3kŚF8d2\E<0$8ZHv@AlC1sƿoe+&'>XS8٭!l``~"tF>EF8,<sH:,F߃:+Y`[Vb;Z|=$|#Sl"h Pt@Ӵk" D;S l|d,Sb:g /VKĐSD,Ģ<6ȍ| [,3M` tbn dvqF4ȪMt/ "ZOα,.t<\)6zS zU:ӭUȘ ,[ ar:yOdNLG)=O|s]v_j;Q+- H=Q]/[=]]Üe993d=pJ>6CfsX /w}P-Ms-E2هlوo-+ڟiPr~uM/رkSk XKöfȝʽ==zսܽΒ' . ޸K]L ۿKK)_I]߻8 Lߌ%ejC. { .8^[~3 J2\- R&.38`5nⷓLijmlN5 ~8N:.YFgO5M>ON5 [{ 2]*|a˶l9^|k7ykuzpn矎UWF%컴ҾDԎc( `۾lf]/NHY˾uJt9!N/>.^lo\j.(a"0D mD֒'Rua̼LsJ\I-L:l <ƺpC nP3,?"~ŗϲMsSd^&w"D@oQ\nXOo/nŧȅLܚʼ-QvluK܆V͖@^?/h߆z(O /ۨy=ڲ\n.7G4.?j d~M= m7DeqYml.r"󚖵vg˃$#|帴8%f {WY޾߳k~h@LП?LGbI$±<bNm %R^SZ, ~oSiq8j&ZG9΃ڕp87,26:>BFJNRVZ^bf>@izzYqeLr*~. ٌ u.+"GKOSٚ2osk.js'v>%4ÿXauD!`!Æ KHE"EB&y )r$ɒ&Odxea-iŌ8L+}1`:p%?u(x\`*E(b͚ʖD(VM4gP LJ)ڢ:yr3or-it"u1crI_7,@< `Ͽ*3+W,h:6Ԧn:ľ 4J dY@˝ u\N/_LY=RˉA-O-<÷8k?RM6Uv II`Rh&zY{ p#&b}:- $Ѣ魈YDGl}ǽp ,~W4!K2٤O^T=U brّ]%BcdGr\\Yj?@w⁇waAاTzhJBg~!tˡ h%vM_jJ6PXK}%Xogc^#h] AIJ^' 1mc҆|ٝQyޘXr駣zPcb1DZ;@, SXyh_'ʝú~2yb2,j4o:x5 8%?!r 1,8 \E0:I q L.BdE\™"EJp(5sš|I0J#6 i \ 0Vh) A81Js\FgVGR&1U\$%C6цJ:&#< RIJވX*[WҒ<%&M?#"{qZҲ$bBtF/3vȤ ,3iS";ًY]r4瀉pԂ47gi*іQ[!S 3PHsgPh{3.,ùOx4QT9%tGH*aG3g/riUƹYsq)|/\ _)Lfk 2nN{ bBXEfqZrPx~Gk)U~C<7YR\6-phuiy"1fͅHsf[+e(h60y5b')tk Jgq||z@$ƕm)<5|)ֶcVDq$ᨻYĥI%p(~f=p;T5+ą`;16OU:/Ŝ~: ]8en/'h@kk^5]rbBf][OSmB Za>3B_'(y/}ǟa] m=`  OL_L9N{%Yq[xMWYV X4߻ Ѡ}ؠ. ZY>}^iBQ[ VىMN`ҏ ߍ[PblmXWՌYmM! VƜ1:$6 —'eՏMoY *Yi^[f] /j/Ƌa廓bĘi e!q^-K\åނ,9_iU9n# xD=O8cpt3b6i\Wc<")\=cAcC&R4U#TI9F?F$!` $*A YvzPPx~)`}g) i$Z<&=iǜ`cI^ JfPl7~#|MdBBu8b>iHi{V>MQl*9 #P jJ@_ubh)ZP_n}9%j撛`Ͻ` jpߝj4v)iz ] c%~+V'>ji͂A _+K:DSdJ>`bd,%nZ:!ZQ&fcB,/Il kN^gl|.%fkQ2ZF,F"#^b]%v+J+i)mŵٮEQee["Թ-V# nt̅FZ⤼S[JRㆉ4܆³(81Yu%Oy&!ߩЍV!.Q:UT:ngInF.gf"n`%.]|~6!.!-vn~ fA3(gv6$fRBhHg:*wz nwT-H/yx/en;N. g[̧gu"2j`Hơ{yzN!/QM-^ */_,OpLj!ۼJg [!Vz!YrM-Ɵhj{XB/9)>/._)Sb">O0tv1-iR.jNVfnJaeo/Vio4*ڧ(Qk2:.R56D2!# oR'pQJ-#0mI)V"+*=ƫ6er23.(1-Zg&/Bniޥ7nmd-x]q~gl 7C5$*7lKs}@)@7.1<;r=~ 3BD4P4m9XiN%[$78f)߂$R4!WLg6 TtAy?Q42M4:Tk;e%M.羇WTU_p``4c"+ִء&cnV\ $R=4fЖtV0])kw4]a]f/|JAx'12챰3Kp0,B)XjJ4lOɆlb'vp5 0pu?0t%ps7j[0 [Wk};?L:kL4v׶G" h0M0wpdU7MPh* nq>!vw:W?o,k:w& (mH;}>2% B1ꐱii2/˘r8-v; bd?V8oq@xn.r"Uv#g6sI.SCz8'GmrA_'(K^4wժ58ކb-cb/fAcⶪ~'5/hS0*1t:tK5b` W빍9=.PyB 5>4򁮝z۬nOuZӳE3z74 G٫6;9&;cŬ'i{wsHsJK9!G/OJR?o0ߚ֠#$*Ǻa+G~4S/#._㷘C{Oto.M *$Pod_$;u{kK%.e ݖx:|8D FlؠBՒ؋` ܭ"%w$5<̔ l!* Az6s?[S2گ3LYa%T1Hh*-i6EUR]j2 } -t*5ijM R]\vM3f+dӮvmNkoxAKF]o}ִl=H9{ixMmy{nuě1>Z8fo>7?~Q̽\[z%<p!7u1z76Q^pYD߁58,?5PašD&x/|$^!w K6.m"`Lj/ÐF°bSi]c(>&#M(^~X)\e\~e`b/ObY刃mi ^PGǙANjGrVʨnA(9&Pp&Z(&s:72ʜ:PRm(šrYj/~JhfbT z뭖ꨳZО߄ izdJ낭l2k6>52ht:)'unl-Ն+ IU뭸.7xE}hIP=l˧x;gxë][GpoRtr g:D7̋?Fg1SNKͼS6C ^m.ƌC;fsK$ FW%`TyhtdwYZM8Vsۛq37ˀMt󚸵UYx:#\p-㏇ ;SN6x錛/#λSꞷn |t%#wˎ^=B7C[tv ˱ ۯocouL@oF +fxu7>%P}\p$PRRUÉ6~ ;_T/N#ϔ$*(l#&*TQ+Xѧ hp!0'6u?4xNHuj$2jT8ka:n_8،RBBY^6P`)؏X@P%#II\vPP(@ej_GϗLD[xQHt]$4Jh\\] 4ȣpJ[ f9oɪźzyޓ٪ۺC%.=­ڊHhz F lʮᮂE.ڮڃ? NۋD" ˰  +a;*Ǻ ki$?7h5~6$T?./usr/IBMVJava/html/enterp/en_US/gsolent/images/atdevmv1.gifrc$$GIF89ab#,b#0I8ͻ`(dihJLp,tmx|pH,`l:ШtJ&]vzxL.zn;p]j1EqtJYt < wu KI /\ie0brɯ΄ [kѧX Mj/$,‚#"{j):@`I 15Z4R+ХI6oDIsev3}J)S%L;O <0 $+c^}P%ٰ\Jg[[ K)J RT&4q"^P'뀂]{1djd/M HyuċzaYڭ#=v}ڻh,H AoW~9ⴸc^zaNͼ+CM@I&0e?wo>886X~Mk va(<'*C f ^-B(]چ(b'עsR8n׎<{uADiLaPF)TVi\\vd di%lj)t֙&"v{矀jR袌6F*餐Nj饅V馜֩iz槢j*x\꫰2j*¬檫 "Y첡*쳘: JKZjzz sKle^ W~^- roZ^P{f G/ IE DO V: "w1r .$[p襼pzwi|TE _4=4}Kk,uPGz]}wuJWv9 3=Fg=L;tAm[=pAw5M5).rT=i>2}]ÍKjsͶkMK5a{6W੃S~dnz=:ޕ ~~'~zX(=[Ϗ9Я>S:0m^G=Yo LxIc;ev:YMl ^ #Ȩ(2IfLc6n(:ʌv( Iюb_A$f2R7֏!)x0%~ "3 x+ 3xd:VϒN%;+Q>5p%Z76gX)Zhԛr94h,i K*;B{J7j l3wGJSۑiBuZs1<2epR&>6N})@N3|2c}ĠA%۴hOJ %EG(Bӟa/zЅŜAUMn⨗tFutN, Pz@H!Ɂ!ʞMjWY6X$)e:v2ޮ}>[z8st VW]hH wK}Mn<:MoNr ,>R%ov BWU^׽nEI>"zaIޞp;Dz^%,^7la {G\) |5"wN&CGaQ<Faʩb0vlc';;N]bxy1ix#%xFs9ӣrxfLӰsgbѐ.f3N: 4;ϞR1-j-R:5UծcYzWrI=\Z̫h賿CBV dwp6RmU{~S{3 hW$=lt6ýqc,Z\!hg|- 7dlX&Q-FD8?/]½m<&wo{܎Aj%W9Snp+7wW'5s (9#tV\D2ݦ_|JenVӽp;׼˲;?ߨ3~Q"/L<C*Г^م?=Lz9nz=5ٷ87s~S}/|±`( Ne2 d-\}}[2`weArlQV6$ u8=D\BUAH#CC5&]h;CeB(EFGQb<@?4drӁ O*>U>&OT_&d~W]s(;  ;]!4E`&~"NRQd?dv2+?aX@K?*zH(ʄoꧬk:FĪ2)X\:*Zk:|Jɪ c4:b:WjEaڭPpZ몮U$ ذ[X z {'۱(Ы)I;i# ɲy2;4[6{8:۳>@B;D[>; kpdi$97h5~6$^V9./usr/IBMVJava/html/enterp/en_US/gsolent/images/atdevmvc.gifrc$$GIF89au𠠤,u dihlp,tmx|GpH,Ȥrl:ШtJZجv> @oL.znA|N.,"|"(& a ~ćOɱͷ ށ}+`*`-ΠѱBC !aCYX癭i2BH=@$?DDy*@0cr#bCE8 :A tAg@P{ SerRׯhbP .Q՜fu/z~&I@}K"~J0cÉLdϖ8fNf9E ^ڷS]r6lp]RMd6 Z,[ni h "C[J2.b ʷ;_oOJ^b ;Ӫ}>qZ5pGyl1z^z9HqVɧᆃG}5M# LA4Ѐo4 ٘㎄uCf:P&Ǝ 8Ax$#y⦕c]vI n!l$N.ӑPaEg-/qM#J%dw,hDr uB@[$Z%q"Ȍjjg҉i|*무JB筸GG u ԝP&dzF+V+hfmla J~L~mJnJn1fd 2Bk9p@0nZ s+,,[/@ Ӂ1wqer$%q %-o!7f<,O$ )SJ13C.$ :<P3s!3P>Ml5I5`MM-v.=[ k>lXw 5g?}2I~^S[Ə?{θa/gdFozdt%}K@ˠV%5Ѓ' !P*ja /'o "KlBPy-'3 /7yωk Wͩ\,`w6AOzpcBEˑ0{ۢnͱx 0H= PHtHK v Bp+$.O<*pUr&|,qYR._P]&R0YFH2f:Ќ4Ij*3^Ȧ6+kz dL:v<9Oy̧>ۙci @:P@qM@Pw29ځAͨFidn|FE Ғ“ NLҖAK#JҌt.EiJԥ0LI4Ԩ):j}*HMhT T&;ZO Ҡa065e%YKpϧUS}ޙֲ5u]+ a jVJXz,j`XI*"7}y% t}U$YŮ~KΰhOթ6׮m^mg`tʜU}s$d fN3 8c/"si{рz9a|Xql")I,}8"C+\9ɺ _^ZCc]K)X<~:xy0`$6A=brb)Tư ,kٮ|"C+|.3YIѣ00Զ`]CZgX͵RCZe8N  Y@a,o6"(* iƪ^bNկNNiƥng=/vFu#^ZVaՐr±.qd  rw%[S }cL#|v32pRgzvqY_-X 7ŧF-"~8M/j^ SH@!HE (Xe`sۼc6\+`oC-f?xf9=ֺ62msf:qYp,5 {[-9?H @>TEi@Lyi]{Y P[ͳog}+x.mᆀZnxޞ!M/bOR;CnMטOU_ɂ}kw9'c"g3('&`_OtZDRdzvyfnav}Up%hW"Sqz4Gw6~QV~D'eGw~w FzyV(V`Du'k jǀ|l|}$vigΗ %Hkr87うV~b bfA'u|~wf|rq `PiYeE׃ ox`wj\heCgQ(DhNH(u?(qu`$8 xpa2(mCvn^(febXtT2׃Fh-"ꦉPn}27Iy}x]@ׅ~7 GqZ;A%qƅUfxd"ݵ !(]c5VX8to@Ƅ@u`1nSure;azhN4d])2v*LŨ8W}iAV#gH+dXHX؈d{R(f-eQ}Hf%i=ɍׂD9wXNYvaH3Z6UtEI&y[*cAW|vY֕)ɐg7I^%7ɉOY;9K$xiS~xepk})Zlն OOeq)h9^9dɚ03GQiF^FxpRq2i*JsZP" j iRf5) j|ҡjJ%ژ!M1$/Y,uVD4Q6k:?*kK>Z6e5ɣ”J*QAZPPNJRKTZIN4dZfzԥMhڦnMz+r:tZvzxz|J'jKѧ:ZuR򦊺ڨ_T2J9lꨘqکN@rzdڪ)󢥚ZҤڦ*G/:*zʺC8tEo+ c(Qk-r{*t[XK)bW1E}3bʋ$[+P}WhE:pĸjK (c@de Z5;@K2n @zUS Csd%m꧰ʺzg{NjkK˻ +Is@4V;  It/,PF%8;KVd{94sY-`0[:uhSE8$7v-wiy.Hiks5WkLt7jK3<\8GkYV "e4E\GT# `)c< ۃBA8wn;$įv%4ܾXd@C!bm΂W[ˋi.;Na΋-=kC=r8~.,rm-77}N^^$йDQ,^,X5Xt[3(6Nmy-J1v',K )n¶p[jrvTr^)k] ʾ ( `nCfEIN} êYy+ʔ\]ei 4$/Z%N.R89]-aƊ׃@~˧,O{%ϮϪn(LzuDpp}y`DPˁKy>tӺ#-wم έ!6:>୸XnaZv]}ID(ZQ(2 #'+/37;?(ASShr$KT gL_wjO~"Lʗ`B4 YKF  <(2$ɑ&K<2%˕'oLToO.Fs'ϝmUEO?)h`bLB*u*ժ;]@낭^hѣ2fdҵk,Ys\Ҳۑi0~*x0`:@@,,L1VX@ikT]zqqVzj9G'fv\x7o {lE3Ls+Q0ja;z=;#,N<|ݮ%-Q(Xq~ڕ\"pq0 2H'dI ٸR q-xkLE&J8آi"(u_ [|L4OVAUXU~.E~^lfhdQi[LG'p &_^q:hxar™q(xPf|@{٧ZT^'B6`9fK `DVd"&_tt ixZn2) bڊCRRk`yhI!䣐J*FP@V-bzL0>;#lWTfY'Ъn /|{! jIV$ko.Hzz(n#Aǐ@#fp _dL4L+C;3 (zA똀x)a~i5 ԯ"2`0baq%nvl&Í'cK)z~XK1U\5dya'`Q/(D6M"wIǀqz^x}lj|#y,:nLwoF?dzYѓ:䤃ɴ>]z`4yj9x[]g} 1vGͶ_n;rvܺT7 iI-Xz;׉){Hq N[ӈw"}hZO{ En7'*\G<Z%l?ĉ9DFa&FBB5n4*!ޗBQj'`$N5AFԀ71b,&&40߽GGuMbhCB#PT",{h.9x mZm>!2?v ,ca>q4I!JCA)&{i_r#Oz,I'_;"RӘVsIKoz3D&9̃1Pc\16.02Iu<+m(54-a3"4>44c#jXx1;>*/1*r l$39 F&5F+ f'Sԡ3`D9њE :/:TA<LH)ԙ5+]?@A@Nj j "Uvmo<9 Y0TPK*¦ddǦKA}xn uU@&7M]l&$XeQm]V_*V3$ Iyo19ϲXB:'kt"ÞlkQ7}m$2 N D=MIk laZ~ԟY~[URo=;--yA5{5k[Z}6Q@bk]5\Mʖvoc<5.Xcщe3u`=Jc;xkJṼ+C)Y2ZX7ޫ1tGxr(5 Pq1ilZ"rr{^`%k4>6X-llR9߉QsõRֈI3XFMAo،ՠYi:^d[[0˶qxL瀧@A;ҞXd^?ӿ.f&)II6Z+ 6V4wi0&^yOew}mG w+-Xu_7؇K̇C<7Cwá< ?F5y@])jgDnO'Ǡoֲ\9RdޙτJ'&ɿ:'^2(n{)ωtԥCW8:6 ]([A[>su(A {j#*'m,JCx1 A:;VJW g3ǝa(ϲiM#Rp=,yvDJ=ή\^[V6h7#/vO vdybnVMM%^_*'E>:"DV2>w)CozQQO ,LAWQXdr_;5\Sށ.:Qe= bPGSEf% $TZXKreWʤcS$!ʩqZ6WK_QeYE@Zb*&2%^!.-uK\\Jڙ] XP[hhI Dd݂]Z9fR%lYe0^QM_]QE-X-ldYɋQDllVbQ-[hhў gFfjrj%V֪ ] fcra]xJer]͟MМWx&ҧu8aiA#>N1aJBAjBۍJ$fJ{Jg_]ر(eQrHdE*2N`+5z*W*dVBjA]$p.ꚲ2oa % &k \ a+&鷂kd)UΫޕIG٠q&g!ZE,Fݦ.fpn|d[ZTÒ,XkE髎_^6TݕZfLl,#w+p-Ϟy*U5fRg,큾C#-tkY&&f t4Sn^9^_pa*m:,rn.gv-lBn{MBޖZ )N` .v4pT.י ĉ py0 o'p2Nn q~Ӣ(ȩbЧcML6/~o*L.+?ܶS:EZdR-+l1B$Ed&'ߴ-yz.VR2.yѲ]rjrK2!.p/ܲr,;~(e[~ X.kW“n#T5;&/jrB(s:s"s/ED. '1='1e Swޖ3nVk-Zl') 3!'nnobi.0?Q>Y\iW5DA2NoQ3l <'3!ԯ ޯF#TZ)Su+I.2,)v)r0HQubBVhZ1Xs3 SY^ov2`c(z1l,V^@50191oKqfY:žKj2+wY2t{RGERҘGnƮUh{ZbS.[cJ,/^rAON|Ϸ^+8+9/C+lt 0.ꄛmD5x2%YF74۩Rgs%m5{/b·wns|e7 ۰ )Cg:y쏧Ӕ@"ex rK#Z nDO/_ôYNCXxlT~4B%\n#eU6FDz=->qg)ozy[;G4Eז-UIܥ\c܉*yfv!nZe9u,ZWs9hUI* cAt(smK3Ls56溜2.ЇTzq_#5:k25i='뵎w,EVoc$%Yk=Stuwt' L:xp_-ê6\&u\d{pf`ѫ56aS|h[b|?6P:`0bϛ[9^|/ WQW9Ļ<1|57@ =M{{ƼPF2j~Iv|6 )4 o㷪vjo82kDw·> ߴ\cT\ ? 1|[Ƹዏ%VNOGm]{:)zȖ?O:,H扦 LkDs2񈄵n@0֔ɪ-mԗ oqW9N𬎣47G__~Ah''CH(ih9c'"XwI*8ujVQ([z9ۊ| -,8S; ^;^(MkM~TI̛݊قϿߏ^tt̛jBG4R R~$Dxɦ<uylk# <줂wNj|kě}w~YgmՕ[Riww-w7{a@EYTt֑b=X~cSɧF g@L"fEHa).cd=ˆ5fHƱ#'' bwRXFY"1$nT{e၂%Z>V[Sr*"vxe Nɨwyhgޙg+Z)sYŢK(f(E eAaxZZ)tnf*Vf&8 Hng~*kQ*|lƶrMFז߭5y I *>ԋoɭz+aV2p+D2" Y:kp;GZK; rlГ*, šܹ/5sܴƿ!B[QE",хt1祴g$A=ˮJU^ vb_fçA0R{!jLMuy9yqvzﭒCX xNxmxS͐iz5ZSБw|LF鋸XNGhomnc~ŖN;ǵߎ{ 6ۨۯonn(/<7_qړOB8G=^ p=@~~{aiO@я8l;?>?@^JH IbP4`A -p$C$!wB b|D8BRC0 2 $0'0D`Pdx#i:LPCN6.-P8!@kl#ev8;^Q$g Xnx@*o{]|(`l"I8nqft
    X-b痑v uL"w@zD9oLȇпo82F?0A>8] 0cSi_R~n /+bCrL|,n10bΙ[l<Ĕo$+9 SrFd+Y5 7@Y!a6 a6̬(#̔ռ AbtgH9F1lS\Jǜm^!9v͍[ "zk@\7@x̽t3|e&Bj5^!V9%xFeH͘&cUzm"\[jeS-цL}}Z;ا5fʊRU~VqrΎ8}Yߞ㰝muPխeQw޼~7a ;TFp4-ǨV& Ipum٭>qqh|G1zYDbXx q <޶:\.??x'r䒦|nO &kx뀛H Ύvx]Q ;ۣLvfH}KuΪo?puՄ/ nz8;xȟYS0]|h3ږ|Ku~uF}LQiDmt{W^Kyq2O-Z)r}~?\Q'y>fJZO@ V'Uɂap~w5딿RE~hh~B3t88K@KFh`P~!("(`')+Ȃ-/1(3oW5;ȃ=)Xe?HEhGIz5IOHAPHUhWK]M]%B_Heh<ŅgȆF(a(`c؆,D3xx yi(]|XoxE؃X:-؈}yQzYS^؅胓x~XHX ~0^ vXxhȋ((8cȌɨHx;Ȋ(`ȍHqȌx긎XhX(8ޘȇrhُHvȏ؎8 xxxe8H 6IȐ59w8/ ^kH SٔH% ?)_E$E)%72蔪|ŔTi2i(Έyȗ}im_)٘A Hy %SZ#UAuid+號IU8*7l =>YhȂ醬uX2uQoISup;O &Źщi[&7X "wZ6a>lw@7;$Gi2`\q[Þ ßD^z;J;aà@./~5&% 0#)+ʢ-/ ; k>i$7h5~6$V./usr/IBMVJava/html/enterp/en_US/gsolent/images/atdevsme.gifrc$$GIF89a.𠠤,.pI8ͻ`(dih @,tmx|pH,ȤrI4tJZجvq¸xL.%/th|N~{jrOor>m _lnkNNɴ o5t4v1pz3q{nx2˰:)M5tPWu#^ATTGas><$dq0rBMg=k#MT?E=weIw,RT$ARGG%$ } V[=0&t#QD߮z/_V-ٴuHQ5p&VTc򅜒r+݈˗#/=X?2I৴Aw ͺ8g}q}:wo算[3~\9ɍמ^6s΍K8_H +5Z]kfn{C&=?gr^qVW`h< ~=܄u6:l8KU^N4Ak8“Bu|fgvahԁsvxVo8z%_{AɠsmU ?V17N(5Gwx#e)mHgOy&FٟR*7h9CSL'b-jӈЊ0T:Ud5Șuy dp-xn)!*m'-:9v=V+.Z/dbzT f."յ"S!V"a+YTib-8ܶۇdێȽ:Ko9G(''0!6G gg+p ,ȫ(,L0,4Y6<>-D tH'X=i@/< 6eԐf5n²UK Ykfch L_4MZm wbMcu|uݨ-8(cl]Ԙ[-YU9楓nzَ|ck^u鱃;޶GnKځ׫EO:ʊK7/=]Frx+$q΀d Ix{4tAVzU/k *arp,+Y 뵶Nk݀7f]"@}k?\^b3G 5~pB20Qd"{˞m1@E;hL-Ӿ.MݼfxΫ# e Gpqa1XB`L<;`ݳ?\s8\1@MhH.tZ܈3lCUV tP4u\ͨ̚ R޺8?bmPc.(f-QUío_sF G^C^ڙ7ڶ&[oZkЖm=s௽j2pJ| wƃ 3mGb<O;_ȯ#^1,Ł=4:`P3nNhOvgbpNxϻOƳ'O[񐿼7{GOқ?1߭~qS'O?n=qye8~ZVmȶMPٓK˚|?  `nW4ξ{5P_7-k2w" Ȁ 6 PS'SXMX3FvWUc'" SS/6FS2!~X4 x6p/3hh|4ȂX08\5nHM@P2EO#\kAthHKFD:TxPaxY4CԇP6_n PU؃|FT=S8p'uIH4UwOo YYNDZG"RDXhVHՀw8bkH4u#x8ȈC3mGx{'bsX VDh͈~EӉO5XSS4gcXSe8H-@}gVhԉӈOZ&<4=d ;;${dxSDS< ֣xxF I+53=BOēĒcJG"Xw 0{Y6DEp"͸Y@WCExhg4h' @7AwdH(yHĕXSijI;CGVS !АXy{pI4mTH1JBD6:DYB~ECFi>izØtS)!FinEaěӌ>ZX둚:՚pI2hFx)F{)J5雷 4ijkxit|t}Vɝ~F͸_9XIJ6@s.~coF٠^TC. ZLiπX鐬;}$Xc8UdIBٝ~5TI3UH9=; BTEiJVDZ 00a)6TF7 X((5O}Y3,j@q֨ըz^I+=8q jpJOHSgeR8}}D3Orʩ``2Dʙ63441~jDZ_e FŬ ķڭJ|1az蚮꺮ڮ: 4zTzH͔[GJ42ĂN3 ; k3|r3M 9/hdЪCT&[M!B!+(+~;Բ$":K7|<8ۖAL[-! KB+ "<4$~pIgg43$/<[Kh0H3>dNL3MaT3lZ|vYF[őKN|f|hvxT^g>6 ܎N襞ۯJ=n^˛nk^.[]>[? ߔ4;>d%־.Z߾MNnh-z>nNl8~NZ^쑮 3>/ ڽt]ާ.^02?-r *Fn49;I/օ6OD?Y|Co#T\? Kmo5?LE9\+wg]&kNFx- yO"RƒlWrXb?ԜH->/.8Μ_]N_.N "d\n1P_}/߿ &KJoPZKoϣ/CNZYo Hp Tcyk6MWݵ^7bxDJ kJ%Sjնoh"l)k6s6wv.-sUN˛[DL qaltBSDrdSJt%yE6Ui.T'/GVOg_w/6_YhGo _g̶ sZ|V, Ya!D=vH1E $ȏ-YH$Ƅ#t_ef0-4DSOѥU^&ҩP[Mev k9cϚ>)JTqʍ)I4oNREŊ-B{ PCϛz93Ѣ/ACԚXn짧a ˗ n36J?XQU}vtD3M5dM7$q礳N;3O=O!4PA%PCoJEeQGdQI')²PM7SO?5TQG4A,E5UUWeTX5VYmYo5WEj5CW_ ^ XcaSeYg{gXe6[mamn \s\uM%]v߅w㥷17_}+q}|&7%`xa naxbbxcTG&dOF9eK %_9fgfo9gwgWcHf. 9ɽ֕AjeU﷐]:GP/;mq4kՆQVVώ oSmҷ&<oyq'-GX?NStӏeOgձ{3vgvo=wsYe>x'֏SDyB觿##>{3Q:|'|G?}qz ?~秿~?`8@ЀD` `%8A VЂ`5(6paE8BЄ xBЅ/a GBO{shЇ?b1HCo=!D#ꏉBb8q8-ʯIb8F!ZGbB5qmt#xC5mHF>я!4c:9Dd!{H4L$GJVҒ  I;qb'"0/JV2~ !9M򌴔d,?KUҗ#,ӈQR%#9Hd2Sf4(L/q)xHћvb)9NrFDg:ՙsӝ'OzӞ=Ou擟/HE=Ar]BP6ԡ( WPyŨ.Q&a)^=Ԥ'EַRԥ/iLe:;dH( ki$ 97h5~6$V 9./usr/IBMVJava/html/enterp/en_US/gsolent/images/atdevsmg.gifrc$$GIF89a𠠤, dihlp,tmx|`H,Ȥrl:ШtJZجvzFC+zn?N~o "~"(&c  ǝPʁ̷ +b*b-ϠԷC,@q*PS$A\HD Q< 'Ł# M6*@Ar*#3%eLAV2aKf;PQEE "mW]'8laE8%cCVܘk˘5φG\i%#$-x6tWV ڈt6d@:/ T}oM2˩.mj-nZrJꭸ溉k >I'\w&MFKS|Tkf7+m覫qn+ZMARbO*,(le8 /\~oP Q% 0ro-e1c,Ct8Ӱ9-=s,ͱptoUm5pi-PQY=ZW-\g5 '6gcvm_c?/FӀMч.vW;m!'Wl- 7>M礏8VC^.?iwWKk^qS7u|OO2tBѮ|`1ڊOo:W4Ǯg6CO/<@;3[_yI/~tp{k엻Qn~ RTh5 px(fjlkVmkvm3Lˀv/r\X~(84TqWa(iD(0zB=ƫWmh)x#># IBΎL"wꑐ$'IJZ̤&7Nz (GIS5H*WV򕰌,UYY%.w^ ,u)bL2WY(Kb|%1iRf/nzl#g90`\g;yMWd6){Sg>KӝAD'JaR+P[feDWэmeIWR^T-KSS\δ5Msjъ@M8WΡN]': i&>u3i~&q`eMzo ƴ2-K%g)S92Hb҂Z#^XŶEVթ+3~r `nL[ps֫ηDcYk 5"K+]`Z#nF 2س4Ua_Wжي[ 6ЀmOTdt ]55*ɓF9Ւ )Mvv[@#Ry5 V9[T\YgZI8WfŔnyo/ K pR ڰKsy bkٖu }yI{)aa |p)DRaqXHO9IuA&Śdy Q  XٙoXTٜpŜixyCoԝ9Yy,ٞ9Yyٟyꉞ:Zz ڠ:ĠzT+":$Zi&*٢'*4ڢ6z:p[B:DZFzHУNڝ(ڤB(]T-WZ.R1/ JQ*ܲ)Ub́*Ctv-STDJQ*1pvkGvv*0RXgT-\*62{Pk-'J}#y&ivXx{P⨺x lPºӴ]$DB1Eg*!Bxdd {/+sjs˴W512vu[*ob[NTg˴"ԲnĶ5ඝDqyѯM6{C60$D%0hv78DC#47k6#0I[3F$K+Q{KDCBNļ[rK[ժV7[87c{>3$=`˻ iWkig#Z0,& Bq1f"|ЃA%DZTNl\JSjsl>e !3ĚT"Ⱥ|LD@NQTl/|㳇i?L̫o :o,TC:k,Ά̃l ˌA *lrl[i H%wMCdJ$= ^Dd0[y:B/МIp jb7@ vib;*ւT"ff_-QLN`]<{b=.,/gIp-z-.}=vܥ قي. ]m٢ /}I}ahfmV ^=-8|MΤ=]}ȝ}RD-T}0 HؽܽH}/0:PӲv4o N-q13-A 9Ns Hߠ{6NkG׋6it C"McG[4C;*N%`E7XG nF\N$7 =>@h.D˼.w `~%G:6/$~i=DnXv>E⢪ƺƘ#4=>c/ڂ.;Y&7j@@{[dFT@T"*>[.>+z5r^.]jK 8o[(HO#10nň2.o%8P_4//_.쭠`y±BFJNRVZN&n-$4t~zvej^#O.҉4AZ*B4p/ts+u_B4%~Ӗ=%?rـxH HDjXPQh(:xh`֬._'٦#|Ϟ>e6XӣFq'i$"@Kt6r++0jh񮢥a"hU*`Aܩt[,`P =*i5;A]z< $C @ -:;&'_XYk-]~DjCp~|-pB^`ս遽'mTxk]K:t[eܠ# 40i k5C`vkfYrA\Umtc<%&spq5Rӝ&/sxbN\( !cV)_;+- ~(@󙇣i8h/9P%NMv;axL_KT+` VMXbA,V͸u#j;q%N*29*`zqV .IK& |ɑ$((oxښxjk+ʚ *W:ymgzvZmx'wJX"cB)5^=[/]9JgmQ)* '|O ng#:ܮ!<2,ƻ,2,q+O@h*Y3t28߈##8B0:o;pfFCAz/<4D_+e@̸14T1P|uͥGqm'$,7Qxʍ,׳u$\ [6[3a |J~.uܫDnJX㍷F,۹_zښ[hslO.=W7~ˊO& N8)#or3Izs;/ᗔ}G^vMm [_W&l*;bCpՋIoq!A|`$F[$ؾi2]$x$]*j*.U6 @R KZ W,LP\V=0LadV7AWk8*"ADMIӤKI ҕ~@ ,$ԀGB2ސd4'.`Aoa 'gb| 4i|1$+El] IaKNL%}8e2~)>hCl*wL? $cehyNvڌ)o'9)o,4N@m³&.337J'?)r48'A)7Q t8C oh(EQЋ E ̍%h=[Gx2):?җ"Lk~z[ޢ.25(MjT.=*SJOMԧ)1J8Լ85urկfu_5jV#Zͨ,b *p\RWbkMZRf3Lh U㞗.A\ E?!%ZTPg`瓟vHA5bб'\zEB?`[N*+hUEVR~\{5V@)b]͒(dTש-Fk f`ow8XUm[G0 q!qt*wU{=1Y.fA7|+7µy':/{ _E1dTY2Ønygack4gFy^i2]c-_4Y>.Fh%TtۘӍ;1Pܸ'.{&N0cM*wx9n(nv{WB͆&gd<b Ҁ 4K7p`c_dE0YMq(d3ExBskX@ VЂ23]7Z׺ִ5Z:ҩ^ujR tYXRqGf#,sW،֢1ly1` Ye0 +^Oɧ6NH"\FGsx7 Alvôкjja.;wÔᑨxE=cjA%+lO:7hS 9oa 9[s 7$:;ڟBT7U>]_үd6c7ՙvNNoϋD\A:ڷ:r m|kWG'T;sF٘9mۅ1Kp>Д/]{7::nS ^<E]LDe[H!X_ظ yuZQ!"%O5 >  ՝DŽّa-[9ۯM֮aZ H # ].EYaA& .P}TśۖIW1RϾ,,2A!E0'nRɂAB,r\x.]߹WcŔ9cñJ}6c>Zc%d -dDcAE£7gEFݡr(Vn(uV*҉꫊N&rjN)rJjH]j^$ڱ+;¤OVI겾adBdZ9%[iIjR]X%f+7nzgt^hH/fXYbB%-[^\&*Z^jgeMLn1C2a&qŒ* )i~\[ʪ#m}ek5ڦ0W`op A'0MA1FgQHkflgtib9'xg(Uv -gn,$lb)l4Zq-(bh%Fa4h'֚")n""T<+"%~Cq'`rF.!"2)ob-(aZ$F+i\bʭ6)6QzIIi"/bbnR/j-j/ꢿW텺.J i3N-b.4"Mc֩,k&Ԣ2*9F2ªƖJ,zv]bW/^FB9]kY*n+7ʰV>a.]j2I[dlu1 0$_W qV1;80 rGf@^UF^+r!- [1 Z23-AZ4#1$>2#bvnU" p$}2(r=D+/+(0)_1pBqr̵GPͶlJ3PH3]0G;+11% AӉp:y; x3K$pftnA!I԰ MN>0WL1.L3 ȐHO,4]|2 r-E3o(R $4<I3E-8'F')otTT:5tD W#uLo)kTĪ..L5Z,?-5S|/B\A,G^v_4,_vdqbsYL[Eg4NLTvf4fu-5gw|3h@ֵ]kvS61lG`OVݲ{vj׶ 6MFo>c[\꽥1ghlr86Fe*Ve=.lvrvh7wݲԪs[z'fjSmvMӢ 'F>&^[#w/wswG%9Xzm)>/+ n .Po_~3v@[jaKpfnOp36xAeJ!^h clok\S87G9aMS ^)/:#6"K)}oy?oywkTCZPFpwz5Ʃ1vkêc&H)vlGۊ[y/4yQ*Lz/Tf TqӷS:r#k1K϶hz;JWgwzTאַ:?#FNldb zcM+,fF+/:{[0=Mzmg/_h{k⺪[Ƹ{sqǶ$w:x|#+?7vwZc$xc[8E 3G?/^VXUwgl]yf$'BB;{.d7=kSz;Ջ=s٣}{~9)7IHSÉTO13Mzt[72D k܃#c;CI>DQSu?~~@)~/~Kl}_/Y}롾8kH跮O1:^E>>##K>g3j7`{NSw_?{N{'?"W>NMh?4 y% L >jBXC+gTŠ˪Ah 6eTpy 6kK ?TY h5BG(gXņ'gרXiy3h(t2uIy x( Ejjۊ{([z{ 3; KimTǛ=D 4Rmm{v% &>.U9I&:?9f4YqG;U= 1MHn,RC$ve,$H>ԔUo 駐əQ.7K^59jDL]sR#fCO7.Dx رd˚%m(_@֫ظtEƺni;׮;q#;~ 9d$3:²͜;K3fϤK>8莊L} ;شkm;7mJ<ċ?<̛;<ԫ[~:ܻ{o7˛?ۻ=Ψ;RH``P`%߃N^^yM`ma? b#dbd #,8^1+P@HD"h$W__$c 40L&)^~)9OxRB )fmIJIeS@izimd.B 000 'V. }pFJ9@ \) V(G\c{eڧ?3lksO *Rn)r * {Zܨ lz4`鮋~h TND?Ƣr˧:,.( g6 }ԢP-TQLTӪZIozK\JY߿U\Rӫk"úok:Rn)*}hJsٻ1cp!8<6bfkDZ1EeKRrV[ٿq d'ԷF1zeB}D܎2lfq9lrzڸ6shݭXRϽfd .8u<{_ֶo-ys  Mxx%\k8Lp'7MM&xeV oMЍfH5wwG;Rկ^c}\` 4dˎvlo}sn3 i A];I+~oyԀج/k~?Ћ~/Oԫ~|$F~o~wy /{>oKW~VFo^k>{ngLpy_ f~_HG}[z(~7G'}}׀ 8Ag}7 yM x~~ ؁!H((x1X{H)@6x:6~9}ꇃGCE8-+'؄JH~FXݗ0RTx]FZ(,^eQw2膬G*(A,HSw8xu8|sȃ'Hzh(~H0(xoU(DEx:th~#艏x舺hȉȋi(HHW7 X|hx苦HhzȊLjx(X؉Ȅш7LHXx(ŸhX@yٍ؏ߘz{!ls(ڸ y=kHg!ɆI(*i،X7?蓨؎茯Ȏ͗۷HUWM|7&׃~_iAҔgkɖm)Zy}n)sIu)Kiiy{wvpY]GiɘQ lwI6vəp)Iyɚ;1l ki$7h5~6$vU./usr/IBMVJava/html/enterp/en_US/gsolent/images/atdevsv1.gifrc$$GIF89af,f0I8ͻ`(dihZLp,tmx|pH,1A j:ШtJZ%JWzxL.zn|N?L.mwK[v < zxw LJ /^kg0dṯч \]b_jԩZ$-rChF9қH2P"*x2%˖e,TF.ʈ0g|8eH5 4nTcJHZ@ʇXqj*Ke^ruְ1 uaִc(R1c'IU TLcO[rn` zC j8lX+f]uɵiK6[ڜ:Ochlw `A H5\ٽvۛrߍoÛ񎣔K.E<|Pr_~%fVk7Tz 6{|"t2RE5q؅L jL⢋pYh8b`<^X:i^L6 WD)TVi%\v`jedih0flX ti' rީ|֙g*j衈JQh6(>*餓FJ饘jiv"*j\ꪬ^jījު>kװ&k6+*F)V+)f(v+(ކ'K'&k&%'WA F/;Iݫ’^OD #uek,ĢZ|BlE.{#qqp{w}F k&|#!ݴ~&qJ=-vXw3>BgRDM]0WK 5E㭷_ݳh7B8l33]2P[<9?k>;םxs҅.zN닯ScyY^8h۾G3;A7+O|ڃWS; ׽n隷;f=<ܻh ZVAx< +猪yٌfl6r-}+ᆾʱ0xaǸlt]V:mq٭|UWw0411PJ$2MRQ-zq ]1Ka<T5QJi|9 qP=.G BtfC.Q,~HToAD(<Ās $&ץO.jpܕMlIZ| miCs 7xT3Zzg:.oM2$KIZBS<Kթ 7OSL3YLtsߴfމto~ =AO}eA@66IA{.@ D‹shC&/A?b 1ĥIyfLP~X&S7u2L?#FJDRAХF2NT*R]VUsq*X%ֱjfZp\J׺xֺU `K^+t5 d'[24!Kz>^ RcvYк-cI;[rN7Shy+&%aK\ŧ)ږVmps `.d:5EfxQ/Tt]j.Wi?YQJwpF/[]>Ta1S{-!p5a#?P0mu>sAgT>Á09k]:1}PX[qXGqdػ) H[xAΡX$wILs 7`^22) fl>w]}=Y@kUЄN }ʍ5'M39n4MӞCڋ>Rj蚺b5cHJ̺[4-" ^o4HJ e ;U΂l,8`y(ֶَ)][{w4u;n$E.wAck>/7wZi0Iț w5S[v]upo+ CqW."QĭWa:vInm Ay~d i?~=f.|e\PcȺ5tsk9ԣ0T>{dvLEF3ܳ?vo󾭴r{.xM</w#jS<3VAöôSq_YݟT{ Qh, 4K!O6>KtU:IUB`5.%S1teFSB(u=DD~MN$9c&(9HDMsD d^':PQ流d<hT|OS~#AC;t:La+VE#aAI6XA%(04^Ć`4cOsPJB'@%?D?tYPJx޴CC15>r==Ȉx88?8J؃Ls@iBHdH8ddH_Lc$4D:AT^uLt46)Łŀ)䁿CA/C؄.$(DUw1J|V\I8x{XX)Xwww긎}wwHՎ(h>o؏ɏcUڈ(T"Wh`5Je ~ė~uifW1dA2߇2 @GURWH(Sx67@6Ctv.ifLs886X~Mk va(<'*C f ^-B(]چ(b'עsR8n׎<{uADiLaPF)TVi\\vd di%lj)t֙&"v{矀jR袌6F*餐Nj饅V馜֩iz槢j*x\꫰2j*¬檫 "Y첡*쳘: JKZjzz sKle^ W~^- roZ^P{f G/ IE DO V: "w1r .$[p襼pzwi|TE _4=4}Kk,uPGz]}wuJWv9 3=Fg=L;tAm[=pAw5M5).rT=i>2}]ÍKjsͶkMK5a{6W੃S~dnz=:ޕ ~~'~zX(=[Ϗ9Я>S:0m^G=Yo LxIc;ev:YMl ^ #Ȩ(2IfLc6nਂyw#>~ $ _'tlzQE%Q\@Hf2RHx+$18Șۀ:I:f 3_ Vc +%[1QBͅ’qi*Rh.W~Z{VqPo E˾ w1L /8ӋNtSad-غ@oz/L bШjaz@.`kq3uyUwO@SUbÓr]ajU.#r0d8fŌmv3S@:9貜=_~AzY>hb1J3+Ikε4 [辙ib,4."!դU+x!cMfAc+ U{6Ye^J, Wh,r] `^&h_FR1mu;vS]iS&by\;n[9V=YV8/*w,}ow $ޢw(=rw i+`hu^U!Ϯ4J]F?ztD3E7wVGӳݭs}WX:.v[9&;cu/n?)]Us;w>稜:{:u3W|/;f<.uZ$_ڲڲ{[; Ue|J{ٳ^vѧԁkxڳ "`46leմ[?iFnzi'S 19}=8ON?}W>;Q/@*e|x>Σ;.%; D6:cL!|hBQ6׃dcN#hS45dfP9耢`=˵@>g|6H<<gud遼8P&R>6|ae)#QGcN\8bEI)TX؅QLM}LQdSD(C74TwR*H9^֗ rwW,xQOHxyyt0w}&pW@*{AV~Ԅ3nxLgQ*t8x?(k ;ą%؃)bJ|$X_ 7wXd_SxF\xex-؍਄8mBF嘎Wh(XH\X]`6twr^2F~2G{_б"Q\u I`S^!~rǁ6ߧty"EdUhWhR@8Rt1)Jd )C5aӁ>nP| OR M3=;>ysg'6t3v5g}"trI؏EĥyZB9FYKt'&ЙI)'yz) hَYrٛ%9uI2y'YYֈکoٝG 9Y9ߙPP )IiɟRZEsxVVQiu&6yQpj@Jy0+Jn%J"״Ӈ -0{&&+`L%5 ģ% st+f~y~f d:5Y@J$`FD*) 8?I馤[ DAv?ȧ槃*s*i^&e;bZHzI4Zi/~*Zʩ vcBTZ"*h)=JcDI:(JVYzJ**2T:ʫFКڭ5iիڜz9꺚J&#zJW@;[{X޺ ۰; ;/ ki$z;7h5~6$Vz;./usr/IBMVJava/html/enterp/en_US/gsolent/images/atfinc1m.gifrc$$GIF89au𠠤,u dihlp,tmx|`H,Ȥrl:ШtJZجvzZC+znpX~d ""(&c  ʴP̓Ϻû 䯁+b*b-ң׺C04DdG)\Ȱ!BwDpHV;nёg ہ?PT)%AtHoRHⴋR|D{IN6Sͯ`)'bA#J@ 8t`IWe&M8u𿿅}߮b#K<쉝gM}ӧE !hp@]n[ukTW]\v.Z+[69mhm D4˩Ĉ_{W6>^VŐ_vxh?w'9h Do`$`%am c֚H{F{bP V[MZ~ 0 D@C Kہ (cx]IӅi!O6!~ք(‰AҊ/aIP5~cSlQ-駠jb樤:H?O%DwB*+Ckj뭸:+ k0̂Ql2lVK,5fv-:~+܎kWQ.)Ƙ*ȫ,؛"Zrre pFgpq0 pe(%J0q 0B> 1 wfh 1`r%;n3I}e.wtg-aX/3P]6MuYRKm4-OCmq7|gAqrW3=3r8I;l v/YFng>y*v_ !lo.!?^r㎷x~=2|GLL-[9x>ӬY+sί硃%d7!.s;;g=89='.yûx/8!#hC]^;rC=@}h }̊ǾO|BB€*f}w"4o%̡uAam쬦4mS ?Mc@ꙍKi+ڬȜ)-iu]|#$@ 9~~dBBQ q߽ DJ$Hj^f"^ {@Mz(Q2LlT +cIZ2 Gv^ 0IbsB2f>4nj4L̦6nz '7$rL:onĖC;IzIִ>} @Nx6KMBO].(D% ъ]B-Qz6C)PhFQHHIԦ46kjv4='NS+eCK_Ti0uUUKΟJUCO ժe* HpKКJW泛5 x:u^*ū`U:`kXNvE/WJ+)#P j6:tk'IY+Ӥk*6om%܉6K5KQ+ V7 DT;O@ljVg(\y<4KWV#%Um׬'9_7xW޷Rk$iTֻb/Nzw Xkbͮ7 8qTWy^)\᧦tޜ7M&'C#M lX\*0'eMUrfAW!DLfmgLo $2CmZ'5kVqt̀0 4/Ӷ W-g;ySG0SGkGkKj=Bz[iw*c`Stk2) Ȯ9zkS"F [W׼6{NS͔Nsb]gXљn "6,⪆Z#ĞF@ Q BM>v"#ƁY$C nV&1!h/:<1@L$.t P؞]q̨sM2u0З mlomS*hS8T]y]FpYg~mtH{v޷aJ]0{kMC81]kL5x$-T k`R~6Mk$@KP0`f|dm?~`%hVX"H'rf,g}&k7Rgsd&Y5~vyaucPZ7 ״ ifb%|G|K@%bg G_kց6}8vnvJXQpe#q hrP"wwS)Di6 vZ-uT~VxF|jx?EgjQ"76}FxIط-vW M>H_qeǁx)Ej_<؂T%]dVMyLVy;ubPjg\#kN4'~xo8v ŊYɡr8~w٦W "EŌ؄"밊VX8USՍh=g/3V0x%偧MiUO8D\"bj֊Ktg&b|ߖqHPf;@2vT]}zG9N&eFDžyQ L'HH8@.YbmHupA^cFp4BdKI^v 95`ȸdRْ=Ij%kƓQPYbWN4/@X@BKؑM)VOhƉ,Dueڕ9SAnrp05>5vQe{ij&~UǙ>mĖ룔ҘlS՚rQ9_!tyNIBIŎPU6j!oUǙo(眧utY >y 4EM4ܳꅚiW9$5)'bE)wѹR))}HDٞ>hS"uNU(yɠzO]+T3z쉠˸M9V}&Jj Z0w- Y(*O7:d0*K: z9_?*NC٣fP&q9ŢE`<%TԔZ\ڥ^$SJ9M_ZZV ubI2 Rp:u!rʤtBśmH:o~ JOhnDJzQKJ:,<-zF =y:Js+R"RI㩊7g ig:\;!ETKZR}(D6ZpeD۪Dé:͊.^ʢͧ\aٟ/@xjZazs\:sz[s*L"a7nF'gډI?PFBְ eո brg6ejUb]Eviԇc ɳ.ڦe_~tFPQ*MLt0r"9~ߖZ˵dNSOAC˴"y)HKDeK7g]ײf|c4MHUŖyk'm;|+svtkwnMP{[XUM@B{zgs]7|qKǹ knE+l8ox[[۴緥k|˺Mۻn۹ӛʛk}bar٫\{K* UL۹J 6Qk1o[ܷLR7vayk{kd"ħ;KKRyFȶ-zt;<mWeK+;h&'껴>BL"\n:^8˜kprܥ,Z:)NݥPȄڬ6:,dJտ)Pf}hjlnpr=t]vlz$S+bpׂ=؄}֟uz>3PCRش S\SSQF^QKhUS~?j屽\uk*Fnҥ%Ǎi SuMfn(t~ju/_>b^|n{LNe4NjeYKTV];t}c!NHN Thbi@NqF!CE:?;dn^Msw{Ȧ+ (// (pi0ABC6|!FϞ.c9pU ?8!Yr%˖._Œ)歉 $ӓ*7E *F}"9zul^Ǫ 3JU֬Qr:o,TV #HZ5V4B k̾}c PTm ޽[`(Mq(ȴfڧX;64GҦkt>n#O^MZgՌR B.-p "y9i8+SOdDlXfk\5ԠQ_*~|Q/J|3^'& K0cSOc86a 4*X^dyW ayŬ}glg~m`eKے9 5wS5v"CZ @Y01r;-fOlIC<8_6ʦm%&1s- ,K^ʰx>wMMWMu4` Zk#5T0*dyGF{j|zUlim_JhY\U1+)ZTz!p複o;`zI* a)V4. (± Uh%LD5rQrRdFW&#@.0J固xܽ*N(K,*jEd"Wk>-5VFRmbX[M ӈz<yčt1 $q\5]suϮN[b30ܱ)m[a$&:}q 6yzjX^w2^}j3\nzT|zzó飌^g08nތDƧyꮓ_&GENs}ߛ"al%A$π˟+rLS4'l*xd*.$ ՙ/C_}K ,ULaiVyF-J|dG, j0!`m6B=w63!PH8FU#܆BfV#pjYkVXvQQpAd "Qznޗv}F|D_c!RԀGB2-SɄ y#'&/*G,LKdz[ZWc 1!5, 0I|R{&KaS*rluK ќٖ$u0Y`3%&9YàBJ7;YwZsZ18O/I3$J|Dω m\@KHЗ´A)EEZ1$`⽺o{[&SaOoM>-XT do˷v4f|(1xwmF 8't~KVeh\w`TZg!L3fA_UdDQcJ::Yr*54/rn?5h0PT{\/-E_ךƎ2|d;߹FETNWuB1?_\u+ 6 YY괧A jy3#٩/yy1qF-Pq|3ۺ^1K"G,6*7]v[Xh q?v]px{+ei'Sx8lyZ}$;n>4ܞ ïjыf5I9CkB鞝XW܃GyCs(ϴ/"qzoH9Wk2o^4m|W= zu$CSv79JnFib2Fv;A[|`{h AYǵ_֊ԩvcm<:~vM `v)5,`kyofVdEU>g,b[|_4lT&6m{_ JqYqASޑݓ^wJxWיD] T|-Ç!ˉ]ﵖ idי]]`(`T ƵꭘWGQkX=մ[Q t[9a_M9ι\Ξ)JX|H}}wȐ^p^դ_!%~^! _"'"""&!-#H4I% am'z!E[ a))VF"&ᛟ)-j &fQ1*2&c*."B}ޑ&N!5\%z%Z ELx` 4 dB*B2dCBtY_iBIRo#!d\dHHdIIdJIBdD_͟}#9m3P(Q1_3Nz žQvRO$::*)ePT. ! SbNfVfe Dz%;P%Gd[jXZWe 0@X\]Y$EʤE [n&f`jIda%c|veU_m^u`'C|`B%#2uԟl_mՠju h ݭW.q9Ndf݃j~dp]PVI`׭Ȑf(42N.! "qfSw gKbLFL^G X vJLm\fcg|" yfW tQgfBdU='Tb#1agNay^ Raha'5~[FU:V#Z]zzGIUW%f*fާM =W .PAJ7 (jxՖ!(z>(s]eag9"4uȇrPrV!|(VN)iۃe*+grS^ ޡ?ng9Mf6?&jG'6 EP>#D4ש>5)U"*%? jd cFpc)>E8%Yh3;d$(%i֣!_ߌ^Pdꑙ.s %R^$FBF&CPeR [{*Z ,1R<^BkU"l3$BfkakJȪ(`_E$nl˂M,ɶ: OP`hl,dW^ma1(Q,Юw|&]CmٚBâ]:*ʧfBV%&edm-K&SaJlA,~kIloUI)QmվAnnʆV'jrfvN u}`0'c.lg:f%Bn~ a(jnj!..t.e(8=y(с$jjӺUfـJoRolT_i16 ="Ar>U/x.ek/j> } ?pDljm+Z,6̎ppx0R07.r ƒƊnкP Ǵ}p;Sc+iߞ04j^bkjʉhh="/k 0 b Z,ӆ=p+"2Ny!1FdSH&2'jqQvĖr`U+>$ެbČ0h {"W2006j206J3e9S%lo-"s?8?6!x2:s*;@dv<=n6yg*g#3*ۺ2<\n1Bc#)4UfE-bbbzβ]P?!1ss٭t-g"FmnI?l8mN5t Kl&l sPHG.?WoQ(#ϫj.u +z.Hlt|ΔWM15r 4/ (]E_Wk }u`DsBƝZ#/{k/!ltDXf6gIS; T/)_:ߩ6tO D( eMiYn6u9APb5>m8o3nCu즇9YzSĺp9j? ;aDZ#;'l&%vɝq`O{V@SԸan_t_Z^ Z"TUӦGyظK |Km\m<9xM'>wM<-7vvڗ}棽B%D=8|?w?~⻾eSGr]󷋾Zk'w>1CH~6r~E Ȩs 8T5_~ӰgGhCVw5C~.+뀡3 @HbĪ該rJ|3#<*̥3LSB_ `(hk U6@nETܶvһ*B3՗3t2bR"%i YI#WJ(3#e6qj:,JzXӨHI 3yYiB͉ (lWhXӪ&KF[`\,[N_ vvI:rLe!H3ƍt;ԧutkо2\:ȍBVFy.@{$MCΥdPsrM.+|#HGuB +8Tۿ?w͐ᑇ`g)p<ŘQmbUuKb.c2Hc6ވc6cPHdDåzN> eRNIeUXne^~ }I&Rb0Rn 甸Igj,adzg~!DJw{1v.h> i6 ܤdqMeiډ"*jFSj QJ+* kJjЯkH)l롵$NkklJ/@vnuZ+ھ -Uj$\, .!oYϖ 000`nnA>kC"w00 @ Psl\K+JrqƑIvV8ra* , Ѐ x v\sϑ]6ս @oqt2O6ڏ|/qZ,]+`7@B8=G MyK,@3qי;~wC; @;HcS9sNv嚯v;n._7Z0mM43[Q잤KO~b<$urhÜ&<{~h8erlpT#+ؠշ>}c H#5,b7-o+ f@z461{\kyFł5bPZD' aIF0b(l֨6.d^wAOո8wF{^g2 lxۘ}3rAb|"C"yKbВPRPCȵSҬkFL#Uoc880{K ݧusm"-;d)2A2HN*.x`x6qi GXd<>/1JKyɖ ixiHqb,8:|hˉn+E'|,?)EΝY6Î&˕ Z64_eG]K _ȷ1gB2 a&8"~.5 cozhF/6ҳV.oh]C'a؃?MV\_G+ui {iA&<η`O: ^,mSK vP]׸_UAx,~%7<(Yr }Pyh'd3l|lއ`b|jk<{ -s.wXہ<>9k?#~۟~lJ~eGg'rtBny}dd8Ȁyz~ [~k&X]igzņ(j=!$( 6P$}viWN7O8#Pu6 QHV[ȅ^ZoRQaMTi(-U8%xhqTm8XR(yX2vH#wpx*l؇xuffT%)X@w>HHuHaXh)Ճn\uqEaFf=fXFՅ芯H%0$ӶjĕxX9\(Hh{%n\QUt{UGUƋe(QLj٨ȍl{@(f}gnuxZFc afvZa`&cUs(reg[^Vd`Fh&f9cU(6u~QvkVk1mHh e+E+(9r?hv`@VhH^7鐇V1,)s"hHGl$PYS9f=m))[ɕExnf~MGTya6[TCiurMUw w‡z gIk/җnɘyI嵘 ,I٘yt`ə陟فxT|:2MP>RiWGCқG#ej󛞒"%] %)Z9{4J9DC:| $ԝ9>ٚ'Q(IFDr:Cٛ d;^VŐ_vxh?w'9h Do`$`%am c֚H{F{bP V[MZ~ 0 D@C Kہ (cx]IӅi!O6!~ք(‰AҊ/aIP5~cSlQ-駠jb樤:H?O%DwB*+Ckj뭸:+ k&eF+:Kf4X+..WQ.)Ƙ*,[f\h ¾1kʸp+Q|;C0o qapf`ױ1  q2$1oP-,33H![linD,AoE CRV Q=VwC3M{vsԠUY1 4mǼ3w>YނO܇ߐؑ'x؊㽲v.&>=qFGC,vB~)_^cx S>ݓ{kn;޴׾7?J7蹋>Rn??>on8{O^ꦲНmQ/s=Oq.?Pr@sYl5ejQPxd^íkZSWxx9pz5d4:.#Q6nD3.^kD6L?@U㈰2@~ -@L F:w`$$'IJ ʤ&7Nz (GIRL*WVk2@fIZ̥.w[6/IbLf2f:Ќ4I&aJf/Zr 8gqLg7Iuj;IO^³̧>Nj`sʼg6 ЂTMBX'fDIYBǬ,' M>ӣ0ВT?q)`/Ũ2aҘmiMEˊ<%OmJf5}R2a ':wƴKi9ݘ,jW?0T/lYvsy)ZzDufsYVv)cJ}ܲH0 xşdۛ޶ ق-d$C m3[ߨA@t'S+e( Tm)Gڈ&+յjugw8F6Yu@ _\qG.o+mQtǻ~pwD?V<95L${>d}= /dyը(4?1.K?kYY7g/'*-{8>-}qS9e~·]BKNl^SKNsu %j ͂')\ ~;%TX"S']g}ŀ&qVy}8NܧKfrtf h{]&voY KdMi+xwEVC{ HN&uMgzAMW}o!怜uMO~}5_9_|&>) `tc2o7X[Q] MPkȂGKPփ&9PF%]~8yWqU胇^LȄ~[M6W~|n*[Q~!bqVho^WVaʼn2Vcdwz(]DOW؉h׋,htMmkաvZщB! Vun R"Z؊͘c‡xR.ՎȋR-W7ݨXMDžd`KvfWZ|V)G6Q5Ng["")h_g|gY$iySx%}tHb8cM&b6W\v5udžB9-`oᷔøvgEf<&^I[̨5VۘbdُKU0ir_tcsa9YueUٕI3 LDL{II53ȚXșV9q֥)w"դy)e5Yi&lDi4nSj٩ii xIiIQ )\ٜV(L Mr)))I Yic)9QI҉ j9ՠŠƅȘ.**X,z1Z`7:3X5_0q _Oգ8@jB*r$JNPR:TZVzX\ڥI^bJ`:fzcWhlbjڦpZK0tZvzxz|Bq %-6٠*:,m,+,--ƂMbϲ`UDX[uE5HNZ\:\ձmxP} E g cȫBZ ZPK7j(I`zy"ۧZR:M)9FOZK!pʶ}Ϫq(Z rARDP*XMtz|GuK__iU|&f8)U &K-[Dĩa)2[PKc !R \\x#ˁVB@dpy$!ٓVkXK6QdXg3;.˯z`k+M $%2*r{a)p0/UL j;hw4`NP5ƃ_ͤ{/j۷u[MeKk˸Yך^rkK Lw rN= 82uȮSˮq3j);{z[xDg8Y˷}8|ַR6;}<ٶqkU0i{+[;lTE_\;OKSk[{˽O ex{˷uul軾/…j91lua<\-l`ۺ a[Q,fG\+Aa_l< 7fKS@k+;<,,rl0<vnl̾";8-|(vr¡5F}܄m| K꺼<+k r`N,ȍ+c\R]gR@+[û=|v, jx 7Hz!}_< JeNZeU}:<>@B>D^C FLtȗ4z^JI RN\^5=;^]1f~QhnOYlt^r~v|gx>e>f ryN舞zjJ~Չ~>+$@Ynn^}ovNqng*\ji륾纾<{*j;K.RʷKnɸ?KƣR^~>KbQۮAZUǞ-*ݬh><&<7, J""VVl߼=v.LpN ]>d$LB@dCGaLVҠJkKᄒRBx44vE&G!2|"ߩN~hC~zK۞>HSެpYh;/=_l+(/Le  rO*a^T8c)| al1b.% kT_N\_.fLTiʎM5σEhӸ|^Y~z+|˼zn[x`̏߫;VE#00i4Q.,rQù!h ;`GX|-ʰPNg="~akF 1fF½D(..)aTT, $-IE@ITL5 TxED5M:Eu SW# <~-or^CBr.+:yeE-؁!U,Æ`vKE;]{J[Eid#XӨr%*$"@$əP!˞ -k t( 2$@rZhm b-oe1]ьeƂeϚͪv-]fߢ-{F?Jp*ݾ~C:o5[M;pk*uE2熐;94C3,3a_{6Ѵoo0kqa;oVauB.}:֯cϮ};w:r/~<O~=]*Zs~Mϯ?@݀" "X} B``2_X5ѡ#X'#fh/38@5;أ?CY xZ&shva9$YW[r|.bczإZ~>Fwo"ZF`&up"9f$LekjzXI٨*Db%6@-2P{0[o΂,;}ۯ~-V["2;4BIpJdꢲY@b#Ma,3J ~!b0+32sB(0ܡRkc@r)$=^鰻ނkTXqvj xps,!&fA띷݁w 4LiYȹRo':cneh҂_n(e  ޻vr03NV"+=8-S_|,>̒S[rF-曓]j[@'ê鲎y*Dʞ1Uˊ+q[ނW=)g[ U@x;V@ECj͜X/`vF &h@[`4S @rT^5ys[_:iVY*Xٚ"9jKW(%] +»a»87QS ᘼ?ͳP*=q{kcGݱ$!&>{|r49x#ɫy埌bSNܤ٤3nmO%Pf (1scAD&pgd-1~2? RUr/'>rg|eweo|oi3;M^,f2m2]1z,"Uc KMk>ҵufoXF&40_n݀ C"m *@TMQ=t^N4u)|dXZ.&5kB[cwsgvzw[.wt@~t46p):BzTVT&9Y .<7OZ @P:M?}{w}viMPfDMHć_>F )US)ٕtVVA6MU1^Sݟ^9_ݷFNQ_RÄO^^  [V`ҁ'\ Y|Wdjj_kPlޞ_ݖN8WQ$ ǹ[y9 M ~a̽` ą{!aʘW\#!aᡕ!j "?m[$.a(bvy&"tb9)"):#" vƭb)v,"c!V)㕼'6#^0Fcb V_=5~"$#6BB93cL#ݣ4܉A_2˅ڻy>[9A!d (6$e#80/ȿУRLrVTaOC Fd#.n%^$ GܕXPfBRyKb9DBLJة.*XNDPzdKJ]IQJeA%$]c,R%Ҽ)." \`!eџji U0eS&Y %5Y T] &ʍc\)`]f9ۉ9Z_֕}C]TuB9$X5nZVMk'Y-zfU.?" &/3/Pk*j l$RCUdJ/M vʦ[J%1zETܒu`6J>!l&byg=j`jB!&nk=Wg|V\&V~ڂI.=gFk~N!P&f*._Y'hgbH*gjނb M2Euev%٨A>Vzd6aT7IߖRS̅|j!Q@Wel'䙖|Rb}dQ VY֘8鞦)22N%詡6j<$z&c$D^*"LbV⩢꨺'*rhMo+ LjMijrr!^EZ*FU¥M]c4b*ULR@ AڼXi\%+T׻BhjkQ)JFF"T# Hje%l8ak jqɯʫ{ *O$e9nݘR%Ij>k]j4WW2aȲdHJY',~/rޤ^dPi!P&l6fR(fԅ'cIi֐`>^e UezmqfJ챲)sf}cv6 vtfamڞg>(%+>*}zLssde⪦W (nm-'(S6Mg_v zn:+k*T_ \P4%nmn8쨲v g 8k~3 ihfr準lz ^J>H Q﮾+򲯵 ELTffmz6 GIgIgf)i}iag wrana4kŮo"+4 Eˢ Ϙq0z+B{MQB6Kơ~)g+]f:q/Ӱ.ެԚ1_,۬11'J<<11 k1G2: -#hkro&1!RkB0B$r(W2)߰@FZ.HRϳ 7e"+aܠܔ,WtnڛZqʺ[!3qB3"1,j66o 7k+Ɂi𶧯2@n5gXoR'@ RwoA/VuRuA/٢3/V{uARfW>(tNkhZU15Kj3KPj.o? lm>rJScUjpfyBo'r3 ;p3 ~q?;$qM4 j$r ,| ?ӡgq4~dl2~k7Sgh۷$+wWx|+A+6xy7^#7t;rCϥxa8~K67j2lk΋Cy٤:_ϲ)Re_Cgxhxk쫯)^[w7.0op/'^9>34v"V5[/0خ" |ε/`9^iIN\^y_dWhkkS7[X6[: <ީW㑳;p83{;Xʂy~|*Wv!)s>캐|K8`-*-=8U/0*82xy"+y"P'?*: A  d銎q , `¢L*̦Ỷ"Ԣ]ܮ ~JԕzNAt7X%T@X(4Ffd8IhvVh@WIsW3`ٳ`x |X+ee  0-P},E܌u:>Yy~N73Rmz=@@ @H -db##SIR1d%·gh``A̙0_29qHx*Rd'(Ӽ я:]Y kgA T`,X P$Qٜ ϮuS"\ FA>[g^cvMwTOZA-+aL9iMdZ\aô+V0eJ._[/t]׮i>蜨Mp>Ë?n<&nNѸȫ+n=2rW=|vǛ/|;&R+Gc?뷊y_lqxG`_`נ!`NWwQn)J?):*trIXs2"buc z$"#c{JhhdzUBacYH)L28$IdIfln) ִ8昡e^'|題j:ؐ Y nX% y嚔 DeP f"bNfŬ'(`rJ멽~ ح)I |cT)<4,]?Zh%Ӯ:g)j) Ʃ)Mi,v{, )+"+fۤqJp禫.=ö{ƷX̶,Njp3R9xo-Q(ԲKË 30 s%m=3șT#t2Ӭ+?ޱv':J/$v*{l]"'&l^m/p,uIjM0UMvMx~ ?[\ݏLm;ܦW@BNQ~J8#8º{s;:ڥoul&yΛ8: 6oϽ7=]}o+{q߾}w}{82 h**6CU@50Zż?@f./vS= 1,!A"rl,t%/iɌq0 P^"!TX+_Vr4#)թ",{ Tr*q 1yK" ! B3Ԕ'lj#h~ 1ntlimset4iܔKcOA3 9ψ~DhCYO@rtSAIz6N1 hR _B4)Nr aW1czMY9 h!Yаpq7M^CH,Y-yX3+LXb:)s{k\뚪ȯ@L*zl@X9ܶ.[miWf8efr_nǥi|WK7U]bg^wp_^RQK8gٝ syķfh%ZPo|-PG@:&eL=4I J:ݕEonvF$A9ݘ]?.܅=c;ik;ys} ]&JNJ~HK/Gk~zߜ~X,p/Oo\~@_G_"p~={7o+6yJo}һAo @ ?/SFIB7BOB_b/WJv,1~`~駀%Ҁ~!tgGlIׁ1Lx ·p$<. p+ ȁ0(k;Qbsf x-@C&~&HOA@%ӂHX#V (S7wFGI[p9f^؃ ȀB\…"腓!sJ(*xTPz1O3w(#か88ȄmxH]h6gy8S;5֊؉a0vIB1-XA_؄Ȃx>(Jqq/8~X |hL8W|ǐ ui؄Iɑ?8nɏ9] ) !4ɒ z~1yi2h0i^Pĸ8ٓDH(99З2),95͈ٔ@IE+ɒSɍD9Xc KYh1o)dDwyB;}wɗ)Cj FLJyɘv zi9r񷏡陟Y[X(iuiS隯iH9iF)雷HIin<ɜ Iə}i׉٩ɝ?'nIi牞驞i}i IYi9w&JjL)ʠ v *0jNʡ !J*%jDrTMSgWuǦTef`F;zj1<:hrL0:qh4B gLUuRUnD*r?:t)s&[LMHUn\ mMTP*cjfeWaj}s@7oyuk+k֩MEMV*e^I k^hѯ.f$U Vo6O#Q @ LhqS}i^af[u{2yHT\ iT}4Kn&D$bzh5֊Vԇp U p@È@ tqb?hGrbw/VGڡWADSA}W hB' T` FU28^#—9&Xg([wfhjp*0"yr^=(j!:'jTN5|5TMi)z !gujm''ض$-V[^#$,gKt s^uջߐxjk^|Uu *ÝVj^^_./aD-͒P 0%ERte"%NPT?C[t2.J}̐`lv4n6r˽ zc -͈'sbѕ"yWn lwb3褗n騧5.{+C~(Fn-}P~+ ǿc%?˫2@y`7 :FHC}0, c텰1| /X ,%LRh$RЄPDb #<'ZS!GvJTu( QHQ%T 1a ?ȼHЇ\``<0.(vԡ!iFEq{#(7Fp$XGxld! H-R_Ԡ+ґ$e 4IJϒd,7 IҔt"J4&<X \m<\֏^!5*p'!6gM?T&w8^4c(WC2d3񳟮{lp33 -(D'JъAͨF7r in$*ҒԤJWҖ0LgJӚ8ͩNwӞφJԢը:RԤ2PjT*ժZXͪVծzXބ ֣RH%ZךVp\ W^  gUG^V֨ k֪d'KZvYW KejdЂְ-jizڪ~h/Kr56Z1,5fn@۩ UqЍt֠"ַ_ms1{nջ[-uK^V}-r5R@ eT_w  Vvh/YAu PWQ3  V |V bXI ׯYY`GqpEL"j 8C?\0@6L}ЊYd/6Kļ/7&Hτ(gs@l3FЊz͘δe\fDC~2lif { .l!Yٽ FNSkk}57.bIH'?Cgrmj B}v=j7x/`b*?N 7B ` eD/Q3Tإ'y+{)k=/fq]/*X-8)NWw _ Wj+qaл0%3N q`{pq&NfB_< x ?Q/jߛ xuZ')2}Qr Z@5 PWn}gnjKˉ=-~w?'[xJ[]z>~!r*߬ïo#>e25 1r B+Nkx;.씳?UP#W~7mWxU}\]GHdk%zHuƁ=9 ,9T$/Z] ⸒8@ƤNN[ٖ_(xny3 ԎVPxKYqy~yv)i<=8Q#y虠9'gxٚYSjT`8Yyٛ9YٛA`ٜ9Y]?i_Нu!Myf9aP빞9W9,)u= W8yo YuSi&\WuzU 著JTjU!EF]wJIJogf#(zY JqZi.ڠ5jj6*Jf:1Z\Jbӷ9Q:l d=ڦOzEopjo>r@i~jaj*GF]:ꨈ:G/Znbʣjʩ_j: '#Š)wVڥEZ ;k*PZBy՞:RɚYH:Zz(뺮ߺ[y:Zzɮڮ쪜-P!{ ۰ ;[{۱ ;"[${&?_q:4[6{9 :ۮkS ksD[F*:,G;T[,=Bk`b Iʴ+> |S11t[J=Vb ? !1v e-9k۹k xk<~;[@;и+. Q;bY^ậ;Kʻ=buR;[ɛ˼`+Q۽ks[ {۴;]K+K+Kfkkӿ))JaA8L=R"^k|(| *JC4\Î#%06B|+̲-<=Ph[|&Ȋ;J|ē<`GȍBʉNJsɈ< 1L\PO<$Nɑ Iq˽,F:˧@Ȅ,;< FG㤐 F0 D$L|H̱R D"MlͳF|F|J:٬U'`|w G]M$DVD4LpSzgqJSJ0BxJ "!G1L5I$|R'9DIjMߴM&/ $;N " s hbdv:jl}|#{ׂy=ց=؈msͿu؎Mׇؔō]ٚ=ؓ٣epͻd>-ɟ S<@t>٩ LP4 =^L:m̳}wN.Ed՞˧ՇZBYBY ؂̴,aL|֢(O!ͭݹTF}~%>NW˽y̐85DCJ^=sz(}2 G}dJlLФ mử G]Sni#MߪMMM{b.wݦ׉.i6=V6鲽,ʏ*գ4,Z玮.tޱ^Xrl~NR^M-l.pf>^^`ھ^7>5(0U𾉔)vuR^6A닍YRY@r YN+DCdNΌn$/߆ضKKd "Ci3t g#[dҫ]hGNC>ri_kL AӣK KLqC~;<CYdNN:-cGҕJsopQ_ZYR)-@p ?kER^M]"\Xn7I?ro-=O0p;6?Hm"[_oTA>;vE2]9M^ըNo_O*_`A(H8y<φh߆;~!h{bdHtQnQఘ 4 T.26알9NRV-Ynr:Bv"j}jβ #'+(-?CGKOSW 7߼qw{:߯ggn4k#&", Âi!aȨqFLQ"I$OfKbH%_1Be-G9Cf s z l(ӝ,DB\ ACV)zL*TՒZOW8%5f#8um@Y!Fz va\&8&߳tۜLBѥNZJv ]bژ57Bb:V{ ۉc4 ؆]f6}qn7ޮފ_6}RC=Q*_XWa"x^x4T{̉|ZV$ "H-HDڵZ6!~w!1 :hv:ߔbz'B/g…X7cp?&wJ8ۑ+$WQ%Z8e8 \^z)d\q7_O%YnJɦp^f thq'um&QZ Xeg&a9BxNBg—PX1ByfaꪉAyKeXuҽ&j蕚M*ީ1f?;V饷luٚF+[]dzknlK޹q@ ڮ,rYl)JL,m|fN٬f&-M_`26Ls:Gv-;:t3E`I}>DfK g PEh?8L}:4(A#ʾLI&GQRc4N( BAzK.t&ȧ=ӞtP=*ӣt&=fP T4UE՟J]ŪO{ұ ZUne\תжqIm򊊺ӕ~D]:X5}=[jX5JTpk,kTB` Ӻ N7A"֪5-5g m%* lo/ߪEK;ԧVC5n4%(tݍb.DzRtm$ \ߪWMv˛׽|ǛSr9EN9.=S+TC }0F` [Xް)Zvxd/e;`6X![l 80WA Ov1灩_;2cY86wߘ &s^#8=%#A~|ꞴqݭqH%әnj|aR9 n8!s pOw˅r!}۞Lupw 3Ƈ=gCgmԫVUdTVֶk- Y]}O_-8&+%vy)U2E?dM}*ĞyIJQGmGW{[0}<'oGg_^(8Nl ̬Q5-_ȹǎ~zM0Ԟ` ޯ\` l`9}|ΐ" `0͉Oࠡ P "I yL$X 5QҐ_E Αő@it .Paz` Oa 5Ff,ˌ<$b R! Mu'Q)--"#a`bp0b"8$ "#J3/*JJ*^G"ji`#t(`yNcyht,> 8c c >.f `<Ρt"#D޳E@=b$9j=ĵG.W,~IV$\ס$ p$K$ 4d7ZC"eHL% 7 Ed5BPSHN΂Q.0PIbVGDVfA` <"bݞsV WzW""n wA,H:3`."R]"0楯ON &4^+Zjb 5IU5T>ef$:.B%K_@fAbFZ*e)+=\j 2消\W L&.!#ak6lhde.'.6g( tM' &Qia=!Lbgg!T'mNfng)Bfvgg'grReU\f&kX7IBvKvIl`g "ZNWҦXbhp+% HzFz>bgvg`&~\vS'Uz(^`hLnPި$RZdin键Xy)ޠRAT60X)LR%gCi1MTGĩZ.eD)'[V%\M<~hXj(\QmU%$괔(BиVXTY%Y[Xax~QpgiiU*3sf&(U#Bj&˫)!:!ooB jo g~ kvXb+tj+&yΦq&)t'>'^ u6c^p's6"b_tkfЂMArVIfgّ֧T."|&f(Һr ^c\Ajd:j^$(n%q,*)R#Ц kf&mv!H*`rdj±p (Zӎަ.)T5) J엊^#n +ZihNΒG2Pܞ6+nI,.Ԧ@E.@p꡺eVN-䇞*^^݊4P9 :x(mRPnA2=1o޻</o2rLj30ADZ/p!/&I/_0ST[0n-pMd  0 ѥvŘ㖺İ p0 {F o s0^]qlJ Dq)0 HKqC^VTipbv1؄1d01^ q q'1h,Ա 1m 0$#[1-hq q%S1'kC*Sb2i +G'߱$-"r-q(r2`dp,cq50p&KD +3-{7s6O2 55?3kSq)p2s*o193 {{g1s>O/47*@[0K3 =s944,c=2C[4{<#װ@_G^F3bT$I0&ה02rC4 ##O4MPQ3u(OKށHcuVkVsuW{WuXouYYuZW5[u\1\]u^S0Wu_8u`Zuaa#vb+b3v5BD(udKdSve[ecvfked+gvhhviivjjvkkvlvhwvgmvnnvoo7ocwqq#wr+r3iw64wtKtSwu[7u?7D\vsww{wwBdwXwyywzx+z{w|_7{w}}wqw~w~x緀x+73Cx'Kx[6csxc۶?hxx/xxx C-xy yZ5#Ev3,,yCy*^VŐ_vxh?w'9h Do`$`%am c֚H{F{bP V[MZ~ 0 D@C Kہ (cx]IӅi!O6!~ք(‰AҊ/aIP5~cSlQ-駠jb樤:H?O%DwB*+Ckj뭸:+ k0̂Ql2lVK,5fv-:~+܎kWQ.)Ƙ*ȫ,؛"Zrre pFgpq0 pe(%J0q 0B> 1 wfh 1`r%;n3I}e.wtg-aX/3P]6MuYRKm4-OCmq7|gAqrW3=3r8I;l v/YFng>y*v_ !lo.!?^r㎷x~=2|GLL-[9x>ӬY+sί硃%d7!.s;;g=89='.yûx/8!#hC]^;rC=@}h }̊ǾO|BB€*f}w"4o%̡uAam쬦4mS ?Mc@ꙍKi+ڬȜ)-iu]|#$@ 9~~dBBQ q߽ DJ$Hj^f"^ {@Mz(Q2LlT +cIZ2 Gv^ 0IbsB2f>4nj4L̦6nz '7$rL:onĖC;IzIִ>} @Nx6KMBO].(D% ъ]B-Qz6C)PhFQHHIԦ46kjv4='NS+eCK_Ti0uUUKΟJUCO ժe* HpKКJW泛5 x:u^*ū`U:`kXNvE/WJ+)#P j6:tk'IY+Ӥk*6om%܉6K5KQ+ V7 DT;O@ljVg(\y<4KWV#%Um׬'9_7xW޷Rk$iTֻb/Nzw Xkbͮ7 8qTWy^)\᧦tޜ7M&'C#M lX\*0'eMUrfAW!DLfmgLo $2CmZ'5kVqt̀0 4/Ӷ W-g;ySG0SGkGkKj=Bz[iw*c`Stk2) Ȯ9zkS"F [W׼6{NS͔Nsb]gXљn "6,⪆Z#ĞF@ Q BM>v"#ƁY$C nV&1!h/:<1@L$.t P؞]q̨sM2u0З mlomS*hS8T]y]FpYg~mtH{v޷aJ]0{kMC81]kL5x$-T k`R~6Mk$@KP0`f|dm?~`%hVX"H'rf,g}&k7Rgsd&Y5~vyaucPZ7 ״ ifb%|G|K@%bg G_kց6}8vnvJXQpe#q hrP"wwS)Di6 vZ-uT~VxF|jx?EgjQ"76}FxIط-vW M>H_qeǁx)Ej_<؂T%]dVMyLVy;ubPjg\#kN4'~xo8v ŊYɡr8~w٦W "EŌ؄"밊VX8USՍh=g/3V0x%偧MiUO8D\"bj֊Ktg&b|ߖqHPf;@2vT]}zG9N&eFDžyQ L'HH8@.YbmHupA^cFp4BdKI^v 95`ȸdRْ=Ij%kƓQPYbWN4/@X@BKؑM)VOhƉ,Dueڕ9SAnrp05>5vQe{ij&~UǙ>mĖ룔ҘlS՚rQ9_!tyNIBIŎPU6j!oUǙo(眧utY >y 4EM4ܳꅚiW9$5)'bE)wѹR))}HDٞ>hS"uNU(yɠzO]+T3z쉠˸M9V}&Jj Z0w- Y(*O7:d0*K: z9_?*NC٣fP&q9ŢE`<%TԔZ\ڥ^$SJ9M_ZZV ubI2 Rp:u!rʤtBśmH:o~ JOhnDJzQKJ:,<-zF =y:Js+R"RI㩊7g ig:\;!ETKZR}(D6ZpeD۪Dé:͊.^ʢͧ\aٟ/@xjZazs\:sz[s*L"a7nF'gډI?PFBְ eո brg6ejUb]Eviԇc ɳ.ڦe_~tFPQ*MLt0r"9~ߖZ˵dNSOAC˴"y)HKDeK7g]ײf|c4MHUŖyk'm;|+svtkwnMP{[XUM@B{zgs]7|qKǹ knE+l8ox[[۴緥k|˺Mۻn۹ӛʛk}bar٫\{K* UL۹J 6Qk1o[ܷLR7vayk{kd"ħ;KKRyFȶ-zt;<mWeK+;h&'껴>BL"\n:^8˜kprܥ,Z:)NݥPȄڬ6:,dJտ)Pf}hjlnpr=t]vlz$S+bpׂ=؄}֟uz>3PCRش S\SSQF^QKhUS~?j屽\uk*Fnҥ%Ǎi SuMfn(t~ju/_>b^|n{LNe4NjeYKTV];t}c!NHN Thbi@NqF!CE:?;dn^Msw{Ȧ+ (// (pi0ABC6|!FϞ.c9pU ?8!Yr%˖._Œ)歉 $ӓ*7E *F}"9zul^Ǫ 3JU֬Qr:o,TV #HZ5V4B k̾}c PTm ޽[`(Mq(ȴfڧX;64GҦkt>n#O^MZgՌR B.-p "y9i8+SOdDlXfk\5ԠQ_*~|Q/J|3^'& K0cSOc86a 4*X^dyW ayŬ}glg~m`eKے9 5wS5v"CZ @Y01r;-fOlIC<8_6ʦm%&1s- , \EEKS2'!uZXMWMu4` k#5T0*dyGF{j|zUlim_JhY\U1y+)u!p複EF:`F$CSuX]s*j֥@z&WE0EiIK_Uz^JZ\(o"vrnkN[ڥ;Zkkj@Qѩe[lK_+ӶtSz+4πGQkp#]9nQ11 $q/ *23J*7Obll[1$&}qM6Fxz O]o-zݥxmn:/D{%t:-7_{ly(cԍ'7#Q=L=|.s-K˲m`[X|?3Pd9$ŃM4(y h>׽n{g١/RV gyڗ*)#xZ èEe[ld*e.,l؎t@Qclf /^[)Aiw+!XWO`E1-Yaiڝ۱CvR ±; !ms 8Bʙ`C"d]PXU=qdP UK"Gu:oHi 5 ; c,0(Kb21ADA?A-M$/+3Y[?`YrX)Ppk>HDfa|IKԜ6e8ajM*US&6ˉ4fD/z4=Jx )x4y|+hOmv! G8`"i jdEPQfjdǒ:$*Q zQ|4d܃ F4DE!xT:gP Vr|E@qjNGL-tjԬ=J8!1`g!+aiWNdE-Rk-./7\mzf=U`Sf% EՍP]N%呄#xI>蕣zcTz,_j,i; /^qwͻ;vԥjRZ;!<3/9V ]S& +zr|bxjX[ 9B]ۗ ' /SZ}vWZ]$ w<9A nq,/"ErXl?:`rjI$HIW*vdcIҢ3n\Bd& WGx{<e)+խI=ᙃ .qmzזuѾ ,jƓMKeUcX /V_ ̓*--pd^;Ka:$୰ I-R9>)KSVƓJ!IJ̍ȉf[sg#S5:I=wKǽ?:N:t6& OI &M1-tJ1A7Ric{ӺGm;FX<-o5v+Lיd&a0d%{[Q݌?ZSh cظBޥp`P,FHb6K\wUej /\G #<"Q#w*&`ӈ'|E^ DQEh$Y%R!Z E{m[Y/ \dl\蕨0NLYw \q"zN&2ߜaS4-~e3Rn1$SY~Fuc9(_rQf(yZ"jb %F,;1މRAmb4q#(ĩ¸!Yuy&Dz^zfNѧZ+,',|I3vi5&i'Jq'D(֕sJ:Oo!^#ɨ>V6J?t"|NFb="k:i(j.j:bі㕂ѩ62%.J߲#zc.ó dJkD!M}u^>XRԪ*Y^儞esdˍ6\'egkw,C%& _Flܻh}yɂ&eCƞ6&˶l&Jrf%ZXWl"Aiaf_ ~Ϻ*V%T~U!&Ev*)AؒmBÃQ*ª{Z&`EM:AuRm-mZluk֐&m}fNmV /Y_oIC&sAtjm E-y, inŞ{L| R6  jaհnBoH~nYhfbM&t+Jv/55 68aɚ)ٚ&OLakdR_abjicRʝәSi/na"Ά*P "''JS#p&+1!]o v/rY0|p ua B2CΫ"\1=TqiL\/)@X#Dnj-¾D '#ӊ!/囋[0r(rriz+cni`R$XOZ8' ڱvX㉮߭cI P2ZF{rqʴQ먘U[3:*hֱj0R0,:6k'T큲Y@{Y(GSۡ4veB04D2Ў@_Er_4@C7?yHG #[y;OjGQsee6@~EFFr0'0GO%t3nEoT4Skafi.fdU19+pM4-e&TO_'_]VFuQu 8Z_'IklZPܣnn2(?3tsɛ]/vi6(B8F:P@U|fgD1`Fi.ԥ nS'i;GtQ!3o[7w S[/Nc*o*w5I'"Kw2âKhe ѐ.j˵ )t{Ivwն/}Wg"5j5Q ߭G'C74aX僳5ح Gj*jVKB¤ 8:C.6l2l7'G3JH5S57p Ut'MB+lPr Jv#1 8ncK543CQk[LXWg,#5%k/5[M/sJ!5Ww5+kDI3h:)9$Kβ`rtT:";fiNB3< lZzB5s%4N7R Va68H,8E=6; m'L sCnÀ+ ;at&94Cr;5Ϸ<Ě8㞺oaµ>Pz`@nim`;Ǫl<_K6h_?8Or{j/ N8hJ@}çq'#ϳ&u_=7_76M/U/I穲Q/g;ZC{lګ WNy>(50eyAD/I^k~l-^Ӂ- >rP;jQM#ao~]/ mӤ 1vU#s ?{CP ;?k#V̺ >96u~DO>y~ߟ~_zܫ#t:Q{,"@8*Yy.n6:`~C$KFIQ׌JԪugD. C4{z3jnf+9+W舧ssCS"ryIcIIP40VW4h+ d%3{yk(8X8HhhMm .^ż3:ir龒nnN:[K qqٲrh!k/1ܹ" ["C8-$$D/v䱓%{R_?eF, W¡pC&: mQƐS6H܈<FjbRZV^@M^~ fb鍇frAf9h ry" Ƶ`g\y~ h2N= iNJi^i>JئIhʵIjx椧? kX䭺kį&D̶k3^8l>NKm,Zxmnm m7kı%K]ծn o+׼*jɕkoKn#~Dp /,ooėpyj r '#rK2P2lkܨ-Lń|r:r%c%,K? 4pJ/M"s{ ̴@+ XlC,$Uʹ!C-uڋLW[5?4y ~/07R/5ml6hxlۄ5\ pz0^:V߮' o 퍯J.bC4`O?/r·P>p1C?u[N7 ` ^@K~/OO`_ Hy,sh=p[] l>9_Ż }I^)o@0 C l0n.k w ()sdp$j Ci0Xz01@ ^рsH^pX$ӎG2TcI(~/J'3Eg?l_(3ϋ3!k3T; J7Q3!41 "DR#GJHk!%MKbr@h81c ?IMa1hPFGKk28|9Ma6e"$نKVNB6nϚ PmMxd(&>5ιNtf *O-ғƼg$IYό{#C8Ƽ7R4ߓ6nyKD\LEjzn̤ LF ը1;jRR /|喸`D-K M.nL>I͸F@gEǿkqXEYVծdRzR*@c_3.vTj:ڭ {,dQ&LfO+=y bG[Rbe*Zƹ#-f[Kq wZ p۴zHeItY'UԭuiMnԌZ7.شD@]{ 7ol%,2HX9W,-zZ@-Swy`|(VN/fk_)2Fq623f١ul&bE|`8!i2֠uAK#_7ˈuӞZ?IbNsvmq㘌5jU!*+^ٱEf1kC2e5$PhۆwP YγFM tz,V " I]Hy$tJx5tmVtC21~9,qxzrUέSsu hXZDzujc(˶ID/D7Qlc30nH{?a/hYcޔx;tx%n5#~L|?Ⳗ+G,yg˶(I)SX~p"/Iѫ!ydN':/ϓ^NzqLz9ss?wtܯvjv}Kv7w,2%OE$^Twy5uAtA-Twq׹ 6bY-{V_(1/Ay9`a|ݏ@M~û)HgE x\$+%(X,v/G[83$[f !xn#%Zց5Z-]uA}4hA0"ⰃՃBȄ{EXG8YI8_ԄW(/D0v?h](bAⶅ %moXN6j`{ȇ}](ihm,tȈxqH57sEVjVfl戛%88/X|vQXAm{>oxb'6p_؊ȋ"o s q6ȊՋ]viZGĨnŋx׈X#&StN˕U9ˈg(XxIi h踏8I[8 ) 8B_=yJbJiđs[yZI#ْpP)N#y:"Y iky0ّ 11I/.;)$ȔM ,(Y*SHPWUD@q@4@XC[9P4$uC]HhAjɕ`=^n hw IO̓5:TB4QF5MBQDB>09|_?3m4KIJ\٘CyM1DGyٚiəċRY)i$5ɘS9EIO=I)቙9ɚI9i+i %u@Tl"VyE9ğG4QiٟUyGhUGʙXJRۉ}Y$wF X"ʢX6&Fٗ579*gP?znD ޅ^VŐ_vxh?w'9h Do`$`%am c֚H{F{bP V[MZ~ 0 D@C Kہ (cx]IӅi!O6!~ք(‰AҊ/aIP5~cSlQ-駠jb樤:H?O%DwB*+Ckj뭸:+ k0̂Ql2lVK,5fv-:~+܎kWQ.)Ƙ*ȫ,؛"Zrre pFgpq0 pe(%J0q 0B> 1 wfh 1`r%;n3I}e.wtg-aX/3P]6MuYRKm4-OCmq7|gAqrW3=3r8I;l v/YFng>y*v_ !lo.!?^r㎷x~=2|GLL-[9x>ӬY+sί硃%d7!.s;;g=89='.yûx/8!#hC]^;rC=@}h }̊ǾO|BB€*f}w"4o%̡uAam쬦4mS ?Mc@ꙍKi+ڬȜ)-iu]|#$@ 9~~dBBQ q߽ DJ$Hj^f"^ {@Mz(Q2LlT +cIZ2 Gv^ 0IbsB2f>4nj4L̦6nz '7$rL:onĖC;IzIִ>} @Nx6KMBO].(D% ъ]B-Qz6C)PhFQHHIԦ46kjv4='NS+eCK_Ti0uUUKΟJUCO ժe* HpKКJW泛5 x:u^*ū`U:`kXNvE/WJ+)#P j6:tk'IY+Ӥk*6om%܉6K5KQ+ V7 DT;O@ljVg(\y<4KWV#%Um׬'9_7xW޷Rk$iTֻb/Nzw Xkbͮ7 8qTWy^)\᧦tޜ7M&'C#M lX\*0'eMUrfAW!DLfmgLo $2CmZ'5kVqt̀0 4/Ӷ W-g;ySG0SGkGkKj=Bz[iw*c`Stk2) Ȯ9zkS"F [W׼6{NS͔Nsb]gXљn "6,⪆Z#ĞF@ Q BM>v"#ƁY$C nV&1!h/:<1@L$.t P؞]q̨sM2u0З mlomS*hS8T]y]FpYg~mtH{v޷aJ]0{kMC81]kL5x$-T k`R~6Mk$@KP0`f|dm?~`%hVX"H'rf,g}&k7Rgsd&Y5~vyaucPZ7 ״ ifb%|G|K@%bg G_kց6}8vnvJXQpe#q hrP"wwS)Di6 vZ-uT~VxF|jx?EgjQ"76}FxIط-vW M>H_qeǁx)Ej_<؂T%]dVMyLVy;ubPjg\#kN4'~xo8v ŊYɡr8~w٦W "EŌ؄"밊VX8USՍh=g/3V0x%偧MiUO8D\"bj֊Ktg&b|ߖqHPf;@2vT]}zG9N&eFDžyQ L'HH8@.YbmHupA^cFp4BdKI^v 95`ȸdRْ=Ij%kƓQPYbWN4/@X@BKؑM)VOhƉ,Dueڕ9SAnrp05>5vQe{ij&~UǙ>mĖ룔ҘlS՚rQ9_!tyNIBIŎPU6j!oUǙo(眧utY >y 4EM4ܳꅚiW9$5)'bE)wѹR))}HDٞ>hS"uNU(yɠzO]+T3z쉠˸M9V}&Jj Z0w- Y(*O7:d0*K: z9_?*NC٣fP&q9ŢE`<%TԔZ\ڥ^$SJ9M_ZZV ubI2 Rp:u!rʤtBśmH:o~ JOhnDJzQKJ:,<-zF =y:Js+R"RI㩊7g ig:\;!ETKZR}(D6ZpeD۪Dé:͊.^ʢͧ\aٟ/@xjZazs\:sz[s*L"a7nF'gډI?PFBְ eո brg6ejUb]Eviԇc ɳ.ڦe_~tFPQ*MLt0r"9~ߖZ˵dNSOAC˴"y)HKDeK7g]ײf|c4MHUŖyk'm;|+svtkwnMP{[XUM@B{zgs]7|qKǹ knE+l8ox[[۴緥k|˺Mۻn۹ӛʛk}bar٫\{K* UL۹J 6Qk1o[ܷLR7vayk{kd"ħ;KKRyFȶ-zt;<mWeK+;h&'껴>BL"\n:^8˜kprܥ,Z:)NݥPȄڬ6:,dJտ)Pf}hjlnpr=t]vlz$S+bpׂ=؄}֟uz>3PCRش S\SSQF^QKhUS~?j屽\uk*Fnҥ%Ǎi SuMfn(t~ju/_>b^|n{LNe4NjeYKTV];t}c!NHN Thbi@NqF!CE:?;dn^Msw{Ȧ+ (// (pi0ABC6|!FϞ.c9pU ?8!Yr%˖._lPTm q$(th F"=ËDrؼVAfKTZRu٨Qn76G(#5A kn̾m6t|zRFw )6/ZGfuPE%:Yu@ȭ;@@=.n_{XVӦa|*g &$c_نv@^6hףawC]ugJgߟ^dp} gr4VMsdLwAkGCwF z񑗟{PzWF-"m62bD,r^?ۏ(<$r`OVac#6Ljmѡa수 >^Tfg)X2bI){IQ׏VˏKGt6TN 5Pt4p, 0k5GB S|AC|zW4uV{[clkbxCJ\hBN(JJJa$*g5N>%E54&*`@zʥXE^IѻzU4亡5ҪWUH䶍n&PpG6Jr؅߉j*j0#03kkUh;϶ez)ϐp.A/=}`p̀rj2J IF&Oakk ,wg٬[q򍇔7{fӋ3ވIu^5K. >Q ^zBiSAQ*&yfm` gn,݊7DTJjk^~.?ia `zqL'ߵӦ3{wD..?,% SO:YFC- D[w,No`b2MWx+斗Aw"+[E)U o@%9|b3],YH r AMYsX?0&Q"?oh-ttP61bXӢVBP8(F1V\=Hot㔬? 3ΑABDQpcIbHܑ9㢺v$DRC2HIC6Ep PFfqLY[brd+7&2d?دFV%_/ߘY@´uG^z&7G20a +"i2C5!4Y#R"|3(KiPrB2J(IUhnQ"~jϫ O{j_9OZS mߥMq&d,#Mv-!gu~Iw].Pڤ4A*ley]"-nmn+.;291יmTVUv&38YYpwULw'[o)V8s7Cҥheo,KҴ*]kNͶm*Tmk۴{Q2.0b[^N^ goV! >N1Dx~i=!0ug \*:0Vp\fn<""#wGK;lb/ZŢy|b4f-z䆇e%9zf*8AXerkx9?H8Ϳ9ЅYLJ<O͎jJOcJf,,lt;-)˫Χpg`WNz>e]5@p۝mˉv) i=>>#O2Ck^.a:VN 0+/;[K!~ o'b̪n7  CsO]Z||i|; V-6KRPXVfAv~d+ڒe'.L҈ב!#ݜxɓeR\ d̴Dބ Q1 [ӔZQfʨLˬ0P y N/ѬW RMqO| O IY I%6 .L F Z8i%k4̘ Ͱ! !a]>.dpl6Ki'U( G}".b4↸5Eb~p(\u.(J'!"!`a++#RQ"H)՝]0e#u7NP_:" @C;;c<#8cv"_")&"a*@dAA"dB*B2dC&޼A"׽Ma12ciZmd(#v#k#́W]FJ}$,HB¡_K1zM:KFHJ\I~$ 28]A_JeT>QRJmI$~ʠJ$KZdO$SVWUGJ`]]Y VrE# PU`X__]n<{`%Q,,RI m>L#;!- i!_fj&=4PdEfPV`|Jm͊!vO!N]D +%F,1nWA ddդua v]&óaCETg!v$aj7ahsrbB$0L6%M nXԍ#{/ʕ 1fg-"޴gLhafU!eD$Ơ.L!fAոigp;"'kaΐ8(y$J-_[l&j(Lr!jj(|r(q# 'y8UffCz%IrbHLm1gb|PZJg~R~ ڠab]l`+g'b/gb*Ά݅z!pϞLLeVJdV`5ZN@ZzL2&:j'!:*0K {ʍ{)72 cl:db* ՐI^)̀Szg%I`J(8+eF^Ҧ[?nda&|U+I*tMtN/TMFf:߸:XVe6kN}eW'!GFg+[&lQ諹F,@jeٶ9Ul\,TEY^2bǺ Zt0^TB'e E\N%B2m:-4'ʬÞ,%YH`~d]֝nCm؊ؒm>Ȏ^Yevk+&}f+% ii.ڒH,*m֦"(ڭm.E'ފyP]ϖbu.f`vebaJnrzi>(ye , ' .. w۟* &N}rE.nE߈RiiXC1*J~)"iZ,Ԓaᦆ>VoF .g4o%U용iNhc*^N.'I"hpRjmbhp ڰ*z&BU2^ C+(iniù@r%$?z#¹I܃O1W]NU1"EI3I"d",\ᠰ;9!$.ڂhТd1 ^Jkih1,)r#gpnp:&,z]]i̢Fnsr.k3rI-#" k&#4"B#_q;HY,!1rƕ1_kRQRs9`7es'1: =/?/$)+g\@-#z°k=dJ֖Z4 vi4ȉ֎3/?2V*3^3g 3VYRGKw̴ H>tmn6UdAp<% ; RXmtSC7a99ϝ^fgVgj*B5ZZג0a8 crG.gr)U`=_"hN#r)b Eûxoqv6hag%*3)6vha02*7iՃa6@3Un+)A ʩ%Z&+{*]573giߝtH vgO67S/4~ ui %"$7U*sE/떪{AƊ|o6yZ nvuSE88?e%ޢ7չ8*0 ψw*i[׷; ~3Y\jHGPn1b3z6q8 *DKs%6qTOou'U?9n9,A9?5o&Wʑ?ڎ3* Ǧ/8Yr(3Bk$Q<w5Qs6-~r*;\zplz>zz :n~SXEdsN[:+9QzBs8P3/YN&ߺg6qmNoa},/ÒDZFmma{Ӕq{#W5_r )/ꠤW߹;Ekbޫr)B*t<:.b:VhqUkCHCT 4X[V8qt;FPϻ#\C|o|/َ|7=A6"$OyٷfH41}$=7͇=cٯ S=jF}==G*S81ӽ2|߽\}G'Q/=K}fV=&#>L:u'3>XzeƳC4ʾ 埽+_9V>qW0R~};`PoL='Cok8Tݥc~Ϋ:dC?¨~{EK7= H)h:j oEn%C0@*̥ }J$P%[F؁iDOȠ>2NT>&uVGGssS#c3CIRٹ%7*gfpxfGfD&rV6 KWCKZ\ u;hk؛[ר38=,|d~7k*j&&k,_;wjI:u$cVX,Sĉ Xiͬ{jؼCaE;0Q`RFe%:{#KQ$uLB#wR?*MaձdhkؘfF#ҞӒz=,Z֌כwK58Ji7$\rkwo8{ :+W7mgԥ.8r{MD5onijI? eE@dI>d^~ fbI%voh ggӡ^@5OzgdFlJhHI~.h|6J)@R^)s%g~ a|:i ߩ"zgn@JkoB) k lKll.kr\?k n%lKn2xD+ޛ%Y^p{np n+;_,@o@/ {k;&+ʬp6[jysI Ѐ tD FctɵpPX.KaLv6ph6N `@ pC{L^t~ 3c,>;-/`֔[<$٢npͶmΨW wH/M38G۞xGΥ\>+_7yO: _6/_κv;QH @1Pmn !QJl@=p^'+NĢ%sfP p9|bة0Ttd q|$C!H*g2`s7ŘqP]"/A.fҵƵ|;!)CF1hrT Ð5x% ?q$l1:DS#H M/vrTRXԑGd0I֮F%˗ zY,Ve2e, NcYA1RsºFv$a= SQŬrahE/Q'6@dҡh>l/y|tb? pXKL3鋑<@O{ѠJu,*Pz0JO,mjڀ Ut2F!թ\$Uj3ngYєEml%K*gk꧵ud{+\w@ղuVU\=B,cj66 R x> ЊvB ۨjT]# -mokvEk!+:>7X[`3Sj`YaD7 Likĸ.\AP|sUۊ9DkJ  kx»WUD^5d%7h_T ^H%j 'w#oj> y0w"#x\g6$ Nb0,qop+,x2>4;!>{ĺ.A#7a SQ)R3fj3[kb͞(;Y/2#:.,\>^t)ډ(G*Dg|gKKo˳ $5חF.jV6d Wo.*'ZvucjFlQC >GOqiP<:s} Whi MspՒwxvMoY+6D}DQ9 ;ݳr0k6ľu iB0fýquI<,];v9g~ܼ3/Jnּ( 'v86흳v|u+|?oÅ6]tV]r:>Ubi{{{nSlT%pO-5gb">>-rRdwsT:wğ6i&{dC\yEGC߉}X"39ejsՠ:`u-טJn0lJŤ-̄>ėQǼ;P==UqhsY鳚ؿ~_xS3fz*nI]qtRY{ͤOTIw~w. ~ `&xx(wsx'~YD{W=0"3HBN4l"lvxs*"YA(0BZơ҃bGUAIHz<OR~Ux3WaXD[ȅp|^M(k-dXujȆsH+n0r%tȇߒwB}Hyv,2fCȈx(b3j5w剟(Z΢]u'C芯Xbiah;}YBxrgqbBWeXϘ+ٗikxi(WݨVx8l+}ߦ;Ǎިz2@gxhdqeohtepU눐}bv@\  ' ɐ?Pzgِse!&y H)-%YSu` Nבmx7. JB1)@dwz_uo> A)0IhtF_X5 L)oȨ]CR%TYX)797i3W%@e+/9kmoq 'cxh—}ɦI)]a`8o6c(6 Kc8d 5IKD88DI_cKPKC7 j* S)kYH%Љt,ڗ8:& ?ITD7Aoyuk+k֩MEMV*e^I k^hѯ.f$U Vo6O#Q$ LhqS}i^af[u{2yHT\ iT}4Kn&D$bzh5֊Vԇp U  È tqb?hGrbw/VGڡWADSA}W hB' T` FU68^#—9&Xg([wfhjp*0"yr^=(j!:'jTN5|5Tɍi)z !gujm''ض$-V[^#$,gKt s^uջߐxjk^|Uu *ÝVj^^_./aD-͒P 0%ERte"%NPT?C[t2.J}̐`lv4n6r˽ z#c -͈'sbѕ"yWn lwb3褗n騧5n.{:;~:/<' /LWѫP}`֯a+XtL(@40I>˧B؃V90 (}0_X`O{!١ c0~ `,Hu,o"F.W9ҜiNxJ΀T`?h[ ĭӣ#Luљt2 jӞ>JԟH}gGPTJժZAVծ)W XJֲumֶխz\*׸x-QSh `Kؼ^oj-aؿڵy+_KZ,[ľK@,>V-iX֢V՛k#[Tͭn[عC?lzZvm-]UCewKRN:ܷEbQFct0]5<ƷfZ6EֿK^lo꥟w^4o ] ׄ#pim0ol^17@ C1ߺȟ,h?:Y%o[") eI FZvY_>y.QQ#1`%w+6L_0 ,2^VqB-حnweeNZe(9ֵ=KanXXN(. -g^+K[l`KK<6; f:? gA[u YА%P+`g{ҬfL+{V_h%mnCM8Mms}XώӛL52GXQ7k 0N:rE mpqcU|]@}5Z'ehKOַwVz hq> Kܰn1[.ƁqF hZQ.|i#|nuz``ȱ! ;砣"_佼5A<_٭sPwk{? _ճ~'۾ܕpw) 躮 \BK}or@7F 7=j۷]oO~d`~o0ʅ{#2k?ṗ_oE!y|EWchmpu }k}V>jՆ 8W phZ!wrtHX'UY8]7t^p1Hr3m0&epu;x~ƄJcfN9pvJ7okgQ(內VVWdI`G8`䃅Wk77k闇nkWk6؇5Hp$Crt=$EQ@g j;6^(~XWXS(M¤iQp>@X}\x]Y[A_dO$>EsxՋKAxSr(i&wV؍XVиO4JD3?`긎hVi"І43NcNp1`r(ŏ$o!DOwiWC%0zaQ6pI TVV녑YtՑ0 H09pX)yēM. AA" dOzd46D8I5<9 h $DE3)*;X_PeW95ŕZ(ٓT#fYoti83|iw 9LZ iIq uYL$GNx ^Q`&^ YHZ$dti9b%dGr9# yMZYtGIJI>9 9`N֔Y=I+N Ҕ< BI UTTKi5Rɑٝ™0y:HYޙ.yrZTgWYb"ֆՃfٟxD.sԘfpxɢB!*s5jl5iIDU{ C&Q(QTA?l 룢`*UHMGAIL: Eʇa:t*VjV``vz|ڧ~~ .tGɛꚫyB<ছĚd:Zz ٩f fAIĥoiL՞)ʙt٘`XzJY*I3@oqzIUK z`Dj>$Rڗٗ=POv! 5 _AYJm= YUv#hծjNVECJ ˯5@wY iǰʬ묋rr w$rG$r+;X $:;_)-!Wp*ڲ.;A+@;l::JB;KT+j.;]}!L۴K78+?"વ˵4:GFI'fh/%c8ѳj[p[na%;%U{۷+@Bh@0۸^QŹjB:CZRȺuP*O/PĞyx٪={_TELj焝ne8hէ[rZ+OPh )깃Ǚ `6 JHHgJ:6 ´P$ڹ0ZHf)oÕ)4i% g'=%ٚ,QJJ܈k=T3:lKdkS 7;G;FlT\VKiS`\;od]-U<ƑǢa9 tCƜ: %) 9\x,=6WIZnXɄlulwȘȠ̔ Y[JlL`|L t)9,˫잫9̝z5=̛(+,2LVlzB̳ <ǧlE<[P,ʢ<ٛ\ f\P8diF `TQc7%o`[ kO{3 ;<#@-F8MtHE5 Ť<*@IԚlR>e0ʳk^]=` ̡Ԩ+Q,=lMo IGz@وꉗ~I:hjSoU-Dۭ1ʦ6L<:6;d$;3Ik< } N(<;p; }u}]%8 7̫̿½]K*=J{T>3 I!ݦL}>kդ:Eus0JM c ` ݂\]JOq\BN}3=Cԃ,tW]TwkFzwͶ Au7}FM@0LG^@>"!ޫI΋Н9ZUN4m@@ TMi5V>wdGC{mW9>. <U<{BD>UWwHȯ~箼9P!~붞븾>">ɾ~°m:P쇬j ܫ^7|Nڎ^~^׮E1N|>.TsNn = H5۶ 9>έz/tIπ2s?>rrK$1o98 ދ&C*+C?'OI.oKiKlTn%_''P2_IcFMՀݢĂ}>8$IP9 0 o1GP#~?NdZElNf_xW"p F"m12e4PTuݛN`/^k;gGMNdH.ne/OMF_կ<aFdPD1B 0Jx±<๾!h<"fcFIpLlJD>5~ob\R@?^$xt!&5Q8 JNRV%fjn-1ARYEZjq&Yܰ1ޅ~Vo*/3`CGyL۝ƪJ{$7?V &4/_P† :Ki tpc%v?t6,$3-hJcɖ2N ̚+`^H> *t(ѢF"Mt)ӦV0Z `yr4':UD<;׹3'Q?=}A| @W䳳 QT~DN`99h 0^ ^h` Շ( '#`#e`B xŠ)828(LX@>P|7Mʘ"6:X" %U,#TNIcRɗbӓQ&*o9f$=y"xr$~`R':'d%$ ;*Q z)^RzhpbjtJBjdN&(X묊B`@*|)+vzfg:3jꩋ6:(Q /zN jQe:9+jhz@* k){)mk4lׇ~h ./@.&!O9R͚ n1խAzkr ͂ܩ(褰,|/ɳǕl7cS D`@]w ~l'bPX!{1) `#"=hA 0qChp1J/*qvL EfEƍ1ŋw?)Pڸ76rT0D@{4G *pVB+}$) Q^b[fvL~P6QAy$%/[aɒ kP0[H.6 .'H2%IR9b$qp,i 83R)ФRd\%<[F"H^$9ùEtjq&<姰y] Jmˌ@1n*5)IP5TSE4kTh%Ft%Ağ5Bj ő2y Lٓcf2#ttF}= T?MNV5?GZR%7Zǰg UtAnc.*L|\H2&wR5`MCYn͑+ >TM(XCv] (ڷV/TU[&cX^m{۵6vmj5몓vESM&\vtrӤҞ nܶ jz7o0{N,%dG+^Wt'Enk6  F&'Y癣+PRs[;H5l' /Wh\Q{R74ڊ©Tt;b=ּgUuuLa+k^H{a+>rKRE{2lo<umSߢeBBjWdkZM15-\DE9?yjFZW:9>/ͽ->33fu+.װfbtH͔6Z\E^߃έ~߫?iV }؍ɭek:*KamMkO/%vf[ʎry{Z6įq=n.b.[oˬ%w7omnz?v ÷\p:_VwSKsߢ&mif1Kaf,k\˧>x.r7rʈ*^Ft)nV=V,ym͕9&dgAwX2ݹKo1~}=uߙiuŝ3KN.gD5oo 䐶|1?rzn#v]s;+ mc nHgeئ{Nyk7L .cϞ~}jM }~36Qfl{kmwŸ_m+x))@?\Q\iʝhaWJ̡XQ`_]eCm vऑo   =R * `uv>}ױ`Mm_=UDf-AI`~НߨaǑ_r|-!ͤGU >^RN!a]Z`!_"Ry^=q^y_>e$!FA_i6_n!]A,t!b/.0"/(]}vaN!("a©u)#-+u#} 92M~w(#8 3# ;V`vW]@^K#5G@ &B1>=@``,#fJuY4%~H6B]4J^+a LfLJUd_ܨ8$ aByaBޤ(aX;Z$5eQj4.e5*SIneVJb=W.%z] V`M$Mcչe#rb$&VP1[yƞ]tJ,]#eAԥ7N1f.CgZd&cf0]r_Ja#HpfH56c=clhVe%w\h濉Y#1fg<.LjE>O<>>.pmCrKfbDv eAdxr '0"&SJa=%Gl*dmgY~"o2LYӑa&}QYaa!$tZeXb}b~ΤEe1ك.'wUN(J bR=%5B(ѨXn(qbazbAjuIV_ZibցjQe&)E~)=5Z|x)j*jǙij j"j*2꡺mF:i6rj2*(*)z*jjo_pFgrjzjjb&usN*vHJRkv^k`ez6z>xn[*꯾+j+⫼k kzkNJҸBfkR+nkFlb+blRljhFݑ9l*rҫĎjVnjngꨇ(B)~yjmnk6J-z,shh*bт&.-,ά͞ˮa^u\:iŚj-,jV-ba6~mRVlFbI(^n~ӊ.6. x(n.f-iR:.J(&VB~l~ olղG͋.|@Efj/x  o o/֤-o/o00Uj 󦀤$/B0 LF0rov4گ/^ #'@/ί ;0 drpְ pp o p q ˯71p=.p;G1 #NC#1gp7.qsds1wq/M&벝p 2 ϯZr1N K"$;0"[r.r|0.z,Sl+H4r22JP20-2q2?Z#30p1 s1p.E*+bJ6G5_E(@:s 90ǯ$p%$eD;;GsG< ǯ_<ׯ>CC0̙BCKnCNDkDsFwWkL[:FX$GwtJ4EQ~H4tMMW&,M MKN_/$8P3uPOtB#1$b0S7uV+'&EztRcuXk5D5;TLkRu[ua 5YQs̨53[[؊ɵ taZ^u2|_4ZrJ6Ivdv`T\`]B^Kvg QStai2pa{6Q0(Yuv,@6jӶj_(ty)`Uon6OO5?9i5p+Cpu5qrSSv5kC7eTovuu)Dn6`wUWlz{4wJw6,6{7EuvZ˷t#7x7~ l|OvxzAYw]S5㬁z/WYvs3Kxu$Wxgow+u|q8c'8/Eywxx8TYT9iqЇ8uw%yßw_KQT/QUxk!Syyc92KyM4LycHy 7ԝyW9y'Pw'|3z;Czp&my[czksz{kӨzzzzzzzz{ ;{+3{;CD{[c{k;O{;8R[zօ;TX;; ;{{wəyQK׿ϻ#ܗ?䇽>;~ڇ3>==_=>Ƌ~+ګ{~>O= O+~~/}|>}Ӿ>???ko?WC#;ow?4Ifz%˺-l4] ĢL*k``4_ &Ie;Px%l`Z[ޕ/\9|7'XDžs)94%t8H *:9jz:jZj+;KKVkں ,N^n~/?O_o0 <0… :|1ĉ+Z14K:z2ȑ$KeÏF C5'gL xAXEqY#F7I JZjnVR2Ѧ{M6ƒ ͛G>e9Aο)-S4 @@ 4`yrQמqg{faF~h^&ͦTRv"4h@Y|nވU9cto\"uL -I\365\ Q>KnF@SSN>vlrF/pLS.)g|۟i3&vB&k.裐^7Vj饘f馜L*ꨤjтꪬ꫰ڝj뭸+ +,k&l .FkVkrJmv>l 覫n kʫ5AI+)';GLWl!q n_vl7034r8\P<:->mt`><(@3-OWsSg\`!㒭vki-fms pwހ˷߄#^"x3.W*nTy2!:P _[;m{ ѻ_>ʾn0m70; /{KK"J`R8>/k}N3wj7?CP'pc_?o{/K=D{`n$xH*ڰyĢԧ у2d!KEq|+EDH)poL+9'z]I18 iEα)D (< r!ICHLGP2tTEGQSe)HZle&JJ2CL&xaJOH XH, lYЌݴa$ŷflv΁S&69 *3pY(װ7j'@:QSZ@4MZ( ъKyE7Z*ft )<:7#LҖVJ+Kg*4)lJ6k| ԢK\#Q&ULǜZ5J0jUaUZ}UM MiA : K?-ju?:W JphW}zE`@XWv}PfHoD&H;]`ٿ{ *[4K$=XJ Wf$uL} e5y?Ȯ圮+PV2噢ˬxJW '25ĩx2>OTOfsd89ԝggCԨNWVC_^L x"^tF<@ol:Y]jKړn{؀. E0v}ims7kp7KΆg+:^`3Uc@]ηM{xi`dUW)&aZ=*RrG|s0g{hDG}8wo({d}v[8{Gxk~<v`!HٵX,@uCH1Exkwnk2v}m$7m}R-X,'`$KkU^FtPd:Ggyiu)hs"x uw h}FWfgGJY5(V54_-'94Sw PlW\g6go/Hi⑈Xg^5Bx>XQ޸Gyz85FWkg'X{vvx[+^FM8tNӄ򋌓3F6t wLJsgiY}sH3H9V8#6|x8،uxx\`>IipD֒؆cVȓ9v:smƅgwi"[80r#`XWׇ̨(i& VU68 &)'$؇ToVV8fYds{q qi}h j&ٙ'))fQmPg ȧwnky hꦛЛٛygمȚe67@q)cb,,Xt `)ah۸ᙌ 퐞#vιtrfo0vFpӘYQs]uSypQm0Z570'hUiȑ 3*9z8ՙX}Vi79( ږq_11*67TQ3Q,z""@Zys5 sy?OSz)P9?qM_JSs"YN%xlǥre1w8yWVgȠ}fzt~*jpJ/g%fq'z7CڠVVU'l)hc6IcF_4 ȗQWh$ّt81ץӪz[Z|Z8ѢykE*{]ca?vz[ t< z+FXm~ $j33B Ka[ "I:Vm*(  g@, '+(K{8ڢ( YxyqBWǤyd˺[zݑj8:Sq PWxX"{I{ʴ,ˬM۲){*uS80Ǣ9zbGi:gz!Iiw)lU% &/˴`s ns*V[|+3WYCqz{9#k+yc)c#*yIIdIY70OrR֕燂g^*S8bږ7oڛ˅@;DÕk; k'q抶OYi;4ӵu'x:i{~S9YZ*mj&n i/ rj:fh|t,0vc9(c}R Qيfi:N{Ahg[͉ƿ5׼l j':M )bɕYéVRXW}j. AxTle|Ƴ*(A\ !yVrs5s72s_*ǃïc2#z.\U<ZWV"|(8,Ls< Ѐ'/|b1S s_9bf/[s<ؿQLj,Lƣ|\L\_e3Jԯj܊V 3{9NJuca\MoL t'[ PJYkk< 3JdloLzzZȅ1 Lƈw5P}g)6`sO@i]qXZ c(KM{ gYXKLL~ F`e:]IgNUa%D5aB nZQ4}HBH`NmD^#Mm)~?c{7ZbnM#.}NoFK1㫽gw^cᾤHẴ';.eG>۹(4_GRN_LD/ E3D K$bPJȋ` ]fnJeT]\-qSn~msޗnWb$@Z$ha4yN(OZM*ש 56.Է9.5 eN1+xSz-t-^n}s܎'3n3֎KH~4^~o`.Bl!'gz :|m o#ۈH#;Nvv~.qjJW6ܫ+Ed9 m'IW*_x_@ >NO&^U]^ORI@n y],_eWX4]LK.N_J ̒Yc[=_XO_V[殌,O=ܜN7$l-O Q.oHkQ@ʯ̿/O>G o؂ܯ3ޟ_-㯩ןco_- 8y0Ӵ @!h<"%|BYjbZ1l>-~_8n=}"&*. :>B1VZ^bfErvBNjyV>#' 37;&G.?W[_IkRc{mwv?ǧWxQ'p`~#p!Æ<:(q"A/b̈͢Ǝ?r$ɒDLre,_Œ%>l9CgpGЛ`T&)4w ]ZCD uRB6 K)XWixeuHZEnYV,5sj3^yw^…E/=uTārQh-O.yOτ?GxhM-r]dcc6ݝZ]tȴ 7ȩJ \pkR<ɭ~vƧ7Xuҽ ~xG| 7[z)ekQZޝqIGKxEx`۵7fէZRat%r{mx#NxWO,Z؛ FhwdnhMRy$,Q$k-HqΘ\~KnqV!nXk(^M:&}3ܖ$Q8(mI衆X(G@fF*IZ`)j%ڪ|Zz+ګ [hz,۬i!lZP6f+&-7t+ :#zl ŻN{~!{oR|HgKLpJg} @oN@nJPUf8ަO/"#<Ŀ]; 6sO݃O\;?\%e?xq0 _"0 \ B0 +h bz!;kwn ki$=;7j5~6$W=;./usr/IBMVJava/html/enterp/en_US/gsolent/images/atfinpjv.gifrc$$GIF89au𠠤,u dihlp,tmx|ߑ`H,Ȥrl:ШtJZجvzVC+znpX~ ""(&c  ɯP̂ιº 㪀+b*b-ѢֹC"~$ǰCoRE[XE'lBBHP[rR˂( L͛89ED1qş F4R: $ % 泘3j% irIYH;O btF}7|.˔_0ְE"&vNJ<_ͳ3Mkb 2('4]48 6laWsO&x*o}ᚓ+'˹Aw "Z*LÍmv/o}oB//OYҀؖ-"%e].`@k&wI'e^xExm7c`3}]Ql َ""`7ğTe2.#͌j[jZu~Zck*무v筸*HMJz ؝P>lF+Vk\vhd kՊ6 k/FZNoQ*PA0 \TOCQ޻F%BG6t9:4ל㽷}>53}Ϛ~y־9 i:[Xtc:΃?>3o۞ y;7>ymtWՑ/?Էi w ,E@g91P|C7nx^C '4! W0}!>HY;gBobK7ilKDTH<)QdbݠqmlgE.`{xU{h8 aw`G;,jX$ f2`^ Yc(JZ$&7NrK (GyPLV򕰌,gIZ̥.w^ 0q,L2f:\栢IMjN̦6nv 8IrTtvZsd&8Iz>~S;IO UAІ:1΅B>-юzDIӤ1Kjm(%gL9SqͩNAZg@@P[Mu%&Gzԛ:SFSU Uj5JT`MhH1Re4` ϶rshUJWFsgMkRjWhZz*_׽֕]` X|iX'KttQ ԫӠf+ Ydvv9O;Wg}-2ePVXCYHYIPq[v@6Mչͮv[v*Seu_mޡ2׽δ6Q6[1 S5 v;\. ,[w!f>,`%.d LRuVA\] (Њ]'V1+۸oYX/?9,ϧX@\ YoU?` c2 an'2Lfip)Ifýo5, D 0Mٽ!Z+q-9c/|f4X3E3+_.ˑ8s)KG&3 m&KכUMr׮4֫29N殑ic l53` {{N#4umf.ˤ.q_MoƚQ.17*bLh:u.6 Hyf:wh6Umpm+Qŵ*& oӝ˗߅}nw9X[o&l `idIUlB?-fZCMsir.|RSZT`9c W[f.u Y)a}ٙU)Yr7iqy5d [YNYNyoĥMoUg9PIǙNɉٜ)U)YQy]Y ɜщT5bY'oIflUx I۩ɝ.%jJc湠7*B2RTB ښɠΩZ)yy^-D1Z /N.ڞi:*a9ʢi%yHJD[FYJA*E0J٤ť߄bJo6LhjlڦnprLVZvz]Zx| ^ڧ{ZjczLШ:ZJRt\B"zBboROM-u.j-J.$]ܑIe8Ss@;vpIw`tyP:QƊU1xP*EmUΊ/O:i P:JQƊ5 RѨNrPʬe)0L.2rR [Hw u@E vĐ5(@z چmeivZL+{W+c&T ?QM7RGfAR`wĴ";ޔıF*Q[$+T 0@UR{VLHƫBdprH߶tKmv MlkM {fWVkffM{zEGF +jf x+cĶjh@յA%뷉cBOD0{f}wT9M5l>˺vQ{bLYK%bŻhkN$6(oY}] ޅګT_+tؖH[;0vx Tigke;זz4ik,5O+"[|llGLӛ \NKʽF%ku"!nK1+ Fk:\9\[<Ɖ$'h MNQ\g67g\`QlƸhiƠwؿ .7Y"^;V3no7N.R:$(HKJNKAÄn\^`b>d^f~eahn6JtZ^|nJ*SΩ^<膾N>r1^.璾v~阎^e>맢~jj븾h venl~8X^ľFΥTBS.OqO@\3ߠ~o谳Kϱۆ̑öi"MۻNJo&q)B#H,_m|:QuW[ݿO? o̜|On?Ǎj_UxPeaKedw=~?h<"%/@4lDm-lV"j]r^\04&7\ XTE T,ԹXuBD-ْފv٬.H%$K-Z_q%1:BHdL)/@c@O XaFs̯vTD *:.bxO '6UTy{/$r,iĸT‘6oQH_24fᬉS‰;.y 6e"f(U{%O<Ö! Hͪfq;`-۶yx0 to*xtu+yUT"CRʍ +)RKN,:ଋ5RIѮ_}-^ٶqʷ]}-j? %ӆW'V|ԯ}CQ\1ȳn=܅f9~ϯ?}8!"h҂B5wŇ|&ա#X'H(آ/˜bcX7|<CYG"K2٤NSRYWR%"$@_z&cY&g&k&dbiWFg&٧ :(RYO-P Yrک oǧ&䣎FJ{ޙw SY0ګ~dcZL{䰼 Z xKERzm*8:kjF'i/IP| ;'|E.+H2ܰ%RXí$\oxƋ4 2kTDܲ.k/"183 x嚋n/6u<%R@lA CV=0dh6d3Oc ɴ1O*C] 0ϕ)j yWN5(k7vJ$c 2܁#MI hqVn|=Vvޫ 79Gu/[zN.yD-=Mj.;j0Q  ߾,zٯپ.AdvjRD!a\YG8%yRn0*h@Ur">+ #T&J <:7Fͫ`*#b 'A b]ćΕLC`|`D刺Mѓa'KYDOjR9\e SGMCOLU2Ӹ{ΏE)c"Ё\ LTSz3'7 ԔcHҒFaĞHq6Qj#ɷNpI%ԡT(@%Q~E.~ -זEAEաs3b3Lg6&Ii<18љs7$;CiGSybZee)W/I*/r5WI.ߚ5}s&U5/X3iB_},r2N nP2qM"(hD6fb#,,EPfT͵.D-(|׷62q92-a$Q9NQ5ZF93c7kr^2;9x޳ה167)nC.#:]d8Cс2+-iGf6LOZ\(_zD>Sme=t北:׺IUȮ裃-l_W鴩ZkZ̮Qn)m$[?u[iϢd'{ gaw߸ח.enoV^e-dN[YJzG<"+_˼bٯb}K\h7o5.`(:a$}۳[{/|W;|Wm );4_;/|k[L氕:ԙIPw?7؉-ezζuM4>w_Sc{~pVO}[H.WMnw']1.T=<8E\cx}̡2w̒%%\tyW:={zC|ԒU00+26Wg;WZA[\";xK׬fX׻[?{˾VA PUrfq+|:?EO7׹ǩSȝ,+O1]]Tiʹu_EQQYUC!_ Y f` IJ$PA`6]]Uay W-FUMa/_0u2 `Oj­a|=ӥ[]yٟ+uAVRmRUf_Z j 猞 [ q]!! (1, `e `b&~')X׾ӑ(("8iZ+*,*c"#yb0J#4ZI*`E2rT=#52/c Ȁ_\9]m;4£X#b#U<ң;2? 98c1S@CVcAқDJ=$PM XEBdEdI9Bő q b *D_͛]g&q~q*dcb⤪YiPjezj^z%NH*vىjq +ZC+j^N&k#*ꨯ>n%j.$(Un+֣eZ(fcG~G+bFk~꺦cKd,bBkBj-%%]Z%[i՟n"6%@`i+²dɝ`_ufg VIlzJleWjBұr݌тp~ <^ޢk]~kFm 3p`vf"i26gmޭlkf+`ҥ֪="N%)g(2nb-dem'^v"Vwi'x*+~|S@!ЂƩ(Pq͟..R/&׆&ZJ[,X-bn)"SrmV)N)fEVw&/:cB,+k?!`m܎*VҨvvUaըo'Q''3l*ԊD֚ ꚺ}k&Ԯ*-ᒦ?pŢm gäRMl(r];Bn(3n*,(c>%eq mc,blMޮs/ 0ZnӒ1 S.! ۪$_,/KR*rAzog22!w"2' r#2˿r 3W 3,8,̪'r:*%q1 ',Њ5T*'%PX>3"5C%f3]Rhzwq"hs2.{1k2PҩZssQ3cnkN:s">$i Br= Cݞ}s:-4.զ(39 -!'^DC}BS?PWfy*үRT&31WGgQKZ&RruNҜ6=_oW/MvG3QH2 Pt~SuVC94zp2'b070(c2+jސS):'t:nd/n6&.o-SXaY% !0eO/op t ɣ^S 7q=4Ti7(js_FEZ]\64JZ2{;2,jcj?[PEwIqjz+>_+zw42o3*+8qOr#vH7$k[A7vVz7Wx˸J48788Ymb8=aK܊2kq1yY8Dz̲iX 29fPS(8/,LL"sȔb%PpM"h7vk Y[jbᑙ+뷎t."XXs5nbm&f`Յ_{ZXx.PBBG.ugeM6FѸkÜ͉G@.x{c 9EI1kJN'qֶVk0cԝ:]?|nڅugdVݨ9fo![^߮3Ţ;5?_i;!w]K[ YPA:B6;9zf.v lht(> wDK"<8<:ҫ#QZUŌÓ?>ʹߺndgO rWѧ_| !2GqR 5SRB`C7aya+1r0 +:"6V "ڠ_Yx%8$O3ֈdΒ!8VA/Z:&.İQ9hRO RЎ5`7nhɑOgacgɟ&XBBHRYH(U瘆}3Ѧ`}qi"evpZqkpFiO᭄IJ)YdʫH=(zz=*Ff}~ZF72w&*4zkr(j[ղkjbjHL黼; bF*% (ojR̯Բ`Ʊ]຦C|+' j5kJs7Mta%)֩FL -$ +i8[I}*ݕJr]!+_b,DMxWZnDR)|w:&;nQ~&:M2c:Qe7xwG^y;*r/|k<: W}߉eZ~ſo/~F߹%/ iHI p|[@Jo9U~%w8z?Z/}!&" X}@~ug~p2}iQ0H zr),B]Ѐ~GwhJgс2!(O09x 7U3`ÃP} _q3 8As@H8&x~8$/R/xYAK8[;c5!=Ah؅aj(Bwf??KU8v iȁyR@HO -A{H>|^:|燅!hiͧ(i҈<n8qh|HsQ,u!}X"؇؉tH͈VyHhۈ0㸉 (/) 6xȍ؏()XXȏm(ɇey茁y%yB@)9"+ɒvB3I5A(d9&;?A&zGEzEEtIɔAxQ)Sm؎_GY[LVXɕa)cmCikYOfr`ɖq)sLnuhIyro{ ɕ}yMiww)Iiia陟 )Ix)|َ隯IT)IvȘ雿 )ʃiItʼnɜ YM)iDשiIɝ xpu\lEzHJFXHliylF_4kWTJY6 q8cisoy`Kj zoʡ햡k s $WXg;un``wqȶ`|, o%iqq֣jRqVvon1Vo6i.zhJbfM6]NJiRjq֥qGJ*)*\M*SWʠpPd[kƥ͆`*hlj/iJOKnPV;Jn7[:ڍZƧ6/gJSTeᤨƨTqqʧקjozknJJ`Z5GN]4*nn:vqed)}ƬaZkYʣ7zjMJ$ɞJdĮ'ծºʯ׹ K9/ɰ +Wiyg !+#ky!; k i$D<7j5~6$WD<./usr/IBMVJava/html/enterp/en_US/gsolent/images/atfinprl.gifrc$$GIF89au𠠤,u dihlp,tmx|`H,Ȥrl:ШtJZجvzZC+znpX~d ""(&c  ʴP̓Ϻû 䯁+b*b-ң׺C04DdH,ǰÇR[XEGlBBH`>PS @]&\hÛ8sʊ(EeDQ $ 5̠~6cjՔ5`֔5aK&'&=Gr TjDvj[UWYpV#8W^L٬˘DwbLڑ ˶JqKـ%ƽc ̝hMm[s#⎞k@P-Zq܊}>rl/GL^b9ѡ+yN.5I]`V${T|fX}œQV\MS 0` D@C 68[o8Zhcm W[p:>Xid-}ә5)B4cLHY#7d暰$ T?)tGG }Չl*h%:ea΄b焨C'QRh:LDQTs 7UMrӥдFgJS.# 5 ԤiOZiJtC)2G*T*UM%* է>@iMՃ49G M5@Vp)A*VjR*L5p_׵ja XvWESYϦ,fߚYs|+5QlEQb )nl,_Jp׵Aݭ30.ױtOZa:<#`L`жm9Ӽd`NNWe0;^t' *טXaʋH4y]4`CdMb xTY[ ƒLűoNڊs" 1ؘ8\i\@K+1ka [\13,>e@82e.{ٵ.*c2qʋHYU L?%+3by]>+[+ř//nl5zmNiIA]̗ #S]]-hEdBdqDƔ^l`LV+R gko{9 ֶ嚳:N@a!+}[TMvۄb=մtS6;ʱֶg[$&Nk*Njea[m;%b=g{w4ɔaXr}&q{転Bո۲[Ft[v˒;K[7u{~˒mW~s gI{UFzks Fҿ9FYae<MHx=GӀ O)y3|ǿ[K ֜T|DdJ* ota<d}}~y;]n}:ma()\GWgv+4ƃ}K[ #MhkQ׀33hOk; UϪQ:ԱНȐ ʬ8 V2}.+y`oD^F~HJLK:N>T^ɦz_*JF \>]_[B&ʨl榉jr>{PNze0wㄞ/萾hp~y.hW<鞎bۢ^^sm. N&빎~|hz嫹꾮x.gukFt>^AV|JrL2_ƾ֞ؾ>LZյ߹nY۹4[j}^%*Bf1}=1G4YquD iS+\+M.u"e$(b3ռY.T9Q n" a>lXLZL'Bu4ϤCF%)dz' x?3onגUrԇ})oYI2Ly5oڛ6~QOę?7tfhC"']Tmm6T&MG˧ P,ǛLJJg~G?=/ 4Q+<|JS(I\SP\hb#0pj48˴(>9!h<"I@g T) @rM X:۹|rj|Uia E,22-Չ,\\,Ę!09UELU`- \EH:#QFE} XgG&#\ A~{Owz cs/NJb6/@Tੈ/Zd=0e20wܙ؎=KQ{S WºS"-ji[b3ou#o({XA~og0\3*!SXƸe?tl[0-_ߘܹqwdH72Q~X R!i7w:79* G?~X*h["Hѐ@Da TPL-4\-3F5bҁ*FptR$''U%EhxmjAJL9օu 7>kdf}>:>mIvd@&N(<8(HΟtH@us^81Y?ӜTQ:ѱlйb(0hȒeE{͋.&M$PRI yKZ$[UF6,޳jV5 4FYTZqq>*0*.ӋĜGb/ykWԨYU"gZMf>Cn=<K E=J%Vjwŝ ciZctۄ鳠n+EY]3k"4%;EGP[KEXxEn{{W=t880}k{-*mrLU찒z'mpf݌py]7%^Y_%sV:)^tQԼ9Sm0m^ VSO,"[r~؃Zb"tuЃs{=;^kÓ{ǻz6zOLNuj&iIH7J{lTlE,yI?׾⅟xizꫪ V d3V vQnwm8_(>ws{=#^񇿽ajސC[yȆ5ALѦ\eߡ ]aK@m^u\) RAVYSPUQ}6lyZEY-a^ҡg,֊Q^ɠ Oy`<ʕ@lXr\i܇$Wv\&bE`M`sͅ %&6̛!b" #ə`+b K)b\4b**F",c0,F")qHk-pa(N(Z1^#2 /^1W6i#9R2!:T2ގeI0;9ʣ=:Q7*>?}߬+ؙ?H5H BBJ3Cb㍭3"8J J$iZuG&"-j"TٶE&d@zqmi%NF `@Q9)bQT5:boSg4r[M3V)[rD % -b~i;D1Y!vb4NqxgeѥKڐI>mgQreQ V_gXE&@a! 3}:%o>#"FzfM`` Wvhsr^t6& k.@5g.s^^V>f4R! X lUh.P VҝN'aD=ʨcFeVU"!^TFP:hB!R!zYi}N[.*h6z# ɝĪި볎Ezk+)ff%^Vbj^ɖf]Vf: V-Rխ]mlަvfh)ɈkkK-$ݙꠠFߌ2[&f<uJe)Zwr8njM'6i"'sҦ(,,$N[=)NIFrnoNp-`*04a n)}3/x"oV26/֯*PRTgn.(EMPkI@jz}b a֛PTPjQV`-͆)N.j{1r-zpsUW%Oqv11ګ! ,.2#.$%?'[r#+ؖ0RB#*(,(+*)g+-r&c&qnMY[*B,r+cn$-lJWA,h%r`@qR4 _x?+@@'M쐭qƩ;s2/)0%2͈"gl4ޱ&1sY&شnP) iaڒ+XTc.veu=/np!~mH3.ihvn Ռv^ _4$"WZ56[ o>7/&5t04>/{,5Q)FvrMTa֭]v o©riVPb+Y#_oS5I/Ηh vz@._)"r+E:(uFr m߭ i>p]gK) `swTrΰ]{i7w-lt8gV]3fJ_敲Q*ܲ :1rvq f1mq}3OhRjslHJFttlqwwCGw%=/u,Dj#tFvKk3bKy}S7y+r㲃"y $ Yc -Gs..8y yz8A3\ySzs88GFڞ:xe3E,MXˡgpƶZ9Ϥ W U=s$͞Y'VZA;IWzJeA]L咢vy\9;/q]Y?9gT.IIw4[TPy1L:;3!aq|3^˝CO5BGSPSgg-[BQTsBVM|]ࡠi}AY<=Ϟ}{|y޷ZgQqmjun3uu@w!21{_Л }ޓ`}36~'m'u ؓ{[ SKӱ y9qߤŅw=O~݃K~c>|}ULlGfMm<6ٻ?mΪn %v~=,BhZ+zn˯+ P̈ ̦ JԪj%P ذq`9L2!aDDQH8h8 Tؘ9xĨXyF6DҰZ`Ta23SK4Du+2+kSkLĬ"he}}U% Gf&&6 ^=`ѠmY:MJ̀龽u0… "qaĉ+Z|ƍygΙqkʅ9TZ.pY@NhrwS?)ՙH"Сwq4Rs:ݷ3JϐHo*W4XxSITҵlۺut)QL=SUZp87` uvŌ;~ 9ɔ+[ٕjV9yC⻕j\ά[,L1`״9[Dڼm蔥sW5sܹiOԟB;? z$;r%ǫϕ*W/?O??$xwyl~u9H:_n!w( yYJ 00y {vanv"1z8l5jx#xڈT+w dnE'!gӔWY·*_J8ai yDYIrM9eekuMc];(%ZS*knI鮫nb[{/5vKolpKn}koqpzc, *./Rp s/32:ؗyusHKe)N]Q={ eH9qYG6oVs2Դ1 wnIw)wM(ݵZu+FKl=M6ۑtF3uրa8悟uwZٸx݈.nm&䨟,aps><&x_ |Pf7TϙKԬw2vH5NoĹ^=Tq{/Oʭ/tJ?% _يS)'}ێY$Qb>$A >p~eN:āK%L.z$hr*|JQaKDo Q_לr{((4&ktVWC4*G[#rE7rX81u\=p,j" qkB] Bzjx00k& J(#F#A\yIdJN3ǖ RoSkjsl2Mީ!9rjS7ܑ 2$HtsgII~ 3*-].CXMhZ5*jUOC[Dt$-IYvt,miISҘt3=ystzet]mrˏtZ9ϴ&3ozڿ~Ry㱓9 mI;;)NM/A 'y9Ǖ8K{[GkMޭW eF $Gd'MNgv$Gw+q|/>yck}S{~돕m{2opAߞXq4i=rp޶Gn\Ѿpʃ}?znzTXfp'fWoIq$6a7ݻO醧<"λC^(Op滚y^8Mu2N7_号L}2MKǿ^*$G[Ƿ5rXa1ZjȀ xwhW]Zk\#%h&)[肇1([+sX9:04[A(QZpKȄM(-=胬EANHUh(U'^_(aHche@8mdRs͇a/3N>W {X#s(4idc2i8H1H"6r8y XL(CHh6uHcISsEB[sx"%H!rv49ъ:ba 4Ѩh`f3,؉'֨ 3t+H΁P*ĒBݘ'͘s19,}R`,H/؏q̒ `('5Q4'9V"*i$Y<*9"N+y\H8i 3ّx2-<ٓuy,@Ē%r)2iHIyj_99YQq)?2X#@ȲzHt)vyAlIH4ԘhVghYQɘi! Jgjk)K)FT:;3YS菸Ӹ{W^_ww7;^zEϼ摫=Տd"J}E޽jՓ~秦ykO}ߗo?;_~!z?)*y[Ǿ|<50{ΫėyP18e M@+ #HByv!dBMg}yCȍІM׿QT tG+Xb邸y9hE">p}EcJtXA07 >ZQvtciH/^piTXG>z`gXF7Όyґ4eQIDҐ!xZ>*{!DBOH$*'`Bπ<Wir/~e⴨LC;#q6]x:aEN3g%Ϥm>pO|Nre?͖πtY[A$TlDЯ-tAEvьz`ZG?JRT-JmpҨt0RK{ҘtJi S?@PJԡA pJ4`JSԥKmP=TiRB61!dV8.cTWUUuD03`Hq^7dTZ-ֽg]ei\p RYwWXF}5XT 6>at_g9Kц"_*SȎd@P^b<9V޶""XelhL8.6Eo2Ipj,Kn\muZ9O^fef{Bֶ{+YӹUo665p 8L3b-ec n~YW:FM18QE_zqt3-J|gHFj&3٨/ f(wSmʭ;E-I[_g5|u*L`skί7N@0y_[-̆ݪ,Dx G`-exC<;NnCWO!{goFGucgWd~{7. P'tv i- xwzwuwY7mPx[iAv;[I_4E\#vZ,0/ufryhBGs[qPHs\gueWVW{6(M[KTGG,vj8yL'A0&qkfpWvRhum}i,1h'4_sLuD5Oy 5hpΰi!u)(s"h uw{ b}B7vׅ8) (aH$V_g8721pg$t|x6Go/(i}WS`cLeX+Pø1W'̶}"sHqX?wwm'ȍ#⍌8a7ft`Ebփ(5#g zywFXX}TXx>bCj%5c ƇhXw49q"g) V%I*IfP,iP.I3 hP9iO(!ӗxv ژDv8n'5 Q!u2Y7ɌXz8i$9QK2 P6jo&tٍEiebИ_ІR#{ݑ ei}hig‚*v Sz pڇpY XwnkvyW ~ft'Ʌu25 qК'mfDȂP|ppPe P㹍Jq) I1Z5oɌ*Xu&}pj4`sW'uW%Xq/:G6-'}hm9 ʄaxfc1 g6iX22e6K2h0c` ow!٣/e6/8 ɇnN3gӜ$( ʠ#s.\ڥ(68}ʄQXXRe^6ٌU'h}}1qH8>j$,է觖6BʑUTZ4il:{>q0gZ. 6 pzCjƕs7x(v}80# ^5J dJGVzkoI.ƪ0(`1j;*/{֪a5 t6MivZmZsۦ&K̪D"JC)~^y1*PʟSẎVׯMU#f: .k&v]Ҳ,0PtCl9}dPy{>mGZ7U۰4[-+:rK{8C7Rq 7oZs $k<ɺ.QJwQXt˵C7-X{iiZisi/;Y;u{Ir2gw );zh䵊Ƈ Ǔ=' 7(%0)yڻp 6簑s ~8o<ד9 ī2{jIz$ټxj[k#۶_d7 ogB PيN9iO#8_+Yȗ-mʿ"8e{mhFk:]i-k38KsDŽ: V\;2J\y|x [i;c9M6fӯIL }F*fZI"LNfoSZ+䴍LƟi7e]6ԜʁinMY[<դ - |]/Sy 1p]ؤOE֎Ԕ z Y}2P]֔V R]Qx٨}΢M .uگ*%?׵mO׮Zִ]܏}Lmܡ5֭/ݒ=޽)/=[l*)*]}߹cm-3^*5>;\rn-"^$I&N.~50-> ^1~8>+:BDn<~䩝glLN2=TVN>[.XPbNdN,ai^XmQkqsnuoNyn{{}fNw~(荾^IN.-N^))ᡞ] NNh>NZ.{XKU)l^%C8V.*xÀ>%F&?_T.Kd`bed[^L/2bECaĐ$Z3eJiiRT޹=& Ѹ9̝&@DRN:nrvv1=&08RIe*} F]BVb&Eh>CFSW&Ӳ`'b"OZOkxSe3㇣8Zp w*ݓ'm7,MB(֥<bT#0#=bǒ^6LcS) ʙ6r͞Gj Z#'L8TΈK&qzf'RPzU^ +v,YFEVժ[ӵn!.+w.ݺv(w/߰V †?Tx1㸃 ~,y2e+cάY]͞?v94ҦŌ>z5[Î-ňoέ{7޾.|8Ə#Oη1ΟC.}:֯cϮ};sC;r k#i$ 7j5~6$ :S ./usr/IBMVJava/html/enterp/en_US/gsolent/images/atfinsmg.gifrc$$GIF89a,0I8ͻ`($@lp,tmxppH,# l:Т8XجvzxL.d*|N Uxr6 Vjl [T>>nj *^)gf-tbxzzK~ Y۸sݟ⾩ɑ nϭ ~`ȅ&AP P݅/3*nA d"nEBli˵e7$SLY(4GbSjO- iYf[ͫTfɪ  vGtaEH A2? W׭b͞$3p߬&kBkAö?QhFc b H׃6rLz`{CFy's-e'ĊY]F0wA ZᰥU#7mָ4x a0x(a1ӹA.[~jҥmGuid1VAxp,l"g!$PQBvNF[ͣ% uRɄ&v,xmqA3HpKђ<1@BxT@=6_TVFQd\!I`)=Chiėj曦tfxz'|)$J衈if6zFʨV'fJ'v&J&':&**pZcͺ(ƫ1C4Ϣ-[ O5q[݂kαf[[:&l.E즻m.:b;/"\Km:,#E/ qKq"|1Kc;ۖp\CpT ,\v첾 \-D\([r-16}s9{> u3MN.S2GE]5f `4uIHrr =<+sw-6wcgb NrĘ 썹N;nk{ojƋ7G/Wgw/o{kà}?u/`g4ѠP\ 4`JpA }! @R0$t Q V+4 ]R_jG0-aHBQ7 x$*K̡?%PMb X"]ĢhA_z;*TaDdH[\`iFEF^8,1ܢ#AҍSd$5ENVrB$AFEZr"OjB:F%>nt_*+BNޑrK?Еdd?K2l4g`i{c4MFvIr^4:יl*\z L{(s j/g/%yL( zHxz҅D7.Pt(FMn'+mXJ})@ .f0=LW 92ЦLfN9 9,( ԦOq:JթZXVխz`XJֱh=WںZpo‰M-?aLW4uon% 7ʰWG%\=z9҇v=lb' /gYR\X:XH$T,rjiMkӞֳ]d]ZѦTmSkXv-ha(׸e-nU\vjiRꪤed7ZêĴw}|Kr5t~GWOG1O=4ä'A:C&ؗN\Rne'i=MPF8ñd)1Xeh?I|E8kぺ1;ilKdv4xm.x:L'/:bRr0ʴc%w?9i@23`y-͜_.K/B 3SLPzN&=KTӠR@|&ajryլRRXh洭1yauh i`[v2iaصdI{MKUK;ζߵKMmn*}q߹)muO;ݵs-f#v*={7>}>Z. _jc+`7Ѓ=tP6O04; k$i$:7j5~6$!X:./usr/IBMVJava/html/enterp/en_US/gsolent/images/atfinvcl.gifrc$$GIF89au𠠤,u dihlp,tmx|`H,Ȥrl:ШtJZجvzZC+znpX~d ""(&c  ʴP̓Ϻû 䯁+b*b-ң׺C04DdG)\Ȱ!BwDpHV;nёg ہ?PT)%AtHoRHⴋR|D{IN6Sͯ`)'bA#J@ 8t`IWe&M8u𿿅}߮b#K<쉝gM}ӧE !hp@]n[ukTW]\v.Z+[69mhm D4˩Ĉ_{W6>^VŐ_vxh?w'9h Do`$`%am c֚H{F{bP V[MZ~ 0 D@C Kہ (cx]IӅi!O6!~ք(‰AҊ/aIP5~cSlQ-駠jb樤:H?O%DwB*+Ckj뭸:+ k0̂Ql2lVK,5fv-:~+܎kWQ.)Ƙ*ȫ,؛"Zrre pFgpq0 pe(%J0q 0B> 1 wfh 1`r%;n3I}e.wtg-aX/3P]6MuYRKm4-OCmq7|gAqrW3=3r8I;l v/YFng>y*v_ !lo.!?^r㎷x~=2|GLL-[9x>ӬY+sί硃%d7!.s;;g=89='.yûx/8!#hC]^;rC=@}h }̊ǾO|BB€*f}w"4o%̡uAam쬦4mS ?Mc@ꙍKi+ڬȜ)-iu]|#$@ 9~~dBBQ q߽ DJ$Hj^f"^ {@Mz(Q2LlT +cIZ2 Gv^ 0IbsB2f>4nj4L̦6nz '7$rL:onĖC;IzIִ>} @Nx6KMBO].(D% ъ]B-Qz6C)PhFQHHIԦ46kjv4='NS+eCK_Ti0uUUKΟJUCO ժe* HpKКJW泛5 x:u^*ū`U:`kXNvE/WJ+)#P j6:tk'IY+Ӥk*6om%܉6K5KQ+ V7 DT;O@ljVg(\y<4KWV#%Um׬'9_7xW޷Rk$iTֻb/Nzw Xkbͮ7 8qTWy^)\᧦tޜ7M&'C#M lX\*0'eMUrfAW!DLfmgLo $2CmZ'5kVqt̀0 4/Ӷ W-g;ySG0SGkGkKj=Bz[iw*c`Stk2) Ȯ9zkS"F [W׼6{NS͔Nsb]gXљn "6,⪆Z#ĞF@ Q BM>v"#ƁY$C nV&1!h/:<1@L$.t P؞]q̨sM2u0З mlomS*hS8T]y]FpYg~mtH{v޷aJ]0{kMC81]kL5x$-T k`R~6Mk$@KP0`f|dm?~`%hVX"H'rf,g}&k7Rgsd&Y5~vyaucPZ7 ״ ifb%|G|K@%bg G_kց6}8vnvJXQpe#q hrP"wwS)Di6 vZ-uT~VxF|jx?EgjQ"76}FxIط-vW M>H_qeǁx)Ej_<؂T%]dVMyLVy;ubPjg\#kN4'~xo8v ŊYɡr8~w٦W "EŌ؄"밊VX8USՍh=g/3V0x%偧MiUO8D\"bj֊Ktg&b|ߖqHPf;@2vT]}zG9N&eFDžyQ L'HH8@.YbmHupA^cFp4BdKI^v 95`ȸdRْ=Ij%kƓQPYbWN4/@X@BKؑM)VOhƉ,Dueڕ9SAnrp05>5vQe{ij&~UǙ>mĖ룔ҘlS՚rQ9_!tyNIBIŎPU6j!oUǙo(眧utY >y 4EM4ܳꅚiW9$5)'bE)wѹR))}HDٞ>hS"uNU(yɠzO]+T3z쉠˸M9V}&Jj Z0w- Y(*O7:d0*K: z9_?*NC٣fP&q9ŢE`<%TԔZ\ڥ^$SJ9M_ZZV ubI2 Rp:u!rʤtBśmH:o~ JOhnDJzQKJ:,<-zF =y:Js+R"RI㩊7g ig:\;!ETKZR}(D6ZpeD۪Dé:͊.^ʢͧ\aٟ/@xjZazs\:sz[s*L"a7nF'gډI?PFBְ eո brg6ejUb]Eviԇc ɳ.ڦe_~tFPQ*MLt0r"9~ߖZ˵dNSOAC˴"y)HKDeK7g]ײf|c4MHUŖyk'm;|+svtkwnMP{[XUM@B{zgs]7|qKǹ knE+l8ox[[۴緥k|˺Mۻn۹ӛʛk}bar٫\{K* UL۹J 6Qk1o[ܷLR7vayk{kd"ħ;KKRyFȶ-zt;<mWeK+;h&'껴>BL"\n:^8˜kprܥ,Z:)NݥPȄڬ6:,dJտ)Pf}hjlnpr=t]vlz$S+bpׂ=؄}֟uz>3PCRش S\SSQF^QKhUS~?j屽\uk*Fnҥ%Ǎi SuMfn(t~ju/_>b^|n{LNe4NjeYKTV];t}c!NHN Thbi@NqF!CE:?;dn^Msw{Ȧ+ (// (pi0ABC6|!FϞ.c9pU ?8!Yr%˖._Œ)歉 $ӓ*7E *F}"9zul^Ǫ 3JU֬Qr:o,TV #HZ5V4B k̾}c PTm ޽[`(Mq(ȴfڧX;64GҦkt>n#O^MZgՌR B.-p "y9i8+SOdDlXfk\5ԠQ_*~|Q/J|3^'& K0cSOc86a 4*X^dyW ayŬ}glg~m`eKے9 5wS5v"CZ @Y01r;-fOlIC<8_6ʦm%&1s- ,K^ʰx>wMMWMu4` Zk#5T0*dyGF{j|zUlim_JhY\U1+)ZTz!p複o;`zI* a)V4. (± Uh%LD5rQrRdFW&#@.0J固xܽ*N(K,*jEd"Wk>-5VFRmbX[M ӈz<yčt1 $q\5]suϮN[b30ܱ)m[a$&:}q 6yzjX^w2^}j3\nzT|zzó飌^g08nތDƧyꮓ_&GENs}ߛ"al%A$π˟+rLS4'l*xd*.$ ՙ/C_}K ,ULaiVyF-J|dG, j0!`m6B=w63!PH8FU#܆BfV#pjYkVXvQQpAd "Qznޗv}F|D_c!RԀGB2-SɄ y#'&/*G,LKdz[ZWc 1!5, 0I|R{&KaS*rluK ќٖ$u0Y`3%&9YàBJ7;YwZsZ18O/I3$J|Dω m\@KHЗ´A)EEZ1$`⽺o{[&SaOoM>-XT do˷v4f|(1xwmF 8't~KVeh\w`TZg!L3fA_UdDQcJ::Yr*54/rn?5h0PT{\/-E_ךƎ2|d;߹FETNWuB1?_\u+ 6 YY괧A jy3#٩/yy1qF-Pq|3ۺ^1K"G,6*7]v[Xh q?v]px{+ei'Sx8lyZ}$;n>4ܞ ïjыf5I9CkB鞝XW܃GyCs(ϴ/"qzoH9Wk2o^4m|W= zu$CSv79JnFib2Fv;A[|`{h AYǵ_֊ԩvcm<:~vM `v)5,`kyofVdEU>g,b[|_4lT&6m{_ JqYqASޑݓ^wJxWיD] T|-Ç!ˉ]ﵖ idי]]`(`T ƵꭘWGQkX=մ[Q t[9a_M9ι\Ξ)JX|H}}wȐ^p^դ_!%~^! _"'"""&!-#H4I% am'z!E[ a))VF"&ᛟ)-j &fQ1*2&c*."B}ޑ&N!5\%z%Z ELx` 4 dB*B2dCBtY_iBIRo#!d\dHHdIIdJIBdD_͟}#9m3P(Q1_3Nz žQvRO$::*)ePT. ! SbNfVfe Dz%;P%Gd[jXZWe 0@X\]Y$EʤE [n&f`jIda%c|veU_m^u`'C|`B%#2uԟl_mՠju h ݭW.q9Ndf݃j~dp]PVI`׭Ȑf(42N.! "qfSw gKbLFL^G X vJLm\fcg|" yfW tQgfBdU='Tb#1agNay^ Raha'5~[FU:V#Z]zzGIUW%f*fާM =W .PAJ7 (jxՖ!(z>(s]eag9"4uȇrPrV!|(VN)iۃe*+grS^ ޡ?ng9Mf6?&jG'6 EP>#D4ש>5)U"*%? jd cFpc)>E8%Yh3;d$(%i֣!_ߌ^Pdꑙ.s %R^$FBF&CPeR [{*Z ,1R<^BkU"l3$BfkakJȪ(`_E$nl˂M,ɶ: OP`hl,dW^ma1(Q,Юw|&]CmٚBâ]:*ʧfBV%&edm-K&SaJlA,~kIloUI)QmվAnnʆV'jrfvN u}`0'c.lg:f%Bn~ a(jnj!..t.e(8=y(с$jjӺUfـJoRolT_i16 ="Ar>U/x.ek/j> } ?pDljm+Z,6̎ppx0R07.r ƒƊnкP Ǵ}p;Sc+iߞ04j^bkjʉhh="/k 0 b Z,ӆ=p+"2Ny!1FdSH&2'jqQvĖr`U+>$ެbČ0h {"W2006j206J3e9S%lo-"s?8?6!x2:s*;@dv<=n6yg*g#3*ۺ2<\n1Bc#)4UfE-bbbzβ]P?!1ss٭t-g"FmnI?l8mN5t Kl&l sPHG.?WoQ(#ϫj.u +z.Hlt|ΔWM15r 4/ (]E_Wk }u`DsBƝZ#/{k/!ltDXf6gIS; T/)_:ߩ6tO D( eMiYn6u9APb5>m8o3nCu즇9YzSĺp9j? ;aDZ#;'l&%vɝq`O{V@SԸan_t_Z^ Z"TUӦGyظK |Km\m<9xM'>wM<-7vvڗ}棽B%D=8|?w?~⻾eSGr]󷋾Zk'w>1CH~6r~E Ȩs 8T5_~ӰgGhCVw5C~.+뀡3 @HbĪ該rJ|3#<*̥3LSB_ `(hk U6@nETܶvһ*B3՗3t2bR"%i YI#WJ(3#e6qj:,JzXӨHI 3yYiB͉ (lWhXӪ&KF[`\,[N_ vvI:rLe!H3ƍt;ԧutkо2\:ȍBVFy.@{$MCΥdPsrM.+|#HGuB +8Tۿ?w͐ᑇ`g)p<ŘQmbUuKb.c2Hc6ވc6cPHdDåzN> eRNIeUXne^~ }I&Rb0Rn 甸Igj,adzg~!DJw{1v.h> i6 ܤdqMeiډ"*jFSj kj&kjЮ[:kIl9ZKklE K&Vɨɖ 4i*@n oKoދoꢫo/(;h / pOLqBlq+Uj,ى&0ûbq6ߌ38A`$-̓.}+ V>e_nw]ӪA.pr$A z L8iP4w bh# 0>jpaCP6vQ hy=QB`@)VqKdHE?QANyj8Jn[(Y byEar1g jnTg,=]L\ôGa3+eQMC,GB6QD. ADBqUSnIOZ4pm6A- e(gQg/{Zvu,j:P*Ս8Z-ӈ5k*1IUY`BR*[-jրg^[%%V\5t*Vzֵro+H:u+aU*vRq]մdDv#zР.7)CZךgYpT8*iOԪGhv6նDD@ݭo{ 77";5$b\V$9hIݍ07yj܇Źgš\I(CP.w(.'SJ.}mWI 0d᫗-K~ R K`6nF#G L\ A~MnR_0AFհ)`VXP$(CK.Ckd8ȇk^5Vd;ކE$j}&-r Fnlv-7beVp&21qC81w b'pnEL%2N5fGzT/ m9<։N l4%yy ɘ4qgPGd9n =ЧC1C1]=Hasiΰ%tIcFU-egxX7eܻ>6G|lD͌fl #ȶv=o gVE -_zYwU w[7_2 ߘѬnʯ77lek}zgEzd࠿N~M]lGԂz W@`\ c2e+u>øiɹFNw=q߉ >"BP#CvS>y(6oI3ϡʋFv^m$zʪ8ǞŀAl0ܜ{[DZq}XFn2LC^mRhw_z/w9od&g'}!id헀^Xx]wڷzm&gub"g| 聲'{]kÂf1vXwHgfZRW h{ԗX1zhFsWv|(m XQxB&k`,]_#<ׄfpVfw pw1mYw]r%pBQvSXTdHXsx.XvȈ;HXxH c-t'ȊHs؊07rᖇ>(pEk`Ȍ1(HhZ"^G{g(HG{fa1ah@Vvg8.(c0x Bo ֕g(2\ k1fuu39V "~r ٍ(鑩b @UyH+ɒ-9bc&DwO3ɓPtWmqxqA=r@/xqpqIIL)FU srX=phv%yÖMsy)?I['jhtvFtLהtIbiwZ)q 9s׶ 06T("5s9v?`j}L_٘i-IRMrILaI#Y_g=<+i)eDsɜ,i'fI`C i%) ;;C;;TF>>tMC;> 'h7R/!B$ChIɞԙkFjM#F>*FoQ⟂PtFJF4kӝC>88'cDNtB&;>ڢ*IDv_ٙ*4I0DF M,ʢ0ՒLO7yiMGLlIEStٜ+uʧZpY:{ڧuzۘ+Qqiyz9- h=ꙑvu8qpjB j xʓ+Ytqs &:#"cU|XHϚY٪ۚZpxʭ !;SԸ k%i$47j5~6$@X4./usr/IBMVJava/html/enterp/en_US/gsolent/images/atfinvpk.gifrc$$GIF89a𠠤, dihlp,tmx|`H,Ȥrl:ШtJZجvzFC+zn?N~o "~"(&c  ǝPʁ̷ +b*b-ϠԷC,8!*\H\ s"IHK v3` i _}'2J(dHqEHH.( <"P\7ӥULUU5)ͯ`&r"P  -ьD-@p1HaJuj" Pj€ 2#L2f MgZ68 o׊Uxlۃs- 3l"3ZdM"N4bǴfM0{coGӫFqluH $v_}wU zzF(L{t|r\\4@4!ی[[蕄@ 9 zC!nvZ nBm3>pD;h.;o0L-dG\ c([0k6t,Njɾk2 &㫯*- ' gPJ7T+ROd JS5C6ل)M[5A|mu=us<,mipX_w҈Lω==x̔+n@߼f¶'nQ ^㒫PӎG#iW>9+"wʖ#r}3]v真"m8{NzMQAǮ=no˕O#sA򶺡1}ދ_ֶW-qn?1txsA9;\:s3 2quڻ CXAYxkg@ΆZu͂{ėe)mUwKZdGY-[rC=YKCU !"+chF {쉅DWfכZH:jr$'93R &eM! (RBkd;>V򕰌,gIKV  ̥JS^ 0 DL2f:Ќf2$jZԼ5JAԦ8IrL'3$*\ '<)Oxr~]&;W) @ }ӠU(Cz: ]hCIQhbTh!}(MJ9h 2 Qkƴ4hMyәԚefOSfޓIWԦ:U-K9hU5̬buW*jԑ *4ԶȌ:ӱӫPe+^՚G<ָMI @dAـh,PjVa浝Ef NUefva-6@bֳ]h*֓b[+i[ú}'cݹ̟Sԏ3񦨙UCʑzPe7x zuKͮ V2Sq-2{L83 d:X-G @יo):d @1D{alH8v?Ypޅ#An ߮VvQxxֺF ar*e].B˜*{9;^&Ye#ijl;M8`c uvb$bγ_Kk5 hNZR6t03̴^ 5p)CSnVN0BLXE.oF,v.ĵln?Xq5౗RU nǕ' @{/Jl6'yTTS[Iry{Gg]$] 3yAd ^R;~/;'t :r};@W*ʑ Ojؖ#u3tL!J›wM~ziYkcLl篋[D}h\?csVeOC7&U92~ 'Xg~1Gtb{M WN<O}4WfzG1GՖz׀"hqRDx\Oxt,\{$p, #؃FPdH%"2NF"D1~4S3BmU>U)^ ^)a؂&Mdp@Upkh GsEnC<xȃZŅ P[\}hv(S@0eeBc@ɣ㇀8%zyOR/3>`D38X}XنƊ;Hy`hYcĔʸ˸7@DzŒxؘÔ(ҍ8H{؉#-ĢhKI@9џbJn t*U2D;P(56BqoUyꛝ٥3Ifi96zn1 )"Iu?: qˤ eJJ2AJ0ynN7q+=Z"7jk8_ rIn AfN*S!e["AlĶAY8zDC9uz零ۗ`4˳[5޻u cj7CpzD wع) *ف +fP+!k꾧 ;>.k (zTzyjѻt`2ZB՚4J6|-|ALpP!ղĵĶ)ҩTwKGŞŠf8wp#yTYvX,NP|~ǀȂsK|O P-7ȎȐ U,UlrY`\IllęɎIg\2/pʟI3ʶ\LPzT ˼l0P,/C<˿> ,Ŭϼ̼H<4pP{ԡ:t*0@ɸ l( , 0;.Ԩ*g茯LL -cM,1ڜ);,tzf)͸fP| ʷ$`ЍŸ8z,A" Ҝ+*(Y/l4j=]574*7j9Z4Do0"NyHN5[sڣOMæĦY-CLEjӐs4. p+NGȫcԬ4IsmӢ6yA=4p{PԆt=1FSvv"PGeTݶ'`M]\ӖdݔG=*IY֕f#7p 95 *ݤͻ@t+͡ZTJb[H䷲=ڽ+>- (ˢ#'ݷ}Rס_ِߨ=.^=em֥6N->M[ivL׶mٕ)ܦ*֡`}\Ŵ )<6'MI ]@\M@|ڊ'!L&_0+]! M 9t7n{v̿ Vdp k.Ј|n-|)h|N*K(#.8^˲^vÒړnͿ=ܬbn`rKLnN`^_e)"%2 (^m9o‚rnwRwy˶ Nr@nmPpmɇ.Y 0[yB~쪜%Q$ 5a n .$.F"@ux0x1tT[o"wPHPV3?N4 ҃_y`V/q#І1L',24dZޠ+PnJ'9s%FpOs}YjP!WD2X3? PVGO"I;}&ڧ`nX/672ɐ3 "{f !PA/ M;k;T,G?ad. # w%EFd hU5m5@9$N;+@0 *Y>BI,LYICV Èֈsk#A_|l&d֎1.[ATJ7f8EZ,{2yzI|L(Ƃ=ď;6DjHYDh6bڕ:zD#g˘Ĥ ,4-rz~52wC{K^MS'aًjȩmHms|]&\^2TWv QbTg)'PZt#xQ4ea\4ma#`pe$ dT7☣;ţ y hGGwLA9@]!SRVu^iXg^#9"tuUy=|M uZm"#R2(B飵Gg$2ziI8$Nfϖ-JoIy*j(!VTʬ?꙳$ v-=r[B[ VkB 0@2[/,^J3,¾U c 8o k\$ 4./]\eRh5W1%2 ^7kZ \t6 t< vmoXNB;2.#DPOLqM$f7v4\ v{,_>xg=js@ 9lGQf2ŃЃ#79CG9߮5zRNܷ za,a"BE;Q7xyQ!\A>p;˖@(-N\L@jܠ|JNw^A9CK8]cr6_xFߌH|a·10D;b0J$<Q9 K֨ 2#[$ Y$bOL%a5pY:Gfi$($R{b Ҁ1R p#d)Xn20lDQq-jiFjӞLHظ~KgzOSpeP;&ɕ-b&Z+a4(G;яlJohkk̢PUjjӛ4:)O{jwL4)B:6NiLS;uUI%s%*FF ƺ3p (U,S|kW͇Fq_֚H*.jjU-WQ L´_;cx CI'hjn],`0fF ܻ1^HwwaI:VhE3%.g+ -/aÑsM]cXC01=(lșySXwݜceB9mb=A ZA *2"v=7='u8 m搉\" ܲ d2sq񶹬R%f6hr[a Ze>^ghޢBK/D k{^P\)c3-Yx_:o!vTzdI0o%oX[ f2 ,ׯ 3]DfDl\FsHmDg~^[iH,s^:: B5ME61&45Յf2cPٿ.(m5#ڰXZ;BnK1R`\$9=\5gg=7սN'gZʮ ,&pD&x`1 7thMh%9-4ą ¶{8{-i+oϲr q˗* ܗ85ޝ>(;g~TηK;5gc[8&ÞuB>@Jp[DPɼS>lC(yF/_Edy⫃"?QjݗUY 9%}Z1[љa9Y@m} b9ṮTiFx1dmu XM[K̵yfX r J[eRN`@`=x̍}vJi,U !UMבQW)ZN)RϾX_a_mSnt!ީ%JV͞TECεI"@WxG_ý" ! 9anݙQaD# ]lŖ0DeGYEX1P xX|U2 <ÄP!81W!m 1#u~bvMWY:amlJ*5W̖=d}#nI ^^`!qD:Yd=b! 5Wj!"@d8OR $Fՠ9X$ $߉qig-"A6_yUdp#^%YYSQ~5\ ʟhr_X*EZZU &!!\L_M_0Ner\4@|fhhfi&Iݾ%rI^:H j=]N.qnJ mFm `ڥ'(#Z9pB qd&r>` *f9$@DmY'f)|'HSa6fyf0$ N{{ufdfB4-mɗ(b|[u]dbgRz&({FBZpBj&}g( e3yI\mxڟE~W}.G%hrT~h${h+b+a(kG,):jjᨆ{•A&Xfx烒. 'Nq6n[-hiVu)ii*i2jRgyN(;bbiꩤ 2!(#W>%^ivF$uMaehc=i~**dmJle§ҤFƧR*7cDbЩT갖)FejvUC nfn)*+K \P ˫Rk(ꩾiz+!~)ɨR&ު+jtj-\u/鹢̨Z)Jm&n]s2Rl2.TҕRRQpx:&ǪdX狕㠴~j1柏:-vW,9)W5"Nf+Vf^Uν> cPnFͮTIR!n2dli*lbj.*mؚ -I.⺦-Ihn. .^ҮnE! B:"DJjBpo։^ҭoHoxoozTo/o*./o p0I沦B0 ?DpLpo,\/Vn ͔F]oyGHp oXB 0|pop6mjid|xC1p _`DDEg OIKCek"ɸ+/ zZxDnׇ0F\1 8 ϶1z!M1-ȼ1&F1 Gq&( ʑ,r$2R)C*CERrAkԆ2]rF˅.)#rf-/b 3${΄01[1gr 2 _1W)6WD0),)3# b)4՜sGETq97_;~ŎN1?!3DW:s,2%s$#Bs% pA/tG2:C1й55_B'e5HsGw?[pLӴ #D+>HKs9D,O#2F4 sRG˲]RC;I;t$=;5StXNt"44IDVYtR2YXSsT?oZ5Pk$;G4J53+.2You:6=rQZn_SRu7YuV6\e2k=ng[Y`+3J\6fKv̽je̲j2g2qJvi߶q57 +~5m޾DGfx 6А,v^IwrpcfϷ @~VW/-"|cmFr?4rKz9I^-"IIO"^~Q8Y5s8H)/zBO+)Θj[ܝaŬw&DPnE!޸`ux1^Z~rжq:,DVyDynoIx+^vwCjS^b9: rw:LTC/:gc#zMPz &Fb7C%Z2.f:MlEuVLy~"9:|zĭc5^-`1ho1L5|q!,4ɪ/W"Q"6{VO=R T$2&ha{bd\9+g mƷ2 ¾H@ qPm_|p):mabrH("()}9/Y|p;o -}|o=| >]Ρ$ޣpW9Gs/ȏ+}½$W؛} H](<ࡐG;ˋ8mxz"cŏp=*fypн}>.EO|M>['='U$Yr <|otc={+T^q! {'~>$?>|J?~/K{3O[CzX-M5 A(8*HC DRL*fx| ]dqb dfNó⨸\Doey_'d7Gw''XXDe#T`yy٩4!:Yj*ʊԚk{ۈ˩[($" U\ ==J=}m*= >h ~Z;$Qzy͏]X`*ud4dQ uid,i&DH'jBfrnNފIeg5Q曌7gYYʌ!b^Fzjm\mM6jf}y*oX*V&mI_qY)=\W ;jHao:DgkD[Vkln4ĒKozkKmpF}l).:mO k\߆a9W1hF, 2/[lLw&+$e5+#s+(Z|5s$5INoäTmKԳ@MҨ^况wIguc4.36٫X]vMQ's ^Dj#*5_;9/Cw obI\g98.u^\x/;hN㞇+ 望-ؗZ׈D}N 1]D #IϡtKIӜtyȠ uDI=RԤ*uL ~zLHuTUլju\Mօud-Yϊִj§1 Z ׸ tlTT׼uo}j[ 5)<-lS**vp_ ^D$jvaTkVkiMnvmk_;Wz6UYj[f5-l wt,2VޖiU.oG\JwԭXe{^"Dw\2y ]z׻{ً^Ğmot7Mr׼ w^xpKx kxÉ]_'W#f0[vE*D/ogçqM<טVlb$#4 (WUE/q|e"cbp4ߘT[792&/[g9?ƭd5 ze3D+^ 5/MFczӜ4c5PzjKOl_ Xzִo=麦zש) l5:.1Pjd; m hK{ζlk{-;z k&i$27j5~6$[X2./usr/IBMVJava/html/enterp/en_US/gsolent/images/atfinvpr.gifrc$$GIF89a𠠤, dihlp,tmx|`H,Ȥrl:ШtJZجvzFC+zn?N~o "~"(&c  ǝPʁ̷ +b*b-ϠԷC,pG)\ֹDdH:hygځvrI&QlHGQD@Ł# M:*@ArseD*Vj/aBZoKvP;PQEE "mjWlk 17ΚH Ê#2#Abf{_Tc\vdHmݳsgoKp^y@SNup>8<6cǫm KNby сX?FҷP]@/%qwV{ y}\@%߆ʴ2u[j%t6 < 40ބގمޖaD 9==J՜DJu\ " AR=#a} Yؠl >AdRGtQ9GhcvdUnZ蝴 :y"Ue. T-报f)t2ږ7- Hj꫰^B笴HI6 ՝k{*6F+-L2fܢM=` {G núk}A4قNp'  B2D9 ;0Dd8pӿo `gqq!0 : ~0 c Ⴆ36]MzۚK yel mXX7-h8 7+.̇׶ҷaBh?و50-I]tL=:c iY j!/Vfj$'ɆG/̤&{`ar :)Mұ4;HV򕰌e+Z .w^ 0 LbL2f:Ќf2$hn$6MfR 8IrZNp~s&tIģ>tR@@@ jP3]hAx @'Pqj}(?GJҒԙ:IP,3fKcLrΜKM:UMdU8=Rqt#+(9P4eUiщRi?5TULjSֶ*KjέS5TaEv^YV&'2*g6 ˔+c hJlc) gvU`}]X*;-4WĺT1ބfm)4nO4`ê:mu4iuYeJo.ln-dI gQ3kv#5V{J#RB)υriLN&1;ػƼ,tO$epnӓNfvWwno~:\ f@t͎̀4E 0dx>fkd&7oKG&"s5, EŮZI[ 0.{?; >.p88N/Kf :|e1kɈ9aVi%Ii 7b8.XL }WCv.@ vƁp`[38F)ݷN$ya&MLw 1[b̲NqQ9uB\jgvdM9׻tM`^ś8Sڕ^&g)grN.İIϳƱd.N;7{FfyH7^ՙ0&㧭zɭ@I}%LMy6_g/lW {p5Lw:x()N F\mվ;R߻ڳ»Uֻ4:_+;ڞwÇ0kR u67tC~OMkû^Zw!x W拢/`ŷ'K3_>U 3~qZ rA?~K^Wo[Dg4OC_n;]M8?]?}F\YZ#w (|/%MH|SYec fyBY"gȁ%'$HOXurvZ%+4Z``e)U%o{dQU1Gwۄ$'VPdOҔegY[P86_jE(nXoW87E(\[օJrhO|Hf8HnV|"zhY#HdvX))ȆbH‰PE@Ճ7\~ M @sxބ r |x8뷅 tCBr_XpD̈YhrVG_Cc=:Әx–dhM0ֈr8$]tJΨ-/HK 9YyKƄ+ّ D$YD*,ْ.029",8K#="9@B9`Dy@*WN;7PR9T;9I>y\ٕ^YVbyhjdHfٖ@t+r9l)uIzɒoYG淗*UPy٘>9Y+`i"-~JYPBa!/O9Ly9Ӳ)}'p$-W[),/rRt X0f{Ǜ%Y< ә5  u#'#ؙٝ-閖9(),ʼnec=Y(ȓtMXrN2r7V: $?;uxdZ@|2h"6wq' xئ}_j鉚0H꫇ F p sFU4IC @*Cc}t!q*Mz 66ʠ:v Aj@*LZ)ȩ"'~ӥ$ORgd ̚*BC&iS֢hzS,Xpi5 9_WĻ@ ŠrںSM K:' mjO&"j+z`ʎ2: slav J*ۓ c;A:FmKɾۼ>+"z2tM_{) ;\ t3 &?3)$i ;|KKj[iåE̥5BT {QQU)"۱*FK5I,H;;<3Dq5zJ>p*olcѡ# h$kx7/ûa9]dȽ "Bˈ25"{ւ4w9lixK<\漘spKE \{0:9 + ރi>@fv^}`Fk ۭwEj}8.#<'MGJKsh3lpR2ЙZ@Ԋӌ}y|Tnl}&B72]>HݫdM 2VeebM o*8+ ۟ݸ-l=KjXyբjA:Ԓ-A0l#-EG+l\;Ԫf02|EF0'=065h0jӻ;<٫ڹؚ.5 ׽Ѥ 6=V雼 }G|ҝh VN= LC[?@=yB>EAKrK @ĩ|`هn-gޞ41úՈM7'nث4`ɓdpZbף>$BM2ߜ.ݟ.sG۩9y^؞^AIμnKS~à.qY).9ޑ՞/)4Nj `~>~,2ݮ.%1~®Y v_ ϫ( [ Lq ?MP W(O__ ,/1M;=c-zwE,a0`پD[)ߎۀ}l9Gj<, VO"->nҮ;n /3B!n߬p1.8@"Mb]Pz\Q}'?(D6x5XTEF5|Sܡ8-crPwO|?k&`;ߑ/\B,D{кAlxoi|"hJ P7ίBO8$$Czm9ӵ}klxVsc`-"`>cLʦa HC/ *.2:Vu$i2uz`r19lʌ"θٴ}Mʹj%,14<"RR&:7KOK:. Zra>󊞚xw9n>ybiгEY0B0`mj&Y; $fg |.ߧP"C#%1@ cHвGr'06a MINB*u*UlT];}e,ٲAnMMٶ6@ {B~|M(k."M|x2IȖ\/Q>90ҥ5SNEpR^[ ֶɎC4H|ďO|̟;O6qλ`rW(@$O:wi@~>{sE-Dh۶[ا]N X][y%Ō HzZH‚_m(~iX_XY¢Z{#3r8sP@ 1.L.ׄK6~!W#Ay<H10^;K7 Cܒu_T١SUg&(Q,3l6rm1bٓ\9xV|>(B_Ѐ Zjb3fJyt5Ja4 S4)8U:b|bOE"+aΪ^}D ´* ŬpH‰tmLC`[G:ke|/z$t0SH踲˭Dp yLT)ee\%@ 2ŤAhf1.+6êEL.84+Aa25n|~|^V&߁6;39:l01`41w0]¼6Q+1!3,'}&ll&bɬ|su= l]+IHK\-s_){#s Z- m[l9tNIӜC[;?5zݜڋR`V6C.OJ_oJb^GPV3}>.{)O/Ka~s^Ģy}; 7,Ѐ O tx#@/ bR =/yJ 0A, &@h(<%B"h#"1L`9H[8^я4!%K ?/1b#ɸĦ %p L_R1/d` ʭS#vNؽ~?}0*YZ,Ʌ#H%sqJ*?DMx\:LO̞+9"S"S0\jpF0` W;,Zjw ZiN̥ /}u[&1 -T gjkfS<:,Âˌ fS9ٙ?wShzᎩPh ̧O_ jvP9ٳbS;Q~ q fEGt6p|i8eXIWjN6x̖jɞ@p(Wm)! )f()3u Z(V~<b;˜3kSҰ8<!.%Ij ~#DSlQk>UY^_Vt?/n$鴖S@9`'IibmOJ6]~[ JL4ǐ+Ο3p-w6-nMk i%'u+&񂌺N ZIH -ʧ/pÔPd6XGrp]xz/Y8Xm"Kp+GTXc*EVT>d5Vy,R[1Zc9Ҷlv3Y/֫ 3Ώ,Rs 9kͤ'|vLӬ~NoAǗnG ]psK,DeT R_XU OӯI\6f vSR9jT+zɜN7ic}3#<&5s}tw;FCTSS^ WخihTԦC]1cUƾ]=Zwu|,إ$I9k;ZI>8AdOa|1H sN8ߧUD޹TeWsxݎ~;=o]L<9]Z}3 VYtG QWPɮ'J־ +9o5luxS9E"}@Ųl+sN;txK$cxpe5{5񼒃؊SBR|ƛs1i;߆ IµRvȡ9=Z1c:7AQʔS^ |edt_Aw,gjQX\-4 תީTD=^!\ؙI`I_`qzŠZ8MZĴ% JBy}W9i`ALU 9d`^مYu@ZX j9-UYISZ ]]LZġ;0\aOu9YHII%9TRZ<\YڵɇߠLT!ѡIeh]1#SF /b n-W\鈕Ѭ1rQ``Ml -݄1eH,~աx/\\V5f [9V'b0r} c"4#*^_u3Yom]͉]<#ٙa} Pa19K: biL$A"䶝;`ʼnD$#I#E2֢0lQy$e-G%rU$ "$dĠM`Z]0%ISn%|-_m!Ԥ  %TZB$aI EY. Vze=Zb.f Hf^t\dd}|#(vn8 >iI)y֩V-*_]f2Fе&b"Ʀ;Q *]jYpNYh^ DQgȩ)F2J"uj^bjayީe+f8hfO~E 賩뺲+U*OhZ`k۽k~PcK֫gt췶'J[irRlZ,ž+X@4Jl>eLJ A?֙F˺¬Pll%+|l imJ=쏂!mJZҪ"$D֊-؂TتhqB|S-Ui-:,2,v|-6mlCHBC Zyc>^fJD~.lU`CBD <.&RưުhnƩ{̭ S.4B.R 0.NF..J-id a_\l=o6j2 nՖm$X6>Dl.Mz/ΉNQ//onmJ6B/`//:/ pbΧ?Zp6K. -B?0Rppy"_[to3.1q qc1B :mm1>p,A1ْZ#X1R1q![m%[r o"s1#S$^1'gbr*S!++gvlE00+_ &1,3=J,2xOB_!'G>wr5kp| s223)2%K)0[s9< Erk9_p4+l<{o7:(p<.p7_*FAX'/2=;s-#QR"( HE #5?JgEnLL?8?aZjQ+  Oc 5?AQ9+5t?'!jZ&YZS^Do2TPSEoCuYE5Z4A.np': G7 tIÅacsaoJQ4ʶu]/A_a[e_veue%Y]vhϛ[ti:ɚ+[UGIWtcsmsZcncsY`6o', 5P,Ri3ws;#MSZV3lq[fc#3cs7rwQΚw_6y.D2$hΨڛ}WORpzon7vz7mzwwĤsK8u$o*ؓ>#7YYw=TɞxAdwwywMx=\UAgs7El,A,4F3l0e(wyRݕ7wǗ뱏֎CHVyYg{'<ێhsۺ7Q$Rfv' |X@8;J/ #_"nyFz'd#&3֤_zLz`~.hN-Um!5R"^TB _ħB~Jh2ig:Z9~ahM{ E*z)WQb;,;@`TL7|*:`_̄{;=3 <9V# [}پj']C#PA@[2]Df~){(6R!X ݻ)}ϣ 08C[V]#]R|D9>8F9ܛu|6}=ayw4qNۖw=ܜ•[ڳayCTw*U֌6{P ꣶ7< *="e8뾄wfPj|7Ɵ3;C[NkԀiozj?;%7 h]F5dUW51}C+?~eZSo )@H䉦BLhR e(ޑ^$*uekیYKS즐(zFe3(f踤(9Gig7ٶ'vBXxG66 ;{VyRI:JG)(Z(c;we: ܂e||jlL/?O_o+/CڭLBy1E 4p)N7?:1ƍ;z2ȑp.L}D' elf!*si&k&,FlܷL%]QyKt+V-c*TlcՊ8E^KEV-zw=7[FD k 32~\k5C&s9)s6<8̈?mOۆfzE6PL¹O58Tsމvb3 %1b,=r8_c_ D>cPhNBL!Ew bL`ZnI/PWGYfJk ՕCbf (O񧔁10X\W6sG6DhXr~%禋}B*ViEtYzxg:*kN6)}ly#yҢEmkn~,ozKUݞ{U.[mU /F\//Dzan$-p7̤ .%~e1< $'eʲ[)7a08p jttJ/tNOtROMӫUuZo}#^ v%vfMhvKtrv]Ux7Q x vx/xAÒONy_yoyn9a@z馟zꪯz뮿{N{ߎ{{λ||/|?CO}_}oC}O~柿>?ﯽƱ}] l:[`; V0?JP+ *H@ <C*P\ mB0~1ԡox qD4SWpL!B"xE*j1IĢ /qd,c쎈'bD^lS P'! ;bэkT@ kD->L"xHDqģ$(LjR DRRb)CIR&_ K~ozc[b8d D &(X*s$3 hљҬ5?jbsps'9ωtNk;#pm=|sgt΀ zA0Z"t O QqE/ьjtG? Ґt$-IO;M` k)'i$> 7j5~6$ :V> ./usr/IBMVJava/html/enterp/en_US/gsolent/images/athomcom.gifrc$$GIF89a!,!0I8ͻ'dih: ,p,i( 6py-$ Ш*Iu"CJ0J\pBڥu-ခ5tgvy m\NZ!M|!. ]cfwv rfG÷ !F}qT-V/7 IRXE;xUa#A)ao6m#U(3&h]h=j̙Ɠ=zHG dp32ձ 毘3SP/gZfEAq (ӫWIEzɪ̫*36Wh?[{6Dnʝ; n%x tF< EOa,T,m̺rkdɋ -#X1l%WТ1`kM;A",?EMvps;o{K[Nlv e9syl]~]s<z濌SzŅ}щBQ=Ɵ`l,sW I4ӌ?h.VTUՆxBk8G$AH+R(Hm>uZqhe@y2GZ˩ȠEƸ`XcLG %Fve^ifFVww8fZU#ĘDOIss V0' zd4Rv8RIT -:̓T.ZrG4$ "b.~O)`' vӮ1ue-F,Y2M"V)u)i6*UJ={چ{lHRIz 6Wi,ň[6+\QM͇p9٦"+A;&Ņ"[7q_^+v{쾛R3W6nѾm †K 4n9ROw 4E-mg ObWaֹ%{c,p Sm0ڄ+8p/8GtWNrZ9{~1zN~j;zÍSF?*sɮdҜ`Ӽ 8_{+1Kɠewi+}޺l#N xK+~ߩ8?H3JrqL=p)x1]9n*T e,ؒ=FhqLd[AH[ E5Ps3Rq G kh7zWxS!a!~a74*nV GE Y|(.&?ES#A&lafgqmdל!ᨕ =AыK )*?-K`C6&$Li`!M H@QrMt)iBFBx*/6Fk`P-Ay%Jro+K4qW"2?ŢTHImxD.GAQ 5ѪaQ[ՂM!θDTtП $AEd -+bA'5 tl$FEgK ޒh IeP]ׂ"ejB"li N[DHH"S9ݳ9S~BaTq= YӧJaVoVmU,4QHh'Ê׾N~U+)4R%F׃hLU00v]gHj>\)6EkO~֗bmToSY%l#}ЧJ?L5?kz?:Poy`9Z&𰁑jؼ2 yɥCցbMtyYr+fv,;NR𼸅WUEMe*.z*{B_a]v7P UWD4+_ :(jW0K2Bo\=5[ۧy1'3ٛ!؉jMdvLD-13EnfBLu[[J&ٷƖϩr jp][w'ңR@`uJ.GSgc,w݉]g#Ʌ59GA'ez^]-Hu9o}'mu\%]L}t}3{O; k(i$^87j5~6$X^8./usr/IBMVJava/html/enterp/en_US/gsolent/images/athomieg.gifrc$$GIF89a𠠤, dihlp,tmx|pHArl:ШtJZجvzxL.zm5Ÿ|N~inH p(&o  ¾֚V p,n K0Jr`& RÇ#b0n r 2$BFNRI%KL/%ʜILHFO6(H@_(iӤ\BԦիX8`N [@n%M*7PIvҭj!zwj\ / !hpMZr0޾r%|ݻn=Rq~ heZQ\7l׽M$[z.tӫ_k$,b^uQy $;]y$A_ynU {F(aC\yu!J  @@Io n2hS -(y6< NSbá#H)t@N.V@I٘"#E9b _!z>iT@dfސD9J>-dixv k%gYm^-u袌̣j& Qf馜vܧJ:_7&(wBꪖ꫰*#a뭸뮼pSk&6F+Vkfv+榫+kޫ,K' 7 WlgLw ,rl(0,"8<@-D'Q L7PG-n$-{N\w`Q *=hl; OtmxvW;wހ.mل'kx7.WFnw礗nGw밣nϾ: /o'7G/Wog#{X=o觯?>ه>l? `7AM|S:V7 7z (X? SWp"H9 wO@ 3gCM>Lȴ :zC]Q?$2XEQu&shE-hA/Ҏi6QynH> 0oG"ABL jh"R̤&y2^! =fL*7I}S(p@Spe[=3ڛ-8L8/E*PRz¬IjFm6CgB/5I^az۬ 0A=Ic9IO?3zGfZ֩rŋ )/XD=ۈ4SIPq&BwDr8D ;dFW:n4yt> dShI)yRbZ@ ^'~D64JJժ~ЦzA?GQԪh *VKJDT)FL^/=o6h==dJҳkkָ}AكBy\H Y;Zk~Qs QkZ_$TkŶ|1NKö8%.js΂J&kZzfPrS[Ořo^ss:'ys~3FWӘ.e3Yƻ6=te O9kZG֢ui>X _֕FbW[:c~WMlοiX:Nsu}c/Qd @zϾ^6px.x"{;wdr>[VQl{CujJ֕ bix*T7yc re e.wO^_z32+H+.;;)/}Y//{ss=.>5;U_vt~O1'@هP~kTsQwspp7~gZSr7Aa85GzvC (~ ؁7~Ga_ocRCwzfy x #HU]w)>+t:.XvC(Awx?؄|GE3w(@KwN؅)GsCw'Ty?Y؃D06Xr)h慝E(~gsihdi5RF3fłde73hJ8VrM IwrUFǀ{fy7_!7Hiupa見x8FFs7euX{2nn9vp&kRH,Hw}8~G(|~5BLpwk6dTwǸXƃꈍfb$g(BWHc؀t# Iqn w E(yIQhuXG $Ipgd"fh481huPcl82I*FאQHc0ɔ>f|a)'EjZlFk=􆒩xsw|[ٖ| BP{qفa)BZYE};@V)a9y2'gaEiL91`Gc8a}DYFU蓒>~0$WuI ] wt~LYYiyKٜԩщMII]Oɛɚ,Ʉi DYy9ˠ\Ǟ2sMVLC8!YMjy5h ԠQfqNf↓IzdGZ"!(*V+Ix(A%dc& eqȣhɏ{ىFf GNgPxiWVqdaGcJ-*08Jl6BVq HsZ*DH@Y*?sЕ]*@zYlyzʔzڪjWuj**P4RZxDJ)z (j@ X(*4*zO]XZYjMX  ;:j { :9X @ڱ :Z`'K*;){,{Ig˭бЯ*/ ۯHЂz/p$,k,+(7'd+^ڲ]˵ [ +ZRjrTY@B۲+';;pp>+Jl oVyX gk@+cd D[C4A|c;NpL˲%E˾T{+.KJ+Ɩ|k{/ tkl Z &ᆤxcsVJVj'{\[ޫ,0~+L&KRܷ˾=;쪱^d"+ƠlXYچfi|gId mmvE ˆ,> J+ዶ&0Њ;N۰n B]ͰNW5=ÀJj< 9˱yš ˴-0̅+Μ{=O-O10s;tu[ijM)=2i5݈hݑ;69ܴMɁlz=图$O-Hm~$#^;pfojik}nno]p+ʼ KLFn]$ *8kyfm3YqGGc݂ʯK-,> Ⱦ{̉U9[|y`G#e{@ ġ-gK"{żLSտ}|ԅ1nV#n.G+\K; ޽ m>:]} {о׉l݀-5nǍgJ\i@ݷͳnN.L qn~MՊ-4Yw&^{/1׍+T=@d7t;\mʇ%?2Nރۑ^̜bHU鶞|,[aƜEi׉n۫Љ, q^-9ڞK ,SIU踍.,껷{ y>ڍ,KKE]ބ~=?[:n}*&PwX ǯ{Nm~>އU.꬞+#{NG.0t[nwM%+ބ^OS]SI?+Qbk{'ެ=y-A<ۄ7m_Ro&{]Q=R.E*ODO^H6rB[Gް I~ >)?ηvF١llm~˸ iRNՆ/dT2͇??XϠ_tiĖ.g08x(y1\D|b:X8" DH90@A8V--!bVlFszVûѷ} zi080dXNVִ̌nlelT)A>EM^!AA$]9=M׹Uoq{\A28NAJ6^Ƴw֯ z1VVv|QY9•+ *`i""9P) M4ٸ,s NY)s&͚#̕H r*N?] *|D% |Uխ"*6&^~Y ;s҈wܶ&=&/\Km^}a„mW4/cμJYѥEiTZF*x0-jJkvȃ\_X1XC2Ӫv2e ߵ+w!.:t+K^}R>C n ,]VVB bb(abH&2.#uqr ,y6yy7ֱد"Sd-F~Bk0%O}Z&x[% >ad#chl]̵Wg0Q֜;+9 c~MiM >宲*ZXV oƋUpdK3%CC!dgG.C5Wc] ⎖Op>H&RYn(&9j[E/qbYYRzaf5#ad,kJ,w*>BH%9)Uk ^,D]koY%C0kkڝrV_A4JUeB=^IwEsF@Jh/~ϒO^P`LɷYe'?92r]E!ry{+I%n_Lv<ųk5*Mb6Ytj+X9(K}>dDgNPf9ۍJջg*]{?t6^l2VAUO%[պFJ:nM*MpN%-}\5m*QFKԞEbNQ yz -1@ÁN8Q1"L _8"."RC T"^n̵T$[%MƑ֭O>q96fm{f&ز >3 q1$W-r8>L#s TeilURpƦxfkiXVWhŨÔێ*ڔ+@IL1hC{7 ge8fc.}=[1EgY㝾KJ͙Kq==99M˕r%2uٚu}]˜:1A{;q%׌]u}h.s'/#xKo4~WX51 YS%3-[OZb-<1 ڎu'?͢E#^ N1ίqg9a$'BZ,TIޢPU;ԍ2>,lK`:`X]TVv%QLYS/ ئvʹ}#b1b:۫v_GDoİk?ڞ.@j 9˷;Ex5X%y,4;-­g\]=Z./سWa\nB(z^Coўr3ErT yˠTD~;#eO]̥W7"}|gZȰNrS[z\?_oW{S'X`K,wޱxMJRQ$R9X9m NaN\ߖd\_`9]xE*u5LH,=9Lqۊ[-4ݸM\øt`]7` ݠ) `mºQPiA'qی^m1AV2y_ӤqR=m+!ULWϦ0a`a v]'X} MUXaax)ZؐטUbMN(b|aU_IUeCWyW3:c~у_ SAWҁTu(]⾕ՙaZe 3<*m"OLO}!Լ}#SR 22cEZdzD#0,ʒ!SL 9/58SZ22!;j;\*]Nd{UU((8DapRdӗXF%S霡$cOzWCFj %iuN5^ёUV1aUvYV2vD~"X_q #nBaJN $S]өaXUbB8jr"gf `Md1">rZz 9TwCZS&5RQ؂9/[&bTOI%S &vhe gM!O~b] QNdCҥuc]Pfw%3d)FR y#B匱C( emfxo(EF#Q~eR9ٚ7F\:fv]V&*Dn~)x 3F&ZdR&:J)Mu]]rhDu堂y!>&@׉^$jR-&Ob_Bc ^*nBVt(ԽRdkfqh!!lY'=hjbQgirVޮVxixbV͸W9f1:U'LwŖNn&呶Q j_.U*^bf)TnDbeU֧$nm+do=lSrS)^FbZRtq9f&3NX.(bk+$USY=eYZҍJXjjǞ z-5e$' H>擒m7SM嵮-~Im8"dq*~p'lWtJ$].f:d l-ƪffVnvkm+Bey:h‚Ѝ]|>'ޏޫ-֒oinPΨ5Н~5A^K^*,歷nD`ojrozonMZoҮDN/oronz0p+k-K0p[s,{p`ppkr~p Cp 7/W 0Ǧo pp 0w# /qC'qSq; kTqho_q13p,qq1ӱɝ(q!*ć2!K 4q#_B5 2L""] }CJhr9r)/$߯$&%Ռ%o!c'3+#() ϰ(߱\ _8)9ó!d5!2S47s1 s73*NdXv[09+U/srb xxaĽ34ߛ ?߲1}1Ut _՝ԘL KY>A\mtQgoGC$ڙDZ^PʹH?t遲EW4I4iuU_S54Uu4Qu[gl>1 rWSt?4:UFa_`D^D>P_` PoPuFu[#\ $*Fs>f{I61ܮ: ;C!c`gs֭=O3l25]ivndS6 p\*"cC+D,!hQWvq)u-rssutgzqF{ކysxp?0\',gwfhwв2TW77w/7w|W}rwuϷwIM8{op$1x'0SxK˂+Z!ރ77XĄˎ_dpo8 [B6A,7'h/x [31i7Ӷ:[xo!4̅3n'k h71ro[t`u1_ZX;C_/?x@5T_c ӳ|H6Lg]wtsLSNn?K.=1BWa]nȦ7t :م8Z,#*5B6STߢ߬7sPk5L7T9-5:>;Cc78s9ߟ9 /빽;u5Au;6v`':{t6U: jv8my9umW]J_`ݫ[58v>v#N;|G2<?| a:='=zS7DO}k}`^gփ t}؛}ٳ}I[v} =p}3~=q0~;C~K>k|+~s~{>1飾ڟ)N[}~~/2|1>߰>3;CKS[?3d{Is{# +TĢȦ * Ԫjܮ Å@Jm]i4< |R7HxRHHc)b3W):j4fz56V9'GEʧ'ظ8i<|Ót'JMͺ$ Gf=9X/ob_ܬ?Sy$);1DppR &=/Ar0d栕A^ ?hNL1ꐉTZSq6֪PAvL"%%Nyr,VܝvЁg_bO} _x=Ʌ0!d8&pát ·49"ȈHl"'ʄu9( Xb޴ .zqc*lXqj`卑72Gx#>qHYd!ǗE(l%kH \%?LZE,D9MŒ3+3Jfr+o9XR%t9^rDIdJʘA2 &fRd MCI̦7ônt_81rsD'5}uS*F:{a\[ P>_<PO L*kYɄJ4- PAOxЉj4jEYύ%G!ё%5=Wϖz{( Ӝ@bxNSt6OTe?;9Ј>w\F#fHiC҃3 }QvԤ.5fzլnUɬc3aִo\z׼ ` {.d+{n=`hK{Ԯlk{-c/.ύt{n{|; |/, o<_n/k|?6S |$/ q8|,o_4os[<î 5aD/я+}LoӟK}Tկeк׿}d/ώ^\gCG7zs=/#~7_Em/w;u$*Ic~y }_O=m;qmj?KbD +aU( |/? v VY%8H(oF {8ϗ"&&,} 8$" $m0kvR`J0} ~X88~Ȃ-Hm "aaC!u~%8AxI38O~~;U AL!&)rgք TS17Ѓ؁~$&,2c!ji(kM PxSx qx(?8" "& Hȉf} B$M}75}Hth Zx5hX駂؉x6A6 8X|8.@줉ʈiHp^xHI ŋw ^ҍRP6h~}y|\(;pI {`7kku iipɑ !I%ni)Y6t-/y )3I5i79;t!;> k )i$87j5~6$@d8./usr/IBMVJava/html/enterp/en_US/gsolent/images/athomifn.gifrc$$GIF89a𠠤, dihlp,tmx|pHArl:ШtJZجvzxL.zm5Ÿ|N~inH p(&o  ¾֚V p,n K0Jr`%BB =5ŋ3b0n r V!DV>yL&Sϟ@HDQ`mydKNK8VVUfu4Vٳh.8Q [@nG—-*i%gtXuX!Klqb̀+C>xӨSOcܑۖ)%7y=@g'y1W!?n|xr.'(8sÆ|˪O'֭K9AY:e_s]gw6 g]t4u}Xwr_d}eޅfXS 񑰞\n( }~ͩ$M nwV+aѸ7j(D*gko}8[  @@IX_3ed ]Ifa])^pƙQp|d@M:9"(]iLhL/(>)ibbfFئ)gwC%io*무g S{Ix3Uy*2"M\K";%n+VL|fly ֆ+妫r+k7,l' 7G,Wlgw $l(,07,r4l8<>-DmH']J7PG->3MXg\omu`-dfl5l-tmx|w@ 0n'|kWng0-褗n:ȝC.{9Ϯ~uo|+7'Wo,}gҷ{觯wǟu{ HL:'H >P`[DA z GH(L SA~8 wN\"HBN"h*ZXHB'"2h A/*a:5d+Q##IBn`G1P$'ɹDZ$9B (pR&0(WV”$ *!̥bKr1d uIb] $73¤1IM;"3s2%K nSd5I*^Ӄ6!M8c,#hv9Qcfe\:vloMGi}A K u5u˥wiv Oyج9E@se@ @>uV^O)-\ߎCC^ w3#/L^kЧLrW@|cTe1|G= :B~6}cXb'Wfq@uWc=fՇڗzHhpHB<|8mXd{vW}h>}ZDchwhwjiih{nwiffxx~wvwa@(ȏWԉDžq}Hc=?ՈxfflkFr(lFuM7l7r)r7tvvuUr1 SGG,7Fh@eY)ut-iwI{tƙċX!Yme{9IVitYX-xtinFvHyqflMKd'aNp[is瓈Ǝٜחz)y6@Y`IƐhF( iL)Q Qi)Y~iF{-eYJ!(ùsTG/rXf|2:3:X{|(7*ปK*({MjRUɘ IR}9 Nʈ=d(X$yǦsOiFHajJIz G"hɥu|W zY eu]ڦH8wFxrԘx*Z3z=cViY:G 7Hajeb Xr*px+J~0*X֘* vк˹F;;Hr>͛{BL鐲 ˎًi&v顪+ijkۯaiVPGt,ɽ9ơz&;<\b\׻E[u ,'k L73X nmqa cY_*\iz]{8}mL4|UUŹ[ <Ý ɒɢ\bmɇP˶|˸˺lP˽,̾<|˿ƔLS,-[ @<\ 3< \kk IʕK.[ ,<pHЋ p\Lν+ $,p ֌Ќ|Ψξ\4̣} 7Ѽ՜m ,۬pX"PH8+l]}OP9% ̽|н5Wˌ*m=i-%}L9m;\#P,~׀מ#yW _4d=]Ш4 `=-][Ւ=0A֠lƑɪ,ɧlҫɫ]llͧT؆*є=缆-%ԑlB]"Ԡ,\-<ϜʷԶL,S.0MZ3U.׍ї=լ=ܑ 9Lm 8Σz5\4,l|ҌmԲkqP>^~ ."P]٬u\U$`㯝|ړ=͐LCNݓDn|  T^V~L0-U<ɔ ΛM-ғK]Lߠ9><l=Pp=bHPh O_2X芾uR %No~Lr]dn#`L4 ܨn {5匞뺾`@q NomC;=-ΜmX]n՝UX~>DŽ*k %|,֞,^6.$ q%AN.G$ ^o0؍;=Rm 4>ώӠ /.'0MlzPn1PU2E_%b"KZpM&g@SO7*oL\#- x]32Ox>o"VoSQP_PYo7Iɞ0P->ޮ,}%5ymy?AoX_%H/O/h7 y_μq5kޣn@_0#PPɒj Ƭ3lKh<"%LZR!Q,1l> @ GA=Mr*1.a2N!bYJRmzYUTAhIJ p~ڈ0 梢5+KW;%?u{;mz^eϦs]˹Ź]r4 9$]'@B^ .LOH+X k€1vش2V˔B`R)l9q *th7tGιt)ӦcرCh@Q͑?; vj&A= Bk!Madqe3y^7mi5ۮ21Jȓj %dnD?.LNON= |UV#vAn]p.ۑJpRXO1U|M $2)K&[1笭eunܧ&͡/*'m= Y" & |d"%\Nx\)z9J_``2S4yEb{ȞK4McMwW6FK}1djlX14+ fBC 9k aJ}h^"BGt&"CN9Vx&A${2QAl{P C9ĕ!`J`pa>DBfrMA]x\})G9kh5AZ I6kȧYXe & _۩ɪ_lܛ)ʜit :⛯[/.XT##pP 5`2 %DV2*]q.Ɖj :bܪΊ3x1H@h9bEb(\u)Jl+|T ù*ȪW wc#kl! g/A\t C`nսNb+&8>0XsǻwN DʝpQ!'!Ԫn"›nu ] 2 jYDHU8ٗ֊er?*k"!BšA(Ө7GR ||D 轈l k 2\օ.9$Cy0 ԣWJ*$-]֬,,vH$.T\K&x*M-*]pwWN>%&7#K2j$p)!$%ȈQ);MI fЂcJjvxX[̓"4y[Чb yN){@[BF3:$\ȧt3 @Q)P  )M=4<եrbjl 1ڕ%ֈ(Wj)}G o5})Y*KԡlbY.\K" T DyК*Dw#+R=VrߝWǒhMk8 a@Y' 7j.vXĕU5gURƝlE X6gm(e c6;).~6L6RTREmrDžgnUD'bl+dyۜTd"K7bxD\!s&"V[KXm7yl:zgR`\7ٱJZ']{/U.3Jf#,w ]K k6\DRZPqq[ {jJ]X{&ljG1&Mv% $KvcN8A8#4#n#6$1":\ 3tY۝2%]'a?.!KdAdd0:dzu%⁝űVeܭ]I vb4j%VY L&V" d|e ⱨc6M8M бYt!pG%&r\Fq@cHv]V%r&f6y,&pg,g:g.bRܤYPbu2i&%ۥT_x&ޡX](Ap~'Bpge6} `Ia Q"h\QeFRde"&։iW5._6av"7ҧd.|cr}g֘Qz&M jhG=2Jigb 4j=JiR菒`d%zN^GN'^(̳RV%-9ld  z*eh(9ٽY*$P]izَUuMcMqVcJҡk 6:`hf*]d4eu$z>j%,Vl^ۦ&+iCb-j-nlr,ʫNۆ%mZ$QcFh:[Qu(V$V$VGH#ꒅ)Љ#*l[U!S>(9(lxly&em$mۺVfHeBYkVm).3Bश!)bMl-т_ZK >=܅YXc%\})h奾f?:h9Ih+F."y0~U)5ꁺ]_l25:.6 Fߨ>+vfB*~_?:xJiV -Ŏo!}*;mbi*jn4f(V*.Bl`0Չ;% h.]h^HV3V (QfwT[h Op do<Ƒ

    (/cJqA!2'K39r<3ޣ.cܿ3'0Nu9Ro2!lRlD5dGd6]AnvEPrA_7Nokt-vÚiT6t-3_wvox x:G6f~+~_v+Sx[c"x*㷃OGx#ʆkj08 D8㤊x븀1Dx'E9RUx+xs9,yky7y"TGyƣ_lyywl{8mw3ɚyw+xu3d97 #:C?}?4c z/JS9TG׹x_:ugԟm{jzk3ALY8w}e{#+{3;[vzS:\϶Ȳ{{{$n#-Dz{_uB{; qz;H{[x8uDz{3;|Sےk.ck{CQ-H|Cɛ|/hZicjl81Ly}|ϫ|˟<#9(~/}ϻVڻ~~G<|9׾=Og7?[3<7{G[`?k?k;???w|<:? Hfjʮn rL*  F¢L*̦ Ԫjܮ  ra 1HM&φn(G4hx8(5660'7 *:JZjz +;Kh{8VF --[m}gY 9=N^n~=|io/{ؽ :|1b+fMM7j'1ȑ$K&2e0>4kڼiSΝ\XҌ2 q=4i:LNe=dJZӭ::uaֱd˚=5E& JtٹtTW [0)j7 vW[;~ j- 9͸&{U[_ƜK>jH9 Q.P۾tnFWvj:HFz8wPt LǍ]`zM)ԙ\/}CO=>D{b'o!O H` !(=xN}be!^(8p) apsșxb-"(8ŕ(,8# B2aTT8f|'9p^5X$6HbX%U9a ZjnfdHGL$]~!6(&7NivYf|btoNUYptW*jV^hl'k9%^ZeڇgeI^kyzꬢšYj6f죳kZq4im2*>/c"9ҋ[-wnpR /Zڒt*ig2qK8Lدu&ǻ )( s*rƌs΂̬[ sB73,q6tUG[XK}tTIsf7dZ{v1-#Mp&wu݆m0߂/w^q\I)2.$_#F q&)@8ƍ9c~59!t{uG'qGB*2BD(-rh#@q4,َDzr%6DIT”@*_iVZÕexdyL"M-+-yK\摾%0yal&9L]K3LhfMb~G,g6 qZlgnL4Fcs૧cs%Ё)<(BE?GIRF#΍r&)Rz M))WRӥ#ZJN>`>ӚB2jP9T-LjTB:=EaFC_N Pͪjz`X:ƲjD-rҭJ)yE^ҾRUmI5*X•!aciBXm$ⓚmbXBpEhJmjj!b}mfc;NҶ f}ٹvo RWť ';xlY+]ַ]rK x*^f=vA[ʺWz+5ltEpus[`K0$.ً]7Ua61Y|bƻ3dulZ7ǛE񂅬9";Frqc ?$r,_*Nȥle+/_sYwhVp,68pNL:Y]#wg2ϊ IhSNt];zp&'ͷJsxИ~4ӜNM崨Fj/fKYO9ϰ~\:Թ^;mGΈfc ٴV`;j\c 3oo6M{鶛#vݖo7.-}a/+| oK|/k|?>p /O|,o_\Qvo|<t$я+}Lo·>;}Tկ}ֿ}d:A]}loۅnߑtwǽλ ~{'+~maK~`H0/Ak~?Ћ~/Oԫ~o_~0h~ /l+o~K;k:>~ZQ+~PX~诿/d?(; Z11 耋WPxd yDr`H%w)⢀h/_W=,1i Qd*41HEu@"T RЃcZ1凅g2')&b/ar-.2@BSr(ehXhrk# ?*8/.KSBhw!T*Å"xHh-臯((qȉǨ]<>%m(IhXp3X/5T񂋖p#)XȎ׸hX!Pe a6ݣsn3S-?t௫Nuk>z!ui#.rW=upzή^[SW,ps]_Oě^ηn<~.s[߮|#-rB'nS| (w+5AaN#`wu0KEQ? n~'!H8t c@ Ns =8>qZg}~e{> r"֌hEfkSOs^ɺ*Q|0G>oodȃ LxÅ›W]MW(Qd-Nz$(GIRfKL*WYkꕰ,gIZ̥.w^ 0IbY(2f:Ќ4BQ״&6nz6IrL:BQ4)eҳ'>~ (4d tgBІ`D'P(BюS HGMà$ ҹvrt*57A̖Ӧi9u͗@ @)M@@LÙT*ԨQhI6TZ&XS?5 PL@1A8Joq\yn+TWvwW kWU\敱}&M~Σz H̚V:_hf6^YTk)B{Wز4Cak8)֜u.;[pRu]V 8A̬~%3* na;]Jݤ=IXվ%F[C}rLa,sLa/w}++bܒ@W NU8qO\ާB3#_ 2YjF|تIf&G\M!W9'`_ܢ+r\f͞Wpp9~d/8 D ȓ*!@ge3}k5=6?S`3YgBhrRmi]~hJ8ΰQ:yg ͘F8I 'Ž6tMmm*NejD^9*s0 gV3~fJ3vۭX3dӥCe4 7Q;xF5%Mt*r>/Uu O9Wruw滦uIH@" |F=kg;83܄0bֈ5g/dGvܸ4w^3ˢ{w|1ѿA#hz ȄdfRג5vFٔ4 {edEuȔ5UT\8Z8TxʤGx旉BMlɓ&`W/zNPI%tX8P5wjtifٕ3U喒ٖT\yN}9SU9Dž[9 )NI9nI^wjGɛ)IeH9SN{F޵\ϙ Pɗ\eQ՜Pf)[fP暯|Vyg扞؉Q%ɞ)]I|B#ɠB#㩞 . "*JMٙvYG{E/ZI1(I@u [#ZA:^G:7U̩- $jhQ*Jgee9kTfzhjlڦnjJb:tڔ\Zxwzڧ~g|:~'*ڨ JΕ.RI&-9.J- ..G"R-.-J.%\/wH7Rup >5DF՗ګZw)PZxr)Rz~VƊ*e5~$~ڬd>ʗʅ PڮJQ +4RJRqiʤM"%"#Gnzޘi 5GU IU([Qz&ȈwmT"TDM0+N[so9 D[AMK{Mo' pG%J۲Ǵ QMOZX{)f`'w^[N%kV3a?TQլ&w=˱kz(EہI>km?TbBpnp뜢W(GuHŵc˸kwK4t4~*nZض_˸;P2dTel6k]P|VRŷP. b/BeZ ݧ빟Kg۽K3%tfj#aq:+|zv_W:Jƿ˿  'gVVG LK\:xMe K[ |gNd溪7 A<ĕ2;al`a‚ NLOL oG;S,.\k [|D#r6l/LMŹYƁ .z^L[Om fܽ7A<ᇱhPP<Ćm7,|ȱf+ËɲLxI#m{ ; ӄt k\E-V+lõ9CTx!{c)m9_ lJE{ʶU|Pd-L3 b@KvغtR]g gǔL6W]D,X 9l]3؊͡m!#݁6MrxBȉBOM+Ư:!UQͼx{ml+٦̅z݁* ܨլpTdT'g%ͭ:!hY{庬SKfeķQ̫:fwAU~7|ᲈ?] *E%nhD IpK4DKF~两BJnL>Ι9T^V~XZ\^`&f~h;Jnog so ^zN;c~>ֻnㄞΙ>Li~.nm頾u~Qw~KZ~}~XO^ܶ뺾pKdG.#k ƞl&NN[Ȟk.>Q%v~R^EJ&:F>.,ˑr M޾ecydΔv*!\l ^kuо)9+-"_>M" "v9Oryľ;kKkN>u.fXnAM+lv:ym׺ o#LkI? r%mdL=ȟ3{zGr[??in~`k|ҳ=VM߁?Slۓإx̼~onAu-`٩Y,Ƅ-=ԗgA&TןT4b=DdB-Ƀp\ĘlZLQ{SizYXx #Kd4)|Jϧ;"Ji0 s6Ii0aaQ}9nO51 {ȥ  16:>BFJN ]D4y""ReO" O+RԺU`A.5{QxD4^ؼ!ԩ^256-ۭ4=ԕ;_Auj#G{c8n %0عCU=%l> yMlRæz6m)a4 N6׵y#O/9#f~.(-=y޿׻<ఆn8Ï?|r㮝zB쵂uQחBRXb@rء#Xj‰+b>wh%87☣;أ7ZCYG"K2d*6.'\Sp٥_cYgُt٦osYwxiYY҈G_ЧxШ:ߞRZb)rڨ[gv/ޠUZFy*⚫Iڥ+[+vkV XZKmq[) K)T?Ӯ.[ْ[vn%ri@Kn^2[1O4VZn 0V (\CX1:6/S/@|+NAsD<37shzܮڲ4`F2<6?Kgr^fX9A5)Ŷ,wL/4dkhU(\x/f7 N 8n;sQxilsI0yߌ~xΚ=wnfZ{Mq:K|6W[ʢ6Ww\.%(@.x޳ffں{˥ד9盗3՞o4?SqIJƟ馃+_lϒL_Zx7)OgCA 7O `㑻/fspƾ~3vfBJp  ={ o>9s8>ꍍXڂx/{bD*4H܈8HnB:j'lw:7FB;Ō֎ a7}o AF(DёDdvΑgj?&.Pd`$QQ/dZYZfX8` В[` mu\ (t1xqgt###Z>\!G24/ Hқy¤ A(&Gl\b>((*SɣUREl1 y '1I;岚C(w$M'%AP֒~P8ͧ9m&H3Lj4 &O~XcH1rݪx1*T*|-@:󣏼YM]4Ts]ҤgFȤ* +9SR\SyV k"K[&;*3g#0kS(v"?ʎfըIQ8_j=`KdmBNr5 M25&v0'(/ظY]9O-w?wJ s>8]H]DsJUbͭnw\m=n+@&jv#׽}n|޹>2.kt?k58 , ;r E >`FQ0K+ bk[$8:kQ,aGT%>Y [;Ӎ'CyA0;ø2>>(3u| sg \H&vW\5w`*W¥yKi2?cc=p'Fhe9?[6oRe];7EhKA_:[W[G1ء^iQ~@j]jb5V9ѭ"զG'&imNHhy[@wZb=E\B%:x+2Nse:(+^9†Cvj.vכNqlCъ1k@jwU3Li[CزNTAƒ ^u.m =^ujھܴ5έM1x#g [(W=V"= -[EIs]ex1n[*u킔ZI(yUk"+tC~*-g>g+o=Ш yy}~"%~KMM()?fy!y™&F(/>gF&5OQx%wUkˊVk$j?+[olPUQuWU9UUS%]ST B.;- #1 __-^OuXaE ֿ5i ʖ̱ gQ9VIV홖d;5*]cqc_})9ހA)ߨY^Qs%shA|Iey\ T Z FjL a_\-X *^^J!i"u"%z`&b]BI%Z"&&r"ybF,+b,,b--b.",jb)c&:"(b,.:3Bc4b//52)a6=b234c9+R#X#6 c'#1"B-9c?N(Y;$h#1ƣ*Σ#"4Z[?Z9ؤY]ZAc( ,ΤLM#cFΑqXڭaT|EYU"8$4H$Mn%SȢN9eO: YηZR*SR[$]i . Ww2ג2)@AQ_.nm*ip'DT~ (Nޏ)Meq 7ilSfN%֫q[19$9B/Ҥ0 &6n "VW-k%cE&Ipk2-1 01"= EF!]&Q-Z&gkbJ:ge֭Hqn :W).+sኙ9CL+<=D tn:0?bEOtHr4(%%?-}tGIE/$m(l4JcLJHHtτm-MM K4C.c J4#p#DzS+5vT_#Q .c>KL eJ9)ɖYsKBVN5VI\E=.[#`_rc>c5:uf/.~Rv\zAd6TF2bgrE|/Vi=Gu3u2}qp lQ' ې7K13!۵qHm[saw_vuN#N?0') CFif]M1*wqZf 1+2RjoWb>7rp,eh>r^7]'tBS/3/BBтҸ5g#Z ZqS]1DU7Aq1 7!j͟`Sj8/;/_&[~˟Ay_at6ލ)[ ^#OycF9ϥJw6..gu// V9UrC]ZIla3ߠ25Sp:6;P(gu(v77p gQ3/AO.Q6DW=gf'{b#33fQlI{$;;|{C>^~A ,Y-ƥj!9bL_{Ijήjô|7|2<$vwO_uƧßi[:jRcF4ƗT(|ʻi7m¼msˋ<"noV$\\kooD%.^;!15J#+=62.Gci9䠮xk6?S\̷9KNS.fk >vv5Emu'ek늰 yûSqN0wNStfofye^w_:x;kWvwwj''>$=}Gp2Hp[17q 'ݖcny 4*#['KSj^/ H〢ٖnFQ0R ((ICڽN.RʢFiK]٘kՑwܲ[Dhf5r8;$x8Tci2H bYY$0PQp56w II$l ̴T(+57g#뷆g # N{kܜ6K8(9 陉9i * d2GZb1aBN 9$B2e̢Asi rsYn4iZxP_ED3_DWfcEds厝aZE@C 8A\#fnfbr6.&qc=Q\˦&ި|v PTՄ Z~͝k+,hƩL-Qm'^(n;?YnդWլDv? UvFo[ NHaNva<=hi`*ʃ߆c2Ƙz3!h3u%bɁ"޸bqHdJ.ٙ.wccSrdQL>$<~IffBעوUYS?$CP@\iTBg瘁J9vi2=[RWC@@2R蚡%W\ j}砈 Xҩjr)j rJV2!@WK&!*f@XcX `W/GJ'V`w׷%}KҺڥ¹u>"MK,tXE R}m*bcp:QD9TP1ʢ `P=k'y `,+\C! Cr r_,""]R;oʲ+ik\\,[e@>=, 0qpVF6J8gI/fGjMeUa[LjR/k%XzNle߄SJЗ]NT`ŀwMU|~n7.Z㴼^fT+Cς&&ʀ`S:ļ{eJ > -=M9Spk&9A_Tnrԫ\9LDdBH]ZH<6O& @F|k; r<o3#!tּh:T&qjS aօOg3bP𑎄#"Kng<9ݸF%ZW!E^D֙NV ZU1n{appYpv= ?5$ G-҆g(%H-a dFf)WrFQq8>OP3qQ=˕RxOxSF E,r=L:GeNJ/O=(Ppπ m;":es{j<iBtŒ<ɹ8-Ԃ<(EO$~t;;)% ҉L?GjQ!(ҡ10Иt5iIs~5jԤbO Qj! 6 LXɊV Tk_Q nVJ)9*C/LZkܺҙC'[)tK]$9OܑJuҦ+XGE+ 6zLH UT niI6Im`dR=Z]]SZbP0f`)݄jU+ǼWIoo?r+FU}-m:Kx`‰/ ,wl؆@a#1#Gy7%el qcYdLZsPf-7VfIE%<tq&!ZȹF^ISqnYͻT7qb]vkOe;z@eRy "֏ORTs;ެ+Z)ϡfskTe9K*Lŭї-f=}׎bbp}jo }t}|>݇SQarqO ӾԯcF`ceYC_OV*׾&c}zf|Ԃ-~oTL+`=iV\!}~ׁׁy"GwWG'z~8 HWy"6؃.w}MDuDZ_S0%lYC8n 15[%؂1wyaXzdX`^(Ȇ8ȃ+d؃p_@ȁBQD(z]A452S}]4Zg5h(gjm؂Hy膝wX^؅nȃ<ȇH7*)ՄhJFa{8w sv &7q`Z)Hy3،+.Xvȁv׸msxܘh(qt(옎/H؊*wKRbb/F:1AfclDd7.GmPQ`|f@(xhh\8ɑ9ʈ@*i& ڥ.Q1ǏeCi pe%0gĭə̭ɝɟ ʡ,ʣɜLʧ\hȍ6ƭʯ˳L˵l˷˹Ų˽l⛸LBptnjɬ ,\̓T1ݬ ,LLUb< LÙlbLlLS Mm= GMm<- =, z!M%m<'] Tɧ3m7}5٬+b~sa ۲O=c@:M$gϬ/W -#HH gG<|K@e0IEb=^]R̓ע i]kMr@01S2y= ڑ @ڦ]ڝ٣-A` ۞@ڊ=ͳ|̋d]"1ءר] ܞ-ڦq=/݈(ڟMܩ]ԍڸMܧڧ="ڞpeNӭLڪֻ]Ҏ}}]ݜ} m٭Fݫ= ݠ-ܫM]>n]}] M ߓ܏F_MA>=/^G\ 67  4NzmU NMZ]4a`2heLHA^a>]M~dw.ѝ-Y圭V>dT~.[-Tx~ޛ.X mmȰh.Rn=|~阎ι- ٜܰN( ,*ۂ~B]>.x6nnن=n޶&FnΎ!^G^Ϟ,ֶ}8EMd(~!Ьll/.o68?1,@nIBDJLSR?N^|DT6-[˓a][ՐWW XYϜI%&W$'iZ__*!Pbb#ko*ghY1r* +r^׬Qn0+O&7zz'stTu5#8'")hp6&^kz 1rȐ ylȍZD{Uܷd)0g=8)Y4G$ӦS22m''TVh;ʽOX82.et? _Jp7n(g,TAe!! Yrb>G%G"d 7wƹ`r,- &^x!ji(<H't藍MiUos"AF8eb}’l5ie ȥl_%X 18Y\mޭ$י\ċs*BwV9)@m1mf2z FG~JV(L)bj~*Jtc۩4*tlAk|{Z Z"Y(_Dy6k*G`..;/S/// ]< *I:0K<1[k1{1!q+#<:.-21<35|393=3A =4Ѥ lE+4M;4QK=5Bߨ0V5]{5a-Չfi6megJ+u}7y뽴ܳv7 >8o օ+8; oq2[~9k9{9d"յ~:ꩫ:뭻:>;~;; ?<<#;<2[=nl{=DoU>e :>??!ߖ>?׿l2Pj l #(=p wQA# `R)f%!NشeB! ?5HІ0 gC@f*`MtbvDMQC=^+pOd"o0 ]*1 {D1lc–e[" E(!cHA&rfztc(.2@a"27,'DQd(w(U-<#!LjHMP&hڐj$b/JFBp4(5DARRe2Lf2SϴIiR7'ILZ-|%6 K^q$1wyFt’|W9L|;XMZ*S/I3%:yOB}gfSm;KHu*g!Qvҕy=E,%ZQFҎV3;(KѢ*]*7;*F&)Or6ԞOOA4-gszM[zҦdk%ҶGRp 0 ӛTgX3 G) ksl 4&vmce.NDlevВiSv}mZ Vl3-ns;ۈlIr2U+Rֽ.v[;oh k^+i$ 7j5~6$0U ./usr/IBMVJava/html/enterp/en_US/gsolent/images/athomsts.gifrc$$GIF89a,0I8ͻ`(d lp,tmx|pH,(il:ШtJazxL.zn|NuyIZYk{[*c|}_r\vȅ²,/+\ࡳGG`ÀH)Dž YId I{xGLʜ)s͛8sJϟJQ5<*]4)ӧPu²BիXjZE(ׯ`ÊKfӪ]˶[hʝK]+q˷y L0+^8Ɛ#Kx˘V̹g?MJ RN] N?PEְs,;2nN\qoq)μ9^@}p(k޶wիνy? UYx/%Cg \V Q7fޅ]#VPL,F_ :h(Av:{=a($N !1^7*P%y_jc.%deaץk)&q馗jJ`t5wLI"Y("(dz衑WbdN:颕gBɦ&z榜v"}m5"I(֚l*kQ]z2Vh j@쳴.. V ;lcjuιly nmvܼ;kI6lXǹ 4tZ(7r"\@j,h+߆D*K{.z+r謗*":뢻nnZN0J^9;'.7PZC#8mv?9O߯d>A9+th ׭.y"=]$׽u&U0B4'RPRc %)}pJԠGSU[[^XVA0⡮"BXAQKTdDFц`ԥfb< Ԅ'. ]N83i 3]PjlF=֒ԩ1L{*T&թV\Ur5d^*ֆ:+Z9ֵJ\J׺xz [_ 4/ sOaXanV&+RebK4=\bY 蕂Y:FFPj!ZV$ fW͵h0ن6m*GT-j2ׅ4,a, ]&m๲ˬ)+^= +|uTpu^2lcoZ+Z;d٭F,FzYZ8"<_ e'̷yĕ\#=l0vfI6>ݺZ>O,dE=2[;PL*[XN1.{`L2hN3;r/I k k,i$=97j5~6$d=9./usr/IBMVJava/html/enterp/en_US/gsolent/images/athomtxa.gifrc$$GIF89a𠠤, dihlp,tmx|px Ȥrl:ШtJZجvzxL.`|N~/ n(&m  ÿӅU n,lؾ JKHdW)\ȰCPVm!$'.Y@~ &H'5,(ʇ0cʜ0b87{ A'cK_:RJ,JիXqE3N-@p6V3jɠ~ &J(ܑp6m{7.ɼ˷ݿL*^̸\1OA`6EH]A6t^r면IN츷!Gs  D,N辷ezW :wi5ӯ̜D7IvtUX~U5Z4WeJ A4A~Wn$(TPx(*8^ ePd"xhUh&R(dwNƘ݈O:ɠ`)R-Tx0.!Α8pٌp'6C1l榜*+i0 FYԠF*餇0g饉wBr'P駠hjjꪬ꫰*AdS뮼+k&6F+Vkhv+k見+k/ޫnl'G,pgw,$ 0j,0,4לr2<@-oIL7PG09&g\w,G«;^mh{ HJvp-t|kwx-n붝ۆ7}#~kWn]K^wk9褗nz++.n/o''+/Wogw=W}귲kQR6 cC+ܓۜ6 K@8H ̠75zz `[!(L a&/,x> 8̡\pr#,aN"9&!H*Jd=bsEъ` #@-p@#gyXcHG{2>6O2,XBrwະ֩}<`'Q̤&H-;'^L*I-R##H[RC$@wW@pD\0ٳV2qr%,G@54 Kj)kHnzsV$e`4̴%4 PjBvtCo}5bC2tr)j.eBφ:dY XsG37L<'O8F(M"K68 99-MԖDAE*?03\UJԢր G/ZKTթKwrn,%OjԮzH(`9RЋ3[WU!t\\ꇰ4/u@NJvT5 "CXU+`רegHS&TCmhUؖF 4T'Nf ]cgY`vmhiw4e'f=J՜4,\:t\4B(y]v)gKbҹ'to*tr.f_ U]vo5)sKa1SGgNn ڶ^}g3~(uvʕwC.Xv9ku^ %/V)UmƵ0_Pseg4++$P)X Fh&&.Hr=IK[䟶8/.›Z5/kl"kN2e{6pvg˹+l&6#Zo6RS뤦ZscwEz_vy}~Ch7h\t6 o;[ލ8gi~q_FճMwQJ? wypk;4mlO|Ju}KC}t\AG=ht6GV#v獷~9yNv}2y-48Bz\܁-: ^us)kG6_sp//ov̧Fa7j57(G]'.m:κ6˿%sS?}^{Zbg6f1΂t0߂ocaWP#cxG@h';bbG6^7 (6Xׅ^İ wM^W``Z؂ ReX[6 w ׀Z[tacaa.8]g(DIfLY@J)XfEV4е&(ԄZn;Z;kxh4uN[~^YSwixAX'mZ|Ca'x@cWlXP p EXeh4T|bW{]]fc,ȉH+a(ÀhshR68x,&g(x~H>+x`BtO9x(( hoڣЈHV$JNqƤTHK=ȋ؏9Yy7ӸSJlxٸ|hxbs " P؉)u'H~=i98y5S$pB{IA PiCHjg 9@yl)Y+a3gQP8̨<5M|*VZýjb "ZYїf[2])_x{ rpG8O-9ǰ9 n9Mgdup ɚ~iy9+Ә Ycywti_7y-wwQVZٚɗɗXpٝIjvކtȆ}GDi I5YF蜫t'yITމဗY) z Ꝁy "ʡ ښiɐ|~oZGD@ 9ga9@Mqw'&HFJJZ$Z& wmV.JIJOh: F9rfIGtw7Ay jPZ9Pzʠ~ڠzY&]zzjwCZJmgsw KʧNj٩VZʫZZ9vu0 qDi) 0-dft7za:Oz~:JJJJ~Q|էw*xש:k)qr< tz}'u:iM{yʤ}RJ}*b0y跩5*1i)1ZBZ{j,S˳gɚE13I3z<@Gj WB3Z4KdA;ҚEP@pNе>E*J 0̩9D0^K`H2f 8 $L@)y@ekT(D dde :I7{[M w! (ps{ 3֘uw3Q+;4DټK+A;A盾˟ߛT۸ y'{{.* ?[Aw+9i&IykܣD\Rd&'LGWvwi>d8 1)¨=\%Hw0=@<)m;v7~_Zi06})!aܰbmm̖wk Ŭ<N}RTGQ[.S^Q]`H0̭9̛A>rC.eKLP~LnP2L`L`|㺼uޭAlm#-nUV>n>)aLa~j.7ޝ|z,~ĬJǦLyM\T&.^>fPEFEH,4cRm؇}%YoY&~Y$#^N߸=mtxDcUo,Y?T˞^bd~L/,zM{~ST>H/]MLí",z+?>OWb蒏叏ߖC?l_p?^}JW(n٩֨-Yn>^aO]=y@`$*k.kY4Dr(Oh48b-72^`.y;.g5mvh5> r< 0(:<,N"^UҰ8-nRhN28Μ8.B U!E0y=O[~A}ETY_SciKSIOeUgoӽC{_㇋mۧ՟?!Æ9kpX)U(v$Q&-O^xiɖX6)͖5YδqN.iV, Mˮ}[991m3vm*[J+ֱawիւaNU7jٮ͛~p DFa ,ҕ(NDAxe(5,RdWX6gyg#„&!DYfĔfjwdۖ{+ZfrC 9mܴ];Wk;Z>_w;lIM\ />p,2b̓WJOdEkJ8Clk}[9HW86a[^[{PgatNY!q5'yע/nq_5@a ybXY,C@f Tk ^ёU?בsTYfXTu&ϩi"rIb4N}Oz|}ViBeRF "VʡiOsAYuqƓ=&tϫY.PqVuګlX^e$2$}AhgTN;*:dg;JfQ񗮓qڦ%i!겅 0x)f/&H6y{l#ߊD-UoN2[ `~o=W }[MkyVNw[庴H Hsu\8; c<OzA+ߧь3RFp'Aoq_䮩.uA8A}[ã>Ѕ8 rhp&j db'<%խ΄|]a؟[_=|&ile]|FP1Q W5%ƣڢV0ƣݣy>&#?Nt dʼnu 9 MI+!P_ISS46F(7RNeM!lN`\0 0[dd ? :%>RGo^݊bY%=nH:]am-u:e&Ld PaFYzT2}LҤkJ].LNF ֜O.Pe?%y5cLe_K-%5:%T56\vSrWg2礖ULC}1IL 5!M _nm%mc)"p.cQz;IdPCB q~Q5fQ%Vv!ɨV}\2YC渠cl;"[#n'9 f}X,#@B2AJGBSunz䝰QDuL]0 Cr\ ҉j1G%Y%\Ll ^iԙ6'Z ?bUWZ"wBɹFi,2jc"`~e]\թ&f>%(cfB* NLC 9JxNX6![g%.e '1:b BkfAω|0Ruh^x^*':Mh|杋%2+>:+$JjP8]!'`_^ kz+j-#ΣԱ+mf~` Z,)nPI@*-*I5YT[h.`!#޽:El+p^lb,lG"ϸRT9l#]%ll\+}~*}]~"jzefx葾6!k+h.`\ ̺mYbnު \Kc꽆Mjۖ z9zn A*Z~\"E. ZBm%jg~n®Gfik8,6 |"+#]rZoo/+ٮ䑭jiNX&罧h2\=^ZzaŖo[莜+K| \ZoR|nc#rom0=N ^^0ŝ/|.-ƢWp #9.zR&lvo}Bm]rೞp7iTC-Y]o/NC.[*zq9mk*qj)^ 2`b@[(7,fD vkddF++B4<33IQ`Gq>*JitmpeWF‘@>GtmKb fK,'sb1k0nb(*K`+H'IOV9eRP) vM!pn%OlBӳY4gdP\tAIh:_gF7/Ҿ9&cgƩ1Gn5=7!C[GgQuM`bg:'siD2b#:;ZpmkJd Nγ3c+kf Ud`99?K+%3Vw%3 f1c#\w2ok"Z/Pw"5jBrio\$T~onWO).w;M3+vE[Ԃ0o3qGsC7Savo1x[&2KޯylÒ1[f틤jQ$8y ,b{2&,dlf4Z0k'y++IJaq4'oN Bx{-/O lxkf1w6"kv6)xpաޢz &8CWzW'.o]%Fnv~yf6L{VCuz*\Z5;+F?, :{* q;K,'ڶkCt8s:Xs(64{"K,9kPQZwʧh&zv˚]s(3<]&.zNϬ2o{/"363sz ˦SWW"((*/`cݝr!{4r# xMsA}nnz(/!NCl5S~x̱4;_y0˃pڻdSnϻ܃/cW1}Ժīf#Rc|S8"Ͻ{~PP[cks{_p;q˾րr???a 扦ʶ L HĢL*̦ JEԑ!R +~$N OKo $,x5%W'9IYygx(WHV*:JZjzcʪ闵iz 5 u (Rm~nyMMM/?O_~_^%V ɇ0!}Z! +Zd0F Ekgȑ$m}z݆uMoq1[zw|Bw,(ȃt0~gx-e}Q're7)fg-'b2xؑc,#1*?hDcR!c h[#jICbڸf9d.9drh"٦Oa`awYƈ0޹Eb('@⛍riezh湧E}.6%rVb9hvJeRZ;露 liZЩ* zKfqRj騰鶠Z'(앭B꣐ઉoZG>:;+=~[-r$Į]Γ<?LNQg(\,t@5qO<z`6rZ1us6L4@{%tE/mR%!RtTP2] @3a +qA bb ErÑ0>D*Q2}Ls S],U1WĢr.̑D!6)[×<'jK\*:N"yaHKWHP\b'! IJdu~It+VPS|HQmBeT,g=By,SZ4jKRR.;* _F0 lƆ2gr#e&Z5ش+0γ&ԇ0HLSd^?O=J<(B2n mCn.(F!z7n}-Gpϒ懶DAR )fJSԦĩtz>vԧKPGԢGaR`ԦRITG,We`V`ծFXuG"KkMԭX\SG׺uw_^u[ _ X:n E5ZXŪ=9ـJ%f7>ŲK کviPSY&{H =FӳKp[|{Zx6+f5mtV'*v۪r;^-׼CsZ5M0&(~/_ވBl=k.!]0S%9 ;b\sxY[Z^&NlY3WWŘȫolx<~j yD.$+yLn (KyT,kyD 0yd.ό4yln\yt zЄ.Dsϭ HKzҔ4bG[zӜ? j>c: OTz?f_ X˺Σ.f\z׼Vr{^ {.+{71thK{Ԯlk{ p{.ύt{nKw{|{ o~{/?M+| oK|2+k|B8?l$/9iS<=x_^ !NJ.ꙛ朹yh}LЅ@t9ϛ@qk}d4}I'pwBG4ANVY2q/|i:wN/ء(4pp>G_0d䑽4z}&L`ﴎE2t"/ɅOYb~Nnk#]݉`w[`?~@]ԧ_WovHI,MB)0B:"xG|AyX&`|~|CF("|'eIFq8&ԔLwrsGzDMd~|~F*餔2ܥ.Z ʝP駠*j!wjꩨzg꫰*무D6뮼+k&6F+Vkfmwn+k覫v+kZn,K' 7G,Wl_wf $l,0,4l+*@-D_4B(yegk2ֹ't)]-RmlKR1agx[Ng*zu̪bEmIx~YkRu]w!\լZVݽm5b:rXv %;+vJsfU Ԇ)m & C`d%-ڋaֺٻYRx}\q@!(CH̙f8L.s eMQ:㩄?l؎gSLaZ3Eh >r:יjw>1jK-g֣]sc. LiVKFMf]0eФCg0Guy ֫nu-K9( N^W+L 8o-Ehܔ5D[zGFUqt7Mo{+;b G~qaJjڻAfsmg"?MƷ=o9cwͭo< Gik[Ϻ곗 f Î~9obnhxW;%?Ǚr'궆Ԧm]Z; Ayy?glu/MwuC]ROx[c&8$?-_e%;%?臫x.gp'±-j^ Nޤݧ|>w>u8#g6KM 4^'}Gv8{5 v נZڶm=m?mx](hX%v F@J'T'Z[ihWX_'ȕ(]>N0XX9Vֳ؃?؄RWw oZX@}s`4P&R8 % 3x\fI\_Erh+xE `WMT(RWh1؆nX|q7H+cEÀfxP'$GxB/&(XDTx|ݔԀsp Pw#bv؋{OL%;f8Hwxuy،JX(X=ܣNjrL%؉h"Ígt0 HhDwXh(WG ~)'xT3eAg2=8Hf4TW [g3DЉ8 9?LWt1`u'IWw}hYpb8:y~wut-g?)^N V؉h^Ȍ99JyvGrnwt&ĴE@ _9e؈x6@5sN0j IB'kWvy\LO9 X$@q`R閰G{s|lyO}ɗy HiwroUhuGiF@t 9) CICArzwC `ٜ.DّD'#⹂\ԗy1Ԟ)9,Ȟy逮ɜ) Hh)6)T]Ygi̹E L )i @לɞ0!!]蠄@$xy< B!IygPڢN!٧Ɛ!O Fh"+6rFl){<Բ. 9yʳ@鳷9yjM*HU  ,t phjl۶ng'ǵJx 8{'\Gj8 y˷H}dx}kJ}b۸8sn0|A`h빈 ˷p r{; ;Ktƛ뻇+A( {Wػ۽{ջ+K5ueK曾;iɴнл|+{뾲ԻG\tN[S˔~K k%QG0༾ 1 <´ ıԿ  O\ aLa+P_`|#}+ǀǂǍHBM98wglZ {{,ė\ ;g ;,qu+Sк{ʭ˺kǯ캯ʒ˽K*d#w:iG4`; ̾U+;[pl붯l;[R,@ef|jjfBwBp hj|+rWɰ<[\LL[ͣ}|LçlΓ˺[{WHP3N~tKwpypu"5 ͤl,%$'ax(N+yB^ڽ,z klmeK~W|*.s]NܻXܮ(ͭ-N_6NG͔g~W:CD[̷ ڠ5~ݾ<5 &`Ne^ڦsMQ[YkNyجALȾ5~Њ຾^{ ե.U?<^`߱nn{\^ |}Bc,^ڮ>>xQ%kUpAʘǺ]*7JS/tJuioC6A*?֮ZNM?_P/Ԇ>Q[_ (?>_^ou/u+v6}Ɣ c`-%Q_LQO5ȍɀ֟ ` ):񫺶:~]ar JCL"O : MlV1l>5~9nAo_``.,XhF A-iAIiUEr~).4@8JPCbTǴH^Ҍ2yEjͶ*8>(.dңiX82i D͎,F(Ε,r%˖._D\heۦM0*r[5~3:3)Z@ +v,ٲ] l=C_lZDP&-&@Hь1nT#Eʁdu$֒][5J^y$cs5LF4y^,qnPf6>G5?>H7!:)0& s|˾(3VW>el>Oݫ j{v?"?)GA eWE% $=ATP)Gs\DV9Yub{--A.ac:ǟ?jf@"H$[(`5՛)C8L8Yfa9 d\`GymVxfj-։^Kgt gtvXvvZZg#Edے<`%L2 _KeP琓t$Ih:a/k8(qwqޤ)|x:2먵zyEQXѦRkޢyb#6 2ɸH EotcC$,,Ry9T5&+jF[,Ys !;J^߆rb< x/\2 2} OkM PDMFIa$1\asY7t"qލͲLr=.+Knw, 8ݸXȶ'&)0q)@&Lߠ9_0F~|aVb!R!Vk<xK(;h71nr<~c-EPR o3 ~)Z/_gN&O+'wyװ3z_'e5]?x&VE{渮0ks0+yϐ.2h(3#:Ѯy4VE@ZNmP,^d*GCk0ÆeؙW_dx`.b-x[xe"%gU=aC Ҟ6?NbD ECHh; 6`-kDL6]c:1y< S;=FY" hwgZTݧ ![Le,?Ҁ\NSNGA)e~=FՅm!/}vs >!6ŗխ,jwh;2Ўꦨcq=62UՈ:ʄ*y\$]Dd \:ec ` Xb mY \MRcBKuY6%fSrI9(HHG)&'e)s !Q5kbڕysŠmZ¤CR`} !tTPVy1&yB炚DD 1ܥqM%1Eg?]%wXhp16ہ^yha$搃_]^"]R *hVAU?"^"R6B)%J-{ΓjY%(>Gq"i$c@h#%Ƶh©ATa"bm.'Sl'QfarfB枂飖Y;fYt-MS ?n[ PѢa>&* rBir'%yZ0)%Y^O dQ]*%#jj0LNZtx}U>~ieh c(k2+Y½'skj_k>^e !])Xb֦bxhj2i--PAl ޥ[u?ZY+Jihq5fú,i}߼*>&ސ ۹hPF(wޡ +a,{12::TgZ,n)om}*FYU$2d!"2.Ӻ-U ja*|^:L=]Jنc$my>H n%+Ӿ?TFvD]MAG/],AݨoݙAk81š$/NVp6~ x XȢĄm#e~nADZ%h Gf-r`3/๨ j *Z+x൰r0òJވBB[!BCq8aV;uN5-C4qJ4Y"3ЀIJw Y[d#cvnRQġm)k=y`>s4j56JE1U'`7>uc5Vs]Ul50(N9 i2Aefo6V #q^J_fƶs*0^f0fg<& cn2d&z(WPH>tFu1KIEu1PGFlG_x zqw}۷FOxOP{ MEg@rnq8kBmIoB0:-"n"'ۂSGUeVRsZnTeWx]+d tQ{LWxYяV>qd9 x,yM9Vpbpy{yys"Kl>^vgKeʁ~z :uuU{eCcCd/x[cz'y:8iz[:c7nz93Q/cӺQ;i ;z{:3{C'/{[~D{kO;"lo{gp{{3;'˻{x׃㻪3<^zW7d|WC+3[=D|_z^Ƌs|Gȫ<u{{|||y}|/ C;}( 3}W;Wsc=kw؟|؇/٫̣ڷ}Ͽ=ǽ׽߽}|߻}~/~7?>G~OW_go~G|>ٓ~ƛK~C곾ջ#}#<~{ ?~3;>~;;ck?sg{Wgÿ{;K?H扦ʶ LbTӃ AL*̦ JԪjܮ NYAöq(VhxfCSWd0Xiyɉ Hw +%Zk{B w:$s7+bZw=][&ڛl){.:5ѬG|ZZ~92ݼYfċs}9=r=;3s};p\`ۻwr~q'_|/_]_׀`qʥn NۃqE(fYauhևxg$bebs)(يW6%R4wcS娣wt>@NOL>IQQ4eZtLYn fH]efF4He?iVfr&EqΉjutg~^'Bp (2 gβhIbD>,hr)<~J%3jr*MTrJ%zjqk7 2kj1lPdi>],uB-Rl6-*ߞEMYF ;mK/u{"o( m LgVCkm ǻp"O l+zꪯz뮿?|Ŏ{{=;{|s<۾|OO}֟<}~g,⟏~7B~Oo?S o9D`,*p lJp/ jp?p$$6Rp,l _p4 OHo<yW qD,h$*qL,(Jqf{"`\0~ψF0llcFx<xэ|9ބtX9q,! HҎ}L!u&I1X2,)cC-$$i:˝r# !J„:RG &FKErT!iL-ؤ`>RI p.e3ωN=s Ʃkf!ILq.!$'΀ Tnܧ7Ѓ"T,&IJR;/wyyDCyP]&e9:Дm BO!I#lO}8r2Hecy[SJӛFM*.Y$Ht| GnC-jQqR&[ˏvU]Ujs;X):ϼpT!5\*ԶuNjB Yz'WJkf}%0yT>vZ5?ڧ޲ jG/-It-+4AMqIOQҶ b!ɥijj 8̡\pr#,aN"9&!H*Jd=bsEъ` #@-p@#gyXcHG{2>6O2,XBrwະ֩}<`'Q̤&H-;'^L*I-R##H[RC$@wW@pD\0ٳV2qr%,G@54 Kj)kHnzsV$e`4̴%4 PjBvtCo}5bC2tr)j.eBφ:dY XsG37L<'O8F(M"K68 99-MԖDAE*?03\UJԢր G/ZKTթKwrn,%OjԮzH(`9RЋ3[WU!t\\ꇰ4/u@NJvT5 "CXU+`רegHS&TCmhUؖF 4T'Nf ]cgY`vmhiw4e'f=J՜4,\:t\4B(y]v)gKbҹ'to*tr.f_ U]vo5)sKa1SGgNn ڶ^}g3~(uvʕwC.Xv9ku^ %/V)UmƵ0_Pseg4++$P)X Fh&&.Hr=IK[䟶8/.›Z5/kl"kN2e{6pvg˹+l&6#Zo6RS뤦ZscwEz_vy}~Ch7h\t6 o;[ލ8gi~q_FճMwQJ? wypk;4mlO|Ju}KC}t\AG=ht6GV#v獷~9yNv}2y-48Bz\܁-: ^us)kG6_sp//ov̧Fa7j57(G]'.m:κ6˿%sS?}^{Zbg6f1΂t0߂ocaWP#cxG@h';bbG6^7 (6Xׅ^İ wM^W``Z؂ ReX[6 w ׀Z[tacaa.8]g(DIfLY@J)XfEV4е&(ԄZn;Z;kxh4uN[~^YSwixAX'mZ|Ca'x@cWlXP p EXeh4T|bW{]]fc,ȉH+a(ÀhshR68x,&g(x~H>+x`BtO9x(( hoڣЈHV$JNqƤTHK=ȋ؏9Yy7ӸSJlxٸ|hxbs " P؉)u'H~=i98: %I'+Ըg0 H9DX٨yF|6@lVy8ٓ#ǖ8H8sDiX; Sdg~R!MȊjb} "ZIXT"A)w3Ԓ#x 8ð=nF&{Wt)9i Yp~ɗYO Y`ywDf􇖽Ö_7y-wwQFziԙy9 T)靶YkmHlwTI{JDT3g9 e̹<zL}kDiYziZv9٠Y~992ew6ryTKT yĹ<dz{nj "z@JYɗ j2!: wmV)JJOd EyT)ofIGtwܩMJQ9B٧KUW w7w>J<4. /j 0dԟ9Jmwz{GyTA:LʪG ڨi+ ǞCi) ɚЬ-$fFz;w&u zT:F:jzʨZ7}W}z:.*ʊ٦+w|ڪ)CڰzOZHʠjNڭGڮcd藯f)1fɬ,:BZBw *#62"3 0+G<ӥa92H0EcIf.ʬYA DR{hKXa:[ 0ʩ9Dyh`H2] ) &`ҳEH-˵ffȸ|M2lQޤKFۙ{TغۻBĺ[wNײEۼɹļ[C`u۽aӫͩ[I*i?۾[ ꫷eR8Et:9iiyk D\Mf/ppj|jyewgOv0/뿻ؑ *)mi8Å/,|Q9 7~ֶ[Zi07ו3Pmm̖wY~Z*wvgMw&yՊqzn*p$ȮǣxLgz.LJt{Ȑ\FT4yl. ~}ͻ q,-\-loM}g(6)=g8N4}mW@>]@~J.K2LNNL?\30n׼sb>]2.j&N( E @O.VK LA~Ln`2LQLQOnhyN 3͐^>n FG>n᦮G`RLR~mmjl;>ikˍ }j,n9~LC nI~"yLH~nz_Eۊ( ^~>]}|x^.VmXp՜(}Tu?WP/0?/H,4cdnĀmcn>>f]>I~ QOnަ=}ڹm`g.c-KT~O뉮MMimjmMDEn(k_ٝì"'zӽ`?J䆏?N}L _PnX-FAmL*i)Et~n臮QQO^^mD}FSM+=6 8yFCz+°r]η@A H3P)29X~EƱ=cNHp l5=szTQQ!%A-8>*D@>HQ:jeF ᨌD¶ȢΆ޾⒔֪"~*6?.cKzv{ #0M%c\/Y{닍%Ks? WPa}A|Ȉ'"2YJLDōX4^ 2X(gTYJYb2cy3ʗ-eifP[.{LzԗNBA.Q/=1 >3fCz_Q&홱t҅#8eĔ#B*Ǫ-nhZ>UtUr5;kkR3%4qOKgU*{6DBhm* V0Y#3Z뒨w`Ur]1X"2XbHb^%~"v*Bya=seQ ..7Lh@:z>j Q"өUY|ls@\3ojmaIt%"u c"u'`]pjSI9bcrmMdjWz%Aq\W!JtkK,?ru).ѳHi6UKגiinu=.Or q9Y |+p\78Eq5&}E1-ɂʶ w:sݵ_-۷nju1CLkZ=rtmI݈c]#W[w}?SacGAX]cSvo/WwI~, bZθk a|_{sWFY!יN.oNn +Ø]Y'8<5;_SOrY a.B=@')|ŢP:I'}4H' PE k;FGjEND5T4.5j01V(_``2!c0P,FM,b3!*iݮ:&u,WyqS5A0r1fofb8=0RRE(]/Oi %mdfSH?H:M  Q Ba1KC{Ь:+ԙLCi`L^ M{Z+wFx;k_'Es9C \dz.9(iGGF$gx2qӌvRWQ -v)Ē:qOD҉ZtƻȎj<-G[pybV2Z}MLF>IxӜ!/Hj2&z_F!j CĨPΧ$"W|BCD)#@ qΆ`.s; 4A?xۉE$th'#}tH$5d"Wҍr5T }9 -hFɗ)Z e:QLct$.ɝzb[Y4"KuSy;α2kld!5()m*SpgICLm44Fi3f S"%$Qx=zc9:޹~BW1]4OcE6M*혚TA5Մf:`]$b\].O87NJEċ#5) S'^zS%{۰CxӶ7 p|pH2|Cj5Ӏ*H]Z6TcU#l㸀a-4Y&b\'.-dӍ5p.Z2ouDs Ys jn[-e쾉vyeAIPF9u/;ָ˂4KI- |U@V Ii3Y{9wMٟ'#aeg+4[ju! ̔dlWߌFFe-x BP:Ҟ b!p-"n^ܦ:gr]U_N`+nS[R[2m{KO bK>Zmfǧ<8({w0m{c<:Td~sxPoKFdnAK`{UmG=9QF{9S/j V9l{:-6hK*e^p0ngGC͙tpOX+ޯ<; eH^='C؇i6Op[^ަz>b^}'wiQ:|>^#<2]}'-!ߍ=`43,mxղ>fk db]ؠnA#{N/\:sYsxhW??B5urNڧ恞iWiݞ_@YfU #_VEҜ9]rL-MMQޅN FEДWӃUĖvȉك[et՝Ԓ!uZ JΕߩ]!mHB (FEO2 j-teș:*Y] 6A`w a=[nXl",2! "F#xTt}ES]=&R9ќ\bŹ$B恖1ߨFf5YuRac*~&h"8tI֕!79k.V\%%1 lGyvU?|bpF e1E!t>#3R ie_)bmFAdV: #m%ʈ:Z 0F26ho٦l%h}}E2n[Rc="@`aÝ2Ғ&SV&F*4ޠe-nez|t)$IPޢ/^ha a$?OKޥ_d`F~]QAUh"Z:R""iJ캠DF#]uN#znjb)6o[#ȹ%*:ȧZ^on/iR F++eٛۮ,2rXin^6kEfea ol 3 7œz Ƹm-C"+Bp(&fm/o"qg!6s"Pne^fbCRsέ"Q{N%qΙvrop S2b 0#,l>ڦkD-Yb柺6U2rvr&qwaڢ,e%Mنp.c:q oUkN'zTn##W+hcŭ~E쥡k㮓f܂EgSmי/1--ӡ8+s"a:)0S.\Bv3 + q͎@/@os^ KB'HңiQJc6e_Bikd20@`2)2 3{1V>e6(+K+B{e+4CJEt1$}fOSz/q*0ӯ&c1D.j-n 01Z%I[g깟UZ L/tx 91 b^euIjW 3/e ;&',"\o"*W,g5/޺-` gVW4}!Lct~ CRp cs1ݳffEiߵ@Safo5XA{s-4xrUN&Xf[>IChZk3kB"w6lEsi[dUSBra$vVx4Xx"t¶[vAȶ,25Hp5BkJr:s$ȗ~Lwx;1pzlں&?6\糆5e-p"~6VA_wpp9a/f3_R-.~9N$#h];k6rslŮtp8yȱ3&\k.֭q_meH2s3u[ά/&Z+3CsZoޮ*" _㌤ ;ε>:S_1w6w3gq[3~9_z+LXQ4+126W3HOhj`K[k/^:wqv47{,69h#w:b-;@8_ٖ{{ԢW]G76#r.!2)sx ?:{`û_"ӹ/}[KxrpgǷ(*2!r:";wKyGٞJi83o;nqN2~=8ჾ'5={l{vՒ~K~*5ݛ{F>V.G/|7|LD #+3??'b[ck~S3طTsw'?8YzF4k3- ĢL*̦ Jjjܮ d,-:`휳|z(8HhFsv)9IYiy9YIȢF);K  ,m:5ժ[~:6ٲkKZ9(Uwt»F(_lyKt8s[{hGpT71=N̫^Փ]DPĀv((GQgcAUi X@Hx`v1܆2F7^w:(gըw7X㍥x z9"2 %@&$%tq)ڣ>Xaycjɦ)q~Vj(vye3:uۗ5wfp'yBi蓈ҙ8iTfs*9WwH~?(j9h2nXx:[uNK+OzIwI +(2;릅.>9 ( $f϶UI8$l.")F;(TnL/{-ܑfi~/̑ʉ]~C 3H:Ktє4:Gcw؆5mZg^w xF=sU=!jgwk`*Zvv6Zh{w~Y{wwθڈkOME2?g9Syw碟.=Էsz쐩>~2َ{z>O" O|VOPfO!O}ZOkη=@؏~=J~ϾFx+wJLվo+`:@$; | 5$ Zp64ƒO :% QCL0& #1Cdl ֔/XOҒ% Ȯz,dldRy/,e#\/D<-u1YDe$iNcEӬF5qMP,P7bkT,U*euR ;D" h>LC4u3Pɡ-'YaK'RjT%I?R-iJgڴ8iBE =]Oԡ*oEH<6ςrJmS7s?fST*jq^*X /,M ՈpXHֹƴ_^oܕd+OM`X6"%ed%;,(!̬f+MҳH YѶ$جj+Z{cMk=[̭vpA[6U.;[6]nl[]A ܪe{)jwC񮄼5ohX"z^նu[WEy|/7Pӻ~0l ]!68-`_p~ZC BG@]\Kb61gaoa"0},>&Os xVJev9X0ߪyj F t|^0l}vv> rwwMy$~ԫm'Z@g)}ЈAsڬ#HS4?{:JyL@zvz$DljyϽ:Qp_G?_?{+? iXggG䇀vf~UJ"'}Qt-֗y0u'2Q|~ hwrFf ~ND*|J}~Q"2&pW)xi%F+xւD-$3(NBkpTK҃C^xrY@8ghaej_(q8l8txfcmK-HPYQ|SN2/xw e||ȉ"艗Hxd8( z#3O1QYhG{X4xf8Ewsha؉jzחWhɨ芝(兀hxHybpUrdr lhgȏhIxh8x! )~8 iؒx؊`xs،؇ux< 5i݈lXpvH9*y,i 0mMhX[)(n#TmZihfɕi{"0ҕs{ ld~tɗrtVsG}Iodiކ阏 m IvcI Ǚ*)Ii);W k6^8i$f,7j5~6$ef,./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetalc.gifrc$$GIF89a𠠤,pI8ͻ`(dihl6 tmx|pH,Ȥrl2 0kJZجvb1xL.,$|N~lo{Q ? o an|mPPĨɬp62{~3v87J@Y%(={0(y;IҚ? \i06`kFr20";(d"ųӧN^H BUpdʜYs0\E3RjٮKWztɷݷM OR-Pp )$Xر<)mv`= gs 6  ȸɭ-mk(βhn׺ju_˞wv:NSI\aUߐ N<lNd5'{t¯KWhir'ށ[UAZ5^)]_f>)}֡tMgjam&b/n*c5Rc]g{wrY[)]HX]j>i`j}U)Xcd32zX#dwL圆'8fc~ef.f)HIz JPpΤBXaJc1*P|j꩗|ꪬ F_YY%JꭸzX믶 ưk&86kA(F+c0K^ܞ`mf +h6mL2TڛAUSv [K` S  cp|7x6Ztc0<1S2l3 qr4gK%SsnsX-+T^]cUqo;v Kv[u6p M[)EtHq a}(ÔZ#mĆs,{{ CS=yɋ4i3ɷ~Cϼ^ؼgk}=zK^м];ѵac=;n}JKs]|_5:qc 7΁UdE/s҃`(H6/|` x:y<4E Fo|>Z8 :舒a_fb.="3w`<#!!쬘æXGαq$"{<_ל8 gЦݍ_\v'~kd9%Nh!fHNoD_7ȵbLEkWR.]+ /g3@A$%y 30**#iX운4A.y^8s\19w0|JЂMB1'8mJъZͨF!e HCʌ"-)JWPƂBKgJӚ8ͩNѝT>=)Pҗ”X2%RԦiSA:ԩ.TVQf` O*аVug VpkJ{ 45U%ak*dGG}:WS$bujbX@zEVّ8MXڕUf9Y5 NGۆ҆SnkE @m#v׭no$zQGH@rwz۬XQ..qldTl2.U2f 4 pNy&Zg hqh ]po?lF J?3Vq ๺Bqr+r1hjl̀hx2ѸF+,@c Rnn:DM(s,]YWќٶ8  ^76.sZ55 wƚ-]{ 0@R[B.-zRQC!m|y!lXs'*Ŧ ?2\ϛU]qۼT+Mi+w3mg/| (Fg./Pt'8@XeL!(.G,ujS VǺ&'z'.+xaPv-ߝ y߻s^[:bhʧC_߮ :vj6Jw'4))txЀ՟-:0Dt󽬮x7LR68TOW˘;S]]s79Ɔ| z}'}W2gؖyRƗReR%yvmT DfwZmEu8kbWey$xwwu.WzG58X&W?fhzw2s76XFhsHhlQY L(q"( W'DUqWp҅8'u҅O8 h 4T7ֆnH|dRxK%s0ćhfTSW}/}F1mTaBFHSJ4CzHI9Df@Xd8VxcT(@so8FAvGxGU]QL:Yd9U8dF8dX{(ECݨ?iHku؏'9Yyԉh> tqT|y Ҁyz45:(88D(4Y6yy:#X5(@VDYFՓݔTTYVŔhS`XyY_"gؕlic %r9tYvyxriɕj'm9Iq,xĒ CIYcyihg 3vr0(W_^CIafg0v,ƙV)َXi`b)6WU(b[0)*`]8Ӝi{Y֛ k@Ici,օə&_2->_(C4yuٙtF2Z^i>s dgh_Zm ݩb Ӛ`Pi<{HJ𠊁]ɐ]f]5Z]de:8]6j_;=_=*iڤIu%?2u2Xee_?khY8)ljkZ__va>epʧL꤂I^"`c RI,֥jzF4;6]`z0VaizEZ\}jh {ʪ:JP}VJ GdFp++J,0^d;pBTrI̸0JcͿ?ޢA ȍZ"{2FOd<I,M;2GN9P<|ͅGg||`Gvt,1B?$B%)ч<̬L{)A]<(!uT۲$kXD؜=;n= LIq+2ZԌU{%]:d J DЉ2MUkaC*m]wVː`+QYҵz.k]w2Q+ >ے܈=kSYѕ<@Ŵxcw&M<.mFݫպT۹ t|Z0LlM*Mݾdם ٭M#90~8̇?bvIҸ\TbO\̖- -nᯬK- ~❅H^V0>P/ޤ :h9@Α>A^>}i~㧍)fPNiRT>V^X~Z\^`wT>.QeKg^]iL>#"mO=hNu9Oys}~%O.xd~Yvv4Fl$z]=Ua RZQB~N~,NaU泌5տ r{.곞 .gުNLtm0/~|\Dglł]=~n¶ ZKF6! =53롤4n,zA[^J~Φ$ې%͎.窤$r<%,.NKÓC>J1Dd%d*?,ִ8jɒ̹>^d;AYEt8@V2ƾ齶e>kmO\Y׾IgҤTiq/_.͒QpWy[:/>]!/ 8Nxo͒?Iญ,!n>WOB>(lPOO?1orΟ{$үT/,\i/"ino3/aI:mWg}?1DShLc ks}{0C! |Kf$FCf[!6ڬYr|w۸5~Sc=ޓr#tCL$SaS ,Llӄ#la|<XHHdE,ql2Ŝ5 峄ݩ ; ;\HYfmv$=ŦѶ"5K*(P]_v~&|u)tNsU s„6p1\XU1kwc"{FR 84ؽL!B 1&;7wNkB4_D`U>I̝x|24Q3K=Cl?8siNT76nSVXq*0b`ZhGnh5UPDe)1LMka-L;<|W5iā ߴ{Ҫy8df.76(7t]6OݻtWKohnx< g|s6^J~Vy_|m&L>k>'8@{B+h+|-;vM6p2{cRAZT鑦Br :0RGܑ4SqE2sQI,C/=ab-B7HB-tm(Y$<'srLPLk`Z/D@3;Rw=?Ԅ@$>%KE4%.OD4--EH#]8*LRɔt-P![VͧNF ݔT}1TgM])U'yvGof_ VdͳU3sA1Y'DG7ɖb?SfiOIEM J>r.ј(ptvUdU^7 1p7s2cm3XZlpۡ&h;cK]c[ԃ5Q’W;Y+R0}2̺(2T]-wy㳰r@OD{;Diθٵff kp}~P_F"юx%5F7պU>qn59hmB z0r#AA1JX+da]τ85 ` a-u+Ŏ#ԡ WP^:ż#1C~X5M˙aW7s9ö\C`ոOd_ 퐶|=Ab Y@N2'`rtqm϶Eg=[Yܹ4g>/0ǯ…1+MF7+ܟ}YȾq!7};'6SoY/g?&E:y.ԃ=nfְc-Ԍ\rUm9+Y{qiL@==(Ө;9"#&c@}.TB) lj>fjXFSFE<\C nFk)@07:FtWD9l\2;;GY=sF|G^=$ ^_[D,/l hLdESGc&LDR-[钎B#z[\NL 3 AaiKdɖHȈBxt=Ê &¯77?I,6h >H(Ic:K(R*=i?SSqmЙ:2-SQ RXO?Q,R"rE+R͞,UhȦҪ)R(3e2e 6͍m̺6a-n‰N U8-Ai(T=tI'a> 6u;L5LJIS<;?}ѨTIVTT:2ۗ-iç9]!8U0AEUi;N";K[ݑ buk-=lmnoWML,# Jh= ?WpUy?*{zm}WrEC=uqmI(؅U%?UXX%EX 9Oّ%Yeͧ1Yؗ}X?hYYًEY#MXSi(6ZYcФ٥mZ5'bqZ EmZXڎUZL [[8۶%ۨ5[Zj{\ؤY(ZuڦC-/` mM[íG\p\ٮE\Εe\hS ]ubZBRHݰE\jz_6ݸ\;%+E]m+#p])^ M^ RR[mVǭTI(-9]#^u^]YU#Mߞ]ܷh F ^}[ ]^%q ,U] ].}`u^)^ &[^ ߁;฽_Ӎ_ S@SV^xa Na^a`[`^E`BP`8_GHb_(.(_*^bڌ]E_)n m(@%a6f#&~H` ΁c\3?uc0vC >ܴ_Ed5I_"d'cK&m~d:%nI]Cd4xXe WE6'[1R.X^_YabdVeff`faf`h]he@ff) ]60+?r>?&srg}ط#WW'8GW,GvwGp(z)/w7gwՎ; kW9i$! 7j5~6$ 7W! ./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetapc.gifrc$$GIF89a%,%PI8ͻ`(dijlp,tmx|1B p*Ȥr UtJZجvzxL.'Qq4,|N0H |xc8lj|~  tDB{} /+R} Svȶ̌zP uӻ}  Bn߷,.d K)]zI1zhU 1`ɑR&\in! yY A[CM)DyG!Sz ʲ(7)t悋 $IʬZըWZ9dqͮ ,h+vݩ(֭(VhEvᇸi$hb{","|)h8xы<+&## H&Ib3PB*)ؤ PR ZIcY&Yri鴑Ah)'y^: 9| ؝b|w Cc9Djh<INz)R)i*z⩕*Xj+y䭼.& W>kv*,Fk-X#Bh+k覫^ݻ+DBoolv pG,Wlq_f gq$& #0 4?$s82`I1fF`'ߜAH4!4ӕFT45QOW_R[m6:zJi0un}M4C~ DbR}ͱݔ=CՑ[>5d㋫4暃J߲~yRS:z>3RW}9UniPz?o;׍i\Ͻ.xޞγ+zvM]=L(h!4#HA 3Aym CHB쌰(L S0ibHC$8sE@, !F<" D2,|"Q()V!-r,NЈ71V0+a&?B Sc wo \h@:R0=^Rf&2'ѐq;G{'3A~y YBI2Ens4Y3R$?YqD".s]҉e)L*WCO3e֠3Wπ[3#I͊eS3(T+W>م/|d@SxD@Ul;I6u! sLAn~,FهLҚ\ݨVw\E:J5kƺw˒`-.Sw˛\_S_Ůk=סY f'M%jURo÷k([: tGOp^]qe3m `n\!=Rs6edYSTSٯ4q&˷) G$x``f7|oɋ>6 hf90T,>rk7uX:hYN7НD/D)3=B I?Ϙ %5 .>T|h9c_%䄥bY~2ڒ,.|6}m2fp]> ͭn'71yf»=}ۇL7-pɻ"8s"#S/3ns B.rGyU~qSep#ǹuo>oF~nᆺmcƺd7JNd<cd&T ?-಍ lz50^{vg<Ƽ3SsxDw6諹zټo\9@񪯼]ևi>%poѳk4tyo{JURwp)I^g.<|Xcokݎ/?rfW4s~jOepB'H:d$b< {$_g'g$gF|~FcBe'y%zF*f'1.wQcyyBD< zw"%N؂P~swQwfR^bh6v'}fim(G%EeŇ\2Xx;<  kZJ:i$e17j5~6$#fe1./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetcad.gifrc$$GIF89a𠠤,pI8ͻ`(dihl뾟3tmx|pH,Ȥrl: جvzCznߝu~{ruU  Au ftަsTTqusҴv84{x*F.8 "JsXjV i)(0?Ґ-Ŭ̅8sjဉ@+BQ2nl,#KҜ*yڬ}\`YȰ#GCʌNEeI] F …1kr䂇s,算AFB6iÉ0sn^$|lf~w=!'_^rϕ+vQ(PDWKqhI3g aUS֘"raHci%&hfw^lUXyiH{ח2'1BnIh6U}"`)7d)6i1y[̕dm"6Ds*g:髾XO֩R'Aw:;:̰& 4۬1F떴&^;R I˝Knitn&+rmヤ ǿ,F' 7?,Wl_w,$,rER$z1Fބl2Q3B/X:.=|+9;jm@xDi\Tw5=Aotd,vڴR sW8B\wu-0}5؃ ? x?ŕyEL8_X9p]9|K*Wn䄢_ 3FhrE{j朇9 0mj^F'IcNVCn|ǟ~,̣u˝>s>Fw #~u_3/W7yOk,%Iml8ݭz_ 9esS`h=% r6 P|4!yf'яz: y ";ak7lz/Z(ѽPJ,3揄T G N{kX bnz^F=Qo2m.a7뉑yfF(9)!$#88R %48Јl!7/$U /E~oy[HEʑe Q;oDcBiC^w% {GS;=Y lh[u 0z:ֶVnsc5[}\h[[.2mS {H5)TZ<7@kwkc5 nw~B<æUnlWёCffX8ԳefSr 15pwӛN 1G)3ns_p{,|$gc sS:~tcp |}0'~uҵ?&^R>o7-5yԩ~[h㈏9NKi,76_^Әv݋tе8 s~cp.Zg *`@læL 6գby gIsVp\/wBDqY5S\l@Ĥ*SaL2Vnsg,vw\Z_Z,\\,.L~[|Kw%֖V+Tx)͓PЈCmSN{M(C ʤCnL^8E,~H=vI?hN0 H;f ''>ў>>^ا.¶R̒·^y~.+ȳᅗ.ʾ3~~l˾W^Nj,,>^~C^UNNd^P MOPSM//P??0O[p%+o O1(11! >! `IjQ5/3M?O+-47M`PCUH/J/K ;_]70>E$E?D \obC?NO^=FД7uK8n6_&Xq_P$B^Mo$c^ϵt;?s6w9R,!x?P ?S~N_n>\/LF_MKt>+D:w$4@%"YOo]{_tӔGHLItHkT/,YoC1.ꤰj Fyr@Oj% &|AQ* S Znz\Lq`.ynUob{s;D #b!dJXdtS4AR*b:1Z 3 p[m#+kc%2NVf 9\)8 Z9Jt ƒm=ʵ=kcUӐkċާpO `jBFH(QBE4<8/w`ܙ FU`*{, wDFSg!)g*p"*h[(MȁdP@^=H5(֨dj5ל`ZQlI=M֔ tk6TkL/;ĸ%'D\Zd{&hfM =ti֣Q>Zviky[b7+[xpÍG~\yr˝7.#->?-il@kobElO">]k>Ь0j-r.p0[; '4 /B+=f 5C`"/Bk^#Cfq]̲!m7.(r %$([)#pp#QHxBJDLi|R5wAd4qF d%7>TБqQGtS9l'6!ELlsD<<2?k%Q!u>bgD]HYW93M5k2LzS=M'؍$ RI])UiX4RhguvR[6:r3*FecgI6Y(v["\Z[-ڗb^+I\W`Oq-uLȽUIg^ӗM,eXZs7/2317q Bs!U@:)m׃g?~|3֘J5Gz%H`f9e.8TϱbZh{Cl57/;ǜuQXꖭ曯9l}.Ol| /&]WTk }6zpԾsK]Ѯ?G~kw2v?zޑ>|wt۱ן_UY~$=~y׾iy6o`+!50{_@=z_W?i0 @  Nx )e^9_ hݳoLhK$*9.r kxpUN@Ʀ=mb %-Z`<"t`F@ XXBl-|TɨC?O`%JcԦ2Xo=5AU`Ny+q@X쌀 5BƹP.1Zmt+wH2ʨ%K.x!' qtNNFZ LNcW[yLSq˃&e)F1 ~) NQb C2N1hAJ/ :͡BH@Hu\aNhH*MRӤ<,z[3PN@U5!*^:(W;s'ڤw}+UZ׃M^CWtr%l&x}Tl,`ȢNFch^ "* _ԿtD Ҳ"emͺZԳ*) :l-d,c ;dXYĩLִˬ+aY]nUV}gVոOm۝As+ӆW,JVMѩ%Mw{*%k^M*ned'/uã|Ti熵&.q~#R K{Y +=+j5?ݯoӳRҪµf<*s34%&k`)WM/ k z_BW]Uz$RİDZdQ27c΢`xnk/N51ç0e_V)stg.6̹Coh)p:Z0Ԕq!g|~y^kWIjwbvϗtn,n %-Hh-zm9'NZjKiIwA}k]Ҷ4 ԑzHM`Vpu-:;-XNƶmg鷟pv9 r jtoF2*&թ|[|-vuOq]EF_vopcx(~.eD\Ƿe~u{+WGu!I:r\z}I1 u+T]+ܻh~{8X2Z`ge7^D^L41/}Fۡtg[eV[Q=9|˅O| ?//}MB綺,LJ~ZՑ<cQ?h'橔oъ7Վu[nnǒ˻L 9]0ۣ;>c ?0Ƚ"S?K޳@X< >z:ث a7t*= 1,˹ |#@ A;A4W=d ac#/vCT(J6KB#|BAڪ-:dB @>1q4$D{?":WRIC9A A9MBC5 sqq2EsLC2dB@2[0T4H TĶBD"dӣ 0?낿Û]T4F,n[A{<h4h1qdr,5=/DN,Bnî E|\4P(K:6LFƒřC[,*5ھqH9OFlŌ\™kB{d@F>r(Tc KKTa$C:CB3[bkŠ\>+($ʱL3olKH4$W$̐4HܘTKJPF#7l,K5L@LD{@vL"sIbǓsԬI|*@K,ͿIIz K:$Kt#{ ]ѫ\tGYC$QQrt4@QX4KP<ȵ,N|l QR)DKG3!R4MLOTCl@&-IHPR%c0/R|Sy"P[[DN,ꇁtE$-]OD BN^TJB,SQA =UDO"ϚKOXL?T//?]7^uSC5LOK֭OETTQ SjͤQ08t,UMWdG7V=T_xeVPSWOi9!M=Rؤq֠\5x"3QI}.LTTeMF]QN7cXhdUsK#L*փPlj$xgHV L;eDA#ˣF1=cpY=WL%-XW}FDY('[420K #*-7Y\gt͋ HF袿)@8[I[@X[i?hh_Pۼ؟!yW{ tF'ؠ$ܢ[H½MWmȻEP%0kK[ܙ[ \ y2l]f]lyMZJ]۝ ֓I佉P5$ֆռ=}F^K@}^AZm}A}^)^B5-__M_eHmb_ֽ$f-Y0M\ymVV``"^V \@aօX%Uݭ]_V]ʴC~u +F'#_&@HU?9].b,vYbe/UmʌRܩ92'n7~-F9> 8 ;vUDc謊~2eD䡰O9EVHfdԑGK䱭^[OQV[DZdQƍSIeYX~eWFUe`"eLeV?>4щVeb `{f^d.U]fcvfH&dc`6٦ fmQQ fsk>lvfg Ah^fD6t^{%. cݮ\g0S^&dtHf熦o>h腶hCda(gs.ih`^FKhu6`Nhii'_~iujr&dK4ޢinxh{~`ߠ&~ v+ji8iȉ.kv Nivfuhj,kFjVl&隦쩎`9PlmWюlll~%횞nkFk2ew-EfnlVm~ilnNl^jk~̞2knnigjFVƁ6)A6momgn&j_ivVp~boVߕؾr.qK9 o^7j~pppps."qg.?1(r̮h1/.rr,Gr$O^\1vr5gs=5r6 ,:;s=f_E$ kg ^RfFwGHo[HJKgtJMNwPHti)GTWUgV? pXY"X[u\\^Va'b7cGdWegfwghijklv|kmopq'r7sGo`?u_wwxyz{wvSϕt'R 0gwwvgHvw1'y,Wg?Lx\w0'7vGWgzGLj n7G{h'{!Hw{_%{{|{G/~Ow|_Ǘȧ|'7G\u hׇؗ٧ڷ}c\ 7~{>>w~2ԄWoN~~7hc7Xvw =~|rj/z?Pi8`/\jlH*{ǁj$#2\2'T )VӁ de(:^7= :lG7Ms凌7KkÈ'JHEa 㛌V^JȧWl˘0gZ@(8@I'U`H̤H*mʔ"Q 87,GaLcNNJ-KYCgH3@JXm-vXZh/▪N3q=d' l2fw Q>$zs̪/^u3_Lyg融>0ƒn !n+noS7^+xݥ*Arvӳ_l(p:ؤ~Efw{-z-f{.k&8(;/{//# <0|0 +0 ;0K<1[ܯk1{1!<2Ӻ)2*+In1<3Z39s/3A =t>߰/I+4M;4uH4U[Wk5f5ac}6ڰ6mo=7B)>fޖ]7zb}z7;heVk9XICh]^z\y:쫣9?J819;>9 o+(##?G՟B{x?ҋǓo߻o{?=ݰ/xR3AVap:R",! Shȩ.d _(H6!s,֐>!(D( jF<"%2i%{"()RV"";2 kiPC9 cʜI2#68 ;9QF tAg@`jI>#_ɵk…(<$(9@Zj=%ӨPMQVoނOxUث[Dt uJz̵y~ʺIx=;ᬳ oaMP&lkg h ")D[JN[#N}xYyUK 7q9O+6LA%kւvQK'H Ge?SYiɷQ 0 D@Bg`Zm,2bkZn.8V"DzYӅV}y~AtJ X#Ywc嗆 f6brX5HV GMP - 1hSvx6#D)2VFm'*ꨈiꩦjnL ̝@ꬴJ̦lǯ+[3&66<+mNk.DkTj >xK͊{CcQ˜A#[솢 @DBܽkp :)4<+o/ ^,2 ;1B<3ks"&#`\c ;sU @4+g}-=1kӍwr(Q ηK'q=cb}6䀐zyȺ,4m/ r0xSFw7|>!C_3{6su.祏p.7c8ƿx~:/>ڞ]aȷΓ}s/Çm}]ߦG,r+X=.2Թ.bF;<0uS[h >$ՒƱ/ <lА׼kk=̡J# E-(9Մ(R\?a`-r+^ #C'FphUF4q\H:x̣H  PF:򑐌$'IJZ2q&5Mz,ۘ򔨜d'C5"%& M(I,0򗕼'[G`<,]Xd1Ib:f#Lnj3|氢M\zּ6+Iҝ<#iV&Ӓe>%N zP3e9yx.RP&t - I(E&>/hETCd$ hiK4ғ D-:LVlgS>ZTZ: Rѧ&UW%SSN]i?+hғB+L۴R%h p щ2}X#A:#%7*қ5_;U~~#l *rnSN t66@RD@Z&մƄC2жZ Z[ F@V%s5m$s #sܞBҴh*RT̮',Iߗ- ^[3C)9\ 7|* VQ[,/GZg0TLA,WrA(#RG.. I? %@8O*-dZ(.oK[gp))`w~#e-[?(@Ȓ#+GD2VޛG3)J0 @@_?_F7X5M!]05< Fq6ZX{<_~6# la[RUmOFőC9 .VZ-iho#}H%BJόvN@ ݻ"x[4 ^&{&) C3y//[ mlmEnNxݼEm3 J[y>oB: d3e2FvP]6}𱭱s0N[[-^A'kfIsa}i.=L20 ګQ'8ƹB; jSZhk'5#Wz>Ѡg;󊵵_=WЩg=l9ykEiFv覲t -x6D @;LV{o~s^mN~?D2}`x.Ȣtu/GIfsqet^e VuUHfofzhuH'tw,et?g am7{iFt$V3NiEQga'y)F_~ɴ !Rb'0"[F(esGk'tLW~ehsg{,ht.LlPhv~&V~"Syad&aT[nf Z߆b~'iUQz?'gwA;zEPWrx8h\6qYFyew2isgqSh 8T!Vȅѥ'8l~ Px!}-=S4?>kpx_fPևE1e7V6Z[$(aE{WkW8D<1:f*g~ͥ}c+EIWbvrby_fHh.yW+؍>sYSA8CMM gO煒5IO$^JZS,WCJ[ٍlC0}?B>cNCTfdVIXJ- (aI:<9qKm^l?#@(AORUԃZjYilIn C=Cee cYSLkIrZŗeIʹW9@ EftEW CʘٗG N>*8 KNQ LyuUJ:Y*\IqtE\$J|F3IjoЦr=U\:{txJD*:ZzҤZYکj:ZbAV{j*G:zGFY=֪:ګcǫZڬz4E5sytꬊj*v3@Y P Q:Zzڪݺ:)ĪBS;xV'5JGjJ.','+SVtYa$)k,0,t!Jr??")&, G)#{ʕpG 2в)%MS,Sw9ʳq+u!BkDK&H{I[ Kt',WY[ +ֳrw};pf{iCH+kp' Pk7렳y;X(b ]E3X'"Uw?=`p4Fs ;ޣl[;p ucʔ5P+۹Z˱H{ {F~ i?[ G;Th.ۻ6ר{;C{+8˼x ۵֋KK>22>,Rj[[%+qE=9Vpr7tK[(4F_BoXo)Y5OkT[|Cb$ B<\lLJēk9f] jb(f,}94:wh#285`fŇ{f+ĩǀ?-B]ɂҢ=س𼿓{zIzK>=ڸtPڰ۲=۴}к],+F`P۾mۮdƍ[[CDFu=-]6=ʌKYGM:tҢ.|<.@NLA,E>A'۷:\ReNE?On,'q{߰ҵ˜ F_~a,ax|$г_,JΩR"0xld5jn :+4$FsuCNzF |šΗSM[y@{ T!Mbl̯'ɶedlnx.!Qұ=ʹB䟅S ?>|U'gƜ>>MZ~ Q4?sS> ,ܾ4ëFͱ#Dv #M(CM>n>\t?|<Ƃo=8pL=4-!AP?FCZUߪ/Gݵ_ACVTvƟȿ?_֟T=W*̾/OK{m }O_ìE' 8y"ӵ}㹞f`0$+4X\ *1\jaTxLߠ`"D}`0,E, 4<:B20.XFh:IvĥDbdnXtޠꈾ$!5m!U54,  'B(J*C'1ה4Zˠ6=fr;Ă߬i!>ˑ,+#6i8oF[e,h%0a9t,4$D)PZ疈\gv9,Y^,.C0奁 CHPJ5ռtFj!43$Q6N2I(3V@3>c4,KAjJRٮ;[RB` ݺtD'`3޼ytž*aqsɩRJ5(0ƭs5%f0Ε!$OvqKV?n (Wf_nXbVFs;yL&Y\;"nuj}ݶlz f 6+~%Whv \aWAawaU^ &['smrQp >b f$`.6 ^Muh1Z h!b1 !lM0Qne^| V]r\HfqA=uQ65еPO9PcFE`#95eGtӀBAR* bi.aVF/*é`8ZŦʚk}#,å"[ƭ&cD뵀@R;b{r݂;+낳,v(*Ʊ;z 0l\i$nI .s\˺?Kp vq+oY QL1@-ir<)5E<ĮZU u `<sfs5yPtQErW aR PS 13LI#g Fnť 76d_<4۔~y&O#ۃ>pn%#ٌw1;^5PN*+1R4$Y3Ũ_p$HIwl^zn;qb6z@ i5WU8";9l?&\ge^zQGM:̍bHQq܉|@_RA$(tb_y A`opqۜ(71@򾇧.9ٰ\0z6a:'dh!7?:/DÛ#@R{6R|4[ᄈ;wA ʨD6$ÃzEB!D[MV4osx :IGtHIDzӹ%央XJXDɁJR%|>V8&$Գ pJ NF=w#i LGI`x<&1!L o_*5iLdӃ#3`]44-UJ=n^0zn"\'ϔ:':͐ӝvPJZ14}Af/nՐEGꪌjTNhi@2̤/ۆk HB*T|PɔE=(Zwbi!&A(uŽƟy!mc#TuT34Vm){z17`n`!W$5bE-fFwo1> Ved׎ҏ% 2~tn[J.Tg.y@$=3r=@ NŴN*WNL Qq*NK'!7qeOeT'BuS"pM o{׹W6[B?jA6KF -FCKre,f޺Wčn<pNlʤye+w ~-*/ط Fel |9*g>Xba8|p~3<^/L\d5{~},A=-q~~\FF=0[V[$V敱 ,k>ײOkxvKºXFg4ꙏ&D҆3zS9!o 4L# brkiЅVȕcX>•:^06Vd%֝ߐtWPYH|ǡEL(#d@#bO۽WѕWCOm]ƁР|UbF;@}P-e#ɑ Ck#*,9dMvnu^]Q}$ XP`بMwlĭ+!U>HO^!͙)Ux䙑$SҜ[TV qSxIv~4'YREZRcPtQeT$*NHɤ%ʙ=YXj]`,_MXfn!] +_\*bf[liYub 0'w>P\Od&)dy" GvPwg7dzsj[D? k<grGklg' y'F5[QN m/[؇d22W ZvY퓆((:D-\N7UViP<8BiJRiZbijriviFh\#h=gQ5hyiiکΈ6dL__ߞT$Ev2j:B)'\~zB۹]^^|M fBR_ޜ *jNjTjsNP瘖 &K*+&k.:kjΉۏrVGubWʘ6j2k볪F+N*) ̲YkOk8+ lA"Bl"lF:*z쫾a>D[lr,ɚl02ĺ,&+J6,,fl.,NL.m2Z6,˾,:,ƬR,+ª:m jFBm۞-EmNm>¬mݒmкC f#l:., nj,r&nm4_D.:-ZlN,Rn^j.߆.zSⲦT/櫣-V/^Fo2-(;ҏnJƭZ)Mi:ʯv,* vJ//pC*p`(Yno ?c -s2pҶl80Oo _)O>% 0 Fwpz) 13юvٞpBIC'q1yܸYq{1[q񷹰sܻfqqq蓸o @Aq"+"3r#c:$%cr&k%c1!CZ^lr([yӕr콩4)$!-,r-kr'2z-`[._010S6SF!,A1.20s!3>#V8366C&tU^75sf$Ts:hhQru<7۳xQ 4AB=tF3XYeϪzNSKqipa{2iGo;Mr^v6ڢj۰l1l4i7JTew'0o"wsQ+qn/xYAvv+U30j'u7İFvwAlKw*q+wH/ۤw}Tqk4x F} xǮ Op(ho7/};;.wcww2prW7CCp CxlZUy6;o⧻vM8XS0~p_/wsx{xs$3?'+|=Fwf$s~N͓;v9eUcO*$9p x.i]9 h__yޘu\7x8~x^%ی9|%czk#au2X]zsA.z(z`A#7,:5!:b0_ srˤ]{(t$6c;C{KֺXO/2Ag{{{{s{k{{;粺/;| / 4|Ú;C<`S|ůG3[>G'OCû_{'{~د+=~᧾O>W~~? >!>{~矽?~S;|/|߫5>w?7?s?뻿?ӿC_>H扦ʶ <Q }Vz|:q]TW6sY.Ն` Z4{9mC]mEhbSGXhxsd4X&tHYxGy*:Jj҈x *k5;V;ۣW[ ,,sk,zk;G4r4MS<L^I-?-">ʟڭx7…|{ek@1hѻǏKBb2;Z| 3̙4kڼ3Ν<{4G C6L L:icҩTHuM[֢YiM([d6We8\ Oٸҽ[-(y+/`vb@b ɔ+[9͜;{ :fK :՘~ ;ٴk۾;yċ; k=i$7j5~6$0uX./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetcwh.gifrc$$GIF89a,0I8ͻ`(@lp,tmxppH,E l:Ч8XجvzxL.hd*b KzN>l *g),uc¢||K Z_fnn qba NX =z\Ursv|iA]2%n(eQK_0S̥Ц9V]fݣr@>DvZ@5TN9ukװ]U[ (= ]4H,пen]9ala>VXZ81v7Am V[kiךN ׭ Jr-ϓQ| H  Rv[5l穟&5$ե{@% Z {MBn]/t=}pJSӖ_>xbR.c:\ϋkwͬ!SI{y+s?{{8| wk|[Z6b}~>]h觯iBw L 2 '( R 7r!ݾu@,e:'p!E,9 gΏya0AAbrC1`C%nHъQlD _la$ASd)'lX2qcl#XFQp7wD%1D$h)*ro :1͈HE2򏗔Hoݑ~t&򑢬%BJ>D1P-WI &0)bL.ȃf:Ќ4oLjh̦6M nQ2hnA5ɂr3~bjg;;&4T?PԉgAzPF( :NjS i9ǩђ6D҄Ԥ0'JùRt/uiLwϙ>ãE[ R՜>UQTzӚ|hT3M1Uju] +C)dY ϴpES׺fӭ^פoRs^W*b{žJ|%d# RS,2Jq,h3V,jSղֳ}mhc;&/ Dvc&'ڊiCBp@PK՝r[A=Kѕp'\#4NBv RWOŝN ++*YSٙޛ`Uw4v P:|b=X3Au),}5 nṭm}nqbx0[-zhĎ;'=ʼnڏcl9}dͽL91Ȅ2ʋ!pQ { ͥrp،, lR3|JΌ tb@b|Gď}~&t,ڶ}JC{mKiCP>5x@if5Y/ZֶsOU]׾3kO[a3~v-m2)Aζn{Mr;`+ k6>i$+7j5~6$k+./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetcwo.gifrc$$GIF89a𠠤,pI8ͻ`(dihlRtmx|pH,Ȥrl:3C Zجvz, L.z S|N~nqS @ q cpׂoRRƪˮr73}|y42pAqG$V*Avc1>Rc&L i\D X8h&Qh#S;O\I*^⬀S\702Ya@ F~4k|+^=q?ڥcr R wjGyu;ժNjZzN\N[OA׶SฦFz/È]}ƬCzې '$e 4~9hAh뿵g뾭۵kmNMwᖾOÈ)p>lZԍpweWnq`nہTבWa|f|ol}˅Ysd9tHv袃/rX}Fރ^@RUL#vh_NʁEPrtvgؖux\^9{֞EccV~AؐdL`y5N%E{𙏟(jOqѷeH ]PU5rJ Z/ꕪ,r,j뭸箼ZP(\b$&:FslTkf$c܆+m;b1Z[ئk7!!Ј:=<WaTlqVxq+P,$G\'J{L6o2L!kA/*0I3P#̠H o5 6k3l%x%2"2N]" 3MS'Z0FFuX6hÍkW]=~qk8om`㗻83hqt|6͙3=|]Կŷ=|rȧ-4nn;Ϭw{W }ϻ{S_~Dzm O}41e&2!&yC8։n l&?.P:/HApU}%З~+! (C[z7@)sg9oS M&:FTE1{NT"jXEO \”%p;jw]{:qg|"X1Qz'Lھ@q]\ #2a_xC i\&8&LzK%Y> +[I:enS$AΙM\#7:?Nf!FýlY1c>0?7,DIB|졚}8 '2 <NHW]U,QP5苛 @'MksMh*]C#JQ0@XюzːFJҒTRJWҖ0LgR0CV8ͩNwSgtm辤ӢHMRԦ:P]3D&էJ PETz` XJVYM7-YcTnu^]U\J׺gݨ]F\q`KJզGSSPS";[Z†c %p^@00Jꯂ2!t1H=0wcj2& !%$@(vi F(RS/,S`3n++V$&EB{SƎBA.4E6ع+cHe>clMhSUp `AqOf6E`ҵ4tzG`N%_4հ鏍K\ج; 5 ]j :gEf(-_'Caldӹel&WGa6ẁ36 p&_eNx\).o ^qL,p+׳NN923|a_z.e"<yw^[y|߸^9řAFtOp_yyNu:I:.GVy3.%k\Έנ}>U:}e _MB(P_{uez;/;́ G]6=Ix{T(Y7% .~65/ӫWCe:Y2SqgnٴH{ֽNJ_wiWzX?-&YSSytwD: џZ}*u5~S=G6Ie{F7xTlwqIdK~=|C898cMDL h *l T^}|U*vIfe4e4a7D)Bo-(U1WggEwGMhgﳀ7XTH͐ cw 7|vB{:~LlxyWI~>/xVfTHȂ|f|ely[(kpzWZbhV!vg=y((Vu|(xg(}VS(j@{8fȀwC:8+a4U⋿X)e،*RxD؍8XNuSfy$䎶dXxԘ55V{T EXy*nΦ Yy͸)K^jo_nB,ْ IUHI"F!HHꢒ.By)HJLٔN5 -I93S$C`E 5`gБX~;Ȅ]&c?a9t cYk]:)ńj_}fAI$rrY1Uxiq[id^|D&8&K9ji(╊QyId@DW@Xh 9ِ0if)Z2@YIOYyEylbB189#4ZșsYf9 T0TvivꙘܩ_kjAjX牞V빟,ٞpdכEFzx`'~/٠ Jvi4 (ڒ9 ]Ń1\- .*{9:%&znIYT>6*)`E;EyRLڤNj@*R 鈛iZyd~*ТSZ4pk9a*tf:ňW@pctd9iyZF|ZgDg9l'eʨi@zˉJ!`єk (9C:"Oڪ:Z*Ԣ-3jrb6Qm o%J_z*Tӟ4~\* g*:USQIczV鮙8-Q2^j9ʯj-JI!QH KQzXjԫх[QOQKU"c09x%.zLb/;:Ϲ;,+|2`!Dа$Q992_07 #[-%[)ɁلV[F.|T+Gk.cM ɦjkڶdJ?|,`Ny{cwL{5 9k2%٬U ]Kto~cc4$~{)A 992ԃśHGOu] 6ar˰Y]gS1 'kIk(BiX+)hAJW`(X*6ZK\eI5K^2V#3A > z#J\;U6p btٴsK;GڥKjy[Rw&,ÑiK˼+La{79fY*LP@.l0۵ m2 aj:4 p ~u85MUjacjƘǸr5, J(LiKR,ejpYɻDlR7U|KEۻ/%\8:˕0k~JKḵ˗*.x/,P<+ɶ[ߪ LSΉBR0hdi4 =20񫍶и =kϋ32g%j|Y '\Һn,.#N' )W/ g1@Mʜ5DW0R*=И\L;=P-R FMb.Y 7J-\`t=ۛ[5+]p =/j^GFb8'7hQQ]0Մ$֭u$L8r36SMP !dٞA}ԅm[-ڢMmhL#9_Nε F b-{-֙m/P*۞ۣK\slc+̇ P Q[5-@phAU6ެL6sY9~׶-Rr]"]-dm:ڠ9b *]5صmS=ߊؽL d<>&N)+>DN [a̴hŤ?乍f}lMμ Ϫr(ֆQn.1p؇j޶}ⰝPYl(&=N]/!]P+߂k=]}щn^N逞֕^..^~>鶎^>p]뎞ꚝ _V+>.~^Ҫ4XA ®P^nnʾ|񸱖^R|{J r ަfT;Tnp{lk@^Ȑˊ"oei1s-ܐTP,B$hI'~k9=N(_o,N,6?Fڳ}ٓS/~c:{V -B^$*K0eRe)8P^py)9`?Pb"N[]OJ*\d: -yҎFoHOJAPhJϺb)"I]o_]tS 5_> N_F\{O!l`31nCq$KNB'5LyMvї[>mBbxD&Kł(SͺzA@nWFe]iޜŭF˫$,4ah";l[sD8{bԜ-j -L ,%: PH5]%a#Սkٔ- }UdTpP Ǹ,:NMW9vCTK((NCL@ DPB >̜a>z" vZY>@%ViB*ҜQ#N<Yo?hī10YUKCf>$)fZ!dj書Etf3@-@fiZJ6}[Wq.6ƕNw1:֬Yl&JØ!1Wj92_2~7휔0hEIZ+tGFYyEY-Z݃s\{okac X_՛b7-eO~O]L D3#m<[ 8$ڣ?"pJγ o3aB2BA8JZÐ80~8:RjPA# fC&,J =KFC ;\Fɤ̼q+C-ysEM$siMAS9Ek+Du+vdX-RSOU5J٬\,Ԓ0-gɍsq]kO`zsa bOHWRt\j6w;axcg͔O56S\֪cU,K-tEÂai]kjskE?r&lF{Vck2X3Y`ʈozZÙ a3kwmu[[:y[DF*jꆇG_t._8skWj?\vGL35yNM ygy矇>z駧z>Avus {G?}gp5=w'{`g?_~6<_47=${"(AITiPmݯz屰|\CPs# U.Dt˖?tp}D?|^:hPkٻuQ)D3x0*LhF1>0k4e Pn#%φ<_뇼E/d=d(I5V2I%)6 ̤/1>v! +2iŬC߬.;9N`R0 %'I\Q1}&TOFƴ;IN T)U/&HMW~nJ [Ċ"XPfjZ 3jGx,j!7^7kTPկPVO#͝s鈰!:)*LbU0 1ff)-xhzkaʏu imnu[ZmiSڮv Bnr\6׹υnt;]N8eMlcŮ޳^.[ڍw<4j`.reZe`N;MYM(/y1`7dq%Q-|NN+c-2YH~Jv giE'eqc!v/hZj^3 1I_\~*6Y\+fLf@Sd#G_>s?X5x+o=KRY f8K*$7OIICyg+:άE׳)2c +c_K氒VE5{Mi5b$ըam[W,h6T$ZDY̅OԻK=#M0 YduB@-h"p*tVHR:#4$<_i3v.٪5ۡnޝ w iQ1U9c6njoڷl)>J}8RF3:`yWr1j>o23ﹺ³ #-Oz|]:݉촶 @<\zۈo8q ]E ?^t}}J}Aj?Oع0ކ(+YO/'ciM{\"iSiJ[g^j /_Bn(]vM?[4Y-G>gyNr=qoO{Z[&}!9ݎjq攲(diaBy;z7᳇k-c벵Ck>S@Ck;0$X@0=< >ÒC5}?@<#8??k( L14D5YQ9#t½K=$9dɯ<*YN,+&^_tCMܾZۦXd [ !۴\Ɏ@ @S=MDYd#p?>F4t.pF F,Ҽr=n I[EȀLXpI!jFو Yx}RɼJH,2۸CT7H4]0Ja3T*J\ JJ!K|C,ISˡ}rKLV5J%M]רMՕES=.VHءףőU؛k׭ZׯZM]]5U)@W-ٮ[A||Y8[AI[g, ܣI[5ܶ=Z Y ڽŚ'hNieN\B̝ؒ-]Z8}Um%V\EϐEֵХ] ]*֗}ԕ\]ݻ\^4Uu^YƈW%5__M^u_%Ǎ-1ٛ\,_oZ&` pQev_$ 5RMRV v`aܝ.-"`[F>A6aȂb &bE$έU&N&v(Fb(*Ld,-b./&1&263F4Vc'K0v7~D9c:<6>c?Aƅ;&CFC0DfFNEvHd$IKJMiuNPORdM6TFdTVVcVvXcXZ~cZ\b\^n-^``bb6dvdVff#^hijk nopq&r6sFtglAgv'N}wg9qzg40_|g 肞kbg1.&-Uh$H苦x>|v 7g$FdVfmskVlʦnnkn΀k>lfmkVl>nV^ ..pVo7?vpNpn ?p&Oppgn6oW~poVpqp qppqoq pG$Wm?&7ro)p*r*q+7r''pwp%W5l&r8(s,.?r"q97g_lfkhmn/qSmoq'wrGtW&ovyz{ww~'x=߂G&a`fwy뉧x; kꀊAi$7l5~6$re./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetmon.gifrc$$GIF89a,0I8ͻ`(dih,@,tmx|pH,ȤrYtJZجvqxL.zn|N~/xa |~O`~ >  PN 1bwefctּð Ǵy߳*7M ]bz桁ŋx8aMd1 M;g.̨6v4n|2Lo`Q7z1!$a$3(OkYhꔩlWGʽTi*%pp)-[[ƫ!Zi*hϯcRKr~)gol )TViwM\v+D di&blEn)texgp矀Ngj袌hF*)rh饘f馜v駠**Mjjꪬ꫰*무:BLkyk*;,+i20pڀmvijD+-"۞ނ)TGYV{D5kλK0 7?\w.3%,/ "5 r4H<s, mtFL D  &P'ME]R^:<}ATBV{uZkuA/z߽4hRFq9jv_{E '~7@my] :I 6wy[P.o.֞.IƏ$7<;5Cl1xv{/;>|~>r_ǯMt jJ` 4FA zPBY״}<TN B4P PCW%XxpY: (t"cQ Xtaŗo$7ǵ([ ضqj3 0m4XW8z5r2Kdۨe3|,8I Ҕ}"I>2p{e!SYJ&,]y"N]&H\33t[ ya6e$)WLJ |ȂN2 "wYLlZ@n%+JXD%X.!8-(Nw.Dg9g)dҲ4(=΁:T>!49eiZH^!oYLnM E+ChܜRNUM͔5MU1픧15O !^\j*AUjUTb5~ZꓮU Sg"kYӷp\!V5|m^׾}zW嵰GlWmXHb={l>]VU=*v> ,ՍD WO+QΪvg%`Vemo ǚg{ɐ8 Yr[76duéڦ7O i#l'^ə-r~[ ՜q&_tbC]tַ@hkɪ1ĻK]r{+|7{> Oɋaomip˘@oӅ]Icc݈d2™m0jeCP*@*2X M2Nf͎1 Wy\g;w hWsp mh #:-G'V-]$LgYx3ؽ-z)̄.+lρ.?Stgosq.eO,sL,<'?^ͼ[30e,۽?~^ɢ;.K鉧axw&_w_B<\(prgs8xWGbt + XpyHwqFUDm/qdNOpѣGz.8hS02x<48v\oQHRtI~DHBxm4N`&o&nUCH&E"eO9(R8umQŅQ;8PwP[xTkG]HPmY8mi؇O`x,cw'RTVNu処2AOdPֆISSqDnssg~XGAsEEeiHsYC78rx&}ȋ6x׀(>'p@It(W[wؘh+zuX~7X{(yjGxi8h8p?pH~ȏyƕaХ^Hg^|w{ga[JƁ鍵H,Ƒcd^'I4f|58G@f`e{)Iз&69B)iDBFAIiӔ+@QiI R2>~7ٕXirxX(rikqmopq)sIpuɋwioyy{n})m遃y>Y-p&0x=9_,8쨘cU$b$ْ>ƢO)"$^]RyUth %) \\Iȹ%)~Ny˙Ii}m+Z='H-;J_'[f j]'g]n`9t'qwFcy]kojWzk׈&RgqTn/z٘]&D}򶥠F5{ _2/nz۲%=EFٙt'=v]X"͚m% T2ݢiVmKZ$RY]%P}@]sM>3xA38~V >. =^@~ ">$; 7 k!Ci$+7l5~6$x+./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetrac.gifrc$$GIF89a𠠤,pI8ͻ`(dihl6 tmx|pH,Ȥrl2 0kJZجvb1xL.,$|N~lo{Q ? o an|mPPĨɬp62{ rs3ٖA&$8am EV {Vo]x toHA'TR˗:P!C{R)Q@ƍ^Z)ZxcӪwܪ `X nO=&Uˎ(:^ w_*g*&Fʗ)G9 `V ΅X-\{ڄmޜ[7cڹo6K}/{9nڹzB_ t%PTϧ OWzJ#[e}+o^|E֞uBw3MٔZi@3[y%T`Ia}Ʒ!^9a]7Hˁh7ޅ%xHZ!${Lr_R%!ٟ~ʨ($ZOm|4#[Wޅtgd&t9[:}Sq[&ON5՘%ZIB;AHvBョ .lndj 9KĖUlVJ*,*R^F^R#$IkrDnj+k(<o' /,G,Rg  bzh A;maǦcj1r_|LS r+Ԍ!t3!-GxuXs'NC 裼};W :!~{> i?\x&07m|Ge/6}l r$9Hp ^o?t=lo  2·s" 8=v7w _CAx!7x1D(HE%Zx"ҞF9qoKި@q|DHıQg9FJP8VP$SLq"ّp)<"N$H11xޝwJI>ҋc i9rcJKԱy]8;܉iG!8_&nq"H\3^8&!߉XK4TC6ȅ~Ӡ& ̛ec I+h(Q\ R%|(MҖ4.8EӚ8ͩNwZ8@ jӢHMR)YPT*UfPXUծ:1JֲhMZz [}+V*W5k]׾h8Uv:T4UdؙJְŬd54` h֬^*y,Ćl;+&rZ6-k}[[آ mܿVGO* h亿jjVjj!k9"7ls^>wх*Vov7Kzsw'zط+p`:^Ŗ7 *{P}oc p0i`la/  wa72&!*aa$ 0N Kcl1myexROjRd(u+RcByi.n(P'mN&ʅM2]\YEV*W .={z}vjT:pr bg):X-y\GSJsONǫ$ X]tX&5m eDZ϶mtkgj@pV`ݿo:h: )|;ln  ݱ%Vw#pٍ늤"Mm P%*-Ցxt~%p/oAs[.2P|0n]] 02sJxb}bbKF1H>fe cL2{ q@w۳sy#-fF?8Q~f@VQ`l] 0|w=bUk'҉E/v;U`eSw:[rNN5jk2 Ve{JzW`c ծk6 `3 s~8|qCVfx~wpd }Z~xzQ|Zjqd\v|(~]pgdX$'v)ZvjU&385h z9p;WwVɰ hWInKx TnNUՅǰ `(mkV8[8 ,,Rs"hhsD6 Ekn(xp eoy(UFUcqm8JX|uPA%PsYuWW2S:;TCScMKax_WdI҃Il$E2qBL7!Ek0̊ ?9 Ib[zn&Щ4 kjPy>۳>6LTD%S>QMڸ82[j: CIc*/YS;[[]Ob᪶mKo[/iky;{[H/Eȗ}9Zҷi ʸlb [%buY{n{=;[mY1eɝ߷}kѹfQ' [y{{xWk[IqOe ͻ0%Rk^1ؽ !eU#Vip ⛽Ћmt ␿+6Ȥd;m{[\LgY a8 caНߩ2Y&O& P\/.GʟKʔ4.tE8a;-U:u%0Gn@JA;|)RZ\(<^|NbRLJdqtfJD LSR|e q$*utiԔ+DϤMEvڟ KrJ$SgDKDRd5},;  A CƢ\ɺ|ʄ쬤{cPMlSP ڃBy,{lq ?؇h߁"v<̓MPLܼɣX?y3?MSXm #Kaz\K:ltv-SRQ]iЈt, y9ڤ]ڦ]lя=ůi1e׫7␷勗}]1M}61":h]j=]}Mxku5S=QR^0ݸkp*^>_BM6 @5R ᜍ(m _R0sMn@ 5l 5@Aј\2$VA^QF~%D0Y.pʯHl . !ELco~䤆˼dհ(T:%`c]N۰č595RQbH+M<~քH%0,~[f嶮V普8%ꗶDi.͒,abPNh0bbZ.R.~`fbq^jC{dF寎il 7p>/nf6 9 CɨLnQ[N>_/@:݇R1 h#R1Q/,1@SIOdqS)+*V?Oc y5d_Rf ]?nSO3<9Ò.usEN~ϝmނރ_/>~zi|xt/_2U?NzyN{v/#uJ/ xo?y[3p-mnL<~O/O/ 4N܍9P\?o/Qi^lBpL4tSҷek ЫnuzCbxe20Sjdfygtfcsy- @a%}[z.lCL!# TѪT2dtdAJ+ZkࣱkMU=UQE͵)|FN,TKN^vJMb+s;"Ӆu]:|h '3J1*ycG"*tk񲕪+s4و,ȁ@ep`>)XT30㐏:oN\t"8K~+Md䱨b`bt&p6y9Z,KэIWUTrS:j O[^:Gly';YR֭\QdyQLVyJKRV-p끆jעB7ւA,q(s#TJ k0L(qSJ=$۔p K,N#ks?*3bd/IxaEG8JSr>u MT+3R%`+Kg=Lj£t˅DO-T$xn~GM+>r6-75ETAK,uA,S\wмVnl9U9Hjh>-3pm/W߈Ut_=ay}HZ.!շ /t'ftqM\yVu9fpn\eB1TH饯0-;ooyg]i]dZ/r_Ecp]_'ԭ`uC@\#>#B[@F8ނ"yxZⰬ˂0ʮvH-#$\ CۼK:gN1Ƞ/ذ#!a2r(Ĝ s2ĐdKVC"I WИ˼]1G>|(ҁyb+fhg5!NN;Dr T´'P|R3ѓ(>DD sUQa̦^/$Qlh:S]c6142&1X0؊ @!Pg´ zlA^")'E:oCL dId#5V$F#,fU|Ft"]eEjl,j- HkemE]#;qj\I?7Მ U2~v $36l!'{Q0hdj{X9hAqۮTmjHPNdKT'̫>QKe^eV 1/ocJLRjG_doA<|KUNJ]{+or50v;"n%`c^?3p0w% A|wbƊn ߬A xi ~ ua"8 r>KH:mZ(֒nS,fCV!:S,pGbI`֘Ϊh53"N[~; *8 L3WZh?+<>:)c9; D#fA#A# c' L,dBA;? A .'U;+@-l/7);j1B/,=Bi9K;%$'k; VPD '.0>K3( d+D :,ak.zOER<<%$XAw3FR 5;=>9'4 A<>+f)]ѶKW>DmT3pF"ku:"4:aT>2W?jD}|~:8HK4:l3 rptE<099t8@Q:(3A9J(KJYJiJyJ15\/wYU)Q2@ԮB+D+RK,IPDK6al#4ò$KE˪<> $DLPI˩ ' L,Kl0C̵|KL 8M,MBi͟L6 MJ0DMM Nį+L\3tdμ4Nwt2j}4ްMKѬHN #DJ<&ŌC,_H3O"UNlGD>XQc78Z@P޺PTа0D̕<2+hHHQCYi |̈QX`?C4< QR!)RRHP6J)#8()]*R-,K[/S*RLJ68/=SS8E: SKS?S>u AcSj T0.=K44MAUD=EC PTUJMNuTM{T:EՖQU5MRUH^\]]U_mK-հWQ%XښH-ܠ=֧2E|Z\[Zu|M[4VVT۔VX1xHeY=[~(]ۍ\߽ڒmĕX]}[E]c%^=]-LVKY]E]Hm\__^8 ^^tmj-}P׀Q5Q=[ߖ#5^X`%`}& ` .` f``RWVX`%$L3sN9 ~."6#S"F%f&6J%v(vbJ+,b,-/0&263V2vUv7c$8:[<=>?@AnѨCFwkMFvDYGIHKLNMPe5Q6Sf PFUfaPVXWZe"[]R_\anea&c6ecFedefgdgindikckmvcmoBoq'q&sΜE&ufvvwxg0~R{|}~&6ޅz@tfhpυn~AUhnUބqUOVB"&N*dNCkDyh7hjn:6kfXd`auE&벞JuVfvF֍9 Pl+F6FVfvl.ɦʶ&6FVfvmҎצڶ֎&6FVnnlr~n6Fo9.o~.lnoo.p>pN^ponpp~oU\pp op pqp?q_q'owOq7g &7qqv_+q/?.s%s2/s+q+rOs5gs3q3_s/#8,o79Ag)rqp/os"q6wDt:KwssMsotK_IuH'NwssNtS'WmCGYMr5_63GRtLU?^R_os\'=c7dimYtgu>tTg_l's`^hV7GXs'NC 裼};W :!~{> i?\x&07m|Ge/6}l r$9Hp ^o?t=lo  2·s" 8=v7w _CAx!7x1D(HE%Zx"ҞF9qoKި@q|DHıQg9FJP8VP$SLq"ّp)<"N$H11xޝwJI>ҋc i9rcJKԱy]8;܉iG!8_&nq"H\3^8&!߉XK4TC6ȅ~Ӡ& ̛ec I+h(Q\ R%|(MҖ4.8EӚ8ͩNwZ8@ jӢHMR)YPT*UfPXUծ:1JֲhMZz [}+V*W]I]׾uh8Uv:TWkUdؙJְŬdXjFSe(|U`h8 S;K}Nq}ʳq-n˻Ph;(kgOї~ө?{#'^U , fzːxi'V)& wWolqZgGUsi7Glz X׀Gb d}U\ewǂFWl!/#HgoG5xV0h*|~7(9ǃ5k-VE1k*XL(NW-Z_XVhXZׅ٦ Oɰ`wctWx"jylh"^r"dER5KN 0K/TXVWyTt8YH6Uc0 vXFHcwF:D3qXW_{HMS:;Ԉ3G$ؔLL4: 'RS+ùk |)(!IeefA09ԦfD@=SpSz=נne vWTc™Leq"D*o8ZJ9JDHZF*HMdI 3®z~ Z6ٯڟ3)NjvZR2X ڱ :KK$wۉi?@Hu2+#Z!)VrJQ{SO&Y_ H$c;bjl{3ʘܳ7@t>^RRn S0\JP٥tb R8=i.Rm^0o ]D x]`f< n9^[P歝U .1~|.L:]A>  qRl>AVm{^M81 OIDRe@dbRξ˞QV~ގxKϢQѾ1p.N60>^Cj_.ތ`;@:^/X>^8LæIʪz>/$o qe獼 9.' O/_m M,MOdqS<_Q8%&0PO+ks֊R>9Q_Q%;0bCNNlcOmm.ro5lz|~?> no`/v͝>_c#lm_)_jk*O?Vx9??_3.uj~/[2 4<^1ϯЯOG>N`>M4Onя/+I:mu$NHue[tZ#3hy{bCa8 r`lӘ0f-iטVPiijPL}ߖx՝Ά2S $dl,Zt94S!HY ]ܰ c YS!00+d<% T-&<[4 eCuSev s%N9\fw&JzwGcӌE,-+nK֩Y#T}SU>5y ǐ%IːȞI-(l->+kVѭoFz{na7n'~9p&X|:Qivcc{NɦW4|QUO=@/CLt<y"bM }f9k$ ;cEt6S5yeVpy{otmΪ,iM=y$57ؚ#h-OGqiܫ9W }CX+.K~w_0w y?^W;Y5C"NpŦ@A {` hDS„m1n<g bB PZEl(3Y&JNPޠf^/VAnLM}f;֏^uKhC}#,C:TrfW,~̇6>7iL?;S2K /w27Y5,g+Qp~&WsӇʕ-Zw¹p~Kdvl! ށF9*ro4M IKtJ!q`渿/&0(:&E { C Y 1CEomc%nxzGTQ/{ޛn ތ5 OޡKe(7oLF!)}FSRE "d|iUq'+ܠL-x5~Ʋx9Ù.Hu=g9Wg{ꮭ+b`cZ=|M8m}+>vםS1׉r}\xInpX#<6%]ޠȱmnU[Cg:spv9'8Rj㼗d/v{W>պS]a(^=͌7->坧Z]/l}3o\ vBЊclGƪGw逞5 j$_{F|0G]|k* gy#/) W[v5[i%n,}̖.J2 Aӱ>K'KPZ"ԍ:,t9ɳ0D'@3:dÃ7#c?ĻA K 3As{33=,d's#/*4<˓97"1ѧ{)B4@h :;5+l;"˷ՠEsz)+#4C:l:!œ]%8KAB% M4񻩝2h37Q'4BsS\+* +FsD]tƐ"@W] >1kXqFk-EJLET^ּ 8EL|`‘ MȬLN<=+:"$M\KNvpьM,A@Yx42ZpMAMŬ,ЩӞHLK"ZD'ؿ \%-v@N,2@Sp* r}V ̝ 5'N +@@5=2pl<4 KQPQRR,CW2)7G=` ",R-%./%%0$ Bb\E^-JjVfgmleֳ.UGPUk5Tm儽0< XI`1`WnmW| :U{hWW%qMEmטt}NMWАVXMXJ}WīثXlWH2erW-KW |XV$ٜ]Уٞ%فd 7Y|إ]ӈZuWxZZ] ڢ5v8i=X=WtZYYYMmX[Z[}[X[=[qȤEؕeY[nU۸ܺ \ͽ\[]ĥ:WMY]ZZε$o]%]̅wx%a=g-S\޵J]y}Y^VFaa b F89%FؾA^H)*+⪼,.D/1& 2F2b6v78>RՔ:;%:=>>=&&B6@CVE&d GHIJKLQVdNddZcxQ&! RFTޑSVVve`WYX[e\^]`Ta6c`Fef>(fh^׳jfelflnenp~eprFer6tdtVv>dvvxFbxzN:z|&|~P&6Fh;6Sv臆舖艦芶idP%P&DFCi؁hނ]i i6~>SjR颎N;~ƽM>_Nj&VGfiNH㸖빦뺶buL&>An6RUvH1Ȗɦʶ &m.Vfv׆ؖ٦ڶ&n>MVfv>n6FVfovmVmfooGoomVpwn/?nfp  Z0p_pVq~q7pWqo'"7rq gm_r(7%/o+g)r,&g ?27s"O.rq__yrgs/q; _7st2MtN'*os+u(wSwGt,s8_uNZBoPOuDYt,sasI/9sYDu[hOmMklp"qmowp'r7sWugw oxyw{H}~xFZ|7HW-wJHxB0˶x.'y;Ŧ k:Ei$7l5~6$e./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetrcp.gifrc$$GIF89a],]@H*\ȰÇ#JHŋ3jȱǏ CTHA0h0A $@I N̩N> mtѣH*]'ϦPF-*U(ժX֯`ÊKђ V 'Sx)Ь5Sy:ۗΠ~a#8g@l`Θ#,pg}jZtǚGNu؀Km'E-]#+_μУKNDȭkνË_;ӫ_Ͼ]2g?ڶw_Z8~62`UhfX}v (vh(047}8<@3X YA&d29.P>aMJHu9Z^NdV c.%XnI!Q^&C7"W^~S:A6:*Y#AFNj2iuDX馠* Ajꩴ=b&::J+}֪뮼+$i,RZk:)'fibiw&;P2砊v+Kh¶+oTlئ_le*|˒jHA] 7G,kV gki ,}L(ry0jr4l3߬![O| Hs3Fզa ma\w/A`[e{l?vp-wB̅A A߀.n%M( 2 6{CiaW[m6Y萕f}dk~9{[毳Fw>{oQH)\(mG/Wo/w}߇/9$vK3 Yvd#BLk}g 4 @O~L"H l`F$z GH(La%MPVjK7?c[m@giVb89׳&ҩ%"с "8@y1 6.k^h '=P#oH:f5jK1d IB"VΖ6bZӚ6- r)`bun}K\(?IB%PeL(KyFD򕰌 3 Li"Ȭ!qHJYL2),<:=/Hj̦65mz?&8INLsv_%`&ljds\h #F4]n8#f7VWtN^Wճچ0+ZVJMlRƦ.. @(.z~y3 ^΂5\ u/:gc¨C^Vb8шB\D`^,~%~Iͪ4E5M+L D;`T(S⸭0VۋcLc͸p>wڨeC;gɱH3Y $P4~ҙ1F~wN/۲='{>ھo=3#ѧO[Gv{OJrSr51s.d(L#u85e<(҅ (8LEO-! 92Q~YWHq#8=h=!8 xZG-<  6 ` YqZ[aV5<([:>H:u_9>Vq;[DZCx[ExӃ=AHVB(Ag,]2)~|EVUUv[V:\[ZL:ZH(؅#H/e\h8i8${Au8ŇhY~XVsxN؊(`t8t YAcp4HV__f Hw5dfII2k? yG__Ixdui>j1)V{2LEqJgmIJf.if9GGy1)U)[i;ѕ AQ^I>Xh|jזn9|p7tyvyWR|ٗ~mqᑗzIrgHW|BÐ&E3!?QQ]QPh#rkdhIdbƓ᱙IGjDedh"ɔjVgfʼni: r^FIbIODPF'Iy(DRIKj5!Wz$[f Bbh>b})"3yJדky-圫qmqJfТ*7jj?K%7JZJ.ls4W!rF)iDeY+j:)g1I /0٢~< -隈.QFņ}$JwӚcQ0r[rt}Ow"TZaejDǛbYimcQ*Dvç{~vS(|04ڨ:Z%t{}z3lq:swjmLzo?54Fg*L# . ګ֪qVXgD_crDǢD+yyJbh鹥r.rJ}gCFFDJ@:d6{BFIr0rۊhvr(:kL加D:g@dQq#e* &>i_^.[ wQ喀Ѹ05O/m޽0aݹySm^;KB eYuD](W߀m9Xoο>~M'4uWXؑFVCixF^lg~_oYކg_f%rjb^H Mo6AvZMt ko5\7܇&l (X|E&%(2X֢M]gݘwţx>&]ͦFxaDvޚm1fR[ei(#[DAh\hM@(T[= V6UP!eY衠Rnݨ FݎD y򩬳: ꮙίf J+p$ F+5jƁ-)%NBk.;N9l+k$Lo' /G,kQg ψS 2z(YAȣmGr*G3r1h|\/ r+Ԍ%t!=1,R!--M2^@xmr$`te'agʹ)Lݡ{TM6J͂Vz 2,\/^6 ~i/-&-bn3g=i^{̾pOWIheB紴G5$q D  |ٗ,#4 /]pAiEoVNς/<`B0d=fÔP[U=*u@7( yPDW^l\b4"4Dl@0oz| ᨽvN"Bhx\$$$ R?$4C> DUP|G/N'\ k8 Bz].'EDG678N]d0nтd^2qId Oȣ]YCSp}4&/mc\йU-#ZiKWg4O`yԍuԂ>9PJc kS)ъZt h (юz4( 8*Ғ"Q;qxvx>Cv7O^01 `w^F>8GuQ?g+,G1 d$3Cko5%f# (9b Y(Ԇӏ"cP8o$ rU;F_{P ԥ|3wV46_ǐOFO*Q:7窹*Uo2sq0_7ÿ!4]*Uad,oF;σrw|pUFfl}Upd }y'`WzTwUg XU*j}(>ǁ"y"8VgJ{{w-^',vVFjJ *؃T.Q~BX|D\r7eWLX[c S8zUlo Ͱ Y8g*z7Y_ cHxe~ sƲ\ȀU."x~ntJ(VTxJ8mXOD7K1ՄgŃzez`0r{W8eHWTK&ua|"Ĕ Xwte%nՋR!tETEčHȌ/茞Ȏո$s>oB$2LLX ͈dW{85Ĩ H8V iE8Lx uwk- "9$Y&y- AؐXȒ.AH >q:<ٓ>>9D9,)9Ev1Uyy'EZJ,gǕ`|G 7鋽2 XjblF5+0TpzSB~9SriYٗyI iٙʰA 990arb, jٚyf3lGi4ٛcghv vHVWpi*ZٜE Pd ԹZ pYliwP=C9dP\๟T T ^vdkH[[uS8$Rn_ɟZ PW76& Pt 8YGVIPzWv39 ڞBB'}N0.K4NsM;`sicgsTNţd{> ub$ D:g( HJa٢H63 [ ~dBwatFvdCa`aU6 i*FqJJW*`IHdy@T@TF|j<ԧNc޴IHBjSgiivh(EkPk q{k+ jk k尡{H۹De/)ۻ˙ӝ:~{<Y)u;ӼqdHK*mz| Yȭk!e؉ f/Q ƽIf%,n}gyڨڪ"ڑMڨ,+ټۺ=SM*kΫ}2XȽ]݊kfڍ<ޤ6]}J4ݠ]0S18-X>==@mRߣI1 m-v-( N'_] G5.5~ ^㸝@k3c@.RBn `,=ij?EAZN\R%.=pʮ,Jɤȥ!4su.w07(.^N>jiM򚬱6ɽ{n1ݰ >)W⏮0~>J^3!م^ЗZ"Kg995~Q+nM ^줞KDjӒV]1@~~޵7.1^:.ʻ= yS;dF>Y^S!/O렮nn|6bӥK1N_^_ UW^ɣ DL]{c20: M3E85KS`?1_;'~lQ4N$%10tec1}~r_R}?|^Mߎߏ?;no [N_~o/ gw|/(N*Rȟ,h "_? 5ԧ CVۜb= ' 8Kc#ou`\FKfaZ$RX`YnJ|bgƌ4Ms:NsسTLnرrGVN(&zۗ 4gfVdB “P93dDZ9=;hb$Lfb D͙R2 B7aHt8qĞ3:tG1S2XӒPl/a^BZ7S዆?ײ%;oB'2G辅&p%̘eV5lpX3l.1"8Tmn,|h;k@Q,D2u^nj6᪅E{Õ{[Nxw?6_ѫue,n_%w$?VϽl=uC6߁ /tD,C1SQ8,.d԰EG(QqH`r!#c|2A]Ʒr ,2C *ͼҭ)JT,5Tpժ\3M\AA-Lq4\2 0HAE3+D28FAHc ^yt H"qsJ)c6l+TKC4TE38Y_I5#UΦ,2ѽ\~N=ZZwZ !dNWi׹J0u!EW٬J`V ?-sSEo|AzuaV)0;͠ y zuWCuW0I恙IcOf3b,xQGa-'frxFpzaiON3eOEh_{ 9ǭQ6mf.⬴ПۦͺӸl[ky7!o8.\HmY['uttV]?ݾshGq1G3]=tlrR`}xKES~i/$AUWPv\~uQٕY&J.m~Ú"d,Yl؁1o _&5ur7BmiiLi!B/Tbc%4qQЇpɝ 50up/b$$t;H +,ՔE""$%! W@{dHo`3ΰE10h" 9 N ˧%w bp֒ю UGIq Tcex1QfgL@S.k%,lh;3Ђ~bS+%GуK!&ywd@_GqHkD; ?Ⱥ~Fu!~c0Ȟz-7J'&&;3GU#~pHxȳc#T־/W섇v# }qyP^Ik>sCx`]j>#636۷{"^k8M@h+<=3<+;+иh/%{uAԣ9<4sm; Jߣr;Lܻ9úk& A#?2(k(0 !,T 64|ī+6lC'SBY(,17CE8:C,\|A;/::< {Ix=t R t@C"KACDn+8B/1$`B==9Dt.#iL<+ECR-\2/.K*;>>l8n+{Ç+9Rk6rٰ#EPEǵPîR`yǎ F4@F],ȄTD!C<$d D'eՋ3p|HCB;Iz @@HmD?;$|jRaڻ"I0RDHېpA[3BK&&J˕ZJjKy,K:#/pJ!J\,?$11EDֈNBWU,y8uEV8ن֐]YUDgOS#^T $XeNeY?ΛYvOeUX@Z1)إ(6Wm%r٦yZ lΙZ_Ύؘ%[}[z-?W۬uQU[E[ [ZۀLϠƕU܊בb[ 5=۶VU \uݧ]٦Z:ܰN*P\OZe^O}Tu^]}޺ ^VWjU]c ^NEV ҵMݤt=6Te`xнVYUW&Uq`^` m _R%x~ >]a&౜ҾŹ;U%fb8&a(Nڅ6&.BbrbҌ8(20cja6v78KM9;c:v<>㴬?A\CFDVEfߐFHdJyIK8MU3Pe Q6SUfVvWXYUVJT\5^e_a[&cF dffevhÀikfjmfCnpfor6g sVuX*dwuxsNzi|gf~a&h]FhS>f3^膆h6|舦hhYZVd)FVfv闆阖陦隶n<ÌiBQfK:^#Xfjlg ]ꦖ)R&ΩbzF FMVk bU^õkSh^mPnѮhFl\cBfvdžȖɦʶl4d]MNR& Dfv׆E^bߎ"dIl<19uH2P!#j6_@X4ь#>r12b8;Q1ܣrFģ$xDQ̤&GHPU8H:qL%;iOV┪,.w@0 & ky0}nj'jz̦ Mkr&8)q6L:Yu3x|g)ѳ'>c}L@Z4t=h9~#<RVK!$#Ԫ)ʭ[uZiIߪǰWlZԨc[WתnkڕѼhu]7,f ۬Κ!8Rgi-gY6T+;T)[RÞ)oiZX^ֹ˶ڦ R.{ȴnr+!owɫ!|ލREC׻J_:U*~1+Q†0w GL(W0q#;Nz k-Ii$ 7l5~6$ zX ./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetrsl.gifrc$$GIF89a,0I8ͻ`(dihl+2 tmx|pH,Ȥrl0kJZجvaL.zn|N~`Rc eQb ?  RP 4k2ْęǴ ˸hmsܷa\@6;X|3ߌe:@`@P>:Ĝa&45ļ !Ο>|9ọ6y^D:'EPʫp#HKH0J[ 4{fͳg_-6Y E+W\f .ͺn^ĻWÈp`*L $3J|gnm^΃sΪ˞-jU ް9Wt>]na̦-k΋L4r .Gr?A 0H@pK?Mz֓ϻ?vjwv7U'&I1cZ;GyTREhX!va|qX,Y^ @HMj<<00>~=6餏De+!5*\v e`InX^暻p ^ix|^J*蠄jh袌6$ 餔VjXH馜vꩧ~*ꨤgꪬ~qI*문J뭸)믁 &)F;Vk^fm{Cz e ]c [ /٦D-?ڛwPp 﫰2`C| T$śR 1c}$L) r0̌j 82!{s>̳?-sGH'm1Li3.JL&YtEOS7-vyQu!VLB汒O|&/l0-oq}5#leO>9Wӑ_ZzU.#ˌeNk6Le39,3,ZT 򢕣ܒfvJr#g>rEu^_+VV@ tS~4yiIT6(EMGկ4j)5[Q礛?yd<%9aQ2^*ՔVS׻恨&T:AfәчNtG7msζa+"Ɋhf/ֶ62)Sm`ۋ*v\h %7yP^MAoC2!')WAosj16kVt 5)r ,اu7.hOWnv%˸};܉+׶v 󎿽|~;,;|95sXOaΙmLt:ynƿwTJW'῟1gl(jh:~0WeYX$RClU7AT;LՀ$d7gy:qVg' * 5u1(9!`1T$HL5N@8C(/sTJL ȀwLnIo9!qsf#Kj)f8BLl#*l8B,Mi7jI8RUCAhh0x,yHu3U)'8j_@vc*fWIkX)抯B`r=7߳h{Ș{8XR+ڸ޸|x蘎긎؎8vXx؏`;/bin kKi$7)7l5~6$gy7)./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetsre.gifrc$$GIF89a𠠤,pI8ͻ`(dihlRtmx|pH,Ȥrl:3C Zجvz, L.z S|N~nqS @ q cpׂoRRƪˮr73} tu4 H[n(\8∽J@]%(.ڽ~ 32?wJRK0c +!Cgڄ\8Qx[; J~^FeZÎ?R^ɵA S\7;s5W1@fHcyJ  T޿.|wpߓ| ]&FwȔ+9 ai焈>Q喀Ѹ05O/m޽0aݹySm^;KB eYuD](W߀m9Xoο>~M'4uWXؑFVCixF^lg~_oYކg_f%rjb^H Mo6AvZMt ko5\7܇&l (X|E&%(2X֢M]gݘwţx>&]ͦFxaDvޚm1fR[ei(#[DAh\hM@(T[= V6UP!eY衠Rnݨ FݎD y򩬳: ꮙίf J+p$ F+5jƁ-)%NBk.;N9l+k$ol1p 7UfWl.<#N1聢d!qvF"'(h(h,-l-wL 1_ Bc<#J f*}t='Tr '$R)ciu\6 ^#}p5& 6_{PM2h MOG^{|x#>w.g޸X:#OM8zxCiؚC>'77 8O#xҫ >hsn<z'="\|c9'>?_r{O}O2K/|1c^;q}#]Ʊ+g7l^ (]oc_t?Ӭg4Ϧ-]Hm1| &Ps!fBm`y=6/'Mrˡ(ܰŪup`F8v|c &2EUQ?ax2>DC;{$JNw.9:z/# M'Eul]+AEJϖ7| cD2L.smHę̚cHMmb\5٨`[]xen(z'>~L @rMBІ:D'JъZͨF7Qe HGJґ:(M)IOҖ0LgJӚ8ͩNwӞOEҡFMRԦ:PJjP"UWVծz`M)U$ԥfըg ZֶhK/ Ӵ65+׾XQ֑Ƣ"tu]'ؼ*vd'Kٵ mV p䳐ih_plK[ֺeAeyg=, npgK !iV%p\ 蔵tVf6hH\ъ4mSRMUpD XP:[ ַ S놔?|`}QL_>ΰTͲBhǿD.R# SU17LcuOTрo,ap^t3<];˹X@}dYDN2 aV0'erQ\15T_k&f4nth^?/pQ k9;~3yh2& @7c:Lދ$zem4WjZ̯38QJB=+Cff[MbU{sg]z ؼIkV 0p6TI'殯be2]A' GoQl1xٖ b2kڰ8 y } @j8?v[9x +f߬8njq0,.2p/7m;mPUfe$?vYC Xq1 z;@؀ɢnAXFxH2PR8 ńˠ]nZ\؅^`vNXTxhV(\bVG0DtXAhXxA-2FshX4ȄyhFv-v\A_Cf,m _W eȇȉn(m@@Hd{%/x%K&7c4bZv\$L,P8Q c0GaNE1*lEW7ɔ 5 pnԎ؈u7Ct5鐈(_ PՓ;CKJőpH_SI;-ْ,Y;)4nB.yDrԓl)_1`>93YNix%HFDJO4cqvˆD$tHTB\j79LWHC\9׈i~vv5Gr>Ӕk9nIV7u{EMG iI7IqPI;uIE>TK yv8pi] śq7 IWARK3NtYEȜҋٝ=oHÝY6(Cٞ1bEY-^/-ٟ:Zz ڠa:_Pz `ڡ cF% 1<@EU "M2ʢqʣDz8ڢ/]:*OY>*O@,{8Oj/=زDWO`8E:)jeZХsr*%BPz_̘v:/MZYiKz05A9Ш!cЈɓ;b/5$By`$JQJ6/dpAY /کS¥$KQ_bګSh@(dDdٴC\qդj4E.rjzjz菄ّT 󒱔J*d<DLtdAeAJ K7PJٯ nUɩX٘鳰G^LP$?%aʪ#MI IFsD>6۬X/ۏI )HFJv?m C0s#*SW9dBfB:*ZHV?YDA8xb)fDHL.AXkECn(Mù{wy{s+87HK^G!BT䒘;7n˺oKHzlHKEoONISTۧRckJ;CTJT32MS̛K0JKIZYJK2ڏ M2;MGk,ڧ2\۸@|l`Wcj4{j<Ðd:UK06?ᄴ cJ|OFܧH3|,al|՘nP̷Ǿ/ļ0ɬAp(*9"c  LȜ8 PlO,O R= TYDN<Cl|Ωe$>{ D}kp Л $@=13?{ 11 O3 ,LxbЭԠő˾&p> Ч1\(R-T}V N3ZBMԲ);˰1ٓ!(-Q < ROy^mՃb]h붕{"A#pA1§XmY2Ւ]בCٚ}ͼ<,cm[$FgB<8qmӴ}m \ !ؤMkGsB{D:ѳM]O=ϱ]ڐ$+]K]}tޝ-em3ĝ#KS滕#;=}ۘ dӘR3 uwP>Ѽ0>!LҽNh0'nO*>q|荋c`6|<:>ʭ|FHJ2p-AD=>YND]?c^[0XNPa.k~VLs.>gN硭Pq{yw^sv΀>R]Շ蒮]-u铎>酮՗RcAܞ^mߖ<êM~~1n0!.}ؙF+>禾ި^m MmJ鳵(|؞n*^Iδk9=!n횞LCI@ Y=ةtP$þL^\}*EZiF_ /߃qn#9~1 } Z&(͎YY8n57 ⍾IC4‹koNne#ǒ$v{O/8Ӝ/0t|_2gjoyo!na?^"rOݻH_3cO=$}ʿM ;Nڿ~.ԟ^/_>bOM԰OAMZy4y28 qe[D9g {ՄN%` f tkvds:K}xω 28X(ۨ*##Đ%8Lu1Umad}ZT 4V5<Ŝ3tݶ%: |&'Or ^~#1KôtցP";s 2! RUI={Df!jPϤAϡIEq9amSMZ:DI%-ˀ+iNtB 5נbu7#H 8-Sܙ.xwJcF4;4žh^H*}Ĕj57eʲje~1`g [o]Ub軤jF_c|dtt~.^(lrko=é's,vチsv!޺Shsڏ[zO/;o8\m;|?K !? Q A+ пYD0S@B)F`AeQ9_J *$z A4}| ,Ɛ|o)IrqB2\*7?#=&"3J3WxM tCXdѭTs5IJ(st=%} RIT31wfLy30SN;V=@_2~3 iL^: EVF{=1vvs9m18ntS?IzrrL9y,&Ntw$FpU2eɺ8\u+kD+JeT6XoCߞ RF]dS"vL.nqp鼹8Bҗt|8YmKkr<0= :Z@>C"<{)Kp3+в\'huCMBbFF6ȐH5h>P%2ySW&vC_Gª`MCjӈHmjǦCjUUhTéS9:$$.EFdf}`,{FK ƕ_(i]LJMmU%! +Wpu,JNt"~[1rXR5+<4M5Nv*E.9^Is ڃI\fC[f6H|fs)]U&wEJ4(.OTF"t.{+_~ןk{Ewm,IkTK'NMƪmc%0@;[۴vZxm׿B`@ :BS+䥨yP yR@D?GݵYQ՞=g$=.zwl$0?׮˳jmkOUSs{a<^ueY >U.%v։R e{^tG\_[y@hmPg(f"S!h;l`OQԶQ$׫YPyȳvmߙZ9s00#[Oq-kڣQۍͫ`>')l7cKmwAU~qO9+ x1[eܑ^8xgn(=gV*.S3m=aE<-27R˛vKJiݶǙp DLψ:oЉNn{xިqA|3q^ŋ?o>I$G0m] yz^9 Nmx*={)+k!~ORIt L<*U]=7rG5䱜@ONbTMæ'^ItZoV`{RΤֽPJhg5SV JޫU|uk:5lAK^ _<: <69+<y@#эH;>@St A0!̑z۰ X4A ܸԫAĕ%A,B#,',BT(,|A*4z© ܚ3B)B 4~Aďh(Z97hKS tJ͵DL$,]$M$P)MN O,EDOY]TJuK N|PnjЦ MD *=8O,P` Q=}ItDPQ C  MT]P'OP#TTP,mN-m./Ѽ*E2 LNA"M(MSO"9 7*2%&0ʵ6}QA=@(T-B\RU ND4TE4UC [N%NT=]T.ݦ+%ÚSmXhQ)MED]U$ݏܜ<ԼiFCS$W}XIDU`sPOk%,VLeHnܔUӤUl҃VUP]Qd5' R$1dXR<7S؁mWHlUhXvX~8؍؛ώ=X]X!Yوѓ]U%WJ{٘e'7mUٟٞڠeA#ڢ5ڣNEڥeڦ@uڨZπګڬڭeIگ۰Â۲5۲ڳU۵´ٷ۸e{ۺ[*۽۾ۿ%ܶEč&Nu ƅɥ\Տ%E]n0e5Otؕ]9XٵA^ޭ%E^=e]^}^ŝ޺^_%E_aeuZg'&6FߠLd`f `{V ^Ngg9`A4N]_qt6cEa  a܋2D!F\;Bkt$vqh6'bX*aܩ/01&263FcZe6v78:~ < :>?@d%>NCFDVEfFvG~C.JKLMNOPQ&R6SFTVUfVvWeUd^(X[\]^_[Yb6cFdVeffcBnfijkT~dQhep^eqr6sFtmMgrdxeyvOgu|}evL~g{f{FVQgzhKf g.o芖択w^&熮xViniviiniiiFiih.fiR騖Nꦦix>jNinF&h&6kPjFir逾鹎i^ufbv狞h>~h~vNǖɦlkl_mmkh6Ffg=/4ڶݎ"<~Vj%>W}E.MH.;S k[Li$/7l5~6$@i/./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetstp.gifrc$$GIF89aL,L0I8ͻ`(dihlp&`x|pH,Ȥrl:ШtJ24lzxL.!l n|Nax| {YX XC {kzߛyXyX 96~:IVؚ;Ss_E LџǏ C xA` jBK{j;`GfɓN@  4,$=2KJ*y hŧciر`1~E[lZiʝK H/,Ŋ%8@(c癭h2ˑՂdCZRȫT%*e >P5R%غh̢3ӛ9so+IЃl^ƖNmsc6^>9˟O_Zyfҩ~ BU54oǩz-{ĭW߅f؈8VIAš~'w frcQpi3_\i(BBdJ8wW%8b1$\v}H"ė'& aaXc9p&/ti'3vI'_zꉕlZuUVZ=&7J65p kg5 \:<2G0;L=8 lÿ @-BHcνH10rD.߬CL5`- +-=<5p}s^oM1O=uCYl7M7x},>3&4Չ+.\w׽9];u5Gmn;fWt櫻nkM|ޤ˭yꨫ9^9[ng}(ӛ|>d~?;>[?fK@|‹ :UOzKw "O|_z;058.tt7~}n|;7)߾[H"J%!&:P,BJ;DX̢7ţTI[ HƟu/_$RA0 , F*ȱj, wF~|y5Fog[$bpѣ_hIofU~{@HNҒ6o .-%G08q26ԡ9(Г'|Ԇ̶ϕجK6Ϙ K$34b홸\7knv%'OIL R3,^?)΂>c?/xAaJr*g&jx*s&APdʼ:yGVЂM .qze$.OмhEUQ}&C%xSt6 $JjdkL$4:Roj4tdI)D6U XSR/w+*ԶBIԠ=i͸m5~MeU9V -QubyQsd}Q˖<$X';DrvU(Vγ^SZ6lg+זSͭnw ۺԊ p M.rkY*]*s/Z׭Eu݂f xݗby׃{K_ͯ~w_^`ڜ. w_v2BZ% ϶(MIZüpfv`[dY1 /Wr(X3 wfC5Ib >s+2ߙ`;v2>Q)z?wde5xaZVU]N3MuycZ8;Vx"+ߍm9π$V@ڠ>?E;:~I[ڽǛM{zQ>musaMkᦺָskgf#ё]d@7Ae}lY03 sĕܶqvm'p|@sh-`h[;1*sSXݶc7csIȢ2b Da*t'>P;N.Ưš,,C#^Tb?jI =1j'MaŪq+J̝;K1;_t\): {T|䆗 tHgdi>/'猡@q6SnܔVC:G}7LGH|襁t'ۯ 6zs敞ߚYyG4'z 39xa~^=)O|=5Oeo^;_goqG?/|ƯO4Oa9s@eZUGYMzf7rGXlv/ eXLwFTfdVMU-Ӂ 7wxSllWhu2IPA:MevXgDٗR֓qg7GPi[ucvuwxH)w)vt7yz#u5fǎG̸ qisz)X{MIDRU4ĉiƹ)EI$9kyYԅܩک]6Yw 깞מ ~y ZcT BQφxtxnci?ڟقfddqx)rpIiȡWnO)cVSI/adxD.*y 7fVd/D-y=pʅs#KSdMj_Ozx$qJrRؗğǓqs4Ħy更jZ}G|Sdyf0j6Jr}~1Lv z&b4dMUdm?3ܘ*WUHWrUr@z=kʨ.j`E Ǒ8:] GL$a֢c9æ?Ț>y`Z 4(zO8źņoƊ7Xfv*v*r{)r9x1ʭ! gX78"mu*Yئ4n ˚ו暮7ͪeXfCyp)wBǖf|1: !˔tC'g Vxf0;o4my%(ؙ;jixH+:zS[enp/,;j)Jz"kvX^wRJ8cنFQ n Sy J-h:\ATzzZWJӳ(KKyMmүlU-ƽPØQ)x{;vLXiu |ҽt=`,L*Ӓdǜ߯˝ 9 U{u A޶8ᾭMt.0N@< -ɖiơ|[K8yKc< 7>5t-ii=EmhhG!Ou\%BGܤmZR%9=^dt)芦ތnhe^5}=&^kT=ꪾ1PӱP>R0\1.k~Ȟʎdչ~؞nn}!PaH^~^֑hTY~<d M=O`FB o*O_?&0["_D)-/@B!?6߲>_(ACR?@FT.Ob?/_G~^NaOpngekm6.~nX{Zy_z\+4,?_unL><_,4|넝_s?+؟ڿO; kQMi$"7l56$k"./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetsts.gifrc$$GIF89aK,K0I8ͻ`(dihlp,ex|pH,Ȥrl:ШtJZlR`оxL.z͞po|N} ]\ \èћE ԀpĬ~\~\ ;8ן6v?`5uc<]*0cMFrwZyo◌6JSNBhA *Y٢jꩳ$(g/k&kE&t뮼D̯[MYžZnUt\V[*f *ڲtk#j!kF,l' 7G,Wlv ,$l(,0,4 Z<@-DͰ*:0 *TDKKS[5P_5Tt_Khl6HC5g Z7VCzGՀ-v[]8n7G.ypoL~uӝ7'y]^5{䬷CQy/;y~6+U/{꼯nܙ}8;}W˽>Woط>POw=nGHRrq>@捂0Bٮ@4 Ch"#V'O0 9w:9",V/!H2>N46x81yc!8m~eO}0 ]HBhJ<"F:g|$'IJZ&7N0\"Y"7I̮t{#=Kz`=7=j:>oQ/8׋6Mb^L֠ @.s i Vԧ3j:""IoU- Z`jEuu=r߶nSrcZ%u\xK^ȁMz}v}B{KWٽ~LwNk;l0'LaIJ0!/{gqg;8')8ئ5EFzVUcg8kkQ|&k&c;j>Xzc.38uejN8#s%rJ'b&2X&Tkbւ| +ƙcFvψs~mK+0u[2 G6ј2pN{: GPԨ¢SVԮa-ZwֶεW^#׾6-b?NfΎ}-j6zC]K8I2)ݬ|>NS7z<4Ÿ}fE׳cb=Y*Mlg[lfѐiku<q^ Exə#Fh!he7|ǵKM~t]H'w+E-z\aMQe*ry^8It.dzg>ȧV7ӗbY;L}gݾ,F^rfa8^q`ƯSxo*+vk(iܭfoI'nn}GdFcE+gc|XyyWuTg~v@|awn{Aw?AGg&W MQ:ɧxvJdq'xGY'Zi}9KR4/aGR'h|oz'Td&t+6W_5hZvf\tJ}GpX:4i4oyiti.8R WN闂'H$Dx?L`z]zrO]V{iNhVG 4hi5MR(w؈{t?(]mnOmQ5V㊯6vx&\c8nx%ȸ줌8$xdظ8d$x7k踎d8#xcn9i#yCc쥎 9y#NfBh8o7J~L2WGȇN7ZxP[f|xk*Ms{8QO8g洔Մ)}"xephccA㈺6[gdX~9 }Gwn7hLV|I SgeYx'u6b(RȓvwvYq9r:hgYx'ŗjyh6Qeg]9xO?e1 spU֖bYsd%{kI[Uk;et${k%Pt{Jiv6}i#g+L1='(FEXY)|o`GYV'i炟u)MwIp6<$rBvi4eiuن3UI|V֧tɕB)8ǖuo7z(Y8f9{/ [U {H~:z^ɀi mRZ@@VhDx(dj_* EKХ/OӒgoNym%`J\2t%Wkz52i8RHb\3ɦ-yx:u. vHzX&pڨ6 LJ|HTnw OYʷyMʘ|*[:9|򇚾 $e[87Ǜp^ 7viuxywvoZ}u](~8zv:MY~Juiz Fw0ȯexdMW[m8Z[+Õ&S!LŊedQ4w+Y{ЫhI{*k#m:ʶ6Lw\kٙRIIU;7v-|©jzqw WkQA;Im Ml;*Ăt gn|j쾮[t|=[IʞIEd ykuZu3$۸~czH+Z%S4IAݷӮ 彦]㭉Lq1e=|n]mf@'َdI-N MTOͫ_Cղ{>SXLd̛:Cn>:7ߒyz~^)+ܶkrlݍ`۰x T>xΰ=͗B-駿}dnU/}H*J7(Kݒ^{Z&橎Y۰nQtOJIu~&:^̤N~X,沱Qz̮U(r=o=RqLɢ6x 9:ˆG-eWpܧܷ '/N4_gow_FoQ&uT*<C5< >Xp:%dSL7/ѲӏjImzSmڥ'PeF4Y:RMsumG.ț0jkY… Hr)9 KR/]Pk:.`@,5'åMNLq޻FGanɪ,q5mݍ{HpdScv0m6qǮ|tm8x7; x@ˎ]LT5.PC}Qi՟ 2+@:p@Ь "0C pC?1Dv:e|ϛ YD1kHl.{qJ/w7n I'( [B ο̬KPL)|{2M5R.2ˊIrQ2/!BL˭5%ԏ(Q :r+bk;HnLEL/P" 5Tm1>->׌NkODUN5W]#u(N}R&SOT\ V1L%wPuA$I{T>:Z%*1i}iZwEѦbk^z5^>ŷ]|U_&`z?a ǒbkThZ<&I;4w܉!;RY^Q&ݘ]5MeM9Tuv/0.hoPujKvݣl:\D٭z㞉k;[KVufMpX9o4<(hJlPD[Ր4qbgInrv*ףT#]Z L1 [|3׻͸ o#ŬD۷}}/j^Ϋ{sJ}ɶN^twOoTjt,G_ƺh-zC~TL/%egs0AKa8Є"!]DuLe3 k 9Å/$aW:S K<qeIĚh8+s]MiHI XX/zmXh C+)cԫ̼<:N\ՊG2lJC]X0,~;w$W9Pb3JMg96qJHƓpd4&[w#ܔwװqwT+ DhTb$rYOROs[59>|Xpl M5NaE"N":˸Ҙlz8AdE(I)b_ hQVe J!:kZ HeQV%2 JzLe5[iI;LG40%V5$׌DTwz+ =U:+כix߮=n.ˋk E[z-"_t 1l9bf]&ͯ*RRzE'pxksF0Z%:[l6(n79^JrA-yxvEzn봉Y45+-#U9FC0S(k?)$a2:@=??-e2+ӥhi3@"SU1AG3+@>ȡQ"A0=l4aY?;3T1P4AAP2;+BA̡A?;%>)K6)| Kk0dB2 }2 ;+< -{? 0SA>8z";.d?CC м KAxؿ& ED^ *)Mlx[UV,E XBZ4\E;ED`$_,a4FjcTF Ietig!F_khm, mo4qq$sDsDu< odwwy/u{L y}}ȁ$ȃd DȆj\Htȉ,>HpȎȏɐɑ$ɒ4ɓDɔTɕdɖtɗɘəɚɛɜɝI$v ƞ$ʢ4ʣDʤTʥdʦtʧʨʪʫʬʭʮʛT$˲4˳D˴T˵d˶t˷˸˹˺˻˼˽˾˿$LDTdtDŽȔɤʴФ; kcNi$7l56$pk./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetsus.gifrc$$GIF89a,0I8ͻ`(dih,@,tmx|pH,ȤrYtJZجvqxL.zn|N~/xa |~O`~ >  PN 1bwefctּð Ǵy߳*7M ]bz桁ŋx8aMd1 M;g.̨6v4n|2Lo`Q7z1!$a$3(OkYhꔩlWGʽTi*%pp)-[[ƫ!Zi*hϯcRKr~)gol )TViwM\v+D di&blEn)texgp矀Ngj袌hF*)rh饘f馜v駠**Mjjꪬ꫰*무:BLkyk*;,+i20pڀmvijD+-"۞ނ)TGYV{D5kλK0 7?\w.3%,/ "5 r4H<s, mtFL D  &P'ME]R^:<}ATBV{uZkuA/z߽4hRFq9jv_{E '~7@my] :I 6wy[P.o.֞.IƏ$7<;5Cl؇ϭٽ,ۛ3+y~Ŷo ~ȯ W=anr(@6}'嬁|`wQ Aruw8B3=0k<Bdz!XJH8t 7"AT\ ah&Iw*kxXxpiÜ@yq)1VcИ0dcܨEѐD#K1Kc)%eo3XF5zLd& Ƒ;jefRa(II˶!j;L62E$@L[іT&4LLBm,f29̈́=Zx6E0u021aL3F8MfpTse6Tz,5ud%yK|g;M{"&HAj0n‹ Il5QlfJyVvtˤOcj+M)F3kT|iӦ"==eS NXN[]dN8z\Cz2o1~דEӪ HNɰ* BI: i4(FqK)gq^)`iM[%MVZAah['vӭvM.[9u^>ZVͮvzV̽-$FUU.' [.0C4!ya ;q_+R\ސ~/|wHDIpUo[`.a\_3) :aKVC.tEv8L,qb$1u_`x'ޞ[Bc%-ד!ᆯcǤ0ELμU;.GNr讌ewZf ΨC3 ?47Qk0;-^\= g`+*229|nl:yϓTgoJ>efdF9U\/]KYB"TȦJn |0*[҇{1ׇ)̡Zxy4&xSY}6GqKD2HWNX>4NYGM5PuqymQ^ SDyR3Z\jIh{YskשQa9{zf5_b8'"}}<ݢ s<=u;s}7n1T3?w_|>,~v)]Jj.quR`cߑm?Ll?y[!$~}#Od]Ux1hlv16j4]Xx8+=F\h(X!egiGiX?4 pׁ2X0xnvi:8[Zւ?q y)8Li벁ÄH1=gTAl%b<`hsnd8'oGCqvhpbh|wXh/i{~mȀ>? tHk6͗h|hQub<ȁXxa؇8IXȆ'khQ88nHWy,x׊h$GHǸq󧌽h(5h~Ӹ+PT8߈ɨXAȃoYPUHsĸst_T{cHWfQHHnJTGhw=gVD( I yQwTMJѴTHLcv@Ɏ|3#TIM%RDlSt*w{LQjeDVrSG+?A9{/#ktJSSE򔦈SYyzb5/'PU╣V wHJs疟 tvٗSȗzXm؍xT@h(ə؃0Yy∡Yecx(2ɚI)9ٛIٚ 9)ɜ)) \1Ă_9)y:hf֝ ɍr?#Qީ ihSEbigfyY)\(tpvh) ͙YYZ  7 !j0Z Y.'p5*H0j{#wȤp)kHid(0٥^^*':) (Ȣ G=ڢjrlzWZc,{SFd*E|Jzjg@/$^@Zq%zJ Zz(kzjʣr&ꪭzZ)ʏP+ j#-zÒĚG⫻jGR2} Gҭ2(ԓhZt Qj'ի0 ӫ$jdO b: *x j:78c1P" \I* :XO4 !O!P0"Of Vx ߱HXY%**X*KjbT*ɴI[ꂣʳBO B ~@XES)y*kTr.];!\ pĖ[@:JD,+y{k;˶,RW5NV=PۛS븛JOdK[ak% BҺr+A[ çĻ0{(iw];[&܋JjKk3{˾' +Jgdnʿ o⿂K+؊ o9 \ۼ{d!,ĺ&{+ /<13 (*|Á7\9<;<=}. ~^w~~| 7$^Yk|yLpy-˼2^'6~sG@NA>B^/pmZ;n$`PUp0>P㾀XGOk"s4RR`_gcOyJI{h^&bLWDHq&jNTMYy{qKnf4\lLig %s|Ua)N[κWΡ..;q) ~XR\"D~F^̴%Tb- *nNX)]IUήО^ퟥ^׾Aޞ#;~7.->NyǞ?_; kZOi$)7l56$y)./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsettre.gifrc$$GIF89a𠠤,pI8ͻ`(dihlRtmx|pH,Ȥrl:3C Zجvz, L.z S|N~nqS @ q cpׂoRRƪˮr73}|y42pРAqG$V*Avc1>Rc&L i\D X8h&Qh#S;O\I*^⬀S\702Ya@ F~4k|+^=q?ڥcr R wjGyu;ժNjZzN\N[OA׶SฦFz/È]}ƬCzې '$e 4~9hAh뿵g뾭۵kmNMwᖾOÈ)p>lZԍpweWnq`nہTבWa|f|ol}˅Ysd9tHv袃/rX}Fރ^@RUL#vh_NʁEPrtvgؖux\^9{֞EccV~AؐdL`y5N%E{𙏟(jOqѷeH ]PU5rJ Z/ꕪ,r,j뭸箼ZP(\b$&:FslTkf$+m覫qn+ _۾{B1x  0 + : Gg_c k= @Om!"-pq9Nv5 |ě~N~ @ 0CVMBPg0]C#JъZͨF7юz HGJ҇:N(DcRN0LgJӚ8IYӗԧ9 PJԢ):SԩHTJժZJ-SzBWYzղhMF*4jEB:%Z׾5l}C%%N"+C El^JZ% lJ |v:joe%(# `j BURY@F\6MzIkPB'1ɮPRc w:uB\&Oی`Ipsu n++ "o1 6tαw[` 7c@c98 0Y}^ʭ1VRXlkU`@)W/(7gβ֕`Œ\(cBSުl%uxYEme:;U-0~_,f[܌NeƅG[h3'ѐNeĖ.D5tsLPsU?3u^\WB1 2Cnw7f# wgdF)SӜ zϚ3}drm-ĊF\uS׷5}d:r pµ? kసT,@nd wlk8'8nW'J>ؚ+w3];9,$Jfr/J=' СNx%bQsY^싽zNe{hPPN6\wmw<7h#:'w7C~x9+{>ЦZ@nRU>}osz؟\2~ ~mEq&Vv{z|[߲˷mͻ{ivMNϿ8Xx G8XՀ؁ 8$X&x(X(l)؂.0'(8:D\hB8DXFxH6؄(@[Raʰ5jQ؅^>biPa CmtP)k_؆nȁ4(c@gPa@m%ۥjboHqXs]@؅`b{@eȆx~h@T`T`^Uue-@!j/|D!`E%x8C'ЊxȨO c08BDZ%BfoqJ(`O˸{\m;Fesh8=gp^Era;$J$]ैWIE8Xx8P)j9Y{ <3y8aa -sFCBTمiqwptIsID9^)wYjx@4Hٙ9pb툒`K/YHQZLy.(‹⚼9#W"Ĺp?䢜YhHٝF-Yy虞깞ٞ9YIH-딟ZpNAZzA ڑ] D'ST#` ġjI"*,-$E/MA(zM*Rdh9-8ϤH=AjMHأ!ڡ ; l5*%)GhXS.+C0IzK;/;JȈ'zr\7|tB[M >4cZlc X?=F-| 2TB"^Hxr:.~*b(4v:@4%JDԱC;K?T E~AyʫB褿 L(kE:=VkGNGLBLD2ķX5LڳYc2`C~kCjd'@ScHq+Rk;ZBdIgY:n˪+G7KV븭[n6 bژdIٹ jʎ D~`;IQ=,2m."cJ)3C4 BF yqGÔd +e0۶ѿldXP  )ɿ-웥kةA㻇S1SiC l&lGDȩM*|-l: E@.B7\>MI|L=|"I*^QƮƉ"RЄj Hip;q\(slz+x<śa $6Ȃ\Ȅ|ȆȈȊȌȎ.SyU;nBʞ݄}ull:܉NTʛ/yMʪ/,+5PȚ/μLj<8 TX1|<,D /|ƴ7Y6ϻIٔYο.K( Ν:׳'NLN؛mTV~\@Qγdg7xvCۭͨU`JYn>5 ۽ \@m{.zo\ܱHWڣ-=[1針˔CL0N.LEIG=TI$: i~Ϯ]-쮣ܭZtk$Ѿ/`P-A+z:?!n*m}ֈΓ^ˮ[e/ lVfJ0Δ.Zm@ H#C9V _4g-$@vy笙>fȬx%!6t8- ΔK6+u.P!mB|CZc6MuGW̓UU{UVLpjSrՇdzV) V]aEH+mXg2s'\Vp X7UT/sUdgAj ƴ<5Xa2V{ bGXRt 6\Ei Cu]`YVD㙴 Edo~5hA<9Sg^i+:L9~fa4]߅6k>jXτ\xmf֫=Ocqu>ɷ1);eGNo(D.\\rE6YasbGN`̍rEZv,{JY'Rd6s/ӭ>'4=LS*"FvB˪BK?@t"@ÙT?bq@{:q';<1@EA|2 tD8:aܨT@p#7JA4,A$$BATB|*;B$%6=BBh >' Ck6AzC .:4;?*8p0C= EDRх`PZIN8LT4TiE.TD]JZTR 5STR()S:;U^ՔTIa]LU]T5U,Uuh%eV]SkLlTC'-VQ=KH58t=tV pa5wWn Nz{}R}Qɀ؁5$z%X|҃΃`XNuXnrͷ*Np/XXکTAEʑ%ْ5ٓELeٖu١\ٗٙYٜٚ@_uٟڠڡ= =$ڣEڤ--TڦuZ5ڧک َګ:֬ڮZâڰ۱%۲5۳E۴U۵ueڷ#Z݌ۺ[ۻ۽Mۿ%¥5U\@uuƅɥ\,=ܴ\]1%eU=օ]إ]ʝŽ]޽%޸Eޮ=e^]|^N[ Z̉%5EUeuM߅_Ch!_GAoc$̍VR M Ɂߒ__yf v`faH|vOlP%Ba .b `. 6b[U%f&v'()a,-.b=02 >4V5f6vc49:;<=c9.@A&B6CFDVEfFvGHIJKLMdKcNQ&R6SFTVUfQOnXYZ[eY~8n\_`a&J8d- ^>efdg.hijcCvfhdndoEgk&r6s.elBfv6q^fqFyzGVgpngAe'f.eVm6胾燆6|n~hfFhhihFVi_hw>iNh.钎h.^N單ini~h饦铆gꨖjFFj6ihvh&6keXn.hg>뇮la&6lUVflcNk^nȖ^ĦVg3l*&6զ 2f׆Tڶm7&6Fn; kuPi$7l56$x./usr/IBMVJava/html/enterp/en_US/gsolent/images/atsetust.gifrc$$GIF89a,0I8ͻ`(dih,@,tmx|pH,ȤrYtJZجvqxL.zn|N~/xa |~O`~ >  PN 1bwefctּð Ǵy߳*7M ]bz桁ŋx8aMd1 M;g.̨6v4n|2Lo`Q7z1!$a$3(OkYhꔩlWGʽTi*%pp)-[[ƫ!Zi*hϯcRKr~)gol )TViwM\v+D di&blEn)texgp矀Ngj袌hF*)rh饘f馜v駠**Mjjꪬ꫰*무:BLkyk*;,+i20pڀmvijD+-"۞ނ)TGYV{D5kλK0 7?\w.3%,/ "5 r4H<s, mtFL D  &P'ME]R^:<}ATBV{uZkuA/z߽4hRFq9jv_{E '~7@my] :I 6wy[P.o.֞.IƏ$7<;5Cl1xv{/;>|~>r_ǯMt jJ` 4FA zPBY״}<TN B4P PCW%XxpY: (t"cQ Xtaŗo$7ǵ([ ضqj3 0m4XW8z5r2Kdۨe3|,8I Ҕ}"I>2p{e!SYJ&,]y"N]&H\33t[ ya6e$)WLJ |ȂN2 "wYLlZ@n%+JXD%X.!8-(Nw.Dg9g)dҲ4(=΁:T>!49eiZH^!oYLnM E+ChܜRNUM͔5MU1픧15O !^\j*AUjUTb5~ZꓮU Sg"kYӷp\!V5|m^׾}zW嵰GlWmXHb={l>]vl4+QΊvg$T7Ǝ3kwF_m`:veT:u';n>\zt#{nj{9MrKَ\],ߝb7K{Sq^w˝xV7eL \s%?69%]K}%p۱ʡW]}0z;WD5R'XK B򽛎M\mY[g]m\ vDVgkA*mŗon}XJ)3\.F~̮yI3|$Ysg@;˃R 0D'zKfb7n+}K6Ӈ3$˃r Bib!UhQwj~)$kҺ!kJXbu1<_O֙l}NGaSj,&A/QƳܿ8wlvs!u7Au o?{L`5@wDNӕ" USZJviSAA-Fg\X80\B"yqqZJ]9ZrGy\+\wܭiv܊q^@HOҗN0 }DOѣޮ+TWԳiS\jh_}d}z =N?{Wo'{ܿv[Bþw1u_ܲa2 >Ѝ5{[fwj,oy p}/K7x, y^\ט6wO9 _cƯ웝Ok]~4g Tu"T7uD׀o0Uwrj7}vk.`od$l>sIjdSD(=%(s'oGeKoԂ+EdIwRK/HG&I)(8Xr:hRJEp8Pl=XlFKӲׁO8OTo&`8J䶅xxx~UFaDdS&GҖNN؃ަovPh+~q4HLPxP$Tp!%nTm…'RmԈIFWxz؊׆ǁ(w8soXo8}:sȘʸ~ׅt8XB}7Cȍ9}r(&茼wާǎgy$ٸih|:}5Da~YШl_26_wMq`;{)\1y f pg{06xe{x&jؓ>x'~Cvø2 hkE)@t;鎱6G),0#XP^iۆXƖK閿(FhƗ藙&0XyɨIIQ,`ɏ4I~~ag \yF<9jX>B9kI5H"$^VEiKԚY9*i`LO0֜\b@y&cI0 (2 A⩀@7'4I.6S 0!ٞ"A)u(I098/p+8 ڎt.mWhINXiz 0757 *!Z#z'@IzjIʣ5 VKjV i ڝ.4x3*[:!T0!J=GZ#8CT j:)ARtt!0+kT!9rȒ83uJ8C أ|J~"؟P2`_`240ZWꪕʪ\z񦷆F Z@UŪU:XD %2w 务z9`JB]!$t30ڥNɮZypAei4JH) ۰ T:$J kˍ ( WIR0[*˝1Ӳ~Ų8W:zUəvBkD[XGM; ʯQ{EIL[9Ap^{`wb;Gr"{h"m{GjqeKxl[:6ƷFɵ}*ihK긃f+Upڵ+r׹Ka¸(8 +Hk&1ɺݤT i PK+Kx˼kp *KӋn˽*j 뼙K㋾{+˾k Kv+˿k Kk+  k̄,lK;* (\*,|1«4;#lð9<[=?|;B (WJ\<ij+P|]_acle\=m-)ܼ!= ]1}6-2*},=(]?8]=}0mAKMM)c(R ՗(^-`idݖf}ujݗl֭8po=(v=x |~؂r]"w؈mq ؎]&Y'V]]trJ'q;ڤ& $s8k´&ۨMgbtfrhцٞ ܪmU#+mFtJm[]=%Ml%њމ--ߒmF+rmhF߭`ڗI^%ǝ=&>=UANu+$#~*,"0.-&>qS6^/^<>@^D^F~HJ;H kGQi$s27l56$ys2./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrapj.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3K 7k1o l p/l(l@$ ٤ W)|\* hH1|+lg=%BD'ìBT缆 csQGd b^oQ8WݠS6]mX#yf))\A]]۬9pi- g}cR{wՇ w_ns,'3b.sMsn:SiBCsKڟyy5esNcwD7~9̓|ܶX?K_?Rs_>qCȝٯ r mdT@͂ *@0L1E/IH8AsXA;eψC! 8q]`HE4UQl:hwEɝQ6h1=h۳,(v{ (:+vGyᱏ.# ?|\<"_9򑐌$'IJjU^dlcNz (GIRJ[(*WV򕰌,gJ7򖷴e,300 0IbȄ.&+2$2Ȓ%5nzߜ&0gg8KPK茧3bXфh0ʇ|e@sPL 5D9Rd'=?k@xiJҘ̨+ES4:mFظD-niOoZtOZL2Ǥծn\*HpSZtxKԜ: *X\WzkS]5/0juul[iXJֱ¬ldLb܅XoA!i% j†;M5mlq ˞ Z:zs-r1K^3%tq~rL+r}h*ERS/Kw"vx<0wm*zWe{o[ <6SޥwaJrs+u1Ѡh{=T]qyaT7eV)S7 Ux;lUc7+0a ~e.XbZe.8V XmE\Lqc`}1McTswe's`B >Zr]:$ kIa#[ZQ,cvHxz}ѩ^y!媉yvj}_8w `VywNK-lb/؀vadž4kF4iUť<\M'Cv%9kRJ(@@*2rӴm]#. r*Ld] >Zt_\>N6Wa'r 9p7tPw?ﮌ{:/gרnu#P5alg8Vy4y y N:T?Z9Gm1{Dܣh[}zI}Z־Pi_%+oNfZoY76@ !Pgf7{`_0k4:e^{{'crjhmGrҖNqҖQg'n(TFxs嵂tnw~DGy@u.iV~Q{(c`~P'u(uui~'Nhc/z#hhɦq@vG|sic}g> hrmnhlHi?`yW{4d}@s2xO6^ZJKF[ 6mňX/_(fwvk&mWs'r&(Ax}-sS|xKj#C#ojBUWH&b%m(chW| @}v'hW}%x}Aȏ'}|]4gias4^[KR{@Bj9ef YP=W lh>ȂD ].XgId8gux)ts犩4&w9.rOyxxQIdTyDu֕Z)_x ee<`UIyi S>R^)慎HI|9(فJ㉐z~" )׌Y7y^;0ٝOhU_\`fS#鄔(Zd7BʣxRʤ48Sn\NW[uiX7(/a<\JcIEGYH ;I^ PꅉheoI:dZxZ*]'n5a)c*GfzUabکīZʧT'RseAWDZٌHZMFLUzM5.D$DTĺ㊬YKꮁ*T. 說Yůe5y3:4Z eF)U ] # vI;[+dYW7ogu׬JouYun9j(KZ.*KQj@{D0k;kC)DIV~NV;ZŮz+m"5c Pcf3$7K^۶Zp+ru{L/ZI̺<2:Q%K[Z}Qij[ K)kOO+2*eOi^䳍kw,PZDDs9C>`ۻ{Pz\2M[F3@TK넪 ՚DZtBĜ[ AĽb2-{F؋@=X[| _2 ,;,JGRLVDXZ\^`d?jlpƏĴe颛pp.'\Hr), 1P U ,`y)h S1y .3.,#|/r(fbX"|.pl#DrmB˜T/;+I,&L Q=kIeAd1M{ V w,>SCSzˮS0%[n˗tȹÌe@l<T lI{;EP,hαǻ|m Sl/+$@̫07g/0إʹ@$<1!@)0vʵ ͮ!r&}_&B,}:E=]SmSAb{B]]\Lʇюc(@uO%u;. T kMk/5Lӝ#4a=:E=lDdXQqb ջ2]=%-zST-҆1BPѭӶ"X "l8wv2xE-bTV^~ffm00U؇ *;3?40վ_̪ԷxՑG:e|bBzCg=& ڬ"2Br-hX,:tވ]W#>aem7~C³7 bG=CBCuݍ]%ٞ;Bs3$b `1Óg /=>z] 6h8ݣk,;CLf a#5^;J݆L ڡݲ \nfX5ɑg~@$6|CCb^?BW!Ψ~c@L\ ,Lnڅ!r9\>2neaDƃi>*To`r}+lΓ>\s7MnN\S ƾ.D8m Mln>`-S-SMG!" pL-˩K^yz& ɩ9ͳTۅA])ޠ2A_3&2B3׼'c.m-y'b⹯ȋzt0Or u/akM vŭaZS\?_o.8 ±<!h<"IT|BG(ub-[N/L>4 9n=09"&6:>BFJ6ᘉjn&]vj]e*YƑ,2ڬw/ >CFSWW3gW)crkN[S뒟b&&4,4KG .  %9b!DrǍLkƆ"ȉHO^c&c ޽q TϖmK2%ʐ%T+-= r橚I`3?e8h\ኅJ=bۗ,Wy9(7dGgHHnr;+Wp]QvM5au3zbn4 1Khy95CGVzΠӈ5lөuwKk۾ SaLX&㴼fɭ?0 Yr΅ ?Ͷ@UHqyQmsY'ou b~!Y6QIzy`:#GaT VTT!)S|\3c9x}]SfCY_ǑPhWk8ƦifBE90 UWTZf^r!*mH8iF3mX'1mؘt*m EG#4ʗAgk/tZz$o"I"aԘ#++{|sG\۱***5,(1ɦz.b&.~Tn7' n^@0001'qXbsܱoB1$J-#܉4\7.C]t#MK3K3ݴOCS;sQL Tsݵ_OJ6k6o7s]7w۝7{7p[]Rghjĕ%cP4a?c% OH9&sVe~_.otMޤIz\~l޳^v)hFo#*rI6}8.>rWN:}7pErN lRE#9'@Rq/[ѫݕgz.? uċPc^MUkc¬կeFxڷX[T@}`0,(Y̢ nja 7 lB|"A.hO(4՞ pH%JUa!!;UҝM'ZQ;:VLjˀU9W#h2LLC tfa):CH~k`n)Qr;sN` Ҟ(13Ntb.R_e!GhHrp r@0y@]xM*ԁB8/+4dD/iPqiڥeF:s&V@6 <lv "NRLhL4K'2Qp{b@N A1-e8ϩ™VUd.)Pv6:ŴOڌvԙuַµ5&g^tB:gye׺ԵǽZ X,c "6K=Ga/lx*2$r~,Q M-kWl3&h銺ze m8H۟]kQ\HhpxL>ÅՇokkzT7]T?Z;E+^.$C˝'yki,4U@!W%Ut h(wcȬ/iބ 3!nmԡ$!Y! =ub'H_+U:NrFI4eH42}.͆;IRtx?~8r J`W9^*,E6rVHyMe@Te*YYaSRn~-(7h_Bbv& VӤfrD4 ïs-0$C8 sVbca}R~+Jhs>4[=LQu9UtBT3MY(s:q iyڛ7WSs76qDk򾷋ۃ^y0?v)-;8Jpf\l&B|:A.kඓ- Wmk\zkb>!vG! =Fޯ.!3_ukBfb8nXƒ9ymrV] 7z뺘Nv|aB/|,00N-,IAӾN9[,i޴KpW pW"x-j鿓%EQ4܏ IUHҷaS=uhWܱeGB'>1;* /};a*׏AA+tSո:VBXe7T^_S)%@}\}^M ـ9IԢeRƭ}R}S)5/ZuNA Ơib A`ڰ iUTE {\DIa0% `!Y!$U۹Z1![Տ ʔAZ^'aZt\ SAPP( V.ա ׽˵\I;a`b 'a(&bbF w-޻X%" j.C]E))F*΢0Y/2΍3,/`4X526 2"uq' 99!7z1b;z<^V1)!I-Q!#|^M$ -φ^^=$UtYUeFң#rƍ-5*˼$J{$EQQahQP;_Q2^rKQrd!(*1BP6/a;e6֢=`d2`'F½PS$>FCbdXL2?S@ڔFM=AE WJbMe‘VF  &TA8&If'V|kX-bN 1"TREE!fKL*$Le0q[?64 E?cK{g.Vc} }nD~'r'{>X%`!(8#ٹL>(D'8^(UdMׄ*⇎q8֋!(om##?h*VFe%P1dMgOF!hը}хqX`;%bde*R$5d@gM)ʕߙVY97ATbVU\]'%*( hCQ(`Y.OZv撱%!dNabzN&EF)Q1–vaj'iۭ=i ))F ԚJ%/ͪbnvFA|Y 4q*Z鸙E%k C5kiFf[f*XTy.**r>9ĉՈ-JMbKR%n˼\lkeL64byUz}RdBLGUQQ('+"M X,q"hl,½gK> ԎZHb,&ک7l+Zl m.:J}mlmܭԪdl+,Rfm-lLPmڭ^3lllvv(N>W~h|@;(if%dW!iuvB ^Wf$y᥉&aZjzVQv)APxYo_VSĞ^oZ#Qu~-J].H1Po-կl^&`56Tz_~dN.=&e&k6&ںI`rH+`{2hrv$ڦI&}/nfapZ0c~ !&ܕL9bQR? 7n `m ,zJlqfk@ h-L-> g"w{2nK20 .&WDxrߞw F0 תZ%2.221{..od-rP h2+3rl2R1!"^2C. _i*n&lUR6i>W8h${޲ub3/?rV)d01œ4pHoYGSzMMtI5Kt>Ǥ_o`!\3k9 e v0}pg Wjk*5++o0spn~g´ riWj+'0NYmkV\4oHNk "f,V/bp`(RUSvgIDvg+zvi'\9vk"h_k˶c+mӥN#n6E6a3vqnvn{qq;7v\>ur/~!3C2=_ v{5^6q}kaiHj)U&4O/vuZ4at|/6Gw}KituY|XQ|UfWK7,0&4Ye$( wx?T{o*+EA9/`6{ f"+=e[xw +q]^8BggWB9 ^lk5(6)cGbsm5ylby8]%hkc˚yٶ%"Sxc9tUz(z}؉73.:?+:*69u=9w5w+>4裾~Wxg>8G~~<B#5 KS?KkxQzst?d|њ H扦ʶ L4D`ЈL*̦ JԪjܮ FB"9N ˗c(xUgTW(HtwXiyIY8 *:JcY z:Zk{;; \+|KlF |x$}-H ^n~>5n.KVlN_>o0/<Ȋ`, VR0DH񚭛1=:z2ȑ$K<9,[| 3̙4kڼ3Ν<{ 4СDJdeL.5;JZ}*5D\zjUXEXՊie ܭO²%ҲsKKM,\~ 6Nһb%l8r];-VVD{%{b-f9C:˖3;:d3EjӦ-xiټnMsݽэK?6Y[F~ b 0ɂ?-ߒ,y|Wӹ3.BnZ H` (t{Cpm6a^hana~a (b$hb(b,haJ sDrȥb0c@)dDidHH^1E5D}(Yne\~e`z4Te])flfp)E&9B h*hz[>EؚNh^jib69镘i*"*z"O8.q kkj)y6 ,6 mg6:{Fv BSޘm~n w,nݪt읙(!.pÄ"\ﵶ';BީDULG kq$Ie 32lj+Z:K> tBMtFtJ/tN? uRJV_uZou=ػs"vujvnhEwvߍwzw~ Nxx/x?yONy3']yz袏Nzg骯z뮿{쒣.sߎ{{N+g75O9+{?X¼ś~p18~Oy!=ދ[NR.Y?,鿽|$`❏L_Ap:p~ F~" !>.P(mw@>pa i8p:;6a %=^ #h pEd _@Y'D]:|b)58 x^Z҅ш<" X%Ѝhc eh3"HJrvK ?)f$?F \T(;9AV0$_ KUv{$gXrۣrK,|id*s`e hJsȜ5M‘lL34ps,9ωts^Y7 s=i ys( Ѐ t Є*t mC;h kXRi$< 7l56$0{V< ./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrapm.gifrc$$GIF89a,0I8ͻ`(2`hlp,tM $ |,d ШtJZجvza,,ߴznù!  3 Ostq|tv y{WM88bs z|P&UQppD TRдm۽ddy u(γk$47"2 vG3❰7ћ<{,ޫ}]^KJ4@8BZ@*W8)mc:ed]#-X2 $U͠,jݚqFy^$(HP6-t b.šX1fJ ѢdK?ʡA 0HDݽZbYsfz.遗Rقk#I.Թ- sΎ)ʳKF.zd[t[rHɽewXOT$QvG*C9f*Ͽ?'KDuA~&b)ȧĄVh!f a$H&(d 4H8bM!hH'L'ݩOcTOW2u\W_۸Jdvg9vl67O[tgBM4kVwwK'=8mxs'qmPM9jOgNQ>yh޹CApo[i'yxWr<`Ў]=o _(g_yaZܘ7o<[/Km>䦧F>ٷ' 7?9P' <`tW:~%} s> &ph}A"#0 BƵp8̡sX¢@(" "q=Ts&:qI'ZHaET.tF"bYFAq_t#-D41Q, =qAV:\?׀L =(-zMurf@7DgybSէ8ifIAzRt G#jLbT|MJ@PJԡH=Rԥ:P}Sm68ƥf)DH}S]UsMUW{cҊne}7]n:P3ޜkC5zEg8XWtkvPU m`Yv -hGkTW84-jWBղiaK[`A%b04Ú) Ď@ 0Wĉp)x#cb)Cʛ_%x84l/?>/3 Mӕ|;.\ړU,6DFÁ.'ESmb 9^FÖF%*5dơsYP5.a[$xU%/#ϋ.]H] f1߉2 jkṀ&uL;`YkD9ŭP49CærLR+ZC/YeZ1 b6]l/܁0Afսvw="}-p92YS78#p x k*8c4񑃭&GW+ϷgNi; kfVi$.7l56$!z../usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrjex.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3+kEޫ+<:' [& +Bn8:&)L&5<1L\r $l <,FE}5sDwSW=3; \rI%qO֠,6]= ε6ks-On}h w8OHNmT 9C1?-Lv呷6zڋ.cw%0S>6o6du__C_9o._{/K_4ef5$q-68~ATH*Z SEd` c(216pH:x̣>2@IBL"C##IJZ̤&7Nz򓠼$EP3K~dM F;CO)Ol3i-hiᾳl[HFR+s;+]RDfE[4|)o R߼Cfㅯ";VVsV巟nw_-uH Ez-$tX vŭE`Y%|H>w@wL1ucH@"CHd GX'w;ru*ih Ͱbs!HwŲ#Mȓyd@<5E7ц %Wю6`io7v"  @7lD,H8\h%2Hnzwb,}]L67mB?@Rݕ,7= [+o/ɟf̀mo[tw- :g6. R۾B e׃ũ)zٍعw.e>ށ-Nþ򽖺ɞ`n)#? ~H9sx1_|37Zp߼+$#@ᇄ￳oyqyglo_ h'` h&8z8[t;t`peL7~]pd>{LpYf|@|>Xhg[Sfkm/v&f^&`kWq~w{'Xh`GS& #^b[CU$JX O\*$xP֡)e fW#fʢ٢++v3虧&Ǟuǣ@G ?x9mᔪQY&U#YwM*"~Y؆kYڑ*Jyh:Zضow:wmUJz}u^枖y WYHCf헖j\@a:;TNI)sڍf_:I ~G`˶z1 ׮[f wJPeUN+gjtuLkZ:Uk t"e'&qȚ]܊Jx za(/$ij䳡;DN*P,5;ٴKR;)D[̤ŵPIկLS9#kyԶOk ?۶yA}˷C E+ū nʔ'wZ[ftN m2W;2rkOস붐ڍw벣{Db[{~{ZK[I~TԻgGi$mRs[[x+˼˹K6+ڻI G+KJ-,g$N^ľ˛O Ҿ[;U;<{;$qj;\d  l[ 켲 \&|±Dk#(0@*2-D\F|HJLNPRiyײ=ؐ 3gML#@ b`BϏ@ LQH"~m5`ϹMhQQݾ56ae^m& -Ը>@Z4L}ŏcـsB+Bl3T=Izɦ}B,>.Tvݡ-2r7{ڦ gn68>T#>b6=*nֺSB|-<='B+ߪ A!}2C>9ܽ#ZHq8ss!s嫓 >ˆR=C@{D;XN# > Paޖ39z4=EE-U@d N͏yjc!#6AS(=aD`n:#.B;0~1TA@]Ӏhe #᰾}.w.?3B?Pޣ>b^=S]"~nk?l(0,=ո@ hxNC Mo2DV@% D擾9@\]>ج-Nnܖ#P /Ϊ*H-mЀ 6_O&8n>A/Ӌ>>6_ BqG=3"B-d^}1 8^.\%cvO@?:!_P~3<_{&ؼ=/Co{~? S( hg;83=/\/Mb vm գ)?Cڣ_ɟ5^ 0/]g+wI2Ot`Bv@s`L.FTym:<0}㹝BU`< @P%jb 1l>5~9n(N. "&*.26:>^ANRVZ^bfjnrnJv"~V! FF4E.37;?C'[MGcgkoss_"v7~SC8+[_5,4 (p!"!B+#(q"Ł FM;0㕄JaJ.)+Œ)i5.a,(YТ^L NjG^ˣ~Bl@Т&RITإfϒ1|b ZroX Yߨ3s݄KP68בWɋ{|u=,ovg~;~!yXǻ= sG5Ms+I64;:w̯kOV Ѐ0 KZhu_~B^&!9%=Qp1!Iy=b?#h6,P+_L i1GJ>8Ҁ< %hIylj1 |P;]n\%+E7FW³Ov0\(KivQP8 |#A) $9ZL]\c+rŘm":#v,.{'s2g }˦rc4(W;۝-w% L1|3E5 xIOҕr}%lOݼ`\NS z!ϡ"rAKHni6PxLZIHU<6hO)G#8@6?kaHF86,g#KXT=NgK=* Hj[׺6lkK6ݭn{KƳ,h ˅, g$rB7ҝ.uk:7-p#K\1H.3*7]/{&vUrs[/{]W)gZ,_#tf_B8uoc2`V^}rul [@rC\7U1{E%aCɅ'[.UH&Ew%>S<8Iv.gLKvK1[cG ezlyK+c'Wʧ0D63+K%u2g;`|b7Qwq<Ұ!c nz\&1L=w{3K!z%>%FznޱI8}ѹ˝NECk+\gNԉnu,Κ IRȅfumP ;ŅVn"ycf#^^{=jmۻ5kOͲ-F;kEq΋p_&7=qSk6<>w|!$r%$p={r>Է^s9#9cFu L"@ B:JQQ.85c ODF#ZO`pd vHX1u NZ.1_2!a7 7dAa9%dνb=`ح!^Dveeeh}ne廌T!%ť%XJ a^N\" ?nџc f%q^&&޲6O(cdN R&A"6KEHMW3=bf#C&`?M8 cc)&lNcU]"## XyoRk.zIcfzMTPDA'p:hRYA^!qrfwdx^Pͤxp_dHV~|2a.GLW #Bf 6P[ -J !Nct!U6. }e]r (fvaxh(!LQJ h]¥Jb%ֈhai Q"rMY}O#v>i&\%B&&&gcEJh(BNBh*ƒ&%$5)3)|iȩ:?f05MNS NP_B'uX-&\?M57"c"ᣕg;Λi斆j1^m*"Ȱt $jjTS|Efc ~D-Q`D'AkN}~M0*#d\uqo+!V+x+Y%*V`kb[݉lqej`) \ajlrzlǂNJlȒȚl ڏl̢ll,ՅփZjl"*m2:pqVQE-jmrzmׂ5Tlm~ڪm۲l,EONG,m ٖjJ[xM*2:n,X* Fj.nnr.m~n*C6n.džn[`.ooB.B-ЂJ/R-֭@UoZN.}oȎB̮>o]o oPjHlX-"p+3p;CpKSp[cpk/0jpp .P/0 p p p%pQ;p0WJKˎ1].'12` I" %fxNNOD&"iuZnSI'ɇg}<+σSZXJRUG$ 1_;6έ$s6թ229qTqI~g9b&Cck$'=>j(C 9ٜrr1,1.ӈ s1Cq,#s2Gp4K4Ss5[ףh6ss7{7s88spT.@8s~:Y(0 s< X;3F7Adc:?{h@&'(t0yx)#TBJ4kfBGriF7&4=L=OTȟ-~D`O 8:(CѯBE;QHk* TcZ4U8"FDtT8͗SŢrߥ&,jBRM'S)dOdUY`jDt%)&Dcvrki^JJ Z{ZXcJibbRcH*kzZ'GoHwk3^u^#]SMݪcwP'P8fQ;XSQY&72Qv=Yv?žp796pst3tub3z{`13״av |K}4c36M4B7NesG4_#~+ C ߽?T0~[c~'I9{~~+J5p~~~>~  ~+3;C[ckHT xF @ 3s?DH扒bzFn857 ĢL*`00DP)j5f}aWMw̶ Bjt_i1vOw3F%"SF8(XǷ蘙8IGZjzj'zVHVZF&Hk8;YǛ۷+Y87^8~ 9ɔ+[9͜;{ :ѤK>z>o/>ۻ|Nۿ`H`` .`>aNHa"XNna~b"Hb&b*b.!; krWi$:7l56$@z:./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrmje.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3+kEޫ+<:' [ +Bm|;hexL Pw\T( s4pul 6Prj:-јː)s ;o slD-i#u:<=uh=Ѽs,f On-d6kiBo;jm׍0Kw.7zs(/.8[}\pm -&δݢ?^ڟkqk>X[ܨG맵8帧s;_œ)~6䧫^7ˎqGTHOk]tXA:p;z> 3jxs MUdDFyzb'D퍑 .>:unKaL9),"`.Bѐ`٨ x"H j 23hUY{l IR<*WJ,Y\:~^ 0IbL2f: PjZ̦6nz3n8qL:vz }b @JMBy].4hDJъRtͨFPgs>E Ғ4$=Jь|8=eΔ &@AISy4?ugP9otH4)`O);Ԩ$mjU͔R\WJ:R]X*εը;M\YTm4 pоsxիJظӰ׼k^WrS]lY2^) me'Yrvi]gkHCZ`aKz6TtµQSu/ .`e;@$uxNtɭlw;^n y͙o͍>ۉluPehj7mw[^FE*kU fhTV0|㓵f.PYbf.{N XkNys][ @@S"2džX3L]lFO(2k5,ZƏ26#cp9CN0C$' *k33-hB:AͲӼe ؚ*TJ HH Wч+8G` 6{}dEL6$y>[ejNUPFvmM{۴Noߟ(w5NMݯ =9m3<뼾]5A׎6;|ycgqUwœdI]^y[ 6+C{ @Bχ횻xEVn_Ba-w]@ -U:u۰8I.cӜ( I>W{Qn3"35/$^F۞fܓpT[-PB]ˏ驺~f^{c=8d?qsgrSK'|}FgVp]sGTZQy Z }4ku}V}]7~&(xxM b,p#'w#@qw{s66h`3\vd/5myE|~wZ?1j={&$@M57jb<}Ph_BSWwpytOz;[%rVt($jEglV\zWG{c7ׅGF%EhHJ(],Ijw 7V#_>fy~7lX &h\(Tw1XM7z` fnzك7ǑԌ鶓Hfja ]<‘< Z)h (T>b]WyoY$OoTr)rInhp(~vaCɗVxA{nNiPX <9uTWIz#fIа+T)A.؂,kyygw?zGٚ"xg䀔℧Ufdxx9g]g9 HX\&jIjoiۉ\i6蛿ibM]5\%hQד쩟(YڜXe߉rXUݩtr̉^IY]IOJ( &9NXc ZUlL0j:R1:OO=Q&ŢXE)5RF W5f/ڞ%E#POIZO#:T@*+ Swd{GjT–O2wQeWڤNt2ǦZbk b`jhzqsyzڡ\:WD*2Qz+HO+md+器HzʨPzQ*]if J)._Y*#jO# ʧTʪڔZA[{WP_]J :%Hh:P\bȺTM蚮꺮ڮ*2-zگ;[{2;[T۱";$[&{(,۲.Ф0;4 {W$ ,>{@:Dk=[L۴NPR;T sSyDK<r)^.a/װ_U/GVӰ_1pWHq m4uw.Tya꒶+8/l;aӰ%pyP%-Xz2zJFr@vʷJ D{O璶;/+< 2!bS=rzc?Y z SƻN5Ne۸y{OuUn)r-(&Ǹs0e~(&` dGrA&mp7w(f &p+@ w`U NBҺ&?*q S>3གྷCcHl;zSiTC7pVro &8,B]˻N࿥vD2~TER| {$8pөvt1q V&_cD;pD>p [J?☂wV-,E'u&r kXB?L۳$@ Q|3rĢ׏r~t@9@ŭgW Ƌ #|^,q]1Ʀ,6|+sAK4988̺y+# j#}@!}b;L< oH?4TC,m[uiCC+S1\ Pȉ==lpDkA31tBhE_[wm DD_M2{m xV;ټ-:1,Kb=, ͳ}Ljku;xpٞE[OvxH]͕ }Ժ}PSwPCAtD4{ 8M"اkAQ7 }~ۆl}8=l~~~9⺜΢Aw1bpx3w;EMGCFFzK`l@5nlߕ ;K.3 Tk"`DLN0X.ğؙi<wtE2hNsIfy[0swY./WS;^3n/q>0N~u` srʐn/޸.޺%X+5,xaC~Ȟʾ>T/iK؞Sk.cPK>^.CEѣ,4]5P.>R/c/O۞(=d?C^q-q)/#+%[]!oF.`$9_DĜ lKyp;.IJ>?;~6R7dvCښ ^ /8cJ8_l#\JJ?͉{]0F2O֠ D} g/;9 702nOw/tOؼLԒs$eC:o$mO݅H<0t(lݓ^#F!-IDK/y $vԉ#V.]p4ؘ?RQ8 xQ+5)Gy~ý 0 iȋ]k8+!k`<P*XfS4-vn_1ȕYl A! ,@9IM:1-Fq> D4,9v)tB "Mڀ|C-*6TNgOSU8]aز(eRٶd#H+c3ܾ wZ N1s:b /Cy`͜' ,3iIK9:Y^e96mk ޾.|8Ə#PΟC.}*cϮ"F/~<ϣO_sÏ/>|ϯ?"+_lG'WBnb bx!ERaZa"@.E:€22H()#"@H,X=B B/R颕p0闓9hFY%%Ar9{L E/. bcߙ.ئYrE_ꂠ]>ė-gECW\Ր3vǡvXBTUUեâdd(4S: *bxjPѢmʆF4ˆLd*{ZhNoh. Q(P*> 4yn ,W\QꡯC~nH@O@o^鉰೰#S3VYLTsoVD̓" )ǜPQo3?kew0Q|bQi(NA j)`IU&)0@ ۺ8-:6ȿ]2ۼXj^,Ҽ8wb +/0 d-]:@ܽ-KIO٦ax27.1 B.9bʴܝt%j-[4LV*̕,Eu$)*e7SĦ+$/MkZS3Ok>Hl6Ms6QZh C/ںG>ꧩr\kJD*lv|`aI $iW> %E5-?{뛶f,ؒo&`8Wmz~͡+do7j2z qlv|_|$5t&5J]R6E zS"R^3^ѰÂf݉n7,%+gSayp«X&ģa#oMoXmQ?op)D.L+:mkJva m_?zv6?/ vOPꬢ~w]ЦE"L$qYXJ+l`U5mbɹFjpZ\F0w:a‘e*J]՚i5$ BԢ۱g\dlK;m suęUjZXxg5=P 9lL35Q Óm[[ڳM$ ۚo" zX^II9#k dB2q<"]9z,>3nƥ-) J`4iVD:1T?AeƮb$W%Ƶ9$^g;;ОMk[;v]#ÖQ[=- ݊I7w;7m{K9m+k^O؇t3) _8pw/Q͚rFF o¢I e?b/|({Zdu;_Pg~_]!ޤ7W5W}hV 1x\$A^ ` _& ӵ%WN׏=u"QW՞eYj]I[l^ a!Šii! ``Xn LXXR ݞnΟ]!a ` e%=Y~aPit]%ɗI_ ," }-` b-RYI=T1ٔM2Nm)!(RBq#ÙQ"ĚMک 5H*v`h}\tcAep $Bn$IBFu 9F$.%B>ձI3dLL@1}SMH5ƬOO2񣔨I1#ˍӞV*%11eGNJSEB1]C QnV]̙T[2=TA>>eĝKTZjBĞZN%xYTMCQ>f:~d(Yh1b]ڭ ㋸q앦|%X^`Hh5 gi_Ea4cF 8]f=eyPa! agh f HK_lUZ%dZ',dWH [F`(Z`9v"ngxx^'|̟)}CQeV5BWAYrkg~V6`}b awYh/hmg,y´P؈؝=qq'o[rڍ]-c("< "h( hƧE)`bi ((~iƋrgD!HapYŏ~v9 2Rj"3fQ_WiV^d6'>]%饿$g"(Iv;@U&S>&@jz$vꮮZ)GQ&+-*AiLç^*Ke*~G \Ҷrk*+j)!I8eUJ=MeJVz[$n XP(Y6a*m8LJjBN\>VzT]BeK lif`]almN=&X^6F5˲+ik^)UahflP`XU zKt"-mjZlc^ooVfwgw-p2sZ_dA'e-jQv 'w~T,^iNj>]g)''}(}і'F vbRhF)=,jE ƒDh)R1,'궮!螝ؐ,a]rFn(VVjʩz턍Adq]N(*))`InovlY`9/=`` /ߦa:!ׄbFPʠ¨g(nn:*1~ WgWm*EiOJچ+IE.ũ+ƬZ̑_ƪf+[_$HDA1/Ўzq>-%qqgjI#kMJK2Fd"k!_9 F"kXr%7; UZ#;ĺ2 +rk2eBeh' cja%'&&Fl&֪BoCpW}ie򓍚mPmdڔӊ 3kKUYh9g_-0&I2˅:2!&-Y(SZOX__m@8δaH'e' _mCIJvn]'梴XD┝n3;#~tngiA/tBq4*h2E.g3?4B/gvh5oL3.=S_+t]ۤht)etvXCoƯB`)ߤ8X;r&OC r6W,8ueК20>j3뎩`; ~b.]4C j[ ϦlI'n n].|]fr7)BK5(38Bq3O]O#ꧽ2T52šw&w|몦S%aL.gqN xtMn2G1/a,k"k8?څ7`6N2{xo7q'((w$/JT"*cV>lr7^_Ɩ-@lloUʊtK9Ҳ8M: 55S&}9~sib&܁dFte6 +9ߤCL3g9'5Zt$nMJws #sXYLL׳쏽m3"w?'6Y;FIgNky2LWv.63w BXuam5ucc4dkJ6.vT#B_;66m.v/S4 m5eWlT8]d[zFP i <ri7& 'jF3g5C K7 cu3X Qm߷]mr*8qi:oױ!}Z6TF!Sx >%}<[/<'[yާ}W+gR}B,Q;S'KQRȾC_(r> ?(=*ܣ+ޤ+;d1.GT5uحNB_Ks}H#{W? ,﹛'QM̳( HF4y 2M)# IA"L*"0[*jI钺*Qyk!vV9 }p<{'f5Аؘ@wU$guYBd8P9JՉI2&f6k#cXIA['G7<:63}X ܛ7;-|^ά=N ZU_<dZ0!BWtm I(QPtݺ,2va#*0XаVǍ)"NhI:?!DOIP9}:?-UJU Z0ѐ=H .6Cv"NLě1vLhvRv#sٙtI{fUXEHU p?kم\ٹ3; K.c$P@7#>L_Mĩ+DmWA,ե':^Q7Nqg4JsrSGC҂nE7[u9qsуٹd,x^Ÿxv Հ &uu;oAzSer՛D IpșV[ؾgE -1(&r^t؈A)LX5f [Zv[Ml#oEm=Q`$9Ljr"=㒀t)yg-kl*Ky0WZ|-o\ Ӳ(O`HB͗DV!sQ&3tT6bԬ5l7 pn,9ěqrl;Ns=Hys\ Ѐ t`AЄ*VC ѩ3(<'jьjB&+"Y:v̒*K[ʫ15M_қ拓NӔӟʦBݩzFkC*SԧB"Z@QIUQ URUhpV"EsЮ>!)s\&%\JLk&nR v@~u ,,>* (U lfk(Roh,N籛u\mn *Wn!ZQ2E3l(CKhdё#%TZs$$jV:N*en,)衮 B== %⴫+j0JUlrםD.􁈒 ca=e[* (D! 9$DǹAOR|T^"" qW>JD]`ͼխpIBøŵ0QOD2!Fu\m8=ՃiKe 2n^Bʉz`= jd`|'32x\R0'%VJ[}ñ°%*I}'.n|jNHoz˖%#o{2VkL|u#*Nf8ԴB^VĖSu01)̖5c.u+D)*QbԷsg!ނM*ɞmmK:Oa7Qc݊np(;7쇻7ۊUx9c<ԥO<"Z_(1of!kzKm? t% DG)%ΉCXu3LZ׻u>]H{ n:CU΃`]cr؝eQq)@,w˽~śb&Ю~*/^O~>3A5vuLּΧU_w֧}}jDLzNJ|wok$eZ?սvݓsG;yNS?/_;ӏ?sgߟOzۏ|=7K'~w|x{7(qtǀ ~opXqvWxﷂuz-2ǁ鷃؃GX8$(x hx<؄ᗄ18,x.(A^x'DDehBNgkMxotq"GQutyȇQan}$h}Ȉ舏xOVshȉ2"qFhȊ芯(Hh'苿(HhLjs"V(HȋX٨ȍx`A*a('x(`蘊x0*oh(ȏZ8oB)')iؐ%Y &'X9 y(3Iؑ8 I"));iiF)EI.I N ؒ@9#)Z)5_7ɔQi-Yhd XfgI+iAoiF sm9t I({)Kɗ蘀)}ɎYٗm9r?yI 蚬I,999 iIxzi]w9MؙٜTy~)])rB)gIk9ٓiGIKIDɞ )zɗ)Y2(i Yɏ zʏ JJjJʡ ! 7y%j)+ʢ-/ ״s'JC5w9ʣu= ]HEjGKʤMO Q*;lo kXi$7l56$Pf./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrmmc.gifrc$$GIF89a,0I8ͻ`(hlp,tmx&@pH,bx'rl:;H_ AZجvzxL.S%QhX|N=u"0~~Sv\5ki|~  qRF#VhMPv($h(,(4h85\I+J+oz*VF 벚͊kΩmphj:쟶ےIrjNKꩣ^(|i+02)SZwÄ7bBl>6lw|\,zlj,/r0L2l <>KDmH'm4LkNS_A2$R2iYk%ۿZnK^|wuDM/fJU`,doY`ۄl䓹xWMyboӸ> cMw踻z#9e ި1.{cv>7l}}qOו 8Clo?赓8w<-%o˫׿{/~ȋ`'Aptť *-yt@_ ?(!#>.O44Bΐ#W75/}f >$ G?ѐ" 2} $IApy_XUú)n(>Uf{d&0 )J+2*kJ.|!-\.2(:]A2l Z勢1yI/zӛfY^rN[Cm #hC 3t!:ylbН$! 3AyB$(aiͅ LjC>[IMX &$ 1S|Y?R{:ש?tdl*PmКnMQ)Qi<:PMJ:M&NU ɡfͰԛnk|XmղN4 ⾷֊NnfO j2a*\MDf:S+3;CuZ4w&I\ Y((Y֕e-kdJobֵ4mU>Vm]Wz)b(\vQ|jHv5L!bBjuYҨz`̼0K㻘ά>u%-z^*) 9cF&ojp>WN5r| T!P2;PM(12kU|Au ͍yDQd&^ao|ckUXlZ|e-ox5coʗu/LZ!0;e_|-:1V6>τ]p7e*Žߌ6D>}ۚ]Ph%b':Ɏ1 kSGQqq]O-ڿm[cY{5u7)N賫k>{nηnaZrvbn38Svӱ=mָ{I;9>dGa'1䷐oA/:'C{3v5.r"Fז]7PxOԹ'H"ؽ_rU\'9ig"7]F`˞[lJG➶ot -m:Pg-Tuq#T-NvܻYބ6{R;YZR=ϑ<`s*|30OWֻo ѿYɏOp\ ;Kk.'C^<}tE#1?aޏo'X<"wg]7'~7q;hz{Go׀w}ahW9h)|\0vCSvG: ;>HтCXPjd6n !Vxg"4fSy3_6b}$Xz_@yjeywlzG"t5oadvwo}wG58&Y@%x\Xqq[\wypOȃtd$0i6\mJ:wjogA6Hhj\WY:R<5I0J\K` Y#"9PDtt'\mWcxHb(68`UuX%v.4DkcHP"GFƸg<ŋ8[ŅT{؎~8Uxqbbq8uІMhߘkhՍ&VXTdr!IvQx]uHd.$wutA&OF$L^IXs/it{Yi$67l56$^z6./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrmtl.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3+kEޫ+<:' [ +Bm|;hexL Pw\T( s4pul 6Prj:-јː)s ;o slD-i#u:<=uh=Ѽs,f On-d6kiBo;jm׍0Kw.7zs(/.8[}\pm -&δݢ?^ڟkqk>X[ܨG맵8帧s;_œ)~6䧫^7ˎqGTHOk]tXA:p;z> 3jxs MUdDFyzb'D퍑 .>:unKaL9),"`.Bѐ`٨ x"H j 23hUY{l IR<*WJ,Y\:~^ 0IbL2f: PjZ̦6nz3n8qL:vz }b @JMBy].4hDJъRtͨFPgs>E Ғ4$=Jь|8=eΔ &@AISy4?ugP9otH4)`O);Ԩ$mjU͔R\WJ:R]X*εը;M\YTm4 pоsxիJظӰ׼k^WrS]lY2^) me'Yrvi]gkHCZ`aKz6TtµQSu/ .`e;@$uxNtɭlw;^n y͙o͍>ۉluPehj7mw[^FE*kU fhTV0|㓵f.PYbf.{N XkNys][ @@S"2džX3L]lFO(2k5,ZƏ26#cp9CN0C$' *k33-hB:AͲӼe ؚ*TJ HH Wч+8G` 6{}dEL6$y>[ejNUPFvmM{۴Noߟ(w5NMݯ =9m3<뼾]5A׎6;|ycgqUwœdI]^y[ 6+C{ @Bχ횻xEVn_Ba-w]@ -U:u۰8I.cӜ( I>W{Qn3"35/$^F۞fܓpT[-PB]ˏ驺~f^{c=8d?qsgrSK'|}FgVp]sGTZQy Z }4ku}V}]7~&(xxM b,p#'w#@qw{s66h`3\vd/5myE|~wZ?1j={&$@M57jb<}Ph_BSWwpytOz;[%rVt($jEglV\zWG{c7ׅGF%EhHJ(],Ijw 7V#_>fy~7lX &h\(Tw1XM7z` fnzك7ǑԌ鶓Hfja ]<‘< Z)h (T>b]WyoY$OoTr)rInhp(~vaCɗVxA{nNiPX <9uTWIz#fIа+T)A.؂,kyygw?zGٚ"xg䀔℧Ufdxx9g]g9 HX\&jIjoiۉ\i6蛿ibM]5\%hQד쩟(YڜXe߉rXUݩtr̉^IY]IOJ( &9NXc ZUlL0j:R1:OO=Q&ŢXE)5RF W5f/ڞ%E#POIZO#:T@*+ Swd{GjT–O2wQeWڤNt2ǦZbk b`jhzqsyzڡ\:WD*2Qz+HO+md+器HzʨPzQ*]if J)._Y*#jO# ʧTʪڔZA[{WP_]J :%Hh:P\bȺTM蚮꺮ڮ*2-zگ;[{2;[T۱";$[&{(,۲.Ф0;4 {W$ ,>{@:Dk=[L۴NPR;T sSyDK<r)^.a/װ_U/GVӰ_1pWHq m4uw.Tya꒶+8/l;aӰ%pyP%-Xz2zJFr@vʷJ D{O璶;/+< 2!bS=rzc?Y z SƻN5Ne۸y{OuUn)r-(&Ǹs0e~(&` dGrA&mp7w(f &p+@ w`U NBҺ&?*q S>3གྷCcHl;zSiTC7pVro &8,B]˻N࿥vD2~TER| {$8pөvt1q V&_cD;pD>p [J?☂wV-,E'u&r kXB?L۳$@ Q|3rĢ׏r~t@9@ŭgW Ƌ #|^,q]1Ʀ,6|+sAK4988̺y+# j#}@!}b;L< oH?4TC,m[uiCC+S1\ Pȉ==lpDkA31tBhE_[wm DD_M2{m xV;ټ-:1,Kb=, ͳ}Ljku;xpٞE[OvxH]͕ }Ժ}PSwPCAtD4{ 8M"اkAQ7 }~ۆl}8=l~~~9⺜΢Aw1bpx3w;EMGCFFzK`l@5nlߕ ;K.3 Tk"`DLN0X.ğؙi<wtE2hNsIfy[0swY./WS;^3n/q>0N~u` srʐn/޸.޺%X+5,xaC~Ȟʾ>T/iK؞Sk.cPK>^.CEѣ,4]5P.>R/c/O۞(=d?C^q-q)/#+%[]!oF.𐛚(J8%@KyT͟)_ ?PYGzeuUHO Q~m./XyChj7dIH0OR\-"&[=ŬĨqМ~| c/d J+O~Y]zڝ@vaYVqz~DA ljzun EJAFav*ũOVd-:BF:EHQ{¾g hISgA.ᠷ7{P-NzP.0tykp$"$I4"U;r$H֨a&xI 4P"HsMpix1オ3 #>~V>7Ξ; LXDQ:jҮ~Mz o]˨M^٢DL3sȟVc;;һ^:cOoz'm/_ji?}X" ȡBRFTZ_4)T#X'/3c֘;rqa4E~=GR$$$@O:%SJY%WZ%[jec(xA6Mk)g"ɦid y٧jΐ:tc3ħsYBrg8_i݈ +pV: k8:! 1̅Z)U-]5۳y*\(n[XdCBH m:ʀsem!۞RR U +'[1t ) (9aa!TeQWK1oYf ICÒ?uL! >StR ,}ݶ0,@&k'>q߻n)r\,RQR61<4F`@7<{ixVRFJsG;S򪚏;kYDA0E:iSd, ;}OB8 (U5A 2? IyI^|8W ,Xu1:Qܪ3]cz%.ҿ/zȻD7W   f LFx@Vq ,ׂ`nsV4/japH|3X%A.dIũ%!',4A,~4*B, )' c`c1iqd f2(`.lD =zm|6, DnZTǼTL*UR *t͉/!2pDZ7R] K0!LO{ ɹ%2O## :F6rЖGNױ>yÙ\%`I4nwD%=aU*xK-^/Aꑗ-)42f{X!M:2̨#Mo~$k!9Orvdc+e@xL5A6*A?siǀ{*e;+e ƤQeWS57MbܦIt9XN򬢱aӛҭ MѸ/ y;eR.ne<_5uԼ'rt?4}5]~ih4&ZX( 43DLZtZTA-m7Zb oic& E UPCh Sc![~T>jvZ2nyFE|Åm6]/4[q&i e/IS׾CX,,x o~q+ȰZ 4vZS%aPtp{ Sbxo 6ɚ ^gwݗaWGf{wko#`SXQ\yKqOUejݛBV 5+_O$amYh)Z3 ^d1ƕp17n')Fٸ%Ag.am^0)mP :1wWh t;*l4i)I]i:I&s>LQ' PMN.s?IپAl J@cT\9=JbA9j0$@{iVr%5 EWWؾ,|)ΊHm3m]tȈ'b`3kCh̠c2#NӤQ+v~W;H0N1v?Nzp-`yhYrc_%&GjA.X<4>Jgssr~+]|ygT2fO"oN eDSۤdUJ+w{>^QQlFo}pn/j/t[u`:fV x8c^=hr%A֍?P9{eswS7,L`Үq#ƌ6=Bop]3gf-qm Xj_Xuq߇Yu `ZJB%zyznXWug` X`ah r `O\ RA `Ơ`u.-gaB mߘu@Y IjܥdY a!(ך( \ʙLaGahsaPEaU59ir^$MGyT bmVʧ%LM]Z-%L`v -LFuTL)",f5#Y [ _-On^$FP2B#2";^1bV<;Zd#U ܺMYPaɛ1Q`)e#^W/zF \1#eiV#$cHNUe:z#i(^"Eh,Aޑ\ɓ+]N%Ry8 М)9#Jb2ZVGcS:GFRJJn+-! R\M^]-dd_DD!Q ɲ]0:c^ca#HVVU*#4RB?ݟA\Yr[d1 e ֡Qᤔ^$cHfVUEIRVmUheQ4Nĩ\Ae 1 >f$:vna%aD~'*rg_P>jM&&z( abh燪s.-g/V׋.bp(hr8mb2&i%\z#=% R`fNEr>inʟ9a͠ 9[6}inj}aLa¤ai[` YpلnZ4 *rdt*kJa>h )酺&Fgj>y"HZ1ͦ`)P+ͯ"lI%))ϭ~'F(|֎0Zic ۬B&wBHfFaV`~kϘ``hE֨ʅ9^Z^[)мY6R#Q#YHvzvtĺIZVc=fEe'i|z=]xB!oZc"&L:jkF1Ui_V%к&jN,jW͆v#B($JL՟`}[&婡iWr0,lI-i&tJVF`-v&)fS2V%:=~Q\eZ$ٲh>lЎbъ+Uci&d i&XTύu٦̺,B-EQ<Ϫ-F_ f^.Ǣm4%R)n\mb- TչC ;0+xkbT澭j>e6osVtHpib&N=a;pK/dBp%(pvEp/ߐA6aMpSۏ)8p iC S𒘰Dp i 밉p R0 z1(.* 0GG0F Ę7J16M51qOi{x0/qx81uXC+$O%GZqqע c!F(1r4g ?SCq:LKK&qwH'Cl 1r2sf+P-1**k(1w .-/ 0orq /~tr"424O16,x5,[F%W"!s3$0W--;s728ڶ>ss<011ǝ>p>4G5G@r82?3(8rsv|C, 2&7z*o6(r0;:c]pE3=#!%6?2JwEM't-4M_HrP3/4Q4RGs-;w3T?T+J395>tT+JC4KOZ5$chC,5YQPZw5UuuV{GHW5ICmquGa;6tb/b?"4c'\euIf'vr!sh6vevkcvg%nJ6vXm_r qoowpGpwqq r3w 7fCwtKt[uc|ovshmwx`Ewyuwzv{{|w,}v!X{B~a}xx_G}0x"x9ǃ787p|u[W!A`}/8Ks]7Lb׀KY+G!MGx )[!8ܑ(nYJ_˪lI4Ӑ^ / aaAZ| "5C߽S8;^Mw⣹J9lF|9oOFÚPHy00,@d&*uZ#: S<+͸C+A[3/RE=񙖳_8A\뎜e6z$!,\BկMZ$!:Ќc:̪[z5_$,* mކ?4ƍZmC@F_Q{f#C +fd<+[4e(aM½3|=8m0x;M=P|򸺶;F,uωsj,WxL8;x۾&m8?}?cx+?Q2~/PS?_g3}{v[?fc6?h3Sۿ-=8?@F4y LH L"[UJT\s|=ܮw~dp9rjB\b. |ֳGX#5h؈(I'9نH9 *CyJYcJbڊJy&V7+ՙ) Z\|+|Bzi=-JY-ʽC=^]rY _}n8 \D)b!n(Vt\l Dqo+HHwgЧ:zKMlb%%m.[uͤgU)VRvU!VxaN7_K|LȰg@f6=@R\rӑt5r@[m|?`~el8/;i0爵}!ս|*y/beOEjwQށm8Z߄9GYqxG րa57">h/¸ҊXnhc. JUd*>j6dmhaeA:vFY]g^xPuga&diX'_6XKJw2{rV(h;P.az NL9鉐jÖjE*FY!ρ]mgPq`wB)d{q8NACAQp]$NcL,;*"<F#31_l8h>236bTa:b /Gx%⮉L*S6ҍ"HɃ6T3I6VRT\x7JBaPb[ Xҍ-Qٷ^H^WEEc }J-sMR%Y(Z>J`T"KS~ʇ ob^|%S`n7yFcl4|:W&;>)d&!t"b94a项AG5w3Ya GO,L"hH(33$GSv $1%ظ$IaNI[ DM)&ʡ#9(T% oNZ[ ׸ut]Zu|_ڃ v-\*vmc FVe/NV g? ZP- cԪ+k_ vmo΁'o w-q*wms -@jww w-yϋwm{ Wmuw X+x n[/ kNDw%]_w#֮uI^x*oOboWEqk\cmlx7]nuzwM낟n8-];ḞxM튻t Lry_,1|hD3\8LwZ6lMW&ziFcZ鹞ʍcVvy.k}륖wd/n} G;or>`.v ~/+ްMKbUk^Y-ȭ?Ћ~/}襋ԫ~o_^!; k@Zi$97l56$z9./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrmvc.gifrc$$GIF89au𠠤,u dihlp,tmx|GpH,Ȥrl:ШtJZجv> @oL.znA|N.,"|"(& a ~ćOɱͷ ށ}+`*`-ΠѱBC !aCYX癭i2BH=@$?DDy*@0cr#bCE8 :A tAg@P{ SerRׯhbP .Q՜fu/z~&I@}K"~J0cÉLdϖ8fNf9E ^ڷS]r6lp]RMd6 Z,[ni h "C[J2.b ʷ;_oOJ^b ;Ӫ}>qZ5pGyl1z^z9HqVɧᆃG}5M# LA4Ѐo4 ٘㎄uCf:P&Ǝ 8Ax$#y⦕c]vI n!l$N.ӑPaEg-/qM#J%dw,hDr uB@[$Z%q"Ȍjjg҉i|*무JB筸GG u ԝP&dzF+V+hfmla J~L~mJnJn1fd 2Bk9p@0nZ s+,,[/@ Ӂ1wqer$%q %-o!7f<,O$ )SJ13C.$ :<P3s!3P>Ml5I5`MM-v.=[ k>lXw 5g?}2I~^S[Ə?{θa/gdFozdt%}K@ˠV%5Ѓ' !P*ja /'o "KlBPy-'3 /7yωk Wͩ\,`w6AOzpcBEˑ0{ۢnͱx 0H= PHtHK v Bp+$.O<*pUr&|,qYR._P]&R0YFH2f:Ќ4Ij*3^Ȧ6+kz dL:v<9Oy̧>ۙci @:P@qM@Pw29ځAͨFidn|FE Ғ“ NLҖAK#JҌt.EiJԥ0LI4Ԩ):j}*HMhT T&;ZO Ҡa065e%YKpϧUS}ޙֲ5u]+ a jVJXz,j`XI*"7}y% t}U$YŮ~KΰhOթ6׮m^mg`tʜU}s$d fN3 8c/"si{рz9a|Xql")I,}8"C+\9ɺ _^ZCc]K)X<~:xy0`$6A=brb)Tư ,kٮ|"C+|.3YIѣ00Զ`]CZgX͵RCZe8N  Y@a,o6"(* iƪ^bNկNNiƥng=/vFu#^ZVaՐr±.qd  rw%[S }cL#|v32pRgzvqY_-X 7ŧF-"~8M/j^ SH@!HE (Xe`sۼc6\+`oC-f?xf9=ֺ62msf:qYp,5 {[-9?H @>TEi@Lyi]{Y P[ͳog}+x.mᆀZnxޞ!M/bOR;CnMטOU_ɂ}kw9'c"g3('&`_OtZDRdzvyfnav}Up%hW"Sqz4Gw6~QV~D'eGw~w FzyV(V`Du'k jǀ|l|}$vigΗ %Hkr87うV~b bfA'u|~wf|rq `PiYeE׃ ox`wj\heCgQ(DhNH(u?(qu`$8 xpa2(mCvn^(febXtT2׃Fh-"ꦉPn}27Iy}x]@ׅ~7 GqZ;A%qƅUfxd"ݵ !(]c5VX8to@Ƅ@u`1nSure;azhN4d])2v*LŨ8W}iAV#gH+dXHX؈d{R(f-eQ}Hf%i=ɍׂD9wXNYvaH3Z6UtEI&y[*cAW|vY֕)ɐg7I^%7ɉOY;9K$xiS~xepk})Zlն OOeq)h9^9dɚ03GQiF^FxpRq2i*JsZP" j iRf5) j|ҡjJ%ژ!M1$/Y,uVD4Q6k:?*kK>Z6e5ɣ”J*QAZPPNJRKTZIN4dZfzԥMhڦnMz+r:tZvzxz|J'jKѧ:ZuR򦊺ڨ_T2J9lꨘqکN@rzdڪ)󢥚ZҤڦ*G/:*zʺC8tEo+ c(Qk-r{*t[XK)bW1E}3bʋ$[+P}WhE:pĸjK (c@de Z5;@K2n @zUS Csd%m꧰ʺzg{NjkK˻ +Is@4V;  It/,PF%8;KVd{94sY-`0[:uhSE8$7v-wiy.Hiks5WkLt7jK3<\8GkYV "e4E\GT# `)c< ۃBA8wn;$įv%4ܾXd@C!bm΂W[ˋi.;Na΋-=kC=r8~.,rm-77}N^^$йDQ,^,X5Xt[3(6Nmy-J1v',K )n¶p[jrvTr^)k] ʾ ( `nCfEIN} êYy+ʔ\]ei 4$/Z%N.R89]-aƊ׃@~˧,O{%ϮϪn(LzuDpp}y`DPˁKy>tӺ#-wم έ!6:>୸XnaZv]}ID(ZQ(2 #'+/37;?(ASShr$KT gL_wjO~"Lʗ`B4 YKF  <(2$ɑ&K<2%˕'oLToO.Fs'ϝmUEO?)h`bLB*u*ժ;]@낭^hѣ2fdҵk,Ys\Ҳۑi0~*x0`:@@,,L1VX@ikT]zqqVzj9G'fv\x7o {lE3Ls+Q0ja;z=;#,N<|ݮ%-Q(Xq~ڕ\"pq0 2H'dI ٸR q-xkLE&J8آi"(u_ [|L4OVAUXU~.E~^lfhdQi[LG'p &_^q:hxar™q(xPf|@{٧ZT^'B6`9fK `DVd"&_tt ixZn2) bڊCRRk`yhI!䣐J*FP@V-bzL0>;#lWTfY'Ъn /|{! jIV$ko.Hzz(n#Aǐ@#fp _dL4L+C;3 (zA똀x)a~i5 ԯ"2`0baq%nvl&Í'cK)z~XK1U\5dya'`Q/(D6M"wIǀqz^x}lj|#y,:nLwoF?dzYѓ:䤃ɴ>]z`4yj9x[]g} 1vGͶ_n;rvܺT7 iI-Xz;׉){Hq N[ӈw"}hZO{ En7'*\G<Z%l?ĉ9DFa&FBB5n4*!ޗBQj'`$N5AFԀ71b,&&40߽GGuMbhCB#PT",{h.9x mZm>!2?v ,ca>q4I!JCA)&{i_r#Oz,I'_;"RӘVsIKoz3D&9̃1Pc\16.02Iu<+m(54-a3"4>44c#jXx1;>*/1*r l$39 F&5F+ f'Sԡ3`D9њE :/:TA<LH)ԙ5+]?@A@Nj j "Uvmo<9 Y0TPK*¦ddǦKA}xn uU@&7M]l&$XeQm]V_*V3$ Iyo19ϲXB:'kt"ÞlkQ7}m$2 N D=MIk laZ~ԟY~[URo=;--yA5{5k[Z}6Q@bk]5\Mʖvoc<5.Xcщe3u`=Jc;xkJṼ+C)Y2ZX7ޫ1tGxr(5 Pq1ilZ"rr{^`%k4>6X-llR9߉QsõRֈI3XFMAo،ՠYi:^d[[0˶qxL瀧@A;ҞXd^?ӿ.f&)II6Z+ 6V4wi0&^yOew}mG w+-Xu_7؇K̇C<7Cwá< ?F5y@])jgDnO'Ǡoֲ\9RdޙτJ'&ɿ:'^2(n{)ωtԥCW8:6 ]([A[>su(A {j#*'m,JCx1 A:;VJW g3ǝa(ϲiM#Rp=,yvDJ=ή\^[V6h7#/vO vdybnVMM%^_*'E>:"DV2>w)CozQQO ,LAWQXdr_;5\Sށ.:Qe= bPGSEf% $TZXKreWʤcS$!ʩqZ6WK_QeYE@Zb*&2%^!.-uK\\Jڙ] XP[hhI Dd݂]Z9fR%lYe0^QM_]QE-X-ldYɋQDllVbQ-[hhў gFfjrj%V֪ ] fcra]xJer]͟MМWx&ҧu8aiA#>N1aJBAjBۍJ$fJ{Jg_]ر(eQrHdE*2N`+5z*W*dVBjA]$p.ꚲ2oa % &k \ a+&鷂kd)UΫޕIG٠q&g!ZE,Fݦ.fpn|d[ZTÒ,XkE髎_^6TݕZfLl,#w+p-Ϟy*U5fRg,큾C#-tkY&&f t4Sn^9^_pa*m:,rn.gv-lBn{MBޖZ )N` .v4pT.י ĉ py0 o'p2Nn q~Ӣ(ȩbЧcML6/~o*L.+?ܶS:EZdR-+l1B$Ed&'ߴ-yz.VR2.yѲ]rjrK2!.p/ܲr,;~(e[~ X.kW“n#T5;&/jrB(s:s"s/ED. '1='1e Swޖ3nVk-Zl') 3!'nnobi.0?Q>Y\iW5DA2NoQ3l <'3!ԯ ޯF#TZ)Su+I.2,)v)r0HQubBVhZ1Xs3 SY^ov2`c(z1l,V^@50191oKqfY:žKj2+wY2t{RGERҘGnƮUh{ZbS.[cJ,/^rAON|Ϸ^+8+9/C+lt 0.ꄛmD5x2%YF74۩Rgs%m5{/b·wns|e7 ۰ )Cg:y쏧Ӕ@"ex rK#Z nDO/_ôYNCXxlT~4B%\n#eU6FDz=->qg)ozy[;G4Eז-UIܥ\c܉*yfv!nZe9u,ZWs9hUI* ۠z::c4:Yc1isk)!)]>ˮ‰ $WFg@2R&SJ{s1^xRdV 2:DA3;EhYwWMw$2ZjeRW\?L<[9b|_X`zvgq)Z mc^0/,f i7 ι/"L11~jj-g8/F ={:U!p8|?k>> ߴ\. ḁY4|[Ƹa%c@ķNOG-Oz,): H扦ZKL8 a*\Md-̦ J9v%mՊ,b{a YܺVG؆wFc(R0Yhy)5yybIF*xBWX :ǹYX`[٪ +g<소"lLM(;"#P#p 􄠴yF45j@}bT~G< @cR4#/C"(#,6F+37pQaqX#p%26}g yCv \Hni='ݠ]=Fُ,82pe̖3x?cҪe; *cN%Hi!ِ~MG"MxnZYGaKA[Ų7E+Wi^:B gW"ԓ(ഹQүӆQ^AѲf9[wL#3ҏ&翕yvpYQWKiӛz3m[@ɵT;Ϧү[;qUh&v);,/>gZ-i?km; W|sW 2^~'cs7>w1}<_;= b}iQkA@} w I7xů`.νB]ؔ/[G\z+^駝D6YOzɳ]n# l=5?0UuyKܪO4/n$hv(cgz+#??gk}X, ~7V(ŀ80LeȁSq& ց%h3S8XƂ-/1(3H5h7x{;Xr#8A(C)x?HIKȄM؄7]HSHDhFXY[ȅ5%](cX x+Hik_KaȆqWhfSrhCy|؇U膍zh8Hp^yC؈k8H H_eI8T3脙(0h~hCDԉ(.Ȉph H_Xx|x8XǸXhȌ8\W|(1XxȌ踇ȋĘ(ȎhHHȋȏiX6kԊ8w،Y(HPոi@x @oL.znA|N.,"|"(& a ~ćOɱͷ ށ}+`*`-ΠѱBC !aCYX癭i2BH=@$?DDy*@0cr#bCE8 :A tAg@P{ SerRׯhbP .Q՜fu/z~&I@}K"~J0cÉLdϖ8fNf9E ^ڷS]r6lp]RMd6 Z,[ni h "C[J2.b ʷ;_oOJ^b ;Ӫ}>qZ5pGyl1z^z9HqVɧᆃG}5M# LA4Ѐo4 ٘㎄uCf:P&Ǝ 8Ax$#y⦕c]vI n!l$N.ӑPaEg-/qM#J%dw,hDr uB@[$Z%q"Ȍjjg҉i|*무JB筸GG u ԝP&dzF+V+hfmla J~L~mJnJn1fd 2Bk9p@0nZ s+,,[/@ Ӂ1wqer$%q %-o!7f<,O$ )SJ13C.$ :<P3s!3P>Ml5I5`MM-v.=[ k>lXw 5g?}2I~^S[Ə?{θa/gdFozdt%}K@ˠV%5Ѓ' !P*ja /'o "KlBPy-'3 /7yωk Wͩ\,`w6AOzpcBEˑ0{ۢnͱx 0H= PHtHK v Bp+$.O<*pUr&|,qYR._P]&R0YFH2f:Ќ4Ij*3^Ȧ6+kz dL:v<9Oy̧>ۙci @:P@qM@Pw29OYHͨ9 LzhH?JRxR`(JWN,H1:ӘLMwRV$ :|B5>΢&ԩ-*NX$iN@RVdW Ֆe k[׳@u=AI|V;N@IA}ఉb'zVVE,Z{YcA{WΎV]TS5U`θ ] ىeo%[Bt^ըƄ鱯@lrUP,Dːs".q :S&7╨y\ew$1ZרX+JW~E4ɕy`wW ̹Z~-p ܶ{Ӻ\:s.":g.ϐ XnPq;O޺5#bn8&ľ.N;'  k~}'iesyLJk!r-v>oN ?U\D ie04 sK+YSqN-3 <ڂwu5GEM& HJV'@[, ,.'k8ӈ-٤!n>uW-jc1ra+YΪ7fb [4S ~]t]lxNj!zݔn ݶ-Enpy ^y5%;߁޷ܐ3!@ oЁ^ z'\ XnE_l jY/WLyuN`v6D! }ȶ4Rr6'r5ot釿."`iWJ.rWfrs*;ovxܞ =/O3:cjL=qO޾{KTe[r$ eQ T0 9'ork]ȇqF\ VPru,UTtVzv}[tNtuw7jyuV$`@VuHj jvguuWv P_0$w|Ɨ c#(vP}E(sW7W}Dbb&UY"w1x]' c-(vVi5j8UhNsu}F;G}6o&DLX6YO~] 跁TT]`chvXpi3(8Hx!y6hn,"jTk1Uu1,8WURv 1AYcшfT`X[vq`"r!HjU_UؘY|hzMEJSSN tvre;zAN0f`])c6b*x9$|͇nwFd/B6Ps0蘎1UxhO-eK﷏d Qp&'yh% KŒ>y} tFd]I=kAVWTU6U]Xg=tZTXO5vODI36D<M%'mzgFVi{YPz Q]U=V>1BLryP P^yiPo5ehR eQU> ԖCH阏b|R5ƙF%ْ?i2%DTٚcveP7)y@ p)uɝɜߩiYkiF^FxƙQtIҜv*.Vy*Tg*P9 D)C)XI @TVeYOBյVZNZ3MIѵX8 Ţ9X(U o)[70:K :-ZՕrԣ>:eB`Ibȣ24ENtXZdM\bMzBsfzhjlڦnkꥮpZvzxZ''cڧ~L:Ԟ|eNiIU@Xڨک"szĩJF5jErڪ:NګL8CYDctwZ:G"J9Y5J.0Zzj`z+䬷f'*J-TLd4p@?«k-w- [bʖ(m\Yd/RbΗưzYhPrvܣ6YG7K6C:c0M-vM$ C)Ӂ.TURv&-M d"mDJuD+snt0yx`R$knG~03G'n>%V _ER"b ң1o|)Yb:F<дu{ևXKGZ4_U`Z?5%l7HE4(V~:I90rF"sJw٘;kJ΀$ bq BSBtZ3}/k=к;y99K/p{:WeT?;k$$8f'iϖi$j8ds܊E$ H\9ae !fC7h7^!l["}>k0C<49Sk` 6(3kŚF8d2\E<0$8ZHv@AlC1sƿoe+&'>XS8٭!l``~"tF>EF8,<sH:,F߃:+Y`[Vb;Z|=$|#Sl"h Pt@Ӵk" D;S l|d,Sb:g /VKĐSD,Ģ<6ȍ| [,3M` tbn dvqF4ȪMt/ "ZOα,.t<\)6zS zU:ӭUȘ ,[ ar:yOdNLG)=O|s]v_j;Q+- H=Q]/[=]]Üe993d=pJ>6CfsX /w}P-Ms-E2هlوo-+ڟiPr~uM/رkSk XKöfȝʽ==zսܽΒ' . ޸K]L ۿKK)_I]߻8 Lߌ%ejC. { .8^[~3 J2\- R&.38`5nⷓLijmlN5 ~8N:.YFgO5M>ON5 [{ 2]*|a˶l9^|k7ykuzpn矎UWF%컴ҾDԎc( `۾lf]/NHY˾uJt9!N/>.^lo\j.(a"0D mD֒'Rua̼LsJ\I-L:l <ƺpC nP3,?"~ŗϲMsSd^&w"D@oQ\nXOo/nŧȅLܚʼ-QvluK܆V͖@^?/h߆z(O /ۨy=ڲ\n.7G4.?j d~M= m7DeqYml.r"󚖵vg˃$#|帴8%f {WY޾߳k~h@LП?LGbI$±<bNm %R^SZ, ~oSiq8j&ZG9΃ڕp87,26:>BFJNRVZ^bf>@izzYqeLr*~. ٌ u.+"GKOSٚ2osk.js'v>%4ÿXauD!`!Æ KHE"EB&y )r$ɒ&Odxea-iŌ8L+}1`:p%?u(x\`*E(b͚ʖD(VM4gP LJ)ڢ:yr3or-it"u1crI_7,@< `Ͽ*3+W,h:6Ԧn:ľ 4J dY@˝ u\N/_LY=RˉA-O-<÷8k?RM6Uv II`Rh&zY{ p#&b}:- $Ѣ魈YDGl}ǽp ,~W4!K2٤O^T=U brّ]%BcdGr\\Yj?@w⁇waAاTzhJBg~!tˡ h%vM_jJ6PXK}%Xogc^#h] AIJ^' 1mc҆|ٝQyޘXr駣zPcb1DZ;@, SXyh_'ʝú~2yb2,j4o:x5 8%?!r 1,8 \E0:I q L.BdE\™"EJp(5sš|I0J#6 i \ 0Vh) A81Js\FgVGR&1U\$%C6цJ:&#< RIJވX*[WҒ<%&M?#"{qZҲ$bBtF/3vȤ ,3iS";ًY]r4瀉pԂ47gi*іQ[!S 3PHsgPh{3.,ùOx4QT9%tGH*aG3g/riUƹYsq)|/\ _)Lfk 2nN{ bBXEfqZrPx~Gk)U~C<7YR\6-phuiy"1fͅHsf[+e(h60y5b')tk Jgq||z@$ƕm)<5|)ֶcVDq$ᨻYĥI%p(~f=p;T5+ą`;16OU:/Ŝ~: ]8en/'h@kk^5]rbBf][OSmB Za>3B_'(y/}ǟa] m=`  OL_L9N{%Yq[xMWYV X4߻ Ѡ}ؠ. ZY>}^iBQ[ VىMN`ҏ ߍ[PblmXWՌYmM! VƜ1:$6 —'eՏMoY *Yi^[f] /j/Ƌa廓bĘi e!q^-K\åނ,9_iU9n# xD=O8cpt3b6i\Wc<")\=cAcC&R4U#TI9F?F$!` $*APИfيg6N ǎy>(.勶{)f*-&h*ߖ Γ')1Zq8io{s>"&GoyPPx~)`}'yd8#i$Z<&b faa\:gM7~#|MdxnBB()"aLvݣ]>[p>D^*wrNOV`Tre֪Nӫ.ڏ jiZ} K)s)MyzhKvO()nf~+r*|+.ZR}t(ryU%楔.DAN@}fBō9(6beQ6uՊNj+(mJeQeþ@Vfʍ&l!$At̅FZ$ɎS[N..6ͨe%Oy&!e)d)6=jk'V- *lh&]Fg* QRȇgYfnj6&mj,oBnjz-*))megziMhHg*gTH+yxgZP'vѧZ^OM @l.Jf- 8 Vft돲Ʉhhgfo&le؍cI*Vl'RR(i|aSpSN/"^i>ﺂ n)f)OT)lB^i.ꉐT4*ާ(Q"j)Hީ:S챔.' mb>R,n RJs FCmX101.]*V~w9kq5>"NcB7lN#$/q;qEMQ\p^gu(El2$l^2)m9ho@3E2-SU&m,Ԣ:-L2.rf!Z3{e/Ǫ2'PU1O8JC%S]9*kQ1ﲸܒUach*Wiڕ .& t5O3smS㆞5Axh^fnҞ!_ ?^h/~&K'ʴ9[@+. g (R>SZ/Q{>ub3UKhRh*iq"3VJ[n KjJD@RG!0&"/1_w1&)Z? fˮCʹ(MKr0EH.e0 v OPp^ 3&9v6Yu+- q?(ʢrvܱt7j5)1ȫF/@vqU40m,cؗfqRrñ=q%>p{m3rϦwj3:wp6 {s(G(+y5BI*Tot~Q,o{)aϚGT628(6qdl1b/ܨԈWW~r%83z9{3Ēk/(o&vP*\2^8v^=^u0ӗ[rfnvg1{ۖs=Bl-+{M;7Vnmf)]^gעء&c6*`9J8 ܢf:^Ez=h~ qNt t:i\4 n>nBvpfS`42ItDKĭ" G ejP>;7tf" xc( g_WʻP;Z'FRyL*z͂mjk&GR{vH`(xekz&njŽqMN(lz:KbonkaӖ= v6 c%sd|Xd㨙<7x}-F<{#b'S7Y[)ҫh _B+ k}s ;{0sS.:4 @s܂h:0:_[ks~'}{1ܳ6g#Aj*>zWs[4yw~~/d?<7n$S3 >V }B7C"kI?G eEl?e 9?Ǽ,?ouIu,M1扦ʶ ǪA׶ Qҹ De JӉLc CkQ>Ta. QӣgxBXVDy$45eYjju&sE4+[K{kK+3xV x5uEzY -: nڳʦV^K?o_$,Qll A&ڢ&Lw7N;Z"G9s-saz,y,I6/Y<6nڔmԣ"i8LѥByQq2k˭5W1WVFTڠL}bV 2t7 T &l9ZS"&Ha{RE%r0RUrn'\V^نU~꿏w|:i*ϛ?۷Wöy{]n呷|8›U?_ _ scͻ`Ɵ8Mz#Uמ{R_ }}AXH`xeS_bYlWI\W 6v_!&Ma͠X إ0b>.L> %?$LdRVQi$f9RD"x}lXh~ꑣo^$qjIU,sIByMnqC5 j*: _d':kιBON:B(:^ɩ{*C .l*{hFO_^-`|ۚA-+/nzz뾻dXﺩv&bsfo@)bTCD$LH?|0"(A_qo̱#u ;dn'- ; / :HG؊tJ/tI7tԷ[2ʾ |v1 sV \1;`5 tDM1oMuT2 vdgs p5uaO&_2^˺,xCȠtx9RN{jL<^߷ZGnnz0 @s:=ڣr5H "o>K؟}^u_lw VK~x. Կԁ[@0I 0z8˂%xC@:O,^ ^+4kx @fppA5 @'BxIXp&,I`|qˎbJ|7>q[;0xaq$ ;F+o|8BrD08*rPO6I6o5 ir4c /f`ˁu0{0 2YRx4)?`.gCXgB.lH'P0Os +r&2JcI6#ֵzrȌ g啄y7h! m(CPzRtZH2 y.G92"]D)q. =[K*n) %Ϙ4]ׅQpUy۲ls-og )htJ 7&77#Ү5d FV-O{뺃w/ ’r5,wpd _`8yQOzl͢k#c"U#.aL 'K,8M qA3ϗ>p5d}]ί Wʣ`6~$sZe?bnY6S+o d4dE?L^wR8w봧?Zi3]7#[n_ X15{N?\B5tS?_Cr %`kG h#@k0/+;>吉{?k3&Je-©$Na5vo 3Z`E<{YM1K[Yqw t郋fizzcidڂA*j+nFIv)fsn/Xrߕ\$ǫ偟 -oiVB=w3RU2{B'ķkVֱ2W^9O. x_2n6 tܢ9G׭JX^^pj3~Vnޤ=#_S}xdQp\vkk\pKClu~`x%yGһo<ۿi7yx;xh|m{?I_{ç|hoI/>}e=_}PZ&MSjt9B.\(xCVnS'|%@gi%C]{|z)(?x.m|-(67X'4tf:Mnׁ=wy 7u9@)W7/zfW0~3UhJo"K"nfgi+YW2S27:cGwFHMhjtumn9mmuc)l}Ȉ11Fzs"|vW艟*#`s{'1ȊC(~B}bGVbw$tsqЊhc8YG4JL0Ęh׈و-YUR(jkphg騎Ȏ(Hȍs.ȏȎHIi ~ I)Ii) 9g *4#I%Yei+i9/Y 8Xx8),i(b*ɓAɏ.Y0B9 1GɎ9ٔB>G@)WD 06QُJ^Ib XyTI`bik SbU]c`Qs xŗr ~9t w){yYItɖZ)$/i i|)yٙ)]y;iI99)Zqɛ雀9} I )zi9gٛ;I7靮iYYjwguyؙ5ܹٝٚə9*0֞xHJG{yjJYY j2hVczژ1zt&f ;XisuK5ڢ?zYHʤA5rw% ڤ٣W"w8[ړJdgY~hzw/{i:yr$7%ȧ}j=yZj~suʋ*g2*|J5J~j3Ө.H+(*mFXOBꪯ *J!; k\i$7l56$h./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrmvp.gifrc$$GIF89af,f0I8ͻ`(dihZLp,tmx|pH,1A j:ШtJZ%JWzxL.zn|N?L.mwK[v < zxw LJ /^kg0dṯч \]b_jԩZ$-rChF9қH2P"*x2%˖e,TF.ʈ0g|8eH5 4nTcJHZ@ʇXqj*Ke^ruְ1 uaִc(R1c'IU TLcO[rn` zC j8lX+f]uɵiK6[ڜ:Ochlw `A H5\ٽvۛrߍoÛ񎣔K.E<|Pr_~%fVk7Tz 6{|"t2RE5q؅L jL⢋pYh8b`<^X:i^L6 WD)TVi%\v`jedih0flX ti' rީ|֙g*j衈JQh6(>*餓FJ饘jiv"*j\ꪬ^jījު>kװ&k6+*F)V+)f(v+(ކ'K'&k&%'WA F/;Iݫ’^OD #uek,ĢZ|BlE.{#qqp{w}F k&|#!ݴ~&qJ=-vXw3>BgRDM]0WK 5E㭷_ݳh7B8l33]2P[<9?k>;םxs҅.zN닯ScyY^8h۾G3;A7+O|ڃWS; ׽n隷;f=<ܻh ZVAx< +猪yٌfl6r-}+ᆾʱ0xaǸlt]V:mq٭|UWw0411PJ$2MRQ-zq ]1Ka<T5QJi|9 qh>> IAw4AEH5 zb#ĀTl%ů#ToA''xR DJ̒-$*ץW22º%jb Sye[Ҵ4OpcNdk$DW?i `gΨY3̧TIFNu*k` l =a`{x{:糄*Tb"& Is h7@ss0eGi #e y}^tؖ6`9Ӑ$@Tݤ/]@W @hvXd*EL+Zתֶe)X*ֹzv"^Z5^~k+t:,båXu豐d'KZͬfOyG hGKҚMj?Y x\Ypck*W1Qb]lASJ%{$~ܪqzjXeӕqoZy! FV-h.B5 JfÁyt?dyfX?_QrRl}\7L'Y6^=ꀃi^׊t]FO\v*ՍyM[:Wt!FS)KX-0-$էVuM\AwG490U:y2 \ o}i3JytF1<@29b5Wnܬ99Yvs`˚2AKW%QXI \El#o"ڒ40}9b5jQQUR}Tcᒔ x0k]Evd׶ q,ˮqZhWvY#ٷ> GP#9-ѱnpkM.ofNwl}6c}dF|FuŁwF nJꖐ Nu5EQav4gSMZM͝U?>VσaZC?zt93u~:,V3ֳh,s][.vJ: noUާ}\pwR?';.w}ↇ?3~6]TDt-oxU[>:G3SK?} @ϱ29A]^aW))j} C| cCgUdN4Km}Jo&Z#VBD9QvPF@5P<}&4QTNA,_s4L^Gd>S; =T:|U`%|8B59 >=7'PTP St O_#TÃaOS?JdA ONȃ>HDՓ%r[A4ARh;,G>]+؀$QBHHt}aSB4CCN;L.cKKTC~+7T(NJc1C,_E;B{%Eh*cĊʲx&xcx28j؋‹j7{vŘixX[=BR%z3{PwRb4^|M1D׍6LaH|{t3`J=E}h}g~ }ӴJGMHTiXRh9wȁUnIJߴv:"84S<;RU8hDSWńWXAǒ#WSVb)Z>)דxz8Fr+ُLj%t}8։<uFdҍZ˨_v8w"fYq˘Vl9'hTr(nY&x(td~y(}*0yt&٘=蕐)9xWy[Ia y8I%yٚe[9g"y^Iii9 ٚɩyIy+U)Z*fPNMۉas0i+'$riSF oٞI/iYrirIg&pcJJJ瞽9WyQôc4gT+и_d /뷏g'-ʞL׀1Cp塭W$*U&}9ąE`5Jq fXQGG DZ\.*3)ʥ j_a*3PIfئygYp9 V|~*4{#ZFJuYxmc:ZI*lڪu'癙j: ژzJźYPʺڬ:ZIzؚںڭ; kF]i$E7l56$zE./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstroas.gifrc$$GIF89a𠠤, dihlp,tmx|א`H,Ȥrl:ШtJZجvzTC+znpX~ rc"(&t  ɬP̂ι 㟀+b*b-ֹC.,DdG$ǰCqRPX.lB>H`>PS @]&\hÛ8sb@1DQi%U)cjiP&VK,$'|1]GFj?eJ[UW[^Eo"'65@]Cլ˘3kFD[)V$QiGAw&uᖶ%GcY vˢ5ֳPqr7wEnޒGf`B+>{3\^9%.(  fpwup%`qƞ '|f8 }qsrV\%O T@46(^4V^n8]2Xc꫗)묲 BQxu'2hkC6_Vkfkƴv,kKjˮ 2Bm/D+4 ' 78X\q1Kpvv o0.0k 3:ļ!#FgsC./לJl˝92s.OtV;Bb;X6Exg@!~Lq|656wҀ >W=xD?8{o̷~K,y8uW{eCqHnm'.TyP~4[{Uو :ɬO^{S^zGNc;OwGϕNy;{^=??~[[SC.}[̧Or3&Ao+gAk~ŎmZ絨k+D 񇷬ml4+نgAv+hg Y3X7ECDW*6 D^ϬhAV"%Ez;p9xC>q[ IBL"F:򑐌$'IJZt Nz (GIRvOL* U򕰌,gIR̥.w^O҅/)[<2_Ќ4J`g@x,MoSL(oәd99m󜳔; K}Ⳟ'2amkj$=okWZ16׉ `-tB泹hμ~rVR{n9qn꯾%{{ǜ؉w>s WdJ\~JvI,kJg}'wM7Vi{wyuG|yX" xz"~}dgdzyD{j:HPRf'iv[$veQ,Ā'YDE}HVt7Ƅ#%NoVqKJMx޷l'۠~_xRw~fu/zpGn)Xnnf\g;؇ԃ%]F\a]HfX^]7_ Y@gj\瀵BXUm~({ftm%wb~f'Vd U eugdfNjPG+K(_eiqHMzǀQ v'LwiӨhWVUkMJoȈ\xHufx%sķ_ȄUōdXyؐ$XKIt|đ$LdgAT) 7[䒊U2 \e" >rUD|'9I"?9ؔK-)OYդWVZz2M֕UfiTG^) k)m FeJp r tYj0^)`qz6tlYo|yi$S 0ٙɐ!Q KE陯)鴚iVY7a6DYSy וcŏYPjtؙڹٝ(Ry虞깞ٞ9YyT}":ZI ڠ:ZzZIڡ j$Z(ڟ&# )24ZM<ڣ>@B:D*ځ2 -H P}h RLj.*K*93(U)v`̂tX}gj`ҥ٢hzf)u`7z⧤d p@pzxGr":uj-w)ՑZlFm}5Kb'Iwе?NDNѪ*r ʫβ੧vc+/RcvAr{jI|P"}ꫳ* 0Īb^کZ)d@0;"F10 լs&vEdkiʫ ۨvwwA<2:G('{? Ԯ=9@Z$xJ|ʬU2`0LP`rZ3 #1`j q׍*0#3'|uNSK3k0Z(J, E3; to++3/gs[9pj谨.۷Hbvw{]EW[RW[;zCl~ªD,yj.:a7bza6/5# Zq f;C3>`bP(CkPMR+#664)4䊵+5RK7BM(+>LcCk˝mkP z0Aݓ@I3J'ڲE LA@+[r^@ǃ@ D?hK?-SbK)>lSB @ :+뤦xPl [z9IALH᤿Eɝ 9\ҸI =ͼA3, $BL̅<|ȁB5 CC\q պ>?9?߻ŅZB5&/Tڜlω2d6+o (9,}B>4'`{л+7@HٶZ*26N:C;0 -={ M4ٶb ![HBcu]^a=Mc w}Mg ͂,MlJ̒ז0z֘u{bBٗdوq٢jړMOm؂HW=aU]]$wD=]}ȝʽD-]mGڽܭ{]G첢+*ޣ=)r |?`M- Ěim/mm QX CZSG~Z%\Dn<̱+opϴ.ůdX5^vF4^&PKj10^˪M rڲ<.uXN@T^*KpTc@nth[s=\>.^NcKm@-Nެ]GUqXm{wBz/>F>J楮 d.fۺ D'.u% `6ܻ~GᣀH^;DtোqLӇA}{ǑS~"k=aOMl,ʄ;atCkg ڼW A.ޣʎXgnYz\zQ͝|@]n4蘷uΊރ?kOC LGE,N"> ё𤋮 Һ|+>AW.펰^iU-4E~k. ''bP " $b M9qLg.;-΂d]rL.UNg0>>*3M1?boR5B-0Ȝ.? l8.:fmH"C2t? OGџ0G/E8!±<ӵ}iv#d%|B)jb:,b5>rhDB9n=m"&*" ->BF5 ,lrvz~Xް:~Vaiv&+/3@GKG% fkosLCWw657GAC4/óǵOYr"7Cvn g"Sڸ׵~ Ȩ1A]c7@7$D)`(-Əo;q'T`(X߻BLė3q2qƞA ep4ǯ+Ѐ_hu.?_e(H~jw)>v*c @I 0 `0 @5N6I5ټm*'ރ;$t~_^ Ul1.K76ZF>PK(g]`#@ od)P1+\$lG[oʜ*om6ȀrP,CJSX/q [*ֵ֯nuTYKs5#6׃iNҹ[1)*MM6˦Ut%]c^ٖ՗:i%\m &_:#p CٰRxR,F?;QIs F;/d w8Y.vQ)^ 3XmiZ?Fu|+Y}'' Jl\Ъ/ߘ Zz/Gd&]w{M/M 0 dr #La|;9ؠgְ01q-Ep$Ju(z> #ZǶ5j]_9^rgR1t;Ȟ6/{ix2 v Gxf5%=ڑ^ p,>/Ch"IG ROmso\6iS9̛%'̷r;_1q{S|Cw̫t m:.D[֡uXop>լ_}Y9JaW0ֱL֚7 rO*AwRWԛ& [w(^tO;w/|x$gQܟNx^ޯw@WZW,l]+;8ŕbo[K3|^v{O3yl-m+%mb95Nң֝koNޱ>oU^Hoџ;7}Yfդ̘۵DŹ9\%`A ͠ʬt푴Yp9aK!t]|Wş߅Yۙ؉_J Z l:Zз5!٭5Y5a-ݡ rYxj!`A\6L]OaN% =Y!>]؝єAZÊْZB݋"v^_6Y 'J'Nma[ ]"Zz[FzC 霸9!*2\UU#Ua0Z#|Q!]"v"U[UZ Y`0 #"Mr0*\Q-ܽMi˲2`ٍ.vau}ɍE$C$+q,Q H11m$G#.HBP1q!#:GK$ޑ%ߕD%Bed9RKɤTPՁU$VzMv$MERT?ԍZS"JD)WFj[nCSnS^E?%ׁq_v8-Ҝ!ûF f֞ IfuL 5Ԓ&9j o4`MmHn)al}IRU:VVp14`n⵱_v"kX:Ť>Οe2Syr'l1gdeIc{f. 4 =*2΢ Jح$Xhn:B:K 2CaAʣk&t%C sqZz'!j62!`p&⏑|Mc,F2fcm#A&b[\zʇ*r''j0(dr֜ ߏ"7CJ#2aͣ:Ib{ңND` (-bb#I!zf\Z4zi6骭(+BQa'&s[l9f/Bj#aiBh[3Ҋ4ꦕ5৵)b )Ʃ9s潁;&$ 2# .Xg\$a@Z!k_nD^$F^q.eZSyg6De$J%\.了g kQ%cUbjr(T+^,^h>RRedkʹ~r*%~q,Įeڬ6lTBl%T%^Ђeޱ*&iӪ*V^I-߱g]_Q&qfz߁Bi-ܺa-FVm[Ҟx-Vq&wda`6~TڦUF.vg͜[ҟ*'Bg +rf?^cgy]Y^ m؂qcb=&h>+=~j&&PZ,g}艅uN_0)jebn~Eh6ޘ/p䗂l*>j"p֭2 pR/6*) " N{ڣ%"c֛2o{) _!a, /Lovsp*Jx*952WsZ9G3F*c*j ߣ *;ъnUdWn/ // /+m^m'Ư(s+x+֭ك"eφa&j+nd1qP֬H!A/?&r֫-&2/3ڮm1K3S66k8T7f9k95CDIpرsʺ͢[sb޳gm"8;#&`( 4rD5s9hBi_u.CS_:Z_r7K[t쎧 nBtXt/.޴K(f zb%Nn)[/}oN~%oj !b1+zl2,u4jX+qW\p}/zK vcLv%\ [ΜʖiL9!;v2XVz.n:Q֎YxF#=>9%2.:θkx࿇-ݾ ^-YKVY-L2_1$Bӎ3aWy-vjF!nW|76]/ H&B`΋0`!G[}gڄ;\"AY+LJd+jrT5@{exE*i\_ގ9!k"!bld* ՞!,4-*+V~{ó5TΠJʫfƩ13<ƒo'j(+N5NZWDÆnMcU=R;J0Pw3* NFkr7 |[5<2z!XbUYdq9)`w5Mlkg&Xלb#pZ[i*)nCIw>ۗg_JtnW;ۈ$9Y!Ryס5N>~$; ҈yy7Rާϗ:ޫ-;zn#1.Gh }$ü63C*lԖ}=vUY~e;0k߃o}SKV@Az XvD c\u/ ^Ji ό,}@'$H/QȀպp{B+zէ6r%.!J)V,ڜ+6v(5]BƈBp=tF~-$#(E7K0iJ ,ֆ8j,wF?,r01ՐAiY%&$b$臔˕X -L2Kw䤋`-\Ÿ֘j;t2,.yiZnn쨛(9 |}[gtNOs`J)9z3ܤ*%wM.;t:6Uz7q|<6|st,8N{wش7߉ͤM5=/Xġ>IMJz0 Gc[PB(6Si-, Gc.3K鵇G,{V$XJ_N‚Ġl9"`|k YOBQ 5e5)62. b`;:%Vv+7JRճ#hEKnli'EZ^…!g%ZؒTYӪ - ԞVd#k=& j,3K o! Ν SN+CB3 ULT5PܷUfn\ <;Ɯ@5*=ƇW$0 "g#(wLޯ e2ՓcxJj͜L/:b^V"HUw4.f'R(5ӺOzm'`Z/;$QUO 'T…oCKЃ*']5{ 7Z+ڮ=u*(QYW}7RcHoTjϖ/=7V+*1lK&;~ȶr1l"m p{.ύt{^_nQ쮷|;UHK/ N{ oKN ہE\|$XP]^믅|4O^l޸M;nw 1[fȝnssJtp."aҝRwٛn[=o{}>z{vν*+_v7|9xFEw7R'}%Hx Gy-H~WulV1 s-Mg> 3g 8ⷄWN}2zK(燃v=u?Xw y*Ȁ }5H HI(}'{׆|kWq?7"ȅptkwzp}W䦇Ҧ}pZ}%~*qnhfxH,(~eCȊ :>k2[: g栋R1hlS AlgpHhh HF p(88ڸ0Ȍ"@Hh>tC*wŽAc"xLRa 2|EH y 䐲1Hؐ;x, ]~ڐ ّ7эHf+ 6p= 㰑8ahsi* @I^4 S~XY(ia\ɒJɐYM)3WlaU c j$lyW aIPFUi Yq(SJUjVz-p]_ Qtge*9m,zo "i-y{ʧ} *Jꨏ J'j꩓:r*ZImʪꪇ礯*ꨜJJ i `ګ):ΪJB( zWʬ/r Piӕ,犮,v$b\9Yj誯:m .[B:* s ]yfКpĖ*t p) 0HIxyCHEW<61>b`S{{)+Ă ۭK5KPu2Taȳp?Zsx Mo +9TM`5Da _XP<%a Ʒķۜia{!ɚ8?Zշɬ.FX+Q6SiM yD`;QSx'hz@4c 5kckTRzcj %@QL5bkQH~+!5i:1Eս{&U6[.;<{ݛiۼuQQ牽sܛ7,Aa 1}KVltb?vmQ{j6aJPwYZфnӣЩ]Ұ!Mdr=;ɭ m ݮ= uƥݭm*=Ƚ]}-ǨY^MHݦ(|}]G6-]ԥu>޵൭L-d^%2S0L;\g ]-&LuxoݹcC|h-F9fc$8+N=>]2)-N^^.7.[]~:_}XN-Ɇ^c-"lVTx~Fv.Nߒ|>^-JNqҬdrPh\jn}CaOv߹\^H_ef-ګb/{^=⺢D}9M;`,_^Z^p>Cn`>^~@~1On>oNˑ^C^ 5.gF#bSHanVO s=Ȯh^TcQ$#:\F?dHF.^vDhDV$*e!$Vmخk\+oUOg_Ok?O!n45g>N,>u_ѱ;"O /GS}ӥְ_4.Asi92#rtmu}V W~}񬠳\ɯ .ٍxn:-~Omo{ `P'+ۺ/˯X7 H?0(h@&'4<z+6 ponWmjzJ.Q"4<./Q;~*~ @!b"c#d$e]%f&^'hhZӍ*k+l,m+m.o 0q.2s3t֠t5vv 57x8yw9z:1|<}=~k;,h „ 2l!Ĉ'RhD%<(#Ȑ"G,i$ʔ*Wl%̘2gҬi&Μ:MjΠB-j(ҤJ)ԨRRj*V?r+ذbwjժ(ЕiC [hQ~!۸#;/%[0V1kqɵd7%X.)5\/Ht#5쫞}rve۸]͍r漸pw7nr~WVn-䮣7nǓW:c_c_xu~ş}g vWtif-~ c:|يx1(!5D!-:ڋc_ j!2ًDXͷbQh#Ucz]aB٤C9S*ha%ai%ubt!IBjI{ sg(ruk ܣhrW'ٕh,u)zcaf}J*:rz+gW3,{l A :,J;-Z{#,z6;.k窻.;/Is//+ <0|0 +0 ;*+_ k6g`i$87l56$z8./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrpau.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3ƫMkܫ/ k %K pj +Bm|4>Pb|)18,G7 2.iW(E> c4FCTt<3XA'b%U-ʹA71kt7TM|6se7k7mI]yКI4O}B{NuOnqrҘ hҬm觉^ŝx{ˬn+Ѕ e<'x }-\ X3%O{D<8alm#Җn{ $Ӏ>|f5owԢ>~?;^׌"*xd@vSWg8>aJ<>Ї#Aq,E#8E5z bHq~@D!0(B|c:>r~F2,:q.S2#'@ w#N=ʁЂ %F%BRvݵ_6:_l425ԲDYGZ0-6S3b+e:s`|湚)j+ּ5ua|+yuL:v\I-̧>~[(@JЂMBjP71u(D':1r %D3юz )G݄Z((JҕVԢoG[Қ8=(I͙Ӟ&=H_ S`BRԆKMMQUGծF % j:V2T&@VZVZ5w$'պu;uF@*`M+H`RkaP[)&ɫa]]7̖tkVnhK+V hI{B4- \[ tlQڈM@# @M["nHJ]RT &q+5r׻^Uw4A}[v =AL *uo' Y@@uaւVX 8i~[U WsfYX@jZ[,B3Rv nAZ'nx+[8x2FcRu`M4"/ :)l+ K JBY51 |B:a`H`/NsLָ1&UڿRJ(@@<~.mC;ǖ*,Cg/IcPl^o"ra=J`u-ZF-wE(Z{ҝ͏:d/nF[MZ<\0ѐ>kزN}~{cEpyTpF@{ .l&\s82mZ7֗+\]`CEl3?;Z6)_/'B ">;9ǽ_-rυ€;Z"7Q5z=KҮ.B#rp>[@svɾ{ηHtaϛ:)n/NEOWo7"oVK_nĻ طyy ;Ɏ6_7kvHhPx<9!@a@CMw"VtϰFO|}̠U}r|}!$6z}9aڗtnbhl t[Tg{aT{ |g$oȧAx&d'|޵ BB}sgxgbq}bV7H7P燁ׁ0` pgy%(s\ {fG*wy'V ?aeqjkU*h[w:4@Ka7kXQXiSFp:YeJ< Ѕ86gW>R_a8Նа+DX/ uyF)[:5$nVyG] 6Hxb3HtDquhzNgh|׸D6 _fIXZ|HHE(Dd4F'DDx@S iX|9SHk IQX)9RAXu>K.xlL6:UPR pdBS-ɓ6E)aRZ cLA9v_#ƔSFO@6ɉ99DizGזaSvGim0UIxtDasX9:R3Hd,pYvrp&۵+ٗw,M9R蓝#@y@aF)IdVhCdzVɇLl՛{IfW3E EJ qɚiR{Ι9sIi]ɛٹ fOy0wO+2-z ڠЂJx:Zzr`,ڡɑv5*,+ڢ0dFLv2< %š=*jdF5:*JLJ~ԘdCdkI ^NbO0i9)ÑPd3hK9Хrjc?s:q|(kEP3)\="zQβ 2:Zz)ڧJJJ0r@1)jiFUt X_apQ٩w ,)}ʔ1zzmz5ЪU |"+ΚtH-wP,S?. 4J6Hz4HV0*ӨB$Z$ A­.jꁭqu0c#Ӛʟ>WCWq $W Я@ ?c(J{X ic. r.:Ppx X ~&@.+r#3^$-Y DcE5.`>n"$4- WEkHilKId^MK%1ٚ{UC2Эgm36cKQԥp[ kEK}{+O{1 r(x3/[u@!:C +h#:2e9۪nuCTC+F5#~ +GxkYU?v{*[j(븑tvu&! c%S!U-j>e Ҽ0uۿћ1;?~>i?CgZ#[VT7";;ms<;v±Ch:/ӹ\GЋLDEA[5&~!Cʘ Db]|*fJځ1[ 6̭Y{;`1F+w~cơ "X[zB-{搭29tSuIF< @KqIܱ _ 4ȘlS$+şJFH|<0 Y YF!ˤ:5[OQ ̀#FBM9?,,#@[q|LLDn!Q 챶!?Y_?Ηǡueg; G{=ªyGJ*{-(q~i*W2* ػ0S X2H=L;K; 3+/-PUoӱj ִjd]f;*nT-ה 0v)o9s}I"!r=ٔ]ٖ}ٖ٘*\ ؞٢=ڤ RcIboڬخm}.jyM=*SD.sNe<=0Zͣ3.=.nz0;%MM@\H 223PNt]޾GT * =,mפ$_[ō$-MMHd>^2FQK.h$j#Z쭵N$n=%NNSn쭋W,,V ;bP8:Bs,ζJn{*M8뽎5ل+U'$%U$/޺R+̸ ܇4rNA3W2~ G,j/hNƼ?ֽĿL߂NZ^^_n1<\XXD̥Keζluʊ\LMv~^n NR~xVByMNRgŤ~!mL~橮Z|`&Nrҫߠ~Vf6!|=0M}Cy~-B2r B^NhTGδ 1^甊;O :o2t2-Vcܽ~pG-NSVMlt+6R- z |~?lr0jyoYo,HJ=OܣߜO ѽ.j\-j+,JoܜAS??ް> Ϭ*z@r#}b}%ɟl A?OO 8yEQ3ё@LT`0%TXEZb-{R1l.7*p*y0q$nث40 !(¥ 40 T6,df^y~=6Jɡ9b`1.9"E>0@K/UXi|jiK1ÁEI۵Qą] +\}Ejb5I> ,)(nK-J.M(,cʩs'Ϟ> *t(ѢL<9$U@*bD(@0@W%p052GO ܹ PSyuՄ-Qb:f` xRIý*Sf(X[L)F( 9z\ukzIm!M=oUm7dnCy5z#^b֜moYr!EDx fҋP~I6X7)P`o6TyFl7`Za{9҄/ qQve!-}!E42faЗZ73aJI88֕1yMN9MzlXBvvc+5"R-y2 H]ĴhZrj?<4 I*F隲~孃d꜎{._-T[pd)hg蚅'2Ee d! 7YFYO.(΄FE{lȻ㲕a,L㍛yPW:os4XoEZJ$` ,pΓtl}3/tr"܍"j}X84eCcV(]56;gVUР$Eco5YLp=kۦPb&-¶f}b0[hKku}*]4kA9`>M Tcn4Nk]}y NpwT[ͯ36Zfz؝3y+׸oz۳C]QA oiVI;/a3yGXl_zv7po9\|_}erF@a.ri-;^">ka_tw?ռ}$$"ːJ7+BX*T #A9a<\/E.t"LH.$J+2hR/a- wX JQ!eSڈViJ5*PҕrU7}YŽ$u8nC= § H:`HYj%FZ2uS+\GfIblsrʏZ%$1N둋o)uT)A*MBȧVi,ԓ(YP0Uj˶a +]j׻5z+_׿qUErJd5jB6,eQx\4aYPÜ]؀'T6]d&"j6 (]]Tz)- Dz6em/cn5l*\E[йN`0bʅ-LJ*͖ a Zwψ{PWU't{JD+|2}Ur?WuTmD`_ 7kNMxG9o!a] ߗ+z/nA<H&vԀV\u0fb6[W9Ve/gT. =KS^WǾqo}(1sq;`)$`, w?{ h)+^(X`i*K\ *9x.eXNe*f޲LfAӘ3^t-_XKx\{͡;U;' TVtLA Z˨4hiCАv%AڿM|g ``h" |О!I)_uDO0nޮ'k.4)i$wL[tD[-b@*jBAg2Z۲v_|wַ1,nn< kD!?~\҉ B/kP Y% 3;B3syd$[<Εki*5]F:9}׭n[xlׂ~R'N)CA; t;xZ<ƃf!×^wa#{o~4=Ӟ Ra⋠uj#?:RIx?>XF3[څǽu_gxެi!skRE?6Y39Xq>cx ֻIH =1Ћ Iqu0Ֆ̅ 4n ӥEK 34qJthR2%u)9[C J.TH=&QGslI Vh\19 $MfϴY%!! B aT9aA!iƩrڧ!UDS#ᡴaeQ=Q0оE9P!L4]S) +!ŗDŋ5"^\̍!'j_$~"Ib >aAQԑchQ#(H;J,\.~&_ru*c"癝4 yRE)a^@Q2"ʼnZ="# +[5=47~gI Q MՓ5*фׄIɠS?:$K@^n#CޤC>>dEz:Z$ *6!H$!#I#8F$8^4%SW@)e-c:LWu aM#t[[֤ՠ"IU_ECu"deZ_V=bSVIzd "zBW#fΠf`:&h`Pd&`S!mõS Qf! Q^bqL!jDw`-nZy&-THft;jefvfoRŠ:.HrgaO@a> &b =3bhAZ(rxCnfeʂj^f}ff8 #6.hKQNG~ȁޑmf#g&Iv*#+ gu`!I-1 &}H'B'7 <#4eb:V%;Μw)[(evdːQ#Z/hةH.%XI(?c cv-*ff<(:yѩejp""V%dN2cOVTgw".gbN6%B&壶) +ik.*YYN9^^gЩѥi6+flf4X_{)*>T–deJa2) 'au~Z(wAƪ*f"9S0h5zEg֎iK &*` =}i. Ӎe mUXԞ)3]J;r0*e)"n7ݐ'+¨ZLRZ0N-< F |--p/ - LY_Rl$k/ꦶݖkbWZ%5J(UXœ?)_fns77,6R~47/ >#.v$,*AjfF1Xq1)wbリ .$:tL˴ODoq x}MV)Y^'ӎ[Q-UgWSұn&buX VStTXk5F$"$LuZcX[݆5 TiS;q 0GSDU5޽ڙF\$^^!a5ܗ5v^d˖6CkA?$QMs[D1u9:_RU}[hgۣvYv`.ZIsKwsǵj0++bD/ (A6hK|id?7:vwB7:eSv3>gmZܪc$u;ZpǷ}7:j6:-{ un7 ~w8tG&i&lA?/m \q_5wt4fw q(( L f 13Ktv{˅َ_\Mu{i.Ѯ8d>S4b/N~q@ c6[M'9l_:װ[0=xbS-~kB X1,E2&LJ> eᷥg_}S PƾO' ];Gr&g>+ Md=CwNy;w~s8j"jc]~y)}V6790y(ɶ L׬㰓ZS0{JcQ]ҊjmsBӞIվ6N]YYf tR4"$tطW6W6TԸit )euri8*[kKTK 3|k\[eViy4 {슚L+{Bk*^c}~-l4]2mWʽݿ NJ| 30d;+#/Nt/#5bR2$/z܌g8ٓrC47VN[#w46D\ZxFLŖԨS˜2^Q%Byرd樉_YD*ej-ܹ)Q6KF 8VEد3]m oZ1fRo91ѐ<߻j[{%+;ٴk۾;ݼ{~z[My Wf.Z=ܱ~,s>Y-qw@yŒrG 0Q`w ~$_zu6pJx`%Ȇyz^Y +}}%Bc2Hcy7Xg " Bwcxxx:>ŎnOHདྷJEaIB 2T`^{V磖9b}6 ( Ifk:ҢLo|sB薍2DerG %g1:`G.Z Zt=1*fd3݋.@kUaZn1V+dkRkI,*Ɩ4쵏dLBD,+K䕩ir|l;+ Lp I#O.'6 @,qgp-`. jk6laOvإ2RŲ2z5-.` Vv=[1cE.X]m7kT)uњvu]w]p[Ɨܭls׼Y^"صڭoӛ\KX07%y$K[xu0ankG؜8ʥplx08) 1Y_YE(wF2,dQqdʴΪb7-YL.f/}\! vƲs'T@ zл9w~״FtZ`DK,Y?ǓetdZӵ?T<5}iUz^e]jeL? DqMj^?.6v lM ^l mB4>"F!>ó^ ì;l[IFvsRãY8mOG|Fq`jH1ωN+65^~oGP6HWPEu_C UF񐷒*yJʝpu˅( VM eq~2;/ѷG{Loz{^ %1L &k}Ip ð}d/ώ}1T$ B}t~+|.> ;+zŻ`/7>>"V/=7>gYz>ˎ_P[?>]op<|gZG~v/a_?/C4 7~~\g(H'~ yG}zg~ć}zWz8z%$8!H+ǂ#'؂؁'X}"8C(yЗz',ǀ3ǁ&؂&x~3?<ȃP($hS:+b\HWTDHgU.8V(Q؇Xh5XWJȅ7(=WSlh~uȉtHh|X6H臨N)HdH(X8(}W BLMX4hb7ψ8Lȍ hz8v(wgX_yvX-ihWwde')IIziɑs !)I~7g'\: ǒ-/ 1)3I (9=ٓ*A)rCiBާKɔMOp(SIUiWY;& kvai$67l56$V{6./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrpco.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3Mk;Ƽ{ plQ5[ +Bf= EQi++1C 2X.Ub 6ɂc*܂. 2 12$h5kωm4<}E|/4`.L7B4g ]mܳӳbh&x7kswkőݴz/95;r~}_c(?U/{ *=nڷuw#'< >@| a4 Ά` {)[`.;d:@Ư$PJB3 @JЂZP] D'Jр.ͨF7юZ[H3zъ:.ph)ȮYX[4ӕg-W7;ۮ\_;իwKA\Vb1\P9;"3F/i`f|؟Eql|Dz6 Y*񄶚1FzOXۮtNVVoY8˿](yxe13 }}5@t¹Xf {`FZ~{.qBPľ+yzG@O>v^\bg8%;|g[#A:`;02َ_+VM; ͟NOf r?yO46fq{n#ǝݬ@)x^k#>3>ڟs74O!۟ F? p'Goו+@M~bw}(_7q} 7TgPy0vBzT5/*#6^Dwi hQxh]85q3V{,6qYX׀gGfu~N6|聒o2XcGJ2lh׊vEv8ƉE* P}kAH%v\ňhJt32GȄv9^}\بq[7kxPtX 5$~vM(GS94LcH Lؐr84k yuc_5FP^i^6i8XTAnp`0Q&)X0)n)koyU' b8FCAדDs@<3u69`;YQ35oFD KF>,Ch2-v-u38YvrE)r{}ulDFcyFL<_U]Jns |VU &honbG{GLhI%g@$O%79Yz&s+)W+=?nq+I)B:#X9ǹa+Hl٘I)˩dn^_ЉMyxٝprvTQp9XǞ6TYg UgyǟYT;O $h, :Z-Ӓڡt:$Z&z(*ts:3:<ڣ>BtiE9*LڤN*@>JIqMcR\ڥ^TjKyeA$:'Znp 4qʠT:IE EH:*uZN,: @ ,&:a? 1t t: :ZzK儨IrxiGyC/ة"l0t*j)w&0*yJٗF/pC.G_:c"l+W/*-drE֮=SG47tC4PRtr.*MF$K4u.&#+?U="J)ƪMmyx5xe$ W{&-.ks ,RdJX izUd:VMKTp qPׂ뫱@r:[u'+ xEr& )b 56容@$@EXfdžR[s&ۂ+,bۗ{(-W]k`W[>c0d{媳$>[d Kp1fXvfsal}ַЊKT&NVr*X˙mn"]2ۂ-[I;L~;*Bq di-5 iB`ɆPf3n #$諹K%`i~ŵ d#KKlҳ+}`cFYC k<{6L׺Ѐ# VHqRK[TIYHGn+~z>i8Za:Bٛ0c@}Dvr lKLǷ {bJ<4CB>㬛1DB#K],C4J:;L?l"H F%q$HٛWF۽@ywqm+IzǜIMVA{ZAHCV/2;l:m ˛ @ā,RylQljU[`Pڴ)uEdȼ3l %${Zdiʊ+< >\L>xù AS,Ȅ|eZ uď%ontmI yz<{ۺczỌ,[$;;~u !,b>,āWГLrTsHI9,Fs =|GzdDxZΆM|:A1+X 5isxiI?5%F0)M򬹟g%htƜ*Nס2נJT}/P)pTB׿ C@b4ٹJݰ0ǘML//w0I\z[J`x}L3}-#lݡZL4 0mۄMث$Mw}Mx@SmH/-; z#.m Sޤ=uReJ=7\NuT]4 mJL!n0-K>6~>k`/& Fk06eݥ'MX3s..?ICA^b'C}~-ϻI2M~.O.eVX~%{Z2".p4Cdܱ[.q`Kt~XW^d~EnX2<۹="|96k g0c>&0T)C} ?| 'FIMf^= nfPC㟭na< ]NC F \d~/N(_v..^,=x> ȏ\|KL̳sNHP#|sȤ<.ݮQގf%β":IپGT7xN0J~~`]-ޞ>4H]L9߬>wqm'(?W?-\1cM>8mF 1bJtô_ԻߣA_ JşG*o% cq|?ECodX_h`xK0R9ӵ}~!D<"^0H&%dТ 5Xh,肵-r"xnkql8 004F,LE\hXb`^҄rΪ޺vmI + 4, f܇mۖݻ-;O|yvsqo[.pHv C]!`j&T`7 yD=^(3Mi"\/ \ylt`-oJV\i-b֠Y?1b)RB p٥4@%b\&Jyef+z1' dIyT~#n)֔* x g1pi& 2Z]QW-mX]GZ5ZVJE; "++1iAb*J^ab;@+x C6Ӵzoh ֐2k3ؔƧFkܺ ,KI +B(F)7lo3E̯d `Mkܚ1PULa1'K,(kj.:эx*cAQ6m;1qiJ5j=S4L5ՆG^Əzvܭ\Γ}lϱo>WR"m;S]#o(k TAà/rq]82ySx 8>dnypt?Y(_( p=)7F|bn@pV9S#.CdV kPDX#7pG$FI9K1dx\/!K`bWGB2G rhbhHO|VRYR.N*\p Ԥ`O2DXRb@g:3М4IkZ3ܦ6[jƌ/ 4a:w3'=iox>9I &K= jЃ"̧OfLľb1v&4=Bj,>2Z 9yF[Rxv/T٭q$E'KI P'9Ρ--GAcJ*MmUG)MZI~FXJxUigVI)s"Z:!r,5U@KZOjWJWbUBtj?Gגnfk`:4H,QεHE,c$EfBAQRޑmx.1Z9olQ:dXUK1 !d6xqOĞC3p)ђEܩg XVp~MKӊvڭޓ6m f.wKcL(R]̠9xZvf u5de惿1vB驲k6wqu-|_ΊؾfR,Z)%+lk؃i{#j-c DFgX5#k][ liQ8]c̖-.@չDv L/K )=6a숛)@A)mj8wghmd :i٩SڠFej7&7Mc;0{_۟ =J}NVd 5s)zN)kF/pjȬ}mf{}uX8#o7=keom!c`5ɇC< CMmEc\#IiG=ExlbUvO_+r󸇰r"kYT5qțps.tj|_}gh*ʸ-؝[wewT[Ywm٭k_@n\B=uxN3mKuL9Gm/&QK{p\$sNؓ$/='¨C^.HnO{`j68{;s/oQy̏3OtE]e~gtP"ܺ|7^_>}p~F2zFo1 ISk8I[1]% xL|OjUqZa}5\b͉L}ӹզY\ HlШ)~]Vk50 R\]R?_I,ٚJQϗ _x a{ *Ž ʉi_=]ޏ!V[< a8aj6ͷyp\n.%mJN0 "TƁ~aFba]a_"[[) f`Y_]"T˨Md&Z\J$"LM% O|@CTI&]U "С.4#ұ4_, QN1^;r#$7:LA _9ҡ#5^c߸6UcƠuhVNt}ǡE dْ<]1n)b^]blP䆐A5&_QaI{#2V) Ad5Me)_ٝOƞ8Z- avuU@~)1aʕ:eXޢ*OH =]Jek Qa{"dPX*#i#^䩜Qw zcFSoI`ER] V#L,%.y"b4^m֖Ȫ< BgΠ/Xbf?R0F tF_*6!&VvWQ@X`0%tO|.Z~^o'"r%a}go'2.JZI~gv&!F(!Ne b\cBJRg++t(V-$/.hz!""tO53ƝHJU 5!6'~ި~.Wc͝^^~ >>hKޡc)ʕbzX&䨜ΩV5BRMjpz2$0N|ﵞV\*>LuuH/.K"K*~ O&bR[ b+.%gilR&f% II3qB-o4Glu#ouv SvEp1"f$OFc|`]n(lo ՘{l3)ISr%[r:)ր+.2L28Ͳ!o/s/].2@A1S3=!VL0K20/-4W355D2rs77s2&8V9sZ!@:3/2Ee.T4׳j9hh=Yg| |Efj;3#/=ד-i1D:Mtid8@vX`>>gs<"3~\ ܭM8WEQ1L;iM*X9`1_g` 53[Z*RVuZ4+Y]e?5KC9>tFF`S4Y_]b4+p 0,VS\WWQIi5< XaoOW Ewu`GArhYoFdcsqe54LVoSytnbO<* Ro+.ߍd2c7S|;Fg:;L',l<_;;i~W6dziy=~/׻x+xO%\_/Չ/$cg')ty' H扦ʶ b4 9 P(̦ JTٴސղNѳ /qk1M (7d Sthy$Ei)ZS9Z:s*+xSZ;:+x;+h>H+H.qh|Y]}eM:RNֈÀ:zl=wFƙATg @a!\h՞R{fJ/=V'RxщjljdV&0RNIp"q 0\F(c6'4Z]KʈE Ү7¢)c`3 .DpbX7ї[Cپ"a镧{ʪ \Ffl  ]B)o0򶛍,]XKzm769xq̬Ptq5#LSqL@N?,K;qr|l+[tؼ-_ipE.S!j=|wP]^W}i<;LNy(v m=$Wz Vꪯz뮿{κ) i~ {eϡ -+;S˖?d ֛09oϽ393O~K?~WoDO]wg` #QHt8oY 7Q00xY0}!9 %,Cg- 24` qN{B;v)%/JlA*Uџt/H#^ KE-J0 d1kc~RDp$5IvݭOf"]4+y| H@R,k,A^Ÿ"NHLu,i`y %JWK`,)ta+,(XRdʔIt=q4|٫+#) IOn'rMl^GfMS8U7v|;cjeDD1ANΙĥ }9yg5eMV4%C6 t"<0&At` 0*n JQ.7^4-G7y0'x/ kx#l޷yx$.OX Ɋ_ x41_Z<'"pUC&2_l$+y !9"\e[Y 0'cZ,8Yd.2 !dzNsgQ>tA9ъfteAS? 4 g6ȊV5_gCk:Юfu_U:ձ5{`ԴrCd/xguwhy4jyͷMlhyۅc4u]ku /k~1?Ћ~/dC;L k$Ubi$37l56${3./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrpem.gifrc$$GIF89a𠠤, dihlp,tmx|א`H,Ȥrl:ШtJZجvzTC+znpX~ rc"(&t  ɬP̂ι 㟀+b*b-ֹC.,DdA<*HÇҥ@'bŋرpg ]|7} !44p$SL &ě8sj​@3DQi%UZbLK,v*t(QGv 2g4V?1& ]9V3cy'lI8R48 FL;&mÎo-XxwoM㹑k^'g W\j D@+ňNL*x㶵Nd8+oN>% AC5I]{yꥷynFH}vh ~$tFY|4@4 ޅN6ގh d zh䑰g$Q$VQ(.%,h'9>cNV!emprdPӒT9z^.3ߑ%VMũ袐XQ򙔀*Ycp觠騼4C*zp}FW2Oj&xk)FSBv'jg6,N!Vk `M+nێ[-8榫8+yKxċvn$ t5p OBfN0efPJL 1t@4(A "p1׌-j Cp0q?*3r!?lL&.3hQ]@Ki!W˒JVAWtT_9ÅS7|!5iZw I~ve7܆O㨠ʄQnAc^k8׍0o={ҫKU@$vKdndSnNc `vM(rJNZCg8攱+XwC7yp"؛y _m72xmb!‘H ;o R&oL6AYq~ܔ7-o)c7%dv_轷6{v=E8HɜcPm.@z'Yfy-s/.#jϛEfK;.ގ'3w؛j|z.:i/2.w2ޓj_x`Ze6(վg1sվv67Nn6:pyy7nJ}G*LtW'l'[twxG;/iw|Y݆rva+v~gt :{ fVI~rl|Q|7gp kԗ'#0̅rye7akqFdHWn'^Ws'^<ho.sCܗvphÆ$uNgXj7R W dBzP`ҐJYKLJ |IzpWJYfɎUSZ9D`T]J $Il YK9 ]‰ęUWKU3S8#DBCɘ:9Pw)LթyVy>4c ywIԟ 3A4S99( ڠz7ZzC4:,\0ٛ:bZ&z(*,ʢ 0R3/$8:NZHB4GTZVIWR\bM)-zV63cڦneZ*MtZvzxztgjjZ3$bz`Kq K"E-q}k*60(Z/`qVZ-q3g* siӲZE,wg)POoYf2ҬK}!Ax9uAZzeZX[9}$z@ߔԪ*"Mj-؊:#P ZeÊ٪qpҐf ҂" @?DZ2BݚV00#h[D1&NȺE){z#B(j;8FM $ NJ3S:cANk[xe8 24P Nc5VsɵCjɳ3𴀥IdNUAQ:f[ZK5²egi[L +7s﹛s2˷2VȱKkYn+&$ԕ ^*OH׸+Bn5 6ke p롫:>VB;rɥBP'"~e["Vd[r{0K?)A[k`vJrae{ S8<ߓ84; Iq\?)0Cvۺv*,$~f`7:1>+8#W$;3A[;Ϋq[ $= ˶{1 #ٝB(L=!z3,W;Y8m = `mEgi8dۿF$ ţc R8Iv2", Z@,;1z.cfuM!ȉ|Ɇ<\L̯:9+;\Ȧ]Ȑ*VF>k Q Qul ʵBS/L|0'xsBϼ\ObժI>ީl8ܠ^syB=T;;yQp+$<Fk;eӾE8mχyr@<ڜ(Nl̖Kү*ߤegpmծz8/̠^36,}7+\\O Ԥjth"Bj֒ z@BmʵLӏxv |mm}x)wFoyP8g|ڢ=uJtډ$ ڬڮڰ۲=۴]ۑjG{TK{4'qL]$ 22ϓZ]]!8GmRGʴw=G/MG.m(2L.-4ͽit56* ܊lTZR TQ {Ab(~*=+뭙K¹1)L*y2^-"_SKE;IA bѼN8~:޺2 +v@H\/3CL}\+Bt{0یAs^yz={Q46n/> !̐{ӛ.G#=Lej:0R/ g\ f<9^GM.OF ~O}Ν>hܘr=**/,/˽V\3J5p ¦@_FHʨL>NR?TB2E3X?ET-*\h:`hB/.2)mpo[Gj'gox/z|?F"M ~$ۅ/SXekv)&@,Q >Օ_/.U#Xk W;43>2 ƫO/n?=f `k&D _ Ÿ_ 5/6o&+a04C>A! \o 8y±<.0ByNLp8( tha@#,, jEw5m ^幚Lt/ "&*.26$)  @! R800RV 4эŅ}ʾΎdu ;."/37;?T2`qW, P]¥ǢֱIC*'p 0]MNpzZ%;Z{$V #֯X>/)s&3%%gΞ>?yXqU͙R-2J;>uҒJOL I,Sdv,ٲ2lZS -V+svͫwR530c}"Fik7Rʖ+WP/ΞBG ]@>z3I%a[n}3޾f,ơ-^شΟC78#ԯck,d śO\CujUk24,Mb¯`Hf +*YTemܫc99PZE*b>R5$t* PiJ2 Ѭ,'5ڙ0Vq0h$PqTڬnk לJ~ g(CudD,gSH;.LE\UJK+ЄJ9EYV܏`1n6 bEq b鲗 '٨Heֶ-u7Y)V^yd%MILPs'V?ѕ@[]֛ծ$Ar\eS P46t7[ l#zcoܫ[f trm\1Kl-|{y )L Qt.: m(kEHx `^vY,~0O3rjegYIFQA~:̼jߍ2yi3Mzg.廬)КV2z2|& +ݘR 2P.4LiYRM\NO7?>$?OYfǏsKt Q_`"N߈m(`J`UZbjNH ` 2I0="4/_ 4Qv `$Df\ j82Tk RaZ!`פS] ZC`]\ea}!7t K*a̴9I>a !~pF!& ~mH b%6% 8,!m%:b1D^20"&*2! FC'*"">bKdS-"/^ "^/ġaXLa/:11r!@a38 D^c8>c #\c`:8:\OI;`fUzc;==0Rc ٠ )B2dC>#:DRdEZEbdF@&XGzGOz@HIdJJ$1u6>AzJqAE^KdOrDNPeQQ"56ҺR#$jg!܈9W&[nn.+ '&,0/u&f0ѱGW@К.p /R|11"o[rV[0uZ = 0.k-x2DSArqU8+L#Ff0z1'X˱,9IKU@2'-,FvBgPYr P[s+]2` ])r5ϲ+.Eٞ,o2C_q sr'O3Mv,Bf-cv^3S -ns@r^~p)qڳ*k27#Bߖm=$p2"G:deʴ]O"2B28'OӲ.u$2_4~<4Dn0Ci4vnJ+RFS?+ŰF5TS5pXu"`unhN Ku\3tY9Krt][\]$> #R[g6gv[cGSq~k|fkPye7rAM&3*c2LbE8팸r;x8EƁ[xmb"zKj^`nj+Ϸ|v|6igxx`2 iڑ"66Zk68Dks/ awM[7.)sE;ϳ6v4LgdT(sfƶz{myך?3;Knk j32 _wcdlpsm:Sf7$̔gGdsl: o2skh~Z6zM4#L̛^qH!6n*ӇT;:O趷[#Vsg-z1$ K7秳1/|мW w04:mr<{B*W/LG 5q=SwE{A{n]8u e%3Z{}fµMuݬݹ.xeǯS7Ap=ys}uY+O]7A3Kۏ es59}Z)bk9ȣ D~|.9~ηc8#1Scڿ8htӷ}ӶE?C מWy߾I]h`}~ޗ|q݆l ~~Vw!{.v&%RXS,}vȃ;rCq;}x='?){d&|{X}9 $#dc)  a"ʕT+"1`pbZf ]_pN%QY\Θ+z<.1(8HFE($ٲ'X)8I eEfYjhZ YgǦ3K\\xI d xRj+;HR,vJ> + MdGVs}i/6.Xq|1T؉ᾇT%/ix"BJ@,ڹ+̙Ѽ3ݭ<3SYRPI!b|*&ԩdžRHBY:0Lcm=I*ڵ} 7`lwrP* g7)ޥz<0䜃'[͜7]Nb&tլ[~ ;ٴe|:nlu&^vY5(K̛;=oE={o.qѲn>o|f/Ki iwT Y]*߃6F!gI"5b|7_BxD(cZY6"4HdO w&sl3,Ӭ$1x3T7h(f9͉t,9NwSȔ'9JX|'rg:NӜ CLq?ьRӞG/zN`g?yё³&(I3ϏMG)QnԠ4 k4Py STMj6ʡ?}FoլJ*<ԥKmEE*Ut_ejJǺSR5MݦVW;攮S-kI:V5m_ ֧")aQj׼Jvk+PCJPbTe+y]hm8{x=7w=藿Kה۹ܰk;2gn|j:ʄ8=23^}`y 8޽y߼WO>ۛzK/;gљu_vQxc@ωdN<$tc 3 >vhlW:MyqZVò!N,~ȵ"UhZS̼&-nzIr3Ӽ9Mos'<)z3t,Lz^ӟ @ ЁԜ>sI@ӡ,hjsufFQev4ݥDJRw2"Ҋ"+mi y[4!eAaҜ2%HUS>%R*ҚLhJˆ@AUcYVT|UVLzV5_UPUuVZ̸oե_U`T;aK$VNNJɤd٠Fs=-ARbEgjZd.A&򄪮=liKٶ~j)\_ `q\].wmtiJMnd):#`K]DT-l ^>|.rыJɲ?eo,ޕ׼};Jl.-sn Џ,sarSh ;ֶ+sޟnx@G\5͵ňIl'E 0Z)ȶ,cƥUKK޲h]K-/y+f)0ţn,b1h%{aYce>s`G>ϲ,)QA@AEySf2vGC'/3NsKCǹcγzma#f)IXSav8Y]KMΖKkq׆{)d-)z @Ά,h g951Jct,-KR6m$vmKrwWuMZ&looqn~=r./k|%쪅ނF/'%YM9p1dːnQgI t--a{Xu?;`~c:2agpm7qgM@!EͻJܐu 0[yGSWXglco|t_o5^s:mYTm'mUtxafqkx6_ry^ 09l}'=׼+noGO^c Xb)Mީ<Y6tKVwŗ`iK&a4g|e#y'b؀YfuG~!헂1'qd!ev5"f~h`q{X'P$}WSćnw |#PST"ֆN1؂}ׇjo }a(eX~gX*'v&$/hWnw !ndwq}{gSW dFfŦbz^gf s g` '}8]t$6tȉ}~5lgp'r&aibYp"{A{H((G}pn׃8|pg&C׋eN~Wxhht^gx qdbyH~fzcuK^PJ[}vadLF 6_vb5ri<'TSOM[pxg`珍Mطb8d`Ԋknhu A`! >'h R$2[<"b6%VVR*UVy"G8Fىl\gdžRm4YW$(0`s@v(nZxE"V耋)6`i{^ufrG, 9ٗygIkYzməP8h(SVۄ"FwШI7[K9(3)xHvXZdUh/ɋ |GziR~9Pș]r!e ZU!(IP湜)YIؔ5iɝEɟt cLO:ZOy/uo5ҤZ<ơ٠Dj]|cr(+jM(4T$~ |4RFj$7ʣEzqY)@zʗ6S*U*NVeMJڣ%*O*Rc򢆥¦5Okzn4EiHO D ( 'ziM*tO&Q婟:]-Z*9JڪJ*JNM=JZzȚʺڬZ)*:Zzؚںڭ:ZCu꺮ڮZz;ү{ d :䰻@z);۱ +[p(*,۲.0;*1#I+R'et:,=k-8i2_8).)7k@)@x´b),Q Dzz5҂BrV/֘e,icr!&O+Z"|۷ԵT+,i)/x@5">7on;$#i'[Ms˳z[ 9 <1RK+ f</SSԦ#A;о^[@>оVD5͑ HT;-Rћ t>!<$@ bݛ@ÿj+†׍av'C:ž84\G8P4v6\U`] GV9E̼|4-``Ė\@9COt4B.kxo_CCb};w\61ll,8jSDk:ȫVnB]+ʥ\:J;oCb, ˆ#9G<5#4l6Z%`8 $!J>Mm~P m[͖ B1-GM4:fZP?}VSLpW+ڌ.*F3XMԂ{U^㖡TkY>Pn-Z.=zCRh-l޸_.n.-cmڗ2]c~P.]{-Dkn(0>^~阞难BRI~>NH[>3~IŪ0^4쐤~n;P^,.B0N(~ݞin~(N~ƞ=pT;2qk~!nN;붕2ݾ H"GfHe$B"ƶVnbs-x H?;A~p53Hw&6fhb=FF#p_nŗxO/E.3`#HoXs;.{G>MNSP7{U .J..=p`oC?6y'B,U쉜#Cۨs@.$doDBOHe^SRXHl,_kwJ-> Dz>ߋCт-螲4oHκ@H7-?M o}q/mٺIbZ<ӵ}yD9|"P0c44b'U-(33l: b]q+ʽ/`) D-UML-.IfYu ,8:-DH 5Mj } "!EȺ&pbE"#-!n Wco&oh, /ΨRs'Bc3yGv|qb2oF6˓ Nϰjq){6ڶoέ{7޾m{8Ə#ON;xlΟC/`bϮ};޿/pϣO~=[/j]:Ly[ 4@"x 2 BR6F~24L!V֟'0 ( #m1X7☣!b!#O=DAc-+"uȡGgh]`ȒTQf6h&&cKfK:Y4T /$)@r.aK7%|Nz#}a̝{T! RO6aZaR*晗b&vr$'`gJz,@AhQ(6xѺvi@"F˖b ;DZg@zZ@N@[B@pn^Q *i(_o cOq! A0ښGƆY* 8cHȳHju-m р+4uP1D$9"6WԻN̉oP FTX$'yDfc!Fd, "]{et!"CܽH"EȐQaW@aU)>2H#^,i2A `zd/YHB\&9y*2v{h3w]  K`,euca/d57CzpU*7!\ 5[hZnR$? 1z#>-Nʦ_7 _aXT=Ҫr+QyԁeZ0 V'R+;g*Kf\XLX jV-:kzVpbe]-$Qn6"HJXc&o'e-qA6ڶ H%lri܊ŝ]+WEUmD/n+4nNWm.yW[]^}kJoIk\Iy+*V!aMj2_m| G*=ۚ.k,iNP>2 )0t+w6I 0./;kNVE1i21 PJ tc/L0\>d^8E5Q{*n* Ew>YfNTƕyi\#M/Ts{fWCҧ&h# L8Y{'!'l`ְFgb&ב.e @oA\wQve hhj֎vѹJt> `{BEL$gG??Nt&<Ꭾ`2 Sq+Svm7`[ޥt On~82qx#d.R/.&g^H (:{Y߹66|OOSV?yMm ]?n6Yeni4$ K*\V$ɬGWgTyD{0cy]WAsf|˖} gN^w:_ {}H!ȃX}v7h=i/7^YRo6T27c?`'5jJ??,5 P܈2`:`)] x~Sdz  aMɃy(V` xVaැK@>DUa8VQLOU=!B~NTUTPaJ66-e `!} >ԉV,T&!1!DDzn6uJ "ƛM`I`aYԙ!lEb 'ʕ'BaE"b n &&O(bQ_ ck)|jr>DEaa0ڏTb&r!& cn%!"F#4*TQ]E# 1)%*5Y#b#=bqN1Jc).3c3:S(0JT<"a?Q<۴ۡ-"`|Y`~IK|.&A" "B<*! d/VKJcd6$iKᩑJ ㈍9 X6ɟ‘ܮLK>?dPH2Ud>rb)$YMDMK\D"Z͢cԢuE3~eH%0vVNcM`cD>%`L~KZT$QAE޴mcCdQΥb$e F"S$*bI0J&cb%%IԦ:f& ^dĩR Uuc %{%`ˌ^N`f (^2dȇpfU j$yfv~"h'{2 ƀ!2t9ed  yug Fx#R__:B((uR(y֧_5g`x#*9vWl臚!h* 苚ٻg#Zh`iJ!lH3B"̪u_ ; `:^娉!UI[p` KP,i"~7"f~ba=M^vY e(J wѨݖzLbM wz'iGO%a)Z"_ b;eQT8$y#iZ(щ|۫Q)ꮂP%kc92SwRj;jZˍQf+\! -[B\ۼe]~J&i=[Gۻ0L\ ϩ]],YlJlkTTHŵ)B}S (5 DHɆ?)hLq[.ٍܱ[km+Ռ!(3<]:I"ѫbmjPe:,Vm"jj"~Թx,7F=,A-bt ZHՎy9D[q)WVkʮL'E]+m^œj,l`kb$V}*6j~ /nR(y!/JoF/hojiZ)o&"%ʎ^V.n+n0i8\inf.旷x)K2mPR) œzĢ:mv a|Ği2̧pp Mۢްp * o H(\VOnj-> ڬPZf*KNqqkZô7,-JT;٪Oo*4tk}+,nMQ-n#Jkφm+ϥC[[-O>n\2psۆ 3,"lYپOժXq n12)sCcmIJr6 B')9R3+@92SY(;C͕BءTЮ*w,47:14#@ԂԚmێ]f00g#x=╫s3_B#fZc/?S$m7Ti#RBrJqrJ⎰T!qBQA1~ ;p Cy疞.. ;53y-S߯.PsQӢ06KWg,{VJTXǵuy^/PSQ6ײ[_1ub_u*vecnCHYV?.&evFu`o.dG0 q(eJijvPQndv~ aXT) L )cb6nE`co0ΰEPXЀ0An*^{Ҡ}g`;8\*%>1y\nv)tXgWZ2Vw' :"xN!O"*v0G˸`Ml$2"#n&5*cj2ABfs,_]$?Н 3,*sf(xD&xVJa#Ywr4CG2V:U3)AzE) fp._ZR_$oFfxl5j3 =ɹH)IStnjιx3)z*[**ۦH~y_Zs/@jy_(E<z/X櫾y[{P~e~g|X쇁ly~>?~ni(?/ĦGJE{b]kDp?;>cg>#[~;WHw C$A:ƉkZ "h)E4SWrH7Us`j5jr9b=RU|.Ei.7'tQyweC{6H7XX7f&XhU׸STYӶvzH :JYjjêJ6; zv4JBk6J }\kg2 W}m]n襝H|#|7UkΓ+In3{Pe;oS#‰HcMV;w Hկ hl@{M’KњKh` [(]aa0daDay=f&b*b.c2HԈc:c>xBI$:^J.dJdRNIeAieZ&y^~ fbIfjfFertމvguy蠆:Q衊(. ΣF*nUhnR)viP@*槨Ɜ~9JP z"+@ktiȰJ6p lf{᱇U@ p T{kT i+ @1m1%W rm×hI{R o  0o[M p/B13 z,@ޜ⌜ Ѐ (tH uZE)( pXSTM=9spR-ų$y}43K #.ׂ?E؀m>^4=8^ns# Lc#zv7쨔PɆϞ *&t{-OaO懇\;"3޸3G{[7@.K!kUg^Splz?~@?Xop;T3|B7l ޼^g O{s 8 6}X'}~ ` ;3cĚ Ax H$K:4uA1i+`by 8$jQgә-z TcD5u0FK4H0lU$/ _@EI:HIIX$T`u )yAvi#~!]l7E͏c`-Hs8WToC%ɂ%0p39Ž?s<@]*st4,Dz #8]\)'y l[/߉sրz-((/jjj賊"1kbaV8³h?ѐSI1+r'm@-PiP'zĕ&)gjӝ4y)QBpJ OԨ05:*Ui**?iu҉WUuZ| ulmk7bָunma׼@vDV}` bVYc#H,CYB86+&Y[Xv\ mL6 hWnmkZdq?!wv=}Ӻ 7pfvcK"ʃ X\0Yn ˻-tW:͵]\'"W ^q̮<8 w(kV%~+}Jyw +䌟ʃ>3'`Ŝus>O;US?O^z֢?W~/9ǽ}{yǓO/eWV=ꕯz¸^S`>m}toSa~,K&yP|Mm/#pGn~_+gs痀vCH ]t'ߓ9:*ȁejg~}|.}7Z&Fz=(wYBD'3|w}O8d'H}Q(xSwKz7zMTX^H`H1dtƅ8j7#"^G؁qx54>A V`|QVKeJt7yX>Djvx]׆~EMQze؉EKFnRg1XJGt6Hyhy~HnX)ǃ胇8QU~Y|OuU"EBh9$רȍȍH]dE|'刎YrȎV(&!(gЎȏVRWIi ɐ1%Iiɑ !)#I%i'I(ɒ-/ 1)3I5iH7ɓ=? A)C99DIKɔMbz `*TY*;Y HXy\/3DiS9 cScO qQŕ[,;m l ~Z9|9X闀yZvr阏)t閌yّ)i )٘zi{iiiYieY[)@9Yoyy隞iioy)׉IΙx iw I)YY쩞򹞥Y鞂ٝyY*9Y雺Ǚ9giʖ Jٚ #J퉞 )(j+:Y7 ٙڟ;ڟ$*i*1幠"OO iTZNʟL:aEeəLzjڛH)M? Йˉ*YizJIbjKIKiꨏ P+ٗt'٨J꩟Jjɩʪ7I(vjʫ"QZ!ŪijɺfȪ͊e1*J՚ ٪ʭ !; khdi$57l56${5./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrpma.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3+kEޫ+<:' [ +Bm|;hexL Pw\T( s4pul 6Prj:-јː)s ;o slD-i#u:<=uh=Ѽs,f On-d6kiBo;jm׍0Kw.7zs(/.8[}\pm -&δݢ?^ڟkqk>X[ܨG맵8帧s;_œ)~6䧫^7ˎqGTHOk]tXA:p;z> 3jxs MUdDFyzb'D퍑 .>:unKaL9),"`.Bѐ`٨ x"H j 23hUY{l IR<*WJ,Y\:~^ 0IbL2f: PjZ̦6nz3n8qL:vz }b @JMBy].4hDJъRtͨFPgs>E Ғ4$=Jь|8=eΔ &@AISy4?ugP9otH4)`O);Ԩ$mjU͔R\WJ:R]X*εը;M\YTm4 pоsxիJظӰ׼k^WrS]lY2^) me'Yrvi]gkHCZ`aKz6TtµQSu/ .`e;@$uxNtɭlw;^n y͙o͍>ۉluPehj7mw[^FE*kU fhTV0|㓵f.PYbf.{N XkNys][ @@S"2džX3L]lFO(2k5,ZƏ26#cp9CN0C$' *k33-hB:AͲӼe ؚ*TJ HH Wч+8G` 6{}dEL6$y>[ejNUPFvmM{۴Noߟ(w5NMݯ =9m3<뼾]5A׎6;|ycgqUwœdI]^y[ 6+C{ @Bχ횻xEVn_Ba-w]@ -U:u۰8I.cӜ( I>W{Qn3"35/$^F۞fܓpT[-PB]ˏ驺~f^{c=8d?qsgrSK'|}FgVp]sGTZQy Z }4ku}V}]7~&(xxM b,p#'w#@qw{s66h`3\vd/5myE|~wZ?1j={&$@M57jb<}Ph_BSWwpytOz;[%rVt($jEglV\zWG{c7ׅGF%EhHJ(],Ijw 7V#_>fy~7lX &h\(Tw1XM7z` fnzك7ǑԌ鶓Hfja ]<‘< Z)h (T>b]WyoY$OoTr)rInhp(~vaCɗVxA{nNiPX <9uTWIz#fIа+T)A.؂,kyygw?zGٚ"xg䀔℧Ufdxx9g]g9 HX\&jIjoiۉ\i6蛿ibM]5\%hQד쩟(YڜXe߉rXUݩtr̉^IY]IOJ( &9NXc ZUlL0j:R1:OO=Q&ŢXE)5RF W5f/ڞ%E#POIZO#:T@*+ Swd{GjT–O2wQeWڤNt2ǦZbk b`jhzqsyzڡ\:WD*2Qz+HO+md+器HzʨPzQ*]if J)._Y*#jO# ʧTʪڔZA[{WP_]J :%Hh:P\bȺTM蚮꺮ڮ*2-zگ;[{2;[T۱";$[&{(,۲.Ф0;4 {W$ ,>{@:Dk=[L۴NPR;T sSyDK<r)^.a/װ_U/GVӰ_1pWHq m4uw.Tya꒶+8/l;aӰ%pyP%-Xz2zJFr@vʷJ D{O璶;/+< 2!bS=rzc?Y z SƻN5Ne۸y{OuUn)r-(&Ǹs0e~(&` dGrA&mp7w(f &p+@ w`U NBҺ&?*q S>3གྷCcHl;zSiTC7pVro &8,B]˻N࿥vD2~TER| {$8pөvt1q V&_cD;pD>p [J?☂wV-,E'u&r kXB?L۳$@ Q|3rĢ׏r~t@9@ŭgW Ƌ #|^,q]1Ʀ,6|+sAK4988̺y+# j#}@!}b;L< oH?4TC,m[uiCC+S1\ Pȉ==lpDkA31tBhE_[wm DD_M2{m xV;ټ-:1,Kb=, ͳ}Ljku;xpٞE[OvxH]͕ }Ժ}PSwPCAtD4{ 8M"اkAQ7 }~ۆl}8=l~~~9⺜΢Aw1bpx3w;EMGCFFzK`l@5nlߕ ;K.3 Tk"`DLN0X.ğؙi<wtE2hNsIfy[0swY./WS;^3n/q>0N~u` srʐn/޸.޺%X+5,xaC~Ȟʾ>T/iK؞Sk.cPK>^.CEѣ,4]5P.>R/c/O۞(=d?C^q-q)/#+%[]!oF.𐛚(J8%@KyT͟)_ ?PYGzeuUHO Q~m./XyChj7dIH0OR\-"&[=ŬĨqМ~| c/d J+O~Y]zڝ@vaYVqz~DA ljzun EJAFav*ũOVd-:BF:EHQ{¾g hISgA.ᠷ7{P-NzP.0tykp$"$I4"U;r$H֨a&xI 4P"HsMpix1オ3 #>~V>7Ξ; LXDQ:jҮ~Mz o]˨M^٢DL3sȟVc;;һ^:cOoz'm/_ji?}X" ȡBRFTZ_4)T#X'/3c֘;rqa4E~=GR$H:ِgLWbyDFRyd_Z'ܕ3X:% b> ߘ. m]cg?N5iڍH0_k 0P>FBuzhy1 J˧(y+]ڪmTc^ & A'P@ X)εgezʡI@SH+TY׺-ThևVhGJB.*+w:AU0\exted:k1X(I-$FCz'+q,}<D49/Fć.aRQR61q0/V. [g*nVRFs'Ps|n˨j+6DX V>QPfjc{F٭D+`@ᅯ= ]uo4$ꝳb> Iy8ى=,65ڼ.m@<3si)d}j~R +AҤ{RÙUK/Lu-{ Rhi֜7L2Ĭ 10D [_>+_D%(n+kˌFb@X۔΂VNII:{` 1;² -/}X<dO HJ%47&iB!9 ,ʟQ!u#9KMlrF6DubIJa,Oy2$!<y~9T#26Ø J0L3q:\ 穱7Ýi/"Cn1dDŞj(9Q Q6ǣPr"Uxh *F -v`; &Hj"j{V Pf Xtskp)As~"Lc,aI'nd4y1*W } '3$]U}`2. җ,g}'C"361$-QUH#h4&k"!G'43DLZӝ2JVC%րu5aj!Rt.%vh1HŮvɇF&:%x B^GE,1,e?"60 tճϩleXfgY*Zlի=j){Y`.4ڶָUj*".%c{vx%In7+۽vײt-;PT,گp[Zg{Xӂ׾UlsY\,ehJ?RK+N$<]bE8⑪կxux$fm~߼>)$! pְv5j*V1Soxk6ip&8,h/# %A[c`J3g%4G1%195=XMPqs|N3{Y4Q60'/ij< S}0-#62_={?7xģ#?_> S>oc?nY]ZBo{?>4{dx~_{R-TY?DYm[ݟy̴A`R_yUT|`*)L@@a ^ j_eI vKW#QXҋ` He CW_ߩX U< IUѠP?ܘh j4IoO!z%4LAF j ^ \xYY^P!bZ!E_vQKB!&!U!!&b`)~''R&Q,bA"6 UbMZ/>,Y ЩrI"}<& v ")ء7b6( TµPАU;ܮ9S>cA=QPK94^SDI9dS]b&vc6c 8jcDb'z"*jb&Nd j$DR }۷-F!+`>ε?X@RZ['Y#Cfd86PE9c9vB:N;FAI\ޣI/A>^ܿ9uӝ$N#AAC]DBP%]:e7v.e:f$S2eSBGRMEQSգ(!<>BϹ=B!@f%? ZW ^ ܟ[~ 5%:r7bjJ!G &'lFd+B `ԣ>fFT-P դmTK>fZ[%1:H`vV`&qr&Z9gߘU{va r`#+қxgfw]y}z"z h:h 'iQhZ腢Htgpvh=@er6v]E(_9 b(۽ hhd2H៩LWތj](lU2B)]9 4`z-ls].d)Y. 4 ?1^XJˤ-`Y8l輩[F800!lX!4]4^ž)@n\.:Y"*j"j-4NEHer٩!)% P\XfJ*آOe.kNDⴆO"ZNb9r2ځ@jra`Xz*LNT$ob$)˰ EКjI!]fd*>B +F!)($ø5#/>J,DM5OՁ Z! ; ^~AZAIOvRYecݸf)@f,*Yں,i[f\ƉҺd^XVe-ͅmRf@&*d#N,q*Im#0>bKsvBպjp]^&7!lpBpO~)>nDubT虭'mvmyVH,Y-x^hvid2U牆Z_` jؘoΟN^a܍qMRQDh>V ׎M"oo+rp.I/pF0^D;pq "_p Jvpx/j5s G  G+0改0 *N. pBIC4qwHq0]1%e1lqU^XM'F;O1;ag1A1'1o cF!{1C0#G#sG5rwru0q2q$񁙲"0,{*&([C 2[n,Mۃ&2521+&1$r|1]^ G3{1O6C7/sqCts5 rs(p<<2[26CP9^T6k10O3tPUqȀtNU}VoXHW;uf5R+XultZgb5U u^_A]s]^qu\z4HΕ;cCvdK6d[ecvfkvekvg{vsV[hvivj?HvksH&vl6dlmgZn6vo7ovpn/2nv w?(r?;w4wt\QruGw~lt_w|ޫrssuy#{w7t?WtkŶt+ܷw7pr0X)iY1($DJohw)A䵤X ؾѪ- F˜0 g8sF8iq8iӒ8/?Hc:z.:[T^Gcךͬٺ~zgaQʍRC-zzHQ!j!9C3M9Ԋ#dž-:n:jM~[~#>Y5v;~K\[>/>yvRw/R#7s~^C6ꋯko.g>?JE59c3oǶv,m+?]Y_Nm7٘>n_#"G'oW~.` PkEcD? H扦ʲ!FdҢ=8yz%oJ*W[ tjZ6WqwIP e& .z6"3@78F"fhקV)V9WVg)ZTrhZk)E;fɊwyKZ+l\{"*;ltyF>Jnr+ hf tsB=H/\1I'0:T"#ĉz=X`"bH!Bۘx(})(~QɄ !zz$t!+#MX4"9st?=7$H8cMbSGw>A2٥K%BvaRg8[weReP&ܰ(uy^Q~'~r.BQQ>hok%X);1))>eh&Q3QOV&V*& 95+Qy֩0UIl=B\JKl6ܧ=A,nfKD-g)kֈ/ [0W{h Kl Ÿo3q~!G[b|s,8spv} o8O 1s^؇8"}ZGNwWØB.І-阗Ĥ:Ìm:U+8Qh2<g3PM\oX%+^v(CP/X؟9w2ՎZY>գOø;27Ve?jag~k`fɼyKL,I* (U%oA=h2@nmsG쭰u z !#Yh3\(@!$I-< q;'Z#V1р|!"o (1D/CZ %0ɥX1ޏd(3}|2u$C@߹Pqt%M UfX-y bkZI%F. ˈCKzxe4OxT0y ,vy{Ԧ2WNp&!tsl; xs=|Sܧ? Ѐ^,AЄ*t mhCЈJtCaьjtU Ґ@:"-Iat,mK_ Әt4`2nt5v#H^Y(`) @:\u|vѣP]7rlEO= i+_ʓ(:r `"gŞa~* hXwrV)ɷj\T$` ;zѳ}&^v=& Q{3ռ%qiO#_\+W\-jdtO9EӞDAŒRC2:UM(*4`#h~zR]^߱s߂iTBDյ'!TuvG(bx*a(,b(4H8hc<Î>)d5 iB*9: 2JI*ZJhEx B BFH" I睴9T@ H> G$ԢJhv!i\JqM?uC?Ej?m9vMsdh衤*V(k*Z&Jר0Z(9첾kljekV뫰vlnj >Ukmp~0p^JgoqWnd"/IrG*d.sQVL33\:ws-DmH]OzoBPG-TW-uӘ. \w`=?)Hhc'Yvp sӽBk筷yZgw,͵m m8u B85@~W._d/.|} _Yw.~[ub䴛N跧~;.3^s<';.ˏNy_^bCo{o}Ο>?j!w>O71gZ~tY]WƅqRe8=^/E62՛yMe)?YUwe-O]c\z-qWf3r&ѹY#Y=~]Gw>4cU4_IHҖfQ3̓MjTOsc~@M2=zV_M1FB.pkG'ԹѬ{]_cz~ mlZ eh֊kvUȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3+kEޫ+<:' [ +Bm|;hexL Pw\T( s4pul 6Prj:-јː)s ;o slD-i#u:<=uh=Ѽs,f On-d6kiBo;jm׍0Kw.7zs(/.8[}\pm -&δݢ?^ڟkqk>X[ܨG맵8帧s;_œ)~6䧫^7ˎqGTHOk]tXA:p;z> 3jxs MUdDFyzb'D퍑 .>:unKaL9),"`.Bѐ`٨ x"H j 23hUY{l IR<*WJ,Y\:~^ 0IbL2f: PjZ̦6nz3n8qL:vz }b @JMBy].4hDJъRtͨFPgs>E Ғ4$=Jь|8=eΔ &@AISy4?ugP9otH4)`O);Ԩ$mjU͔R\WJ:R]X*εը;M\YTm4 pоsxիJظӰ׼k^WrS]lY2^) me'Yrvi]gkHCZ`aKz6TtµQSu/ .`e;@$uxNtɭlw;^n y͙o͍>ۉluPehj7mw[^FE*kU fhTV0|㓵f.PYbf.{N XkNys][ @@S"2džX3L]lFO(2k5,ZƏ26#cp9CN0C$' *k33-hB:AͲӼe ؚ*TJ HH Wч+8G` 6{}dEL6$y>[ejNUPFvmM{۴Noߟ(w5NMݯ =9m3<뼾]5A׎6;|ycgqUwœdI]^y[ 6+C{ @Bχ횻xEVn_Ba-w]@ -U:u۰8I.cӜ( I>W{Qn3"35/$^F۞fܓpT[-PB]ˏ驺~f^{c=8d?qsgrSK'|}FgVp]sGTZQy Z }4ku}V}]7~&(xxM b,p#'w#@qw{s66h`3\vd/5myE|~wZ?1j={&$@M57jb<}Ph_BSWwpytOz;[%rVt($jEglV\zWG{c7ׅGF%EhHJ(],Ijw 7V#_>fy~7lX &h\(Tw1XM7z` fnzك7ǑԌ鶓Hfja ]<‘< Z)h (T>b]WyoY$OoTr)rInhp(~vaCɗVxA{nNiPX <9uTWIz#fIа+T)A.؂,kyygw?zGٚ"xg䀔℧Ufdxx9g]g9 HX\&jIjoiۉ\i6蛿ibM]5\%hQד쩟(YڜXe߉rXUݩtr̉^IY]IOJ( &9NXc ZUlL0j:R1:OO=Q&ŢXE)5RF W5f/ڞ%E#POIZO#:T@*+ Swd{GjT–O2wQeWڤNt2ǦZbk b`jhzqsyzڡ\:WD*2Qz+HO+md+器HzʨPzQ*]if J)._Y*#jO# ʧTʪڔZA[{WP_]J :%Hh:P\bȺTM蚮꺮ڮ*2-zگ;[{2;[T۱";$[&{(,۲.Ф0;4 {W$ ,>{@:Dk=[L۴NPR;T sSyDK<r)^.a/װ_U/GVӰ_1pWHq m4uw.Tya꒶+8/l;aӰ%pyP%-Xz2zJFr@vʷJ D{O璶;/+< 2!bS=rzc?Y z SƻN5Ne۸y{OuUn)r-(&Ǹs0e~(&` dGrA&mp7w(f &p+@ w`U NBҺ&?*q S>3གྷCcHl;zSiTC7pVro &8,B]˻N࿥vD2~TER| {$8pөvt1q V&_cD;pD>p [J?☂wV-,E'u&r kXB?L۳$@ Q|3rĢ׏r~t@9@ŭgW Ƌ #|^,q]1Ʀ,6|+sAK4988̺y+# j#}@!}b;L< oH?4TC,m[uiCC+S1\ Pȉ==lpDkA31tBhE_[wm DD_M2{m xV;ټ-:1,Kb=, ͳ}Ljku;xpٞE[OvxH]͕ }Ժ}PSwPCAtD4{ 8M"اkAQ7 }~ۆl}8=l~~~9⺜΢Aw1bpx3w;EMGCFFzK`l@5nlߕ ;K.3 Tk"`DLN0X.ğؙi<wtE2hNsIfy[0swY./WS;^3n/q>0N~u` srʐn/޸.޺%X+5,xaC~Ȟʾ>T/iK؞Sk.cPK>^.CEѣ,4]5P.>R/c/O۞(=d?C^q-q)/#+%[]!oF.𐛚(J8%@KyT͟)_ ?PYGzeuUHO Q~m./XyChj7dIH0OR\-"&[=ŬĨqМ~| c/d J+O~Y]zڝ@vaYVqz~DA ljzun EJAFav*ũOVd-:BF:EHQ{¾g hISgA.ᠷ7{P-NzP.0tykp$"$I4"U;r$H֨a&xI 4P"HsMpix1オ3 #>~V>7Ξ; LXDQ:jҮ~Mz o]˨M^٢DL3sȟVc;;һ^:cOoz'm/_ji?}X" ȡBRFTZ_4)T#X'/3c֘;rqa4ET YG"K2٤OB ϸP#exApgQYg٦lJTsY']%µ9SPvi_j9$iRZ陌s^ a~npg@ Ti7zik$ #,;,,]rʧ"b[mTc &N%q h X+%i+,MPeE+-6P"\ZwF) Uzq,Uu@|f$$iIP%Hl-bSsR h MLpm` >D1@Jß aXkRQ%MՑ/rt3&"+:Em;(= |(NCQPM58y.ٍ>l+`@챯(y2rO{/3KXa%4%]A?^n74M*VPښO',EO:Ƨ\p{%~O7޸/ӛGQ@j(Xͪ Y2?DW1`X03o4.(pz,xP) >\6e\ Sr(Lvɚ2$9~u;2+F""yH a$Mc_I&0$(tP_#U&2,"G0%RR%X9ΥwldQT*c3e8D1W դ<W%$iP#N2$XeX4a;UEg]t""h@&fpD%]'"ާoƂa@>an.:^Lj(Nh}(~ޡ~h&(r犊芞NKҨ`fhfh>ɡ鑾 2(iBibX'>NaP⚖bzim))ؘg iv[b=ziiďEnKiohQPf9j-v(fW&`ő.}ejjHeye嗧.jrcF@)&_&BkTZK ci`,Ukb%m+("iff֧ ^wj.`N+\+r)"k_f\& K֫\Nj?^9y"ekb,gA+V:Bx)Zl^*v~)Ȃ>,f,F(n*vŚiFʬ~*ˆlB m-ln,ƖR2 mJ-R,~_fktN-J,쮦dٮm̢m:-+g&-ln-V].mN쿮f*m,΄q!mJ,!..ZBmnj-*瞭 n!V.rn.fN.>a~k"*o2"-Bm4B>oj.ȩ#*~/jXP+nzmmn-V+tq\o뾯& pn/ 5>n搥:/o.:^fٺnx" gpˢpΰװ _ kcp 1Cp1[-p0FooO/oC0 @Y{1 ;ql߬w 1?jR11o0&/6r.Xo$&l%_q K +1+,p{2*c*g,W1.-n+r.!q Nrq/'3 srr,5'52#qW+w0)?sOjt,$6_ 35?2t6^7sr8ױsKr9s@Pa G3%3ss1" 3Fo49ϳ?g43߳1jsBg3BKGnK{Ds4DLGB#3 $@P uQQuR5IL#7Big=% IV0MG.NtTTHU3PouWM4TYuR0 Y4MtL{6VՓpIB3s\@cCvd?`[b/uʜ' 6aga{[r ]QghK^zXOc6 `li !3f%S8op isfOQ:KxNؠrYq95Vm5[-vb:wolS+tu {s.{C.}5>X63sv>wA Ԩ-eV}{}gjkff4E&>Dxxu u+x'ݎ\iV D+J}SqxMkaxxE[&g#ky{3wlulIyR=8$$kxbM*oZqUc/t=jt*T8898K{9zsSva6|w=C!$zޏC9{;q~W"cۣ}w gwhckr0 Mka>؋~9?!?i߇Yg9+A3l6p7<ۇ~fCc?ϼ>.`>h?r߽}{~hTF3~?F4扦 Lc%`H\(ɇL*2`ȤԪja"ijndnp .sP(n'8GSwtgXXi)xX$zF)*ʉi*B " ,N^n~zY:O}u*U_LoV7Q>NÉ4:ZEV,F1d11|'D@| 3̙4kڼ3Ν<{\N`3E'aLyh嵟L:} 5Ϡ06DI餖Rz 6,TVQbn 7.Ա*v* Y>iǬ e{^pX6*kt[LLǎ;wv\ uke\uͮk#ܞ{ծKO:mK܅s=`uCܷ wxR1;wkv+h`M { b^}rǟ !A M ^(]|}߃&gIġVqon("ȣP~b~ǒJ. |!T}0oNURqajYILNץY_BVeYBVp頜LwʒmD:1z(闥I &jj Lj㧄j^Nފk*E<&Ś1VNs,AR,Z,6̐fCV!2m n䮫JO&K->˅kJ .Z'6Ļ%D1 qJdRX*K8IE rȢb8'rLPoM̜Z*T#=MpDItN'mg],> -BKA50i?]Xc-5ZgP7o@yޣ/ nО'A2mλ褷xֆp/܎hC7<=[mw +%"( geL?雲???x!l<SS Ȯc1H `A02aQ8]~2!0fL, Å@}{ꆗIn;CC!qe"*uMQ C< W3*tp贜}zo|#0yWҥu] 1WՃPC9 cʜI2#68 ;9QF tAg@`jI>#_ɵk…(<$(9@Zj=%ӨPMQVoނOxUث[Dt uJz̵y~ʺIx=;ᬳ oaMP&lkg h ")D[JN[#N}xYyUK 7q9O+6LA%kւvQK'H Ge?SYiɷQ 0 D@Bg`Zm,2bkZn.8V"DzYӅV}y~AtJ X#Ywc嗆 f6brX5HV GMP - 1hSvx6#D)2VFm'*ꨈiꩦjnL ̝@ꬴJ̦lǯ+[3&6l=+Vk\vmކ+eA VBl:d[ހ++7A3< qP kz,2#T&%kL`r.׫Cmbx\8Z5i=Tr?32·GRm2P/Ho5s}t b5VݚoÉyJ^.>)~4w{˞VǞ~{ڀ? .c~C<ؙ.2ʺON}W|~13>N^@Mscg'or#"Xm ::-#䶯onZ۲ Xalxkc g+C܆81i棠 D!Y(KCE& ]|YNh #ȈT7{ưx͑>Q~ y-@L F:jX&IJZ̤&7Nz (GIRܔ V򕰌,gIZ2Ne.q^ 0IZL28̌f/)WR̦6ip '+)IqbD9u'-Uf>~s h8y{Ғ'XfB  -L"Ӣ(15jˆ T%-E  IMLS$)K9*K4M[J)Nsˡ0RI> :xT*z5k+:UbU5E++Z֞5[5W֪l[Z˼R̦v"7ӪSbvt͉gY>T@x2a:_7ûVWa8fk; ?;vjR0uCX;9-7K7޵[4Y\kK>06XU-)=k;T#"rK"c.].)Q `#po|V6\pT[禯 ׊`'18Bp]q䐖k ;!l= ~?/=&>ߪNq29!xf=[decu^mmKFsmG^!o;(eVH(Iþaô+E~hBk9&:c_|9/eާb̻߯uIXTXﯭW FVwW`iJ부 `wfg~%xaTu}W,pcdu0%"&}Phޅ`{݇X!P|S7nzwG|{K6SP8"6N-ח}7jwo}]%S7~c&X~d&*cnw n_'qyVͰJe_l%VwxsaV9HqrXyfׇvgoa>Gthdg gp ׆n_Kv`慗 !B}'7d2rχX]ivq9u(fs(QR՘wQHAlj}۸gXlGo׊臰kUńQd''хEvd1Ui"Z8'V؈ xbF`weMgbgZ$pc"kZc]ɍanX"p.H@&!5xY$r,t=)%URLٔ!215_ xJYȅI9}hӶ~H_$Isuq莜u["o;ZȅD=x39P?+s qTb9|*@gT#@ bqx)Ϸ\•ˑ:,4 /F[mˑn={]AAI4 Ġs1>3p^ķPAȸQ4-5ED4=.ixn LC@$73CsU]|l36UC 6TCųȚLRƮu]y,Ǎɰ\M]L? /⻐7@2 2CJuZ=~> Rfy{L3̻XRA}<1Am{[2S]RSPk+ڠmA<)[?s.+Bȝ=͐!3 B@UpCv-яά]ҫ\D>l,[TOnHV-XZd,MNa~k,c,n=$N\LhcQN~Yu)+>^~阞难鞾>꤮I>갮W^2;|t0;Tr~;,~30>#>׾0G4[`^aAۀ0F&c/>~MLZܛ[<(f.HoK`yoIͫeHNSƯ.0{)]swɒ^O#l4,#w!e)Fou-̓3)K&^Ғ |cQ=_?,#/,gQX$GNE$g҇gIGq?>z?Vp/GDM .D{t7Lpކ/{ |?(Dπx:>0))Ue LRRT`͂_zw=&~Ow ,] N70(Nκǜʼk AW`0B!42-ҷ=8jh<"ʥ2yRi$jPlah \8dR@E WkX=TU8D`- ] "~IB9ٔ)ʭ,Q Ĵܹ*kxFG\T./L=+K7ެ'Qc oD? ,0"Uܫ4RZz.(=q` N6@yRg_&jS0n<&OiG4*t(ȌT*3ȥV`*ժT4mԜ زdMkeHf>av."E2+ݾL:/?%ZM,0㹇CfKpȖ>pt$yΤO4ڰL4WF:6i%ko ޾.|8Ə#O"ΟC.}:KTϮ}u`a*~<ϣO~=Ï/>]y?nހM7,РBRXbF}!U!#X")(`+~em7VH#J",=b(h2b,HbIJ MM8I&S(@ ' Dfa ѤGp,ؕiЖKRJ'd^]bYgQpy t.A=d 0:YyRrp뫌լ3F:wXZl#7b #]f%s O OSPYQ0hMV@|ۍK}JmĮz)HJl&NXbc$;bʬ3xJj.Y^/58/4j,@ržQ̖g+ 36la#FFiQ~za M 0}$) l-3ĪxmeAҡ^j p`v+,? Q{g#n&sz ^WM}$-p~D2ސP?{)Śk /gP:G1rK=;Es;n&З{jJ'=lӓ$yc^Rp:urvrc04S d c2M)DG2LdI<%"j6<ŷҏ&hq@FBQX T-QXNtӔ-/iEuҰ W9"&#i,IbcR#e;C\bdy~."*#9N%KGⲜRQy# W 2 }75IE*%j"H(D!\^bUB]*Yjȩ$[V䃪XXU{З&5z [U!WMiX'I(<(`кZ#G"1fp-?:F,y}\s3hbpp,Y}Q볖'jGcKcn:lkyn#gy`kҳ=:p|9ytDՍb:MnҀ k\1o{d]e:Gug3yKWY9Em"KNr] 6UNz+] OόS-cumwOjGr%ZM>[_D6\}]AzL? V,qW~ B`5J ։`-\Yy韄i|RCI ” J_aXXN`7[K9u!@Ύ@RM fL a^ >|$<  V!f :IZ9"daCz̙I!4 QI3Qi 4pb`epݙ ڤ=-|R۩3m&%:)T42 c4zò[)Aޙ܊ Y5ag $2c$&V%!(Bc(OCQB;6(ޖQ]M]۵YOI "2:>&IJFbH:B1;c3#%V}+ttfk}&fRhpVHhfYj~^"R_k fgt6rE^Z]fYzm tp~'sr'V^xgVݨZVzb w{^|g_}rbY~:~IzA`rR!1`Ahb`UhZO׆.t55`u 'u1e na U'b2Fa3&K*m6yY("hBف ip! =*imPΗ~!vĈT9٘Z섑q)/('fJ(L25'V ha@'itH~dp<Ԫ-" H 51⥙l>_jBy"أJSb_.ӯ%%jf(~RJv/ 0J\EйI[B"Rc>:>R.T2%UcJ!RfbehfMQ;jK]GY+Ƨ@:,k#9+d^^#U kKO#].+⊊f&=BGrFPeMBf%⠪(fda:TJkJ~lTk) l'fSQ ,8ۚy밑%5l;m*&V:+Ъ*I=-[J\~ݩX1N⑪%\QS%~b0e2cBp`gb.*f eh*ޣ@`nZ&`lT"AuVn.܍ƘbZ\YnygJ/x oVzjuHBzTIbo~'urUrs.FVWl/ pO"h_}g7:yU0.0ʈFG;ƛ*1V&O:nAzF gp g +o o7 /W0 ip MC-; ? 1kj,1K1S0eV#- np0Gkq0A!s kn92Sq"1#2Jf'L(rj,rw1$5qq,%FFbq(03prgrgI 3W 7'r07Pf26pư42 r6was1+0qp733C1s6O0sF8Gs";<s?W=gL@3F8+tk9g3A-_4:Ut2o0D>O%H{p_F7WqGo}+L4pGMtNtr3P4 /(Դnѕ(/uTۇOS'TcuOyԳvg4WkF|5uZZ(B[u\\[]Pu_uv_ `qia#6wܯX3vc7;vdKvoqb[eacf_fsg[N.hmvUvjjv/kAtv!vmi#u nnwnB d4[9qpaU8dWvjFk pWDt|hG\y)ڠ!Aɷ86[7]zSxhP 潌]ID(Y"x!脿W2!7T0ُ6Yy8* "5dx,w8ӡ*\gDDALCɢLݢ"#_)8ޅY \C 6wħK"q%i~<"bK6^77 qkʑ7p#y0 \MeX Q>/yΪ5R9"9:R]zpS6vI,NBnA#pI8,$!ѣ_뱇΁Kϡɍ+o::89ʢI\?+ZdV>Gy;o#@ѿK a;P7KN%ecRTs~{~>zg>7J4~~~'m|.sW~ ~Lhzq>~$6Hp^CK]3t6307\3 w@aUxz! 47/#,扢e:l2IJ  :CnAfh"jCe,ZmJ.SnSCQ*wf|߷%u'gGWGwi8Ghyc80f&*I:JR ȓy 8skI5Hh8$;iU\x\{)%FjmB +M[lϼ85ۼ[\rAJ8Br#ehHϔ5c6z}}e_ː,E0ja@MnEp&ehN:=.u%'ɶj;U#jp I?A4Fp*CӲݑ+}qLg)AseBjOJcV:H;*)Rvԟ/{wwi;}of{'fu٭穫]w\1ŎֻE.Y; m=խ]n!WS iE&'TYUb7|HG1}vH" <@a!~-(  4pc8cwVEgS~*齄2 cR@{F$@w2ip?him q% RR4` b!ޙQ '- bOK=)pKvShAPXLmS ըkNR wz%[\W ְz^)eUoC-Z9:]ʦ5mt%*$&wm5+(ֱ /, Xu.p}u+d{ɦ<#tO a^c؛uX\VNEk={Ul7U[4cLK=0@d~ "rQszs DV+btd湊~XI{Um2.= FUW^YN%΢ֳd؃i8{* (u%XńHخ{8hm~YtZ2W4n=f.*fcmEFa;1~2q,%Gӵ2(w >r^e1/ќ)KX?Ի?}Jp 4/d`X^7>.JRA/Cfw9&p( z<9ku茌syTzdJXOHtgx{vM3Im-4>5r2cw{pkf{OmAZ/xO^37_/|}'~W}懀׀{pGbnBfv"G!7Wwxׂ{x6rPv~ x/{#TzsPB8Fh hAXEKȄGD(GXRChW']N؄KH&H`Z=o]7 79(Ã׆kXk(%Mȇhhȇ8؇l&8%HxxG Ux1_w@ʕp7w)F՗HNH{舼؆؈Xȋ8؋g{pqL_0]1,i~}hȌ׎8x^Xȉ8Htr=twte nW mu|騋h(Ø9 ٌ iI,{9atߕ4u?]SgX8 [h~hfx%+XȒK)UɄbH^WA=)v ɓa1A)2Hu)<gG y/a>(v阏y{{ 4v*yq 陟){2'AEf| ɚ)̧I))k}rY we=aciBGiIhyj tmx)a[drz٩ɝy})Ezihө ɞ Iiɟ!;xhP kXii$=7l56$@|=./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrptd.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3+kEޫ+<:' [ +Bm|;hexL Pw\T( s4pul 6Prj:-јː)s ;o slD-i#u:<=uh=Ѽs,f On-d6kiBo;jm׍0Kw.7zs(/.8[}\pm -&δݢ?^ڟkqk>X[ܨG맵8帧s;_œ)~6䧫^7ˎqGTHOk]tXA:p;z> 3jxs MUdDFyzb'D퍑 .>:unKaL9),"`.Bѐ`٨ x"H j 23hUY{l IR<*WJ,Y\:~^ 0IbL2f: PjZ̦6nz3n8qL:vz }b @JMBy].4hDJъRtͨFPgs>E Ғ4$=Jь|8=eΔ &@AISy4?ugP9otH4)`O);Ԩ$mjU͔R\WJ:R]X*εը;M\YTm4 pоsxիJظӰ׼k^WrS]lY2^) me'Yrvi]gkHCZ`aKz6TtµQSu/ .`e;@$uxNtɭlw;^n y͙o͍>ۉluPehj7mw[^FE*kU fhTV0|㓵f.PYbf.{N XkNys][ @@S"2džX3L]lFO(2k5,ZƏ26#cp9CN0C$' *k33-hB:AͲӼe ؚ*TJ HH Wч+8G` 6{}dEL6$y>[ejNUPFvmM{۴Noߟ(w5NMݯ =9m3<뼾]5A׎6;|ycgqUwœdI]^y[ 6+C{ @Bχ횻xEVn_Ba-w]@ -U:u۰8I.cӜ( I>W{Qn3"35/$^F۞fܓpT[-PB]ˏ驺~f^{c=8d?qsgrSK'|}FgVp]sGTZQy Z }4ku}V}]7~&(xxM b,p#'w#@qw{s66h`3\vd/5myE|~wZ?1j={&$@M57jb<}Ph_BSWwpytOz;[%rVt($jEglV\zWG{c7ׅGF%EhHJ(],Ijw 7V#_>fy~7lX &h\(Tw1XM7z` fnzك7ǑԌ鶓Hfja ]<‘< Z)h (T>b]WyoY$OoTr)rInhp(~vaCɗVxA{nNiPX <9uTWIz#fIа+T)A.؂,kyygw?zGٚ"xg䀔℧Ufdxx9g]g9 HX\&jIjoiۉ\i6蛿ibM]5\%hQד쩟(YڜXe߉rXUݩtr̉^IY]IOJ( &9NXc ZUlL0j:R1:OO=Q&ŢXE)5RF W5f/ڞ%E#POIZO#:T@*+ Swd{GjT–O2wQeWڤNt2ǦZbk b`jhzqsyzڡ\:WD*2Qz+HO+md+器HzʨPzQ*]if J)._Y*#jO# ʧTʪڔZA[{WP_]J :%Hh:P\bȺTM蚮꺮ڮ*2-zگ;[{2;[T۱";$[&{(,۲.Ф0;4 {W$ ,>{@:Dk=[L۴NPR;T sSyDK<r)^.a/װ_U/GVӰ_1pWHq m4uw.Tya꒶+8/l;aӰ%pyP%-Xz2zJFr@vʷJ D{O璶;/+< 2!bS=rzc?Y z SƻN5Ne۸y{OuUn)r-(&Ǹs0e~(&` dGrA&mp7w(f &p+@ w`U NBҺ&?*q S>3གྷCcHl;zSiTC7pVro &8,B]˻N࿥vD2~TER| {$8pөvt1q V&_cD;pD>p [J?☂wV-,E'u&r kXB?L۳$@ Q|3rĢ׏r~t@9@ŭgW Ƌ #|^,q]1Ʀ,6|+sAK4988̺y+# j#}@!}b;L< oH?4TC,m[uiCC+S1\ Pȉ==lpDkA31tBhE_[wm DD_M2{m xV;ټ-:1,Kb=, ͳ}Ljku;xpٞE[OvxH]͕ }Ժ}PSwPCAtD4{ 8M"اkAQ7 }~ۆl}8=l~~~9⺜΢Aw1bpx3w;EMGCFFzK`l@5nlߕ ;K.3 Tk"`DLN0X.ğؙi<wtE2hNsIfy[0swY./WS;^3n/q>0N~u` srʐn/޸.޺%X+5,xaC~Ȟʾ>T/iK؞Sk.cPK>^.CEѣ,4]5P.>R/c/O۞(=d?C^q-q)/#+%[]!oF.𐛚(J8%@KyT͟)_ ?PYGzeuUHO Q~m./XyChj7dIH0OR\-"&[=ŬĨqМ~| c/d J+O~Y]zڝ@vaYVqz~DA ljzun EJAFav*ũOVd-:BF:EHQ{¾g hISgA.ᠷ7{P-NzP.0tykp$"$I4"U;r$H֨a&xI 4P"HsMpix1オ3 #>~V>7Ξ; LXDQ:jҮ~Mz o]˨M^٢DL3sȟVc;;һ^:cOoz'm/_ji?}X" ȡBRFTZ_4)T#X'/3c֘;rqa4E~=GR$H:ِgLWbyDFRyd_Z'ܕ3X:% b> ߘ. m]cg?N5iڍH0_k 0P>FBuzhy1 J˧(y+]ڪmTc^ & A'P@ X)εgezʡI@SH+TY׺-ThևVhGJB.*+w:AU0\exted:k1X(I-$FCz'+q,}<D49/Fć.aRQR61q0/V. [g*nVRFs'Ps|n˨j+6DX V>QPfjc{F٭D+`@ᅯ= ]uo4$ꝳb> Iy8ى=,65ڼ.m@<3si)d}j~R +AҤ{RÙUK/Lu-{ Rhi֜7L2Ĭ 10D [_>+_D%(n+kˌFb@X۔΂VNII:{` 1;² -/}X<dO HJ%47&iB!9 ,ʟQ!u#9KMlrF6DubIJa,Oy2$!<y~9T#26Ø J0L3q:\ 穱7Ýi/"Cn1dDŞj(9Q Q6ǣPr"Uxh *F -v`; &Hj"j{V Pf Xtskp)As~"Lc,aI'nd4y1*W } '3$]U}`2. җ,g}'C"361$-QUH#h4&k"!G'43DLZӝ2JVC%րu5aj!Rt.%vh1HŮvɇF&:%x B^GE,1,e?"60 tճϩleXfgY*Zlի=j){Y`.4ڶָUj*".%c{vx%In7+۽vײt-;PTۍuCp[Zg{Xӂ׾UlsY\,ehJ?RKګ<]bE8⑪կxux$fm~߼>)$!Opְv5j*V1Soxk6ip&8,h/# %A[c`X7 4G1%195=XMPqs|Ns˚bQ60'/ij< S}Ӱ 7fx={?8f[ߔ[^E6{{?ҟ>{,H}ЋO.wmor-|}=qϤ?yeQa^)߱uџy̴9F_Й{|W_^q L@La  Z_  _D|M-XLur`ޘ$0  R`=!ߕPݘh ڴXņɟ%4L: ZIM! Rͅ%w!Ɵf\`$J`!%a%>`'b~"&j Zb Z`YY.o R],veݤUO ~znNF" B Fa&ڞ $*c' "4a$,,Ѯ.I ]"b 9dA"2#2V2j4^"%J c5#5R3 p[,0Q "ͭPՑIQ+d%GH['Y!4c3JJ?^#)@Zc#K.c6nYA4PcM/E9bܿ)|j!`<^\JU$3&VƤKWNc&$K&QO6SPι."fu T6=X0N>cLn35fAKb"b?]z.(]K9Ҟ9LiMSWT-:@`k`q^9VNV^^)Afp^F]RIS1eiHNͦpJgk&"b ~u/Nw urfsv'Hgu g8g;ּ5_{*g{"g{&isoi'nh_}{AMg#ʁbcK%`,`zlsYZ|.(5胅`W^Z!Ch< {e'``e5 ^-Rm'9rX6)ee6㕨 N ێ[Ciqn.Y:FΕ&'dv]=$ "))?);*hm} P1&4%,f¢9T["QD "LOMZJ.͊q150>AeZ,Z%8I&Ovc|#QQ* !U:꫒qTBGTMݔ:Dݤjy ~**[+aF 1D놶V+UfZ$ S\kJp@DQ[暱zȥFke:izU_f=A8F)-녕k̭ZXAPe l~!lޫቤ>.]4m bҙ@B߈Rb&KRAa-Fg]hYzvWEjזT5MZ,rXWy(ކmpsv,l-*v((m֭j[2)B..{gbn}-vnm_~,hnѡDn.Q.|J֟D(}M..z.]9 JR 6/ XЩMθfoڠ|I (]lnXz.rؔҊ!'A& Xa.(ΩBN i\+P)>jסr#MP6* -*U'*~+:"-g:,jʮjGް lPQGZk븱P< W1RUAނ ʭn;-om^4:.Kw.G0jm,M _B(N+WPt].utRR3u.UÖG4H4v=JL/YW^N0XkFסXo93I(|Ѩ"ӳ]?畐q2v`"0t :p-^XQof[of5^0e0}01I01 +'Xu55 aXR rrs.lx OHj vj j 6CC# `Od>S:+$7t1x#w382rFs2_qD<=wrf]s 4'w72&%*o S[{2uS뽕,vĕgX,P$rnP8%s+FlϽrteuՈ(IΚfs!xx˦e6'+vWl7…{ :yMeD b [=+yVdRm[-1FY>ǐv*Pwv1wDfEfty4ImoCo4qbo9P}{y`JLKL5ZT'RsMKnWG,~4S/h` g{G;8VO.W#GhDro_[j=y1D5K(_{5ۇ{h TTh飶n a ?X CGs477$R6Dg|o|E>u϶ˇWpoévܼ JqTE>^s[iQ"*AXwWf֬(-9 qOEz71i{'qzb|b:7*;]=[:Zlɵ6w8E*\[ן1q4%s-y|C#w[a7>+24&oN76O;d':əo.sӋ_Z +l8p{?~ v$׷/Q>O'4~s|K,b#MT Fܲ,ߵ/ń q~J\0jܮ >YUf6`0y)bXȐЈ_g2sxÈV&yFVf%аUH#WTĔJbٵv,.m~nK.?}fF X? b>L:ѰXĂlb & r$m<9#2x([4XqE/kjQY)M}!' 'H=̢Hk e"Zta z ʚ=6ڵlۺ} 7\WupgU EV8-88b;~ 9ɔ+[9e߽^ x95wU$|1ٴk۾2g`XI߂B ̗/-4΍=wn^Li`@z:Q#wSC#⾝׹u_IU^k+&0 BKГN<,! [QVG~) @b1¨5.`e9ߎ&棌8V$^R`LEByL٢X)ڲt!h$F AؐBcElwֶ'i<8``~yNfdP!!"h }9", @]UOt)}I٫Ɋ:(vo6ς +eWjI%-"q $DhH YMʕl'X㎂ι6K['˪r dk&c-^@W"+Ղ ll%\YI ?p짼޸37ϙF itYʸk]=6"Sq0Rql~:-3\*.22.ӇXI\AWB꼵64D4tnA\у0΁/~U19\ľNwsf?\2c|rMd"-C|̧B\gͅkgL3KO O(7ѹ犂.E],^6mo `%\ySoYoc(W\!Mzk8.L{P(P|1jk*e>-J٢uLLZ)$E-GP^_4 ףJju)DZR@U!"W U:E׺xia ٩JQX*ckJj6+;Ef@ 5YKRv}fkW- uaX0XmucaͦUkEns3Kڡ\6_hjj5mp?bS!/t:zal.vcW*֧RkRInM XqbՋcw F~%-ol^ iVi[TW>EIQLB"-fNjO|Tt2qgnᝂ"&(P4;d˸jvq\$ww#vlS"-r_.<^yh~Ҕ[,yt(L9s =o! lhR3 q '#r/]{T.?MOZIsլn__zִo}+z׼fo5` {.%1bd+{n6 hȦOs9J{.7̍tn-cp=ojO7KNn## 9 ߇Tp ẇ7[cЪ žZ HZޙb> >Ia^)Mv;Bl>9}q\_Z$R}`(n>c9.f1za,2CB6hv3#3&j^r|s~K|€VEg)fZ(h|F:)"0}b~XEvG`oyC:@7G`ׁg H K?!ȃBL F 2=/83:EWhIPH'u;),6h~gӄ:L7rV'{h؁'rk]xSPC{)h)&}Cs62;'Bu8{w|B{`z3"Xp~ȅ](>qy0v6wlh*qXrgt 'bQEZ$ \xxT8Bp$x茿vGwG8 ߨ4H\ hHwhrȏC))숐_ YyiIJs撚YItÑn #nSi)+&+/YK- 3IsK'ٍQc)Ɠ>+Cf4aiBiE OiRNiY Kꈕ\I$V_ma:r׃jlYcy '&8 kIs[u)ywipN &)Q[ *&}%'gsX), z8&{7Iy9&)n賃(]BIbU{e1ȁ$eIdHuuǖ)(;isbW$6 *3sI~}h}Lȇ\ٜH-gi;xu8Q٘hhz׊d)X?ɘy)tYٝYT ڔ MJR)?E9C ʜ**I!.,64ڠ8<:j>Bj'f3*? 1L9A=ZJ/Z+K 5K9+9۱_sN@ /˴#Jc f;#[A+^ \uX^˷d˰ig[e۴SZڳ㐷 KK*K";빏{ w۹?ۺ`;k {kX [v ۵=;kL˺t;g;kݻ+I+ v{ۻ0[ۼK{+󫷫+ Gۻ㛾kJ뼕{담܋۹L;,,:Z볭+< kk+ ˺!Lrm{…#ZJILĺ:ؘݻU xaLelg,ckm jq,sL[z} ȁ,ȃjTLJۆȋȏ, rƪəɛ<ɟ ʡ,ʣLq;9#2x([ k$ji$57l56$_|5./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrpvt.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3+kEޫ+<:' [ +Bm|;hexL Pw\T( s4pul 6Prj:-јː)s ;o slD-i#u:<=uh=Ѽs,f On-d6kiBo;jm׍0Kw.7zs(/.8[}\pm -&δݢ?^ڟkqk>X[ܨG맵8帧s;_œ)~6䧫^7ˎqGTHOk]tXA:p;z> 3jxs MUdDFyzb'D퍑 .>:unKaL9),"`.Bѐ`٨ x"H j 23hUY{l IR<*WJ,Y\:~^ 0IbL2f: PjZ̦6nz3n8qL:vz }b @JMBy].4hDJъRtͨFPgs>E Ғ4$=Jь|8=eΔ &@AISy4?ugP9otH4)`O);Ԩ$mjU͔R\WJ:R]X*εը;M\YTm4 pоsxիJظӰ׼k^WrS]lY2^) me'Yrvi]gkHCZ`aKz6TtµQSu/ .`e;@$uxNtɭlw;^n y͙o͍>ۉluPehj7mw[^FE*kU fhTV0|㓵f.PYbf.{N XkNys][ @@S"2džX3L]lFO(2k5,ZƏ26#cp9CN0C$' *k33-hB:AͲӼe ؚ*TJ HH Wч+8G` 6{}dEL6$y>[ejNUPFvmM{۴Noߟ(w5NMݯ =9m3<뼾]5A׎6;|ycgqUwœdI]^y[ 6+C{ @Bχ횻xEVn_Ba-w]@ -U:u۰8I.cӜ( I>W{Qn3"35/$^F۞fܓpT[-PB]ˏ驺~f^{c=8d?qsgrSK'|}FgVp]sGTZQy Z }4ku}V}]7~&(xxM b,p#'w#@qw{s66h`3\vd/5myE|~wZ?1j={&$@M57jb<}Ph_BSWwpytOz;[%rVt($jEglV\zWG{c7ׅGF%EhHJ(],Ijw 7V#_>fy~7lX &h\(Tw1XM7z` fnzك7ǑԌ鶓Hfja ]<‘< Z)h (T>b]WyoY$OoTr)rInhp(~vaCɗVxA{nNiPX <9uTWIz#fIа+T)A.؂,kyygw?zGٚ"xg䀔℧Ufdxx9g]g9 HX\&jIjoiۉ\i6蛿ibM]5\%hQד쩟(YڜXe߉rXUݩtr̉^IY]IOJ( &9NXc ZUlL0j:R1:OO=Q&ŢXE)5RF W5f/ڞ%E#POIZO#:T@*+ Swd{GjT–O2wQeWڤNt2ǦZbk b`jhzqsyzڡ\:WD*2Qz+HO+md+器HzʨPzQ*]if J)._Y*#jO# ʧTʪڔZA[{WP_]J :%Hh:P\bȺTM蚮꺮ڮ*2-zگ;[{2;[T۱";$[&{(,۲.Ф0;4 {W$ ,>{@:Dk=[L۴NPR;T sSyDK<r)^.a/װ_U/GVӰ_1pWHq m4uw.Tya꒶+8/l;aӰ%pyP%-Xz2zJFr@vʷJ D{O璶;/+< 2!bS=rzc?Y z SƻN5Ne۸y{OuUn)r-(&Ǹs0e~(&` dGrA&mp7w(f &p+@ w`U NBҺ&?*q S>3གྷCcHl;zSiTC7pVro &8,B]˻N࿥vD2~TER| {$8pөvt1q V&_cD;pD>p [J?☂wV-,E'u&r kXB?L۳$@ Q|3rĢ׏r~t@9@ŭgW Ƌ #|^,q]1Ʀ,6|+sAK4988̺y+# j#}@!}b;L< oH?4TC,m[uiCC+S1\ Pȉ==lpDkA31tBhE_[wm DD_M2{m xV;ټ-:1,Kb=, ͳ}Ljku;xpٞE[OvxH]͕ }Ժ}PSwPCAtD4{ 8M"اkAQ7 }~ۆl}8=l~~~9⺜΢Aw1bpx3w;EMGCFFzK`l@5nlߕ ;K.3 Tk"`DLN0X.ğؙi<wtE2hNsIfy[0swY./WS;^3n/q>0N~u` srʐn/޸.޺%X+5,xaC~Ȟʾ>T/iK؞Sk.cPK>^.CEѣ,4]5P.>R/c/O۞(=d?C^q-q)/#+%[]!oF.𐛚(J8%@KyT͟)_ ?PYGzeuUHO Q~m./XyChj7dIH0OR\-"&[=ŬĨqМ~| c/d J+O~Y]zڝ@vaYVqz~DA ljzun EJAFav*ũOVd-:BF:EHQ{¾g hISgA.ᠷ7{P-NzP.0tykp$"$I4"U;r$H֨a&xI 4P"HsMpix1オ3 #>~V>7Ξ; LXDQ:jҮ~Mz o]˨M^٢DL3sȟVc;;һ^:cOoz'm/_ji?}X" ȡBRFTZ_4)T#X'/3c֘;rqa4E~=GR$H:ِgLWbyDFRyd_Z'ܕ3X:% b> ߘ. m]cg?N5iڍH0_k 0P>FBuzhy1 J˧(y+]ڪmTc^ & A'P@ X)εgezʡI@SH+TY׺-ThևVhGJB.*+w:AU0\exted:k1X(I-$FCz!,}<D49/>.aRQR61q0/V. [g*nVRFs'!Qj'# 0* B5ւO☴^Qv+ @8 }OBxͷ۟8M 1ub> Iy8ى]|/[~˨F[59\@rJiY|嫭TÊyE?4 LY80pf.CD-k Rhi֜7# ewK0M;jz+kLFb@X۔΂VNII:{` 1;@M!L_<dKSHR‡.Р4y56p؎'dTxsa.)^jb7aLE,NR cAx1h!AL5'4r0vÙDӠL98&Kbk9'q%<20mN]\N9΁]0j`363|{c7x'S8d1˜dJB m"1+e:^T#Ih7Rr>(fD *F%*Sgi? V PhYKr 7}>A0㫧Y8 `+a.W]ɟ<&9͊1 +X ~EQ!*T£($/%`u _ Ő mI| 1Ӄpi&C} uM2ā|HIKS $*JU]ր6Yj!Rd..h1îvɇ4櫠:%éx BZ(b)a+WN\لAe-+XǖV&ъttR[YNֶlclp-bbnj**nQK.%r[nvn6-nwmo+讧W\APl(MLJ\:.4l]>h`6-rr$fmoޜ;& YUჳV?eE_ͬ.ɈScHV)<]ekd#즂K+$9hXLcIv)i^c56u Jj#T &wT;yL͏)SJZt%,:α&c}P}FYLi ʨ&^Q;( 8ʡfqmPr,,egG.7N1)w6Jwo]rsʥijS<4: . ReOU3¶tŗn֡DM9 {&-5>/Qrz}ev 33\i* ҍ֙\s릧;tD'b5 =y]An;_j\PJGskWC>=ko>={ȣ+rC3_>~O{knG"}3@z=IS}&ϯ]a/{?K؁_|W|@ֻl L LaI ^ B_ ^J_U ,MQa2X5Rߩ!U &a  ޕP@hͫyM)aQn^}  MA` Z Bz_ޞ ސeY\lY!yp0^RX!Ga! O*!aVR"B!&Rv ʡڡ(v N!Q͟)FMYo Z191`j!c dX ~b* a4"!z(B#':#fc3N ,Ey$ܬIZ"#[6%\L#3r6*2j#5%^b6b"3(a&`*b+S#,E0i_ü:Lb>dJ#A64a7$7%7,u!̩9" y9 B1V65$'Ne4n?jeA6Τ .dQ;Ŝ*PZ\mG^KH_kS~KD)v_"@__bb?b5V7HAb]N (ey1ؔ!O٭E<^^bf _XV]s(b!>c_:bUpAfqFaߑ#5lmgul>`Z$gif!ugxcvFyDrc2S%@|g}} ~g}{=<x2h:챧vzd'&>ruFL<tqF%v-h߇vQ&8KyIՑf`6 h ɨh[ X|-'I%?S`&c&^dq!$lFiS@ln؝2'(9)bqIX` F%F@b%`Bc)`B6Li8_XI&Q(!iRilEf%%d1*:-jڪUV*fQj&R Iyb&pT] ݾH |ⴆj>V5"NW$Bbk(bf.!kne(^+h4j")LhZ(<$=b[(8*W#M$U:,?JZ_N,d4^K*k Z==GTq=օfahE0l[*L&>~+Vl_J%& >Qƾ+ݑd'YMYalNFNv_&f,reς`->7F:ϮJ|hV^e՜:lR I|S˥&*-nBFBjnƒ~,Q](Yx$ &gb,\IE-(a"o$Z#j'N%bakaznz"-^CwV&kZp՘*uo>jo}/frET橖` ]~)`f0JiDOp o{IN0 pŕy/] Ubpb {0!:!+ ϰ /a{qK/wG #W I\`rh/4 s G Ο41E4yq/ΣOW;wq"p#p*1+q#%/I%ױ</2g򹀲 SN ߱1r?1$/,2#c, .%.s2*Xq(Oi3q2+0N342+2.c)3/2!0ws#q,N22:53s2zt(r8 *3>sW3 2;K3s84?S3F,t)[CE4M4T4 G&W<?Ssv3J!Bt5?tttI3E6tK4F2Q4Ot<'HosB?{O?? N7W5RWLg5Sz\VkKN TlWaU-5 u]Q[_uXz]7Uj/WH^oY-a3v n)vX7Wdv-|5Hff?  hvii(jvkkjlӶh`vn6anodQp7,g#wrWS+ws;wqqKtpSuOucvK?wiwA~tVy3vwIzD;7w|G{ӷqkզx}}G#8p7}w7FUyK ww z[jŞr䉏2`7p-0 ೙w{L8˂1ڛ>MBWW3,̗9{`yиҩ!9y6VBXɷ[W3~O~W{/+<瓇rwو~6~5h3dHþ!W~#  }q%"?z~{f[?c?%sd?:O];J?7'ym dy?f䑻ߝDH扦e1 jK#FLtBͧ$JceXdRczff&UbTu6vfyxffYuTJb7)ʺxJC(hybպ'Y ik kZCz,=z4ۙ|L܉K+d=X.>?m}7 o Kܺt55`~(詒Ayl3PWȁ'an fEFl $Сzp=jf=LϦT W_\^ jM~šylUS2I۬B7޼ ׿C7-8e\8-di4e(LԱ\̍%snUsj]Ϫ!5zik5n@c}6iu$afnq<^_헺ƧgH:8:O~X2>ޘHw~c h }_x]^;wA}ry}lvGb/!rZ:axo"2f;^9=~Wdu: 9 IbTN>D;i"B顖,yeYzdn Xxf5QceH9ěO%h鷙I"2爋~g>Z^RZ8)*) mGf*֘Uz碫J¨ GfPZ:q;+M#*ӰFlJhcK+mJ,۲J'%-^C[n[M,"cί݂4^XK"+q. ppoZfk$ }l",rorr\(G\wsݶׄ "vm}~ޱLmwJlw͞ 2^ЧO,جsn:K'nlG*{괻n>4KzCN_Nz{Fzλ ;H]{rUG|^`d!a4,|UPbpGX^?Y(C #SӬʥ3"p?Pqr2X p$StUZ8v/K Ƿp\&_E *ظ,RpgE$pcb4O!4+j~m"OFe5#?s@ZyqI me| rvN&*M]e)F}_G)'ٕ1U֠x},>z5[cXZБ<"."G? Ґt$-I?t,mKMҗt4HМt/9w͂- X=>4?Me?8_&3hRXi/HOz֍3 h%ЅK,,vgTC̕^6qMlWZ٣FildKm(?8Л.3y]n/2}&#Zݐ6}y;yn;s'{+7n5pX{8jnk|8?"/O[ou[]k\l F|4oeW՟ tAёU+S9HӟK}Tzk}\׿]!;-> kPki$Z7l56$xZ./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrscl.gifrc$$GIF89a𠠤,pI8ͻ`(dihlp,3x|pH,Ȥrl:ШtJZج`оxL.z|N<$|] ˓E  o~ ٧}\\:;  .C: ۴j>{XȱǏ C6*&8Bx K˱Spڔk"j/ƼWwJװihh',V^ԋjc+_2m!,f{޻ӫ\-(F'->J;g hl[&Vh\ana})`$hb8"6v#*'h㍖!<}z)DiH!OL6PF)%KNiXfLV`)dehl"yn pu6wyNק*\mj29`"jR2II+v()!8*.h*jkI1ΊQZVJr^*1벆퉬좼꒴~z*ZzkĚkn»kKmu+n+v즤K"{ #,1 Cw%׮[Cz%[ `0r*8$+Km|*ժ 7O:4G+&TO>uRk1 k1[7GZU-ywϭ3( (UZ'.(F|JdGoWnW:w^枇.a騧ꬷ.n1ZL6x\E @ꉑahGQ[BL0@bG4^%'$ H)L*=0y Xr~|e$cY<x^.E y\2f$!K,`8.lMUR\d؉\S9E`g{Қ3+\W~~+l4Ҙ/\gfe{"  [=_bX3E:?0n+TX.8+qU5l !nҟ\/il]W `Kp$if]Yט=^`'l&*ٹfPYGLb&-@'-4Ւbg,BQ  @&lc7Moɻη~{nv׿NpnhO½9|8WNR0.{ jƲ(Oy>3k\TN5˓s#yFN#k@O7r1pӗNRUϺg`N`fOCDi;veOxMx\p;񐏼'O[ϼ7{>7`B{|Xg/q񬧽m{> =½ƆU +jK%e4(ȝn_zM/\W*#Fb}1p ,e?B,~#s~wawBq7-1h,X6ȁ2.[uGc3}Q'B60g)>(q6|!p҂"*28<`#E8d>É@&;1m'ql܊[^N椙Ev 6xy}^o 'l ruaLq\΅ 00@4A MxUxa:f㎵'V&$$V-<9TIITHȢ/(H8J蠅E{Ǧj.)眎4":9Z!%,ޑ$bEr(ΉRihreI. qTmx訌˩2m*ݲ))k'zkꤟ* &cZ(F+mMafN+[Ʒ榫춋-++h! OBmy 01A`%)~@1#q /\1 %ragl!7Ó8;l6s*̃$ t/m3KCb'N45)ԉU מ̱]5!3-ml'xS6J\UWη߁?83hm9Gc狓(yϫ7F7.{wO OgW|aO˽ cE_ Ѡ{_>̥[= o??lf]p]vOu@|K'QNsT+5p|38=/c\FJ0wcdH0M:Flg"XElU؇ٍhh TlƜ)BQ \IJ4Wj|F]V~Ѭ A򐈼C!F:p$'IJZ̤&7Nz (GIRt V򕰌,gIZP̥. ] 0IZL2fҒP3)cRּ6M`f 8 Hr`D:Nx򛱔:Noڳg?P~g<ӹO=.9ΊZTe-)WSD?KRDA Kti+aKipKԘ,ŨPJT^jTs.JˠҤ;%RWT6uVSaTbu;Ts բ,4VϬ"4)\)Wsk9 "v Z~t+GΚnN`1?+:Ͱ𚥙%X ro^Bq-|ˠW %K犺ƶ-d$%j EelkQ#26^N P|rt X)].m8r 0rf8/y oaζ[# `sN@[>lNט+E./;k{ݢ-:ۺrܬ\z+E oY#&:-~vjޒ&WNvW~{ʶ;~m^szmQvz{/ؤ!ij@/,^v8φInOۨKo3^=׶k|n;o{gxβs>6|k5_5蹯JB4:-nw;Gqhgx>l~ɷ| t\dyS$#@g |uG#0i vvWmugv3 yVf{i{N68|@wxրJN7SrFEwR2hT/TePt,yWo6r[K]脬mڠoxSwvHv5ldև\^Ag6fhELM䁀u!yF[!ֆ%yg{n艌_HKxb[h1nN'{on2ehĸLxS T3"nj0Udd(:O+[d48SuV +͈MVVddho8xMG%k^y8XK@uIQ4 HU[6}8aIqIpŅ W%LXL%it٘L*L-ǒ13}!yjUeL_E\d>Y[EٔɕPjLY6X]:"S])#VyOgx6וaLhIn)Ue^(zIt[i_*ְ y* TUKY Z~ɘpr9`9Y v ə@^}iL ؚ9Ea%aM暻)ޤ )D%Ŝy9LjfL9gY)kXLٝC5乄IJ깞ٞ9I",ٟ:Zz z:Zzڡ I$Z&z(.02J#:6zʠ:Zp8J,*;Z::DFz NNPR:TZV JYZ-FyB MZ. Ңr-{x-s3qJy-X[|z`⊜*;uEciz0gt w7SMo|:$vnA# :r쩨()/jsm% p*֒D "N:ɪ-j*dpW:c'dTie2zjJv[䩵P⮰* D(њ-?ʤ:Bd S2bQvou3eKY[aaK7躧nNp+:Bt{F<릦AFyuCܳCg3ۺv&'¨;73DcC[U =oDm۵Xz+7+6y;Aѹ橴%CA5ʛ<{Dd4PB.0bqdV<AI"gfA$9;ʼ;;{>B !;݋"@> o`k:.>!2mqk( C qG# KCBch jJ3Ak :>wFVN|9E MN79\:\Ȭs8LJ;+p{˼(\ x,Ԝy|'3#9㜩ƗC:A6 ($֬ ?Gl* 2E5<ʆ," ኴBDxВCMDD{*8ƺC1 MCL6W|̼fG3J7Oͣͫ5pz$di3J{-i}ED}բP)]}wuEK:;o`F4Q:/rJ{-Z|N ل-2. ذZ e"ؠ؟.M}ؗ ./IafV ^'|xȝʽ=ꒀ՝ڽSZ-6H]-}އ/= 2yn>?19 N -/0M=%> UJ&n,pwfHCF'00ҷ..:vuzHZ>~MM x}~ : }dLctB&HR%;+odH>vN?ov;Rc>#n[Hq$C;)WR ߦ[/IN7)'iy,۽c^؈fδ\D#\]A+OL  wb<8R}fNODzknGNQ|\-xF~zW Ϊ|?.6zP+#k{Bn,s\6_}n=n^H*0(Bg4_/Rܜv/9={*J}:0Ю/(0"pnϜrL49-3y̬Q4m x-1[ / w3.?P.]_ N+:3rjD^/AS]>. w}A.:gvXH@;5o^/T<+.N8y`|㹾ma82@|B)jb- u1l~k5NJ&b= *&*.26:.=NRVZ&- ,`"ڎJ$4 #+'3/;7a%}drw{oޮ+I7Y7F篖ۑC4[p?;%x\:&:Y&P6}/bF3< ) ˖M2f߿ ȹ)NA+£<`m`Bjq# Glu֑^ =a(-Ϻw& \sV=bҦ  ^kGǭjyٍw֠{n鞻-.ݞnz IVkr OQ Yvg2Z?Sir.f*"#{(+eqI2rgw , 8C =4D]4MGtG;u,nc>Ro.ڲ/|A$@zWavş;al0,2[;be)su(H2Osi!@?Z4I>zO;5Kt覗֞yY*vn %FuzwSyg}}\0+3c+-kP0ΜOP;-:V>?n[czvSGXM*l) XRTcW9煆7:j |2=wVAeBr g>DM~4/tՎ6h"_+9IIZuAy q⦐)0EhTV,Ѝ!sP }޷#qajS Dr]= i:OB["Y$(vqտcu&SbPC X%+[|PY[:P!&4L`,)U5g,v01ʋ.zo0AlVT3H8]T6T'=%s糸ϑS8L@ %lP .7a\(ErρbtܨHQ>#HKJғ:ã=;їA'LkS>T6LN1)QO|괨JQIӥ$JPKjRUp_ WY Th)KPͰ[mZ֧5$pꫮR!}̫.:Uf2]a68)_劣7ONT -xX>g!chf!]=0,j#-(V,L~,q:9Q/iHF6:\umԚ Mjo{:Do0 dTu81۽iQ :غ 60:u58p{pZ"pCGku#f4 ?8n䁫b4UEwRmLc;bS^tayhBF~&>2|Z;=.\d!/Ri",4.uI*^g<[{yi$"i y\. s]< .$qIlRފIŭOdYz;^ i N?3jx/ыne͏>䕭l!*\kDZӛte ֨65Lm_ڋ6[n[-К}J-k0[alN[#32xա#]SOmblaU{Dt3h W5Y> 4$G'n{w1kU;V|5Q}!nyҺʧ Y_vil5wOe\ץd9s5y[>۫g/ح>}!7z'=~Pd{.GtB'ol~gwy XmO#z}|56ieJ=wuc /x;dZC>O}sCv|8k\ࠈf-C;V8#c<iϽ~m0!58/ `l\.]EVךWYrE_ĭDW.^ M )YK Vڣ5\4mXOԠTˇyߤ`X : Vؼ5] R1h (ںUO`|Lu[n v쥙ٜy  mN\Tٰu!eM@%M":J9]ItLy!\ "QIz_^ !ڢi"~'`d=I95n] ұ5.#Dҡ]"i#&7^#y]"nA_MDi` a`&\$:#ZU`aƝl\a"9%#b@])>~ϝI̹#_*r6d <#ѝy44QqOm P4յK$!.dҤeJFSBeSVeeMbeVW1T*ብJ.aޭSv%U WT[G9#^:^C:Me_'Xc_2ͥ`^V!VJub1&rH)aaVphV]") ̟V4\ƞ_G_wp&סPdHF_piWGV5yGtHJNme^[ov!x)+>.'l6gvbgCjv2Of3wbJhyq~Y X"h ߠ<"`q_!hK&Q؊ "@^epHZ؎g!F";j(#8bcb|L[:0n7.;ta\.edZVRIhq jA*7h}zL=$0b",tbh ~iW槅$b1"6!7{6y2%mZڹ_0靚 ~2cž:[QI5)a;hhf9 c"[{Z":j)Vd?d@`N Z&lVnDjFڢZ$ !!cIv%eg7Yfm=Ӫ+v'O"i Q޺Ujgc!,g~>lľ'Rndf>R"zlf.czL^^fŦ,6kǶ^j&[,ު\=@L,6, Ɵlcfmʫgi2fc+,<`f4LiA,|m҈z&.+f^֮߅p(hi)r~^Zutl-Cԭ݂'xgUekg]h?*-|Pbj׽wBfze=*"=͂bڠ`lNku +NX>g)\fpFrL(~.f7~*t2 YD\9*. )>ja.zbg*jroam"a-5 Fb\ࡎٶݯĊ s)+. E)-" w*:&꫊/jA(ul.]rLqb,/YK80 C:֪v0˶&m*ܴVXon.g20:6EDʦ'rh"V+FFLdjlfeڤJKnĢW' qY(ҒP[m$(k,%rw$[V0o 8\B3;3Cs3GV/{[8OEi6g.KRo(kla37934p"3wVAI B6s=)xssњjRhe,(=A>O.&t1+(jM7d* 5\ӒpR'sc"39#n*.A_DG/KsCGgtBCKBM﭂ J[KדPL QQψ1]IsJuα\EVwHsNXURhtLGj(zJaO| !u` )5`P<59529;pfW#ID/G755|F?:z*cW7 1Y(ϱ/#+ ޟ0OoLuyw E̎z*cї-f6f hSq_0Ϫts,W+o*&psB21;{ekeK{w*i9/c N?y{'7rw2?.|'3nLG&~~}G>cEү.7>8K}OԛCӣkk~Ӿ~pzx|~] k^#s;U>c27GVHg&v5;LY]mY \W[?o8?&H4ʦP&j~> ƚZ2q|JԪ5Yjiܭ NW,:v^lh6 fM(v"ww8(9dWYDVHH)ZyiZ8 ;jIب\vZ ⻸z,Xj\ɘ;>l轙}H -.e}}n; j@zz;վwś_mꘄrp`B&Q}0ӸIǁ, c)k sd_dbY3ڼ^T$(d\jӇfŢg'؞CʑT:8'&e$CQ򚳌’fI+LziP.j8RZ}-xc.T8%n hhI+3CXuWcqhDs:mrjE /Oq?~99՘s;7@TeEǻ_imp5zT`o~a˷ou_lF`wxi\u{!Cn†~b"H"qC"BVc) *Ƣ-c>c7(~dJ.dN> re_0SeZn)%e \IfUzs&E%Qnϛrva?g~ h|"hhƠh>t?NJi^Znif䧢Jjwj*! kJFݐk鮾iK쥦6Rk$;Z6ô:kmv*஺&En)s+lVnO,@;+g2 @p2l[Lo\,n.^o L p*,/_1L+., @?d%ͰLI65~r;!9 ##+ t  bMoU3t>-t:4tsu/-EWCq Ѐ 8y;C$yWl ۜǽ٢یw4!](.rږ~8۞иd-QV|ef O8ujL=Ƽb8ŋ=3}ό&g\CX-߲vmXz䈖?C D5/UZvf5 '²P$d A?u&oyK5>`D;({ccwӜ\oFs|gxKA d[40flj/dN_50,Q7@cS%bNi3<֯[GPJ=Ek,=nYx U*_)v׿*I 1"6z]l_Ƕ5h,ebiv1g? y6-.&3vmhvm-lTvQ tYJ\%Sm+ 9ȍpk!Eroꆉu]X\0 ʋ\NW)xͅ .]z(Ze "40^K׿ L/i22a77!%I$~I.bSnwXhS"7)͐50Z 8>RY>V;ܜ,WS*2sIvʹS.3f BGf>S,|lg>uŲgF7fsv{YWiӜP\N:տ!5[@ztiӖv5\Yo¹u Z H]=dӻ.vzkW`{v6-_Mo[6Dǎzܳ..[{ۻ6WT^>MPoZ5 nsS9:f7i-Y߾%6Ǐq'Oz8"[NpZyVx!m3.}΍>HQvpj7gӳ^C:z5|R:U~YGk,zëְ!,Cz {m;>d]{Զ.FxwY&iY%YZ,ɓ8)'0i! 8I[HIyɄVyh9?2- 1Y~R)gɒI/jrIXɖazəOȗhؕ )Pi)xXC臸R  LiٙỶO蜶X)ɅقiIȝ)=i牞i`婞 I9u *JZ :t :k i*_3pʡbR!*#J%j'\;8Fx kꐉmi$7l56$0{k./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrsrw.gifrc$$GIF89a*w,*w0I8ͻ`(dihX@p,tmx|pH,Ȥr)tJZجv:YxL.zn|N~t_POax:b`PNb01f-dȶcÏмhߎ 䔳|t -hћb6z BvLp0Jۘ| C\o?X̜z˖^BYBkg6ƄM?=>9ѣJoT@u8 NԆ1U1TxQЋ gK(ҳhk`\9* XtZSͺuiWÈ;i:S8ߝlתNZ~fXs KL4Zq'K)[C3g5z1S7N> Zг-:h˽9̳O^ӫōO}b*Ͽ( h& 6AF(Vh^vd$h,4h#2ި<`>)DdH&1PxdTViS9WvRd A[,`hbE )s: B|vi ?砄*i20 F*,e2 N,' i:éC\jf9*B!* J:k6~k 2Kz Spk .JPU;AzЩ;R0-e{Epn 02L..Pn6,( {w0 qC;qbG\2Ԟܝm:遧⠟>y{.{֮.wN{뱿m>;i7̣{K5|;\?/>cV ^t߳]o__4ylq^=@T3վPE&YK7qX; N.x?t];|KBPO<G91b7 B__ zT mXFAF(ЌHv6>ш5Q!4#FяD"IKR, p,q; {$ qd@(ɪuo_;!]rp|&6u q̟틷||LUr{U۠xNk,I37+PV̞uObA渪 gtt>),;MBO0PBB'J!e "ʾzю(}HUQm(32aMoӉtL.PS-*RӋ27U*TJTR*V*r*XJ(t2+Zך&~*\)L+^Z$>+`{#02,b"łu=d'K2cBT[JI2kv]5@kўAr}RVfJJ` jp=n`ڶͅnI]m@q/ɦuX2`otb$J\wU)zO+^tQmqcmиJN}mu̼ /#ؽu9xꭰ4|L\3_ߡ=0x.\+ư9GaxT5uIKm_F1-,dPd+e O @V/CuMsp1wɤr%똽ܒy 1ίJBz=7Y)JsƒM{CsQzA>EU~[Yۚ ۻ] -l]Nf;ЎMj[ζE[MrNvz;~R) k4ni$87l56$|8./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrtco.gifrc$$GIF89a𠠤, dihlp,tmx|GpH,Ȥrl:ШtJZجv: @oL.znA|N.,"|"(&a  ~ĎOɴ އ}+`*`-̞ѴBC4*F.8"JuEXqv#8`IPN22K`TI›8U5DpğFh3P2ڨ# K{2 μ3BYhlγh#< 5zT3P .QժbJՀ#ȁ݀SZnjEDk,e^.!q_tm( }*| V\a~"vە[]E 00@4A ?ˍ5߉!rsQdX~h k]]^(l@ӣDHHJ癒9P)9Yp=tfqi6^ ?9HfiHE-EqvL)jBAjRR`br鬮ꭷ +ںkfm^J&)6mxy',܎&,{݆+}ǹ覫[3+okffJۻN[o;p {pϱ +Bm|;x:%c6brr2o\G8,\A, , }t <1w(u V=@۰tb]ћ]/_CS? idw\L7]]ux:6*(.4-\v=2j" b73w-}7rzoo͗#^w9:dۧŽqk.>~[-:yaB) n|JoN}~|Y4G1vܽg×W<>SL<( y̻M1?/{8[tl :)P\^Cgl<:qK N/ڳB 6Vn8`g<%noYo(7/\n)cg=NcG=A0k#Rw#ŕ0[BxG}΀[WHF8!Dc 7Mm@t̰<̋6Jn @K͂+[p(O[٠gկh0a3<2mPe:|4iiZ"6yNr48IrL:vsU^<`w'e @JЂuBP2D ʶojͨF7Q7 iG R:(M)@+jX0i<3%)NsӞ>-OJԁ6-jIOzS*U@PJ՝5% JՈ:uZ5D:ЮԬjTʧMpUT@@^ŚQu%x(Yy׿%,^z؈|cKPQr|k\7T~T@XGPvhEPԤ (hE֠M-mIJToږvo05e]PRvd}t{Z.J[V˚rcz\׫ @Z"uW[_f}E/|?oʡ0l+߽T.k׽R ow!{a T5q[O{u,bH k' `b @im 3S\,!{lP'-gjxT1/fcaN^ƱZA м'CZPB P-۪8 2 *&X'X1Ɩc5I%q0g:6 "* 5-l-ch+rI;.Mffs|KgQl6?f @@ugS~&9s~݌ZsVJğ PSEN{M_rhChnvAE_~ _G0:YZ6EBumzP5;k,#cu+j"x=^撿䓦8ni99b;Z)zh$B \>$+׷ts5$/xܱ,AQ 0<_Wwn->͌kݹ\?v5 y[FnzR+o=!^pE:`ڃ)m{-gW0/hB]^ik~(ڿd'Uq7_}yrog:x4$O(j!dƗ~+u%$ @Ze P:w{{w'O `XЂBx*_|WH`2x@v 3H~7?a0p'_ T Vlքz~H~bZht~P+km:L<؃Tc dV'w Bgg2s^Pd3USe$~H\X,Xւ'H!BBrzzk(ynRP#7y%Peb#t6bCX!zb!fZrtg[Ĉ_h+|]ȋ%xkHXlFy3.qhErրp< X< QW>B_hTv]E. ؂xWVvԘ8J4pu!^P 5tpg]֎HQx#3O(G M*Y7!yf Ftm  vϷ.e7$yf{fH(G_8 PExgKMǏJdOiW -|s82pKmASxJ66Pgv alTZ]<^5Qy Ey3E#C Iq\sbjEYhՙ"Ň?2AhÐTEYJuc5)eɗuIi)g<@CC96,)Scқ%ey<I$)&GUt8C7S m2VR"LJܙae"מ9xɞYɞJI ?s\GzRϹs։+ޙcy*g543Ia#ɟ Ňa&E{&XbI)5RY)6(",Rm;ڜELJL9TV*b.ڃZYajWoHy1դVWʦ+_rROz|ڧ~O^zLZ-VڨꨁjL1b:وKJꪈ:ODDI ګz: Z8JNzʖE2ʫкҬN:8 YșDʩ!|ꭻ ,ZB:Ūg䙚“=P{  -I0dM=c\D*U44Nkc(|q+vyԱQ65Bedq+7/ ,SyP,#ꢴ2^Fr`88Jl^:E;cqQ5/J+J2!bPU=t#&et>`bP rRdV錌;oX!FeƆhU{H2h`*X`& Wx{CfFkk#^;KZǔ@+i(טF7IGWkj$$`OE ,%ȦpWy)yn;+q@ Ik̛Y[տ~ul;E$:< ܭ \lҸ[;GuԠFZôc j)Z "i8fkL8X"@3Gs@ [,C7T>L]`cFR1?9 ; b л]!_Įlh!LEFTYhJI>:3~dlf imvmWl] k배=]]Ҫ}-|/-1ML^=.~LĹqnlm^53 ^NtM9 /:!^kTɝSt209n4n;24LzpBD8 LNGXP~=ךO. `2ό,H/[tpk.~-qжp.?.%LWg`iS˴3!ÏJMrVW @]#MA[Gxtn.#팾T2ylFlh*C[xų# #<ނw ˮ'pj(]|I#>ӾBٮbF@|f~2 ߂G^Ia c2>rJ@h2rð,m*}~@)?[?#-Qm+;ou~ l=]n [A#Qd N9&}(#n\{`''Dѫyw.L痮󮌂xLt o$3~_I/‰N;}x9lce!8~b/եr\9r|`^O: 7ԝti\/NԶa鮯 [jh{.M4mo3kI$C"Y 7^PAc\كn"Ch!80U|Be )sQ-ۥfU1L gŤ{l4}e26:) &RfZ1bjyJB⬲Ε JqbJ ~/UVDKOSW[_cgkosw{S_3;!Wc= " (p 1!C  /b̨ZX(r ̈e;  s̚4ỏsΞ<&0ǖsʤl`)ӦL;\2&$KU`Wպ +v,ٲfXl߮ v x*nݦ*l|O uk FC yr4/c `LڵDZgv-^,! peA0k [](M93C鷤m:] N.j"_]"^0眀HW fW@'}qZ>WH~]  @':=#:*{7v +:BN 3CJsqi`s ]9EVSgY֍4~Í:t7wYD F6`i%H",(hwەfc,XrY 3ըBRjdF@uiiF%WVJyKaVD@yy AcjfFN;O Ğ&%Q s8rh(xGy(dOB)ꨥZf%(go}֪| c^Z U떚o)+wѬ&*;Xl>ɛril-mUGئtj.j33532/w.hwM04Ӱ& ڲpqX@r X "Mؾ"PdSJ’H&sB`e'-k|%`1ybުBe.$%`Ɨ SG֨0**@OIsӜ\37}D*UҪ`F*nI DDh4a>XiiOLW%OQyX2n=Sd^=Xvcǹ6" 93@,U-شb4dwի_P^ {v.B> Eږo[gU,&0*`\vbiYX\ޜ$ S^$Yk[4uuch^WmmI~Ҝ4 {^k*;| @v*7ӾM$?Xi [}X9\?u박e[g*8<(7T W;.d= PMq@\>x;Ƞ[)E9c+prr Rdzç"+lXc" IHU?s-\QA@#U5^DZap^CKZT $";p|dX ~\gc%B Ja;i&&MIZ$cՃ?MRN_1V1PVj ŮjG]}Cg82+nqXFg8c pY\Xp񓣼, w,;<3o%:OyƥPԬOjIt1Λ˕?*Љ"9mcLbaϻv5D{(iM{*x83>34h*0 So~cf/%ݶjT]n`M$-2 q~9-L)N߶)Vo<Ļ:GWMnvgt,b. :Q5X?oχ桿yvzJ?ꝯCߨL=Շĉ~ yݠCyqOqYƚ\ݑ8X@ ٌ `ƈiE`]u|yX%.5\uٍUi4_ `  YI!ْ paVXB!s _[QER}t Πya I"`" B] !gۉ"]Pq Y օ[_rxMp!$:$ JZMZv( E=+Jpn4 "QvP :La ֌#an HztV4mݑMyŲQ[U_f cE图Q]#MN}\\$ƹ ,$CR=?*adF"Ed΅dL^C.-$Z]T!AORR4¢MVPv&"D PFM֪RS*!2崥[THe6Ae-K}˅%>Je Va"|,l(N]rpX[a&6La7тә@ZSeTVH]3q[gzgv]JYZcɕhiNUdY:\rheKP^P]V<h^_ T_db &g AcjJ ss't#|u#  b!єeb xFB$y_Mc5j`cU#Ηz-x[x~L9g ~Ne'Vd,fE-M D W*J"%}v▘Xv0 Yw2G -'a!aa=^z܅&a#~ vb"88z~֕YfᨎAerEΜi~b+d1V$=-fb Y*a2Zh.Ιs5'T)-*>n9YE]MMلv\?qE`Lf;ٖF)l7K] $5RT,]D)>N+V+EvEkq`R^س{zȗZMdF.Tl]VhRJٗ6#YZ]Z**%VLI|lņ=@qc| flrƛk1ꦦ mReܭ7iJ!``mV,P橺X,x0DNϾ"d)D֎~EknO[꩕r)q-z BbY lyJI~X]@.-,.U4;خN܆-.|.,薠|^a-ښ nF*ixSz-z6F/,oV@dre)/v-nޞ)vo֯Q&oRoD>붟m&o61N+^//ml-o pB p L-  * R{j Gjec so.1/1c.//PZ]m_{tq-?S _6qEl &6mkCж1jcz r6_Lm(_lD%ۗ(%[225S2'rB&Zh~R/*?nq-r.&rgzru23]Sr/#s2?]:r3; 3s/CӮ-F5D4ss-+ŽN7Q,:$ws=s7l='ީ5#rDd> 4>Ң"V~Йfx}o|-;Q>`H#xTDK:/[T3[cb߼#1^B ?N_E>@쓿"~䗩;c 7d#/8' `Xg) L׶kDC> Ģ#Ȧ초JS@Ժbkn|=aSY(N;GXhا3xh&%9iYdЖSǸ*;C;䘹&gvEyLz8,j[K󹄛 ~d+4֩,-'FOo|oθ ϛcV.wcQY*&j7X1zu㽈$K H<,[xC!at ФΝPi%GD|q\NLNY4KW_ĔQIM*+XB;vkpExKm.reԵT"خ]|xDF7HJ6W˺X1EguZB6gw5]: TQ^5dc-[\`ձ9ǀU;!ȹ--N\{ I- SvK1t E-QnOM'q1r^k E+D F(ψu.VGM1ބW_1R` bK8cBEY4!'Չϊ8\G%. sxt}$F FP>YIeA(mT7)q(hj"Ȧ y hx7֨kRnYW +ߧ odKE˪*gȊJJ+f*HZiGN6,͂ -ZY -Ca.r)jiQj9?/NV*]֫DoXrV9y*o\3"WV &iHHŠ|)H<`8)zK*`)cznk:挄dʂrǭ ct){<✣^Ye5 KϬ-taDOuqzMg7X%? s6%p|Kz*-7VhXgpU;ch t'M`Z0p<1`ǡ>f`v8h Vk TxPDU kv ^0:[ ICTAP"N|R VMwnD%,jq\0q_q͚66@O*dgvv >֝X6SUv;50Z vĕA6#Žpa[BBS Fd()'aiz{ qjĮVk%щ!@*x n0g[ܢ&_/ kx9DF,|g\ -8Hg`G\]7yx?%ft6yy8e9e?K~Q|gRR5@F1Peq-!cKgu=ˏwm+_2"X5v12E60̏J:2K$g$v"43kRCK#x`1'vi~XZd6LY5jFٽDf'񊵦\ŏ00o,-_[9ε&l]#YN)WjfB 5oxj43[VGG C ,lVĒ eo8{KLi7+A29 Hbxxk|e9o=&U||,oyh*|4~cφ @oL.znA|N.,"|"(& a ~ćOɱͷ ށ}+`*`-ΠѱBC F#/K1NecNVg!k>PC9 cʜ 2#60q5?wyV/$\I}SGTIW Q4yP@=k\FjOF5IDY{ B+XU췰㯐#s {bf-)QݬS'Ye Xvmp,vllravnKk@J!Zلq]jqHkӣ"^¸<ѦU^Z @Wu$vjy&v^y"1ރb a\Z8P:1 D@BWؚ "%"86NNG#דrAm;4s҉9cRf+WCDM>Xd|jsBbPWYeR'x,{էErsB@dhF.BLjVik#6O*!fjjP *I뭸* z+|F: L lVƳf[´v-~k-kn@n*&;y/Ch(/¿2ʹ.7ʀ))LC>[0Cƾw\:4p!01A'ҥ%2;,2j)WHY4YLZ>5]ZRg3{I8HSZ/qX=[=7ystݴ:뭲zNIǫև.9>b{ |eyT8dArʈn钗3M8:Ȁ9,l{LӶOɓ+o{UE[YO 缮|^><¹7.>ʾ {ٓO? ?SH {]1/|_G?w@n|w<os_׸ҹͅ!W7σ` px{_x)p~\:A-jk[F'kR`&6.-FضI_$}c<q'4f wL,fv=1fcǣ26 IEErxO(13AUl2hD@\ :)J=\)SiSZ%,gER.w^ 0u/\0f:& PjZ̦6nz3r8q3]|Cyr}vDg:kxԟMB{: hC QlT jOV ?)Ҋ^'gF53%L\~'@hN_nNҌ-pLz"% 5SjU:NV*9{JTn,8P80m\jQjOJѾb5{AJ֑nzE+aZkdVI@lc'Jzv,XG@VNlVIPZzfe1=jI̖Kۺ~}jjM }C;σ4Uq{b(xxV@cx*Nd3 j5[M][mm _Ӻlͮ _qUf\K`f.fD?̅{ Pv (|[X {DS![uJ 0gy `b! fUydn;Vh,07lMn `E 7wi'0U`@92KtE6P&n"Gus?K ٛ 3oǬ㼂SNTV(R x3] ~la (mh WЛN\?5t[TS^PRUkL;۵~r;j֥-jd  p1S[ֱ|ma<79CF}1PyƯ-IKD:Q6oMph365$^JH@![DvxkuzTu^\(3DNd}T,t.ɚq[8K5wA`!T|ӷM\ڱo<7%\/^8hiBv]8v7+~.m߽wm[^D[{^6_c7= ^~p6qՆsN<;ZvS.ƻbi{c>h.97t<ܚy۝P_rOr__wve~Oj>I%|hwo~2zFGJdnrn@2j0z AzrJj&CIsDeC.\ڥ^`b:dZhhO j'f 1=Oj")#F?0W'8]bf.mJ)EʧVW {3xPCj겥)+.ҩRars ,hGDF$zEP;tl!#2zOPN,FLl*)( ZSJx yt!/rT5TƺzOTծ J?*j:ՊV fSj+.,Wڣ;mКx 2U T%';,z)jZLq 8JC2Яo&"&i8P$*'! >f3TUp%A {A5бInJ*x$C(+X zCs2;ӅUXP`? Z lӉ<Ц= b@(b xWS2wm?uD}Z7sTDnrD9J:V3Ĵ1JN6htbY۪wV+;D*$0K2#{\[[ZSe?)JQUBK;Cq]Uة !}t/ۓ<6(d xg:t;ABkኼuKA&3"TC+{s+Qz>V:LQ{;c~˺{ PzB#oUvrU% —F-Li:IRN@ Wzj WƔʣM̮OǴe7c:@)XYlѺG`KLӯ[kUllɈl< TʦD ۰anTfAfO<5껨#2L[rмy ëR̫&zAslD:A˝ ڪS<4>}<,)26ɹ;nT%f7/.ܬ&@97-<} f싾̮NڲB@ќ|!,*T]? b݂ ǒB1mbڂZ0]24 -B-DȘV\Ӱyy e`b=d]fM!R`PAgp_A=N 0su=4pׇ]z<ׄw=u3sԇ#ǔ L4::o؏ Ε-QG/ؘ y-,U;٤]=U ڢM9$>_=]ۡQ+ub=0]d$cJ}2yֽoq۝a! mF3K53-XiƯ *f*[ȎF۴$j= KᏸIe]%"UCJ QmB֍ݸm[቗|J[xJ%V4],N};{O/U/I2aq SޛٜrA?YmٽЬȉǨP>΁t-tĘ*nZ%S5"Ǽ6PQ\r*<Jx3 ~^[W ڻSl>{$ % ܓᬤ9Q-n+,"vRKk{b3nBbv..(G&'ZM%uo޼ n~>޴忞6ka;OL"ja NLڮQ.7p\>a>dNA>a޿\Dnvώ w,aUz؞L//,Fo_LK *;'Oد? +fVU?c:w| ۯK!ϿtўT7%SYAO@/2m  @SCi\> 67~%'FE񉄡4:>BFJNRVZ^bff$5&- 0=vMEpm1d!ƀ44,(3'#ٹNDzU&Ls~gx*.wMvj P@Q&RD3@ m vIlq+EnY%'*-A&LqH A=# Tq4Vi@,ٱ̞+Q|OJAsٝf4y)x~ES ƄQ;P34>GC,!Q:pd^~1G%FZ[ nw I`ΟxKὧ: H ,1ֈoNDV'JBZ>|ln Fە.R@VZt`R57LAN Ed)P]WyH9u(`} И_BAcRuY$uFN (ː^Jwb$VXqH G]qO"]Ig7˜L]jX ,rVfiٖ\ jܗB/-9F1P^(Yns*v2$no*\| NҺaqg FCU樜W 7*iFxԀR^׮ɬ8i$!&\)h~C&!zf ,AEX+-T[HcJߋP[ܰ+l)sCPr8&bHr'Ì2".k"6X]8`j\T 13]2%tJ͊,Bg*5M3q6pRݱtb_DM#-ww߄5ֽzv ]ԋ5282=ƃON-ihz ,9|ǜwc`.hQX,X,㽋O#OCӞm詾nOa5y6sL2mZM^)*OO1ZWr)S[ ~[@G> Gxa oFD.Hq4@p w Z8GKqMNoѢԤKk&_bqR*Ujիb5Z*WկHRWEMSz15r+]pԱ1B/ie:T Rj+a kXy ѳ1l8a찚la!(ըO&Jvj8X6\MRx6?ͭǨznzq*7UHǭ*r\C*rY%DKTtnj9C,]/{75|䊕t(+0)@(TY{)lkƺM˱Ho%xhcY'qsaS55q!c6x}_)+yL0 7dcJ+Z Ib! }m`ؽb 9w슭j$6ĒE( ]3 !CfGYǴ3M蝱`rre>3D9J(%rK9δ)M8UJZRACؤ^[´>c\/:oe|dbp =jױnݭ4խ@%kG:7u f4ore#0x xHk7Ҁ۱ֵxOE[Þ޻w\zirCqpK aݶFe2gv2t ۑO71[βNm؂ 6%s} D_eT2I<nZ;IZ$KV,Jޅ_.iٖqN-t8SL5AbL؉-= [3!*1=Z :Lj#Qp(UR -q(RQ RH bҟZR``]8DiS v `B"AAR!+Pi]SSS:QJ(!!?["*Kݘ(` c @ 9c?::90cy )Ҳ]2@dݙ?R< "FRH c"^#IDX4nN]d" b"$$EuN$ٴ TELSj@0yNUR~JRZ`ZUNpV8L1_\%ޅKݤS>9%Nyُ.d+ bc ^;ajeY!*J]ሲI&VJ2`Wf&|7ʮQ& 6ɆJʼnbP @fWZ\[ktuh!x"-Վr8qnu:~gu;˔Yef&#3Y*kޠ&&/( ^\-`0a6T4\Tcہ' >iJMlJP1݅ݚbH )\dV*RЦrn) s*N91)`*]*gjTJ>`F[j%zzi1djfj)Qai%NHk3'y榜jYĭ*m+Svkf!ުh~9儆1A誺*<8d20f''"N O&kҤ֤Jdg%Rf:,ր1#e^ *򍭢lEm*[ dd-kxv)'^KbPxɚ;^6BJ(݆,{:東dd)'.ig^%岁j4*+چҌ,h)9hF,!>ld>+"n0[ ^0ݡ*ʤ~Vf'f Hn*q^)ʫnfOF,i,PJ.Q]lqf(kԙYoQJl8k[nl~.N͝+b Y6d.zޢVY&Ӟ'.Hda+자BhN+RN--(Fo@4 p pӰfz*z 0v,~l:&Yqh$-FP+U|(q 0Tp^E*;1oԉrMڿY]cHktjt2 +bnd!ѣ lx!1s>$2irL3C{~,91[,ף2 NiFst:st We_Mkj!1q$"DCl!.9كtAApB..L?l:0ľ(S336@F6  p:3,gJDǤN }&/pGu\5:8d@puS~ﵪpUU+dE#u^+Kүqx]d\`^f]a#ה;vtdfQZ6f6B jh324j_jwmW 00"Uifowym\|vVU#[VvQOYwq>eն!Ӂ89TOT#12!`li77/Q8o7| HB``4&zwWs-LVڷXq7yw h5# ,B/noi\OA"/x{ 1WE|7}yx8u~Px0 ϊ%ǸɃ\s{o89yyBy{(Oᓧ13JyxuymyyewÇV+(S~[ΰyb\3 Q/i ]{Cx)W\cUV8KNdWDSLzE9h2OU`&8a; Ыv(@3``ҔSڄ\:Vv$%V{˶{,6?FZ[:{W;O8gb_'p;o߽G;۵gy^׆x#?C*<ţ`0z++[&`/_`}#G:۴L('3x<>W7@+s+ig +B}ן$8ޛUGH4jصg5;7}zؾ>sAm_~Vp~~˿@(:u}wxwxw8[>͂S-"&dڛXӱ5s8<ܯ_=7_[3}GNM,F## z0nه?u? H,Q6 DX$R/ JԪjܮtFYtLs]z\#8xgxxU(9IYyf9 *"jJz:j k{;Y9 6&{"碗^0f ;(ϏƁaiW'ye!=Vb)ibY楹E#,&fT1-+@XJkuH;(Jzez;nfʱ@@ ܡ)>W۔T8f&"chX 8,qs>NȖ,Q2.8 2̲z=˛`̙l$<t&i,'TtZ?$Du?V[ Й|-#n wrcqٛmΝlƲD΂Nxx/xyWxLDגݝ;yPZz|zo 蚧 uMo`<{|O|';%~+Sw,nܞɬ?1eˎ3ԒjH&wmXSh硽Oיo$}~70= $4W@cP#HEg'%Q@ INA >v =(p*8!6&6;е%T1j:ձtCXTH^TU\I+ *=6pk1wJveK1^Not+iOR_1k^k>ׄυGiCC(`[5М@#KyWc aӿr] SU״ 3ފwUm)qU$kH\YPxM)gw;ʀ2v[o qߐl/ kxC@WclytWq-41x<' yD&FX7 (CS .P,a)WͲ 0ӌ>r,ftILy4s8a3MCl6?&49eC#zfV4O9̀kCg8>s- F{sKm1YիnSj9Չf-7?9׽uEd[!R>5ShԮ6=isz۟Mamhcn٭q˗tjZ{ ko4okg@/xK|wv}+\yi+׶˻xMq{'7;;=WN [ӟNֽwh~szι#'fŘ$``4th_\:NS&u s.o\V{ L="gk:5v#H^Y(`) @:\u|vѣP]7rlEO= i+_ʓ(:r `"gŞa~* hXwrV)ɷj\T$` ;zѳ}&^v=& Q{3ռ%qiO#_\+W\-jdtO9EӞDAŒRC2:UM(*4`#h~zR]^߱s߂iTBDյ'!TuvG(bx*a(,b(4H8hc<Î>)d5 iB*9: 2JI*ZJhEx B BFH" I睴9T@ H> G$ԢJhv!i\JqM?uC?Ej?m9vMsdh衤*V(k*Z&Jר0Z(9첾kljekV뫰vlnj >Ukmp~0p^JgoqWnd"/IrG*d.sQVL33\:ws-DmH]OzoBPG-TW-uӘ. \w`=?)Hhc'Yvp sӽBk筷yZgw,͵m m8u B85@~W._d/.|} _Yw.~[ub䴛N跧~;.3^s<';.ˏNy_^bCo{o}Ο>?j!w>O7|0< "zi#: ?d3ě,cX|b+>D")NVDchC.b_$hC2bCt3H=} $H Da"F2 czHIIrkd.O'I (gɡrp*Z0.AXO 8?SO~,'yD^L,ss?Ue WarL5SΝ4g먙hg=vOuM{!͈πo@AzJsdIԗuEәRh:ǍS 89Mm4-ݸ͗=^9OjSÑ%=gD{J5F=j(TM24*ИbOT*Nj̬NT9橻zq`*/ZL0xNM9MµrfM7TTd_zWH5leKZXnj8ٯZ5$ce.keJMF5 vխ%UaYYrO,j!:WiU:UY(-MۧQ6tum Z>չ,RIb#eOn4$[^lS/&Nvu| W%`Vk== LKw-v#<[ޗEe0z" .qF&~S,f{1r&c31>X" G7>2dyVr&IcO$D$ Lz,.ez̼\BC0fp—fe|ay tJDs.41)zR⁣,ۢxֺWz.H)n-[(6K!^:EZ WgaW}H԰W\X\{6FcOZ_3k-z9 r]j{qКu/o=e9֮g]i_;E]Dl!W[-Bwy /Hxyma$gQOT/6˃OGѓδ3@z.8Q#usY.v}mr:3'p{wNxP; kqi$97n56$|9./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrtop.gifrc$$GIF89a𠠤, dihlp,tmx|`H,Ȥrl:ШtJZجvzFC+zn?N~o "~"(&c  ǝPʁ̷ +b*b-ϠԷC,8!*\H\ s"IHK v3` i _}'2J(dHqEHH.( <"P\7ӥULUU5)ͯ`&r"P  -ьD-@p1HaJuj" Pj€ 2#L2f MgZ68 o׊Uxlۃs- 3l"3ZdM"N4bǴfM0{coGӫFqluH $v_}wU zzF(L{t|r\\4@4!ی[[蕄@ 9ij}!j9̾7q{37>;o3]]v-S_°zTHB@{kjVr"ܚXW>,oZCC0Dq\GLV}lx;DIQY f7!PCH2gfL׸,4p(:8pǧ> IBL"F:T PJZ̤&7NzҒy(GYPL*WVzҔ,gIZy.nM²%0IbRL2i\@@`e4Ykf6iMlg7͹Jut7)Mrγ\'Pj3*Ρ|(VcUr6VRMZURTl@ N\|k^qMP6N]IWq-e]?y5lb=)Ou,' 82YKo]&KK _jY*mv2-bqIF)լrW]:v+&Yxr)$uIvrĚv7[Qvך/&͛Ii&Vd/ ^Kג}[V2aZ.%k\RD&O!hrl7ajҷ/bĘ4n|[Oغ@KcGƸx8N@LdF3Owሃ :$^h '/\ @%p)+ f.a} FcqBYoKi|&n 0Iz&Z]"yU6`[wG #Ҷ.`W(6N0KIk3$,M`_ `Dvkcؚ2&4]:i@jrӅK%d5eJ.>..e7ڒ~p] c˅ x-c# 8g :@KB8&)K%w۔IKns<莱/E;M.׾k6>n-,/.UdKs:tcϘDzΟg?[];.MC︰[}GÒ^5SdpWiZюZH|ugItPS؀hc #Û"?Վȋ=;Own/4!̖Sum>Zyhg8Mu.Z 9&G+!onl[z?'g4yb7yg&_꽟|Ĝ;~1¥H3$J]}]6GtCpmzʇy|~ WJk) 8ڧy^~ }l灞gz'Wik,xKR[uP(!'"'p78|9!YBdJy=.F)a֔Ry8^R pJ "ST` hiŖg iIJrtiex9vɗnd #ZJvNy5zIy٠cIX VǴ]\ZPU \U+wIșʹٜG2+yؙڹٝ9Yy虞Yٞ9IYٟG:ZzԩK ڠʜZn* ):"ڝ$Z UM,ڢ.02:4 (98,xDx"֢ +Z-H䲠ģr,yF,Q2OZW,;ZZ:_ˆő)$DģgzeRzuP pZJaKrˡ"~zhc͂p((%vjfls uj$y m{[D"pM,HjjbWWJObgEˑqxJi'2 U)*Y qM*-ڤ:Bd 141@MBuV"Xw;4:BF:E6`mvJA2'9&8J(zش d=O=ߺH:*W!2 0jPP~&"ezq7+>2WJvs C6nM ClyªؚjsKAIԱ@B`%R0;Rڮ .wPHB3+̳zzkdgA Es%t5Z.YڴQk#=.AXH g${z7$9bS5mBuL'JSkB!6\B;mˁ36V4vz6~x[9B۹T@締5Z KB#:dPMkC8B΋2H;Dfw0?@nckb<@@:+=y@vۻ@${m] ?A<2LkتP@ 63A H;fDat3 5Myaë;e$}Cswk75C[BkS^ @jڋ:*T˪H&l=D ڣk1bv<<:Ӹ:U"ė>jMŋC$2Ǻx70@Ϛ DxAz< ?rMgő )\:9{H/쀗KȅؤU8HIq <Ҝ~t,@6Ъi:ʆƱ< Vj͇>l@lHKkq\˺Ks:Z*"w47Ĺ$К_AM뿘=(B=aюǓ:C`)ː (k|  *B7p̣+WRt},M Dυ[4nAYWuJ0W kg&Md+-OZ:n^@0⭸ȷ- g0,k{0M/q:.`0Ob"kr NZsL},td&MEI.E'p.>zPnl"b :n Q4z$2n*yKrn=|M ]=0]K~޽;LR `w.=ܹ%d+n1nJr%f7YCmML74L;ŧ>3v>m\Z\EmL^ŎMѤ"LѼ7_^;l: -C\ G1ޢWKk|tIk>H<3\S]]pH G5=h0'3¨̽UȂvNΏk-݀@oN)23˞|Gێ//{Ȥld[_Ø.C43$zjWb@8 .G.ߞe?'g+p@ϥ2ep \=0?@  n"9)>O-."vmU?-p>7/!/?㡰[&.Z-Z7/9 W~ 0O/y.on!]rYۍpO 8y` a,͆"&biȜtb-WjvBgSܹ~9nziHYe0=BFJNX^bZ% z~6ejU!ܐzn!V-.4:NBFͪ#'I DK*:`9D-46 5w697T]:7HO'bj=Kt@ `Os/IWpD `H"I LR%6V(ARZ160AEfpI8\/]rȤɑ\Of5̆BL- e切a͔hC Y8i1yƳOXx1M>jd%zI`~[ QnmEݖNK/ͭ]8nW==`U: ^s@QZjJoJpN3;UeFw5Ŧ3:fѤOɳc=s-s=5^tbX 5u s 4h 4fgb#W-b}b.#|#AX?y$n4.iXvPV}p]|}^>{/|$d8A ]&cNF@Fydlzp9\0%8Q`+-Z [H4  'B=lP?7li^`CPlE6Nnxc!ͱ'+!(BSav/ BaD0V\#,fxAf8~ȱt"?aR# "ȆQngG!qk#HBNҒbT]Pb(K,~|#4 XI|@%/IaKULd'=Ґ@YGLz$!IINk~b/mwvE(D1 9YWsntQ K4=9@:qf@ٞb1YqUjj?=QG3hFbR!F٢x6<P$'t 9PT,/~q()@9?t.sa kHRYuT;ߎvtR~D)Qrh4&>H5z6J„΂T+ 6Mr25*|N-}+6eq~&ª,0ˊj{\&9`u`bԛK³4T4l/S.Ծ w0Wnڵ qA؀+ukeEZaιB ad&L AԮj:TivJg;eڏ.ג֥w\~&9^X< p)ZXLη88LpG{\ڢė&4qcV+ؼcl{NQ0~/ZV5&[y+"ᝪκϽKkֹrh*<X_UzE3.[u|拒)a>y t^8XJ N*:zIʳ,da3ٔ(j|ISғnrESwHkUSL&&m-P:ا6\[^Zؠ]K\m% X;[=Vri߲>h3{ǎvۭnA溍v=pBv!\`ǭzwmfGԜ9k{Ծt.g 9\94<=Zpi'NI7a/K9rjma S7zNVZ$&y7۟ qu5b{;|XUI`mc+HR6uNH>KɜL4hUS JXD9]SNFVQ;Z*;]]WI߁ UBm㍠WVPe=e%%eUՏd#;7 ^Vc:E ^L^eqfU_eURU*oEWIQ^Da _ ef_!fzb&Gz)v|L}l֎%`fE"dF`gzIJ=ք0'hb \T,c? aC  ^rN rzsFX^E&X{ڟҐ7f`RVXaT=JdyJE[Fng!]a_zY jzQGb!Pе>V'*^cI%#eDgU(5#&^baR6c#y"]YF%=f1"Σ))Ƣ鞦P$EbSz$2-v~) "$t>r-ӹ X,R䣏x.ەygg>??QJb&^wz l]aۈ`2)b j+V&gp^Z}V nRy:kxkܶKovzr(ߺh"miwmp;[0Bx{3*{bwn涮6؜|;b(¡VoS( _G}%oW(.|$(n yHCR&:%"=W T̷9eT PcPӇ z6%k)c׃=C=S|0`캽0ck5 ;㽿c}Ϫw=;;GjO ܀k+x%x>[>G s |܇~O8TR>>=Kkþ>~?:K˾?>S?w*䷽)9wC4;˗ǿj; H扦jB`  !Ģ Z2 J-ΔLnm8]w:˹9_Gu_ !'HG8hXsǓņXH39ى):JZj (z8sJ¸j{;{zXUk{#G bYV Sb_fa%KUBP&H_ط^R .^YрF^bU(^^!Vx xY⏈l,%Ha_Fq$\#:L&h%$8JEeqywA#C 0邝xg~ e#9h.h~f79Bh]꣔FJ*nWLj k:Q*ک@ K9[E]%l> m/zDKm^mrmfiףKnϹnhKދo pSp.ȫpO쨽0[!r/e'202g&s3/)s5PB 4pA5C[C@9G=U"tG@mtS_u Ҩr- @&&<=+AqiFPx  ~ ;lt L(^EL侲=@ Ѐ (|+=$'sǭ 7^Pѫ`;}t7 ?y_nq_/ +`O:Xքi E_B#3)Pl;?7, (Zq h@m : `'3-h{p3atB$#n 7@!pz<'AJъZ(1lcE~81X<'{m"tF?Zb׊1\)_XAl=C&qJvt*#=iEI1p:v<yrfL1i!&I4ԥ(TBәW*9Vx0=&.Ce T$#)&M̌g?En*7ǐK+ȇt\ ‘Da[Gƅr$0yFzreoϔg*d9…ܠK3E63$Tc$*7c"3s}Ec.wN0ik: >4}iLÔp[SzAzu/=`Ks״N1}k ;x^Uv6Il.۵~:Y6h_gn:!7{]m9x|Pnklnn6+A-TvJ~#8LIGl|#[m$4NexlPf!撓6-cd?Ms6Mww;lOG6U~[.7ځnvnuS]Cӿ>tuy߭wS6TOx]ۦ;O~[?-g\jN/3z sPo[.?;Ѓ}s.VvO^g(Fн.[/Eς/p??/9nk)H8< ǀ 0ueȁ+PE%h')+Ȃ-/1(3H5h79-(p;A(CHEhGI3؃=OQ(SHUhF؄RWȅ]_a(,-*Z;؆F&F9EW[8Ӈq~hrH{XmȇhXqxc(IX$x臏w(x(HȊyX(j8hn8肶؉8xLj8uxH|xh}؉Ǩ਎88☈h؊h(HɆ 5ȍ8s؏i՘$"#ِ&)y8莌1䨒ȏ2y  48X?+8ᨑyՈ$X) 'ɒRR 9:ɓ))7YA18븑FO[ֈ9gIz ɗ{se٘?mY%w)ԸtJ) V )\əInDu>IIyM9(XOhuƉH|>)Ș؈NIȎiNȂyT7 9X\IJj: ʠ %*J &%ǡ !*#-':k+zb*ʢ/_. 3^; 79;z ? A*CJEj\!;$ k@ri$7n56$0;y./usr/IBMVJava/html/enterp/en_US/gsolent/images/atstrvpm.gifrc$$GIF89a|,|0I8ͻ`(dihp,tmx|pH,MШtJZ8xxL.zn|N0x_zM]z b= }{ NL 0`mit4a2ӷ °_^ܯ7K MҔ wLsLEBiT-t\㊡: c)3jpxϙ9kƘ񦽠5:T dHGH0W s,SҢU{6ۥ;.Iڳx%5]wJWEJ `UX5LZgٺyhgWL5"Ï)x^$ifA '\ͣϴwMPǏ.$V' $`  OOoH<{_9dwXvۍ$w' 複Y'_}WL?vLc!GوgaP`V7, щ4hKX[*01b㡍D)$&H"YH," )TؕX.I*0vA`)&[ihelp)gixU矀*t>B衈&裐F*雎Nj饘fBv駓r ꨤʧW꫰JjЊ뮼kkj0̲쳭*² TkmB($[AB׆{- ܖkJ0Z;̹+ȫڋzY. #f PA 1+|̧x,1aL`2[-+G!'?`r S.&2+CO߼1y]VlvW5H`#O[XSc5VUlq2.5<*'V0 B>9]sug{G{^ݟ~誃:gN~{κȳ3zfд3 .1M؞챽uW*M+ҝq/}[.߻>=|}AGK.u=ށwH F>Oxuki.zAFfW_ 0v6hn|a`06yC ZDgD& H mm!Xpc`81΋Z!Ҩ^SxoC_ ~X@hJ %Ab*EԟV#مOIwRsaTjr=g{_-_k̳dI_dU1 UɈ7r{ڛ7v9a}[c4AՌ`eEeʇD0VxzGoc^DC@{tXA zI=t_?/x/*tq_\>="P&h wxJ(ֵQa$3T7uS D81D>z`Bʨti祮,WǪ)~VL5W`ֺZpM]WHzEj_;e*b[*2r,d'(R,f7'rs,hG&ђт"jW[XŲs-lg&-nw+-pT-r2w}o,Yͮv ZꞒJ/sY"/e J*J%5n_ݛ҈ٷ~R~to3)EA٬JޗOAl Ccp[5, w8O0fI/"+_f α*72TurѸL;,Wuf\R e(u˙%V\aTes7MhJzwvFk8'MFCZp3>s:Û4tC-钺Ի4|UZծ^,c}Yz5_P^MbNBWЎMj[ζ]; ki$ 7n56$9z ./usr/IBMVJava/html/enterp/en_US/gsolent/images/tchodeft.gifrc$$GIF89a=,=0I8ͻ`(di(@p,tmx|prl:Ш جvzxL.znTXX~~pGVp c: sq F 0W-xH ԏ]ႮU Y+Ƃ:@`F oj^`q1z#Z|G4 I(j[ /ij81ʓxN>? %? %_J a(Q&5yVcEDÊUi?)4JhMZ&Xk3ؿT [,H Ar֝fe{>^ՋnF-,瘀emFi;/^/ Uڀ9=1J.ȓ].8#-8SN)gmRiŧ[O蹯BO?_Ͽ"5HhI 63`VhI,va~(jH(*4(fp^x%0(aL#2Ye2g|lCiLJiS5meݜ6ЙnsfV{g ՙ/vF^%mC@Y> KNyChYq2$a)хٳ(H)ґ,&LҖ0%CӚ4]apӞ@ PJԢɃe )PSԫ1LVU 7UծhAМЈp}\2YT^epwk`o0jju1ɄҁM<'z q2b j88VS;嵰k,g*Mbg<2F7aVl W}mrV6tnۤ{v x.=m`^.rZn5uKڷo~?_7C n۷QЇ@{/d`2 pL].ؾ n}s]9nwLR"mnŚD9miJ;{M1kb& xV<GI>SdVI.qe+INmCawVvdyrl&әw+qfD|&\QQƴ-\ sr]L?+Z䅱V&Сe|aXSVY =KgV29^ZyA4WUaK3Mj'SPl:7ݖHw탟f;𞫼fB]V)~;S)}o#rQ{,)9҉3.s|]8B.rnR(cQ&lF&haήn&p0<4'{d{;<>93 (+(fH&~":$s1-ػu'OktNx{NO¯6Z񐏼T?m[0 ћ6|QwEoq{~~Tćk_<OK :_O?J?ү?/:/~?BW}x 8Q؀#~*8"H!#S4"P!Xx(؁$.2*sӂ46x,Ȁw`No"6>@>x;D@ č8(P~X ("X؉dȇbBx'`&XsI8N:CX;oȆP؋XH !m XZxR0S#*8s&ҍ3(,وy?pTؓ9h)oIQ?ԔN)(I!zwXtwX)w*7I^;EFdYcy\hj)ؖQ@Q9tYvyڱz|ٗ~@;  k\i$7n56$pQ./usr/IBMVJava/html/enterp/en_US/gsolent/images/tchoosbn.gifrc$$GIF89a"#𠠤,"#pI8͹Wt1* cכΪо$׼$9m`hbL$йp+dTݦZ]BPs^kb u:iR1&8hyzjK`iv!a( y)F xkp #]rrrwȗ,! @]y  uir\ n$]a[@\:ٿnP AgYGHؙH`I^4aAZ2)rgbJ2%.kW˧2Ǵ_X4W`R'ٳhñ۷BM%x)D;ؿ kL9i$ 7n56$ zz ./usr/IBMVJava/html/enterp/en_US/gsolent/images/tchoosbw.gifrc$$GIF89a=,=0I8ͻ`(di(@p,tmx|prl:Ш جvzxL.znTXX~~pGVp c: sq F 0W-xH ԏ]ႮU Y+Ƃ:@`F oj^`q1z#Z|G4 I(j[ /ij81ʓxN>? %? %_J a(Q&5yVcEDÊUi?)4JhMZ&Xk3ؿT [,H Ar֝fe{>^ՋnF-,瘀emFi;/^/ Uڀ9=1J.ȓ].8#-8SN)gmRiŧ[O蹯BO?_Ͽ"5HhI 63`VhI,va~(jH(*4(fp^x%0(aL#2Ye2g|lCiLJiS5meݜ6ЙnsfV{g ՙ/vF^%mC@Y> KNyChYq2$a)хٳ(H)ґ,&LҖ0%CӚ4]apӞ@ PJԢɃe )PSԫ1LVU 7UծhA6B^ aZJ׮r+׬]]Vq(g|u_RjM`TͬfKMhek͚<W"+VDͰCVHK;g"q:T|X׸sRXCQU0,{( OB%JWx3Y֡M`"* wlyDZɾ.Z[7-h+tVd^S JaS`(fl^c' DGjwb qH!c1%!˫F^L%3[N~rO)^-O u3 -˼λ41fnPsQ@\yFT~gEH:4Er\YLJ[Ҙ4"ֈN{ӠGMr:ŨNuK]U6`{aMZ#Զe_]zü.`gfwr mNڶ6mj[w`Xqۮ>u[kPz2F7 -a7Q{7#S\&* >z|CyD']gg1Rd9×s$Et4aGNv|3:SZzl[wn37`wCÚt-fLPnkPb// ]{Hw=x{z^;HG;]-OoeC/~G9%~qZz< ZS"γ~p}Q/{Ӿ_=E7j"K`Bo~N<,|{DwYO7 ?@ί?('E޹ITiMk)zbG$SHYB}L`.`&J 6s!`'A"! H @ԧKPe}#8 8!~2"sC,*x8q#4HHpyrMfs-$@iW !8#(01#q:$xsqL7>]Fx{^;R@ v3<Ň2!r2'Pc(PARG}d+m!KH8t<;bx4#[HNE~i (H߷~W7RPr)Ra㉬B' h<8&{"ˈX!|h~Vi|IXRj:jvg#pXNsXɸǨH!G8Y"+ ِ9Y T;d/ k i$7p56$./usr/IBMVJava/html/enterp/en_US/gsolent/images/tconnct3.gifrc$$GIF87a^J``` @ @@@`@@@@@` `@``````` @` @` @` @`@ @@@`@@@@@ @ @@ @` @ @ @ @ @@@ @@@@@`@@@@@@@@@@`@ `@@`@``@`@`@`@`@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@ @` @ ` @ @@@`@@@@@` `@``````` @` @`ࠀ @` @` @` @ ` @ @@@`@@@@@` `@``````` @` @` @`𠠤,^JH*\ȰÇ#JHŋ3jtǏ CIɓ(S\ɲ˗0cʜS ͛8sɳϟ@C JѣH* `ӧPJjr(իXj*ׯ`Ê]uٳhvm۷mKnT ݫ/߿~,0Æ#^1ǎ#C,2˖3c>μУK_[$سkν{{O 7QOO^'&xz ]Fx(f9 FH!h}z,ވ.(x)v8:#q5rtD9F&$kA:0PF RVdOZT&`~ZbV&lflXpd9ffkZ (h&&yhd 睍&*a(gon)wz褩jj>Bbꪗʊ'&iZ^ꩥ*lk,V\ -[,nvJڧ뼜J[l:fqκk;(疋ֹY G GWXo1~,2|ltx%rq),t-lm1߬sq5k9, +7ѴҮ4J?-iNO=tVg=ei5hX-ubVhlp-hvٱ`N d GnmI2ݵW}GwFjOU沁AN[gEkwDk:kϘkφzT힚!mKżifɗ=sէ{chvh1|W>ձ(xW 76۟h]7 U9  pC &^8`շ坐64 bBl*da]YpOsBP}D,A|ak"O Gd{BE"(` DE¦ H6ؑxT9GQoM]m&gBjr#кBQB|X"GtQBB2yF9P2 .)"r\bJZr%dj[ȍFzd/_KU:k¥$djI'eY%hT5M$MQsI%'CM#1IsRb nH9Y%|H'"jV !s3B"6Ԙ,!29r(ܥ:]Ts4z!bȣTJOEҒ47K! [iPҢ_+QO/Դ`TJ.:մ8;ER1SI^ We2'ڪRA+Sn}:eIQ녺Z,]`1UU?zu8Inj_寳(SAUWn ^aBBLM@YuYicVk6yj ^K&zG mN :cnv SF"1j$LСso9bwv7A5ByWbN}WIX~}_BiM`%6 >P`D8@ hp4U5zaք8@XSsbec+>Mbx43ϋGvcƍ)L"r=~[8BP~L)[X-{`2niID2MJ3O@Y?g3RV;z. _`?'ρхۈODdШ'I2YsAͦ-}s|V"*3iU2tjٽT8OWZhܫuYfo7nᰣc6M 4P/^5hx9=}/v6&;'nM-}i0}*"# ^Tjr}R+|C%@ߝÃ_ mAYbvOo\y+g?7M~ AǍDlyA~#[6I_cL|0a[ }c~dˣS#d>Ŏ>pvoO0.<^wg>z9ǵ:t"rlkWFj.9EWѵ}DAh(Y# z&=Urzܝqwʭuh>%g@ \_'6#si[s:y=!ir˱l׽Mb&f^?D24"%Q\#4wh5J9R(µxyC}[H3 u8BodQ[+8EcaZ;=?XI8AEEKH %Q(DzہV%]F(cgh%dhUbi(kXr&oTsuwH=ޱ@.ej8QHh~#gH5QgI`?h,x|ԉ !ngIԆ,.ۇi':qwzh؂ k(Ix8F'|vp|̷}OBwD(ykMkl}1h~FxNX1yF0x|3o 1 Y}c㐀rӎS􎀇đns1y(I#c]'BIXF2@jK-(*S\Aڥ`_dcZhglzkڦp oPvZ!qw*1 6 Tʧɥ"j *zaڨ: ЩZ~ @:MʪZ JjZ89#! la`ګ:Z )Zʪ⊭ʪڭIH`_ pJlʮjت*  &Z:$ڢ  K ` P ˯v 0 *h  :?ٲ> J(7_в2;ʩ)+Su:x:U" ?ɴON{zڰ6kgKW)l^ 7FK /۬S˷'Jf۸Zê]Jzz~k븠Kȶښ˹]  a[aڻ;cq {;ۼdj{;-Z;[;qc& 6Zuۛ:K+ۧB")QBf$1$kl#刿{;kea!zM ,ll,;&!\{œK$\!")\7|5)6\.,R8t8 JPAܽD|Igs< RA<&ܿ\i$17p56$1./usr/IBMVJava/html/enterp/en_US/gsolent/images/tconnovc.gifrc$$GIF87a`````xxxȠ𰰰@``````` @` @` @` @`@ @@@`@@@@@ @ @@ @` @ @ @ @ @@@ @@@@@`@@@@@@@@@@`@ `@@`@``@`@`@`@`@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@ @` @ ` @ @@@`@@@@@` `@``````` @` @`ࠀ @` @` @` @ ` @ @@@`@@@@@` `@``````` @` @` @`𠠤,H*\ȰÇ#JHŋ3jȱǏ3Iɓ(S\ɲ˗0cʜI͛8sɳϟ5JѣH*]ʴӛBJJիXj `ׯ`ÊKjԲhӪ]˶mֳnʝKݑp˷o΂~M%9AÆ#^1ǎ#C,2˖3cެ3ϞC-4ӦSSK0C׮cÞ-6۶sޭ['Nȓ+_μУKNسk߮uk{/<(_Ͼ˟wϿ(&Rp% 6އ^`xMhfvH}:PAh(,-h8_@)$2hH&s  D)TViXfWH`)#P2" o* 'XIxuM$"Q9eT)(N)碉R垐@Bg擁NI@$ Д6sᢪz\PaJP $ < 9&{)2i&6 ,jܺݺ M @ 鵉%};ܷRj@@@i9oJF\Q,1% ,%@ 7 {K,o,P@&1}, }g4K36/qfmL/I1k}̙.pA , ThTcr@{q-HϤbROVҍ݈iTg6q7*jd2="vV^ʞx˭+xO.}H˽# zLhW'?\CWhrS:gG=ӟo}س/u=äϢAr'@8ң^0U+Ni(vؾ.8q(@|&`-T gH8̡w={.($wBrPbȾ'i1J@!L  A t"'Rq&|cU-Žرc{!9FOD51ƑcKFB{zI)N\#FN'G0q'~@nP&,e.BR$J:%m4őytKQvpmd6Gi% 91%i rp)@94N>T,Cd1 Mxrʡ'O}F'`$E .G7bhq:u١23$GSO$IM} DI*9YΖsFg 1OwJՆ4GAK7uFP`AZ,U!jIJ(Jʡ s|'YDr\ NsXհmjXճպ4#^WD`ў&vM\#WеMhX:lVҬ4롫TŭhLUԢ_MN^%ZTV:-fkPԧU{J:ኻN篁-war5`mLۜ:ޝhC]XW88t>k^ė:h3wN`Fs[tkY*XYm}(&L/bmq ;|msb9.~qaИdžqsܲG'T&D8MOd#gQQ*[,|H:x EYb4L@EI|,I8vY_.ΑdMw=N{mZ>>vz MYЅ_v\5fOU0N#,COxֳHLj 5,d/1Oo\GӞh~!l/Wݮm;yp<+QGvʸ& o^h^WOx I߫6zZ"a⫞|q>s|-r?設7٣$=ٲtB.r;>^5rWEѡy͗CrəCS/NI>MG.ץ}UO큯)mw.;wn3%<a_6KqpsauX^N]A؈ |HTN88~ v!{X"vc16Q1!(#};X8燂(X~Ȋ}8hD6ჳ'8xs권ьa4K׈s8nZ(1hN2G؎ȍ( نDd1* w.!۸h s)iTh05i2XU!-yy-!2ȊQȔ+?9/)Z)XI;YY!SYz)؇<SYWiؕ`ɕtIs9q)ЈiZ먖Lؖ99wYrvi2XG*(DgIkYVurؙ6׃}N0uv陠yI5bA}Tx}ɘyy9!$i?隟9\y7B 9u֩crL1h"؞3`<M깞0iWa{jaؤ>SJMܥ'k(‰@(>Ԥ+zAeW7cZ{kэ: R,jM)HGDK$p 5Zhd'Z%Kk&jꓢDoRڤ]XHptZvʅ7rHXFYZyHJ^M::MWIzfk2 ɈG2CѥF*T@k$@zFIYU^3a՘!&OjHܤj'ժsN4TZ;IIڢI2)hrZҬA|ʍ[*P?$BJKfHG*&Y̊!'Y*ک=jKj`ZTcb1ZxъZs9:"Ig/h7,,k$*nNBnF,v`s'1Fk:t㴧_ɰo'?X[1r7A(}\kTTaAmKsWOwxo!z K;Y51b·(фNؠU;mu{'繖 > !onRѱڔ#{kX^u KWHMWK5c*t K?{׈ȨX2 R 9*Dh6* kܫ";JI[CLK !ۧ8됦mKB[ ټkX)=^;k( \T J)3!۾W<: u~kBDL |G!TK VV<)kYhK-̴b< {R͇[@8xv8\!&u OL'a\=ʜ[aN1nLZˆ ]]{6 !E4R5}vس M  k%9[>!s TsQY$mSUȁR\?] ]_-(?=Œx ; -0eȧ`RVcYU5U\Y%lVY~=[~BKK(;Ԗ,{|؄ӄm[a=b =;te]iÿ8kYԋҚv}`mŠS ZMچmڤ}X^;{۱N}̓_1N醮sNޮ\O<{/&;\ڝeǛKWMzvNz.l!nZ^$tbRxho'[2/Z?XuSWk݆?ꭔ-`'OK9 fuOa-j_O?OL?/_<wwOl!+UمkojG*dl@4@ N@PB ``PD-^ĘQF%200HE,yJ-]SfɈ-Alt@ f4 TRM;J2NŚUV̹SeVbYmfRjڅW_ڥWޙ5[R46iaƍF͐.+OƜ9 a;MļkCF]Y[VKMzGs ՠGaF%ge6X6pn!d]|qݽ'.c]]uĵ^^>r=OPzM=⻯@ j</ĺ? m"2 C 7 C?pG$DOD1EO䫾L&q& Cn|F)J/RF|d 'p(H+՚+/ɻ2+{ hʙT@*4ͬ´H6B2=10#7aړ2ϩ΁NDLЖU3B tT&8=sҗTL0KQ4R5ݫREuCL@mTT)mm2v]jW`TRÚk%N!<;b$GRXNe[r:Wl3%֢֢ipMhד=ב!߆UpY2i:{/סJJWtU}6yV[bbTL^e8aMRevs>6~)m6U9996YNV؁Svi[f;Nv\%kƾ(Ǚ_3m?mx\Ii^m:^IgݽLjrT U"pe_w97?(V=pbؓ-MwUO^e>w,s.˺)鱴,f6xnF}n8ᣗ3j^|yuީ3\oY< 0b]l+KR!$[_RAO8#h 'A&xkd( АrV 8B |D8JۻrÅ0M T yHj$g:WDue%R D!34Bʘ4ь3axC'J wI*n^<\K2Em%TH:*6d(E2Rv_>ZXQDQҔDe*SdHq(blbD1k$.feTM'pEfwh$d$iKK22d)  qDXI[rפd5NRGM t8RsN . yRt6$}VMg8}'PsJA9FѡҜ5;:H{5>̌ Gto0P iBZufΞgEϊ5T9$:P|`D լeEY՚VqQ[:W֕e [Y8nJK%HSR=(pJ VEGIZVuP(7V)[6a90R_Ik:էJkpˆ;ZmZLZ p[6`o[٫v$ s t>MV꒤ծhSD7];D;ew׀x/B¦ު׼{ ߤVfŌ}]wgJ,`Iiށ +.fթ|;* #'#V΅gbټ,J!zlA NBt|89>qld̥%^S1Tc*dqfey*cc[Yi.ӆ'trLfL$$Bk)O2Qȁ沷UR 3_\h>3̏&Cˤ+??,%=-kM#zڢy?ᣞx_[%S^ʓ^~}. W{'HԯbSW ~E]_|ۄkfһ>3k?[t@P@'Y :܉!$"4#D$T%d$A RA)h,-%|Y?+*B1L aa4T5d6t789/C7D >4(@A$B4CDDaC:BaGlķ(ӲāKLMNOP$IHĀU\ VĀ0ETĔ_[$E\\E\ß`F:a4c:U\E ŢȀefEŨE.mn,BRe iDgX$iklwx4BpeĀqgtTGdTǀnG1{dFhC}Gt~dwȊH%,&sX{CQC AFxD%,Bd<džHXdŚ<hFH$xTI#J$,ʝ8J4J$žɨIňXEtJ!tDxLJtBTJ˝9H Hfdd}|H;!TI]K ̲˲L,L$̡L̤t<ʢ׍M׽< YK,bzYpݜŔډYuEe*u֞e]٘uڠYL$ }ګݍèFmZ)m VE٠-[Z-WYMڶUۡE۴=ZFZUD[[۸%[UY[ܶu\ZDu\ƳEܿP܍\[ܚ ]ܽ=[͕XۿE]=]-=˕e}8ۮݭڡ[Eʽ]E}E ^sj ŪEUeu_^4_}Vfv` `D `.4``w&6F`?HCLyD~C>nPH6S6#F$a5Y-ml~H\CR5,b%./Έ_2b`6K*NC+H5b0^?D> LNbDFEShTc VvWFL>ѡdYL4(WEn ̼RccFfd$deBTd5b6^dX0_I;Npg<^f$lfY&Ze6tby^m~r}舮r>sVр\&v6@h9] HXzhfaLNggbL[5>v D^i&FFhCeAB~ai-Niub~ffpAjjex^iy&pgVkv:`i~j^WR^C^Vks5W{NĹvgTTd#Vl&ņ Sʶf(l6mmzfmJy]zmx폪m-m.& qV9nhi}BnqnĺnaM |Q%mYohho+ٓֈ(phoQ-oobp,B ?o  g=q&Q|pG&qq7`Gr orlip(r#7'/ % 1p.W3 b~7o7ros GrQD?qW[sPaABߓO Ȁ9wI*t sszj f:=ꗕ-Rori!qu(O98csQqAuJGt;tvJ:MO!tʒ7 AvlvmoD;BE's\r1qsgG9Z_dseNf߷;W5_Ii/kmvE?g^S?sCqivuAqv^_WpSOKo+l,#WyLk'xkmWSwy]/y_GX'O'czxpj7dS}K)QgyAIOxbWO^[Y'so|GM}$\4ywYGxgxǏorIw'zywX?ů zſ{)*/+W7{{yJ|{7xD|'sŗϿ'}r7}y4*~̷}vnolo@~WgrW~|`a|Wd $H` „ 2l!Ĉ'Rh"D!V@pȐ", 䁐(O@rdʗ.ci&N2.n89z@9t͸SN}zYu^vc*hRoyxOdW/?՝MF!xۂ5y|Yx!P~z(݃_y7'V^M\8q܈9d=h%X)bբh/#M: u裏y&EДXإqwVy'yez' gёـi*hDk.Ԧ砕Zz)j:萎UiVu(&(fBF :+6+O+ ٭+:,:;m}f,j-IK-Ym{.߆c.;ګͻ/XW~|0 0&<10 \1{q! {|2܂,2G21<35|393=3A =4E},72M;4QK=5U[}5Yk5]{5a=6S7i7Ĵmr%vl}7Tyk߁ (r/;v{%ƸO;ͫz! ϼN?XSGF\>2g4^=Xo4;>ŕ&׿E~jQg?я| AL4/|頵*(Bnx#Qc:p(`4C6|H wC\~ x p#̡3C1 @E1VDXtL(Fd%r9 0Z<@ BA7"v#=~# )A<$"E1 ; ki$7p56$./usr/IBMVJava/html/enterp/en_US/gsolent/images/tevtocd2.gifrc$$GIF87a2```@ ` @ @@@`@@@@@` `@``````` @` @` @` @`@ @@@`@@@@@ @ @@ @` @ @ @ @ @@@ @@@@@`@@@@@@@@@@`@ `@@`@``@`@`@`@`@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@ @` @ ` @ @@@`@@@@@` `@``````` @` @`ࠀ @` @` @` @ ` @ @@@`@@@@@` `@``````` @` @` @`𠠤,2H*\ȰÇ#JHŋ3jܨǏ CIɓ(S\ɲ˗0cʜI͛#ɳϟ@ JT΢H*]ʴSGJJի?bʵׯKKٳ"Ţ]˶[jʝKʸv/߿W{È+NxƐKLyʘ/kyΠ?MzҨOFIװc˞M۸sͻ N `УKN븗t\Iӫ_ϾKrO7>x_|$'&`yF(am df!}߆ (bxt(p0(m%t8(b91W@)b(HcZ>PHGFFi-ҋXvwSPdY qilm)lh~x ۛ~hj@z&z]iܠ iZJtim~:(8\jlJ:*ҥ뮗Z몴*쳄F[ib {k:J>[lv-~;Ζ{n6 u2춵.pmދilz*o os;0J *koƊ22n#0r4貓5: ,<maE/{@5ME\gu`W5Ha-f}uh-ol{4ō]߀wM 8ކ/^G.Wngwyt褗nS1e ԫnб.υSŻsgZ~IT|{n/Ta5RqqU>S־wln?J;_GAm? 0}de3ԯL5p)M3A\p~'ti@~t^ sA7T ?⽰;^S 6l g0AYlx1Ģؽ? ^1G!tH''TM,0FxC<):P x "(Aq6$NIH!ыd6Nz2sdM%HmGSvJq%JɟٙBds^KRG-m @ܤd:s /0snY)C ]SIf7'=r)'ĉNJlgx %v?R<ٝ|>ɞ?πRgĤA饂.:M6qP6t#SEQ֒cOG͉Q TdI3R+eOKéИg$(7LRXuQ=MR*TPgEMC &Kd ԚEH*BF0=`eYڦ"L`[׷մz^mSX-骯B+ZW}U/%&Hdu,5mzՀ*\w,$&l"jعZ(#-X:vX J&WvNimd;[M,SpWenu[ZI֡]hHewfB MK^ښw8 zW_ /R_5n+_+X8 ols`oXG5q8G!I< f2ðIrgT*b 2,"FN2&3NIȡLeMp7cN `~&tz,BXi&M I.M><3sX9?t`f9$t^k`hERw*zhz{tJV&wQ'E+hLQmP{7dd ݠԴ.5\W\$"lr؁M%E[&eH<6itvujىmpgL$X4FҶgܐՊ$Hz;&Ho4)b8xv}]O7%ppmOp!#n6bq;q8LBNr;O:'Gh_g~Y^wNPsk }%DMXK__ՏcΒxMevH}] fcu%v7NjIO)y/; vȫ(ask=ۡrяoԟDb?ڹwuK~JkK˾Աo?Ż0I{/m~ѧ~" |QJwyb$G~vݚԮ~^gy^"Q~uT}S}~v5W'rWgG%||8J}vǀv5~"ȁuz%`GH,؂kw&8s3X~s!H7];{aC7GEhQǃq&ex(~fCrփg6N|RQaVjGQRhvTvbXidxxs+7:XJ؀os7Bz|(8(Hq&!45IXHhwA8.x\0hԊ98hxY Ջ@>Bht&hd3iw?ʸ5>7yS؉X]X5uÆԇփ8̘h\hv8膍oӍG>hz$(b4xP6RVy9ܣ ) Gy$Y3DIzq(`bK4)ys*q{G8AyM) tٙ4NQɟɝԠ*$ )z  ":$Z&z( *ڢ.%*P6z8:<ڣ>@B:Dʣy35ZLڤNP7z[RZ\ TzxVXڥdZfڤ_JwazX 6jgA*sZq7*9iV1otr:su:*:2o`zjuʩ]ꩅ|u~Zm : nzy *oZ J*tJ1:Ъ;J֊Z:*Sʪ:ʣJZJZjpRzꪋʯjʫ 'OA:{۰ گZ KΊN,++k !K:˭+>ګJ{zڬAۭ)˪.n0ˊ`Y[{m]_+j۶+[vKv{D:~: &J{#BA+;Y띘ֹ뜞븥{-ۺ;;@``` kֆi$Y 7p56$ Y ./usr/IBMVJava/html/enterp/en_US/gsolent/images/tevtocde.gifrc$$GIF87azx @@@`@@@@@` `@``````` @` @` @` @`@ @@@`@@@@@ @ @@ @` @ @ @ @ @@@ @@@@@`@@@@@@@@@@`@ `@@`@``@`@`@`@`@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@ @` @ ` @ @@@`@@@@@` `@``````` @` @`ࠀ @` @` @` @ ` @ @@@`@@@@@` `@``````` @` @` @`𠠤,zH*\ȰÇ#JHŋ3jȱǏ CI2"R\ɲ˗0cʜI͛8sɳϟ@ JѣH*]jI JJիXjʵׯ`ÊKٳhӪ]˶۷pʝ)J˷߿ LÈ+^̸ǐ#KL˘3k3o]6Inf.lͫ^z>\ ,*S+bXO*O +Zf7. hGKҚMjW@%lgKk) nv:~yMr:ЍtK]╁ͮvzuMqAX\ CͯM;~/[@30', S07sΰyh(NPP2X01NX,*^T&,/&ldj"yX2~@ 'Y`0e(>1׿L:˗JDtlc<[9PzQsGeC;Y}q,JW^ɤglӖ29Kvp>2"it,Ըk'Ϛse̎FvVwRξӴ@h sk4G_s:;{ru,>}ntĎuC[.wk}|;b-3HB a% WnVwUݞi~MY\3qtuO[^pW[z/Svڮ!$'9guN/y?`]o]]?2I1/|Y z܇.q`;.r棎uMw/Oqufw|~kK:mO]0Nx~G^ɮ7Koz ^b}'_R璻{"fʁnNzo݌<٭QZ}cO{gwnI?_|5F;b߻4ޗhsfVgj{b 8Xx fi ց'{$xx5)؂B(:%q8:8>@уBXFx49{Ȉ8( h؊htx\W\YANjXS ˨ȌXd 8 ԋx5^!x\؈˘؍؎u]c7TW؏VHiXX뗎ɅfNfyX &ii`y,9&x-9Es2I:iXPѓy> %HEA Lye8UXAK?9I\>Wf@\^I` x Ɏ(Rqghٔ~)u(vUu먘ٌx|9}@ؖ[Xy٘؎ȘIi@yd9ٙ u)@yIT Ʃ>ٚYj9ɐrTY9#yCh乞Sd N9LyIiD*D_Cԟ*⩠@ ɝ9JA jlnZT7yQY&~٠0)=IjͩDJ@jEɣ@ʤR@G!S= )ZTʥ]饮bGjIp?Uڦ)bՃQ>zZ}H"WcKIR >gæO)`J*?JIHzJIwttLm1I>IJW-UʨmZdX*|̪zaRXzӺyVO\mLD 5p RH9LԮĮ$*fZÉS}:[{:Z + ˰4G1R!VS)թO:P{k>zg* 0- 1zS@SZV>HeuPƳTDKzh*믓z[8 jV`;J=`EKˮM @F]%h[P{>)a6۷ X+Zd[UuT?{SJHBkSUq{&{#zv*ҚJ:۹MpsNr$zqsNtl:;˶9jTxJ%Ի\.4N擷݋ߋ*hKT˷J;۾C̡܋\na+=x*ںͻIY l -# akK*o ;3 7̛,; =<6\{%<|*9f1&,jPE<<^~ꪞꬾ>^븞>$F&>^~ƞȾBN]Yiܾ>^ĎinnH~>^~ˮ^َgX_?_ ]Xd@\ l~dU,.02N8\VF3>@?B6ϊnJ6oVDP?R_TMO8([NV`?b_Wu[Vqc*?{df?r_tXQ^\]=v?__d\5_/??^Zo{Iϵ]`H?_ȟʿ=o0O؟|Ys?_识K_?_zܿ4ߒ " B>QD-^ĘQF=~RH%MDRJ FDÇlFR'Ü;C$ ЌD}ETRMf0@FzbV\%H$x6GbݾWۨ Jڶ&,;߉j4\`ƍ?»Uj`,˹ 赥Ik,9]cUi9Zmոy^-oޭau ө;]tp'LHufVXQ}0sཟSPk?y?~zړh/dAAʶS^#3.8@3<+@A4>-0 C<ϼKq?}C|0H!$ PV PC ?'K1EԯF)QO*C'F2,M7dȆ˪jD1sO5\<]S8?sO2/dEuNK/T)9u .-?=36Ws [D׻j}n;cc̴XcP;%7% YglYiEYfA[gUSo%\s= :e]w߅ץp)Ӳx7_}1U8`&`F8afa8b'b/8c7c?9yOF9eWfe_9fgfo9gwg:h&hN9eiSjj뒲:l&[zF;m{m߆ܶ㦻n1n滺>[AO9yy? 8Lv`Y=y͎2A(@v W;9[e8O\Ӈ> ۗ>eYЈ /HC&61#4BAu/xEbG>P&bgA'ьbA32yO;[ ,9vπv,HQgd F; lQK 9 f!9卒$,INvMd(E PҔtL)QJVEe,}JYҖ&-uِ&HrLb4f29Le6tf4Y MiVsԴf69Mmvsf8 NqӉ4g:eNuStgO}r iQ:P }WOlA d}X^Q.LhFvQz-r&Ƒ(ɐx#-Ojͣ,ŗKi ӗ4۹)N[:b]TEN)Tu%"JJTlk1$TG"ɗL)USb*ЧAyG.I鄩Я5_N+ڑ${P[uxDs]]W<+YjXJAbmQZB1X6VPEcR7n~nl_˾q+څS= Yod@ғX2䷃s (AQЄ xC<+u.BM$Il;=ThDea΋Aok~5%QCB+%BhBRup&UɮK^խXZѼ]=.~˻{c|ZVƱ q̣w:ڱo\O[3N] d—)/n"]N~ΈgAYZ|檜7BIFS:qMgU:Η488RԧFuUS կuejWַuAjs1׿v=lb۪5vlfφvk^Wk͵vmmwr0vmqR6wguwI nyכZKwo}{.w\Gxp7x%>qWo5qwyE>r'GyUr; ;-Uʨ k갃i$ 7p56$ ./usr/IBMVJava/html/enterp/en_US/gsolent/images/tinccon.gifrc$$GIF89a6𠠤,6I8ͻ`(dihlp,tmx|pH,Ȥrl:ШtJZPA!r0x,.4zn8|.<~~`[·֜ 8 _}*\ Ç#62Hċ:ȱ#?,zIƒ(Sv)Aʗ0eIf3\ɓɞ@©Sѣ~"]ʔѦPVRJիZ5`=5Wgm--0jUT\DZbE+[CU|ZkqKN:Sbŋ2Όׯcz9Oiˇ5{YИI˞Z֛qȳ;2m uZѿ\Hp*ۙz]"c.|@'$=Bd:GR@OF RVIVfZv^I8 ihliB$' `i'0Ԥ`{P'8SF4Ңg4@IhBП v)94&^yJZNQj5z?jj.*0""l(~-ZB0{ ˫r匳:Ӓ[ I܊2JbnF[Tk&۶몷ɼ\-(n'A@PL&eJ/ 03K -I,|c)b.;, /&ɸ\ ݏʥܲ,|I\w׺j 5T{ô&jn rMv=K!5#x.wD~4^$`w.c8C@<9Ɡl쳽n&VO2s'o!#;I}|oR=󓇟݁>֗o^wG+y"g1pdIpWI:4NjPX $mbn9 <,HnP79\RH}0ocB6wXC8+% qڰ }%*^1ЈyGy쯌3!"718rc[GGt@:2dI!L#$)R<%;nR!d*)JdR!>IFQe`P@MNK2C,/[LBŬe/7f:\+.%YSoؼ6kb{4DϜ!:\E5I'IS+N||fY{by @άL8`N!p'"yb@BQVtTͨ$j}D rb|.U;RnԀLSYT6@Lq C FMz"^D#S}QP2utiTkV2Lf4xSw,$j^#ZW-\T+$تUs}WZ x aѿa-`%;3ҵkb1_Yh;/~a6cj:7"j`V2ɆMO9Zvp-Fk۱ͭCy}B˰agAV tuUs dѻdM2U[ 7U.R[նd Ͷw}D)1`U v , 躦ȮM ¢7R:p!a:8Eƫy'6QѺb\@.^ort-x\7%1S|N#"RrP "'ɬŪ{L_ETfŖq a|XPm[byiΧevcrvfky>ޜ#\gr&J7g?8>WvhQ9qКYZO$ZAI?-.kk>t'HE"ʹ6-RU72huhQ[gՠ޳P`2C5|V! =[Mc; 6-rksea [v"ݠ6zv1]{' -l \ݦ '爿#3ex`0.!# _/CD&GIɁr ,-؇PW }'yW}a؃~HB{x"~>؉X聶 ,xx&耛w3( |8W،`HXwҸa~ޘX9aT蘎Fh  Xx؏9Y82@GАYwY7|ɐR~ّ9())Ig)|`#y1* 7ْ?Y581){G:鑄4ؓ:ٓɑKPVɔGyF?|Y>yOY^<9dvǕhiR9py^ylٖYw bybY~{ wɐF9 vٕ@ypi_ْuٙQ; k&i$7p56$pU./usr/IBMVJava/html/enterp/en_US/gsolent/images/tjframic.gifrc$$GIF89a"&,"&(0I+ͻ`_irHlp l*`qC-ޖ 6^Dll:_QZ5:RhH y/>HRnIrU~|yvsol]7<6?Fļ ; k\i$7p56$s./usr/IBMVJava/html/enterp/en_US/gsolent/images/tjgscol2.gifrc$$GIF89a!,!PI8ͻ`(dih#p,tmx|pH,dmШtJZzx:zn|N~ifMhr=gL 2x0ƛȄͺuĹ\ Y'vkB{#Jm>~bBPWLB)…PaCiI[i2ʖ %ě8s1 0SS@&!s9( 6d<)UʪQgʷo/k)ոiZHn5*>Ɗ[3`q$ `\3wae͸sGS¾fgzu…IWrmsi:V?a/?3zy^-l4 '?y}k{zt{w}Z&ȟP܁SZ(ᄹ1 fxdt (h("%0(zh8E:@~cDi$CLdPF)eONiXPe\veY})PnIhhfj&8)T wZ pg yQ' ꃠ-JgO~ Xo}^!)VpQ-*Ŧv§>:eP*jbڙO*VOrzb6豫5F *f˙Z`mjkmɂ,n.[-:. }Lٖk{˨V滯 z"gO.bK̼ɳ)p gʲ&s43\M:;uе('=uX\wG?*u*0x6x^m Édt喛)Ê:醛받z;`.o<DTԤ`hVZU^լVM+ZVnU]Od0W*zVD캚v5-^9X*4v BdW&6+QUbJ.ﳡj5+Κvzmje C-fEٺe+]V5*Wx,k5[f]@rn vWޥ@y*]EAm\wT8oz^~*@.~]׫3{B7 EKaGU2p~%7Wq0X@%;a7O eغxsVKc)w&F6qz  52E&r -We>*{MO>hNA$SXzU8OWuS׃('W0fhulH,htxhqOJ]pv~{rhHf6&Vg%UVSňj刏(mTgr d$`8XVxXceHeowO>(Yu苗&`≟x،؋(xhpXw!-FW_EZHٸr۸vݘ@Xe]E#('%ghl>VQՕYs(85Z6S@K(ՅM_h9i]y(ב;,V[%Xw\ &gseiv^nfh\0ti(EdE6cSfgc)v&`]kv?[EeMfdvJ6P'Д7&=Y5(e_^9dce:9<붖 ٖ\ bNc$&gY(a zk|8yIH&aojAט{I@inyeSd9edJ$2ZWHٚ,`el'Vٕa\#&ɛ%gifY')uigyJW:%ɝCWmYYyB{I)';79)9iY9y ʠPW J(ʡf3w qZYN(+G* /Z*3j'j)z#q@3WF HpJԤPuxX6Z!^\ [Fx?g7hO8=A9YMyt1oAWvzCxx0~ۧ"wJBIrz#4z'Kw| lEGGyƨI'*EWi@'Aq*2cBקبW8ګgCTp~ԫȺJpF@̈́j_8#Xz XՊ(z4*_;`j>@8jg=Hl@Qj=shPs%XPYZ[ ;Ɩƌ؋HVH>c#Vb${ȱ${%3;'^}9)>˳^BY8aдbڗUHhX+P+= 9GK[$]{Ciak$E銰gr,"yXfA[BI-Y ˩~F\9I;QK]Zɶ6¹f ^fuyD{"k˙tY-{dckv{=bY˻ɉck>a9HIc;=Nj`{CFd KS_ ‹Eֽ}+c\PFfKI9'vK$zF :S,&h L=g $\>r6 $/&̡**+n/0ć$LÇ8&2u8H:![`!ôXF,DI\A\m<mCFġzRÇmh(Jt**C'|gV̪Gg+{D4bi܉7?Jd[:K9ymzMeƛZx\zzvLb| մĆLɈb<Lȝfġ#Ƭ|Lȍʠ<ɰuDX3rżM|#ls.;\ˏѼʜͧɌ, ̇ "fΝ| [π7 E':=0"=*RM?Rj >.=]} "=$]&}( ; knj$,7r56$p?X,./usr/IBMVJava/html/enterp/en_US/gsolent/images/tscrolpn.gifrc$$GIF89a"#𠠤,"#(0Ɋ8mW!C(dÍ @IE |߁aP[r ,o.rOV EczشTqmciRA X^vz[|3txq^~wFwytpR~hnm|@Ir_!a12M*,AC/+7z'fFxЈΠzJysyA5B8ؔmۚBW~χDCv(D/3FL)\Ȱb"Jb;Zx\ k$)j$'7r56$'./usr/IBMVJava/html/enterp/en_US/gsolent/images/tvcedegb.gifrc$$GIF89a,0I8ͻ`(dihlRMtmx|pH,Ȥrl:A Zجvz,,(zn|N~bTe wSd o@  ¬TR 6q3۔Ǜʷ λejh޺01c YuОÇ# _}%ۄB †ԦYcW]K %ʜIS&ŋ%LŠ4.\eBMƬIa7/V)n uD)Sg&E۷pO1#B*@(lWTUi۸+CbN)H@ (素ъ&nյ'4LJP߾^hff :% ZCν;Qٻ_B+Mƀh& ,F(`fvx…($X &,.(4Fc8.@)$>iHXdL6$K>)T~eXfe K`)di晞Rv ߛp)tixfT ş*1:g& Ġ裐F*餔Vj饘f馜v駠*ꨤr JP꫰*무j뭡'R@8D6j&6쳔zV p7T˙ıІ+ jT`,rvk櫯fXB~UQG  G.N[up0 7<C1 |:5?zs#e5LsV2֫X](O"֜,>5XsũY˪v"rBYW ,FؕS\jоb[^֪ݭB'{墓U.Ȝɦ%T0Y+*"GZң6unB{~֦ŮA9K]ƮouaJ_~"=+cʺ:*L[ Ee;{a WV6^O%ޯ7Q ew[H\RUj_)\~8u+qqz4VB&v1"u -Z eXイR*g2ٛ:&/}zI{V๡8eliEn=hz {J蟉BtlN{ӰG PZ&`S'ҫ Z@Zָ6*ֺεCg>u =f[3['S3֚"Ʈu,ipl[]؁-I86x> m[,])}y[:󽧝Ivxl?̿RJrtnijũ荩X{ ztbsiL~989r=^ wԦ49Tnid?v!7hsJ3_~jb dKaXj=l[v{PwlwYZÕnܻ׷'\+-x'ժ{9-EkY'/k77[Ku5W?c>71ӻ Oa#~͟}i6_txX^Ƨpסg޸%y魌.}Lv]>*SM'oWcnmKZ:g0$GxnHJaJgM7h'lh4Ff8L!>ׁc27gW2n7i=#8Tg;='8S 8un^=?x'KȄ=OQ(UWۄz[:煪adofx:ЅiLXK`CZ"4orTh_B/IA}yx5q8H}?jg;\XXr8D臦SpXhlElJ􈦧t:g<}t-pHg`Y 6אɘvmJYY I99/nؚdsi'a(Oq PP)9 #O)P9i 9 ٜ_9Yiyٞ9C&ٟbٞ٠Yg$XyRzڡh E 'ڠ)ݹI- !b @iz3RdZ*Hj JOX\ȤɣPXUj 4$p@Ӥ<ЗprtneJ W#֥jYGy%RƥQ4rG:zOXYm*J/d:Jh b~Rnک#{j6*p2ʩJԪ^^Lz*<Jsz\tJ*ŪS Ūz QzϊbZ:M:z.69ڮJ$ !Jj;"!J9;& J ;| [ wr>Ji B:$kF (&$\&|*M*&PRI#,,[;/` K'@W0LMF ̕HVPW[x˸YAvuUknsR̮TTʻh kИ8iXwGěm[1<l[keǪ˔{idۻlU t e sBiV o";ȟ D)uz\_bKbĜū<Қc]Wgyܕ~}~ͬcP -یܭ:nӡ-!;Ϧ "<\]HK>2O~F 8AUm`l8^=OlvteUeZohp^-ɪ~i>|ΊN$ͪP ]k3^ȼ ֜lWgn꠭w|ue^|m 4PN"i>^d!N!sӎ>!c !f`Nί N^xzVQJ^T~?_9^.fN,o?_/ŭP$%&(>*_,68K | ~:<:HJ:m M,LXZranAO>ib\]l1@/,Kpo1z{|_? ڞcCCo@~IP6x3 ?O'k_p±a_N#ʯ.0şԿ>S25?Џ'opE+/E  LZYoCq$KDS@Z`ks}{J`+bxD&KfȂSjzA[n?!FEjsr CLlt|*8S b4;$-LU] e55Eer 6ѭM&nv~>v){Ucֶ5@&/_7CPgqh#?P>/afJ.HT I(:a{6 b>BDa6>-odt i: P12R(+XqF7."hZG(F8G }){#H}9R $Gv!p<4Z$L,TrKlU+])%X:jYe.uK^җ&/f?$tDf2Lf6әBNCXjZ4>@4+MoO6g@rdM*f:N{6~b˧ 9NWb))2֔nyRQŴT8wh+tG%i}nih'W]jWf0zϫqYDO E5_);kJL_/uO_+w{l^N+ J[Fv[݊f#6t ׵@ Ԗ5nnp;y󉢘t6}Tm.Y|X⩮I ʨ-3q?z7<|X}vE2r*8=q ΍-ɖkÎOx Y$6߸7AʋT.0;ZM.2d޽j%)(d":Gwyp?U#\B3U{֭ ɲ+x.p-^zk<HƻNA=#{4>G߷}r) |;so'F}àM-j,;Zj|#Rӿ%cknǑN 3d?-끙+#:[n@0;1@˭1$ 6w27*Ԣ7ںk?[~i=ڳ+8@˳1?ԁ)1k2s8m7 2;˹ B=:(<<#9 KB*A:A!ġ/7*Õ #z= :C@!A5#ü+9KD;d'@:۶۬2# FlC7T;;;::kZ&.E˘DKM,3lKc냾L;ɋD3<7<37$:#G#6s=;$?FK=4LL;5FLihf<k?B>XtE>O[CDDŽ~|Fȋ(VGHGa{Ȏ܇]YQ@黃sɗI>glj@ip+ʙ{ȜKHʧ ʨ> DI44{IJ$J|JHJrJʶ$ ʏwLj' KԂ28ԙ̩˾tL>$Kp5 ITBE=Z#hUkV`k@V@ZbC9.,1_5lOaSIb^݊s`a\63W0X+W%֬ZG BzU*oMxXOT(QٍώY)d=Xk5qYtHquTw5Uڗ-OU&4UyZINYهut~ ZɜܥR۱ ]'oJer=OӸE)ۺۻۼ۽[=[USM4%\emNȕ\\5\ͭ\6%]-5ӅU]#eׅUڵ]%݋ߍίޣ %E^RKhuEB^ݵ^^]%eE%uߝuSw]iи_݂ZMZ0࢝ڥu&=X਀[v 6 &Z n` MmGű >>z`fIt!`WUYsaq+aa.Y>3\0XM^ ֮!Ƃ"a&&'`?>D,act".֪SAW]X.$H`:fU<at8v,(޲# ?TB+^`cHnFHPdLΊIMNde.dNR^ۏtYeV.%yyePeZH[ee`Yb^^%UcUIf^ffijqlnmf?opgd\FtVufvvgR xyz{g`;fl k|n1j$+7r56$+./usr/IBMVJava/html/enterp/en_US/gsolent/images/twbscrt.gifrc$$GIF89aX𠠤,X dihlp,tmx|pH,Ȥrl:ШtJجvzxL.zn8b ~/}*wrh( X&^\Ч%  ۡ/,"  hkHcK[y 퀃*@Iɓ A8˗l8 "z ~thH#\ʴ+`XsJ~Zƃ&N(ࢶpVz$9[Zoʝ] TUV]![@ۇvZ$qxQǖ%cKsvw , ˛wp{ cǒsݝcޔRmș2tiziDl },%L •Nξ\g}tUqfo(oߡ n 8\y{ 6XCE_|EtU7u4 < 4 nf`zv,4UTFGa}=ja`qXh@e*fQVVXfi =T.Mg&l|[RCpJG&Mv|z~ Jg޹Zgɟg j馜#J`r/p]*yuݪ*jnɭ뮼'u*k!zʱ6YVk6l$f;ӴpRWe8`[_9 NWKaԛF북t룽f/ckHX/+ pK {< C&\qLg|t2%a2@|9%oKF /~IH?3Mt72}Em̅м^rG;jgn+tokEC#]tnjn7،ʭKn߀tN+qsߘ=ީo=z3y@+W7s~ͱln;Ȏl'O9иCZOk>vzwހSx.}Լ{+^bחˀ;^I}ji6qj _"WifBZf`bN69b%6@nz wӡH ,#R!L)QX̢.z` H2hL *H:x̣帤=# IBL"Fqy\R\ GZ򏂼$3Nz (:JR  yHV%)uG[2,d)K\e.YL`\&2oLf&Әd4imfsÜ)ȱ7X#+ysx2t: H}“9HƑtg=GU>ٙGBT8UIbNB @zϐ%GQǓ1\KRbT6m)NSxT7iO6")3ȌtNej7Zȧ&ҪKNG֒ F5J ˳#>Y`T=AV<5|c_ҿq#b*X>&6-,)ZIstSQo%HMXW-mA׵~-i[[⑷m;׎FnVQ!82#nDvnQKryiɫXQt[W7~*}h_924co׽~ u 6\s31s!LTZ٘mw4ƅd;2"֚8(wzgǗX2RTB2S,N Mad>:HlGj#s"ge)Ms+Lf.Xcgc#G3GBY[Ĥ%=&lz$!voV;`SXGg`q\@ZWIUO5K]SVu}m-׾n_G<6[dµ&;*tUS(BŇ1m8Y صU6ذ3ooxg} kYX75G5_3@ }Sq\D35smm!er\k=y \G: pc;# ^P%Ou΀\aq?t؟lcsT8[W8-rk2{+`07wu' A :k&-g k>Q?֔$zݧ辑L)gUU¯}5z\ݸk#uMz^m f _-/ soIe˵~[hzV~uWphuxuG"}pfw|}z|`cvOQtll_Gx~&r&+f3肈{NFW7|Yi5jg~j0w{g;wZwY%@[JVT({n} P{G{c}J؁KȆWqWqYҗvxXl!wleh^prHgmׇ[yLj\i@7t'B h攁' 0j$tyG#eW" kVj8oX{('ho$FWKoȈv7v(4tw,(:rƶ2wH8X'h]ASZȉB(.1NnzV"M#pHcNelQ T^q,V 9Neog8dЇ9P݅ngWqpXW/9wȐ5 r"wH)x⇃tL&N0G<uh(Q]Y׈rfXM( 琤^G_ g{Hi\_\lɀslևey،J9#f|)w#x6l٘iHQS9=uh1d8PxD"هGJy隖FrS `@dǧ~vVWi+HǜHY5'/Ǘ3ǜNy3TYwtn3u;2ՖnNgmUM`AFgȉ)秝S 妠1g|ɅPH艟/HH):(jH+H1 .H3ڢpIH7j5sW8Y3'Y9J~>*CJZत>Z$wN*\XڣKVJYZ\cz)X?G*a>:"\ 5jt*ar=8qzqsʧ`6MVvVƨr{JYhPڅ'Hũ~ \Sک@ԪJ$xj ~$ xdSzmAos 04zJ.$WJHN zT $Jd욭zjoJ:J~۰;Jys U۱{H9 kT&{(*,۲.{E:6*4[6{8:<۳>@B;D"DnP/z IC(ʮ#ŨQ|͈1Kɖ0?],|ɹˑI5~aH{ 75N?΂#S\eg.4A$y<Ō,V3T_Ϩ,la|'>߳6|>N* I⼎&=l @9]8,% >>k)Hп<>,K,,Ѻ3>^>Mї("dMg͟`LHFxr:|#94B ɩ¿Ԥ ԝ\ɹW#>S׬s<,-!ESM"z(hYt\x.:Z3|ЈL=U I|8r*uCfp K$ič5fزܡ] -e &nkY+o0͐4 |W%a--5 "ߧ,J^,,-޻~(>,-þ.`3.~p8{,-޾.^~VkH\nq?_ JB4E?ƂLE+ z{(*BV"2~J 00?:eP$/h/B? ?AOJ?֑-o&TD n']R`CqY'G\qLr $O_ҡl=>P1݁:{,ǪS7м_XPVyYx :\lj<ڇ\@X/#o m_ x]mͯ?I& }C(<^0(@& /!oݍ1'-dp±<ӵ} !ѰL+s(%uF-1l>5@2z*+g< ̱}E*.26:>BFJ>,inj<"M$6qxbB |~2KOSW[Fd6ss>\et}k/۴d< ||Jp!ÆB(q"Ŋ/b̨q#ǎ3Xpd }%Lr%˖._Œ)s&͚6o̩s'Ϟ>gGrO-"Mۈ4yLbͪUNكN)14@{u+۶Zv*T,AfU~ƃEH)ЀACB x2ek~jXb| $L^T%(LJDo,h:c~X@#-': m/Yd7wrMk .ﱗ/ X YB@O.|:3pf1\2+)^T^% QX^`|Z6 pEc@/bx#sMt(tjtAZl?$|dWwS1)EF}as&f"YJAeS*Q%8nY5.'fcidgI䚋qRʅn>ɥwgpWf>x!!Hnxd}jJɜM͵i-5$\Z !6\Wp(dfY.J`Xi  Z~[Ako۲mz 狽{MVKS» bUpEAIQZ"j1DZ1鈜'{q,1ﶌ ;Fh!K[ яXi[Ks!GmPp-e{j[Fkrw^srXaqf}J^[c}{,t:".'=x7e퇂I#I7tŐ-To49뀃Kʄ"ˡ~D@H:.g? R0 !U@u<\Ж6)diNL6=o2>?*PUe:tc)TQR1{Fa R<TWIm5kZ?@! )H ueCEB<5M1j6kd%NV$|͖FZ!=pO2ֱMc^]T!FUYUC`)yR2|Lk 7t;m9`ӝk'YEloC^Ґ}CDlb-/D]Y 1[/V&k㘽0nDۉ8PlW 52ITd#_7l(OҰdEUu;{̕뚝p@NbY+qy )wS-O>9ΞKJ9|z" hW(zo7'Z&6m4+Bݻ?SZd KsQ4h-K DF6h]͘kkZ[viе#v'lVٝJkT7˔7mz7~f&CGۮ 7C8h2<;^{< KCBKIr29IhM9c\<@g ~ Mt=E:էnu|?s7)_tMbb:nں~gJeNHݦM;n>4od;;?<'o?Ӈߥ xh=1s"s2>Eǿ >|+㺷]|cvGDy;&>ouGۿ$͜?oMrF` `ND) $-A`Zb`j z^A`M v`f$D : nK "j @ Nn  aMH  !WeTx6!a-N-E.rb/} 0/B0*1#Q83`11REPHz7c88jcD::c;;c!\== O>A B&,5d0"*b6N E0d٤teY,c٣H>$j%`OP%wYaVI<YU:=謤$FOPO%[fZ\U^%cedPpR. XcIO"ZZX~fir]FbdJfkjԤW$X`eh&nfbeI5$ld` tY=te}-c%*x"Sx۱ZJXgvgNS+ؤ*-g }mEg:g%G>$4gXPuEAJ@@80e:_PW=熞TV艦h8m5̧傚(Q^S'Fzg+Ĥبn(hF:(LI0 (ViҔ)ڦDaQuQ^]"+v"Bx䲤ˀFr6i)j(R%jzi)io&eo&iv[|"pFf ʨbNjaVb"Sީ\Trv~hZ_4*i*aRhZjv"j&ι&lz[-FfjB2Xn&iJoqϲz+(vV?)u^t$e^j.2 4[eU$'V$fN.e& 2l2d–@bzǚR$ǺdlÄlʎlDz ͺ, ~Şj&-@5jl"-*m2uj l.mfVlV>AϊϺ6m"̮~-Z܊W-`fU(sRg@R^j6S-VV$R_~j NN-,vŦAZmۮn-.mNk>.lN#u l"/.H.վ$N$/*(o8BRrAN/Rzlβ-n./ίVnn/BRnɵi0.&p.lmp/ ۢ p ' G C .p 0G³Юu+à!\[_ť.xxe1LyFߊ>^(X` #1# !$]"S!C_$H](r%%#];B2I+'r3i!K,r,oץh'.ow^/+/ 0-C1'23/s6`|G--'c8k͡2`,9s9Kgr4sm;3<7 3*ج?sA3n=m1IDSt˨~9jFstG{tJ3D7tKmB*4Cٮt2~LtMM/Ĵ2Àk#S CKQn(:-bBԐ.EOH?(ȑ~Q7y79盁yF-Hw7rd0^w%Uą)xZ/J9X-tCiJrUnE$V&UU%)c"#(ڃQ>)Cm` U zi ffaX¶m晙)[ gc{B㘀n60hVs `V':eբ3&ꨘ*=z!'"I%ݨ?HA~bjܣ.#@Sވk2kF8Ny,.JIV"1-z8FƸsQ~`fPnK,4kL/:^ң"^B[kXn]ܢJ؁ޘh2?LצLEɺ')C;Br@ҳB6'Эm@*olqS,0Mַ&hGhM`]vl5^CU`]s=t7wp/3OS-/` 䴺Jo|~4~;4z[fqeR8⡟{{0Y~rWr o{{NadMݙ"?'8~.CK>z{UnvO_9Q$mjֻu !zJR ʬEL˓uA8Uiv'8^V5=prf;W:=u 0MoP|a'6f5p S34w:#j8sF3b?BU3:i4"kHG;oci' Y`:q3`D !)M\#Ě8sM(@|KHS)EY*`tH_aO7.}Ko27 0Y+Zfhi4A3W45F@*rAW&Ѷ@kzɦnO ':ǶoV/״:YI4->K ͨF7юz EUBJҒ(ME%Kfm0@ҘT3NBϝKPӡA]ң:5u=h*h(󕏞*)t2"z(Zcҩ'vq =&k-\X#L*S^@7tڊVڵrc'KZͬf7z hGKҚMjWLlgKͭnwKU6LIG_gxO,lE"L5>~r>'sy^W^ v9Dv@ҵ!(\VW`Dwu/*\C~%!BA,\;$0 vojo$+KuT%KjRNT&K7&^(9H<Ϝ1ȁ+o&;PQ @ idgX>h ?4QXg% \41a&L=_:jƲ _X jLi]ze'8Oߚw[%eLH-:hM}򥗽fu$E})#&膴^ӹ8K9,Ýj%m o@z(x罥MR͛GOOF;_佋^LBKt{R @u3g{=.%uoiiÇWu ^(gwS4N}ىh(pFwkhy}a#i#=W~G|$KQQh~zw{5pwFрSiH`0{pԓ~&C"k5"5qs[Ug UE` ' DYr/-§x (sX}A8jXaw%8J&0 %D=^EwG,^FIxcvcvK>GLhmGf'hkHi x~GN}wD{C9ZyuP~HL[~WwKP7M8Ɖ(<ŷ`僮4 {։B(؊28xHM׌8gyez{zz蘎긎؎&%ՅZX%Vt=STx^;YU'wCAk#r~wysӐ$&h# Ua.q>USx(=X;ECXfXeVa6 ;gtqU|}ȷ~@UygS7Ry< W9}| L/9\|uX-QAufs?^E bٖrZ1&,`x+r;HYg R$i15v7e.Wu6W%}iA'0v:rs+יN  ȅ1Raz3ih7=*ڗ],hBA+r12o3 }EJtGjmbjlmW*ƤrbU:Tm4zHi({^ZFI[mVJ(#NTȥеF SyE$ZEڨyz|fHxfF(9/EŒ):i:EpC9z\m}hy>B1㙞38CٓSŔY˕f9*ǟr*f(*z}䫒%pt|3oק~s]穫{ɸsi6 X (H: fAG1B顏"P'1=sbEV@RZA1*`.jJD2d%-[yByOqGah?HehTc wZO!?umJzJejt*J lKZXkc^Q $ &-Flmk¶fb`lS+OU&\;oIq cbr۵|z gˊeUHYc}mJ:aKm8c;TwH;iK ;bATг~y k\5x5M )VjCA9~*f:1#yʼi5t[foX\(koɾGy;I'[r"@а8sfs킠KRaw50B8&DRǂTXGMW`2 _"1l/3 X1 Ig솿èkÈӲpwBæQ0 $HСv6:,jwjTC $й]‹) 8жEuѼ9 Mg,-/ӛܾ!V[6ȏݚ?Ϧл*{PM]&Ԓ\E?,KTY5\v7ʫWWoMӲSpf6wmtM0 LhdFҘ}ԦH   ݺG;m(`›<'wW l0LԚm֊mk݂)11[*Zyͱ}ҬX)ڎVyX٠덛}v 6]܀.=]n YDdL@Ɔp+bW;v4'-aUXZKmn$mi&`%/e ٤`6bbN9Nf=>LkIY^D;ҙmMMFDFWK籄ѴF?@Jsn&._D(vkT 8YQm. 팏> ~o\:S؝3 ]ΣN|pޥmٲ1.0ϻ.K[ʾ^~.^Н}m~n.>^~ގ.~J.mn#kЎ^^P/!A~ on>)!+?7#_ώNFQ|Jϲ^k=ހ˞ &O \^L/Xē:ZN;Bq8 ͇SQx?4o[kh4a0sC`$fFSjzB]'L[/LϳFbb5Wk$,4 nƾK|&OW_go/t/7P@ DPB >QD-^ĘQF=~RH%MDRJ-]SL5męSN=}TPEETRM>UTU^ŚUV]~VXe͞EVZmݾW\uśW^}X`…_CXbƍ?Ydʕ-_ƜYfΝ=[6ѥ6ZjխñvlٵѶ[rVD) Wny?뜔H4ݘϝ"r- w>~v˯{5NJ< ڛ8 ;S/ź 8%@pk 3Ѿ.\*C ЦTdQ>{dqx<cXrCHw"˂Q=s2G7 LG$ >OpD*ꌇCKD"?SSP;Re4KEka5GI+4K3Jr ŏF{G}Go;.~_L 2@ꆁgL%8A VЂ`5T4M aUTP U,krRO*ꒀE9+L; Q(= j- QI9:”.$35LSD8}H/T`I{".,e`JSy: ŘdŔhʖf1uYSӪRE+ G^ @%;ՋkL|D•suHh4WYuWWE'f)d !'E~5`kS-DlʗJdK4lf`T W"Ntt-=i.eے0,IkVrUVqk1x8F[Q%xo"{bW\y'׷؁uc *{;0v>ԷJWONzc0N;Ax^;"QI0(xރZw |#Hް|ol13;KI'vC=iy<#SË; ЛX@r-L@ ,쓙 L+ e+AvBB$l= t* A?֛eI[KAʛA,4t>lC'?A̼݃- A@. D&C>ANyD1ÓBr tI̳'?DNŌ:dRT8OJFTE;ŭkϋEK0  A>dQZB?[C"F@(A"=aEDC TB3zF^ñoFǯ,=juFIs~Ffp$v$[|}4HB{[HfjH\|HIEܛHlBTŋ8 \9 +,I9 ?Jܠə!ɛĠE:$AܮHE>(\4HJd:Jd1J$E슩dJYɧj/9TJLJMZJLĮ"@ ˭Vk˸TsʻʭʼdO|˙ɳ,HZKˬD̝ȱ4Zr˺lEd\fe(ѴĴH#FJxY*^(rM"!{@'qzLR"NX'۬,b"b椥ZK|I4NJb`'$R'lL\nDI(OI"; (L -~7bMk#8)iKJLN?P-F9&IZl<τIN+񤶟ڼ'Nd-jР&'pROO M8p58Dz'%(e?#5QhTҋ[&MPWVO},e&9r P*5RxKj=%]`;F <a-~65f@GLVWnH.u-K@@~]XWjvQ&%]nTXHCmͭgYV͕֤kVvU_*db* `3!fV^O.^^1F63${\a__ cY~ _fP.f}ϙXf@~UAFfUot&gbgE[Oa] ^l[}g}cz~^g|g}DZ\`g ۄۅgvh0&hynhlg>hmgb]>Vihh~VFTPFi霾&i@jvfhi.jh^ijhz讦iikFjVOcꉮj訦o鸞iNi.kl6T.žƶjjkv춾k~g.gNkl>lNFNN~ˮF)m&l6nmmVmwȶk͆m6m:8klnޖێܞܦFfjf^nVfn^V>n>΍ CF '7G ppppoqnq q"7o,Kp&GV'Oq(?Jlp*r)Wo,J o.?L+wn0Jan2L1/#g6w78Es:/Vs Q=׏>sT@G;'tCA@Wt.%aF CKI?HEL49OPQ;@D kJp$S(7RI66$@S(./usr/IBMVJava/html/enterp/en_US/gsolent/team/atdevprj.htmfrc$$ Developing Your Project

    Developing Your Project

    "Can we start coding today?" Margaret asked at the To-Do List team's third meeting. "Yes!" Tasha said. "You all have access to the todoteam.dat repository and the project and package editions are open. This means we can start working together." Monica opened her briefcase and said, "And I have the two highest requirements for the new To-Do List. Margaret, I want you to change the text in the To-Do Item box to blue. Sam, I want you to change the text in the To-Do List box to green. I know this will challenge your Java technical skills, but think of it as a learning opportunity."

    In this section, you will learn how to:

    • Open your own edition of a class shared by a team of developers
    • Make changes to your own edition
    • Version your own edition to make it available to the other team members

    Developing Code from Day to Day

    Once the server has been set up and everyone has access to the repository, it's time to start developing. First project and package editions must be opened by their respective owners, as you will see in this section. Thereafter, day-to-day development is similar to working standalone. Developers open editions, make changes to the editions, and then version them. VisualAge for Java tracks who made the changes so that later, when the code is completed and ready for use, the class owner can merge all the changes into a final version of the class.

    In the To-Do List team, the coding is mainly done by Margaret and Sam, though Tasha, Luc, and Susan are occasionally involved. Daily development as a team is shown below.


    atdevdtd.gif (16516 bytes)

    To understand daily team development, you will connect as Margaret first and make the change that Monica asked her to do (change the item text to blue). Then you will connect as Sam and make the change that Monica asked him to do (change the list box text to green).

    A Developer Changes a Class Available to the Team

    Develop the To-Do List code as Margaret by following these steps:

    1. Connect as Margaret to the todoteam.dat repository. Previously, Margaret created her own version of the class, but we will return to the original 2.0 version for both Margaret and Sam. From the Workbench window, click the Managing tab. Select the IBM Java Examples project, the todolist package, and the ToDoList class. Select Types from the menu bar. Select Replace With. Click Another Edition...

      atdevmre.GIF (15139 bytes)

    2. A list of editions appears. Select 2.0. Click OK.
    3. Open the ToDoList class in the Visual Composition Editor. Select the ToDoList class. Select Types from the menu bar. Select Open To, then click Visual Composition.
    4. Change the text in the To-Do Item box to blue. Right-click the To-Do Item text field. Click Properties. Click foreground. In the right column beside the word foreground, click the More acrcicon.GIF (89 bytes) button. Select blue from the colors presented. Click OK. The foreground color changes to blue. Close the Properties window.
    5. Test the change. Click the run button. arunicon.gif (1041 bytes)
      A warning appears stating that the class must be an edition. It asks if it should create a new edition. Click Yes. The test proceeds. Test the applet by entering text in the To-Do Item text field. It appears in blue. Close the applet. Close the Visual Composition Editor.
    6. Version Margaret's open edition. Select ToDoList from the Types pane in the Workbench window. Select Types from the menu bar. Select Manage. Click Version....

      atstrmve.GIF (15000 bytes)
    7. You want to distinguish Margaret's version from any other. Therefore, give it a unique name. In the window that appears, select the One Name radio button. Enter Marg2.0 in the text field. Deselect Release selected items. Why? Only the class owner, Luc, can release this class. Click OK.

      atdevmv1.GIF (3903 bytes)

    8. A message warns you the version will not be released. Click OK.

      By versioning her edition of the class, Margaret has made it available to other members of the team. When they open the Repository Explorer window on their workstations, they will be able to browse version Marg2.0. And, if they select ToDoList from the Types pane of the Workbench window, and then select Replace With > Another Edition from its pop-up menu, they will be able to load version Marg2.0 into their workspaces.

    A Second Developer Changes the Same Class

    Develop the To-Do List code as Sam by following these steps:

    1. Change workspace owner to Sam. Imagine that Sam began his code changes at the same time as Margaret. Like her, he also began with the 2.0 version. From the Workbench window, click the Managing tab. Select the IBM Java Examples project, the todolist package, and the ToDoList class. Select Types from the menu bar. Select Replace With. Click Another Edition....
    2. A list of editions appears. Select the original version, 2.0. Click OK. Version 2.0 is loaded into the workspace.
    3. Open the ToDoList class in the Visual Composition Editor. Select the ToDoList class. Select Types from the menu bar. Select Open To, then click Visual Composition.
    4. Change the text in the To-Do List box to green. Right-click the To-Do List box. Click Properties. Click foreground. In the right column beside the word foreground, click the More acrcicon.GIF (89 bytes) button. Select green from the colors presented. Click OK.  The foreground color changes to green. Close the Properties window.
    5. Test the change. Click the run button. arunicon.gif (1041 bytes)
      A warning appears stating that the class must be an edition. You are asked to confirm that you want to create a new edition. Click Yes. The test proceeds.  Test the applet by entering text in the To-Do Item text field. Note that it appears in black; that is, you are not using Margaret's edition. Click the Add button. The item appears in green in the list below. Close the applet. Close the Visual Composition Editor.
    6. Version the edition. Select ToDoList from the Types pane in the Workbench window. Select Types from the menu bar. Select Manage.  Click Version....
    7. You want to distinguish Sam's version from any other. In the window that opens, select the One Name choice. Enter Sam2.0 in the text field. Deselect Release selected items. Click OK. A message warns you that the class will not be released. Click OK.
    8. To verify that everyone on the team can see either Margaret's or Sam's code, change workspace owner to Susan and select Types from the menu bar. Select Open To. Click Editions. Both Margaret's and Sam's editions appear.

      atdevsme.GIF (7300 bytes)

    ect < k|p$:7RI66$U:./usr/IBMVJava/html/enterp/en_US/gsolent/team/atfinprj.htmfrc$$ Setting a New Baseline

    Setting a New Baseline (or Finishing a Project)

    "I've heard you've been coding like crazy," Monica said at the next team meeting. "That's great because I want to set a new baseline." "What is a baseline, again?" Susan asked. "In Java development, we work iteratively," Tasha said. "Margaret and Sam, for example, each have new editions of the To-Do List class. When we set a new baseline, we merge the changes together and create a new version of the project containing all the changes.  Then we open a new edition of the project and start again. It's like synchronizing the code.  In our team, we do this once a week. Of course, at a certain point, that baseline becomes the finished product."

    In this section, you will learn:

    • How to merge the different editions of a class created by different developers into one versioned edition.
    • How to set a new baseline by releasing the classes, releasing the packages and creating a new version of the project, and then opening a new edition.

    When is a Project Finished?

    When the To-Do List team met to open the project, Tasha showed them the responsibilities of the project and package owners in Java's iterative development cycle. One of the owners' tasks is to set a baseline periodically to synchronize the code, and ultimately to create a final version of code when the product is finished. How often the owners set a baseline is decided by the activity of the developers. If developers make many changes, then setting a baseline occurs frequently. With the To-Do List team, for example, Tasha made a decision to set a baseline weekly.

    So that you can practice going through a complete development cycle, in this exercise you will set a baseline at the project level; that is, you will version a project.   However, setting a baseline can also be done at the package level. See the online help for more information on setting a baseline at the package level.

    atstridv.gif (16841 bytes)

    Setting the New Baseline

    The diagram below shows the process for setting a baseline at the project level.  The process works in the reverse direction of starting a project; that is, the process starts at the the class level and proceeds to the package and project levels. Once Monica versions the project, the baseline is reset by opening a new project and package edition, which all the team members reload.

    atfinset.gif (16487 bytes)

    Merging Code

    Versioning and releasing code are at the heart of setting a new baseline. But first, if you want the baseline to include everyone's changes to a particular class, you must merge their changes into a single version, for the class owner to release. In the case of the ToDoList class, Margaret changed the Item text to blue and Sam changed the List text to green. The following diagram shows the final code that Luc, the class owner, should have after merging their work.

    atfinmrg.gif (6619 bytes)

    To merge code from several developers at the class level, follow these steps:

    1. Change workspace owner to the class owner, Luc.
    2. Start with the original 2.0 version as the base for adding Margaret's and Sam's code. From the Workbench window, click the Managing tab. In the Types pane, select the ToDoList class. Select Types from the menu bar, select Replace With, and click Another Edition.... You should see a list of versions that are available in the repository, including Marg2.0 and Sam2.0.
    3. Select the original version, 2.0. Click OK. This action will load ToDoList 2.0 into your workspace. Using this as your base, you will create a new open edition and merge in the other developers' changes.
    4. From the Managing page of the Workbench, select ToDoList in the Types pane. Select Types from the menu bar, select Manage, and click Create Open Edition.
    5. First, Luc will merge Margaret's code. Select ToDoList from the Types pane. Select Types from the menu bar. Select Compare With. Click Another Edition....

      atfinc1m.GIF (15226 bytes)

    6. A list of editions appears, including Sam2.0 and Marg2.0. Select Marg2.0 from the list. Click OK.
    7. A comparison window appears. Select the ToDoList class name. Notice that Margaret's code is on the right and Luc's open edition (the original 2.0 code) is on the left. The Source changed identifier under the Differences column indicates where code has changed. You will also see Added beside the getBuilderData method. It is system-generated metadata used by the Visual Composition Editor to create visual elements like buttons and arrows. You can ignore it.

      atfincwm.GIF (10788 bytes)

    8. To merge Margaret's code into the open edition, select the getJTextField1 method. The titles of the source panes change to show the date and time when each edition of the getJTextField1 method was saved.

      Select Differences from the menu bar. Click Load Right, which merges Margaret's code (shown on the right) into the open edition (shown on the left).

      atfinmlr.GIF (11754 bytes)

    9. The getJTextField1 method disappears from the Differences pane, because Margaret's code has been merged into the open edition. Close the Comparing window.
    10. Run the applet by clicking the Run button. arunicon.gif (1041 bytes)
      Test that the text in the Item text field is blue.
    11. Next, Luc will merge Sam's code into the open edition. On the Managing page of the Workbench window, in the Types pane, select your open edition of ToDoList. (This edition now includes Margaret's changes). From the pop-up menu, select Compare With > Another Edition. Select Sam2.0 from the list of editions in the repository. Click OK, and this time the comparison window has Sam's code on the right.
    12. Using Load Right, merge Sam's getJList1 method into your open edition. Look at, but do not merge the getTextField1 method. Why? Because Margaret's code changed the text to blue, which is what Monica wants. If you merge Sam's code, you will return the Item text to black! In merging code, you must be conscious of the changes you want and do not want.  Close the Comparing window.
    13. Finally, run the applet to see that text in the Item text field is blue (Margaret's change) and that text in the List box is green (Sam's change). You should always test changes before you release them into the team baseline!

    Releasing Classes

    You will now version and release the class that you just merged.

    1. Look at the title bar of the Workbench window to confirm that the workspace owner is still Luc. If not, change workspace owner. Only the class owner, Luc, can release the class.
    2. From the Managing page of the Workbench, select the open edition of the ToDoList class, which now contains Margaret's and Sam's changes. Select Types from the menu bar. Select Manage. Click Version....
    3. In the Versioning Selected Items window, select Automatic to change the ToDoList version to 2.0.0. This time, select Release selected items so the class will be to the package level. Click OK.

      atfinc11.GIF (3828 bytes)

    4. Look at the Types pane of the Workbench window. Luc's workspace now shows ToDoList 2.0.0. The unreleased marker (>) should not appear beside the class name.

    When Luc releases a version of the class, he is updating the team baseline at the package level. Team members can synchronize with all the classes that have been released into a package, by selecting Replace With > Released Contents for that package in the Workbench. This action refreshes their workspaces with the most recently released class versions.

    Releasing Packages

    Next, the package owner releases the package. To release a package, follow these steps:

    1. Change workspace owner to Tasha. Only the package owner, Tasha, or the project owner, Monica, can release the package.
    2. Select com.ibm.ivj.examples.vc.todolist (the fully qualified todolist package) from the Packages pane. Select Packages from the menu bar. Select Manage. Click Version....

      atfinvpk.GIF (13555 bytes)

    3. In the Versioning Selected Items window, select Automatic to change the todolist version to 2.1. Select Release selected items to release the package to the project level. Click OK.
    4. The Packages pane of the Workbench window now shows todolist 2.1. There should not be an unreleased marker (>) beside the package's name.

    Every time Tasha releases her package, she is updating the team baseline at the project level. Team members can update their workspaces with all of the latest packages and classes for that project, by selecting Replace With > Released Contents for the project.

    Versioning a Project

    Finally, the project owner creates a new version of the project, to preserve the team baseline at a particular point in the development cycle.

    1. Change workspace owner to Monica. Only the project owner, Monica, can version the project.
    2. On the Managing page of the Workbench, select IBM Java Examples from the Projects pane. Select Projects from the menu bar. Select Manage. Click Version....

      atfinvpr.GIF (12950 bytes)

    3. In the Version Selected Items window, select Automatic to change the project version to 2.1. Note that there is no Release check box for projects. Click OK.
    4. The Managing page of the Workbench should now show that the project and package are at the new 2.1 level. The class is at the new 2.0.0 level.

    At any time in the future, the team could revert to this version of the project baseline by reloading the project. To reload, they would select Replace With > Previous Edition or Replace With > Another Edition from the project's menu in the Workbench.

    Preparing for New Development

    In the Starting Your Project section, you started your project by opening editions of the To-Do List project and package. Do this again, but use To-Do List 2.1 as your base. Remember, only the project owner, Monica, can create an open edition of the project and only the package owner, Tasha, can create an open edition of the package. If they do not open new editions of the project and the package, can others on the team work with the new ToDoList 2.0.0 class? Yes, but they can only work within scratch editions; that is, private editions that they cannot share with each other and that they cannot release into the team baseline.

    As soon as Monica has created a new open edition of the project, Tasha would load that edition into her workspace by selecting Replace With > Another Edition for the project. As soon as Tasha has created an open edition of her package within that project edition, the rest of the team would reload the project. Now the team can resume making changes, versioning changes, and releasing changes into the team baseline. They are now working from a baseline that includes the changes that Margaret and Sam made.

    t="39 lCp$LT7RI66$3./usr/IBMVJava/html/enterp/en_US/gsolent/team/atsetsrv.htmfrc$$   aeiorstdhln ./<>cfgmpuwy",bv=ASTk&13;CEIMRV'()0246DFJLNPWYjqx%-578:BGOU9H!?K#(*54#OgAL8I3i$Uקa bb_π DA$̦7B#rX1Gƿ^ddXX7aÓBs) б=b4.r4AcVβ iJFlXAcQ+Qc8 'e2,@pp# $ @$ X1ZUZ"9 THd1-8,@4GJU  @ tZ B (QcjRXX(!N])V,@4Q:qn9b6ҕjAe?]bOC^ Yb =Ό% d& ҕjq'/BKQ:qn9b6ҕjAe?]bsm H^ Yb =Ό% I8EDtZhb`%(QcD8)X1KQ湐!]W &8cvZwhpR.,Meqc8 XrPkb&ys(ft{ v3txj7 ٦?0 odɎ'Y4Y%72K|[BQe,q)X xl6jᔄYDKod{94O`\2(IcL\< pB,Y%72K GxtfŔK$(XX1HW|'c+oW .Iu|T.Z-e@e |7H4V ϋ*'/;d4_5x\_ \)@}*E⣥V-;W 6Ln>* tr>R,Wv3{qϏe*=irZw " :9|qo-ش.r4V qq|#>|q.V l( Ɗ&soǕ Yx!g:7J$qp5cEbQ(8ÌRw>(\\+~>Eޕ"s)߫{{+'juv֎3ߑ4V :lT'dkA|Sc+oN^I#0[v|7y-;փ1 'ڮ;~>>FB/)|bd|2cT+G'ϫ Xz >wp>½#m\{>ßv[|lRON磛7ȱqb~k\|$qSM2aҫ}n}e5fb( a).bVq`aͫ{qͦ2̣Цw?a)8ߔ,3{!}6>-LY%72K ]n1WBQ=%ɋ\ϫc&k`͚n}{{+'j(IcQ(b,$߫lD޺K|'Wͤ;.ãW㍑b( a)`Ya-;8D& Jq@C!Y;VȱqbyR_W6q8ߔ,!M6l}7,\_[v3d\s)6ikHD.Ԫ8)HPm%qY|zW7,\_cX:GM6NFɆUaM>=ß6|>ҫ"ő%X~S$:Gmov\:幮}\p.ãW"u'iˏb5٦.?,gq!0РWtu[q7mZVӤG2MLOv\>pdZ|c!^E)~>97mZdpzR7pA{+'j}ͫ#hVFz4X?#/daADKb8ÌRuewjnKNhP*Q+a)K~8Vq`aͫ{b8nk=:G{q!0РTq:=%ɋKvqdwMlM81T%d:KȾHzRqQW{ݪB_pdZ"Ő8ΎEc #O6峛o|O8̸}9)Q\AB&NZK8"'Ba@G"Pikq1Gg6j|Psqqq2ȿrrOփ {F7oӾ'dkAr,9oJ_VqҖ3ȱq})Ŏ7M_ pnq;ԟ~|*/ѿW1Gg6jt[9j,oCηn0߫T] r:3~8D& .? 7q^E΋KUI 2LVmN,IQ9M8=گ&+6,q)'/psnqdp~8 Ⱦ*dJZHO1`~rnqabLpcI9{tӋnrnqao|=~=!-;yyD4G\7$d2LVmN,1J(ۦXWBȅgu;'7ѽ]n.>d=8 ~.=k媤!ސ}|x43H( o%X~S${q,\XG+6(ۦ_2=ڢ8lG " :9|qn8Md:sj^Y݌z>6/9|" H&\T'HoQ}\qOg6ik\|@nqahP+%tӋ {-Hͺiŀ4 '6ZZ$[ef4'6ZUaӺͫLEQ(8R {-HB^E@hP|ĪQ"W" z9`ZjBJ>ZwTiHȱq}Spfէ\\}\y +'j#d0@,9qͦ2sd|]%W-Tk\|G81*y@=گ-v2q³m_[͖FyoqMV1W\[#.9Fs)͟oW"|׽|D#0X( o)ʓf d:0?,YI;BAb:M84 0;Oc)V,@q'/BAec XHޝ#ҤXkB^X2=/ݼۣ(ݪ]8Md:sj63f幮KN[q9j,w:sm2 %d8ߔ,zRvC kes7ѿWd X?btlBͤ<蟫Og2=گ1ۦ\>[iͺiŐ h@FZws(ݪoJXϛHpL4(n.Cetm_B^E|Ī'|]$*IR' Ata0~m Ahб~m Ao(4 R{Jab$#$X(QJ7,q&X1H7H }k* #̦N}=~pq2r( a)`62=˰JdXB3ewL7~ Q&tX8b,/X9CUZpR,WdS[o6X~kGkȰT>+'j߫ȱa./~.8*oފ+Le%-;\s.ϫbUͤo!Y;W1Vß<)(`k`\ۣUaM#J0eI|A2{KFM 4GvhX܍2Ao((;Oc)V,@:N^P8Aec8 XsߙH\k`_WE)!Y;V\p(pslX;C2,XWE)!Y;V\p`mpBsxt96,\_Y,m\y WA9)!Y;V~8сwCbtE`cEbMoUsR[Ν" cEb Ӥy'#G4qIy> &,cEbdte5f}.,O " :9|qoҖ0qtN9VNgqo,qL %q@zt ONR,WG#"B@]fͫ7&ݪ,!OpdZV<5WJuW+80=ſȱq(I( a)[;"|+zt[u'D7Ӿ8Vq`aͫ{~B>Ӥlq}iz\t.8'D7V-;:c!Y;Vz8ʹpS[oNX~ G.,pdZ~[=Uqͦ21T%bHl \k`͚o\|s5*ӤoXßUsR~rӹXZӾҫ"ŔN9ͺ?2=ڮi5q#dsn.,O/5*e5f7sADKod]q:PҖo ?!fnq`TD4G\sOcs&nqaHBv>e\Ysnqaˎ+'j]U! %X~S$dۦXAnӣ! ڴ'6ͺ?! ڴDAq`6rnqa>ZQ9M8ᨐR' Ata/fYI;B>mdph4 R{Jab 9z  ( o%X~S$dۦX WBv2ͺiŃ7b:7ϏW@u*3ѽ:F,\_\rnqahP+,\_u*0snq|ن(X*B|㕛tӋ Bi7ςͺif=ڮc$VmN, snqdeI|A2{KF0١br6ppn)=tZXuĜ  0Aec Xrp.iIYq՞4߫}ϋ~йTgS[oo` }VNէWiUbE#1&+J>ZwTi o{WȱqbxD& cQX*B|zͫLJrſ2bYM8tAD46ZpdZ~q,\Xi" %d8ߔ,$oNqq͛E7|./Mls ڴ7>E8#Җ3l+t.ʣljUa|sjr/d+(lY>[9W>=5.ãW.W\_G"}\7!Y;VvmYȽyoQ9-;!Y;V)}\7GyzfNT,1Gg6jlJ?ώTtr'³m_[7W|ĪŻ%OMoN>bUj]lM}#>- voAWB`͚ocXqq|tr/8Wq2r0ONoJXΕXJut1*qnSD;Q[N݋>[9VgljUa|%d8ߔ,3tugL}SM?>gvھk`͖ӤoV9qX*B}ioȱqdpMp߫e5f7s(~8RLq" ʸTYӤ~:@o<ȰT>+'j߫T^E(< %XM0b,is ,Cܻ.6Lq 59io!./p-}m7K(a)Mj\ˇ {+'j?U7 " :9|qoȾpq>β8F\p!Y;V2/-U$G oJXϰtq"\?:t{8IWc))i 3Qßs㘍7yPyiUdzIe@r|Ii!<-U$gGAHTw0,A'фiQI;B>iQ$$p @ '@V Hb @Y%72K Ӥz҉|sm><#{oNEtsj)j,ӤzRv+s:> Qͷھ* #v)-F:So^,8t+6 ՇdNmN/ GѿW)VNէ KUI odۦXAnӣua$ز snq|3s}ȼ\Bv1A{8l2 VmN,1Gg6j'6ͺ?s{\IۦX D4o Qͷڰ;\E=oJZHϳ)삉d8L,q(n\ .+ AaT)VNէ8lX6JŎ0aϋ~󐮸[JbݵVNզ'd+*$qTsyWW)c::9-;B; AGl≃\ƃM6ERqi ڴ8jd&;eӹqqy4PC n6NVNզ'Gz3H'o#gB2J0`(e#y~^ ڹ3qϫ9nM8KM=n.=5_v3t yݖX*BH4V c8 XIW9 ٦=)c;!t\>~K!Y;V1WUl9) R#VNէ:tJ?~>ßᔁd5k<#/dadtl]*iWtݛ6izq[y }ceޝ#9ADX1H R=)c9q[Bv>|smh1Gg6jĎ2tJXWG"}\}VßL}Wu*ZwG"5sUEls}5-};z@b}߂0 BiJq@\>pdZbyR_W6q8ߔ,!MlkȰT>+'jޝ#"峛odK$IaNqdZ|" ʸ %X~S$dۦXbNmN/t>@12Lf4zf7! ڴ ͺi*\t. @Yb =Ό%#m 4GvhX܍0 @( GJU `b @Y%72K)ZmY}'a^w:RqQ̤&;a/pdZ`}ooN7:RvQ̤&@12Lf4H‰ͺie7e,q)Xft <ټe5f¾ȱqbztlB 5?sѿW./턽i⣙p #>-7b*,X?H]"xnŎ7ϏF., R=ٕqǣ~=i[N;tqkp~ҫa!OeI|A2{KFوt#4,CFوtp,`)=tZ`uĜ  `%d8ߔ, 0?tӋ@(ۦ_{qк23=Op48)Hjυ7~>ҫa!O ڴ3/9ڮ>;t@A`+6 FNmN,J?!Y;V\>ˆ(IcQ4q@:9:G2q {+'jQ9-;/9ӽ66ҫa!O)c9yo2Fc8l+ n6"RGjN}2;+'j#gvھKcc8, ,!MlӾ)%dZe,b,AqӤyގGl%LON磛̦ ߵHmtp|*/ߴ8ʠqb72KHBv>e\_JZHVmN,1GJ'6φ'2 VmN, i8+'j '6Q,%&tG߲s}l0߫X|3jՎ7HȱqdK$Ia3yYM8VÞBJ'6ͺ?sH(IcQ4qX85̀r`1KN/"}\p!Y;VDM%`q@ſ[M}\}\* pdZdplBwR'7ѽΒ,g*i)\}VÞB}iP$1\3bkqȼ'MO|[& 7D.hK~9RRӺη<@b,<`X&Os }R$& H:M84P, GJU @$G\Iбh @b,ϋq=:G,glB2;Noz9ڿsiPm\2t2c:̜#0L,q)X)H⣙Mlq[y }VNէW"ʼn1Gg6j8..MOzt{e5f¾Ul9~C f4+"c '6ͺ?q)VNէ KUIͺiņ(iD4Hɩ[ Qͷڿ88b7pUdzIb{*JZHϳ)삉d8ߔ,$߫+'j]UAͺiņ(iD4G\sOdK$Ia3yYM8xANmN/p|1Gg6fҖ7]%-;q ڴ9p:9W9;^ ڴ-}W9G)\>ǭ\^Q,%Wu+cdͺił0D4_><ڳfӤ~D7RDpmYsϏ}Y]G6-G#>וCvMOq#.8>o|hfNF =)c9>ҫaVNէ<9oGG"~m Y%72K2Lf4 ͺi =n.9»RӾ>H/σE~>ÞADKb8ÌR4վ\use|i>:9ڿK!Y;VEd-T_\_ǖëѿW1Gg6jl#q 7M>G1Gg6j.b5WBv>>[94߯'tuN P,q *욟N>E9n'2 VmN,(ۦ_6>OgvھKUI 7tӋ-tpN?s#ANmN,H;Uo|[nFr/( a)`62=˰JdXj'xbm7ȴ͚nr6JŎ0`/%p!Y;V2,VmN,1GJ'6φ'HS[l+}\6E̸}w턽i-t+}[Bv1=ڮT+y;a!ƸBv28jd&;#㣐Hls~9YM8-(ۦ_>8"%tӋ-tp!Y;VQ9M8d8ߔ,ۦXBA+'jANmN,Y%72K+6/ ͺiŔK$(XX1H٦7(o>Nqq[T 㕛tӋٌ(ۦXR4߰gN./UOHS[l+ t.ʣ<ڳf8߫Oޅ+n 9tgvyVLcEbA2t.ãWsUXe-scEb G#)8st9ݖb|ŻN'WHEuΝ#vo]1Y:!t.U-;HW.=Ӥo!Y;V}@1( a)ë澣7[Bv1=Uqͦ21T%::t2=$ؿL Y%72K Aͺiņ(iD4G\sOd+6tmlbGIprZw3|sm@ƊD93nLWf4 vHBv2 snq~tӋٌ(ۦYƊ5\{+'jou-};z9ۦXBA+'jANmN/\ˇVN`8Wͺiŀ snq|tr/ @Yb =Ό%#]t#4,CF A0 GJU `b @Y%72K2Lf4+"c '6@1\{+'jt#.=i7Ϗ9d]l¸>EscEbU|+}\|ǖ\7*IR' Ata/Ahб@ 0\R{Jab0 r,@@J7aIۦX D41q+"c:RRDJ7,q&X1K OWál RtV8ÌR.8u06!9a./oފگrPkƸBv1?iU|̸} h@×F[Bv>c`Ÿ"`{94O sq'U|smo6JZw3fztJXk`͖>28sx's_VӤye5fOcѣ( a)8qI*?)ҝ_PI[qͦ2Г5 %q@Yb =Ό%#r:Mݚ!#r:M84 @g:RXX uĜ @J0)U,,@# bKN C9ӂDtZ$ B o,qWJU  8V*Յ YDo+UҕjAAe,qW쓚#i)V,@S!T0 *O; PAh*Qab)V,@8 r,@8 YDe,qW쓚#i)V,@S!6аT *O; [t#TXX$GJU 9z ,\8ߔNcQ:0e?]b %g2v Starting Your Project

    Starting Your Project

    "Can we start coding today?" Margaret said at the To-Do List team's second meeting. "Well, almost," Tasha said. The server is set up but two things need to be done before you can actually code: owners need to be assigned and those owners need to open the editions for the rest of the team. When you worked as standalone users, you opened your own editions and versioned your own code. But now we work as a group, so we share that work and have dependencies on each other."

    In this section, you will learn:

    • What ownership of code means.
    • The responsibilities of ownership.
    • How to assign ownership.
    • How to open an edition of a project and a package.
    • How ownership is enforced through open editions available to all developers and scratch editions available to a single developer.

    Ownership of Code

    "Our system is set up now," Tasha said to her team. "We can all connect to the server and get to the shared todoteam.dat repository. Next, we have to assign the team roles. Monica will own the project, I will own the package, Luc will own the classes, and all of us will be package group members."

    Responsibilities of Ownership

    Project and package owners have three responsibilities: they create open editions to allow the team to make changes, they release their editions to update the team baseline, and they version their editions to preserve a team baseline. As you can see in the next diagram, Monica opens an edition of the To-Do List project. Only Monica can open the edition because she owns the project. Similarly, Tasha opens the package. VisualAge for Java enforces ownership. When Monica and Tasha open the project and package editions, everyone can use them. They are public editions.  If Monica and Tasha do not open editions, then the team members can only work with private editions called scratch editions. VisualAge for Java allows owners of the code to decide when they want their code open or closed for public development.

    Atstrdev.gif (13755 bytes)

    Opening editions, releasing classes and packages, and versioning are owner responsibilities. Because Java development is iterative, opening editions and versioning projects will usually happen several times during the development cycle, as the team sets new baselines.

    Assigning Team Roles

    In this exercise, working as Administrator, you will add a project from the shared repository to your workspace, assign ownership of various program elements, and add members to a package group.

    atstrcho.gif (16920 bytes)

    The To-Do List project is found in the IBM Java Examples project. To assign ownership of the project and its contents, follow these steps:

    1. Connect to the todoteam.dat repository as Administrator. You learned to do this in an earlier exercise.
    2. If the IBM Java Examples project is not already in your workspace, add it from the shared repository now. From the Workbench window's Selected menu, click Add, then Project.... Select Add projects from the repository. Select IBM Java Examples from the available project names pane and 2.0 from the available editions pane. Click Finish.  The project is added to your workspace.
    3. In the Workbench window, click the Managing tab. The Managing page provides a management view of the project; that is, the code, the owners of the code, and the package group members are displayed.
    4. In the Projects pane of the Managing page, click once on IBM Java Examples. The Project Owner pane shows you who currently owns the project: Administrator. You will change the owner to Monica.
    5. Click Projects on the Workbench menu bar, then Manage, then Change Owner....

      atstrpco.GIF (13830 bytes)
    6. The list of repository users appears. Select Monica from the list. Click OK Monica is now the project owner.
    7. Before you can make Tasha the owner of the com.ibm.ivj.examples.vc.todolist package, she must be a package group member. Select com.ibm.ivj.examples.vc.todolist from the Packages pane. Select Packages from the menu bar, then Manage, then Add User to Group....

      atstrpau.GIF (14477 bytes)

    8. A window opens, listing the repository users who are not yet members of the package group. Hold down the Ctrl key as you select Luc, Margaret, Sam, Susan, and Tasha from the list. Click OK. The package group members now appear in the Package Group Members pane.
    9. Administrator is the current package owner, indicated by a right angle bracket (>). To change the package owner to Tasha, select her name in the Group Members pane, and then from the pop-up menu select Set as Owner.... The package ownership marker (>) now appears next to Tasha's name.
    10. Next, you will change the class owner of ToDoList to Luc. Select ToDoList from the Types pane. From the pop-up menu, select Manage and then Change Owner.... The list of package group members appears. Select Luc from the list and click OK

    At this point, the team roles have all been assigned. As the new package owner, only Tasha can add and delete package group members now. She should immediately remove Administrator from the group, so that no one accidentally creates a class or makes code changes while working as Administrator.

    1. Change the workspace owner to Tasha. In the Package Group Members pane, select Tasha. Right-click to get the pop-up menu, and select Set as Workspace Owner.... Tasha's name appears in he window's title bar.
    2. Now that you are working as Tasha, select Administrator from the Package Group Members pane, and then select Remove from the pop-up menu.

    The Managing page of the Workbench should now look like the following picture.

    atstroas.GIF (17874 bytes)

    Opening Editions in a Team Environment

    As Tasha explained to her group, responsibilities are shared in a team environment. In a standalone environment, VisualAge for Java implicitly makes you the owner of anything you create. To open an edition in a standalone environment, you simply open an edition. In a team environment, you are dependent on the owners of the project and package to open editions. The To-Do List team, for example, requires Monica and Tasha to open project and package editions before they can start coding   

    atstroed.gif (16023 bytes)

    As Monica, open an edition of the To-Do List project by following these steps:

    1. Change the workspace owner to Monica. Remember, only Monica, the project owner, can open an edition of the project.
    2. Click the Projects tab in the Workbench window. Select IBM Java Examples. Click Selected from the menu bar.  Select Manage and then Create Open Edition.

      atstrpem.GIF (13282 bytes)

    3. An open edition of the project is created. To verify, click the Managing tab. In the Projects pane, IBM Java Examples is followed by a date and time in brackets, indicating an open edition.

    Creating a Scratch Edition

    At this point, after the To-Do List project has been opened by Monica, Margaret runs into Monica in the hall. Monica has just seen the requirements for the new To-Do List product. Monica tells Margaret that the customers seem very concerned about the color in the To-Do Item and List boxes. Margaret rushes back to her cubicle to begin coding something that will enhance the color of the boxes.

    Create the situation of a developer working on a class before the package owner opens the edition, by following these steps:

    1. Change workspace owner to Margaret.
    2. Click the Managing tab in the Workbench window. Select ToDoList from the Types pane. Select Types from the menu bar. Click Open To. Click Visual Composition.
    3. Change the text in the To-Do Item text field to magenta. Right-click the To-Do Item text field. Click Properties. Click Foreground. In the right column beside the word foreground, click the more acrcicon.GIF (89 bytes) button. Select magenta from the colors presented. Click OK.   The foreground color changes to magenta. Close the Properties window.
    4. Test the change. Click the run button. arunicon.gif (1041 bytes)
      A warning appears requesting if a new edition should be created. Click Yes. Test the applet by entering text in the To-Do Item text field. It appears in magenta.  Close the applet. Close the Visual Composition Editor.
    5. Look at the log window. A message confirms you have created a scratch edition; that is, a private edition of the ToDoList class.

      atstrscl.GIF (4442 bytes)

    6. To version the edition, select ToDoList from the Types pane in the Workbench window. Select Types from the menu bar. Select Manage.  Click Version.... A Versioning Selected Items window appears, with a suggested version name of 2.1. Click OK to accept the default.
    7. A warning appears stating that the package todolist <2.0> cannot be released.

      atstrvpm.GIF (2239 bytes)

      You will work with releasing editions later, but the essence of this message is that Margaret cannot release a public edition of her class because the package that contains it is a scratched edition. Changes can only be released into an open edition. Because Tasha (the package owner) has not yet created an open edition of the package, not even Luc (the class owner) can release new versions of the ToDoList class into the package. Margaret is now working privately with a scratch edition; she cannot create a public version for others to work with.

      Click OK to clear the warning message.

    8. From the Workbench window, click the Managing tab and look at the todolist package in the Packages pane. Notice the version name, 2.0, is surrounded by angle brackets: <2.0>. The brackets indicate that this is a scratch edition. Only the scratch edition owner, in this case, Margaret, can use the scratch edition. Other users cannot see it in the repository, and Luc cannot release it into the containing package.

      atstrsmi.GIF (14787 bytes)

    Public and Private Editions

    Scratch editions are private editions. Only the creator can use them. In the diagram below, Margaret and Sam have their own private editions of ToDoList.   Scratch editions provide the flexibility of letting developers experiment with code without interfering with the mainstream development of the project. Open editions, that is, editions opened by the owners, are the ones used to develop the project.

    atstrppe.gif (9440 bytes)

    Finish Opening To-Do List Editions

    Complete opening the editions of the To-Do List project by opening the package edition. Follow these steps:

    1. Change workspace owner to Tasha. Remember, Tasha, not Margaret, is the package owner. From the Workbench window, select todolist from the Packages pane. Select Packages from the menu bar. Select Manage. Click Create Open Edition.
    2. An open edition of the todolist package is created in the Packages pane. It is indicated by the fact it is followed by a date and time.

      atstrtop.GIF (15218 bytes)

     k8kp$7RI66$./usr/IBMVJava/html/enterp/en_US/gsolent/vceextra/tceoth06.htmc$$ Changing bean colors and fonts

    Changing bean colors and fonts

    Another enhancement that you can make to your visual beans is to change the colors and fonts that the beans use.

    If you are developing applets to be used on multiple platforms, you should carefully consider the effect of choosing colors and fonts that are different from the default system colors and fonts. For example, if you choose a particular font available in OS/2, that font might not be available in Windows. For more information, see Portability of colors and fonts.

    Changing the color of a bean

    1. In the Visual Composition Editor, double-click on a JButton bean whose color you want to change. The Properties window appears.
    2. To change the background color of a bean, select the value for the background property in the Property window. Select the button that appears:

      The Backgound window opens:

      tjgscolo.gif (4949 bytes)

    3. In the Background window, click mouse button 1 on the color you want to use. The color appears in the color pane. Then select OK.

    Now double-click on a JLabel bean. Follow the same steps, again choosing the background property. This time a slightly different window appears, as shown below. To alter colors, use the slider controls, or select Basic or System and choose a color.

    tjgscol2.GIF (4632 bytes)

    Note:
    You cannot change the color of beans in Menus.

    Changing the font of a bean

    1. In the Visual Composition Editor, double-click on the bean whose font you want to change.
    2. In the Properties window that opens, select the value of the font property. Select the  button that appears in the value column for font.

      The Font window opens:

      tjgsfont.gif (3434 bytes)

    3. Using the Name drop-down list, select the font you want to use.
    4. Using the Style and Size choices, select the size and style you want to use. A sample of the font you have selected is displayed in the text area. You can type additional text in this area to see the appearance of various characters.
    5. When you have finished specifying the font, select OK. The selected font is shown in the value column for font.

    Note:
    Some beans, such as Menu beans, may not support the changing of fonts depending on the target platform.

    Portability of colors and fonts

    If your applet will be used on multiple platforms, the colors and fonts of the beans must be available on all systems that will run your applet.

    If you do decide to change the colors of beans in your applet, use only basic colors in the window, since non-basic colors may appear differently on different platforms.

    If you decide to change the font of a bean, ensure that the font you choose will be available on all the systems that will be running the finished program. You might also have problems with certain fonts if your applet will be run on systems that use code pages designed for languages other than English.

    s k ( $z7NI66$@:\z./usr/IBMVJava/html/enterp/en_US/hgcon1.htmextr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    / k(G $7NI66$\./usr/IBMVJava/html/enterp/en_US/hgcon10.htmxtr$$
    Integrated Development Environment (IDE)
      Overview of the IDE
      Development without Files
      Incremental Compilation
      Unresolved Problems
      Workspace
      Repository
      Projects and Other Program Elements
      Internationalization
      About Defining Bean Interfaces
      ActiveX Component Migration
      Editions and Versioning
       Overview
       Scratch Editions
      Baselines, Releasing, and Reloading
      The Scrapbook
      IDE Tool Integration and Programmatic Access
      VisualAge for Java for the Network Station
      Choosing the Right Debugger for Your Program
      The Integrated Debugger
      External SCM Tools (Windows NT)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    nls.h k $7NI66$^./usr/IBMVJava/html/enterp/en_US/hgcon11.htmxtr$$
    Integrated Development Environment (IDE)
      Overview of the IDE
      Development without Files
      Incremental Compilation
      Unresolved Problems
      Workspace
      Repository
      Projects and Other Program Elements
      Internationalization
      About Defining Bean Interfaces
      ActiveX Component Migration
      Editions and Versioning
      Baselines, Releasing, and Reloading
      The Scrapbook
      IDE Tool Integration and Programmatic Access
       External Tool Integration
       External Class Integration
       Overview of Tool Integrator API
      VisualAge for Java for the Network Station
      Choosing the Right Debugger for Your Program
      The Integrated Debugger
      External SCM Tools (Windows NT)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    a> k $7NI66$``./usr/IBMVJava/html/enterp/en_US/hgcon12.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
      Visual Programming Fundamentals
      Visual Composition Editor Overview and Contents
       Visual Composition Editor Overview
       Free-Form Surface
       Beans Palette
       Adding Beans in the Visual Composition Editor
       Property Sheets
       Setting Tabbing Order
       Tearing Off Properties
       Layout Managers in Visual Composition
      Visual, Nonvisual, and Composite Beans
      Connections
      How Classes and Beans Are Related
      Generated Code
      Bean Design for Visual Composition
      Morphing
      Use of Visual Beans Created in Other Tools
      Object Serialization in VisualAge
      Servlets
      About Relational Database Access
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    Integrated Development Environment (IDE)
    Visual Composition
      Visual Programming Fundamentals
      Visual Composition Editor Overview and Contents
      Visual, Nonvisual, and Composite Beans
      Connections
      How Classes and Beans Are Related
      Generated Code
      Bean Design for Visual Composition
      Morphing
      Use of Visual Beans Created in Other Tools
      Object Serialization in VisualAge
      Servlets
       Servlet Overview
       Servlet Builder Visual Beans
       Servlet Builder Nonvisual Beans
      About Relational Database Access
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
     k $?7NI66$ia?./usr/IBMVJava/html/enterp/en_US/hgcon14.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
      Overview
      Team Client/Server Configuration
      The Repository Server (EMSRV)
      Ownership and Team Roles
       Overview
       Class Developer
       Class Owner
       Package Owner
       Project Owner
       Repository Administrator
       EMSRV User
       Workspace Owner
       Repository User List
       Package Groups
      Planning for Team Development
      Team Development Scenarios
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    < kt $7NI66$ta./usr/IBMVJava/html/enterp/en_US/hgcon15.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
      Overview
      Team Client/Server Configuration
      The Repository Server (EMSRV)
      Ownership and Team Roles
      Planning for Team Development
       TCP/IP Network Considerations
       Server Considerations
       Server Files and Directories
       Server Security
       Shared Repositories
       Team and Project Organization
      Team Development Scenarios
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    >
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
      Overview
      Team Client/Server Configuration
      The Repository Server (EMSRV)
      Ownership and Team Roles
      Planning for Team Development
      Team Development Scenarios
       Introduction
       Basic Class Development Pattern
       Single Package, Single Developer
       Single Package, Multiple Developers
       Multiple Packages, Multiple Developers
       Project Wrap-Up and Delivery
       Sample Life Cycle of an Application
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    op k. $7NI66$a./usr/IBMVJava/html/enterp/en_US/hgcon17.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
      High-Performance Compiler
       Overview
       Limitations 
       Considerations 
       Directory Structure 
       ET/Workstation Properties and Inheritance 
       Java Executables and DLLs 
       Run-Time Options 
       Class Loading 
       JNI Support 
       Java Classes 
      Remote Debugger
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    /a>
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
      High-Performance Compiler
      Remote Debugger
       Before You Start Debugging
       When You Start Debugging
       Debugger Windows
       Source Window Views
       Debugger Monitors
       Differences between Program and Private Monitors
       Breakpoints
       Remote Debugging
       Limitations When Debugging Java Classes
       Notes on Debugging Optimized Code
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
       ET/390 Properties
       Inheritance of ET/390 Properties 
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Program Development
    Access to the Enterprise
    ="18 k  $7NI66$a./usr/IBMVJava/html/enterp/en_US/hgcon2.htmxtr$$
    Integrated Development Environment (IDE)
      Overview of the IDE
      Development without Files
      Incremental Compilation
      Unresolved Problems
      Workspace
      Repository
      Projects and Other Program Elements
      Internationalization
      About Defining Bean Interfaces
      ActiveX Component Migration
      Editions and Versioning
      Baselines, Releasing, and Reloading
      The Scrapbook
      IDE Tool Integration and Programmatic Access
      VisualAge for Java for the Network Station
      Choosing the Right Debugger for Your Program
      The Integrated Debugger
      External SCM Tools (Windows NT)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    g bor k  $"7NI66$a"./usr/IBMVJava/html/enterp/en_US/hgcon20.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
       OS/390 Java Executables and Dynamic Link Libraries
       OS/390 Java Executables
       OS/390 Java Dynamic Link Libraries (DLLs)
       Resource Files in PDSE Members
       Naming and Placement of OS/390 Java DLLs on HFS
       Naming and Placement of OS/390 Java DLLs in PDSE Members
       OS/390 UNIX Run-Time CLASSPATH Searches for Java DLLs
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Program Development
    Access to the Enterprise
    gif">< k< $V7NI66$aV./usr/IBMVJava/html/enterp/en_US/hgcon21.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
       OS/390 Java Incremental Rebinding
       Building OS/390 Java Executables and DLLs with .o Files
       Selectively Include and Exclude Classes for OS/390 Bytecode Binding
       Scenarios: Building OS/390 Java Applications
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Program Development
    Access to the Enterprise
    0" k| $<7NI66$a<./usr/IBMVJava/html/enterp/en_US/hgcon22.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
       RRBC Considerations for Interpreted Java and OS/390 Program Objects
       Writing OS/390 JNI Applications
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Program Development
    Access to the Enterprise
    "hgc k $7NI66$a./usr/IBMVJava/html/enterp/en_US/hgcon23.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
       Write Programs for Debugging
       When You Start Debugging
       Debugger Windows
       Debugger Monitors
       Breakpoints
       Record of Directories
      Performance Analyzer for Tracing
    AS/400 Program Development
    Access to the Enterprise
     kb $7NI66$a./usr/IBMVJava/html/enterp/en_US/hgcon24.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
      Performance Analyzer for Tracing
       Overview
       OS/390 Performance Analyzer Data Set
       Trace File Generation
       Diagrams for Analyzing a Trace File
       Trace File Viewing and Analysis
       Tips for Using the Performance Analyzer to Understand Your Program
    AS/400 Program Development
    Access to the Enterprise
    390/ k $;7NI66$a;./usr/IBMVJava/html/enterp/en_US/hgcon25.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
       RRBC Considerations for Interpreted Java and OS/390 Program Objects
       Writing OS/390 JNI Applications
        OS/390 JNI Support for Native Methods
        Use of Java Types double and float
        Use of OS/390 double and float
        Use of Java BigInteger and BigDecimal
        Use of va_list
        Codepage Considerations in Native Methods
        Long Long Data Type Support
        EBCDIC and UNICODE Conversions in Java and C
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Program Development
    Access to the Enterprise
    =3>OS k $7NI66$b./usr/IBMVJava/html/enterp/en_US/hgcon26.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
       Write Programs for Debugging
       When You Start Debugging
       Debugger Windows
       Debugger Monitors
        Differences between Program and Private Monitors
       Breakpoints
       Record of Directories
      Performance Analyzer for Tracing
    AS/400 Program Development
    Access to the Enterprise
    /ngdo kP $b7NI66$ bb./usr/IBMVJava/html/enterp/en_US/hgcon27.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
      Performance Analyzer for Tracing
       Overview
       OS/390 Performance Analyzer Data Set
       Trace File Generation
        Time Stamps
        Trace Events
        Overhead Time
        Function Trace
        Interval-Sampling Trace
       Diagrams for Analyzing a Trace File
       Trace File Viewing and Analysis
       Tips for Using the Performance Analyzer to Understand Your Program
    AS/400 Program Development
    Access to the Enterprise
    >
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
      Performance Analyzer for Tracing
       Overview
       OS/390 Performance Analyzer Data Set
       Trace File Generation
       Diagrams for Analyzing a Trace File
        Overview
        Call Nesting Diagram
        Dynamic Call Graph Diagram
        Execution Density Diagram
        Statistics Diagram
        Time Line Diagram
        Interval-Sampling Statistics Diagram
        Horizontal Bars Diagram
       Trace File Viewing and Analysis
       Tips for Using the Performance Analyzer to Understand Your Program
    AS/400 Program Development
    Access to the Enterprise
     k $m7NI66$)bm./usr/IBMVJava/html/enterp/en_US/hgcon29.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
      Performance Analyzer for Tracing
       Overview
       OS/390 Performance Analyzer Data Set
       Trace File Generation
       Diagrams for Analyzing a Trace File
       Trace File Viewing and Analysis
        Function Groups
        Pattern Recognition
        Diagram Filters
        Correlation
       Tips for Using the Performance Analyzer to Understand Your Program
    AS/400 Program Development
    Access to the Enterprise
    e I kL $7NI66$6b./usr/IBMVJava/html/enterp/en_US/hgcon3.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
      Visual Programming Fundamentals
      Visual Composition Editor Overview and Contents
      Visual, Nonvisual, and Composite Beans
      Connections
      How Classes and Beans Are Related
      Generated Code
      Bean Design for Visual Composition
      Morphing
      Use of Visual Beans Created in Other Tools
      Object Serialization in VisualAge
      Servlets
      About Relational Database Access
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    / kγ $7PI66$@b./usr/IBMVJava/html/enterp/en_US/hgcon30.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
      Performance Analyzer for Tracing
       Overview
       OS/390 Performance Analyzer Data Set
       Trace File Generation
       Diagrams for Analyzing a Trace File
       Trace File Viewing and Analysis
       Tips for Using the Performance Analyzer to Understand Your Program
        Use a Combination of Diagrams to Understand Your Program
        Annotate Your Trace File
    AS/400 Program Development
    Access to the Enterprise
     k  $S 7PI66$y\S ./usr/IBMVJava/html/enterp/en_US/hgcon31.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
      AS/400 Java Development at the Workstation
      Cooperative Debugger
       Overview
       Start Debugging
       Debugger Windows
       Debugger Monitors
       Breakpoints
    Access to the Enterprise
    lref kJ $y7PI66$ `y./usr/IBMVJava/html/enterp/en_US/hgcon32.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
      AS/400 Java Development at the Workstation
      Cooperative Debugger
       Overview
       Start Debugging
        When You Start Debugging
        Compile a Program with Debug Data
       Debugger Windows
       Debugger Monitors
       Breakpoints
    Access to the Enterprise
    d> k( $Z7PI66$aZ./usr/IBMVJava/html/enterp/en_US/hgcon33.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
      AS/400 Java Development at the Workstation
      Cooperative Debugger
       Overview
       Start Debugging
       Debugger Windows
        Overview
        Source Window Views
       Debugger Monitors
       Breakpoints
    Access to the Enterprise
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
      AS/400 Java Development at the Workstation
      Cooperative Debugger
       Overview
       Start Debugging
       Debugger Windows
       Debugger Monitors
        Overview
        Differences between Program and Private Monitors
       Breakpoints
    Access to the Enterprise
    d> k $H7PI66$TbH./usr/IBMVJava/html/enterp/en_US/hgcon35.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
      AS/400 Java Development at the Workstation
      Cooperative Debugger
       Overview
       Start Debugging
       Debugger Windows
       Debugger Monitors
       Breakpoints
        Overview
        Watch Breakpoints
        Line Breakpoints
    Access to the Enterprise
     kf $67PI66$\b6./usr/IBMVJava/html/enterp/en_US/hgcon36.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
       Enterprise Access Builder for Data
       Data Access Builder Workflow
       User-Defined Methods
       Keyless Table Support and Data Identifier
       Table Joins and Query Support
       Rapid Access Development Features
       Data Access Classes in Applications
      C++ Server Access
      Enterprise Access Builder
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    >  k $i7PI66$gbi./usr/IBMVJava/html/enterp/en_US/hgcon37.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
       Overview
       Language Elements Used in Mapping Java to C++
       Design Considerations with the C++ Access Builder
       Classes Generated by the C++ Access Builder
       C++ Access Builder Limitations
      Enterprise Access Builder
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    t=14 sr kأ ${7PI66$qb{./usr/IBMVJava/html/enterp/en_US/hgcon38.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
       Overview
       IBM e-business Connectors
       IBM Java Record Framework
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    der=0 kd $7PI66$b./usr/IBMVJava/html/enterp/en_US/hgcon39.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
      RMI Access Builder
       Overview
       Design Considerations with the RMI Access Builder
       Code Generated by the RMI Access Builder
       RMI Access Builder Limitations
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    m# k $~ 7NI66$0a~ ./usr/IBMVJava/html/enterp/en_US/hgcon4.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
      Persistence Builder Overview
      Main Components of the Framework
      Key Benefits of Using Persistence Builder
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    td kP $7PI66$b./usr/IBMVJava/html/enterp/en_US/hgcon40.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
      RMI Access Builder
      Access Builder for SAP R/3
       Overview
       Access Builder for SAP R/3
       Local Business Object Repository
       Reference Documentation for Business Objects
       Proxy Beans to Access SAP Systems
       Parameter Container Classes
       R/3 Access Classes
       Common RFC Interface
       BOR Access Classes
       BO Descriptor Classes
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    h=14  k $B7PI66$bB./usr/IBMVJava/html/enterp/en_US/hgcon41.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
       Overview
       CORBA and Java ORBs
       IDL-to-Java Compilation and Mapping
       Relationship between the IDLs Page and the Reserved Package
       Editions and Versioning
       Limitations
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
       Enterprise Access Builder for Data
       Data Access Builder Workflow
       User-Defined Methods
       Keyless Table Support and Data Identifier
       Table Joins and Query Support
       Rapid Access Development Features
       Data Access Classes in Applications
        Generated Methods
        Read-Only Considerations
        Null Value Considerations
        Events and Property Changes
        Background Threads
        Data Access Classes in the Visual Composition Editor
      C++ Server Access
      Enterprise Access Builder
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    bor k $7PI66$j./usr/IBMVJava/html/enterp/en_US/hgcon43.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
       Overview
       Language Elements Used in Mapping Java to C++
        Inheritance
        Constructors and Destructors
        Methods
        Member Variables
        Operators
        Global Definitions
        Pointers
        References
        Unions and Enums
        Conversion Functions
        Type Conversion
       Design Considerations with the C++ Access Builder
       Classes Generated by the C++ Access Builder
       C++ Access Builder Limitations
      Enterprise Access Builder
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    td> k $]7PI66$j]./usr/IBMVJava/html/enterp/en_US/hgcon44.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
       Overview
       Language Elements Used in Mapping Java to C++
       Design Considerations with the C++ Access Builder
        Business Logic
        Wrapper Classes
        Memory Allocation
       Classes Generated by the C++ Access Builder
       C++ Access Builder Limitations
      Enterprise Access Builder
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    rar k $7PI66$k./usr/IBMVJava/html/enterp/en_US/hgcon45.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
       Overview
        Enterprise Access Builder Commands: Overview
        Navigators: Overview
        Business Objects
        Mappers
        Records
        Design Considerations with the Enterprise Access Builder
       IBM e-business Connectors
       IBM Java Record Framework
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    >
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
       Overview
       IBM e-business Connectors
        Overview
        CICS Connector
        ENCINA Connector
       IBM Java Record Framework
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    spa k $L7PI66$ lL./usr/IBMVJava/html/enterp/en_US/hgcon47.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
       Overview
       IBM e-business Connectors
       IBM Java Record Framework
        Overview
        Java Record Framework: Record Description
        Java Record Framework: Design
        Dynamic Record Access Styles
        Dynamic Record Implementation
        Custom Record Implementation
        Builder Tool Support
        Support Required for the Code Generator
        Support Required for the Java Record Editor
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
     k, $>7PI66$l>./usr/IBMVJava/html/enterp/en_US/hgcon48.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
       Overview
        Enterprise Access Builder Commands: Overview
        Navigators: Overview
        Business Objects
        Mappers
        Records
         Overview
         Record Type Generation
         Java Record Editor
         Record Generation
        Design Considerations with the Enterprise Access Builder
       IBM e-business Connectors
       IBM Java Record Framework
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    td kX $g7PI66$%lg./usr/IBMVJava/html/enterp/en_US/hgcon49.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
       Overview
        Enterprise Access Builder Commands: Overview
        Navigators: Overview
        Business Objects
        Mappers
        Records
        Design Considerations with the Enterprise Access Builder
         Enterprise Access Builder Limitations
       IBM e-business Connectors
       IBM Java Record Framework
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    . kb" $ 7NI66$ zb ./usr/IBMVJava/html/enterp/en_US/hgcon5.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
      Overview
      Team Client/Server Configuration
      The Repository Server (EMSRV)
      Ownership and Team Roles
      Planning for Team Development
      Team Development Scenarios
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
     kf $:7NI66$0b:./usr/IBMVJava/html/enterp/en_US/hgcon6.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
      High-Performance Compiler
      Remote Debugger
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
      Enterprise ToolKit for OS/390
      OS/390 Java Development on the Host
      OS/390 Java Development at the Workstation
      OS/390 Java Development Differences on the Host and at the Workstation
      Working in the Integrated Development Environment
      OS/390 Java Program Objects
      Building OS/390 Java Executables and DLLs
      OS/390 Java CICS/ESA Support
      Writing OS/390 Java Applications
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Program Development
    Access to the Enterprise
     k $f7PI66$0ef./usr/IBMVJava/html/enterp/en_US/hgcon8.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
      AS/400 Java Development at the Workstation
      Cooperative Debugger
    Access to the Enterprise
    n  k $ 7PI66$g ./usr/IBMVJava/html/enterp/en_US/hgcon9.htmxtr$$
    Integrated Development Environment (IDE)
    Visual Composition
    Object Persistence
    Team Development
    Windows, OS/2, and AIX Program Development
    OS/390 Program Development
    AS/400 Program Development
    Access to the Enterprise
      Relational Database Access
      C++ Server Access
      Enterprise Access Builder
      RMI Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
      Domino AgentRunner
      San Francisco Wizard
      Tivoli Connection
    m#101 kRQ $I 7HI66$0`kI ./usr/IBMVJava/html/enterp/en_US/hgprc1.htmxtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    valign= kte $i 7JI66$ hli ./usr/IBMVJava/html/enterp/en_US/hgprc10.htmxtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
     kx, $7LI66$l./usr/IBMVJava/html/enterp/en_US/hgprc100.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
       Viewing Variables and the Stack
        Adding a Variable or Expression to a Monitor
        Viewing Variable Contents
        Viewing the Contents of the Program Stack
        Viewing the Contents of Variables and the Stack
        Editing Variable Contents
        Changing the Contents of Variables
       Debugging Logic and Program Flow
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    a k꺝 $7LI66$l./usr/IBMVJava/html/enterp/en_US/hgprc101.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
        Setting, Clearing, Enabling, and Disabling Breakpoints
        Stepping through, Running, or Halting a Program
        Debugging a Java Application
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    86" k $7LI66$l./usr/IBMVJava/html/enterp/en_US/hgprc102.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
       Locating Source Code
        Locating Source Code Overview
        Locating Source Code Written in C++
        Locating Source Code Written in ILE/OPM Languages
        Locating Source Code Written in Java
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
       Locating Source Code
       Opening Debugger Windows
        Opening Other Debugger Windows
        Viewing Different Sources
        Changing Views in a Source Window
        Displaying Entries in the Call Stack Window
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    oc.g k $ 7LI66$`s ./usr/IBMVJava/html/enterp/en_US/hgprc104.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
        Writing Programs for Debugging
        Establishing a Debug Environment
         Specifying Command-Line Options for Your Program
         Starting the Debug Session
         Changing the Debug Environment
         Setting Debugger Ports
         Specifying the Name of the Debug Host
        Debugging Optimized Code
        Creating a Java Program
       Starting or Stopping the Debugger
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    ef="hgp klk $ (7LI66$t (./usr/IBMVJava/html/enterp/en_US/hgprc105.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
        Starting or Stopping Program Debug
        Invoking the Debugger
        Invoking the Debugger from the Command Line
        Starting the Debug Server
        Starting the Debugger for a Threaded Application
        Stopping the Debug Server
        Setting and Deleting Breakpoints in Your Program
         Setting a Line Breakpoint
         Setting Multiple Breakpoints
         Setting Breakpoints from the Breakpoints List window
         Setting Breakpoints from a Source window
         Setting a Watch Breakpoint
         Deleting Breakpoints
         Deleting All Breakpoints
        Running, Stopping, or Stepping through a Program
        Stopping a Debug Session
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    et="con k" $$7LI66$t$./usr/IBMVJava/html/enterp/en_US/hgprc106.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
        Starting or Stopping Program Debug
        Invoking the Debugger
        Invoking the Debugger from the Command Line
        Starting the Debug Server
        Starting the Debugger for a Threaded Application
        Stopping the Debug Server
        Setting and Deleting Breakpoints in Your Program
        Running, Stopping, or Stepping through a Program
         Running or Stepping through a Program
         Running Your program
         Stepping through Your Program
         Restarting Your Program
        Stopping a Debug Session
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    et kP $7LI66$t./usr/IBMVJava/html/enterp/en_US/hgprc107.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
        Setting, Clearing, Enabling, and Disabling Breakpoints
         Setting Breakpoints
         Clearing Breakpoints
         Enabling and Disabling Breakpoints
         Modifying Breakpoint Characteristics
        Stepping through, Running, or Halting a Program
        Debugging a Java Application
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
     k갦 $7LI66$u./usr/IBMVJava/html/enterp/en_US/hgprc108.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
        Setting, Clearing, Enabling, and Disabling Breakpoints
        Stepping through, Running, or Halting a Program
         Running your Program
         Stepping through your Program
         Restarting your Program
         Terminating a Debug Session
        Debugging a Java Application
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    lign= k $7LI66$qs./usr/IBMVJava/html/enterp/en_US/hgprc109.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
       Customize Schema Mappings
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    >< k$ $ 7JI66$l ./usr/IBMVJava/html/enterp/en_US/hgprc11.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    or k $u7LI66$uu./usr/IBMVJava/html/enterp/en_US/hgprc110.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
       Accessing C++ Services: Overview
       Creating a Package for C++ Access Beans
       Creating C++ Header Files for Interfaces
       Generating C++ Access Beans and Wrapper Files
       Generating C++ Access Beans and Wrapper Files From the Command Line
       Creating a Shared Library
       Creating a Shared Library Without a Makefile
       Importing C++ Access Beans into the IDE
       Creating a Client Using C++ Access Beans
       Testing the Client Program in the IDE
       Deploying the Client Program
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    a h k4 $7LI66$u./usr/IBMVJava/html/enterp/en_US/hgprc111.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
       Overview
       Setting Up Connector Run-Time Contexts
       Using the IBM Java Record Framework
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    widt k2 $7NI66$(u./usr/IBMVJava/html/enterp/en_US/hgprc112.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
       Accessing Java Services over RMI: Overview
       Creating a Package for Proxy Beans
       Generating a Proxy Bean
       Creating a Client Using a Proxy Bean
       Testing the Client Program in the IDE
       Deploying the Client Program
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    rting k $7NI66$3u./usr/IBMVJava/html/enterp/en_US/hgprc113.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
       Using the Access Builder
       Developing an Application
       Performing Specific Tasks
      Using the IDL Development Environment
      Using the Domino AgentRunner
    al kڱ $ 7NI66$@u ./usr/IBMVJava/html/enterp/en_US/hgprc114.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
       Using the IDL Development Environment: Overview
       Setting Up the Environment
       Adding IDL Groups and IDL Objects
       Importing and Exporting
       Working with IDL Definitions
       Managing IDL Groups and IDL Objects
       Changing Compile Options and Generating Java Code
       Recovering from Corrupted Workspaces
      Using the Domino AgentRunner
    ows,  kꪰ $7NI66$Lu./usr/IBMVJava/html/enterp/en_US/hgprc115.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
       Using the AgentRunner
       Setting Up for the AgentRunner
       Import or Write Your Agent
       Generate an AgentContext Document
       Running and Debugging Your Agent
       Creating the Production Agent
    n=top> kb $Z7LI66$WuZ./usr/IBMVJava/html/enterp/en_US/hgprc116.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
        Start Data Access Builder SmartGuide
        Import a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
       Customize Schema Mappings
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
        Working with Database Drivers
        Modify Table Filter
        Specify Table Joins in Schema
        View Database Table or View Properties
        Recover When Database Definitions Change
       Create Schema Mappings
       Customize Schema Mappings
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    p kZ $.7LI66$u../usr/IBMVJava/html/enterp/en_US/hgprc118.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
        Map a Schema
        Create Mappings
        Create Mapping from More than One Database Table
        Create More Than One Mapping for a Schema
        Create Mapping from SQL Statements
        Create Mapping from a Stored Procedure Result Set
        Create Read-Only (R/O) or Read/Write (R/W)Classes
        Add Comments for a Mapping
       Customize Schema Mappings
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    td k8 $7LI66$ru./usr/IBMVJava/html/enterp/en_US/hgprc119.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
       Customize Schema Mappings
        Change Properties
        Define Your Own Methods
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    2.ht k $O7LI66$nO./usr/IBMVJava/html/enterp/en_US/hgprc12.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
    Accessing the Enterprise
     k괽 $ 7LI66$u ./usr/IBMVJava/html/enterp/en_US/hgprc120.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
       Customize Schema Mappings
       Generate Source Code
        Generate Source Code
        View Source Code
        Add Comments to Generated Code
        Test Database URLs with IConnectPanel
        Test Generated Code with AccessApp
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
     kP $B7LI66$uB./usr/IBMVJava/html/enterp/en_US/hgprc121.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
       Customize Schema Mappings
       Generate Source Code
       End a Data Access Builder Session
        Save a Data Access Builder Session
        Export a Data Access Builder Session
        Deploy Applications
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    rprise k^ $)7LI66$u)./usr/IBMVJava/html/enterp/en_US/hgprc122.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
       Customize Schema Mappings
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
        Connect and Disconnect
        Commit and Roll Back
        Retrieve Rows from the Database
        Extend generated classes with your own classes
        Access Large Objects (LOBs)
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    p; k $K7LI66$uK./usr/IBMVJava/html/enterp/en_US/hgprc123.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
        Working with Database Drivers
         Install ODBC Drivers
         Configure DB2 Driver
         Configure Oracle 7 Driver
         Configure Sybase System 10 Driver
        Modify Table Filter
        Specify Table Joins in Schema
        View Database Table or View Properties
        Recover When Database Definitions Change
       Create Schema Mappings
       Customize Schema Mappings
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
     kB $$7LI66$u$./usr/IBMVJava/html/enterp/en_US/hgprc124.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
       Customize Schema Mappings
        Change Properties
         Change Mapping Properties
         Change Run-time Driver Name and URL
         Change Attribute Properties
         Add Comments for an Attribute
         Delete Attribute
         Map Attributes to Columns
         Map the Data ID to a Table's Unique Index
         Delete Schema Object
         Delete Mapping Object
         View Schema Properties
         View Column Properties
         Fix Broken Mappings
        Define Your Own Methods
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    "  kڧ $s"7LI66$us"./usr/IBMVJava/html/enterp/en_US/hgprc125.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
       Customize Schema Mappings
        Change Properties
        Define Your Own Methods
         Add User-Defined Methods
         Add User-Defined Methods With Customized SQL Statements
         Add User-Defined Methods That Are Stored Procedure Calls
         Using Stored Procedures
         Add User-Defined Methods With SQL Predicates
         Add Comments to User-Defined Methods
         Copy User-Defined Methods
         Delete User-Defined Methods
         Modify User-Defined Methods
         Exclude Methods in the Generated Code
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    p;
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
       Start a Data Access Builder Session
       Work with Database and Tables
       Create Schema Mappings
       Customize Schema Mappings
        Change Properties
        Define Your Own Methods
         Add User-Defined Methods
         Add User-Defined Methods With Customized SQL Statements
         Add User-Defined Methods That Are Stored Procedure Calls
         Using Stored Procedures
          Define Stored Procedures
          Modify Stored Procedure Definitions
          Display the List of Defined Stored Procedures
          Import Database Stored Procedure Definitions
         Add User-Defined Methods With SQL Predicates
         Add Comments to User-Defined Methods
         Copy User-Defined Methods
         Delete User-Defined Methods
         Modify User-Defined Methods
         Exclude Methods in the Generated Code
       Generate Source Code
       End a Data Access Builder Session
       Write Applications That Use the Class Library Generated Code
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    s k $7LI66$v./usr/IBMVJava/html/enterp/en_US/hgprc127.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
       Accessing C++ Services: Overview
       Creating a Package for C++ Access Beans
       Creating C++ Header Files for Interfaces
       Generating C++ Access Beans and Wrapper Files
       Generating C++ Access Beans and Wrapper Files From the Command Line
       Creating a Shared Library
       Creating a Shared Library Without a Makefile
       Importing C++ Access Beans into the IDE
       Creating a Client Using C++ Access Beans
       Testing the Client Program in the IDE
        Testing the Client as an Applet
        Testing the Client from Program Main
       Deploying the Client Program
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    td k꼟 $7LI66$#v./usr/IBMVJava/html/enterp/en_US/hgprc128.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
       Accessing C++ Services: Overview
       Creating a Package for C++ Access Beans
       Creating C++ Header Files for Interfaces
       Generating C++ Access Beans and Wrapper Files
       Generating C++ Access Beans and Wrapper Files From the Command Line
       Creating a Shared Library
       Creating a Shared Library Without a Makefile
       Importing C++ Access Beans into the IDE
       Creating a Client Using C++ Access Beans
       Testing the Client Program in the IDE
       Deploying the Client Program
        Deploying the Client as an Applet
        Deploying the Client as a Stand-Alone Application
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    td> k܁ $u7LI66$2vu./usr/IBMVJava/html/enterp/en_US/hgprc129.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
       Overview
        Generating a Dynamic Record Type
        Editing Record Types in the Java Record Editor
        Generating a Record Bean or Class
        Generating a Record Bean or Class from the Command Line
        Creating and Using an Enterprise Access Builder Command
        Creating and Using a Navigator
        Creating a Business Object
        Mapping
        Deploying a Client Program
       Setting Up Connector Run-Time Contexts
       Using the IBM Java Record Framework
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    hei kҕ $7LI66$m./usr/IBMVJava/html/enterp/en_US/hgprc13.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
     k $7NI66$@v./usr/IBMVJava/html/enterp/en_US/hgprc130.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
       Overview
       Setting Up Connector Run-Time Contexts
       Using the IBM Java Record Framework
        Using the Java Record Framework
        Creating Dynamic Records Using an Existing Typeset
        Creating Custom Records Using an Existing Typeset
        Creating a New Typeset
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    an kl $C!7LI66$LvC!./usr/IBMVJava/html/enterp/en_US/hgprc131.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
       Overview
        Generating a Dynamic Record Type
         Overview
         Generating a Dynamic Record Type from COBOL Source Code
         Generating a Dynamic Record Type from COBOL Source Code from the Command Line
         Generating a Dynamic Record Type from BMS Source Code
         Generating a Dynamic Record Type from MFS Source Code
        Editing Record Types in the Java Record Editor
        Generating a Record Bean or Class
        Generating a Record Bean or Class from the Command Line
        Creating and Using an Enterprise Access Builder Command
        Creating and Using a Navigator
        Creating a Business Object
        Mapping
        Deploying a Client Program
       Setting Up Connector Run-Time Contexts
       Using the IBM Java Record Framework
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
       Overview
        Generating a Dynamic Record Type
        Editing Record Types in the Java Record Editor
        Generating a Record Bean or Class
        Generating a Record Bean or Class from the Command Line
        Creating and Using an Enterprise Access Builder Command
         Creating an Enterprise Access Builder Command
         Editing and Promoting Bean Properties of an Enterprise Access Builder Command
         Implementing the handleException Method for an Enterprise Access Builder Command
         Working with Input Bean Variables and Input Beans for an Enterprise Access Builder Command
         Associating Mappers with Input and/or Output Record Beans
         Defining More than One Output Bean for an Enterprise Access Builder Command
         Checking the Input State of an Enterprise Access Builder Command
         Checking the Trigger State of an Enterprise Access Builder Command
         Executing an Enterprise Access Builder Command
        Creating and Using a Navigator
        Creating a Business Object
        Mapping
        Deploying a Client Program
       Setting Up Connector Run-Time Contexts
       Using the IBM Java Record Framework
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    >
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
       Overview
        Generating a Dynamic Record Type
        Editing Record Types in the Java Record Editor
        Generating a Record Bean or Class
        Generating a Record Bean or Class from the Command Line
        Creating and Using an Enterprise Access Builder Command
        Creating and Using a Navigator
         Creating a Navigator
         Editing and Promoting Bean Properties of a Navigator
         Implementing the handleException Method for a Navigator
         Executing a Navigator
        Creating a Business Object
        Mapping
        Deploying a Client Program
       Setting Up Connector Run-Time Contexts
       Using the IBM Java Record Framework
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    " k $7LI66$qv./usr/IBMVJava/html/enterp/en_US/hgprc134.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
       Overview
        Generating a Dynamic Record Type
        Editing Record Types in the Java Record Editor
        Generating a Record Bean or Class
        Generating a Record Bean or Class from the Command Line
        Creating and Using an Enterprise Access Builder Command
        Creating and Using a Navigator
        Creating a Business Object
         Creating a Managed Business Object Class
         Creating an Unmanaged Business Object Class
        Mapping
        Deploying a Client Program
       Setting Up Connector Run-Time Contexts
       Using the IBM Java Record Framework
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    a  kl $ 7LI66$v ./usr/IBMVJava/html/enterp/en_US/hgprc135.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
       Overview
        Generating a Dynamic Record Type
        Editing Record Types in the Java Record Editor
        Generating a Record Bean or Class
        Generating a Record Bean or Class from the Command Line
        Creating and Using an Enterprise Access Builder Command
        Creating and Using a Navigator
        Creating a Business Object
        Mapping
         Creating a Mapper: Overview
         Mapping Managed Business Objects and Record Beans: Overview
         Mapping Between a Business Object and a Record Bean
         Editing a Mapper Bean
        Deploying a Client Program
       Setting Up Connector Run-Time Contexts
       Using the IBM Java Record Framework
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    0 w k궸 $7LI66$v./usr/IBMVJava/html/enterp/en_US/hgprc136.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
       Overview
        Generating a Dynamic Record Type
        Editing Record Types in the Java Record Editor
        Generating a Record Bean or Class
        Generating a Record Bean or Class from the Command Line
        Creating and Using an Enterprise Access Builder Command
        Creating and Using a Navigator
        Creating a Business Object
        Mapping
        Deploying a Client Program
         Deploying the Client Program as an Applet
         Deploying the Client Program as a Stand-Alone Application
       Setting Up Connector Run-Time Contexts
       Using the IBM Java Record Framework
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    a h k $7NI66$v./usr/IBMVJava/html/enterp/en_US/hgprc137.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
       Accessing Java Services over RMI: Overview
       Creating a Package for Proxy Beans
       Generating a Proxy Bean
       Creating a Client Using a Proxy Bean
       Testing the Client Program in the IDE
        Instantiating and Managing Server Objects
        Testing the Client
       Deploying the Client Program
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    an kԫ $7NI66$v./usr/IBMVJava/html/enterp/en_US/hgprc138.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
       Accessing Java Services over RMI: Overview
       Creating a Package for Proxy Beans
       Generating a Proxy Bean
       Creating a Client Using a Proxy Bean
       Testing the Client Program in the IDE
       Deploying the Client Program
        Deploying Server Objects and Supporting Classes: Introduction
        Defining the Server Object Instance Definition File
        Starting the Remote Object Instance Manager
        Instantiating and Managing Deployed Server Objects
        Deploying the Client
      Accessing SAP Systems
      Using the IDL Development Environment
      Using the Domino AgentRunner
    co k $7NI66$v./usr/IBMVJava/html/enterp/en_US/hgprc139.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
       Using the Access Builder
        Starting the Access Builder
        Browsing the Business Object Repository
        Browsing RFC Modules
        Creating a Local Business Object Repository
        Generating Proxy Beans for SAP Business Objects and RFC Modules
        Customizing the Access Builder
       Developing an Application
       Performing Specific Tasks
      Using the IDL Development Environment
      Using the Domino AgentRunner
    p>
    Navigating the IDE
      Browsing the Workspace
       Overview
       Moving between Windows
      Searching for Program Elements
      Printing from the IDE
      Generating HTML Documentation for Classes
      Customizing the IDE
      Integrating External Tools and Classes
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    F">
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
       Using the Access Builder
       Developing an Application
        Connecting to the R/3 System
        Integrating the LogonView Bean in Your Application
        Integrating Generated Proxy Beans
        Using Proxy Beans to Access Business Objects
        Calling RFC Modules
       Performing Specific Tasks
      Using the IDL Development Environment
      Using the Domino AgentRunner
     kZ $7NI66$v./usr/IBMVJava/html/enterp/en_US/hgprc141.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
       Using the Access Builder
       Developing an Application
       Performing Specific Tasks
        Tracing the SAP Connection of Your Application
        Invoking BAPI Methods Dynamically
        Developing R/3 Applications Using InfoBus Technology
        Supporting Different National Languages
        Running Applets with JNI Code in AppletViewer
        Running Applets with JNI Code in Netscape Communicator
        Running Applets with JNI Code in Java Plug-In
      Using the IDL Development Environment
      Using the Domino AgentRunner
    rget="c kꞙ $Q7NI66$wQ./usr/IBMVJava/html/enterp/en_US/hgprc142.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
       Using the IDL Development Environment: Overview
       Setting Up the Environment
        Importing the Java ORB
        Installing the IDL-to-Java Compiler
        Setting the Default IDL-to-Java Command and Compile Options
       Adding IDL Groups and IDL Objects
       Importing and Exporting
       Working with IDL Definitions
       Managing IDL Groups and IDL Objects
       Changing Compile Options and Generating Java Code
       Recovering from Corrupted Workspaces
      Using the Domino AgentRunner
    p>& k괝 $*7NI66$w*./usr/IBMVJava/html/enterp/en_US/hgprc143.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
       Using the IDL Development Environment: Overview
       Setting Up the Environment
       Adding IDL Groups and IDL Objects
        Adding IDL Groups
        Adding IDL Objects
       Importing and Exporting
       Working with IDL Definitions
       Managing IDL Groups and IDL Objects
       Changing Compile Options and Generating Java Code
       Recovering from Corrupted Workspaces
      Using the Domino AgentRunner
    pan=4> k $/7NI66$w/./usr/IBMVJava/html/enterp/en_US/hgprc144.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
       Using the IDL Development Environment: Overview
       Setting Up the Environment
       Adding IDL Groups and IDL Objects
       Importing and Exporting
        Importing IDL Files
        Exporting IDL Objects
       Working with IDL Definitions
       Managing IDL Groups and IDL Objects
       Changing Compile Options and Generating Java Code
       Recovering from Corrupted Workspaces
      Using the Domino AgentRunner
    > k $$7NI66$(w$./usr/IBMVJava/html/enterp/en_US/hgprc145.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
       Using the IDL Development Environment: Overview
       Setting Up the Environment
       Adding IDL Groups and IDL Objects
       Importing and Exporting
       Working with IDL Definitions
        Editing IDL Definitions
        Printing IDL Definitions
        Searching IDL Definitions
       Managing IDL Groups and IDL Objects
       Changing Compile Options and Generating Java Code
       Recovering from Corrupted Workspaces
      Using the Domino AgentRunner
    Acc k $\7NI66$@w\./usr/IBMVJava/html/enterp/en_US/hgprc146.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
       Using the IDL Development Environment: Overview
       Setting Up the Environment
       Adding IDL Groups and IDL Objects
       Importing and Exporting
       Working with IDL Definitions
       Managing IDL Groups and IDL Objects
        Versioning IDL Groups and IDL Objects
        Creating Open Editions of IDL Groups and IDL Objects
        Replacing IDL Groups and IDL Objects
        Deleting IDL Groups and IDL Objects
        Displaying Properties of IDL Groups and IDL Objects
       Changing Compile Options and Generating Java Code
       Recovering from Corrupted Workspaces
      Using the Domino AgentRunner
    >
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
       Using the IDL Development Environment: Overview
       Setting Up the Environment
       Adding IDL Groups and IDL Objects
       Importing and Exporting
       Working with IDL Definitions
       Managing IDL Groups and IDL Objects
       Changing Compile Options and Generating Java Code
        Changing the IDL-to-Java Command and Compile Options
        Generating Java Code
        Identifying IDL Definition and Compile Option Problems
       Recovering from Corrupted Workspaces
      Using the Domino AgentRunner
    p;
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
      Accessing Tools and Enterprise Access Builders
      Accessing Relational Databases
      Accessing C++ Services
      Accessing Enterprise Applications and Data
      Accessing Java Services Over RMI
      Accessing SAP Systems
      Using the IDL Development Environment
       Using the IDL Development Environment: Overview
       Setting Up the Environment
       Adding IDL Groups and IDL Objects
       Importing and Exporting
       Working with IDL Definitions
       Managing IDL Groups and IDL Objects
       Changing Compile Options and Generating Java Code
       Recovering from Corrupted Workspaces
        Recovering and Reinstalling Workspaces
        Reinstalling the IDL Development Environment
        Recovering IDL Groups and IDL Objects
      Using the Domino AgentRunner
    td>& kꐔ $m7HI66$vm./usr/IBMVJava/html/enterp/en_US/hgprc15.htmtr$$
    Navigating the IDE
      Browsing the Workspace
      Searching for Program Elements
       Searching for a Program Element in the Workspace 
       Searching by Edition Status, Owner, or Developer
       Searching for a Program Element in the Repository
       Searching for Declarations of and References to a Program Element
       Searching for Text in a Source Pane
      Printing from the IDE
      Generating HTML Documentation for Classes
      Customizing the IDE
      Integrating External Tools and Classes
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ent k $A7HI66$6wA./usr/IBMVJava/html/enterp/en_US/hgprc16.htmtr$$
    Navigating the IDE
      Browsing the Workspace
      Searching for Program Elements
      Printing from the IDE
       Printing Program Elements
       Printing Source Code and Other Text
       Printing the Graph View of a Class
      Generating HTML Documentation for Classes
      Customizing the IDE
      Integrating External Tools and Classes
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    /td>
    Navigating the IDE
      Browsing the Workspace
      Searching for Program Elements
      Printing from the IDE
      Generating HTML Documentation for Classes
      Customizing the IDE
       Setting IDE Options
       Bookmarking Program Elements
       Locking Windows Open
       Cloning Windows
      Integrating External Tools and Classes
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    rksp kh $S7HI66$wS./usr/IBMVJava/html/enterp/en_US/hgprc18.htmtr$$
    Navigating the IDE
      Browsing the Workspace
      Searching for Program Elements
      Printing from the IDE
      Generating HTML Documentation for Classes
      Customizing the IDE
      Integrating External Tools and Classes
       Setting Up a Tool for Integration
       Setting Up a Class or Bean for Integration
       Running a Tool from Within the IDE
       Updating and Removing Integrated Tools and Classes
       Example: Using the Tool Integrator API to Associate Data with a Package
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    cacra kR $7HI66$w./usr/IBMVJava/html/enterp/en_US/hgprc19.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
      Creating Programs and Program Elements
       Creating a Project
       Creating a Package
       Creating an Applet or Application
       Creating a Class
       Creating an Interface
       Creating a Method
       Creating a Field
       Using the Quick Start Window
       Writing and Formatting Source Code
       Defining Bean Interfaces for Visual Composition
       Adding Projects and Packages From the Repository
       Adding Types and Methods From the Repository
       Importing Files from the File System
       Including Resource Files in a Project
       Setting the Class Path
       Loading External Classes Dynamically
      Modifying Program Elements
      Internationalizing Your Program
      Working with the Scrapbook
      Managing Your Repository
      Bridging to Other SCM Programs (Windows NT)
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    b kn $S7HI66$wS./usr/IBMVJava/html/enterp/en_US/hgprc2.htmtr$$
    Navigating the IDE
      Browsing the Workspace
      Searching for Program Elements
      Printing from the IDE
      Generating HTML Documentation for Classes
      Customizing the IDE
      Integrating External Tools and Classes
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    port. k4 $7HI66$w./usr/IBMVJava/html/enterp/en_US/hgprc20.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
      Creating Programs and Program Elements
      Modifying Program Elements
       Saving Changes to Code
       Saving the Workspace
       Compiling Code
       Finding and Fixing Problems
       Versioning
       Releasing
       Creating an Open Edition
       Creating a Scratch Edition
       Copying or Moving a Program Element
       Renaming a Program Element
       Deleting Program Elements from the Workspace
       Comparing Two Program Elements
       Comparing Editions
       Replacing the Edition in the Workspace (Reloading)
       Merging Editions
      Internationalizing Your Program
      Working with the Scrapbook
      Managing Your Repository
      Bridging to Other SCM Programs (Windows NT)
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
     k $u7HI66$wu./usr/IBMVJava/html/enterp/en_US/hgprc21.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
      Creating Programs and Program Elements
      Modifying Program Elements
      Internationalizing Your Program
       Separating Strings for Translation
      Working with the Scrapbook
      Managing Your Repository
      Bridging to Other SCM Programs (Windows NT)
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
     kf $_7HI66$w_./usr/IBMVJava/html/enterp/en_US/hgprc22.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
      Creating Programs and Program Elements
      Modifying Program Elements
      Internationalizing Your Program
      Working with the Scrapbook
       Organizing Your Ideas in the Scrapbook
       Experimenting with Code Fragments
      Managing Your Repository
      Bridging to Other SCM Programs (Windows NT)
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    1 k ! $.7HI66$w../usr/IBMVJava/html/enterp/en_US/hgprc23.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
      Creating Programs and Program Elements
      Modifying Program Elements
      Internationalizing Your Program
      Working with the Scrapbook
      Managing Your Repository
       Backing up the Repository
       Purging Program Elements from the Repository
       Restoring Program Elements to the Repository
       Compacting a Repository
      Bridging to Other SCM Programs (Windows NT)
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    me kꨦ" $c7HI66$wc./usr/IBMVJava/html/enterp/en_US/hgprc24.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
      Creating Programs and Program Elements
      Modifying Program Elements
      Internationalizing Your Program
      Working with the Scrapbook
      Managing Your Repository
      Bridging to Other SCM Programs (Windows NT)
       Preparing to Use an External SCM Tool
       Setting Your SCM Connection Parameters
       Adding Classes to the SCM Repository
       Checking Classes Out
       Checking Classes In
       Undoing SCM Checkout
       Getting the Latest Version
       Comparing to an SCM Version
       Displaying SCM History
       Launching Your SCM Program
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ntent kv# $}7HI66$x}./usr/IBMVJava/html/enterp/en_US/hgprc25.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
      Creating Programs and Program Elements
       Creating a Project
       Creating a Package
       Creating an Applet or Application
       Creating a Class
        Creating San Francisco Business Objects
        Migrating ActiveX Components to JavaBeans
       Creating an Interface
       Creating a Method
       Creating a Field
       Using the Quick Start Window
       Writing and Formatting Source Code
       Defining Bean Interfaces for Visual Composition
       Adding Projects and Packages From the Repository
       Adding Types and Methods From the Repository
       Importing Files from the File System
       Including Resource Files in a Project
       Setting the Class Path
       Loading External Classes Dynamically
      Modifying Program Elements
      Internationalizing Your Program
      Working with the Scrapbook
      Managing Your Repository
      Bridging to Other SCM Programs (Windows NT)
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ">< k6l$ $#7HI66$x#./usr/IBMVJava/html/enterp/en_US/hgprc26.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
      Creating Programs and Program Elements
       Creating a Project
       Creating a Package
       Creating an Applet or Application
       Creating a Class
        Creating San Francisco Business Objects
         Loading San Francisco Classes for the Wizard
         Generating and Importing Code Using the Wizard
         Modifing Code after Generation
         Integrating and Running Code in San Francisco
        Migrating ActiveX Components to JavaBeans
       Creating an Interface
       Creating a Method
       Creating a Field
       Using the Quick Start Window
       Writing and Formatting Source Code
       Defining Bean Interfaces for Visual Composition
       Adding Projects and Packages From the Repository
       Adding Types and Methods From the Repository
       Importing Files from the File System
       Including Resource Files in a Project
       Setting the Class Path
       Loading External Classes Dynamically
      Modifying Program Elements
      Internationalizing Your Program
      Working with the Scrapbook
      Managing Your Repository
      Bridging to Other SCM Programs (Windows NT)
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ">
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
      Using Visual Composites Imported from Version 1
      Working with Beans Visually
       Editing Beans within a Composite Bean
       Renaming Beans and Connections
       Working in the Beans List
       Setting the Tabbing Order
       Promoting Bean Features
       Tearing Off Properties
       Editing Bean Properties
       Setting a Layout Manager during Visual Composition
       Editing Bean Labels
      Composing Beans Visually
      Manipulating Beans Visually
      Connecting Beans
      Manipulating Connections
      Managing the Beans Palette
      Using VisualAge Beans in Visual Composition
      Incorporating User-Written Code into Visual Composites
      Enabling Custom Edit Support for Your Bean
      Servlets
      Accessing Relational Data
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
     km& $|7HI66$@x|./usr/IBMVJava/html/enterp/en_US/hgprc28.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
      Using Visual Composites Imported from Version 1
      Working with Beans Visually
      Composing Beans Visually
      Manipulating Beans Visually
      Connecting Beans
      Manipulating Connections
      Managing the Beans Palette
      Using VisualAge Beans in Visual Composition
      Incorporating User-Written Code into Visual Composites
      Enabling Custom Edit Support for Your Bean
      Servlets
       Building Static HTML Pages for Servlets
       Building Interactive Pages with Servlet Builder Visual Beans
       Building Servlet Examples
       Testing Servlets
       Deploying Servlets
      Accessing Relational Data
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ">
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
      Migrating to the Team Development Environment
      Connecting to the Repository Server
       Logging In
       Connecting to a Shared Repository
       Changing Workspace Owner
      Working with Team Editions
      Sharing Resource Files
      Assigning Team Roles
      Working with Multiple Repositories
      Working at a Standalone Workstation
      Recovering from a Server Failure
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    wi kꞲ( $O7HI66$tO./usr/IBMVJava/html/enterp/en_US/hgprc3.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
      Creating Programs and Program Elements
      Modifying Program Elements
      Internationalizing Your Program
      Working with the Scrapbook
      Managing Your Repository
      Bridging to Other SCM Programs (Windows NT)
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    p khj) $7HI66$Mx./usr/IBMVJava/html/enterp/en_US/hgprc30.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
      Migrating to the Team Development Environment
      Connecting to the Repository Server
      Working with Team Editions
       Building a Team Baseline
       Managing Editions
       Finding Unreleased Editions in the Workspace
       Finding Unversioned Editions in the Workspace
       Viewing the Developer's Name
       Viewing the Owner's Name
      Sharing Resource Files
      Assigning Team Roles
      Working with Multiple Repositories
      Working at a Standalone Workstation
      Recovering from a Server Failure
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    =2>Con kxX* $:7HI66$Xx:./usr/IBMVJava/html/enterp/en_US/hgprc31.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
      Migrating to the Team Development Environment
      Connecting to the Repository Server
      Working with Team Editions
      Sharing Resource Files
      Assigning Team Roles
       Adding Package Group Members
       Changing a Program Element's Owner
      Working with Multiple Repositories
      Working at a Standalone Workstation
      Recovering from a Server Failure
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    661">< k+ $7HI66$bx./usr/IBMVJava/html/enterp/en_US/hgprc32.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
      Migrating to the Team Development Environment
      Connecting to the Repository Server
      Working with Team Editions
      Sharing Resource Files
      Assigning Team Roles
      Working with Multiple Repositories
       Viewing Your Repository Connection
       Changing Repositories
       Importing from Another Repository
       Exporting to Another Repository
      Working at a Standalone Workstation
      Recovering from a Server Failure
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
      Running an Applet
      Running an Application
      Making Run-Time Changes to an Applet
      Debugging during the Development Cycle
       Overview
       Opening the Debugger Manually
       Suspending, Resuming, and Terminating Threads
       Setting Breakpoints in Source Code
       Configuring and Setting Conditions on Breakpoints
       Setting Breakpoints in External Classes
       Selecting Exceptions for the Debugger to Catch
       Clearing and Disabling Breakpoints
       Inspecting and Modifying Variable Values
       Stepping through Methods
       Modifying Code While Debugging
       Evaluating Expressions in the Debugger
       Generating the Class Trace
       Setting Debugger Options
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ks/t kvm- $h7HI66$xh./usr/IBMVJava/html/enterp/en_US/hgprc34.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
      Overview
      Exporting Bytecode
      Exporting Source Code
      Exporting Resource Files
      Exporting for Debugging
      Deploying an Applet on the Network Station
      Deploying an Application on the Network Station
      Preparing Your Application for Tivoli Connection
       Adding Tivoli Events to Your Application
       Testing Your Application
       Setting Up the Tivoli Enterprise Console
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
     k~. $7JI66$x./usr/IBMVJava/html/enterp/en_US/hgprc35.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
      Setting Up a Team Server
       Overview
       Installing EMSRV as a Service in the Windows NT Registry
       Removing EMSRV from the Windows NT Registry
       Authorizing the EMSRV User (Windows NT)
      Providing a Standard Workspace
      Enabling Password Validation
      Starting the Repository Server (EMSRV)
      Migrating to the Team Development Environment
      Stopping a Client Connection
      Stopping the Server
      Monitoring the Server
      Managing Repositories
      Optimizing Server Performance
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    na kꖵ/ $7JI66$x./usr/IBMVJava/html/enterp/en_US/hgprc36.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
      Setting Up a Team Server
      Providing a Standard Workspace
      Enabling Password Validation
       Overview
       Enabling Native Password Validation
       Enabling Password Validation with the passwd.dat File
      Starting the Repository Server (EMSRV)
      Migrating to the Team Development Environment
      Stopping a Client Connection
      Stopping the Server
      Monitoring the Server
      Managing Repositories
      Optimizing Server Performance
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    cols k궊0 $c7JI66$xc./usr/IBMVJava/html/enterp/en_US/hgprc37.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
      Setting Up a Team Server
      Providing a Standard Workspace
      Enabling Password Validation
      Starting the Repository Server (EMSRV)
       On Windows NT
       On OS/2
       On AIX, HP-UX, or Solaris
       On NetWare
      Migrating to the Team Development Environment
      Stopping a Client Connection
      Stopping the Server
      Monitoring the Server
      Managing Repositories
      Optimizing Server Performance
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    /ngca kX1 $]7JI66$x]./usr/IBMVJava/html/enterp/en_US/hgprc38.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
      Setting Up a Team Server
      Providing a Standard Workspace
      Enabling Password Validation
      Starting the Repository Server (EMSRV)
      Migrating to the Team Development Environment
      Stopping a Client Connection
      Stopping the Server
      Monitoring the Server
       Displaying Server Connections
       Displaying Server Statistics
       Displaying Active EMSRV Settings
       Displaying EMSRV Messages
       Setting the Server Disk Threshold
       Setting EMSRV Message Logging Options
       Changing EMSRV Settings (NetWare)
      Managing Repositories
      Optimizing Server Performance
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    th= kw2 $L7JI66$xL./usr/IBMVJava/html/enterp/en_US/hgprc39.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
      Setting Up a Team Server
      Providing a Standard Workspace
      Enabling Password Validation
      Starting the Repository Server (EMSRV)
      Migrating to the Team Development Environment
      Stopping a Client Connection
      Stopping the Server
      Monitoring the Server
      Managing Repositories
       Creating a Repository
       Adding Users to the Repository User List
       Changing the EMSRV Working Directory
       Backing Up a Shared Repository
       Purging Program Elements from the Repository
       Restoring Program Elements to the Repository
       Compacting a Repository
       Dividing a Repository
      Optimizing Server Performance
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    if"> k֐3 $<7HI66$x<./usr/IBMVJava/html/enterp/en_US/hgprc4.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
      Using Visual Composites Imported from Version 1
      Working with Beans Visually
      Composing Beans Visually
      Manipulating Beans Visually
      Connecting Beans
      Manipulating Connections
      Managing the Beans Palette
      Using VisualAge Beans in Visual Composition
      Incorporating User-Written Code into Visual Composites
      Enabling Custom Edit Support for Your Bean
      Servlets
      Accessing Relational Data
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ">
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
       Running Programs
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    le  k겤5 $7JI66$x./usr/IBMVJava/html/enterp/en_US/hgprc41.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
       Start or stop debugging a program
       Debug Variable Contents and Memory
       Debug logic and program flow
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    r>  k6 $7JI66$x./usr/IBMVJava/html/enterp/en_US/hgprc42.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
        Setting Environment Variables with the setenvhpj Command  
        Setting Environment Variables Manually 
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
       Running Programs
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
     k7 $7JI66$x./usr/IBMVJava/html/enterp/en_US/hgprc43.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
        Setting Compile Session Options in the IDE 
        Setting Basic Compile Options in the IDE 
        Setting Advanced Compile Options in the IDE 
        Setting Optimization Options in the IDE 
        Setting Run/Debug Session Options in the IDE 
       Building Programs
       Running Programs
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    "hgprc k8 $7JI66$y./usr/IBMVJava/html/enterp/en_US/hgprc44.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
        Building Programs with the IDE 
        Building Programs from the Command Line
        Fine-Tuning Performance 
       Running Programs
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    r k29 $7JI66$ y./usr/IBMVJava/html/enterp/en_US/hgprc45.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
       Running Programs
        Running Programs from the IDE 
        Running Programs from the Command Line
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    n=4>De k: $7JI66$y./usr/IBMVJava/html/enterp/en_US/hgprc46.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
       Running Programs
       Debugging Programs
        Debugging Programs from the IDE 
        Debugging Programs from the Command Line 
        Preventing Unexpected Program Interruptions in the Debugger 
        Displaying Multidimensional Array Elements in the Debugger  
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    g Your k; $}7JI66$y}./usr/IBMVJava/html/enterp/en_US/hgprc47.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
        Building Programs with the IDE 
        Building Programs from the Command Line
         Building Executables and DLLs
         Building Applications with JNI
         Building Specialized Applications and Applets
        Fine-Tuning Performance 
       Running Programs
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
        Building Programs with the IDE 
        Building Programs from the Command Line
         Building Executables and DLLs
          Overview 
          Compiling and Linking Executables or Compound DLLs  
          Compiling and Linking Simple DLLs
          Partially Compiling Executables or Compound DLLs without Linking  
          Partially Compiling Executables or Compound DLLs with Linking 
          Linking Executables or Compound DLLs without Compiling  
         Building Applications with JNI
         Building Specialized Applications and Applets
        Fine-Tuning Performance 
       Running Programs
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    s a khq= $7JI66$./usr/IBMVJava/html/enterp/en_US/hgprc49.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
        Building Programs with the IDE 
        Building Programs from the Command Line
         Building Executables and DLLs
         Building Applications with JNI
          Building Native Method DLLs 
          Building Applications with JNI Invocation Interfaces  
         Building Specialized Applications and Applets
        Fine-Tuning Performance 
       Running Programs
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    e k#> $w 7HI66$uw ./usr/IBMVJava/html/enterp/en_US/hgprc5.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
      Deciding Which Path to Take
      Using Code Generation Services
      Creating Services Manually (an advanced topic)
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    3 kN? $7JI66$./usr/IBMVJava/html/enterp/en_US/hgprc50.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
        Building Programs with the IDE 
        Building Programs from the Command Line
         Building Executables and DLLs
         Building Applications with JNI
         Building Specialized Applications and Applets
          Building Applications with Third-Party Classes 
          Building Database Applications 
          Building RMI Applications
          Building Swing Applications 
          Building Applets 
        Fine-Tuning Performance 
       Running Programs
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    > k@ $7JI66$$./usr/IBMVJava/html/enterp/en_US/hgprc51.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
       Running Programs
        Running Programs from the IDE 
        Running Programs from the Command Line
         Running Executables and DLLs
         Running Specialized Applications and Applets
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    he kHA $7JI66$/./usr/IBMVJava/html/enterp/en_US/hgprc52.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
       Running Programs
        Running Programs from the IDE 
        Running Programs from the Command Line
         Running Executables and DLLs
          Running Executables 
          Running DLLs with the hpjava Command 
         Running Specialized Applications and Applets
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    f kNB $7JI66$@./usr/IBMVJava/html/enterp/en_US/hgprc53.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
       Setting Up the High-Performance Compiler Environment
       Setting Compile and Run/Debug Properties in the IDE
       Building Programs
       Running Programs
        Running Programs from the IDE 
        Running Programs from the Command Line
         Running Executables and DLLs
         Running Specialized Applications and Applets
          Running Database Applications 
          Running RMI Applications
          Running Swing Applications
          Running Applets 
       Debugging Programs
       Deploying Applications 
      Debugging Programs Using the Remote Debugger
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
     k=C $7JI66$M./usr/IBMVJava/html/enterp/en_US/hgprc54.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
        Write programs for debugging
        Compile a program for debugging
        Establish a debug environment
        Debug optimized code
       Start or stop debugging a program
       Debug Variable Contents and Memory
       Debug logic and program flow
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    &n kuD $'7JI66$Z'./usr/IBMVJava/html/enterp/en_US/hgprc55.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
       Start or stop debugging a program
        Start the debugger on Intel platforms
        Start the debugger on UNIX workstation platforms
        Start the debugger and the remote program (Interpreted Java Only)
        Start the debugger and the remote Program (HPC Java Only)
        Start debugging an HPC Java DLL
        Start debugging an applet
        Invoke the debugger
        Attach to a process (HPC Java only)
        Attach to a Java Virtual Machine
        Debug a class
        Start debugging a class from a Load Occurrence Breakpoint dialog (HPC Java only)
        Start debugging class from a Source window
        Start debugging class from the Breakpoints List window (HPC Java Only)
        Start debugging class from the Session Control window
        Set and delete breakpoints in your program
        Run, step through, or stop a program
        Terminate a debug session
       Debug Variable Contents and Memory
       Debug logic and program flow
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    1 kNE $<7JI66$n<./usr/IBMVJava/html/enterp/en_US/hgprc56.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
       Start or stop debugging a program
       Debug Variable Contents and Memory
        View a location in storage (HPC Java only)
        Change the contents of storage, variables, and registers (HPC Java only)
        Add expressions and variables to a monitor
        Open a new Storage monitor (HPC Java only)
        View variables, memory, registers, and the stack
       Debug logic and program flow
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    bor kF $ 7JI66$ ./usr/IBMVJava/html/enterp/en_US/hgprc57.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
       Start or stop debugging a program
       Debug Variable Contents and Memory
       Debug logic and program flow
        Set, clear, enable, and disable breakpoints
        Step through, run, or halt a program
        Skip over sections of code (HPC Java only)
        View the contents of variables, memory, registers, and the stack.
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ="hgpr kG $7JI66$./usr/IBMVJava/html/enterp/en_US/hgprc58.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
       Start or stop debugging a program
       Debug Variable Contents and Memory
       Debug logic and program flow
       Debug unexpected exceptions or traps (HPC Java Ony)
        Obtain a Dump File (HPC Java Only)
        Start JTRAPPER (HPC Java Only)
        Debug Dump Files (HPC Java Only)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    > kH $-7JI66$-./usr/IBMVJava/html/enterp/en_US/hgprc59.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
        Write programs for debugging
        Compile a program for debugging
        Establish a debug environment
         Set environment variables for the debugger
         Specify command-line options for your program
         Start the debug session
        Debug optimized code
       Start or stop debugging a program
       Debug Variable Contents and Memory
       Debug logic and program flow
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ht= k0I $7HI66$./usr/IBMVJava/html/enterp/en_US/hgprc6.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
      Migrating to the Team Development Environment
      Connecting to the Repository Server
      Working with Team Editions
      Sharing Resource Files
      Assigning Team Roles
      Working with Multiple Repositories
      Working at a Standalone Workstation
      Recovering from a Server Failure
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    i l@qJ $07JI66$./usr/IBMVJava/html/enterp/en_US/hgprc60.htmtr$$   <>adt"/=bceghinoprs14lm &.0;fkuvw235#678CPSy9DFHJ()AEILOTx,BMRUVWjNXY-ee P*AH Hj)$ MCs a"D@e P*AH HlkAr͗-h0 6_J]&iK(TiK(s P)z>~ {MŠddq 9ql\ Mw{PA4չMNJA^s;حTBf>@^s7Wt@g?Ҝǣ콧kAM,Z FJ, MIr@is 8bwZl1͖}? UWJS8,rʄ\P.Pdӟ^ E,, T;Jsr lbf2Q"偀r Ir@is 8bwZl1͖}? UWJS8,rʄ\P.Pdct0[P)z>~6^dh3Y($C|0I[)0.HCM5nc}Sg\+U-8YϹgjP*qנ'YP :m)~t _g?Ҝǣ콧kAM,Z FJo lL%˒wM[A3Kd!lY0ZT u 9>bAg?Ҝǣ콧kA/iX, -Ų r4=AV7A59)qzbRc, zpF{+_-#X=8 KK,, T;Jsr  /iX , lL%˒wM[A3Kd!lY0ZT u c {Cg?Ҝǣ콧kA"@l-k#%偂-Ų r4=AV7A59)qzbRc, zp5=1rYoC1G//iZbB lbf2Q偈Aql\ Mw{PA4չMNJA^s;خ8YϹgjP*qנ'fɋ= -.t.sT*p+?YX-v=`wqg~H6^dh3Y("偁"@ql\ Mw{PA4չMNJA^s;حTBf>@^pP.Pd{kںƀ \EԺ@ *9G9EY$ {MŠddo$ &ql\ Mw{PA4չMNJA^s;خ8YϹgjP*qנc :ijV\=t-#X *9G9EY;8ee?KZ H@He6K5I, HA$-Ų r4=AV7A59)qzbRc, z0%dڌit.ZF{,g``S|#ޙU/3?_^Ąlbf2Q$o$ n-K$ j&1 H3.g{߲ 6Y,-U_*N:e~ɋPjl-kf2g ̀}BU?kcڌiv}?YX-v=`wqgL*ޙU//iZbBA͖Ir@is 8bw pe@^|1~*MŠܴ`?L~ol~ںkT@%%or *9G9EY;8e`wqg~eRa.\& j&% /X(C,gjP*qנ/kL_ʃoSdh7-#X,, T;Jsr;8e`wqgL*-h1!$-Ų r4=AV7A59)qzgABf? UWJS{_bT%Ai&ٌ3,ol~ںkVںˇ(2Z]P\%P4Y,g``S|#ޙU/3?_zgV콧kA 6[e&h{ڂ ojrR ΂1͖ zd ?56Kr5L3[ , ׵uH1rWu%]KK TϹg?Ҝǣ"EY;8ee?KZ H@Hn-K$ j&1 H3.g{:  6Y0ZT u2[,Z H3d韶,, T;Jsr;8e`wqgL*-h1! eRa.\& j&% /X(C,gjP*qנ/kL_ʃoSdh7-#X^옿AbnZFxɟc&K; ̀%1u]r5\0[P)z>L*ޙU/3?_^Ąql\ Mw{PA4չMNJA^s;P8YURT@>^옿AbnZFxɟc&Nb!Y_ ڌt@X* }?YX-v=`wqgL*ޙU//iZbBMIr@is 8bw pe@^|1~*MŠܴ`?LÄ76Sk[@^wKTYoC1G/3?_zgV"{Oփ n-K$ j&1 H3.g{:  6Y0ZT u2[,Z H3dTPf!iQ[9,g``S|#ޙU/3?_zgV콧kA-Ų r4=AV7A59)qzgABf? UWJS{_bT%Ai&ٌPP?>Ϲg?Ҝǣ"EY;8ee?KZ H@lbf2PHH`bB-Ų r4=AV7A59)qzb{Bf>@^|/_)~L#?N}`6UAg``S|#ޙU/3?_zgV"{Oփ-Ų r4=AV7A59)qzgABf? UW&/eAX2gɟҘŤC|`1[\kԙ/FF`vP4Y,g``S|#ޙU/3?_zgV"{Oփ-Ų r4=AV7A59)qzgABf? UW&/eAX2gɟ5NxfbsId`r *9G9EY;8e`wqgL*-h1!pn-K$ j&1 H3.g{:  6Y0Z콯1~*MŠܴ`?Lĩb,i^蔺L#?gܳe偂ʇiNc_zgV"EY;8ee?KZ H@ I[)0.HCM5nc}Sg\t!l``U{_bT%Ai&ٌ3ĩol/2^ j9:N?>Ϲg?Ҝǣ"EY;8e`wqg~Aql\ Mw{PA4չMNJA^s;P8YUe~ɋPjl-kf2gJ!Yz20st.P.%.}?YX-v=`wqgL*ޙU/3?_^Ą͖Ir@is 8bw pe2[,Z H3dZb!YRd9:(^1sA(C>,, T;Jsr;8e`wqgL*ޙU//iZbBql\ Mw{PA4չMNJA^s;P8YUe~ɋPjl-kf2g,, T;Jsr;8e`wqgL*ޙU//iZbB9[)0.HCM5nc}Sg\t!l``U{_bT%Ai&ٌ),,,J*%,g``S|#ޙU/3?_zgV콧kA6^dh3Y(@`bBql\ Mw{PA4չMNJA^s;حTBf>@^|1~*MŠܴ`?L҄76(׀OXJmFPd>,, T;Jsr;8e`wqgL*-h1!8 n-K$ j&1 H3.g{:  6Y0ZT u2[,Z H3dȷ,, T;Jsr;8e`wqg~H {MŠdd8`bB"MIr@is 8bwZl1͖}? UWJS-#Y@v*ZYp6 *9G9EY;8ee?KZ I$/iX, H@6[e&h{ڂ ojrR j 6Y,-U_*N:`e9Uꌠit,e偂ʇiNc_zgV"{OփIse6K5A"偉$ Ir@is 8bwZl1͖}? UWJS-#YC^԰Ρ*lg@  @- g?Ҝǣ"EY$ql\ Mw{PA4չMNJA^s;P8YURT@F^옿AbnZFxɟc&IiJ!Y{ElI=%m΄0[P)z>L*ޙU//iZbI lL%˒wM[A3c,-U_*N:e~ɋPjl-kf2gjiO, njo׵tc= P`vP4Y,g``S|#ޙU/3?_^Ē@lL%˒wM[A3c,-U_*N:e~ɋPjl-kf2g0,=r5\{:([@ C>,, T;Jsr;8e`wqg~Aě-Ų r4=AV7A59)qzgABf? UWJS{_bT%Ai&ٌ#bʘfr8XoKn)sYoC1G/3?_zgV콧kA-Ų r4=AV7A59)qzgABf? UWJS{_bT%Ai&ٌ*hfSu]rΜڜK@}r *9G9EY;8ee?KZ H$eRa.\& j&% /X(C,gjP*qנ#/kL_ʃoSdh7-#X@^R7=]:ke偂 UUU,T u ?__J])e8 M)es؁4=A9,eԔ0nY坾YX( 1  kvK $<-7JI66$٠<-./usr/IBMVJava/html/enterp/en_US/hgprc61.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
       Start or stop debugging a program
        Start the debugger on Intel platforms
        Start the debugger on UNIX workstation platforms
        Start the debugger and the remote program (Interpreted Java Only)
        Start the debugger and the remote Program (HPC Java Only)
        Start debugging an HPC Java DLL
        Start debugging an applet
        Invoke the debugger
        Attach to a process (HPC Java only)
        Attach to a Java Virtual Machine
        Debug a class
        Start debugging a class from a Load Occurrence Breakpoint dialog (HPC Java only)
        Start debugging class from a Source window
        Start debugging class from the Breakpoints List window (HPC Java Only)
        Start debugging class from the Session Control window
        Set and delete breakpoints in your program
        Run, step through, or stop a program
         Run your program
         Step through your program
         Halt execution of a program (HPC Java only)
         Skip over sections of code
         Restart your program
        Terminate a debug session
       Debug Variable Contents and Memory
       Debug logic and program flow
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    d>
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
       Start or stop debugging a program
       Debug Variable Contents and Memory
        View a location in storage (HPC Java only)
        Change the contents of storage, variables, and registers (HPC Java only)
        Add expressions and variables to a monitor
        Open a new Storage monitor (HPC Java only)
        View variables, memory, registers, and the stack
         Add a variable or expression to a monitor
         View variable contents
         Edit variable contents (HPC Java only)
         View a location in storage (HPC Java only)
         View the contents of registers (HPC Java only)
         View the contents of the program stack
         Change the Storage monitor address range (HPC Java only)
         Change the representation of storage (HPC Java only)
         Display floating-point register contents (HPC Java only)
         Change the contents of registers (HPC Java only)
         Change which registers are displayed (HPC Java only)
       Debug logic and program flow
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    /td>
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
       Start or stop debugging a program
       Debug Variable Contents and Memory
       Debug logic and program flow
        Set, clear, enable, and disable breakpoints
         Set breakpoints
         Clear breakpoints
         Enable and disable breakpoints
         Modify breakpoint characteristics
        Step through, run, or halt a program
        Skip over sections of code (HPC Java only)
        View the contents of variables, memory, registers, and the stack.
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    "co kVN $D7JI66$D./usr/IBMVJava/html/enterp/en_US/hgprc64.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
      Compiling Programs with the High-Performance Compiler
      Debugging Programs Using the Remote Debugger
       Prepare a program for debugging
       Start or stop debugging a program
       Debug Variable Contents and Memory
       Debug logic and program flow
        Set, clear, enable, and disable breakpoints
        Step through, run, or halt a program
         Run your program
         Step through your program
         Halt execution of a program (HPC Java only)
         Restart your program
         Terminate a debug session
        Skip over sections of code (HPC Java only)
        View the contents of variables, memory, registers, and the stack.
       Debug unexpected exceptions or traps (HPC Java Ony)
       Change mouse button 2 behavior
       Change the layout of the Registers monitor (HPC Java only)
       Open other debugger windows from a Source window
       View different source files
       Change views in a source window
       Display methods in the Call Stack window
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ks/t kO $7JI66$./usr/IBMVJava/html/enterp/en_US/hgprc65.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
       Running Java Applications in the OS/390 Shell
       Running Java Programs under CICS/ESA
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    1 S] krP $7JI66$./usr/IBMVJava/html/enterp/en_US/hgprc66.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
       Connecting to OS/390 from VisualAge for Java
       Creating Projects for OS/390 Java Applications
       Building Interpreted Java Applications for OS/390
       Building OS/390 Java Executables and DLLs
       Building Java Programs to Run under CICS/ESA
       Running OS/390 Java Applications from the Integrated Development Environment
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    valign kIQ $7LI66$./usr/IBMVJava/html/enterp/en_US/hgprc67.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
       Debugging Variable Contents and Memory
       Debugging Logic and Program Flow
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    < kꀽR $Z7LI66$Z./usr/IBMVJava/html/enterp/en_US/hgprc68.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
       Starting and Exiting the Trace File Analysis
       Opening a Trace File in a Diagram
       Navigating the Trace File View
       Searching for Trace Data in a Diagram
       Controlling What Data Is Shown in a Diagram
       Downloading the Trace File from the Host
       Analyzing Your Trace File
    Targeting Programs for AS/400
    Accessing the Enterprise
    ograms kjS $7JI66$./usr/IBMVJava/html/enterp/en_US/hgprc69.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
        Building OS/390 Interpreted Java Applications
        Building OS/390 Java Executables and DLLs
        Building Java Programs to Run under CICS/ESA
       Running Java Applications in the OS/390 Shell
       Running Java Programs under CICS/ESA
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    op>
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
      Running an Applet
      Running an Application
      Making Run-Time Changes to an Applet
      Debugging during the Development Cycle
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ht=1 k|U $7JI66$ ./usr/IBMVJava/html/enterp/en_US/hgprc70.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
       Running Java Applications in the OS/390 Shell
        Running Interpreted Java in the OS/390 JVM
        Running Java Executables and DLLs under OS/390 UNIX
       Running Java Programs under CICS/ESA
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    ping P kV $'7JI66$'./usr/IBMVJava/html/enterp/en_US/hgprc71.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
       Running Java Applications in the OS/390 Shell
       Running Java Programs under CICS/ESA
        Running CICS Java Programs
        Accessing Java Resource Files under CICS
        Preparing Run-time Environment to Access Java DLLs under CICS/ESA
        Defining Resources to CICS/ESA to Access a Java DLL
        Debugging CICS/ESA Java Programs
        Starting the Debugger Daemon at the Workstation
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    > kbW $7JI66$!./usr/IBMVJava/html/enterp/en_US/hgprc72.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
        Building OS/390 Interpreted Java Applications
         Compiling OS/390 Interpreted Java Applications
         Compiling Interpreted Java for Debugging
        Building OS/390 Java Executables and DLLs
        Building Java Programs to Run under CICS/ESA
       Running Java Applications in the OS/390 Shell
       Running Java Programs under CICS/ESA
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
     k긎X $7JI66$,./usr/IBMVJava/html/enterp/en_US/hgprc73.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
        Building OS/390 Interpreted Java Applications
        Building OS/390 Java Executables and DLLs
         Building OS/390 Java Executables on HFS
         Building OS/390 Java Executables in PDSE Members
         Building OS/390 Java DLLs on HFS
         Building OS/390 Java DLLs in PDSE Members
         Building an OS/390 Java Executable or DLL in Two Steps
         Binding Language Environment Run-Time Options
         Identifying OS/390 Unsupported Java Code
         Building Java Executables and DLLs for Debugging
         Building Java Executables and DLLs for Tracing
        Building Java Programs to Run under CICS/ESA
       Running Java Applications in the OS/390 Shell
       Running Java Programs under CICS/ESA
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    es on  kY $E7JI66$@E./usr/IBMVJava/html/enterp/en_US/hgprc74.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
        Building OS/390 Interpreted Java Applications
        Building OS/390 Java Executables and DLLs
        Building Java Programs to Run under CICS/ESA
         Building CICS  Java Programs
         Defining Resources to CICS/ESA To Run a New Java Executable
         Building Java Executables in PDSE Members
         Refreshing CICS Programs 
         Building CICS/ESA Java Programs for Debugging
       Running Java Applications in the OS/390 Shell
       Running Java Programs under CICS/ESA
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    =14 kZ $27JI66$M2./usr/IBMVJava/html/enterp/en_US/hgprc75.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
       Running Java Applications in the OS/390 Shell
        Running Interpreted Java in the OS/390 JVM
         Running Java Bytecode in the OS/390 JVM
         Debugging Java Bytecode in the OS/390 JVM
         Starting the Debugger Daemon at the Workstation
        Running Java Executables and DLLs under OS/390 UNIX
       Running Java Programs under CICS/ESA
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    #370"> k|[ $a7JI66$Xa./usr/IBMVJava/html/enterp/en_US/hgprc76.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
       Running Java Applications in the OS/390 Shell
        Running Interpreted Java in the OS/390 JVM
        Running Java Executables and DLLs under OS/390 UNIX
         Running HFS Java Executables in OS/390 UNIX
         Running a Java Executable That is in a PDSE Member
         Running HFS Java DLLs
         Accessing HFS Java DLLs under OS/390 UNIX
         Accessing PDSE Java DLLs under OS/390 UNIX
         Debugging Java Executables and DLLs
         Starting the Debugger Daemon at the Workstation
         Tracing Java Executables and DLLs
       Running Java Programs under CICS/ESA
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    d colsp k>\ $" 7JI66$f" ./usr/IBMVJava/html/enterp/en_US/hgprc77.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
       Building Java Applications in the OS/390 Shell
       Running Java Applications in the OS/390 Shell
        Running Interpreted Java in the OS/390 JVM
        Running Java Executables and DLLs under OS/390 UNIX
         Running HFS Java Executables in OS/390 UNIX
         Running a Java Executable That is in a PDSE Member
         Running HFS Java DLLs
         Accessing HFS Java DLLs under OS/390 UNIX
         Accessing PDSE Java DLLs under OS/390 UNIX
         Debugging Java Executables and DLLs
         Starting the Debugger Daemon at the Workstation
         Tracing Java Executables and DLLs
          Setting Environment Variables for Tracing
          Setting Run-Time Option PROFILE for Tracing
          Creating a Trace File
          Tracing a Specific DLL
          Specifying Trace File Name
       Running Java Programs under CICS/ESA
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    d> k] $7JI66$./usr/IBMVJava/html/enterp/en_US/hgprc78.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
       Connecting to OS/390 from VisualAge for Java
        Logging on to OS/390
        Adding OS/390 Host Session
        Refreshing OS/390 Host Session
        Logging off from OS/390
       Creating Projects for OS/390 Java Applications
       Building Interpreted Java Applications for OS/390
       Building OS/390 Java Executables and DLLs
       Building Java Programs to Run under CICS/ESA
       Running OS/390 Java Applications from the Integrated Development Environment
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
     k ^ $7JI66$./usr/IBMVJava/html/enterp/en_US/hgprc79.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
       Connecting to OS/390 from VisualAge for Java
       Creating Projects for OS/390 Java Applications
       Building Interpreted Java Applications for OS/390
        Compiling OS/390 Interpreted Java Applications
        Compiling OS/390 Interpreted Java for Debugging
       Building OS/390 Java Executables and DLLs
       Building Java Programs to Run under CICS/ESA
       Running OS/390 Java Applications from the Integrated Development Environment
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    d> kV_ $S7HI66$wS./usr/IBMVJava/html/enterp/en_US/hgprc8.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
      Overview
      Exporting Bytecode
      Exporting Source Code
      Exporting Resource Files
      Exporting for Debugging
      Deploying an Applet on the Network Station
      Deploying an Application on the Network Station
      Preparing Your Application for Tivoli Connection
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ">
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
       Connecting to OS/390 from VisualAge for Java
       Creating Projects for OS/390 Java Applications
       Building Interpreted Java Applications for OS/390
       Building OS/390 Java Executables and DLLs
        Getting Started with the Building of OS/390 Java Executables
        Building OS/390 Java Executables
        Building OS/390 Java DLLs
        Binding Language Environment Run-Time Options
        Building an OS/390 Java Executable or DLL in Two Steps
        Identifying OS/390 Unsupported Java Code
        Changing ET/390 Properties
        Building OS/390 Java Executables and DLLs for Debugging
        Building Java Executables and DLLs for Tracing
       Building Java Programs to Run under CICS/ESA
       Running OS/390 Java Applications from the Integrated Development Environment
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    sr kra $"7LI66$"./usr/IBMVJava/html/enterp/en_US/hgprc81.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
       Connecting to OS/390 from VisualAge for Java
       Creating Projects for OS/390 Java Applications
       Building Interpreted Java Applications for OS/390
       Building OS/390 Java Executables and DLLs
       Building Java Programs to Run under CICS/ESA
        Building Java Executables and DLLs to Run under CICS/ESA
        Building CICS/ESA Java Executables and DLLs for Debugging
       Running OS/390 Java Applications from the Integrated Development Environment
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    href=" k0}b $7LI66$./usr/IBMVJava/html/enterp/en_US/hgprc82.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
       Connecting to OS/390 from VisualAge for Java
       Creating Projects for OS/390 Java Applications
       Building Interpreted Java Applications for OS/390
       Building OS/390 Java Executables and DLLs
       Building Java Programs to Run under CICS/ESA
       Running OS/390 Java Applications from the Integrated Development Environment
        Running Java Bytecode in the OS/390 JVM
        Debugging Java Bytecode in the OS/390 JVM
        Running OS/390 Java Executables
        Debugging OS/390 Java Executables
        Tracing OS/390 Java Executables and DLLs
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    d ksc $7LI66$./usr/IBMVJava/html/enterp/en_US/hgprc83.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
        Starting debugging executable from a Load Occurrence Breakpoint dialog
        Starting debugging executable from a Source window
        Starting debugging executable from the Breakpoints List window
        Starting debugging executable from the Session Control window
        Setting and Deleting Breakpoints in your Program
        Running or Stepping through a Program
        Terminating a Debug Session
       Debugging Variable Contents and Memory
       Debugging Logic and Program Flow
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    sualAge kꞴd $7LI66$ͨ./usr/IBMVJava/html/enterp/en_US/hgprc84.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
       Debugging Variable Contents and Memory
        Viewing a Location in Storage
        Changing the Contents of Storage
        Adding Expressions and Variables to a Monitor
        Opening a New Storage Monitor
        Viewing Variables, Memory, Registers, and the Stack
       Debugging Logic and Program Flow
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
       Debugging Variable Contents and Memory
       Debugging Logic and Program Flow
        Setting, Clearing, Enabling, and Disabling Breakpoints
        Stepping through, Running, or Halting a Program
        Skipping over Sections of Code Using Jump to Location Commands
        Viewing the Contents of Variables, Memory, Registers, and the Stack.
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    >
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
       Debugging Variable Contents and Memory
       Debugging Logic and Program Flow
       Opening Debugger Windows
        Opening Other Debugger Windows from a Source Window
        Viewing Different class Files
        Displaying methods in the Call Stack Window
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
     kg $S"7LI66$S"./usr/IBMVJava/html/enterp/en_US/hgprc87.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
        Starting debugging executable from a Load Occurrence Breakpoint dialog
        Starting debugging executable from a Source window
        Starting debugging executable from the Breakpoints List window
        Starting debugging executable from the Session Control window
        Setting and Deleting Breakpoints in your Program
         Setting a deferred breakpoint
         Setting a Line Breakpoint
         Setting Multiple Breakpoints
         Setting Breakpoints from the Breakpoints List window
         Setting Breakpoints from a Source window
         Setting Method Breakpoints from the Session Control window
         Deleting Breakpoints
         Deleting All Breakpoints
        Running or Stepping through a Program
        Terminating a Debug Session
       Debugging Variable Contents and Memory
       Debugging Logic and Program Flow
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    n=top kh $7LI66$./usr/IBMVJava/html/enterp/en_US/hgprc88.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
        Starting debugging executable from a Load Occurrence Breakpoint dialog
        Starting debugging executable from a Source window
        Starting debugging executable from the Breakpoints List window
        Starting debugging executable from the Session Control window
        Setting and Deleting Breakpoints in your Program
        Running or Stepping through a Program
         Running your program
         Stepping through your Program
        Terminating a Debug Session
       Debugging Variable Contents and Memory
       Debugging Logic and Program Flow
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    sp kpi $!7LI66$!./usr/IBMVJava/html/enterp/en_US/hgprc89.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
       Debugging Variable Contents and Memory
        Viewing a Location in Storage
        Changing the Contents of Storage
        Adding Expressions and Variables to a Monitor
        Opening a New Storage Monitor
        Viewing Variables, Memory, Registers, and the Stack
         Adding a Variable or Expression to a Monitor
         Viewing Variable Contents
         Editing Variable Contents
         Viewing storage contents
         Viewing the Contents of Registers
         Viewing the Contents of the Program Stack
         Changing the Storage Monitor Address Range
         Changing the Representation of Storage
         Changing the Contents of Registers
         Changing Which Registers Are Displayed
       Debugging Logic and Program Flow
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    gi k qj $7JI66$!./usr/IBMVJava/html/enterp/en_US/hgprc9.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
      Setting Up a Team Server
      Providing a Standard Workspace
      Enabling Password Validation
      Starting the Repository Server (EMSRV)
      Migrating to the Team Development Environment
      Stopping a Client Connection
      Stopping the Server
      Monitoring the Server
      Managing Repositories
      Optimizing Server Performance
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
    Accessing the Enterprise
    ="image kҿk $7LI66$*./usr/IBMVJava/html/enterp/en_US/hgprc90.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
       Debugging Variable Contents and Memory
       Debugging Logic and Program Flow
        Setting, Clearing, Enabling, and Disabling Breakpoints
         Setting Breakpoints
         Clearing Breakpoints
         Enabling and Disabling Breakpoints
         Modifying Breakpoint Characteristics
        Stepping through, Running, or Halting a Program
        Skipping over Sections of Code Using Jump to Location Commands
        Viewing the Contents of Variables, Memory, Registers, and the Stack.
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    >  k܇l $7LI66$8./usr/IBMVJava/html/enterp/en_US/hgprc91.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
       Starting or Stopping Debugging a Program
       Debugging Variable Contents and Memory
       Debugging Logic and Program Flow
        Setting, Clearing, Enabling, and Disabling Breakpoints
        Stepping through, Running, or Halting a Program
         Running your Program
         Stepping through your Program
        Skipping over Sections of Code Using Jump to Location Commands
        Viewing the Contents of Variables, Memory, Registers, and the Stack.
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
      Viewing Your Trace File in a Diagram
    Targeting Programs for AS/400
    Accessing the Enterprise
    an=4 km $7LI66$E./usr/IBMVJava/html/enterp/en_US/hgprc92.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
       Starting and Exiting the Trace File Analysis
        Starting the Performance Analyzer to Analyze a Trace File
        Starting the Performance Analyzer from a Command Line
        Exiting the Performance Analyzer
       Opening a Trace File in a Diagram
       Navigating the Trace File View
       Searching for Trace Data in a Diagram
       Controlling What Data Is Shown in a Diagram
       Downloading the Trace File from the Host
       Analyzing Your Trace File
    Targeting Programs for AS/400
    Accessing the Enterprise
    ht= ktn $7LI66$Q./usr/IBMVJava/html/enterp/en_US/hgprc93.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
       Starting and Exiting the Trace File Analysis
       Opening a Trace File in a Diagram
       Navigating the Trace File View
        Correlating Events between Diagrams
        Enlarging or Reducing a Diagram
        Seeing Details by Combining the Zoom and Correlation Features
        Viewing a Specific Time or Range of Time
       Searching for Trace Data in a Diagram
       Controlling What Data Is Shown in a Diagram
       Downloading the Trace File from the Host
       Analyzing Your Trace File
    Targeting Programs for AS/400
    Accessing the Enterprise
    f" ko $7LI66$]./usr/IBMVJava/html/enterp/en_US/hgprc94.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
       Starting and Exiting the Trace File Analysis
       Opening a Trace File in a Diagram
       Navigating the Trace File View
       Searching for Trace Data in a Diagram
        Finding a Specific Annotation
        Finding a Specific Function Call or Return
        Finding Trace Data for a Specific Function
        Finding Trace Data for a Specific Class
        Finding Trace Data for a Specific Program Component
        Finding Trace Data for a Specific Executable
       Controlling What Data Is Shown in a Diagram
       Downloading the Trace File from the Host
       Analyzing Your Trace File
    Targeting Programs for AS/400
    Accessing the Enterprise
    using V kp $`7LI66$j`./usr/IBMVJava/html/enterp/en_US/hgprc95.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
       Starting and Exiting the Trace File Analysis
       Opening a Trace File in a Diagram
       Navigating the Trace File View
       Searching for Trace Data in a Diagram
       Controlling What Data Is Shown in a Diagram
        Filtering Events by Component Type
        Filtering Events by Function
        Filtering Events by Thread
        Filtering Events by Group
        Filtering Nodes and Arcs in the Dynamic Call Graph Diagram
        Recognizing Call Sequence Patterns
        Viewing Class Activity
       Downloading the Trace File from the Host
       Analyzing Your Trace File
    Targeting Programs for AS/400
    Accessing the Enterprise
     kԽq $7LI66$x./usr/IBMVJava/html/enterp/en_US/hgprc96.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
      Building and Running Java Applications in the OS/390 Shell
      Building and Running Java Applications using VisualAge for Java
      Using the Debugger's Graphical User Interface
      Viewing Your Trace File in a Diagram
       Starting and Exiting the Trace File Analysis
       Opening a Trace File in a Diagram
       Navigating the Trace File View
       Searching for Trace Data in a Diagram
       Controlling What Data Is Shown in a Diagram
       Downloading the Trace File from the Host
       Analyzing Your Trace File
        Adding, Changing, or Deleting Annotations
        Determining the Elapsed Time between Two Events
        Viewing Thread Interactions in a Multithreaded Program
    Targeting Programs for AS/400
    Accessing the Enterprise
    ht= k"r $p7LI66$p./usr/IBMVJava/html/enterp/en_US/hgprc97.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
     kZs $r7LI66$r./usr/IBMVJava/html/enterp/en_US/hgprc98.htmtr$$
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
        Writing Programs for Debugging
        Establishing a Debug Environment
        Debugging Optimized Code
        Creating a Java Program
       Starting or Stopping the Debugger
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    ">
    Navigating the IDE
    Developing Programs in the IDE
    Developing Programs Visually
    Developing Programs with Persistence Support
    Working in a Team Environment
    Running and Debugging Your Programs
    Exporting Code
    Managing a Team Server
    Targeting Programs for Windows, OS/2, and AIX
    Targeting Programs for OS/390
    Targeting Programs for AS/400
      Creating a Program Call Class
      Creating Java Classes for Display Files
      Creating a Subfile Class
      Setting Properties to Export, Compile, and Run
      Exporting Java Files
      Compiling Java Files
      Running Java Programs
      Finding Job Logs for Java Program Analysis
      Debugging Programs Using the Cooperative Debugger
       Preparing a Program for Debugging
       Starting or Stopping the Debugger
        Starting or Stopping Program Debug
        Invoking the Debugger
        Invoking the Debugger from the Command Line
        Starting the Debug Server
        Starting the Debugger for a Threaded Application
        Stopping the Debug Server
        Setting and Deleting Breakpoints in Your Program
        Running, Stopping, or Stepping through a Program
        Stopping a Debug Session
       Viewing Variables and the Stack
       Debugging Logic and Program Flow
       Locating Source Code
       Opening Debugger Windows
       Changing Mouse Button 2 Behavior
    Accessing the Enterprise
    Debug kꎶx $;7I66$@m;./usr/IBMVJava/html/enterp/en_US/hgref1.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    =top kꤴy $7FI66$./usr/IBMVJava/html/enterp/en_US/hgref10.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
      RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
    c kTz $7I66$./usr/IBMVJava/html/enterp/en_US/hgref11.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
       Package com.ibm.ivj.eab.j2cppaccess
      Connectors
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    ri/ k&{ $Q7I66$Q./usr/IBMVJava/html/enterp/en_US/hgref12.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
       CICS
       Encina
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    FF">
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
      DataAccess Beans
       Package com.ibm.db
       Package com.ibm.ivj.db.uibeans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    966">
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
      DataAccess Beans
      Data Access Classes
       Package <Package>
       Package com.ibm.ivj.eab.dab
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    td> kZ.~ $W7 I66$۩W./usr/IBMVJava/html/enterp/en_US/hgref15.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
       Package com.ibm.connector.application
       Package com.ibm.connector.connectionmanager
       Package com.ibm.connector.infrastructure.java
       Package com.ibm.connector.infrastructure
       Package com.ibm.connector.internal
       Package com.ibm.connector
       Package com.ibm.ivj.eab.businessobject
       Package com.ibm.ivj.eab.command
       Package com.ibm.ivj.eab.mapper
       Package com.ibm.ivj.eab.record.cobol
       Package com.ibm.ivj.eab.record.terminal
       Package com.ibm.record.ctypes
       Package com.ibm.record.util
       Package com.ibm.record
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    n kr $7&I66$./usr/IBMVJava/html/enterp/en_US/hgref16.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
       Package com.ibm.ivj.et400.util
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
     kv $7*I66$./usr/IBMVJava/html/enterp/en_US/hgref17.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
       Package COM.ibm.ivj.eab.rmi.client
       Package COM.ibm.ivj.eab.rmi.server
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    mg bord k" $7,I66$./usr/IBMVJava/html/enterp/en_US/hgref18.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
       Package <Package>
       Package com.ibm.sap.bapi
       Package com.ibm.sap.bapi.bor
       Package com.ibm.sap.bapi.logon
       Package com.ibm.sap.bapi.util
       Package com.sap.rfc
       Package com.sap.rfc.exception
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    ="ima k" $78I66$ ./usr/IBMVJava/html/enterp/en_US/hgref19.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
       Package com.ibm.ivj.util.base
       Package com.ibm.ivj.util.builders
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    ">< k $7I66$./usr/IBMVJava/html/enterp/en_US/hgref2.htmtr$$
    JDK 1.1.6 API
      java.applet
      java.awt
      java.awt.datatransfer
      java.awt.event
      java.awt.image
      java.beans
      java.io
      java.lang
      java.lang.reflect
      java.math
      java.net
      java.rmi
      java.rmi.dgc
      java.rmi.registry
      java.rmi.server
      java.security
      java.security.acl
      java.security.interfaces
      java.sql
      java.text
      java.util
      java.util.zip
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    s/n k ${7I66$"{./usr/IBMVJava/html/enterp/en_US/hgref20.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
       CICS
        Package com.ibm.connector.cics
       Encina
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    ">
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
       CICS
       Encina
        Package COM.Transarc.Delight
        Package com.transarc.connector.delight
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    d c kB $ 7DI66$ tw ./usr/IBMVJava/html/enterp/en_US/hgref22.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
       Commands
       Environment Variables and Run-Time Options
      Remote Debugger
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    n kf $7DI66$@./usr/IBMVJava/html/enterp/en_US/hgref23.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
      Remote Debugger
       Java Compiler Options
       Debug on Demand
       Single and Multiple Session Debugging
       HPC Java Debugger Options
       Stepping and Methods
       Step Commands
       Search Order
       When to Use the Process List Dialog
       Environment Variables
       Java Expressions Supported
       Postmortem Debugging (OS/2 Only)
       Debugger Cannot Find Source Code
       Mouse Button 2 Behavior
       More Information on Recursion
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    ref7.h kV $7DI66$5./usr/IBMVJava/html/enterp/en_US/hgref24.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
       Commands
        hpj Command 
        hpjappletviewer Command 
        hpjava Command 
        hpjdeploy Command 
        setenvhpj Command 
       Environment Variables and Run-Time Options
      Remote Debugger
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    / k  $ 7DI66$1x ./usr/IBMVJava/html/enterp/en_US/hgref25.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
       Commands
       Environment Variables and Run-Time Options
        Environment Variables  
        Run-Time Options for Executables 
      Remote Debugger
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
     kV $7DI66$L./usr/IBMVJava/html/enterp/en_US/hgref26.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
      Remote Debugger
       Java Compiler Options
        HPC Java Compiler Options
        Interpreted Java Compiler Options
       Debug on Demand
       Single and Multiple Session Debugging
       HPC Java Debugger Options
       Stepping and Methods
       Step Commands
       Search Order
       When to Use the Process List Dialog
       Environment Variables
       Java Expressions Supported
       Postmortem Debugging (OS/2 Only)
       Debugger Cannot Find Source Code
       Mouse Button 2 Behavior
       More Information on Recursion
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
     k $"7DI66$Y"./usr/IBMVJava/html/enterp/en_US/hgref27.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
      Remote Debugger
       Java Compiler Options
       Debug on Demand
       Single and Multiple Session Debugging
       HPC Java Debugger Options
       Stepping and Methods
       Step Commands
       Search Order
       When to Use the Process List Dialog
       Environment Variables
        IVJ_DBG_CASESENSITIVE
        IVJ_DBG_LANG
        IVJ_DBG_LOCAL_PATH
        IVJ_DBG_NUMBEROFELEMENTS
        IVJ_DBG_OVERRIDE
        IVJ_DBG_PATH
        IVJ_DBG_REMOTE_SEARCH_PATH
        IVJ_DBG_TAB
        IVJ_DBG_TABGRID
        DPATH
        LIBPATH (OS/2 only)
        PATH
        CLASSPATH
       Java Expressions Supported
       Postmortem Debugging (OS/2 Only)
       Debugger Cannot Find Source Code
       Mouse Button 2 Behavior
       More Information on Recursion
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    DBG_NUM k $7DI66$k./usr/IBMVJava/html/enterp/en_US/hgref28.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
      Remote Debugger
       Java Compiler Options
       Debug on Demand
       Single and Multiple Session Debugging
       HPC Java Debugger Options
       Stepping and Methods
       Step Commands
       Search Order
       When to Use the Process List Dialog
       Environment Variables
       Java Expressions Supported
        HPC Java Expressions Supported
        Interpreted Java Expressions Supported
       Postmortem Debugging (OS/2 Only)
       Debugger Cannot Find Source Code
       Mouse Button 2 Behavior
       More Information on Recursion
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    heigh k $7DI66$x./usr/IBMVJava/html/enterp/en_US/hgref29.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
      Remote Debugger
       Java Compiler Options
       Debug on Demand
       Single and Multiple Session Debugging
       HPC Java Debugger Options
       Stepping and Methods
       Step Commands
       Search Order
       When to Use the Process List Dialog
       Environment Variables
       Java Expressions Supported
       Postmortem Debugging (OS/2 Only)
        Postmortem Debugging Overview
        Postmortem Debugging on OS/2
        Limitations During Postmortem Debugging
        Trapper Parameter File
       Debugger Cannot Find Source Code
       Mouse Button 2 Behavior
       More Information on Recursion
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
     ktO $7I66$./usr/IBMVJava/html/enterp/en_US/hgref3.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
      com.sun.java.accessibility
      com.sun.java.swing
      com.sun.java.swing.border
      com.sun.java.swing.event
      com.sun.java.swing.table
      com.sun.java.swing.text
      com.sun.java.swing.text.html
      com.sun.java.swing.text.rtf
      com.sun.java.swing.tree
      com.sun.java.swing.undo
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    "0" w kꎩ $7DI66$./usr/IBMVJava/html/enterp/en_US/hgref30.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
      Remote Debugger
       Java Compiler Options
       Debug on Demand
       Single and Multiple Session Debugging
       HPC Java Debugger Options
       Stepping and Methods
       Step Commands
       Search Order
       When to Use the Process List Dialog
       Environment Variables
       Java Expressions Supported
       Postmortem Debugging (OS/2 Only)
       Debugger Cannot Find Source Code
        Source Views for Code You Did Not Write
       Mouse Button 2 Behavior
       More Information on Recursion
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    der="0 k_ $7DI66$./usr/IBMVJava/html/enterp/en_US/hgref31.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
       Overview of OS/390 Bytecode Binder's JDK Support
       java.lang Support in OS/390 UNIX
       java.lang Support in the CICS/ESA Environment
       java.io Support in the CICS/ESA Environment
       java.util.zip Support in the CICS/ESA Environment
       java.beans Support in the OS/390 UNIX and CICS/ESA Environments
       JNI Support in the OS/390 UNIX and CICS/ESA Environments
       Java System Properties for OS/390 UNIX
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    0  k+ $j7DI66$j./usr/IBMVJava/html/enterp/en_US/hgref32.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
       hpj Command and Options
       OS/390 Shell Command Syntax to Run HFS Java Executables
       hpjava Command
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    ="277" kn $7DI66$./usr/IBMVJava/html/enterp/en_US/hgref33.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
       OS/390 Language Environment Run-Time Options
       OS/390 Bytecode Binder and Run-Time Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    x kf $7DI66$./usr/IBMVJava/html/enterp/en_US/hgref34.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
       jport Utility
      Working in the Integrated Development Environment
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    >< kꮳ $7DI66$./usr/IBMVJava/html/enterp/en_US/hgref35.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
       ET/390 Java Install Data File
       hpj Command Options in ET/390 Properties
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
     kv. $,7DI66$Ȫ,./usr/IBMVJava/html/enterp/en_US/hgref36.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
       Debugger Options (Java Program Objects Only)
       Stepping and Methods
       Search Order
       Environment Variables
       Expressions Supported
       Problems Getting a Source View
       Mouse Button 2 Behavior
       Registers Monitor Split Bars
       More Information on Recursion
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    hei kvM $y7DI66$Ԫy./usr/IBMVJava/html/enterp/en_US/hgref37.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
      Performance Analyzer for Tracing
       Performance Analyzer Invocation Parameters
       Run-Time Option for Program Trace
       Run-Time Environment Variables for Program Trace
       Limitations of Performance Analyzer
    AS/400 Programs
    Builders and Tools
    890">
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
       hpj Command and Options
        hpj Command
        hpj Command Options
       OS/390 Shell Command Syntax to Run HFS Java Executables
       hpjava Command
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    e kx\ $.7DI66$../usr/IBMVJava/html/enterp/en_US/hgref39.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
       hpj Command and Options
        hpj Command
        hpj Command Options
         -alias
         -architecture=0|1|2 
         -BLIST(type)
         -BXREF(YES|NO)
         -c 
         -check
         -classpath=path
         -collapse
         -comment=string 
         -compress
         -d=path
         -exclude=name | -include=name
         -exe | -jll
         -follow
         -g[=hook|nohook] 
         -help 
         -inlrpt
         -lerunopts
         -list=[offset| nooffset] 
         -main=class
         -make
         -maxmem=size
         -o=name 
         -O
         -partial=name
         -resource
         -spill=size
         -tune=0|1|2
         -verbose
       OS/390 Shell Command Syntax to Run HFS Java Executables
       hpjava Command
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    m">- k& $`7I66$`./usr/IBMVJava/html/enterp/en_US/hgref4.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
      C++ Access Builder
      Connectors
      DataAccess Beans
      Data Access Classes
      Enterprise Access Builder
      ET/400 Classes
      RMI Access Builder
      SAP Access Builder
      Tool Integrators
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
     k $*7DI66$*./usr/IBMVJava/html/enterp/en_US/hgref40.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
       Debugger Options (Java Program Objects Only)
       Stepping and Methods
       Search Order
       Environment Variables
        IVJ_DBG_CASESENSITIVE
        IVJ_DBG_LANG
        IVJ_DBG_NUMBEROFELEMENTS
        IVJ_DBG_PATH
        IVJ_DBG_REMOTE_SEARCH_PATH
        IVJ_DBG_TAB
        IVJ_DBG_TABGRID
        CLASSPATH
       Expressions Supported
       Problems Getting a Source View
       Mouse Button 2 Behavior
       Registers Monitor Split Bars
       More Information on Recursion
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    ref36. k, $7DI66$./usr/IBMVJava/html/enterp/en_US/hgref41.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
       Debugger Options (Java Program Objects Only)
       Stepping and Methods
       Search Order
       Environment Variables
       Expressions Supported
        Java Expressions Supported
        Values that Are Valid for the Current Representation
        Valid Addresses and Expressions
        Valid Entries for Registers
       Problems Getting a Source View
       Mouse Button 2 Behavior
       Registers Monitor Split Bars
       More Information on Recursion
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    ht="14" k $7DI66$&./usr/IBMVJava/html/enterp/en_US/hgref42.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
       Debugger Options (Java Program Objects Only)
       Stepping and Methods
       Search Order
       Environment Variables
       Expressions Supported
       Problems Getting a Source View
        Debugger Cannot Find class Files on Workstation
        Debugger Cannot Find class Code
        Source Views for Code You Did Not Write
       Mouse Button 2 Behavior
       Registers Monitor Split Bars
       More Information on Recursion
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    c="ima k $7DI66$@./usr/IBMVJava/html/enterp/en_US/hgref43.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
       Debugger Options (Java Program Objects Only)
       Stepping and Methods
       Search Order
       Environment Variables
       Expressions Supported
        Java Expressions Supported
         Java Program Objects Expressions Supported
         Interpreted Java Expressions Supported
        Values that Are Valid for the Current Representation
        Valid Addresses and Expressions
        Valid Entries for Registers
       Problems Getting a Source View
       Mouse Button 2 Behavior
       Registers Monitor Split Bars
       More Information on Recursion
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    tr va k $7DI66$3./usr/IBMVJava/html/enterp/en_US/hgref44.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
      Performance Analyzer for Tracing
       Performance Analyzer Invocation Parameters
       Run-Time Option for Program Trace
       Run-Time Environment Variables for Program Trace
       Limitations of Performance Analyzer
        Limitations When Creating a Trace
        Limitations When Analyzing Trace Data
        Interlanguage Call Trace Support
        Function Trace Output
        Interval-Sampling Trace Output
        Performance Analyzer Trace File and Analysis Problems
        Performance Analyzer Error Messages
    AS/400 Programs
    Builders and Tools
     k: $"7DI66$O"./usr/IBMVJava/html/enterp/en_US/hgref45.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
      Stored Procedure Catalog
      Data Type Definition
      Display File Keywords
      Positional Entries
      Record Formats
      Methods Generated in the Display File Beans
      Events Generated in the Display File Beans
      Methods Generated in the Subfile Bean
      DDS Field Mapping to Java Object
      Java Transformer 
      Cooperative Debugger
       Compiler Options for Java
       OPM Compiler Options for CL, COBOL, and RPG
       Debugger Invocation Parameters
       Stepping and Procedures
       Step Commands
       Search Order
       Debug Environment
       Expressions Supported
       Source Views for Code You Did Not Write
       Problems Getting a *TEXT or *LISTING View
       Debugger Cannot Find Source Code
       Mouse Button 2 Behavior
       Authorities Required for Debugging
       Debug Data
       Debugger Limits
       Debugger Performance Considerations
       Threads Debugging
       Characteristics of Watches
       Debugger is Using a Different Program Version
    Builders and Tools
    " href= kh  $%7FI66$a%./usr/IBMVJava/html/enterp/en_US/hgref46.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
      Stored Procedure Catalog
      Data Type Definition
      Display File Keywords
      Positional Entries
      Record Formats
      Methods Generated in the Display File Beans
      Events Generated in the Display File Beans
      Methods Generated in the Subfile Bean
      DDS Field Mapping to Java Object
      Java Transformer 
      Cooperative Debugger
       Compiler Options for Java
       OPM Compiler Options for CL, COBOL, and RPG
       Debugger Invocation Parameters
       Stepping and Procedures
       Step Commands
       Search Order
       Debug Environment
        Debug Environment Overview
        Debugger Environment Settings
       Expressions Supported
       Source Views for Code You Did Not Write
       Problems Getting a *TEXT or *LISTING View
       Debugger Cannot Find Source Code
       Mouse Button 2 Behavior
       Authorities Required for Debugging
       Debug Data
       Debugger Limits
       Debugger Performance Considerations
       Threads Debugging
       Characteristics of Watches
       Debugger is Using a Different Program Version
    Builders and Tools
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
      Stored Procedure Catalog
      Data Type Definition
      Display File Keywords
      Positional Entries
      Record Formats
      Methods Generated in the Display File Beans
      Events Generated in the Display File Beans
      Methods Generated in the Subfile Bean
      DDS Field Mapping to Java Object
      Java Transformer 
      Cooperative Debugger
       Compiler Options for Java
       OPM Compiler Options for CL, COBOL, and RPG
       Debugger Invocation Parameters
       Stepping and Procedures
       Step Commands
       Search Order
       Debug Environment
       Expressions Supported
        COBOL Expressions Supported
        Values that Are Valid for the Current Representation
        Expressions Qualified to Thread Number
       Source Views for Code You Did Not Write
       Problems Getting a *TEXT or *LISTING View
       Debugger Cannot Find Source Code
       Mouse Button 2 Behavior
       Authorities Required for Debugging
       Debug Data
       Debugger Limits
       Debugger Performance Considerations
       Threads Debugging
       Characteristics of Watches
       Debugger is Using a Different Program Version
    Builders and Tools
    En k $7FI66$t./usr/IBMVJava/html/enterp/en_US/hgref48.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
       ivj2cpp Command Parameters
       Makefile Targets
      Data Access Builder
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
      RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
    bord k6 $7FI66$./usr/IBMVJava/html/enterp/en_US/hgref49.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
       Database Drivers
       Java Data Type Conversion Table
       Programming with Generated Classes
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
      RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
    "14 k@ $7:I66$./usr/IBMVJava/html/enterp/en_US/hgref5.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
      IDE Failure or Corrupted Workspace
      Troubleshooting
      IDE Symbols
      Shortcut Keys
      Repository Files
      Applet Viewer
      Code Assist
      Printer Setup On AIX and UNIX
      Important Files to Back Up
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
     k $R7FI66$R./usr/IBMVJava/html/enterp/en_US/hgref50.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
      Enterprise Access Builder
       java com.ibm.ivj.eab.record.generator.codegen.Generator Command Parameters
       java com.ibm.ivj.eab.record.importer.gentype.cobol.CobolImport Command Parameters
      Persistence Builder Tools and Architecture
      RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
    d>
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
       Persistence Builder Tools
       Persistence Builder runtime architecture
      RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
    gcacr k $7HI66$./usr/IBMVJava/html/enterp/en_US/hgref52.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
      RMI Access Builder
       Remote Object Instance Manager Command Parameters
       RMI Proxy Bean Properties
       RMI Proxy Bean Properties Sheet
       Remote Object Instance Manager
       Classes and Interfaces Generated by the RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
    0" widt k $7HI66$./usr/IBMVJava/html/enterp/en_US/hgref53.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
      RMI Access Builder
      Access Builder for SAP R/3
       ABAP/4 and Java data types
       Naming Conventions for Generated Classes
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
    14 k $7HI66$ʫ./usr/IBMVJava/html/enterp/en_US/hgref54.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
      RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
       EMSRV Restrictions
       EMSRV Startup Parameters
       EMSRV and TCP/IP
      Server Administration (EMADMIN)
     k6 $ 7HI66$ӫ ./usr/IBMVJava/html/enterp/en_US/hgref55.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
      RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
       The EMADMIN Utility
       EMADMIN Bench
       EMADMIN Copy
       EMADMIN List
       EMADMIN Opts
       EMADMIN Stat
       EMADMIN Stop
     kH $m7FI66$ޫm./usr/IBMVJava/html/enterp/en_US/hgref56.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
       Database Drivers
        JDBC Drivers
        ODBC Drivers
        Isolation and Locking
        Oracle 7 Data Types
        Sybase System 10 Data Types
        ODBC Driver Error Messages
       Java Data Type Conversion Table
       Programming with Generated Classes
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
      RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
    ="0 kƝ $7FI66$./usr/IBMVJava/html/enterp/en_US/hgref57.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
      ActiveX Component Migration
      C++ Access Builder
      Data Access Builder
       Database Drivers
       Java Data Type Conversion Table
       Programming with Generated Classes
        Data Access Class Library and Generated Code
        Data Access Property Editor Classes
        Data Access BeanInfo Classes
        AccessApp Class
        Forms Classes
        File Naming Conventions and Package Structure
        Datastores: Application, Default, Object, and Current
        Datastore Transaction Scenarios
        Exception Messages
      Enterprise Access Builder
      Persistence Builder Tools and Architecture
      RMI Access Builder
      Access Builder for SAP R/3
      Repository Server (EMSRV)
      Server Administration (EMADMIN)
    b k $\ 7DI66$0yx\ ./usr/IBMVJava/html/enterp/en_US/hgref6.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
      Visual Composition
      Tivoli Events Bean
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    ">
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
      Remote Debugger
    OS/390 Programs
    AS/400 Programs
    Builders and Tools
    < kn+ $] 7DI66$] ./usr/IBMVJava/html/enterp/en_US/hgref8.htmtr$$
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
      OS/390 Bytecode Binder's JDK Support
      Commands to Build and Run OS/390 Java Program Objects
      OS/390 Run-Time Options and Environment Variables
      Utilities
      Working in the Integrated Development Environment
      Debugging Support 
      Performance Analyzer for Tracing
    AS/400 Programs
    Builders and Tools
    JDK 1.1.6 API
    JFC 1.1 API
    IBM Tool APIs
    Integrated Development Environment (IDE)
    Beans
    Windows, OS/2, and AIX Programs
    OS/390 Programs
    AS/400 Programs
      Stored Procedure Catalog
      Data Type Definition
      Display File Keywords
      Positional Entries
      Record Formats
      Methods Generated in the Display File Beans
      Events Generated in the Display File Beans
      Methods Generated in the Subfile Bean
      DDS Field Mapping to Java Object
      Java Transformer 
      Cooperative Debugger
    Builders and Tools
    14 k  $f7RI66$Pef./usr/IBMVJava/html/enterp/en_US/hgsmp1.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
    >< k $ 7RI66$ :y ./usr/IBMVJava/html/enterp/en_US/hgsmp10.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
      Data Access Builder Samples
      C++ Access Builder Sample
      RMI Access Builder Sample
       Accessing Java Remotely Through RMI
      Enterprise Access Builder Samples
      Access Builder for SAP R/3 Samples
      IDL Development Environment Sample
      Domino AgentRunner Samples
    /  k $ 7RI66$  ./usr/IBMVJava/html/enterp/en_US/hgsmp11.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
      Data Access Builder Samples
      C++ Access Builder Sample
      RMI Access Builder Sample
      Enterprise Access Builder Samples
       Accessing a CICS Transaction through ECI
      Access Builder for SAP R/3 Samples
      IDL Development Environment Sample
      Domino AgentRunner Samples
     kĹ $7RI66$./usr/IBMVJava/html/enterp/en_US/hgsmp12.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
      Data Access Builder Samples
      C++ Access Builder Sample
      RMI Access Builder Sample
      Enterprise Access Builder Samples
      Access Builder for SAP R/3 Samples
       Sample documentation of Business Objects in IDES
       Retrieve company information with the proxy bean
       Retrieve company information without proxy bean
       Retrieve company information with RFC module
       Create a sales order
       Retrieve company infos visually
       Submit a sales order
       Browse a product catalog
      IDL Development Environment Sample
      Domino AgentRunner Samples
    f="hg k" $ 7TI66$ ' ./usr/IBMVJava/html/enterp/en_US/hgsmp13.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
      Data Access Builder Samples
      C++ Access Builder Sample
      RMI Access Builder Sample
      Enterprise Access Builder Samples
      Access Builder for SAP R/3 Samples
      IDL Development Environment Sample
       Tutorial: Using the IDL Development Environment
      Domino AgentRunner Samples
    d kP $7TI66$-./usr/IBMVJava/html/enterp/en_US/hgsmp14.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
      Data Access Builder Samples
      C++ Access Builder Sample
      RMI Access Builder Sample
      Enterprise Access Builder Samples
      Access Builder for SAP R/3 Samples
      IDL Development Environment Sample
      Domino AgentRunner Samples
       Domino Samples Overview
       Using the AgentRunner
       An Agent that Searches Your Database
       Creating a To Do Agent
       Query a Domino or DB2 Database
       Using Swing 1.0.2 JTable
       Retrieving Information from a Domino Database
       Using Data Access Beans
       Query a Domino Database
       Using the RMI Access Builder to Connect to Notes
       Retrieving a Value from a Database
       Using J2CPP
       Using a Servlet
       Query Multiple Databases
    tm# k $t7RI66$@t./usr/IBMVJava/html/enterp/en_US/hgsmp15.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
      Data Access Builder Samples
      C++ Access Builder Sample
      RMI Access Builder Sample
      Enterprise Access Builder Samples
       Accessing a CICS Transaction through ECI
        Overview
        Adder Sample
        Navigator Sample
        Mapper Sample
        Selector Sample
        Record Array Sample
      Access Builder for SAP R/3 Samples
      IDL Development Environment Sample
      Domino AgentRunner Samples
    able k $7RI66$0;./usr/IBMVJava/html/enterp/en_US/hgsmp2.htmtr$$
    Integrated Development Environment
      Sun JDK Samples
      Sun JFC Samples
      Sun BDK Sample
      IBM Java AWT Samples
      Hanoi Sample
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
    ">< k&P $7RI66$0;./usr/IBMVJava/html/enterp/en_US/hgsmp3.htmtr$$
    Integrated Development Environment
    Visual Composition
      BeanDemo
      BookmarkList
      CustomerInfo
      LayoutManagers
      MortgageAmortizor
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
    d k" $Q7RI66$PekQ./usr/IBMVJava/html/enterp/en_US/hgsmp4.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
    AS/400 Programs
    Accessing Enterprise Data
    sp;
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
      Tutorial: Create a Java Client/Server Application
      Sample: Display File Input and Output
      Sample: Populate a Subfile
      Sample: Hide a Column in a Subfile
      Sample: Get a Record Number in a Subfile
      Sample: Get Field Names and Descriptions for a Database File
      Sample: JDBC Toolbox Classes
      Sample: Write and Retrieve to a Keyed Data Queue
      Sample: Program Call to ILE C/400
      Tutorial: Run a Java Application on AS/400 using Remote AWT
      Sample: Get and Set AS/400 Name and Library
      Sample: Set Subfile Presentation
      Sample: Add, Remove and Insert Subfile Records
      Sample: Set Subfile Selection Mode
      Demo: AS/400 Toolbox for Java
      Samples: AS/400 Toolbox for Java Classes
    Accessing Enterprise Data
     k $ 7RI66$0 ./usr/IBMVJava/html/enterp/en_US/hgsmp6.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
      Data Access Builder Samples
      C++ Access Builder Sample
      RMI Access Builder Sample
      Enterprise Access Builder Samples
      Access Builder for SAP R/3 Samples
      IDL Development Environment Sample
      Domino AgentRunner Samples
    b k $u7RI66$@vu./usr/IBMVJava/html/enterp/en_US/hgsmp7.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
      High-Performance Compiler
       Tutorial: Using the High-Performance Compiler in the IDE  
       Tutorial: Using the High-Performance Compiler from the Command Line 
    AS/400 Programs
    Accessing Enterprise Data
    img kκ $P7RI66$SP./usr/IBMVJava/html/enterp/en_US/hgsmp8.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
      Data Access Builder Samples
       Overview
       Preparation for Samples
       Use Add, Retrieve, Update, Delete
       Retrieve Rows by Using a Cursor
       Retrieve Rows from a Table Join
       Retrieve Rows by Using a Vector
       Retrieve Data ID Information from a Table
       Use a User-Defined Method with SQL Predicate
       Use a User-Defined Method with Customized SQL Statement
       Use a User-Defined Method that Calls a Stored Procedure
       Access Large Objects Using DAIOStream
       Use the Generated Code with the Visual Composition Editor
      C++ Access Builder Sample
      RMI Access Builder Sample
      Enterprise Access Builder Samples
      Access Builder for SAP R/3 Samples
      IDL Development Environment Sample
      Domino AgentRunner Samples
     k $ 7RI66$ 9 ./usr/IBMVJava/html/enterp/en_US/hgsmp9.htmtr$$
    Integrated Development Environment
    Visual Composition
    Windows, OS/2, and AIX Programs
    AS/400 Programs
    Accessing Enterprise Data
      Data Access Builder Samples
      C++ Access Builder Sample
       Accessing a C++ Library
      RMI Access Builder Sample
      Enterprise Access Builder Samples
      Access Builder for SAP R/3 Samples
      IDL Development Environment Sample
      Domino AgentRunner Samples
     k $m 7PI66$ em ./usr/IBMVJava/html/enterp/en_US/hgtut1.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
     kZ $ 7RI66$ k ./usr/IBMVJava/html/enterp/en_US/hgtut10.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
      The Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
     k $7RI66$q./usr/IBMVJava/html/enterp/en_US/hgtut11.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
      Understanding Team Programming for Java
      Setting Up Your Server
      Starting Your Project
      Developing Your Project
      Setting a New Baseline (or Finishing a Project)
      Team-Related Topics
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
    l>
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
      Enterprise ToolKits
      Enterprise ToolKit for Workstations
      Enterprise ToolKit for AS/400
      Enterprise ToolKit for OS/390
      Using an Enterprise ToolKit
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
     k $7RI66$./usr/IBMVJava/html/enterp/en_US/hgtut13.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
      Accessing Enterprise Data
      Data Access Builder
      RMI Access Builder
      C++ Access Builder
      Access Builder for SAP R/3
      IDL Development Environment
    Servlets
    Where to Find More Information
     k9 $ 7RI66$ z ./usr/IBMVJava/html/enterp/en_US/hgtut14.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
      Servlets
    Where to Find More Information
     k $ 7RI66$ ./usr/IBMVJava/html/enterp/en_US/hgtut15.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
      More Information About VisualAge for Java
     k\ $ 7PI66$ ./usr/IBMVJava/html/enterp/en_US/hgtut2.htmtr$$
    Introduction
      About This Document
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
    a kv $ 7RI66$ ./usr/IBMVJava/html/enterp/en_US/hgtut3.htmtr$$
    Introduction
    The Basics
      What is VisualAge for Java?
      Key Concepts
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
    name=" kxj $7RI66$./usr/IBMVJava/html/enterp/en_US/hgtut4.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
      Introduction
      Getting Started with Your First Applet
      Using a SmartGuide
      Using the Visual Composition Editor
      Building the To-Do List Applet
      Sizing and Aligning Visual Beans
      Correcting Mistakes
      Connecting Beans
      Saving and Testing the To-Do List Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
    t k $t7RI66$t./usr/IBMVJava/html/enterp/en_US/hgtut5.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
      Introduction
      Finding Your To-Do List Applet in the Workbench
      Versioning an Edition of Your Applet
      Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
    ">
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
      Introduction
      Behavior of the To-Do List Program
      Steps for Adding File Access to the To-Do List Program
      Creating New Methods
      Adding a Method for Reading Files
      Adding a Method for Writing Files
      Adding Buttons to the To-Do List Applet User Interface
      Adding JFileChooser Beans to the Free-form Surface
      Connecting the Open To-Do File Button
      Testing the Open To-Do File Button
      Connecting the Save To-Do File Button
      Saving and Testing the Completed To-Do File Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
    "> k $7RI66$ˬ./usr/IBMVJava/html/enterp/en_US/hgtut7.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
      Introduction
      Manipulating Beans
      Sizing, Aligning, and Positioning Beans
      Changing Bean Properties
      Changing Bean Colors and Fonts
      Connecting Beans
      Working with Relational Data: the Select Bean
      Adding Buttons for Relational Database Access: the DBNavigator Bean
    Managing Editions
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
      Introduction
      About Editions
      Versioning an Edition
      Updating Your Code Again
      Returning to a Previous Edition
      Exploring the Repository
    What Else You Can Do with the IDE
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
     k $7RI66$ܬ./usr/IBMVJava/html/enterp/en_US/hgtut9.htmtr$$
    Introduction
    The Basics
    Building Your First Applet
    Adding State Checking to Your Applet
    Enhancing the To-Do List Program
    What Else You Can Do with the Visual Composition Editor
    Managing Editions
    What Else You Can Do with the IDE
      Introduction
      Printing Program Elements
      Navigating
      Searching
      Browsing
      Writing Code by Hand
      Internationalization
      Using the Quick Start Window
      Debugger
      Support for JavaBeans
      Customizing the Workspace
    Domino Agent Runner
    Working as a Team
    Enterprise ToolKits
    Accessing Enterprise Data
    Servlets
    Where to Find More Information
     kp$j7x56$`j./usr/IBMVJava/html/enterp/en_US/hpcj/images/ngcacrar.gif.htmc$$GIF89af3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3,@OH`TIX 8 ЊH1*R0ʼnNr!F ,B S%I*V1`0 ;> Creating a New Program Call Class (AS/400)

    Creating a New Program Call Class

    The following example uses the Program Call SmartGuide to generate a Java class that calls an ILE C program named GETTIME. You are shown two ways to use the generated class: visually by making connections to the bean and by creating a method.

    To complete the steps in this example you must have the following:

    • VisualAge for Java Enterprise Edition 2.0
    • The IBM Enterprise Toolkit for AS400 project added to your workspace from the repository. This project already includes the required AS/400 Toolbox for Java classes and the AS/400 Utilities classes.
    • An AS/400 server running OS/400 Version 4 Release 2 or above with AS/400 Developer Kit for Java (5769-JV1) installed
    • A user profile to sign on to the AS/400 with ADTSLAB library as your current library
    • TCP/IP and all AS/400 host servers are started (STRHOSTSVR *ALL and STRTCPSVR *DDM)
    • The ADTSLAB library installed on your AS/400
    • Any required PTFs as documented in the readme file

    Creating a New Program Call Class to Call the Gettime Program

    1. Select a package such as MY_PACKAGE under a project such as MY_PROJECT. Right click and select Tools then ET/400 then Create Program Call.... The Program Call SmartGuide appears.
    2. Leave the Create a new program call class radio button selected. Click Next.
    3. Select the name of the AS/400 server where the program you want to call resides, such as TORASB5D from the Server list. To add a server to the list, click Add/Modify....
    4. Click Browse.... An AS/400 logon window may appear if you have not previously signed on to this AS/400 during this session. Enter your user ID and password.
    5. Select the library ADTSLAB and the program object GETTIME. Click Select. You return to the SmartGuide page with the program and library filled in for you.
    6. The class name defaults to the name of the program. You do not need to change the project or package names. Click Next.
    7. Click Insert... to insert a parameter. The parameter values are Parm1 for the name, character for the Type, and 20 for the Size. Click OK to insert the parameter into the table. Click Next.
    8. Leave the default settings to save the settings locally.
    9. Click Finish. A Java class is generated and placed under the selected project and package in the Workbench.

    Creating an Applet for the Gettime Visual Application

    1. Select a package such as MY_PACKAGE under a project such as MY_PROJECT.
    2. Click the Create Applet button on the toolbar of the Workbench or browser. The Create Applet SmartGuide appears.
    3. In the Applet name field, enter the name of the applet class, for example, Visual.
    4. Leave MY_PROJECT in the Project field and MY_PACKAGE in the Package field.
    5. Click on the Compose the class visually check box. Click Finish. The SmartGuide disappears and the new class opens on the Visual Composition page.

    Designing the Gettime Applet Visually

    Here is what the Gettime Applet looks like in the Visual Composition Editor after you have completed the following steps:

    1. Select the AWT category from the Beans Palette list.
    2. Add  two buttons:
      1. Select the Button bean.
      2. Add two buttons to the applet at the bottom of your applet frame window. Right click on one of the button beans. Select Properties. Click on the field next to label and enter Get Time using Bean. Leave the Properties window visible as you will use it several more times in the following steps.
      3. Select the other Button bean. On the Properties window, click on the field next to label and enter Get Time using Method.
      4. Click on each button bean and use the handles to increase the width of each button bean to accommodate the text.
    3. Add several labels:
      1. Select the Label bean.
      2. Add a label on the left side of your applet frame window. On the Properties window, click on the field next to text and enter AS/400 Time.
      3. Use the handles to increase the width of the label bean to accommodate the text.
      4. Select the Label bean.
      5. Add a label at the top of your applet frame window.
      6. On the Properties window:
        • click on the field next to text and enter Display Time.
        • click on the field next to alignment and select CENTER from the list.
        • click on the field next to the font value and click the list to open the Font window. Select 18 as the font size from the list. Select Bold from the list. Click OK.
      7. Use the handles to increase the width of the label bean to accommodate the text.
      8. Select the Label bean.
      9. Place the Label bean to the right of the AS/400 Time label.
      10. Use the handles to increase the width of the Label bean to accommodate the date and time.
      11. On the Properties window:
        • click on the field next to text and blank out the value.
        • click on the field next to background and click the list to open the Background window. Leave the Basic radio button selected and then select the color cyan. Click OK.
      12. Close the Properties window.

    There are two ways to get the time from AS/400. The best way to save you time is to use the bean generated from the Program Call SmartGuide. Alternatively you can create a method to get the time. Both ways are shown below.

    Adding the Gettime Class as a Bean to Get the Time

    1. Select Choose Bean... from the Beans Palette and the Choose Bean window appears.
    2. Click Browse.... Enter a few letters of the class name such as GET. Select the GETTIME class. Click OK. Leave the Name field blank.
    3. Click OK. Add the bean under the frame.

    Creating a Method to Get the Time

    1. Click on the Methods tab.
    2. Select from the tool bar to open the Create Method SmartGuide
    3. Specify the name of the method you want to create. In this example the name is void gettime(Label m).
    4. Click Finish. The method is created.
    5. Edit the method you just created. In the Source pane which displays the source code for the method you just created modify the source. Your completed source looks like this:
      /**
       * This method was created in VisualAge for Java.
       * @param m java.awt.Label
       */
      public void gettime(Label m) {
        try { 
          GETTIME pgm= new GETTIME(); 
          pgm.connect(); 
          pgm.runProgram() ;
          m.setText(pgm.getParm1AsString());
        } catch (Exception e) {
        } 
          return;
      }
    6. Right click on the Source pane and select Save from the pop-up menu to save your source.

    Adding Connections to the Get the Time using the Bean

    When a user clicks on the Get Time using Bean button, the connect( ) and runProgram( ) methods in the GETTIME bean will be called and the result of the program call (which is the time of the AS/400 system) will be shown in the cyan label field.

    1. Click on the Visual Composition tab. Click on the Get Time using Bean button, then right click. In the pop-up menu that appears select Connect then actionPerformed.
    2. Move the mouse pointer to the GETTIME1 bean. To complete the connection, left click then select Connectable Features... from the pop-up menu then the connect() method. Click OK.
    3. Click the Get Time using Bean button, then right click. In the pop-up menu that appears select Connect then actionPerformed.
    4. Move the mouse pointer to the GETTIME1 bean. To complete the connection, left click then select Connectable Features... from the pop-up menu then the runProgram() method. Click OK.
    5. Move the mouse pointer on top of the last connection line. Right click. Select Connect then normalResult from the pop-up menu that appears. Right click on the cyan label, and then select text from the pop-up menu.
    6. Move the mouse pointer on top of the last connection line. Right click. Select Connect then value from the pop-up menu that appears. Left click on the GETTIME1 bean, then select Connectable Features... from the pop-up menu then the getParm1AsString() method. Click OK.

    Adding Connections to Get the Time Using a Method

    When a user clicks on the Get Time using Method button, the method gettime(label) is called and the result of the program call (which is the time of the AS/400 system) will be shown in the cyan label field.

    1. Click the Get Time using Method button, then right click. In the pop-up menu that appears select Connect then actionPerformed.
    2. Move the mouse pointer to the free form surface. To complete the connection, left click and then select Event to Code... from the pop-up menu that appears. Select gettime(Label) from the list. Deselect the Pass event data check box if this box is visible. Click OK. The connection is incomplete because parameter m is missing.
    3. Move the mouse pointer on top of the last connection. Right click. Select Connect then m from the pop-up menu that appears. Left click on the cyan label, and then select this from the pop-up menu.

    Saving and Testing the Gettime Applet

    1. To save your bean, from the Bean menu select Save Bean.
    2. From the Window pull-down menu select Options.... Select Resources. Add the IBM Enterprise Toolkit for AS400 project and the project where the class resides such as MY_PROJECT to the Workspace class path. Click OK.
    3. To test your applet from within the Visual Composition Editor, click on the Run button runup.gif (1037 bytes) on the toolbar.
    4. When the applet appears select Applet, then Properties... and select Unrestricted from the Network access list. Click Apply. You need to make this change so that the applet has access to the network.
    5. Click on a Get Time using Bean button. The AS/400 signon window appears. Specify your user ID and password for the AS/400. The time is updated. Click on the other Get Time using Method button. The time is updated again.


    6. Close the applet window when you have completed your testing.

    >  lPy$D7DI66$W*./usr/IBMVJava/html/enterp/en_US/hpj400/examples/x5ccvt.htmtmc$$  enorst<>acghil ./dmpuCSbfv"01AFLPTkwy,-4=BDEIMNORx();GJKUVYj&*2358:HW[]_q 79\#6@{}Ctפ ! HA` āx_]N0,Q>0-$I65]u;!S/btۦ j#AH$kw K89s+-̌@paJ k$I-I`` ]000000-$IhJT0-V<x-Aipt=B=ώ-̌Acu(-$I9! GK<Tiώ+G|uO{uO F[χ}cWپyQRg91F\~ ֻ # SÆ 8jTIw b:c]S~8pa m6IM.|^ =GdLZ32>Vcx=w K:-G5SIt1CUk ,qrծ+68Uz#&-[QW[՘Ixxr՛ 1}Rg &Pbb)nVQޢH:TR`I$BHuѧ>6>>lUs{T>>8{QIޒHr@axs#bbηdpyT Pb {IHc6X4#g[8Sݼu_ AyR^d|ROR?uѿ[mX\Iu# ާ(^[23cpgX,03UE|˥&0X`g<VGm(oX,03|>k?u_=\0xh9{$?Cܐ~E99~X,03;[ÁCj^}GpU$ , #&u=8a`>/:>j`  !xS@0?`PHX<) 8P[ܒHrD8$0@8ᶫ=g}ᅂ: {IHt{ "A՜Y?[Fs${I۩bEԏK89s+H]Y^mԱ(,넒A$"T^BIH|/zX[zR CX=Kϓ"@/~G:3n8D(Đ^mԱ%p{'&|6X* ͺ'bz3n $AyRbQu,OR>/x9s+(^mԱ%q&R>/xUz#W m?$$d>SÆ >/6.>9Þ^9Ϗq237c6Xc#^mԱ/voެA0phī:E_[ͺ$8 ю*QE ۩bJ@I$ {IH>v/cʍC ,ᶫz՜8$0@8޺S> #v |wO3njTu,Oy m?$$d>[8a`ϑc<NTߵ#cmV*WHᅂ;\ks^Ŷ'9ώ:{V*I,( 00\4Ѿ  i}OU]S]. K Vg$Umf =SÆ MT鏢G$A1CRg$"0 pJ@I$ {IH<*rϭ XCÞ^9όVmxI# 3 ,,|Y\d>[aP'6X ^mԱ #?;.)m$-I$~#! 3uԏOW*N|z4sufqqor3n @WP^mԱ% m?$$AkG3LGɝt #8#ls^I,ML*60-X3n( ]KHfF}6;"bհb3n/6Xt*-X3ncJAyR1CI23&-[q[aPǸ]Y&s2/ctL$9KS#3>g[WAorI!I۩bE+],{?sܵkygbհa$-/6XH$Sп`XhZI#=W9KS#oV#6Xpp48 ۩byd_W:HgFmԱ!@``W~NSI䌇cOݩaRR {IgWSտ[mnѾqZ>Q&P]$rBsnFqGI),Olq·;6ǩTI;že $Hb~ct<0ߵ¤$cSώ3_R-+y$~o?#cʍ ?v[W~G65g֫{t=AUs㟑vyQW(iEN*6<TxV|m O Q PwgZY[ܒH$)B~ OݩO|88꿭 G<84ڐ 8TlG"Y[FtgtB $.H$OI$BJ3n0K8s}lqxq=VKIzI#=,OltfK-AyRԂ~'ۘ{&WO:w6$VGW!ͺ$]L۩bu=Rĩzf/6XcGGNj1VY+G\wO:qw5Bnuu/]RRI#$?CܐmΧNQ&q 0<@4%]tiύA=;I#,Olp38TRg6Xu3 |pVqR ͺ$?uѿ[8yؓ[qЫ¸|/~9:3nƎs){0]SS%F ?\axƎs AyRĔI-XFmԱ!05KWlu/]SݝҺ4 Qݜf:YUز#6I${'~;tiύA?[n+'cG;֫z:xI^fK#tt^1KWFC{ћu,H<b]K#Wwp\d>[RČ*ll^QH/6Xb~ct<0ߴITv/6XF 0  (/6Xb}RĄu,IDfKP^mԱ=LS Gm?'c6XoZ ͺ'?v9gvyl{ՙJ6 #&q 0<@4 G-I$~"۩bC1KƟR ؟ncwX\!?[8yؓZI^|6Xu3 ނnfKDbU ۩bJi$[ܒHrB4>>9~G:;8IFT[Sl*xҸuѧ>6>:f$[ܱ?SJ6:"ژaSI[ ތ۩bE/T5Z}QH/6XHFlsQsbOoQB !ƶͺ'9π BFᦔQ<ူ=z0G*aC6,4 AyRĔnqor3n /6Xcaz$t9~Gvg5َusj66, G-I$~"]scazOsor Qğޣ^G>RĈAyRĕѐ^ltfK"wWAyRĭ2Hǻ5WFmԱ##yʵR ͺ$#p+{'~8C$ x|uI'b3ndh )9πс@n+{'ћu,HL AyRĔI-XFmԱ!05K:JM{ѧ>68Z1HMkb @I$~G{-XљCJ!FmԱ?UGDlqw ф0^gAorI#CܑB8WcʍC98;WOֻ<TiϏ*6;6XnIVr@@n)$rEͺ$=j ͺ$$ƶλlRI#کd}k3u-qV7c ,W(O?#c2i$S,kOT?,κe:UF?[8a`ϵ6`?VH[ܒHOI$~G{%^m>>9qFlqJ vlsc[FqZ?'+`¸B~ #Q*c5o1s+[(\uёUlsc[FqZ?'+`m¿[GQF3kLuI!ͺ$b ͺ'7cG;$+G> m?AorI#=,Olp=zѧV;]SCzϐ^lwJӟu3 T~'ۘ$[ܱ2Àu '>Rċ^k´(^mԱ+G|s*`%_>8|l*A^mԱ=RăaRn+sc1L6G WK>[h$6,gTgθ#8t&-[Ě쉋VϝqFA$;8Uv29haShg]RWAg$ !%Rćc\#^mԱ(,A$ :2=Ostqrծ݇ϭVZ?SaZؾ4ꘝχY͉?Uՙ՝\l*~UٮusܵkyI\8,ğƪ}<|g:?az+B[6ϴI 0ήlIUkcp=~:63{}ls=Bs" otlppo{ڬWUu:N}lsbO 0    O*tBjAai$$d>RċmVB ͺ'6Xl*J(u,Oto§ #T݄fK^mԱ*>8dpl*x8U]m$-I$~"fK (^mԱ%p|_W}luYTlGoVp<$C{   Yqor3n /6X(|}ltfKQn$yk"et G${&۩bxL AyRĕÌ3cO>LF\;H({>9~G:;:3n@p48(naRWHѧ>6>:f{'&|6Xu3 |pVqR ͺ$fKInlO|/~:sl_65gFmԱ!xH@%KW,O6Xn)H$$[ܱ?S۩bz ͺ%G-Z:l~'ۘ{&WO:w6$HjW!ͺ$]LK=Rċ^k´(^mԱ%Gcͺ$Qe /\=[ ۩bJfKP^mԱ%t G-I$~![?#N_[RĄA 8 AyR+W]sc`?u3 T{v>C{ћu,Hꆾ8|+OŠ)KR3n/6X&ĒG>[RČĞ UP}QJ҃Fnƶ+{'ћu,HL AyRĔI=Ӛ\z͉?Ug]¶ +6:f]sck,$W9Vcb@I$~G{ͣ9ؿS;cWF멘^!X$f+[ܱ>3>Rċ^۩b~'6Xac۩bG]Iu 9㏕~CcvFmԱ!xHCz ͺ$l*A?[n+'cG;֫I#qЫϐ^fK.a{^mԱ:؞۩bE/T5Z}QH/6XI$'>[3nĞ4uHX`u,I\[ܱ>۩bB`j ͺ$H G-I$~![?#N_[$cL-6<`xi\(7zI!ͺ$]LC_> (u,H'b~C{͍m۩bI# A>ѥ8iF ?\axƎs:۩bJfKP^mԱ%G6:f]sck,*llYHi$[ܒHrFC{+N|lu/]R ؟ncwX\!?[8yؓ[qЫH6Xш/6X:2 ߭۩bDU|N/6X&I6øc !ͺ$do9VcbAyRĔnqorOy]]dz|4-X3w|:}RIJ4`xhчh AyRĔI-XFmԱ!05KW,MRnb%q&:Cc>8^i$㮍%RgmLqJ-I$ zI rQu,HtLQgmL;7sܵkz ͺ$ !@0,4/HrF(|}lqJ>+G|s*`%_>8|l*A:ެq23oVp B00,K}ltfK.:ެr/6X#$?Cܑ*V{uOtovaFXuO?[(|G?vƳQE20>O88p_Sg@h`>4Wc(5 1 ->cSƪ@I$~G{qrծ8U'VT` 9 3 ~4$?orOFmԱ!nOݩ]FVfě ތ۩bAAyRĒG7c8B>>=+GDޣ @I$I#Y (jZG,8p_q`X }7A`8ZP6I$}dqZ>9ZZeYETj)ՙ , @|X P$Y$6I$ I$ k@nfy$\756$\./usr/IBMVJava/html/enterp/en_US/hpj400/images/image1.gifmtmc$$GIF89al,lH*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8s)ϟ@ JѣH*]ʴӧPJJիXEׯ`ÊKٳP]˶۷pvݻx˗hݾ Lpѿ+^̸1݃#KL2rh̹ϠC挹iOEװc˞MvszYzq~7q+sƟ{Msyҳ'+ubN0T;j )}@'F8Rkͧ\ % UMH`Qsa(R%XaGbW"F(cQؠVV!x~8n袎 JrV)" $NI|AWY9} >`juDޖL 5is)a&XX'ҨceUɦuxi2* hMH/jzeP"_x)V 'w&TrRalDifj⟨&{]ev)l>_B+.k;)9,:lBE{k7n3fxZkzU6b*KpVώ:nk\pj,pQEYk[\ƫ§ݽn욼(K(:UJhk3ٟJGs[ՙ- Iqj]_J$/7ky?:u5[Y׭Ytk;KT%;]PQ%>W/%9ƙwUߞ3N榧zi}_z>;߼.=Mȳ|75WogA}W&oo>y}V;ϾoUϿ[W? 7%/ #w0!P5"\9"qz% v΂àiճ-(w t`4(aIE'BKD:ҋa!Cִĵ`r:1+d?F$n!~E#JW ;,ZƇ+ǢF}Z 4d.5RыmĕXoDCY&qic4(m" (Pb&77jEcdd2wt )KٔS.Y%+5ITq,+kK2H%z_(2?rK\4:cRڱ&6ymr&8yos':)sq'<yQ'>N'@zFtd`j91B}򊟞iB* Uъ:/4jHÒJNJI&D>M)kDK 1ݑmخ iC uZzP&_8)(G eUeO} UtcNV^^[U*6ɟlm=[ҏRt啕| [:eŦcQ^s,P0Yr,h+浴 +jS{ղ֥}mEc+[Ҷ^ytۼMr[>b*윻}SnaM8}:aM'(s}/ g7~ŏ,Ç]N?;E)8\^Q|?'bƿI9Kv68;33MS@tQtaLHW8DGTg[v (1 '2?u;vp|>,fVrs- H?w](xXKw僎TCdyNHL{%{R[TXuXh[ZՅ^PdOc:l؆{r8t2|BHy;LG $DaׇV2~wno"`<%X2Uh|bo+Sxng6zRx~Œa8XWc&:8B}wCReUph::gar0e3LTwtLÌYĉ1s 8H2_UTWtClN4THJv^18w.8GHؗtDdȏ7wXOgOiXWd9OVSn$&y\.02#)ux8:UVȐ(ɒEe=>aLD9jO's$"~㕦P;`W"p#5&x8fM`DXD(4a3V%-f`H]dt{_oE.C)7s)YUP"TdyYF-gW7IMuY$rTl7fs\#iQyeIu눛i`qGyJAㅘq1Ϥp&dE'hPzYXYO޹tIԞyhyٟٔ9:Ƀ*W *T60"x:hhbI&P'*o)ZYB[֢d'e.JgwmI*)z9&)r碗5Fc;H=%C"ւrsjc5>'M!k"qtaƚ8,*|u zibhAV4XvN*ڥ$W=3Mu%ƤxzzyYYZqVW#JX>a`d$RSo6x#76kjp7Jzr:\-@#|î1.컰Ę |kG9 I,×[Beg ŏmd4+Cg)*Qt(ʟ3tc;N<$Y2+kZ&l3sΧ/#Ԩ[lHW("'P϶tCfXg\E,ydmvhvlvp-wtmwx߭w|w߀-xnxxdOmQpE.W. fw*褗ncα樷$:ӱn:TC.'G?9%g9=\kDD}֗Vmj? {b rpg :BN0t!W⮀3 IHo[8DȈ3<M w j5l$[ #(@*ͣ}RXi(9jq[)&m,b }h+B0`|!H<th@ư#yx%d)Y:>Bď((GD Z2Җ4]$C8\D)`qƴ.d>L]whZpYfnz3(tH1IrD9N!l3HZ$D'1)Tr MA[!Ds 279ϸc|-'C1;z-]Jl94{F5D u'iSkuE6=b;#&҈Ⱥb엌:bHpUՒtuaW2vaբkrlےE.sYl]K$&'d An{Bu )w]Z&φyPy{(֎5ָ-8b=ۮ8l _gӺ'.nYjK]7b5~N% ii~Nx˷\O|#GyR%tC/9O~O]yRaT<^m^vZlq>ynr7+ nf[ǰ{KqM{, Ph7eh`&ZIH9)x["~uhQOvmޯK՘ImF^>@?w}tLk'PC(TXV؃g)X9,.vNR'І|ZkH((EŗN#N vvvig,rwt:_FJH|ykohN!d؅@_fhM#d<OmHqN}T!)sWa`"& BjfdzՉF/RGHN'DX;QX(~ȋǘv}ȇ4XȸjsMx+YȍOژX:XVX[M,,fUtO(t2RfMV%> Y 8iPQQWvTMeVvR׀UJEt/KqzqVmg^r ftS'bWrCGxXő V} 8ٔMZTy~WapȔ%r_`Sug#HI옏Gni)rGW9x~IIpZ7PV{NE|i 2)Yt__ltiy(~ٗHj\y9B3yyMMiY>Qy:ۇw?YLȩ_ ި"dqTEo#F:bi9ɟjjF joڠ!gaT ؠVh$Z&3kGYgyMhCL/L)(C-zڞ,1 )虄!~7G*?ʅ6"8ȥpŤ;TjȠl .*1u1e_nN7Kڜ崣 pY0!D9 |vEs4K]sux):*dz{]{x=xe |l*NjopZQjӇ`i]ѷĨ/ѧ#:diR=י')(RI{ əJTКxUDޚ 2Fe+bn:5z*{J[ZRIVُcA *j ڦZj b.ۤa::KYƯ0[t+A(NHk8k舯@MOۣT:%ʨdtjM[[}鵺ӳ3['&WB3P1*n۴z^ =li5kC[KK9*j;Bg{Ü۱ ;4 Y #z;ƶr۸(hั}KhKj;;d)j 嚥Z뷇Kj3""/IPs={+f+[[CJtP9{=KƛȻNf˼]wh,=Ћ>*q[#i_T^`]gG̒ѓk;qڿkh<ٰ/2, XV6ژE~!| (fJ[쀠E<'wuKlkÓoS\U WL]Dz|9LNY[g *|Z[o\j3ʺ>vKU] v+m,6L̐[9k?cL@c;\Jш3欯:ѠK'vt"MTܵ0ĥ MϜýhÁ җ f"y[׼EL J[K ͵C]ޛM˚Ijnh g<]FHm?{Ht Yik-cǼeMgbym}-dwXym*ټY8]հq dVԴՙٲzXEQq=?W7O-SF~V\d~cb ۋfߺ)Xݐoͷm|٫Miܣ\܀u6W^);+;]ټf}Ӳڗ-ޥ -IͿ ˭^ݵ`mPm;24WM9>-; TQ1x, ^-m s¨ m1ߋ'8^;}.^՚[\Օz LH.01|xʪgQiKKX@~K}LQVKݶcjagXT|ح7> ɝ= 1&DJ=[LmU.MD=u .s~׋꟮n n弮Nw~={^uD:Ǿ!^W-U{#@;O^n'nO M.C g| 5F5 \>б[EXXNӆ昚 ʤux>riVglGN/"_𐇮7Js US&t4ֹȲDEҮ.~P!Fo|H<qt_\^^o/!i5w> 6'._>qkwa&Ykψ+ a&\]蛀tOv/$~{`'rpNi,o-uH AT, }&]}H$+aV w РA.dȰAFlXE5nѣlj i0,DFqK9uIaO;L`2!А \SQ,Y5YDh*pTXij1&XiTVЮ8 wb\yZUUZ[,̱4رңY`dI}2ƾ~WbɈIsdZ̯sz.DevσZ[fkqUN3CTl}{B)Q _>3˪mgs.Rzh(j"3&O> z.C>qDK4DSqE[tD꼲"3P! j@΂($Rf ?0#.$2*(g,Q@j(HL1c(!5,o%2$Oȋ"<29#| o3'K+ 5<7-Iqbl00sHLѼS#3sΊHSDLR%{ɢqCkUTZԪFGSP3OSbtYdv2AsiO,W"|O&/\*Piu\[NQ;HEˁ,e4X7U6ZLZk3WU_+^%+naFcY!q$l+O巢ҷcd86Lbu[0֒ȫ]sGnT-(Rj7`H6_=ޏJTȂku&RnylAg-vIMSz[ԥ톦Fa |Oۯn$v|bi7ɛz{A3X0ь ofQ|X/ /=[{sZX5=vd`>PwO|t茦lǏy桇xɷokp/(qwQTJ4>n6 BtE,f@;"ME0^чc$wh3U4u:pb*MOŽHqC2E޸CGZtL ^̀ӋHHH%1DP"|(wӮ0/^9aITƧ6ȫV,myK\REd$FE1 c*-=C LgFД4y\Ӛf7Mo'rNˡS:$3DJyOzO3hA zP& UhCWDo,10x2,RE-QLr#fR:l:Ҕ4Αh[`J~I %o:SbD{TI|df ^Dg_A-[;,Ԅ \5: Bi* LUlyVAcXUt' Q]u_6-R-U[ۉIVmiH濜7cpxp.sC;˘+ gg?_6qtf#mˢyFv5^X}j\e2. džt2m]kF?xȾ&v b]:5 3|{_Bk X,M(Tg:.In[4)mv7RCYDԅg{K^w"pgetsiT[x#ᴶ1.`n-oVw rxuz;kU̪>~HkXcF1Yy̱n{s/ nv?-vgK303[{(?!=j1>O4/.ʊ ]%: @L< "X˂̊ĥSR?=90*#a1! ܢ8B%\B&lB'zB)$Bh>i@B-'PZ=TZ8Rո)2<+@,{T|-6\CJCb *CyCǘ;Z,ͪC`ĜD=1D 8!B#H K$M܋8dөNlDG,!1īQ*RLC@t IA-\XdEYARGTW,rO9ԩEY$qØ`*A*oFp GqGr,GssLGu\o v|Gx.GxDG{GvG$zly HG|C^ŤQ-}__{ߜi__]5!P?A6ZR `>`(`^A~`2ʦi`% &AB nB `! aBNa-Ra~ᤂ# ]IND_ >ܼU íz#F= DEUÍR(f~Q[:Yb {ի-%b*\)vŵMc62chbEZbc6>7T.U:E0*?;f+gmD:dNUI-AvGE~[ *%cLb%*IdddȺdd/6Mܒ*e2%2N%Ն忪N&+- YX dbaɽFT[RY:\nfOid~fR>"N qfAdf`fmi.fRfrfvNf PՅZhzn,dVH}vjph}lN`ffz>rfdNhfhh_摖g:QlNVPg&^n#~UndrYnnnW:iCVeDV"agVggi*k&j(6k[ꃍ$Pg~kfcEkFUk#*nkK -塶kFk6E D΋TlrNlXd]Hl2llbj_ĎѦϦe))`X'mV\J0C&Yj>fm$R@ꞥ1*n| »۝o5n[c6+oS>־˯Fqɶqo.l5M6I ֙N ˾7o/q+p;p&F?Gq@rqFi _.ljh~q?ѹؚ kr4*r4br,5*W@K=.;-v6's2'o8r?qFr'o%'yxq1<_s&,t{tttHsNs)7R)@Qq>G=t aqX2qAoHrDwOYt*G>\uU?B"gqOit3vIu9o0MpHvKJTs+:WuŁvVp[?lu<p^Wxt,_^1u.wZO fc_x^vjnǻ~w7/wM |tm7lx vq*vTg7'wsWpN_yrwy4w77K_u9ts17t)dR_qsvv?w/xW y'9?{wf'MzwHGry6w"{w{Oh%oz9xWo4y/xķw˧v)sw|3gx|{_W}/7sOԩ?}?uVe}/v։t7;-rAwO}~ο~O{BkԿzطzP||(u[ 6h „ #$(!Ĉ'Rh"D .L#Ȑ7ͽ'QuUP̶p̚7sN3ТG.mӪWnʖgU(_־{.fl8ʗ3oW=:onǓ/o= gdxT۵\x_+n1~+;m֢!>䊻_^ >;zꙫNխ;|/Z!"[bBEֱ^T iH,1 #CG-ꌒL\M@YIe)UJשkNHZbr&,%L.ɨэБ+9Asje-_`:}+Hj"}̥.Yk 3szc5+2Q9[ULZL(DV'%[z31C)VBqJlUlyy&^/xJԝli:M&*F>崤V!;sQ_r^xCGnsir`}&H}Cܙm{|U3UrzNuEJvݾMJ}6zNs*Wt[߷fuq[Nzo$Cl{>q;%NpJ/7\q|lܲ3z80C꣞UabXO^nPlN >4JOU>GWhvom}rvgvf_ihĘFsir6? rg95Q֖TDBUBO3AA#9fh^.Ikr|OwS󸚬ٚ8)`Uo[qȦj )?iٜo9c`щ|iiiMYI<ש]9fXbD NWPy:P9U#/QIW)Dj=7j`=::,y4F@nZ<*56 zzu(*[G{¡%jЕ4ZsHB3GX8jQ1A:WCraR:TZK:ZK`EX+3]s)X!z6lZ1`ɨuEWǩΉ3mZS2Ejczs4jzf rqZPZ eKeJPO5 c爪s%Njș6u9 sJCfD`ZI5gj6Wn\Ejny҉DioUGI*b(bVF*z9IZ9ihrHɕd^%r9Ilu:nʝ䤳[x/ URwFpTlzG J3 ZHh9bٰ[4L MkDa;hP;ROtڳVmﳠuYed{sfFhH&BUJ8.*}ϸxjbڧVw6e5o;{jG3`[36z;\*3ctPg˻4b_+X J;]0k7{xH:11ZyV:[R%[;lþ m7^:4j6"[.+5CHҿ[79v˭V4r+c|[$TLk(0ˢ\Yfۧg#Lfb ɲXYAYE$}I6 %8|:,q–tJclxUm*OKL(M\OQK.tQ+[̷Ƈ1Yñ ҝeɳ`ku\?:ȎܫUnh|8pnTêm{(LߝM.ÍR^WV׈wl^3.-3ET.! =~ qn~70f -X,`ʹX۵&*h-g3T#Voq\Nbe;>,q`)LRN3>޲^ݨ:up#?NtNm猢>醎Mޫ^Pδa;68Om*Ѭ.ITaMߣ̓K_]ROXni5k[kZWvO75Y}/oN O\.S>_K^VO \ oC+/Nxc[>9;}1\>NǸ/Ο\z}ߚd~Żn:g.MMD^Ͽ[X1S  @ 4xC"PPE(!%(#I)UdK1I"0&B oPG5uT "͢&8'N;w>- SP *T_gb${tcǬPźV[q΅KS"UxR 6*ʢ1Hx Sxg;UJΛk˜bѰc +h>IekvV*_^Hxg#I<5WMm9rWNx͜p5Ojy>vA疫x WrI̩"+ @#P".Kzӏ &d?3.%P/sԑ /'q~ۏBɕ\;C+co/K0[.$H )%I/L6*l,@?\A-M)7}D1sl8lLRPMT+ 48DlZuVZk%0[suW])-S7 ;Ű8ՈK Q?CumTiStDX{kn[n[pw\r5\_6UuZjߍH\e4ۦ%]}JW_`V a$g5(`v!8ԃU#$ዉJ.C6d2x{;vAbSE f[$J{X~p%hGZg֞~0;'gW.e=N̋Tǵwj{l96sO %4ӔCMC3.!+n#{od-n6qSWa5Aoja>ZBJ,9̨n.#W~G7xW~ywy.K.Tsj3~{W袝|h:w}g\z׿!=2L;\s(t\E#`/r]xGqqOS*Lt$qLP郚(aP p3|uy_ca\*C ߅Cp+4rFDbfĹ Vb1,V#":0V-F, q):tPK׃QȦ_jkɧ65:mk ȫ@Ot^٢=֯&# E%14`LYD0FS"@6] )Jf9Ln邧čTnRdzz)Oi~ V)GE"-[^k0Zr'Ceə)TLr|唑;!A0<5M|-۴7K6P3"9߈iF|Q%D퇋,Zh}37ϫ]Gg6d"<@6!$4=;HbNqӋ茌;1*B')5DUG]ra>hO5F^ҫlhUBScjkXPQOBDV͊p|WyU5kY ruvM2۪1ugRC++8ii:vE$^]՜5,h-QƑ )Rg8:痘l vl &Ƴ`hM9?X̐9 *ZvU u+dT#kZ/yS&wg|kֿ"j[LJK$ CIGX[-w<4ZU>8&1Ʌ sb@93ubqo(YC&r<XvG.YʓK䔭|)[re0_sLC2Yk^]f8cqsWXe;Y?gВoD|p*ǰA9zGibZwep4auW)˨Y[YҚ$ô{'^B9w>7ʏ.K[^涶}g]_^σ >|07=^^vrw4ݿo uoїo|빥~{ӽk6#;<{FSþKlcSA?{#9A4ۼV: =s㺏+@!'f8̸082*ZsB4"L8 8[ *BX#C48p7C:,2AC<$8C@ DADB,DCd1CWo5)\w|m|gF~KڇC$ө*AQ:5d-JŚ׾Ue,f*vQt<_YŶ}li9XrAhj[K[^ֱEaؔvif5k]Q[[ը$ZDpA_;[ƖM.xh[zUSjyqI햦mj-׻+qߖP"%t{U*bk:%]k|K[ؿ]h_W {$=vOi#0&G۸8s)$ZLddx"l$:%;P~L)[X-{`@~\sA_|ȑ?$Γa@f9π=>CH&@8}.٢'gDәyc~4Rp;N'ӑɤRhrٙkִQڱlGFmXSdIrɷV՟޳?B뢔zfy]WӐ;|[OׇE92G%Do4Kg&Ԟbrl&{64\Y.1 !7j7aM*ґ |%Z8g\Vڗ+ah Jz~ϪkOن\D-y (\j`۪ nGL<"wՖq#JSS7T%sr_md Kvtbx!oD^Ձ2֜7h^\!eG:K#} Fow۵W~O7dI7eю?$(^t=x;vI߁{ ~N0o+x[$O_[dyx!6Qo:^q;=ߏ_䮋~ǘz2wu_w2}} ~]'W:'ltGZ5ApX_7|xՁf!xihGр% oX8 q 萋vrPY.,U4)vhbT`(ah8M&qAW5W2\}X\wu0~s^ir) =dzWx%{7wRY* Vzzn]6ywq&aNp_;v9M٘ՙfGǒtFG}W_qD]R )8_WKL9uIK§Iqme3ُ~Ǒ4[d:a׉ɖ.H7 7Й if)ٝX(3yx+YF)ӗȠwAّQٍFY?)١uazjdj{gIx #\Iv2h:<*4?xh)jy  t[ /9 DPjJ.Ѥi$H*+aZjbjsZdJfjtQu?`_hJpZ4)_5,qJ&XԥJeSkZ@{ 6I7`yyun!: j7:Yi}wꃠ ꗤz-aɬ_)u9t!cFh߄ZQZDd'\yWT*zM'ڬZ<ǺZNMںs :SʝqXp<ٰ(gJ[Y3zDʢ| {KwvtPHJ}灛:{3nbȨOua*1z ;*cK2,;ôz?B5 ;wAK;;`amX{DdX,ا9֨Vkϻ9rM*&9{dY f^mlSJ{ RGn8ؑՋl֔hbl]sIۧ]ІK5iˮuVWl\6Yv;vܬ͆{y > D'ܨΪ=5i8W~5X<ݭ-rݑms `Wd=mxNjᱫb-8,.>ٿSZӲ~ *dԍ|zNNG..n0>XQ:#:>K~{ɋ}О ӥYr.秫ር(+ =]=]-\~#^%^')5d~~՝w藮öjB ʦXj~睾hk*{}Zd ~I=_ 1>N܂N;>з+a&٩7@9n勆svg{qtyjKս{lɖ $&Nًέc5%~~:L]_iÑ,ZLK}LziQpq_ɶLtd+Nd /SpvnJ ybDO| ׮|CD^ߎQ{_;0ny. 8*>d]k ߖ/l_:und42ĝ0)PƙQŎ%K0Yiծe[q1+|; O'2o 2'Or ;pD 1q8ڛqǏJJl >R1'+R;c\xp#I,5 Q\I$Hidh,<ulΥ2H1.nzO1uʉD$0%rA9Ϩ${BtSh"5T69GaD1 *: *vW`VX2Xma3>5%Rh.b[j# [BDmQm NfmH!w3WYz=iy!}[k?h[k5m?rQuxC<:/Xxݳwc}bwgԄ2t W\nx3D7)ł]w͸c,u7} 3f~SځtZ`/+oBh ʠiY:ӻvy몵`:w&J]+mߓ.j+W\M.eN9Tf$`BE jp0plz W^˓cow.;"fjUpAtkO)zSu>v=Mea7Hv7qQ:b&jhۃvf6B2VBoU"_LylQJBN~D_j'K%\I}翁1L2!`!C>)N$@9ͽwᏄg? jf3aGOqw9հmG|C'=Ta(BDa̷8*g0X4ʍ_=X&6_Dҡ8 ?Iw6':mexC5k&󘛗Q'$ HP+`\hWJR%JdŲ- 46QGOvl!,bJ%zie3'MidyM(SX`E`"X璲0I.pvdUK1Y%Cꛠ:ؑ j)dGhѐ#S4)XT#,68lfw؟@1lhU{R#MoKOֺ6YNEoѹp [$5ELtZ"X+(脼.|uRW}-1, T=pL_حm7Y` KB`N|icJa<- >a%}(j *h/#-âZZOؠ ʅ/I MWG2%-m (2Yi+Rck%s-{?PU*cbZ܎YDslDxl"H|d7z1|"Ru]1G}5)S"׮EE#htM栕%vkOi.68G{^vUlPz%W jF/VǝED2%V}FߏF ӂ7 vp;|V(-q<6} ؉k)z$G}Pv^oMt!\W*~ڧA{oןi{Iٿ 쓲cS;5 a{-3s={ {1Dðw ˕ ?~ÿ}=2"<<: 1ôĴD;;Q;C꫼k)l%4Tk4$܉[i֓Kf:ػ k2"70$37 P Ñ$㛟+Ŵ9Ŋ9K>4){@89T6%dq; \=ˠ#%*dH JD3AMr`*(*l m<Ȧo,GXsd'%tLGw< bx$SwGxĚ#jB~&hb IȃĎHHfz2@Ȉ\;ٳ?HeB 9DC/~pz2tC\zLĘ9@y⋗t$IJhL@90FJlMr҂8JCYɏ'ycJ0˲I=ӧg0:JJjʻ3KDK˫dK ? Kj4'K1 0lJ,QLCJ@Lh$$̱j7T6tYMMMMM͙<NlNlTNMNdNN|NN,O4NLO|LÌZO,ONMMOO,M=PPlOȕP ,NL =OP Q'CQ,PEQuNM`c QtQ%!P u\P#5&ELSzR -DO\O!eRR P%5SS5]( ?ieS!R, #e:ETSC5ODM)QD' 2buVoUiq,lMW+5N0uWW[WwuVijNBmW~}׀-dDWyU^Ё(X,PQ@XLScXdX8LO O%ؑSKU؊O5Tlsד֋WREՌEX$|e ܄1ڊНԌMX5RuAרKHUY l&}ـEԡ=9ZelZPDd[ZѶϩ5ת-ګ[[Q׬n=P}WXF)JmڀEYM̭uЯ ˽SߤZM'(@-0 ˧0](L5 4‰LM.$A^佲DD"*!.KфE$sT  "0']!<_^_l_JLº8@Œ ʨ^$HR`;ՒE`0 _B0J,-l/rY0.,?l~2 - Y>ത ~@MO~Ŵa@] N "aU  `"pV .>b;`.*V^/v)K:IRatXa^'b9/c,$%}'2*4c-sR`E^md~dH&CFdbL*`5n6Iˀj+ddPW>eJA F.4.Fde`.ec[^\V>-~0b<fP R+q.g2grs^gtfgwgungy~gzxn"zy:goG#E@\12h[h%&"lƇδ42^hi>i㒎+ѸG Gf难iǜWiU4%飊^Lȅ\ljIjjjjf&8VíkV@\v] emfRŠWk^ec0kaΐ]Knk뺾ۍ(>>c`.Ƭl؅Yi0A.&f8X"YXbIfAVffclSvm&h^a.<4JT0'cm ؎)Nkm^Bdg"߆nV/QnVm`/Vo،om7<>ooؾ&،/&p n ϵ(Fmk-?.O&,aPr' q%gISrPm-'qMil9>sN'DUՔs7shqlo9_f2g?@WJ>Os;sNt(tՂt;atȔtl>iOo sGwnQ`\i#rZi.G Of^uV6W2X]6CLQtP7"wGwTX ʰfP5km/vv8]up2hWĹ@ednWFq_q(ay7v?Vxk@r7lOFwN'@wwGxwywjg|W wExy'w;kxEʩwG]qDB/yf|ofy_ƈG,9r9Ϩv{zoWvxwoOyvwwv‡gD{_1??/){y{Ge9z{'"12ҕw;@$yoD{a/({'}F4}ލyѯƗ|oDigMٚA!zgx}|e,'y̟ҟ~zpzȿ|ίo|zz~_yx4X`2l!A J4XbD'aF/!)S2de+_Ҭi!Ά9 I$ύ% i(ҝC{Ĉ%Z乴(ҬRi՟>-RqԪjbպ+ڌQeV,϶Y*wbY^ך .km*ι2TISM0ݾ]ą9Ʃq߰mښm;%/6PvviTAՈ.SDk[pfi]>ԋӊn=2Ǽ~f٣C^>}ȱ϶;wsś~a'h}Y ֟)JH_p !ixNf")"+W|WKWل-c/#`UېAeH-c *؇VO:8*!g%Hq m&X0wT)ԛkɤi} :hi$fdNiY$aG^`q5^~ܥzz!U~ڢ8ҹvi骄 b.#®J,ƾQ 8,J;-Z{--zmܢ,K l ҭ;hb{//ۢ;/&bd0K<13 0kL{ np,%|2)2-21<35|393=3A =4E}4I+4M;4Q; kAjy$0756$@0./usr/IBMVJava/html/enterp/en_US/hpj400/images/image13.giftmc$$GIF89aL,L#H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]fPJJիXjʵׯ`ÊKٳhӪ]˶U14Kݻ;u߿ LÈǐ#KLj}ϠCMӨS^ͺװc˞M۸sޗr9' Tȓ+_μУKwc BPO釿rOه&@ݛϿViWg^up٥Rpŗ} |&av YV~(p@}h(<㏻X)"{P u(@\vBRE$U L6ɠf0b^w߆_|zqp=UT.HP-Kv&dgf馰)՘I蠉$|!)vv*묛zRޡ(j*(H^J6ۣ:F꒢&9hf< 覫.9-ԪLf S,͋u[-:y/KY,gl" ~@x^,Z33 % . -tЮ]#1UPGܢ 'Xg$c`-d1¬6{lvp-wtmwx߭w|w߀-xnxx/x?.ylsSxew.*5褗nR6wꬷL$n-1&zo,7HŎWo5)_\wk|vF~KwCQ$I2&3N2,*SV2.?y =<_ ԯ\=mj=rFg H dfFd>π33[}yf={},t|Go'' tRNGitE,J'^6WsF 5G}IG5Xd_E5EhM][Ԇri-I)K(ۈ_5%ohOټf>NhEg&60=d4&,amUԸM/t&;=iO@v¯Z}K6 ^Zq*Aw}߉EyN}hyC(KN݁͸[4+yIW8qD ~f_*ۥ֣szpDⷭO }o¼/27W^\!^'m[rd{/$|{_6q#BC[ͺWL̎翫Al˽fxSnort$}i?]|O=e|RRA[jȅk؆nVj_Hgꇄ,nsh Rg[{ v.XLW k tsy!%҇^舸 qDC҇E&bbF 褊0cQ&-F:؋wMĘ>x}ɈJXx:ۈˈȃ-8x<HI(]؊:h稇H (xYo@ aBNW-x|v}5_wcXTSyմǖg`>[uy8qscIe2gy;֖uqoy odX9yS/|[ss3Fd(ˇzWFWK\Ghi2!Iɜ h~8Ab}i@ě2>VIiY9fIL虚~xsIYE ȳYԟ :F66 iz|YBfv8f N-/h:*gZ'y cˏ7 `I?K[äRk}xU|KZ*\{+L{{t ۸/'q۩sӵr J|֣V C]`kٹMŶ{w;{۲P˻6+N{ji o_]Kj˥:U#+0׫{bлkyvwKK4{&A'B#I~cqؾ*1'ʛ>?9[!k;$ zC7bs( >ϛm=\ T]wi= ›!X@\S XF+%ljTlA r 8XrL\u{9Rܐ{Jxt\HYI\Z:|Dj[tMIWjljLj[ vFʵ>$ǿL̫X%Ն٩˲*l 3a \`(<|lOL<R\̺G=|8,j;;ͨ<># u$;[+* ?k-&a(-3̷0:f˵SӛLF;u˸F]>,M,KԃMRϑjiv&,F Z<; զ+֧Hh}[]/7=HcmzR+:Y&BhvtZ)XAy%֖7?Y2+_}|Wȩ`@l1٘ѱgX题<įa}q@gkH̞l*fڥTgMۥk|\(֍JWms:X݉= \ȌP(<ᗊ. @sAғ ߰`}~[o}m Y|yzⷻ] >Nn&l/Zae07];$KN}`Y>Mj> jcN;[.(֚ 7mW"kQN}+U}[{~ [~b~={*lލIΑͤM N>e}hKɭg_q; ~䞫TrڛK?Qw =-P;2^~:.ٳѵˬnι:jΧ>UupiU psΎNl9up7{𲹨xWAyea^u]Tw]$ϩhsUO,?%wv$O:IO;/h~t1~|=^qs Xsww]kI'?xCw?s|^t󐊱гcεr:qR7//Ϣooh*6-v Q??oE8!O󬼷 .O{ڄ o~P/OD XA .dC%NXŅ 0l ! 6Q#ǒ'EdҥHe4 #Ip'Ğ/%ZQ j"ugANZՠS3?TRN jYi'zTmɒRQ}[CY@: z0/fcȑ%OfRGogyn#ٰݚGeϦ]mܹusEjzqX$%b\0r"f4rN<ҼGb u%=y o&{"< \I9is:+,3 n#0Lk3:pĉDKoAӞ4 *0/F"0D3*iQøڋA(BVL[1 1.ݣI,M9l+ÉŠ\F,A{DB Cy2Mj 43=vI>DN1ʋ #DMPtOχ 3>0,"&'=K MFQ -D(3 gT<5WtuV^um [A %[}T Q7LHZlvj)[ɸv\;5hWuK]ĪCW4TP=Kչd#gC[顅 /s^wW`3>^Ec~b_6Js' yfmO;-FwݐٽUt]XwKn+G8w,gy뙡N.f!#vb5VZl.vZ; L"helazp©ƕK:c;dne7 8ΫVgCln2J)zI1 QF#+K]RT1LezΚԦ:)*[ӝB%PZTUIeRky*L^J$I0 V1"9Ub1̡Qw(K*Eq\ZWk_66aWV+N񳹳Ƨ0j]ky\VEqI 8Nedd-kCHYܳ%kk&3jVΑ'Hh´!}Pj)Z:]քD[븑"n+4E2fkZ"7s;B궶l{Eei_TsI4~E&HL}RlT)r,E Hd,>0|raD^(o9׬1kn23fV"3[/+YAAs7 Be7hKgٙ9hj٤OQ藱JB-.jQ2ϙ!)nni۔#5 if:pAbS}l(ZvS];CY/j jfȋa|%tH6s( K-׃\&I C';q?wR/3Qy0~Ki'53t]Hڻal?;!+b6A?U.ʼn<ĐF# =njF&x|;xnrZ^~uZ:.)3w EIwI=$yצ:yuC>`6w#<ܘ}$\W䙯:@7_:gXfJٻ.AԻtw~yG),+qWپO…^~֙boТo,IvVB7cFh33 X ;(@ ?!7Ia@i?K =kok[4˷?ٿf;<"2:[+o+=$;USK гO@%:X3;#{0;BlS7 "ӿ<

    \ECDE\E)<̳IT>{E-<S// 36P<24&'*XjGxNJ;ƈGzbRF~Go"&GǰGtz Hw?#H> pj ȎR mFD8eQ7N<=עMT SFuS(5T/IUOUQ6VX%:씈HjPYT9 Q2U]TK%VU}TdeS[J,Gِf-*PXTV.=n mc5WYTN]=Dr=Wy {O0fWyUlN@%=NWqeXo5V WbXtQVδ@XN=,m=Ցm}Ӕ]׊ؖ-ϒMORҘ:UYJXZXO؀Sj MW٨]ժP5FEZZ2uMXlӟEH5SYYگ}q}rhZ֡۹Eյ5׸o\UWR[ ۄ}΅E\,\ѿ X`U[9L YlR]V}یNMZRر[9=] ݽX]be}1]\m R#$^E]WOuR%/PLHjNڥUT^_h%_\;|\-1Ρ!/1MB`/CMe!3ͻ9 " NlC }YeB߽$`R)a::aX]$ULؼT7,Vy$0*>J48blb|¤I vbjza45HBLFa wEA`9b96Ͳ᪔b ! c;c 6QQ*>|yd#6Cf'`c3.>νL\KPI1cMJ=PL@Y^:J0#(^4)ndɊed#޴K R=eIdcnJ].Zd f$f,ڝ^?Wg0sa^rf;xi 級g|Ce gp"M'{gAyỉfff,ˎff|ɀVN6h6Lb^u刦6_`hJcxiz^\Vk}+jjjjjjj)^jC`+CikI%k>k뼦GkVk+c l~lblɾa12FpH2Hym>zDm^m ҪdՆHȐm&Bmm.nnn'Vrg)jsf&N/cnBLn.n/>oNo1.@`PFp :jLFL~ffcG Zp*FtVGeVI /i ~x&ˬl` `p4Vi,4q _ pqef0/ۊr,Wq7F q17o!J,X.f723iB,s. 0p;;8pM;akn PuGO(FtUHĒ5p$pIW]/f`eP $?@va^_nFgiabW 7ujokqp nrvŔp_2 v4o0o.mن1~:osGw?W_>7aPg muOx5ϵkOwǁwt xTydajNXq bϷqoQcP/\x C19yX1~ G繜ǽ7GxRz!=xXę7c"][y{!皛|90 z|qΗp }{Ϡg!?? Ϗ{zĶ{ȧޗCz~V|1|¢j1Ku,%?&7**)P <35|393#\= =t@>34/cMO+rR;]Fk5]{uYD=6[}6Ǵ0 1q=7u}wxd787e86}8+8;8K>9[~9k9{9衋>:饛~:ꩫ:뭻:>;~;;; ?<<;uC kBky$%756$,%./usr/IBMVJava/html/enterp/en_US/hpj400/images/image14.giftmc$$GIF89a&Y,&YH*\ȰÇ#JHŋ3jȱǏ +PРɓ(S\ɲ˗0cʜI͛8sɳϟ@ j!*]ʴӧPJJթQUjʵׯ`BTAhӪ]˶۷pʝKݻx˷߿ L\dEAÐ#KL˘3klQ M:Ҥr^ͺװc+@CZ4p:ȓ+_μyڲ BWhwPvNӷP@{g'ōހh{ |@GAn- i|7h(A dMWafb @@uZcÑDi$l+A0@@ de5#q G)ddAK4Bx_ Ї"e|IP5{餍h`礔VuHix Pp@IZ'Rf5کTۨIj6k`1bza*J vKi}+jrq޶&ko[n&l#+'LY ?;퍺$AWlŘ+)wqd%$l(l(~D0,4l8q<@-DüsH'L7eiTWmXO}t\w`-bmh3jp rmxgMw|9 nM=x'd[J|,y^g0~-1:֦I3~˾yC>?7SN^7{Q?;w5om;Oy>zM?{>П^ ~c4}_' }G:o,A`?u0! 6BZ|]GA0:'D9k\XDɰX\8+r(2df,6Fn9_#G|Ny%z<$_3.i#DD4$%ɘ4-$6KD:ALT9RڤڣXr{"M8ғ5+OJHugMМ4 C=͋~Ӟ1LW(Ц/m'GA;ͩ;ojPVIuk$M3(L6VWkHU~7 ^WՠA(YܫbW-vk rMTKe75r F .m$1LXԊMjYW׮+_ͭnw pgMr+3k \tElK ˮv]Ve΅nt׺5ؾ3W+oqً^7l%Jx&_7}}`WӠ=Ѥg JgnKY6׽QQ R6&^NaYg>a6`~?,`be)LϮ%)N2b"f1f/!{8ָ?Ųx >W+e2M)ח$TWڳ(wF Jxerq@ N|q5krfm1:SoE sΫgE\fC f'r*p-Mau0_ͳΓl6yjHoxj*n)WD:E5f*l9)鲠Tsks'P2k6JGk]{k\o(8njL͑Ҷm|V;}iS[gs],F3{lp7~8&擇$iiy|Ur[Z)vq9wUng}yMK@5}K{^ӻsjg첵_uyyOx=fv/b[Ǽ7;N;ޓkMPsHd DkN 1i~ַ>(Zw2{6瀆#n?Y_6ds͏/PTw|ndOIҴ}*?*\괲[2eUYt~SU~N~8|ddWTs..|T| }l` XobA(GrqwGwJĀ}$}+e-.h3iGb k J@hGhcOQ77Vc[hVRbp#hBU(GW447ѡkFm4o(B.7}u(Dw4y4SW|HF46hh()zhU{EqgԤh>g֧)Xvd"&5\5Xx2,aUUHNtrB؂f5x6Lpt+lScjwՈt7W(qk(Of3qDCݸ2Lg{UǂHANt{XhX6hjcfd5wvNVf_Kg 9aSmJ yRv gv" tr$~Fs64rV0,gsX2>.ɔXבM_/C$EvVCJb&n CHǸ=Py7i iocJYW/QS %h%ȄDž]i`Gv4gX'4H8sԓcs}^GR)%3 nh;Ʉ陠ȀNw?mxayh#X4s,DK^x!B8z4I\9 TE`ɝD_#IcC^Ǟ)nxH#~՟y/'I2'xaIإ ڠθ:Z]I'||EZW! 7$Z'J58"J4-/5)*Z8exi>siw4 Z18PZeXpe_*cSvJVk$I1*"i`wRƊ.S:J3LrqcZzdu5nv5#_ԥjdDxʤSp*/ņhə?FzvaأR۔JlUmĘigj_A闆-QsJmOOhFNdGʘwޖ}JT PfGjN/iStG׶th iڧʭF5x9Qen7و:WVPFeWbJ= 8jjɉR׋Uג gGp ;ejq*|{䚨GZ:۬e4`tDKt#'yǣ5?jJW4G>{kuJ~Uٌz3A:3j5l%7۰q&oD9 463u䘷ǷH\J43q)Nhq髾Ӌ{nV A"\ |AE\x,* u$ƃ1ŘaS`{IųsʏdsɂʗA)ԊJHf)L ʲڎO|l"Lʭ8dD1|5g:U\$l΂#m&l5kQ{d6ƹG踏/|ưJώ :І]]'=S"tIۏ'9˥鶋;+} {s&'|ʻN:S^;,/U jӻ:)ʦW0ZV WF申kL]6gұL\%.Wi)?ʢGVJgߪVu^Sxh՘y6ع'8]ZֹX-ˌOɐjĦz<շ{h*ZIȗtnܕ#u:ɩٌzHIÀӎiگۥ"֘]jSۣݙ*,~(ޝٷ\JJ sj[7 rXis͉ 7)45yA3\Sx\}v]kmH3*2!N#N z-N|ڸ/^1~zD^k9,^x͍n3)n+Έ9z1M:BǤ9U^IWnN!ۗ[lƞ:zך+q=Ji7"EYuMp*ͧDu1aLʳ 6p>cΐeڈn]ݍ{=errHTϢΨͯ{!Kd*=>wM+M-k~{hWe.Ꜯ.l~k:h魩Qxl2 NM~!9Ynކ.M؈}S!~YNY֐󦏟i:8[XP6߶8orX{?Q^>ooc^JϚL4^Je@/BP ?Iԁ[6Wmm}i{=ZCnv>8n_\}o66vp_s>7%\!s:ꗤ:lݩi}Xx.~{zh?[kcϘ̒_a_^li}ͽ?o8/ݸ>"D%h~IOENo# o=۵ƿ $(P&a 2H0Ë/*hG  1!ONdYK1eΤYM4GRTЧF?XK9izcAZZZ"UW%<'Q+e E!C,)V(ٛp*[]uwJ$YgL!Siv2#7LRce˄R|37c(ӪAZ7Ӕ;mܹu?붬_U nĊ Fܠmf-AQ !;K'_|glUvpeם#lv߿c 6 4@AeJ>T؃o"r.F:\( KDk,,;L.VCDQ#CQ-aZp),IВ2 gԒ8 #Dr>\ 'c; ʬ3,|Ӹ1SN̒4PDUԣuQH##P%>IviÝ\4;[wlǙdB{ uR;OU-hzQMM~@PG;a leD @A1asCdP)_cx, 1}FMP|"()VQ:X 6%B*\8B7QDC>q6t+g 6 &Rdd#iGߤ<ۣy88|i#(8Q_)M>P.$Xdv9myͲJ{!fȨZk( b&jij9.gLf܀K h+Z+VG?U7abdLt)tensSpx`a9<)E'gұSYܙLDr^RwY7+gB6TUiDRC3F Xaij3k$i|g%%)B!RCu6aZ*Z) x;MGSe[LQwT6WJujID}S%UњjbWMƉbXrku'\!VNJpT]MnfU2*,VWEF;Z5(ZA2sF֍u,TCI۸jiF6h3A `B5pVT5?B] t1_VwTC;UȻ߽8^ѽlUn7yk'$o^.Ǽ%_bNaKp])\a^LfنH"qleb8is(6׈A&6c$''.r{wGYSrc'g9Ur)-wOslf2Ykrf8qs8g;YFn'Ѓ&]hD'fVt`F?l +)gڬDezIJe i\C6dCA Zv rX82f'"Yc6K{VTKR}k<{v-CɺkG8n`eنT<󖔊 mZ6%GzJovgpjzx!~[\VG;z1>ܺ5˨\>97ዥ9L]/xSx|_U&7~u`Jw~o{NuS:7|Fݮϝc9۟,ٺ.!޻ ~g;u}K]΋u~38˸ D:78?+?;!tA+8=KAR>Ӽ J3@ ڳ \\eS,SBܲ#4K[-.n":嫵+B.?B+%: ;74>h+":* DA29,DC̴4BDC!EDIDJDK[aĜ 4O,DQEM$ES<ET\EV$;lEXE=TEB]TG@}TI=HTKU6TMr5OTP UQUR]*UTMUU]UVmj GUYUZU[U\U]U^%NU` VaVb-Vc=Vd;z kly$Y756$Y./usr/IBMVJava/html/enterp/en_US/hpj400/images/image15.giftmc$$GIF89a!1{!,H*\ȰÇ#J|H`ŋVȱǏ CIɐRܨŔ.!xL,oɳϟ@ b̈9_:FE!aga݋ߎ + 6Bhb07:4"06(U8rq +fBdVBap &X&?~9[3x'm*8&A> =cVJPy2)zi՚dz j(aTgJ ,fYlڥq z6JT셼&2>hiVkQN*Bb-TǾꘫn٭Oir캕njڊ`KսI.i T~+'/F wh kL1"*{U2<0|&{*͹,(1+1:s=4 юpUOUdm{ڄp܊m Krx7,-Q)"\2./ yg4ԠS-Κ,w+S.촫^_zPq!Tir1oe|K(}Rm?k/>kgO~oBQ W>kmVwz#-{ _(łF3h?t_@+)B90 ?SP12!qrp-}"je2F,b[D&0=\b8qO".Z"cH00|^Ԍ1PnDxFmcVq{ bG/qa<(HC<GJZ̤&7NNENr Rn]e*#9SM:ZBV0P+Kz.U]SOZehbfe00@*0e6i{6%M,FzℵmL:Nfs+,EvVki5Ӟ0D0g3;29WӼ/M}jmC3H Y?:>Kf**I-jiK_aڔ!5){XQybu.)L?TCf/sӦ:PT)V!͋*JUwӧҨ|NySM=e^ NGF쮜:JR3-aXZlR7z!bر6QgMdGKҚMO!itVU+U5ln4pDS8aU& MqYȈӟ@iWZףzmsѕ)` bv\vKWR)g?YԼsŔa˧əUb^oۤ.5z#ZR7i sWOBNx~%?PSU-s7,̴"-褸D#}#ȵRucz",A\RW\?>ɣ6M`̵p03%cpC~kD.1ǖy^2{55[ENi֬gl_I8'V8_ű=U~J!㲚cpNlczwgjJ)&EML2Ilá1W`c6AIĵ+ FUge;`>Ӫ6I<$7̚M}]Tk`36J]vlcVAG;Xhw!ZC,-S5ldx*QVeXǻ~*YлkgWTMK7J:QG3J2!\8JԧN[XϺַ{`NhOpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;ЏO[Ͼ{OOAƬp 8l_ &1EWBY$TW 7hHGI->X}<WY| [^Yw;iF6 k꾏my$ 756$ ./usr/IBMVJava/html/enterp/en_US/hpj400/images/image2.giftmc$$GIF89a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߸,0Æ#^1ǎ#C,2˖3cެ3ϞC-4Ӊ/˺װ8;۸sYbݻ Nȓ+_μЉޑسkνOucUSn=7ipv|qa&me]MxԁQ` T!CBA[maB#vT">y8Pv/]Aa5^';ʨ<#2($6;6#Dddk,ڷARZK^%g eZi҈7vW ӖoW Yx8rgE'Y'fzhKjz:Y $.*)Gn&i+w9鰋˩רʗ|M,uDN+WzImp.+hm^ޖ!ƴ+k,'e'0G,7Tg1p/ ,^'T(2Z'0,U/T83Q7@{.q^?6DKGTCM[Q uWKW҄ cURb?iaKIZv`()juiqij}*)ъͷk6sk{X/nߍ[ 찃'#>9Nީ9ݸz^ yMފz|^ר)Nhg_=܇/>֏o{~Ǐo߯LHX<'HA ^k@ lɹ dw`DAla/.,aN@hB*| ‡|#C!XXy'ѡxHfMX&ш8>t5LT(#6t3N!kJd-=!n".4ŋrԌ9͏g\ղFtSܢX:i(0C#}ng*KJnOcd Ij+I/m\[;Zo)X2:(l.ݢKP"0ۂ)f)ɜY0hnzIrfL:uji'D9-~dڑʝrogƚg>Otja}BKCVm۵M,,T>Δ#s=7=OɧDQ y$„gz }Qh/r׊PGTUﵨLߊ%6̽դ9sw(|\k_[ϕ] 70~̠o~Z2C1F}u~D68C1cJa#;#&U%h'uph!Az-B@y+?a].Iy5,_sww@zWFyJ؄71RXTxVXZ؅\^bN8dXfxhjl؆npr8tXvxxz|؇~8;[ kغny$' 756$' ./usr/IBMVJava/html/enterp/en_US/hpj400/images/image3.giftmc$$GIF89a@,@H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`Ê{RٳhӪ]˶۷pʝKݻx˷߿È3&,pǐ#KL˘3]LϠCM龜{Vװc˞M۸sͻ Nͦu ENسkν;v匙nu{_Ͼ~!ɳ9 |& .[ŵXk5sus@ `k5h("n(#xJxx:眀h!޸Di$|-L҈Y~-Xg@)d[k-NV8Tbhe=bEG`f*G9`f8Yچw"P2@駠ghZj.梊BzcꈀY]ؚj뭸V7*Z}s:%k")y WkF+mnZR pFʪx"ˀ Ӷ=$fNm 㒫laBk(Ϋ/6VɟunA>jcBHVګq,lb 33I2Ca :,BJ4_Z P,)+Gm,O}%ȧu`-6i<hvlvp-wtmwx߭w|w߀-xnxx⌿5f%&dҕgXS标'?yɟENn;O.[+ijB#9kG/F+gCT}Bׇo>ܳc?>B/CG +E@ p ZPr $/AL Amp(*%^Hì0eCp@l = )=D MO%J;ybŝPVeݍ+Fptq88%oK2G"qHIH?L$(9d!II1y̤C$GMz'GiN$*GiJڭ2T+IYRd-sI\%%})B$&2yeRμc3GhRӼM4fm&8qQb9Et3|)#ƳM'>x}Qa?Cԅ=( &)d(D9ЉP`E3zArT(=*$)JwҕO.m_Kc:?|3)l崧)PӡjOF^Q:=2UyK}**Eţ*VywխN^]Wz;uc=+̪ӥc+\AֹNv\]9ur{k*X#,brF Kc#;R+,X,٭d],hGFWibEJkc[*Tlۦ䶷K\L-rr&E΍]i:RW(ͽ@jrnP+ޞ>!/zurf{;&&}%[>2t DI3X}W,,a\)0MD&n^Sl$%~qH\,ĸ15roD>H "C>rE$ɍѰ9 qlzMzޡ)p]yoJXK{s'Pϸ7{ Gq @Z99ʱ[. c.)׾yu>)>R.tF9:҉ NɡuXI6֓~3=^J.v"nΎјs;ܑ&=Mz!_A&UڻDnggĭIX +{w?yov=Oyя =>W|Sy˞>sy) {%_ z?rt>9Lއ}|Oc ;a k@Yoy$756$Y./usr/IBMVJava/html/enterp/en_US/hpj400/images/image4.giftmc$$GIF89ae,e#H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8+6ɳϟ@ JѣH*]ʴӧPJJիXP ׯ`ÊK6e f]˶۷pʝKݫgF˷߿ Lj޴{$X̸ǐ#KL˘3k̹ϠCMӨCjcVIiq@ Vk'#{hl2+kW'b¹n#xnwkl*l}[]*lwVklYyꉜ(|,i2r>]d8my"[@-4i=paH'L7]$^UMVgZw^ bMfjn rMvzvZTnሯRG.ޯgw>!{.褗ncnꬷXWn&޸/ϳoӮĉ%o>ѫEga-WorDkoo+>OATHR_.4a~h1#|2* (?}sReK*HB.04!GX {q!YB~"a !xC> (Ca0u,"h(A"; ?J T >-.Wt "F"q,zuG](0f|Uq[IcHG|#XG𔑏!(< 1#Iчa G~QMLUwv>)i{.KϽ %i_Lf~f:p3Iͯ0̦L8m:gEkzȸo̥K)#t=ٙzN\`=CO}J|g@:r6̡D ψb2sl BV4\h:@EHWB%CMHQڴN)jQ!$BEzRB+m%F&*-iRTZըhBz$R{ɗSU*Kա注)PЧDjVGYȥDi(يUժ=֫:vqm]h֦ڵa!ٸ~UrN?'՝nv)+ZWOj`fVm? 2ѧALj{ʲ䵲-l9 U*״KZ :Ti9B@R}qk&]yޘul|of b 0,N03&̷ S07{!}as_ghOK\#X.>H24X/nɚ"rk$c fHNx}Lݓ 7.KV9єł+ WӲYk7d>.K{Yl 1ַ9=M#2g*D` S:yw7GywnvY>Ν[iQ;"guqcw78ewRŝZf*NtAUe wet]Vkv7sXJ/c`VU޽^ډ*O?yO۟4yI"}Pʹ7GW ew=7?GyLG&}0af}+_ ǁ`qRVyA3*vnlxLxO2#&hel7OBDFsG(C.ew+CV=P(08M28#BbaF}PJ&ׄkzt$tP4.9Q1_(3HtfXx8QyJiؔX!QseLK&d =]L{bVm GSi="f,Xė1rcaIL*~#b(HĘ eRwj29rh>`9ad 3 v)>Zi{8M91键mwTvII5ՙ)aιɖөzf۩sQ[bMک Wy׉؞\q|w^ynY}TY uuFhQԠ71xri9G? VǒN; # |l8F>Þ7zO4dzA%qTڴ;O] Gc䉣If.jX_:RJTyY*ڣ{䥜o:"$Th>I[V ţ٧"VJtl%&5y%Z'J(Ae aG9JGJ*A:Z9fZ93QEzY93ŠڝIW٩ъÙrdej Dyɜ UYzydd:ڪr٬٫JZ犘JzbEJۚJa(ۗy YۮJW w$u; ~I%O1#8:˱Y@+SI[gS@YfJ>urZu#9ÉMZZR5{/7vآ,բcis{xOH\I`fk)mǺ븢Kjl˭rOi5Y1)X:AfZռzĀjΐMؾP5 X=6iوٟשB)|>EIM; ҏרzDm*F۶*3ƤZԖ< oEo=ܧ=i*A[[Z*ݛM3-]=L A }M/Mܷ,w Y[EݸYY9-L?_AViMkYL jQ:H,^'ձH12v.EMMoBlm4|!NS~~p,ZsǍ O~p.%(40Žڦڽ}OMEF!Zʵqw+Y{팩ߎ 4-ݜw%ի+n\C _"W ӮσWngB4357_)ȸ&?rA&[J/_!fۓ`{メ$N}eSHq/s}704]?6?ʿUp1vnYiX4/\>HIw16?h,l_L,]n=t8mRScax8 a`?_Ed "$8`A&daC%F8bE #lqc AKdK1eΤYM9uOA%jR$ɖ'CeSQNZU T*S_Ŏ%[YBS]5gHqΥ[]#_AMMv]\%O\׵\ },qAg\iԩ_f[J~Ltdչu}4K8ez6đOsѥd9>tŏf첵g}+y壮^:{v|=O=tAboο;C8,@ Đ5ND[tŁ30jn9UQ9bF PƎ)$TrI&tI(lPH*o¶h G.K0G+4s<"G\L6tS*,ϫM:S472N>8gOB }3OH4tQF H-tRݓRL3Q5SP$05;*TTSUuUV[uUXcuVZkV\suW^{W`vXbUH9*vYfuYhvZj՘-Uk[pw\r5v5m=\vu]xwlG$w_~hWPu#`Vxa~Rxb+XXNv݋;c+vxNK dSV݌IsWyfktMyg{\8}yП6G_SvinycjWiVk٩zlVW){n[:Q{o&m|pvr#|qƭ^`P+\_l&rCs`HXNt3fPhk4dHr#wۃwAcw.WL7i䗗^HǾ!^{?|7|W?}w}ߗ_tݳ߽:~P$` x@&~S`.5P`-xA fPwyXP;臤jc' v +0T;Ab1pZ"rKj ԶyFPQ+NQ╧T*ѶRV$kڐz؟u dI浲m,hY/1I?Zvvu*[M;YN}VOUl\v̭ls#kZ1*SxZiԟ`&Vquefͨq L&q͵jK#}_Kuzp P fcw [ؒȅ@ { CL(>S0@(Gcٸ8sn / _\n[ٖiCpB`dM@12O$yIR h7x#6k AN@y̯c@f y^vp v6$ A,CyDftβBH:ʬND]M1/Iۦi(r'-ƕk~jw%,ma"Nך#6iTbУuZ}]>\ꯓaDӓO=Jh% K{]ޠC][*6˖J}t7QjڢUF" k$>3CGPCB]Vz]ZSg:SBڶ)Їꦺz&ʅp9tu[o +ŧ2_k^%b/ҕxz/#hCƱ!o(Ǵ;^.׭G*⌺{w}m\k|dOT>巷5o]͍Bwxҫ'z8^s]ʏy{y^LH[>ߪQd/0}{z_v:s'Cϭ|/=aM|sl}hkWIئg ؀؀1xYnmMmr'jx(ȁ),؂e/~/%~RM_Q(6y2g7~t{ gAC628XV:D)؄da17w߄FQȅ$d;LfX&Zxfjx;VxoLqh-au=_dB-FkH;wXyhLX$ ÄH=؈ҁt8l_M(*hȉSVK,h:xI8-K;HNh?5WXӧzi(yX3y2QC&f08ue4lX^1`gtԕRxRV]j׌8;ƋA:TvTXg};U"3}ǷZ'Y:ŕ((hڏ "HAt3;5j*JhUWvYqWH9J)i)WL7YnKIZK*YdQYTZv[^~y# $)F^yz;iJk*,ceɔw}ڥ :oI}XƄڦv`4qǖw-Y}1Xa퓟-q "HzJ%J`Z6~:nU.TӨʣY|JY FJ4^׊ZPڠÞo*DU4=Ci ͗9ŪzFy, "`$벏:[ARZĪ@ԯ=;qXr!B+1f {ٙB1rtTV+ | 溯`46 tF?,8LL!jG1[Nj[<]LZYS ;t,4RPM |h+q.MnM~>h9NYaaw~(tKD gI6\$/ϺvW-u^ T#/XA䮫g*YZn$%?6'R];N4oTk{H(M/6OX5L&ɺIK`5b?{ȇ)ϯ+\Yrpᗛa3N{/|-V_ yINvx+eRYrז(d(}~(uSd,fE6oQ)qs!T]!i10͟oٟ߫[Wݿ\R3U  PA.dLXE5jPƊ$hI)UdK1eΤYM8#SfIw,91e,eSKD UYv@MAԤYiծe[$Υ[.ȳ1)r$ʢhhy0eA tcȑ%O\PA{=&]'[fk؊Wܛ_%^87B'^ɕ/g&fF6&Yuٱc]{u_yѯW:Rǧ?~}0@4@T0At0?j/ 2pC;6n5 g"STqE[PB)$&]Fs1e rG"4HaQF iDI(c* 92qJ.KجB !TsM6+33MM<3C1$9,̌@=Ut|)ΛH"hPC+BQN;>&IBI=SV[uU%G]PRVV}uW^ UQ WT) UFӵWf]3֖f%uX>JҖuv[n5`"lnUHhYVZ5VbAr]|[wi\J)ލ`;lwwō\ h΄+86~J+*w2ӋK6a,a*da"]"dsv)c8BAu6Sj8vhY鍻jMq޺kl0:v;Ojn{oopLFhpW|qwq#|r0n\r;rL|tK7tSgcm5$cAgvsםGZԴO}x>xW~Y#`~z꫷z>{| U2}wԷa~яQ}P$^r6 d`8:- `-xoB`=AFpLa Mxi0FDa ]O$a mxs"Q }C BNxD$&1:SD(FC^xE,PKb E0vT_3t3Mkl 35Cl#w3)ucmN{c!qvǰumc tQsZIIL P%QLrW$SL @Z:e+QJXR,mYK\R.@.2AyLd&Sdf3LhFS֦Lb^Sf7MpL̹ߜSdg;NxSg=9?@MlTOT%hA zP&T ehC%ORE-zQ b@ -=")4ZR%`' 061S *. Liګ99*$rӞ [AUrH.EE]JSEH†Pml4X[T@Pk UHL'W5X@[wԻI.i`T&au4mֱiؚ(Kd_$QkRll@E@J#K k)U<%mC*d{IWU䢪ǒe-.e^>\1XyivY4XJ[x+z&vUo[,dt[/zKߗ owl`{ bn}; epkn&1b X.q5ti3v=a$:n} ͨ4&rR9<\"GEJV2 8Vr?D%syHe4+g;6m6Y]\,s泚Ub-بzNə|9w3|gDGz2GKZӛt=iPZԣ&uMǀ;  k9qy$(756$(./usr/IBMVJava/html/enterp/en_US/hpj400/images/image6.giftmc$$GIF89aF,F#H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXj-ؠׯ`ÊKٳhӪ]˶۷pʝKݻx[[ Lh*]̸ǐ#KL廇F̹ϠCM:oě$Xͺװc˞M۸sͻ Nȓz:b 0Vسkνfy[0^˟O>O'=^k 7} 6FX_jfeaQXsѱV`8`',0!Y68!tX`b1&L6܌cՈ:U_a͡$`B@`Nl6 XR@jvy@@6p{!b&Y_]ΘW~"P8@2jꩨꛣ`9)Jin $]je*_ YzciҗEfK;kjf 땒ޙi ` @rkH+.Ζj!G,^)'#>gz lykYngJ28kh"N{K2*"_Y7O@ E~e4%DyP Ai5j-pbK GiF*zo#>mFzSԥ LAԁ*,>KȈRdKd*je4 *3ҧz,jSjHb"TT*5gjRjVS3ܫ` \:G*E5jY#kFv,]Wzֲa` Y-%KWZV3]+T?ŒԈU1ZQJAޖ5)SI?,]y[u=XY ̪$[5&yL\k6qq>˺Ed_V_ֶ%$1^ N+B^p: c"[)mĉѰ'9WnC61w5Y"G/AB&3N2,*SV2.s^d#I99k~>A5wrJ+q7RIŷhFjZ n׺!8C9~G"2at.oV wZ>$+ݗ(< f}iJM?eWc~fdvkwekcs|~mKR~gXno ZPy|=Ugw>,8:v~{ NmUrt"%ּsbe|#EW|vV {r//eÏA{q{eUkV/-Jpp-k_WO3~5Ov{7/!۫%>+iz0rEy[}>}}u:w7]RtUs݅xJsw^XLh7a~Fky' 8)(O!hq#8b%lg:h PR8TXVxR(X\؅^](igQl4gHnar8t(H<тGMi)ڦgkao˦d2iX>/Mc8 8LA#ȇ<HH !'Q*(ೊ؊T6r'2j苦C a ̘Sc.(Dpfጟh53wփ~踍ꈌhȎ!戮X!}:agYGč"mwR Y!hٌ(؇V G Ib+ i~Qz8R\E|0%[tW1^%>mLv\#WWg;[gr9)X Jh}w\ZhՑxkXvZ'ydXM}H>ih+'\0ZYyՕ(}>bhvu?){ImGٖ9ypE߇SY7J95Ù ؘ 7{r)w`e^8yISZYɄ&ȗvojhohR̉$iyxhP9(IyfOIɘDHA ; JO9(iYḞ"Uji+e&Ġ\*gJkx񩙁fh024=& =)=lYyL*h,Z. 'i)"ZP*qAʤRyt5YmWZ579ZX94 џ䉢Jo2עOɥ֣ŤL>|*prʞtjvJ}ygOzu~*ZRZ*iv8uO &FA:LʣQnUwK䤜 iڥu}j uTꟳJL )F4IǬUI:*jZv~孮gyzLJ)wtw^ *;ʃJڡ9Z8~y?B zEF}ě/v,gj\a*?jf)KOzKr4X16*Y zZe{ڳKZDkN6< F>1#1>>KNy5x[;u;26 pٴVJѲs+u+SbkVѷ;`[qk$^ ; ;3ZKydˡ KYњ{{7{x>^Qɦ>ʼSeԓ=3 {X{a5⋼/;xr +»[=;㈭z AX$強z@Uxd{۾WɯJ9u2tz-PU4s􊾭\Žk GyGwYwFܖ 6|MK:!,$l&\zp =کhSLKzxɖőGuU_XfLQ~˱/u*{5Ĉ А|] m>m<Ҵ\"|MKQѺҔh>(ݽt[ h`S^Ԉy еА*`R]ԿXմ+Lvj=!M:֖hQiֲl;޳ٛy\+ע' l6{ Xը-bXpbm4-R b8B$9\yK.Lu15Aʬٴx͊z=|ͺMھa=b=d ܅ubͩɝ˰蕗Iݽ6myGMxzݎŝP}3j }6}=u]6Y%;mMǽ aIiV}5֐ ގl 䃶]l+ߝ(nњ+I}g׌|`݌N?n!6]H^ΊWޜ,޹.~ _Y~N Γ-ε^=Lyn=c[ZϳVi(tA9Xn>䄾w='^{:{g}{GԍI^|A֦oy)PNNN+ u?ɌaΞq>>و^ vGeC\Cu$J D7ʔo6^Ȭt{v\{dyQ <.zr̕Dč%Ž~N~^o /특Gsk_K@";7ixZmq4N)HNGnj.o!#?%!)W02?KؙHU2~csMpe~a#n?l_!9=VߦpnB)^z>J \>,#䢯#[Yb ]W_E.Z N?P{G,V5;h9r4ߢ#᫿ &ȟm{Ϫjv$XA .dC X 4h +!$H%MːMXM9uLrϝnB HTSPDZUYZWaŎ%[VS6MhLƍr\'֕_\ж:60FI76카h5oJY֦ak_U}p˱ef<{hDk~\X+g\xݶښےn2;rsSqТGϧ_5y̭:Cm/Я`oAҍ;LBs+!NAWt: Ag<>Tn܋pO? ?S`/IQK$ R=|)ڐH453<$/+NDJX)E:"JbqJ,AkR5mǜl"3LҬ2z+&e4TQRӴTǼԑ0/t$tJgl3OS U`;5CoX I+YMfqMRWXnXnpS0|sML[z^cO2w X]ٽl\ _aµiG[e*[ -p VjG\R^c!6a㮾: hۢbiW6H!l8``:[W\nbhcrTʜhݞ-Ѝ }tK'tSG}u[guc}vkvs}w{gmRj}6,k壗xzzܙ{|yW?g}緿~~[)o_78E _@hnՓ3 =A oU  DY CBAk Ep deC Wp#Ă.taI6\PbE, Mb!6&7, wBrkd#Xk bYx6$x#G?$*"VG`Phģ8g=9G*\RM4G\ju D OdH˕A,[Iɱhh] XbK"ebO09No59εrȪҔ\d*yo?!M/eInj(df:irYt<΂ <9ɡ 0q(ـUKܢ*W$cmLBЇ67+*Qs+eh%L5sD.-3,?IЂ^dL4t;gvS/@%t*tNfQLi4S"jTBgRݨHJ[g2HA4*a:M:$WĘW;7zS^uL OHzh; XⳖ$`E>(`ǖѧ`xRE-$Zm6)W '׭-go[UYIoqZ[ W,F2r$fUb*m`(-kum\aKW{A28qi>KMXƙ66,pbT5joYG>.GQj$^"iA[/HWծn^.tC[øȴdW >qp`ēbbD*,^u3Z3\HiqTMc*5U&:M*XN'V)1AzoKkanEkNH8^G&򯚭\Lrńno `/'zgf׼єeǴf{/Bn|JedZ5Z9 䈆Ѓ.qsZ_u+`[ΰ7؍6U}iO2ٜ6;c\W:jNݺΜ@VW %km;hewBo{fwoܗpAӬg+c \[-~qg\x=q\6Jؐ_g8e [oyyA4dB\Q=ɺC'L=wy#kG]>O}XQg{a֧u/͘@kbM{ub5骡Ⱥţ>{sN@'| x'^'<-=yЇ^'}Mzԧ^GC~} ?W^fw{_'~MR܁7m}5[_~ooO}E/ͬY? < AAL>#D@ < =A#8n9=c?v<>N>cC36BBC~`aBFdL&Ivd숒LemN~?QNe_!yNFeUeYeZe[撀; k7ry$ #756$ #./usr/IBMVJava/html/enterp/en_US/hpj400/images/image7.giftmc$$GIF89aG,GH*\ȰÇ#JHŋ3jȱǏ PРɓ(S\ɲ˗0cʜI͛8sɳϟ@ !*]ʴӧPJJQUjʵׯ`&TAhӪ]˶۷pʝKݻx˷߿ L0[dEAÐ#KL˘3kQ M:Ҥr^ͺװc˞+@CZ4p:ȓ+_\yمF+4!u݉{M`AU7OJO] =Wgx3V_'ha!Ԟ5(_G-}'~pZލ$h$&xЂ#uQHaX`Fp#(D隊xЋ7P|waYh pFH\`)}!Y.>Geh!|}%xgffAL:{~6Y#!Yiw)餔g8ex Pp@IV"iSۨIjȾ6+ 4^k*J v u+jqq޶w5ڼF0KoGيֳ'0qg-AWlŕ)wqa%$l(Q,0,4l?i<@-ALH'L7NG-TWmP_\w1e dm;왿7(+NԻ+K;M{_RG_>m+;w}Kc_ٿ쯿 :yn~DZ7w#?.%|/#ӝ8ư O͵>[n׼ ~k_y6!Ȓ'RqpReS"1u+#Ƴp(:ڱit>vzLI E㳜KHBd9a H6,]K$JK=ND9R*ғ}.UA]igGRЛ" _B*ƚvtg%=EժS0ͪ\TLNեtg5:/s l<n7ث%iBldZbKfrf'h͚V+mPKֺlgKAJjU3 kW4$mo:MnΊ^- vu+],:cnΨ\7~.r3M>ն4s~*rY_u7[iLůKY׺,C3:aհ6G (ܵĿ!Vk69 Ҹę4Kp - Gs:q{JOט./udg@.UYjɠy^Iʫ&obЁSY*yKCrN֐9P0zcD3?x7VvR2%p Z3NlQ~\󠭺cWYΊtiujgi& 7u*^بn;Tϖ510%d6g(Ӳ~WkVMr46߭[)Sq_ėu]v3vP׺䩎;ڪF#f`UxRҴ7ƅS߆h+8oխov6fZ[iey /G풧Z3@>bHOҗ;J/ ԧN[UW6'\ ;7/NhOԵu }_oy#1m_q׏Ft X{?'S7Puچ(~̺IԲt-ǍIRwqO~蛟.gK?z?R؏K{ȧ~W{Xyz~k~w7ЗrAG+}YW}}8{| h{'()h×$ŷ(fyg|(uȃww)z4A;X/H/~%|!XRHC1x&3؄h -yh͇0xA~m(w*zn{J8dhFfX@8>aX(xԁ2Qqv4fn2zpHkZ~ovEYhRRuTsVah]l8q` sbJwF6BZ<=*eyWyu6TtڤiWEMw9eg viL٦kɗ`҉H5D>uUjNq(v4y3Z~YAjvZ:zqTHzڏkJIsRx N9c>Iꙵ:o*H`V٬':ٺThJcyG4{Z}*VBeJoUJ@W:WmYhyr5D"[litfNڪjΨEӤ6Zik'hcjQpD6ˤ*w:t89*3OKEI6nS+3Z3Y EU3+H=5:93] D_6WKn8ˡʡgᥱ*ڷ~&r.j Ѷ6:4i2:7ڸ$M;XbQ9љ[ 62ٺͺuʥvI ۛ fJsZ"ۚk3amzp*jV:@۳ӼI83cVljq* BzT{&k{3H۰UKy'+ ! ƻҹ뢧cjZܾ=iP %>8K9a'ki0Q# ek)K3È}vO:<< >|n6P]'ܮ*R, _DȨJH6aO}YRl?(Eg\˧0ҩ VkEժNl2aJgl׎K L-,&#FO>4C*[`F-MMٍ뺰 \Hז} ѵ&^]ij] }+=qSܐ{ܼ+Kݫ%+bۯʷ}} Kƣe|g4ޏ \ݐ=mC=Eyf :]Z᣻56^3p-a iD,LGMAK Սunml‚=A]/xIn6_:_)O->X)m}|y.R.ԈM`@4.<&>7ZVk マIGZv=s ^vs/{8>f[ȿ{ڀgo:6A\^y; V]'I*-z^~h]6.rK뙬䍠mѾل=8м^ElЭ8URy*m)j햊߾6?>]A[J֚<~m{F(n>n9=إ\N\;* 姎2rVM{@)Fta|BI/l vL"ONתB>FsL=z*UܑWu雊K'XprtNoNq-mn(h\VWf^מ~^Z˝4"ͪIzTnX8>Qz#_Io8^]km45+^r~W`k)QI.K-_4֨DTHeNYc A LX†NLHqE3"xcE-$YI)G"KD@˙6'dOA%ZQI.-SP49ƫYnW,juMTIH-M4ݛTvK_IxWrn[l\Ǒ+*_ə5oJY9+dӀ7kرcz}:MjI-S#D= .%dSƭwurMӖ9WѺ'&1wÏY^%r?SkX-sϧ.svZm$N<4/%0R7?[\B 3԰&Fp,"F$q3"88jz֮pG{-j,E4<ۓI=4NJ&īB}rK.UP;!##DT|IA齟²KO@tPB ܂dK(tDdP"2 *.foKWZm _6YV(U8s@o2M}P'~Z?i%1\vEs}:<vy v}W45W}3>g:74I?d%N = )Fp$^g#TF7H#I:;vd4"u,p $ C%Ix#AHGC\_%MAVҤSR(HR/ItVVJ&-Ir<}ŖMe?OkK5&~5<˭*^ZYͮIje6167EKX"gI`Vmm?v9]l w,[yT.T?{>zujͥWqT.͍T;Zv=wWT]ů`vk]􄷍j`[ay_N7;,iҎ׾iA[3Vup~+򗳬U,L* F8' `x pfU؄υé-mG&9ގyX-qCه965f0Yߘ5/h:7 u5 !G"yh/ |\#[x&vS<^oN&Z^B<uɪus d(Lʏe;MRА2ZFpn/ C՟ֱYVس/p\ڶ35tɌuu j^wV5y\o78v'T7ws0n oպmriV3km 7 F:sga:7`_9}\!y:Rkt|S ō1ym~s\;7պsbT"EЍ~t_KgzltG0Ozխg]~'u]c'{~v]kg{v]s{~w]{c|w^'| x'^1xG^|-y̋>H=yЇ^'=7r;Kz^oz캯;{_'~m*;G_ӧ܏]>:S /~wɟ_ws}˾=+@[@l@ڻ(@ ?T> @ D L=s@A\<D @+? @,AA$@A$B烿\B&lBAHBL@"@) tB/B&HA @. -4B0C9t@1\S{?=BCBSC$9ʨL6r4ecTW %9Ӏ"Yg >ldcM9Vn\z襀IbQn&袌uyEXvH_ucj!@h)"詨o%'uR:i>~ixUfi+jXw)ֺ'N`+A{2Y,ͪeXN4abT{y+>{S!ЮG,xcl]m[ЂNl(hYʱ k h)ΰE_?k4@0 LP?kTv\ag\wvdmvrailp-wg4xw|w߀-xnxx/x?.yOny_yoyw|ze騧:I. }+箻a/S='TvGRj.g5ݭ&=MާS)tD1oRfҾ BHā |ք@&4Gx-Qi$`-(ʤ, K¨Zi"cx 6zDIo ĄPau#*/U! KD0&0"K)q\"XC'f"#vO5tW91p" *0M"Lˆȓq3d"!Q?Z|Ȥؑ}xJ:PU 2De8L[6 1We.e]q3÷i/T5m-7IΎ`,:שpD쌧<rEsAܹx{KH@)N֓'<> ihDO=B< Zє@G!)G%qv""/?Ct#)KPsЗVR4u(Qs ⴠNAė#q QMρF +ZUґ')IpԙM}[׳*ud *VrmEc΄nݫdV¾TI!J5DMWu$ -LMװ2ղ )7¾ֵ}*M+[۾tJR;Ҽv6uFcՍⲐqKEր-iٺ^Kkq3U!*]ծޖ.넛7ֽomH^f]v+W[^򷽀 'ߑtu{:GuްE~w+}x0c-zb .t8s@-Ral7HߌMNN2,*SV2.s^3\ 9;3EVpA3IU?6ok#!Y!MBD7slymM#K) |13+ Dgq4OՒ5HꆔIW$qݴWx5-ͧ`_Q}YS WZ6I2iJz/y6cVsF15FeGԳlhq'uw^u .3L{#x6A{TּhM_آWބwQ}lkqY~'q{ ٸm;N7&-efnյWu/MSpOD5EpmZ]GHfo*Y#ǁ>rQT}뵋P ˉ;fk!] ֥;vZrx6P>k'g.҅?pnӾu R o.y9u/>kK*&>fg}vDO^SxP/7_%P>a}}y|~~zZ$Y%[$zwD'~s]~uJwwchJɤ}iX )Xy+L68wjG(xстHi0{PR8TXVxR(X\؅^]hgٴ41`pq8tX[kdKxiփfΤny8u{ 8ojNlXgx>hdLQ#8:2~xl?؆֔R2؉Smvdq D6*HÊwքAK,ja HQs.Ȍ#抶" k&HZ(d<ȍƸhMx|cuq 8 hwa VI Q+eGۗ146xt`uU4tGIfZdȒ؏Uh v7HqhW5w~&IOByHQiQ1vzQ|xuQHӔY{Pɕ`u7x ʸ3`_7^~6'fIz~)]tb)aVEƗH旙Lٕpq9jroxVպ㰷tQ{!z([D[ ʱ㱵S0Jc:\9۲ǰz4ʳF0 ˯3 DۊFH}7jLKY{gPr4tVx5n˃][6 k>6k : q4 ?xgZ4k[z[aˡ@Z(s:뢜@J9ں{~3Kc[ukc; mdZiD{+>6o˼8@8ʫ˘佅;뽆ڶ;d;y+u68+THz ƫcIp|{L{ ]{ Cjϛ{ۯr ITt9ٓZwtWT{ݫL;v7 իo)?٦᧬ҷԵuO|n'>HİiJs`ܾ{7V)Ƿ㫝 yU+`i݅(zG۸+vKǪql ^E',}գȫq{IW]y_zZW žKŌ۽k pfq ѫdҕaA0=}Ӳ3$ҷ{3$Q!+Q[Ӛ ҼXPt{ywp7o"XA,˺O;.y+%e]'ŷ}jL}\-)]@=Ҵ܉/fMݼROmrMAJlK*E#C h+v~VJe"чџRE4! `ƪ>|eƫ9f͏״T=9\7Zϝ(}W#ԏl ͑+ÍJKRx[ʗjc띒 ɭ-){=ۤaŝMmjّl[n~"#oo+%~'syMnF}+C>-Mnia*B^MMԨӤ[Ki.t:=تtl^dRס,𹉢yB`\Z繨u5~0lHL Źq=ӻ[Ӧ~.l\~֝r^gK˵ff~}jn.7p`8BΉ gΟ3>pF/!=On{ˎ-~r% 审ӧ?<ξ [[>_~f&;R`rkvƾLr>ꎨ~kT [XZ(*O,w輚Ko2~v>~ usW~gL+|7D\B^y*Y.~.)jnmx4񯾊 O!>*̞C$sL>QqN$3OoRބ) ??bgگ$XA .dСLXA$a>*0Ȇ%GdK1eΔD4u`O;%ZDs^2LQ4iUYn3#W=v٢bR\l˧2]y ޅb\0Ok2r˒U>^85ogEL3_G'x1kje]s)W[(F'^qɕ/v؋_a Vujx(nUQ:,9C4z:Re)[xEouw@d >;ɽר0#\IPӮ⯥p̓p>F;drs΃]Ę$Ey 0[2?,q)jitabO\ SOoOúq쉚#lWfw{cx3wsaevعVBZ~,de|itxu"8Øb+ -*AyϓGxy{d@+l -qL}] AbH+zLm1}dI ;۱w>LˠR;X06MtAz C-)*Tb snaoDĨjZY 83f/lGR ْhm+cZx:1u! [%bsEseJ"2!Q #mRw$RӨBRI:SK)*5v0XTzS&3Lԋ*]E38S.)MlJCvMHsieC9ZM\P;i+ eq9ԡHŎZ=Osb4-%\%Y&WX$$$(9rJbTF=Q~&iHRRvT%]iH]RT1LmZST)#w?S-3J=jSڮT*8̡y9Pl SbU~Ua%i:Vz@eekZcԉ&nmk]zWUtU)bp\P]2)ĞįcUZq,M+ZV+Ed)?&h]8˷s*MUH[ZyV嶵}faGɳDv[ bkOh"E')Jg)Qeva;~WD1=k^2E-u-V%- sK(,5풛$/iyGɒx+ ba{SW>((*;B׺ʥb1|wB 5q!oq~JB%nK1q.''e6e0%6 ~esyf6Kprtq5͓^϶7q}H3e/y{>d/N~{f>{>k[ϻ>CS2/`;c;@ 4ãC*s[Ը@(=Ӻ輖<A6<0C2S 3@Ikg 930.K.۾nS> 7s[A+:r;8&76d=P7]@xC 7?#? C8 \?֚>O[A38x*O O) QLEUlŜpEU=«4EѠ'#&aa4j*Fi"F8dlFg|FmhFjĦEhQF]QF]q!2 .L/ʭt?\90kpǪҭ/L*EiG ,ݻ ~DGDDuL.} NyڂG4RJ'N,'"LD皣zHt I,t[&F),'\Ċ,ɗ.IZEJJJJJʒʮ<aFaN^afva[r)a0C@²MJb+2b$"N !Nb'.#'~ b,,b&b.ۉbeţ%23 Jc6ncE7cX\+c;u`Fj?N?dB.bdCNdE&HE~dHZXJKн`ՋeNMfْ 0RF.,e-08ޝdqe5 Q^eSeeV Y ae`dRf72Jd g^fOgNŋ gfaXmofp[q6rb-:uFkGye Ǻff_Zb9p_hha.h\Ӏ a@ŁcZ=fhVuِFfh~u=^Xi`ifegNhNꔖfjԂ[̌jVj)~i떨hf&k.I9iHPjEjŕn^l%56רӽl̖iV@~l^mBmm0풶8jnnimBnrȍ`lfn Xhnmq+AoVnn1aPESro^^NeoE:zpevK3#Ζ9V&ZFHn⫸,^phcHc\EU$qpZpp94 sG bY0^-vq #8r8c3I!rq!7brSq*?6#=$r0orc2:q-3/swrq%rrq(rpx!77@> qae9Ļ,tJtscsJA43_s(sLr+tsSqTXWG?7au!/7C:Ee/U?$vh:^[uNv[vL tb?vV=Z:';+auuw9jr[wŘwcdg1TvvwIvKskopgx:OtQWxsowXg"66樨믧^I5++uxj^ f땮V iJ> TkoF-ڙXEΦF뗑6[):j_zoAZ $5iwnLpǫ*P"l8Am||-h"8tH'}L7ʹNGzeJgazn\-y%ʣlۚ l;׭vz~N'7GWNgwf`n3αrc4n_5oI276 Wo();wI/_oi_dF/GN;1;SE@O^; @4ūA,6H@l㹠տ(ipD`#p3! S4yP_* AhB08! "Qp1 D:,agCR$"Bp. bA'F<AxB!~DbD$Zb4茀}XǪ"_,dJ(H7#h?1TdSh% HHP/OFI+II*K$7B]<, Kq$2R̆rث%4zrS&6Ly-,ρqeV5mpKc.$/xn^fĐM> I43R;B;{HF;ю&_8 YFa]<1R>>mtQ:iCnw"Tڈg7ݺN8NHM?g7кFzcK>aWGjs/' l(ɽ̨Z}mnGHmf+hݾȸo{rJWwUȻJpf7QM[wv^k2u Yg[{-7;ގ`7I#\&.NgnUwzz shép|n&]sk3}⍈gڒ=+y<\lkujwy7B9DzJ?2vϼQ } Q^V;A1ۭ'ۉ טRF=E_D3qy+(SgSuP ?ŧ44<~') {^?!``psvy;DH%D1~ݚ'2}fܟr:Gsk|Zn_'{uB!QUWZ(~AtG{1^t}GQOwLgkB8DXFxHD(J؄NPOgPwÂ0s%R`8a8dXMiV9HkDž$|Mg(ۖ/S%ؤwgvx׆khph2BU8Q5jf&nB8M$txy=w-:K|X~8Ų*x3>j‡L,rh(ƴ8K(%#=(дn∈$ՊHHxȍT8H:ֈOxlڸL(hxӌᘎpX(aGhkh?{sXJ`+8>%u;%֎h]R o Yqf!7 Xy]`b5W(LlSFsÑ3xDvUEyIy`w}'Ƀ@YfC2NrgY|`fkpBIҍq0p'JtpQ)I+YaG^ X[$W\(nEV]S+7ai+'rVd XrXuh`וY ȓiW$hU%(u]^y闗?Hd‹Fy93Ɏ9k7Ӊ(BsI iiZ-:{ M1*h Jک<EJZ6X"%U{,jXcz4i_ 4J}:XYJ\ڤQ-hoJ>qJqJgVNxmUBr:MMR(1f٣="빥']ty/Щ)z3` NU`GG-Z7Jj[WmKx'1׈[:C Vy疙鬿-ѫTҨպS*btɕq+,긧iLZ vǪ٪ZzgL*Z׭5$A?Z ;L ۥ) x[aǩlAGpWdjb:,jW=+J;lC۪u`Ia?AkSTK#*i.J\Q YggiX;#"AziGWˏ8d1T*?:iu[~wsظ0R J1;AQk;+p[ m{({Ki:ZiKK^k|d))Kڹ]Pj+4j[ĶtyZ g׫N;>ڧZ:[T # I+~"9v׿C1>V̇4i^K%oGws7FZ;\{Y;Š o `rǬ@` BQc ý먐ʾ&}:`I h Hlo_|^}YX]L'+N~sRfWsv}ܕ3;J7aGz\M~Ze7:?q[ad&Cip]L\9l~ ɩ'YhKCv z׮ 9[sɛ ȣ̾uO_|rkN\6O3yi,ʁKl\|y; ۽$<ϝL + K9Θ1X[FQ^jgF4\Z_s -гxf+᫢Ϻdz[{{@72?[: }"]lM6 {)h[;#TVqF͹c=ղkOQΣ+ʰlva,:s&byM8;||u^=OݣÀr9)Sg!, ӌ٬Iy2ىծ+'ڞMR=A"\ژ]I4!ͼϙMr­ŝSMڗܶ}Xֱ׳#{ķҽXq߹d 9t^b ~uGXjUB9FL>c^Գ.U`Y: y o] NkqQJFhΓ|Su>Yߙ܌>ޓʯ&@,]&Kϼ(/ǞYsښp <6~ NjA7LO//wAO2Dg{&.NTpVϘXOCR{~->W}xؒ R_w?Ol~c}Itv_@IY1K㇫8xON46Y!ʲ?QΝnԯ¯J'Η421yϯ57"81h$XA .dC XE5ncDDؠD C9pe˔1eΤYӦ&M@!oE8`@F2,8dUa,ʓ0aM9 RL[wTahε/&YhNVFOf_~r%e F|gځE tlùe;am jz+鞣o6wqI_G0!sEponYZ͏(m:*j=/>t)6îK+' ;CCJ4DS gj-7/It,$]Hd4 ̒>~,iˊ1ud~PIs60 ;I> qμ#NaL ͂GDEKGetOсnG5ʔM/HHQO?SU4O,B=ˋMp*]H+Ѡa9INdS;OiUUe5 ŭF`sZW_u岠Mj°ԙD )VTOy"_n5uWsyUWujt}w)S6%f#%K0cV`$p^sdR`'&/>gp襲@bY[TWNVf%Wg0WF5bBٹIXBIuzCe]9ISK/>SLR@~n=:9z"5uAIɩ\Y*ikS C/Bss0}j5)C*Yo뫜Gho]jejz&_4]j㩲޶#Z\zTAÞj.u5>|oyg5^ ZPTPIQ~gQ{b5&Q7A|EKnL f+TJ ]PIs ҥ] &Cdw}1Z3+9aw :eQlbc翇<˄NQaCE)V!2D:z3|蘀Q{cKB٬1! 18:v1`#HGF$-H;fr&=IP~R$(3TLd*]JXR,mYK\Ҏe.}K`R$0YLd1W"HaA󐜒Rif3!# 'TS58Nt.c]Yto6jgeim[Xkf>ɂiiz<ҪҴ}bK-Ԟ굽%mOVݓ ma{Jgrf;_awZ\ob >lO[$Ȯ;r0m^7.J?aNKP WYd'J#=43:f/t"h/9Ɏ)G%,%v=o= y]oM+ĭ I;\sE]Tov➔j|!>#Ow6͈< Y;t&V?)GSX9=6; Qfgkż3jVoIo-C֋.Q{}a*CZ<OU\9洙Η!}2I`f6ݛgoъ.}\NA]mۻY-9dU{W,RNb퓢Zvj:Zuͻco]ym K6^v;y3о)kM:JGB0 +K޸q"+6:sD73 y;+uw:0oJp̔ _91`dNw‚Z2ţj;Y}sJW 3~p\wrͺ|e4 *^ؑR~|G_w }$?+8HI}hh4]op@Ϟ7'y&??+⿢@@W=<*h92|'  d3( $D" 4A @jRHAрAQi`Ak:y2)th `PBB{&'&qBwz)T'˗v*/B0 C1C2,23LC5\C0 6|C8CjC78DC;C<0C>C:T@l @,5CCL
    #lPDI,FD>DKTĻDM1D;EOûESSL>4D"REE4 YDQ\]9LE`Ca4CG4adb\F/Dg|ME\F@lQCk,DlF50l-34CFCFmTGoGt/GzBk JveUSK<\8&MѤ]*X5؅mXM}XX،XTʣXTmmj=;Ye/¶YyY #"zmJYYښ5ZEڤek:Z;b=ZZŽ#Z[>JK[`>c[}[?[-[=[}P%|Ӡ*]ժe;-\)&L\r\J(uSSxU(ʕϵŽAVB5Э>UoMDmQҥUu%]UV%Y-&Z51B!]:^X m^&})Tx hXXA?ދ^s(LEhM u^?=''__]^_XJe`q `U_}]SNmX>]aN^\,aa#6Painibw{2(a#@_S^b}b)m4-#A!ɽ1U(66cP F_.S c cd N ^d푇rcB.7^HcC ydKdK: \]OIv㲁գ׍SfT@^WV/eB`-\^ !?me `=Ѓ& f>RZeZ.fgQj~)`֝\p^8 iZ.vwf-hhN{V-gizzy9ig;YXhihvtF)ڒfhu ~h~F!jQhz696Fg&i)&i(r/^eg6hsig+g^k3;iu ij}锆b釦h6kVk΋uɕ6NhjCk6;8i뱖^.h6ϣhГhgvk>l颎nh6f޽>ͦhVkĮ.&~k6޾jplj6m˾Fmоlk־Jym2kkn&jjɩ싖N쫦h6ogo?omv3.o.pg޾pR>IqAnpVk>ppooq wfqpqro.m qOn+Q\)6r^}~ܮ'~fWr5Om 1rr3##r67(i*9)*1-On~>pGo~q>%7p% %4U6e6X#>=zC1ysU:Wkunβjsj_hz\ >V[ .z=isg{)S}\VÂ;V Class com.ibm.ivj.et400.util.AS400EntryField

    Class com.ibm.ivj.et400.util.AS400EntryField

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.TextComponent
                       |
                       +----java.awt.TextField
                               |
                               +----com.ibm.ivj.et400.util.AS400TextField
                                       |
                                       +----com.ibm.ivj.et400.util.AS400EntryField
    

    public class AS400EntryField
    extends AS400TextField


    Variable Index

    as400_Field

    Constructor Index

    AS400EntryField()
    This is the default constructor.
    AS400EntryField(FieldAttributes)
    This constructor combines the functionality of the default constructor, and the setFieldAttributes function.

    Method Index

    Copyright()
    getByteArrayValue()
    This function returns the value of the field as a byte array.
    getFormattedLength()
    This function returns the formatted length of the field.
    getFormattedValue()
    This function returns the formatted value of the field.
    getStringValue()
    This function returns the non-formatted value of the field.
    isDataValid()
    This function returns whether the current value within the field is valid.
    setByteArrayValue(byte[])
    This function sets the value from a byte array.
    setFieldAttributes(FieldAttributes)
    This function sets the editing attributes.
    setStringValue(String)
    This function sets the value of the field from a string.

    Variables

    as400_Field
     public AS400Field as400_Field
    

    Constructors

    AS400EntryField
     public AS400EntryField()
    
    This is the default constructor. Use the setFieldAttributes function to set the editing attributes.

    AS400EntryField
     public AS400EntryField(FieldAttributes fieldAttributes)
    
    This constructor combines the functionality of the default constructor, and the setFieldAttributes function.


    Methods

    getByteArrayValue
     public byte[] getByteArrayValue()
    
    This function returns the value of the field as a byte array. The byte array is either an array of characters, or an array of zoned decimal digits.

    getFormattedLength
     public int getFormattedLength()
    
    This function returns the formatted length of the field.

    getFormattedValue
     public String getFormattedValue()
    
    This function returns the formatted value of the field. If the field type is character, there is no formatting done.

    getStringValue
     public String getStringValue()
    
    This function returns the non-formatted value of the field. If the field type is numeric, the non-formatted numeric representation is returned.

    isDataValid
     public boolean isDataValid()
    
    This function returns whether the current value within the field is valid.

    setByteArrayValue
     public void setByteArrayValue(byte baData[])
    
    This function sets the value from a byte array. The byte array is either an array of characters, or an array of zoned decimal digits.

    setFieldAttributes
     public void setFieldAttributes(FieldAttributes fieldAttributes)
    
    This function sets the editing attributes.

    setStringValue
     public void setStringValue(String strInput)
    
    This function sets the value of the field from a string. If the field is numeric, then a numeric format is expected without formatting with editcode or editword. An example of a numeric format is '1234.56-'.

    Copyright
     public static String Copyright()
    

    co kꌂy$P756$@P./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.as400entryfield_mi.htmlht$$ Class com.ibm.ivj.et400.util.AS400Field

    Class com.ibm.ivj.et400.util.AS400Field

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.AS400Field
    

    public class AS400Field
    extends Object


    Variable Index

    edit_Word
    field_Attributes
    field_Validator
    str_Formatted
    str_Numeric
    zoned_Decimal

    Constructor Index

    AS400Field(FieldAttributes)

    Method Index

    Copyright()
    getByteArrayValue()
    getFormattedLength()
    getFormattedValue()
    getNumericValue()
    isValid()
    setValue(byte[])
    setValue(String)

    Variables

    str_Formatted
     public String str_Formatted
    
    str_Numeric
     public String str_Numeric
    
    edit_Word
     public EditWord edit_Word
    
    field_Attributes
     public FieldAttributes field_Attributes
    
    field_Validator
     public FieldValidator field_Validator
    
    zoned_Decimal
     public ZonedDecimal zoned_Decimal
    

    Constructors

    AS400Field
     public AS400Field(FieldAttributes fieldAttributes)
    

    Methods

    getByteArrayValue
     public byte[] getByteArrayValue()
    
    getFormattedLength
     public int getFormattedLength()
    
    getFormattedValue
     public String getFormattedValue()
    
    getNumericValue
     public String getNumericValue()
    
    isValid
     public boolean isValid()
    
    setValue
     public void setValue(String strInput)
    
    setValue
     public void setValue(byte baData[])
    
    Copyright
     public static String Copyright()
    

     kPy$756$@./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.as400field_mi.htmlt$$ Class com.ibm.ivj.et400.util.AS400TextField

    Class com.ibm.ivj.et400.util.AS400TextField

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.TextComponent
                       |
                       +----java.awt.TextField
                               |
                               +----com.ibm.ivj.et400.util.AS400TextField
    

    public class AS400TextField
    extends TextField
    implements KeyListener, FocusListener


    Variable Index

    b_Changed

    Constructor Index

    AS400TextField()

    Method Index

    Copyright()
    focusGained(FocusEvent)
    This method was created in VisualAge.
    focusLost(FocusEvent)
    This method was created in VisualAge.
    getText()
    isValueValid(String)
    isValueValidForNumeric(String)
    keyPressed(KeyEvent)
    keyReleased(KeyEvent)
    keyTyped(KeyEvent)
    setEditAttributes(short, short, short, short, boolean, boolean, boolean, String)

    Variables

    b_Changed
     protected boolean b_Changed
    

    Constructors

    AS400TextField
     protected AS400TextField()
    

    Methods

    Copyright
     public static String Copyright()
    
    focusGained
     public void focusGained(FocusEvent e)
    
    This method was created in VisualAge.

    Parameters:
    e - java.awt.event.FocusEvent
    focusLost
     public void focusLost(FocusEvent e)
    
    This method was created in VisualAge.

    Parameters:
    e - java.awt.event.FocusEvent
    getText
     public String getText()
    
    Overrides:
    getText in class TextComponent
    isValueValid
     protected boolean isValueValid(String strText)
    
    isValueValidForNumeric
     protected boolean isValueValidForNumeric(String strText)
    
    keyPressed
     public void keyPressed(KeyEvent kEvent)
    
    keyReleased
     public void keyReleased(KeyEvent kEvent)
    
    keyTyped
     public void keyTyped(KeyEvent kEvent)
    
    setEditAttributes
     protected void setEditAttributes(short sDataType,
                                      short sEditType,
                                      short sDataLength,
                                      short sDecimalPlaces,
                                      boolean bAllowSign,
                                      boolean bRestoreOnFirstKey,
                                      boolean bUpperCase,
                                      String strRestoreValue)
    

     koy$756$@|./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.as400textfield_mi.htmlht$$ Class com.ibm.ivj.et400.util.ComparisonTypeEditor

    Class com.ibm.ivj.et400.util.ComparisonTypeEditor

    java.lang.Object
       |
       +----java.beans.PropertyEditorSupport
               |
               +----com.ibm.ivj.et400.util.ComparisonTypeEditor
    

    public class ComparisonTypeEditor
    extends PropertyEditorSupport

    This type was created in VisualAge.


    Constructor Index

    ComparisonTypeEditor()
    ComparisonTypeEditor constructor comment.
    ComparisonTypeEditor(Object)
    ComparisonTypeEditor constructor comment.

    Method Index

    getTags()
    This method was created in VisualAge.

    Constructors

    ComparisonTypeEditor
     protected ComparisonTypeEditor()
    
    ComparisonTypeEditor constructor comment.

    ComparisonTypeEditor
     protected ComparisonTypeEditor(Object arg1)
    
    ComparisonTypeEditor constructor comment.

    Parameters:
    arg1 - java.lang.Object

    Methods

    getTags
     public String[] getTags()
    
    This method was created in VisualAge.

    Returns:
    java.lang.String[]
    Overrides:
    getTags in class PropertyEditorSupport

    mivj kTey$756$`~./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.comparisontypeeditor_mi.html$$ Class com.ibm.ivj.et400.util.DataTypeEditor

    Class com.ibm.ivj.et400.util.DataTypeEditor

    java.lang.Object
       |
       +----java.beans.PropertyEditorSupport
               |
               +----com.ibm.ivj.et400.util.DataTypeEditor
    

    public class DataTypeEditor
    extends PropertyEditorSupport

    This type was created in VisualAge.


    Constructor Index

    DataTypeEditor()
    EditTypeEditor constructor comment.
    DataTypeEditor(Object)
    EditTypeEditor constructor comment.

    Method Index

    getTags()
    This method was created in VisualAge.

    Constructors

    DataTypeEditor
     protected DataTypeEditor()
    
    EditTypeEditor constructor comment.

    DataTypeEditor
     protected DataTypeEditor(Object arg1)
    
    EditTypeEditor constructor comment.

    Parameters:
    arg1 - java.lang.Object

    Methods

    getTags
     public String[] getTags()
    
    This method was created in VisualAge.

    Returns:
    java.lang.String[]
    Overrides:
    getTags in class PropertyEditorSupport

    l. kOy$756$`./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.datatypeeditor_mi.htmlhtml$$ Class com.ibm.ivj.et400.util.EditCodeEditor

    Class com.ibm.ivj.et400.util.EditCodeEditor

    java.lang.Object
       |
       +----java.beans.PropertyEditorSupport
               |
               +----com.ibm.ivj.et400.util.EditCodeEditor
    

    public class EditCodeEditor
    extends PropertyEditorSupport

    This type was created in VisualAge.


    Constructor Index

    EditCodeEditor()
    EditCodeEditor constructor comment.
    EditCodeEditor(Object)
    EditCodeEditor constructor comment.

    Method Index

    getTags()
    This method was created in VisualAge.

    Constructors

    EditCodeEditor
     protected EditCodeEditor()
    
    EditCodeEditor constructor comment.

    EditCodeEditor
     protected EditCodeEditor(Object arg1)
    
    EditCodeEditor constructor comment.

    Parameters:
    arg1 - java.lang.Object

    Methods

    getTags
     public String[] getTags()
    
    This method was created in VisualAge.

    Returns:
    java.lang.String[]
    Overrides:
    getTags in class PropertyEditorSupport

    l. k8y$756$`./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.editcodeeditor_mi.htmlhtml$$ Class com.ibm.ivj.et400.util.EditCodeParameterTypeEditor

    Class com.ibm.ivj.et400.util.EditCodeParameterTypeEditor

    java.lang.Object
       |
       +----java.beans.PropertyEditorSupport
               |
               +----com.ibm.ivj.et400.util.EditCodeParameterTypeEditor
    

    public class EditCodeParameterTypeEditor
    extends PropertyEditorSupport

    This type was created in VisualAge.


    Constructor Index

    EditCodeParameterTypeEditor()
    EditCodeParameterTypeEditor constructor comment.
    EditCodeParameterTypeEditor(Object)
    EditCodeParameterTypeEditor constructor comment.

    Method Index

    getTags()
    This method was created in VisualAge.

    Constructors

    EditCodeParameterTypeEditor
     protected EditCodeParameterTypeEditor()
    
    EditCodeParameterTypeEditor constructor comment.

    EditCodeParameterTypeEditor
     protected EditCodeParameterTypeEditor(Object arg1)
    
    EditCodeParameterTypeEditor constructor comment.

    Parameters:
    arg1 - java.lang.Object

    Methods

    getTags
     public String[] getTags()
    
    This method was created in VisualAge.

    Returns:
    java.lang.String[]
    Overrides:
    getTags in class PropertyEditorSupport

    h k{y$756$`./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.editcodeparametertypeeditor_mi.html$$ Class com.ibm.ivj.et400.util.EditTypeEditor

    Class com.ibm.ivj.et400.util.EditTypeEditor

    java.lang.Object
       |
       +----java.beans.PropertyEditorSupport
               |
               +----com.ibm.ivj.et400.util.EditTypeEditor
    

    public class EditTypeEditor
    extends PropertyEditorSupport

    This type was created in VisualAge.


    Constructor Index

    EditTypeEditor()
    EditTypeEditor constructor comment.
    EditTypeEditor(Object)
    EditTypeEditor constructor comment.

    Method Index

    getTags()
    This method was created in VisualAge.

    Constructors

    EditTypeEditor
     protected EditTypeEditor()
    
    EditTypeEditor constructor comment.

    EditTypeEditor
     protected EditTypeEditor(Object arg1)
    
    EditTypeEditor constructor comment.

    Parameters:
    arg1 - java.lang.Object

    Methods

    getTags
     public String[] getTags()
    
    This method was created in VisualAge.

    Returns:
    java.lang.String[]
    Overrides:
    getTags in class PropertyEditorSupport

    "> ky$756$`./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.edittypeeditor_mi.htmltor_m$$ Class com.ibm.ivj.et400.util.EditWord

    Class com.ibm.ivj.et400.util.EditWord

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.EditWord
    

    public class EditWord
    extends Object

    EditWord is a class which provides edit code and edit word support. Given an edit code, an edit word is generated.

    See Also:
    AS400VisualTextField, AS400VisualSubfile, FieldValidator

    Variable Index

    b_AsteriskProtected
    b_BlankIfZero
    b_DateSeparator
    b_FloatingMinus
    b_ShowNegative
    c_CurrencySymbol
    c_DateSeparator
    c_DecimalPoint
    c_EditCode
    c_MinusSign
    c_ThousandSeparator
    edit_type_editcode
    edit_type_editword
    edit_type_none
    editcode_parameter_type_asterisk
    editcode_parameter_type_currency
    editcode_parameter_type_none
    i_EditCodeParameterType
    i_EditType
    i_EndZeroSuppressionIndex
    i_ExpansionIndex
    i_FieldLength
    i_FieldPrecision
    i_FloatingCurrency
    i_FormattedLength
    i_StatusIndex
    str_EditWord

    Constructor Index

    EditWord()
    This is the default constructor.
    EditWord(int, int)
    This constructor can be used if no edit word or edit code is required.
    EditWord(int, int, char, int)
    Use this constructor to specify an edit code.
    EditWord(String, char, char, char)
    Use this constructor to specify an edit word.

    Method Index

    Copyright()
    getEditWord()
    This function returns the current edit word.
    getFieldLength()
    This function returns the current field length
    getFieldPrecision()
    This function returns the current number of decimal places
    getFormattedLength()
    This function returns the length of a formatted field
    getFormattedValue(String)
    This function returns the formatted value given an unformatted value.
    isValid(int, int)
    This function returns true if the specified field length matches this instance's field length, and the specified field precision matches this instance's field precision.
    setEditCode(char, int)
    This function sets the edit code, and generates an edit word from the edit code.
    setEditWord(String)
    This function sets the current edit word.
    setFieldLength(int)
    This function sets the field length.
    setFieldPrecision(int)
    This function sets the number of decimal places.
    setFormattingSymbols(char, char, char)
    This function sets the symbols used when converting a non formatted number to a formatted number.

    Variables

    edit_type_none
     public static final short edit_type_none
    
    edit_type_editcode
     public static final short edit_type_editcode
    
    edit_type_editword
     public static final short edit_type_editword
    
    editcode_parameter_type_none
     public static final short editcode_parameter_type_none
    
    editcode_parameter_type_asterisk
     public static final short editcode_parameter_type_asterisk
    
    editcode_parameter_type_currency
     public static final short editcode_parameter_type_currency
    
    b_BlankIfZero
     protected boolean b_BlankIfZero
    
    b_FloatingMinus
     protected boolean b_FloatingMinus
    
    b_AsteriskProtected
     protected boolean b_AsteriskProtected
    
    b_DateSeparator
     protected boolean b_DateSeparator
    
    b_ShowNegative
     protected boolean b_ShowNegative
    
    c_EditCode
     protected char c_EditCode
    
    i_EditCodeParameterType
     protected int i_EditCodeParameterType
    
    c_CurrencySymbol
     protected char c_CurrencySymbol
    
    c_DateSeparator
     protected char c_DateSeparator
    
    c_DecimalPoint
     protected char c_DecimalPoint
    
    c_MinusSign
     protected char c_MinusSign
    
    c_ThousandSeparator
     protected char c_ThousandSeparator
    
    i_EndZeroSuppressionIndex
     protected int i_EndZeroSuppressionIndex
    
    i_EditType
     protected int i_EditType
    
    i_ExpansionIndex
     protected int i_ExpansionIndex
    
    i_FieldLength
     protected int i_FieldLength
    
    i_FieldPrecision
     protected int i_FieldPrecision
    
    i_FloatingCurrency
     protected int i_FloatingCurrency
    
    i_FormattedLength
     protected int i_FormattedLength
    
    i_StatusIndex
     protected int i_StatusIndex
    
    str_EditWord
     protected String str_EditWord
    

    Constructors

    EditWord
     public EditWord()
    
    This is the default constructor. Use setFieldLength and setFieldPrecision member functions after this using this constructor.

    EditWord
     public EditWord(int iFieldLength,
                     int iFieldPrecision)
    
    This constructor can be used if no edit word or edit code is required. Optionally use the setEditWord member function to specify an edit word, or the setEditCode member function to specify an edit code.

    EditWord
     public EditWord(String strEditWord,
                     char cCurrencySymbol,
                     char cDecimalPoint,
                     char cThousandSeparator)
    
    Use this constructor to specify an edit word.

    EditWord
     public EditWord(int iFieldLength,
                     int iFieldPrecision,
                     char cEditCode,
                     int iEditCodeParameterType)
    
    Use this constructor to specify an edit code. An edit word is generated and can be obtained by calling the getEditWord function.


    Methods

    getEditWord
     public String getEditWord()
    
    This function returns the current edit word.

    getFieldLength
     public int getFieldLength()
    
    This function returns the current field length

    getFieldPrecision
     public int getFieldPrecision()
    
    This function returns the current number of decimal places

    getFormattedLength
     public int getFormattedLength()
    
    This function returns the length of a formatted field

    getFormattedValue
     public String getFormattedValue(String strInput)
    
    This function returns the formatted value given an unformatted value. The system's decimal point symbol is used to find the decimal point. A number typed in by an end user can be formatted based on the end user's system's decimal point symbol. Only a sign character, a decimal symbol character, and numerals are allowed in the input string.

    isValid
     public boolean isValid(int iFieldLength,
                            int iFieldPrecision)
    
    This function returns true if the specified field length matches this instance's field length, and the specified field precision matches this instance's field precision.

    setEditCode
     public void setEditCode(char cEditCode,
                             int iEditCodeParameterType)
    
    This function sets the edit code, and generates an edit word from the edit code. The resulting edit word can be obtained by calling the getEditWord function. Any previously set edit word is ignored.

    setEditWord
     public void setEditWord(String strEditWord)
    
    This function sets the current edit word. Any previously set edit code is ignored.

    setFieldLength
     public void setFieldLength(int iFieldLength)
    
    This function sets the field length. Use this function immediately after using the default constructor.

    setFieldPrecision
     public void setFieldPrecision(int iFieldPrecision)
    
    This function sets the number of decimal places. The field precision defaults to a value of zero.

    setFormattingSymbols
     public void setFormattingSymbols(char cCurrencySymbol,
                                      char cDecimalPoint,
                                      char cThousandSeparator)
    
    This function sets the symbols used when converting a non formatted number to a formatted number.

    Copyright
     public static String Copyright()
    

    cision ky$756$./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.editword_mi.htmlhtm$$ Class com.ibm.ivj.et400.util.FieldValidator

    Class com.ibm.ivj.et400.util.FieldValidator

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.FieldValidator
    

    public class FieldValidator
    extends Object


    Variable Index

    c_DecimalSymbol
    comparison_type_eq
    comparison_type_ge
    comparison_type_gt
    comparison_type_le
    comparison_type_lt
    comparison_type_ne
    comparison_type_ng
    comparison_type_nl
    comparison_type_none
    data_type_character
    data_type_numeric
    s_ComparisonType
    s_DataType
    s_DecimalPlaces
    s_FieldLength
    s_ValidityCheckType
    str_ComparisonValue
    str_NumericComparison
    str_NumericMaximum
    str_NumericMinimum
    str_RangeMaximum
    str_RangeMinimum
    validity_type_comparison
    validity_type_none
    validity_type_range

    Constructor Index

    FieldValidator()
    This is the default constructor.
    FieldValidator(short, short, short, short, short, String, String, String, char)
    Use this constructor to specify validation parameters.

    Method Index

    Copyright()
    isValid(String)
    Given a string, this function test whether the value of the string is valid.
    setValidationParameters(short, short, short, short, short, String, String, String, char)
    This function sets the parameters used for field validation.

    Variables

    data_type_numeric
     public static final short data_type_numeric
    
    data_type_character
     public static final short data_type_character
    
    validity_type_none
     public static final short validity_type_none
    
    validity_type_comparison
     public static final short validity_type_comparison
    
    validity_type_range
     public static final short validity_type_range
    
    comparison_type_none
     public static final short comparison_type_none
    
    comparison_type_eq
     public static final short comparison_type_eq
    
    comparison_type_ne
     public static final short comparison_type_ne
    
    comparison_type_lt
     public static final short comparison_type_lt
    
    comparison_type_nl
     public static final short comparison_type_nl
    
    comparison_type_gt
     public static final short comparison_type_gt
    
    comparison_type_ng
     public static final short comparison_type_ng
    
    comparison_type_le
     public static final short comparison_type_le
    
    comparison_type_ge
     public static final short comparison_type_ge
    
    c_DecimalSymbol
     protected char c_DecimalSymbol
    
    s_ComparisonType
     protected short s_ComparisonType
    
    s_FieldLength
     protected short s_FieldLength
    
    s_DataType
     protected short s_DataType
    
    s_DecimalPlaces
     protected short s_DecimalPlaces
    
    s_ValidityCheckType
     protected short s_ValidityCheckType
    
    str_ComparisonValue
     protected String str_ComparisonValue
    
    str_RangeMinimum
     protected String str_RangeMinimum
    
    str_RangeMaximum
     protected String str_RangeMaximum
    
    str_NumericComparison
     protected String str_NumericComparison
    
    str_NumericMinimum
     protected String str_NumericMinimum
    
    str_NumericMaximum
     protected String str_NumericMaximum
    

    Constructors

    FieldValidator
     public FieldValidator()
    
    This is the default constructor. Use the function setValidationParameters after using this constructor.

    FieldValidator
     public FieldValidator(short sFieldLength,
                           short sFieldPrecision,
                           short sDataType,
                           short sComparisonType,
                           short sValidityCheckType,
                           String strComparisonValue,
                           String strRangeMinimum,
                           String strRangeMaximum,
                           char cDecimalSymbol)
    
    Use this constructor to specify validation parameters. Or, use the default constructor and the setValidationParameters function.


    Methods

    isValid
     public boolean isValid(String strData)
    
    Given a string, this function test whether the value of the string is valid. For numeric strings, if the input string has a decimal point, then the digits following the decimal point are assumed to be decimal digits. Otherwise, all digits are assumed to be value digits. Numeric strings without a sign character are assumed to be positive numbers. The sign character can be placed either at the beginning, or at the end of the string.

    setValidationParameters
     public void setValidationParameters(short sFieldLength,
                                         short sFieldPrecision,
                                         short sDataType,
                                         short sComparisonType,
                                         short sValidityCheckType,
                                         String strComparisonValue,
                                         String strRangeMinimum,
                                         String strRangeMaximum,
                                         char cDecimalSymbol)
    
    This function sets the parameters used for field validation. Use this function after calling the default constructor. Use the supplied constants to specify the data type, comparison type, and validity check type.

    Copyright
     public static String Copyright()
    

     k"Cy$ 756$. ./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.fieldvalidator_mi.htmlmi.ht$$ Class com.ibm.ivj.et400.util.IntBuffer

    Class com.ibm.ivj.et400.util.IntBuffer

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.IntBuffer
    

    public class IntBuffer
    extends Object


    Variable Index

    i_Value

    Constructor Index

    IntBuffer()
    IntBuffer(int)

    Method Index

    Copyright()
    getIntValue()
    setIntValue(int)

    Variables

    i_Value
     public int i_Value
    

    Constructors

    IntBuffer
     public IntBuffer()
    
    IntBuffer
     public IntBuffer(int iInitialValue)
    

    Methods

    getIntValue
     public int getIntValue()
    
    setIntValue
     public void setIntValue(int iValue)
    
    Copyright
     public static String Copyright()
    

     k2y$756$`./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.intbuffer_mi.htmltm$$ Class com.ibm.ivj.et400.util.NumericEntryField

    Class com.ibm.ivj.et400.util.NumericEntryField

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.TextComponent
                       |
                       +----java.awt.TextField
                               |
                               +----com.ibm.ivj.et400.util.NumericEntryField
    

    public class NumericEntryField
    extends TextField
    implements KeyListener


    Constructor Index

    NumericEntryField()
    NumericEntryField(int)
    NumericEntryField(String)
    NumericEntryField(String, int)

    Method Index

    Copyright()
    keyPressed(KeyEvent)
    keyReleased(KeyEvent)
    keyTyped(KeyEvent)

    Constructors

    NumericEntryField
     public NumericEntryField()
    
    NumericEntryField
     public NumericEntryField(int len)
    
    NumericEntryField
     public NumericEntryField(String str)
    
    NumericEntryField
     public NumericEntryField(String str,
                              int len)
    

    Methods

    Copyright
     public static String Copyright()
    
    keyPressed
     public void keyPressed(KeyEvent e)
    
    keyReleased
     public void keyReleased(KeyEvent e)
    
    keyTyped
     public void keyTyped(KeyEvent e)
    

    .x ky$k756$Pk./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.numericentryfield_mi.htmlht$$ Class com.ibm.ivj.et400.util.SubfileCell

    Class com.ibm.ivj.et400.util.SubfileCell

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.SubfileCell
    

    public class SubfileCell
    extends Object


    Variable Index

    as400_Field
    color_Background
    color_Foreground
    str_Formatted
    str_Numeric

    Constructor Index

    SubfileCell(Subfile, AS400Field, byte[])
    SubfileCell(Subfile, AS400Field, String)

    Method Index

    Copyright()
    isValid()
    paint(Graphics, Color, int, int, int, int, int, int, int, boolean, Color)
    setCellData(String)

    Variables

    as400_Field
     public AS400Field as400_Field
    
    color_Foreground
     public Color color_Foreground
    
    color_Background
     public Color color_Background
    
    str_Formatted
     public String str_Formatted
    
    str_Numeric
     public String str_Numeric
    

    Constructors

    SubfileCell
     public SubfileCell(Subfile subfile,
                        AS400Field as400Field,
                        byte baData[])
    
    SubfileCell
     public SubfileCell(Subfile subfile,
                        AS400Field as400Field,
                        String strData)
    

    Methods

    isValid
     public boolean isValid()
    
    paint
     public void paint(Graphics g,
                       Color colorForegroundHighlight,
                       int iX,
                       int iY,
                       int iFieldPixelsLeading,
                       int iFieldPixelsTrailing,
                       int iFieldPixelWidth,
                       int iCharacterWidth,
                       int iFontHeight,
                       boolean bFocus,
                       Color colorFocus)
    
    setCellData
     public void setCellData(String strInput)
    
    Copyright
     public static String Copyright()
    

     kֿy$C756$@C./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfilecell_mi.html$$ Class com.ibm.ivj.et400.util.SubfileColumn

    Class com.ibm.ivj.et400.util.SubfileColumn

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.SubfileColumn
    

    public class SubfileColumn
    extends Object


    Variable Index

    as400_Field
    column_Definition

    Constructor Index

    SubfileColumn()

    Method Index

    Copyright()

    Variables

    column_Definition
     protected SubfileColumnDefinition column_Definition
    
    as400_Field
     protected AS400Field as400_Field
    

    Constructors

    SubfileColumn
     public SubfileColumn()
    

    Methods

    Copyright
     public static String Copyright()
    

    X/ k0y$756$`./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfilecolumn_mi.htmlmlht$$ Class com.ibm.ivj.et400.util.SubfileColumnDefinition

    Class com.ibm.ivj.et400.util.SubfileColumnDefinition

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.SubfileColumnDefinition
    

    public class SubfileColumnDefinition
    extends Object


    Variable Index

    b_DefaultColumnWidth
    b_Hidden
    i_ColWidthBeforeHidden
    str_Heading1
    str_Heading2
    str_Heading3

    Constructor Index

    SubfileColumnDefinition(String, String, String, boolean)
    Specify the string values for up to three heading lines.

    Method Index

    Copyright()

    Variables

    str_Heading1
     protected String str_Heading1
    
    str_Heading2
     protected String str_Heading2
    
    str_Heading3
     protected String str_Heading3
    
    b_Hidden
     protected boolean b_Hidden
    
    b_DefaultColumnWidth
     protected boolean b_DefaultColumnWidth
    
    i_ColWidthBeforeHidden
     protected int i_ColWidthBeforeHidden
    

    Constructors

    SubfileColumnDefinition
     public SubfileColumnDefinition(String strHeading1,
                                    String strHeading2,
                                    String strHeading3,
                                    boolean bHidden)
    
    Specify the string values for up to three heading lines. Each of the strings may be null. Also specify whether this column is a hidden column.

    See Also:
    Subfile

    Methods

    Copyright
     public static String Copyright()
    

     kTy$x756$P:x./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfilecolumndefinition_mi.htmlml$$ Class com.ibm.ivj.et400.util.SubfileEntryField

    Class com.ibm.ivj.et400.util.SubfileEntryField

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.TextComponent
                       |
                       +----java.awt.TextField
                               |
                               +----com.ibm.ivj.et400.util.AS400TextField
                                       |
                                       +----com.ibm.ivj.et400.util.SubfileEntryField
    

    public class SubfileEntryField
    extends AS400TextField


    Constructor Index

    SubfileEntryField(Subfile)

    Method Index

    cancelCellBeingEdited(int, int)
    commitCellBeingEdited(int, int)
    Copyright()
    setCellBeingEdited(int, int)

    Constructors

    SubfileEntryField
     protected SubfileEntryField(Subfile subfile)
    

    Methods

    cancelCellBeingEdited
     protected void cancelCellBeingEdited(int iRecordNumber,
                                          int iFieldNumber)
    
    commitCellBeingEdited
     protected void commitCellBeingEdited(int iRecordNumber,
                                          int iFieldNumber)
    
    setCellBeingEdited
     protected void setCellBeingEdited(int iRecordNumber,
                                       int iFieldNumber)
    
    Copyright
     public static String Copyright()
    

    X/ kYy$756$`~./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfileentryfield_mi.htmlht$$ Class com.ibm.ivj.et400.util.SubfileHeading

    Class com.ibm.ivj.et400.util.SubfileHeading

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----com.ibm.ivj.et400.util.SubfileHeading
    

    public class SubfileHeading
    extends Component
    implements MouseListener, MouseMotionListener


    Variable Index

    color_Background
    color_Foreground
    i_CharacterWidth
    i_FontBaseline
    i_FontHeight

    Constructor Index

    SubfileHeading(Subfile)

    Method Index

    Copyright()
    mouseClicked(MouseEvent)
    mouseDragged(MouseEvent)
    mouseEntered(MouseEvent)
    mouseExited(MouseEvent)
    mouseMoved(MouseEvent)
    mousePressed(MouseEvent)
    mouseReleased(MouseEvent)
    paint(Graphics)

    Variables

    color_Background
     public Color color_Background
    
    color_Foreground
     public Color color_Foreground
    
    i_CharacterWidth
     protected int i_CharacterWidth
    
    i_FontBaseline
     protected int i_FontBaseline
    
    i_FontHeight
     protected int i_FontHeight
    

    Constructors

    SubfileHeading
     public SubfileHeading(Subfile subfile)
    

    Methods

    mouseClicked
     public void mouseClicked(MouseEvent mEvent)
    
    mouseDragged
     public void mouseDragged(MouseEvent mEvent)
    
    mouseEntered
     public void mouseEntered(MouseEvent mEvent)
    
    mouseExited
     public void mouseExited(MouseEvent mEvent)
    
    mouseMoved
     public void mouseMoved(MouseEvent mEvent)
    
    mousePressed
     public void mousePressed(MouseEvent mEvent)
    
    mouseReleased
     public void mouseReleased(MouseEvent mEvent)
    
    paint
     public void paint(Graphics g)
    
    Overrides:
    paint in class Component
    Copyright
     public static String Copyright()
    

    l> Class com.ibm.ivj.et400.util.SubfileList

    Class com.ibm.ivj.et400.util.SubfileList

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Panel
                               |
                               +----com.ibm.ivj.et400.util.SubfileList
    

    public class SubfileList
    extends Panel
    implements AdjustmentListener, FocusListener, KeyListener, MouseListener, MouseMotionListener, ItemSelectable


    Variable Index

    b_HaveFocus
    i_FieldBeingEdited
    i_FocusColumn
    i_FocusRecord
    i_RecordBeingEdited
    i_ViewOriginY
    subfile_EntryField

    Constructor Index

    SubfileList(Subfile)

    Method Index

    addItemListener(ItemListener)
    adjustHorizontalScrollbar()
    adjustmentValueChanged(AdjustmentEvent)
    adjustVerticalScrollbar()
    beginEdit(int, int)
    calculateVisibleRecordFields(Rectangle, Rectangle)
    cancelEdit()
    Copyright()
    focusGained(FocusEvent)
    focusLost(FocusEvent)
    generateItemEvent(int, boolean)
    getFirstVisibleRecord()
    getSelectedObjects()
    isCellVisible(int, int)
    isFocusTraversable()
    isRecordSelected(int)
    keyPressed(KeyEvent)
    keyReleased(KeyEvent)
    keyTyped(KeyEvent)
    mouseClicked(MouseEvent)
    mouseDragged(MouseEvent)
    mouseEntered(MouseEvent)
    mouseExited(MouseEvent)
    mouseMoved(MouseEvent)
    mousePressed(MouseEvent)
    mouseReleased(MouseEvent)
    paint(Graphics)
    recordAdded()
    recordChanged(int)
    recordInserted(int)
    recordRemoved(int)
    recordRemovedAll()
    removeItemListener(ItemListener)
    selectRecord(int, boolean, boolean, boolean)
    setCellVisible(int, int)
    setFirstVisibleRecord(int)
    setFocus()
    setFocusCell(int, int)
    setFocusRecord(int)
    setSelectedRecord(int, boolean)

    Variables

    i_FocusColumn
     public int i_FocusColumn
    
    i_FocusRecord
     public int i_FocusRecord
    
    i_RecordBeingEdited
     public int i_RecordBeingEdited
    
    i_FieldBeingEdited
     public int i_FieldBeingEdited
    
    i_ViewOriginY
     public int i_ViewOriginY
    
    subfile_EntryField
     public SubfileEntryField subfile_EntryField
    
    b_HaveFocus
     protected boolean b_HaveFocus
    

    Constructors

    SubfileList
     public SubfileList(Subfile subfile)
    

    Methods

    addItemListener
     public void addItemListener(ItemListener itemListener)
    
    adjustHorizontalScrollbar
     public void adjustHorizontalScrollbar()
    
    adjustmentValueChanged
     public synchronized void adjustmentValueChanged(AdjustmentEvent aEvent)
    
    adjustVerticalScrollbar
     public void adjustVerticalScrollbar()
    
    beginEdit
     public void beginEdit(int iRecordNumber,
                           int iFieldNumber)
    
    calculateVisibleRecordFields
     public int calculateVisibleRecordFields(Rectangle rectBounds,
                                             Rectangle rectVisible)
    
    cancelEdit
     public void cancelEdit()
    
    focusGained
     public void focusGained(FocusEvent fEvent)
    
    focusLost
     public void focusLost(FocusEvent fEvent)
    
    generateItemEvent
     public void generateItemEvent(int iRecordNumber,
                                   boolean bSelected)
    
    getSelectedObjects
     public Object[] getSelectedObjects()
    
    isCellVisible
     public boolean isCellVisible(int iRecordNumber,
                                  int iFieldNumber)
    
    isFocusTraversable
     public boolean isFocusTraversable()
    
    Overrides:
    isFocusTraversable in class Component
    isRecordSelected
     public boolean isRecordSelected(int iRecordIndex)
    
    keyPressed
     public void keyPressed(KeyEvent kEvent)
    
    keyReleased
     public void keyReleased(KeyEvent kEvent)
    
    keyTyped
     public void keyTyped(KeyEvent kEvent)
    
    mouseClicked
     public void mouseClicked(MouseEvent mEvent)
    
    mouseDragged
     public void mouseDragged(MouseEvent mEvent)
    
    mouseEntered
     public void mouseEntered(MouseEvent mEvent)
    
    mouseExited
     public void mouseExited(MouseEvent mEvent)
    
    mouseMoved
     public void mouseMoved(MouseEvent mEvent)
    
    mousePressed
     public void mousePressed(MouseEvent mEvent)
    
    mouseReleased
     public void mouseReleased(MouseEvent mEvent)
    
    paint
     public void paint(Graphics g)
    
    Overrides:
    paint in class Container
    recordAdded
     public void recordAdded()
    
    recordInserted
     public void recordInserted(int iIndex)
    
    recordChanged
     public void recordChanged(int iIndex)
    
    recordRemoved
     public void recordRemoved(int iIndex)
    
    recordRemovedAll
     public void recordRemovedAll()
    
    removeItemListener
     public void removeItemListener(ItemListener itemListener)
    
    selectRecord
     public void selectRecord(int iRecordNumber,
                              boolean bToggle,
                              boolean bSelect,
                              boolean bGenerateItemEvent)
    
    setCellVisible
     public void setCellVisible(int iRecordNumber,
                                int iFieldNumber)
    
    getFirstVisibleRecord
     public int getFirstVisibleRecord()
    
    setFirstVisibleRecord
     public void setFirstVisibleRecord(int iRecordNumber)
    
    setFocus
     public void setFocus()
    
    setFocusCell
     public void setFocusCell(int iRecordNumber,
                              int iColumnNumber)
    
    setFocusRecord
     public void setFocusRecord(int iRecordNumber)
    
    setSelectedRecord
     public boolean setSelectedRecord(int iRecordIndex,
                                      boolean bSelect)
    
    Copyright
     public static String Copyright()
    

    ent.Key kby$756$2./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfilelist_mi.html$$ Class com.ibm.ivj.et400.util.SubfileNavigationButton

    Class com.ibm.ivj.et400.util.SubfileNavigationButton

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Button
                       |
                       +----com.ibm.ivj.et400.util.SubfileNavigationButton
    

    public class SubfileNavigationButton
    extends Button


    Variable Index

    bottom
    lineDown
    lineUp
    pageDown
    pageUp
    top

    Constructor Index

    SubfileNavigationButton(int)

    Method Index

    Copyright()
    paint(Graphics)

    Variables

    top
     public static final int top
    
    pageUp
     public static final int pageUp
    
    lineUp
     public static final int lineUp
    
    lineDown
     public static final int lineDown
    
    pageDown
     public static final int pageDown
    
    bottom
     public static final int bottom
    

    Constructors

    SubfileNavigationButton
     public SubfileNavigationButton(int buttonType)
    

    Methods

    paint
     public void paint(Graphics g)
    
    Overrides:
    paint in class Component
    Copyright
     public static String Copyright()
    

    t kvy$H756$PKH./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfilenavigationbutton_mi.htmlml$$ Class com.ibm.ivj.et400.util.SubfileRecord

    Class com.ibm.ivj.et400.util.SubfileRecord

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.SubfileRecord
    

    public class SubfileRecord
    extends Object


    Variable Index

    array_SubfileCells
    b_Changed
    b_Selected
    i_NumberOfFields

    Constructor Index

    SubfileRecord(Subfile, byte[], int)
    SubfileRecord(Subfile, String[], int)

    Method Index

    Copyright()
    getRecordData()
    getRecordDataAsStrings()
    isValid()
    paint(Graphics, int, int, int, int, int, int, int, Color, boolean, int)
    setRecordData(byte[])
    setRecordData(String[])

    Variables

    b_Changed
     public boolean b_Changed
    
    b_Selected
     public boolean b_Selected
    
    i_NumberOfFields
     public int i_NumberOfFields
    
    array_SubfileCells
     public SubfileCell array_SubfileCells[]
    

    Constructors

    SubfileRecord
     public SubfileRecord(Subfile subfile,
                          byte baRecord[],
                          int iNumberOfFields)
    
    SubfileRecord
     public SubfileRecord(Subfile subfile,
                          String straFields[],
                          int iNumberOfFields)
    

    Methods

    getRecordData
     public byte[] getRecordData()
    
    getRecordDataAsStrings
     public String[] getRecordDataAsStrings()
    
    isValid
     public boolean isValid()
    
    paint
     public void paint(Graphics g,
                       int iFrstField,
                       int iLastField,
                       int iX,
                       int iY,
                       int iListWidth,
                       int iCharacterWidth,
                       int iFontHeight,
                       Color colorBackgroundHighlight,
                       boolean bRecordHasFocus,
                       int iFocusColumn)
    
    setRecordData
     public void setRecordData(byte baRecord[])
    
    setRecordData
     public void setRecordData(String straFields[])
    
    Copyright
     public static String Copyright()
    

    ="#b_ kPy$756$0^./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfilerecord_mi.html_mi.ht$$ Class com.ibm.ivj.et400.util.SubfileText

    Class com.ibm.ivj.et400.util.SubfileText

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.TextComponent
                       |
                       +----java.awt.TextField
                               |
                               +----com.ibm.ivj.et400.util.SubfileText
    

    public class SubfileText
    extends TextField


    Constructor Index

    SubfileText()
    SubfileText(String)

    Method Index

    Copyright()

    Constructors

    SubfileText
     public SubfileText()
    
    SubfileText
     public SubfileText(String defaultText)
    

    Methods

    Copyright
     public static String Copyright()
    

    /  khy$n756$`ln./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfiletext_mi.html$$ Class com.ibm.ivj.et400.util.SubfileTextField

    Class com.ibm.ivj.et400.util.SubfileTextField

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.TextComponent
                       |
                       +----java.awt.TextField
                               |
                               +----com.ibm.ivj.et400.util.AS400TextField
                                       |
                                       +----com.ibm.ivj.et400.util.SubfileTextField
    

    public class SubfileTextField
    extends AS400TextField


    Constructor Index

    SubfileTextField(Subfile)

    Method Index

    cancelCellBeingEdited(int, int)
    commitCellBeingEdited(int, int)
    Copyright()
    setCellBeingEdited(int, int)

    Constructors

    SubfileTextField
     public SubfileTextField(Subfile subfile)
    

    Methods

    cancelCellBeingEdited
     public void cancelCellBeingEdited(int iRecordNumber,
                                       int iFieldNumber)
    
    commitCellBeingEdited
     public void commitCellBeingEdited(int iRecordNumber,
                                       int iFieldNumber)
    
    Copyright
     public static String Copyright()
    
    setCellBeingEdited
     public void setCellBeingEdited(int iRecordNumber,
                                    int iFieldNumber)
    

     kdy$756$`y./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfiletextfield_mi.html.ht$$ Class com.ibm.ivj.et400.util.SubfileToolbar

    Class com.ibm.ivj.et400.util.SubfileToolbar

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Panel
                               |
                               +----com.ibm.ivj.et400.util.SubfileToolbar
    

    public class SubfileToolbar
    extends Panel
    implements MouseListener, LayoutManager


    Variable Index

    ID_SF_NEXTREC_BTN
    ID_SF_PAGEDOWN_BTN
    ID_SF_PAGEEND_BTN
    ID_SF_PAGETOP_BTN
    ID_SF_PAGEUP_BTN
    ID_SF_PREVREC_BTN

    Constructor Index

    SubfileToolbar(Subfile)

    Method Index

    addActionListener(ActionListener)
    addLayoutComponent(String, Component)
    Copyright()
    getButtonIndex()
    getNavigationButton(int)
    isNavButtonEnabled()
    layoutContainer(Container)
    minimumLayoutSize(Container)
    mouseClicked(MouseEvent)
    mouseEntered(MouseEvent)
    mouseExited(MouseEvent)
    mousePressed(MouseEvent)
    mouseReleased(MouseEvent)
    paint(Graphics)
    preferredLayoutSize(Container)
    removeLayoutComponent(Component)
    setButtonIndex(int)
    setNavButtonEnabled(boolean)

    Variables

    ID_SF_PAGETOP_BTN
     public static final int ID_SF_PAGETOP_BTN
    
    ID_SF_PAGEUP_BTN
     public static final int ID_SF_PAGEUP_BTN
    
    ID_SF_PREVREC_BTN
     public static final int ID_SF_PREVREC_BTN
    
    ID_SF_NEXTREC_BTN
     public static final int ID_SF_NEXTREC_BTN
    
    ID_SF_PAGEDOWN_BTN
     public static final int ID_SF_PAGEDOWN_BTN
    
    ID_SF_PAGEEND_BTN
     public static final int ID_SF_PAGEEND_BTN
    

    Constructors

    SubfileToolbar
     public SubfileToolbar(Subfile subfile)
    

    Methods

    addActionListener
     public synchronized void addActionListener(ActionListener actionListener)
    
    addLayoutComponent
     public void addLayoutComponent(String strName,
                                    Component comp)
    
    getButtonIndex
     public int getButtonIndex()
    
    getNavigationButton
     public SubfileNavigationButton getNavigationButton(int iIndex)
    
    isNavButtonEnabled
     public boolean isNavButtonEnabled()
    
    layoutContainer
     public void layoutContainer(Container container)
    
    minimumLayoutSize
     public Dimension minimumLayoutSize(Container container)
    
    mouseClicked
     public void mouseClicked(MouseEvent e)
    
    mouseEntered
     public void mouseEntered(MouseEvent e)
    
    mouseExited
     public void mouseExited(MouseEvent e)
    
    mousePressed
     public void mousePressed(MouseEvent e)
    
    mouseReleased
     public void mouseReleased(MouseEvent e)
    
    paint
     public void paint(Graphics g)
    
    Overrides:
    paint in class Container
    preferredLayoutSize
     public Dimension preferredLayoutSize(Container container)
    
    removeLayoutComponent
     public void removeLayoutComponent(Component comp)
    
    setNavButtonEnabled
     public void setNavButtonEnabled(boolean bEnabled)
    
    setButtonIndex
     public void setButtonIndex(int iIndex)
    
    Copyright
     public static String Copyright()
    

    EVRE kz$756$./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.subfiletoolbar_mi.html.ht$$ Class com.ibm.ivj.et400.util.Trace

    Class com.ibm.ivj.et400.util.Trace

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.Trace
    

    public class Trace
    extends Object


    Variable Index

    traceon

    Constructor Index

    Trace()

    Method Index

    booleanValue(String, boolean)
    byteArrayValue(String, byte[])
    charValue(String, char)
    Copyright()
    functionEntry(Object, String)
    functionEntry(String, String)
    functionExit(Object, String)
    functionExit(String, String)
    initialize()
    object(String, Object)
    string(String)
    stringValue(String, String)
    terminate()
    value(String, long)

    Variables

    traceon
     public static final boolean traceon
    

    Constructors

    Trace
     public Trace()
    

    Methods

    booleanValue
     public static synchronized void booleanValue(String strTrace,
                                                  boolean bValue)
    
    byteArrayValue
     public static synchronized void byteArrayValue(String strTrace,
                                                    byte baValue[])
    
    charValue
     public static synchronized void charValue(String strTrace,
                                               char cValue)
    
    functionEntry
     public static synchronized void functionEntry(Object obj,
                                                   String strFunctionName)
    
    functionEntry
     public static synchronized void functionEntry(String strClassName,
                                                   String strFunctionName)
    
    functionExit
     public static synchronized void functionExit(Object obj,
                                                  String strFunctionName)
    
    functionExit
     public static synchronized void functionExit(String strClassName,
                                                  String strFunctionName)
    
    initialize
     public static synchronized void initialize()
    
    object
     public static synchronized void object(String strTrace,
                                            Object objTrace)
    
    string
     public static synchronized void string(String strTrace)
    
    stringValue
     public static synchronized void stringValue(String strDescription,
                                                 String strTrace)
    
    terminate
     public static synchronized void terminate()
    
    value
     public static synchronized void value(String strTrace,
                                           long lValue)
    
    Copyright
     public static String Copyright()
    

    a.l kr{z$ 756$0 ./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.trace_mi.htmlmi.htm$$ Class com.ibm.ivj.et400.util.ValidityCheckTypeEditor

    Class com.ibm.ivj.et400.util.ValidityCheckTypeEditor

    java.lang.Object
       |
       +----java.beans.PropertyEditorSupport
               |
               +----com.ibm.ivj.et400.util.ValidityCheckTypeEditor
    

    public class ValidityCheckTypeEditor
    extends PropertyEditorSupport

    This type was created in VisualAge.


    Constructor Index

    ValidityCheckTypeEditor()
    ValidityCheckTypeEditor constructor comment.
    ValidityCheckTypeEditor(Object)
    ValidityCheckTypeEditor constructor comment.

    Method Index

    getTags()
    This method was created in VisualAge.

    Constructors

    ValidityCheckTypeEditor
     protected ValidityCheckTypeEditor()
    
    ValidityCheckTypeEditor constructor comment.

    ValidityCheckTypeEditor
     protected ValidityCheckTypeEditor(Object arg1)
    
    ValidityCheckTypeEditor constructor comment.

    Parameters:
    arg1 - java.lang.Object

    Methods

    getTags
     public String[] getTags()
    
    This method was created in VisualAge.

    Returns:
    java.lang.String[]
    Overrides:
    getTags in class PropertyEditorSupport

    k~z$756$`\./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.validitychecktypeeditor_mi.htmlml$$	
    	
    
      Class com.ibm.ivj.et400.util.VColor
    
    
    
    
    	
    
    

    Class com.ibm.ivj.et400.util.VColor

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.VColor
    

    public class VColor
    extends Object


    Constructor Index

    VColor()

    Method Index

    colorFromIndex(int)
    colorFromInt(int)
    colorFromString(String)
    colorToIndex(Color)
    colorToInt(Color)
    colorToString(Color)
    Copyright()

    Constructors

    VColor
     public VColor()
    

    Methods

    colorFromIndex
     public static Color colorFromIndex(int iIndex)
    
    colorFromInt
     public static Color colorFromInt(int iColor)
    
    colorFromString
     public static Color colorFromString(String strColor)
    
    colorToIndex
     public static int colorToIndex(Color color)
    
    colorToInt
     public static int colorToInt(Color color)
    
    colorToString
     public static String colorToString(Color color)
    
    Copyright
     public static String Copyright()
    

    b k( z$756$P./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.vcolor_mi.htmleedit$$ Class com.ibm.ivj.et400.util.ZonedDecimal

    Class com.ibm.ivj.et400.util.ZonedDecimal

    java.lang.Object
       |
       +----com.ibm.ivj.et400.util.ZonedDecimal
    

    public class ZonedDecimal
    extends Object


    Constructor Index

    ZonedDecimal(int, int)

    Method Index

    Copyright()
    getNumeric()
    getValue()
    setDecimalSymbol(char)
    setValue(byte[])
    setValue(String)

    Constructors

    ZonedDecimal
     public ZonedDecimal(int iDataLength,
                         int iDecimalPlaces)
    

    Methods

    getNumeric
     public String getNumeric()
    
    getValue
     public byte[] getValue()
    
    setDecimalSymbol
     public void setDecimalSymbol(char cDecimalSymbol)
    
    setValue
     public void setValue(byte baZonedDecimal[])
    
    setValue
     public void setValue(String strNumeric)
    
    Copyright
     public static String Copyright()
    

    l.zon k^ z$B756$PB./usr/IBMVJava/html/enterp/en_US/hpj400/ref/com.ibm.ivj.et400.util.zoneddecimal_mi.html$$ Package com.ibm.ivj.et400.util

    All Packages

    package com.ibm.ivj.et400.util

    Class Index

    AS400EntryField
    AS400Field
    AS400TextField
    AS400VisualSubfile
    AS400VisualTextField
    AS400VisualTextFieldBeanInfo
    ComparisonTypeEditor
    DataTypeEditor
    EditCodeEditor
    EditCodeParameterTypeEditor
    EditTypeEditor
    EditWord
    FieldAttributes
    FieldAttributesBeanInfo
    FieldValidator
    IntBuffer
    NumericEntryField
    Subfile
    SubfileCell
    SubfileColumn
    SubfileColumnDefinition
    SubfileEntryField
    SubfileHeading
    SubfileList
    SubfileNavigationButton
    SubfileRecord
    SubfileText
    SubfileTextField
    SubfileToolbar
    Trace
    VColor
    ValidityCheckTypeEditor
    ZonedDecimal
    m.i kJz$7&I66$@./usr/IBMVJava/html/enterp/en_US/hpj400/ref/tree.htmlm.$$ Class Hierarchy (Accelerator Classes (AS/400))

    Class Hierarchy (Accelerator Classes (AS/400))


    . l`$7RI66$@ m./usr/IBMVJava/html/enterp/en_US/hpj400/samples/s5csamp.htmivj.$$    aenot<>bcdhilrs ./gmpuCfvwy"0ADILPRSTk&(),4;=BEFKNOx-1235GMVYjq678JUW'9:H_z+#*Q[]!X@byۦzZ0٬^Yuai$7MzI ږ$mlh_^^8, N}D-$I6{wNh=Ab@QAP_^^8/h+Mx7փ@0@ IIk"ASy<[W8i=˝v_  vI-,I$BbpX!D" I$B%28.`x-\ Ht8TyFUbuqr]ZeP[@A$ ; PK YBH ~/?e8 s*>m[\4L``gz+d8j$ז6oUY<@!Ą@'.us6zqr]Vj$&X003v|<*8|Q+I2H%@y1 I!abC(w5~~ y\S:ӟ[_Z?ry$sN:q ډH,A$ ;  nc I!ab@?o>5sv9$BzI#=WF^\ kPb {IHk; Bt♏v& Aqet028>v@V'J?d0߭ ;"+5C^|*X?Q狌>h`9(& r0<~HU{ $?CܑAb%y{h`܎# pH.ha$00K[ܒHrCl"(b6iRks렷$zI rQY;]1(TIt|dӟ]Θl{m^8s뗼nd*p_@p$01q!(``g{:첸k=˝v_ ,;*:a{I+\[.}3d v_a[9|醂2vwd vX,OA׿[\~m^]xicÝ/O.uql${Oy}˨|5>'c_s߭6`> t{L(o5ª#c2λ/cL|~}/]Wkv._U_tI 8lSh Zp7^3:aWBHBHC3 Qn6Ld@ecf qpX iAg$ !$Q<'.u|~X~θTwGcLZ8s+g6#[\ڳW ޸T3"쿃>sܹecSvDhxW05Ngu|+WkeG¶]t#6vxWHW^]0(Fϓ{:_n_tzS6=V56Ad+]F.>h`BMgd<>WZwGlt[Lqr]I{k/Ӳ.eTITIqx`ಊ-ɕl@000/l@003@ Qf!} H$GabC;׮ˊ ,ĠI#0xGpw>e0R)N}y8s!mp]H$7Ÿ:<~ۃe [^2iϯ'.u|~-Q8C ~C(ܸ'j=;u卨o ,9K2̇$ڽղ㝔n\v:Sι{ ,Ą@t0IAױ쭗?>4^;cj ?::WAg$ !$FaGpwƾ/Ӳ.e1TU$:2W^mywK[\99?s*Ρ[\^Xچ3fP,5P>12;L§k}q3fWg 7Au gP# 2o/6aQefp<[ۃλ,I$BJ#1"3 7xn>0kLriϮqr]1< !G{]u&X003ƣelsPC9[]e9FqTN}D``aFV=m1abyұY2=Na$[ܱWY/k yǔG{'O#1<>@xabVJN1,Wk|\vf'ܿ3\ tO\fCy>26I͙Ql>׆:1ulpt;uv:'>Gk@ <|4L``g~:كuL"W^8>8xwg:cŽd,Ĉ::1=GŽ[_5r}܀qr]\vf% I! I >{s^.<~ cQ2ϑc^#d #[\FaղS scj ?:; 2o\oĒ7:A׽6rzE'xa[\]=8s)H$l3]^/[UO !Eai$$\*v1Gv:'>G}xR {IH͙_[\|'c]onjvU11Ϥ$?Cܑp~\o A׼avZ {I, !%eycj3ڽDsR ,ġPI$!PI$]/7kڽ:'>G}xR >.> ^Xچ3fQ]H$:}/|u/A|fCVM9 ,ā`h8@X ,m_tVL_N}#1 X!APAabJN1,WmAұY2csvw6{+#1" ,m_Dvf$ (X0032NY699?\E1%pmqycj͘h{^'R0~uIg] !$G}p$  /߃;#>G{Θl{+e``p@PA${I!R6[_51Gvi졒{Ql{+Y1 TN@j>a\ʺ3ͳ]3l}mx{LC^sbew_$ҐY$HADvf$^\v]fp1>_2oAqeIP8, ن`G{'O2;L|<<&;k++z#1 X!APAabI#϶T_2oAqe2oDvf$Sh.; =YVyD劢; ڏAqe 9]y{W+6u g[1$Ш3|hueJU=}mqk}1-[^^He|30$?=88\-I${,4[ܒH$B(TI-I$ =$[ܒHrDcwX,Ĉ7檠1#kkk;GqR񎧰$?CܑoPTx[0qH-I$~"r6쀯ˢxuT/Y ,j$>e9H.; Y ,ĕШ$?4,QE2[(( &PQ nQf Ci7A`8$$[5Dv/7Et$^=$I9!: §kω[12[\>@ttrI rQY u牞}q|TƸEϤY$rI rE~yұY2O[|Ǣ;  ",$\vf$-X,Ċf>(.; Iھ2H@P``gAqem_Dvf$\*vE1%pmqp$31Ϯ&l@:{s6u` {IJ#1"S=C|(.; ,vuDoAorI#= x 2oDvf$N61=$Nʦ59D‚Y1mX^ڊ {IHyxhL)CD^PΆԽlJdH9UU I6[g\*ug1Ϯcd>}܀ \'A]Ty$BM뗿ι{uu܀0^/s7cj ?h$sR 9$I9(,ċNaBM1 ,Gabw \o 0u{'}abPY$HA:V+&P/z ɧ>}e, aa ( 1%q'{*I[\X_s9?;O;V}eLab~; ,I.; ,ċN 7AqeRTqax{ LنGu-mqY3 lA$ ?CܔGabE§kϺΆ 7^b1>gQh-I$~!51A 0xC ,ĉ\vf'$?Cܐt0Ir8xL 2H0I.; :$?Cܐ*r8hph?#1"T&\vf'u=-I$~!2[\ʺ3 Yz ,Ču=-I$~!鄛[P㝭&:aWmJ8WAorI!A$ T/mCu=㝭t;(de|:GabB.E 2H"lctyu gg9g>PΆԽlJdH9UU I3kyu gP&l@ʏT{kHv/}Σq|: /x jE'A Zp4jE'A Zp4jE'A ,A$ ; #0 èm?uŽ{j%uϋϭ:'4싵| nAabP$$\f=9gu`zqn;(m?{2W\c|d];rmywK[]oƣ̫N:mq3fTJBHBHDvf$5um^G|8{'|[1P\vf% I! I >{s^.<~꩸cj ?:: 3 $s/A׽6rzE'FC t=˝vY]H$l3]^/[UO !Eai$$\*vcG{.;^{TG{.;^|vtʩ$$5>-?w/}mpWAނG{}mpWAުAorI#= @tu$$53 ղǪ[ܒHrE§kṠo>=$$50!&rTAorI#= c:ˏrQqlB =$HADvf$\*ug\fCD 8sAqe* $* $:}/~#1 X"A@(1<`K6ϭB4CE@ RyұY2$:}/z3$d0߭$NKb Ryǽ+0uj+6ƟKވ2HbQE 2IAK$mqp16aQexKp[\f=9gu:I=$$>@xФ|<'& RxS؂G{H*GiAI[]e3Ψ-Y{[ܒHrPN[1]ԟ cܾB =$HA,WI$(f4 =̮FN:lc|NȻ] v "N:+PI$!PI$!ƙ(&TKqe~_d 18$`~AA|s /ctiAg$ !%epYxd>cm^YBHBH|PlUM}n,?O;s[^3kAzĒG $A{*}$?AorI#=q޷b/kISdTߛg> H0ꆺԒ {IHb[\cA][] NWPZϯ6ϣή#0cj =Sc2λ/QQ2'.uerH$cIH>[] HԞ+$䈾W_[] HԞ[]YO[\d$+$䀈lQָTƾ3[gB!*'׋ !&D {IHn[] HԞ+$/kk>:#%T=>%t$?Cܐ{~[\cA][] NWPZϢ {IH͙_[]RS!:>l-$1rZ,vu}m̍Gk6W,WI ZR {I/H$wz~5>_λ,rI rP<Gx<ܴGabFd> >@tuaby$B1$$[ܱ_ФAjOUMvCRA堵'|wʰm}mx$Tmw3kEt$?Cܑ'{++$/kkx>$sܹe2JB@]ccj ?:;̫N:mqycj͘h{\s\l{m^:W$HF=${Фndk(~>eEt$?Cܑor~_BQH-I?w/ͳndkouy8DG{y(w}n#g[1&\NK߭bW,W;  2ID#kk; rm 2O{:6*Wmt) X!AP@ pp RI#MُUUc)skS|s;~cMv{_׹6$,WI Z<[]U6WAorI#=m}mu#ˡ닙_[\d$l,WvCꩲ {I/H$F{"A@A2>IWk^cQ$}muT\ ?S>E_[^;:|{T6Ϛڇ^v]^x?¢H 6: §kk}mpWAҺ 9$I9(,ċN3!m^Gz ,ġPI$!PI$מ!*TC6rqor~_B!*' !þ U==U7>P >}܀ UMY[D@.쨺vE6Yb]GĜct,Wmt)"xԞ+/kk@twa*m^GxP88PC<aD XϭD1Ϯk|sUP 6r Fa:\Y$HADvf$5um^sžc161(TITItz1t~+e2*Ρ[\\*v6aQeqrח$kk\@:aq:}/zm̍uTEԞ2oxhH,Wmt) `EԞr=^<; ^#g[1&\NKH[1+{+Y \vf$E'xkI   R}ɵ1ꪲH2>k7:كk|>+{+ФH-IXϭ+x6!pŲGW 6;fþlI$BHkڽ3 ղǺ>w2>IWkD1K`?x}muT\'?S>\*vv̇{fIղĮI$BJ#1"S@H,A$ ; :0u{žc161(TITItz1^^ˮ?[\W뗿k8Ά 7 6t5$tMsy9u:a5Us_ ,W΃{zQvDN|*'J⍡a\104LDHSͳ \104LDHS/e6u}.ua$kk 2o\tDby{.ms[.y]H$:}/zm̍uTEԞ2oxhE'xbe|0thAqeHgڇ2ua+ڄ~ |>+{JGabB$Y(] H0hh(DHP<& 'ܛ]S> c8>[0wmqoĒ.M ,WI Z<[]U6Wm}mu#ˡ՛o[\d$$_ f@2W^m3za[]U6WAg$ !$ dmp82D`gUMϭ5>_λ,%Qp 6Ē.QnꩲNXμd>ˉHTITIqx`ಊ-ɕl@Œp/pXye 18$``?j 9փ ӌn$ I! I!en>EϮ3!ĪX3ͳ;]f 2O$HF=${+sܹeh~1,T[\8FODAqe>[D6z#1#lߑu1%qorz#1!@ ,ĕШ$?AorI#=m}msp;{P[\>@twt^GabE/eOHN E1AorI#=i OL$ڄJ(WAorI#=,Wmqw}mt);A]AjO/>>:[;'gD#}LkiE[ܒHrERB$Ž,ąH.; uB Ǥ !$ dmp82.z쾪WYtuabzl$Sox}msB93vxa[\4L``gھ?{+#[]eGP\vf'ܲNX=ywKeV2H.; I ?w/ͳkڽ ppUMηk—dxa[\>@ttI$BJ#1"Tn u^%K2GPZ~_$WA"$ꩲ> H5:|*%R R~_;O;Vx/Ͱ2Bחtv_l4^mt)0pmgcBT"  'Za\[ܱ^$(AjI]H$7푵XgGU_B Rzl6r"$ꩿF2o{pw>}܀GI sj?XRDAjOQeqF?rͭn0rI rQYÏ|ϭcj ?:;;[ĩyEabPY$HAtReźW}mt)"'ܿI6rDH((!Seq:}/zywKSjtTJ(vw6_a$emp.z쿹:كiRaR׼JdA AŽRB$Y$HAp\>;匦y˺^/uUmt)"'ܿ6ϭcj ?::I"A@AX// ϭGJ,A$ ; /3uGo5# {\vf% I! I 3Ɔ%w6v{kkڽ ppUMy|sycdy̝_g[aݴlxa[\Faղꩿ6/}W*}y{!GĮ"||~agl 6|#O 6 8y$kkZdxa[\<@:53*24LΆԽ+A$#HrE[\UV$?CܐT}mtGabC_^\S13!DabNԽt0$[0qH-I$~"t^mtGab@4CE@ ,bew_:RuG{ 6ϭ2JҜJp8 ɧ>Uh000+u`61Gdmp8^a\Qd"I0s1Lf>9ט_3kCh?ywKeĮ[WXΣrC 3 ղW>5א/I#S~2m?w/>wkZdx쀯^Bx[ܒHAxA$ +~חtv_ 7ڽtw>ԑs'$<& !U79q#0[.|xms}/id0߭cj ?ҐY$HADvf$G=fëeϏڿ#0@>6r.; Y$HA,Wmp1>_d]M\^]I4Ogh[f̦ $(m^m^GxP88PC 3 o+> H@m^F)?/kͫ<@m^μeqζ`}/I#[] L[eψ$O`0@AH-IַW{YĒ(m^N$1=m`WgOb HP$ԒB@n[\Pa˺^/ͳƟKޅ$^]?[WФN RJ$ywK߹m^GPt^)"$jtTJ(|u/]8[0w>[] ITb'uKAH-I$k[+{+ФH-I+I$or~_u 9חtv_g> H R~I $Ht[\>@twt^)"QH-I$|u/]8[0w>[] IY=T>5I ˺^/ʟQmu 9$I9(RCXY~\ẋo> TNA$#HrE[] H<ܴTߛgd0㝭umqkmG7pҺ {IHSZ^/yc H0ꆺԟ6ϭHa uE OAjH[0w?w/T%t$?Cܑor~_{=W~BU=;ύ}m{k c:r|kh?ͭn1 OAjM\ˈ'uTH/XH^$/eOG8jP[ܒHrE} HpwNo𨠵'U`T'OBƐZI6^}q&Tb RxSR {IHH0êfWmwo}ly{#~\J-I$~"TuNkΆ.3!Vޣr~Y[Fs'hé SHq:%FѪ}ζ͙_[]U6kאcǏy` N/,?~XͳJ-I$~"ߑ# :ζ`[ܒHrE3FÎ a[]e}M2O6}/z#1"r6>\vf$H$I$BJ#1! =g {<ܸ2J 9$I9" L]#P6ԟCjϭ$A> d*́'dt^)!{8eQH-I[\8ΟU?v:'>Gc&WΒC'g>u q~h`9|~,Wmt)"'ܲ 9$I9(,ć:'>G]F2ep@~h4:v|+`LP\vf% I! I ^]Ij2Zm^Ф::Ԟr$ St^)"QH-I[\8GabB$Y(,ąH.; uI$BJBi0X8,qeD&P( &P( 7P3Z @0N1  rI rBt?Q߭~\x?|º 9$I9(,ĊTug-nFˮ'#0AqeIzI#= ,Ā[0wAqe{V`՟ODvf$(v.%R ,ĔI'ODvf$JuY+[\<@:5N3!D`K6ϭHu/x+kT\ʏo, a  []eҺ|<֠2IDGabB$Y)$$[ܱ_'h-I?w/m}TE'@Dxid8#j?[]U6 $^sQ|>m~ӜgUMG{:كuL#3k@ ?dmp8;匦}mu/]9+_[]e1abz"C'gfëeϏ A6,gBZcj ?:;D‚U6W WI ~חtv_Uh,Ć.; ~_g׎ΟU?$E;k—glǪϹDvNʦ4WAg$ !%eDY LR Sy* $* $Yq޷b/k >=ywKeRE/PZd&Ī'PZWȻ]_>S!U7C7Xꃬy[\89堸2JB@B+ed 'ڽ3kI2vZ~_$Fd >%tWI ߹(AjOa)sj|Wp9Qk; #1{; WAqe+Ձ^k>t^mt)' u)< )!@ RJTITIN1,WmwZӟ[]ywKeOB/.zԟRaK j RJ\מ{"A@A)=* NKޅ$^]T>)?/kͫ<Bחtv_$ζ`_>[] IY[] Hu>Z~_$WAު+{Ф˺^ʟ\#S¢QE 'ͳmp.z쿸Il4^mt),Е/ KAH-IַW,WI ZWAg$ !$I7z^sk.z]@twt^GabE/eOQ(\vf$5[]e+B8%K0&yAH.; ͭn0I$BHB+ed 'ڽ3kI Rz[Dcj ?:;Seq:}/zywKSjtTJ(|u/] s;ƟK߭&, {ĩyD AjO6¸b HP$Ԓ 9$I9 n#k|=ywKelBOI d~'eSl𡐨kڽ ppUMt?y$/]Z:#1!Aqer>vtʩU7<[#[^;f=UWOq~h`TƊ,A$ ; 3uɕy*^A` ?4A$A$1"N1,Wmqw.z3!Y ,ĒB+{Ф˺^'j/AjI\G"v_$ƾ }m!I-I*Tߛg} ޷bs9}msgDvf$61%trI rDcwX>u/ͳƟKޅ$FuC]QAjI\:O$kk; #1{; WAqe+Ձ^k>劒F_B'[ΘIQH-I?w,(LYH,A$ +~חtv_UhRE-I?w/ͳ6ϹF$R !mqsWAg$ !%eʞ3k}L8<ܴ* $YBHtReźW}mt)"S> d*Q|O]RBjqx(Zp yڳ~m/k-f{Yڽ읐H+2JKpHO>[] JS@H)< )!@ RJBHBHC3 Qn6Ld~_d@ ڈ(/s5N1  * $* $7푵yc)zTRE-I?w/u1Gxul+Iڎ{ˏgQq][]e:abI!G#0sWAg$ !%eJ% uf.; Y$HAI>ZW lN:tN|u6|ws'iqJ{#[]GǬB^?ʟL]e:abJZp7~F[0wl$m}HTITIqx`ಊ-ɕl@0 Q 6L( @ ?j 9փ  8 J 9$I9!: cΟU?$19?A (@~h7mxS,A$ ; 3kuɕyywKYP ?41(TITI L]#P6ԟCjϭ$FAjOQshtʩq:}/zywKSjtTJ(vw6_g a$/.z쿹:كiRcZ)A]fZͭn0-XB $A$A$$or~_u 9חtv_{~m4^)"0ê RJ}/~#1"3E  ,ĭ^ ])W,Wmt)"utMDAjOQeqAWtuQEqGab~WP\vf'Eqorz#1!@ ,ĔIGabB$YdAg$ !$ dmp82חtv_rB#^'ܿ L˺^(yߗ㳧ǾUO+5˺^/>uH\[\4L``g6_[\<@!Ą@t0I2W Wx?.zHUhRD`D`` Ss"h`μ,A$ ; ȫ7DqywKeι{zIzYBHBHtReźW}mt)"0u Rz[D"$(n+{Ф˺^ʟ\#S¢QE 'msg>_[ !ywKe9OB%xiNQLAJQ)< )!@ RJ$* $* $'{+xiϭt lItAjO)89%qywK߹m^GxP88PCt^)"$jtTJ(|u/]8[0w>[] I`:ڀ$Zmkq@b HP$Ԓ 9$I9 n#k|ϭGU_B#^'ܿ6"$(nlכe:+I2H[f}mq檡>{'h.; Y$HAq޷b/k.z쾪Wm^GxP88PC>"-ղ\~m4^)":ھ&Ī'PZQ$ ˺^ϭ#0[.|xxL  !I-IUMZp7It>FODAjI$Mmp.z쿹:كiRj. :%%xiNQ8hTQ& Ћ $ n0-XB $I$BHn[]ּ4^]}x{Ф˺^'jAjI\^]}mqs``p@PA OAjJl'O$!It>FODAjOg g^]sux{ФZCDa@H(ZmkqqorzI%trI rDB^]~m4^)"-Iھ&Ī'PZQ$ ˺^ϭGabz ,Ĉ Zp7{Ф˺^ʟ\#S¢QE $&Bחtv_l4^mt)'L66"{YR RyŽRB$ITITIqx`ಊ-ɕl@0Q 6L( `#~AA|s 0/ct``ZP$?Fc)[]ywKex}܀GxP88PC!I-Io>$U7zsj}/im^: 읞3!IL7?[W1qLmOgumqsRԐwz$l"$(9!&&X000A$A$2Hn>{m^a~_ ,1$I$BHB+ed 'ڽ3k; #^2I$(ܿD`` Seq:}/zywKSjtTJ(vw6_a$emp.z쿹:كiR`}  $ n0-XB $A$A$6|w,=ywKeW*}}m!I0u Rzq!+^A!&&X0003^]}UkIPZ~_g 1$*:C ׆ej1+mxS,A$ ; #^0!&xiϭv_1)abPI/.{Фb5i-I6~ ,Ĉר.; I ?w/}mq!@uT\NKޅ$^]T>)?/kͫ<I[\!l˺^/qζ`}/~+E>`\LZIַW,WI ZWAg$ !$I7zt(k/]WItAjO)76^%Q=Ԓ G"v_7|PBZ'ǾUOꩿ6or~$*9}msgDvf'uabJ,A$ 䁸lr>:=GyC ׆ej1_p5㳧ǾUOW΃]fwG._ ,$ԔrI rE\cm3=˝v_~`{+_Z'BHBHC3 Qn6Ldp/pXyeAF8g8 C h8, /ct` * $wwku-y8s+m,Wg~:=GqHeE]0I$BJ#1"u>^si4λ-abI!H$:}/z#%p9aDY[\ ~#ky2vW,W)"$7<+`_[]C e t^L7檡C 6rmb/kIPZ~Y\Qe&X003usdpϭځ$\\fCk >xL  U7ʽrpSG\~|jΘvAqF׎ΟU?Ÿ:< tuQEA[ܱ^$(AjI\I7I"FmCkgO| /}3 ?4WAg$ !%4,QE2[(c~͓(cpH@`?j 9փ$0/ctIg|4L``gF.lm,Wk}G& yp"$+& x{ !.v!&{'u=W "A1Ogu˝t}jlQL7檡O3}܀ ] I! I!4,QE2[(J1Aaɔ%P }C h8,@(_m88,pPI$ I-lsճkGJAg$ !$=ಊ,i%7M 02дƙ(-ɕ(՜<0/ ʀ8,0/@@ ( pI$ I-X$5$ws'i kȀ$g7DI66$0 g./usr/IBMVJava/html/enterp/en_US/ide/concepts/civajide.htmivj.$$ Overview of the VisualAge for Java IDE

    Overview of the VisualAge for Java IDE

    VisualAge for Java is an integrated, visual environment that supports the complete cycle of Java program development. You can create Java applets, which run in web browsers, and standalone Java applications.

    With VisualAge for Java, you can do the following tasks:

    • build Java programs interactively
    • run Java programs
    • run fragments of Java code before you include them in classes
    • debug Java programs, changing them as you run the code
    • manage multiple editions of Java code
    • import Java source and binary code from the file system
    • export Java source and binary code to the file system
    • build, modify, and use beans


    Incremental Compilation
    Unresolved Problems
    Development Without Files
    Projects and Other Program Elements
    Workspace
    Visual Composition
    Visual Programming Fundamentals

    q kOˀ$7HI66$* ./usr/IBMVJava/html/enterp/en_US/ide/concepts/cizapiov.htmivj.$$ Overview of the Tool Integrator API

    Overview of the Tool Integrator API

    Warning: Only experienced programmers should attempt to use the VisualAge for Java Tool Integrator API.  This API is ideally suited for use by ISVs.

    The VisualAge for Java Tool Integrator API provides a powerful Java class library for programmatically managing code and data from within the IDE. While a programmer can use the IDE SmartGuides, menus, and other user interface facilities to work with code, this API lets you manage the environment programmatically.

    The API provides methods to perform the following tasks:

    • browse the workspace and repository, and query objects
    • load editions from the repository into the workspace
    • import / export Java source, class files, and repository files
    • work with type (class/interface) source code
    • launch key IDE elements, such as various prompters and project/package/ type browsers
    • manipulate the CLASSPATH of an executing tool
    • access tool data

    Why would you use the Tool Integrator API? Consider this scenario: you are developing an application in VisualAge for Java that requires a high degree of interaction with the file system. You need to export your code to the file system to properly test it. Using the conventional IDE user interface, you would use the Export SmartGuide to deploy the class files. With the Tool Integrator API, you can write a tool that encapsulates all the user interface steps into a single class execution.

    Package Overview

    The API consists of a project called "IBM IDE Utility class libraries". When VisualAge for Java is installed, this project is only in the repository. You must add it to the workspace to work with the classes. The project contains two packages:

    • com.ibm.ivj.util.base - base workspace and repository access.
    • com.ibm.ivj.util.builders - code builders (direct source manipulation). This package contains an initial definition of builder support that is sufficient for code generators. In this case, the generators create an internal source code structure that is then saved in the IDE. Support is provided for preserving simple user changes (using structured comment blocks) across regeneration of the code.

    Usage Notes

    Code that uses the Tool Integrator API must be executed from within the IDE. There is no supported mechanism for getting to this API from outside the IDE, although tools that execute in a separate process can still make use of the API by writing a request handler that runs within the IDE. The request handler could be structured as a long-running tool extension. Examples include an RMI server or an http server with servlets that communicates with the external process through some private request/response protocol, calling the Tool Integrator API to handle the requests.

    When developing code in the IDE that uses the Tool Integrator API, ensure that the classpath properties for the class include "IBM IDE Utility local implementation" in the "Extra directories path" list. The classes can be found in <prod dir>\ide\project_resources\IBM IDE Utility local implementation. Once completed tool classes are deployed, the API classes are automatically included on the classpath of each executing tool action.

    The tools can store tool-specific data within VisualAge for Java. Any serializable Java object can be tool data.

    tool options
    tool data associated with a tool key. Data is unique to each user workspace.
    program element data
    tool data associated with a program element (project/package/class/interface) that resides in the workspace. Data is unique to each user workspace.
    shared data
    tool data associated with a program element. Data is stored in the repository, so it can be shared in a team environment.

    All three of these facilities are intended to be used to store relatively modest amounts of information. It is not intended to be used as a mass storage mechanism. Although the API does not impose any limits on data size, storing large data objects (especially shared data) can lead to performance degradation.

    Access to both the workspace and repository is provided at a granularity level of project, package, class, or interface. With the exception of basic code-builder support, no API is provided to manipulate individual methods. Common Java facilities, such as introspection, can be used to access information at the method level.

    To begin using the API, begin with the ToolEnv class, a bootstrap class used by a tool to gain access to the API services. ToolEnv.connectToWorkspace() returns a reference to a concrete implementation of the workspace. A repository is obtained from the workspace by calling one of the Workspace.getRepository() methods.

    The classes and API are split in terms of code relating to the workspace and elements relating to the repository. The workspace includes projects, packages and types that have been added from the repository. All such program elements have corresponding editions in the repository. Thus, an API object representing a workspace project/package/type is distinct from the API object representing its corresponding edition in the repository. The relationship a workspace object has with other workspace objects is different than with repository objects. In the workspace, a project can include many packages, while a package can only belong to one project. In the repository, a project edition can include many package editions, and a package edition can belong to many project editions.

    The repository can be directly queried for names of project and package editions. If a project or package name is supplied, the repository can also be queried for the corresponding list of the project or package editions.


    External Tool Integration
    External Class Integration


    Example: Using the Tool Integrator API to Associate Data with a Package


    Package com.ibm.ivj.util.base
    Package com.ibm.ivj.util.builders

     k~iπ$x756$`>x./usr/IBMVJava/html/enterp/en_US/ide/images/addbookmarkup.gifj.$$GIF89a"""333DDDUUUfffwww_????????_????ߟ????_????߿????_????????_????????__?_?_?_?_?_?_?_______________?________?______ߟ__?______߿__?________?________??_???????________?_?_ߟ?_߿?_?_??_???????________?_?_ߟ?_߿?ߟ_ߟߟߟߟߟߟ?_??_???????________?_?_ߟ?_߿?߿_߿߿߿߿߿𠠤,^ H*\Ȱ@{@dh{.*1B{p4rH WeJK|y",Mtaʝ5MЍdtÞO  k$Հ$z756$`L z./usr/IBMVJava/html/enterp/en_US/ide/images/btn_grphup.gififj.$$GIF89a"""333DDDUUUfffwww_????????_????ߟ????_????߿????_????????_????????__?_?_?_?_?_?_?_______________?________?______ߟ__?______߿__?________?________??_???????________?_?_ߟ?_߿?_?_??_???????________?_?_ߟ?_߿?ߟ_ߟߟߟߟߟߟ?_??_???????________?_?_ߟ?_߿?߿_߿߿߿߿߿𠠤,` Hǰ= (aM#E3FC ,h ISL;Ț!)"zӡPJ=s on d kb(ր$i756$`N i./usr/IBMVJava/html/enterp/en_US/ide/images/btn_listup.gififj.$$GIF89a"""333DDDUUUfffwww_????????_????ߟ????_????߿????_????????_????????__?_?_?_?_?_?_?_______________?________?______ߟ__?______߿__?________?________??_???????________?_?_ߟ?_߿?_?_??_???????________?_?_ߟ?_߿?ߟ_ߟߟߟߟߟߟ?_??_???????________?_?_ߟ?_߿?߿_߿߿߿߿߿𠠤,O H*\0="J@3jlCCVddžCDh^I'T)q˗cʄH3M9u 0 !)"z k<]׀$z756$`P z./usr/IBMVJava/html/enterp/en_US/ide/images/btn_treeup.gififj.$$GIF89a"""333DDDUUUfffwww_????????_????ߟ????_????߿????_????????_????????__?_?_?_?_?_?_?_______________?________?______ߟ__?______߿__?________?________??_???????________?_?_ߟ?_߿?_?_??_???????________?_?_ߟ?_߿?ߟ_ߟߟߟߟߟߟ?_??_???????________?_?_ߟ?_߿?߿_߿߿߿߿߿𠠤,` H[P@ #Jw=hܸ`dž#pD3rPȐ|Iq&D}LbL4cYœ-]>TΗPJs on d kV-G$756$`./usr/IBMVJava/html/enterp/en_US/ide/images/showignoreddown.gif$$GIF89a,@'!<` 4h/> )DH@HX0aBI4c%7.*9uN@@"Ep"EER(9AkɈK9$TJxhg̡@Ao]-KӲ)VZ),% 0)Itx>LPF0R4i!=.0d\^ gj憹, ,8hf@;th th k84d$}7 Bookmarking Program Elements

    Bookmarking Program Elements

    The Workbench lets you bookmark program elements, making it quick and easy to return to a frequently-used project, package, class, interface, or member within the Projects page.   You can bookmark up to nine program elements.

    Bookmarking a Program Element
    To bookmark a program element:

    1. In the Workbench, select the Projects page.
    2. Select the program element you want to bookmark.
    3. Select the bookmark button [Add Bookmark], located in the top right-hand corner of the All Projects pane.  A bookmark number appears next to the bookmark button. 

    If you hold the mouse pointer over a bookmark number, hover help will show the name of the program element associated with the number.

    Moving to a Bookmarked Program Element
    To move to a bookmarked program element, click on the corresponding bookmark number.  The All Projects pane will expand the tree view to show the program element, and the other panes will be populated with the appropriate information.

    Removing a Bookmark
    To remove a bookmark from a program element, click mouse button 2 on the corresponding bookmark number.  Select Remove from the pop-up menu.

     

    ent ke$7nL66$./usr/IBMVJava/html/enterp/en_US/ide/tasks/tibrwspk.htm$$ Browsing a Package

    Browsing a Package

    While using the Workbench, you are browsing the entire contents of the workspace.   If you want to work with only one package within the workspace, launch the Package browser for that package in one of the following ways:

    • Double-click on the desired package in the Packages page of the Workbench (unless you have set the double-click action to expand the tree view rather than to open a browser; this setting is made in the Options dialog). 
    • To open the Package browser to a specific page, select Open To in the package's pop-up menu, and then select the appropriate page option.
    • Select Open Package Browser from the Workspace menu in any IDE window.  Select the desired package from the list of packages in the workspace.

    The first two pages of the Package browser, Classes and Interfaces, behave the same way they do in the Workbench, but they contain only classes and interfaces contained in the selected package.  If you click on a class or interface, its source code is shown in the lower pane, and the Methods pane shows the methods contained within the selected type.  If you select a method, its source code is shown in the lower pane.

    Change the layout of the classes list on the Classes page by clicking the Tree Layout button btn_treeUp.gif (890 bytes) or the Graph Layout button btn_grphUp.gif (890 bytes).  Parent types that are not in the current package are indicated by a shadow symbol, like the following one for classes:classnotinpkg.gif (917 bytes).

    Browsing Package Editions in the Repository
    The Package browser has a page called Editions that lets you look into the repository to see the editions of the package stored there.  The Editions pane lists all the editions of the package that exist in the repository.  The edition currently loaded in the workspace is marked with an asterisk.  Change the layout of the list by clicking the List Layout button btn_listUp.gif (873 bytes) or the Graph Layout button btn_grphUp.gif (890 bytes).

    When you select one of the package editions, the Types pane shows all the editions of the classes and interfaces in that edition.  Select one of the types to see the methods in that type listed in the Methods pane.

    The lower pane displays the comment or source code information for each element as you select it.  However, because the Editions page looks at the repository, you cannot change the comment or source code within it.  To indicate this, all program element icons are gray rather than their usual colors.

    ngrelc.gif (533 bytes)
    Workspace
    Workbench and Browsers
    Projects and Other Program Elements

    ngrelc.gif (533 bytes)
    Browsing in the Workbench
    Browsing a Project
    Browsing a Type
    Moving between Windows
    Searching for a Program Element
    Setting IDE Options
    Finding and Fixing Problems

    ngrelc.gif (533 bytes)
    VisualAge for Java IDE Icons

    = kꔯf$7zoL66$ ./usr/IBMVJava/html/enterp/en_US/ide/tasks/tibrwspr.htm$$ Browsing a Project

    Browsing a Project

    While using the Workbench, you are browsing the entire contents of the workspace.   If you want to work with only one project within the workspace, launch the Project browser for that project in one of the following ways:

    • Double-click on the desired project in the Projects page of the Workbench (unless you have set the double-click action to expand the tree view rather than to open a browser; this setting is made in the Options dialog). 
    • To open the Project browser to a specific page, select Open To in the project's pop-up menu, and then the appropriate page option.
    • Select Open Project Browser from the Workspace menu in any IDE window.  Select the desired project from the list of projects in the workspace.

    The first three pages of the Project browser, Packages, Classes, and Interfaces, behave the same way they do in the Workbench, but they contain only those packages, classes, and interfaces that are  contained in the selected project.  If you select a program element, its comment or source code information is shown in the lower pane, and the next pane to the right shows the program elements contained within the selected element.

    Change the layout of the packages list on the Packages page by clicking the List Layout button btn_listUp.gif (873 bytes) or the Tree Layout button btn_treeUp.gif (890 bytes).  Change the layout of the classes list on the Classes page by clicking the Tree Layout button btn_treeUp.gif (890 bytes) or the Graph Layout button btn_grphUp.gif (890 bytes). Parent types that are not in the current project are indicated by a shadow symbol, like the following one for classes:classnotinpkg.gif (917 bytes).

    Browsing Project Editions in the Repository
    The Project browser has a page called Editions that lets you look into the repository to see the editions of the project stored there.  The Editions pane lists all the editions of the project that exist in the repository.  The edition currently in the workspace is marked with an asterisk.  Change the layout of the list by clicking the List Layout button btn_listUp.gif (873 bytes) or the Graph Layout button btn_grphUp.gif (890 bytes).

    When you select one of the project editions, the Packages pane shows all the editions of the packages in that edition.  Change the layout of this list by clicking the List Layout button btn_listUp.gif (873 bytes) or the Tree Layout button btn_treeUp.gif (890 bytes).  Continue selecting editions of program elements to populate the Type and Method panes.

    The lower pane displays the comment and source code information for each element as you select it.  However, because the Editions page looks at the repository, you cannot change the comment or source code within it.  To indicate this, all program element icons are gray rather than their usual colors.

    ngrelc.gif (533 bytes)
    Workspace
    Workbench and Browsers
    Projects and Other Program Elements

    ngrelc.gif (533 bytes)
    Browsing in the Workbench
    Browsing a Package
    Browsing a Type
    Moving between Windows
    Searching for a Program Element
    Setting IDE Options
    Finding and Fixing Problems

    ngrelc.gif (533 bytes)
    VisualAge for Java IDE Icons

    r k> g$7.pL66$./usr/IBMVJava/html/enterp/en_US/ide/tasks/tibrwstp.htm$$ Browsing a Class or Interface

    Browsing a Class or Interface

    A Class or Interface browser (also called a Type browser) lets you look at and work with a single class or interface.  Launch a Type browser in one of the following ways:

    • Double-click on the desired class or interface in the Workbench or a browser. 
    • To open the Type browser to a specific page, select Open To in the class or interface's pop-up menu, and then select the desired page.
    • Select Open Type Browser from the Workspace menu in any IDE window.  Enter a recognition pattern using the name of the class and wildcard characters to help shorten the list of classes shown.  Select the desired class from the list.

    A Class browser has five pages: Methods, Hierarchy, Editions, Visual Composition, BeanInfo.   An Interface browser has only the Methods and Editions pages.

    The Methods page lists all the methods in the type.  Select one to see its source code in the lower pane.

    The Hierarchy page shows the class hierarchy for the selected class.   Change the layout of the Class Hierarchy pane by clicking the Tree Layout button btn_treeUp.gif (890 bytes) or the Graph Layout button btn_grphUp.gif (890 bytes).   When you select a class in the Class Hierarchy pane, the Methods pane lists all the methods in the selected class.  The Source pane shows the source code for the selected class or method.

    Browsing Editions in the Repository
    Class and Interface browsers have a page called Editions that lets you look into the repository to see the editions of the class stored there.  The Editions pane lists all the editions of the class that exist in the repository.  The edition currently loaded in the workspace is marked with an asterisk.  Change the layout of the list by clicking the List Layout button btn_listUp.gif (873 bytes) or the Graph Layout button btn_grphUp.gif (890 bytes).

    When you select one of the editions, the Methods pane shows all the methods in that edition. 

    The lower pane displays the source code for each class, interface, or method you select.  However, because the Editions page looks at the repository, you cannot change the source code within it.  To indicate this, all program element icons are gray rather than their usual colors.  If the class was imported from a compiled .class file (or is one of the ones provided with the VisualAge for Java product), then source code is not available for editing.  These classes are indicated in the Workbench and other browser lists by the bytecode file symbol bytecode.gif (892 bytes).

    ngrelc.gif (533 bytes)
    Workspace
    Workbench and Browsers
    Projects and Other Program Elements
    The Visual Composition Editor
    Beans

    ngrelc.gif (533 bytes)
    Browsing in the Workbench
    Browsing a Project
    Browsing a Package
    Moving between Windows
    Searching for a Program Element
    Setting IDE Options
    Editing a Class Visually
    Creating a Bean

    ngrelc.gif (533 bytes)
    VisualAge for Java IDE Icons

     kRh$=7pL66$=./usr/IBMVJava/html/enterp/en_US/ide/tasks/tibrwswb.htm$$ Browsing in the Workbench

    Browsing in the Workbench

    The Workbench is the main window for looking at and working with your Java code.   From the Workbench, you can access all code in the workspace, create new program elements, resolve coding problems, and launch other browsers and tools.

    Viewing Program Elements
    The first four pages of the Workbench, Projects, Packages, Classes, and Interfaces, are for viewing and working with program elements in the workspace. The Projects and Packages pages show all program elements in the workspace, grouped either by project or by package, respectively.  The Classes and Interfaces pages show all classes or interfaces, respectively.

    In each of these pages, select the program element you want to work with in the upper set of panes, and its information is then shown in the lower pane.  If you have selected a project or a package, the lower pane shows the text comment for the element. You can edit the comment if you want.  If you have selected a class, interface, or method, the lower pane shows its Java source code, if it is available.  You can modify or add Java source code in the Source pane.

    Note: Your pages might be arranged vertically rather than horizontally, as described in most of the descriptions here.  In this case, the "upper" panes are on the left-hand side of the browser and the "lower" panes are on the right-hand side of the browser.  You can change the layout of the panes with the Orientation option in the Window menu.

    Changes you make to the contents of the lower pane are saved when you select another element or type Ctrl+S or Alt+S.   If you changed code, it is immediately compiled.  If you introduced an error, it is added to the All Problems page, and the error description is shown in the information line when the program element is selected.   The program element that contains the error is marked with a red X.

    The Packages, Classes, and Interfaces pages have multiple upper panes.  When you select a program element in a pane, the program elements it contains are shown in the pane to its right.

    Changing Pane Layouts
    You can change the layout of the list of packages in the All Packages pane on the Packages page by clicking buttons in the pane's title bar.   Select the List Layout button btn_listUp.gif (873 bytes) for an alphabetical list, or the Tree Layout button btn_treeUp.gif (890 bytes) for a hierarchical tree.

    You can change the layout of the list of classes in the Class Hierarchy pane of the Classes page by clicking buttons in the pane's title bar.   Select the Tree Layout button btn_treeUp.gif (890 bytes) for a hierarchical tree, or the Graph Layout button btn_grphUp.gif (890 bytes) for a hierarchical graph.

    Launching Other Browsers and Tools
    If you want to browse a particular program element separately from the other elements in the workspace, you can open a browser on that element.  The easiest way to open a browser on an element is to select Open from its pop-up menu. 

    All of the actions and tools that can be initiated or launched for a program element can be accessed through the element's pop-up menu in any Workbench pane.

    ngrelc.gif (533 bytes)
    Workspace
    Projects and Other Program Elements

    ngrelt.gif (466 bytes)
    Browsing a Project
    Browsing a Package
    Browsing a Class or Interface
    Moving between Windows
    Searching for a Program Element in the Workspace
    Setting IDE Options
    Finding and Fixing Problems

    ngrelr.gif (548 bytes)
    VisualAge for Java IDE Symbols

    pa k~n$7DI66$R./usr/IBMVJava/html/enterp/en_US/ide/tasks/ticomppe.htm$$ Comparing Two Program Elements

    Comparing Two Program Elements

    You can compare various combinations of program elements (projects, packages, classes, interfaces, and methods) that are in the workspace and in the repository. When you compare program elements, the results are displayed in a comparison results window.

    Comparing Program Elements That Are Both in the Workspace
    You can compare any two program elements in the workspace, provided they are the same program element type (that is, you can compare two projects, but not a project and a package).  To compare two program elements that are both in the workspace:

    1. Select one program element.
    2. Hold down the Ctrl key and select the other element.
    3. Select Compare With > Each other from the elements' pop-up menu.

    Comparing Program Element Editions with Editions In the Repository
    You can also compare the following combinations of program elements:

    • Two editions of the same project, package, class, interface, or method, one in the workspace, the other in the repository.
    • Two editions of the same project, package, class, interface, or method, both in the repository.
    • Two packages within the same project edition in the repository.
    • Two classes within the same package edition in the repository.
    • Two methods within the same class edition in the repository.

    See Comparing Editions of a Program Element for more information on working with the Comparison Results window when two editions have been compared.

    Working with Comparison Results

    Note:  The following information applies to comparing two program elements that are both in the workspace.  For information on comparing editions of the same element, see Comparing Editions of a Program Element.

    From the Comparison Results window, you can do the following tasks:

    • View the differences and step through them.
    • Ignore specific differences.
    • Show or hide ignored differences.
    • Modify program element source.
    • Replace parts of one element with parts of the other element.

    The Differences pane lists all the difference between the two program elements and their contained elements, in a tree view. Beside each program element is a description of what the difference is:  changed source code, changed comment, changed declaration, added element, or deleted element.  The element on the right is being compared to the element on the left, so "Added method" for example, means that the class on the right contains a method that the class on the left does not contain.

    Stepping through Differences
    When you select an item in the Differences list, the source for the two program elements that contain the difference is shown in the Source panes, with the difference highlighted.   To move to the next difference click the Next Difference button nextup.gif (875 bytes).  To return to the previous difference, click the Previous Difference button prevup.gif (868 bytes).

    Ignoring Differences
    There may be some differences you want excluded from the list of differences.   To have a difference ignored, select it and click the Ignore button ignore.gif (1004 bytes).  To show ignored differences, click the Show Ignored Items button so that it is in the down position showignoredDown.gif (1019 bytes).  Ignore differences will have parentheses around them in the Differences list.  To hide the ignored differences, click the Show Ignored Items button so that it is in the up position hideignoreddiffs.gif (1026 bytes).

    Modifying Program Element Source
    The Source panes in the Comparison Results window are the same as those elsewhere;  you can edit the code and save it.  There is code assist support (type Ctrl+Spacebar to get help with type and field names).  To save changes, select Save from the pane's pop-up menu.

    Merging the Contents of the Compared Elements
    You can change the source code of one of the program elements by merging into it the contents of the other program element, either by replacing a single difference in the code, or by replacing the entire program element.  The following menu actions help with merging differences:

    Menu Option What It Does
    Replace with Alternative (in Source pane pop-up menus) Select an item in the Differences list. If the difference is  changed source code or declaration, the corresponding code will be highlighted in each of the Source panes.   Then select this option in the Right-Hand Source pane pop-up menu to replace the the highlighted code with the highlighted code in the Left-Hand Source pane.   Alternatively, select this option in the Left-Hand Source pane pop-up menu to replace the highlighted code with the highlighted code in the Right-Hand Source pane.
    Load Left (in the Differences pane pop-up menu) Replaces the contents of the program element in the Right-Hand Source pane with the contents in the Left-Hand Source pane.  If there is no corresponding program element in the Left-Hand Source pane, then it deletes the program element in the Right-Hand Source pane.
    Load Right (in the Differences pane pop-up menu) Replaces the contents of the program element in the Left-Hand Source pane with the contents in the Right-Hand Source pane.  If there is no corresponding program element in the Right-Hand Source pane, then it deletes the program element in the Left-Hand source pane.

    These menu options are available only if the merge can be done.

    ngrelc.gif (533 bytes)
    Projects and Other Program Elements

    ngrelt.gif (466 bytes)
    Comparing Editions of a Program Element
    Merging Editions of a Class or Interface

    ngrelr.gif (548 bytes)
    Code Assist

    Loading External Classes Dynamically

    Loading External Classes Dynamically

    The VisualAge for Java IDE lets you run code that refers to classes that are external to the IDE (that is, they have not been imported to the workspace, but rather exist only on the file system).  These could be .class files or classes in a Jar or Zip file.   They could also be applets on an HTML page on a web server.  The classes will be loaded when the program that calls them runs.  Use the forName("Package.ClassName") method in java.lang.Class to load and link external classes at run time.

    To allow the workspace to compile and run code that uses external classes, you must specify the file system path to the external classes or the Jar or Zip file that contains them.  This setting is done in one of the following places:

    • The workspace class path - Select Options from the Window menu.   Click the Resources and Paths option.  Add to the path by clicking Edit.
    • The program's class path - Select Properties from the applet or application's pop-up menu.  Click the Class Path tab.  Enable the following checkboxes, as appropriate:
      • Include '.' (dot) in class path - Enabling this option includes the project's resource directory.
      • Projects path - Click Compute Now to determine classes in other projects that are referenced by this class.  Enable this option to include the project resources directories from these other projects in the class path.  Click Edit to add or remove other projects resource directories.  These directories, if saved to the repository, are stored as relative paths to the project codebase (see the Applet or Program page of the class Properties notebook).
      • Extra directories path - Enable this option to add more directories to the class path.  Click Edit to add or remove directories from the list.  These directories are stored in the repository as absolute paths, unless the directories you select are subdirectories of the project_resources directory, in which case they are saved relative to the project codebase.

      The Complete class path field shows all the directories in the class path for the program.  All external classes referenced in the code must be found on this path.

    tentergf.gif (577 bytes) Warning:   Class path settings for a program are saved in the repository if you enable the Save in repository (as default) checkbox in the Properties notebook.  However, the setting may include paths that are workstation-specific (local drives that might not exist on team-members workstations), or operating system-specific (file system notations are different on different systems).  Exercise caution when you click Defaults in the Properties notebook, because this resets the class path setting to what is saved as default in the repository; the resulting class path may be incompatible with your system.   Especially beware of paths in the Extra directories path field.

    Debugging External Classes
    The debugger settings include a class source path, in which you can set the path to source code for the external classes used by your application.  This allows you to step into methods in external classes when you debug.  Set the debug source path on the Debugging page of the Options dialog.

    ngrelc.gif (533 bytes)
    Development Without Files

    ngrelt.gif (466 bytes)
    Setting the Class Path
    Importing Files from the File System
    Setting IDE Options
    Setting Breakpoints in External Classes
    Setting Debugger Options

    the wor k>$ 7 Creating an Applet or Application

    Creating an Applet or Application

    The Create Applet SmartGuide makes creating applets and applications a simple, easy-to-follow process that does not involve writing a word of code.  Except where differences between applets and applications are specified, the term "applet" refers to both applets and applications.

    1. Select the package you want the applet to belong to.  This will set some defaults within the SmartGuide to make your work easier.
    2. To launch the SmartGuide, click the New Applet button newclassUp.gif (1045 bytes) on the toolbar of the Workbench or a browser.  Follow the instructions in the SmartGuide to create and customize the generated applet. 

    Example:  Generate an Example Applet

    tentergf.gif (577 bytes) In the team development environment, you must be a member of the package group in order to add an applet to an existing package. If you are creating the package at the same time as the applet, then you must own the project that contains the package.

    ngrelc.gif (533 bytes)
    Projects and Other Program Elements
    Visual Composition
    Team Development - Overview

    ngrelt.gif (466 bytes)
    Creating a Class
    Creating an Interface
    Adding Methods to a Type
    Adding Fields to a Type
    Running an Applet from the IDE
    Running an Application from the IDE
    Publishing Code

    Cli k)$ 7:I66$0 ./usr/IBMVJava/html/enterp/en_US/ide/tasks/tinewcls.htm$$ Creating a Class

    Creating a Class

    The Add Class SmartGuide makes creating classes a simple, easy-to-follow process that does not involve writing a word of code. 

    To create a new class:

    1. Before you launch the SmartGuide, select the package you want the class to belong to, and if applicable, the class within that package that the new class will extend.  This will set some defaults within the SmartGuide to make your work easier.
    2. To launch the SmartGuide, click the New Class button newclassUp.gif (1045 bytes) on the toolbar of the Workbench or a browser.  Follow the SmartGuide instructions to add the new class to the workspace.

    tentergf.gif (577 bytes) In the team development environment, you must be a member of the package group in order to add a class to an existing package. If you are creating the package at the same time as the class, then you must own the project that contains the package.

    ngrelc.gif (533 bytes)
    Projects and Other Program Elements
    Visual Composition
    Team Development - Overview

    ngrelt.gif (466 bytes)
    Browsing the Workspace
    Creating a Field
    Creating a Method
    Creating an Interface
    Creating an Applet or Application
    Composing Beans Visually

    r>  ks$7DI66$@./usr/IBMVJava/html/enterp/en_US/ide/tasks/tipgraph.htm$$ Printing the Graph View of a Class

    Printing the Graph View of a Class

    The graph view of a class provides an alternative way of looking at a class and its inheritance path. To print this view for a class:

    1. In the Classes page of the Workbench or a class browser, select the class whose graph you want to print.
    2. Click the Graph Layout button [Graph View] from the title bar of the Classes pane. The pane changes to show the graph view of the class.
    3. Select Document, Print Graph from the pop-up menu.
    4. Select the printer you want from the Printer Selection dialog box, and click OK. The graph is output to the printer.

    To change the default printer setting, select Print Setup from the File menu. Select the desired default printer and click Setup to change its settings. Click OK to make the selected printer the default.


    Printing Program Elements
    Printing Source Code and Other Text

    ngrelr.gif (548 bytes)
    ngaix.gif (1051 bytes)nghp_ux.gif (428 bytes)Printer Setup On AIX and UNIX

    wa k~$77:I66$7./usr/IBMVJava/html/enterp/en_US/ide/tasks/tiresfls.htm$$ Including Resource Files in a Project

    Including Resource Files in a Project

    When developing a program in Java, you sometimes need to use external resources that are not part of the language. For example, it is quite common to use images and audio clips in Java applets. VisualAge for Java does not store these external resources in the repository or workspace along with your Java source and byte codes. Instead you must create these resource files explicitly outside of the development environment and store them on the standard file system.

    VisualAge for Java makes certain assumptions about where resource files are located. For a project called ProjectX, it assumes that the resource files will be found in a directory called IBMVJava\Ide\project_resources\ProjectX on the client machine (where IBMVJava is the install directory for the product). All projects in the workspace have a subdirectory of the project_resources directory, even if no resources have been created for the project.

    Adding Resource Files to a Project
    When you create a resource file, import it with the Import SmartGuide.  This will copy the resource file into a project's resources directory.  From there, it will be accessible to classes in that project.

    Importing Packages the Have Resource Files
    If you import a group of files from the file system, any non-.java, non-.class files can be imported into the project resources directory.  In the Import SmartGuide, while importing files from the files system, enable the Resources option and click Details to select which resource files to import.

    Exporting Resources
    When you export a project to a JAR file, resource files are exported to the JAR file along with the classes.  Also, when you select the Publish export option, resource files can be exported along with the bytecode classes to the target directory.

    Running Applets and Applications that Use Resources
    When running an applet or application from within the IDE, the default CLASSPATH contains the project resources directory so that it can find any resource files that the program uses.

    When running an applet from within the IDE, the code base for the applet is specified as the name of the resource directory. The URL of this directory will be returned by the java.applet.Applet.getCodeBase() method.

    tentergf.gif (577 bytes) Shared Resource Files
    You can create a shared resources directory in addition to the local one, so that all team members use the same copy of the resource file.  See Sharing Resource Files for more information.

    When you run an applet in the IDE, it looks for resource files first in the default location on the local file system, and second in the shared resource directory, if one is specified.  When you export a resource files with classes, the local resource files are exported by default.  For example, if the project has a resource file called picture.gif that exists in both local and shared resource directories, then the local one is exported, regardless of the timestamps on the files.

    Java Methods that Get Resources
    Use the following methods, or others like them, to get resource files into your Java applets or applications:

    • java.lang.ClassLoader.getResource(String)  - Program can specify where to look for resource file
    • java.lang.Class.getResource(String) - Looks for resource file on the class path (then code base, if in an applet)
    • java.lang.ClassLoader.getSystemResource(String)  - Looks for resource file on the class path
    • java.applet.Applet.getAudioClip(URL) - Looks for audio file in the code base (applets only)
    • java.applet.Applet.getImage(URL)  - Looks for audio file in the code base (applets only)

    See the related reference links below for API documentation for these classes.

    Example
    Applet COM.ibm.ivj.examples.awttests.AwtBlueGreenGem in project IBM Java Examples uses the file terre.gif and accesses it using getImage("terre.gif"). The default class path that VisualAge for Java uses to look for the file includes the project_resources\IBM Java Examples directory.

    The default value for an applet's code base is the project_resources directory that corresponds to the applet's project.

    The default value for a program's class path is the project_resources directory that corresponds to the program's project. As well, VisualAge for Java includes program/lib and  program/lib/CLASSES.ZIP in the class path by default.

    ngrelt.gif (466 bytes)
    Sharing Resource Files
    Importing Files from the File System
    Exporting Code

     

    i kÁ$$7HI66$$./usr/IBMVJava/html/enterp/en_US/ide/tasks/tizapiex.htm$$ Example: Using the Tool Integrator API to Associate Data with a Package

    Example:  Using the Tool Integrator API to Associate Data with a Package

    Consider the following situation: you want to attach reminders to yourself about packages that you write in the IDE.  You can use the Tool Integrator API to write a tool that lets you input text, associate it with a package, and retrieve the text.

    This hypothetical tool, called TextReminder, can be launched against a package.  It presents a simple dialog with a text area for inputting your comments, and buttons for applying and canceling changes.

    When data is associated with a workspace object (in this example, a package), it must be uniquely identified by a key, which is a java.lang.String object.  This allows multiple tools to store information associated with the same workspace object.  For simplicity, we suggest you use the fully qualified tool name as the key.

    Note: Any data associated with an IDE object must implement the Serializable interface.  In this example, we use String, which does implement Serializable.

    The class for the tool does the following things:

    1. Takes the fully qualified name of the selected package as a parameter, -p packagename.
    2. Gets a workspace object by using the ToolEnv.connectToWorkspace() method.
    3. Retrieves the Package object for the given package name by using the Workspace.loadedPackageNamed() method.
    4. Checks to see if the package has a text comment associated with it by using the Package.testToolWorkspaceData() method, passing in the key "TextReminder".   This method returns a boolean indicating whether any data is associated with the package for this tool.
    5. If data does exist, retrieves it using the Package.getToolWorkspaceData() method, with the key as a parameter.  This returns a ToolData object.
    6. The ToolData object consists of the key and the text.  The tool extracts the text by using the ToolData.getData() method, which returns a Serializable object.  In this case, since we are storing and retrieving String objects, cast the returned object to a String.
    7. Outputs the String to the dialog.
    8. When changes have been made to the output text, the tool writes the text back to the ToolData object by using ToolData.setData().  Then it applies changes to the package object by using Package.setToolWorkspaceData().
    9. If you want remove any associated data (so that Package.testToolWorkspaceData() returns false), use Package.clearToolWorkspaceData().

    The resulting class might look like this:

    private static String key = "TextReminder";
    public static void main(String[] args) {
      boolean saveTheComment = true;
      boolean deleteTheComment = false;
      String pkgName = args[1];
      try {
        Workspace theWS = ToolEnv.connectToWorkspace();
        Package pkg = theWS.loadedPackageNamed(pkgName);
        ToolData toolData = null;
        String userComment = new String();
        if (pkg.testToolWorkspaceData(key)) { 
          toolData = pkg.getToolWorkspaceData(key);
          userComment = (String)toolData.getData();
        }
        else 
          toolData = new ToolData(key,userComment);
      // Code that allows the user to view/edit 
      // the comment omitted.
        if (saveTheComment) { // likely dependent on button click
          toolData.setData(userComment);
          pkg.setToolWorkspaceData(toolData);
        }
        else if (deleteTheComment) 	// likely dependent on button click
          pkg.clearToolWorkspaceData(key);
        // otherwise the user is not modifying the comment.
        }
     catch(Exception ex) { }
    }

    Preparation before Testing the Example

    To test the example in the IDE before deploying it, you need to ensure that the execution classpath in the IDE has been properly set up, and that an execution context is passed to main() during test execution.

    To set up the classpath:

    1. Open the Properties dialog on the class, and on the Class Path page, select the Project path checkbox and then press Compute Now.
    2. Select the Extra directories path checkbox and then select Edit. From the dialog, select Add Directory... and then select ide\project_resources\IBM IDE Utility local implementation.

    To set up a test invocation context, open the Properties dialog on the class, and on the Program page, enter the command-line arguments expected by the main() method. For example "-p my.package".


    Overview of the Tool Integrator API
    External Tool Integration
    External Class Integration


    Package com.ibm.ivj.util.base
    Package com.ibm.ivj.util.builders

    t;Te k0ˁ$S7nL66$S./usr/IBMVJava/html/enterp/en_US/ide/ui/uicledtn.htmtm$$ Editions Page (Class or Interface browser)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Editions Page

    The Editions page of the Class or Interface browser lists all editions of the class or interface you are browsing, along with the methods that each edition contains. From this page, you can browse the contents of this class or interface in the repository, and add program elements to the workspace, along with various other repository tasks.

    Since this page looks at the repository, you cannot edit source code for any of the program elements. 

    Editions Pane
    The Editions pane lists all editions of the class or interface in the repository, in either a graph layout or a list layout.  Click the Graph Layout button btn_listUp.gif (873 bytes) or the List Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  The editions that is currently in the workspace is indicated by an asterisk (*).  Each edition has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Editions menu.

    Methods Pane
    When you select a class or interface in the Editions pane, the Methods pane lists all methods in the selected type.  Each method has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Methods menu.

    Source Pane
    When you select a type edition or method, the Source pane shows the source code, if available.  Since you are viewing the contents of the repository, you cannot modify the source.

    Tool Bar Buttons

    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.

    Menus
    The Editions page has the following menus:

    ngrelt.gif (466 bytes)
    Searching for a Program Element in the Repository
    Browsing the Workspace
    Comparing Editions of a Program Element
    Adding Projects and Packages From the Repository to the Workspace
    Adding Types and Methods From the Repository to the Workspace
    Changing a Program Element's Owner
    Purging Program Elements from a Repository
    Restoring Program Elements to the Repository
    Compacting a Repository

    t="_t k<3́$7:oL66$./usr/IBMVJava/html/enterp/en_US/ide/ui/uiclhier.htmtm$$ Hierarchy Page (Class Browser)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Hierarchy Page

    The Hierarchy page in the Class browser shows the hierarchy of the class you are browsing, plus all the methods and source code for the class and its superclasses.   Here, you can organize, add, edit, create, and delete classes, methods, and fields.

    Class Hierarchy Pane
    The Class Hierarchy pane lists all the class you are browsing, plus its superclasses, in either a graph layout or a tree layout. Click the Graph Layout button btn_listUp.gif (873 bytes) or the Tree Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  Each of the classes in the package has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Classes menu.   Classes that have been imported from bytecode (.class) files, or that are part of the standard class libraries provided in the VisualAge for Java product, are indicated by the bytecode symbol bytecode.gif (892 bytes).

    Methods Pane
    When you select a class in the Class Hierarchy pane, the Methods pane lists all methods in the selected class.  Each method has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Methods menu.

    Source Pane
    When you select a class or method, the Source pane shows the source code, if available.  If a class has been imported from a Java bytecode file (.class), the source is not shown; if it is in one of the standard class libraries provided in the VisualAge for Java product, the source code is shown but is not editable.  These bytecode classes are indicated by the bytecode symbol bytecode.gif (892 bytes).

    In the Source pane, you can compose Java code normally.  To save the code, select Save from the Edit menu, or from the Source pane's pop-up menu.  Use code assist (type Ctrl+Spacebar) to get help with class, method, and field names.  When you save, the source is automatically compiled.  Compiler errors are brought to your attention.

    Tool Bar Buttons

    run.gif (1013 bytes) Run Runs an applet or application.  If a method in a runnable class is selected, the class is run.
    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.
    newclass.gif (1035 bytes) Create a Class Starts the Add Class SmartGuide, for creating new classes or adding existing ones from the repository.
    newapplet.gif (1034 bytes) Create an Applet Starts the Add Applet SmartGuide, for creating new applets or applications.
    newmethod.gif (1035 bytes) Create a Method Starts the Add Method SmartGuide, for creating new methods or adding existing ones from the repository.
    newfield.gif (1029 bytes) Create a Field Starts the Add Field SmartGuide, for creating new fields.
    showedname.gif (1011 bytes) Show Edition Names Click to the down position to show edition names beside program elements.

    Menus
    The Classes page has the following menus:

    ngrelt.gif (466 bytes)
    Browsing the Workspace
    Finding and Fixing Problems
    Running an Applet from the IDE
    Running an Application from the IDE
    Creating a Class
    Creating a Method
    Creating a Field
    Saving Changes to Code
    Setting IDE Options
    Writing and Formatting Source Code

    ngrelr.gif (548 bytes)
    Code Assist
    VisualAge for Java IDE Symbols

    Thes k@΁$7pL66$./usr/IBMVJava/html/enterp/en_US/ide/ui/uicompar.htmtm$$ Comparison Results Window
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Comparison Results Window

    This window shows a comparison between any two projects, packages, classes, or methods.   It can compare two editions of the same program element, or any two different program elements of the same type. You cannot compare, for example, a class to a package.  

    You can then make changes to one of the program elements based on the contents of the other.  For example, if you compare ClassA to ClassB, and ClassB has a method that ClassA does not, you can add that method to ClassA.

    Differences Pane
    The Differences pane summarizes the differences in the two program elements (or editions).  It lists each contained program element and indicates what the change is:   declaration changed; source code changed; contained element added; or contained element removed.

    Source Panes
    The Left-Hand and Right-Hand Source panes show the source code for the two compared program elements, and each contained program element.  Each time an element is selected in the Differences pane, the Source panes show the source code for the element, and the first difference in the source is highlighted.  Use the Next Difference button nextup.gif (875 bytes) and the Previous Difference button prevup.gif (868 bytes) to move to the next or previous difference in the source code.

    Comparison Toolbar Buttons

    The toolbar buttons that are unique to the Comparison Results window are the Ignore button and the Show Ignored Differences button.

    ignore.gif (1004 bytes) Click the Ignore button to ignore the selected difference.  If ignored differences are shown, then if the selected difference is an ignored difference, clicking this button removes the ignored status from the difference.
    hideignoreddiffs.gif (1026 bytes) When the Show Ignored Differences button is up, the Differences pane does not list ignored differences.
    showignoredDown.gif (1019 bytes) When the Show Ignored Differences button is down, the Differences pane lists the ignored differences, but puts their names in parentheses.

    Merging Differences
    The following menu options help you merge differences from one of the compared elements into the other:

    Menu Option What It Does
    Replace with Alternative (in Source pane pop-up menus) Select an item in the Differences list. If the difference is  changed source code or declaration, the corresponding code will be highlighted in each of the Source panes.   Then select this option in the Right-Hand Source pane pop-up menu to replace the the highlighted code with the highlighted code in the Left-Hand Source pane.   Alternatively, select this option in the Left-Hand Source pane pop-up menu to replace the highlighted code with the highlighted code in the Right-Hand Source pane.
    Load Left (in the Differences pane pop-up menu) Replaces the contents of the program element in the Right-Hand Source pane with the contents in the Left-Hand Source pane.  If there is no corresponding program element in the Left-Hand Source pane, then it deletes the program element in the Right-Hand Source pane.
    Load Right (in the Differences pane pop-up menu) Replaces the contents of the program element in the Left-Hand Source pane with the contents in the Right-Hand Source pane.  If there is no corresponding program element in the Right-Hand Source pane, then it deletes the program element in the Left-Hand source pane.

    These menu options are available only if the merge can be done.

    Menus
    The Comparison Results Window has the following menus:

    ngrelt.gif (466 bytes)
    Comparing Editions of a Program Element
    Merging Editions of a Class or Interface

     kYށ$7pL66$v./usr/IBMVJava/html/enterp/en_US/ide/ui/uimbedtn.htmtm$$ Editions Page (Method Browser)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Editions Page

    The Editions page of the Method browser lists all editions of the method you are browsing, along with the the source code for each edition. From this page, you can browse the source code of the method in the repository, and add program elements to the workspace, along with various other repository tasks.

    Since this page looks at the repository, you cannot edit source code for any of the method editions. 

    Editions Pane
    The Editions pane lists all editions of the method in the repository, in either a graph layout or a list layout.  Click the Graph Layout button btn_listUp.gif (873 bytes) or the List Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  The editions that is currently in the workspace is indicated by an asterisk (*).  Each edition has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Editions menu.

    Source Pane
    When you select a method edition, the Source pane shows the source code, if available.  Since you are viewing the contents of the repository, you cannot modify the source.

    Tool Bar Buttons

    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.

    Menus
    The Editions page has the following menus:

    ngrelt.gif (466 bytes)
    Searching for a Program Element in the Repository
    Browsing the Workspace
    Comparing Editions of a Program Element
    Adding Projects and Packages From the Repository to the Workspace
    Adding Types and Methods From the Repository to the Workspace
    Changing a Program Element's Owner
    Purging Program Elements from a Repository
    Restoring Program Elements to the Repository
    Compacting a Repository

    lign=" k$7pL66$./usr/IBMVJava/html/enterp/en_US/ide/ui/uipbclas.htmtm$$ Classes Page (Project Browser)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Classes Page

    The Classes page of the Project browser displays all classes and methods in the project, grouped by hierarchy of classes.  Here, you can organize, add, edit, create, and delete classes, methods, and fields.

    Class Hierarchy Pane
    The Class Hierarchy pane lists all classes in the project and shows their inheritance hierarchy, in either a graph layout or a tree layout. Click the Graph Layout button btn_listUp.gif (873 bytes) or the Tree Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  Each of the classes has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Classes menu.   Classes that have been imported from bytecode (.class) files, or that are part of the standard class libraries provided in the VisualAge for Java product, are indicated by the bytecode symbol bytecode.gif (892 bytes).

    Methods Pane
    When you select a class in the Class Hierarchy pane, the Methods pane lists all methods in the selected class.  Each method has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Methods menu.

    Source Pane
    When you select a class or method, the Source pane shows the source code, if available.  If a class has been imported from a Java bytecode file (.class), the source is not shown; if it is in one of the standard class libraries provided in the VisualAge for Java product, the source code is shown but is not editable.  These bytecode classes are indicated by the bytecode symbol bytecode.gif (892 bytes).

    In the Source pane, you can compose Java code normally.  To save the code, select Save from the Edit menu, or from the Source pane's pop-up menu.  Use code assist (type Ctrl+Spacebar) to get help with class, method, and field names.  When you save, the source is automatically compiled.  Compiler errors are brought to your attention.

    Tool Bar Buttons

    run.gif (1013 bytes) Run Runs an applet or application.  If a method in a runnable class is selected, the class is run.
    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.
    newclass.gif (1035 bytes) Create a Class Starts the Add Class SmartGuide, for creating new classes or adding existing ones from the repository.
    newapplet.gif (1034 bytes) Create an Applet Starts the Add Applet SmartGuide, for creating new applets or applications.
    newmethod.gif (1035 bytes) Create a Method Starts the Add Method SmartGuide, for creating new methods or adding existing ones from the repository.
    newfield.gif (1029 bytes) Create a Field Starts the Add Field SmartGuide, for creating new fields.
    showedname.gif (1011 bytes) Show Edition Names Click to the down position to show edition names beside program elements.

    Menus
    The Classes page has the following menus:

    ngrelt.gif (466 bytes)
    Browsing the Workspace
    Finding and Fixing Problems
    Running an Applet from the IDE
    Running an Application from the IDE
    Creating a Class
    Creating a Method
    Creating a Field
    Saving Changes to Code
    Setting IDE Options
    Writing and Formatting Source Code

    ngrelr.gif (548 bytes)
    Code Assist
    VisualAge for Java IDE Symbols

    " kR$7"nL66$./usr/IBMVJava/html/enterp/en_US/ide/ui/uipbedtn.htmtm$$ Editions Page (Project Browser)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Editions Page

    The Editions page of the Project browser lists all editions of the project you are browsing, along with the packages, types, and methods that each edition contains. From this page, you can browse the contents of this project in the repository, and add program elements to the workspace, along with various other repository tasks.

    Since this page looks at the repository, you cannot edit comment text or source code for any of the program elements. 

    Editions Pane
    The Editions pane lists all editions of the project in the repository, in either a graph layout or a list layout.  Click the Graph Layout button btn_listUp.gif (873 bytes) or the List Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  The editions that is currently in the workspace is indicated by an asterisk (*).  Each edition has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Editions menu.

    Packages Pane
    When you select a project edition in the Editions pane, the Packages pane lists all the packages in the selected edition, in either a list layout or a tree layout.   Click the List Layout button btn_listUp.gif (873 bytes) or the Tree Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  Each of the packages has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Packages menu.

    Types Pane
    When you select a package in the Packages pane, the Types pane lists all classes and interfaces in the selected package.  Each type has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Types menu.

    Methods Pane
    When you select a type in the Types pane, the Methods pane lists all methods in the selected type.  Each method has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Methods menu.

    Comment or Source Pane
    When you select a project edition or a package, the lower pane shows its comment text.  Since you are viewing the contents of the repository, you cannot edit the comment text.

    When you select a type or method, the Source pane shows the source code, if available.  Again, you cannot modify the source.

    Tool Bar Buttons

    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.

    Menus
    The Editions page has the following menus:

    ngrelt.gif (466 bytes)
    Searching for a Program Element in the Repository
    Browsing the Workspace
    Comparing Editions of a Program Element
    Adding Projects and Packages From the Repository to the Workspace
    Adding Types and Methods From the Repository to the Workspace
    Changing a Program Element's Owner
    Purging Program Elements from a Repository
    Restoring Program Elements to the Repository
    Compacting a Repository

    ;  kꄚ$ 7oL66$ ./usr/IBMVJava/html/enterp/en_US/ide/ui/uipbpack.htmtm$$ Packages Page (Project Browser)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Packages Page

    The Packages page in the Project browser displays all the packages, types, and methods in the project that you are browsing. 

    Packages Pane
    The Packages pane lists all packages in the project, either in a list layout or a tree layout.  Click the List Layout button btn_listUp.gif (873 bytes) or the Tree Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  Each of the packages has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Packages menu.

    Types Pane
    When you select a package in the Packages pane, the Types pane lists all classes and interfaces in the selected package.  Each type has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Types menu.

    Methods Pane
    When you select a type in the Types pane, the Methods pane lists all methods in the selected type.  Each method has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Methods menu.

    Comment or Source Pane
    When you select a package, the lower pane shows its comment text.  This text is not Java code, and you can edit it as regular flat text.

    When you select a class or method, the Source pane shows the source code, if available.  If a class has been imported from a Java bytecode file (.class), the source is not shown; if it is in one of the standard class libraries provided in the VisualAge for Java product, the source code is shown but is not editable.  These bytecode classes are indicated by the bytecode symbol bytecode.gif (892 bytes).

    In the Source pane, you can compose Java code normally.  To save the code, select Save from the Edit menu, or from the Source pane's pop-up menu.  Use code assist (type Ctrl+Spacebar) to get help with class, method, and field names.  When you save, the source is automatically compiled.  Compiler errors are brought to your attention.

    Tool Bar Buttons

    run.gif (1013 bytes) Run Runs an applet or application. If a package is selected, you can choose from a list of programs in the package (or if there is only one, it runs).   If a method in a runnable class is selected, the class is run.
    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.
    newpackage.gif (1031 bytes) Add a Package Starts the Add Package SmartGuide, for creating new packages or adding existing ones from the repository.
    newclass.gif (1035 bytes) Create a Class Starts the Add Class SmartGuide, for creating new classes or adding existing ones from the repository.
    newapplet.gif (1034 bytes) Create an Applet Starts the Add Applet SmartGuide, for creating new applets or applications.
    newinterface.gif (1024 bytes) Create an Interface Starts the Add Interface SmartGuide, for creating new interfaces or adding existing ones from the repository.
    newmethod.gif (1035 bytes) Create a Method Starts the Add Method SmartGuide, for creating new methods or adding existing ones from the repository.
    newfield.gif (1029 bytes) Create a Field Starts the Add Field SmartGuide, for creating new fields.
    showedname.gif (1011 bytes) Show Edition Names Click to the down position to show edition names beside program elements.

    Menus
    The Packages page has the following menus:

    ngrelt.gif (466 bytes)
    Browsing the Workspace
    Finding and Fixing Problems
    Running an Applet from the IDE
    Running an Application from the IDE
    Saving Changes to Code
    Setting IDE Options
    Writing and Formatting Source Code

    ngrelr.gif (548 bytes)
    Code Assist
    VisualAge for Java IDE Symbols

     k4$]7pL66$]./usr/IBMVJava/html/enterp/en_US/ide/ui/uipkclas.htmtm$$ Classes Page (Package Browser)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Classes Page

    The Classes page of the Package Browser lists all classes in the package you are browsing. Here, you can organize, add, edit, create, and delete classes, methods, and fields.

    Class Hierarchy Pane
    The Class Hierarchy pane lists all classes in the package and shows their inheritance hierarchy, in either a graph layout or a tree layout. Click the Graph Layout button btn_listUp.gif (873 bytes) or the Tree Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  Classes that are in the workspace, but not in the package are indicated by a gray symbol classnotinpkg.gif (917 bytes).  Each of the classes in the package has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Classes menu.   Classes that have been imported from bytecode (.class) files, or that are part of the standard class libraries provided in the VisualAge for Java product, are indicated by the bytecode symbol bytecode.gif (892 bytes).

    Methods Pane
    When you select a class in the Class Hierarchy pane, the Methods pane lists all methods in the selected class.  Each method has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Methods menu.

    Source Pane
    When you select a class or method, the Source pane shows the source code, if available.  If a class has been imported from a Java bytecode file (.class), the source is not shown; if it is in one of the standard class libraries provided in the VisualAge for Java product, the source code is shown but is not editable.  These bytecode classes are indicated by the bytecode symbol bytecode.gif (892 bytes).

    In the Source pane, you can compose Java code normally.  To save the code, select Save from the Edit menu, or from the Source pane's pop-up menu.  Use code assist (type Ctrl+Spacebar) to get help with class, method, and field names.  When you save, the source is automatically compiled.  Compiler errors are brought to your attention.

    Tool Bar Buttons

    run.gif (1013 bytes) Run Runs an applet or application.  If a method in a runnable class is selected, the class is run.
    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.
    newclass.gif (1035 bytes) Create a Class Starts the Add Class SmartGuide, for creating new classes or adding existing ones from the repository.
    newapplet.gif (1034 bytes) Create an Applet Starts the Add Applet SmartGuide, for creating new applets or applications.
    newmethod.gif (1035 bytes) Create a Method Starts the Add Method SmartGuide, for creating new methods or adding existing ones from the repository.
    newfield.gif (1029 bytes) Create a Field Starts the Add Field SmartGuide, for creating new fields.
    showedname.gif (1011 bytes) Show Edition Names Click to the down position to show edition names beside program elements.

    Menus
    The Classes page has the following menus:

    ngrelt.gif (466 bytes)
    Browsing the Workspace
    Finding and Fixing Problems
    Running an Applet from the IDE
    Running an Application from the IDE
    Creating a Class
    Creating a Method
    Creating a Field
    Saving Changes to Code
    Setting IDE Options
    Writing and Formatting Source Code

    ngrelr.gif (548 bytes)
    Code Assist
    VisualAge for Java IDE Symbols

    byt k>$7mL66$./usr/IBMVJava/html/enterp/en_US/ide/ui/uipkedtn.htmtm$$ Editions Page (Package Browser)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Editions Page

    The Editions page of the Package browser lists all editions of the package you are browsing, along with the types and methods that each edition contains. From this page, you can browse the contents of this package in the repository, and add program elements to the workspace, along with various other repository tasks.

    Since this page looks at the repository, you cannot edit comment text or source code for any of the program elements. 

    Editions Pane
    The Editions pane lists all editions of the package in the repository, in either a graph layout or a list layout.  Click the Graph Layout button btn_listUp.gif (873 bytes) or the List Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  The editions that is currently in the workspace is indicated by an asterisk (*).  Each edition has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Editions menu.

    Types Pane
    When you select a package edition in the Editions pane, the Types pane lists all classes and interfaces in the selected edition.  Each type has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Types menu.

    Methods Pane
    When you select a type in the Types pane, the Methods pane lists all methods in the selected type.  Each method has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Methods menu.

    Comment or Source Pane
    When you select a package edition, the lower pane shows its comment text.  Since you are viewing the contents of the repository, you cannot edit the comment text.

    When you select a type or method, the Source pane shows the source code, if available.  Again, you cannot modify the source.

    Tool Bar Buttons

    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.

    Menus
    The Editions page has the following menus:

    ngrelt.gif (466 bytes)
    Searching for a Program Element in the Repository
    Browsing the Workspace
    Comparing Editions of a Program Element
    Adding Projects and Packages From the Repository to the Workspace
    Adding Types and Methods From the Repository to the Workspace
    Changing a Program Element's Owner
    Purging Program Elements from a Repository
    Restoring Program Elements to the Repository
    Compacting a Repository

    se the  k '$7~oL66$ ./usr/IBMVJava/html/enterp/en_US/ide/ui/uiwbclas.htmtm$$ Classes Page (Workbench)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Classes Page

    The Classes page of the Workbench displays all classes and methods in the workspace, grouped by hierarchy of classes.  Here, you can organize, add, edit, create, and delete classes, methods, and fields.

    Class Hierarchy Pane
    The Class Hierarchy pane lists all classes in the workspace and shows their inheritance hierarchy, in either a graph layout or a tree layout. Click the Graph Layout button btn_listUp.gif (873 bytes) or the Tree Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  Each of the classes has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Classes menu.   Classes that have been imported from bytecode (.class) files, or that are part of the standard class libraries provided in the VisualAge for Java product, are indicated by the bytecode symbol bytecode.gif (892 bytes).

    Methods Pane
    When you select a class in the Class Hierarchy pane, the Methods pane lists all methods in the selected class.  Each method has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Methods menu.

    Source Pane
    When you select a class or method, the Source pane shows the source code, if available.  If a class has been imported from a Java bytecode file (.class), the source is not shown; if it is in one of the standard class libraries provided in the VisualAge for Java product, the source code is shown but is not editable.  These bytecode classes are indicated by the bytecode symbol bytecode.gif (892 bytes).

    In the Source pane, you can compose Java code normally.  To save the code, select Save from the Edit menu, or from the Source pane's pop-up menu.  Use code assist (type Ctrl+Spacebar) to get help with class, method, and field names.  When you save, the source is automatically compiled.  Compiler errors are brought to your attention.

    Tool Bar Buttons

    run.gif (1013 bytes) Run Runs an applet or application.  If a method in a runnable class is selected, the class is run.
    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.
    newclass.gif (1035 bytes) Create a Class Starts the Add Class SmartGuide, for creating new classes or adding existing ones from the repository.
    newapplet.gif (1034 bytes) Create an Applet Starts the Add Applet SmartGuide, for creating new applets or applications.
    newmethod.gif (1035 bytes) Create a Method Starts the Add Method SmartGuide, for creating new methods or adding existing ones from the repository.
    newfield.gif (1029 bytes) Create a Field Starts the Add Field SmartGuide, for creating new fields.
    showedname.gif (1011 bytes) Show Edition Names Click to the down position to show edition names beside program elements.

    Menus
    The Classes page has the following menus:

    ngrelt.gif (466 bytes)
    Browsing the Workspace
    Finding and Fixing Problems
    Running an Applet from the IDE
    Running an Application from the IDE
    Creating a Class
    Creating a Method
    Creating a Field
    Saving Changes to Code
    Setting IDE Options
    Writing and Formatting Source Code

    ngrelr.gif (548 bytes)
    Code Assist
    VisualAge for Java IDE Symbols

     k*$P7$nL66$/ P./usr/IBMVJava/html/enterp/en_US/ide/ui/uiwbpack.htmtm$$ Packages Page (Workbench)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Packages Page

    The Packages page of the Workbench displays all classes, interfaces, and methods in the workspace, grouped by package.  Here, you can organize, add, edit, create, and delete program elements (except for projects).

    All Packages Pane
    The All Packages pane lists all packages in the workspace in either a list layout or a tree layout.  Click the List Layout button btn_listUp.gif (873 bytes) or the Tree Layout btn_treeUp.gif (890 bytes) button in the title bar to change the layout.  Each of the packages has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Packages menu.

    Types Pane
    When you select a package in the All Packages pane, the Types pane lists all classes and interfaces in the selected package.  Each type has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Types menu.

    Methods Pane
    When you select a type in the Types pane, the Methods pane lists all methods in the selected type.  Each method has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Methods menu.

    Comment or Source Pane
    When you select a package, the lower pane shows its comment text.  This text is not Java code, and you can edit it as regular flat text.

    When you select a class or method, the Source pane shows the source code, if available.  If a class has been imported from a Java bytecode file (.class), the source is not shown; if it is in one of the standard class libraries provided in the VisualAge for Java product, the source code is shown but is not editable.  These bytecode classes are indicated by the bytecode symbol bytecode.gif (892 bytes).

    In the Source pane, you can compose Java code normally.  To save the code, select Save from the Edit menu, or from the Source pane's pop-up menu.  Use code assist (type Ctrl+Spacebar) to get help with class, method, and field names.  When you save, the source is automatically compiled.  Compiler errors are brought to your attention.

    Tool Bar Buttons

    run.gif (1013 bytes) Run Runs an applet or application. If a package is selected, you can choose from a list of programs in the package (or if there is only one, it runs).   If a method in a runnable class is selected, the class is run.
    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.
    newpackage.gif (1031 bytes) Add a Package Starts the Add Package SmartGuide, for creating new packages or adding existing ones from the repository.
    newclass.gif (1035 bytes) Create a Class Starts the Add Class SmartGuide, for creating new classes or adding existing ones from the repository.
    newapplet.gif (1034 bytes) Create an Applet Starts the Add Applet SmartGuide, for creating new applets or applications.
    newinterface.gif (1024 bytes) Create an Interface Starts the Add Interface SmartGuide, for creating new interfaces or adding existing ones from the repository.
    newmethod.gif (1035 bytes) Create a Method Starts the Add Method SmartGuide, for creating new methods or adding existing ones from the repository.
    newfield.gif (1029 bytes) Create a Field Starts the Add Field SmartGuide, for creating new fields.
    showedname.gif (1011 bytes) Show Edition Names Click to the down position to show edition names beside program elements.

    Menus
    The Packages page has the following menus:

    ngrelt.gif (466 bytes)
    Browsing the Workspace
    Finding and Fixing Problems
    Running an Applet from the IDE
    Running an Application from the IDE
    Saving Changes to Code
    Setting IDE Options
    Writing and Formatting Source Code

    ngrelr.gif (548 bytes)
    Code Assist
    VisualAge for Java IDE Symbols

     k0+$7nL66$@ ./usr/IBMVJava/html/enterp/en_US/ide/ui/uiwbproj.htmtm$$ Projects Page (Workbench)
    Search VisualAge for Java Information Go to Information Home Page Go to VisualAge for Java WWW Site

    Projects Page

    The Projects page of the Workbench displays every program element in the workspace, grouped by project. Here, you can organize, add, edit, import, create, and delete program elements.

    All Projects Pane
    The All Projects pane contains an expandable tree view of all program elements, grouped by project.  To expand a project, package, or type to view its contents, click the plus symbol plus.gif (837 bytes).   Each of the program elements has a pop-up menu, which contains actions you can perform on it.  These options are also available from the Selected menu.

    The All Projects pane title bar contains the Bookmark button addBookmarkUp.gif (888 bytes). Click it to set a bookmark on the currently-selected program element.  A bookmark number is then added to the title bar, and you can return to the program element at any time by simply clicking on the number.  If you hold your mouse pointer over the number, a pop-up label shows you the name of the bookmarked element.

    Comment or Source Pane
    When you select a project or package in the All Projects pane, the second pane shows the comment text.  This text is not Java code, and you can edit it as regular flat text.

    When you select a class or method in the All Projects pane, the second pane shows the source code, if available.  If a class has been imported from a Java bytecode file (.class), its source code is not shown; if it is in one of the standard class libraries provided in the VisualAge for Java product, its source code is shown, but is not editable.  These bytecode classes are indicated by the bytecode symbol bytecode.gif (892 bytes).

    In the Source pane, you can compose Java code normally.  To save the code, select Save from the Edit menu, or from the Source pane's pop-up menu.  Use code assist (type Ctrl+Spacebar) to get help with class, method, and field names.  When you save, the source is automatically compiled.  Compiler errors are brought to your attention.

    Tool Bar Buttons

    run.gif (1013 bytes) Run Runs an applet or application. If a project or package is selected, you can choose from a list of programs in the project or package (or if there is only one, it runs).   If a method in a runnable class is selected, the class is run.
    debugger.gif (1043 bytes) Open Debugger Opens the Debugger browser.
    search.gif (1033 bytes) Search Launches the program element search.
    newproject.gif (1033 bytes) Add a Project Starts the Add Project SmartGuide, for creating new projects or adding existing ones from the repository.
    newpackage.gif (1031 bytes) Add a Package Starts the Add Package SmartGuide, for creating new packages or adding existing ones from the repository.
    newclass.gif (1035 bytes) Create a Class Starts the Add Class SmartGuide, for creating new classes or adding existing ones from the repository.
    newapplet.gif (1034 bytes) Create an Applet Starts the Add Applet SmartGuide, for creating new applets or applications.
    newinterface.gif (1024 bytes) Create an Interface Starts the Add Interface SmartGuide, for creating new interfaces or adding existing ones from the repository.
    newmethod.gif (1035 bytes) Create a Method Starts the Add Method SmartGuide, for creating new methods or adding existing ones from the repository.
    newfield.gif (1029 bytes) Create a Field Starts the Add Field SmartGuide, for creating new fields.
    showedname.gif (1011 bytes) Show Edition Names Click to the down position to show edition names beside program elements in the All Projects pane.

    Menus
    The Projects page has the following menus:

    ngrelt.gif (466 bytes)
    Bookmarking Program Elements
    Browsing the Workspace
    Finding and Fixing Problems
    Running an Applet from the IDE
    Running an Application from the IDE
    Saving Changes to Code
    Setting IDE Options
    Writing and Formatting Source Code

    ngrelr.gif (548 bytes)
    Code Assist
    VisualAge for Java IDE Symbols

    n cho kN$j756$`>j./usr/IBMVJava/html/enterp/en_US/images/ngcacrar.giftm$$GIF89af3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3,@OH`TIX 8 ЊH1*R0ʼnNr!F ,B S%I*V1`0 ; Global Definitions

    Global Definitions

    The C++ Access Builder also maps C++ definitions that do not belong to a particular C++ class. It accomplishes mapping by introducing an additional Java representative class named Statics. This class serves as a container for any Java access methods that represent globally defined functions, variables, or nonmember operators. This mapping is similar to the mapping procedures described for class members. The only difference is that all Java access methods are defined as static. There is no need to instantiate the implicit container class Statics, so no constructor or finalize method is required.

    The signature mangling is only applied to nonmember operators since they can have polymorphic versions. The wrapper layer for these Java access methods forwards the calls to the nonmember definitions provided by the C++ definition files.

    The ability of the C++ Access Builder to map static definitions means that it can also generate interfacing code for normal C libraries. In this case, only one Java class is generated that maps the procedural C code to the object-oriented Java code.

    In the following example, assume that a definition file has the following global definitions:

            extern unsigned int j;
    
            extern int x;
    
            extern int getVal();
    
            void setVal(int y);
    
            char* ret_String(char* str1, int a, unsigned long b);
    
            extern int a1[];

    (Note that the functions are extern by default. When importing a set of definition files, you must ensure that there is only one instance of an extern variable. Otherwise, duplicate methods to get and set the variable will be generated, which will result in compile errors.)

    In Java, you can access the variables and methods as follows:

            // Access unsigned int j
            UINT ua = new UINT((long)25); // Note that casting to long is required.
            Statics.setj(ua);
            UINT ub = new UINT();
            ub = Statics.getj();
    
            // Access int x
            Statics.setx(30);
            Statics s = new Statics();   // Note that you do not have to create an instance.
            int i = s.getx();
    
            // Use methods getVal and setVal
            i = s.getVal();
            Statics.setVal(i);
    
            // Use method ret_String
            ULONG ul1 = new ULONG((long)30);
            PCHAR b_char = new PCHAR("Hello");
            PCHAR a_char = Statics.ret_String(b_char,(int) 5, ul1);
            String a_string = new String(a_char.value);
    
            // Access the elements of array int a[1]
            int index;
            for(index=0;index<5;index++) { Statics.seta1(index,3); } 
            for(index=0;index<5;index++) 
              { System.out.println("Value from int array index "+index+" is "+Statics.geta1(index)); } 

     

    ngrelc.gif (533 bytes)
    Constructors and Destructors
    Inheritance
    Methods
    Member Variables
    Operators
    Pointers
    References
    Unions and Enums
    Conversion Functions
    Type Conversion
    C++ Access Builder: Overview
    Classes Generated by the C++ Access Builder
    C++ Access Builder Limitations

    ngrelt.gif (466 bytes)
    Accessing C++ Services: Overview

    par kjYP$7PI66$l./usr/IBMVJava/html/enterp/en_US/j2cpp/concepts/cdjinher.htmif$$ Inheritance

    Inheritance

    Java does not allow multiple inheritance. The C++ Access Builder reproduces single-inheritance relationships between C++ classes on the Java side and their corresponding Java representative classes. If multiple inheritance is detected in the C++ class definitions, the program will issue a warning and will consider the first parent class encountered to be the only parent class.

    All generated Java representative classes are derived from a special root class called com.ibm.ivj.eab.j2cpp.__J2CPP_ . This class is predefined as part of the installation process of the C++ Access Builder. All generated Java representative classes inherit indirectly from their parent class according to the mapped C++ inheritance chains, or they inherit directly from the __J2CPP_ class.

    For example, if a C++ class definition file contains two classes, A and B, where B inherits from A, two corresponding Java classes named A and B would be generated:

            class A extends __J2CPP_ {
               ...
            }
    
            class B extends A {
               ...
            }

    In this corresponding Java example, the C++ class Circle inherits from the class Shape:

            class Shape {
            public:
               Shape();
               ~Shape();
    
               virtual void Move (int xdelta, int ydelta);
               virtual void Draw() const;
               virtual int Area() const;
               virtual void Title (char* title);
    
            private:
               int x_, y_;
               char title_[256];
            };
            class Circle : public Shape {
            public:
    
               Circle();
               Circle(int xorg, int yorg, int r);
               Circle(int r);
               Circle(const Circle& circ);
               ~Circle();
    
               void Move(int xdelta, int ydelta);
               void Draw() const;
               int Area() const;
    
            private:
    
               int x, y;
               int radius;
            };

    The following example shows how you would access the C++ class Circle in Java:

            Shape myCircle = new Circle(5, 5, 8);
            myCircle.Title("My Circle:");
            myCircle.Draw();
            int myArea = myCircle.Area();
    or
            Circle myCircleb = new Circle(15);
            myArea = myCircleb.Area()

     

    ngrelc.gif (533 bytes)
    Constructors and destructors
    Methods
    Member variables
    Operators
    Global definitions
    Pointers
    References
    Unions and enums
    Conversion functions
    Type conversion
    C++ Access Builder: Overview
    Classes Generated by the C++ Access Builder
    C++ Access Builder Limitations

    ngrelt.gif (466 bytes)
    Accessing C++ Services: Overview

     k$ 7PI66$0 ./usr/IBMVJava/html/enterp/en_US/j2cpp/concepts/cdjmethd.htmif$$ Methods

    Methods

    The generated Java class contains all the public methods found in the C++ object. The method in the Java class calls a corresponding native method in the C++ wrapper. The native method then forwards the call to the method on the matching C++ object.

    Static C++ methods are mapped to static methods in Java. This also means that the containing class does not need to be instantiated in order to call a static method.

    In the following example, assume that a class named A contains two methods:

            static void M(int);
                   void M(char *);

    In Java, you can access these two methods as follows:

            A x = new A();
            A.M(50);
            PCHAR y = new PCHAR("Hello");
            x.M(y);

    Note that for the static method void M(int), the generated code in the wrapper function does not require an instance of class A to be created in advance.

     

    ngrelc.gif (533 bytes)
    Constructors and destructors
    Inheritance
    Member variables
    Operators
    Global definitions
    Pointers
    References
    Unions and enums
    Conversion functions
    Type conversion
    C++ Access Builder: Overview
    Classes Generated by the C++ Access Builder
    C++ Access Builder Limitations

    ngrelt.gif (466 bytes)
    Accessing C++ Services: Overview

    e  k$D(7PI66$D(./usr/IBMVJava/html/enterp/en_US/j2cpp/concepts/cdjopert.htmif$$ Operators

    Operators

    Operator Overloading
    In C++, the following operators cannot be overloaded:

    • The scope resolution operator (::)
    • The pointer to member operator (.* )
    • The class member access operator (.)
    • The conditional expression operator (?:)

    Aside from the above operators, the C++ Access Builder maps all publicly defined member definitions of overloaded C++ operators to Java methods which have a special name. The notation capabilities, such as infix or postfix notation, of the particular operator are lost, but the operator definitions remain accessible through access methods. The names of the operator access methods contained in the Java representative class are created using the following naming conventions:

            <C++ type> operator <sign> (<C++ signature>)
    to 
            <Java type> Operator_<mapped sign> (<Java signature>)

    The program maps C++ operator signs to special names in Java which become part of the access method name. It distinguishes between postfix and prefix versions of the increment and decrement operators are distinguished. The following table shows the mapping of C++ operator signs to their corresponding Java names:

    C++ Operator Java Representation C++ Operator Java Representation
    + PLUS != NEQ
    - MINUS && AND
    * MULT || OR
    * PTR << SHL
    / DIV >> SHR
    % MOD -= MINUSASSIGN
    ^ BXOR /= DIVASSIGN
    & BAND %= MODASSIGN
    & ADR += PLUSASSIGN
    | BOR ^= BXORASSIGN
    ~ BNOT &= BANDASSIGN
    ! NOT |= BORASSIGN
    , COMMA *= MULTASSIGN
    = ASSIGN <<= SHLASSIGN
    < LT >>= SHRASSIGN
    > GT [ ] INDEX
    <= LE ( ) FUNCCALL
    >= GE == EQ
    ++ POSTINCR -- POSTDECR
    ++ PREINCR -- PREDECR

    C++ Access Builder uses the signatures of the C++ operator definitions to generate appropriate C++ wrapper code. It recognizes six classes of C++ operators are by their names and signatures:

    • N-ary operators: the function call operator ()
    • Binary operators: +, -, *, /, %, ^, &, |, comma(,), /, =, <, >, <=, >=, =, ==, !=, &&, ||, >>, +=, >>, -=, /= , %=, ^=, &=, |=, *=, >>=, <<=
    • Unary prefix operators: +, -, *, &, ~, !, the prefix increment operator ++, and the prefix decrement operator --
    • Unary postfix operators: the postfix increment operator ++ and the postfix decrement operator --
    • The index operator []
    • The new operator

    For example, consider the following C++ definition:

         class cClass {
         public:
            cClass(int i);
            cClass operator+ (cClass i);            // member operator
            friend cClass operator- (cClass a, cClass b);
         private:
            int x;
         }
    
         cClass operator- (cClass a, cClass b);     // non member operator

    In Java, you would access it as follows:

         cClass x = new cClass(0);
         cClass y = new cClass(10);
         cClass z = new cClass(20);
         x = y.Operator_PLUS(z);             // member operator
    
         x = Statics.Operator_PLUS(y,z);     // non member operator
    

    Note that the nonmember operator is placed in a class called Statics, along with all global variables, methods, and operators. To use the nonmember operator, you do not need to create an instance of Statics, because the nonmember operator is global and not part of any C++ class. You can find additional information about globals in the topic Global Definitions.

    Operator new
    The only operator that does not conform to the usual mapping scheme is the operator new. If the operator new is overloaded and requires additional parameters other than the mandatory parameter of type size_t, which contains the size of the memory buffer to be allocated, the additional placement parameters must be passed whenever new is used to create a class instance. Once the memory for the class object is allocated, the class constructor is called according to the constructor version specified after new. The general C++ syntax is:

         new [(<placement parameters>)] <class name>([<constructor parameters>])

    The placement parameters must be omitted if a version of new is to be used that only requires the size parameter. An arbitrary number of definitions for the operator new can be specified as long as each definition has a unique signature.

    The C++ Access Builder combines the C++ class constructors with the operator new in a set of Java constructors. The parameters of these constructors are used to pass both the placement parameters and the constructor parameters. For this purpose, an additional class named com.ibm.ivj.eab.j2cpp.__PlacementDelimiter_ is introduced. This class serves as a delimiter between the placement parameters and the constructor parameters. This delimiter is necessary since there might be combinations in which this distinction is not always possible. This implies that for n C++ constructors and m new operator definitions, m*n Java constructors are generated.

    Note that you must include stddef.h in your definition file if you are using any variables or methods which use the type size_t.

    The following example shows a C++ class that provides two constructor versions and two versions of the operator new:

            A()
            A(int, int)
            void *operator new(size_t);
            void *operator new(size_t, int, int);

    In Java, you can invoke the constructors as follows:

            // Use the first new operator
            A a = new A();
            A b = new A(1,2);
    
            // Use the second new operator using '3' and '4' as
            // the placement parameters
            A c = new A(3,4,(__PlacementDelimiter_)NULL);
            A d = new A(3,4,(__PlacementDelimiter_)NULL,1,2);

    Operator delete
    The delete operator can be overloaded only by using void * as the first argument and size_t as an optional second argument. Regardless of the actual signature, the delete operator is always used in the normal manner, as in delete <pointer>. It is called by the generated Java finalize routines, which are bound to the Java garbage collector. This means that the C++ wrapper layer uses the delete operator transparently in the same way, whether it is overloaded or not. If there is a definition of the delete operator for the class of the object to be deleted, its implementation is called rather than the default implementation ::delete.

    Member Selection Operators
    The C++ Access Builder ignores the member selection operators -> and ->*. The operator -> (member selection) and ->* (pointer to member selection) cannot be mapped to Java because of their special semantics.

     

    ngrelc.gif (533 bytes)
    Constructors and Destructors
    Inheritance
    Methods
    Member Variables
    Global Definitions
    Pointers
    References
    Unions and Enums
    Conversion Functions
    Type Conversion
    C++ Access Builder: Overview
    Classes Generated by the C++ Access Builder
    C++ Access Builder Limitations

    ngrelt.gif (466 bytes)
    Accessing C++ Services: Overview

    to t k$j'7PI66$j'./usr/IBMVJava/html/enterp/en_US/j2cpp/concepts/cdjtypec.htmif$$ Type Conversion

    Type Conversion

    To understand the type conversion rules applied by the C++ Access Builder, you need to distinguish among five different cases:

    • C++ types that have a direct representation in Java (These are primitive types such as char, int, and one-dimensional arrays of primitive types.)

    • C++ types for which no direct mapping exists, such as unions or pointers to unknown structures or classes (These types are represented opaquely in Java as type int (their address)).

    • C++ objects, and references to C++ objects, which are known to the C++ Access Builder but have no direct representation in Java (These types, such as unsigned int and signed char, get mapped to a Java representative class.)

    • C++ objects, and references to C++ objects, which are not known to the C++ Access Builder and must be accessed through their opaque representation in Java.

    • Pointers to C++ objects (If the C++ object is known to the C++ Access Builder, then the PointerToCLASS_<name> Java object can access the public data members and methods of the C++ object. If the C++ object is not known to the C++ Access Builder, the C++ object is represented opaquely in the Java object.)

    The following table shows how the C++ Access Builder maps C++ types from Java types.

    C++ Type Java Type C++ Type Java Type
    Simple Types Corresponding Type References Corresponding Type
    char char &char class RCHAR
    short short &unsigned char class RUCHAR
    int int &signed char class RSCHAR
    long long &unsigned short class RUSHORT
    float float &short class RSHORT
    double double &unsigned int class RUINT
    void void &int class RINT
    Transparent Types Corresponding Type &unsigned long class RULONG
    wchar_t class WCHAR &long class RLONG
    unsigned short class USHORT &wchar_t class RWCHAR
    unsigned char class UCHAR &float class RFLOAT
    signed char class SCHAR &double class RDOUBLE
    unsigned int class UINT reference to known class n class n
    unsigned long class ULONG reference to unknown class n class ReferenceToCLASS_n
    Composite Types Corresponding Type Arrays Corresponding Type
    known struct n class n wchar_t[] WCHAR[]
    unknown struct n class STRUCT_n char[] char[]
    known class n class n signed char[] SCHAR[]
    unknown class n class CLASS_n unsigned char[] UCHAR[]
    union n class UNION _n short[] short[]
    In a class. enum n class ENUM_<class name>__n unsigned short[] USHORT[]
    Not in a class. enum n class ENUM_n int[] int[]
    Pointers Corresponding Type unsigned int[] UINT[]
    wchar_t* class PWCHAR long[] long[]
    char * class PCHAR unsigned long[] ULONG[]
    unsigned char * class PUCHAR float[] float[]
    signed char * class PSCHAR double[] double[]
    unsigned short * class PUSHORT class n[] class n[]
    short * class PSHORT Two-Dimensional Arrays Corresponding Type
    unsigned int * class PUINT C++ simple_type[ ][ ] Java_simple_type[ ][ ]
    int * class PINT C++ transparent_type[][] Java_representative_ class[][]
    unsigned long * class PULONG C++ composite_type[][] Java_corresponding_ type[][]
    long * class PLONG
    float * class PFLOAT
    double * class PDOUBLE
    class *n class PointerToCLASS_n

     

    ngrelc.gif (533 bytes)
    Constructors and destructors
    Inheritance
    Methods
    Member variables
    Operators
    Global definitions
    Pointers
    References
    Unions and enums
    Conversion functions

    C++ Access Builder: Overview
    Classes Generated by the C++ Access Builder
    C++ Access Builder Limitations

    ngrelt.gif (466 bytes)
    Accessing C++ Services: Overview

     kpɘ$756$A./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/allclasses.htmlmif$$ Class com.ibm.ivj.eab.j2cppaccess.__Finalizer_

    Class com.ibm.ivj.eab.j2cppaccess.__Finalizer_

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__Finalizer_
    

    public class __Finalizer_
    extends Object

    The parent class for classes representing opaque types. All classes which represent non-importable C++ types inherit from this class. This class declares the native finalize() method which is called before the Java garbage collector deletes the instance of the opaque class.


    Constructor Index

    __Finalizer_()

    Method Index

    finalize()
    fixFloat()
    Fix the float problem.

    Constructors

    __Finalizer_
     public __Finalizer_()
    

    Methods

    finalize
     public native void finalize()
    
    Overrides:
    finalize in class Object
    fixFloat
     protected static native void fixFloat()
    
    Fix the float problem.


     kΘ$j756$`j./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.__finalizer__mi.html.ht$$ Class com.ibm.ivj.eab.j2cppaccess.__J2CPP_

    Class com.ibm.ivj.eab.j2cppaccess.__J2CPP_

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
    

    public class __J2CPP_
    extends Object

    The root class definition for J2C++. All Java representative classes inherit either directly from this class (if the corresponding C++ class does not have a parent class), or indirectly through another Java representative (corresponding to the C++ parent class).


    Variable Index

    delete_c_object
    The switch indicating whether the corresponding C++ object is to be deleted if the Java object is "finalized".
    enc
    The codepage encoding for the current machine.
    handle
    For each Java instance, the handle member variable contains the address of the corresponding C++ object.
    loc
    The locale of the current machine
    UNDT_LENGTH
    _null_constructor_
    The static variable to be passed in null constructor calls.

    Constructor Index

    __J2CPP_(__NullConstructor_)

    The null constructor.


    Method Index

    delete()
    Deletes the C++ object mapped to this Java object.
    DisableCDestructor()
    Decouples the C++ destructor from the Java garbage collector so that the C++ object survives if its Java representative is deleted.
    EnableCDestructor()
    Couples the finalize method of the Java representative object with the C++ delete operator so that if the Java garbage collector deletes the Java object, the C++ object is deleted as well.
    fixFloat()
    Fix the float problem.
    isNULL()
    Returns true if the pointer to the C++ object mapped to this object is NULL.

    Variables

    UNDT_LENGTH
     public static int UNDT_LENGTH
    
    handle
     protected int handle
    
    For each Java instance, the handle member variable contains the address of the corresponding C++ object.

    delete_c_object
     protected boolean delete_c_object
    
    The switch indicating whether the corresponding C++ object is to be deleted if the Java object is "finalized". Default: True

    _null_constructor_
     protected static __NullConstructor_ _null_constructor_
    
    The static variable to be passed in null constructor calls.

    enc
     protected String enc
    
    The codepage encoding for the current machine.

    loc
     protected Locale loc
    
    The locale of the current machine


    Constructors

    __J2CPP_
     protected __J2CPP_(__NullConstructor_ _null_constructor_)
    

    The null constructor. Only the "real" constructors of a class are called if the class is directly instantiated. The inheritance chain up to class __J2CPP_ on the Java side is created using the automatically generated null constructors for all Java parent classes. Since these null constructors are the only constructors which are not associated with any C++ constructor, this guarantees that exactly one C++ object for each Java class is generated.

    Parameters:
    _null_constructor_ - Used to distinguish between this constructor and any other "real" constructor generated from a C++ constructor.


    Methods

    EnableCDestructor
     public void EnableCDestructor()
    
    Couples the finalize method of the Java representative object with the C++ delete operator so that if the Java garbage collector deletes the Java object, the C++ object is deleted as well.

    DisableCDestructor
     public void DisableCDestructor()
    
    Decouples the C++ destructor from the Java garbage collector so that the C++ object survives if its Java representative is deleted.

    isNULL
     public native boolean isNULL()
    
    Returns true if the pointer to the C++ object mapped to this object is NULL. Otherwise false is returned. This call is appropriate when this object represents a pointer to a C++ object. In all other cases false will be returned.

    delete
     public native void delete()
    
    Deletes the C++ object mapped to this Java object.

    fixFloat
     protected static native void fixFloat()
    
    Fix the float problem.


    s  kј${756$@${./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.__j2cpp__mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.__NullConstructor_

    Class com.ibm.ivj.eab.j2cppaccess.__NullConstructor_

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__NullConstructor_
    

    public class __NullConstructor_
    extends Object

    An auxillary class. This class is used as an argument for J2C++ null constructors. This ensures a unique constructor is generated which does not result from a constructor found in the corresponding C++ class.


    Constructor Index

    __NullConstructor_()

    Constructors

    __NullConstructor_
     public __NullConstructor_()
    

     k Ԙ$756$p@./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.__nullconstructor__mi.htmlml$$ Class com.ibm.ivj.eab.j2cppaccess.__OpFix_

    Class com.ibm.ivj.eab.j2cppaccess.__OpFix_

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__OpFix_
    

    public class __OpFix_
    extends Object

    The parent class for classes representing pointers and references to opaque types. All classes which represent pointers or references to non-importable C++ types inherit from this class.


    Constructor Index

    __OpFix_()

    Method Index

    fixFloat()
    Fix the float problem.

    Constructors

    __OpFix_
     public __OpFix_()
    

    Methods

    fixFloat
     protected static native void fixFloat()
    
    Fix the float problem.


    objec kט$756$p./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.__opfix__mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.__PlacementDelimiter_

    Class com.ibm.ivj.eab.j2cppaccess.__PlacementDelimiter_

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__PlacementDelimiter_
    

    public class __PlacementDelimiter_
    extends Object

    An auxillary class. This class is used as an argument for calls of Java constructors generated from classes that overload the "new" operator. If redefinitions of operator new are found that require additional placement parameters, the class _PlacementDelimiter_ is used to distinguish placement parameters from constructor parameters in a mapped C++ constructor call. In Java, constructors of the following form are generated for each combination of a polymorphic new operator definition and polymorphic constructor version:

    C++: new (<placement parameters>) <class name> (<constructor parameters>);

    Java: <class name> (<placement parameters>, (__PlacementDelimiter_)0, <constructor parameters>);


    Constructor Index

    __PlacementDelimiter_()

    Constructors

    __PlacementDelimiter_
     public __PlacementDelimiter_()
    

     kژ$756$p=./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.__placementdelimiter__mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.IVJCppResource

    Class com.ibm.ivj.eab.j2cppaccess.IVJCppResource

    java.lang.Object
       |
       +----java.util.ResourceBundle
               |
               +----java.util.ListResourceBundle
                       |
                       +----com.ibm.ivj.eab.j2cppaccess.IVJCppResource
    

    public class IVJCppResource
    extends ListResourceBundle

    A class implementing mapping from string keys to localized error messages.


    Constructor Index

    IVJCppResource()

    Method Index

    getContents()
    This method returns an array of pairs where the first element is a String key and the second is localized error message, also String.

    Constructors

    IVJCppResource
     public IVJCppResource()
    

    Methods

    getContents
     public Object[][] getContents()
    
    This method returns an array of pairs where the first element is a String key and the second is localized error message, also String.

    Returns:
    Object[][] two dimensional array
    Overrides:
    getContents in class ListResourceBundle

     kݘ$756$`+./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.ivjcppresource_mi.html.$$ Class com.ibm.ivj.eab.j2cppaccess.IVJCppResourceHandler

    Class com.ibm.ivj.eab.j2cppaccess.IVJCppResourceHandler

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.IVJCppResourceHandler
    

    public class IVJCppResourceHandler
    extends Object


    Constructor Index

    IVJCppResourceHandler(Locale)

    Method Index

    getDftMessage(String, String, Exception)
    A utility method to create a default exception message for construction of specialized exception objects.
    getMessage(String)
    getMessage(String, Object[])
    getMessage(String, String)
    getMessage(String, String, String)
    getMessage(String, String, String, String)
    main(String[])

    Constructors

    IVJCppResourceHandler
     public IVJCppResourceHandler(Locale loc)
    

    Methods

    getMessage
     public String getMessage(String key)
    
    getMessage
     public String getMessage(String key,
                              Object arg[])
    
    getMessage
     public String getMessage(String key,
                              String arg1)
    
    getMessage
     public String getMessage(String key,
                              String arg1,
                              String arg2)
    
    getMessage
     public String getMessage(String key,
                              String arg1,
                              String arg2,
                              String arg3)
    
    getDftMessage
     public String getDftMessage(String key,
                                 String arg,
                                 Exception e)
    
    A utility method to create a default exception message for construction of specialized exception objects. arg and e may both be null, but if any of them is not null, you must use the information so that the message formatter does not get a null replacement string.

    main
     public static void main(String args[])
    

    Class com.ibm.ivj.eab.j2cppaccess.IVJJ2CPPBeanInfo

    Class com.ibm.ivj.eab.j2cppaccess.IVJJ2CPPBeanInfo

    java.lang.Object
       |
       +----java.beans.SimpleBeanInfo
               |
               +----com.ibm.ivj.eab.j2cppaccess.IVJJ2CPPBeanInfo
    

    public class IVJJ2CPPBeanInfo
    extends SimpleBeanInfo

    This class is the superclass of all BeanInfo classes that have been generated by the CICS Access Builder. This class provides generic icon information for the generated Beans.


    Constructor Index

    IVJJ2CPPBeanInfo()

    Method Index

    getGifFile()
    Returns the name of the graphic image file containing the C++ Access Builder icon for generated beans.
    getIcon(int)
    Returns the icon used to represent generated C++ Access Builder beans.

    Constructors

    IVJJ2CPPBeanInfo
     public IVJJ2CPPBeanInfo()
    

    Methods

    getGifFile
     public static String getGifFile()
    
    Returns the name of the graphic image file containing the C++ Access Builder icon for generated beans.

    Returns:
    String The name of the graphic image file containing the C++ Access Builder icon.
    getIcon
     public Image getIcon(int iconKind)
    
    Returns the icon used to represent generated C++ Access Builder beans.

    Parameters:
    int - The type of the icon that the bean should return.
    Returns:
    java.awt.Image The Java image of the icon.
    Overrides:
    getIcon in class SimpleBeanInfo

     k$756$`>./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.ivjj2cppbeaninfo_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.IVJJConvert

    Class com.ibm.ivj.eab.j2cppaccess.IVJJConvert

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.IVJJConvert
    

    public class IVJJConvert
    extends __J2CPP_


    Constructor Index

    IVJJConvert()

    Method Index

    getCharEnc(char)
    Takes a java character and, using the machine's encoding, returns a byte which can be used on the C++ side.
    getStringEnc(char[])
    Takes a java character array and, using the machine's encoding, returns a byte array which can be used on the C++ side.
    getUStringEnc(UCHAR[])
    Takes a java UCHAR array and, using the machine's encoding, returns a byte array which can be used on the C++ side.
    getWideCharEnc(char)
    Takes a java character and, using the machine's encoding, returns a byte array which can be used to get a wchar_t on the C++ side.
    returnChar(byte[])
    Takes a byte array, passed in from C++ and gets converted, using the machine's encoding to a (Unicode) Java character array.
    returnChar(byte[], UCHAR[])
    Takes a byte array, passed in from C++ and gets converted, using the machine's encoding to a (Unicode) Java character array.
    returnWChar(byte[])
    Takes a byte array, passed in from C++ and gets converted, using the machine's encoding to a (Unicode) Java character.

    Constructors

    IVJJConvert
     public IVJJConvert()
    

    Methods

    getCharEnc
     public byte getCharEnc(char c) throws IVJJException
    
    Takes a java character and, using the machine's encoding, returns a byte which can be used on the C++ side.

    Parameters:
    c - Java character.
    Returns:
    A byte representing the character which can be used on the C++ side.
    getStringEnc
     public byte[] getStringEnc(char c[]) throws IVJJException
    
    Takes a java character array and, using the machine's encoding, returns a byte array which can be used on the C++ side.

    Parameters:
    c - Java character array.
    Returns:
    A byte array representing the character array which can be used on the C++ side.
    getUStringEnc
     public byte[] getUStringEnc(UCHAR uc[]) throws IVJJException
    
    Takes a java UCHAR array and, using the machine's encoding, returns a byte array which can be used on the C++ side.

    Parameters:
    c - Java UCHAR array.
    Returns:
    A byte array representing the UCHAR array which can be used on the C++ side.
    getWideCharEnc
     public byte[] getWideCharEnc(char c) throws IVJJException
    
    Takes a java character and, using the machine's encoding, returns a byte array which can be used to get a wchar_t on the C++ side.

    Parameters:
    c - Java character.
    Returns:
    A byte array representing the wchar_t which can be used on the C++ side.
    returnWChar
     public char returnWChar(byte b[]) throws IVJJException
    
    Takes a byte array, passed in from C++ and gets converted, using the machine's encoding to a (Unicode) Java character.

    Parameters:
    b - A byte array passed in from C++.
    Returns:
    A Unicode character represented the encoded byte array passed in.
    returnChar
     public char[] returnChar(byte b[]) throws IVJJException
    
    Takes a byte array, passed in from C++ and gets converted, using the machine's encoding to a (Unicode) Java character array.

    Parameters:
    b - A byte array passed in from C++.
    Returns:
    A Unicode character array representing the encoded byte array passed in.
    returnChar
     public void returnChar(byte b[],
                            UCHAR uc[]) throws IVJJException
    
    Takes a byte array, passed in from C++ and gets converted, using the machine's encoding to a (Unicode) Java character array.

    Parameters:
    b - A byte array passed in from C++.
    Returns:
    A Unicode character array representing the encoded byte array passed in.

    < kf,$C756$PsC./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.ivjjconvert_mi.htmltml$$ Class com.ibm.ivj.eab.j2cppaccess.IVJJException

    Class com.ibm.ivj.eab.j2cppaccess.IVJJException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.ibm.ivj.eab.j2cppaccess.IVJJException
    

    public class IVJJException
    extends RuntimeException

    This class provides a way for users to catch exceptions associated with the IBM C++ Access Builder Java class library.


    Constructor Index

    IVJJException()
    Creates runtime exception object.
    IVJJException(String)
    Creates runtime exception object with the message.

    Constructors

    IVJJException
     public IVJJException()
    
    Creates runtime exception object.

    IVJJException
     public IVJJException(String errorText)
    
    Creates runtime exception object with the message.

    Parameters:
    errorText - Text of the message.

    va- k$756$`./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.ivjjexception_mi.htmll$$ Class com.ibm.ivj.eab.j2cppaccess.PCHAR

    Class com.ibm.ivj.eab.j2cppaccess.PCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PCHAR
    

    public class PCHAR
    extends __J2CPP_

    Java representation of a pointer to a char.

    This class extends __J2CPP_.

    Here is an example of how a PCHAR can be used:

         Imported C++ class A has a constructor A::A(char* name);
         Example Java client code is:
            String str = "Curious George";
            PCHAR myName = new PCHAR(str);
            A classA = new A(myName);
            String name = myName.toString();
     


    Constructor Index

    PCHAR(char)
    Allocates a new PCHAR of size 1 so that it represents a string that only contains this one character.
    PCHAR(char[])
    Allocates a new PCHAR so that it represents the sequence of characters currently contained in the character array argument.
    PCHAR(int)
    Allocates a new PCHAR so that it is the size specified by the int argument.
    PCHAR(String)
    Allocates a new PCHAR so that it represents the sequence of characters currently contained in the string argument.
    PCHAR(__NullConstructor_)

    Method Index

    finalize()
    getChars(char[])
    Copies the C++ character string into the destination character array.
    getChars(int, int, char[], int)
    Copies characters from this C++ character string into the destination array.
    length()
    Get the length of the C++ character string.
    setString(String)
    Sets the C++ character string to the sequence of characters currently contained in the string argument.
    toString()
    Return a Java String representing the C++ character string.

    Constructors

    PCHAR
     protected PCHAR(__NullConstructor_ _null_constructor_)
    
    PCHAR
     public PCHAR(char c) throws IVJJException
    
    Allocates a new PCHAR of size 1 so that it represents a string that only contains this one character.

    Parameters:
    c - Allocates a C++ pointer to a character copies and this Java character into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    PCHAR
     public PCHAR(int arraySize) throws IVJJException
    
    Allocates a new PCHAR so that it is the size specified by the int argument.

    Parameters:
    arraySize - Allocate a C++ character string to this size.
    Throws: IVJJException
    Thrown when the specified array size is less than one.
    PCHAR
     public PCHAR(String v) throws IVJJException
    
    Allocates a new PCHAR so that it represents the sequence of characters currently contained in the string argument.

    Parameters:
    v - Allocates a C++ character string and copies this Java String into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    PCHAR
     public PCHAR(char v[]) throws IVJJException
    
    Allocates a new PCHAR so that it represents the sequence of characters currently contained in the character array argument.

    Parameters:
    v - Allocates a C++ character string and copies this Java character array into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.

    Methods

    length
     public int length() throws IVJJException
    
    Get the length of the C++ character string.

    Returns:
    The length of the string.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    toString
     public String toString() throws IllegalArgumentException
    
    Return a Java String representing the C++ character string.

    Returns:
    The C++ character string as a Java String.
    Throws: IllegalArgumentException
    Thrown when the default system character encoding is not supported.
    Overrides:
    toString in class Object
    getChars
     public void getChars(int srcBegin,
                          int srcEnd,
                          char dst[],
                          int dstBegin) throws IVJJException
    
    Copies characters from this C++ character string into the destination array.

    The substring of characters to be copied are specified by srcBegin, the starting index, to the index specified by srcEnd-1. This substring is copied into the destination array dst starting at the index dstBegin. The first character of the C++ string starts at index 0.

    Parameters:
    srcBegin - The starting index.
    srcEnd - The ending index.
    dst - Destination array.
    dstBegin - The start offset in the destination array.
    Throws: IVJJException
    Thrown when the specified indices are invalid, the size of the destination array is smaller than the substring to be copied or when the default system character encoding is not supported.
    getChars
     public void getChars(char dst[]) throws IVJJException
    
    Copies the C++ character string into the destination character array.

    Parameters:
    dst - Destination array.
    Throws: IVJJException
    Thrown when the size of the destination array is smaller than the contents of the character string or when the default system character encoding is not supported.
    setString
     public void setString(String s) throws IVJJException
    
    Sets the C++ character string to the sequence of characters currently contained in the string argument. If the size of the string argument exceeds the allocated space of the C++ string then an IVJJException is thrown. The size of the string is determined when PCHAR is allocated.

    Parameters:
    s - Copies this string into the C++ character string.
    Throws: IVJJException
    Thrown when the specified string is larger then the allocated space or when the default system character encoding is not supported.
    finalize
     protected native void finalize()
    
    Overrides:
    finalize in class Object

    rg k$ 756$@o ./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.pchar_mi.htmli.$$ Class com.ibm.ivj.eab.j2cppaccess.PDOUBLE

    Class com.ibm.ivj.eab.j2cppaccess.PDOUBLE

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PDOUBLE
    

    public class PDOUBLE
    extends __J2CPP_

    Java representation of a pointer to a double.

    This class extends __J2CPP_.

    Here is an example of how a PDOUBLE can be used in Java client code:

          double v = 3.14D;
          PDOUBLE pd = new PDOUBLE(v);
          double value = pd.doubleValue();
     


    Constructor Index

    PDOUBLE()
    Allocates a new PDOUBLE and initializes the C++ double that it represents to 0.
    PDOUBLE(double)
    Allocates a new PDOUBLE and initializes the C++ double to the value represented by the Java double argument.
    PDOUBLE(String)
    Allocates a new PDOUBLE and initializes the C++ double to the value represented by the Java String argument.
    PDOUBLE(__NullConstructor_)

    Method Index

    doubleValue()
    Returns the value of the C++ double as a Java double.
    finalize()
    Memory cleanup.
    setDoubleValue(double)
    Sets the C++ double to the value of the Java double v argument.
    toString()
    Returns the value of the C++ double as a Java String.

    Constructors

    PDOUBLE
     protected PDOUBLE(__NullConstructor_ _null_constructor_)
    
    PDOUBLE
     public PDOUBLE()
    
    Allocates a new PDOUBLE and initializes the C++ double that it represents to 0.

    PDOUBLE
     public PDOUBLE(double v)
    
    Allocates a new PDOUBLE and initializes the C++ double to the value represented by the Java double argument.

    Parameters:
    v - Java double used to set the C++ double.
    PDOUBLE
     public PDOUBLE(String v) throws IVJJException
    
    Allocates a new PDOUBLE and initializes the C++ double to the value represented by the Java String argument.

    Parameters:
    v - Java String used to set the C++ double.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain a parsable number.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ double as a Java String.

    Returns:
    The C++ double is returned as a Java String.
    Overrides:
    toString in class Object
    doubleValue
     public native double doubleValue()
    
    Returns the value of the C++ double as a Java double.

    Returns:
    The C++ double is returned as a Java double.
    setDoubleValue
     public native void setDoubleValue(double v)
    
    Sets the C++ double to the value of the Java double v argument.

    Parameters:
    v - Java double used to set the C++ double.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    LE k@,$756$P./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.pdouble_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.PFLOAT

    Class com.ibm.ivj.eab.j2cppaccess.PFLOAT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PFLOAT
    

    public class PFLOAT
    extends __J2CPP_

    Java representation of a pointer to a float.

    This class extends __J2CPP_.

    Here is an example of how a PFLOAT can be used in Java client code:

          float f = 3.14F;
          PFLOAT pf = new PFLOAT(f);
          float value = pf.floatValue();
     


    Constructor Index

    PFLOAT()
    Allocates a new PFLOAT and initializes the C++ float that it represents to 0.
    PFLOAT(float)
    Allocates a new PFLOAT and initializes the C++ float to the value represented by the Java float argument.
    PFLOAT(String)
    Allocates a new PFLOAT and initializes the C++ float to the value represented by the Java String argument.
    PFLOAT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    floatValue()
    Returns the value of the C++ float as a Java float.
    setFloatValue(float)
    Sets the C++ float to the value of the Java float v argument.
    toString()
    Returns the value of the C++ float as a Java String.

    Constructors

    PFLOAT
     protected PFLOAT(__NullConstructor_ _null_constructor_)
    
    PFLOAT
     public PFLOAT()
    
    Allocates a new PFLOAT and initializes the C++ float that it represents to 0.

    PFLOAT
     public PFLOAT(float v)
    
    Allocates a new PFLOAT and initializes the C++ float to the value represented by the Java float argument.

    Parameters:
    v - Java float used to set the C++ float.
    PFLOAT
     public PFLOAT(String v) throws IVJJException
    
    Allocates a new PFLOAT and initializes the C++ float to the value represented by the Java String argument.

    Parameters:
    v - Java String used to set the C++ float.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain a parsable number.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ float as a Java String.

    Returns:
    The C++ float is returned as a Java String.
    Overrides:
    toString in class Object
    floatValue
     public native float floatValue()
    
    Returns the value of the C++ float as a Java float.

    Returns:
    The C++ float is returned as a Java float.
    setFloatValue
     public native void setFloatValue(float v)
    
    Sets the C++ float to the value of the Java float v argument.

    Parameters:
    v - Java float used to set the C++ float.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    oat kƷ$756$P./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.pfloat_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.PINT

    Class com.ibm.ivj.eab.j2cppaccess.PINT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PINT
    

    public class PINT
    extends __J2CPP_

    Java representation of a pointer to an integer.

    This class extends __J2CPP_.

    Here is an example of how a PINT can be used in Java client code:

          int i = 25;
          PINT pi = new PINT(i);
          int value = pi.intValue();
     


    Constructor Index

    PINT()
    Allocates a new PINT and initializes the C++ integer that it represents to 0.
    PINT(int)
    Allocates a new PINT and initializes the C++ integer to the value represented by the Java integer argument.
    PINT(String)
    Allocates a new PINT and initializes the C++ integer to the value represented by the Java String argument.
    PINT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    intValue()
    Returns the value of the C++ integer as a Java integer.
    setIntValue(int)
    Sets the C++ integer to the value of the Java integer v argument.
    toString()
    Returns the value of the C++ integer as a Java String.

    Constructors

    PINT
     protected PINT(__NullConstructor_ _null_constructor_)
    
    PINT
     public PINT()
    
    Allocates a new PINT and initializes the C++ integer that it represents to 0.

    PINT
     public PINT(int v)
    
    Allocates a new PINT and initializes the C++ integer to the value represented by the Java integer argument.

    Parameters:
    v - Java integer used to set the C++ integer.
    PINT
     public PINT(String v) throws IVJJException
    
    Allocates a new PINT and initializes the C++ integer to the value represented by the Java String argument.

    Parameters:
    v - Java String used to set the C++ integer.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain a parsable number.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ integer as a Java String.

    Returns:
    The C++ integer is returned as a Java String.
    Overrides:
    toString in class Object
    intValue
     public native int intValue()
    
    Returns the value of the C++ integer as a Java integer.

    Returns:
    The C++ integer is returned as a Java integer.
    setIntValue
     public native void setIntValue(int v)
    
    Sets the C++ integer to the value of the Java integer v argument.

    Parameters:
    v - Java integer used to set the C++ integer.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    e  k$~756$P~./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.pint_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.PLONG

    Class com.ibm.ivj.eab.j2cppaccess.PLONG

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PLONG
    

    public class PLONG
    extends __J2CPP_

    Java representation of a pointer to a long.

    This class extends __J2CPP_.

    Here is an example of how a PLONG can be used in Java client code:

          long l = 300;
          PLONG pl = new PLONG(l);
          long value = pl.longValue();
     


    Constructor Index

    PLONG()
    Allocates a new PLONG and initializes the C++ long that it represents to 0.
    PLONG(long)
    Allocates a new PLONG and initializes the C++ long to the value represented by the Java long argument.
    PLONG(String)
    Allocates a new PLONG and initializes the C++ long to the value represented by the Java String argument.
    PLONG(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    longValue()
    Returns the value of the C++ long as a Java long.
    setLongValue(long)
    Sets the C++ long to the value of the Java long v argument.
    toString()
    Returns the value of the C++ long as a Java string.

    Constructors

    PLONG
     protected PLONG(__NullConstructor_ _null_constructor_)
    
    PLONG
     public PLONG()
    
    Allocates a new PLONG and initializes the C++ long that it represents to 0.

    PLONG
     public PLONG(long v)
    
    Allocates a new PLONG and initializes the C++ long to the value represented by the Java long argument.

    Parameters:
    v - Java long used to set the C++ long.
    PLONG
     public PLONG(String v) throws IVJJException
    
    Allocates a new PLONG and initializes the C++ long to the value represented by the Java String argument.

    Parameters:
    v - Java String used to set the C++ long.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain a parsable number.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ long as a Java string.

    Returns:
    The C++ long is returned as a Java String.
    Overrides:
    toString in class Object
    longValue
     public native long longValue()
    
    Returns the value of the C++ long as a Java long.

    Returns:
    The C++ long is returned as a Java long.
    setLongValue
     public native void setLongValue(long v)
    
    Sets the C++ long to the value of the Java long v argument.

    Parameters:
    v - Java long used to set the C++ long.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    ti k~$756$P./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.plong_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.PSCHAR

    Class com.ibm.ivj.eab.j2cppaccess.PSCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PSCHAR
    

    public class PSCHAR
    extends __J2CPP_

    Java representation of a pointer to a signed char. A C/C++ signed char is mapped to a Java byte. Conversion only takes place when using the constructors and methods which use a Java String or character.

    This class extends __J2CPP_.

    Here is an example of how a PSCHAR can be used:

         Imported C++ class A has a constructor A::A(signed char* name);
         Example Java client code is:
            String str = "Curious George";
            PSCHAR myName = new PSCHAR(str);
            A classA = new A(myName);
            String firstName = myName.toString();
     


    Constructor Index

    PSCHAR(byte[])
    Allocates a new PSCHAR so that it represents the sequence of bytes currently contained in the byte array argument.
    PSCHAR(char)
    Allocates a new PSCHAR of size 1 so that it represents a string that only contains this one signed character.
    PSCHAR(int)
    Allocates a new PSCHAR so that it is the size specified by the int argument.
    PSCHAR(String)
    Allocates a new PSCHAR so that it represents the sequence of characters currently contained in the string argument.
    PSCHAR(__NullConstructor_)

    Method Index

    finalize()
    getBytes(byte[])
    Copies the C++ signed character string into the destination byte array.
    getBytes(int, int, byte[], int)
    Copies signed characters from this C++ signed character string into the destination byte array.
    getChars(byte[])
    Copies the C++ signed character string into the destination byte array. Deprecated.
    getChars(int, int, byte[], int)
    Copies signed characters from this C++ signed character string into the destination byte array. Deprecated.
    length()
    Get the length of the C++ signed character string.
    setBytes(byte[])
    Sets the C++ signed character string to the sequence of bytes currently contained in the byte array argument.
    setString(String)
    Sets the C++ signed character string to the sequence of characters currently contained in the string argument.
    toString()
    Return a Java String representing the C++ signed character string.

    Constructors

    PSCHAR
     protected PSCHAR(__NullConstructor_ _null_constructor_)
    
    PSCHAR
     public PSCHAR(char c) throws IVJJException
    
    Allocates a new PSCHAR of size 1 so that it represents a string that only contains this one signed character.

    Parameters:
    c - Allocates a C++ pointer to a signed character and copies this Java character into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    PSCHAR
     public PSCHAR(int arraySize) throws IVJJException
    
    Allocates a new PSCHAR so that it is the size specified by the int argument.

    Parameters:
    arraySize - Allocate a C++ signed character string to this size.
    Throws: IVJJException
    Thrown when the specified array size is less than one.
    PSCHAR
     public PSCHAR(String v) throws IVJJException
    
    Allocates a new PSCHAR so that it represents the sequence of characters currently contained in the string argument.

    Parameters:
    v - Allocates a C++ signed character string and copies this Java String into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    PSCHAR
     public PSCHAR(byte v[])
    
    Allocates a new PSCHAR so that it represents the sequence of bytes currently contained in the byte array argument.

    Parameters:
    v - Allocates a C++ signed character string and copies this Java character array into it.

    Methods

    length
     public int length()
    
    Get the length of the C++ signed character string.

    Returns:
    The length of the string.
    toString
     public String toString() throws IllegalArgumentException
    
    Return a Java String representing the C++ signed character string.

    Returns:
    The C++ signed character string as a Java String.
    Throws: IllegalArgumentException
    Thrown when the default system character encoding is not supported.
    Overrides:
    toString in class Object
    getBytes
     public void getBytes(int srcBegin,
                          int srcEnd,
                          byte dst[],
                          int dstBegin) throws IVJJException
    
    Copies signed characters from this C++ signed character string into the destination byte array.

    The substring of signed characters to be copied are specified by srcBegin, the starting index, to the index specified by srcEnd-1. This substring is copied into the destination array dst starting at the index dstBegin. The first signed character of the C++ string starts at index 0.

    Parameters:
    srcBegin - The starting index.
    srcEnd - The ending index.
    dst - Destination array.
    dstBegin - The start offset in the destination array.
    Throws: IVJJException
    Thrown when the specified indices are invalid or the size of the destination array is smaller than the substring to be copied.
    getBytes
     public void getBytes(byte dst[]) throws IVJJException
    
    Copies the C++ signed character string into the destination byte array.

    Parameters:
    dst - Destination array.
    Throws: IVJJException
    Thrown when the destination array is smaller than the contents of the signed character string.
    getChars
     public void getChars(int srcBegin,
                          int srcEnd,
                          byte dst[],
                          int dstBegin) throws IVJJException
    
    Note: getChars() is deprecated. Replaced by getBytes(int srcBegin, int srcEnd, byte dst[], int dstBegin)

    Copies signed characters from this C++ signed character string into the destination byte array.

    The substring of signed characters to be copied are specified by srcBegin, the starting index, to the index specified by srcEnd-1. This substring is copied into the destination array dst starting at the index dstBegin. The first signed character of the C++ string starts at index 0.

    Parameters:
    srcBegin - The starting index.
    srcEnd - The ending index.
    dst - Destination array.
    dstBegin - The start offset in the destination array.
    Throws: IVJJException
    Thrown when the specified indices are invalid, the size of the destination array is smaller than the substring to be copied, or when the default system character encoding is not supported.
    getChars
     public void getChars(byte dst[]) throws IVJJException
    
    Note: getChars() is deprecated. Replaced by getBytes(byte dst[])

    Copies the C++ signed character string into the destination byte array.

    Parameters:
    dst - Destination array.
    Throws: IVJJException
    Thrown when the destination array is smaller than the contents of the signed character string or when the default system character encoding is not supported.
    setBytes
     public void setBytes(byte barr[]) throws IVJJException
    
    Sets the C++ signed character string to the sequence of bytes currently contained in the byte array argument. If the size of the byte array argument exceeds the allocated space of the C++ string then an IVJJException is thrown. The size of the string is determined when PSCHAR is allocated.

    Parameters:
    barr - Copies this byte array into the C++ signed character string.
    Throws: IVJJException
    Thrown when the specified string is larger then the allocated space.
    setString
     public void setString(String s) throws IVJJException
    
    Sets the C++ signed character string to the sequence of characters currently contained in the string argument. If the size of the string argument exceeds the allocated space of the C++ string then an IVJJException is thrown. The size of the string is determined when PSCHAR is allocated.

    Parameters:
    s - Copies this string into the C++ signed character string.
    Throws: IVJJException
    Thrown when the specified string is larger then the allocated space or when the default system character encoding is not supported.
    finalize
     protected native void finalize()
    
    Overrides:
    finalize in class Object

    ,  k$756$@./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.pschar_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.PSHORT

    Class com.ibm.ivj.eab.j2cppaccess.PSHORT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PSHORT
    

    public class PSHORT
    extends __J2CPP_

    Java representation of a pointer to a short.

    This class extends __J2CPP_.

    Here is an example of how a PSHORT can be used in Java client code:

          short s = 3;
          PSHORT ps = new PSHORT(s);
          short value = ps.shortValue();
     


    Constructor Index

    PSHORT()
    Allocates a new PSHORT and initializes the C++ short that it represents to 0.
    PSHORT(short)
    Allocates a new PSHORT and initializes the C++ short to the value represented by the Java short argument.
    PSHORT(String)
    Allocates a new PSHORT and initializes the C++ short to the value represented by the Java String argument.
    PSHORT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setShortValue(short)
    Sets the C++ short to the value of the Java short v argument.
    shortValue()
    Returns the value of the C++ short as a Java short.
    toString()
    Returns the value of the C++ short as a Java string.

    Constructors

    PSHORT
     protected PSHORT(__NullConstructor_ _null_constructor_)
    
    PSHORT
     public PSHORT()
    
    Allocates a new PSHORT and initializes the C++ short that it represents to 0.

    PSHORT
     public PSHORT(short v)
    
    Allocates a new PSHORT and initializes the C++ short to the value represented by the Java short argument.

    Parameters:
    v - Java short used to set the C++ short.
    PSHORT
     public PSHORT(String v) throws IVJJException
    
    Allocates a new PSHORT and initializes the C++ short to the value represented by the Java String argument.

    Parameters:
    v - Java String used to set the C++ short.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain a parsable number.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ short as a Java string.

    Returns:
    The C++ short is returned as a Java String.
    Overrides:
    toString in class Object
    shortValue
     public native short shortValue()
    
    Returns the value of the C++ short as a Java short.

    Returns:
    The C++ short is returned as a Java short.
    setShortValue
     public native void setShortValue(short v)
    
    Sets the C++ short to the value of the Java short v argument.

    Parameters:
    v - Java short used to set the C++ short.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    ort arg k$756$P/./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.pshort_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.PUCHAR

    Class com.ibm.ivj.eab.j2cppaccess.PUCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PUCHAR
    

    public class PUCHAR
    extends __J2CPP_

    Java representation of a pointer to an unsigned char.

    This class extends __J2CPP_.

    Here is an example of how a PUCHAR can be used:

         Imported C++ class A has a constructor A::A(unsigned char* name);
         Example Java client code is:
            String str = "Curious George";
            PUCHAR myName = new PUCHAR(str);
            A classA = new A(myName);
            String firstName = myName.toString();
     


    Constructor Index

    PUCHAR(char)
    Allocates a new PUCHAR of size 1 so that it represents a string that only contains this one unsigned character.
    PUCHAR(char[])
    Allocates a new PUCHAR so that it represents the sequence of characters currently contained in the character array argument.
    PUCHAR(int)
    Allocates a new PUCHAR so that it is the size specified by the int argument.
    PUCHAR(String)
    Allocates a new PUCHAR so that it represents the sequence of characters currently contained in the string argument.
    PUCHAR(__NullConstructor_)

    Method Index

    finalize()
    getChars(char[])
    Copies the C++ unsigned character string into the destination character array.
    getChars(int, int, char[], int)
    Copies unsigned characters from this C++ unsigned character string into the destination array.
    length()
    Get the length of the C++ unsigned character string.
    setString(String)
    Sets the C++ unsigned character string to the sequence of characters currently contained in the string argument.
    toString()
    Return a Java String representing the C++ unsigned character string.

    Constructors

    PUCHAR
     protected PUCHAR(__NullConstructor_ _null_constructor_)
    
    PUCHAR
     public PUCHAR(char c) throws IVJJException
    
    Allocates a new PUCHAR of size 1 so that it represents a string that only contains this one unsigned character.

    Parameters:
    c - Allocates a C++ pointer to a unsigned character and copies this Java character into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    PUCHAR
     public PUCHAR(int arraySize) throws IVJJException
    
    Allocates a new PUCHAR so that it is the size specified by the int argument.

    Parameters:
    arraySize - Allocate a C++ unsigned character string to this size.
    Throws: IVJJException
    Thrown when the specified array size is less than one.
    PUCHAR
     public PUCHAR(String v) throws IVJJException
    
    Allocates a new PUCHAR so that it represents the sequence of characters currently contained in the string argument.

    Parameters:
    v - Allocates a C++ character string and copies this Java String into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    PUCHAR
     public PUCHAR(char v[]) throws IVJJException
    
    Allocates a new PUCHAR so that it represents the sequence of characters currently contained in the character array argument.

    Parameters:
    v - Allocates a C++ character string and copies this Java character array into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.

    Methods

    length
     public int length() throws IVJJException
    
    Get the length of the C++ unsigned character string.

    Returns:
    The length of the string.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    toString
     public String toString() throws IllegalArgumentException
    
    Return a Java String representing the C++ unsigned character string.

    Returns:
    The C++ unsigned character string as a Java String.
    Throws: IllegalArgumentException
    Thrown when the default system character encoding is not supported.
    Overrides:
    toString in class Object
    getChars
     public void getChars(int srcBegin,
                          int srcEnd,
                          char dst[],
                          int dstBegin) throws IVJJException
    
    Copies unsigned characters from this C++ unsigned character string into the destination array.

    The substring of unsigned characters to be copied are specified by srcBegin, the starting index, to the index specified by srcEnd-1. This substring is copied into the destination array dst starting at the index dstBegin. The first unsigned character of the C++ string starts at index 0.

    Parameters:
    srcBegin - The starting index.
    srcEnd - The ending index.
    dst - Destination array.
    dstBegin - The start offset in the destination array.
    Throws: IVJJException
    Thrown when the specified indices are invalid, the size of the destination array is smaller than the substring to be copied, or when the default system character encoding is not supported.
    getChars
     public void getChars(char dst[]) throws IVJJException
    
    Copies the C++ unsigned character string into the destination character array.

    Parameters:
    dst - Destination array.
    Throws: IVJJException
    Thrown when the destination array is smaller than the contents of the unsigned character string or when the default system character encoding is not supported.
    setString
     public void setString(String s) throws IVJJException
    
    Sets the C++ unsigned character string to the sequence of characters currently contained in the string argument. If the size of the string argument exceeds the allocated space of the C++ string then an IVJJException is thrown. The size of the string is determined when PUCHAR is allocated.

    Parameters:
    s - Copies this string into the C++ character string.
    Throws: IVJJException
    Thrown when the specified string is larger then the allocated space or when the default system character encoding is not supported.
    finalize
     protected native void finalize()
    
    Overrides:
    finalize in class Object

    h k$ 756$@ ./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.puchar_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.PUINT

    Class com.ibm.ivj.eab.j2cppaccess.PUINT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PUINT
    

    public class PUINT
    extends __J2CPP_

    Java representation of a pointer to an unsigned integer.

    This class extends __J2CPP_.

    Here is an example of how a PUINT can be used in Java client code:

          long l = 300;
          PUINT pl = new PUINT(l);
          long value = pl.uintValue();
     


    Constructor Index

    PUINT()
    Allocates a new PUINT and initializes the C++ unsigned integer that it represents to 0.
    PUINT(long)
    Allocates a new PUINT and initializes the C++ unsigned integer to the value represented by the Java long argument.
    PUINT(String)
    Allocates a new PUINT and initializes the C++ unsigned integer to the value represented by the Java String argument.
    PUINT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setUintValue(long)
    Sets the C++ unsigned integer to the value of the Java long v argument.
    toString()
    Returns the value of the C++ unsigned integer as a Java String.
    uintValue()
    Returns the value of the C++ unsigned integer as a Java long.

    Constructors

    PUINT
     protected PUINT(__NullConstructor_ _null_constructor_)
    
    PUINT
     public PUINT()
    
    Allocates a new PUINT and initializes the C++ unsigned integer that it represents to 0.

    PUINT
     public PUINT(long v) throws IVJJException
    
    Allocates a new PUINT and initializes the C++ unsigned integer to the value represented by the Java long argument.

    Parameters:
    v - Java long used to set the C++ unsigned integer.
    Throws: IVJJException
    Thrown when the integer argument is a negative number.
    PUINT
     public PUINT(String v) throws IVJJException
    
    Allocates a new PUINT and initializes the C++ unsigned integer to the value represented by the Java String argument.

    Parameters:
    v - Java String used to set the C++ unsigned integer.
    Throws: IVJJException
    Thrown when the String argument is empty, represents a negative number or does not contain a parsable number.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned integer as a Java String.

    Returns:
    The C++ unsigned integer is returned as a Java String.
    Overrides:
    toString in class Object
    uintValue
     public native long uintValue()
    
    Returns the value of the C++ unsigned integer as a Java long.

    Returns:
    The C++ unsigned integer is returned as a Java long.
    setUintValue
     public native void setUintValue(long v)
    
    Sets the C++ unsigned integer to the value of the Java long v argument.

    Parameters:
    v - Java long used to set the C++ unsigned integer.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    leanup kC$756$Pc./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.puint_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.PULONG

    Class com.ibm.ivj.eab.j2cppaccess.PULONG

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PULONG
    

    public class PULONG
    extends __J2CPP_

    Java representation of a pointer to an unsigned long.

    This class extends __J2CPP_.

    Here is an example of how a PULONG can be used in Java client code:

          long l = 300;
          PULONG pl = new PULONG(l);
          long  value = pl.ulongValue();
     


    Constructor Index

    PULONG()
    Allocates a new PULONG and initializes the C++ unsigned long that it represents to 0.
    PULONG(long)
    Allocates a new PULONG and initializes the C++ unsigned long to the value represented by the Java long argument.
    PULONG(String)
    Allocates a new PULONG and initializes the C++ unsigned long to the value represented by the Java String argument.
    PULONG(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setUlongValue(long)
    Sets the C++ unsigned long to the value of the Java long v argument.
    toString()
    Returns the value of the C++ unsigned long as a Java String.
    ulongValue()
    Returns the value of the C++ unsigned long as a Java long.

    Constructors

    PULONG
     protected PULONG(__NullConstructor_ _null_constructor_)
    
    PULONG
     public PULONG()
    
    Allocates a new PULONG and initializes the C++ unsigned long that it represents to 0.

    PULONG
     public PULONG(long v) throws IVJJException
    
    Allocates a new PULONG and initializes the C++ unsigned long to the value represented by the Java long argument.

    Parameters:
    v - Java long used to set the C++ unsigned long.
    Throws: IVJJException
    Thrown when the integer argument is a negative number.
    PULONG
     public PULONG(String v) throws IVJJException
    
    Allocates a new PULONG and initializes the C++ unsigned long to the value represented by the Java String argument.

    Parameters:
    v - Java String used to set the C++ unsigned long.
    Throws: IVJJException
    Thrown when the String argument is empty, represents a negative number or does not contain a parsable number.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned long as a Java String.

    Returns:
    The C++ unsigned long is returned as a Java String.
    Overrides:
    toString in class Object
    ulongValue
     public native long ulongValue()
    
    Returns the value of the C++ unsigned long as a Java long.

    Returns:
    The C++ unsigned long is returned as a Java long.
    setUlongValue
     public native void setUlongValue(long v)
    
    Sets the C++ unsigned long to the value of the Java long v argument.

    Parameters:
    v - Java long used to set the C++ unsigned long.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    Class com.ibm.ivj.eab.j2cppaccess.PUSHORT

    Class com.ibm.ivj.eab.j2cppaccess.PUSHORT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PUSHORT
    

    public class PUSHORT
    extends __J2CPP_

    Java representation of a pointer to an unsigned short.

    This class extends __J2CPP_ .

    Here is an example of how a PUSHORT can be used in Java client code:

          int i = 5;
          PUSHORT ps = new PUSHORT(i);
          int j = ps.ushortValue();
          ps.setUshortValue(j+3);
     


    Constructor Index

    PUSHORT()
    Allocates a new PUSHORT and initializes the C++ unsigned short that it represents to 0.
    PUSHORT(int)
    Allocates a new PUSHORT and initializes the C++ unsigned short to the value represented by the Java integer argument.
    PUSHORT(String)
    Allocates a new PUSHORT and initializes the C++ unsigned short to the value represented by the Java String argument.
    PUSHORT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setUshortValue(int)
    Sets the C++ unsigned short to the value of the Java integer v argument.
    toString()
    Returns the value of the C++ unsigned short as a Java string.
    ushortValue()
    Returns the value of the C++ unsigned short as a Java integer.

    Constructors

    PUSHORT
     protected PUSHORT(__NullConstructor_ _null_constructor_)
    
    PUSHORT
     public PUSHORT()
    
    Allocates a new PUSHORT and initializes the C++ unsigned short that it represents to 0.

    PUSHORT
     public PUSHORT(int v) throws IVJJException
    
    Allocates a new PUSHORT and initializes the C++ unsigned short to the value represented by the Java integer argument.

    Parameters:
    v - Java integer used to set the C++ unsigned short.
    Throws: IVJJException
    Thrown when the integer argument is a negative number.
    PUSHORT
     public PUSHORT(String v) throws IVJJException
    
    Allocates a new PUSHORT and initializes the C++ unsigned short to the value represented by the Java String argument.

    Parameters:
    v - Java String used to set the C++ unsigned short.
    Throws: IVJJException
    Thrown when the String argument is empty, represents a negative number or does not contain a parsable number.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned short as a Java string.

    Returns:
    The C++ unsigned short is returned as a Java String.
    Overrides:
    toString in class Object
    ushortValue
     public native int ushortValue()
    
    Returns the value of the C++ unsigned short as a Java integer.

    Returns:
    The C++ unsigned short is returned as a Java integer.
    setUshortValue
     public native void setUshortValue(int v)
    
    Sets the C++ unsigned short to the value of the Java integer v argument.

    Parameters:
    v - Java integer used to set the C++ unsigned short.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

     k $756$P5./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.pushort_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.PWCHAR

    Class com.ibm.ivj.eab.j2cppaccess.PWCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.PWCHAR
    

    public class PWCHAR
    extends __J2CPP_

    Java representation of a pointer to a wchar_t.

    This class extends __J2CPP_.

    Here is an example of how a PWCHAR can be used:

         Imported C++ class A has a constructor A::A(wchar_t* name);
         Example Java client code is:
            String str = "Curious George";
            PWCHAR myName = new PWCHAR(str);
            A classA = new A(myName);
            String firstName = myName.toString();
     


    Constructor Index

    PWCHAR(char)
    Allocates a new PWCHAR of size 1 so that it represents a string that only contains this one signed character.
    PWCHAR(char[])
    Allocates a new PWCHAR so that it represents the sequence of characters currently contained in the character array argument.
    PWCHAR(int)
    Allocates a new PWCHAR so that it is the size specified by the int argument.
    PWCHAR(String)
    Allocates a new PWCHAR so that it represents the sequence of characters currently contained in the string argument.
    PWCHAR(__NullConstructor_)

    Method Index

    finalize()
    getChars(char[])
    Copies the C++ wchar_t string into the destination character array.
    getChars(int, int, char[], int)
    Copies characters from this C++ wchar_t string into the destination array.
    length()
    Get the length of the C++ wchar_t string.
    setString(String)
    Sets the C++ wide character string to the sequence of characters currently contained in the string argument.
    toString()
    Return a Java String representing the C++ wchar_t string.

    Constructors

    PWCHAR
     protected PWCHAR(__NullConstructor_ _null_constructor_)
    
    PWCHAR
     public PWCHAR(char c) throws IVJJException
    
    Allocates a new PWCHAR of size 1 so that it represents a string that only contains this one signed character.

    Parameters:
    c - Allocates a C++ pointer to a wide character and copies this Java character into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    PWCHAR
     public PWCHAR(int arraySize) throws IVJJException
    
    Allocates a new PWCHAR so that it is the size specified by the int argument.

    Parameters:
    arraySize - Allocate a C++ wide character string to this size.
    Throws: IVJJException
    Thrown when the specified array size is less than one.
    PWCHAR
     public PWCHAR(String v) throws IVJJException
    
    Allocates a new PWCHAR so that it represents the sequence of characters currently contained in the string argument.

    Parameters:
    v - Allocates a C++ character string and copies this Java String into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    PWCHAR
     public PWCHAR(char v[]) throws IVJJException
    
    Allocates a new PWCHAR so that it represents the sequence of characters currently contained in the character array argument.

    Parameters:
    v - Allocates a C++ character string and copies this Java character array into it.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.

    Methods

    length
     public int length() throws IVJJException
    
    Get the length of the C++ wchar_t string.

    Returns:
    The length of the string.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    toString
     public String toString() throws IllegalArgumentException
    
    Return a Java String representing the C++ wchar_t string.

    Returns:
    The C++ wide character string as a Java String.
    Throws: IllegalArgumentException
    Thrown when the default system character encoding is not supported.
    Overrides:
    toString in class Object
    getChars
     public void getChars(int srcBegin,
                          int srcEnd,
                          char dst[],
                          int dstBegin) throws IVJJException
    
    Copies characters from this C++ wchar_t string into the destination array.

    The substring of wide characters to be copied are specified by srcBegin, the starting index, to the index specified by srcEnd-1. This substring is copied into the destination array dst starting at the index dstBegin. The first wide character of the C++ string starts at index 0.

    Parameters:
    srcBegin - The starting index.
    srcEnd - The ending index.
    dst - Destination array.
    dstBegin - The start offset in the destination array.
    Throws: IVJJException
    Thrown when the specified indices are invalid, the size of the destination array is smaller than the substring to be copied or when the default system character encoding is not supported.
    getChars
     public void getChars(char dst[]) throws IVJJException
    
    Copies the C++ wchar_t string into the destination character array.

    Parameters:
    dst - Destination array.
    Throws: IVJJException
    Thrown when the destination array is smaller than the contents of the wide character string.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    setString
     public void setString(String s) throws IVJJException
    
    Sets the C++ wide character string to the sequence of characters currently contained in the string argument. If the size of the string argument exceeds the allocated space of the C++ string then an IVJJException is thrown. The size of the string is determined when PWCHAR is allocated.

    Parameters:
    s - Copies this string into the C++ character string.
    Throws: IVJJException
    Thrown when the specified string is larger then the allocated space or when the default system character encoding is not supported.
    finalize
     protected native void finalize()
    
    Overrides:
    finalize in class Object

    ns: Class com.ibm.ivj.eab.j2cppaccess.RCHAR

    Class com.ibm.ivj.eab.j2cppaccess.RCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RCHAR
    

    public class RCHAR
    extends __J2CPP_

    Java representation of a reference to a char.

    This class extends __J2CPP_.

    Here is an example of how a RCHAR can be used:

         Imported C++ class A has a method A::setChar(char& c);
         Example Java client code is:
            char a = 'c';
            RCHAR myChar = new RCHAR(a);
            A classA = new A();
            classA.setChar(myChar);
            String charString = myChar.toString();
     


    Constructor Index

    RCHAR()
    Allocates a new RCHAR and initializes the C++ character that it represents to '\0'.
    RCHAR(char)
    Allocates a new RCHAR and initializes the C++ character to the value represented by the Java character argument.
    RCHAR(__NullConstructor_)

    Method Index

    charValue()
    Returns the value of the C++ character as a Java character.
    finalize()
    Memory cleanup.
    setCharValue(char)
    Sets the C++ character to the value of the Java character v argument.
    toString()
    Returns the value of the C++ character as a Java String.

    Constructors

    RCHAR
     protected RCHAR(__NullConstructor_ _null_constructor_)
    
    RCHAR
     public RCHAR()
    
    Allocates a new RCHAR and initializes the C++ character that it represents to '\0'.

    RCHAR
     public RCHAR(char v) throws IVJJException
    
    Allocates a new RCHAR and initializes the C++ character to the value represented by the Java character argument.

    Parameters:
    v - Copies this Java character into the allocated C++ character.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.

    Methods

    toString
     public String toString() throws IllegalArgumentException
    
    Returns the value of the C++ character as a Java String.

    Returns:
    The C++ character as a Java String.
    Throws: IllegalArgumentException
    Thrown when the default system character encoding is not supported.
    Overrides:
    toString in class Object
    charValue
     public char charValue() throws IVJJException
    
    Returns the value of the C++ character as a Java character.

    Returns:
    The C++ character as a Java character.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    setCharValue
     public void setCharValue(char v) throws IVJJException
    
    Sets the C++ character to the value of the Java character v argument.

    Parameters:
    v - Copies this Java character into the C++ character.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    Retu k$"756$P"./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rchar_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RDOUBLE

    Class com.ibm.ivj.eab.j2cppaccess.RDOUBLE

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RDOUBLE
    

    public class RDOUBLE
    extends __J2CPP_

    Java representation of a reference to a double.

    This class extends __J2CPP_.

    Here is an example of how a RDOUBLE can be used in Java client code:

          double v = 3.14D;
          RDOUBLE rd = new RDOUBLE(v);
          double value = rd.doubleValue();
     


    Constructor Index

    RDOUBLE()
    Allocates a new RDOUBLE and initializes the C++ double that it represents to 0.
    RDOUBLE(double)
    Allocates a new RDOUBLE and initializes the C++ double to the value represented by the Java double argument.
    RDOUBLE(String)
    Allocates a new RDOUBLE and initializes the C++ double to the value represented by the Java String argument.
    RDOUBLE(__NullConstructor_)

    Method Index

    doubleValue()
    Returns the value of the C++ double as a Java double.
    finalize()
    Memory cleanup.
    setDoubleValue(double)
    Sets the C++ double to the value of the Java double v argument.
    toString()
    Returns the value of the C++ double as a Java String.

    Constructors

    RDOUBLE
     protected RDOUBLE(__NullConstructor_ _null_constructor_)
    
    RDOUBLE
     public RDOUBLE()
    
    Allocates a new RDOUBLE and initializes the C++ double that it represents to 0.

    RDOUBLE
     public RDOUBLE(double v)
    
    Allocates a new RDOUBLE and initializes the C++ double to the value represented by the Java double argument.

    Parameters:
    v - Copies this Java double into the allocated C++ double.
    RDOUBLE
     public RDOUBLE(String v) throws IVJJException
    
    Allocates a new RDOUBLE and initializes the C++ double to the value represented by the Java String argument.

    Parameters:
    v - Copies this Java String into the allocated C++ double.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain decimal digits.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ double as a Java String.

    Returns:
    The C++ double as a Java String.
    Overrides:
    toString in class Object
    doubleValue
     public native double doubleValue()
    
    Returns the value of the C++ double as a Java double.

    Returns:
    The C++ double as a Java double.
    setDoubleValue
     public native void setDoubleValue(double v)
    
    Sets the C++ double to the value of the Java double v argument.

    Parameters:
    v - Copies this Java double into the C++ double.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    trin kB$756$P./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rdouble_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RFLOAT

    Class com.ibm.ivj.eab.j2cppaccess.RFLOAT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RFLOAT
    

    public class RFLOAT
    extends __J2CPP_

    Java representation of a reference to a float.

    This class extends __J2CPP_.

    Here is an example of how a RFLOAT can be used in Java client code:

          float f = 3.14F;
          RFLOAT rf = new RFLOAT(f);
          float value = rf.floatValue();
     


    Constructor Index

    RFLOAT()
    Allocates a new RFLOAT and initializes the C++ float that it represents to 0.
    RFLOAT(float)
    Allocates a new RFLOAT and initializes the C++ float to the value represented by the Java float argument.
    RFLOAT(String)
    Allocates a new RFLOAT and initializes the C++ float to the value represented by the Java String argument.
    RFLOAT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    floatValue()
    Returns the value of the C++ float as a Java float.
    setFloatValue(float)
    Sets the C++ float to the value of the Java float v argument.
    toString()
    Returns the value of the C++ float as a Java String.

    Constructors

    RFLOAT
     protected RFLOAT(__NullConstructor_ _null_constructor_)
    
    RFLOAT
     public RFLOAT()
    
    Allocates a new RFLOAT and initializes the C++ float that it represents to 0.

    RFLOAT
     public RFLOAT(float v)
    
    Allocates a new RFLOAT and initializes the C++ float to the value represented by the Java float argument.

    Parameters:
    v - Copies this Java float into the allocated C++ float.
    RFLOAT
     public RFLOAT(String v) throws IVJJException
    
    Allocates a new RFLOAT and initializes the C++ float to the value represented by the Java String argument.

    Parameters:
    v - Copies this Java String into the allocated C++ float.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain decimal digits.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ float as a Java String.

    Returns:
    The C++ float as a Java String.
    Overrides:
    toString in class Object
    floatValue
     public native float floatValue()
    
    Returns the value of the C++ float as a Java float.

    Returns:
    The C++ float as a Java float.
    setFloatValue
     public native void setFloatValue(float v)
    
    Sets the C++ float to the value of the Java float v argument.

    Parameters:
    v - Copies this Java float into the C++ float.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    m k"@$756$P./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rfloat_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RINT

    Class com.ibm.ivj.eab.j2cppaccess.RINT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RINT
    

    public class RINT
    extends __J2CPP_

    Java representation of a reference to an integer.

    This class extends __J2CPP_.

    Here is an example of how a RINT can be used in Java client code:

          int i = 25;
          RINT ri = new RINT(i);
          int value = ri.intValue();
     


    Constructor Index

    RINT()
    Allocates a new RINT and initializes the C++ integer that it represents to 0.
    RINT(int)
    Allocates a new RINT and initializes the C++ integer to the value represented by the Java integer argument.
    RINT(String)
    Allocates a new RINT and initializes the C++ integer to the value represented by the Java String argument.
    RINT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    intValue()
    Returns the value of the C++ integer as a Java integer.
    setIntValue(int)
    Sets the C++ integer to the value of the Java integer v argument.
    toString()
    Returns the value of the C++ integer as a Java String.

    Constructors

    RINT
     protected RINT(__NullConstructor_ _null_constructor_)
    
    RINT
     public RINT()
    
    Allocates a new RINT and initializes the C++ integer that it represents to 0.

    RINT
     public RINT(int v)
    
    Allocates a new RINT and initializes the C++ integer to the value represented by the Java integer argument.

    Parameters:
    v - Copies this Java integer into the allocated C++ integer.
    RINT
     public RINT(String v) throws IVJJException
    
    Allocates a new RINT and initializes the C++ integer to the value represented by the Java String argument.

    Parameters:
    v - Copies this Java String into the allocated C++ integer.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain decimal digits.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ integer as a Java String.

    Returns:
    The C++ integer as a Java String.
    Overrides:
    toString in class Object
    intValue
     public native int intValue()
    
    Returns the value of the C++ integer as a Java integer.

    Returns:
    The C++ integer as a Java integer.
    setIntValue
     public native void setIntValue(int v)
    
    Sets the C++ integer to the value of the Java integer v argument.

    Parameters:
    v - Copies this Java integer into the C++ integer.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    e kB$~756$P~./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rint_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RLONG

    Class com.ibm.ivj.eab.j2cppaccess.RLONG

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RLONG
    

    public class RLONG
    extends __J2CPP_

    Java representation of a reference to a long.

    This class extends __J2CPP_.

    Here is an example of how a RLONG can be used in Java client code:

          long l = 300;
          RLONG rl = new RLONG(l);
          long value = rl.longValue();
     


    Constructor Index

    RLONG()
    Allocates a new RLONG and initializes the C++ long that it represents to 0.
    RLONG(long)
    Allocates a new RLONG and initializes the C++ long to the value represented by the Java long argument.
    RLONG(String)
    Allocates a new RLONG and initializes the C++ long to the value represented by the Java String argument.
    RLONG(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    longValue()
    Returns the value of the C++ long as a Java long.
    setLongValue(long)
    Sets the C++ long to the value of the Java long v argument.
    toString()
    Returns the value of the C++ long as a Java String.

    Constructors

    RLONG
     protected RLONG(__NullConstructor_ _null_constructor_)
    
    RLONG
     public RLONG()
    
    Allocates a new RLONG and initializes the C++ long that it represents to 0.

    RLONG
     public RLONG(long v)
    
    Allocates a new RLONG and initializes the C++ long to the value represented by the Java long argument.

    Parameters:
    v - Copies this Java long into the allocated C++ long.
    RLONG
     public RLONG(String v) throws IVJJException
    
    Allocates a new RLONG and initializes the C++ long to the value represented by the Java String argument.

    Parameters:
    v - Copies this Java String into the allocated C++ long.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain decimal digits.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ long as a Java String.

    Returns:
    The C++ long as a Java String.
    Overrides:
    toString in class Object
    longValue
     public native long longValue()
    
    Returns the value of the C++ long as a Java long.

    Returns:
    The C++ long as a Java long.
    setLongValue
     public native void setLongValue(long v)
    
    Sets the C++ long to the value of the Java long v argument.

    Parameters:
    v - Copies this Java long into the C++ long.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

     k$756$P./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rlong_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RSCHAR

    Class com.ibm.ivj.eab.j2cppaccess.RSCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RSCHAR
    

    public class RSCHAR
    extends __J2CPP_

    Java representation of a reference to a signed char.

    This class extends __J2CPP_.

    Here is an example of how a RSCHAR can be used:

         Imported C++ class A has a method A::setChar(signed char& value);
         Example Java client code is:
            byte a = 20;
            RSCHAR sChar = new RSCHAR(a);
            A classA = new A();
            classA.setChar(sChar);
            byte b = sChar.scharValue();
     


    Constructor Index

    RSCHAR()
    Allocates a new RSCHAR and initializes the C++ signed character that it represents to '\0'.
    RSCHAR(byte)
    Allocates a new RSCHAR and initializes the C++ signed char to the value represented by the Java byte argument.
    RSCHAR(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    scharValue()
    Returns the value of the C++ signed character as a Java byte.
    setScharValue(byte)
    Sets the C++ signed character to the value of the Java byte v argument.
    toString()
    Returns the value of the C++ signed character as a Java string.

    Constructors

    RSCHAR
     protected RSCHAR(__NullConstructor_ _null_constructor_)
    
    RSCHAR
     public RSCHAR()
    
    Allocates a new RSCHAR and initializes the C++ signed character that it represents to '\0'.

    RSCHAR
     public RSCHAR(byte v)
    
    Allocates a new RSCHAR and initializes the C++ signed char to the value represented by the Java byte argument.

    Parameters:
    v - Copies this Java byte into the allocated C++ signed character.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ signed character as a Java string.

    Returns:
    The C++ signed character as a Java String.
    Overrides:
    toString in class Object
    scharValue
     public native byte scharValue()
    
    Returns the value of the C++ signed character as a Java byte.

    Returns:
    The C++ signed character as a Java byte.
    setScharValue
     public native void setScharValue(byte v)
    
    Sets the C++ signed character to the value of the Java byte v argument.

    Parameters:
    v - Copies this Java byte into the C++ signed character.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    r k$4756$P4./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rschar_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RSHORT

    Class com.ibm.ivj.eab.j2cppaccess.RSHORT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RSHORT
    

    public class RSHORT
    extends __J2CPP_

    Java representation of a reference to a short.

    This class extends __J2CPP_.

    Here is an example of how a RSHORT can be used in Java client code:

          short s = 3;
          RSHORT rs = new RSHORT(s);
          short value = rs.shortValue();
     


    Constructor Index

    RSHORT()
    Allocates a new RSHORT and initializes the C++ short that it represents to 0.
    RSHORT(short)
    Allocates a new RSHORT and initializes the C++ short to the value represented by the Java short argument.
    RSHORT(String)
    Allocates a new RSHORT and initializes the C++ short to the value represented by the Java String argument.
    RSHORT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setShortValue(short)
    Sets the C++ short to the value of the Java short v argument.
    shortValue()
    Returns the value of the C++ short as a Java short.
    toString()
    Returns the value of the C++ short as a Java string.

    Constructors

    RSHORT
     protected RSHORT(__NullConstructor_ _null_constructor_)
    
    RSHORT
     public RSHORT()
    
    Allocates a new RSHORT and initializes the C++ short that it represents to 0.

    RSHORT
     public RSHORT(short v)
    
    Allocates a new RSHORT and initializes the C++ short to the value represented by the Java short argument.

    Parameters:
    v - Copies this Java short into the allocated C++ short.
    RSHORT
     public RSHORT(String v) throws IVJJException
    
    Allocates a new RSHORT and initializes the C++ short to the value represented by the Java String argument.

    Parameters:
    v - Copies this Java String into the allocated C++ short.
    Throws: IVJJException
    Thrown when the String argument is empty or does not contain decimal digits.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ short as a Java string.

    Returns:
    The C++ short as a Java String.
    Overrides:
    toString in class Object
    shortValue
     public native short shortValue()
    
    Returns the value of the C++ short as a Java short.

    Returns:
    The C++ short as a Java short.
    setShortValue
     public native void setShortValue(short v)
    
    Sets the C++ short to the value of the Java short v argument.

    Parameters:
    v - Copies this Java short into the C++ short.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    ment. k6x"$756$P,./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rshort_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RUCHAR

    Class com.ibm.ivj.eab.j2cppaccess.RUCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RUCHAR
    

    public class RUCHAR
    extends __J2CPP_

    Java representation of a reference to an unsigned char.

    This class extends __J2CPP_.

    Here is an example of how a RUCHAR can be used:

         Imported C++ class A has a method A::setChar(unsigned char& c);
         Example Java client code is:
            char a = 'u';
            RUCHAR myChar = new RUCHAR(a);
            A classA = new A();
            classA.setChar(myChar);
            String charString = myChar.toString();
     


    Constructor Index

    RUCHAR()
    Allocates a new RUCHAR and initializes the C++ unsigned character that it represents to '\0'.
    RUCHAR(char)
    Allocates a new RUCHAR and initializes the C++ unsigned char to the value represented by the Java char argument.
    RUCHAR(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setUcharValue(char)
    Sets the C++ unsigned character to the value of the Java character v argument.
    toString()
    Returns the value of the C++ unsigned character as a Java String.
    ucharValue()
    Returns the value of the C++ unsigned character as a Java character.

    Constructors

    RUCHAR
     protected RUCHAR(__NullConstructor_ _null_constructor_)
    
    RUCHAR
     public RUCHAR()
    
    Allocates a new RUCHAR and initializes the C++ unsigned character that it represents to '\0'.

    RUCHAR
     public RUCHAR(char v) throws IVJJException
    
    Allocates a new RUCHAR and initializes the C++ unsigned char to the value represented by the Java char argument.

    Parameters:
    v - Copies this Java character into the allocated C++ unsigned character.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.

    Methods

    toString
     public String toString() throws IllegalArgumentException
    
    Returns the value of the C++ unsigned character as a Java String.

    Returns:
    The C++ unsigned character as a Java String.
    Throws: IllegalArgumentException
    Thrown when the default system character encoding is not supported.
    Overrides:
    toString in class Object
    ucharValue
     public char ucharValue() throws IVJJException
    
    Returns the value of the C++ unsigned character as a Java character.

    Returns:
    The C++ unsigned character as a Java character.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    setUcharValue
     public void setUcharValue(char v) throws IVJJException
    
    Sets the C++ unsigned character to the value of the Java character v argument.

    Parameters:
    v - Copies this Java character into the C++ unsigned character.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    th kO%$4756$P@4./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.ruchar_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RUINT

    Class com.ibm.ivj.eab.j2cppaccess.RUINT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RUINT
    

    public class RUINT
    extends __J2CPP_

    Java representation of a reference to an unsigned integer.

    This class extends __J2CPP_.

    Here is an example of how a RUINT can be used in Java client code:

          long l = 300;
          RUINT rl = new RUINT(l);
          long value = rl.uintValue();
     


    Constructor Index

    RUINT()
    Allocates a new RUINT and initializes the C++ unsigned integer that it represents to 0.
    RUINT(long)
    Allocates a new RUINT and initializes the C++ unsigned integer to the value represented by the Java long argument.
    RUINT(String)
    Allocates a new RUINT and initializes the C++ unsigned integer to the value represented by the Java String argument.
    RUINT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setUintValue(long)
    Sets the C++ unsigned integer to the value of the Java long v argument.
    toString()
    Returns the value of the C++ unsigned integer as a Java String.
    uintValue()
    Returns the value of the C++ unsigned integer as a Java long.

    Constructors

    RUINT
     protected RUINT(__NullConstructor_ _null_constructor_)
    
    RUINT
     public RUINT()
    
    Allocates a new RUINT and initializes the C++ unsigned integer that it represents to 0.

    RUINT
     public RUINT(long v) throws IVJJException
    
    Allocates a new RUINT and initializes the C++ unsigned integer to the value represented by the Java long argument.

    Parameters:
    v - Copies this Java long into the allocated C++ unsigned integer.
    Throws: IVJJException
    Thrown when the long argument is negative.
    RUINT
     public RUINT(String v) throws IVJJException
    
    Allocates a new RUINT and initializes the C++ unsigned integer to the value represented by the Java String argument.

    Parameters:
    v - Copies this Java String into the allocated C++ unsigned integer.
    Throws: IVJJException
    Thrown when the String argument is empty, represents a negative number or does not contain decimal digits.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned integer as a Java String.

    Returns:
    The C++ unsigned integer as a Java String.
    Overrides:
    toString in class Object
    uintValue
     public native long uintValue()
    
    Returns the value of the C++ unsigned integer as a Java long.

    Returns:
    The C++ unsigned integer as a Java long.
    setUintValue
     public native void setUintValue(long v)
    
    Sets the C++ unsigned integer to the value of the Java long v argument.

    Parameters:
    v - Copies this Java long into the C++ unsigned integer.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

     kB($756$P./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.ruint_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RULONG

    Class com.ibm.ivj.eab.j2cppaccess.RULONG

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RULONG
    

    public class RULONG
    extends __J2CPP_

    Java representation of a reference to an unsigned long.

    This class extends __J2CPP_.

    Here is an example of how a RULONG can be used in Java client code:

          long l = 300;
          RULONG rl = new RULONG(l);
          long  value = rl.ulongValue();
     


    Constructor Index

    RULONG()
    Allocates a new RULONG and initializes the C++ unsigned long that it represents to 0.
    RULONG(long)
    Allocates a new RULONG and initializes the C++ unsigned long to the value represented by the Java long argument.
    RULONG(String)
    Allocates a new RULONG and initializes the C++ unsigned long to the value represented by the Java String argument.
    RULONG(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setUlongValue(long)
    Sets the C++ unsigned long to the value of the Java long v argument.
    toString()
    Returns the value of the C++ unsigned long as a Java String.
    ulongValue()
    Returns the value of the C++ unsigned long as a Java long.

    Constructors

    RULONG
     protected RULONG(__NullConstructor_ _null_constructor_)
    
    RULONG
     public RULONG()
    
    Allocates a new RULONG and initializes the C++ unsigned long that it represents to 0.

    RULONG
     public RULONG(long v) throws IVJJException
    
    Allocates a new RULONG and initializes the C++ unsigned long to the value represented by the Java long argument.

    Parameters:
    v - Copies this Java long into the allocated C++ unsigned long.
    Throws: IVJJException
    Thrown when the long argument is negative.
    RULONG
     public RULONG(String v) throws IVJJException
    
    Allocates a new RULONG and initializes the C++ unsigned long to the value represented by the Java String argument.

    Parameters:
    v - Copies this Java String into the allocated C++ unsigned long.
    Throws: IVJJException
    Thrown when the String argument is empty, represents a negative number or does not contain decimal digits.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned long as a Java String.

    Returns:
    The C++ unsigned long as a Java String.
    Overrides:
    toString in class Object
    ulongValue
     public native long ulongValue()
    
    Returns the value of the C++ unsigned long as a Java long.

    Returns:
    The C++ unsigned long as a Java long.
    setUlongValue
     public native void setUlongValue(long v)
    
    Sets the C++ unsigned long to the value of the Java long v argument.

    Parameters:
    v - Copies this Java long into the C++ unsigned long.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    ) < k@+$756$Pf./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rulong_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RUSHORT

    Class com.ibm.ivj.eab.j2cppaccess.RUSHORT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RUSHORT
    

    public class RUSHORT
    extends __J2CPP_

    Java representation of a reference to an unsigned short.

    This class extends __J2CPP_ .

    Here is an example of how a RUSHORT can be used in Java client code:

          int i = 5;
          RUSHORT rs = new RUSHORT(i);
          int j = rs.ushortValue();
          rs.setUshortValue(j+3);
     


    Constructor Index

    RUSHORT()
    Allocates a new RUSHORT and initializes the C++ unsigned short that it represents to 0.
    RUSHORT(int)
    Allocates a new RUSHORT and initializes the C++ unsigned short to the value represented by the Java integer argument.
    RUSHORT(String)
    Allocates a new RUSHORT and initializes the C++ unsigned short to the value represented by the Java String argument.
    RUSHORT(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setUshortValue(int)
    Sets the C++ unsigned short to the value of the Java integer v argument.
    toString()
    Returns the value of the C++ unsigned short as a Java String.
    ushortValue()
    Returns the value of the C++ unsigned short as a Java integer.

    Constructors

    RUSHORT
     protected RUSHORT(__NullConstructor_ _null_constructor_)
    
    RUSHORT
     public RUSHORT()
    
    Allocates a new RUSHORT and initializes the C++ unsigned short that it represents to 0.

    RUSHORT
     public RUSHORT(int v) throws IVJJException
    
    Allocates a new RUSHORT and initializes the C++ unsigned short to the value represented by the Java integer argument.

    Parameters:
    v - Copies this Java integer into the allocated C++ unsigned short.
    Throws: IVJJException
    Thrown when the int argument is negative.
    RUSHORT
     public RUSHORT(String v) throws IVJJException
    
    Allocates a new RUSHORT and initializes the C++ unsigned short to the value represented by the Java String argument.

    Parameters:
    v - Copies this Java String into the allocated C++ unsigned short.
    Throws: IVJJException
    Thrown when the String argument is empty, represents a negative number or does not contain decimal digits.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned short as a Java String.

    Returns:
    The C++ unsigned short as a Java String.
    Overrides:
    toString in class Object
    ushortValue
     public native int ushortValue()
    
    Returns the value of the C++ unsigned short as a Java integer.

    Returns:
    The C++ unsigned short as a Java integer.
    setUshortValue
     public native void setUshortValue(int v)
    
    Sets the C++ unsigned short to the value of the Java integer v argument.

    Parameters:
    v - Copies this Java integer into the allocated C++ unsigned short.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

    Ush k.$756$Py./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rushort_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.RWCHAR

    Class com.ibm.ivj.eab.j2cppaccess.RWCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.__J2CPP_
               |
               +----com.ibm.ivj.eab.j2cppaccess.RWCHAR
    

    public class RWCHAR
    extends __J2CPP_

    Java representation of a reference to a wide character (wchar_t).

    This class extends __J2CPP_.

    Here is an example of how a RWCHAR can be used:

         Imported C++ class A has a method A::setChar(wchar_t& w);
         Example Java client code is:
            char a = 'w';
            RWCHAR rw = new RWCHAR(a);
            A classA = new A();
            classA.setChar(rw);
            String charString = rw.toString();
     


    Constructor Index

    RWCHAR()
    Allocates a new RWCHAR and initializes the C++ wide character that it represents to '\0'.
    RWCHAR(char)
    Allocates a new RWCHAR and initializes the C++ wide character to the value represented by the Java char argument.
    RWCHAR(__NullConstructor_)

    Method Index

    finalize()
    Memory cleanup.
    setWcharValue(char)
    Sets the C++ wide character to the value of the Java character v argument.
    toString()
    Returns the value of the C++ wide character as a Java string.
    wcharValue()
    Returns the value of the C++ wide character as a Java character.

    Constructors

    RWCHAR
     protected RWCHAR(__NullConstructor_ _null_constructor_)
    
    RWCHAR
     public RWCHAR()
    
    Allocates a new RWCHAR and initializes the C++ wide character that it represents to '\0'.

    RWCHAR
     public RWCHAR(char v) throws IVJJException
    
    Allocates a new RWCHAR and initializes the C++ wide character to the value represented by the Java char argument.

    Parameters:
    v - Copies this Java character into the allocated C++ wide character.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.

    Methods

    toString
     public String toString() throws IllegalArgumentException
    
    Returns the value of the C++ wide character as a Java string.

    Returns:
    The C++ wide character as a Java String.
    Throws: IllegalArgumentException
    Thrown when the default system character encoding is not supported.
    Overrides:
    toString in class Object
    wcharValue
     public char wcharValue() throws IVJJException
    
    Returns the value of the C++ wide character as a Java character.

    Returns:
    The C++ wide character as a Java character.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    setWcharValue
     public void setWcharValue(char v) throws IVJJException
    
    Sets the C++ wide character to the value of the Java character v argument.

    Parameters:
    v - Copies this Java character into the C++ wide character.
    Throws: IVJJException
    Thrown when the default system character encoding is not supported.
    finalize
     protected native void finalize()
    
    Memory cleanup.

    Overrides:
    finalize in class Object

     k1$4756$PF4./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.rwchar_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.SCHAR

    Class com.ibm.ivj.eab.j2cppaccess.SCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.SCHAR
    

    public class SCHAR
    extends Object

    Java representation of a signed char.

    Here is an example of how a SCHAR can be used in Java client code:

          byte a = 5;
          SCHAR sc = new SCHAR(a);
          byte b = sc.scharValue();
          sc.setScharValue(8);
     


    Constructor Index

    SCHAR()
    Allocates a new SCHAR and initializes its value to zero.
    SCHAR(byte)
    Allocates a new SCHAR and initializes its value to the value represented by the Java byte v argument.

    Method Index

    scharValue()
    Returns the value of the C++ signed character as a Java byte.
    setScharValue(byte)
    Sets the C++ signed character to the value of the Java byte v argument.
    toString()
    Returns the value of the C++ signed character as a Java string.

    Constructors

    SCHAR
     public SCHAR()
    
    Allocates a new SCHAR and initializes its value to zero.

    SCHAR
     public SCHAR(byte v)
    
    Allocates a new SCHAR and initializes its value to the value represented by the Java byte v argument.

    Parameters:
    v - Copies this Java byte into the value field.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ signed character as a Java string.

    Returns:
    The C++ signed character as a Java String.
    Overrides:
    toString in class Object
    scharValue
     public byte scharValue()
    
    Returns the value of the C++ signed character as a Java byte.

    Returns:
    The C++ signed character as a Java byte.
    setScharValue
     public void setScharValue(byte v)
    
    Sets the C++ signed character to the value of the Java byte v argument.

    Parameters:
    v - Sets the value of this C++ signed character to the Java byte v argument.

    59 k8A4$"756$`"./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.schar_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.UCHAR

    Class com.ibm.ivj.eab.j2cppaccess.UCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.UCHAR
    

    public class UCHAR
    extends Object

    Java representation of an unsigned char.

    Here is an example of how a UCHAR can be used in Java client code:

          char a = 'a';
          UCHAR uc = new ULONG(a);
          long b = uc.ucharValue();
          uc.setUcharValue('y');
     


    Constructor Index

    UCHAR()
    Allocates a new UCHAR and initializes its value to zero.
    UCHAR(char)
    Allocates a new UCHAR and initializes its value to the value represented by the Java char v argument.

    Method Index

    setUcharValue(char)
    Sets the C++ unsigned character to the value of the Java character v argument.
    toString()
    Returns the value of the C++ unsigned character as a Java String.
    ucharValue()
    Returns the value of the C++ unsigned character as a Java character.

    Constructors

    UCHAR
     public UCHAR()
    
    Allocates a new UCHAR and initializes its value to zero.

    UCHAR
     public UCHAR(char v)
    
    Allocates a new UCHAR and initializes its value to the value represented by the Java char v argument.

    Parameters:
    v - Copies this Java character into the value field.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned character as a Java String.

    Returns:
    The C++ unsigned character as a Java String.
    Overrides:
    toString in class Object
    ucharValue
     public char ucharValue()
    
    Returns the value of the C++ unsigned character as a Java character.

    Returns:
    The C++ unsigned character as a Java character.
    setUcharValue
     public void setUcharValue(char v)
    
    Sets the C++ unsigned character to the value of the Java character v argument.

    Parameters:
    v - Set the C++ unsigned character to the value of v.

    avad k97$"756$`"./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.uchar_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.UINT

    Class com.ibm.ivj.eab.j2cppaccess.UINT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.UINT
    

    public class UINT
    extends Object

    Java representation of an unsigned integer.

    Here is an example of how a UINT can be used in Java client code:

          long a = 5;
          UINT ui = new UINT(a);
          long b = ui.uintValue();
          ui.setUintValue(8);
     


    Variable Index

    loc
    The locale of the current machine.

    Constructor Index

    UINT()
    Allocates a new UINT and initializes its value to zero.
    UINT(long)
    Allocates a new UINT and initializes its value to the value represented by the Java long v argument.
    UINT(String)
    Allocates a new UINT and initializes its value to the value represented by the Java String v argument.

    Method Index

    setUintValue(long)
    Sets the C++ unsigned integer to the value of the Java long v argument.
    toString()
    Returns the value of the C++ unsigned integer as a Java String.
    uintValue()
    Returns the value of the C++ unsigned integer as a Java long.

    Variables

    loc
     protected Locale loc
    
    The locale of the current machine.


    Constructors

    UINT
     public UINT()
    
    Allocates a new UINT and initializes its value to zero.

    UINT
     public UINT(String v) throws IVJJException
    
    Allocates a new UINT and initializes its value to the value represented by the Java String v argument.

    Parameters:
    v - Copies this Java String into the value field.
    Throws: IVJJException
    Thrown when the String argument is empty, represents a negative number or does not contain decimal digits.
    UINT
     public UINT(long v) throws IVJJException
    
    Allocates a new UINT and initializes its value to the value represented by the Java long v argument.

    Parameters:
    v - Copies this Java long into the value field.
    Throws: IVJJException
    Thrown when the long argument is negative.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned integer as a Java String.

    Returns:
    The C++ unsigned integer as a Java String.
    Overrides:
    toString in class Object
    uintValue
     public long uintValue()
    
    Returns the value of the C++ unsigned integer as a Java long.

    Returns:
    The C++ unsigned integer as a Java long.
    setUintValue
     public void setUintValue(long v) throws IVJJException
    
    Sets the C++ unsigned integer to the value of the Java long v argument.

    Parameters:
    v - Sets the C++ unsigned integer to the value of v.
    Throws: IVJJException
    Thrown when the long argument is negative.

    Class com.ibm.ivj.eab.j2cppaccess.ULONG

    Class com.ibm.ivj.eab.j2cppaccess.ULONG

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.ULONG
    

    public class ULONG
    extends Object

    Java representation of an unsigned long.

    Here is an example of how a ULONG can be used in Java client code:

          long a = 5;
          ULONG ul = new ULONG(a);
          long b = ul.ulongValue();
          ul.setUlongValue(8);
     


    Variable Index

    loc
    The locale of the current machine.

    Constructor Index

    ULONG()
    Allocates a new ULONG and initializes its value to zero.
    ULONG(long)
    Allocates a new ULONG and initializes its value to the value represented by the Java long v argument.
    ULONG(String)
    Allocates a new ULONG and initializes its value to the value represented by the Java String v argument.

    Method Index

    setUlongValue(long)
    Sets the C++ unsigned long to the value of the Java long v argument.
    toString()
    Returns the value of the C++ unsigned long as a Java String.
    ulongValue()
    Returns the value of the C++ unsigned long as a Java long.

    Variables

    loc
     protected Locale loc
    
    The locale of the current machine.


    Constructors

    ULONG
     public ULONG()
    
    Allocates a new ULONG and initializes its value to zero.

    ULONG
     public ULONG(String v) throws IVJJException
    
    Allocates a new ULONG and initializes its value to the value represented by the Java String v argument.

    Parameters:
    v - Copies this Java String into the value field.
    Throws: IVJJException
    Thrown when the String argument is empty, represents a negative number or does not contain decimal digits.
    ULONG
     public ULONG(long v) throws IVJJException
    
    Allocates a new ULONG and initializes its value to the value represented by the Java long v argument.

    Parameters:
    v - Copies this Java long into the value field.
    Throws: IVJJException
    Thrown when the long argument is negative.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned long as a Java String.

    Returns:
    The C++ unsigned long as a Java String.
    Overrides:
    toString in class Object
    ulongValue
     public long ulongValue()
    
    Returns the value of the C++ unsigned long as a Java long.

    Returns:
    The C++ unsigned long as a Java long.
    setUlongValue
     public void setUlongValue(long v) throws IVJJException
    
    Sets the C++ unsigned long to the value of the Java long v argument.

    Parameters:
    v - Sets the C++ unsigned long to the value of v.
    Throws: IVJJException
    Thrown when the long argument is negative.

     kF =$756$P./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.ulong_mi.html$$ Class com.ibm.ivj.eab.j2cppaccess.USHORT

    Class com.ibm.ivj.eab.j2cppaccess.USHORT

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.USHORT
    

    public class USHORT
    extends Object

    Java representation of an unsigned short.

    Here is an example of how a USHORT can be used in Java client code:

          int a = 5;
          USHORT us = new USHORT(a);
          int b = us.ushortValue();
          us.setUshortValue(6);
     


    Variable Index

    loc
    The locale of the current machine.

    Constructor Index

    USHORT()
    Allocates a new USHORT and initializes its value to zero.
    USHORT(int)
    Allocates a new USHORT and initializes its value to the value represented by the Java int v argument.
    USHORT(String)
    Allocates a new USHORT and initializes its value to the value represented by the Java String v argument.

    Method Index

    setUshortValue(int)
    Sets the C++ unsigned short to the value of the Java integer v argument.
    toString()
    Returns the value of the C++ unsigned short as a Java String.
    ushortValue()
    Returns the value of the C++ unsigned short as a Java integer.

    Variables

    loc
     protected Locale loc
    
    The locale of the current machine.


    Constructors

    USHORT
     public USHORT()
    
    Allocates a new USHORT and initializes its value to zero.

    USHORT
     public USHORT(String v) throws IVJJException
    
    Allocates a new USHORT and initializes its value to the value represented by the Java String v argument.

    Parameters:
    v - Copies this Java String into the value field.
    Throws: IVJJException
    Thrown when the String argument is empty, represents a negative number or does not contain decimal digits.
    USHORT
     public USHORT(int v) throws IVJJException
    
    Allocates a new USHORT and initializes its value to the value represented by the Java int v argument.

    Parameters:
    v - Copies this Java integer into the value field.
    Throws: IVJJException
    Thrown when the int argument is negative.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ unsigned short as a Java String.

    Returns:
    The C++ unsigned short as a Java String.
    Overrides:
    toString in class Object
    ushortValue
     public int ushortValue()
    
    Returns the value of the C++ unsigned short as a Java integer.

    Returns:
    The C++ unsigned short as a Java integer.
    setUshortValue
     public void setUshortValue(int v) throws IVJJException
    
    Sets the C++ unsigned short to the value of the Java integer v argument.

    Parameters:
    v - Sets the C++ unsigned short to the value of v.
    Throws: IVJJException
    Thrown when the int argument is negative.

    HORT Class com.ibm.ivj.eab.j2cppaccess.WCHAR

    Class com.ibm.ivj.eab.j2cppaccess.WCHAR

    java.lang.Object
       |
       +----com.ibm.ivj.eab.j2cppaccess.WCHAR
    

    public class WCHAR
    extends Object

    Java representation of a wide character (char_t).

    Here is an example of how a WCHAR can be used in Java client code:

          char a = 'a';
          WCHAR wc = new WCHAR(a);
          char b = wc.wcharValue();
          wc.setWcharValue('x');
     


    Constructor Index

    WCHAR()
    Allocates a new WCHAR and initializes its value to zero.
    WCHAR(char)
    Allocates a new WCHAR and initializes its value to the value represented by the Java char argument.

    Method Index

    setWcharValue(char)
    Sets the C++ wide character to the value of the Java character v argument.
    toString()
    Returns the value of the C++ wide character as a Java String.
    wcharValue()
    Returns the value of the C++ wide character as a Java character.

    Constructors

    WCHAR
     public WCHAR()
    
    Allocates a new WCHAR and initializes its value to zero.

    WCHAR
     public WCHAR(char v)
    
    Allocates a new WCHAR and initializes its value to the value represented by the Java char argument.

    Parameters:
    v - Copies this Java character into the value field.

    Methods

    toString
     public String toString()
    
    Returns the value of the C++ wide character as a Java String.

    Returns:
    The C++ wide character as a Java String.
    Overrides:
    toString in class Object
    wcharValue
     public char wcharValue()
    
    Returns the value of the C++ wide character as a Java character.

    Returns:
    The C++ wide character as a Java character.
    setWcharValue
     public void setWcharValue(char v)
    
    Sets the C++ wide character to the value of the Java character v argument.

    Parameters:
    v - Sets the C++ wide character to the value of v.

    59 kXC$"756$`"./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/com.ibm.ivj.eab.j2cppaccess.wchar_mi.html$$ Package com.ibm.ivj.eab.j2cppaccess

    All Packages

    package com.ibm.ivj.eab.j2cppaccess

    Class Index

    IVJCppResource
    IVJCppResourceHandler
    IVJJ2CPPBeanInfo
    IVJJConvert
    PCHAR
    PDOUBLE
    PFLOAT
    PINT
    PLONG
    PSCHAR
    PSHORT
    PUCHAR
    PUINT
    PULONG
    PUSHORT
    PWCHAR
    RCHAR
    RDOUBLE
    RFLOAT
    RINT
    RLONG
    RSCHAR
    RSHORT
    RUCHAR
    RUINT
    RULONG
    RUSHORT
    RWCHAR
    SCHAR
    UCHAR
    UINT
    ULONG
    USHORT
    WCHAR
    __Finalizer_
    __J2CPP_
    __NullConstructor_
    __OpFix_
    __PlacementDelimiter_

    Exception Index

    IVJJException
    R"> k0dG$7I66$./usr/IBMVJava/html/enterp/en_US/j2cpp/ref/tree.htmlm.i$$ Class Hierarchy (C++ Access Builder)

    Class Hierarchy (C++ Access Builder)

    • class java.lang.Object
      • class com.ibm.ivj.eab.j2cppaccess.IVJCppResourceHandler
      • class java.util.ResourceBundle
        • class java.util.ListResourceBundle
      • class com.ibm.ivj.eab.j2cppaccess.SCHAR
      • class java.beans.SimpleBeanInfo (implements java.beans.BeanInfo)
      • class java.lang.Throwable (implements java.io.Serializable)
        • class java.lang.Exception
          • class java.lang.RuntimeException
      • class com.ibm.ivj.eab.j2cppaccess.UCHAR
      • class com.ibm.ivj.eab.j2cppaccess.UINT
      • class com.ibm.ivj.eab.j2cppaccess.ULONG
      • class com.ibm.ivj.eab.j2cppaccess.USHORT
      • class com.ibm.ivj.eab.j2cppaccess.WCHAR
      • class com.ibm.ivj.eab.j2cppaccess.__Finalizer_
      • class com.ibm.ivj.eab.j2cppaccess.__J2CPP_
        • class com.ibm.ivj.eab.j2cppaccess.IVJJConvert
        • class com.ibm.ivj.eab.j2cppaccess.PCHAR
        • class com.ibm.ivj.eab.j2cppaccess.PDOUBLE
        • class com.ibm.ivj.eab.j2cppaccess.PFLOAT
        • class com.ibm.ivj.eab.j2cppaccess.PINT
        • class com.ibm.ivj.eab.j2cppaccess.PLONG
        • class com.ibm.ivj.eab.j2cppaccess.PSCHAR
        • class com.ibm.ivj.eab.j2cppaccess.PSHORT
        • class com.ibm.ivj.eab.j2cppaccess.PUCHAR
        • class com.ibm.ivj.eab.j2cppaccess.PUINT
        • class com.ibm.ivj.eab.j2cppaccess.PULONG
        • class com.ibm.ivj.eab.j2cppaccess.PUSHORT
        • class com.ibm.ivj.eab.j2cppaccess.PWCHAR
        • class com.ibm.ivj.eab.j2cppaccess.RCHAR
        • class com.ibm.ivj.eab.j2cppaccess.RDOUBLE
        • class com.ibm.ivj.eab.j2cppaccess.RFLOAT
        • class com.ibm.ivj.eab.j2cppaccess.RINT
        • class com.ibm.ivj.eab.j2cppaccess.RLONG
        • class com.ibm.ivj.eab.j2cppaccess.RSCHAR
        • class com.ibm.ivj.eab.j2cppaccess.RSHORT
        • class com.ibm.ivj.eab.j2cppaccess.RUCHAR
        • class com.ibm.ivj.eab.j2cppaccess.RUINT
        • class com.ibm.ivj.eab.j2cppaccess.RULONG
        • class com.ibm.ivj.eab.j2cppaccess.RUSHORT
        • class com.ibm.ivj.eab.j2cppaccess.RWCHAR
      • class com.ibm.ivj.eab.j2cppaccess.__NullConstructor_
      • class com.ibm.ivj.eab.j2cppaccess.__OpFix_
      • class com.ibm.ivj.eab.j2cppaccess.__PlacementDelimiter_

    a k|8L$ 7LI66$b ./usr/IBMVJava/html/enterp/en_US/j2cpp/tasks/tdjcrtcl.htm.ivj.e$$ Creating a Client Using C++ Access Beans

    Creating a Client Using C++ Access Beans

    Once the C++ Access Builder has generated the access beans and associated classes and you have created the shared libraries, you are ready to create your client.

    1. If you generated your access beans from the command line, import the required packages into your client code.
    2. Assemble the client in the Visual Composition Editor.
    3. Handle any exceptions.
    4. Save the client code.

    Assemble the Client in the Visual Composition Editor
    To assemble the client in the Visual Composition Editor:

    1. Create or select a package for your client applet or application. From the package's popup menu, select Open To - Visual Composition. The Visual Composition Editor opens.

    2. Add the access bean to the free-form surface as a nonvisual bean. On the Beans Palette, click the Choose Bean button and browse to your generated access bean. Then drop the bean on the free-form surface.

    3. Connect the user interface controls of your visual client to the nonvisual bean.

    Detailed information about dropping beans in the Visual Composition Editor is found in the topic Composing Beans Visually topic under the heading Adding Beans from the Palette.

    Handle Exceptions
    You may choose to enable your application to handle any IVJJException exceptions thrown as a result of problems encountered by the client in making a native method call. For example, you could handle IVJJException exceptions in the following manner:

    try {
    ... } catch( IVJJException exc ) {
    System.out.printIn("Error: " + exc.getMessage( ) ); }

    Save the Client Code
    In the Visual Composition Editor, when you select Save Bean from the Bean menu, your client code is automatically compiled.

    However, you can also export your classes from the IDE and compile the client from the command line using the Java Developers Kit (JDK) Version 1.1.6. If you developed the client application from the command line, then you must compile from the command line.

     


    C++ Access Builder: Overview


    Composing Beans Visually

     

    cdhinors "_fgjlmpuv#()/=Abwy CELMSTx,-INOPkBDFRWGKUV'023Jqz&1;HX!89?Q[]+5:YZ~6Pm4z9NR{E  )v}E8YI G`5R!NY$)ڲHPP@`@``( 8e0`pda Vnvxh `(, U@!lYQ}6 0Aa`@eB~, IG@0tldZ?I Y$(lZ>ȟ (88[, ,ק\eIJZ?(ldܐf|| PLGbIUJ-ZժhsZ:X`Y@#sE| X9s?%q*Ja瓷jV,;R}<P ֡ZըVd [ƟP5B%B:X`n۵|R)c+4 7mځUF)B!^,0YL> vUoC,B!^,0YM> vUoC,PHWK VmP*e!]dN,σp6ݨ[nhK+hn۵|R)`B!^,0YN> vUoC, I axn۵|R)`u $zte|@#sE| XWY$+ӥ (|@#sE| XPHWK Qgn 74YHwWY$+ӥ )3 jV,;R”+3 jV,;R I aʈn۵|R)` $zte"|@#sE| X)B!^,0Y@|@#sE| XI aʐn۵|R)`BuB:X`|@#sE| XZuB:X` 7mځUF) $zte$|@#sE| XPHWK R`gn 74YHw $zte> vUoC, PHWK Phn۵|R)` PHWK P3 jV,;R(WY$+ӥ (σp6ݨ[nhK ]dIdBdagf ++^RZ6ey?vkX ډlt @`%B5jZj)8# ;0Y^O]rI2!B5jY$)*]+ӥ (;oO!$~{-eP_P$4˜;m^,0YGt|vy A#ܑm-ڀr(R! 4)#ܒuER$U)WK Q?|vnDlIlnA @aK@ H ߯e'4Ÿ ٔwO9ja;zܷȍIƼ<͖@9{K)`+C]dTu@FjR @lcFyI|]'Iʉ|"r@Zmtg6s:>w6s@$7W@a;57$[fv%/ud趟 as~WK Q?h}uy"6[Q,4 rJIJkWTf(N4 rT9ўR|:eqnR|ek2H$ܕERezteٲݨf!Hi$P CO6I{3]L?twOڽ:X`?ClnDIJkWTf(N\lz[=,^ȷؤ4PEOY$U)WK Q?gh}qm-ڀ~6b >?D6j M@^{) ESN,~66[Q,}ruERJvW8'K*&W2-Ř|~S"]'K,*]+ӥ ( >͖@?1)|l+ClHf-˜ zteٲݨ/be,++*֮JPk)>zYQ2)LqoS"]'K,*]+ӥ ( >͖@?1)|l+AlHf-˜ zteٲݨ/be,++*֮JPk)>zYQ2)n, d[eERezte,0fk~H͖@8,0Ra@p H ߯e'4˜ a6wOܰhE1"6[Q,E1% $5HSut N,~65 E)FElj ˳B]JQ%,`4+5hD(WX6II3c*22:;m^,0YGtmvjrRlnD0l]"R+*֮0&l”ȷ0l]"R)n.?]P772sEReztee٨f-J2-eP0l]"R| R ˳B]JQu >H'IQ09?gja;o˳Pt[d[fv%gЬEd]dTu@I3g^EgЬEdLqt9eMc~6"}!7,*]+ӥ (fIKln3J_c1Pl]L?twO3m^,0YGt6O%8[fv%y ]dTuA/'FFU鑄1¶47)ܭk:X ͯc1E?l*]+ӥ (y$[fv;? >)}uB?| d趟 |7$gfQ?oӥ (y$[fv%:(WY$U)]PfOgO2Mc~6yStR=7)a7Oz1ERezte ۜX z[fv;@"xGT+@\X l]L?twO3m^,0YGt6^'ٲݨ/be,.,D $5b;:|adT^,0YGtln3ـ $A?ga{'%/* /d& +5m>nḤ~Gڽ:X`mٲݨ/be,(WY$U)]P:%+]=wOܐ}3'< f# lnD1 50PHSZygܯP1 50W',*]+ӥ ( fNxG_ٲݨdG_;l/d~6Y%,c@k1|`]bOZ f#$$͌ʘ WK Q?rA̜50-eP^X3'0b:B"MjrCP3'0b:‡?]^d0s{Ϭ f#,*]+ӥ (}}:dRp50-eP1#"um-ڀr(R0DtPh@k1|`]dTu@I3g^1#~6OJXk]b#Nh ^4M@$f0O! 4fi-@h$x{$Smy ztemy |a4͖@9{K)cjuER$͝xPkQv3hsծʚ8ǘmN)IQv3l*]+ӥ (;omk=dlnkVH h~O!1!<)}22C]b3_'6IYirFvemy ztemy |`{ m-ڀr(R3_{(WY$U)]P Wvk dT^,0YGt|vy A#ܑm-ڀ~|` !wO63_'%/_FFHcT+@k& +5m>Gtja;j glnD0 O!Ig+*֮ ?'Z|` !O!4}> Z$C5l0=d޼G{$U)WK Q?|vqDȶ͖@8p8 ,`(0 pX8P`P$R~OO|)ΎwO1A>2-eP^XX % $5 vW|deZzyL  6QJ D"M2:X`>{2'EljHA`ApH AK! PH d^OiO09?|vڽ:X`>{2'EljآYK =|d]dTuAOp6]ٯO)|aCc&䩑>2HSut N,~ m-ڀqpX8P`,0 !,`8`0 Hbu$ײ~SL?twON,~ m-ڀr(Rqx(WY$U)]Pc #*evk gG_Vn"|edT^,0YGts="6[ _f< H ߯e'4˜;m^,0YGts="6[Q,>2PHSZe ("|eFFTΎ0>9lGPɹ)$U)WK Q?|vqDȶ͖@?f<2nHk~0c&+ /~ as~ztem|dOlnD>{B"Mj62nJ*22tuσb:MN"M2:X`>{2'Elj5?G_`nzxd^OiO09?|vڽ:X`>{2'EljآYK =|d]dTuA dOʙ‡> 7%;$7W@a;o],-ePٯO4@ٯO5B H ߯e!趟 as~6wO޺Y[fv%K;T+*֮JPkڂH TLzyZglsZgm(EReztev(m-ڀ~zxzx M@Vk|)Ύ?WK Q?gzgiHٲݨ/be,1 (uERJ +]]Z̒+],eHSut N,~6e-ePٯO4 J IKקQIx Pl]L?twOڽ:X`?K;MRD͖@9{K)aviE$T+*֮JPxVO^ܨZ$ܕDקl3µϙ$VYF)#dT^,0YGt>͖?|lnXBI??):;-yN,~ןf ~AEljآYKc' PHSZ<1#鑄hʀ4|*]+ӥ (;oO!$~{-ePtxClc5K }͜dT^,0YGt5lnA?h}u4 rBJ_kT+@ @7$& +5m>Gt֯N,~_ rEljآYK^h+*֮JPz^hst#\O&"M2:X`o|2EljZ ;l(#d4IKju d趟 as~ztem0dlnDo|2JIJkWDCֻ*hcȠaֻ+ ډ|鑆%dT^,0YGtl7"6[wO2D֨WXxa->& +5m>Gtja;daٲݨ/be,0d+*֮"5vTD֨WX@h$ESWK Q?ikϳeOg? "6[Q,ia(WY$U)]P%<ܝ $ fbPf0HSut N,~c7͖@?kD>D֨WX@h$ESmӥ (;nX4-eP^XO $5ν#@4q1>O*5$2:S"\0pj2-ŒEx6ȷ =BsRoEReztemۉ5׳rEljZ ;om |!?|v' C$$B |!qr!6I{3]L?twON,~;qGtja;j glnD0 O!Ig+*֮c[:B)OǾ{~S12@aHf(NRɤ~ g2VIJnwOn'?^=ٲݨh~O!Q/2@Z;aQJx|`C$$BE)TuK *:%܆HM@^{) ESmӥ (;oO!$~{-eP^X$0!<$~{PHSZl<!|`=܆H sԄR0C$^ $jR],Gm yC%dT^,0YGtrom-ڀ~ֈ;E%/ D$f-˜;m^,0YGtrom-ڀr(Rf~(WY$U)]PƶuF/ҙ d[k:3| ?,*]+ӥ (;mA!ljZ ;lRD+  )"HM@Vk|)ΎwOȠa6[Q,c WY$U)]Pƶuʚ8ǘm#RF%[e2(#d6"M2:X`O6[wOc7IKju1i& +5m>Gtja;ۖ3| ? lnDc7B"Mj5Rolk\ԱidT^,0YGtlt^-ePtmD֨WXh$ESmӥ (;mمljآYKt^PHSZlŸlk\ҙ)n.%dT^,0YGtgz[fv? >)}P{'6IYi:;WK Q?|vٲݨ/be,% $5εSG![edQ2Dhl*]+ӥ (;m EljZ  h | d趟 as~ztemH͖@9{K)aY+*֮c[:!CvT$B@h$ESmӥ (;lKlnDuER kgZ쩣yk Z쩲Q<=$7W@a;j glnA?|v' |!?|v' |!RZ]b07B_=dC$& /~k|)ΎwOn'?^=ٲݨ/be,`CB?^=(WY$U)]EReztemۉ5׳rEljZ ;om/b8%܆H GtxCl |/2BJ_kT+@6#_=d r!6I{3]L?twON,~;qGtja;=6[Q,z]dTuCֻ*hcٯ(r*Ա5by (I|l*]+ӥ (;m O@͖@?kF3_{;c_=d֌f0 |!P_=d$f-˜;m^,0YGthd~ljآYK $AB"Mj5vTGtja; ͖@9{K)a;WY$U)]Pƶuʚ8ǘmvk =܆J5,cGtja;ۛ%v%J'7B"Mj5vTu6J'C|*]+ӥ (} ~-eP|dz;xĤ`-ygRZט} ט}6IYi:;xĤja;xĤonC_lnDnC_+*֮c[:̖dzQk:{rdT^,0YGtl -ePxaЗr!txCl(#d4%܆HIKh6HdeZΞ7,*]+ӥ (;msrއ7Z2EljZM$2Bއ7,7 HIKhld[fv wO$iRZ~!  v3D$f-˜ڽ:X`K^}ȶ͖@9{K)`'uER kgZ쩣y"1CkcZ쬃j&Vh)d6򆏨,*]+ӥ (}}ٲݨhD6CztetȠa$7W@a;xĤonC_ȣljZnC_Gt^,0YGtk|p͖@9{K)`v5<-G+*֮c[:!sOnC_l9dT^,0YGthc_]m-ڀ~ց~:J_k@sqB d趟 as~ztemvEljآYK ƿKPHSZlž7+cZ=OC[.^6sHc_+e Y$U)WK Q?|v`/$[fvt9 ;l7h J_k@sqB Z|4M@Vk|)ΎwO5e ٲݨ/be,+.^IB"Mj5Sg?OCvQL| `/TI4}k:C[.^J"M2:X`o|2EljZAmc h HӱDցD 2HӱD$f-˜;m^,0YGtl7"6[Q, uER kgZ쩣y"1CkcZΙo|2USG$|IJnwO6J'ٲݨhOwO2~6#Nh RZA+@L7+$7W@a;j gln C By |!?ikϰC$$ C]bhK hK $Ri:;WK Q?|vCPH{<$[fv%H`By H{<$]dTtIf(NRɤ~ g2Tdv6|!rH2@a75+$7W@a;cam-ڀ~ցwO^4IKhq | d趟 as~ztem{0͖@9{K)`يIJkWT1xSk:t^̲HSut N,~=-eP>? >)} ]bOl]L?twON,~=-eP^XKIJkWTIT^,0YGtgz[fv}| J_k@(WXh d趟 as~ztemm-ڀr(R_=PHSZH$7W@a;c -eP>/2B<qr!%/}_=d+@qr!6IYi:;WK Q?|vim-ڀr(R݌juER kgZ쩣y=dcRc~6td$V; HSut N,~; 2 ?q6[ C$ ;om |!RZ@%܆IB |!d趟 as~ztemX؆Iٲݨ/be,X؆d ]dTuCֻ*hc(r*Ա򟸅by (I|lCi T,*]+ӥ (;mمljZ@%܆HA?|v' C$$K u C$& +5m>Gtja;cam-ڀr(R+*֮c[:eMc~6C%[3SO!% "ϝ)n,{1B VIJnwO'7? lnK ~O!@%܆HIKhqr% @%܆HM@Vk|)ܑGtja;~ƟljآYK 7?+*֮c[^|!KO)V'd+]= ")SnN"M2:X`|͖@?k@{;`}_=dց |!P}_=d$f-˜;m^,0YGtgz[fv%T+*֮c[:eMc~6C%[3SO!% "ϝEReztem(#d4͖@?k@> |!wO6> |!RZxK u<%܆HM@Vk|)ΎwOȠa6[Q,c WY$U)]Pƶuʚ8ǘm}C%[3P/'ђZΙ2dT^,0YGtcc&▖ٲݨhO(#d4A?|v)im-ڀr(RXɹ >)juER kgZ쩣y"1CkcZZJoʚ8ǘi$S# c6"M2:X`ljZ- wO2~6#NhО>)h)juER kgZ쩣y"1CkcZΙ?ZrPEo~TLt2vIJnwOlѼljZ- wO2~6#NhО>)h)im-ڀr(R4-PHSZl]4q1dPF0mlk] IM6SG$da=|64f$U)WK Q?|v|R<9 -ePО>)hh;l(#d4IKhO(#d5B@2& +5m>Gtja;gO▖ٲݨ/be,ɡ<|R $5$7W@a;0?Z[fv<|Rxatm@wO2$'Z2]bOZ d趟 as~ztem|G--eP^X|GKT+*֮c[:eMc~62[e-HSut N,~d--ePО>)h)h)mEReztem-CÛ-ePО>)h3(;m^,0YGtgKPlnD- +*֮c[:eMc~62CvT)mERezteR|yJ_kB%  ǣd趟 |7$gfQ?s%'>wOI>e-eP^XREB"Mj5vTtȠa$7W@a;`[fv IKh":WX6IYi:;WK Q?|vԷc6[Q,n IJkWT,vR9Z졩nIJnwOlny )}G^` & +5m>Gtja;g~eljآYKOB"MjruG2U+]*]+ӥ (;m4͖@?kAט<@DuPl]L?twON,~; 6[Q,  $5}ֻ)TLvP; HSut N,~; 2 ?q6[G^`J_kAט=B H t[O09?|vڽ:X``,lCP$ lnD`,lCB PHSZygܝk̕De1X؆HSut N,~:/fٲݨh":RZ M@Vk|)ΎwOE6[Q,/f(WY$U)]PGtja;daٲݨ/be,0d+*֮"טko|2UK>zG2VIJnwOim-ڀ~ւ#0x%/]b$f-˜;m^,0YGtm>&ٲݨ/be,>&WY$U)]P&,Y$U)WK Q?|vُ?|M-ePDu$y+@$ESmӥ (;lǟ>&ٲݨ/be,y?T+*֮Y'Z~S_ω :G2VIJnwOd[fv IKh":WX6IYi:;WK Q?|vْam-ڀr(Ryt1B"Mjru#+$7W@a;?lny )}G^` & +5m>Gtja;?lnDIJkWT,vR9#*>t$U)WK Q?|vٲݨh":RZ M@Vk|)ΎwO{祶ljآYK |B"MjruG2TdeZ=HSut N,~2 ٲݨh":RZ M@Vk|)ΎwOA"6[Q,dPHSZygܝk$s%dT^,0YGthdv IKh":WX6IYi:;WK Q?|vٲݨ/be,+ ]dTu@Ϲ:e!J,Y$U)WK Q?|vm-ڀ~ւ#0x%/]b$f-˜;m^,0YGthd~ljآYK $AB"MjruC ?q#+$7W@a;G-ePDu$y+@$ESmӥ (;m <͖@9{K)` =B"Mjruxa :G2VIJnwOQI2 ٲݨh":RZ M@Vk|)ΎwOQI2 ٲݨ/be,RD+ uER>]QIC Α̕EReztem͒-ePDu$y+@$ESmӥ (;nlOGtja; ,ljآYK ,IJkWT,vPfgY9HSut N,~1{Klny )}G^` & +5m>Gtja; ͖@9{K)a;WY$U)]PGt>wOZ#gO? lnD <|i]dTuCׅDlIcZLI<ʵϝDiͲHSut N,~JO}t2EljZ  ~JO ǣ?s%'Ic)}IB1 ǣd趟 |7$gfQ?s%'>wOI>H͖@9{K)`(WY$U)]PƶuQ EReztes|` }` )}d|BH>s|`& +5m>nḤ~JO}ӥ (}}6ClnD1Cd=B"Mj5vTtOladT^,0YGt ^H͖@?kAR9-p%܆HA?csv Qhwx/2BJ_kAR9-p%܆IBrZ<K $ES#;2zte7<'lJ{y"6[Q,=uERk*{ V((7+mERezte7<'h({nM$Q͖@?kAR9-p%܆HA?csv Qhwx/2BJ_kAR9-p%܆IBrZ<K $ES7<'ja;nxNєQh;ܚHim-ڀr(RR9-p-$QB"Mj5(7_=dcZ=dl*]+ӥ (;FQG%ȶ͖@?kAR9-p%܆HA?csv Qhwx/2BJ_kAR9-p%܆IBrZ<K $ES#;2zte7<'h(~5ٲݨ/be,( ~JIJkWTa2TdeZTKGܬO!IJnwO(e4F26[J(x; r!t *QG%n{ )}J(x; r%  Qhwx/2Bl]L?twOӥ (;FQG%i"eljآYKJ(xC_ZHjuERk*{ V((7+mERezteu8dT^,0YGthd-ePмGd IKh^#2Pl]L?twON,~2 ٲݨ/be,+ uER kg^}WG k%_k]ĥ,1EReztem"1CKln3t%܆HA?|v' |!RZC$]b07B_=d$f-˜;m^,0YGt{Ƞa6[Q,`nc WY$U)]Pƶuʚ8ǘmnby =dcR? :$2QBϝn"1Cl*]+ӥ (;O6Gtja;6Ohi|R6[Q,i=/4'Z]dTtIJnwOn'6[` aAH@ 0`$ !†u H ߯e'4˜;m^,0YGt|vy -eP^X$0!S|7 SFFUʗQ2NJzCkm=HSut N,~O!rS24͖@8@@X`P@ 0a,`  ,0( XH H ߯e'4˜;omӥ (;om y -eP^XƜ ' $5 εG>#*eKܨ]%=C!6$U)WK Q?|v'9) [fv`  ,0( X  @@X@@X`P@ 00$ (W]@^{)?'>GtxCm^,0YGtxCo䧨d7im-ڀr(R4䧨d4!zYLwdT^,0YGtxCo䧨d7im-ڀq9) O!4䧼i@h R4䧨d4!D$$͌ʘ;omӥ (;om y -eP^XƜ ' $5'I:1%=C! 64f]4q1ӒN)I$I$7W@a;}%=C!{ٲݨ9) <Dmy 9) O!J_iOPh 祀7]b4䧨d4!3(;omӥ (;om C$[fv%9) |!PHSZ</CvR|ekNJ{Ɵ:c $U)WK Q?|vCPH{<$[fv䧨d4wxwO64䧨d4!<)}%=C!'juӒЄ& +5m>Gtja;j glnD0 O!Ig+*֮ ?'ZӒKn6<'[mk+䧨d4wx3]Σ =܆H { mERezte} lni qJXƟPl fTdeL?twOZލӥ (?$[fv%?$]dTtIJnwOZp͖@?3rBK^}pIKnIBpM@Vk|)ΎK^}ӥ (~m-ڀr(Ro]dTuA=<>t߹Os7%Z쩣y~ERezteg? "6[;l4f)|(WXHӱ& +5m>Gt>wOZ|lnD7B"Mj>Y:ek1{jXɳHSut N,~ןf ~AEljwO$iRPc4M@Vk|)ΎK^}ӥ (ٲc'3om-ڀr(R4|+*֮(#哭vV ;$7W@a;`}A6[;`}= RPC'D$f-˜QN,~G޽ -eP^XcA $5εϝkA?Jסނ5jHd4bH$$7W@a;zܷȍI3(;msrwO9oC1 z?jiMY$U)WK Q?pʹ{#c5m-ڀ~y'r]ψ< d|ƟS WK Q?pʹ{#c5m-ڀr(R@C+*֮e)n/d(S"Xϝ)n,*ȷO ރ፧‰"20 |(sS༝O!3{~6[8c%x~3x@<3?&2X7?+@$ES#;2ja;`}fljآYKxoB"Mj+}k?'RJPnhg~Pܠpm Z$bRCi)$HHSut N,~,6)AG_ٲݨ|x Ѐb:@0gh)AuudOd62#*as~^,0YGt>YY {>]CMPd(+]6%)cl*]+ӥ (;omCKln ,(`X)cC + /~ as~O!N,~O!"y -eP^X 5B"Mj(1\^"ט20mERezteg? "6[X H ߯e'4˜ڽ:X`K^}om-ڀr(R(WY$U)]P{deNR€ gE)SvIJnwOZ|ln ,R P$R~OO|)ΎK^}ӥ (9ٲݨ/be,ouERL'FFT߹^ zdT^,0YGt!͖@8AEp ,X + /~ as~vwOn~ᑒKlnD}2CuERL'FFT0(PU=yC!IJnwOlѼFwf[fv_(W]@ ~SL?twON,~d0˾26[Q,i=/40˾5 $5 sF?m>t9 e2(#d6:U鯚'I"M2:X`Ck|7 ٲݨh~^h䄔WXnHM@Vk|)ΎC^,0YGt5lnD<7 (WY$U)]P:<7 PFyI|F|6IJnwOZkylj  R]bW^h$ESWK Q?ikϱٲݨ/be,~WY$U)]PLM{9珡u|kCvTGt֯N,~_ rEljآYK^h+*֮JPz^hst#\h>x$7W@a;;KQKg΁m-ڀG~9swO9sR!B16IYi:;zteFإg@͖@9{K)`c4쳠]dTuAi as}=O2Zΐt[[McCr4)vTYвHSut N,~6| dlnQ4@R(]b'瀛$ESN,~6| dlnD| R0̒uER EgZjXy ¢ekȷ61?<)n."I ƵS>Ԍ3%dT^,0YGtmd5# ٲݨ裐h;IK裐juc$f-˜ zte=hԌ3$[fv%h d+*֮b(:eOdReo+]E;B+Ԑmlk\O5# Y$U)WK Q?gs>H2Elj(! %/A! 6IYi:;m^,0YGtmd5# ٲݨ/be,/da% $59εS>ԱdDe)n-PED^FCkcZΧ| fJ"M2:X`?۞4jF-ePG wi->$Q5B1@@h$ESN,~6| dlnD| R0̒uER EgZjXy ¢ezC|LvQ$R% d[)qjHd65|{'d*]+ӥ ( Fa"6[r ؤ4R(]bl]L?twOڽ:X`?۞4jF-eP^X^4H2JIJkWT1r k| b27 S"[bB+Ԑmlk\O5# Y$U)WK Q?gs>H2Elj( IK裐ju0d趟 as~6wOOR0̑m-ڀr(RO*FPHSZl]=mKO!_TLvR>?T)n."I ƵϝOdCR0̕ERezte=hԌ3$[fvA R(]b d趟 as~6wOOR0̑m-ڀr(RO*FPHSZl]=mKO!_TLvR PE$5$2[>u=m H2VIJnwOOR0̑m-ڀ~9>04IK裐ju>04M@Vk|)Ύ?WK Q?gs>H2EljآYK >fIB"Mj"AvTO,FY<|aQ2Jd[>05B+Ԑmlk\O5# Y$U)WK Q?gs>H2Elj(  Hӱ$Q5BF6IYi:;m^,0YGtmd5# ٲݨ/be,/da% $59εS>ԱdDe)n,4fS"]Ey k:6a+$7W@a;n{'ѩfH͖@?ED| R(]bOl]L?twOڽ:X`?۞4jF-eP^X^4H2JIJkWT1r k| k:6a+$7W@a; ,lj(  hG | d趟 as~ztemr6[Q,`nu $59εFH t[O09?|vڽ:X`w9m-ڀr(R07FK:uERERezteD~im-ڀq~h%,b(]b$$͌ʘ'ڽ:X`~mQ?4͖@9{K)cD $5HSut N,~(}O͞4͖@?E@/>D'7^(WX@h$ES#;2~mӥ ('Eg -eP^XQ?4/R]dTu@9 etQ?6xlcCrxl*]+ӥ (ݶ<lj(<&,񠯻~6OJ_EDŽŜ^4rPP{'6IYi:;p7m^,0YGt9FH}-eP^X z2CuER Eֻ(ק~Js@Gtӥ (ݹO#$>ٲݨ/be,-"~p]dTuCD5( ?w% 65|rdT^,0YGt{0lj(<rPwO^4IKxWABD$f-˜ݵzteE#$>ٲݨ/be,{0]dTuAyvR?w% $7W@a;p7mǡ22Cm-ڀ~'}ܔ| R(<rPP{'6IYi:;p7m^,0YGt9FH}-eP^X z2CuER Eֻ(ק~Js@ٲݨ/be,+'>nT+*֮/6uGdT^,0YGt"~7!͖@?EǂJ? >)}O ((WXh$ESN,~v? [fv%}2CuER Eֻ(ק|YxiOd[>t߹FFH}HSut N,~ןlv`( ]vI{ƟSWK Q?ik϶s -eP^X?? % $5>O|6]dT^,0YGtoC埧͜1H͖@8gK~?rB JXgK~?rJ!->& 0&leFFTGtoCN,~s_f~$[fv%1<54-~+*֮0&l†K8\жsywڛ9:e">td$Su8&eyGt>wOZ|lnD7B"Mj$S̭vQ:|*cukk^TLs@|*]+ӥ (;oim-ڀ#J_d|ƟSmӥ (;oim-ڀr(RjuER y ~}y ZO!IJnwOߓfG_ٲݨ'{YJX?\kG_(WX6II3c*22:;m^,0YGtm?\kفum-ڀr(RI3^b:B"Mj fμ)Lqc$r`@k1|`Lqt9i$R9r"M2:X`?~ ׳Y6[$r`@k1|`  h2O!  /d& 0&leFFTGtmӥ ( '{050-eP^X?\kG_(WY$U)]P)im-ڀq;7!%,dni= 0d$f-˜;m^,0YGtf?Z[fv% 'KT+*֮"M2:X`?ۘ [fv\{"tmF->~6#Nh J_E 4fi-F->D$ײt[O09?gja;nc縁m-ڀr(Rq $5HxxW2QBSG)3+\xᯄkk*hcf|`k1?Ho+]ܞ_W$7W@a;o\{ [(6xG_ٲݨ)qx7A)h$)A f# )c%.<h%-(6auudOd62#*as~6wOߔ& Pl50-eP^XK KA&J @k1|`]dTu@I3g^Ep4Lb0b:Bs$Ss{Ϥ2sERezte.=n-b< f# ln<` ل RJ\x JZ 0PlY h$x{$SN,~6Ǿ إ0lRgum-ڀr(RJ\x JZ 0PlY $5'I: Jd[)qx7A)h$)A f#)n."s^FCik6O<7Op6"M2:X`?7bJ ljJ\x JZ 0PlYtmDp4Lb0b:BD$$͌ʘ zte.=n-b< f# lnD2RnRI,RfG_(WY$U)]PnY$U)WK Q?gh}qm-ڀ7CbIK|+CbM@^{) ESN,~66[Q,}ruERJvW*oTL 4Zx( S(](k" z=ERezteٲݨ!Hi$P CO6I{3]L?twOڽ:X`?ClnDIJkWTf(N^L7!+¼ ?V*^D)ErHt=hB@dT^,0YGtmŶlj8!J_P CO-6) ?$ײt[O09?gja;m-eP^XW(WY$U)]P<`KgRoLdN)n,j2-Ł@ Dd[ȷ$+cH* (`6hO^7S&"M2:X`3R'm-ڀ'KpɈR5-GC&]b$f-˜;WK Q?csvf}JXܛ$v2-eP^XR6Id]dTuDT^,0YGt>7ȶ͖@8@XaK0 P$R~OO|)ΎK^}ӥ (9ٲݨ/be,ouERL'FFTaHSut N,~d)lY-eP?? )}>B H t[O09?oӥ (Ƥa,k[=t lnDa,h{,(WY$U)]P:eA$&Pwg ʖvђ|E-H쳡C[COoIJnwOcGyK|Kg΁m-ڀ~yi IKƟ M@Vk|)Ύ|m^,0YGt64~甸{,ٲݨ/be,2RE- gAB"Mjꀌԥ ֻ* 7%Q2ܝk<(nTPsO)mEOe tR|X | HSut N,~1[=t lnOJ_O4Pl]L?twOja;~>g@͖@9{K)`;<KBYPHSZ#5)BuʂH TL'Z ,%+\я?)E-$:9襴4dT^,0YGt6cܓ[=t lnOJ_O4Pl]L?twOja;~R쳠[fv%HRнt+*֮JPkrU(hֻ3†K;hE >t"$TYСE-ŀ$7W@a;{,ٲݨƟyi]b$f-˜wOo)lY-eP^X{,(WY$U)]P:eA$&Pwg ʖvђ|E-H쳡C[COoIJnwOg|Kg΁m-ڀ~yi IKƟ M@Vk|)Ύ|m^,0YGt6{I'{,ٲݨ/be,%BH Z΂uERJvT@nJe :}xPܩgm(ZΟR$:9襴4dT^,0YGt7c5E--eP?? )}>B H t[O>3(wOqv3_R6[Q,F<KT+*֮JPkrU(hֻ3†K;I"?]l*]+ӥ (4fg@͖@?O4$O & +5m>Gt6N,~ӱ"e6[Q,F<KBYPHSZ#5)BuʂH TL'Z ,E-ŀ$7W@a;^5E-:lj}%/~(WX6IYi:;zte/G"e6[Q,4Rнt+*֮JPkrU(hֻ3†K;hE >t"$TYСE-ŀ$7W@a;RR쳠[fv~R}ud趟 as~WK Q?o7"e6[Q,E- gAB"Mjꀌԥ ֻ* 7%Q2ܝk<(nTPsO)mOeHE-ŀ$7W@a;%f>g@͖@?O4$O & +5m>Gt6N,~RYc[=t lnDA)h^: IJkWTf(NPI*4~~TaZ%)d6΅ERezte ۜX z[fv~R}ud趟 as~ja;8<͖@9{K)aq`/4'WY$U)]P:eA$&Pwg ʖvђ|q`/4(sKhi`-6"M2:X`|n{'ѩfIE-:lj}%/~(WX6IYi:;zteOR0̓[=t lnD| R0̐{,(WY$U)]P:eA$&Pwg ʖvђ|Kh*{,P뢖[mERezte7<'ioߣlnd IK| =B H t[O>3(;WK Q?csv=<͖@9{K)`%xמ]dTuDT^,0YGt|vٲݨJQ~6OJX$0"R+@^4M@ϛIJnwOn'6[ ;l!<)c]bh$x{$Smӥ (;oO!ljآYK' $5'I:H`By ;dkfQ2 =~V'$7W@a;im-ڀqH`By wO$iJX$0!esc:=܆H "?]G{$U)WK Q?|vG_ٲݨ? >)cb:BD$$͌ʘ;m^,0YGt|vk1|`[fv%H`@k1|`]dTu@I3g^O|)Lqcb:Bsծ$8ǘm77C'>nY$(SOY$)Y$+ӥ +mP*e!1B!^,0YC@σp6ݨ[nhKT+3 jV,;R+3 jV,;Re $zte`n۵|R)a I a0 7mځUF)B!^,0YFmP*e!+3 jV,;R]dN,mP*e!PHWK Qgn 74YHwJuB:X``gn 74YHwu $zte|@#sE| XJuB:X`> vUoC,)B!^,0YP> vUoC,]dN,mP*e! PHWK R gn 74YHw+@gn 74YHw]dN,mP*e!(WY$+ӥ *`gn 74YHwWY$+ӥ +@σp6ݨ[nhK PHWK R@gn 74YHw $zte&|@#sE| X PHWK P3 jV,;R $ztemP*e! $zte> vUoC,"uB:X`, 7mځUF)I %B%)N6ʓvo~Pɹ!e1T<,*k_E,*ZT瞵ztel-ځUF)s@~KɎB$T+='n 74YHw<?y: 0]j49BP B?Mzk$HP,(lZ=dNY$@: l"d$756$h./usr/IBMVJava/html/enterp/en_US/jdkref/allclasses.htmt$$  a"ert .<=>chimn/bdfgjlosvES_puCFIwxyABDLMNOPRTk#GKUWz HVZq03J()-2Q!,l_PB2/U a FlP, s% s\ԧ% c[ 2='2,1@P8 & -@`оC 5CL7@ HHHHHM+l3[@ 9(lꟕ预Ә7rPD%Ci9/@J}a»2@J}`AM% R3Hs03d. +~zڗsP5@P8 & ܦuC,fE.*V*/Ӏل2 (`Kc6 mn`D% @d1Y- Nn3d@58 Ψe) LY-Nn3d@LY-&ΨeZp Ψe%80n3d@pSS:Kh3S:KhS LY-Nn3d@U8Ψet[S:KhSLY-Nn3dA LY-N0n3d@n3d@ NLY- LY-S3d1@d$B>/9+̅Oo L P@ l Ω[h N`V ;>9(gT2m3̥G;sA74zᲥo¯[R8 9۝ 77s% C:Kh^J+qb&I=pRWxΜ{テ>lM`(gT2m:/#1`W$l[ԼgN BPΨe/u^GCWb0<Ds +~zڗW{㒄P%_?xŁ^`( 4\6bH9ʕ mKt+&b&̓w0|rP3d]sՁ_6aϹzᲥo¯[R8 }X7s% C:Kh_ =XfsA\6TUj^3_6`; BPΨe/`R v̱$eJ߅^:pŝs-w0|rP3d]sՁH,Y+>H9ʕ mKt);esw0|rP3d]sՁH,Y+"vs +~zڗR v砈; BPΨe//bbX/H9ʕ mKt)^ 7s% C:Kh^J+ .d }؛1$eJ߅^:p̾@hs 8cVٰnJuC,|(QezᲥo¯[R8 (Q㒄P%_?ezl4I=pRWxΜ(Ѓg㒄P%_?ez#E$l[ԼgNe;`(gT2mz˕k)̡XLL$eJ߅^:p/OFe2bf0nJuC,|lM`(gT2mz("hA$l[ԼgN"&L㒄P%_?@8>a$l[ԼgN`(gT2mz(}Ds +~zڗP nJuC,|,͋x$l[ԼgN,͋x>9(J [E^ >lMzᲥo¯[R8 >lM`(`uO@js`0aC:KhXrzᲥo¯[R8 ~`{9Zn0nJuC,|偯*d$l[ԼgN_T5w0|rP3d~g, ~g *V*/Ӏs`(gT2m, ˘$l[ԼgND=20nJuC,|}(*{e^ *V*/Ӏ(*{e^0nJuC,|ެ 1+blĐs +~zڗh̀Ᏹ[f>9(J [ELX:"I=pRWxΜ`% Y-fy1~bH9ʕ mKt1~l㒄P%_?hA\6TUj^3/4z>9(J [E5`l ϦzᲥo¯[R8 [y`% Y-q5`adydLP~BH9ʕ mKt0I(^ܿ& BPΨe/VI7@,^7/I=pRWxΜI7@,^7/Ƀw0|rP3dՁM EzᲥo¯[R8 ,o,m/7s% C:Kh\MXY$YFGos +~zڗadyd`% Y-|/VlĐs +~zڗa{̓w0|rP3dRbH9ʕ mKt0n`(gT2m뉫s8hT $l[ԼgNs8hT >9(J [Ej`\ A\6TUj^3v4/E >9(J>9SE9w0w0aC:KhX\$l[ԼgN\>9(J [E,#gnW=A\6TUj^3s b7㒄P%_?< *V*/ӂ<0nJuC,|@#/Ds +~zڗpE`(gT2m:/#ؓ$eJ߅^:pEĘnJuC,|wzᲥo¯[R8";w0|rP3dj!o$l[ԼgN Ϧ`(gT2m뉫.g "I=pRWxΜ\ E`(gT2m뉫.g 2;x$l[ԼgN.g 2;x>9(J [Ej! ٟxtMpحA\6TUj^3CA>0Ᏹ[f>9(J [E^"x *V*/ӂ!ohc`(gT2mz[ *V*/ӂ!oh` >9(J [E^"xnb¶$l[ԼgN90nJuC,|{R!oS/Dn_zᲥo¯[R8"}1BF0nJuC,|{R!oz(^ܿ!$eJ߅^:pD- /E >9(J [ELXKp *V*/ӂ!o.L㒄P%_? l_bH9ʕ mKt`(gT2m Մ@ؾM}A\6TUj^3@ؾM}`% Y-fy9 *V*/ӂ >9(J [E)ashpحA\6TUj^38#b&̓w0|rP3dR x>GCCH9ʕ mKt9G,ϑ`(gT2m3̥8$ܗzᲥo¯[R8 q&侇77s% C:KhYe, qyH9ʕ mKt9 ^0nJuC,|H9ʕ mKtL3Ms.W= Ϧ`(gT2m Մablk A\6TUj^3ablk `% Y-{aL3$l[ԼgN4>㒄P%_? 0A\6TUj^3a>9(J [E^2Z 0E$l[ԼgN4pic`(gT2m3̥!Q2I=pRWxΜlD BPΨe/aQzᲥo¯[R8 6w=`% Y-|/WgaQ+os +~zڗQ+o7s% C:Kh_ =XAlz *V*/ӂ gsw0|rP3d]sՄ!F砈;$eJ߅^:pAlzs`% Y-sXAC>lMzᲥo¯[R8 ߡb&̓w0|rP3d䢰g;~ }؛1$eJ߅^:pAC>lM`(gT2mEav  }؛1$eJ߅^:pABab&̓w0|rP3dXAblĐs +~zڗv`% Y-fyL ۂߦzᲥo¯[R8 ٝ-n0nJuC,|6{;$eJ߅^:pA0nJuC,|zg3mzᲥo¯[R8 q[x>9(J [E^Ϲ 9=A\6TUj^3=sz>9(J [E^Ϲ x$l[ԼgN6{;DN۝`(gT2m yezᲥo¯[R8 @'^0nJuC,|ެ @'^$l[ԼgN6{s A=nnJuC,|{RA$eJ߅^:p@4 >9(J [E^2Z0ARXLL$eJ߅^:pF(*\ x>9(J [E^ ^n *V*/ӂ`(gT2mX@D A\6TUj^3 ;M@ BPꟕ `ù㒆uC,|9{xzᲥo¯[R8ΰM㒄P%_?<&`$y$l[ԼgN&s BPΨe//bbX 7%8cVى *V*/ӀxI/b&̓w0|rP3d`wDs +~zڗwX7s% C:Kh\V!z$l[ԼgNg^`% Y-sX+<}T$l[ԼgNg^ 7s% C:Kh\MX z$l[ԼgNS/X7s% C:Kh\MX z#rs +~zڗ*b`% Y-q5`/E $eJ߅^:pBw0|rP3dՁX/Dn_zᲥo¯[R8z#r7s% C:KhYŁv ى *V*/Ӏx;bl7s% C:KhYŁؒzᲥo¯[R87s% C:KhX$eJ߅^:pnJuC,|X턛$l[ԼgNr_X7s% C:Kh^fM}!0$eJ߅^:p턛 6Ca㒄P%_?l3V\r_Ds +~zڗ{|e 7%w0|rP3dj˘nKi *V*/Ӏ˘nKi0nJuC,|{RIos +~zڗ{$Ϸ㒄P%_?^Ł1=gX/Dn_zᲥo¯[R8d/E >9(J [EQY=`p I=pRWxΜB7s% C:Kh_ Ձ4$eJ߅^:p9(J [E^\ΉA\6TUj^3+6l㒄P%_?.UAHs +~zڗxB 0E>9(J [E)`sEe *V*/Ӏ`% Y-gsȟx$l[ԼgNO`% Y-gsȟx ^ *V*/Ӏ>| BPΨe/p1`|4U憅LDs +~zڗ|4U憅LX7s% C:KhYy \g$l[ԼgN>9(J [Eηj='X@g;ϦzᲥo¯[R8 Xh3[qw0|rP3do{xO}8(3H9ʕ mKt8(3㒄P%_?x3{A aH9ʕ mKt8(3"5w0|rP3do{xO}8(0XE5 *V*/Ӏc>9(J>9Szs`s% Y-b&,a$l[ԼgNn0nJuC,|}Ds +~zڗϹ`(gT2m1aϹ"'mI=pRWxΜ"v7s% C:KhX}Aco$eJ߅^:psz ~nJuC,|}@ .ؒzᲥo¯[R89=(l㒄P%_?{9aϹ=7s +~zڗϹ=77s% C:KhYe,8cVى *V*/Ӄ>lM`(gT2m3̥ }؛0N;d@zᲥo¯[R88cVمL*q"77s% C:Kh^J+:Ň nhpحA\6TUj^3 nhpح`% Y-q5a6|ȁ9(gT2mXMzᲥo¯[R8&Ȋqw0|rP3dR2߫ @zᲥo¯[R8&6a 㒄P%_?l3V0aGblĐs +~zڗ1tv&̓w0|rP3dՄA\6TUj^3`% Y-q5a12s"A\6TUj^3Ȋqw0|rP3dXLL7s% C:Kh\MXLL7/I=pRWxΜ6*b`% Y-q5a13obP~BH9ʕ mKtz(^ܿ& BPΨe/V6|$eJ߅^:pLLm/7s% C:Kh\MXLL##H9ʕ mKtFGo7s% C:KhYe,$~ *V*/ӂL7`(gT2mz pEzᲥo¯[R8$B4z>9(J [E^ϹMxq[x$l[ԼgN 5m`(gT2mz> 5}Ds +~zڗ&YϹ`(gT2mz> 5D *V*/ӂMx;nw㒄P%_?M *V*/ӂMnJuC,| 6z ȼ$eJ߅^:pIME0nJuC,|XI/H9ʕ mKtr_X7s% C:Kh_ Մ畉 *V*/ӂs7s% C3~Vi`ù㒆uC,|s^pzᲥo¯[R8*y㒄P%_?^ŀe\$l[ԼgNr7#̹w0|rP3dX 6gnxNA\6TUj^3ܠfv BPΨe/`.D7(MH9ʕ mKt"@ᦋ BPΨe/`.DG 4^ *V*/Ӏ\h`% Y-g[t5},EA\6TUj^3hL㒄P%_?^Ł1(^ܿ!$eJ߅^:p S/Dn_`(gT2m1`LE,@X/Dn_zᲥo¯[R8@X/Dn_`(`uO@;#3dؘ Ά̱$eJ߅^:pCx[`(gT2m&6sMzᲥo¯[R8ng;~ٰnJgTN`Lw0|rPΨe/u^GCVEcH9ʕ mKt.{ `% Y-g[t5aD\:!抱$eJ߅^:pQ=yw0|rP3dRŒ2^8zᲥo¯[R8(,`ﳎn0nJuC,|lM`(gT2m3̥e8#~pحA\6TUj^3e8#~pح`% Y-fy 7 }؛1$eJ߅^:pQY\Æ>lM`(gT2m3̥eC/#~pحA\6TUj^3eC/#~pح`% Y-|/V.U *V*/ӂʶ BPΨe/q*.U3I=pRWxΜ.U3w0|rP3d\eʵKa13os +~zڗRXLL BPΨe/q*.U:$eJ߅^:pTV 7s% C:Kh_ \XTV H$eJ߅^:pTV H BPΨe/gK ͐3pD<ʰzᲥo¯[R8*o6Bs, q*㒄P%_?.U*dX`AHs +~zڗS" 0E>9(J [Eǿ32,2a44g?"+M$eJ߅^:pTȰ =77s% C:KhYe,*dX`,^.d1+blĐs +~zڗS"bHs Ᏹ[f>9(J [EzށH#,ㄐs +~zڗSFY0nJuC,|{R¦Ios +~zڗS$Ϸ㒄P%_?^Ł1g7/I=pRWxΜ2Lx1BF0nJuC,|zϹzᲥo¯[R8*bsz>9(J [Ej¦(^ܿ!$eJ߅^:pT >9(J [Ej¦(^ܿ m/s +~zڗS/Dn_6㒄P%_?¦uH9ʕ mKt੝zs`(gT2m3̥Ln *V*/ӂv~ه77s% C:KhYe,*goMpحA\6TUj^3L6l㒄P%_?2=s +~zڗS*w0|rP3dR§7s +~zڗS㒄P%_?2=b6bH9ʕ mKt @pح`% Y-q5aS+lXpحA\6TUj^3Oo0Xab&̓w0|rP3d~g,*{*߱6ab&I=pRWxΜ=No؛0Ᏹ[f>9(J [Eǿ3=NopI=pRWxΜ=Noqw0|rP3dՅLdH3ppحA\6TUj^3LdH3ppح`% Y-g[t5aS?k 6bH9ʕ mKt੟̉5 }؛6 BPΨe/V3 9v6bH9ʕ mKt੟̉˷pح`% Y-g[t5aS?lMzᲥo¯[R8*g"@3pح`% Y-fyL¦yfUpحA\6TUj^3L_&Ᏹ[f>9(J [Ejab&I=pRWxΜ 6l㒄P%_?+nAϹzᲥo¯[R8+nAϹ`(gT2mz> ې"'mI=pRWxΜ DN۝`(gT2mz-2Đs +~zڗ[rf[enJgTS7sp s% Y-g[t5`5 *V*/Ӏk `% Y-|/Wg`5HI=pRWxΜXh+o7s% C:Kh_ =X aϹzᲥo¯[R8w0|rP3doՀ1+blĐs +~zڗ5 }؛6 BPΨe/v}VXh"'mI=pRWxΜXh"'mw0|rP3doՀ \z1+blĐs +~zڗ5|W+ }؛6 BPΨe/u^GCVXh3s +~zڗ59(gT2mzGA\6TUj^38c`(gT2m:/#1`vx1+blĐs +~zڗvx1+bl7s% C:Kh_ Ղ8iʼ zᲥo¯[R8M>U7s% C:Kh_ Ղ8iʼA\6TUj^38iʼ`% Y-y(EI=pRWxΜunJuC,|Dg`r*bA\6TUj^3#; S/Dn_`(gT2m뉫Fv !ȼA\6TUj^3#; ^0nJuC,|a$l[ԼgNF`U77s% C:Kh_ Ղ"v *V*/Ӂ;X7s% C:KhXDƋ\2Đs +~zڗ8x [`(gT2mEg^xA AH9ʕ mKtA A㒄P%_?^ł 2Đs +~zڗ_̶ BPΨe/גʉہ vhzᲥo¯[R8k6ʉہ㒄P%_?%x}#rs +~zڗJ~L㒄P%_?26e *V*/Ӂ̦ BPꟕ4 `ù㒆uC,|ެ$ܕAb&I=pRWxΜ nJᏱ[f>9(J [EQX' }؛1$eJ߅^:p' }؛6 BPΨe/gKzᲥo¯[R8 㒄P%_?6Dx;;H9ʕ mKtM}`(gT2m3̥eV x$l[ԼgN܇`% Y-|/Wr`.U4^>Đs +~zڗ.U4^>7s% C:Kh_ ՂnbĐs +~zڗ BPΨe/`7$eJ߅^:p&, w0|rP3dX&, 6w=A\6TUj^3nb gs BPΨe/`g3A\6TUj^3nb w0|rP3dX&,+nBH9ʕ mKtMXVܘ7s% C:Kh_ Ղnb@׋$eJ߅^:p&,D x`% Y-g[t5`8UUH9ʕ mKtMw** BPΨe/׶r$ܗ$eJ߅^:p&;a&侰nJuC,|<^Y&[`@zᲥo¯[R8{H`% Y-cߙs"A\6TUj^3o`i{9Zn0nJuC,|{ FelE8cVى *V*/Ӂ18̠mh} }؛6 BPΨe/gK$~i&7H9ʕ mKtID0nJuC,|zIΰ)V *V*/Ӂ&:q[x>9(J [E^Ϲ&:ßs$eJ߅^:p$gXsz>9(J [E^Ϲ&:;nwH9ʕ mKtIΰDN۝`(gT2mz>,6`R8A\6TUj^3MuM؛0)V0nJuC,|zIΰIfsA\6TUj^3MuM؛0DN۝`(gT2m"ؿ x>I=pRWxΜ fk㒄?+ms% Y-y($l[ԼgNyFe0nJuC,|a>9(J [EzQE탍b&I=pRWxΜ 4hqӴ8cVٰnJuC,|:QS 7#pحA\6TUj^3-Q>lM`(gT2m1`D |rpحA\6TUj^3-eb&̓w0|rP3dRF >a$l[ԼgN [0`(gT2m3̥- @pحA\6TUj^3- @pح`% Y-fyQ@|pI=pRWxΜ 4@{Hn0nJuC,|lM`(gT2m:/# [ Ob&I=pRWxΜ 4@/>lM`(gT2m뉫WOᏱ[f$l[ԼgNWOᏱ[f>9(J [EQX(.d }؛1$eJ߅^:p(.d }؛6 BPΨe/u^GCWbF,.wb&I=pRWxΜ 7Aas6l㒄P%_?&n2 O6bH9ʕ mKtQ"<ȁlM`(`uO@s`aC:KhYe,9vA\6TUj^3.߬㒄P%_?&9v z$l[ԼgN]B(^nJuC,|X*bA\6TUj^3.ߡS/Dn_`(gT2m뉫]B(^^dHf$l[ԼgN]B(^^dHf>9(J [EjcoX/Ds +~zڗ˷,^㒄P%_?&9vBF *V*/ӁcoX/Dn_`(gT2m뉫]Dn_Aㄐs +~zڗ˷3s`(gT2m뉫]Dn_pحA\6TUj^3.ߢ7/8cVٰnJuC,|VuXPI=pRWxΜ ;`(gT2m1`μ?e *V*/Ӂcx`% Y-b&,9ׇ *V*/Ӂcx}`(gT2mEg^xXϱ6bH9ʕ mKtXϱ6l㒄P%_?&+bl8cVى *V*/Ӂb&ϘÆ>lM`(gT2m3̥,M n *V*/ӁbH&n77s% C:Kh\MX,^7/I=pRWxΜ `% Y-q5`z(^ܿ ##H9ʕ mKtX/Dn_ BPΨe/u^GCWbasA\6TUj^3x>9(J>9S2;w0|rPΨe/v}V >H9ʕ mKtg9=`% Y-|/V s +~zڗ;1w0|rP3d~g,g?"+M$eJ߅^:p3~DV㒄P%_?l3V u }؛1$eJ߅^:p31+bl7s% C:Kh^ftv&I=pRWxΜ u :;f>9(J [EηjX2Q81$eJ߅^:p2Q86 BPΨe/V *bA\6TUj^3"* z#r7s% C:Kh\MX2"X/Dn_zᲥo¯[R8V@,^7/Ƀw0|rP3dՃ"*"I=pRWxΜ | BPΨe/V zᲥo¯[R8V@ BPΨe/q* e{$eJ߅^:p2!` q7s% C:Kh_ Ճ I=pRWxΜ 63 BPΨe/`L (ى *V*/ӁQ`% Y-|/V 4P@$eJ߅^:p0Bnb7s% C:KhYŃ2|oەDs +~zڗ̱_,s BPΨe/u^GCV A\6TUj^323|Es7s% C:Kh_ Ճ238E *V*/Ӂ T"7s% C:Kh_ Ճ234q$eJ߅^:p3#=SG`% Y-q5`̌F *V*/Ӂ`% Y-q5`̌zᲥo¯[R8`% Y-g[t5`̉l$eJ߅^:p3"5w0|rP3dRkㄐs +~zڗ5q㒄P%_?^Ń0W8I=pRWxΜ E^ll BPΨe/=f*CB!U>H9ʕ mKtf*CB!U>㒄P%_?{9`4U憄C̫D *V*/Ӂh Vs`% Y-cߙa44"eXb$l[ԼgNa44"eXb>9(J [Eǿ3 E^hh~DVH9ʕ mKtf*C@s"`% Y-cߙa449pI=pRWxΜ E^hhr#`(gT2mX3 yȎ>UzᲥo¯[R8GMO*w0|rP3d~g,GM 74I=pRWxΜ E^hhr#b>9(J [ELX3 y8x XzᲥo¯[R8mh}̃-w0|rP3d~g, zhpحA\6TUj^30WoM6l㒄P%_?wak08cVى *V*/ӁnL6l㒄P%_?x/s +~zڗ4x>9(J [Eηji"8cVى *V*/Ӂi"8cVٰnJuC,|:`̋k A\6TUj^3d^Xk`(gT2m뉫 :¦(^ܿ!$eJ߅^:p0Y1BF0nJuC,|`?x<|$eJ߅^:p0Y E`(`uO@s`aC:KhXls +~zڗ2 `(gT2m뉫l}pLL$eJ߅^:p7̃d{benJuC,|m/s +~zڗ^0nJuC,|̣,I=pRWxΜ F[`(gT2mEyeDՃl$l[ԼgNQ;p5w0|rP3d䢼vjTN dx$l[ԼgNQ;p4ye`(gT2mE`ۑbH9ʕ mKtmݶ BPΨe/גμ>`ۑas +~zڗۑa7s% C:Kh^J+܍6bH9ʕ mKtmݰᏱ[f>9(J [EQYׇ,r7l9vA\6TUj^3nF.߬㒄P%_?%x}#vHzᲥo¯[R8r7ldnJuC,|Vu܍x}zᲥo¯[R8r7lE㒄P%_?%x}#vhĐs +~zڗۑb4X㒄P%_?.Ub؇,&&mzᲥo¯[R8b؇,&&m`(gT2m1`8x XzᲥo¯[R8g/`as `% Y-gs /Ds +~zڗ8Y"w0|rP3dX6f?$l[ԼgN7s% C:Kh_ \X4Ka13os +~zڗ .Uͼ`% Y-y( 8o"I=pRWxΜ 8o"w0|rP3d䢳X4` AH9ʕ mKth$('y`̃/7s% C:Kh^J+B[t48cVى *V*/Ӂy 6l㒄P%_?%A!B-: ^ *V*/Ӂy 7s% C:Kh^J+:ŃA!B x>'M$eJ߅^:p4 ׃B{ `% Y-{ah, β 0ϦzᲥo¯[R8,sL3>9(J [E)`sA\6TUj^3E|s-w0|rP3dR籕 *V*/Ӂ籕nJuC,|9(J [Eηj[|6BH9ʕ mKty`2 `(gT2m:/#o$eJ߅^:pxnJuC,|U`(gT2m뉫`]1BF *V*/ӄXs}LP~L㒄P%_?&EyxXzᲥo¯[R8Eyx[`(gT2mEg^xl8cVى *V*/ӄ^xaᏱ[f>9(J [EQXH9ʕ mKt77s% C:Kh^J+x}pحA\6TUj^3>8cVٰnJuC,|Vux}(b} }؛1$eJ߅^:pF8cVٰnJuC,|Vux}6A\6TUj^3>dnJuC,|V"heab&I=pRWxΜ"heab&̓w0|rP3db/kH9ʕ mKt5 BPΨe/b!XzᲥo¯[R8D8`% Y-fy74I=pRWxΜ"nJuC,|:*E *V*/ӄD>9(J [EηjD1+blĐs +~zڗ"T6l㒄P%_?xDJzᲥo¯[R8DJ`(gT2mXQ0hzᲥo¯[R8Dd(_T5w0|rP3djFB? 7%I=pRWxΜ"2eI/㒄P%_?^ň`1$eJ߅^:pQ;`% Y-y( f^1$eJ߅^:p}zl7s% C:Kh^J+:ňٗ6bH9ʕ mKt2قbtb&̓w0|rP3d䢳X}zlFI@pحA\6TUj^3ٗn.d }؛6 BPΨe/;Ո5$eJ߅^:p^`% Y-sX^6bH9ʕ mKtz1+bl7s% C:Kh\V ׃B($eJ߅^:p^ 7s% C:Kh\V ׃B(7Ds +~zڗ x>*B p5w0|rP3d䢳X^oᏱ[f$l[ԼgNk-:1+bl7s% C:KhYň( 8cVى *V*/ӄ1+bl7s% C:KhYň( 8̡$eJ߅^:p`% Y-b&,FĐs +~zڗ7>9(J [E)b7 > n *V*/ӄox<}&0`% Y-gs#~ܮz$l[ԼgNnW=`% Y-q5b7/ b6bH9ʕ mKtn`[d }؛6 BPΨe/V#rƃqos +~zڗ7/h>&w0|rP3dRnFe *V*/ӄnFe0nJuC,|wV}7s +~zڗ7#2!o>9(J [E)b7#2E,1Ab&I=pRWxΜ#r3(*dX`,^.d1+bl7s% C:Kh\MX̠m/s +~zڗ7#2ȼ`% Y-|/VG߹q7"̷MzᲥo¯[R8FfP2߱6l㒄P%_?^ň܌ A\6TUj^3܌ `% Y-q5b7#2 *V*/ӄnFe`% Y-y(Fn.d }؛1$eJ߅^:p8( 4\6l㒄P%_?&@le1+blĐs +~zڗf,Ᏹ[f>9(J [E)bNېzᲥo¯[R8@ir`% Y-|/V 4a$l[ԼgNv܂ 0`% Ω[hN` ;>9(gT2mzuh/ *V*/Ӂ\>9(J [E^al; *V*/ӁQ`(gT2mz>Xf>H9ʕ mKtuhsz>9(J [E^a0$eJ߅^:p:4&6a 㒄P%_?asA\6TUj^33A;nw㒄P%_?2_ I=pRWxΜ_!w0|rP3dRs +~zڗe 㒄P%_?2_ EA\6TUj^3pb7s% C:KhYe, 4/e *V*/ӁB[`(gT2m8tebH9ʕ mKttel㒄P%_?bѕBs +~zڗ!L㒄P%_?^Ń+Đs +~zڗ1 BPΨe/`M0A\6TUj^34|uw0|rP3dؘq|A;nw }؛1$eJ߅^:p8A>a;Ã>lM`(gT2mz>3X;<&e *V*/Ӂq7s-w0|rP3dX84U$l[ԼgN7s% C3~V`ù㒆uC,|Vu€H9ʕ mKt(>9(J [EQX; o 8cVى *V*/Ӏy`~b&̓w0|rP3d䢳X8ۑ`˷zᲥo¯[R8_mݰXw0|rP3dRyh\H9ʕ mKt`0`(gT2myh\!hpحA\6TUj^3йCNᏱ[f>9(J [EQX0| 46bH9ʕ mKt`0i1+bl7s% C:Kh\V3B"Æ>lMzᲥo¯[R8>fE} }؛6 BPΨe/גy }؛1$eJ߅^:p9|:Ᏹ[f>9(J [EQYׇ,Y77H9ʕ mKtyd\d0nJuC,|lMzᲥo¯[R8 767DfPpح`% Y-|/VG߹q7pBͲL盁b&I=pRWxΜbd7>lM`(gT2mph I=pRWxΜA 㒄P%_?wg;~ى *V*/Ӏph ߱6l㒄P%_?wy^ *V*/Ӏph lMzᲥo¯[R8r_C>lM`(`uO@;+3dؘ opI=pRWxΜmn0nJuC,|a>9(J [Eǿ3btG$eJ߅^:p&GCX7s% C:Kh^J+ BH9ʕ mKt nJuC,|9(gT2mz"3 б$eJ߅^:ph[`(gT2mz>#2 mzᲥo¯[R84, G㒄P%_?4,9=A\6TUj^3>㒄P%_?4,x$l[ԼgN#2 D0nJuC,|## 8cVى *V*/ӀsslᏱ[f>9(J [Ej *V*/Ӏ0nJgT0aC:KhXb)`"p4I=pRWxΜ(<X7s% C:KhXb)`">lMzᲥo¯[R8DPpح`% Y-b&, h $l[ԼgN-w0|rP3dؘ&"(*bA\6TUj^3h z#r7s% C:KhXb)`"bP~BH9ʕ mKt @z(^ܿ& BP)@d1Y- Nn3d@58 Ψe) LY-Nn3d@LY-&ΨeZp Ψe%80n3d@pSS:Kh3S:KhS LY-Nn3d@U8Ψet[S:KhSLY-Nn3dA LY-N0n3d@n3d@ NLY- LY-S3d1@l"'ȕ 3xZ7m)a m)aFe6)JS7!:\Ψeܻ\6TUj^39@7@07r [\ql[ԼgNbcfrP&rpL.a`C6㒀eܔ0a 5#47/ le$)n7I66$@F./usr/IBMVJava/html/enterp/en_US/jdkref/b-index.htmtmt$$     aert".<>cdfhimnos /=_bgjlpuv#By ()-CISTwx,ADEMORqFKLNPUVWkz0123G[]'HJY!&*589:;QX+?Z6XF:@HYC#f2=? а29n9`,<`2?SmgGȇa]cZ8XK` YbGF'`7Fm.8  8,-`Ч$PS`4tVnf(2YseCĤH 0 &D|P R[2dd=,_gmNv)Tlfa)tfa)`]ݯ1usגC7L3K;̀ P1v4v7odfN:ka  –F1dVXqY,0B,btQ`.^\;^Jp.3v$JeX Y^\;^JK ݢ*7odf Y^\;^JZDUo%2, Y^\;^J\DUo%2,,`/.%:DUo%2,`/.%/ ݢ*7odf#8ˇkIqEP&8S,1v.3v$JeX#8ˇkLB7hMqY#8ˇkIqEP&8S,Y^\;^J@"|f)Fi`1vDUo%2,F0qגnC7L3K#8ˇkL7hMqYJ2S@"|f)Fi`5dcypy)<.3v$JeX,`/.% "|f)Fi`F0qג ݢ*7odfF0qגnC7L3KF0qג ݢ*7odf`/.%(nC7L3Keõ"|f)Fi`1vnC7L3KՑeõD.3v$JeXeõX\fT>I3|#4VF0qג<.3v$JeX2e1oߍS8 91oߍS8 9ٻDn:sy7X3~ul$@8R}'Y Y"!bI:8p"r;n%bqC?bȀ`-0qe/.%&8`;?|[V!%b Ύvgm;+[7`ypy)7`?Q;ܯP +yI`$ b|[呌ḵƻ[vCըUHH`Pp !9AP$01`ϋmgmvӲqVzגqVzP +yI`-`]e|6c@`vP]^\;^JMqH|NQSnvqNUA`őP~|[hG ;n3õGe:967gP +yI` 2fvr5]uנuNe:90;f5찅õG^&z'8UHɂqQ3vVI`ɂ呌 ;+P0e'_}:vVn#/ruRRn#/ruQ{vսSC$%& ڷӖF0q23?o,V[VOuyeNmfpvڅ~ƻ[vܝT^ݵoDP 0Vսn#;&bf8f(0B[m[?#vV ;+P0e'_}:vVn#/ruRRn#/ruQ{vսSC$%& ڷӖF0q23?o,V[VOuyeN %?yCv{,!ypy)7:ԧUH$),:`HR2 um;+[7:ypy)7:ԧUI_CKnN#8kscv{,!ypy)7`CNUO K =dcB8QNqX!^\;^JMqX!P:>SC$%t}dcns.rw:4OP]^\;^JMqH|NSUIzvV~%ڲ1 P7G\gm;+[7!9KˇkI)v~P +yI`+?VF0q2?k?n5O[Cv{,!ypy)7!9Mön)j^&8f(Y K ӵdcA03~uvӲqRv7gP +yI`fvr5]RGmo:[NuT8kwגqRgiۇlݜSC$};BMqGdP4ujK7[J`f(ekf8>')ypy)7!9FvNMv:T>BJRX{LG&lݜ1v9a[meξӝU5찅õGPyk#uZ|hI*m$xRX^#m$xR :;iZٸ*󔼸v9_m$yNU[_1v9akm$}q޿Nm$}~55찅õG=NםSC$P,8'(^\;^JMqH|NPy:T>BJRX ם1v9ai;;Qӭ/kH4nXBRn#Crk)j(Pp @򃀠X,1`ϋmgmvӲqR/.%&8>'(vV!%}),kYƻ[˰H4u+_Gֱ8kwגqUA)^WeV!%|A&WPuO:#Ύvgq?n#BJRX V~,`]eؠXp}mA, (0`&5$ygPu-9 MCv{,!ypy)7Trv[)j^:a{_P@ ,b;G:8Yqnٸ*󔼸v9N-v~P +yI`+? 3Y1v9baP4h Ϯ[hrnXBRn#<;? SC$ i4 i5P~|[hG ;n37TrגqUA)^WeV!%}),gy]o+?F0q2P,8>6ÃP.:.ӯYzj?kMCv{,!ypy)7Trv[)j^NuGӳb;G:8Yqnٸ*󔼸v9N-v~P +yI`+? 3Y1v9ba vh ND+}A5찅õGPyv~oUI{_P@?ui4 :~4(q>-sg훈9KˇkI*/+gNU𼮃7#8ksv(`ha(av[,ݽt}Nߍ&ƻ[v9N-v~P /ksA |A.`t!5P~|[hG ;n37TrגqUA)^WeV!%}),gy]o+?F0q2P,8>6X  `aw,t 콳:ƻ[v⥟V!"`+[a&8gB`lL KDV2ÖF0$TL J`N7ulG,)ypy)7K> .&;[a:T>BJRX*&1v9a[gfKZP]^\;^JMqRςXqNUQ0qTQ06o.3TLkc,9dcED”8oӭiZٸ*YRRn#|\Lv2ÊuZ|BJRX,5X]^\;^JMqRς:T>BEDX’Q06o,`Ib@P PRuANӭekf8gKˇkI*YQq233xUI_CKD1v9a[,_v fe6B PG]Ɠk,&2zૌL޸yb`lLP]^\;^JMqRς:T>BED"XRX*&呌 e@,)CI:N⥟/.%&8gEV!%}),gf5]NgoX0akwGN?73^53yCv{,!ypy)7K> .&FoP gfLgf8>'(u$ 3ydcc?\gdI(q): ߧ[ӲqTõG,(SC$%`lLYƻ[˰v:_dI.k]b`lLޱ/S|u\|ٙkgkg geka ˇkI*YQq233xUH?7c?Y)dI%`lLYɺ PRuANӭekf8gKˇkI*YQq233xUI_CKD1v9`:uɺ" .D?]t @M ưPfe#Z!ۣnn5hRnXBRn#|\LL)j*&qQ3 3ydcC38oӭiZٸ*YRRn#|\LL)jWQ06o,`]edv~m#8xu3BX;}:,]]tͻt}{t;mDn3^X?78kwגqTdgfNUQ06oɘE~ 3ydcC3R2 um;+[7K> ^\;^JMqRς:T>BJRX*&呌k̻N]3-gy;OFhV'oPC]ekٷnOnrm&Gq6~/*&5찅õGPygJuZ| A K pb;G:8YqlGPy^\;^JMqU~ԧUI_CKşYƻ[ka ˇkI*{oGSC$&86{;\gIaqF0$6{;\gJ`f(ekf8ypy)7O}U@uZ|<:dy#8ksv*3uoh;~۩ؾ:>4$^w۩ؾ:+ka ˇkI*{v~*Ѡvdy:T>BK"qSPl.wmjdcc?Xl.wmjoŽvVn#גqT3U@uZ|<vH:dy#8ksv*3uo-gdhK:ìwM׎wmjƻ[vQTQ:T>BKn#;&b3n#E@?B7,`Hwf`"*~(q>-oŽvVn#EKˇkI+O%SC$%NJ31dcns.Fn6_nb믶Tn8kwגqWJ*25#_e:T>BKn#;&b3n#E@?B7,`Hwf`"*~(q37t#_j^\;^JMq](ZLP +yI`;L`]eبտ[Kml_uʟBnXBRn#ݢ-4NUQb-4HRX*3p,EƓY0e'_}:vVn#גqT\fnuZ|zԕuka ˇkI*YQq233xUIq#fg$),.>l,`HR :;iZٸ*YRRn#|\LL)jWQ06o,`]e;}o4$^\~nQe_PH[?k??ύ't}#[/x`3 yu@ưN :pkk#[E#[0PPRnXBRn#Cr|UHvHRX*>1!J`N7ulG/.%&8>'(wuZ|RX*>11(q): ߧ[ӲqRv)jWQk̻ NGG 㮺5찅õGqNUƁagc@呌P~|[hG ;n3CԼvCN)jWNYƻ[˰mSrnXBRn#VcB-;?)j(aX0h`P(`Hz(q>-sNqX!v~õGGg~[?v~SC$%~[?k̻gQu[-8+Cv{,!ypy)7`Qơ_P Cr@p, C@@40(4 $=dc8ߟ9یekf8j;?RRn#VcB-;?)jWKB-5]l:6g5 ~,P]^\;^JMqX!mP ,5,,5dc8ߟ9یekf8/.%&86SuZ|<2SF0q2>m,5Cv{,!ypy)7`P  I`h Y0wŶtp;iZٸ+=KˇkI+=OUI_CKjOF0q2>e]|Ym?P]^\;^JMqGdQtۓ)j*;ra%҇nL),J5 .;raJ`N7ulGvL/.%&8f(PɔP +yI`Pɬ`]e$孴vU(vCheгu}gk[hb8rGk/8%5찅õGvLJ2V!"C&n#;&b3TۓY0e'_}:vVn#;&bגqQ3](vuZ|BKܘ!!Iatۓ05dcB8QNqGdRRn#;&bܙNU ܚ5]hmlU(vYtۓP]^\;^JMqX!.]V!"0]𐤰U9F 1!J`N7ulGõG;)jWTo.z5]RuA[˞YtoY.}Gv8:Y}l i#=Cv{,!ypy)7`stCuZ|;xtCc?\gI`sD=dcc?\gJ`N7ulGõG;)jWTo.z5]RuA[.;/S|uf[k/|CvvHOgP]^\;^JMqX!3uSC$P4<@Y0wŶtp;iZٸ+=KˇkI+=Ft\^NJuZ|<\+ dcns.X G{?S.nw-Îƻ[vC~:T>BK$OIdc8ftp;iZٸ+=KˇkI+=QwSC$%VF0q2>qwI_lJka ˇkI+=M~SC$P4<< ($ C@h0H@`, Y0wŶtp;iZٸ+=KˇkI+=M~SC$%F0q2к<- N :&N[?;Xƻ[vC}e&SC$!7U,.MY0,vVn#RRn#Q8YNUT8Y5X]^\;^JMqX!m$}'V!% !IatBn(q3CԼvCHOg:T>BJRXIIdcns.nXBRn#ۀt{>SC$WnN Kv呌 PRuANӭekf8RRn#ۀt{>SC$%p r5]RuANP]^\;^JMq]((_P  `ph,Y0wŶtp;iZٸ+Wy/.%&8U]wu uZ|<ےYƻ[ka ˇkI+=MV!%L%L,`HR :;iZٸ+=KˇkI+=MV!%}), 呌k̻ Y}!֎cICka ˇkI*4Qh=>ے)jZK A#3NqQגqTh{љ}$SC$%{=ܒ5]l۳[ӵka ˇkI*4Qh=!ܑNUzXZY0,vVn#vE߽z_P +yI`p5=ܒ5]l۳[ӵka ˇkI*4QbsgܑNUzXZY0,vVn#vE/;\fz_P +yI`3,`]e|6y݂g gnXBRn#XtCC"V!%1`3:8YqlG)ypy)7F,_w`!ܑNU  `<<;rK#8ksca-z!rnXBRn#ggv oP -Pیekf8KˇkI*4Sa/SC$%`v㷖F0q2!-xqe/.%&8Mvw`P -Pیekf8KˇkI*4Sa,C:T>BJRX Ov z?1v98 {BnˍnN(qe/.%&8>'(v!ܑNUzXZY0,vVn#CrõG=NםD<>ے)jWVjz%k̻Z~b̶Gֺv~(qe/.%&8>'(v~fz_P -Pیekf8>'(^\;^JMqH|NP>ے)jWټٞnIdcns.fze[m$mkMCv{,!ypy)7F= hrE:T>BKAah=dc8ftp;iZٸ*4RRn#zx:3=uZ|< B/<;rK#8ksv Ь ƁZ~nXBRn#|OFgܑNU{{F1CgG ;n3E/.%&8Gtfz_P +yI`=ܒ5]mvu߽q!6Q;P]^\;^JMqQZ~fz_P -y,-ydc8ftp;iZٸ*4RRn#_{3nHUI_CK3 <;rK#8ksv Ff[Eqka ˇkI*4Qh=>ے)j){\3E<;rAI`plCÿ$1!=ܐR2 um;+[7F^\;^JMqQAFgܑNU A<;rK#8ksv۟腖߽>+_n:ݟ8S|u%b^[`,Z~ ~qe/.%&8Ek3nHUHplCÿ$n#3.3R~6gےYٞnHq(q): ߧ[ӲqThõG(tfz_P +yI`plCÿ$1v9a[˞Yh=CےoJcu?[]q}rV!6~/A޺5찅õG(unHUHp5=ܐI*4P5=ܐRX){\ CCÿ$1 <<;rAJ`N7ulG)ypy)7F-{]D<>ے)jWH=jz%k̻ \BA]bv~_cu?[]hM ̺!_X~~ w@0 ,_햃߽uka ˇkI*4Qh=!ܑNUH=jz qThjz E~ AP,`H5=ܐ"? PRuANӭekf8KˇkI*4Qh=!ܑNU AP,`]egn~Z~臞%K۳kؾ:Bn8\fe=nJ#OYh=Xƻ[vE߽oP ߽n;x$G(रR~呌 n;x)CI:NE/.%&8Ekq:T>BJRX){\v5]v喃߽mv73hWkynx]b3-yCv{,!ypy)7F-{]ێ)j){\vI*4P;q),߽n;ydcAێ\gJ`N7ulG)ypy)7F-{]ێ)jWH=v㷖F0q23?o,l3% B[fze]8۩ؾ:@P]^\;^JMqQAtxUHpqTh7I`p呌 z? ~o[NqQגqTh{)jWH=7#8ksv۟Z~ o=nJv~ w ~qy}߼ƻ[vE߽NUH=7&8@oGRX){\ydc@ޏ.30e'_}:vVn#vE߽NU AYƻ[˰腖߽;tCCے}]yxYh=Glȣ5찅õGuZ|C K!I`HR2 um;+[7`ypy)7`?2V!%}),&1v9ao!I؄~:Y^ƻ[vCZNUHa&8f(;30),&1!љJ`N7ulGõGuZ|BEa$ `,<<dc8ߟ9یekf8j;?RRn#VFguZ|<6gv~1v98 Q 햇&.Tt_m'_nXBRn#;&bSC$PВ%`IbB8oӭiZٸ(왊^\;^JMqGdQbJuZ|PBeeu~k+g} ct?{>4mC+qrCv{,!ypy)7`ڔP ,_@ػX"? K P6.,`Ib@P \g)C ߅qlGõG-jSC$%5'j1v98C[m?r96E }: Ff_nb;X]ewlCv{,!ypy)71E)jX3CBBr1!J`f(ekf8f)ypy)71E)jWBVF0q2NGCnkbVƻ[vɘQҝV!%04$),,_!#oŽvVn#;&bגqQ3 YSC$% Yڲ1v9`:u8rt}#[QYbl$vܯf_ƻ[vɘLV!%04$),,_!#oŽvVn#;&bגqQ3SC$%1Yƻ[˰v:m9 >S>X ,]+(qe/.%&8f*33xUIb@9 K aj(q3ɘõGvLFoP +yI`lLYƻ[˰v:m9 >YbT8kwגqQ3u&aNUr/ ÐՑ P7G\gm;+[71KˇkI(왊:0UI_CKLők̻oӭ6ÐۣIy[,_nXBRn#;&b)jX3CBBr1!J`f(ekf8f)ypy)71SBEP +yI`Yƻ[˰v:m9 >u?[]sBE^V;XXՐ;Xƻ[vɘ:T>BKahHRXX3CVF0$)C ߅qlGvL/.%&8f*yNUB#8ksvC[m!G5SX2qeØ8ˇkNnC7L3K+#8ˇkIaqEP&8S,K#8ˇkKB7hMqY#8ˇkK7hMqYeõB7hMqYeõqEP&8S,dcypy)0.3v$JeXVF0qגnC7L3Kdcypy)\fT>I3|#45dcypy)4.3v$JeX #8ˇkHDUo%2,F0qג7hMqYB2S "|f)Fi`1dcypy)\fT>I3|#4 Y^\;^JhDUo%2,`/.%'nC7L3KeõDUo%2,R2SqEP&8S,r2SP"|f)Fi`r2SqEP&8S,eõ"|f)Fi`1vDUo%2,F0qג"|f)Fi`1vnC7L3K1v ݢ*7odfJ2RnC7L3KYY|\9 tQ:&LL,% 68ꟍ% 68Ό% ,k1~.ÎbS|f)Fi`aZ{9a  –F2חג8杕P&8S,IXaZl$@8R,9#őYY,aY|Y8"#8@õ lf$7I66$B./usr/IBMVJava/html/enterp/en_US/jdkref/c-index.htmtmt$$ a ert.<>cdhilnos "_fjmpuv#()/=Cgwy EMSbkx,AILNORT-DFPWqzBGHUV'0KZ[]123;JQY!&589:X67Pɚa*JCw4N*e(delK,GB"Mj(d=Q34ERuzvY7$lؗi )lqj JI &m>4y΍IWe,z=/L|,͉v唰 $5t+]u>g4ۭk:1ERuzvY74- -b]g?<@czuH tO2sz=0zvY74- -b]/dye,+qP0 $5^kei |FZxHSutN0YFzP(6X[fĻNcx%- %$z6dHh@蒖3A<| H(qlS!:7jUf (ޏOgÏ[fĻN^XύCT+*֮f_۝z|mCCu϶i$7W@oG#Rwٱ.Ӄ p%-(WXX@V{(I!:7We,z=0͉v唰PHSZeֺgxB!{[*n4IIZ2M>]kQ.swk @׋iHz;g>;coIJnf (ޏO 6|6%pqh@0B֒H ߯e#.O2sz=4y΍ڕzvY7jFƲQ|velK,l{@/2Q|vjIJkWT!d>Q>5eo*FStqI"M:;,e0w6%pqh@0B֒H ߯e#.O2sz=4y΍ڕzvY7jY#n:[fĻN^X|q $5FN钌he)mm:*2M׋h)Lmco@x؝q6֒HSutN0YFzglCu<͉vϷ1J[/5=nj JI &m>4y΍؆?G^`؆?Gym89{#)`u=B"Mjꁗdg^#ԌV闚Ϸ:2YZΞێG*]ӲQPN>[fĻN0,`+$^G\.dѸm88@0@,`  e I$oײ ƙ9ѽ;Shu*oG7Hen:[fĻN^XXn:]dTu@ )`@0 ((  X0  ѸsSeQW$GMcvm6Um;ucm1IJnf (ޏLe1&HSutN0YFz_$>gx[fĻN1x2o1 @R;3_muc@5>:%$2Q e,CtoGJ;,e||~_mm89{#)cǃ/B"MjeyFdu϶O7vHSutN0YFza53|Fٱ.Ӄ!%- 蔒@M|i釈ԫӲQxLlK,n>#T+*֮zFucvm}u϶u=ma$7W@oGK7|am88|(y7!%,c QYEB I$ g6YFK)|N0YFz_$(y76?_(ٱ.Ӄ<1J(M@k,|]dTuG{nuSo{msl(*]ӲQ,wJ(M򍆲%lKd(" jBJX|(y7!u |FI$ g6YFK)|N0YFz_$(y76?_(ٱ.Ӄ<1J(M@k,|]dTuG{nu鷽9IIJnf (ޏO2Qӯqm8;`Kۮ| Sj|tIKcL {u!@蔒@M|i*oGԙ(׸L͉v唰QЛ{&]dTtI C#:]l»Qe]FK*nmk}>_3$|Z΀yGRIJnf (ޏLLwͼƵϝ򎤒*]ӲQ;Rd^26%pv;>:$\]bH tO2sz=4y΍J;,eÞ9!x񷅶lK,AV1<'ǍPHSZYQꄻmyLMYLcl3FGI$U)We,z=0x6%pv:c,oG#RSJ[l ~WXhH tO2sz=0zvY7 ~;Ǎ-b]/dye,*؆?GIJkWT vHtҙ&­cx@k,|Lmt+]tI>#k]OF[Gml~שɁF6|FdHu϶7:yb#mkit}Ϝ(ʉ"^`>u$I$U)We,z=8sӇ>v1<6͉v˜釈ԃ]$;su/JI &m>4y΍J;,eÞ9!x񷅶lK,AV1<'ǍPHSZLmy_.-HuTwBn}I$U)We,z=0x6%pv:c.soG#R v_h[ej )$I!:7We,z=0x6%prGR­cxOx]dTu@dN)m*؆?G*6O2DL6}e ʎ^`]kkI"M:;,eÞ9!x񷅶lKu0\ ޏL#@)B@oGԌu0.A$JX[]bj ~ j``\@6IĤJ3A,%y΍ڕzvY7jX``\KlؗiYK``\T+*֮f_۝zc uk}>Pw5>5ǘmE1 m x[Sk}>S߶HSutN0YFzxKl im88[ ޏLS߶Z멟lyl ܒ*]ӲQ;R[7$lKl h x%,cr $PRI% ͖Qd3]HS$X[HLmi$7W@oGԱqAgٱ.Ӄu0.A7gR: Л+@@F{3ed9ѽ;RN0YFzxKl iqm89{#)cl hMFIJkWT3/צ:Ar (SΡWY $*]ӲQ;R[u[fĻN1Pm ޏLv1<6͉v clza5![5>:$m]bj|tJI &m>4y΍J;,eÞ9!x񷅶lK,AV1<'ǍPHSZLmyLe%5SY$7W@oG#S;bwx[fĻN[J1hz=0hR``F6P[5>:%$z6dY$7W@oG#S;bwx[fĻN[J1hz=0hQxH,,f)lu0dfWXhP,,fI$޺Mƙ9ѽxJ;,e釈؆?Gٱ.Ӄ<lC|x $5$:uLmaV1< 5~QPIy$ǘmN؆?G%ݧΣ-HuU#5r`eE2Q_(ʵS>mJ{^-Q@ĒERuzvY7Ӈ=8slCo lؗi``̿2s˶@[e&] JI &m>4y΍J;,eÞ9!x񷅶lK,AV1<'ǍPHSZLmy_.-HuT̿LhI"6؆xC!0Lotu٤*]ӲQxLcyS=}ŷ$1:4tۅ$T^`jglCo lؗi`` pza5![%- P[)$I!:7We,z=0x6%prGR­cxOx]dTu@dN)m*؆?G*6O2DL6}e ʛp]Lc}|-$T^`@:m|OCg|6%pq[A= ܾpz=/A= ܾp@M[A= ܾruD4+rj`d8JI d=2YLޏJ$ yWe,z=(k-祎[__8͉v唱[A= ܾruER s|OCj{Τ&u϶;=ٱ.Ӄ<c[PHSZMծŴ[):eO~I"M:;,e|~>:;lKu0#2X IKc %$z6dv1<6͉v唰`H *؆?GIJkWT m9e ʌQ&\sI$U)We,z=0x6%pv:loG#RR``@mBn>#Do]&LޏLOm^c)ڄ_$7W@oGԝm -b]cCj ~"J[l !5P)$I!:7jUf (ޏO:x[fĻN^XMIJkWT1ʧwO2!O;`eֹ󣭯yZIxѶuk}>Om^c)ڄ_$7W@oGԲG(t͉vlA;R;5/;l;o:; ;5l;oo]&LޏOWe,z=O;ERuzvY7jY#n:[fĻN[q ޏOSj7j^wi,.w )lu0wj w`j|t Ow`#x%$z6dQuER/PεSߨNek(qkl˸Ys4I#+]u31ym*]ӲQ;SlKu0wb ڐAm5>:z=mkIo?,2YM|χHSutN0YFzp|cy<粠V σm$T϶:%$z6du ʻsgM$T^`Nx6%pv:5zczDo@n\$!gWXDo@n\%$z6d"};Eeލ@G! {<$T^`Nx6%pv:vqc.soG#RR``Bn>#Do]&LޏNӲQ9ß;bwx[fĻN^X0$lC|x $5`e< vi3ƻsz?3ERuzvY7 ~;Ǎ-b]cG`g`v21za5![%-m˜+@V4JI &m>4y΍jUf (ޏLumxBC\Z8۩lyX$]|I$U)We,z=8sӇ>v1<6͉vmc| ޏL4y΍J;,eÞ9!x񷅶lK,AV1<'ǍPHSZS̯Pm9#k]OF[^mlctyOk n"}>Ac]uj\u$T^`؆?G pym8;l /|DAA EϜ()lu09 ^򈔒@M|i;.؆?G We,z=3!{!q[fĻN^X $5`dVgc}Ϝ(Gڑ$>ojwֹERuzvY7;b'lKu09zglCcǟz=3!@ß9QR``xs7* ŏ? @EϜ(I$޺MƟ3ޏLcz{ zvY7;b'lK, $5`ds]yRʌS>mcyֺgcI}Ϝ(*]ӲQ9ß;bwx[fĻN[|t 9R``A`v25 %$z6dS=(I"M:;,eÞ9!x񷅶lKu0yeb jBJ[l 2Gh;su |FI$޺Mƙ9ѽ9We,z=8sӇ>v1<6͉v唰`H *؆?GIJkWT m95˜]u1:y{gQ#4}~"S>m2MX dk$T^`Nx6%pv: z_$6c`[ڡ]bwk1JI &m>4y΍J;,eÞ9!x񷅶lK,AV1<'ǍPHSZLmy_.-HuU#4ۛ1td_as$S:lu 5r`e;k+9Eeq3 $7W@oG#S;bwx[fĻN[ ޏKy,R``2T+@X sf< I$޺Mƙ9ѽxJ;,e釈؆?Gٱ.Ӄ<lC|x $5$:uLmaV1< 5~QPIy$gΣ-HuUFdu϶v1<6͉v唰`H *؆?GIJkWT1y!:geףk؄>Q*]ӲQxLcyDS|FqԒERuzvY7Ӈ=8slCo lؗi``2D釈ԅn>#@oG#R 6٢J[l _ju |FmDo]&LޏNӲQ9ß;bwx[fĻN^X0$lC|x $5J|.g_.{h̑!4ERuzvY7 ~;Ǎ-b]coG#RQxH,,f)lu0} +qXYH tO2sz=0zvY7 ~;Ǎ-b]/dye,*؆?GIJkWT vHtҙ&­cx@k,|Lmt+]tI31ڝ ~J;aOF[^ml/F>DS>m6 @뎤*]ӲQ9ß;bwx[fĻN[cxAxHV4IKcV1<\]bRI7iCtoGzUf (ޏNϝ ~;Ǎ-b]/dye, !>"TFi$7W@oG#S;bwx[fĻN[cxAxHV4IKcV1<\]bRI7iCtoG#RN0YFza53!x񷅶lK,[6B"Mjꁷ=v2:S/75#>Q,S!]E$T^`Nx6%pv:zlx%-^,]bo]&LޏNӲQ9ß;bwx[fĻN^X0$lC|x $5`e< vi3Ƨ{^z:XrR 6ٴgf*]ӲQxLcy{g Ɓ˜+@@M|iÞzvY7Ӈ=8slCo lؗiYKcxOx]dTuCl lwt+ƙvCok9ʵACu ƒEk љ#!;ERuzvY7 ~;Ǎ-b]cCp<|h@[lyr;suH tO2sz=0zvY7 ~;Ǎ-b]/dye,*؆?GIJkWT WAxeuuldx\5$T^`Nx6%pv: F-za5 m$l7%l(WXXYH tO2sz=8sүN0YFzp|cy#i]u<pϋd:mI>JdkC)m @뎤*]ӲQ9ß;bwx[fĻN[~؃z=/@wk1IKcN?mB6c`@M|iÞzvY7Ӈ=8slCo lؗiYKcxOx]dTu@viξ]F[^mlGi6cde6.s$~Mn$NL SC:u-uv22H=Fu=|!\=$T^`jglCo lؗi``oGHX sf< )lu0 WXy,H tO2sz=0zvY7 ~;Ǎ-b]/dye,*؆?GIJkWT vHtҙ&­cx@k,|Lmt+]tI>#k]OF[^mlv?nUǘm]E6y,I$U)We,z=8sӇ>v1<6͉v8za5![%-8 H tO2sz=8sүN0YFzp|cy#D:+@V4JI &m>4y΍jUf (ޏLumxBCVgc>"S|FqԒERuzvY7҆ elK8 )c8 P@V{)p|iC_ӲQ5L$ -b]/dye,&xZuER)he2HGpzI"M:;,eC_L6%pq  )c8 ]i$R?t!:7҆ We,z=(kI[fĻN^X&L $5;1S%ђʇ8I$U)We,z=\IJnf (ޏL%lK!1!JXycCxFdB I$ g6YFK)釈ԫӲQxK!6?>?Gd͉v唱buER g6uLmc!1! dkTeMQ9HSutN0YFza5,by6%pq`z=0h2sb,P[)$f(e2sz=0zvY7d<̖ٱ.Ӄ<2sb,PHSZfν)md<1!<#2XLmt9]ELc}{ :>6IJnf (ޏL#DC`5P[)$I!:7We,z=0x6%prGR­cxOx]dTu@23u2gFVgcy$T^`jY9,;K lؗiC`<JXy#2X]bJ3A,%y΍jUf (ޏL6IJnf (ޏLk!; eKlؗi9ǝe-y֡]i$.O2sz=/Uf (ޏK󝆲%lK,"2s eT+*֮*]ӲQxK!8Lm%lK!0Th@k,| IK9#D*Z 5~QP[)$f(e2sz=0zvY7d<iB-YD͉v唱*Z 5~QPHSZfν)md< B- eT)m?]ZHlyo{G\I"M:;,eÞbZ5lK7Ӈ=3F A0H(Q9h$`5P%-  4@5@ J%$z6|vˣz=8sѬJ;,eÞbZ5lK,buER]t_3tֺ9J3$uk̼Ԍ$VY۩l|Z}@$IJnf (ޏJ%-b]d/%- JI &m>4y΍Uf (ޏJ%-b]/dye,gſ+*֮d/]t: ]kκ1$T^`]p6%pvBR ]bo]&LޏJ%^`]p6%prGR?+*֮d/\Ӽݼ.Sk(|gQX*]ӲQ;SKlؗi IKd/uH tO2sz=z[fĻN^X% $5$7W@oG |m8;!>:$B>:%$z6d:%$z6d4᝗FzfA*oG`T~Y-߶uKlؗiYK2m ߶uT+*֮GqQ9׷:;4ђ],ԌIl뎤*]ӲQ;R79{&[fĻN_eD>:@R ju|t O5>:%$z6ddYg6FK+\F6|HSutN0YFzfA9sB;6%pvB?"%-OȾ#f]bo]&OtoG`TN0YFzfA9sB;6%prGR4!WIJkWT3o+\tm/^EB6:|62Hm%|+~I$U)We,z=|Z}ֺ*(yR2(؆A I"M:;,e-:$<l Sj|tJI &m>4y΍ڕzvY7jF=dlؗiYKs5 $5HDvv͝keiy9]Lc}پ#ai$7W@oGv1==Od.;lؗi F )lj JI &m>4᝗FzglCӲQA=-b]/dye,GpzuER ss@qI$U)We,z=(kKlؗi F )lj JI &m>4y΍Uf (ޏJ$-;6%prGR+*B"MjBQֺBRIJnf (ޏNn//?o> lؗi F )lj JI &m>4y΍Uf (ޏNn//?o> lؗiYK|0eIJkWT3/צH#+\찒(*]ӲQ5K<.-[fĻNJ6 IKd%PRI7iCtoG |N0YFzP,m89{#)c<.-]dTu@o1J7dIJnf (ޏNnٷϲ6%pvBQJ[!(څuH tO>;xgeѽJ;,e Ա;6yX[fĻN^X|F}(WY$U)]P̿^#ԌsOϲHHSutN0YFzvu,t2Xw6%pvBQJ[!(څuH tO2sz=;azvY7ӶcYþٱ.Ӄ<1{,B"Mjhcso *]ӲQK%}ٱ.ӃR F+@@M|i ԫӲQK%}ٱ.Ӄ<2PbuERѼǶC!( A$U)We,z=;a%}-b]d%$WX)$I!:7ӶWe,z=;a%}-b]/dye,`<IJkWT F۝ |.IT^`[̖c &[fĻNJ6 IKd%PRI7iCtoGl7RN0YFzvu-fK1-b]/dye,`t7 i;$7W@oG |7o ٱ.ӃR F+@@M|iC_ӲQ5Kݼ.[fĻN^XvZuER sSw$:#ԌsNvZI"M:;,e/;6|6͉vl@J6]bo]&LޏOym^`ڗ^wf>x[fĻN^X 6wo+*֮d%k:YI$U)We,z=4y΍ڕzvY7j_̶͉v唰Dg{5 $5$x|Af5$T^`a&xYm8;!(؁%-mB I$޺Mƙ9ѽ5J;,eC_L6%prGR2gWY$U)]P-{nt2Y$ERuzvY7;bsms6%pvBQJ[!(څuH tO2sz=3!We,z=3!:>6=-b]/dye,&>6guER$P2 !(<]6̖͉v唰}PHSZZ7d%pH$7W@oGl7S 2Xw6%pvBQJ[!(څuH tO2sz=;azvY7Ӷ,;m89{#)` }PHSZZ7d%pH$7W@oG#S m[fĻNJ6 IKd%PRI7iCtoG#RN0YFza52 6٥lK,ͶjuER sQ mR2S]2s:>u mHSutN0YFzvu8,/BelK섣bBQ %$z6d5;;^ɤ*]ӲQc 6%pvBQJ[!(څuH tO2sz=3!We,z=3!elK,:FlؗiYK y:Q $5ymΆBQ $HSutN0YFzvu3|F;6yX[fĻNJ6 IKd%PRI7iCtoGl7RN0YFzvu3|F;6yX[fĻN^XV4cvm#o>+*֮f_ۯLFV!IIJnf (ޏJ'^urٱ.ӃR F+@@M|iC_ӲQ5N-b]/dye,PHSZZ7d%pH$7W@oGzgxPgKnAf4͉vl@J6]bo]&LޏNīӲQ97B/g-l6%prGRD^=Yl $5^zd%Z묳R 6ٵO5śFd$]K5I$U)We,z=(km,-b]d%$WX)$I!:7҆ We,z=(km,-b]/dye,6X]dTu@23Lu#+\6͖$*]ӲQxK!(e@mYD͉vd%KB6IJnf (ޏLYЀYEB&sծ$ǘm6u|m*]ӲQ!he/͉v@Jv]bo]&LޏKzvY7$- ٱ.Ӄ<P0h2o+*֮d%;u/HSutN0YFz_$a-b]d%;$WX)$I!:7%^`I @/-x[fĻN^X@/-N?o+*֮d%;u/HSutN0YFz_$>gx[fĻNJv IKd%;PRI7iCtoGJ;,e||~_mm89{#)cǃ/B"MjBS]Or$7W@oGKqx[fĻNJv IKd%;PRI7iCtoGJ;,e||x~ٱ.Ӄ<1x $5 N]u=$*]ӲQPK%5m8;!)؁%-B I$޺MƟ3ޏL%^` Y(ٯKlؗiYK(ٯT+*֮g O|7 ʞq_$(ٯ@t߼/Ŵp eΟԌ%Z:Tu˅@ ZBS:mEֹ$y[_.i$7W@oG7o79ӓ/Klؗi N )lj JI &m>4y΍*oG7o79ӓ/KlؗiYK /T+*֮d%;k:o79902$T^`-:r`e>lK섧bBS %$z6d IJkWT2ֺr`eI"M:;,eC_o=-!Hil/[fĻNJv IKd%;PRI7iCtoG |ӲQ5H2o$rŶlK,d>Э(WY$U)]P۝em2G9i}l]u$46|m2εI[yڞIJnf (ޏK |OCg|6%pvBSJ[!)څuH tO2sz=/Uf (ޏK |OCg|6%prGRw= ܾruER ssF>OmOr˅}L|ά eΉ"&??]Z_9$T^`I1!ܾqm8;!)؁%-B I$޺Mƙ9ѽ*oGI = lؗiYK [PHSZu|HimOr˅}L|ά eΉ"&??]ZΧ|ERuzvY7$o_8͉v@Jv]bo]&LޏKzvY7$o_8͉v唰DOCB/]dTuC!)\zSܾux~w:S=.rCsH9ɏmV{I$U)We,z=/L|6Hil/[fĻNJv IKd%;PRI7iCtoGJ;,e|c᷒COCg|6%prGRwohihV+*֮d%;k:zSܾux~w:S=.rCsH9ɏmV{I$U)We,z=/L|6/͉v@Jv]bo]&LޏKzvY7$o2o lؗiYK _muER uIJnf (ޏK 6%pvBSJ[!)څuH tO2sz=/Uf (ޏK 6%prGRwo~(WY$U)]PJwZ_9$T^`@[|OCg|6%pvBSJ[!)څuH tO2sz=(k-^`@[|OCg|6%prGR0DOCB/]dTuC!)]t/HSutN0YFzP [H- = lؗi N )lj JI &m>4y΍@zvY7҆ zFo>Hil/[fĻN^Xp@ COCB/]dTu@N?nuw|_~\muԐڞŴJw:Y$Rm#j{I$U)We,z=/__8͉v@Jv]bo]&LޏKzvY7%= lؗiYKD4+rIJkWT2εϝ>'=Wk.s1:$1:$uk|ERuzvY7%= o lؗi N )lj JI &m>4y΍IWe,z=/__;/͉v唰DOCB/ $5 N]u=$*]ӲQ2 6ٯim8;!)؁%-B I$޺MƟ3ޏKzvY7&Af5= -b]/dye,mA= PHSZu|OCj{I$U)We,z=/dm__8͉v@Jv]bo]&LޏKzvY7&Af5= lؗiYKlDOCB/]dTuC!)]t/HSutN0YFz_$,f = -b]d%;$WX)$I㷆v]|N0YFz_$,f = -b]/dye,mAhijuER su/HSutN0YFz_$,f = lؗi N )lj JI &m>4y΍IWe,z=/dmdrŶlK,Ͷh- = ܾruER su/HSutN0YFz_$ = lؗi N )lj JI &m>4y΍IWe,z=/drŶlK,Э(WY$U)]PJw:>u$46|meu>>{gV\2D^sCsSܾrI"M:;,e|$46{6%pvBSJ[!)څuH tO2sz=/Uf (ޏK!ܾp~ٱ.Ӄ< COCB/B"MjBS]Or$7W@oGI>rŶlK섧bBS %$z6d>{gV\2D^sCu/HSutN0YFz_$COCg|6%pvBSJ[!)څuH tO2sz=/Uf (ޏK}Hil/[fĻN^X44+rIJkWT2εϝ$46|meu>>{gV\2D^sCsSܾrI"M:;,e|{϶ٱ.ӃR N+@@M|i|N0YFz_$}lK,> $5 N]u=$*]ӲQ'h~ٱ.ӃR N+@@M|i|N0YFz_$x[fĻN^XN?o+*֮d%;u/HSutN0YFz_$rŶlK섧bBS %$z6d:| $5 N]u=$*]ӲQ'㣱x[fĻNJv IKd%;PRI7iCtoGJ;,e|~>:;lK, $5SܾrI"M:;,e|zp_`f_mm8;!)؁%-B I$޺Mƙ9ѽ*oGIM}}lK,M}PHSZSܾrI"M:;,e|-݌lؗi N )lj JI &m>4y΍IWe,z=/sŲ;9Ym89{#)`;sZuER ssY]Ό|.|meu>>{gQ$V\2^sCu/HSutN0YFz_$ٱ.ӃR N+@@M|i|N0YFz_$ٱ.Ӄ< $5 N]u=$*]ӲQPN\І͉v@Jv]bo]&OtoG`TN0YFzfA9sB;6%prGR4!WIJkWTNG]3>tۛeO8k\/E.hCB@t߼/Ŵp eΟԌ%ZζTy?ig!)@ ZBSH]&$^۝k:y[_.i$7W@oGL B|OCg|6%pvBSJ[!)څuH tO2sz=/Uf (ޏKŖrŶlK,XŖhV+*֮d%;k:|OCj{ί\/^#cueHc.tI91m9]Or$7W@oG77/Klؗi N )lj JI &m>4y΍*oG77/KlؗiYK F*L PHSZu|r`eI"M:;,eg&^ٱ.ӃR N+@@M|iUf (ޏLoS902͉v唰02B"MjBSֹɁ$7W@oG7zm8;!)؁%-B I$޺Mƙ9ѽޥ^`3/^q-b]/dye,*L |+*֮d%;k:zHSutN0YFzfA3߶uKlؗi N )lj JI &m>4᝗FzfA*oG`T=g\t͉v唰g\uB"MjG<`j~M8\.T󎶿}e$PV;07 m+.rCs{}#(w~#ha$V;}Ƈ:O|롲;JvV鐔(I~IZΞq˅I"M:;,e|=n_mm8;!)؁%-B I$޺Mƙ9ѽ*oGL}lK,n>#Ax]dTuC!)k|ERuzvY7&{-b]d%;$WX)$I!:7%^`I4v?o lؗiYK |F8PHSZSܾrI"M:;,e|;lK섧bBS %$z6d#iF?'$7W@oG |o4y΍@zvY7҆ z@celK,; PHSZup@F>HSutN0YFzP [H_8͉v@Jv]bo]&LޏJ$ yWe,z=(k- yl/[fĻN^XDOCB/]dTuC!)]t"ڞIJnf (ޏJ$ y|_8͉v@Jv]bo]&LޏJ$ yWe,z=(k- yCOCg|6%prGRЭ(WY$U)]PJw:]8 !=WB]u=P]#ho-$7W@oG |o== lؗi N#<@Jv JI &m>4y΍@zvY7҆ z@rŶlK,;D4+rIJkWT2εLC2";Ŵ||:]Ord_HnpzI"M:;,eC_o= [ϒz=ٱ.ӃGpx%-";+@@M|iC_o=*oG |o>Hil/[fĻN^XZz| $5 NZ!qp@W>S~Qk|2YC$]Fv;IJnf (ޏNn> lؗiJ,$!X]bJ3A,%y΍Uf (ޏNn> lؗiYK(CB"Mjk3 J3A,I$U)We,z=:%$2Q e,CtoGԫӲQ;RBX[fĻN^XBX]dTuC2% e~S>m`μ]e"#n;O>4  jFVCr4I|q| 0u#+]uj\t ^-u\$d>Q>t[t($T^`ږJ6%pqCj|t O)c% bu|t O)$f(e2sz=;xgeѽPJ;,e {~6%prGRo/ox WY$U)]PX$ 8P M}xBC@ >\IJnf (ޏL'.hCgzuo[fĻNA BpA Bp I$oײ Ɵ3ޏL%^` r6w^lK,.hCBBox WY$U)]P(A44ERuzvY70* og^lK: !  DP@肐8\,D22 I$oײ Ɵ3ޏL%^` [׽ym89{#)`7a7+*֮`,AT HB(p>dd:)$7W@oG`T4!:-b]d!pXdd:%-D!`"!WZI +~]>4᝗FzfA*oG`T4!:-b]/dye,sBz{oB"MjHB-~"I"M:;,e#q a -b]dm])l: Mkj֒H?t!:7jUf (ޏOh_>Him89{#)` Ƃx!IJkWDT^`ڑ䆖ٱ.ӃP@/ne-D {uP@  ƙ9ѽ;RN0YFzxH{BqCKlؗiYK^4 PHSZ$7W@oG#R|6%pq @ 0 ń R@( b€8@(2uH LޏL7:]|}׋i:1μ[G,:#& umR>ERuzvY7&{\^ٱ.ӃGqю!%-8뎌w 蔒@M|i|N0YFz_$r ˋ6%prGR·/ e]uER$PQǘmkֺٷj\v6uoX )8뎤*]ӲQPK%5m8;$qJ[$q %$z6|vˣz=3zvY70* dfQ-b]/dye,dfQPHSZ8.u cF۩,]"#~B}}7\/^#x_$ɒE1 ˎ}: Z롒mE$T^`Y(C찶͉v8 ޏL#Do]&LޏNn^`Y(C찶͉v唱>+*֮d?εS˩>#keZ6Kk)>QB:2YZΆJ,I$U)We,z=;aBmd6%pvHXz=0hjBJ[$q-Bn>#@H tO2sz=;azvY7Ӷ!a~vJ,-b]/dye,,FJ,PHSZ8:]1;6Ymƴt0ˎ;mJ5HJF\IJnf (ޏI\mxٱ.ӃGoGHxHX6J h lyRI7iCtoGJ;,e;<6%prGR+ƀǝ]dTu@23`jZPεϝE)\Z5Xl,o "4I"M:;,e;6%pvHX6B %-8 u)$I!:7w%^` xlmm89{#)`Ax]dTu@23`jZPεϝE)\Z5Xl,$4I"M:;,e ԲP!<͉v8 z=;a>Qk$GP%}|4y΍Uf (ޏNn>Q lK,!X $5#u|d@ʵ[m !XERuzvY74͉v8 z=0hBn>#Do]&LޏL#DH 9+@V4JI +~u|i釈ԫӲQxK$qm89{#)c$quER Ǿ:2sJwQ]ֺgc=jI"M:;,e'[_;/ lؗi@H@4 hBuH LޏOWe,z=4y΍Uf (ޏJ%-b]/dye,gſ+*֮|!:|k}!я6tֺ^uя6I"M:;,e/;6( lؗi@H@4 (` XXH   P@RuH OtoGԼ6үN0YFzxKm/;J3@6%prGRq2Q^(WY$U)]P5G6:Bpz7|hAC^|.u#$q𽺛<`"׭y֒HSutN0YFzxK$qKlؗiHRHWX)$f(e2sz=Qq6%pq  KiK `P4 WZI +~]>4y΍ڛFWe,z=QZ7i$7W@oG7K$qmٱ.ӃP@(X0@(P@(X0@)BI[~?CtoG7J;,e6R|qF㥶lK,7FIJkWT u$qikn5hvyHSutN0YFzxMqԲG(vѸm88XH @@Җ0Ai`8P5BI[~?CtoG7J;,e6R|qF㥶lK,7FIJkWT2u62YZu#)8Fhv٤*]ӲQ;Shu,7n:[fĻN0Aia   K BI[~?CtoG7J;,e6R|qF㥶lK,7FIJkWT u$qh#mF㵣ϴERuzvY7jmѸm88XH A`$ )ca @,   BI[~?CtoG7J;,e6RG{yht͉v唱!WY$U)]P5L7 գqI"M:;,e6R|qF㥶lKa @,   8@ R@X(  ,pBI[~?CtoG7J;,e6R|qF㥶lK,7FIJkWT u$qk.ohvyHSutN0YFzxMqԲG(vѸm88XH pX )ca @, `H)BI[~?CtoG7J;,e6R|qF㥶lK,7FIJkWT u$qjnգqI"M:;,e6R|q~ٱ.Ӄ78FvB I$ g6YFK)6RN0YFzxMqԲG(wlK,7IJkWDT^`ڞ;m56%pvHhz={qBIJnf (ޏOn:J;~ٱ.ӃG(tD6R2Q#q%-8Fvڡ]bJ;n:%$z6dQB7oGԌ7SJX|qЄn:]bH)$f(e2sz=QB7PHSZfν 7F mCu϶(1Z$d>Q{[q]&Υ׋joPERuzvY7jm8F㽼-b]d>Q{[qoG7H|qЄn:$G(tWX8FtJI &m>4y΍ڛFWe,z=QB7H tO>;xgeѽ;Shu*oG7K$q`͉v唱8F㠗n7IJkWT2 \i8F: 9m$T^`ڞ;m56%pvHhz=#k]dL7 6:lQ>{q}x I$U)We,z=Qo?o lؗiYK#n:o?o+*֮"M:;,e6R|q>{q-b]d>QL7jmd>QB7R#n:$m d>QB7H tO>;xgeѽ;Shu*oG7K$q`͉v唱8F㠗n7IJkWT2 \i8F: $m$7W@oGht!gٱ.ӃG(tgIhz=#k]dL7YFG^MJ5n7/=i$7W@oG7K%o?o lؗi#n: A;Shu#%B7R#n: B w7tJI &m>4y΍ڛFWe,z={q-b]/dye,d{qPHSZDQe:^#n;N󠻸YFFdu%I"M:;,e(1Z$d>QS:4uԣP|xmAۍ HSutN0YFzxMqԲG(wlK7 tDA;Shu#$qB蒖|qЧHtT+@|qЄn:%$z6d4y΍ڕzvY7jFÏ[fĻN^XǴ>HjuER$U)We,z=(kx\[͉v86w1J[$qm6j JI &m>4y΍Uf (ޏJ%-b]/dye,gſ+*֮d΀@4eyτ;dʵ]i.i$7W@oG |7,l,m8;$qm6bHpl+@@M|iC_ӲQ5Hܱ߅lK,luERѼǶC<.-I2QFg@ 2QleZ}4ERuzvY7҆ gſ lؗi#Cl@z`םj JI &m>4y΍Uf (ޏJ%-b]/dye,gſ+*֮dΆx\['Z}:P:9l[4ERuzvY7҆ 6Xx\[͉v86: )lǡ y֡]bo]&LޏJ%^`F卖?Ş-b]/dye,e?gſ+*֮=:qoH7:םtc |ʀ@4eyτ;d٤*]ӲQxLlKYAxHV4IKdϪ +q%$z6dm>#keZ뫋jFV>#RIJnf (ޏLoRAmD͉vm IKdfWX)$I!:7ԫӲQޥ %5m89{#)`  (ٯT+*֮}u8"}|:[*]eHc.̼Ac\$P@*h1钌mFQ׆_h \u$T^`3/^q-b]df7Ԃ#zkr05>:$QT+@"7v.sSRI7iCtoG7We,z=1Lל| lؗiYK /A $5(ٳsS/keZ멟lyͨp]J5ǘm:SԒERuzvY7$mz=ٱ.ӃQD|Y}sCxHSutN0YFz_$}lKclz_$>IKdfWX!@~ I$޺Mƙ9ѽ*oGI>ۗx[fĻN^XPHSZmZ멟ly>Cy[*>uxHSutN0YFzczɁ8ٱ.ӃQD釈ԅn>#@蒖F6P[5>:%$z6du902Uǘm,ڔk]uu)I"M:;,em8;%4AxHV4 FzP FH}IKdfWXh@M|i;. Uf (ޏL%o lؗiYK(WY$U)]P7ʎ^2Q_(ʵC^ƀ@0HSutN0YFzcz2 cl%lKcliKdfT+$~?CtoG7We,z=1JJ1k6%prGR@02Q_(WY$U)]P S$Y dkVJ1kYͧye̿Ir{>QA k}>@  I$U)We,z=1K%6Yg6%pqm?_(RJ1h@k,|]bJ3A,%y΍*oG7dfk,|[fĻN^XF6 eT+*֮d=6:J1h@k,|Cʛ{ msi$7W@oG7dfk,|[fĻN2QBYgza5![%,df* +q%$2Q e,CtoG7We,z=1K%6Yg6%prGRJ1h@k,|]dTuC% ͝zm?_(]u31m|((ۯ:Pu%62YRc̶*]ӲQ9dfk,|[fĻN2QBYgza5![%,df* +q%$2Q e,CtoGzUf (ޏNQl5~Q-b]/dye,df*IJkWT3/ΖXk,|Cu϶#DJ3A,%y΍J;,eÞJ1kam89{#)c%4  eT+*֮f_۠=e-YF?]Z멟lyIJnf (ޏNQ_+ eKlؗiJ1h ?_(7 |FޏLڒHSutN0YFza5,wͼ-b] A`  ph  )c`P@h,XC  J֒H ߯e#.O2sz=0zvY7cvmm89{#)co+*֮"M:;,e4y΍ڕzvY7jxn:[fĻN^X #q $5ѸFK*w f#i$T^`ڛFdn:[fĻN0 a`8  )c`h @ I$oײ ƙ9ѽ;Shu*oG7K%q6%prGRJ;n:]dTuA?'Z|vSFK+]u#ne2QUq{fHSutN0YFzxMqԲQZ7-b] @P@0H(R@8  , WZI +~]>4y΍ڛFWe,z=QP|q)$f(e2sz=G1$P^])m5B&ŴI6_.f>6P]$V\>k)c_S=FVH*]ӲQ;R|:%$z6d7:^Vgc|Ι(|m>ϝ((*]ӲQ;S -b]d@蒖G{5 H tO2sz=u J;ֺ>:IS>mI_(Ѕ=aD.gOX zĤ*]ӲQ5Kݼ.[fĻNG{1za5 m$QBͶh@M|iC_ӲQ5Kݼ.[fĻN^XvZuERn{:y9tc|VgcOk:wIJnf (ޏJ%f lؗi(|f ޏLQ>5|fIJnf (ޏOd>Qm8;% DR(|f]b>:%$z6dQuER$P['Cz>t|q)eVgc|Euֺ>:=a׋iOX z钖5sMmEl..^ʵL۩#+\$qRIJnf (ޏO>P6Q-b]dz=GԒERuzvY7҆ wlؗi(|f4y΍Uf (ޏJ%n -b]/dye,x\-B"Mjꁷ=<]Lc}miA>>t7o *]ӲQޥu-m88Gn:[ JXGn:[ %$2Q e,CtoG7We,z=1K%[ 6%prGRJ;q^(WY$U)]ERuzvY7j[xIJ<._[fĻNGn;2Gn;5 I$p|i-{g2Pٱ.ӃX$ pP4 1a@ I$oײ ƙ9ѽ;RN0YFzxLlJ6%prGR‡lᒄB"Mjꁮ}>-2YZJ;7eMݲL%$7W@oG|d,-b] AI`8$84X$]i$R?t!:7jUf (ޏOBX[fĻN^XP2P(WY$U)]P5_3ŶFK+]tGrP-2YZJ;A]t5L%$7W@oG|d,-b] AIa@0 `€8*֒H ߯e#.O2sz=:@R#ǁu|t O5>:@蔒@M|i*oGԍ{ɖٱ.Ӄ<jIJkWT2G^5H]2G(vצ{˩lyX$S$[CT)m[Jdkh dkI$U)We,z=(km,-b]dAxH,,f@)l(WXXY H tO2sz=(kzvY7҆ Fٲ6%prGRMeIJkWT2GZHΤek:Fٲ|vUǘm|=$T^`jg-b]d|Y"J[$xP w)$Q׮iCtoG#RN0YFza53|Fٱ.Ӄ<PHSZeנmkV |.;[*]Lc}y_3I$U)We,z=0>#Klؗi#ǀ,`;HSJ[$xP w5>:DG^Mƙ9ѽxJ;,e釈q[fĻN^XV5B"Mjꁗdg^OXl]u31cvm|=$T^`jN6%pvJb$bJ[%5   H ߯ez6dm1;6]>'I=PZxHSutN0YFz_$|_8͉vB:R$#֒H?t!:7%^`I 8!ܾqm89{#)`~3[PHSZkw#)Ο]a$7W@oGKq}lKҖ!P@  ƙ9ѽ*oGKq}lK,w>g $5RT|cvm 2*]ӲQ,wϙǎm8;$tHGT+$~?CtoGJ;,e||x~ٱ.Ӄ<1x $5(yR2ƵAheI"M:;,e|=hZxrŶlKҖ!P@  ƙ9ѽ*oGLhez=ٱ.Ӄ<e"'[PHSZkw#)y:|k]t/AheI"M:;,e,w7lKђ8F$HGFHB I$޺Mƙ9ѽ;RN0YFzxK%m89{#)c%uER$Q$U)We,z=z[fĻN!m1J[$tt+@@M|i*oG6%prGR/WY$U)]Q$U)We,z=sj JI &m>4y΍jUf (ޏL#vAwlK,n>#A PHSZ BnuTy:}s[ ˋE)m6\T)mtL񠻦xBAvdCn7nuDV?_(*]ӲQ5H4 yl/[fĻNaKf1BI'\.d4y΍@zvY7҆ zFo>Hil/[fĻN^Xp@ COCB/]dTuCPe!H;m7I$U)We,z=(k-祘͉v`0`@ IK P(WX)$f(e2sz=(k-^`@c B6%prGRIJkWDT^`-:r`e>lKbe %$z6d IJkWT3/ν7ꜘzIIJnf (ޏO=-b]f_$/WX)$I!:7jUf (ޏO=-b]/dye,g=d+*֮f_۝z2Ml욅2MԂͶmkD^#ԌsJdks5 dklԒERuzvY7L y͉vl@\ Rٗ+@\ H tO2sz=1J;,eg&^[fĻN^XTz8(WY$U)]P̿:+/R߼nsr`eI"M:;,e#selKbSj|t O)lj!5>:@蔒@M|i*oGԍ{ɖٱ.Ӄ<jIJkWT3/νFR&6sMB&Af6(ֹH2Ml욅2MԂͶhuzm2>_I$U)We,z=m3IJnf (ޏOJ6%pve4A;R1)lcl ju``\Do]&LޏOWe,z=u :yθ5#)Lmcl j2M|F$Vgc}S㷆vZI"M:;,e;)@1[fĻN̿1Pm ޏO``\Bn(6Rٗ: Л+@[q@p@M|i*oGm89{#)`J $5ZζRc'O8YFe)mcr 9B& #h+]u31>);-$T^`ڝ-b]f_= ޏO=$/tP'Ĥo]&LޏOWe,z=u :yθ5#)Lmc')m6"S>m3IJnf (ޏOJ6%pve8F ڑ8FJ[2|q 2G(tJI &m>4y΍ڕzvY7jvRc͉v唰luER sG,L7e2Q$*]ӲQޥu-᝛,[fĻN̿2QێAxHV4IKf_(@?ax]bRI7io 7ԫӲQޥu-᝛,[fĻN^XGn:[ e+*֮f_۝z2MvŰPIV_mxԂͶm:")m![-2M*]ӲQ;SlK`3$4A;R?CDe]bgHh@M|i*oGm89{#)`J $5ZζRc'O8YFe)mS$]!7mEk}>G>;xge*]ӲQ;SlK`;`3$4A;R?CDe]bwgHh@M|i*oGm89{#)`J $5ZζRc'O8YFe)m|,S$]!7mEk}>G>;xge*]ӲQ;SlK`>sA;R:Ĕe9֡]b|X@M|i*oGm89{#)`J $5ZζRc'O8YFe)muS$]!7mEk}>G>;xge*]ӲQ;SlK`?l$IKf_څu %$z6dmdkŵ rI"M:;,e,7-b]f_؃z=4y΍ڕzvY7jY#n:[fĻN^X|q $5^4ۣ2GVgcۣMA$7W@oGm8;2 6/;l5^ )l`P2MARI7iCtoGԫӲQ;SlK,e(?T+*֮f_۝xn?]Z멟lyn5^$*]ӲQ;R|q6%pveAm|t O)l`P)$I!:7jUf (ޏOd>Qm89{#)c$qT+*֮f_۝xԌ024\.wtIUU'm%  2HSutN0YFzxNP ~ٱ.Ӄ/x]A;R w%-l  RI7iCtoGԫӲQ;SlK,e(?T+*֮f_۝k:JG>;xge*]ӲQ;SlK`D DeK 蔒@M|i*oGm89{#)`J $5ZζRc'O8YFe)m2M|F$Vgc}S㷆vZI"M:;,e;)@1[fĻN̿q@A;Rq@IKf_ ]bn( I$޺Mƙ9ѽ;RN0YFzxNP ~ٱ.Ӄ< PHSZnu|e(?@t󏅝q߯jFR&n((S$]!7mEk}>G>;xge*]ӲQ;SlKa7/zxHM IKf_ ~(WX@M|i*oGm89{#)`J $5ZζRc'O8YFe)m&LmtIǘmw᝖HSutN0YFzxNP ~ٱ.Ӄ/Pm ޏO 8IKf_ 9BPm%$z6du~QJdk 9B& #h+]u31>);-$T^`ڝ-b]f_u :yθ5#)Lm`GB& #h+]u31>);-$T^`ڝ-b]f_$zPoGԁ=n( )l`D@  q@JI &m>4y΍ڕzvY7jvRc͉v唰luER ss[)@1|,|R26H LmtIǘmw᝖HSutN0YFzp,k=0>Xpym8;22ƾ{>:$/,k=B>:%$^:m>4y΍NXpzUf (ޏN|g-b]/dye,&}e|WY$U)]P̿^- >Y,k>]BLJzHSutN0YFzxNP ~ٱ.Ӄ/3%oGԅ3%Rٗ™(WXdRI7iCtoGԫӲQ;SlK,e(?T+*֮f_۝k:Jm3IJnf (ޏNϜzgfٱ.Ӄ/^#x&^|tIKf_ F*L PI$޺Mƙ9ѽ97We,z=8s;o>r`e靛,[fĻN^X0$&^,]dTuC2z7902]Lc}m>Y~\;2HG$'G4JI"M:;,eÞ#x9/L`6%pve02AxHV4 O)laR`eu |F)$I!:7Ӈ=3F*oGzgxpL 3elؗiYKe+*֮f_ۯL;S/immk}>N[G5$T^`3/^q3elؗiٗ¤A@̿&^>  JI &m>4᝗FzczzvY7L y͖-b]/dye,*L |~͖PHSZnu6:6&^> 6OŖHSutN0YFzfA,cl%lKa[θ%-l+~PRI7io 70* We,z=3J1k6%prGRJ1k $5 S߶ugCG^N]FXwEXm |FV;R 6ٳI$U)We,z=m3IJnf (ޏOJ6%pvemD )l` WXmDo]&LޏOWe,z=u :yθ5#)Lm` S$]!7mEk}>G>;xge*]ӲQޥ /͖-b]f_HV?ax ޏLm3IJnf (ޏOym#wf>x[fĻN3$x 6wo>:@Rdmu|t O5>:%$2Q e,CtoGԼ6үN0YFzxKm,16%prGRdmuER g6ufHAmVXnfε\.ru>Ee|R2xmtfH~Χ$1@ۯ:ǘmuh"Ŵ?:i$7W@oGԱ ͉v`0ac@0( )c @buH LޏOWe,z=4y΍ڕzvY7jLuٱ.Ӄ<:+*֮ *]ӲQ;Shu=FѸm88h0XH(Xh0XH(+$^G\.d(|u$T^`ڛF㥶lKIa p)cIa pP@V{)p|i*oG7-b]/dye,!WY$U)]P5ϝ6nuZ롒A>yd:49]Z7H1f[RIJnf (ޏOn:6Ѹm88h0XH(Xh0XH(+$^G\.d+*֮^ֺٷLC2||Bb!qkΰuH ߯ez6dcdhilmnors "_fgjpuv#(),/=Dbw CESxy-AFIMORTzBGLPUVkq0HKNWY[]3J&'129:;Z!578?QX46P-44lag:e,x0XmX$Y$(8XF)c~L:3 >Fh@L] ̝--U3({u0-U3(C:ڱ.؇/fye,o FtPHSZʻDo FtwۦLKk~oOHHs隅%x&ǾtrfNc;7(PEEv\_E>gBtxG<qUa+d=jEBoli$\}0΂aP:a+d=j7|tHH벃\I$ZY$]0er[L=kc,#нxuIˋ"z""MB`ŽA=-̝#"V%~LA%,o #(1~rPRI3v3gK2tCֶwG |yWS Q5H=祿y~c0|[jĻb唱x&tРaB"Mjg*f3~3V=kĒEڛ{u0C_z[:G3EK!?B!tzajBJX߼:GPc0|}bRI3v3gK2tCֶwG |yWS Q5H=祿y~c0|[jĻb唱x&tРaB"Mjg*f3~3V=ec~6ۛ VI$]WS Qfy? -b]76 O` pn b%,om<@35B @,UZ%$9Wh6t'Kd=kgtze{u0j[OV%,ͧf_Y$]]L] ߵ2mōͧf[&]:]1_#l363,.#u֦M$nB6IjnwGYomt$] :DZϖ$.]+۩ (LR߼xl3KmXlCͧ\f|UjAR5IKO PTA m2H A:Y=2J`Ž5-ͧf34Չv9{3)c~i6IjkWvLmͧl3EX&u?M}V$7Wa a ;,Է65ڱ.؇O DR.l3AQ>  JI &rlfNz5*a ;,Է65ڱ.؇/fye,omZ*Np!V:sy E[RI3v3gK2tCֶwGln0=5`D$ϯmXlC<7Q 3% $5Q }7Q 3+㱚HSuvn0=(kxd[jĻbh RƂJ֒H ߯e:o=(k{u0C_$BV%,d}dvw`Up!l[fN߹~M|q$v!^L0aGtzj:~TՉv8@8(/$^Gt2+d=kgtzj*a ;P6 򥶬K!ٞYKPHSZ$7Wa a ;҆ o-b]7R %$9Wh6t'Kd=kgtzP*a ;҆ o-b]^X߸}dvw`Bljdۋ-n.8fߓm~nw$~0er[[eǹulBldrL_>ɩ$7Wa a ;P6 o-b]7|UZ*-R h|UZ%$9Wh6t'Kd=kgtzj*a ;P6 o-b]^X߸}dvwa3v3o߹vIdv!^L0aGtzP-K!E[JX߸}b-oDg*fΖdllJ%^L0aGtzP-K!ٞYK/.֮MrLqc~ⅲmmO<wdoۦLKkq{d]gクa#nf^-6"~1?co]MPMVMZ dۋ~MH2mŷ([&]r[TEڛ{u0C_ڱ.؇>Z*-oE[JX߸}b-oE[墭)$ʻD:[![;҆ WS Q5K~mrgR $5BgܭS&X߸lqw1c6omu$[+޻.cKmCpUl|pUeE]OF)ms߾ >FI$ײ+d=kgtzGgRn0=#ʩ|͝ mXlC< u?Eښ݁Z?Cn9og{̿u>Fߓm9MS|,> $[9rI$]WS Q5K<2M-b]4($(JXРX  P@^{-G|C_۩ (J%&ڱ.؇/fye,'$E $5! d]2tZEڛ{u0iRV%BA@@Rƅ`!BI{}C-CֶwGln0=5` ?*[jĻb唰piU $5HSuvn0=05,wf mXlC AcA@8(X`0P4 AcA@8(X`0P5BI{}C-CֶwGF^L0aGtzajXNڱ.؇/fye,%ޝPHSZ$7Wa a ;Ӹn12tV%q&tJXc #B I$U ͝,ZJ`Žj[|| #Չv9{3)cq&t $5 }7gH*zmr&Cb:p$Yۆt! IjnwGp3RcdK!Lԅ#D:G >FI$U ͝,ZJ`Žj[|| #Չv9{3)cq&t $5 }7gH)8޻,ףRWe6# E:^-gBp<1$v!^L0aGtzw5->>N[jĻbn1Α L>?Bb:p7gHP{GV7gH ¢RI3v3gK2tCֶwGp3Rn0=;'H-b]^Xc #B"Mjir>>?lN756ӅRIjnwGp3Rcd ¥K!La8T@7gH ª JI &rlfNzjUwGp3Rcd ¥K!ٞYK||3~tU $5 }7gH ·1c6̝/]3 MHSuvn0=;'HlGN-b]7gH ¢@:GXlGNPDRI3v3gK2tCֶwGp3Rn0=;'HlGN-b]^Xc #,6# _Y$]]M3_:GXlGN;dz^J6xbI"MB`Ž 3SmqA @ 4 С֒H ߯e:o[3,LF)mM}bRI{mZy{u0金| ڱ.؇/fye,-rIjkWv76ovlR7(HSuvn0=055t饶K!یpAyhdۊ /h%$^ˎk|金WS QytV%,t $5r/hotԒEڛ{u0C_z[CRhimv[jĻbaKn}i$/t2+d=kgtzP {u0C_z[CRhimv[jĻb唱d>ih^ZΖdzEڛ{u0 Է:Gmq@@XРH ֒H ߯e:o=;{u0 Է:GmrgRLIjkWv9W|̝-gBuerI$]WS Q5H=祸d> mXlC  XH0B@RƅAP,$ AAa``P@^{-G|C_zUwG |ynBV%,!(}dvwcp΄68L_9\1I"MB`Ž!J΅K!ƅAP,$ ,hP$@hX0}i$Z>㡖[![;UwGԱ Vt-b]^XJ}dvw`e CmRib ͭ6ev)Y[ncD.]+۩ (O28[jĻbhP$@hX0RƅAP,$ ֒H ߯e:o=<~^L0aGtzxIV%,iIjkWvIv!^L0aGtzP -b]4(qa`h 4(qa`h  I$ײ Z5H=^L0aGtzP -b]^X2rIjkWv7 Cmi I$]WS Q?Rmp١K!ۆt!3vڔhL]|֒HC-CֶwGԫ۩ (O6hl8lV%,{@nhf_Y$]]Eڛ{u0|1c5= &i%K!ۆCRۆC(_X)$^k|C_zUwG |ynIgmrgR!{LPHSZGV偛c63-mgz칡]x.]+۩ (J$2rK!ۆCX2qB @,JI +d=kgtzP {u0C_z[CPՉv9{3)cp}(_Y$]]%nc9 X뭓mIjnwG |ynBV%! @,UZ*-RۆC(_X(E[RIM[![;҆ ۩ (J$2rK!ٞYKCQB"Mj/+u?fRǿ]lOVoޒHSuvn0=(k{Kp}ڱ.؇ ࡥ,hP$_ZI /~eVzA=*a ;҆  ܡmrgRPHSZej̝/]2r eP -R-i$]PZrb9Eڛ{u0C_z[CPՉv82r-RPI$U ͝,Z5H=^L0aGtzP -b]^X2rIjkWda4Ϲ[,lOVWec~68L_9\1I"MB`ŽA=-!([jĻbnAӜ3IKCQB>Z*Np!)$ʻD:[![;҆ ۩ (J$2rK!ٞYKCQB"MjirX>8LgKB˩ǘmq>Zrb9Eڛ{u0C_z[CRhimv[jĻbn@bztz_4нx)cp}нx_Xbz)$ʻD:[![;҆ ۩ (J$2rCOCkV%,!( COCB}dvwa4Ϲ[,sCOCnL_['镬~MfR~$.]+۩ (J$2rCOCkV%p}нx;3UC_zFR!{LP44/i"nA)$ʻD:[![;҆ ۩ (J$2rCOCkV%,!( COCB}dvwa4Ϲ[,sCOCnL^.cek:_I" Clr$7Wa a ;҆  ܤ3ĶՉv82r44/i"i!{LgtzP d>[JX2r44/i* 3U!(*-H A:Y=(k{J`ŽA=-!)446L-b]^X2r44/i*IjkWvLr446u~1?lOV4,r$7Wa a ;qڱ.؇XР (}i$Z>㡖[![;UwG9--b]^XR9-PHSZs3r I$]WS Q&>[jĻb $! JI +d=kgtz_4۩ (K -b]^X% $5޻,.c86ϭqI$]WS Q5LW( -b]܆nW(PA5H0ur3p:Dr :DrRIM[![;҆ WS Q5LW( -b]^X0ur $5ߕur,N7ˮm˘Ve[㱚HSuvn0=(kQ:[jĻb QD )mf0ur*}bymCֶwG |n0=(kQ:[jĻb唰`㡊IjkWv :Drnw>1c6;nR~A1#I"MB`Žf>YBV%f0|h1 =5!Gj@>LyJ[r ,h1 &@/5mVnP̳=5!Gj{ {u01 ?CS|K!ٞYKQB"Mj,nC7+~W1$.]+۩ (OIDՉv;rXRېN5B I$]6llOWS Q?S܉mrgRy$[PHSZ ܿ S&X/$[Mblqw1c6k6?6"ǿ]zB߹Eڛ{u01 ;жՉv;rX;Ay$:k%- tCT/@/$[Mb%$ to=<~^L0aGtzxLrH-b]^X/$ }dvwcr[ec~6BX.]+۩ (O륶K!ېnDCJ[rȨ_XDymCֶwGԫ۩ (O륶K!ٞYK]PHSZnFho]ec~6ϝ_N7}n.]+۩ (O륶K!ېnF-o)m#U h|JI +d=kgtzxJ`Ž>[jĻb唰! $5$7Wa a ;Y89dՉv;rG(KD!HIKnAj G%RIM[![;UwGԲq>rimrgRg,_Y$]]$]WS Q?R{-b]܃#tzxHR9-Rېz9@rZ}bh@/5mVz{u0,YBV%,[,EښݒEڛ{u0G).nPՉv;rkAz9Atzj#hrJ[rkAz9E 6G(%$^ˎk|۩ (M@%z9HsrK!ٞYKGsrIjkWv6>Yo]6G( [$7Wa a ;P6 mPLFLՉv;rE-VQ% I$~㡖[![;P6 WS QKhrg452eK!ٞYKGi3 PHSZEnUyeϤhjI"MB`Ž>[jĻb\3D>Z$+j|JI +d=kgtzxJ`Ž>[jĻb唰! $5c6~o~1?op1$v!^L0aGtzxN#Կr8KKmXlC ACJXР ($5BI{}C-CֶwG9-J`ŽG%~qڱ.؇/fye,rZ}dvvIv[#m=rw[n^$7Wa a ;j]Ȳp mXlC*l)mʁ3/$^Gt2+d=kgtzxJ`Žr,'BV%,r!3}dvw`ep.f^-P3f} ГRIjnwG6d:ڱ.؇$ `}i$Z>㡖[![;UwG6d:ڱ.؇/fye,,6 'E $5;/Ҝ6&e:^-P3f} ГmHSuvn0=<~ignPՉv;rqJ[rqT/$?[llO|y{u0/7L>gܫ<0rK!ٞYK{>[<0nQB"Mj.]+۩ (OK!ٞYK|3T/.֮'zԘ.tyʹ_򗳷6I}o|3o]߶|c!m6mutЃm]l/6镚fVmnMq$7Wa a ;#R}&̭KmXlC+h%-]T/@@/5mVzԫ۩ (LrmRIjnwGԾe㛔$2nA1slOZHSuvn0=<~9$V%}x`R9-NF)m}x`R9-h@/5mVz{u01 Ȗڱ.؇/fye,@ $5#nAogzB߹2tG%HᏖ6޻.cY9DEڛ{u0j]z')c5mvJ[_VNRjHmZf^L0aGtzen X|[jĻb唰 x g)c5Eښ݄uer3_9^u#I$]WS QEQjd3g"V%}O;H ܌YEQA@UZ*9$?}b nF{>oNFI$]6o ;H5#J`Ž/MrP3!9ڱ.؇/fye,, fJIjkWvJ>wo#ڊxB<.\|OG%_9 $mҮ隅%h!:_mc0|HSuvn0=<~KKmXlC?KD  G%J[_SHB@8)I$]6llOWS Q?R%K!ٞYK OZ}dvwc_S[G%slO[sYs2ߵ:89d$7Wa a ;cAKKmXlC?KD  G%J[_SHB@8)I$]6llOWS Q?S OZ[jĻb唰^I%IjkWdv!^L0aGtzxIV%}Op@/@@/5mVz{u0&S mXlC< (_Y$]]+s2`xI"MB`ŽisRV%}Op@/@@/5mVz{u0&Ӟ粥K!ٞYKsU $5:nf^is[dۦC=rIu nYFeo]߶|I$]WS Q?R=lǖڱ.؇k|θ}bymCֶwGԫ۩ (O6cmXlC<&zEښݍ}Or3/\ɳHSuvn0=1y>>K!^wG?\>>%-E <ѸUZ%$ to=1۩ (L~#kqmrgRg7(_Y$]]75 Jyqt떏o>.*c:՞I޹MY.]+۩ (L~#kqmv$yq|UZ$轸}bg7 E[RIM[![;J`Ž9ڱ.؇/fye,yqEښ݃sP~g7XNh!؍sb"ɶ=Ӯ]YᄑoO kg Sux?IjnwGp3R:S[jĻbh0}i$Z>㡖[![;ӸWS QHgOmrgRjg[:(_Y$]]` 隅%}1 ~M`f|_-,tГ}trfJ隅%I$]WS QKٹGS[jĻbh0}i$Z>㡖[C;2jUwGp3RzvnQ:ڱ.؇/fye,%ޝnS}dvwa3wo][j6ǻ%zSngce/]i$\zk'ۙ ԒEڛ{u0^&3K!9`%-(_X)$^k|ܡgtziDrWS QEQi< [jĻb唰nF{>PHSZD!1g3r˦F{[mƤ.]+۩ (M"(Q4ramvX M"(Q ܌| $r  p'RIM[C;2/Mrn0=4\9D#=aK!ٞYKg /.֮L}o]L.fS$̽hb'K!\zNRk$Eڛ{u0UJ/>V%휴 <@@/@@/5mVnP̳=#ʩWS QTs -b]^Xs PHSZs[k|A[e+}B Om tHSuvn0=2J')c5mv_ZI  Zf^L0aGtze)NRk"V%,@ &r3_9(_Y$]]9ϭ:o6޻-Lqu0bzlqwM$7Wa a ;P6 򥶬K!ƃ )cAP (_ZI /~eVz UwGlKmXlC< ?*}dvvIjnwGF@t0Չv8٠:!@t0IK4C/Cf`@L] ̝-金WS QyV%,IjkWv9Wh6X> 6ɷ6h([&]qͽw$LKkz^Z64C-n. B9-I$]WS QyV%f`=05!{G%,l P{G)$ʻD:[![;#Rn0=05-K!ٞYK4C/.֮&rmoܰ|ogmn,l PM㱛zIL>\fB_#@|-|˙婓n-@t1B6.}2-ehHSuvn0=05-K!4C'#@gD6h )m3!@t0JI /~M[![;#Rn0=05-K!ٞYK4C/.֮%[L>\|s2u?!?smY$_c'FF` 6d'4|-4C,,?Jۇ HSuvn0=1y>>K!4C0@٠:! JI +d=kgtzcWS QrG<V%,4n1PHSZrB#m$7Wa a ;Hn-b]٠:!/ PRIM[![;J`Ž9[ mXlC<eec~6Ge/n-@t1B6IjnwGF4Չv;f`R4C1B I$]6llLV&> ~9a Uk+05$v!^L0aGtz_4q͚z]xڱ.؇m; IKm;}bymCֶwGJ`Ži㱛446L-b]^X0q!{LPHSZ 3)X0q!{LI$]WS Q?Rm9{*[jĻbh7-oE[墬t RN<q}b-oE[墬t HmZ?Rn0=<~sTՉv9{3)`=9{*}dvwci0m5ۍ|e~1?toĒEڛ{u0&Ӟ粥K!N<F|UZ*-oE[J[iǂ( h|UZ*-oDymCֶwGԫ۩ (O6=-b]^XN{ʨ_Y$]]qv\>Ys2byx_,-G(z캟y1l1$v!^L0aGtzxImvӏw* pn bVh|UZ$x U 87pVh|UZ*-HmZ?Rn0=<~sTՉv9{3)`=9{*}dvvI6}o]kXec~6_8hB}l,sV9nhklBm9m68N$7Wa a ;M=eKmXlCxK*!@,UZ*-oDӏ wT/CX|UZ*-oI$]6llOWS Q?Rm9{*[jĻb唰=PHSZ$N> 5pm~1?lwf/Ҝ4UW>Im9{+l4!Jd̜l'DEڛ{u0&Ӟ粥K!N<n;AQ|UZ*tgtzxKĂ` )m 7/@*<oEXL: Ty \9A)$^k|*a ;M=eKmXlC<Ӟ粪IjkWdcin(13/]S1|y~2[Î$.]+۩ (O6=-b]qpA?R 7[墭VwGԾqAz캟y؅)Gt1$v!^L0aGtzxImvӏGTy*-oE[墬O 'AVwGԾp 6rᏖ6$_8mnfZ zɶ5B޻dF_r$7Wa a ;M=eKmXlCx89;@4IKm8&p 6rPLl%$ to=<~^L0aGtzxImrgRzsUB"Mj,m8޻.hl,~ϜMc危˩ǘmEn, M-n.8f.]+۩ (O6=-b]qL>ZX|VhqL/C(@P oI$]6llOWS Q?Rm9{*[jĻb唰=PHSZ$N>f\̶NRn6emc危IN޻m P9ѯܪI"MB`ŽisRV% hE[墭Vhqf_XE[墭Vh@/5mVz{u0&Ӟ粥K!ٞYKsU $5Hz칡|e~1?toĒEڛ{u0&Ӟ粥K!N<4$n3D>Z*-oE[墭%-BM5B>Z*-oE[墭)$^k|*a ;M=eKmXlC<Ӟ粪IjkWdcihl,mhIvNcn6hU6ϭN{$['--mR-NI"MB`ŽisRV%|wGF/h*-o)m|P{GVh|JI +d=kgtzxJ`ŽisRV%,쪅Eښ$Xqv^fٯG%co]S1ۮ4UW>Im9{+l4!Jd̜l'DEڛ{u0G(}&~SC_#&[jĻbmP hh*FLAyh;#R|RLd/@^4U#Dg*fΖdllM@%^L0aGtzj-Iɖڱ.؇/fye,mP hh*FMB"Mjg*fΗmP hh*FNǿ]~G U]$DvR3 G I"MB`ŽYomq`HXP8  B֒H ߯e:o=(k{u0C_$BV%,d}dvw`Up!l[fN߹~M|q$v!^L0aGtzajuV%B'` IKjcdhilnors "_fgjmpuv#()/=b CEMOSqwxy,-DIRTAFPUkzGLNV[]03:BHJKQZ1!&289;W'56XY7Hl<ϣ.-nKX* tO`TKt稁Q$ P`@ H H,,a'`uN&фT}DM0`uN&фT/;0J/xf[tk|I%@BE:}6XXC0:ۧ[fhN* tl3q5Ff$RE:}6XXft8#3Fwt PZE:}6XXt3q5Ff$ZE:}6XXP nMo ; HO J wAmӉ34a'w@ tl`uN&фTJE:}6XXC0:ۧ[fhN*}DM0;0J_Qe$  nMo ;/(RK6; z9_%Ih)%E|n=/Lv=PNkbАH.0$[@I\aH"RK6; z9_%DA@\aH",z,P2}6XXMw֔ɮۧ%A d\Gk [F}O Io2ҙ5tlO(jE=RXU۔ŘEċ\Y{N%Z rU,bE,[7*%ַ*P}>&y;ZtU'e$ޏ%8ȦMv8@A@HD P@X$ AAa@ ߮]#5N-sz>n}6XXMkBSdmӄ,,a&}ݲ™5tlO(bE=RXU9%O I|7lld̓|Pҙ5t0X,` ߮]#5N-sz>n}6XXMcc&d↔ɮۧ+byD&d?}DT1U@g|P\a=t6 ڛqC$*,P2}6XXMfI\a=t6e2k`Y*id\Gk [F}ݴlv̓7{.ldmӄ,,a&}}ȦMv8A[%@'E=RXUP'Zܥ L[v2`u=RYdl/c"5t;!BJvCA5"O:΍C\O Ihkh2)]NVP d}DT1U@A%=e.'d6tV)^V@IfoG8dmӄc솂>Uò/;~SKޏ5ϴl/c"5tlO(^I@IcT nW} @Tlh5[k[|aKnR8({c,U'e$ޏ5϶9z,P2}6XXMC\ow~ɮۧ Dd6i$U8Nkbt)oM0z>>_2k ؞Q*6HKVj²¢]krC'Nk]:ow~Y%O Ihkh2)]Nò1"V?l/H pŔR:7 s>,,a&}}ȦMv8A[%@'E=RXUP'^@F[|aKkH2K5T M0z>>`QLp8(azE dز [F}}e$ޏ5ϹXS&n /*ӋkSް*:Ï zU@ac 7 s?C`V/F2k?C ^%A{/F $U8>>{`rt`S&n  z'A{: ,~X?]$ZU[P37vN|̲K5T M0z>e'dmӄd8D!ƿ/H p٭)ХtoG l-q8?$S&n x{HK~@8?%[M~K zU@ac 7'd4Mv8FC~ Jk" lYN-sz>n}6XXMk )]NVP0jE=RXU=RYdlv Êdmӄd8D!ƿ/H pŔR:7e$ޏvAnS&n Ò/*U'e$ޏ|aҙ5t5$lbJk"_s[SKޏM0z>nqCJdmӄ,,a&}ݳ;p5t5$lbJk"_s[SKޏM0z>nqLp'JrwHKK5T M0z>nqCJdmӄd8B9  %Y5Cf}B_*'5e:΍iac 7'd4Mv8A[%@8!@IcT5:b9 3 t14>S?݌G!wGsrD[{c+cZN2dTj>,,a&}ݳ;p5t5Cf%񁂉VC~#٤_P  lYN-sz>n}6XXMgdv2k ؞Q* 9",b!ƿ'XCi#k]:; ;p.2G! fc(h}kr~-ŻXCh0*fzb9 ?'^Y] \C~2[Ot!* z?)Ӯc+cZܣSVӣ[T`c'D[#+CCh [瓨I\Y 9"b5[i7K+cDMkr~-ŻXCkC1G%%qf(Ey9#ԋ\YaL~Nu5W{SR=c,U'e$ޏF4^ = 92k2k#c瀢U_=x4^_PU8Nkbt)o}6XXMtn#MP쳜S&n ) = g9",b!ƿ+[=scLK^ډutV*{,Y%O InitCgqLpdp(i61~x %Y5 Pqz}BF/V@9)ХtoGۣiac 7Ѹ7lY)]NVPPqz h^9@IcT5Zܩ쳝[|Cj#MYE'V*{,VƆK^2,P2}6XXMuHMv8@@A` @J@8  PH  ߮]#5N-sz>ee$ޏko^dmӄBN^K\[ dmӄhIř"5tŘ$ޏa{'@D /H^0U8^rŔR:7M0z>hIř"5tlO( ř$ zoS:S,CC@GГ 1EG}K5T M0z>n#ҙ5t J@!"H;~SKޏM0z>n#ҙ5tlO(#ԋ z[r < ^`pH&хXdTj>,,a&}}n>مHMv8FAE/H pŔR:7 s qM0z>>l$S&n F$ z:kd('Q^NxtCk\'NLU'e$ޏ| 6#Jdmӄd$Q*1" lYN-sz>n}6XXMgb4Mv8A[%@D HK2u>Nѱ^ G'^ ^N~A%O Io2.ɮۧ$    @`X$($_U8^r'qt)o->,,a&}[|$S&n vuI",bU'e$ޏs:ɮۧ2`Z$ޏa{'@D ɀjE :  lYN-sz>ee$ޏs:ɮۧ+byD/d}DT1U@Μ]k]:2 [ZܩqnT,Y%O Isš'h}32zS&n# c"V@C3'$U8Nkbt)o,,a&}7K dmӄd t0f\ܐz>el#˝H!{'@V@9)ХtoGhIiac 7x$}BXS&n K/*,-lַ)2]kr~-Ż]FN֝GsrV@IfoGhIsqMv8F@C0v 7x$"NGN%Y  }B@98*'5e:΍- ;C>,,a&}7K dmӄBN%2k2: Xxz>BN,pr0v@IfoGhIgd8̞ɮۧ`+'$Q*`+'}BEY,B9ѽsš'h}e$ޏГ>ϙq=)]NVPNN|8̞_Q%UPX ZdgZܦ8̞q*BydTj>,,a&}7K dmӄd t0/4f䄛,/dz>e 7V@C@.vnI"4^ lYN-sz>BNO Isš'h}C™5tlO(}BX}DT1UA`@$h/6uʙew;ZuVƵS?݌ zG K5T M0z>BN%2k2: $Q*`[E dز [F}M0z>BN%2k ؞Q* q",b,-P'Zܩ}BYCC'Q.Zܦ}Hϸʜh+ zU@ac 7x$scfOJdmӄd t0 =pHD cI$h~ pŔR:7x$lV@C/HV@9)ХtoGhIiac 7x$}BXS&n K/*,-'NLcCr!ʑ8cekr~-ŻCC,U'e$ޏГ>ϙq=)]N1$}#CP Sjt4Q*`{>E X Ss[SKޏГ>oGhIgd8̞ɮۧ+byD''>ffOR/*,-'NLq=&ZܩqnW}D05UQ]+kr~-ŻQ,%O Isš'h}C™5t Og4?p5:CE'$_P(5:*'5e:΍- ;C>,,a&}7K dmӄoGhIsqMv8A[%An2P$_Q%U=qnַ(9MC zU@ac 7 s_~ɮۧB !`}V@{ˤ|ƿ)ХtoG}6XXMC\|W߅2k ؞Q*_~$_Q%U3}.0mS C@IfoG Yy"5t ,Cĺ(d&H. lYN-sz>ee$ޏs: @E2k ؞Q* :2HKM d[KC%ַ(jNkכֿkpg[s:,P2}6XXMC\GLpЖݡ] JBXv_PCEY,B9ѽhkiac 7 s^E2k ؞Q*8/*n}6XXMxCJdmӄBN}Mv8FCd옑D!vM" lYN:/(ޏГ>iac 7x$[dmӄe,@,Q* vK$_P[e( ߮]ز [F}O Io2™5tlO(,HKx:L[v2^l ֺt@vQ׃):LP>v@IfoG lEdmӄd;%,g` bVA_q",@,U8Nkbt)o->,,a&}; Pe,@, Cc瀢U@H ;P P*'5e:΍M0z>eeJ(S&n [eQ@ zӡnTŸc+\>}u;)ЭkDZge(}=RYdl/[,2Q@5t}&}Y@,Q* vK$_P[eQ@Y,B9ѽo2oG lEdmӄeeJ(S&n [eQ@ zӡnTŸc+\> Ʊ}u zLP> ֺuvQ%O IntaϿ5tVD>N_R:7ѴlOF9x~0)]NVPQü/F @IcT N.,N:2gNkrYy,e[=sU'e$ޏF%rt`S&n (^%A@8@rt`}BEY ʖ9ѽne$ޏF%rt`S&n  9x~0HKx{$ JP@P?]$ZU[P37vN|̲K5T M0z>ȗсLp 9x~0oG `T/F $/d*0eET΍tm>,,a&}7/5tlO(тE=RXU xRWbp"b5L[v2se=RYdlY؁Yy"5tf ܿ 61~x %Yf ܿ H#c瀫 pŔR:7ѴlY؁Yy"5tlO(쳜 pHKFnHC'AnJ*v D{啲ϸ=RYdl0 qlY)]N*"O:΍C\}e$ޏ5ϰ-ـ[tCgqLp'J0@LCBYHKLA= 쳝dTj>,,a&}ݶ}/ }忣ɮۧ;$ޏϿe2Vwc!DE };1 pŔR:7xLe$ޏϿe2Vϼc"5tlO(>",bU'e$ޏvA 2ա2k017 leCE Ci$' [c-Z*'5e:΍iac 7흐BmhiLp'Jr2ա@IcT BP5*ֺt@- NSeyׄu  z;ݡ0C[;<+[[A9jO`y׃(lu FT8$@IfoG[c\c1n;Mv8F!1&} n/E Ci$(idز [F}M0z>q2k ؞Q*gŸ zf(NHe8::0q)2:;cZNrV@IfoG[c\cfHMv8F!1&} n/E Ci$(idز [F}M0z> 2E2k ؞Q*g $ zf(NHe8::0 2T)2:;cZNrV@IfoGlJdmӄ`boG Q*;}BBV@9)ХtoG}6XXMC\iLp'J}DT1U@8,k]:q{\Ok[3n-ʈq{dTj>,,a&}< dmӄ`boG Q*;}BBV@9)ХtoG l,lb)]NVPF/ zf(NC-qf*]x2ӋnWt zJT{-qf*NzJPF/ HŘ7DK7nTI\Y<-qf*C+εDiK5T M0z>e)]NwIo2†DE n/EY,B9ѽo2oG 2k ؞Q*`ċ zdZFַ*g[,P2}6XXMC\_~AE2k017XPqz(`bH!CM pŔR:7 s>,,a&}} "5tlO(}DT1U@8,k]:_~AUnTŸc*#M=RYdl-mܑLp CbM4^%X|/HPqz*'5e:΍M0z>e]{)]NVP;|$}DT1U@8,k]:q{\Ok[3n-ʈq{dTj>,,a&}mr2k017XPqz(`bH!CM pŔR:7p;m>,,a&}mr2k ؞Q*l\#_Q%UP@b\N?taCsCs!Z zU@ac 7p;mq{0ًqG})]NVP#x@IcTJNfN19%O I{lŸ#<|dmӄ`boG Q*;}BBV@9)ХtoGv}6XXMf-wa S&n F-wB",bI;@Tj>,,a&}ݶ8ɮۧ;$ޏaCMUw" 7s[SKޏM0z>nvBn dmӄ,,a&}dP)]NVP"( ~$_Q%UPe ~/lcS&n $_Q%UP,,a&}6[2k017XPqz(`bH!CM pŔR:7Ѵln~ɮۧ+byDs",bqY:ֺuОַ*g[,P2}6XXM[Mv8F!1&} n/E Ci$(idز [F}O Io2|~ɮۧ+byD|~_Q%UP,,a&}d5S&n K2HK^OgEUwCnhnd+[3n-ʈq{^ kNfC]@IfoG3mds)]NwIo2†DE n/EY,B9ѽpʹl t3{,dmӄe 7V!44^ lYN-sz>ee$ޏn"5tlO(afI",bqY:ֺu5ʙeDiK5T M0z>>Lp CbM4^%X|/HPqz*'5e:΍C\O IhkoMv8A[%@+ċ zdCcACMʰ1h}=RYdl-2k017XPqz(`bH!CM pŔR:7Z}6XXM™5tlO(xċ zdZFwB{ZܩqnTF zU@ac 7p;l\dwҙ5t|ě,(iJ1_PU8Nkbt)oM0z>ϙG})]NVPNN|#_Q%UP@b\N?taCsCs!Z;'>fQqj#MU'e$ޏrߋ;5aLp CbM4^%X|/HPqz*'5e:΍,-l.X[{gf,)]NVPNkbċ zdZNkbwB{ZܩqnTF zU@ac 7p;n7$\dwҙ5t|ě,(iJ1_PU8Nkbt)oM0z>rEG})]NVP@ 2;E=RXU# Cd@IfoG 72k017XPqz(`bH!CM pŔR:7Z}6XXMMv8A[%ACME=RXUut\eX{>,P2}6XXMι\Fɮۧ;$ޏaCMUw" 7s[SKޏIe$ޏIiaLp'J $_Q%UP,65̆d^YK&dwӋnz9Z z;)q6v@IfoGhI}oG:st`S&n#z>e 7V!44^ lYN:/(ޏГ>iac 7x$#90)]NVP9ӛ zf(NHe8Di猣:9ӛ ,Cq@VӧCrE=RYdlvϋ2k017XPqz(`bH!CM pŔR:7e$ޏ|] )]NVPCR/*9ks[ Cg^YX}=RYdle 7V!44^ lYN-sz>n}6XXMr™5tlO({c",bۋAnJ65,^ye`b@IfoG܎u$JGr#MLp CbM4^%X|/HPqz*'5e:΍ιZ}6XXMι\Di)]NVP+Pqz}DT1U@8,hljXtw*#Mʰ1h}=RYdl$|2)]NwIo2†DE n/EY,B9ѽ{iac 7p;nH?dS&n R$_Q%UP~3Mv8F!1&} n/E Ci$(idز [F}me$ޏߌG})]NVP[=e 7V!44^ lYN-sz>iac 7S&n $/*'哭  ; zU@ac 7G:b™5t|ě,(iJ1_PU8Nkbt)o#l1vM0z>s.9)]NVP /*'啭tAr@jeK5 BHe8}yekp|3!-+ zU@ac 7p;mq{E2k017X^0 F} : %X|/H^0 A{'@V@9)ХtoGv}6XXM\^Lp'J/*0G lYETekr1h}DNxʌ./F$K5T M0z>q2k017a[8DE dز [F}1M0z>q2k ؞Q*HK^Oh{>C'EUwCU'e$ޏs:ɮۧ; 2z>e C`!`?$_P` pŔR:7Z}6XXM=aLp'JN@IcTֵӠelk:ܕDiK5T M0z>>ߐgLpP J@2EY.wB9ѽhkiac 7 s}yɮۧ+byD $ zg\a=.2}ek zU@ac 7p;mp2k@1@8$  P@((pBEY.wB9ѽ{iac 7p;mp2k ؞Q*}2;E=RXU3}.0mP@(ݏew zU@ac 7ѲfMrqɮۧHd}V@{ˤ|ƿ)ХtoGۣiac 7ѲfMrqɮۧ+byDs\~I@IcTS|kr edTYβK5T M0z>e>{ɮۧHd}V@{ˤ|ƿ)ХtoG l.a8Mv8A[%Aa9",bm&{&Y)FU46u=RYdlvw3-s2#gG$S&n  P((}V@{ˤ|ƿ)ЧCrEvw3->,,a&}ݷq̈ɮۧ+byDw3$I",bhSemt X0-"M7% z𬔣+ zU@ac 7^JQLpJ2(JQE dOd2*[F}O Io2Rdmӄeɮۧ+byD"R/*0‚%(ʃ]nTŸc)ϣse=RYdlv;LpP((%APP( }V@{ˤ|ƿ)ХtoG O I|7lcˬ ɮۧ+byD' XHKtt o2!|{*%vQz.(CrX z𬔣+ zU@ac 79 )]N ,//~t:΍iac 79 )]NVPB9 HK[r&~P@IfoG rS&n !7XPqzC@oG Q*G!$(iSj n/EY ʖ9ѽ|7m>,,a&}ݼG!2k ؞Q*G!@IcT, t' ʉtŘrk1Tmkr~-ŻT@FfqC@Ո6<W+m=RYdlvɮۧG!M4^jt4 N5:CEr}BB5>00 N5:C@h px{$R:7e$ޏ4Mv8A[%A5",bruNyQ.CR-qf( Aַ*g[FfqC@ծ;*{< XCkC5%H*Ir-ʢ2c&+ɔ`xr]kr[T`|#;!,,a&}}9 qzS&n ! 7M4^%A4(iH!CM px{$R:7 s>,,a&}}9 qzS&n r4^_Q%U=RYdlv!aLprHb$Q*G!!$U8,,a&} #&8dmӄ#мFMrq 7X;z>eoG w F} : %A4/4\~I$sP^0 @N ^T\eKޏ;O Icsw6yɮN?c"5tlO(#мFMrq$_Q%UP-.0eK}ׅ#мFMrqW92h>(W=!:3ڛ=Sy2qJܖWsXCh&:QT{c+ν/V*n;5eDCrEwOr 5 U7νM1^F vCj%ևC@^ *[wOr*;ܩa䱔mz_{0wOr*;5eDN(IyK T裌kk=/WaGyc; ز,P2}6XXMG!fMrqɮۧG!y2oG w F} :ޏ`t @, F} :ޏa{'@D!2k"`j :sP^05t dOd2*[F} }6XXMG!fMrqɮۧ+byD!2k",bmtqH/c*\N(!2kʋN_VBnS:T9; zU@ac 7nxN55dS&n !2kIo2Nj7X;z>e ~/l'5` `j7\s[ޏrߋ lX(#мFMrq$_P`05,@, A9ذU8lY\~E2k ؞Q*G!y2HK[]:\a= ʗ, G!y2kնaѽo2兿ذ\~U7X;Qn/gdTj>,,a&}ݼG!2k1%X_U8 wB9ѽ|7m>,,a&}ݼG!2k ؞Q*G!@IcT nT0;km=RYdl/5tрD 9x~0H" ^T\eKޏiac 7^/F2k ؞Q*^/*0’?]$ZU[PL[v2;'>fY%O Io29x~0)]N?] 7X^0Q*^/H^0U8,,a&}Mv8A[%AтE=RXU xRWb\Ykk[3n-fosdTj>,,a&}tpJ2)]N?]` Ad$Q*^0y J2H" ^T\eKޏiac 7^/Fw{JQLp'JL0v^H"R/*0‚L0v^H"R5ڄiϣse=RYdl/Av^K%(ȦMv8@@rt` &w JQz>eLp$t dOd2*[F}O Io29x~0tkRdmӄfY%O Io29x~0tkRdmӄ/F`w{D 7X-oJL0v^H"R/H-odOd2*[F}O Io29x~0tkRdmӄ,,a&}˒2k ؞Q*! qؑ}DT1UAش7'ZܩqnTNw)ЯS(': vDS?݌.`vClU'e$ޏrB㰦Mv8Fbě,/dXUشt @,U8Nkbt)o->,,a&}˒2k ؞Q*! qؑ}DT1UAش7'ZܩqnRq Wӡ^}>Q^Nv@IfoG ! qS&n#bMt @, F} :(`v-"P P^0V@9)ХtoG l.HC\vɮۧ+byD5bE=RXUbܝkr~-ŻKx2^F vCgNz(Ey9=[ZܩqnVAJ0;!@IfoGgO~ )]Nش7%XCq" lYN:/(ޏ>oGgO~ )]NVP,?p솤_Q%UP\N>X2pΥG qʖMnVb z;5e7ַ'{:pμ7nTq=Q.pΛ(h}`v- C$^ šϹdTj>,,a&}1=d4Mv8FboG `Uش7/H^0U8Nkbt)ܑ}yF}1M0z>òS&n d5",bhnW =d6hRBP~K&v@IfoG܎u$JGq})]Nش7$Q*ZH"s[SN7G:G%iac 7G:G%rãɮۧ+byDGp@IcT#moušZܥ,P2}6XXMcaX;!2k0;!(`v- C$}BEY,B הoGiac 7ac'p솔ɮۧ+byD ߸vCR/*c(,=!N;+h?Biөf(c,U'e$ޏ>p솔ɮۧZHO Is }~ )]NVP^ò}DT1UAش7+XzòZߵ,% ש?(AdTj>,,a&}1|,dҙ5tCp =pHUش7/H pŔS"c>,,a&}1|,dҙ5tlO({jE=RXUbܯA`@5 @ Te@ ;!@IfoGs߸vCJdmӄ`v- $}&} : %XCp =q"Y,B הoGiac 7a;!2k ؞Q* ߸vCR/* ;z @  0,"*pXEO~ K5T M0z>-™5tĊ%X/H pŔR:7Ѵln~ɮۧ+byDs",by=8ֺtŘċ\Ytv@IfoG ! qS&n#] J9ڑ}B] dز [F}O Io25aLp'JHC\v$_Q%UP/$s'Zܥ)d5$!@jC,U'e$ޏs2k09%D%V@{ˣ[SKޏiac 7\qLp'JrE=RXUG:ruZC^RBt .A=mt2,P2}6XXM|dmӄ`sEv1" lYN-sz>ee$ޏg+̦Mv8A[%@D/*:`sC(ʵS@isK5T M0z>e2k08,_V}BYY.lYN-sz>ee$ޏg}iLp'J~",bYJnVd5XnU u偨[(v*sy$rVM0z>sy$rW[сLp'J 9x~0HKygܠGr9x~0kk[3n-ʞ0,P2}6XXMι^n/F2k 9x~0oG `?] %AZ?]$_P`V@H/c*.2toG܎u$JoG܎u$J8p9x~0)]NVP@q/F @IcT,TV/Fmkr~-ŻS:^*g[@IfoG܎u$JЃãMv8FhPqz$ޏaJ8Bԋ ã*/~tvkbt)o#s#l#s# Di)]NVP/AXtwԋ z-nTTF vGk5,^9Aq92%O Ir9<9+I5t|eCMz>sGp F} n/E>2С"(idز t7$_^Qr9<9+O Ir9<9+I5tlO( zeFTgܯK{SF.2nT<@:;@Ǩ(0:ۧ[fhN*/43q5Ff$HO J0:ۧ[fhN*HO K0:ۧ[fhN*$_Qe'0:ۧ[fhN*HO I`wAmӉ34a'w@@ac 03q5Ff$ }DM0`uN&фT@ac pf[tk|I%@ tlt8#3Fwt P$_Qe$  nMo ;R/;0J:E:}6XXN nMo ;%">,,a0 nMo ;$_Qe& wAmӉ34a'w@$_Qe$;0J tl`uN&фTI@ac f[tk|I%@ tl3q5Ff$ tlf[tk|I%@ tlt8#3Fwt P}DM0@0:ۧ[fhN*)@ac  nMo ; tl`uN&фT">,,a!wAmӉ34a'w@HO Ht8#3Fwt P_Ql@l 9qLct'x HKǾg $ɥcdꪓRuLz̶0J:wd }TM0stk|I%@3@N@ E$_RE"H"~)"T@QXذ=DmӞ l2i$+7I66$`x./usr/IBMVJava/html/enterp/en_US/jdkref/f-index.htmtmt$$   .aert<>cdfhilnos "=_gjmpuv#()/Fbw ,CMSxy-DEIOPRABGLNTVkz01UW3HJ[]q2589KYZ!&'467:;QXH,4yУ4(S=:QB$~p=R.KHP$ h(@YD?8~Kc@[S 8`9* tPP7Iu(о} єP @ @*8z@5D/ X@'YPVɐ:E{Hn1D`m 1rC,XdgHp 08:Xk "Q<?!2\‰?‰Ĩꪓ֔O&8;T ߽Ѐ$JEb9NiD d糷yQ'cJXBa΄@ "R+S;!$WIH$S.:r҉; yQ'cJT:r҉|Y87$|IP XNSZQ+,wM~qv>$%"DvX|Y87$|IP!"DvtC-q5oIJEb9NiDC-q5oIi t;`f[k(%@:Eb9NiDC-q5oIHQ)ݭ(he&8;T HQ)ݭ(@42_fD*:r҉42_fD*JEb9NiDC-q5oI!"DvN,wM~qv>$)"Dvb|Y87$|IPXNSZQ2,wM~qv>$XNSZQ'he&8;T HQ)ݭ( ,wM~qv>$:r҉; yQ'cJ t;0; yQ'cJ+@wkJ'42_fD*+@wkJ%; yQ'cJBEb9NiD|Y87$|IPXNSZQ#@42_fD*) t;|Y87$|IP:r҉ ,wM~qv>$I t;he&8;T:] t?MD? ;^?MD? ;^TY&з:Ȳ&N@ "R)"H>p).e%qzQ9;`ׄ]:E6Q$SDADTz9NiD߽GckyŀrT,V*/޺G92O.9Ѹ^ NSZQ&9x7QlprGJ(}"DT1U@Szj_Q3CB+*2 h z@wkJ$G/;-],bT,dY{H?Ci':7iwkJ$G/;-]_P%V(* vаE~F  p,$ _Q3ClU)ݭ(q|Mv88P+d]# Ɨ G/)ݭ(q|Mv89#%@v>XK)B844"(PP*~F K=TvMroޣ5ۼ8IPTY{H?Ci':7iwkJ$G/;-]_P%V(* vаZj_Q3CB+*2 h z@wkJ$G/;-],XR+d]# Ɨ G/)ݭ(q|Mv89#%@v>XK)B MB+4hhEeFQa UbdTz9NiD߽Gckyŀ1* ~ KNtn#~Ӕ֔I^ v>[&w咠J;HQ%UP` MB+4hhEeFQa UbdTz9NiD߽GckyŀJX pzm>4dF9x79NiD߽GckyY*=RXUN%5(DU4hm=RYt;n#~ɮbT, ~ KNtn#~Ӕ֔I^ v>[&w咠J;HQ%UP`44"(PP*~F K=TvMroޣ5ۼ%BHU8_tsd6\2sqvMroޣ5ۼ,QEb,bm Wh ЊʌBA@46,P:r҉7zdn "V@9|ip΍ror҉7zdnXK)BMB+4hhEeFQa UbdTz9NiD߽Gckyŀ BEb=s!ᓝߴ;n#~ɮ/yd+@IcT;hX)E~F  p,$ _Q3ClU)ݭ(q9=w{qCCxMv8;qCA\2&X$1zQJ ^DoLƟn/hG/}yNSZQ&9|s{_k,lprGJ@x!Cy"DT1U@S3T|Hɚ^B1`e>t 3YC]v4(@GvHGCkKJP^;rXK5T@ɚhP(.K7\K5V@IgӔ֔I\2&XJ-],$X R+d]# Ɨ G.-9NiD"e5ۼ,Ҕ7"XK zɚRR)rf0_ݳ>Qce|ݴ< zG W&jRU=RYt;n#f~t3}5ۼa*k+d?Ci':7ˎ)ݭ(q3ç%8ɮ/ydv%࣏Eb,bm5f|]Rn,P:r҉7ˎK7q-]"V@^sd6\2sqr҉7ˎK7q-]_P\o>  zi5uHa˫3~,P:r҉7w=l?Ųkyz@T/sl?&&Q u6]KNtn#3r3;n#3r3zٯˋdn z@wkJ$G-|-y 3dn@Aa DX( $ HU8_tsd6\2sq=;n#řŲkyY* lYXK=j3e+v%NSZQ&9m~o%kyſ`d|!$[ Jo) pF/u.9Ѹ_gr҉7 k >SQ-]_P R+@IcT۟o0)(ԆlF=5Y%NSZQ&9h{klY[&w2d2i!ᓝ)ݭ(q=6,-]_PNCb=RXUN:\&R96tkWh>tzK=TvMr+kᥲkyž G-oQ\2&X_`T-ԊhE>&  g]MRᓝVvMr+kᥲkyY*jEb,b{suɚoRU>3l?:m5 zu{~~m>5ڙcW z@wkJ$G-[&w[ r2oV(@_` pF/u.9Ѹ[iwkJ$G-[&w咡oV(*'?gYI\jE.LS?ȯkݟ]cv_ tpνF=1?dTz9NiDVKdn|4A\2&X_`E"e>& %B HP |Ld(.':7|9NiDVKdnu z?=ömL[e1phE6P(`m{g˨nE6P(`m{3U;R)rf@%NSZQ&9ol?Ųkyžٯ˄ %B l?&&Q u6]KNtn#Zr҉7|fy.-]_PA5rEb,bU)ݭ(qX-]-C0A^ v%B ?!#+ _a&&Q u6]KNtn#~Ӕ֔I^ k~BFɮ/yd[᠇$bEb,b{suiHl,cee5 z@wkJ$G/?!# dn|4n#~n# $ |4HP}hE>&  g]MRᓝߴ;n#~kkyY*h! XKe5c2,u{~~ ˪>&QS_ K=TvMro_ c0Mv88AH9x7_aF9pșaωT-C1"BO g]MRᓝߴ;n#~kkyY*h! XKe5c2,u{~~ ˪>&QԺ&VS_ K=TvMr+kᯉ|-]-TOCn#XDozrEb |4M8L?l G-;n#[_ |OCqlprGJ x_ z Fk?ë]oHmL[e=%rf[3URnU)ݭ(qkz?Ëdn|4ÄV-F|\$ |4Ò+ [᠍M8L?l G-;n#[_ |OCqlprGJ x_ z Fk?ë]oHmL[e5f|]dTz9NiDV_n[&w[ᠨn G.,/0I*h*'ۇ$V(@_` pF/u.9Ѹ[iwkJ$G-p5ۼ, |4Ò+@IcT۟>'jۇWʻqޑՔhk zʎ@IgӔ֔I[m|62C5ۼ eX ^D %B eX ^R+ M8L?l G-;n#[_ B,DMv89#%B eX ^R+@IcT()+5B eX ^R)rfQ3 ;g<3lU)ݭ(qlef/O%kyž?(7ˆD |LJ?(V(@_` pF/u.9Ѹ[iwkJ$G-{dYlprGJ?(V(*&Q RW&j?(RU DS?VYLŽ z@wkJ$G-$<>ۇɮh-= 8A[b J CCHPo g]MRᓝVvMr+kCCqlprGJ CCHQ%UPOn~βmI=n_*{~~3T-Ԋ\ 7W@IgӔ֔I[m|6Hy|-]-Zzpqžٯ˄oÒ+ [᠍M8L?l G-;n#[_ z?ËdnY۔3ޢvFK;uhlYSx@IgӔ֔IZXl3n[&w %M| Xl·&SKNtn#NSZQ&9h{`kϷŰ|OCqlprGJQl3Q= 9"DT1UBN[C_LS5r8,P:r҉7fveky@_||"))Cr"IS_0 ||"))Cr"l·&SKNtn#~Ӕ֔I^ 3=s-]_P{V(*β>OST/-"B)||"oLƗ G/)ݭ(qgaz[&w咠=sHQ%U= |!:[hC:հ!Y˥mL[ev&ClU)ݭ(qdLwHn ɮkTB]IS_0 ^V(@ pIᓝ"e)ݭ(qdLwHn ɮ/yd wHn V(*[ ^ աj+@IgӔ֔I^ 3=s-]r)||I*kZ9||")6@[)':7iwkJ$G/{ɮ/yd=\+@IcDBN5$r2HE^{_Dm @;?K%@IgӔ֔I^ 3=s-]@4DCAPE>>$52P 2QHP$) ||M8V|ip΍ror҉7fvekyY*s4=RXQзSQi3Z(`m=gvΤKOUdYIzR)\?gdTz9NiD߳;s25ۼ| LD߰dd$52P 2QHPdd&+}e>4dF9x79NiD߳;s25ۼ,Eb,b[ ׻h@4F|u06S?VY@@4F0_FvtG3- u=RYt;n#~=\dn7W)||I*kn+!||"oLƗ G/)ݭ(qgaz[&w咠=sHQ%U= |!:mL[ev&ClU)ݭ(qgaz[&wB,CE>>OST!u~XSE>>OSl·&SKNtn#~Ӕ֔I^ 3=s-]_P{V(*{~~HE\;ڿș Wihwl~(KU)ݭ(q=55-],@h$J( +d]# Ɨ G-|, yvMrןl?xMv89#%@l3+@IcT#(BzlFo&Qҟ6ڙ=#CgC_$u1x==RYt;n#~v; ^ɮ~vrC ro6Ga 1Q^ yf(3E$ |?{X ; й!Ԋh3@~ pF/u.9Ѹ^ yfr҉7o; kǝl/KdnmL[e=!o@52K=TvMr+kݸ5ۼ3xA[`o %B3y"Bd(.':7|9NiDVqŲkyY*~7q z ʎf=RYt;n#~v yf5ۼ|?x)$@p"B)6@[)':7o; NSZQ&9x7a|`ǝk_-]_P4Ga-=RXU1pgG!?{Ck(I(}eM2O}́^kq}@pe pTeM2RCCl,U)ݭ(q;0c5ɮk<3a1SE>>OHST8 xfiE>>OSPE>>O tO.9Ѹ^ yfr҉7o; <3Z~lprGJ8 ; o$V(*[Ӭ5& Nm3[C(Kͅ s|L zi( Gk@Wi@ptdTz9NiDVxMv88O?Vy$ |?xy"BO?3A.˩p΍r+NSZQ&9o-]_PO?+@IcT۟M|?{YCydTz9NiD"eǵŲkył%B@H $V*/޺G92O.9Ѹ\2&_kaNSZQ&9pș}1~lprGJǵ zK=TvMro6(K6ky$AnV(@ pIᓝ߷m)ݭ(q͵́lprGJe pTHQ%UPNB^3aK!uJ5 7W538fB|@{ݽQlW{0_%NSZQ&9h{`k϶ka[&wAnJEb  tO.9ѸZX9NiD>٭~lprGJg$V(*_nνKr3 |r5K=TvMr+kᯉ|-] 7D %M|ru"BoLƗ G-;n#[_ |OCqlprGJ x_ zhvνJR)E.LQ*MsM|6=/! e vƽYQ.n{:S,P:r҉7|=Ųky$AnV(@ pIᓝVvMr+kCCqlprGJ CCHQ%UP&3CuϯvW&j OR)rftRm{:k$<>u>dKCYC]vveGK[^ξU|ۇY%NSZQ&9x7̶Mv8;_$5< Ԋd2\2sqvMroٝlprGJ~"DT1U@OgRm{:3=s?RePLޮlWK=TvMrןoa[&wAnJEb  tO.9ѸZX9NiD>?xMv89#%@ z۳v5r8]C]3aO.P@IgӔ֔I\2&\5ۼ|rt@T 7R+ M8V|ip΍r2Ӕ֔I\2&\5ۼ,=RXU!38fBTYuC]3aK!$L9׻>YQ.n{:WjC =RYt;n#~͐5ۼ|rt@T 7R+ M8V|ip΍ror҉7galprGJHbEb,b1d!(iOFU Dnz z@wkJ$G.` ɮkA G.,/0I*kAXωl·&SO7n#0 )ݭ(q\/hC[&w咠nx^Eb,bЇ~( tj8vʲ4!{AO42,P:r҉7#7X7dn`%pqdLd$5`%rEb'16@)':7r҉7#7X7dn'1z,P:r҉7C ^}[ !8Mv8;_/+ M8V|ip΍rןiwkJ$G-|, yl3p5ۼ,5ۇ$V(*[gCyKzf~WʽRCCۇP)&={7S:,P:r҉7C ^}!8Mv8;_/+ M8V|ip΍rןiwkJ$G-|, y`䇞p5ۼ, hyx_ zn&RqvԐ5!Jo^"&TK=TvMrן`kϒz?Ëdn| I*k"BoLƗ G-|, yvMrן`kϒz?Ëdn٭~lprGJg$V(*Fu^*Mvq$<>u;&@3v5ۋv,P:r҉7C ^}-~lpv//&+}e>4dF9h{`kϴ;n#|[ 5ۼ,g$V(*F{kݵeI\?sS3u;'C7b@ۋv,P:r҉7#7XMϗylpv?{B]3D %Mh3~"fV(@ pIᓝ܌9NiD܌˦˼Mv89#%@Α c\˽"DT1U@>]ϡNvnƎ+Y|{gʃ%NSZQ&9c7#;?~6h|dnΑ쉚 G.,/0"r2c E"e$tЗdLԊ |LXu~@M8V|ip΍rnFvvMrnFvH [&l]ky/~X2쉚 G.,/0"r2c E"e$!.ș@"c pIᓝ܌9NiD܌`jݑ3f˼Mv89#%@^d4%4-ϗzEb,b|)`m?{iٟmvzv@IgӔ֔I_g5ۼO %MO+ M8V|ip΍rC>Ӕ֔I_g5ۼ,ݸ{>\XKnm5?B, K=TvMrC>_?ŲkyJV(@ pI})ݭ(qϵ;qlprGJ]Wg˒+@IcT^7Q6 &,C^;՟^7 z@wkJ$G/3ωvv/5ۼO %MO+ M8V|ip΍rC>Ӕ֔I_g_?ŲkyY* |L vv/_.HQ%UP^{kFoc 40@Ȳ}{_V}{lU)ݭ(qCdɮk~ G/?T"BexM8V|ip΍ror҉7kd06HylprGJs`l=RXU ϝ|ݴʓkݴG޲K=TvMrMv8;_L4폈Jal}"BoLƗ G-|-9NiDqlprGJ_˒+@IcT C:m5?ԛ^Α,P:r҉7;=1>?oɮlx T<X tO.9ѸY;n#v{c|L-]_P Q3y"DT1U@:3f tA δz9 ʽϝEo= Lټ(c~,P:r҉7˘4lpq`@,P I ~ KNtn#0 )ݭ(q\/Oٖɮ/yd ?fXK z@wkJ$G.-ylpqpxI$\%X !le SeԸdF9pșiwkJ$G.-ylprGJY z guBKRW&jY3U!@l?:mg(~U%rfzE.LY%NSZQ&9pșmdn󃋄6JYKFʛd4K>!@IgӔ֔IY1-]K< !Y^A HP6@[)':7;=֜vMruyռlprGJgռEb,bewu|(3zUK>,P:r҉7;=1>?oɮl%ISa,/ V(@ pIᓝ坞NSZQ&9gg<5ۼ,07+@IcT(sQ@Y@IgӔ֔I\2&X5ۼ턳 I*l%Ԋd2\2sqdL;n# 07Mv89#%@0oEb,btg^rmI| e6ϲK=TvMr2$CKdnh$xCR+ M8V|ip΍r2Ӕ֔I\2&[$ilprGJ@d5"DT1U@:3va,G ԛ^΁@d6,P:r҉7ˆDl%[&wxCD %MXl·&SKNtn# vMr2 gɮ/yd\%XKn׻i}#CjMsB,udTz9NiD"e?oɮl%ISa,/ V(@ pIᓝ"e)ݭ(qdL5ۼ,fEb,btg^rmI|7'YMU)ݭ(qdLJ&ɮl%ISa,/ V(@ pIᓝ"e)ݭ(qdLJ&ɮ/ydLHQ%UP7}ݴA 6ϝY@IgӔ֔I\2&\P8flpvY^A $6jEb  tO.9Ѹ\2&Zr҉7ˆDˊ -]_P7+@IcT C:m#CjMvսTP8fd)+5M)rf,P:r҉7ˆD˛[&wxCD %MXl·&SKNtn# vMr2wɮ/yd-HQ%UP7}ݴA 6ϝ]Y@IgӔ֔I\2&Y-]J\!@d4I*l%.HPI6@)':7ˆDNSZQ&9pșggMv89#%AYHQ%UP7}ݵ 6B Og7|ZDW&j$CR)rf!ϧΣ/;sݑvqȲ: C!_*;=v{א z@wkJ$G/ [&w\$4!p#dV(@ pF/u.9Ѹ^ NSZQ&9x7`l5ۼ, $="DT1UA2_βh\$6 C_{YY?YV=3[Ct"K?)zfdTz9NiD߶CaCdn󃋄$^{_̉+!`:ӥeVEy 3K=TvMroa!!kyC@ !||"JC@ XS pF/u.9Ѹ^ NSZQ&9x7`l5ۼ, $="DT1UA=:ʎCj$>5m>,zy;c@e{=ytl Ȳ!FaK=TvMr+[z?ËdnM "BoLƗ G-;n#Xdn[&w咠{X CCHQ%UP!7leI=ndTz9NiDV1{X7Ųky&IS`ܑXl·&SKNtn#Zr҉7|b no?dn4dF9o)ݭ(q0_=ŲkyY*7W<ۇɮ/yd<4dF9o)ݭ(qy-]_P1O?+@IcT.Mڟ@IgӔ֔I[g8Mv8;` I*l+ M8V|ip΍r+NSZQ&9oϏp5ۼ,9Ò+@IcT.Mڟ@IgӔ֔I[gy[&wBn$6M&+}e>4dF9o)ݭ(qxMv89#%@||y"DT1T.Mڟ@IgӔ֔I[s|L5ۼp$BnHP6@[)':7|9NiDW?-]_P_` Eb,b S:,P:r҉7|o?dnM "BoLƗ G-;n#Xɮ/ydy"DT1UB^ndTz9NiD߼dn X$  BJ@@Y`,E` HU8_tsd6\2sqvMro GckyY*@H Gc z~ɁuOalQU)ݭ(q~%=Gckył@@Yb@а( ł`REb=s!ᓝ߽GcvMroޣlɮ/yd\(}"DT1UAYdݴ7˫ݵ6lQ=K=TvMroޣlɮ e((  PXH ,A@H$X pzm>4dF9x7Q)ݭ(q~%=GckyY*%0J;HQ%UPhNYZO z@wkJ$G/;hOQlpq`XDX,$`REb=s!ᓝ߽GcvMroޣlɮ/yd\(}"DT1UAYdݵ f=u{"fԛMНj;v@IgӔ֔I^ v?mО5ۼa , `X +d]# Ɨ G/;;n#~d'|Mv89#%B& Gc z- %?Gc=RYt;n#~d'xMv88- x@T.KB`+0HP6@2_˩\2sq~Ӕ֔I^ v?mО35ۼ, И ?+@IcDTz9NiD߽Gc- ;-].KB`v> G/SIP- QEbSle SeԸdF9x7Q)ݭ(q~%=GckyY*%0J;HQ%UPL?| GaB& Gc!^{_^q",P:r҉7zZv>[&w\(|A^ ;(d ȉ%B& Gc#v>OPJd(.':7z9NiD߽Gc- ;-]_P- QEb,be e И%Ԇu{~~$9{K; z",vK2m6KBu~:8vpmCQV z@wkJ$G/v>r'Ųky%0`q~hLĒhLXX& Gcl·&SKNtn#~Ӕ֔I^ |!^Odn$6KB`D.KB`v>&+}e>4q{F9x7Q)ݭ(q~%8>-]_P- w+@IcT 255\>QBS׻h ђe6KBv@IgӔ֔I_g5ۼ!!J(BC_+!6@[)':7 NSZQ&9c;p gˋdn G.,/0"ĒrV(@_`E>>O g]MRᓝߴ;n#~(lprGJ>XKeGFeWjg*8vT6YQ|~7lU)ݭ(qGeky>\߱r%B i.Q6@2_˩\2sqvMroe;ɮ/yd\["DT1UA=:ʎL |+RUHa˩*H}=;^c,gˎ|X2H}{~~(dYT@3okKvv/^l@IgӔ֔I[rnrᓙlpv˂a$dXl·&SKNtn#Zr҉7|C \2s-]_P,a 8&9V(*FKNt׻j^Bg׹wF:;?Y_+ z@wkJ$G.-nlpvˁ1!||I*lE>>&/޺;}e>4dF9pșiwkJ$G.-nlprGJ]=RXU7|vu[]ciʙ<>4@ڙc,U)ݭ(qdL;Ųkył@(J@(X pzm>4dF9pșiwkJ$G.-nlprGJ]=RXQ%NSZQ&9m[&w\IPq&&Q u6]KNtn#vMrC>.;ٟ[&w咠F~XKrY@YL^dTz9NiD}?[.;&5n#-%7$+  P DoLƗ G/39NiD}?[.;l5ۼ G-|,n#  Q_gط DˎHPF~P_` [B߰`2SQd2\2sqϴ;n#7|5qkyY* yA.\vzEb,bhsٳF~@.\v|)R5[v"Qτ2+( ` @0PY%NSZQ&9q@͗[&w2H %MX !l·&SKNtn#vMrC>7.;&5-%76@[)':7 NSZQ&9lռegɮ/ydyr+@IcT~jMˎϲK=TvMrC>7.;ſ`d|$6\vzEb2H P_` [B߰`2SQd2\2sqϴ;n#qkyY*P8fq z ?V5&eg%NSZQ&9q@͗[&wBQ0I*l` pIᓝ})ݭ(qϸpˎ-]_P7ˎHQ%UPYQ6.;>,P:r҉7 [egɮlLqdLx"rC>ſ`d|$6\vzEbBQ0"d pIᓝ})ݭ(qϵO^\vylprGJ]'EˎHQ%UPYQ6.;>,P:r҉7 fd.;&5n#-%7$+" P DoLƗ G/39NiD}V [&w咠FdˎHQ%UPYQ6.;>,P:r҉7  l5ۼ"n#  Q_gط DˎHPJ&P_` [B߰`2SQd2\2sqϴ;n#qkyY*P8fq z ?V5&eg%NSZQ&9m[&w"e$+ 0_ tO.9Ѹ_gr҉7 l5ۼ, XKrYu_*?? z@wkJ$G/3qky.;ſ`d|$6\vzEb |Lkw([ Jo"l·&SKNtn#vMrC>ٟ[&w咠F~XKZ;l\ z@wkJ$G/3dn\vxqdLXu~F9pșaω2 nE}~MDI*l7W P DoLƗ G/39NiD}\vylprGJˎHQ%UPqHab ʟe=RYt;n#vxf\vylpvˎn# n(G.,/0Aqϱo0)(%MX"d pIᓝ})ݭ(qϳs5dn&5-%76@[)':7 NSZQ&9glkegɮ/yd+g<3EˎHQ%UP7}ލ .;?!v@IgӔ֔I_g9qky.;& %M8vV(@_` pzIᓝ"e)ݭ(qdL'25ۼ,'4=RXUwνI\ Ni3URn'9-u{ k1jω;lU)ݭ(qϸpˎ-],@XXP$`$ ł @!"V@9|ip΍rC>Ӕ֔I_gP8fegɮ/yd @gV(*[ 3Wʗ(e ~MF0_%NSZQ&9x7ilpq}h$_aڑXle SeԸdF9x79NiD߶kyY*vV(*&Q Ttm>3JPõ"&jݟO=>/ O/ClU)ݭ(qôMv88ôA\2&X_`T/HP6@2_˩\2sqvMro{5ۼ, ;R+@IcT(*:4" !ɚ}jE.LT zu{~~ K=TvMro6v=wdn@`(Y{H?Ci7o; NSZQ&9x7ao; ;ŲkyY*h,dHQ%UP {r8o76B;{yf=n:? 4靃cOFCkCkC665cdTz9NiDKilpq` ` V*/޺G92O.9ѸZZr҉7C 5ۼ,^CR+@Ic@"z!Kg˩rB?@IgӔ֔I\2&_!y[&wKD %MЭ:\Xl·&SKNtn# vMr25ۼ,PHQ%UP7}ݵIIݣpm>5ژlNK=TvMr%4Mv88h$ rT, B@"V@9|ip΍rӔ֔IZ\$ɮ/ydXK֡ \?6]PȘ@IgӔ֔IZZgɮ P`P REb=s!ᓝ)ݭ(q=6,-]_PNCb=RXUP.Q~.`lMe=RYt;n#l5ۼ@` +d]# Ɨ G/39NiD}?[.;$HQ)ݭ(he&8;TXNSZQ,,wM~qv>$XNSZQ:|Y87$|IP%"DvZ|Y87$|IP:r҉0C-q5oI"Dv\|Y87$|IPV(Ӕ֔K42_fD*$V(Ӕ֔IwŚn3|NĕBEb9NiDwŚn3|Nĕ%"Dv`|Y87$|IPXNSZQ'he&8;TXNSZQ1,wM~qv>$ HQ)ݭ(he&8;T HQ)ݭ(42_fD*$V(Ӕ֔Hhe&8;TJEb9NiDf[k(%@Ԋ:r҉f[k(%Ai t;wŚn3|NĕI t;f[k(%@!"DvQ,wM~qv>$ HQ)ݭ(wŚn3|Nĕ:r҉ ,wM~qv>$Eb9NiDhe&8;T:r҉@42_fD*ZEb#9DrǣY%I oH&ž&H&>&H%DUT'ؤvmq5oId@6@ "R+IwkJ'!'=&8;T t  X)"H8:E~ "T@H`j"ADiD l j$7I66$./usr/IBMVJava/html/enterp/en_US/jdkref/g-index.htmtmt$$  a .et<>cdhilnors "_fgjmpuv#()/=by CMRSwx,DGILPkqABEFTz'-NOUVWHJKZ0123?QY[]5;X%&9:!68+7H "~St {DaB BϠXE H5R-ӞKsD (H HDa P\a Nnn)mhN  05U2/6EuP'P(( 0*T@e:uQ tJ]dزdZ~()آHȰm 1q|d,H HMnC `J,r5 ,8*N3$,KǾg $d?* z씝b3ޤld-q5Ff$΀/%mp8 HO O{9q5Ff$'BR+"w{ԑZ$VD[?Lr* tJ tld 3mq5Ff$">,,Y#3 ,Jt tld: nMo;!">,,Y,΃06ۧ[fhN*WQe'3 ,J tld`mN&dTWQe$ 3mq5Ff$BEu:}6XXZ`mN&dT@abpt8#3Ewt P%">,,Y&gAmӉ34Y'w@:Eu:}6XXAftk|I%@]DM,gAmӉ34Y'w@+Œpt8#3Ewt PJEu:}6XX``mN&dT+œ 3mq5Ff$]DM,3 ,Ji@abgAmӉ34Y'w@!">,,Y2΃06ۧ[fhN* HO L3 ,J+œftk|I%@REu:}6XXP΃06ۧ[fhN*)@abD: nMo;$WQe$0: nMo;WQe$4: nMo;T tld΃06ۧ[fhN*JEu:}6XX@ 3mq5Ff$ HKdK@ mׂwxs\J)%E|n=/L v=PNkbЀ@.0$S@ .0$S@ Iq}x,'wG5䨁DEh@c@IfŒoG ! qS&nňJZEudز [F}O Io25aLpr'JHK!:3Ue$ޏs=ÊdmӃIQHlGf,B9ѽo2ŒoG 2k؞Q* =Ò+*)NFy e./~/c+ zU@ab7ﭱ13$S&nŰAg}m0 2BIQbEu`&d,B9ѽg}me$ޏ8Cp̑Lpr'Jw $ z BPz`&d1R=e:u2Y'taLDCd@댘k&\d#&,P:}6XXM- ;F3#2/Lps2/4!IQ  Eudز [F}m>,,Y&}lO ȦMv89[%@A}d2_c$ zd2_ruhY%O IhkoMv88  9*A 0H p>NR:7 s>,,Y&}}+™5tlO(HK3}.0mS C@IfŒoG)]N@`T@` ߮]#1N-sz>>ŒoG)]NVP*+Ċ z<- q.(Cd6,P:}6XXMC\iLps3D:$]B dز [F}}e$ޏ5ϱɮۧ+byDvWQ%UP#6uc,P:}6XXMC\_~AE2khTfjEut4M8Nkbt)oM,z>>ߐgLpr'J; HKFl[zEU#qE zU@ab7 s^0S&n} TfjEu pŔR:7 s>,,Y&}}FCJdmӃfqLps3@ew %FfF8$WP6@9)ХtoG O I|3l8Mv89[%A9;$WQ%UP#6u\N;vTKnW^0G!Nc(`ֺtvA v@IfŒoG@ɮۧ34c;|Jk<0.) M8Nkbt)ܑ}yF} }6XXM5tlO( qHK)زנ<0.55,% !y QL Dak~.fWc;.2; +[KBRm zU@ab7fxN~ @ɮۧ34c;|Jk<0.) M8Nkbt)o3<'iab7fxN~ @ɮۧ+byD-]DT1UA:,,FTq{; zU@ab7fxN55dS&n:{,$1Or ʼn M8Nkbt)o3<'iab7fxN55dS&n!k",bUe$ޏf>%?S&nNb3@f2Y9WP6@9)ХtoG3m>,,Y&}6.q`ҙ5tlO(%3R+*+5 Bu뱒΢]krkƹmkL̗::SmFT\u5mkr.uyԱxq@IfŒoG3mds)]Nfh K'1IQ3,+@ pŔR:7M,z>noc%Lpr'J0d]DT1UAYJnTeAudQ.%qf( NiDQn/lUe$ޏ6 BzvCqɮۧ34aOx$= M8Nkbt)o6}6XXMxCo'd7iLpr'Jf솁5",bP'Zܠ=ֺu6'}Y%O I|3om9 )]Nfh P(i I*34aONh4Hls[SKޏ6ŒoG r}=;!CJdmӃY9)}=RYtldBNѶM,z>BNѶ H̆KdS&n2/Eu=RXUf(NSy2ʉu22v.2k@Fd2_c+ zU@ab7x$gd8̞ɮۧ34yJddi M8Nkbt)oBNѷ7K dmӃ<ӄ %Ff22v&'5e:΍- ;F}6XXM- ;Fd>,)]NVP[%@IcDAYJnT9Q.]FN֝EUtn2PTF zU@ab7x$sš'hҙ5tf22v\~KF7X^0 F} : %Ff22v\~KFWP`NlGf,B9ѽsš'hO Isš'h۞- ;Fɮۧ+byD/R+*S?݌Z6»̌:,P:}6XXMe!bɮۧ34{ $=@솤WP6@9)ХtoG O I|3l1lPҙ5tlO(/`+]DT1U@ַ+@qk]:6,P:}6XXMo12k vCD %Ffq;! M8Nkbt)o6ŒoG )]NVP+ǤWQ%U=3gZܥ)d6dmDֺt3dTj>,,Y&}͵ ɮۧ34{ @Tfh *Eudز [F}ʹld62S&n|aԊ z BPkrdmwV(6kdTj>,,Y&}͵ Lps3@gD %Ffq;!WP6@9)ХtoG O I|3mqC$S&n{HK% ַ+@|`ekrkv@IfŒoG \N>0iLps3@gJ vC@]B,B9ѽ|3m>,,Y&}͵ ɮۧ+byD"'d5",bP'Zܮ]񁕭\5ӲK5TM,z>f HMv893dhD %Ffq;! Hls[SKޏM,z>f HMv89[%AC$]DT1UAYJnW{ %O IpͷC7̦Mv893oG `Tfh @?;+@^0M8^rŔR:7M,z>noc%Lpr'J0d]DT1T@d뱒'Q.635rlguvY%O Ipʹ$5tf|CL@nK]J0ܗ^0Hls[SKޏf}6XXMm'0/]ɮۧ+byD#bтEu=RXUf(NH[Ř0$ тE.,QnDzDaK5TM,z>fێe/12k{xCD3@gޑ]B dز [F}ͷO I|3ms2GE5tlO(ELYHK)S@b:9 (ez-/]Pc\.fN]緐=./q8.2nTŸc(Ue$ޏ㹙ltz2:,ǔɮۧ34y J{zEut4M8Nkbt)o6w3->,,Y&}ͷcf,,Y&}ͷt#yLpr'J0fELYHK% ַ+xL,=eV*g[{qVfP0@,P:}6XXMn;K#yLps3@g $<0bEudز [F}ͷO I|3ms2bq|dtY)]NVPD_Ř z BPkrS/e5m vΝ {q{Zܮ^? |a zU@ab7mf[ \_cdmӃ<7p@ J{|+@ X pŔR:7mfZ}6XXMn;3WGE5tlO(`  ]DT1UA=:yK]gd6C'NƵF9yKK5TM,z>v 1 S&nY{'@ɈJt Eudز [F}e$ޏݶ}#i"ɮۧ+byDcN",bqTNK5TM,z>65qnɮۧ34<7X^0I*346ŒoG<<ɮۧ+byD65qnɮۧ34<@Tfh y͚Eudز t7$_^Q|ߛiab7{o{WnLpr'Jc~hDa@IcT w\ߛ:t+[ȭRn2 k\ߛDK7v,P:}6XXMevlɮۧ34 I*34]B,B9ѽ|3m>,,Y&}Ͳ ;6N\dmӃ }&y2k؞Q* ɠ HKt)2C2'b8Sg:]aM-]{=x2 vSKjNNnTYβK5TM,z>gD;c"5tf7D %Ff7R+@ pŔS"ld3<'g'n1ɮۧ+byD(ѠCEu=RXU=RYtld3<'g'n1MόMv894 IQ4 Ԋ&'5e:΍ld3<'g'n1MόMv89[%@D팂º tioq@IfŒoG<<ɮۧ34ACxz>`$(z>e3@d=ǤWP P^0M8Nkbt)o=M,z>64Mv89[%@15",bP'Zܤ,1{HŘq{S?݌k[@Ř HŘe%qf*HŘ1; zU@ab7`bсLps3@d6!8h$ DN9ڑ]B,B הoGld0kq1zMv89[%A1z",bZCkˉ;j{,Ue$ޏ5ϽqS&nHb3@d{? yWP6@{ˣ[SKޏ5ϴld; dmӃ>`aLps3@d{? yt4I*34GcEut4M8^rŔR:7 s>,,Y&}}.0™5tlO(N;&0Ċ zfε]]k[r;( 2YsͲK5TM,z>vK81ےɮۧ34Gc %Ff?~Eud\;5e:΍ O I{c%}dmӃ,,Y&}} "5tf?~$TWߓHlGf,B9ѽhkiab7 s}yɮۧ+byD# $ zfεSͨOt\eArAyN {@IfŒoGndmӃ#1 b3@d{?Q_~M"  ߮]ز [F}e$ޏݵɮۧ+byD"/",bʞmDE}:.2ƹmc)זS=~2,P:}6XXM g.2;Lps3@d{?Q_~L@Tfh s*+ɤWP6@{ˣ[SKޏݴldϸ\dwҙ5tlO(",bnTj%Pc\1g^YN zU@ab7p7n3$\dwҙ5tf?~$TWߓHlGf,B9ѽ{iab7p7n3$\dwҙ5tlO(tc#WQ%UP#6Sͨ@'ET-8fH :t'==RYtld62S&nd I*34($WP6@9)ХtoG O I|3mq8!2k؞Q* HKFl[3dK*utq8!@IfŒoGd'Lps3@| %Ff9WP6@9)ХtoGe$ޏ; ɮN?c"5tlO(ɮN?c$ z zU@ab7fxNg\JdmӃ&8 %FfɮN?c$&'5e:nHz>g>,,Y&} t Lpr'J|WQ%UQ%O Ic3w7{fx:ĦMv89>xk@Tfh|2Hls[SKޏ;O Ic3w7{fx:ĦMv89[%An8 z2 ~0̮2(mkr9׃)hObsD zU@ab7fxN f~/c"5tf qoG I*34L Eu.lYN-sz>g>,,Y&} ۡdS&nL6Q+* f~/j0@3<+qCk(dՁx[L ^ G!K5TM,z>gFg2)]Nfh}oG I*34L Eu9 ߮]ز [F} }6XXMCeȦMv89[%@l3{$WQ%UP&(^a^fxW) }qCi:>Q?%ɁOGf,c^r9 &{ɣm=RYtld3<'n3?Lps3@| IQ>x`\BmjEud\;5e:΍ld3<'n3?Lpr'J0Fg2HKK5TM,z>v.;r_c"5tfc 04@Tfh:3R+@ pŔS" O I{ko^䝹/Lpr'J׹ NI@IcTZܩӠ ZܭݲK5TM,z>vv=nF2k@`h$ t0fWP6@9)ХtoGn}6XXM -]ɮۧ+byD v=",bdG+[3j%ַ(J{Ko^ЭnTOq[K5TM,z>vt [|$}dmӃᎀ& IQ>` Hls[SKޏݴld=b׹'nKdS&n`C|$ ܗ",bP+[=t[@IfŒoG}<ϼMv89>OB fC\[B t Qo2Nj7X^0 NdbJzK2ݒH{'@5t Sj<,B הoGld0kx<;7)]NVP9WQ%UP#63&8taQ.o;Q.t'ZߤHA1ikvNJ!@IfŒoG~O~ )]Nfh!5:$>-wWPC@h pŔS"5M,z> }c{iLpr'J;?Ԋ zFmkrC*%נB@HEWz7ﭰn;0^%O IsA<ҙ5tf0q SIQ;wzEut4 N lYN:/(ޏ_iab7`ܲh?gS&nмԊ zfַ)2]z\^ЧBKBRmJ!^>-wF zU@ab7`ܲh?gS&nn;Ao2Njt4I*34q|[H{'@5:&'5e:nHz> }e$ޏ_rɠiLpr'Jh?BR+*Zܤ{ʉuqzB - K!(Wz7XQn/lUe$ޏ_rɠiLps3@wCh^9 J!{,$WPCD,B הoGld0kY4)]NVPVM^jEu=RXUԸH ,;Wz9:>Y7rt@*YN-@:.Q:Sg:,P:}6XXM5,ɮۧ34t<쳜 ޏa{'@$rEu :  lYN:/(ޏ_iab7`ܲh?gS&nмԊ zqzBC)~3*Yv#:=s%t7$|q0nT [P2t\ukru=RYtld6 B{? dmӃ+`a $+`a Hls[SN7me$ޏj1S&n=@IcT͝kr>+R=e: .2nWaOxDaK5TM,z>f(f(,,Y&}͵Lps3@w3@w M8Nkbt)o6ŒoG \_ɮۧ+byD"/+*: zK ZNV@IfŒoG q̵fQEַ(c.'EUʙe}=RYtld6w3-/WGE5tfC:$ H lYN-sz>fێee$ޏ㹙ltz2:,ǔɮۧ+byDb"/bzEu=RXUf(NCRʗ *L[v2pn> Լ (`%O I|3ms2`jS&n`CD3@w!6@9)ХtoG q̴ld6w3-f/12k؞Q*A1f=",bP'ZܡC)q|eKqkr~-ŻG7Nkp^e 0Ue$ޏ㹙ltz2:,ǔɮۧ34z $ $WP6@9)ХtoG q̴ld6w3-/WGE5tlO(,^ELYHK% ַ(0e: rPc\lЯG7K70q|eK K5TM,z>fێe ffێee$ޏ㹙n05q|dtY)]NVP& Ј2 1@IcTݓnWډt1e./q8!CcZܣB%O Is1=d4Mv89F/ zU@ab7`ܲh?gS&n1~xt4I*34_ !6@9)ЧCrE0k>,,Y&}MJdmӃe ~/lcS&n%$WQ%UP#6HnDzQL[v20^%O Io2兿.4Mv89,,Y&}< dmӃ }e$ޏ_rɠiLpr'Jh?BR+*Zܤ{ʉuqzB - K!(Wz~,P:}6XXMgL dmӃ10h$(A0iLpr'J"qCR+*nPȡN]k]:\N>0m:.2:]z zJPV/| ~$RUDaK5TM,z>fx#5tfB $(AHls[SKޏM,z>fx#5tlO(F @IcT͝krE12D6]k]:>/dadTj>,,Y&}͹bLps3@xL@Tfh ɤWP6@9)ХtoG O I|3nX1S&n^HKFl[2(A,^ZN@IfŒoG ۛyS&n(A$2i M8Nkbt)ܑ}yF}ʹld6~ɮۧ+byD-HK% ce mDMK5TM,z>02NܑLps3@t /$ I*34@I M8Nkbt)o}6XXMtn{'@;rE2k؞Q* :;rI@IcTZܩ(bl%O Ihkr /!? dmӃ?,/d$?+@^0M8^rŔR:7 s>,,Y&}}'$)]NVPVN(Ix?+*ZܮywܠPB ~T,P:}6XXMC\N(Ix11S&n1 ޏa{'@5 I*34B ~$WP`Q_~  ߮]ز [F}}e$ޏ5Ϲd℗2k؞Q* /t Eu=RXU3k[>Q>N^Aʚ9%O IpͷC7̦Mv898} : %Ff@?;+@^0M8^rŔR:7M,z>noc%Lpr'J0d]DT1U@|ܑΆN@]v2Y9KM F9krC@IfŒoG~O~ )]Nfh7pCIQ8Ċh pŔS"5M,z> }c{iLpr'J;?Ԋ zfַ)2]z  Q\ܕyנ7r,P:}6XXM5,ɮۧ34!$nEut4M8Nkbt)ܑ}yF}O IsA<ҙ5tlO(d~WQ%UP#6H:ZCjQ :CY%O Io2兿[)]Nfh7pAo2@qz$H adز [F}˖^}6XXM,-ݏaLpr'Jcؑ]DT1U@#ކTKECTaS?݌7@IfŒoG aoK)]Nfh7pAo2@qzCD3@q  7jt4M8^rŔR:7\ŒoG aoK)]NVP )q@IcT:#ކTKnS RqCiЭnTŸcF5yסw,Ue$ޏ_rɠiLps3@q t J$WP` pŔS"5M,z> }&y2k؞Q* ɠ HKFmkrC*%ץ t+[%,Ԣ^u> ܲK5TM,z>edS&nn %Ffw&]B,B9ѽo2ŒoG  dmӃ }c{iLps3@qhTfh7ri!6@9)ЧCrE0k>,,Y&}_{ҙ5tlO(w~;!@IcTͭnR=eDU&*@0P 0Ph.vnJ} 9%O IsA<ҙ5tfw&!$n+Cls[SN7`}6XXM5,ɮۧ+byD+&/5",bG ^t)ЭnRДReyנ7r%O Io2t )]Nfh7rb Sj7p@ SIQ8ɤWPC@h Ph pŔR:7Z}6XXM=aLpr'JN@IcTݓ˯rSZNlk[̞]P@.6,P:}6XXM5,ɮۧ341} : %Ffw&]BNls[SN7`}6XXM5,ɮۧ+byD+&/5",bG ^t)ЭnRДReyנ7r%O Io2t )]Nfh7rb t JM",B9ѽo2ŒoG  dmӃv S&nЎ< %Ffw]B,B9ѽ{iab7p7mp2k؞Q*&2;Eu=RXU3gZܥ^sAֵӦ}Z㲋+ zU@ab7Ѳ)]NfhG`@TfhG`"  lYN-sz>O InLpr'J?+*+5 Bu_`qZWb?)qf*0^Y[vY%O I|3op7W2S&nЏ,\ft` I*34#4]$WP6@9)ХtoG O I|3op7W2S&n+t"'d5",bnQхDn:k _mQֵӭݥ %O IsC dmӃ&J+@ pŔS"5M,z> }0/]ɮۧ+byD"0/]$WQ%UPVjkr#bр- K!2 zU@ab7`ܲh?gvogS&nЏ0CIQ{`bEut4M8Nkbt)ܑ}yF}O IsA<ӳ{>5tlO(d~?ޑ]DT1U@-@,ov,P:}6XXM5ϼgɮۧ34#|L$Џ2i M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXU3k[2Gc ֺtϼgY%O Isó{>5tf}x@TfhG}+@ pŔS"5M,z> }f}2k؞Q*<'7 zmgZܩ_c* _^ v,P:}6XXM5ϼgɮۧ34#|LGJ M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXUnS>yHYRV䎢*%{a  rK5TM,z>e ~/lcS&nІ7Xn/D3B]B@qz&'5e:΍,-ld.X[{e™5tlO(.DZ",bG ^v=^**g[,P:}6XXM,-)q2koz>e N%Ff7" N ߮]ز [F}˖^}6XXM,-)q2k؞Q*.5",bP'Zܤ{ʉut\N>0m:ʙaהڈqz:Y%O I{c%}dmӃ.a=^Jo^0/+@ p٭)ХtoGn}6XXM ,nKdS&nY}+*"Y(p`'r_c*.2˯r@d'HM2P'^O|,NT~@[|%C%; zU@ab7p7ld/Lps3B׹ L' }}Jo^0/+@*+6@{ˣ[SKޏݴld2YܗȦMv89[%@<;$WQ%UPDP,NT\eKo^0gNeL[v2Vj ]z ܗʜqòKo^d'dTj>,,Y&}˞0Mv89 C@h , N%Ff7i!5:@ Sls[SKޏiab7\N2k؞Q* :$WQ%UPDOvN.NNkS:SnS2z}taKo^\m=RYtld.{'@^HMv89 C@h , N%Ff7i!5:@ Sls[SKޏiab7\N,Lpr'JN:HKuJu唸e(ZNt ^J krC [|%^Ri+1LRU=RYtld6X0dCJdmӃX0dCAJn,2!E+@ pŔR:7me$ޏ"S&n"]DT1U@|ܑΆN-e h(}=RYtld[q`cz=sdmӃX2h I*34!d9"  lYN-sz>>iab7 s q@6{,ɮۧ+byD!f0нs+*+5 Bun,4*ֺtYβK5TM,z>>kn,z=sdmӃX2h I*34!d9"  lYN-sz>>iab7 s qȡg8Mv89[%A Ń1! = g9",bP'Zܠ@.2kQCOCj{,Y%O I|3om0dɮۧ34!{ %Ff5bEudز [F}ͼG!M,z>f#\ab9 )]NVPDa5",bP'Zܥe.'d6h3λʥEe:ZN%O Io20^ɮۧ34!s$9WP6@9)ХtoG ld.# Lpr'J@qz]DT1UAYJnT쥿u¢0^%O Io2BNѧxs2E2k# $9F]B,B9ѽo2ŒoG ГȋLpr'JhI4'ÙHK% ַ)hJY š*{ :)qoN,P:}6XXM̦Mv89L@TfhCHls[SKޏiab7Z25tlO(?i@IcT:)q{ADaKO! {Kut7$_^Nk(8fJu[́X|y Pt!s7@IfŒoG e2kQJQ$WP6@9)ХtoG ld-oLpr'J4 zt2u[OfJ[,P:}6XXMC\9ӛdqBK ^ dmӃ9~vJ?;+@ pŔR:7 s>,,Y&}}2Y8%F2k؞Q* t^тEu=RXU3gGsrT0m.0edTj>,,Y&}ͼG!tPb9 )]NfhCܰ`DPJ{ Ԋ&'5e:΍xCm>,,Y&}ͼG!tPb9 )]NVPLP5",bP+[GE -X2u8qmk]:rdTj>,,Y&}\HXtw'G$S&nЇ! $Ї! Eud\;5e:΍ιZ}6XXMι\O$HMv89[%AXtwH+*+5 BM쨗Zܥ)d6d6,P:}6XXMι\H䥅ɮۧ34!hFz I*34!hFz]B,B הoG܎u$JŒoG܎u$JG%,,Mv89[%Ay$rAXZEu=RXUf(V)Ý[%,%O I|3lșMv89q3B+@ pŔR:7me$ޏdrS&nDr]DT1U@ַ)hJY Ǟ^YUe$ޏdrS&nЇ(A$2i M8Nkbt)o6ŒoG 2\s)]NVP"\sHK% ַ(dP*X1Q.KBRm-<@dTj>,,Y&}ͳ%k25tf=Džb@TfhCxV/R+@ pŔR:7me$ޏdrS&nDr]DT1UDTj>,,Y&}~m~iLps3B"@TfhDY?$WP6@9)ХtoG<}6XXMҙ5tlO(ǞԊ zfεCvŒoGnܐ~ ./ȦMv89[%AH?<`D^Eu=RXUf(W]ò ܗʋ[cP^2,P:}6XXM \^Lps3B"t`4Ao2NIQ{0]BNls[SKޏݴldc"5tlO(E$WQ%UP/ :)ש䝓Co_ \N?C=lj:ܕE0lUe$ޏݹ \^Lps3B"t`4Ao2NIQ{0]BNls[SKޏݴld$<2)]NVPRd]DT1U@T&\dt[=e:fȦMv89[%A|d]DT1U@Kץ:ʘG'; zU@ab7m/dmӃB t SIQ|d]BNjt4M8^rŔR:7me$ޏ2)]NVPD_$WQ%UP2uq|eNkr6{Q-vN,P:}6XXMk )]NfhD_ŘIQ|dc+@ pŔR:7me$ޏ|aҙ5tlO(D WQ%UP#6ut' ʉtŘ2 1HO[c{ z.'d6 E = b.^Y%O I|3ms2pnf/;JdmӃ }e$ޏ_rɠiٽyLpr'Jh?BBsxHKߠu\^FGw6m:L@@IfŒoGd~4ϼMv89z@c:$t\f=":&'5e:nHz> }e$ޏ_rɠiٽyLpr'Jh?BBsxHKߠuʚe./@V_\eHO)УlP׃6` rK5TM,z> }&yf}2k: J:!6@9)ЧCrE0k>,,Y&}MNdmӃeoG `TfhD^ȹfM"t P^0 A{'@6@9)ЧCrE0k>,,Y&}g3dmӃ,,Y&}ͽS&n+tt zfεP@*t:t+Znז{ zU@ab7mnǰMv89zBb3B"+@ pŔR:7me$ޏ™5tlO(XKHKFl[K:Bn{,Ue$ޏ_lyٽyLps3B",/dz>eoG `t J:H{'@5t P^0M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXU3k2kFx./@N=W@IfŒoGd~4ϼMv89z@ ~t4I*34"/@COĊh pŔS"5M,z> }&yf}2k؞Q* ɠ ",b[~Yץ : @*ir z zU@ab7`ܲh?gvogS&nЈ ??;:$tbEut4M8Nkbt)ܑ}yF}O IsA<ӳ{>5tlO(d~?ޑ]DT1U@-@,3 /*g[Z4s@@IfŒoG q ҙ5tfD I*34"'Ԋ&'5e:΍C\}e$ޏ5ϰ-!2k؞Q*Cd5",bP'ZܥS:Qqkr!j=Y%O I|3om'd7iLps3B"qCD %FfD WP6@9)ХtoG riab7m9 9 )]NVPDN>0hCR+*+5 Bu\N>0m7%tmFN1K5TM,z>f HMv898! J H lYN-sz>f}6XXMk7"5tlO(F Eu=RXQ#6uʆ2Nk]:\aY%O I|3mq8!2k Cjt4I*34"'d4Ԋh dز [F}ʹld62S&n|aԊ z>nHC'N..'d6*2];gN8c=M .0NBS<DCR)O0Q׃)f(NK7|a zU@ab7m0ddmӃ2hC@hTfhDN>0h !5:&'5e:΍iab7m0ddmӃf..%FfD ڑ]Bqt4M8Nkbt)o6ŒoG \aɮۧ+byD"0d+*:.'d6iqBuʙeClUe$ޏ{)]NfhDN>0hDPJ Ԋ&'5e:΍iab7m0ddmӃf HMv89[%AC$]DT1U@{[|aӡZNot2V@IfŒoG e2k 3B"qC@Eudز [F}O Io29ɮۧ+byD!sHKIutoKO! Z4TP'Zܠ́# KO!\N>0mh]krƀ Q< zj=@IfŒoG q ҙ5tfD哞0-^J'<`[Hls[SKޏ5ϰ-}6XXMC\}n?!S&n qD6CR+*+5 Bu\N>Y9*n]kr!ϼ Q`SGhB,P:}6XXM59̑Lps3B#bрz>e3B#bтEu :  ߮]ز [F}O Is'#;Ù)]NVPNG$$WQ%UP t^C+cZܣB!@ zU@ab7`$rGxs2E2k!F t Qhk`D&$C+@^0 @D&&/~tvkbt)o0k>,,Y&}dHfHMv89[%@y9O3$]DT1U@6~Ʋ{=mz\a ^0krr9 g3(Ue$ޏ_lɮۧ34"0/]7X^0 F} :ޏa{'@$Јt`]BNj :/d&/~tvkbt)o0k>,,Y&}dHfHMv89[%@y9O3$]DT1U@6~Ʋ{=mz\a ^0krr9 g3(Ue$ޏdCJdmӃOe z>fDN>0hTfhDa=t6i "'d4M8Nkbt)o6ŒoG 2N`cء2k؞Q*I6(jEu=RXU3gZܥwCgEUʙe.'d6,P:}6XXM̦Mv89H/c!}$Ј{$Eu6@9)ХtoG ld-oLpr'J4 z BPz'A{TFao[3n-=rOd2Zܥu,>Y<(`ֺt9F zU@ab7Z25tfF I*34"0e4&'5e:΍M,z>es)]NVPC]DT1UAYJ K7Od27aoa{[z ^SZܥu,>Y<(`ֺdADaK5TM,z>f#\ab9 )]NfhDaJ7$&'5e:΍xCm>,,Y&}ͼG!{rS&n{jEu=RXUf(NK7* nK+Z#ڌcdTj>,,Y&}6ГdmӃnCD %FfFԊ&'5e:΍me$ޏfyLpr'JHP)",bP'ZܥKk@$(dTj>,,Y&}6ГC dmӃnCD %FfFԊ&'5e:΍me$ޏfzbсLpr'JHP("0/]$WQ%UPVl[r:utq1z,P:}6XXMm0܆ɮۧ34"0܆7BA1zI*34"0܆WP !Fls[SKޏf}6XXMm0܆ɮۧ+byD"0܆7HK z9z!@\a ^YΣ7k e}nP1ЃeD=KO!]TK qzkGf,gd[ux2, q{E'S,P:}6XXMm'0/]ɮۧ34"0܆\X I*34"0܆\X]B,B9ѽpʹld BO\a ^0)]NVP F z BPkrC*%ַ)+1K7! 1"bْݏe=RYtld BO\a ^0)]NfhDa d ֈJ7!Ԋ&'5e:΍me$ޏfzbсLpr'JHP("0/]$WQ%UPVj[zQ.I\Y\a HŘnvdcdTj>,,Y&}}d℗2k7!$nCf]B,B9ѽhkiab7 s'$)]NVP)ЬPB ~$WQ%UP^e-sd',Ue$ޏϿe2VaLps3B# l, 7IQ6i  7ls[SKޏϿe2VM,z>f>ZGɅ2k؞Q*{&$WQ%UPVjeDaa52KBRm.0܆́%ַ)oq# zU@ab7t`S&nЈr ? %FfF(i]B,B9ѽpʹld BO\a ^0)]NVP F z BPkrC*%ַ)+1K7!FM̕{,Ue$ޏfn~CsdmӃnC@7X^0I*34"0܆CO&2H{'@6@9)ЧCrE O IpͲ;ɮۧ+byD s']DT1UDTj>,,Y&}}+™5tfElJ Hls[SKޏ5ϴld dmӃQ2\㾹uvTKݏ`<񕡑ܕB@0qfY%O Ihk`[-6CJdmӃ%J+@ pŔR:7 s qM,z>>`[lɮۧ+byD\x Ԋ z BPkr0 Kn,4Zܤ |sVCd62 JqdP2 =RYtld0kx<;7)]NfhD9ay,Ao2Nj7X^0 F} :ޏa{'@5,/dz>e3B%+ d /d`Nj :/d` pŔS"5M,z> }f}2k؞Q*<'7 zfצd'*%ַ(d(iqzBtV(d(H~VK d>N;m0m./@N]kr@@c3&8fSbQVq[:$g@bh k@6,% 7@c0h㼆3 ztgcu,,Y&}dS&nЄ%,Ƃa=^7 sTfhBAcA0/+@*+6@{ˣ[SKޏݴld.2;Lpr'J: 1R+*+5 BuhJY#qkr~-ŻO,P:}6XXMkn,2!J(S&nЄ%,JBRjEudز [F}ʹld6X0dCLP,,Y&}͵ ɮۧ+byD"'d5",bnRД*mFtq8!@IfŒoGd~4Mv89Jq`$Є%8"  lYN:/(ޏ_iab7`ܲh?gS&nмԊ zfַ*쨗ZܠhJq!,,Y&} -vS@-)]NfhB؜1JB{;c$&'5e:΍ld3<'g'n1MόMv89[%@D팂Q?%i2,P:}6XXM̚2)]NfhB؜/$9JB{4&'5e:΍ld3<'c35dS&n<5d]DT1UDTj>,,Y&}6.q`ҙ5tfIQ"  lYN-sz>iab7ϼsfɮۧ+byD.p/]DT1UAYJnS>/2*3כֿ ʞClUe$ޏ_lyٽyLps3@x<,Az I*34\ M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXUnT9Q.3| rK5TM,z> }f}2k<( Mр$?3r^$WP6@9)ЧCrE0k>,,Y&}g3dmӃ,,Y&}g߲B Mv89-^Jn"  lYN-sz> }e$ޏ_lHA]ɮۧ+byDRB ",bʂ TKw'Q.ַMArfB^/%,e=RYtldϸS&n?$ M8Nkbt)oM,z>> dmӃ=RYtld BO\a ^0)]NfhJĊ&'5e:΍me$ޏfzbсLpr'JHP("0/]$WQ%UPVj[zQ.I\YgHŘnvdcdTj>,,Y&}_{ҙ5tfCD3@q":&'5e:nHz> }e$ޏ_kòS&nd5",bG ^ 8 ;7%^uޏ_`Qn/HUe$ޏ_rɠiLps3@pCIQ]B dز t7$_^QsŒoGd~4Mv89[%AY4y@IcTͭnR=eDNkrڔC+ν0k*# =RYtld0kY4)]Nfh7X^0I*34+@^0M8Nkbt)ܑ}yF}O IsA<ҙ5tlO(d~WQ%UP#6H:ZCjQ :oG?ܨ7@IfŒoGnq}#ɮۧ34cN@Tfh1BƜ2/Eudز [F}e$ޏݹߌG})]NVP[=LdwԊ zfεLe])}=RYtldϸ\dwҙ5tf&$?{HlGf,B9ѽ{iab7p7mp2k؞Q*&2;Eu=RXU3gZܦ}.2;13 ?hSѯ*3 ?i_~Y%O I{lG})]Nfha=^t4I*340/+ClGf,B9ѽ{iab7p7mp2k؞Q*&2;Eu=RXU3gZܦ}.2;1r\dwt qkr,Ue$ޏݶ}#ɮۧ340/:z>>Q_~ %Ff&Eut4 @.lYN-sz>vŒoGn>qJdmӃvŒoGn>qJdmӃqEG}ܕ;[ZܣB+;=V)_AO,P:}6XXM g.2;Lps3@p q x!5:z>>Q_~ %Ff ":C@ M8^rŔR:7p7m>,,Y&}Mv89[%@G}HKFl[ϸ+\vQqw%Aַ(##eOF&@\eZܣB=RYtldϸS&n? I*34ƤWP6@9)ХtoG}6XXMC\g)]NVP$WQ%UPVj[6]kr3,>Y<(`ֺtϹdTj>,,Y&}2k3@jEudز [F}O IsaLpr'J@IcT:3ZܠeKO!63Y%O I{lŸ#ɮۧ34qLdwб I*34qLdwб ]B,B9ѽ{iab7p7m\dwҙ5tlO(n; ]DT1UAYJnS1n;SpȾ`j kt̆Kj[| = Zܣ%;%Q!<=RYtld[.2;Ɯ2/Lps3@} %Ffn;/$WP6@9)ХtoGn}6XXM f-wcN̦Mv89[%@|[c#8d_4 z[|%HOET[喝Y%O Io29ɮۧ340!sɈJi M8Nkbt)o->,,Y&}[S&n",bP'^.6]?uu,-t ַ)oLnH3,eyp̔%ַ)oKO!4ZCQn/lUe$ޏkdmӃſOd2oG @ J'A{$WP@ dز [F}O Io29ɮۧ+byD!sHK% נ{$Daoږ^εS?݌b z\a= ʢ]kr9eNʖ,Cq0mk]:0^%O Io29ɮۧ340"0e1IQ|[H/c)WP6@9)ХtoG ld-oLpr'J4 z BPxWډtOd27aoew@{$阷c(`-sa7CֵӠ́# =RYtld-oLps3@cc ޏa{'@$>-X%$WP` pŔR:7Z}6XXM̦Mv89[%AEu=RXUf(N.Dz0^ַK ~/gZܩqnS1o={*%ַ)oFTnHa7CֵӠ́# =RYtld-oLps3@cc1IQ|[KEudز [F}O Io29ɮۧ+byD!sHK% ׅyK@K쨌7aoewEɐ=3,e ZܥuS"'e ZN27@IfŒoG e2k lX ޏa{'@5,!sPĒ3@cs[$WP`0,M8Nkbt)o->,,Y&}[S&n",bP'^s[TFao[3n-f-X[TKnR:ܑ}yRn2 kAF zU@ab7Z25tfo,$>-XœHls[SKޏiab7Z25tlO(?i@IcT:)q'5eDaK ~/]+;5d2 nR:ܑ}yRn2 kAF zU@ab7Z25tfot  %Ffot +@ pŔR:7Z}6XXM̦Mv89[%AEu=RXUKnR:ܑ}yRn2 kADaLp̕D%K,% ַ(!s7Rkekr9Kƹmm:u8fJ;f@9Lſ29V6@IfŒoG ao0dS&n>-N$>-NEudز [F}˖^}6XXM,- dmӃY<V)ok~1oɐ=krOd2a7CֵӠ{$DaK5TM,z>e ~/lcS&n>-N$>-NEudز [F}˖^}6XXM,-ݏaLpr'Jcؑ]DT1UAYJnPCQn/jX|y t nR:ܑ}x@Lſ'ZܢݏeKO!6.Dz0^%O Io2兿v3$S&n>-N$>-NEudز t7$_^Qo2兿M,z>e ~/l8fHMv89[%A8p̒Eu=RXUf(NADaa52K2CrEַ3,krÆd2 X|y Pt'K5TM,z>e ~/lŅ2k9J9WP6@9)ХtoG aoe$ޏrߋ;5aLpr'Js[$WQ%UPVj[9Fږ,C]+[Σ*t7$_^=k~1oַ(ŕ,>Y<(`ֺtز0^%O I{k2)]Nfhݮ %Ffq8"  lYN-sz>vŒoGndmӃ>ŒoG)]NVP*+Ċ zFvkbʉtfnV)hJY a}K5TM,z>>`aLps3@_A I*34 M8^rŔR:7 s>,,Y&}}.0™5tlO(N;&0Ċ zfεLvLa\eZN=RYtld BO\a ^0)]Nfh ?@g!&y L7%׮ %Ff{gr]z"  ߮]ز [F}6ŒoG3m =q1zMv89[%@$(C+*+5 Buf~=eD%qf+ 3a.t`K1DE zU@ab7m N2)]Nfh ?B!IQ|/BS+@ p٭)ХtoG O I|3mhJqLpr'J$ z BPnTpf~Д+ zU@ab7fxNg\JdmӃ!` $!` Hls[SN7fxNŒoG@ɮۧ+byDL Eu=RXU3<(6K0rZߴַ+mk~c=x\N:0x0m5,1 Bn@IfŒoGq)]Nfh ?@r 04@Tfh ?@r 05"  lYN-sz>g>,,Y&} q5tlO(߀>x`\R+*@D12]zf~# zU@ab7fxNg\JdmӃ\~KF` $\~KF` Hls[SN7fxNŒoG@ɮۧ+byDL Eu=RXU3<(6K0>Q?%k[:(ѵA{iq8hfSw{(ʐ=r w65@'9[ekrg=RYtld3<'sqǿg\JdmӃ\~KF` $\~KF` Hls[SKޏ;O Ic3w7{fx:ĦMv89[%An8 z2 ~0̨^|~KF%O Ipʹ$5tf+d(Ѣ t J}VP.Q?%R+@^0M8^rŔR:7M,z>hI!F2k؞Q*!@t`]DT1UAYJnR=eD3 ?jX C'|~KF%O Ir9<9+|L92k}^93@_ArEud\;5e:΍ιZ}6XXMι[dY)]NVP*&쳜]DT1UAYJZCi_ASg:OK5TM,z>f/;JdmӃ*1x1 I*34Tbc"  ߮]ز [F}ʹld61x1S&n*1x1ڑ]DT1U@ַ)_A[K5TM,z> }f}2k}/ L %Ff р&qF  M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXUnS>xgLxO]StaOqH,an2 7`Da ^0K5TM,z>hI!F2k} u& I*34&xܚEudز [F}6ŒoG3m =q1zMv89[%@$(C+*+5 Buf~=eDŘ !F f@Ř'mɤRUe=RYtld6ˌ49s)]Nfh&JאԊ&'5e:΍iab7miٲrS&n&0М9sHK>nHC'Zܤ.0fMy H9U[\a̚6=m'.,P:}6XXM f-wcN̦Mv89w$qԊ&'5e:΍ O I{lŸ#i"ɮۧ+byDqLdwб ]DT1UKo^ (ʽ1;iЯGܔ,Ue$ޏ[w|L)]Nfhd4@Tfhd5"  lYN-sz>f}6XXMew™5tlO(.~+*:1d6]k]:-ce=RYtld dmӃt! I*344"(Cd5"  lYN-sz>>ŒoG)]NVP*+Ċ z BPz;(ʵOΗ!Zߴ,,Y&}}+™5tf3ƄEl7 sTfh=hDPjEuE}&'5e:΍C\O IhkoMv89[%@+*+5 Bu*>+ :\Pmk~ӧ\ETL񵱭n=!<=RYtld dmӃt 1fJgx3+@ pŔR:7 s>,,Y&}}+™5tlO(HK% רs[,!N'rkcZ zBy+ zU@ab7 s_~ɮۧ344boG*+$;{Ws1"dز [F}}e$ޏ5Ϸ}S&nTW߉@IcT:vQqkr?9Zߴ,,Y&} y c2kȦMv89wL3@@?;+@ pŔR:7fxNŒoG𝗟P3&8dmӃ>Lps3@@?; %Ff3ƀ~v$WP6@9)ХtoG}6XXMC\|W߅2k؞Q*E}]DT1UAYJPeV)_~V:u>Q>N\eLt[Y%O IhkoMv89wL C\E}$tؑ]BQ_~  lYN-sz>>ŒoG)]NVP*+Ċ z BPz;(ʵOiӮywܢ*c{ַJ,P:}6XXMC\|W߅2kg^NIQwL+]B,B9ѽhkiab7 s_~ɮۧ+byDEu=RXUf(NC\eZܧ}gH;iqfV:u>Q>N\eLt[Y%O IhkoMv89wL+ ޏ5ϰTW߂IQwL+]BQ_~  lYN-sz>>ŒoG)]NVP*+Ċ z BPz;(ʵOΑw̭ot||(ʘ65'K5TM,z>64Mv89x$6ŒoG<<ɮۧ+byD66z™5tfh3@Zd4Ċ&'5e:nHz>6ŒoG<,,Y&}6ГC dmӃ&3@5"  lYN-sz>iab7t`S&n !F @IcT:#ކTKkI\Y!@t`K1@dI\YdA0= HŘ- zU@ab7t`S&n<@Bz I*34WP6@9)ХtoG3m>,,Y&}6ГC dmӃ,,Y&}˖^nǰMv89x1 ޏ` aJĊ6@9)ХtoG aoe$ޏrߋ-ɮۧ+byD v=@IcTͭnR=eD[:Ƞ1QL[v20^%O Io2兿.4Mv89x1 ޏ` aSIQx1]B@qzCD.lYN-sz>e ~/m>,,Y&}˖^ߔҙ5tlO(җ]DT1UAYJnR=eD: e.'d6 L[v0\mDaWzdPK5TM,z> }&y2k} : %FfEu :  lYN:/(ޏ_iab7`ܲh?gS&nмԊ zfַ)2]z\^ЧBKBRmJ!^@c,P:}6XXM59̑Lps3@r9!} : %FfrI /d&/~tvkbt)o0k>,,Y&}dHfHMv89[%@y9O3$]DT1U@6~Ɵ9k~fJ{ַ(# K5TM,z> }f}2ky Mр$,,Y&}g3dmӃ }f}2k]d@TfhNG$F@+%7F  M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXUk@)r9 :9ЌT8fH@@IfŒoG}<ϼMv89y9`$xvogS&n?3sxHKߠuʇ;*%ֵӠ9Ue$ޏ_lɮۧ34'#$,,Y&}g3dmӃJVJn+@ pŔS"5M,z> }f}2k؞Q*<'7 zmgZܤrStaQ.8I@DTj>,,Y&}ͽ-ɮۧ34[b!IQB$WP6@9)ХtoG O I|3op7Kv=2k؞Q*7@cؑ]DT1U@ַ)mܕk~ӧ[\eX2,P:}6XXMZ7팎ddmӃ1 IQC^y-HlGf,B9ѽc3vM,z>gD;c#9"5tlO(Z4c2 d+*Ue$ޏГm0iLps3@.,J ]B,B הoGhI6ŒoGhI64Mv89[%@R+*+5 Bu.,P3%O Ing:Yْ)]NfhŎ3@.,t Hls[SKޏFŒoGۣnlYΖvddmӃv.;r_c"5tlO(7˯r@}+*+5 BYS ZܭݲK5TM,z>vv=nF2k L3@0`jEudز [F}e$ޏݲݏaсLpr'Jc ݮ+*+6NrN06]kr.Qq{Zܧ-]{B@,e{,Ue$ޏݹ.;r_c"5tf`& IQD 05"  lYN-sz>vŒoGnNo^䝹/Lpr'JN ܐ'r_c$ z BPnVA3j%ַ+p7lUe$ޏ5ϰ-sMv89D6CD,/d$Cd5",B9ѽhk`[ldyn~ɮۧ+byD\xEu=RXUf(N@ n~VCd6[cQ[Pe=RYtld.cgqLps3r7X^0I*37 Eu :  ߮]ز [F}O Io26{ɮۧ+byD,lHKFl²Q |?,Ue$ޏݶ}#i"ɮۧ34$"^i M8Nkbt)oM,z>v 1 S&n?c#8d_4 zfβ^t =RYtld0k`jt`S&n"R"$JQDY M8Nkbt)o0k>,,Y&}5?]ɮۧ+byD, 5x~0HKFmkr22qn]`jtaK0,P:}6XXM ?yсLps3@J2<IQD˞jEudز [F}e$ޏݳ?]ɮۧ+byD<W z BPkrݮ(1,nVJQyqB K5TM,z>f}X3$S&n"R@h$"R@jEudز [F}ʹld6;"5tlO(u2I@IcT:Oj%{ck~z9YnK^edTj>,,Y&}ͳ.fHMv89DLhTfh)FS+Cls[SKޏM,z>f}X3$S&nc.fI",bP'^D;Aַ*g[ ַ=7\P䱕Y)FV@IfŒoG S&n"RY$JQ^9 M8Nkbt)o->,,Y&}>Q^Ne2k؞Q*+",bnVJQOeuʚW=RYtld3<'c3.%2kh^h&8 I*34G!y|2Eudز t7$_^Qc3vM,z>gfx:ĦMv89[%@>x`\R+*Ue$ޏ;=3<S&n!kb3@rɮN?c)WP6@9)ХtoGe$ޏ;=3<S&n{L Eu=RXUh?fTKG!<%O Io25x~0tkRdmӃF3@"  lYN-sz>ee$ޏx?]:Y)FE2k؞Q*WL0v^H$ z BPkr5x~0oڊք!'@=Ӡw{+[} +Z)FUK}Y%O Io2兿{$Lps3@ ~L@Tfh?]COɤWP6@9)ХtoG aoe$ޏrߋ\a= ȦMv89[%AH/c$ z BPxWډt9FַKO!ѧ%=krX3X?]Nd(`!d52Od2 z,Cq0mk]:'A{TF zU@ab7\lXS&n 5x~0$FPi M8Nkbt)o.X[{iab7\lXS&nʼn@IcT:)q!s7oږ,Ck[OK z-f25x~0kePB hI!F2kOt0$}t`]B,B9ѽpʹld BO\a ^0)]NVP F z BPkrC*%ַ)+1X{HŘnvdcdTj>,,Y&}g3dmӃn00l,/dz>eoG `Tfh|eH{'@5t dز t7$_^QsŒoG}<ϼMv89[%@g?ޑ]DT1U@̚хDc0m./@NjX^K @cΏ@K:ܢ,qf `i(`[?%O Ihk`[-6CJdmӃ츁$ 7e+@ pŔR:7 s qM,z>>`[lɮۧ+byD\x Ԋ z BPkr7ecLʵY 5FUqu,Ue$ޏ_lyٽyLps3@ݗo^ I*34 puJi M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXU3k'v\[|%:P̤'B50kvJЍlg3 5@0 E K5TM,z>sy$rW#8_^CJdmӃ= `x1!IQOsЖ7HlGf,B9ѽr9<9+O Ir9<9+ΜV /c!2k؞Q* `'c!@IcT:7QqN+f]Q}BYdTj>,,Y&}Ͳ )]NfhsƈJyxԊ&'5e:΍iab7miLpr'JR+*:GTŸ.9j쨗Zܢ K5TM,z>-@6{,ɮۧ34 J@ M8Nkbt)o}6XXMtl?쳜S&n%LCBYHK% ַ*'jELɮN?c*q{^sAֵө쳝dTj>,,Y&}6[COCgqLps3@8$$]B,B9ѽne$ޏFs(ilY)]NVPCOCBYHK% ַ(?)5e^sAֵө쳝dTj>,,Y&}7/D[2k@3@:Eudز [F}6M,z>"wZs-™5tlO(x2'^N`K@IcT:D C(?)5eQn/kq[(1ֺu=sUe$ޏݲݏaсLps3@c I*34 v= M8Nkbt)oM,z>vv=nF2k؞Q*]`.3v0HK;{)kvJ,P:}6XXM̦Mv89KoG `Tfh{+@^0M8Nkbt)o->,,Y&}[S&n",bP'^cQn/k[nTŸc(= z;ݏeD-sʝ ו,>Y<(`kADaK5TM,z>es)]Nfh{& I*34 v=Hls[SKޏiab7Z25tlO(?i@IcT:)q{@K쨌7aoew@ּ1G1]{'Q.K2CrEKO!kZCQn/lUe$ޏ[w|L)]Nfh$%Ċ&'5e:΍iab7m dmӃ,,Y&}6ГdmӃ%ΜV qǼMv89K|2$ɮN?c$&'5e:΍me$ޏf>%ΜV qǼMv89[%@sfh$ޑ]DT1U@32\V ͢d'%O Ip͹`{dmӃɮN?c!IQK|2Hls[SKޏf}6XXMm+fS&n 8WQ%UPVj[zQ.N+fYWbbE.,QnDz,P:}6XXMew™5tf.~CK!IQK`I"  lYN-sz>f}6XXMew™5tlO(.~+*9ֵӢ;&Yn~C[+ zU@ab7t`S&n%x$%zEud\;5e:΍me$ޏfzbсLpr'JHP("0/]$WQ%UPVj[ϲK5TM,z>"wZs-™5tf.~nH@Tfh..+@ pŔR:7Ѵldܼדn~ɮۧ+byD+8Zs\HK% ַ)hJY \iЭkEdTj>,,Y&}ͷq-ܑLps3@?r@O| n; ;;$${HMBls[SKޏ㹙iab7mf[an~dmӃ>ߐgLps3@Jz@A`/0 I*34 t~4 M8Nkbt)oM,z>>ߐgLpr'J; HKFl1k[[=q[ LJ2ӡ@$, @3Bx/,Ue$ޏ_kòS&n%!$%]B dز t7$_^QsŒoG~O~ )]NVPG{^ò]DT1U@#ކTK@H(UWz~@IfŒoGd~4Mv89KCIQK":&'5e:nHz> }e$ޏ_rɠiLpr'Jh?BR+*Zܤ{ʉuqzB - K!(Wz~@IfŒoG ao{ dmӃ?D, 7IQK"M8Nkbt)o.X[{iab7\v=2k؞Q*]bEu=RXU3k[zQ.{+ν¦~-ŻQn/lUe$ޏrߋS&n% ޏ` aSIQK" N ߮]ز [F}˖^}6XXM,-)q2k؞Q*.5",bP'Zܤ{ʉut\N>0m:ʙaהڈqz:[,P:}6XXM5,ɮۧ34 |~7X^0I*34 |~WP` pŔS"5M,z> }&y2k؞Q* ɠ HKFmkrC*%ץ t+[%,Ԣ^u>|~%O I|3l1dC dmӃhLC$ I*34 И I"  lYN-sz>f}6XXMa"S&n2!@IcT:-{)q8!Z t ko:qu z6]k]:n"Nu zU@ab7ГC dmӃ`V1 %Ff1{t{4&/~tvkbt)o O IpͶt`S&n<#bтEu=RXU=RYtld62S&n&0IQLa M8Nkbt)o6ŒoG \N>0iLpr'J"qCR+*:mDֺt|a zU@ab7miٲrS&n&0IQLa M8Nkbt)o6ŒoG .0ӳd̦Mv89[%@La9r]DT1U@ַ(i510mk]:.0;6N]=RYtld6̗=\dmӃ I*34 5"  lYN-sz>f}6XXMfK.e2k؞Q*K.i@IcT͝kr.0 zU@ab7mAq8!2kc $]B,B9ѽ|3m>,,Y&}ͳ.'d4Mv89[%A9"qCR+*:m!Q?%=K5TM,z>f/;JdmӃ t@Tfhh)Ԋ&'5e:΍iab7mbcMv89[%@Tbc",bP'Zܨsu[ :tc@TK EcemC,aPnT z;( IA zKܠ)d¢wByAy'$/rkB ^Iʼn zKܠ'dB #3H)' nP :.0tqaS@bQםr_r6K5TM,z>fْ˙Lps3@Bsd@TfhhNlWP6@9)ХtoG O I|3lșMv89[%@s",bnQqٲrQ.KBRmm=RYtld62S&n&0М9soG c Jc ͓4&'5e:΍iab7m'd4Mv89[%A8!@IcT͝kr6͓:.2nTŸc(lUe$ޏdrS&n&0М9soG c Jc ͓4&'5e:΍iab7m.{\ɮۧ+byD.{\WQ%UP#6u.0;6N\ʵS?݌ K5TM,z>f/;JdmӃ'.b `LaIQLa9r]BD,B9ѽ|3m>,,Y&}ͽ^ vɮۧ+byD ^ vWQ%UP#6uʚ ;6N\%ַ(lUe$ޏҙ5tf1$ ޏa{'@5:$ ̒Eu :6@9)ХtoG O I|3oc2k؞Q*@IcT,k[{taQ.K1T([3n-?2TnHK5TM,z>fqCJdmӃXd I*34 E1"  lYN-sz>f}6XXMk )]NVPDN>0jEu=RXU3gZܢ,2QB Dֺt|a zU@ab7x$kkrLps3@3@ M8Nkbt)ܑ}yF}m>,,Y&}my-qn_)]NVPFK\[+*+5 Buʇ;*%ַ)qce,P:}6XXM- ;F3ɮۧ34 I*34 ]B,B הoGhI6ŒoGhI64Mv89[%@R+*+5 Bu.2;!f1R+*:.2;[2YS͠kjyLdw%O Isš'ht7$_^N>:e2kJ$WP6@9)ЧCrE,,Y&}mܑ}y;d\ɮۧ+byDHK% ַ(g+1F$RU=RYtld62S&nDr I*34.{\WP6@9)ХtoG O I|3mq8!2k؞Q* HKgܝz2\sEUtq8!@IfŒoG q)]Nfh"\s$=\+@ pŔR:7me$ޏ㹘S&nIHKgܝz2\sETp@ׅD4,Se=RYtld6ϓaLps3A˘$Dr]B,B9ѽ|3m>,,Y&}ͳiS&n\ xHKFl"\s7A{ᕱnT07hfY%O Ihkk3ȦMv89gܞ9:$}K9":&'5e:΍C\O Ihkk3ȦMv89[%Ay$WQ%UP#6uknOhA u#ކQqkrr9 -S|K5TM,z>>̖;}yɮۧ34,ЗA pCD3AϹ= tr$WPCD,B9ѽhkiab7 saߐgLpr'J#'xw]DT1UAYJtrR=eV(#ݏe8G; zU@ab7m/dmӃd %Ff%&'5e:΍iab7m/dmӃ,P:}6XXMn;K#yLps3ÀCD3ÂEut4M8Nkbt)o6w3->,,Y&}ͷcffێe ffێe f'd6[3n-=t+[R3(`dTj>,,Y&}ͷcf>̖;}yɮۧ+byD,22wG~AI@IcT͝kr#'xPG~ATϹdTj>,,Y&}ˌ1 S&nDx@Tfh"Q@@?d]B,B9ѽ{iab7p7m\dwٍ8d_25tlO(n; 4|+*mܕ!BNѶM,z>BNѶ/ɮۧ+byD#%-@IcDAYJnQyxleQ.KkriV(: qF!ṎZܣ.62kKkrӧZߵ[|V v/%-@IfŒoG ۚ )]Nfh5 $3 B{?+@ pŔR:7me$ޏ5/yS&n/x/+*+5 Buj1Qn/h1[jX|y krrYַ){k^V@IfŒoG3m =q1zMv89 %t4I*34$Ċh pŔR:7M,z>hI!F2k؞Q*!@t`]DT1UAYJnR=eV)+1PHŘխHzْݏe=RYtld BO\a ^0)]NfhgfH v= t Jl.DZ",B9ѽpʹld BO\a ^0)]NVP F z BPkrC*%ַ*g[QnDz,P:}6XXMm'0/]ɮۧ34$?oG `$ْ]`$WP`&'5e:΍me$ޏfzbсLpr'JHP("0/]$WQ%UPVj[zQ.Pc(cGO^tϹdTj>,,Y&}6ГC dmӃْ]`& ޏa{'@5:$ْ]`&]BNjt4M8Nkbt)o O Ipʹ$5tlO(PDa ^0HK% ַ)2]krQnDz28fJ,P:}6XXMm'0/]ɮۧ34$ Jl.ǰ0jEut4M8Nkbt)o O Ipʹ$5tlO(PDa ^0HK% ַ(hʵI\YE.,&hjEMM̕{,Ue$ޏ\af˙Lps3@ct@TfhcnWP6@9)ХtoG O I|3lN͓25tlO(1˚Eu=RXU3gZܩfێaLps3@ctA|3ms2's0 ITfhcnWPI'G$&'5e:΍iab7mfɮۧ+byDw3+*9ַ)[㹙dTj>,,Y&}ͳ )]Nfhc I*34Hls[SKޏM,z>fyɮۧ+byD' ]DT1U@ַ)V(3,P:}6XXMc#&d )]Nfh$s+@ pŔR:7me$ޏ22fIlPҙ5tlO(2@6(jEu=RXUf(NMFsfhfd)q8!K5TM,z>f6(iLps3@x$3]B,B9ѽ|3m>,,Y&}͵1lPҙ5tlO(y0 HKFl[\ag>ffB2; zU@ab7m?S&n3 I*34WP6@9)ХtoG O I|3l1lPҙ5tlO(/`+]DT1U@ַ){} ̅.'d6v@IfŒoG 2Ncء2kc93@zEudز [F}ʹld6̓6(iLpr'Js\lPԊ zfεMFsfhfd)q8!K5TM,z>hI2khD %Ff4g M8Nkbt)o O Ipʹ$5tlO(REu=RXUf(NMʉut+1@$(K1@jqu=_K5TM,z>noc%Lps3@3Nb3@3Ni M8Nkbt)o O IpͷC7̦Mv89[%@fdsHK% ַ( K':2H,P:}6XXMmNe2kh@?; %Ff4g M8Nkbt)o O IpͷC7̦Mv89[%@fdsHK% ַ( CŻM.2k]Nv@IfŒoG}™5tf4P %Ff4P+@ pŔR:7`}6XXM5ϸS&n?HK% ַ)BU,>Y<(`ֺtϹdTj>,,Y&}}ɮۧ34 I*34]B,B9ѽhkiab7 spMv89[%@]DT1UAYJnSbX|y Ptr,P:}6XXMk"5tf0XB |~|~%Ff0XI |~ p٭)ХtoG O I|3mq|dS&n2HKgܝzJPD_$RUDaxʌ)2u4=Qqkr,cUe$ޏ5/yS&n \lqIQ E M8Nkbt)o6ŒoG ۚ )]NVPZ@IcT:7cvh2(=3*+ZCצN zg嶝:tډtN- K!@L6S\QB;dTj>,,Y&}Ͷ}/ }忣ɮۧ34;,Cx`$@\y  M8Nkbt)o6&^JŒoG g߲y+g[1Lpr'Jxd]DT1UAYJnSP;O!c.2nS>.2mk~ֵ zK1KO!K5TM,z>gfx:ĦMv89 J0H lYN:/(ޏ;O Ic3v3<S&n<0.)@IcT5ӣ[TP'^㹙Qn/k[C22$Rmkrg:D7&^3`j]=RYtld3<'sqǿg\JdmӃ \`!$Jh pŔR:7fxNŒoGq)]NVP[=&",bukrY^YP9q1dTj>,,Y&}Ͳ™5tfWN`$JIHls[SKޏM,z>fraLpr'Js",bnSSeVӢ zU@ab7mrS&nH@Tfh$]B,B9ѽ|3m>,,Y&};CJdmӃ>ŒoG޸ )]NVPc HKFl[ KkZ㲀,Ue$ޏ_lyٽyLps3A,kvHGp/d I*34̆dwN M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXUnTN񕱠jܠkvJ` zԳP'^^Q4M8s2ݒj@tv[K5TM,z>BNѶd56kS&nK2 ޏГm-%FfYhԊ &'5e:΍- ;F}6XXM- ;Fۙhٮ'Lpr'J,khZ~$WQ%UPVl[d56Cַ*|:ZܢqnQtUe$ޏГm v~ɮۧ34̆F7x$`=$ fC]R+@-r# lYN-sz>BNѶM,z>BNѶd56kS&nK2@IcT'b9:9 vkk[3n-=rlUe$ޏГm v~ɮۧ34̆F7X^0I*34̆FWP` pŔR:7x$iab7x$nfC]f2k؞Q*!ѡk]DT1UAYJnSht+ZnTŸc*.K5TM,z>hI!F2k8c$Ia1cv0-^$WP6@9)ХtoG3m>,,Y&}6ГC dmӃf/;JdmӃ ; t JĊt dز [F}ʹld61x1S&n*1x1ڑ]DT1UAYJ q̠ƹm3gG7LDL[v2s,P:}6XXMҙ5tfN`z>`$($ ; ,B9ѽ|ߛiab7{o{JdmӃ65qnɮۧ34w3 !@$IH$(&'5e:nHz>6ŒoG<<0 ҙ5tlO(ǞЈp7R+*+5 BuI\YĊ\Y7KnBe TaDZܩYK5TM,z>f/;JdmӃ ; mPTfh$f$WP dز [F}ʹld61x1S&n*1x1ڑ]DT1UAYJ q̠ƹm3gG7LDL[v2HP*,P:}6XXMҙ5tfN`z>`$(z>e3A's1"PNls[SKޏyʹld==2k؞Q*=@IcT:,NbE.,TFV!C2*0nT,Y%O Isó{>5tfN>2``و7X^0 F} :ޏa{'@$I[4t P^0 A{'@6@9)ЧCrE0k>,,Y&}g3dmӃeNddmӃ̒Eu=RXQӋnK)ӯSš'h[q`t(DddTj>,,Y&}]{vE2k I*34`jEudز t7$_^Q{iab7p7mmܓ%2)]NVPC|$ ܗ",bP+[%,Ӡ K5TM,z> }!t`S&nL3A0fWP6@9)ХtoGld0k~/5tlO(*HA]$WQ%UP#6N06]krt*2ٹ*:!Y%O I{gOݮ dmӃ 04@Tfh& Ԋ&'5e:΍ O I{gOݮ dmӃ,,Y&}duIےɮۧ+byD/d.w%2HK% - K!3lUe$ޏ;tZ55dS&nL\~KFCOIQ3qD M8Nkbt)o3<'iab7fxN`n0DfMrqɮۧ+byD`n0(Ѡ|2HKK5TM,z>gfOhd'Lps3A0f'5`$L lX]B,B9ѽc3vM,z>gfOhd'Lpr'J0fr-ɮN?c$ z zU@ab7fxN`n0DfMrqɮۧ34`n0ہ9 %Ff` ;p'5bEudز [F} }6XXMA>Q?%Y\~E2k؞Q*'h&8+*Ue$ޏ_lyٽyLps3A0f`\D,/dz>eoG `F/5 _IQ3A0.) /d`Nj<21~x  lYN:/(ޏ_iab7`>xvogS&n?3sxHKFmzfMrq¢]z1gNx2]=rdTj>,,Y&}6G%8S&nL3@f2Y9J4c%Eudز [F}6ŒoG3ny$rS2k؞Q* # @IcT:>+K':uty$rU8dTj>,,Y&}63JdmӃ h K'1IQfdsHls[SKޏf}6XXMm+fɮۧ+byD.+fWQ%UPVj[d[ kN+fӧK!e=RYtld ۜV qǼMv89fds$ h K'4&'5e:΍me$ޏffk=2k؞Q* zEu=RXUf(NHZfh%qf+"bcdTj>,,Y&}ˌ1 S&nL tD %Ff`[]B,B9ѽ{iab7p7m\dwٍ8d_25tlO(n; 4|+*mܕ!e('25tf`zp$LCBYHls[SKޏiab7Ys)]NVP.Q^Ni@IcD@ַ)= 쳝Q.S@asK5TM,z>sy$rW,:;yLps3A0= g8@Tfh&{,$WP6@9)ЧCrE#s#ld#s#a_{dmӃs8ɮۧ+byD.+fN=@IcT:@6uVө` zU@ab7t`S&nLCBY$ h^9 M8Nkbt)o O Ipʹ$5tlO(PDa ^0HK% ׅ:=s[ZORbх=RYtldyn~ɮۧ34нsCd4I*34нs+@"!ls[SKޏ5ϰ-}6XXMC\}n,,Y&}͵ Lps3A0l %Ffa<٤WP6@9)ХtoG O I|3mqC$S&n{HK>nHC'ZܧByZNot2@j ktM^QKnR HΆFLY%O Ihkk3ȦMv89O|3A0/+@ p٭)ХtoG}6XXMC\_~AE2k؞Q*3",bAyRt nS0`ex2=RYtldc"5tfa=^J{HlGf,B9ѽ{iab7p7mq{E2k؞Q*2HKFl[eEUZCi_AO,P:}6XXM g.2;Lps3A0/ %Ffa=^$WP6@{ˣ[SKޏݴldϸ\dwҙ5tlO(",b_ALerUHO'Zܠ@UOF(ʆG[Z zgܯV+\vY%O I{p@"#ɮۧ34 @Tfh&Eud\;5e:΍ O I{p@"#ɮۧ+byDp̐",bP'Zܦa}Ad\eZܥ)d6,Ue$ޏ5ϵS&nL' }}J{H.lYN-sz>>ŒoG )]NVPG~AI@IcT͝z3ʐekr;+cSK5TM,z>vdS&nL' }}J{H.lYN-sz>vŒoGndmӃ,,Y&}dS&nL' }}J{H.lYN-sz>vŒoGn8fH2k؞Q*3$G}HK% ַ)_AP@*.2;V*g[,Ue$ޏГm0i3!ɮۧ34 Ao2NIQO| /d&/~tvkbt)o,HKFC%'^d>,7N8 kr~-ŻD]FN֝dTj>,,Y&}lO ȦMv89O| t Qo2NIQO| /d` p٭)ХtoGhI6ŒoGhI64}dmӃ,,Y&}lҙ5tlO(;Eu=RXU2/:33'qòZܩqn=w;Zph{݌[3n->QE[kˆ̌::?~Qrխ>QEY%O Isš'hۛ%2k{oG `t J{H{'@5.lYN-sz>BNѶM,z>BNѷ7K dmӃ,,Y&}} "5tfa=^7 s q1 %Ffa=^$WP)`&/~tvkbt)oM,z>>ߐgLpr'J; HKFlG~AT+[cV S0=RYtld>Q_~ %Ffa=^$WP)`TW߂lGf,B9ѽhkiab7 s}yɮۧ+byD# $ zfνwHM2F9k.0er,Ue$ޏ;)]Nfh&,Ao2@qzz>e?bIQO| 5?blGf,B9ѽc3vM,z>gfxLMv89[%@>xM",bDcPTFot+¢0^԰d^~-Ż@OEQ.jqBKʈq{dTj>,,Y&}_{ҙ5tfa JR+Cls[SN7`}6XXM5;!2k؞Q* ߸vCR+*Zܤ{ʉu@ *fν?Gӡ@IfŒoGd~4Mv89hCD3A0Ԋh pŔS"5M,z> }&y2k؞Q* ɠ HKFmkrC*%ץ t+[%,Ԣ^u> K5TM,z>e ~/lcS&nL4Ao2@qz$ WP0^ lYN-sz>e ~/m>,,Y&}˖^nǰMv89[%@KHKFmkrC*%עݏeyקCj0qnTF zU@ab7\Ɣɮۧ34 oG 0^$L5" N ߮]ز [F}˖^}6XXM,-)q2k؞Q*.5",bP'Zܤ{ʉut\N>0m:ʙaהڈqz:ClUe$ޏ_rɠiLps3A0} : %Ffa /d&'5e:nHz> }e$ޏ_rɠiLpr'Jh?BR+*Zܤ{ʉuqzB - K!(Wz~ClUe$ޏn"5tfafHAo2NIQnH{'@6@{ˣ[SKޏiab7[fHMv89[%@nHK>nHC'ZܧCp̕#ކTKnTp>Q?%h1=L[v2 zU@ab7[fHMv89noG ` Jp̒Eu :6@{ˣ[SKޏiab7[fHMv89[%@nHK>nHC'ZܧCp̕#ކTKnTp>Q?%h1=L[v2 zU@ab7[fHMv89noG ` !$L7 $WP`03$&/~tvkbt)o->,,Y&}t7 ɮۧ+byD 2I@IcTd[n{ʉuʘG'm;[ZܢqnT9dTj>,,Y&}6AfiLps3A0ܑ}x I*34 ׉ M8Nkbt)o O Ipͳ~~{8S&n_`Ԋ z ͓nWc%DC422S"2A ͝=RYtld-oLps3A0ܑ}y1IQnHEudز [F}O Io29ɮۧ+byD!sHK>nHC'ZܧCrE;!6K2CrE=KO!6DaK5TM,z>>Lps3A!` B!3A!` B! M8Nkbt)oM,z>>Lpr'JQ_~$WQ%UP#7rT\eZܭl3w%@K 0d}t`@[,Ue$ޏ5Ϸ}S&nHX0+9 I*34 1f$WP6@9)ХtoG}6XXMC\|W߅2k؞Q*E}]DT1U@QqkrܕBE?9\`b.%ַ)_~Y%O I|3ompG!2k I*34rEudز [F}ͼG!M,z>f#v؎CJdmӃf}6XXMkl\)]NVPCbEu=RXUf(NP@*tçNk]:JPCbE.,Q,Ue$ޏOJdmӃ 8"(CD %FfwԊ&'5e:΍iab7mҙ5tlO(=HKFl[N:tV)%O I|3l2k!3A;EjEudز [F}ʹld6 S&n @IcD@Ad%ӷ:t@IfŒoG {2k1IQæ]B,B9ѽ|3m>,,Y&}ͷzS&nS@IcT͝krtЭnS=K5TM,z>f#v؎CJdmӃ 8/1 I*34p^?c"  lYN-sz>f#O I|3ompG!2k؞Q*#Ԋ z BPkr;{?*# 7%tmFN1K5TM,z>gD;c"5tf?G`w{N3@0v_F{'@Ċ&'5e:nHz>g>,,Y&} -vE2k؞Q*'hld]DT1U@S]:;5e:tnA.2'܅}t \Y=krC*%ַ(DK5TM,z>gD;c)yɮۧ34<kt`t $ 0 :$WP6@9)ХtoGe$ޏ;>Q?%qh|e2k؞Q*'hldZ]DT1U@S]:;5e:tnA.2'܅}t \Y=krC*%ַ(DK5TM,z>f&Vɮۧ340h$ M8Nkbt)o6ŒoG ; jҙ5tlO( leCR+*+5 BR 2]k]: V%O Ihkg:st N(IyсLps3@#J]B,B9ѽhkiab7 sNn /05x~0)]NVPK7@P ^+*:?˝猡iqH/c+ zU@ab7m9 f rS&n $4!I M8Nkbt)o6}6XXMxClqɮۧ+byD0hCR+*+5 Bu[|%^sAַ(iЭkXClUe$ޏ67iLps3@#E I*340hDY M8Nkbt)o6}6XXMxClqɮۧ+byD0hCR+*+5 But7 P3eř^sAַ(iЭkXClUe$ޏ67iLps3@#Ŏ-)X J8d`nWPCD.lYN-sz>f#O I|3om0n#ҙ5tlO(F jEu=RXUf(N)5+[tXݒf 1 j my!mqzH2B6O6@IfŒoG=N(Ix11S&n$6i M8Nkbt)oM,z>>qBKA™5tlO(= /t Eu=RXUN=vC~0AY8%3@#,P:}6XXMC\>Q?%e^ B ~ɮۧ340l %FfF Eudز [F}}e$ޏ5ϳZ6Y8% Lpr'Jr-^AĊ z{taQ.qBK1ffF =RYtld,PbcMv89f I*340l+@ pŔR:7 s>,,Y&}}'$)]NVPVN(Ix?+*+5 B+ /*%ַ(gdTj>,,Y&}ͼG! CJdmӃ4 hTfh`+u":&/~tvkbt)o6}6XXMxClqɮۧ+byD0hCR+*+5 Bu/dLɮNZܠf 0 SAm:$@HH@MFTH M=RYtld6!ɮۧ34c %FfzEudز [F}ʹld6!ɮۧ+byDCv0HKFl[3Q. Cv0K5TM,z>fۋ iLps3A\f<@Tfh+ǤWP6@9)ХtoG O I|3mmŃD4Mv89[%A ŃD5",bnS}Dֺt2!@IfŒoG ; )]Nfh+LjJq&'5e:΍iab7mAۇɮۧ+byD' 'p zfεO1\eZN!N:,P:}6XXMC\|W߅2kx3 %Ff C M8Nkbt)oM,z>>Lpr'JQ_~$WQ%UP#7rT\eG&Kw.ʉt[=xS_22 HX@ K2,P:}6XXMm'0/]ɮۧ341cv0@Tfh+BbbEudز [F}6ŒoG3m =q1zMv89[%@$(C+*+5 BuG Zܤ,?@1cv1"bْݏe=RYtld6ot2E2kqCD %Ffء M8Nkbt)o6ŒoG \aɮۧ+byD"0d+*nSءw3%EUtqC%dTj>,,Y&}ͱ2Obɮۧ34  vC@oG 7!$W4{ "F pŔR:7me$ޏ22fIlPҙ5tlO(2@6(jEu=RXUf(N]2d6+[\5ӲK5TM,z>f6(iLps3A\lP2d4Q}Ͱ{JqC@gR+@Da  lYN-sz>f}6XXMkcء2k؞Q*`+]DT1UAYJnW{  tUe$ޏdCJdmӃ bq;!7mF Tfh+=@솀 ]B# HM8Nkbt)o6ŒoG 2N`cء2k؞Q*I6(jEu=RXUf(N]2d6+[\5ӲK5TM,z>fءxs2@)]Nfh+=@솀 ޏot2BIQ6(h *Eu7!6@9)ЧCrE6ŒoG 4fH2k؞Q*qCB|9 WQ%UPVj[ vCk02A]; zU@ab7m4Mv896(h }Ͱ{JqC@gWP{dز [F}ʹld6FL?S&n2fH HK% ַ+@|`ekr tUe$ޏ&?S&nW4{ Hz>fDa %Ffء3dhR+@Da  lYN-sz>f}6XXMkcء2k؞Q*`+]DT1UAYJnW{ %O I|3l99bɮۧ34  vC@ ޏot2BIQ6(h ot2Bls[SKޏM,z>fْss )]NVP"N`qCR+*+5 Buq;!Zܡ]; zU@ab7mw3$R5tfء3dhD6# HI*34  vC@]B# HM8Nkbt)ܑ}yF}ʹld6 ;Ù)Lpr'J\lPПfH@IcT:w nPᮝ=RYtld6̓36(iLps3A\lP;Mф %Ffءw WP6@9)ХtoG O I|3l99bɮۧ+byD'0ء@IcTdqzBl(Sq7gEU6dTj>,,Y&}ͳ$ ?S&n b`\D6# H N%@W4]B# H N lYN-sz>f}6XXMfI4Mv89[%@9?0 HK\ nSء{.lUe$ޏdCJdmӃ b8@@Tfh+$&'5e:΍iab7m'0g1lPҙ5tlO($W5",b# kr'TKnSءd zU@ab7m'0g1lPҙ5tfء/cvb3A\lP14&'5e:΍iab7m'0g1lPҙ5tlO($W5",b# kr17gQ.Obђs,qzBuʔC'dTj>,,Y&}Ͳ ;6N\dmӃ @IQt Hls[SKޏM,z>fq'.e2k؞Q*c ͓4 zt2uN!=k@G *r[H;'dTj>,,Y&}},22w )]Nfh+<'hTfh+<'H lYN-sz>>ŒoGْ#'x/ "5tlO(%FN3",bP'OfOh:C(ʵF9{)>N%O IpͶ}KX34Mv89IQԊ&'5e:΍me$ޏf>%?S&n?dfjEu=RXUf(NOZܦ}SmFU~@mD>/2,P:}6XXM,-)q2kd ֈ7Xn/D3AY5  7lGf,B9ѽo2兿M,z>e ~/o\iLpr'JiKHK% ַ)5[3n-Qn/@^m=RYtld#ɮۧ34㝳$ q٤WP6@9)ХtoGn}6XXM [bqJdmӃ KeETC0gNe3 ?i_~Y%O I{c%}dmӃ t0 Ahk`3ANa=^$WPTW߂lGf,B9ѽ{iab7p7ld/Lpr'Jygw%2HKgܠY}ʞ`,t -|Wߖ@IfŒoGۣot23$e5tf 3$ I*34`@$&'5e:΍tm>,,Y&}6C 2NlY)]NVP)2@쳜]DT1UAYJnRДOt22V@IfŒoGۣot23%,ɮۧ34`@!IQC: $WP6@9)ХtoGۣiab7ѷvddmӃ%ΜV )]Nfh*+d I*34dsHls[SKޏf}6XXMm2\`ҙ5tlO(% @IcT͝krc%lh1[k[8N e=RYtld ۜV )]Nfh*+d I*34dsHls[SKޏf}6XXMm+fɮۧ+byD.+fWQ%UP#6u|W]NuƹmnTfm:t2(A@IfŒoG<<ɮۧ34$TW߉ M8Nkbt)o=M,z>64Mv89[%@15",b:*s~h];it32< zU@ab7m'd4Mv89 %FfHls[SKޏM,z>fqCJdmӃvϙG})]Nfh*+IQ+@ pŔR:7p7m>,,Y&}흓3 S&nG}HKFl[,Ue$ޏ2!2kE} I*34Eudز [F}ʹld6D0Mv89[%@-dC+*nRWbQ_~$RUDaotq[(1ֺt2!jqu|Wߔ: m=RYtld t3{,dmӃ 3IQ=HlGf,B9ѽpʹld t3{,dmӃek™5tfxLCBYoGۣ`쳜$ 0= g9"`zp pŔR:7Z}6XXM$!; dmӃxG%7Fڞ9@IfŒoG l? dmӃ rs`$TW/3+@ pŔR:7Z}6XXMC8Lpr'J!c",b%ru_{e3&8taQ.%qf( l?)qf*,P:}6XXM$!; dmӃ Bzpz>ih^9IQ^0!{,$WP쳜&'5e:΍M,z>ek™5tlO(! qؑ]DT1UAϹ:^2MхD𨡧=sUe$ޏݶ}#i"ɮۧ34J $TW (7i M8Nkbt)oM,z>v 1 S&n?c#8d_4 zfΟ S>B.N,P:}6XXMm2\`ҙ5tf\e3AQ_x.2Ԋ&'5e:΍me$ޏf>%ΜV )]NVP2\ฬ]DT1UAYJnQ8fJ >+{[ kֺu8N e=RYtld gdӊ8ɮۧ34-$ qWP6@9)ХtoG3m>,,Y&}6.tfk=2k؞Q*K3A' zfַ)_}m=RYtld ۞IfiLps3AQ_x.2IQjEudز [F}6ŒoG3ny$rS2k؞Q* # @IcT:mF-tqX36:{@ zU@ab78S&nTW @Tfh*+Z]B,B9ѽpʹld ۜV )]NVP\V HK% ַ)_}mlh1[kZfm:t2(A@IfŒoG3nqX355tf\e3AQ_x.2Ԋ&'5e:΍me$ޏffk=2k؞Q* zEu=RXUf(NHZfh%qf)_yRU{,Ue$ޏ|aҙ5tf %Ff+@ pŔR:7me$ޏ|aҙ5tlO(D WQ%U=3gZܧ]TKkK BEGTKDGڙ52K ^(dUe$ޏ|] )]Nfh*+@Tfh*+"  lYN-sz>f}6XXMgҙ5tlO(jEu=RXUf(NO0ZN@IfŒoG ۖ/| ~ɮۧ34t` I*34t`]B,B9ѽ|3m>,,Y&}͹bLpr'J{c",bP'Zܧ]TKkR zU@ab7m'd4Mv8923AQ_F"kd+@ pŔR:7me$ޏ|aҙ5tlO(D WQ%U=3gZܧ]TKkK BEGTKG z52K ^(dЭnT,Y13,P:}6XXMι\O$HMv89 I*34+@ p٭)ХtoG܎u$JŒoG܎u$JGry$rE2k؞Q* ãG$]DT1UAYJ쳝EU O@IfŒoGIddmӃ (h$TLtCR+@ p٭)ХtoGld0kr9#9"5tlO(rA>̒Eu=RXU3k[w qZ㲝 .0d[LNA@܅}8t >&S[ϼgY%O Is'#;Ù)]Nfh*&쳜 I*34YHlGf,B9ѽsŒoGIddmӃ }c{iLpr'J;?Ԋ zfַ)2]z H.vnJ}>02,P:}6XXM5,ɮۧ34!$T`bEut4M8Nkbt)ܑ}yF}O IsA<ҙ5tlO(d~WQ%UP#6H:ZCjQ :O K5TM,z>e ~/lcS&nT``z>eI*34]B@qz&'5e:΍,-ld.X[{e™5tlO(.DZ",bG ^v=^QL[v20^%O Io2兿.4Mv89}  JF$WP0^6@{ˣ[SKޏrߋO Io2兿.4Mv89[%@4ƤWQ%UPVj[zQ.N07K BS?݌ zQn/@^dTj>,,Y&}|`aLps3AQ t JF$WP` p٭)ХtoG ld-2k؞Q*F$WQ%UP7$snRWbK1TzQ.S=èDkk[3n-ʇ;,Ue$ޏ_rɠiLps3AQ t JF$WP` pŔS"5M,z> }&y2k؞Q* ɠ HKFmkrC*%ץ t+[%,Ԣ^u>dTj>,,Y&}|`aLps3AQ t S3AQ /d  ߮]ز [F}O Io2S&nT`bEu=RXUrG::%qf)H[1:Oh z vS?݌s,P:}6XXM™5tf,/dz>e3AQ /dT`` p٭)ХtoG ld-2k؞Q*F$WQ%UP7$snRWbK1TzQ.S=èDkk[3n-ʇ;,Ue$ޏ8Cp̑Lps3AQ ^h$ fOB@wjEudز [F}M,z> 2E2k؞Q*`&d+*+5 But[':3dFL (c ֺdP@*V*3%Q.hcunTcv]krFz@e vK5TM,z> }NG$S&nОldSt` I*34'$WP6@9)ЧCrE0k>,,Y&}dHMv89[%@y9Eu=RXU3k[9͌T8fJ,P:}6XXMn;3WGE5tf$Оx[Hls[SKޏ㹙iab7mf[ \_cdmӃfq'.e2k 3^J 3^$WP6@9)ХtoG O I|3lN͓25tlO(1˚Eu=RXU3gZܣk@GyAf]x ˯rTVӠ&0 zU@ab7miٲrS&nОMy $@i! M8Nkbt)o6ŒoG .0ӳd̦Mv89[%@La9r]DT1U@|ܑΆNGp漆KnQq2kc(`ֺt\a@vl zU@ab7`>xvogS&nОCANܗx+ f@TfhO !nK3Z]B,B הoGld0kx<;7)]NVP9WQ%UPD2M[|%:_ ގS^=y r] rK5TM,z> }f}2k {``+ f@TfhO ?;Y5 M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXUnQ5 u? f]z_P`Ue$ޏ_lyٽyLps3BxhC|Nܗx+ f@TfhO o)ےd ֤WP6@9)ЧCrE0k>,,Y&}g3dmӃ5tfЈ0LD %FfЈ0LR+@ pŔS"5M,z> }f}2k؞Q*<'7 zmgZܣk@ TK ӡ^ $О,P:}6XXM5ϼgɮۧ34'E ` 04@TfhO :`jEudز t7$_^QsŒoG}<ϼMv89[%@g?ޑ]DT1U@-@,[w qP@*t:|C1W: 9%O Isó{>5tfЈ0LDƈJ zB`3$Hls[SN7`}6XXM5ϼgɮۧ+byD+*kr93%Q.t'NxQ (PioO@DTj>,,Y&}g3dmӃB"0 @TfhO :/Ԋ&'5e:nHz> }e$ޏ_lyٽyLpr'Jx< ",b[~Yַ(:2UqzBtWBPOt@@IfŒoG}<ϼMv89<4"/@L+~J zB`\c"  lYN:/(ޏ_iab7`>xvogS&n?3sxHKߠu; p̕D\^Н:xUe$ޏ_lyٽyLps3BxhDa ^0$ОC&]B,B הoGld0kx<;7)]NVP9WQ%UPD2]zrC'K̦r׭q[ֺtϼg,P:}6XXM5ϼgɮۧ34'!)@IQ<4! N2d ֤WP6@9)ЧCrE0k>,,Y&}g3dmӃMy Hls[SKޏM,z>fq'.e2k؞Q*c ͓4 zt2u;dאډu.0fMrpe ZN6͓dTj>,,Y&}òS&nОx I*34'.ǰ-^$WP6@9)ЧCrE0k>,,Y&}òS&nd5",b@c/)9B 7rbiӭnQ5 us6]3 zj2m./@R=`k{ݓ$ @``8 @8$@ P@@j@0P@@je@( ` %O I|3o'cMv89<5 p$О9"  lYN:/(ޏM,z>faOxLpr'Jf~$WQ%UP#6u;{ʉu5 7@IfŒoG ۚgLps3Bxk@IQ<5 rEudز [F}ʹld6ES&n/x$ zfεGpԏzQ.MrC>ߐgLpr'J; HKFl[w qH\eZܣBe{,Ue$ޏ5ϳ%FN_~AE2k 9:$\r$WPCD,B9ѽhkiab7 saߐgLpr'J#'xw]DT1UAYJk@G *r[K5TM,z>v2EG})]NfhO q˯]cb3Bxk@&]zHls[SKޏݴld.2;Lpr'J: 1R+*+5 Bu; p̕Dcvλe:.]zхDP@+ zU@ab7p7n3$\dwҙ5tfnl %Ffnl+@ pŔR:7p7m>,,Y&}dS&n2@LdwԊ z BPkr93%Q.3Nkr 2T|e*% z Y%O I|3mq8!2k 9$О8-^$WP6@9)ХtoG O I|3mq8!2k؞Q* HK zfεGp7yQ..'d6,P:}6XXMk7"5tfn@TfhO q/+@ pŔR:7me$ޏ{)]NVPDa$WQ%U=f(NGp7yQ..0dUe$ޏ_lyٽyLps3Bxh& V@h$О 043Z]B,B הoGld0kx<;7)]NVP9WQ%UP o :\rSkj%ׅ: Ppr z zU@ab7^Yd2k ᠹ:2v$Artd]B,B9ѽo2ŒoG lEdmӃNj%ֵӭlP>,P:}6XXM5ϼgɮۧ34'~vkD %Ff\bV@jEudز t7$_^QsŒoG}<ϼMv89[%@g?ޑ]DT1U@-@,[w qO^WBYP`Ue$ޏ_s߸vCJdmӃB1IQ<4*!Hls[SN7`}6XXM5=d4Mv89[%A{jEu=RXUM;D2tNGpRd[VM^m/—ot,Ue$ޏ_lyٽyLps3BxhTC$Оx]B,B הoGld0kx<;7)]NVP9WQ%UP o :\rSkj%ש?*Q 9==RYtld0kx<;7)]NfhO [p $B;~vkR+@ pŔS"5M,z> }f}2k؞Q*<'7 zmgZܣk@~@mw!.2S[pP`Ue$ޏ_lyٽyLps3Bxh^ò $BV@jEudز t7$_^QsŒoG}<ϼMv89[%@g?ޑ]DT1U@-@,[w qO^ ;! rK5TM,z> }f}2k {l %Ffнd6i M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXU4C(׮G*{l~ގTOWڌ2elkZ=3 rK5TM,z> }f}2k Wd ֈJ Wd ֤WP6@9)ЧCrE0k>,,Y&}g3dmӃ }f}2k W&x^J W&x^WP6@9)ЧCrE0k>,,Y&}g3dmӃxvogS&nОgd ֈJ &y V@jEudز t7$_^QsŒoG}<ϼMv89[%@g?ޑ]DT1U@-@,[w qO^J9%O I|3lfyɮۧ+byD' ]DT1U@ַ*g[vA zU@ab7m.vɮۧ34'  I*34' ]B,B9ѽ|3m>,,Y&}Ͳ™5tlO(2bEu=RXU3gZܣP*.2kE˝@IfŒoG ; "5tfIQ9"5"  lYN-sz>f}6XXMgdS&n?Eu=RXU3gZܨ p̕D; 0nQ(g=RYtld61x1S&nМmhh`П0`$Мmhh`П0bEudز [F}ʹld61x1S&n*1x1ڑ]DT1U@|ܑΆN嶎[T ַ+||+xȁhʎ!SleCgdTj>,,Y&}6#-sMv89990@TfhNN|Hls[SKޏFŒoGۣn=b< ^ dmӃ,,Y&}\Hy$rK|a?]ɮۧ+byD/$H!тEu=RXU nQ90 Nރ2Gd.Q:P0W que:ue=RYtld/[(q™5tfIQ991"  lYN-sz>ee$ޏzD3~ɮۧ+byD l?+*+5 BufosQ.ke1Qn/lUe$ޏF$22fF2k ϙ3BrsbEudز [F}6M,z> 8q?]ɮۧ+byDۀ0q@jt`]DT1U@E/+[vN|S̭nQ92NnT2{ zœ]krYNFdTj>,,Y&}m3'lY)]NfhNN|̞J ϙwԊ&'5e:΍- ;F}6XXM- ;FfO]쳜S&n;&{,$WQ%UPVj[vN|̦8̞ל}Pct{,Y%O Isš'hcP쳜S&nМq=$33' M8Nkbt)oyNq.fS\dwFLɮNNɁ:n2 %; N2=(`j/9d%ֵӥ5f,P:}6XXM5,ɮۧ34'7IQ9WP6@9)ЧCrE0k>,,Y&}MJdmӃgŌɮN?c"5tf,$ر"  lYN-sz>g>,,Y&} ٭\~E2k؞Q* lXɮN?c$ z zU@ab7 s qiLps3Bs[J lX]B,B9ѽhk`[ld~Cd4Mv89[%@lWQ%UPVj[|staGf,Zܬh*PŸc,Ue$ޏkdmӃذAo2Nj7XC%Ff,H{'@5?` X pŔR:7Z}6XXM̦Mv89[%AEu=RXUf(N,7Rߋַ*g[z= Q٭*%ַ)oFTnHa7Cֵ z# =RYtld3<'c3.%2k lXɮN?c)J lXɮN?c)WP6@9)ЧCrE3<'iab7fxNg\JdmӃ,,Y&}} "5tf;%Ҟ`$ЗAwق`S Hls[SKޏ5ϴld,,Y&};P™5tlO(5 HKFl[s:C*%ַ+'c0^%O I|3nk^E2k trJ tr$WP6@9)ХtoG O I|3nk^E2k؞Q* \HKFl[s:C*%ֵөQ{g=RYtldv2EG})]NVP@ &2;Eu=RXUf(NG:93%Q.3Nkr^0-taQ.8fJ,P:}6XXM ۂ Mv89.@L7 cb3B]nl+@ pŔR:7p7m>,,Y&}dS&n2@LdwԊ z BPkrtrT8fJ]1;g]f2 :d]TK@K5TM,z>fqCJdmӃ8 p3B]n"  lYN-sz>f}6XXMk )]NVPDN>0jEu=RXU3gZܣA uM^TKkK K5TM,z>f HMv89.@x I*34%q/+@ pŔR:7me$ޏ{)]NVPDa$WQ%U=f(NG:9n]k]:\aY%O I|3mɮۧ34%q/ %Ff9Eudز [F}ʹld6Lpr'JNWQ%UP7$snQ΃@ꛀZNEt {dTj>,,Y&}ͽS&nЗA p[$8 p M8Nkbt)o6ŒoG ,2k؞Q*7@igHK>nHC'Zܣ7yQ.nygK5TM,z>fn{ dmӃ8 p3B]n"  lYN-sz>f}6XXM{[)]NVPĊ zfεG: qk]: -Y%O I|3mɮۧ34%q/:$8 p!6@9)ХtoG O I|3mɮۧ+byDEu=RXU3gZܣ@cMфʽ= vS?݌ z TKD2v@IfŒoG ݏaLps3B]nCIQ.@x]B dز [F}ʹld6tcS&n+t v=@IcT͝krt9;!7F*h[3n-ʂ TK %O I|3op7|ɮۧ34%q/:CD3B]n":CD,B9ѽ|3m>,,Y&}ͽS&n+tt zt2u9qSpnזz vS?݌ p̕DC'^  %O Is'#)]NfhKJ t# &'5e:nHz> }e$ޏ_lɮۧ+byD'#HKFmkr'#ʑMхAdUe$ޏdCJdmӃ3B]x ޏot2@j7m$W4$3B]x]B# H @9?0  lYN-sz>f}6XXMfI4Mv89[%@9?0 HK zU@ab7p7m\dwٍ8d_25tfL-@@TfhKd+@ pŔR:7p7m>,,Y&}ˌ1 S&n>-w1BƜ2/Eu=RXU-]{'KO!sn2@IfŒoG}™5tfnL@TfhK+@ pŔR:7`}6XXM5ϸS&n?HK% ַ*3%Q.tܝ絭lPKO!63Y%O Ihkl2k tܘ$ЗA ɤWP6@9)ХtoG}6XXMC\g)]NVP$WQ%UPVj[G:nN6(J'e ZN,Ue$ޏ[w|L)]NfhLY3BbHls[SKޏM,z>fn~10Mv89[%@KwwĊ z_ܝ75*ֺt[wtʟ@.Q:=FT\eSVƽ=RYtld6^0rS&nИŻ%1IQ1cvJi M8Nkbt)o6}6XXMxCo]b9 )]NVP t`#Ԋ z BPkr[SLd)I2u rdTj>,,Y&}[S&nИŻ%1IQ1cvJi M8Nkbt)o->,,Y&}[S&n",bP'Zܠs2[S*ֺtΣ"CrE 1W:dUe$ޏrߋ\a= ȦMv891cvJb3Bb+@ pŔR:7\ŒoG ao0dS&n{$Eu=RXUf(N@e8dEU\a= ȁX|y Pt"0eQn/@^nK5TM,z>e ~/lcS&nИŻ%1IQ1cvJi M8Nkbt)o.X[{iab7\v=2k؞Q*]bEu=RXUf(N@e8dEU-Td z6.Dz0^μ)3%dTj>,,Y&}ͼG!9 )]NfhLXݒ$ИŻ%4&'5e:΍xCm>,,Y&}ͼG!9 )]NVP&B9 HK% ַ(Ż%:-.2kXClUe$ޏrߋ;)]NfhLXݒ$ИŻ%4&'5e:nHz>e ~/m>,,Y&}˖^p̑Lpr'Jp$ z BPkr!:,qnN[v3%Q ^U,>Y<(`ֺt μ)3%dTj>,,Y&}˖^٭ dmӃ8d I*34&,qnM"  lYN-sz>e ~/m>,,Y&}˖^٭ dmӃ,,Y&}}ɮۧ+byD+*+5 Bu:0԰dkZ>=RYtld0k\vɮۧ34&0ֈJ 5 M8Nkbt)o0k>,,Y&}2k؞Q*v$WQ%UPVj[taa7CֵӦ} zU@ab7p7mppȾe2k 5$kf]B,B9ѽ{iab7p7mppȾe2k؞Q*&2;XӆEHKFl[S:N,P:}6XXM5=d4Mv891d~@TfhLeY4Hls[SN7`}6XXM5=d4Mv89[%A{jEu=RXU`VM裓z ߸vC@,, zU@ab7p7m\dwҙ5tfqvH@TfhJd+@ pŔR:7p7m>,,Y&}ˌS&n>-w1R+*Zܣ~%ET ?${՚ zU@ab7x$}oɮۧ34@TfhbEudز t7$_^Qsš'h}e$ޏГmS&noHK% ַ*쨗ZN`U=RYtld-oLps3@?; %Ff~v$WP6@9)ХtoG ld-oLpr'J4 z BPkrAwc*쨗Zܭ~P`jt7$_^Ɓ2㝮G԰dkZCQn/@^N@IfŒoG g߲y+[x0Mv893@?;+@ pŔR:7mxLe$ޏϿe2VaLpr'JGɉ@IcT:CZGɕ,P:}6XXMk )]Nfh`$Ċ&'5e:΍iab7m'd4Mv89[%A8!@IcT͝krʉu\N>0m=RYtld.X[{k'A{ɮۧ34@TfhbEudز [F}˖^}6XXM,- dmӃ,fMrqɮۧ+byD ϨK5d]DT1UDTj>,,Y&}˖^nǰMv893@?;+@ pŔR:7\ŒoG ao{ dmӃ-™5tlO(.~$WQ%UPVj[vTKnQn~TdkZF zU@ab7miLps3@?; %Ff~v$WP6@9)ХtoG O I|3lJdmӃf2S&n8!@IcT͝krʉu; .'d6,P:}6XXM,-[ɮۧ34@TfhbEudز [F}˖^}6XXM,-[ɮۧ+byD'5bEu=RXUf(NPeDز'e ZNs[=DaWz :Y%O Ina9dmӃ I*34"  lYN-sz>O Ina9dmӃ,,Y&}l: q2k؞Q*[HK z BPkrʉut: q@IfŒoGhI6ϔQs2E2k$ؑ]B,B9ѽsš'hO Isš'h>QEɮۧ+byD(d+*+5 Buʇ;*%ֵӣ\̕=RYtld/[,)]Nfh`$Ċ&'5e:΍M,z>ee2k؞Q*,HK% ֵӭlΡ zU@ab7^Yd2k$ؑ]B,B9ѽo2ŒoG lEdmӃ>iab7 s q)]NVP%Ċ z BPkrڇ;*%ַ(A - zU@ab7p7m\dwٍ8d_25tf~ %Ff~+@ pŔR:7p7m>,,Y&}ˌ1 S&n>-w1BƜ2/Eu=RXU-]{'KO!K5TM,z> }85tf@Tfh+@ pŔR:7`}6XXM5;'dmӃvŒoGn1n;2k؞Q*wx",bʆ,-@IfŒoGn1n;2kg#h[D %Ff|3 - M8Nkbt)oM,z>vًqG})]NVP@IcTͭnT0ϮG*h[lUe$ޏ;>Q?%V3iLps3@>0@Tfhކ$WP6@9)ХtoGe$ޏ;>Q?%V3iLpr'Jr-0G!@IcT@IfŒoG qlY)]Nfh! I*34n Hls[SKޏ5ϰ-}6XXMC\}n== 92k؞Q* h^9@IcTnT07hA -l׃(u=skra]kr!Ͼ,P:}6XXMxCAbS&n#IQtG! M8Nkbt)o6ŒoG r C™5tlO(4b]DT1UAXtQG!\ukrb^ f(S,P:}6XXM50k5x~0)]NfhWIQt ^+@ pŔR:7`}6XXM50k5x~0)]NVPX@@jt`]DT1U@`jtaKot1kQY%O Is xg dmӃ7@_ %Ff| @Ċ&'5e:΍5M,z> }(:ɮۧ+byD,@Ċ zfַ(3C[ֺua==RYtldϸ\dwҙ5tftc#J3$G}Hls[SKޏݴldϸ\dwҙ5tlO(",bnT8fJ* kֺtϸ+\vQqw%HO'[#׃()z@IfŒoGn8fH2k3$ x I*34p̐&Eud\;5e:΍ O I{p@"#ɮۧ+byDp̐",bP'^d1H*3%EG}*- K!/}dTj>,,Y&}dS&n2@O| C\E}$8fH "d\;5e:΍ O I{p@"#ɮۧ+byDp̐",bP'^d1H*3%EG}*L[v2=RYtld0kx<;7)]Nfh@쓖 Jr ta4&'5e:nHz> }e$ޏ_lyٽyLpr'Jx< ",bq8S)KB FK5TM,z>e]{)]Nfh@쓖 oTfh@쓖Ċ  ߮]ز [F}O Io2.ɮۧ+byD!]{HK% ַ(ˋ2'.C*%ַ)mܕy za 3t7 Y%O Is1=d4Mv89 ahTfhn/R+Cls[SN7`}6XXM5;!2k؞Q* ߸vCR+*Zܤ{ʉu.vnJ}DaK5TM,z> }&y2k CD3@@qz]B dز t7$_^QsŒoGd~4Mv89[%AY4y@IcTͭnR=eDNkrڔC+ν?GF zU@ab7 sY8% Lps3@@qz ޏa{'@$0^WP` pŔR:7 s>,,Y&}}'$)]NVPVN(Ix?+*^NAY8%K5TM,z> }&y2k z>e3@@qz]BNls[SN7`}6XXM5,ɮۧ+byD+&/5",bzG ^t)ЭnRДReyנq{dTj>,,Y&}}\a2k<5:C@h J<Ԋh Sjt4 N6@9)ХtoG}6XXMC\=; dmӃ,,Y&}}.0™5tf˞hC@h Sjt4 N%Ff˞jEut4 N5:C@h pŔR:7 s>,,Y&}}.0™5tlO(N;&0Ċ zfεZ㲀*%<5RДLj:,qnSKʉdL^>dUe$ޏ;>Q?%V3iLps3@CIQ!]bEudز [F} }6XXMZ5m31ɮۧ+byD(ѡ 3r]DT1UDTj>,,Y&}\H'侺0)]Nfh?%р$~K&'5e:΍ιZ}6XXMι\O}t`S&n~K z BPkrʉu;5e=RYtld#s#1Lps3@A/& I*34i M8Nkbt)ܑ}yF}\H>,,Y&}\H`~l`S&nf?60HK zU@ab7m~ɮۧ34I @TfhтEudز t7$_^Q|3m>,,Y&};P™5tlO(5 HKFl[;!]TKnWaOxDaK5TM,z>f(f}6XXMs\)]NVPZgEu=RXUrG::FNoFZ(3,P:}6XXMι[dY)]NfhCOCBY$нs+@ pŔR:7G:G%iab7G:G%og8Mv89[%@rEu=RXUf(V)hJY 쳝[ kڊzE'Vӧty K5TM,z>e('25tf44/eIQ! = g9"  lYN-sz>ee$ޏg+̦Mv89[%@Ey9WQ%UP#6uʊzSg:]krdTj>,,Y&}\HXtw5tf44/eIQ! = g9"  lYN:/(ޏIe$ޏIS&n:;HK% E = 쳝ZܩL͌*meבيM =RYtld ۜV )]NfhCOCBY$нs+@ pŔR:7M,z>s2k؞Q* @IcT:𨡧=sʵN+f%O Ip͹`{dmӃнs %Ff44/e&'5e:΍me$ޏffk=2k؞Q* zEu=RXUf(N*(imOe.2kS@IfŒoG3m =q1zMv89! = g8@TfhCOCBYHls[SKޏf}6XXMm'0/]ɮۧ+byD#bтEu=RXUf(N*(imOe;rukK!F@IfŒoGhI6 דOΙLps3Ab3Ai M8Nkbt)ܑ}yF}mܑ}y;O Isš'ht7$_^N>:e2k؞Q*.t+*+5 Bu>N;ԕŘ)qf*,P:}6XXMgb0Mv89fvBn %Ffq 0Hls[SKޏM,z>ft4،)]NVP.Nv@IfŒoG ۚgLps3A|rò I*34L,;! M8Nkbt)o6ŒoG ۚgLpr'J(<+*Ue$ޏ| 6# dmӃ `VN/C]J0+'+@ pŔR:7me$ޏ| 6# dmӃ,,Y&}g߲B Mv89.vnH@Tfh/˝Hls[SKޏ_iab7`>_F2k؞Q*T0HKLZ׭_eR=`Ue$ޏy;y)]Nfh/˝oG `Tfh/˝H{'@6@9)ХtoG<}6XXMҙ5tlO(ǞԊ z BPkrC*%ַ*eSZܠAU zU@ab7{o{g )]Nfh/˝oG `Tfh/˝H{'@6@9)ЧCrE=M,z>66z™5tlO(Ǟн@bEu=RXUf(NH[v2fЭnPA e=RYtldY<ַ(ٹ*ѧS1o£&d[vkba7CֵӠŕ,P:}6XXM- ;Fۡ"vf )]Nfh/˝1IQ.t+@ pŔS"- ;Fۡ"vM,z>BNѶnH|JdmӃ,,Y&}͵ ɮۧ34IQ,WP6@9)ХtoG O I|3mq8!2k؞Q* HKFl[Cj%ֵӥ %O InLps3A~Y $ jEudز [F}6M,z>-™5tlO(.~$WQ%UPVj[Ch-Zܣ쨗ZNK1DQn/@RWbޑK1T[vS|Gm=RYtld6 |aҙ5tf I*34Ԋ&'5e:΍iab7mAq8!2k؞Q* 2]DT1UAYJnQY  VӣRqClUe$ޏzgaɮۧ34IQ,WP6@9)ХtoG ld/[,2Q@5tlO(Mv%HK% ַ(,KkZge(}=RYtldn~ɮۧ343AZ]B,B9ѽne$ޏFsMv89[%@K@IcT:eDKO!6DaK5TM,z>vًqG}ӆE)]Nfh/} %FfJx"  lYN-sz>vŒoGn1n;pȾe2k؞Q*wx,i"WQ%UR׹*Bx/Gn#ʆMܔ&@WJ@IfŒoG \N>0iLps3Ay$ ̒Eudز [F}ʹld62S&n|aԊ z zU@ab7miLps3Ay$ ̒Eudز [F}ʹld6ˌ4Mv89[%@La@IcT͝kr̕Dm=RYtld6 |aҙ5tf$ I*34$&'5e:΍iab7mAq8!2k؞Q* 2]DT1UDTj>,,Y&}ˌ1 S&n^Iy $ /! M8Nkbt)oM,z>vًqG}ӆE)]NVPcN",b.RQq^Cjn2@IfŒoGn8fH2k䗐L' IQ x]B.lYN-sz>vŒoGn8fH2k؞Q*3$G}HK% ףKo3(\eZܥ)d6,Ue$ޏݸ p̑qJdmӃ /!O| C\E}$ /!O|  p٭)ХtoGn}6XXM ۂ Mv89[%@d@IcT:~Iy e[3n-|Wߖ@IfŒoGn1n;pȾe2k\J\WP6@9)ХtoGn}6XXM f-wcN̦Mv89[%@|[c#8d_4 z[|%HOETsKmMB,P:}6XXM- ;F[2ktb - ;F.NxTfh/$s7FH: qls[SN7x$}oldfێe/12k7/ %Ff p M8Nkbt)o6w3->,,Y&}ͷ\_cdmӃ%?S&n\e3AqWP6@9)ХtoG3m>,,Y&}6.q`ҙ5tlO(%3R+*+5 Bu>2ڂ TaZܩaܦ{[ kֺtϼs z,,Y&}63JdmӃ @Tfh.2Ԋ&'5e:΍me$ޏffiLpr'JfjEu=RXUf(NRãG[[ kֺu8N.0/q@IfŒoG3nqX355tf-$ "  lYN-sz>iab78yLpr'Jfh$ޑ]DT1UAYJnR=eDֺu8gI\Y>2Ԋ\Yݏe=RYtld BO)]Nfh.2IQR+@ pŔR:7M,z>hI2k؞Q*!@ z BPkr2UZWbHP)"bUe$ޏݶbwyqJdmӃ ݮGr I*34\典5"  lYN-sz>vŒoGn1n;2k؞Q*wx",b>3v典6,P:}6XXM f-wMv89p-ph$\fr8e5"  lYN-sz>vŒoGn1n;2k؞Q*wx",b>3vYn K5TM,z> }&yf}2k0hTfh.XMтEut4M8Nkbt)ܑ}yF}O IsA<ӳ{>5tlO(d~?ޑ]DT1U@-@,Ad%1n;9==RYtld6քɮۧ34,fc!%Ff `Bd]B d\;5e:΍iab7m N2)]NVPBd]DT1UAYJKBS# ;[ZܩqnQan2idTj>,,Y&}͵ ɮۧ34,/%,`[$ 0-^$WP6@9)ХtoG O I|3mq8!2k؞Q* HK zfεG KSpZqClUe$ޏ{)]Nfh.X^JXx I*34,/%,`[Hls[SKޏM,z>f HMv89[%AC$]DT1T@:,/%,eM^TKkK7+ zU@ab7mҙ5tf䥌 p3ArR Ċ&'5e:΍iab7mҙ5tlO(=HKFl[|7yQ.MrOt,P:}6XXM{圦Mv89ay)c$\n"  lYN-sz>f}6XXM{圦Mv89[%@V ,@IcTd[|7yQ.nygK5TM,z>fn{ dmӃ 0-^J K/+@ pŔR:7me$ޏ™5tlO(XKHKFl[|7yQ.n{,Ue$ޏOJdmӃ 0-^t4I*34,/%,`[H lYN-sz>f}6XXMotMv89[%@OR+*:,/%,e1d&t\e^;[Zܩqn=Ad%Ԣ; zU@ab7mnǰMv89ay)cCD3ArR Ċh pŔR:7me$ޏ™5tlO(XKHKFl[|7yQ.n{(1L[v22UqzBv@IfŒoG ,2k K/:CD3ArR Ċh dز [F}ʹld6w9Lpr'J Y+*9ַ(ay)c*n]z Aַ*g[@Rd; zU@ab7`>xvogS&n\woG `t Qo2NIQ8!f]BNj :/d&'5e:nHz> }e$ޏ_lyٽyLpr'Jx< ",b5 ux'66t'dTj>,,Y&}oiLps3Art %Ff-WP6@9)ЧCrE,,Y&}my-qn_)]NVPFK\[+*+5 Bu>N}D'An?0m*b^4[b^Y%O I|3l:drS&n\ x$  M8Nkbt)ܑ}yF}ʹld6ϓK.e2k؞Q*Dr]DT1UAYJnP.Nf}6XXM{)]NVPHKFlWbrt41"b# 5m:uʖM=Dt^_]TaZܭ^ vY\du=RYtld/[,)]Nfh.ND %Ff5"  lYN-sz>ee$ޏzgaLpr'J;+*+5 But[,6,P:}6XXM- ;F3"5tf~$\Hls[SKޏГme$ޏГm0i)]NVP`_t+*+5 Bu>NGP3rխthY%O Isš'hۛHMv8994@Tfh.NGF Hls[SKޏГme$ޏГmC$S&n Eu=RXUf(NMC$gG` zU@ab7`>xvogS&n\b1} :ޏa{'@5,/dz>e3ArK"+@^0 A{'@5t dز t7$_^QsŒoG}<ϼMv89[%@g?ޑ]DT1U@̚хD0Χ2WBYGsrS zeK&t'dTj>,,Y&}g3dmӃ WBY1} :ޏa{'@5,/d$ WBY4t P^0 A{'@6@9)ЧCrE0k>,,Y&}g3dmӃ,,Y&}g3dmӃ WBXd$ WBXdHls[SN7`}6XXM5ϼgɮۧ+byD+*krG Ώ2$uQ'+!,$@@IfŒoG(ѫo4Mv89DgFJ'>0"  lYN-sz>g>,,Y&} -CJdmӃel)]NVPX]DT1U@|ܑΆNKBRmLlZ읐=RYtld|~K])]Nfh.Q?%D,/d$ OhԊt dز [F}}e$ޏ5ϳZLpr'Jr-vM",bmqkrOh vS?݌f B(ѴOlUe$ޏГmJdmӃ Oh} : %FfZ5".lYN-sz>BNѶM,z>BNѷfێaLpr'J's1",bG'mDֺt㹙C9dTj>,,Y&}}(ddmӃ Oh} :ޏa{'@$\~KFWP`Nls[SKޏ5ϴld|~K])]NVP.Q?%ɤWQ%UP^y-:.2nQ-Aַ*g[ VӣZ6=RYtld.cgqLps3Ar- ޏa{'@5,/d$ OhԊt P^0M8^rŔR:7Z}6XXM18Mv89[%AcgrEu=RXU3gZܩ|~KFӠ/2 nTŸc(lUe$ޏҙ5tfZ4Ao2Nj7X^0I*34(ѩ /d` p٭)ХtoG O I|3oc2k؞Q*@IcT͝z>Q?%h1L[v26L zU@ab7fxNϔOhscсLps3Ar-0G!3Ar-0G! M8Nkbt)o3<'iab7fxNϔOhscсLpr'Jr-bF @IcDTj>,,Y&} t Lps3Ar-ɮN?c)J'h&8]B,B הoGe$ޏ;q)]NVP z zU@ab7fxN~ @ɮۧ34(Ѡ|2$\~KFki M8Nkbt)o3<'iab7fxN~ @ɮۧ+byD-]DT1U@|B!D'dTj>,,Y&} -̚2)]Nfh.Q?%@;c @Tfh.Q?%@;c "  lYN-sz>g>,,Y&} -̚2)]NVP.Q?%@5d]DT1UDTj>,,Y&}dHMv89D7X^0 F}}Z옒Tfh.Q?%A0.) /d\~K]dز t7$_^QsŒoGIdmӃ,,Y&} -̚2)]Nfh.Q?%@$\~KFCOĊ&'5e:΍ld3<'g'k2kȦMv89[%@D'Eu=RXU=RYtld BO)]Nfh.Qخ/$ v++@ pŔR:7M,z>hI2k؞Q*!@ z BPkrv+kI\Y!@\YK5TM,z>BNѷQEN׍B{e=RYtldBNѶnH|.tdmӃIQHls[SN7x$n}6XXM- ;Fۡ"v)]NVP,s]DT1UAYJnT|v+1@Ԋ\YK5TM,z> }~ )]Nfh vE $2C@CR+@ pŔS"5M,z> }~ )]NVP^ò]DT1U@SrdN;"s:Ad%q'ZܦI1ygvqz ߸vCkcXCr,P:}6XXMC\=; dmӃAe4@TfhW <Ԋ&'5e:΍C\O Ihksqǿ5`aLpr'Jq)`]DT1U@!̝N;&0Fl[ %<.2kZ㲀,Ue$ޏ5ϽqS&nЮ .y3B`,WP6@9)ХtoG}6XXMC\\a2k؞Q*vLa@IcT͝!eD:,qnSKʉt51SN,P:}6XXM5ϿdсLps3B@TfhVv$WP6@9)ХtoGld0k~/5tlO(*HA]$WQ%UP k^B @@IfŒoG(ѬɮN?c"5tfg`NkbIQYر"  lYN-sz>g>,,Y&} -̚2)]NVP.Q?%@5d]DT1UDTj>,,Y&}͵Lps3B3B M8Nkbt)o6ŒoG \_ɮۧ+byD"/+*:KK ZNV@IfŒoG q̵fQEַ*X.'EUʙe}=RYtld6w3-/WGE5tfc:$H lYN-sz>fێee$ޏ㹙ltz2:,ǔɮۧ+byDb"/bzEu=RXUf(NRRʗ *L[v2pn> Լ (`%O I|3ms2`jS&nЬ`CD3B!6@9)ХtoG q̴ld6w3-f/12k؞Q*A1f=",bP'Zܩc)q|eKqkr~-ŻG7Nkp^e 0Ue$ޏ㹙ltz2:,ǔɮۧ34+ $ $WP6@9)ХtoG q̴ld6w3-/WGE5tlO(,^ELYHK% ַ(0e: rPc\lЯG7K7ʖ0q|eK K5TM,z>fێe ffێee$ޏ㹙n05q|dtY)]NVP& Ј2 1@IcTݓnWډu,e./q8!CcZܣB%O Ipʹ$5tfab3B&'5e:΍me$ޏfyLpr'JHP)",bP'Zܯ2!Wkr/ Q.WbHP)"bUe$ޏI䰲5tfaaz> COCD3B"!ls[SN7G:G%iab7G:G%rã,,Mv89[%AXtw z BPkr99Q.RFS;^2 ַ*{,PlUe$ޏ⿹,1 )]NfhV솈J =Ԋ&/~tvkbt)o#r=O Ir9,1 rXcS&nTWOd5",bP'Zܩaܨ7:{!\eZܧ}lUe$ޏ⿹,1 )]NfhV솈t4I*34+ tCR+ClGf,B9ѽr9,1 ld#r=|W%:{!2k؞Q*Ep+ tCR+*+5 Buʖʈq{AXcQkrlg@3n->2 zU@ab7G::{!K tCJdmӃ:{! t J =Ԋt d\;5e:΍ιame$ޏ⿹,1 )]NVP*+Xc]DT1UAYJnTTF =ڌ+[3n-lg0:xB!G[P@+ zU@ab7G::{!K tCJdmӃ:{! t SIQXc]BNjt4M8^rŔR:7G::{!M,z>sXcoOd4Mv89[%@ajEu=RXUf(NRãQn/h+ tCj0nTŸc)Ÿc(lUe$ޏ5ϰ-۠[dmӃwA0@TfhV@Ċ&'5e:΍C\}e$ޏ5ϰ-۠[dmӃYm= =q1zMv89X C'9 %Ff`5 ,Hls[SKޏf}6XXMmt$5tlO(6$(C+*Zܩ`5 ٭,Ue$ޏfzbсLps3BOAr- ޏa{'@$Ь\~KFWP` pŔR:7M,z>hI!F2k؞Q*!@t`]DT1UAYJnR=eDC2.P(Ѵ\eZLq1z,P:}6XXM̦Mv89Y8%z>e3BqBKĊt dز [F}O Io29ɮۧ+byD!sHK%dԲqBK vS?݌s,P:}6XXMɮۧ34+'$oG `TfhVN(Ix]BNls[SKޏiab7Z7dz$S&n̒Eu=RXU.+ԲqBK vrvY%O Io29ɮۧ34+'$pz>e3BqBKa{,$WP` pŔR:7Z}6XXM̦Mv89[%AEu=RXU.'^^Pc#s,P:}6XXMɮۧ34+'$pz>e3BqBKa{,$WP` pŔR:7Z}6XXMɮۧ+byD!sG$]DT1U@LCBYΨ½r,P,P:}6XXMmt$5tfdό'fJ ɟO"Hls[SKޏf}6XXMmt$5tlO(6$(C+*:`( ԲgʞBv@IfŒoG3m'0/]ɮۧ34+&|a< ϙ3Bg]B,B9ѽpʹld nI!F2k؞Q*mHP("0/]$WQ%UP#6u`( Բg;'>f׀5K5 C]mkpY3 .,.Q:O$J,P:}6XXM5=d4Mv89Y4y3Bh?BR+@ pŔS"5M,z> }~ )]NVP^ò]DT1UTfhVM^mK5 BuZCjY4^h?BlUe$ޏIS&nЬнs _IQY4{,$WPM8Nkbt)ܑ}yF}\H>,,Y&}\HXtw5tlO(azEu=RXUf(N*(imOewG6*t XnTZsZܥM=RYtld.X[{gf,)]NfhVj4$ ?+@ pŔR:7\ŒoG ao흚ذMv89[%A9+*+5 Bu!s7Rl[\dw}K5 Bi@[vkbʖ,Cq0mk]: lYQn/lUe$ޏ2)]NfhP $+@ pŔR:7me$ޏ2)]NVPD_$WQ%UP#6u zRkekrTV)_AA@"&,%O I|3ncgrȦMv89@@TfhP Hls[SKޏM,z>fpLpr'Jp2HKFl[JДMzG a52SpȽ˥=RYtld6w3-q|dtY)]NfhP hTfhP H lYN-sz>fێee$ޏ㹙k#yLpr'J"&,ǤWQ%UPVj[2ZܣBL 2}=RYtld6w3-/WGE5tfq%Ffth pŔR:7mfZ}6XXMn;K#yLpr'J/B"&,ǤWQ%UPVj[2ZܣBL 2}=RYtld6w3-f/12k  J !6@9)ХtoG q̴ld6w3-f/12k؞Q*A1f=",bP'ZܥD}:f~P cUe$ޏ㹙k#yLps3B;0@TfhP f~WP6@{ˣ[SKޏ㹙iab7mfZS&n2 1@IcT^"&,c\2kd[/#qӡfJ=#ކN26(mkr`Se:/'dTj>,,Y&}ͳ$?S&nШL@TfhTC&]B,B9ѽ|3m>,,Y&}ͳ$?S&nDW5",bnT8fJ]J!B?dTj>,,Y&}ͷzS&nШL@TfhTC&]B,B9ѽ|3m>,,Y&}ͷzS&nS@IcTͭnT8fJ]"cdЭkOt,P:}6XXM{圦Mv89Q $ШM"  lYN-sz>f}6XXM{圦Mv89[%@V ,@IcT͝kr2UQ : dTj>,,Y&}vŒoGnܐ~ ./ȦMv89[%AH?<`D^Eu=RXU3gZܭg2t\eZܥ¢0^%O Io25aLps3B$5bEud\;5e:΍M,z>ek™5tlO(! qؑ]DT1UAYJnT쨌78qmkr~yr0K5TM,z> }&yf}2k _~t4I*34-}]B dز t7$_^QsŒoGd~4ϼMv89[%AY4y9WQ%UP o :gP@*tljN1Q.LŸ>.,P:}6XXMn;2k _~0 Cjt4 N%Ff x]B Sjt4M8Nkbt)o6ŒoG q)]NVP$f$WQ%UPDNM}G%7FZӎe=RYtld0kY4;7)]NfhZۇp%FfwH lYN:/(ޏ_iab7`ܲh?gvogS&nмМ+*z\^u5 rK5TM,z> }f}2k [p1IQkn]B,B הoGld0kx<;7)]NVP9WQ%UP#6S[pPd1Nk]:g3,Ue$ޏ_lyٽyLps3B;Y# %FfwG$WP6@9)ЧCrE0k>,,Y&}g3dmӃ,,Y&}mkiLpr'J,kjEu=RXUf(N9 v'=RYtld61x1S&nе2Y8 t` I*34-r̀VN/C]$WP6@9)ХtoG O I|3oc2k؞Q*@IcT:Mr̅K')ЦGfgAmK5TM,z>f/;JdmӃf@-^J \ /+@ pŔR:7me$ޏҙ5tlO(QԊ zfεSp[52@IfŒoG ۚ )]NfhZg=h./rƈJ \gXԊ&'5e:΍iab7mrɮۧ+byD-r Ċ z BPkr6ܱ\eZܩQ{yN,P:}6XXM{圦Mv89k^@)p=4@TfhZg t1vHls[SKޏM,z>fng)]NVPK:Eu=RXU3g^@e#ކV: r1[jk^2nVnזzBy; zU@ab7mrɮۧ34-r ݮ %FfQ{qтEudز [F}ʹld6E? dmӃ }f}2k؞Q*<'7 zӧZܩ+[C225_?(j2 Ӡ@ʞ2(Tk&Tmٹ)%O Is dmӃ1IQxHls[SKޏ_iab7`>Lpr'Jq",bP'Zܨ p̕D.0d=nQ΂,>Y<(`ֺtϹdTj>,,Y&}}ɮۧ34/2b3Bq&]B,B9ѽhkiab7 spMv89[%@]DT1UAYJnT8fJ]O2tַ(A ʖ,Cq0mk]:gܲK5TM,z>sG:x$w3$S&nмZv7t@Tfh^- ;FF]B,B9ѽr9֟M,z>sG:x$w3$S&nH^- ;Fs2I@IcT:OiqnЌ, ^HP(M=RYtld.x$w3$S&nмZv7t@Tfh^- ;FF]B,B9ѽo2ŒoG ГȋLpr'JhI4'ÙHKgܝxTFAruZCkqhk z"Fd6,P:}6XXMι[ْo)]Nfh^- ;FF ޏa*=!$мZv7u"?`d,B הoG܎u$JŒoG܎u$J̓|Lpr'JQ7HK% ַ*x$K7v]krr9 [OfHFY@$($,P:}6XXMι\r7dz$S&nмZv7tAo20T{2BIQx$nEuQ  ߮]ز [F}\H>,,Y&}\HG9oْ)]NVPPH$!sG$]DT1UAYJnThI6nDrΟ̑%O Io26{ɮۧ34/B|9!IQx$$WP6@{ˣ[SKޏiab7\p5tlO(@IcT͝kr6{ThI6 ז@IfŒoGhI6BY/D5tf0CIQyH ߮]ز [F}m>,,Y&}nx%dN)]NVP^- `W"rEu=RXUf(NF9Ad%CL KǡBnʞcd0#'kNoֺtΐN5,P:}6XXMkl\)]Nfh^?L3B` Hls[SKޏM,z>f/ dmӃ,,Y&}ͷzS&nS@IcT͝kr2`nN = zU@ab7mrMv89x^;J  9"  lYN-sz>f}6XXMkl\)]NVPCbEu=RXU3g^'߮*%ַ)hJY .^Wz2,P:}6XXMotMv89x^;J  9"  lYN-sz>f}6XXMotMv89[%@OR+*Zܩ{nQk]:2=RYtld6Lps3Bw$м~/qæ]B,B9ѽ|3m>,,Y&}ͷzS&nS@IcTͭnTSFtk^@{@IfŒoG [q` )]Nfh^?0^@Tfh^?0^"  lYN-sz>f}6XXMkn,2!2k؞Q*n,2!@IcT:xW \at nRۋ i}FUqu[q` N{K5TM,z>fۋ iqLps3Bb3Bi M8Nkbt)o6ŒoG [q` ; )]NVPCq` 9",bP'Zܯ B3[@K7[q` S zʠN.Kn,2!#<~/q@IfŒoG [bLps3Bb3Bi M8Nkbt)o6ŒoG [bLpr'J/+*+5 Bu^RhCkhiqA2KBRk=;p zU@ab7mp{? dmӃ0 7$0 7Hls[SN7me$ޏç)]NVP'p~/xEu=RXUf(NSN:uT{#N:u<~/q@IfŒoG {2k وJ ٤WP6@9)ХtoG O I|3mɮۧ+byDEu=RXUf(NSN:uV)ӡ^.6]v@IfŒoG ɮۧ34/` I*34/`]B,B9ѽ|3m>,,Y&}ͽ\N>0iLpr'J Ј|aԊ zfεS[E'V+p7k[2n2 k[K K5TM,z>fn'd4Mv89x^0 IQx^0 Ċ&'5e:΍iab7mqCJdmӃfn'd4Mv89x^0 -$Ԋ&'5e:΍iab7mqCJdmӃ,,Y&}팖pc%2)]Nfh^Cr L' IQy /0/+@ p٭)ХtoGn}6XXM ,nKdS&nY}+*"Y(p`'r_c*.27 %:Bn/}@:B{༨^ygw%2{솺T^PgN,P:}6XXM ,nKdS&nмO| C\E}$܂ "d\;5e:΍ O I{c%}dmӃ KeEU<d'HM2~-ŻO+5 BuNyQ. KeN8 t 7 =RYtldF쳜̦Mv89y'wH@Tfh^I+%7F$Hls[SKޏFŒoGۣqn/gr25tlO(/e",bP+[,,Y&}MJdmӃD:$R+Cls[SN7`}6XXM5,ɮۧ+byD+&/5",bG ^t)ЭnRДReyנc-K5TM,z>e ~/lcS&nжZ ޏ` aJ le  7ls[SKޏrߋO Io2兿[)]NVP{+*Zܤ{ʉuc^um eDaK5TM,z>e ~/o\iLps3Bhz>e N%Ff2Ԋ5:&/~tvkbt)o.X[{iab7\Ɣɮۧ+byDԊ z BPkrC*%ַ)f)q8!V*g[^Rj# m=RYtld0kY4)]Nfh[c-oG `Tfh[c-H{'@6@9)ЧCrE0k>,,Y&}MJdmӃf}6XXMgdv2k؞Q* 9",bJPNAZ5"b# y+we;[ZLÀ@@IfŒoG ; "5tf2ա9;7m leCD3BjМÒ+@NAZ4M8Nkbt)o6ŒoG ; "5tlO(+*::DJPNAN^sDAַ*g[ŘmhjE.,TF1eI\YzE.,SFM󡙐qnY%O Ic3v^}BX̚2)]Nfh[c-' %Ff2>Mrq"  lYN-sz>g>,,Y&} y c2kȦMv89[%@N}BXɮN?c$ z zU@ab7p7mppȾe2k le1b3BhLaEudز [F}e$ޏݶ}#i"ɮۧ+byDcN",b2:0NK5TM,z>v 1 S&nжZf I*34-c8٤WP6@9)ХtoGn}6XXM g.2;Ɯ2/Lpr'Jp 4|+*:c-c8ڞ2v@IfŒoG e2k qL@Tfh[Ji M8Nkbt)o->,,Y&}[S&n",bʛJuZ; zU@ab7m'd4Mv89n@Tfh[Hls[SKޏM,z>fqCJdmӃfvBn dmӃ/ %Ff Ċ&'5e:΍iab7md&Mv89[%@w zfεSpZWb;!7F Qn/lUe$ޏ\a2k p3BEudز [F}ʹld6ˌ4Mv89[%@La@IcT͝kr7yQ.EdTj>,,Y&}͹bLps3B$зx]B,B9ѽ|3m>,,Y&}͹bLpr'J{c",bnT s5n8蚉utX1dTj>,,Y&}}n> )]Nfh[$/+@ pŔR:7 s qM,z>>`[lɮۧ+byD\x Ԋ z BPkrqSp[ }j]B;@D2@IfŒoG܎u$Js3KiLps3BfhױIQqX34 jEud\;5e:΍ιZ}6XXMι\tfi}{ )]NVPPH$.+f={ HK% ַ*qX36m!,,Y&}63JdmӃ,,Y&}6G%8S&n9 ]DT1T'#,,Y&}}9 qzS&n!",bUe$ޏ㹘S&nи%$и%Eudز [F}ʹld6w3 dmӃxvogS&nа#FL$а#FLEudز t7$_^QsŒoG}<ϼMv89[%@g?ޑ]DT1U@w_qOj%{>xgA`P3FLַyepW|A`-0hdd%O Is ~F2k @(/~$а$WP6@9)ХtoGld0k`jt`S&n",b @(/~==RYtld6X0dCJdmӃp@Tfh^Ċ&'5e:΍iab7m`Ȇɮۧ+byD!`ȆWQ%U=rG:: nkrUtmŃ(dCiӧBDeDIJɩܲK5TM,z>fۋ iqLps3BJ ߸]B,B9ѽ|3m>,,Y&}͵ Ӳ;p5tlO(7 МÒ+*9cs[nTTKkKn,C"GdnDNQ˲hUe$ޏ6ݸv#ҙ5tfo I*34/~C| Ċ&'5e:΍xCm>,,Y&}ͼG!ñɮۧ+byDpCR+*+5 Buʞ[| ѧ5m}V+m=RYtld6w3,̗3$S&nн %Ff&]B,B9ѽ|3ms2ŒoG q̳2\`̑Lpr'Jn ǂ% $WQ%UPVjkrPD|Ue$ޏݵɮۧ34/e3Z I*34/e3Z]B,B9ѽ{iab7p7mq{E2k؞Q*2HK% ֵӠc : fOh zU@ab7`?'p솔ɮۧ34/d!$нbEut4M8Nkbt)ܑ}yF}O Is1=d4Mv89[%A{jEu=RXU3k[zQ.0 0 ʁ@ P 0UWz~e=RYtld0kY4)]Nfh^0CIQ{'@Ċh pŔS"5M,z> }&y2k؞Q* ɠ HKFmkrC*%ץ t+[%,Ԣ^u>N@IfŒoGܲqBKA™5tf,/d$t H{'@6@9)ХtoG}6XXMC\N(Ix11S&nPB ~$WQ%UP#6*# (^qBK1dTj>,,Y&}MJdmӃt oG `Tfh^1",B הoGld0kY4)]NVPVM^jEu=RXU3k[zQ../@SZܥ)d6@t K5TM,z>>哊^ B ~ɮۧ34/dJ\hz>e3BN4ƤWP` pŔR:7 s>,,Y&}}'$)]NVPVN(Ix?+*^NAY8%K5TM,z> }f}2k :(Azb3BNJ^0Eudز t7$_^QsŒoG}<ϼMv89[%@g?ޑ]DT1U@w_qOj%NZ^0=RYtld6ˌ4Mv89z5 I*34/F+@ pŔR:7me$ޏ\a2k؞Q*c HKFl[=Zܢ K5TM,z>es)]NfhZ9J @4&'5e:΍M,z>es)]NVPC]DT1U@ZFږ,Cg^ioG[okr9E.,"bխV*# k~԰d:MK%ַ-sNK5TM,z>f/;JdmӃ6{=nj %Ffq#Ċ&'5e:΍iab7mbcMv89[%@Tbc",b t' ʉuʘK{&Pc\ӡ"t@m- }f}2k؞Q*<'7 zfץO{Q.6{QhAzv@IfŒoG ofHMv89cgpVN(Ix ޏa{'@$б8+'$H{'@6@{ˣ[SKޏiab7Z7dz$S&n̒Eu=RXU.+ԲqBK vrvY%O Io29="5tfY8% 0s,/d$6{d℗4YH{'@6@{ˣ[SKޏiab7Z7dz$S&n̒Eu=RXU3k0= g: cTqBK˲K5TM,z>BNѶd56kS&nб8-q? %Ffk]B.lYN-sz>BNѶM,z>BNѶd56kS&nK2@IcT:Ll3!ѵ5K5TM,z> }&yf}2k`CD3@1ؑ]B dز t7$_^QsŒoGd~4ϼMv89[%AY4y9WQ%UP o :g[?*=9%O Isó{>5tf\c'"1} :ޏa{'@5,/d$q\d+@^0 A{'@5,B הoGld0kx<;7)]NVP9WQ%UP#63&8taQ.]kΤ*ζ?~=:{e=RYtld0kx<;7)]Nfh?& ޏa{'@5,/dz>eoG `$qɤWP`Nj :/d lYN:/(ޏ_iab7`>xvogS&n?3sxHKFmzfMrq¢]ot{?)ЯK,Ue$ޏ_lyٽyLps3@1 ?& I*34 Pi M8Nkbt)ܑ}yF}O Isó{>5tlO(xzEu=RXU3k[ci:?~SZN zU@ab7fxNϔOhc2)]Nfh̘$+4&'5e:nHz>g>,,Y&} -vE2k؞Q*'hld]DT1U@[|~KF=eeFQ.O6]!V R=d@Vӣ[TʖjxWډudUe$ޏ;>Q?%qh|e2k$s&]B,B9ѽc3vM,z>gD;c)yɮۧ+byD(ѠCZjEu=RXUKnQ-HreD<ډt C![3HQַ!ZNlYSlP{*YJ^Rj%ַ+yz; zU@ab7\b7 ^ dmӃyF3@#3@"  lYN-sz>e ~/m>,,Y&}˖^۠WцсLpr'J0F+ 34 ^+*Zܭl #3kW zU@ab78S&n)gxh$)gxjEudز [F}6ŒoG3nqX34Mv89[%AqX35",bΜ]A84C~2,P:}6XXM ,nKdS&n+t@Tfh]B,B9ѽ{iab7p7ld/Lpr'Jygw%2HKFmkrvceM~==RYtld6cdmӃ`nJ7R+@ pŔR:7me$ޏ3S&nWHK zfε[Q.?%O I|3op7W2S&n+t@Tfh]B,B9ѽ|3m>,,Y&}ͽ\N>0iLpr'J Ј|aԊ zfε[Zߴ7Cֵӭݥ %O Io2BNѧxs2E2k,J( I*34 l(zEudز [F}O Io2BNѧxs2E2k؞Q* š'hПfI",bP'ZܭlP> 5mliОkx `aֶYC12,tӡK~2,P:}6XXMvɮۧ34 l(x$)D M8Nkbt)o->,,Y&}; dmӃ>ŒoG )]NVPG~AI@IcT͝k]:3Ζ@IfŒoG>Lps3@3@ M8Nkbt)oM,z>> dmӃ>`[lɮۧ+byD\x Ԋ z BPkr[хkʉul2 JquL[v2,P:}6XXM5;!2kvt4I*34 qؑ]B dز t7$_^QsŒoG~O~ )]NVPG{^ò]DT1U@#ކTKA`P (.vnJѽs,P:}6XXM5,ɮۧ34 q!$)bEut4M8Nkbt)ܑ}yF}O IsA<ҙ5tlO(d~WQ%UP#6H:ZCjQ :oG)eDaK5TM,z> }&y2kv7X^0I*34 qؑ]BNls[SN7`}6XXM5,ɮۧ+byD+&/5",bG ^t)ЭnRДReyףz> }N;*# =RYtld0kx<;7)]Nfh ta1IQS?Pф+@ pŔS"5M,z> }f}2k؞Q*<'7 zfץO{Q.ex2( ta; zU@ab7 s}yɮۧ34 q KL@Tfh=Eudز [F}}e$ޏ5ϵS&n<+*:ֺtߐg- K!;+ν>02,P:}6XXM g.2;Lps3@O|3@O| M8^rŔR:7p7m>,,Y&}Mv89[%@G}HKFl[;(ﻒkk[/#eOF[/}dTj>,,Y&}Mv89SL' %FfN;0/+ClGf,B9ѽ{iab7p7mp2k؞Q*&2;Eu=RXU3gZܭqEG}ܕ;[ZܣB= z.2nS0=RYtldϸ\dwҙ5tfN;0/:z>>Q_~ %FfN;0/+CjE}&/~tvkbt)oM,z>v S&n?c#WQ%UP#6u\dwPc1(Sѯ*r,Ue$ޏ_kòS&n)dxCD3@q!6@9)ЧCrE0k>,,Y&}_{ҙ5tlO(w~;!@IcTͭnR=eDU@ , At;7%^uޏ_`S8q{dTj>,,Y&}MJdmӃ8hTfh{=":&'5e:nHz> }e$ޏ_rɠiLpr'Jh?BR+*Zܤ{ʉuqzB - K!(Wz7`{>0^%O IsA<ҙ5tfN;',/d$8H{'@6@9)ЧCrE0k>,,Y&}MJdmӃv S&n)` I*34 q1$WP6@9)ХtoGn}6XXM g.2;Lpr'Jp ]DT1U@ַ+\vPe=RYtld; dmӃ8,/d$8+@^0M8^rŔR:7 s>,,Y&}}.0™5tlO(N;&0Ċ zfε@S 2[cP$dTj>,,Y&}}ɮۧ34 q .y3@\a 皑]B,B9ѽhkiab7 spMv89[%@]DT1UAYJnS 2YsͲK5TM,z>f dmӃ;_3@k"  lYN-sz>f}6XXMlw|L)]NVP1",bnV_[w zU@ab7m.vɮۧ34 v %FfNEudز [F}ʹld6˗; dmӃfqCJdmӃ,,Y&}}n>مHMv89TwIQTw&'5e:΍C\}e$ޏ5ϰ-0ɮۧ+byDI",bP'Zܭ8fJ] :tCjqUe$ޏ5ϰ-۠[dmӃG{0$G{0Hls[SKޏ5ϰ-}6XXMC\}HMv89[%@$ z BPkr;P@*t0n= ƋK5TM,z>>l$S&n*;IQTw! M8Nkbt)oO Ihk`[ao)]NVP ܒEu=RXUf(N[ p̕D7ru46/,P:}6XXMC\}HMv89Tw!3@xCR+@ pŔR:7 s qM,z>>no)]NVP&I",bP'Zܭ8fJ] :zSdTj>,,Y&}\a ^0)]Nfh/ L %FfR^0/"  lYN:/(ޏ_iab7`bсLpr'J#bтEu=RXU3kZDa ^0)d6^F]QfY%O I|3m~e{'@zMv89T&^H7mxL%I*34 c!6@9)ХtoG g߲y+O I|3m~e{'@zMv89[%A{'@~/]$WQ%UP$3:P2 oG a4[1Z z :TdZܩz,P:}6XXMl^/%{/ 2k2@A|3m~e/BIQT&^HWP?  lYN:/(ޏϿe2VM,z>f>^eLpr'JxLHK% ׅDaƹma6ug[y)c,Ue$ޏϿe2W=dt`S&n*^/$c)J2@ F2Eudز [F}Ͷ}/ ld6&^Jt ? dmӃQE3K5TM,z>f>^eLps3@xL_ь I*34 %i M8Nkbt)ܑ}yF}Ͷ}/ ld6&^J^/%? dmӃ }!t`S&n*^/$/ %FfRy x]B,B9ѽsŒoG}$ dmӃ%ΜV qǼMv89P $@&'5e:΍me$ޏf>%ΜV qǼMv89[%@sfh$ޑ]DT1UAYv#UbpMDtadTj>,,Y&}6AfiLps3@( I*34 I M8Nkbt)o O Ipͳ~~{8S&n_`Ԋ zfַ)_AZl@3܎Qq?:Cj(iaZܩ` zU@ab7m N2)]Nfh4$ ?+@ pŔR:7me$ޏ%8ȦMv89[%AJqEu=RXUf(NZ4*ֺt%8,P:}6XXM,-ݏaLps3@$(i]B,B9ѽo2兿M,z>e ~/lcS&n%$WQ%UPVjCQn/k[̆d[[O.2 z{*X|y Pt v=,P:}6XXMuHMv89PB$ ?+B&/~tvkbt)o->,,Y&}[|$S&nuI",bP'^C)c2-]{#!@IfŒoG}<ϼMv89P I*34 ~`\R+@ pŔS"5M,z> }f}2k؞Q*<'7 zfצd'*%{[=g(,ѧh|e4Z>ydTj>,,Y&}MJdmӃ`ŘpCD3@LYH lYN:/(ޏ_iab7`ܲh?gS&nмԊ zqzBC)~3*Yv#:=s% e-]{=x2 vSKjNNnTYβK5TM,z> }&y2k0r g8Ao2NIQ&\Y{,$WP` pŔS"5M,z> }&y2k؞Q* ɠ HKt)2C2'b8Sg:]9qfR׹)׃+[ge:dDOe zU@ab7m~ɮۧ34 d4@Tfh jEudز t7$_^Q|3m>,,Y&};P™5tlO(5 HKFl[zNd6[j1Qn/lUe$ޏ5/x"5tf;A0\솈J0v`a Hls[SKޏM,z>f(,,Y&}ͼG!t7iLps3@IX$Og Eudز [F}ͼG!M,z>f#?4Mv89[%@hCR+*+5 Buʖ/| ~TdZܯ,- N43CqTgֵӬG!@IfŒoG}<ϼMv89$( I*34+@ pŔS"5M,z> }f}2k؞Q*<'7 zmgZܤ$.2kLyUe$ޏfzbсLps3@HP(@Tfh $WP6@9)ХtoG3m>,,Y&}6ГC dmӃhI!F2k3 %FfG[ri M8Nkbt)o O Ipʹ$5tlO(PDa ^0HK% ַ)2]k]:JP F\Y zJR)qf*v=@IfŒoG}<ϼMv89&y IQ&y Ċ&'5e:nHz> }e$ޏ_lyٽyLpr'Jx< ",b[~YP!xr z zU@ab7mrɮۧ345 $f~$WP6@9)ХtoG O I|3nk^0Mv89[%Ak^_$WQ%UPVj[0'c0^c\԰d:O~DnR9-rk^V@IfŒoG 5 )]Nfh C %Ff1"  lYN:/(ޏM,z>faOxLpr'Jf~$WQ%UP#6uZCi2]kr B{?*# =RYtld6aONn#ҙ5tf0@Tfh C+@ pŔR:7m9 ld6aONn#ҙ5tlO(5 jEu=RXUf(NKBRm#ކSZܮPrdTj>,,Y&}}n>0JdmӃIQ+ Hls[SKޏ5ϰ-}6XXMC\}?$`ɮۧ+byDc@*Eu=RXUf(NX2hH@IfŒoGmŃ&2k]`$ކ$WP6@9)ЧCrEO Ihk`[ ɮۧ+byD!d9",bP'Zܥ)d6X2hH@IfŒoGrX S&nކJ]bEudز [F}}n>ŒoGrX S&n",bP'AA{ zU@ab7G:b2k]`$ކ$WP6@9)ХtoG܎u}6XXMζ~yLpr'JY@IcT:?<򘄾0K5TM,z>gD;c"5tf0@Tfh C+@ pŔS"ld3<'g'n1ɮۧ+byD(ѠCEu=RXU=RYtld3<'g'n1MόMv89+ $Ċ&'5e:΍ld3<'g'n1MόMv89[%@D팂BNѶM,z>BNѶ|)]NVP.QE$WQ%UPVj[Jn*3%EUtE3%dTj>,,Y&}g3dmӃSt`t& ޏa{'@5,/dz>e3@VJn"+@^0 A{'@5,B הoGld0kx<;7)]NVP9WQ%UP#63&8taQ.o ַyet6'}r4AWG BJ!2,P:}6XXMc#&d )]Nfh 3 I*34Hls[SKޏM,z>fə'CJdmӃ,,Y&}͵1lPҙ5tf93@Q&'5e:΍iab7mɏbɮۧ+byD#ɀ6(jEu=RXU3gZܤrZќ \N>0lUe$ޏ[6(iLps3@QIQ(zEudز [F}ʹld6|C )]NVPء@IcT͝krkFsfhfd)q8!K5TM,z>fْs )]Nfh 3 I*34Hls[SKޏM,z>fْs )]NVP"N`+]DT1U@ַ)}g>ffB2; zU@ab7mrɮۧ34;-^JN- p M8Nkbt)o6ŒoG ۚ )]NVPZ@IcT:- K!7yQ.S\gH(lUe$ޏ5/x"5tfM3@SĊ&'5e:΍iab7mr3ȦMv89[%Ak^I@IcT@IfŒoG 5 )]Nfh t1!3@S Hls[SN7me$ޏj1S&n=@IcT͝kr3[Q.G'ч}: rV@IfŒoG ۚgLps3@S $7 ~EjEudز [F}ʹld6ES&n/x$ zfεHntPKkS\+ zU@ab7mҙ5tfM3D %FfM3R+@ pŔR:7me$ޏOJdmӃ }0/]ɮۧ34A2b3@_&]B,B הoGld0kq1zMv89[%A1z",bOh3,>2e K|0kA1z2f(c,Ue$ޏ_rɠiLps3@_& I*34A2i M8Nkbt)ܑ}yF}O IsA<ҙ5tlO(d~WQ%UROPܢ)yA2[i}Ft+&/62f(c,Ue$ޏ_s߸vCJdmӃ1IQ/Hls[SN7`}6XXM5=d4Mv89[%A{jEu=RXUM-Ҟg*X|e6aZNtK5TM,z>fcȆɮۧ34A0/d I*34A0/d]B,B9ѽ|3m>,,Y&}ͰA )]NVP tĊ zfεAPt +[:c{e;[ZND2,P:}6XXM g.2;Ɯ2/Lps3@^`1l %Ffc8٤WP6@9)ХtoGn}6XXM g.2;Ɯ2/Lpr'Jp 4|+*: 3'dTj>,,Y&}ͼG!9 )]Nfh n@@Tfh nA"  lYN-sz>f#O I|3omCJdmӃfێeyddmӃ,,Y&}Ͳ ;6N\dmӃ,,Y&}팖pc%2)]NVP,NI@IcT,80/Pdd 2Y&S?݌}dTj>,,Y&} -̚2)]Nfh s[JrvNkbĊ&'5e:΍ld3<'g'k2kȦMv89[%@D'Eu=RXU=RYtldf#O I|3om'CJdmӃ,,Y&}ͼG!tPb9 )]NfhD %Ff%"  lYN-sz>f#O I|3om'CJdmӃ0m=RYtldϸS&n琁$Eudز [F}}e$ޏ5϶}™5tlO(Eu=RXUf(NCsʥ'e ZNs; zU@ab7`޸)]Nfhs@Tfhs"  lYN-sz> }e$ޏ_z㰦Mv89[%@SĊ z BPkrKO!63A  v@IfŒoGn1n;pȾe2k@1 I*34rQjEudز [F}e$ޏݶbwyqf4|dmӃqf4|dmӃ1& I*34c :M"  lYN-sz>vŒoGn>qf4|dmӃ,,Y&}ͼG!2k ( $,@PHZEuY.wB9ѽ|3m>,,Y&}ͼG!2k؞Q*jEu=RXUԸ|a3; zU@ab7m'd4Mv89&+Bb `B9 Qo2@qz$b&]Br0^ lYN-sz>f}6XXMk )]NVPDN>0jEu=RXQ%O I|3ms2pnb%Eudز [F}ͷO I|3ms2pnfێeyddmӃ.0|>00I*2\`-WP  lYN-sz>fێee$ޏ㹙g7d"5tlO(KHKNeFT ;E/%[m3rN{q=wmW{%ַ(NkrܖOkcC0#TeHC\L[v2dPocY%O I|3lșMv88"\s$%k4&"0eET΍iab7m.{\ɮۧ+byD.{\WQ%UPDa= ר`e%qf(.{\RUDaK5TM,z>fȦMv89IQR+/~t:΍iab7m/dmӃfȦMv89́*2YH p>NR:7me$ޏ2)]NVPD_$WQ%UPܥ,Y%O IhkfK >̖;}yɮۧK ߐgC@h J#'xw]B Sjt4M8Da= ʋoM,z>>̖;}yɮۧ+byD,22wG~AI@IcTOdu,22wG~ATmkrr9 gܩ=:f~ָ.0 vL|Wߖ@IfŒoGْ#'x/ "5ta; h Sjt4 N%@a; H5:C@h p{$R:7 s>,,Y&}},22w )]NVP"Xdd<+*"0"Xdd<1rϸ@<.2nS0eqPcf~K5TM,z>>̖;}yɮۧK ߐgC@h Sjt4 N%@a; H5:C@h dOd2*[F}}e$ޏ5ϳ%FN_~AE2k؞Q*K ߐgEu=RXUF zK ߐg;[ZܣBZ㲧EUf~ָ.0 vL|Wߖ@IfŒoGْ#'x/ "5ta; oG*+$,22wG~AI  p{$R:7 s>,,Y&}},22w )]NVP"Xdd<+*"0"Xdd,,Y&}},22w )]N;# !}}N;&05 I*K ߐgEuvLajE}&"0eET΍C\O IhkfK fْssOe LppDOe $'0FwCf]BF ʖ9ѽ|3m>,,Y&}ͳ$ .0˺25tlO(${.l+*"Y'^# 컡Qn/h1 z}Dv΋v=ƵS0C,Ue$ޏdCJdmӃ$W4@T\lPԊ&"0eET΍iab7m'0g1lPҙ5tlO($W5",b%ru93Ob̕=RYtld6̓3{.ldmӃ'19H p1N-sz>f}6XXMfI\a=t6e2k؞Q*I]٤WQ%UPYkr2UxΝ EU\N>0h=1=mygK5TM,z>fْs )]N bJs\lPԊ&"0eET΍iab7m'1lPҙ5tlO($ء@IcT,FI̧Ch1/QR  7@J!@IfŒoG 2Ncء2ks\lP$'0 H6@H/c*.2toG O I|3l9bɮۧ+byD'0 HKgܝz2Ne?Aַ*g[Rd@; zU@ab7m'1lPҙ5t96(hC@h SIP"N`+]B Sjt4 N'A{Qq-sz>f}6XXMfI4Mv89[%@96(jEu=RXUK>ђs)lP vS?݌ p̕DC'^  %O I|3l99'̦Mv89si*2N`cH p1N-sz>f}6XXMfI\a=t6e2k؞Q*I]٤WQ%UPYkr2UxΝ (Qqkr2gDLt^YUe$ޏdwCfS&n99d?)ХtoG O I|3l99'̦Mv89[%@9?0"0˺4 z ?ݓnRﯵ~[|a :c{䲵Oix|+1FI <A`2g4\YK5TM,z>fْssOe Lps$ %FI]V@+c [F}ʹld6̓3{.ldmӃ,,Y&}6ГC dmӃNa4 ~2 t JC'0r ?DĊt d\;5e:΍me$ޏfzbсLpr'JHP("0/]$WQ%UP'dcLekrnCkF¢0^g2 L[v2-iq8! Y%O Ipʹ$5t!Da Lp^9 tlнs"0܆CO&Q8/e h^9lGf,B9ѽpʹld BO\a ^0)]NVP F zli# nV?*%ׅ:=sg2 =-]{}nP1ЃeD:=sUe$ޏ5ϰ-ـ[tCgqLpp@AeHA*H$PH $WU8^r'qt)oO Ihk`[e5tlO($ 4/e zH$M̕r3%dTj>,,Y&}}n>{z=sdmӃ$ 4/e}6 h^9IP A LCBYH쳜&"0eET΍C\}e$ޏ5ϰ-ـ[tCgqLpr'J `zrEu=RXUK>02ڞ9mzf~ /%Sp@IfŒoG-Ǻg8Mv88 A LCBYoGۣ`쳜CD@A`쳜]B0= g8 N'A{Qq-sz>>iab7 s q`쳜S&n@A`쳜]DT1UAϹ: @6u;[ZܩqnP /%Sp@IfŒoG- = 92k 44/e}6нs@A`! = g9"44/e6@H/c*.2toG>,,Y&}}n>|P쳜S&n@A`! = g9",b%ruQCOCj{,Pc_AC,M^Y%O Ihk`[46{,ɮۧH$нsCOCBYSIP A 쳜]BBzp dOd2*[F}}n>ŒoG- = 92k؞Q*H$нs+*"Y'^46u;[ZܩqnP /%Sp@Ǩ(œ3 ,Jd tld΃06ۧ[fhN*+Œ 3mq5Ff$ tld: nMo;]DM,΃06ۧ[fhN*+ŒXt8#3Ewt P]DM,3 ,J @abht8#3Ewt P$WQe%ftk|I%@ tld`mN&dT@abgAmӉ34Y'w@BEu:}6XX^`mN&dT HO Iftk|I%A)@abɀt8#3Ewt PHO L@3 ,JBEu:}6XXO΃06ۧ[fhN*WQe$`mN&dT tld: nMo;)">,,Y3΃06ۧ[fhN* HO NgAmӉ34Y'w@I@ab@: nMo;WQe% 3mq5Ff$]DM, 3mq5Ff$]DM, 3mq5Ff$R+Œ4: nMo;)@ab3 ,J%"#$Kdt{d;?(dd̐@M/,KǼ: $dꪓRuLzœ̶,J:gdѴ %">,,Y=[瓶,Jg<p8 HREk[%8:EoRE1Ȩ#$H`:E7Nz l"k$i7I66$$E./usr/IBMVJava/html/enterp/en_US/jdkref/h-index.htmtmt$$  .aet"<>_cdhilnors /=fjmpv#CHRTbgu ()-ADEILMOPSUxFNwyBGVYkz,013KQXZ:JWq!2589;&'64P6%i,@ieo`Y}$T p! !k(?ϊ%Or%Acl``$H01"/x@Jl/1?~[{̅fP+( "~Sc6vnr5!`n`8` GX0 a (|><0#?=uod|RQ,T[\Pc6q H0 ~bEP @(YDF0!#Hj󣺆$эPD HM5΄ MھWj[ob~=7B$qCk6 @ E[obv1lvwJcz @ E]Oj/ܵYD娷AJEJN4D$1'$YDmLHI'!bOI+^Uq%OhCğV-E%[ob\ ;zo;I %aJ/VQ*}8OhCğVeӍ1&BN<~IXE%[obHBN<~IXeӍ1/x=7B$/VQ*}8I'!bOI+ QzVƘ!'p?MЇy?a$T^Uq$ x=7B$eӍ11x=7B$(mi<"w wJÔ^Uq&AOhCğVQzVƘBN<~IXzՔJN4Ġ ;zo;I %b /VQ*}8OhCğVT^Uq&OhCğV5E%[obj ;zo;I %b*/VQ*}8OhCğV9E%[obHBN<~IXՔJN4Ģ ;zo;I %`BՔJN4Ă!'p?MЇy?a$^Uq$L"w wJRՔJN4ĂB!'p?MЇy?a$ QzVƘ,"w wJZՔJEJ֣g/ubv؀GQu+S:lnN=naw Ͱ4:.a` YEE9z[:9}?|YD(lQo(:+(;`}8vƑgF:˜,HhxԬ`H)ĆQz(߃m4|z+lv~+mLIڎ?Fg%bҳՔMڜݎ[NgKJvz[obNw4m4c(`H)ĆJ˜,Hhx‰6CGǮk[;QGN4ĝh#iUh1+SO(9˻(Sv Ӎ1'j;lBr{VO:<Kw4Kҷ G/V KC7\%mֶvmi;QGfzKg%bzK^n.n]mLIڎr0ӫ24o#'G~Dt|yqx|bV>Dt|yE&Nru~o ǝ~vMڝUmi;Q?}>́:⟵xҷ^.n‰|p;Zڎmi;Q?}>́:AX \QzSs=?ս_m͝/ ǝ(;`}8v~|B_:u[?jswoڼ\/V +lvߊ}8v~|B_:u[3%Cev9wbz{oھ7u:_;Q7jwUq$Gp8>^:⟵xҷ^.n‰|p;Zڎq[obNw#c)4(9˻~^ٻn]mLIڎvD0|1n? jsw(X0>Hw{넭w#!}8v 9ǶLu[3sl^n.oyJwY[8 &N*N4ĝGdC~Jߵx^ $;uVkgj;mi;Q܎Ȇ1n?Ϛ J`OՔMڜݍ#IVߵ{fgK¶n]mLIڎvD1kUh1+/VQ7jsv7%[~ٻ~[L(;`}8v' gC~Jߵx^ $;uVkgj;}8v' gCg%b87ӡ/VQ7jsv[~ٻgk:͝߹;Q7jwUq$GsOw9\ c)W+~Qz`|( [c +mLIڎgrUh1+8~JՔMڜ݋oomWfgK¶.q' (;`}8v';VOڼ\[7rՃDwnJlGsO[obNw?8~tc)4c:(YDݩ]oowY[8~t‰Sv Ӎ1'j;l:1n? jsw(X0>Hw{넭w4Ӎ1'j;l:1n?Ϛ J3ՔMڜ݋ߵ}n6t|+mgL(;`}8v og*F:⟵xҷ^.n‰|p;ZڎvD2ly}8v og*F:AXʿB-E&Nr{oڽwY[9WE:aDݩ޻VƘ?qx^.n`tWEC7\%mֶvGVƘ?qx|bV/VQ7jsv7%[~ٻgK·1s &N*N4ĝ ;c)W+~Qz`|( [c +mLIڎ:AXVC^n.= jswIDݩ޻VƘ?o>qVOڼ\[7rՃDwnJlGsO[obNw?·xƬu[3NO8E&NrR~‰Sv Ӎ1'j;u[?jswoڼ\/V +lv?mi;Qw6Mc)4s`~ :ev9wa)umWJ&N*N4ĝ ;&·xƬu[?jswoڼ\/V +lv?mi;Qw6Mߨ$Xg%a\NO8E&NrR~(Sv Ӎ1'j;LVOڼ\[7rՃDwnJlGr;"Ӎ1'j;LVLĬ*dGǔ^n.oyJ7u:_‰Sv Ӎ1'j;q~Jߵx^ $;uVkgj;q+mLIڎvD2lyâ:AX(YDݩ]4omWn6t|+`ht]vz[obNw!<6:⟵xҷ^.n‰|p;Zڎ'}8v ᰏ1n?Ϛ JЏ(YDݩ]عll~a‰Sv Ӎ1'j;c=:⟵xҷ^.n‰|p;ZڎvD1[obNw#!{u[34gev9wc{U^ٻ𭁣=(;`}8vg/c)W+~Qz`|( [ch#[obNw4lu[34/VQ7jsv7%[~훺͝/ ٳDݩ޻VƘ? q &zN1n? jsw(X0>Hw{넭w#}8vG!N!:CdݏIF:AXN!:Cd/cvE&NrR~‰Sv Ӎ1'j;摤<wK:⟵xҷ^.n‰|p;ZڎyiN4ĝWFNA/Xg%a|<ev9wc{U^ٻ/pn]mLIڎ:Zn? jsw(X0>Hw{넭w%ߊ}8v.ΧVu[3wE&Nr{oڽwY[ sծMڝUmi;Q܎ȆB_:u[?jswoڼ\/V +lvbN4ĝGdC!/F:AXdu^n.oyJ7u:_aDݩ޻VƘ?fݏ1n? jsw(X0>Hw{넭w#}8vG۱:AXl۱(9˻GH;W &N*N4ĝGdC#9c)W+~Qz`|( [cGdCq$Gr;"ȃVLĬ6r ev9wbz{oڽwY[ aDݩ޻VƘ?l~VOڼ\[7rՃDwnJlGsO[obNw?Hqu[3tC^n.u7wYHu:sw7n]mLIڎvD2lync)W+~Qz`|( [cGdC)ǛӍ1'j;qqx|bVE&Nr{oڽwY[|݅vz[obNw?$DCgC~Jߵx^ $;uVkgj;}8v'"':Uh1+<P :ev9wa)umWJ&N*N4ĝGdC&Hw{넭w#!}8v Uh1+w7^n.oyJwZ;=fΗ󹿅vz[obNw(|2Dz1Au[?jswoڼ\/V +lv Q+mLIڎWS&<9qx|bV<(9˻^ٻ\ǝ0n]mLIڎ?%u[?jswoڼ\/V +lv~+mLIڎ?%u[3 ^ev9wc{U[ll~VМ%Q7jwUq$Gr4q BM:⟵xҷ^.n‰|p_7[v^iC8Ӎ1'j;摤<Rlرn?Ϛ J) 6lT^n.oyJ7u:_) 6lpn]mLIڎ?)VOڼ\[7rՃDwnJlGsA}8vsdBh1+ՔMڜݍ#IVoڽwY[7D#Q7jwUq$Gr+G1s}qx^.n`tWEC7\%mֶvC#mi;Qܡe8Lyc)4^=L#1n? jsw(X0>Hw{넭w(|2DzӍ1'j;>^=L#1n?Ϛ Jă^n.oyJwZ;=fΗ󹿅vz[obNw%߄i:⟵xҷ^.n‰|p;Zڎ[obNw%߄i:AX(9˲t!Ժ:[넝p (;`}8vC D9qx^.n`tWEC7\%mֶvC VƘ q'u[3 80)E&Nr[fΗl ‰Sv Ӎ1'j;~_>HʿB-͝-w#}8vG~u[3W(YDݩ]عʿB-ܸ/C6GǬ}1nodf~t‰Sv Ӎ1'j;~_><`ЗD"ߝ,lGp8Ӎ1'j;~_>h1+ՔMڜ݋"߭ˁ<oڿ|z߿s`l9 Cᱶx$odwcoΘQ7jwUq$Gp8Gǘ4%͌ұW(X4%͌EUoΖlmֶvGVƘ?c)4ڿ|yE&NrUo |z _>=`{T96넡Du l<{'_s`l9oΘQ7jwUq$Gp9"S~VOڇN?Jߵ8.<K`Q!Kzw#}8vG? Ɏqx|bV"'79(YDݩ]m[? 9~UNDݩ޻VƘ?~Ҁc)Pӂ[ӧǏ}T^ $;uVkgj;~mi;Q#W ](}F:AX :`WJ_QE&Nr~hHo֦ܷCN0+UٻQ6{(;`}8vG!Pu[?j:p]*oڇN:`WJ/V +lv?N4ĝG+|VLĬG 0+/ev9wc[u:ϝ:`WJ#m&}[](}@uBD0n]mLIڎ?UUh1+3М^ev9wevz[obNw4qxiX‰6CGǮk[;QGN4ĝh#{VLĬ-YDݩ]MXɟp$^ܧ aNVp' &N*N4ĝh#\q1n?0 vz[obNw4VqVCƆ8Ԭ`xxQ"?;HhVkgj;VƘ~Ub?hUh1+m'(YDݩ]Mr : Hsn‰Sv Ӎ1'j;~zN1n?0h1+8Ί/VQ7jsv.rG[fzKs68΀T96 X&ϛ wr0Gc}GbGfΗ|‰Sv Ӎ1'j;Fl.orc(` ,,@pXRV0p 8,)ED~ v넭w%ߊ}8v.iR'&:AXNJ/VQ7jsevz[obNw%ߏ@"\߄U=p;Zڎ[obNw%ߏ@"\߄Uh1+s E&Nrn]mLIڎ[9K8p%c`840X‰6CGǮk[;Qܗ~+mLIڎ[9Kg%c?.r79(YDݩ]MڝUmi;Qܗ~?4g)s~VC`a#’0XаaJ/W#m\%mֶv.VƘw#Hr791n?Ϛ J$44\.orQzS(;`}8v.iR'&: 8K4$h8A`q`hH-ED~ v넭w%ߊ}8v.iR'&:AXNJ/VQ7jsevz[obNw%ߏ@"\߄U=p;Zڎ[obNw%ߏ@"\߄Uh1+s E&Nrn]mLIڎ[9K8pp` p`pXx` G0HaC^ $GGi JlGr]Ӎ1'j;Fl.orc)4@Hhh\߄ev9vQ7jwUq$Gr]-NLu[ 8A8x-+8pp8ZDh! [cKq$Gr]-NLu[3 9K^n.&N*N4ĝKE Ɏqx008,h$5cFJ 8ౠp5ED~ v넭w%ߊ}8v.iR'&:AXNJ/VQ7jsevz[obNw%ߏ@"\߄U=p;Zڎ[obNw%ߏ@"\߄Uh1+s E&Nrn]mLIڎ[9K8pJ ,)cC^ $GGi JlGr]Ӎ1'j;Fl.orc)4@Hhh\߄ev9vQ7jwUq$Gr]-NLu[ 8A@XS%c`pxa /W#m\%mֶv.VƘw#Hr791n?Ϛ J$44\.orQzS(;`}8v.iR'&: 0<0XZV0p `^ $GGi JlGr]Ӎ1'j;Fl.orc)4@Hhh\߄ev9vP KFm߄]9Ч7&N*N4ĝKE Ɏqx0aq`qXÄ`88‰6CGǮk[;Qܗ~+mLIڎ[9Kg%c?.r79(YDݩ]MڝUmi;Qܗ~?4g)s~VC`=p;Zڎ[obNw%ߏ@"\߄Uh1+s E&Nrn]mLIڎ[9K8p$8`x#` `HC ^ $GGi JlGr]Ӎ1'j;Fl.orc)4@Hhh\߄ev9vQ7jwUq$Gr]-NLu[ 8Ap’09` 8RDh! [cKq$Gr]-NLu[3 9K^n.&N*N4ĝKE Ɏqx09A`` `pxP`0,)ED~ v넭w%ߊ}8v.iR'&:AXNJ/VQ7jsevz[obNw%ߏ@"\߄U=p;Zڎ[obNw%ߏ@"\߄Uh1+s E&Nr`(%u61CBJ&N*N4ĝKE Ɏqx0@$hԬ`  80$5ED~ v넭w%ߊ}8v.iR'&:AXNJ/VQ7jsevz[obNw%ߏ@"\߄U=p;Zڎ[obNw%ߏ@"\߄Uh1+s E&Nr(%רR &N*N4ĝKE Ɏqx0H$8`x8A@p!Ɔ‰6CGǮk[;Qܗ~+mLIڎ[9Kg%c?.r79(YDݩ]MڝUmi;Qܗ~?4g)s~VC`$ Bұ0Hj/W#m\%mֶv.VƘw#Hr791n?Ϛ J$44\.orQzS(;`}8v.iR'&: 8xaLc`DH@@=p;Zڎ[obNw%ߏ@"\߄Uh1+s E&Nrn]mLIڎ[9K8p!t` ƈ^ $GGi JlGr]Ӎ1'j;Fl.orc)4@Hhh\߄ev9vQ7jwUq$Gr]-NLu[ @Hhh\߄ v.@Hhh\߄`CCAEUoΖlmֶv.VƘw#Hr791n?Ϛ J$44\.orQzSs~[:_HhhӴ'Gvz[obNw#\q1n?0H  <c`;JDh! [cG!}8vG;Qqx|bVev9wbz6lci+l  (謢T,Uq'B!'p?MЇy?a$%E%[obGBN<~IX eӍ1-x=7B$j/VQ*}8I'!bOI+ QzVƘx=7B$(mi4"w wJ/VQ*}8@"w wJu(mixD$1'$QzVƘBN<~IXbՔJN4Ĝ ;zo;I %` eӍ1 PD$1'$(miD$1'$YDmLIOhCğVeӍ12x=7B$:ՔJN4"w wJ^Uq%I'!bOI+QzVƘx=7B$eӍ14x=7B$/VQ*}8PI'!bOI+QzVƘx=7B$/VQ*}8D"w wJĔ^Uq%I'!bOI+^Uq$ ;zo;I %` eӍ1"aOhCğV^Uq$ ;zo;I %`JՔJN4āaOhCğV^T>(>S`BF& J>=cGu HM oF(k 1 +(}rS1ZN4;zo;I %b㵭ShׂlB@:ڶN4bk1'$6.;ZlB@:ը_j/貉QQn+(P,TXQoⲉ( lLl$m7I66$../usr/IBMVJava/html/enterp/en_US/jdkref/i-index.htmtmt$$ a eit.<>cdhlnors "_fgjmpuv#()/=Ib CEMSwxy,DORT-AFLNPkqBKUV[]z23GJ016?HQWY'9;XZ!&58:47PŚ}Ӵ ~2 v m;N}:@P+ uhXYj:=d_jA! `0@@8,xnOi4Y;a)s;wq RV@T m z=eFK(8P @P  Je:5` 5eMِ:nkdNՐ:š4EC@A5@!+ pe72ɖ%j5Cc&܅Bí!4{n@d=URKVjZ:VXvWivMo; X;@˗B$W]+ӥe'ivMo; X;sT+Bw{֡ZըVd [ƾ֡MV@t@Yb6Aiz,@@YbdavMo; XPWJKll1.Ӊ2Y'|+PWJK@ll1.Ӊ2Y'|+(WYӥe&ll1.Ӊ2Y'|+PWJI`6Aiz,@ @Yb068#/EwPWJKll1.Ӊ2Y'|+Bu::VXp68#/Ew@Yb468#/Ew PWJHdavMo; XPWJKll1.Ӊ2Y'|+T+ҲŒp m%q5F^$%a*@Ybɀ m%q5F^$%`Ru::VXbdavMo; X%B^+,Y'b][eNVWYӥe$  ĻN&d*@Ybɐ m%q5F^$%` uztd68#/Ew uztd m%q5F^$%` uztddavMo; XPWJJ 6Aiz,@ uztdb][eNV uztdb][eNV2u::VXC@ll1.Ӊ2Y'|+Zu::VX@X m%q5F^$%`WYYmb;9+Sj.0/œw[ѽrV2 ʉteMЀ a*\aP:(VNumb;9+ zDE p׬]+ӥe$ޏHF߆@ٱ.ӃE@H(0%c Q@$ ( (+$qqVCnE]~J:VXM md M89[%`@WY)]Plؗi6ṡL ޏK HV `V1 dO %$Od62*cFzglBYWJIhjq "}ٱ.Ӄ+֮0l,. '溵S>م嶡κmM>@JnҲŒoG$)b]+;rؠ5$`@@DmB6( }@kJH+~(E?toG%^+,Y&z_bN6%pr'J~BMjqmεRA*/TaZ1:sdmֺ`@@EMI)WJI^ =-M8>ym 2^ym 2+$<}B9ѽ^^+,Y&zaz$FnF6lKlO(pPBٹ(WY)]PTN>Qز/Mόa uwv@ʉumHA9ֺ#Mm;ΆŽpѕԭ xmk+.[u]+ӥe$ޏK N=gc.sJ2)b]ٝ;sDJ=gx\)FJ JH0leET΍īӥe$ޏK N=gc.sJ2)b]+byDcfwead]dTu@H3g^E}9JQ2-^k}s2@JnҲŒoG'39ܥٱ.Ӄ{"R d J=gx\)FJ +e0JH0leET΍īӥe$ޏK N=gc.sJ2)b]+byDcfwead]dTu@H3g^E}9JQ2-^k]u3^[h鷿G\̴=ReztdǾev?r0)b]ٝ;s@c,@V1;v20Yu'AQq1sz=/1*Yb7}˜1~`SfĻNVXǾ˜gF @JkWTOd6uJd[kٝ;s@c,B/5Cko~>ϙi z7W@Yb7}˜1~`SfĻN1;v20Yz=/1![,IXǾ˜gF  +e0JH0leET΍īӥe$ޏK N=gc.sYM89[%c3c.s e(WY)]Pe]+ӥe$ޏK N=gp eٱ.Ӄ{F uBgF ąl %c3pЀYu d 'AQq1sz=/1*Yb7}b\6gF6lKlO({F uBgF @JkWTOd6uJd[kٝ<@놄2܌)m]ZlM:>e]+ӥe$ޏO fw'\6{1~`SfĻN1;qB2܌ %c3'\4+~@c,B I ͌ʘ9ѽWJIǾdN>0lc,͉v}.l 1~`]dTu@H3g^1;qB2܌(/5o~>ϙi z7W@Yb78ٝ eٱ.Ӄ{x|apЭa#z_bBY}.l 1~`]bY fT\eLޏO ԫӥe$ޏO fw'\6{1~`SfĻNVXǾ ߶?r0PSZx{$ ٝ8[gF]Lfmǐ=s2@JnҲŒoG'362 eٱ.Ӄ{62 ߶?r0${62 ߶?r0PR@H3c*.2?toG%^+,Y&z_bq;Ό3c)۰YM89[%c3&0͌2܌+֮0l”ȶ1;c +~@c,B/5o~>ϙi z7W@Yb7}taO~݆2܌ lؗi=gxLao e7${62 ߶?r0P[,R@H3c*.2?toG%^+,Y&z_bq;Ό3c)۰YM89[%c3&0͌2܌+֮0l”ȶ1;c +~@c,B/5ծ z/-ߏsZHM2:VXMfw~݆2܌ lؗi=gxVY$cfwo e(WX) px{$S:7N,z=/18ٝ߷a#6%pr'J=gxVYu=R ͝xPǾ ߶?r0T#M:>e]+ӥe$ޏK N=g|c,͉vcfwo e7${a# %$Od62*cFz_bUҲŒoG'3{1~`SfĻNVXǾ ߶?r0PSZx{$ ٝ[gF]Lfmǐ=s2@JnҲŒoG'3]+ eٱ.Ӄ{[}[gF} t+~@c,B I ͌ʘ9ѽztdǾJgngF6lKlO({[}[gF @JkWTOd6uJd[kٝJB2܌)m]P=6Sut N,z=/18ٝ_lc,͉vcfw+ ߶?r0oG$+e0I+ٝJB2܌+@V `8Yƾ!Y toGpe^+,Y&zx^Zpe0\lؗi؞Q+w2 uBMjnùLYsm6\leԐ=Reztdz;iùhr)b]ù}hWs,'P  t[Y mȾˣz=VE 6`j=^:QPd6_edN=t~?}]+ӥe$ޏL/S;7)ŀeM8>{v2zaz J~WX  t[Y cFzazztdgrF8 )b]+byD**,/T+֮)u**,/i ktuQKu?D zԯP+]y*\*h cQ. z7W@Yb705o7νlؗi-k gm8mAj֒ ߸G8d+!". zUҲŒoG`k߼o{ٱ.ӃYƾ!Y toG`kүN,z=3^|߼͉vG7ox#PSZ X$ PF#` wA@ @j.2y ܌]+ӥe$ޏLץx;:)b]Ï4d3s:۟l[m2чm϶]i p|}Br/ޏLץ^+,Y&zf-׽yM89[%`oGޡ]dTuC@H(@ t@F@5N\eM9)WJIK~vuoSfĻNmXh+Ï4 B@[Hgd6_eѽJ:VXM z[{~6%pr'Jx; BMj`P.0@`P(!!@ v@ot| ,6ͧy۸V|eԐ=Reztdg^6lKq@5QEr%xq@5QErP8VR>Yƾ!Y toG`kүN,z=3^|߼͉vG7ox#PSZ X$ PF#` wA@ @j.2y ܌]+ӥe$ޏLץx;:)b]Ï4sc4[m 챚]i p|}Br/ޏLץ^+,Y&zf-׽yM89[%`oGޡ]dTuC@H(@ t@ (mXA@P MB;]] {~FDMD>XwmX]fӼm+>2jHM2:VXM z[{~6%p|8mBA_AJ-k Y}u·25Y mȾˣz=3^ztdg^6lKlO(>v{zu=R  ]`8, PB+Ba8@51]a[m2kb@/{йYya:w @eMR@JnҲŒoG`k߼o{ٱ.Ӄ[mz 8mB@ Ioe#kۑ}Fzf*Yb705o7νlؗi؞Q+}|&> z5A@ pXA@Wh p$"jc Ï@eā HX]fΏ@eӼm)Q6{mI)WJIKnlM8>@+$qqS:7ӑJ:VXMR^>sdlؗi؞Q+1X~J@JkWTӼk mdCj{+$]+ӥe$ޏNE%= 6lKWP85Y cFzr)WJIK z=lؗi؞Q+1rЭ+֮ ۓrV@6rHM2:VXMR^?nRۑM8>@+$<}B9ѽUҲŒoG"r܊lؗi؞Q+1r_mBMjnB <7 e1]r=T{ uWΧy۸=1񝴁M2:VXMR~me|6%p|+(WZHyg1sz=9ӥe$ޏNE'܁lW)b]+byD zru=R=Reztdl)b]u·25Y cFz_bUҲŒoG&a8͉v휡]dTu@]=oImOe|=ReztdzlEM88(X,`$ %c0`)B@[Hg1sz=Yƾ!LޏO ԫӥe$ޏO 6{g2/lؗi؞Q+ |d]dTu@]yKAEUvn#t~a[aL$=ReztdzlEM8>CqF!ٸ# Ioe#k΍J:VXMLgs"Ȧ͉vJ@JkWT u0E6T\eYn܌'Y 6!t62mi z7W@Yb73 ̋"6%p|f6܌,dۑ+vn#`M(WZH+~),_u?toGUҲŒoGf=E6lKlO(lx2PSZ[MS"ʋ!ٸ9d(/ ؅ɷ)]+ӥe$ޏO 6{g2/lؗi??r0ff6܌v֒ ߸G8d)zztdzlEM89[%aA8/+֮뭰ͦEVCqs# B ] rHM2:VXM؄CN\lؗi `]i pk΍īӥe$ޏK LK44eȦ͉vb \+֮NȶײB)m\uv%Lu =(+2-;PE=Reztd f̹ٱ.Ӄ1z_bBY;]bYo]B9ѽztd f̹ٱ.Ӄ˒u=R{:]u3^[h+e2uvN4=Reztd f̹ٱ.Ӄ0&=!I^@scrPR@7k!LޏK J:VXM؄CN\lؗi؞Q+ !,ПeBMjw=aubhscrX}lHȶ d[kI)WJI"qpkeܥٱ.Ӄ"qpksw)FBdN? }`2%(B I ͌ʘ9ѽztd2'9]QM89[%c ȜeJQu=R ͝xRA859% d[kT#DM:>e]+ӥe$ޏK NA85͎2RlؗiA859!z_bBYdN? }`2%(Bl I ͌ʘ9ѽztd2'9]QM89[%c ȜeJQu=R ͝xRA859% d[kVg0o~>ϙi z7W@Yb7҆<8 )b]8kh/zPzAlI+8kh/ bR@7k!LޏJJ:VXM=ulؗi؞Q+ Ï}0 z5r6@:,(\X]kn߷Y:P# vWG dZHM2:VXM`.06%p|# voG ǤĒ# vP%$z趲΍ӥe$ޏJN )b]+byDXWY)]PPeΰ])nuG ~@/=kuu -$T^+,Y&zx^Zr Em͉vda|dd4Y ݰ47l=  (I+`<_Ŷ =d4CCvH ݰ47l) px{$S:78w2үN,z=0l@JnҲŒoGpe d_lؗiAA1mFC@=  (CCvH ݰ47l$da|d+FC@=  (CCvH ݰ47l) px{$S:78w2үN,z=塠%d]bY9I ͌ʘ9ѽ4ӥe$ޏHr i- m͒2)b]+byDda.Q>塠%d]dTu@d鑄H3c*da= ׅ l2'ܴ4sdʽ(rw./|BZ|@a:N /@ƼS# zeqz`z.2VAm\^ )pei z7W@Yb76&l2|}C[sdlؗiAmZX~B ąlޏK H;z=/1![,z7z=/1![,z7$l2'ܴ4sd+@V `0=l+e0A[,z d 'AQq1sz=#oiWJI4aZۛ%dSfĻNVX6-\}CA6KBMjn# fU ֺ먗^Z׮HιqJrWh.Y+]t|}C@6:6-^ F6AmI)WJI4aZۛ%dSfĻN2 h(rE͒2oG$+e0Fz_bee٩ tZz=/12lԄ޺-ѽYojBo]ޏK L5!7Dm[@D.lu d M=޺-M=޺-'AQq1sz=#oiWJI4aZۛ%dSfĻNVX6-\}CA6KBMjn# fU ֺ먗^ZM6ٳ* \rVD]+ӥe$ޏK LY lؗi Ib2$a+FCDo]B9ѽztd aM89[%a[,@JkWT BPk vB: eD]X%+.]kg0ٷ$=Reztd aM8>A ,FC@$ ]b2I޺-1sz=/1*Yb7=@›6%pr'J¶Y+֮z:]daku=@ʉu/%=JW]DY϶aym;˳n@zn@]NZ멟lYbHM2:VXMlȦ͉v  ޏK H$iJ Ij 4fI޺-1sz=(n=*Yb7҆ҍc"6%pr'JEc% z5 &:EU/%=J˨Z1y  e=UwZ2-|)mtZSut N,z=(n=(62)b]6%7 m@$ ]b#Mh%$z趲΍ӥe$ޏJJ6͌lؗi؞Q+͌+֮*V輔!+.]knb\4Cl̄2QֺwWS"^ALm`zmmrQqX~hm!<@S"]wBE z7W@Yb7=@›6%p|l0Xz=/1![,I^A -Bl I޺-1sz=/1*Yb7=@›6%pr'J¶Y+֮z:]daku=@ʉu/%=JW]DY϶aym6{, z7W@Yb7=@›6%p|l0Xz=/1![,zhWmKP[,zh8MS:7N,z=/13d )b]+byD+e1BMjWJuAAyV'Sd ZSڋpeKu=Lfښg /-m$]+ӥe$ޏK NA6%l1~`SfĻN2 J ,6a#IX6(h$  ل2܌+@8م嶛{u|I)WJI7 [ܲ_8͉v Y+]i pk΍=*Yb7҆ ۖ@6{+ٱ.Ӄم嶛l8ʼ@5˹THM2:VXMLgs"Ȧ͉v \I^@WZH+~),_u?toGUҲŒoGf=E6lKlO(lx2PSZ[J(AȾ2*&5$T^+,Y&zx^a9|dSfĻN0 $`T+$qqS:7*Yb73 ̋"6%pr'Jƒgp<_(WY)]P-^RᵐmQqkƆJ(AȾ2I)WJIld_ٱ.ӃI@d`J P8VR>Yƾ!LޏO ԫӥe$ޏO 6{g2/lؗi؞Q+ |d]dTu@]yKAEU d_$]+ӥe$ޏO 6{g2/lؗiaJa]i p|}B9ѽWJIld_ٱ.ӃXi$e2)b]f~oGv%܋칤~\ޏLK45!V%`$!Bp/˝0=[o]Br/ޏLK459 sJ:VXM؄CSۑ}4| H˅dSfĻNVX (\._c% z5 suaQ ʐ@<@mx6ֺ=dž\۔@JnҲŒoGv%2O#./M8>C7;،%y j#!R@7k!LޏLK45*Yb7;b Ha Ȧ͉v a_E2PSZw:]Gp}ʽ2!S\ R@a8>QGm 2%ԼsHM2:VXM؄CSۑ}4| H˅dSfĻNv#!zoGv%bWbpWv]b2AV%`) pE܋7;b NCnE\үN,z=3!,6_e-,42rٱ.ӃC4+ z=3!,ԁr~$!ABr~) pE?toGv%ztd靱 fxd>+)b]+byD+ %j@JkWT2߀.]6ٴ\eS!1$T^+,Y&zglBYJlؗi"兆7;b H5%y rT+@5I޺-1sz=3!,ԫӥe$ޏLK453! YM89[%aXd>+PSZw:d#MmR7,/#=Reztdȧ z=lؗi@4+e|IXl]b fT\eLޏNE*Yb7ӑN@6{+ٱ.ӃBw-=1BI^Bw-P %$z趲΍īӥe$ޏK LYYw"6%pr'J¶Y*rPSZgZT\# uS"[Lmt@b\6d{,5˹$]+ӥe$ޏK LYYw"6%p|Z#!zcH Jjuh o]B9ѽztd ` .SfĻNVXV `@J@JkWT2l]u=@ʕ+~aQ.Jd[kc)mhmd65Y(jrI)WJI @E6lK ܴFC@ؠ5$'r =6( }I޺-1sz=/1*Yb7=@]Ȧ͉v@ eܔ+֮d'rֺ{,+>W;¢]kȶؠ5Lmt@b\6d{,5˹$]+ӥe$ޏK LYYw"6%p|Z#!z-$'r = t[Y cFz_bUҲŒoG&{,P,M89[%a[,˹(WY)]PN峭uY*V|w D])m2-בplk]P .Sut N,z=/13d e܊lؗih!I^Bw-P CDo]B9ѽztd ` .SfĻNVXV `@J@JkWT2l]u=@ʕ+~aQ.SF 2-5Bmd65Y(jrI)WJI @E6lK ܴFC@$!;WXR@7k!LޏK J:VXMe0jr)b]+byD+e0Yw% z5 ܶu eJϕr0Z2-01Bmd65Y(jrI)WJI @E6lK ܴFC@oG$4f%y ܵBd4@4JH&md)WJI @E6lKlO(lT .]dTuC!;εSd Y7F]tEHmLmt@b\6d{,5˹$]+ӥe$ޏK LYYw"6%p|Z#!z7$'r =l I޺-1sz=/1*Yb7=@]Ȧ͉v@ eܔ+֮d'rֺ{,ֻ'Sd ]$T^+,Y&zx^6lK ܴA 3l=d4I+N &ͳ) pE?toGUҲŒoGN SfĻNVXM z5 ܶugVCcZpBֺg0nF z7W@Yb7,tqSfĻND d CDZ]bY) pE?toGUҲŒoGX,͉vwGj@JkWT2l]ugVCcZ1]}u϶aym<܌@JnҲŒoGN SfĻND d CDZ]bY) pE?toGUҲŒoGN SfĻNVXM z5 ܶugP^k]u3^[imd@S>م嶏r0I)WJI +6lK ܴA@=d4I+N +e0Y  t[Y cFzx^^+,Y&zx^l3|ٱ.ӃBw-}pD6٠zhWBg\4  m@) pE?toG ǥ^+,Y&zPzQldSfĻNVXld]dTuC!;εS>م嶢4fםzdN>0md+]mW]=LfS"^ALmi z7W@Yb7;b LK44͉v!;r8ې ؄CR(n@zhW@Em (n@zh8VQ׮k!LޏLK45*Yb7;b LK44͉vb PSZz8ېשlGy$]+ӥe$ޏO ԝp@͉v!;Y_c! JhU2P  t[Y cFzx^^+,Y&zx^6lKlO(PSZg^g}k} m`Sut N,z=0iM8>Bx=d4I+Oj#!zh8MS:7*Yb7, )b]+byD'\5BMj]+ӥe$ޏO ԟٱ.Ӄ' CD]b2I޺-1sz=e]+ӥe$ޏK NB{# eٱ.ӃsF#z_bBYn} 1~`]bY fT\eLޏK J:VXM'r0YM89[%c!=@c,BMj fμ)Lmc!=@c,B/5ծ z/-ߏsZHM2:VXMĖ)b]h͘. CFCD\ق>?T+FCD·2t[Y cFz_bUҲŒoG$M89[%`CBMjWJu>bW3 z3Pڕ+r0I)WJINs)b] J@(WZH+~),_u?toG`kүN,z=3^ >SfĻNVX,4u=R)WJIٗ"6%pq2#!IXmrP 'AQq1sz=/1*Yb72SfĻNVXmrPSZx{$P{϶S"XmrPEmZ@+>W;εGnȶא d[k#: z7W@Yb72SfĻN2f\ d JCl˒u d 'AQq1sz=/1*Yb72SfĻNVXmrPSZx{$P{϶S"XmrPEmZ@+>W;εHu+>W;hhmkSut N,z=;a pۑqJlؗi@ A` Q@@$]i p|}B9ѽJ:VXMj`nEG})b]+byD @ "2;u=Rom20m!;mliH3kqnF5$T^+,Y&z_bee٩:-SfĻN0  a P8VR>Yƾ!LޏK L5*Yb7+-In"6%pr'Jb/.J@JkWDT^+,Y&z_bgSfĻN۔ %y AB I޺-1sz=/1*Yb7=@›6%pr'J¶Y+֮z:Rso܌(ʵSd 6٩ z7W@Yb7۔;RlؗiCnP!IXmd]b fT\eLޏK J:VXM6"6%pr'JCnP% z5'A:2-ܡ)FJȶAyF{u|I)WJIܡrdSfĻN2rxD7$ܡ)FJ +e0JH0leET΍īӥe$ޏK NCnPJ2)b]+byDd6J2PSZx{$ S"XmdLmt]Lf zm9-$T^+,Y&zPzYpoM8>CnP Jrx^WXI޺-1sz=(n=*Yb7҆|lؗi؞Q+7BMj"uG *f#pî{R@JnҲŒoG']+)b]mHܤ]bo]B9ѽztdJJlؗi؞Q+Wڡ]dTuC!) ~ε:JR@JnҲŒoG']+)b]mHI^CnR@WX) p]B9ѽztdJJlؗi؞Q+Wڡ]dTu@ΰ]1 JᵮӼm+!) ~R@JnҲŒoG'!) ~l1~`SfĻN2r 1~` I+ I?r0PR@H3c*.2?toG%^+,Y&z_brrgF6lKlO(ܤm e(WY)]PSut N,z=/19 Ia#6%pq۔?m#z_bBY۔?m# %$Od62*cFz_bUҲŒoG'!) ~l1~`SfĻNVXmHЀYu=R ͝xRCnR@2܌)m]ZlM:>e]+ӥe$ޏNE9 IۑYM88mHрY$d6$hH@c,B I ͌ʘ9ѽUҲŒoG"ܤmc,͉v۔?m!# z5'A:2-ܤm  e(S"]溡m9-$T^+,Y&zr)mH܍2܌ lؗiCnR@2܌ d JCnR@2܌+@V `8CnSnF H*پ>Ēܧl܌+@*پ>Ĥo]B9ѽWJI| }ٱ.Ӄlؗi؞Q+[7څu=R/nGd.t\][7x6S>م嶥luDY N٩ z7W@Yb76&3>ٹXc,͉vd6Q 1~` ޏK HV `V2(f`?r0P[,R@H3c*.2?toGmM*Yb76&3>ٹXc,͉vFg7#Yu=R=Reztd;7 m)b]hB %y Zu t[Y cFzNӥe$ޏI\cmwyM89[%` [0 z5l] pەlk²Sut N,z='}rF .E6lK X$!# PR@7k!LޏI\ztd;7 mr)b]+byD!eBMjn[:d6[𬆤]+ӥe$ޏK Hݲ6%p|,@WޅWX) pE?toG%^+,Y&z_bFٱ.Ӄ?T+֮z:]d6̹R=]Dd|~Ё=[𬆉I)WJIٗ"6%p|,@WޅWX) pE?toG%^+,Y&z_brf\lؗi؞Q+ .J@JkWT BPkB%ֻ'C!eʼ²Sut N,z=/1/ )b]hB %y Zu t[Y cFz_bUҲŒoG%6lKlO(1@JkWT BPkB%ֻ'@L`eyׅd5$T^+,Y&z_b`nE6lK X$!# PR@7k!LޏK J:VXM܊lؗi؞Q+8mBMjWJu=]D]Lfڂ WxRLmi z7W@Yb77FZSfĻNޅJ;е %$z趲΍īӥe$ޏK LiM89[%aNBMjWJu=]Dd)іםxVCR@JnҲŒoGY.SfĻNG %y{mB I޺-1sz=AoxlPzx^0ߐ %y{l CT+@ϙi z7W@Yb7;b NAha?r0)b]{BgF ąl %c ~4Xh@c,Bl I ͌ʘ9ѽhjUҲŒoGv%=2l1~`SfĻNVX#ߍ?r0PSZx{$ {BgF]Lfmǐ=s2@JnҲŒoG"=؍6ٶ?r0)b]{񠑦4 1~` ޏK HV `V2A#Mh@c,Bl I ͌ʘ9ѽUҲŒoG"=؍6ٶ?r0)b]+byDdƂFlЀYu=R ͝xRAh$i e(S"]溹o~>ϙi z7W@Yb7;b NAi\ە2܌ lؗiAhν2܌ %c ~4 ^܂gF  JH0leET΍؄CRN,z=3!,ƟνXc,͉vGsnA# z5'A:GsnA# uB4ߏsZHM2:VXM؄CSG:a#6%pqGsnA#z_bBYGsnA# %$Od62*cFzglBYWJIhjrO^ܬ1~`SfĻNVX#ߍ׷ Yu=R ͝xP#ߍ׷ Y溵S>م崁鷿G\̴=Reztdf Y# 2gF6lK Y#_#IX#}e@c,B I ͌ʘ9ѽYojUҲŒoG&V[횜1g܌7 eٱ.Ӄ` 2 1~`]bnBؔ8aF^c,͉vd>` 2 1~` ޏK H-҈_ѽ@$d>` 2 1~`]bnBY fT\eLޏK L5*Yb7+-NAFe2܌ lؗi؞Q+bϹ e(WY)]Pe]+ӥe$ޏO ԙ,hc# CfSfĻN?1B@#8d)zztdz%da=llؗi؞Q+c@/006j@JkWT vN{jg0ֺ!(wQ.L ӢG QkkcZ룲rP^7]Q.L I)WJI2XѼF|̦͉v %xhjuGqS:7*Yb7&K7{/ٔٱ.Ӄمʲf\ Ǡ۝k6{.PՐ=yrI)WJIn2mٱ.ӃvnFD %y0 %$z趲΍Mpԫӥe$ޏO 7 HaJlؗi؞Q+T+֮WJ^QB;Z2k!ZZ7 xQ=4Xh^BY F7@JnҲŒoG{S=6lK0؁$&qPR@7k!LޏO<ޥ^+,Y&zy0hW˞@+@0h8MS:7*Yb7,7.E6lKlO(% z5u audN>0md鑆dN>0m;.^LpmDvNo\@JnҲŒoG%M8>Lh$&\5B I޺-1sz=/1*Yb7̦͉vwBMjZu6gpׅyKֆ`zdz:/vSut N,z=/1,lؗi`uט* zܘ9eS@CnE]D=k9eY dRsmֺg0;GsnI z7W@Yb705Nlؗi`:d놈hW،%g\5Bd4JH&md+!". zUҲŒoG`k+ޝ{ٱ.ӃL4@WB PR@7k!LޏHUҲŒoGmM''ܴ56KȦ͉v.Q>塠%d]dTu@Ɖ hD΂t'u.Q>塠2ɫFᵱ z2[h- ](re$T^+,Y&zf2׽yM8>L®lFCD?\'څuh8MVCnE]ӥe$ޏLצW4:)b]+byDsAz{zu=R#sL:ΙtwݹM2:VXM z[{~6%p|?Vh$&&Z]bo]Br/ޏLץ^+,Y&zf-׽yM89[%`oGޡ]dTu@>~US-^;񯺇:@ k}Nֺ$@@JnҲŒoG`k͉v& I+Ƀ3WX) pE܋705WJIK#[7#6%pr'J[7# z5u^[7# R@JnҲŒoGmM''ܴ56KȦ͉v&OeI^L0- JH&md)~J:VXM Daٱ.ӃQ>s{ z$^Ǎ}$Ѹmlh/%m\+]t|}Ck'LwԐ=ReztdzJlؗi`: I+Ƀ@ju t[Y cFzx^^+,Y&zx^pқ6%pr'Jpju=R)WJInmpқ6%p|L@W{:0PR@7k!LޏK J:VXM}6lKlO(+PSZ]gX]kuN7хk} z7W@Yb7(yM8>L@W{:0PR@7k!LޏK J:VXM}J(SfĻNVX-ҾP=BMjw=auֺWFJ(Y:gFђ]+ӥe$ޏO ԷxLg;}r0)b]ɂ>!)ό ޏO ԷxLAxd$xd[mPF2 t[Y cFzx^~eܒN,z=Lfc# P w8VQ׮k!LޏK J:VXMı]r)b]+byD]rPSZEΰ]Lfc6Y:35$T^+,Y&zr)/e6lK0FJٱh$&[62 PR@7k!LޏNE*Yb7ӑIx)b]+byDڅu=R{:]t^>V|w dLm`F>)m4fN7%l5$T^+,Y&zPz@^6A6lK0FJٱh$&[62 PR@7k!LޏJH үN,z=(n= /H  қ6%pr'J! PSZUdZdrV͌j I)WJI D ٱ.Ӄƾ %y0 %$z趲΍J:VXMNf'\4͉v]h0ju=R qnt\2Gk]ͦD Nk$T^+,Y&zPz[܌lؗiaAju t[Y cFzx^^+,Y&zx^V1SfĻNVX*پ>+֮{r;!s^ZJپ>'VqSut N,z=(n=(62)b]Ʉ~Ja JH&md)CqWJI7mٱ.Ӄ0l@JnҲŒoGY.SfĻNh$&5 %$z趲΍J:VXMK"qJlؗi؞Q+ PSZE΂zktȜ|apÍ}$T^+,Y&zx^qM8>L"kD8T+@8MS:7*Yb7'\ͳlؗi؞Q+ 3l z5u *dgVNk z7W@Yb7;b I9-eJlؗiaj퀐`$ %y05 47l=  (JH+~(E?toGv%ztd靱 f26lKlO(̰Fs z5\BM.{:.2P I)WJI:۟e\lؗiad4@W  JH&md)zztdz]eȦ͉vnp\˒u=RNW)FU=%{%ֺ\@JnҲŒoGNv"6%p|D hW! ) pE?toGUҲŒoGNv"6%pr'Jmr.J@JkWT`:]\T]益Z;s`m.T]Lf7 ˒HM2:VXM 6KȦ͉v&}D %y0Z]bo]B9ѽ4ӥe$ޏHKJsdlؗi؞Q+/E͒2PSZ[ZMed kcM@2nwptgt]BW:}+ zm.2 >崄S]kוCn qB2;i z7W@Yb7ӑIx)b]Ɂ$}WX) pE?toG"ztdȤ}ٱ.ӃW;hhmktE#jȶDQmk'^dwy4^>@JnҲŒoG&V[횓/.E6lK0#!#!I^LwWXIoez趲΍}RN,z=/12lԝyr)b]+byD&-]dTu@% !uֺg0VCl˕dsuҷV^CBV@t[$T^+,Y&zx^86lK0",B`tnS_b!0\7) %$z趲΍J:VXMK"qJlؗi؞Q+ PSZU]tzQ.ekAϷ: uT@"qi6eѹNHO a/ʂ h ѱm!:tnSI)WJIL8mȸ6lK0P? `@WEyT+@8MS:7ӶWJIL8mȸ6lKlO(H6FG}PSZUdFJ(2tvNSut N,z=#oi~)b]ɀBk@W0Gڅu ߸:md)~J:VXM mL͉v ~PSZSut N,z=#oi.+m͒2)b]ɀ#ۀ$&kn  JH&md)~J:VXM 6KȦ͉v"+\,?c% z5c[p&2tmp.+kוCn `*^ cStP{juavӐ;i z7W@Yb7yvmȦ͉v&1 0F\kC$6^\ˍ}WX;JH+~(E?toG%^+,Y&z_bX.͹ٱ.ӃLd f؁$&23mB I޺-1sz=/1*Yb7[͉v!]dTu@% .:zY:ͷQfI)WJI6%p|ͱ _bI^Ld fڅulP ߸:md)WJI6%pr'J@kBMjWJX]k} mAܫ'YY ; i z7W@Yb7[͉v&23lAo$&23mB ߸:md)WJI6lKlO( z5^(NH]au/-rd fiF]d(d3Pm]+ӥe$ޏK K26%p|O|b ĂFl$&2Zu6٢R@7k!LޏK J:VXMıs)b]+byDsPSZ[tuֺ顰c*1Ku}?9@E)m}dSut N,z=#oi~)b]Ɍ ,AHmz=/1 W ,Zu6٠zĤ·2t[Y cFzF߄үN,z=#oi~)b]+byD߄+֮26)6myף1oHM2:VXMıs)b]Ɍ܋I^Ld6_eWX) pE?toG%^+,Y&z_bX9ٱ.ӃL`P$0E!$&0(l y Ioez趲΍īӥe$ޏK Kٷ"6%pr'Jٷ% z5^܎\ u϶aym;˳nU  F(.͹$]+ӥe$ޏO ԗiM8>Lf %y1ߌPR@7k!LޏO ԫӥe$ޏO ԗiM89[%`Da@JkWT2 }[]ruq:'YĐ=Reztdc6SfĻNۆyrC$'6^\-P w8VQ׮k!LޏK J:VXMı]r)b]+byD]rPSZEΰ]Lfc6GptK@Xۆyr:Z ]ٷ$=Reztdc6SfĻNۆyr -y %y0 n y Ioez趲΍īӥe$ޏK Kٷ"6%pr'Jٷ% z5^܎\ u϶aym;˳nU z>vNx5^u/%=;˳nU@n$=Reztdc6SfĻNov!J`Mܔ+C%$quS:7N,z=/1,wf܊lؗi؞Q+wfܔ+֮{r;!s.S>م嶘.͹VN==M>n@z}Lwfܫ'G܎εE䧴yvmʲXۆyrk'!̴=Reztdc6SfĻNov # y %y0 &n@0 y Ioez趲΍īӥe$ޏK Kٷ"6%pr'Jٷ% z5^܎\ u϶aym;˳nUDDOGOەFT34Zﵓֺەd9yרF6C7;ەd+± Y ]=OG Ci z7W@Yb7҆d<poM8>L xFCD|ߒuh8MS:7҆үN,z=(n=&J̌ٱ.ӃL ې;I+Ɂ7rP w8VQ׮k!LޏK J:VXMı]r)b]+byD]rPSZEΰ]Lfc6Y:ݹ$]+ӥe$ޏK Kٷ"6%p|{ Lfh;I+Ɂ7rfWX;JH+~(E?toG%^+,Y&z_bX.͹ٱ.ӃL'Xi ޏK HV `W ì}wWX@) pE?toG[&]*Yb7-^.忣ٱ.ӃL% l@W AbPR@7k!LޏO ԫӥe$ޏO Կ'6lKlO(9=PSZE΂zkt{:9훑@JnҲŒoG%@k͉v&p(@W]bo]B9ѽztdlP)b]+byD+֮z:!uֻ'@5Huu϶g}QR P+BHB@JnҲŒoG$M8>L P$&p)B I޺-1sz=/1*Yb7[͉v!]dTu@% .:zY:7rW]+ӥe$ޏK KbM8>L P$&p)B6( }Ioez趲΍īӥe$ޏK KbM89[%`5]dTu@% .S>م嶠nUu϶g}QR P+BHB@JnҲŒoG$M8>L PI^L Ru-%$quS:7N,z=/1%?Jlؗi؞Q+@JkWT BPl]u3^[j6Y:]Lfw  pە$-$T^+,Y&z_bee٩:-SfĻN6#!I^L څuh8VQ׮k!LޏK L5*Yb7+-In"6%pr'Jb/.J@JkWT BPX]k} ˕d6̹VAA:]+upڅn ˒HM2:VXM؄CS> )b]ɁVgF %y0*څu t[Y mȾˣz=3!,=*Yb7;b Oc4͉v5BMjWJX]kuP>7@88W m.p Z9řG ?SG܎# BW h=;Ay;I)WJILh?gzuoSfĻN{،%y0)}WXI޺-d6_eѽJ:VXM zesA;ӯ{~6%pr'JW4W7WY)]P? = @P@V'L: rSut N,z=3!,=1 Ȧ͉v& Ahj@d%y0H\.J Ax8MVCnE]靱 fWJIhj{SfĻNVX$.% z5^(NH]au3Q3יִxTBrZ I)WJI4(rnldSfĻNCx؁$& %$z趲ۑ}FzF߄үN,z=#oi>Q>塶Ȧ͉v.Q>塡 ͌+֮]+ӥe$ޏHOOhm62iM8>L _bƾ+@8MS:76&ztd~I- S@-)b]+byD OhhCsc >2 z5 z7W@Yb7Ӷ ͉v&NClː& $)mr JH&md) ԫӥe$ޏNf6\dwқ6%pr'Jr##WY)]P* BuB vNAxS N!eu<5$T^+,Y&zx^Jlؗi`[@@W  JH&md)zztdz )b]+byD5BMjAϷ: uU.0SdHM2:VXMMpԝ'vJlؗi`\O@\.B<,0˒u t[Y cFzx^ѸjUҲŒoGm;nSfĻNVXLP#p z5^(NzFUkttPգpֺ1Xa*nEU=KI)WJI?e6lK0.Xvn#b,;7 %$z趲΍īӥe$ޏK K26%pr'J5 z5^܎\ u϶aymw΢4fԬ\:|FzL #d4I+Ɂr~څuh8VQ׮k!LޏK L5*Yb7+-In"6%pr'Jb/.J@JkWT BPX]k} ˕d6̹VAA:]+ugj/.I z7W@Yb7w$n2SfĻNk b2$DoZuh8MS:7w%^+,Y&zN2f\lؗi؞Q+`mrPSZUdZ\0d6̹VNF XÝ^C6LySut N,z=/12lԝyr)b]Ɂr6#!I^L vٶ ) p]B9ѽYojUҲŒoG&V[횓/.E6lKlO(Ÿ^\+֮z[$.]Lf*mrnuVϔvٶ Yn$=Reztdf ˑM8>L @k2$]b2%$quS:7+-J:VXM}Rt[Ȧ͉v ˒u=RP+dZ멟lY .UcmεJY ~1BV@t[$T^+,Y&zf,!l܌ lؗi`*A0xju t[Y mȾˣz=3^ztd0r0)b]+byD0r0PSZ]g[auda faY:TGESut N,z=3^|߼͉v& L I+ɂWX) pE܋705WJIK~vuoSfĻNVX#a7WY)]Pֺx;J@ht[` rSut N,z=3^\~߼͉v& L#!I^L}<5Bd4JH&md+!". zUҲŒoG`k+ޝ{ٱ.ӃLsƾ %y0U_PR@7k!LޏO ԫӥe$ޏO ԗ.uٱ.Ӄ z5u" BvW\@@JnҲŒoG_қ6%p|Uٶ JaVfT+FCDo]B9ѽWJI~OJlؗi؞Q+rz]dTuDT^+,Y&zPzYpoM8>L*¯T+$<}B9ѽ7ztdCqg}E6lKlO(]dTu@]d-VX]z/-uyomVVNzSut N,z=(n=,7Ȧ͉v&z#!I^L*Bd4JH&md)CqWJI7wSfĻNVX?}J@JkWTZ1nt^[NHu;Ԑ=ReztdzF7 )b]Ʌ; DB I+Ʌ; DB]bo]B9ѽnztdzF7 )b]+byDdCBju=RP'Anuʣ*vANpVNTaZZ7 I)WJIdN>0iM8>L)  I+Ʌ:!y+@8MS:7*Yb7, )b]+byD'\5BMj#: uU"qk'StBTaSdSut N,z=مʲf\ Ǡ۝ka.ڡ[ z:-Sut N,z=2 $vqju t[Y cFzx^ѸjUҲŒoGm 7 )b]+byDB7 PSZU-׮TePֻ'EňN.Nm|e@xi z7W@Yb7҆|lؗi`:¯I^LXUuGqS:7҆үN,z=(n=,7Ȧ͉v~|+̠֮cY> u[]dw\eZwSut N,z=/1,wf܊lؗi`?c/5j! ߸:md)WJI;˳nE6lKlO(˳nJ@JkWTZ멟lLwfܫ'^5;;˳nI z7W@Yb7+-In"6%p|.^ˆhWyp ) p]B9ѽYojUҲŒoG&V[횓/.E6lKlO(Ÿ^\+֮z[$.]Lf*mrnuV^ˆVp$]+ӥe$ޏHm6KȦ͉v&I^L JH&md)~J:VXM Ѹl[sdlؗi؞Q+FW%d]dTu@Tdw{jѸmN(I:93R@JnҲŒoG%ۑM8>L7 ː!$&ጋlcn y Ioez趲΍īӥe$ޏK Kٷ"6%pr'Jٷ% z5^܎\ u϶aym;˳nTw GmDጋlp/.UQ\]ZSc6Sut N,z=/1,wf܊lؗi`ȶ6^\D1BI^L7 ːVjuc·2t[Y cFz_bUҲŒoG%ۑM89[%`ےu=R/nGd.uֺg0ٷ*ɐ=r;'<:]ٷ*W d[un$=ReztdؖĢv4͉v&j I+ɀx`WX) p]B9ѽiJ:VXMKLbQ;SfĻNVX PSZUl»vW9<(monGd-\eZӣ=I)WJI;˳nE6lK0y ;y %y0y ;P w8VQ׮k!LޏK J:VXMı]r)b]+byD]rPSZEΰ]Lfc6Y:>;;˳nI z7W@Yb7, )b]ɀh$&; JH&md)zztdzD ٱ.Ӄd4I+ɀ>+FCD·2t[Y cFz_bee٩WJIYojNpٱ.ӃYƾ!LޏO ԫӥe$ޏO ԗiM89[%`Da@JkWT uo~3]da=Ԑ=ReztdCq|Ye6lK`8V0 P8VR>Yƾ!LޏJJ:VXM,ﲛ6%pr'J+֮<L'ETȡ jHM2:VXMO F6lKa%(PHXX@IA e Ioe#k΍J:VXMO F6lKlO( #p z5ѸmQqNl܁gUp٤]+ӥe$ޏO 7 Nmh4͉v`, $ `((JJj֒ ߸G8d)zFWJIn:ѸiM89[%c6F@JkWTNE䧵2X.2uԼ ugUp$T^+,Y&zx^ѸjslF6lKa% 8P,@ Ioe#k΍Mpԫӥe$ޏO 7 Nmh4͉vg#p z5 'Zd6̹V6]u/.]fh6I)WJIn:ѸiM88X@IA@P8p(`, $X (8 Ioe#k΍Mpԫӥe$ޏO 7 Nmh4͉vg#p z5[lc գp$T^+,Y&zx^ѸjslF6lK6F Hͳ_`zhĂFl=d4I+pB7 P6 7}!z6٠zh8[^Mо~/Ao?gxa8{ +z'Cx$:ТHUr qnj'GpMH'#~\2'L]uM3)<(&+F wԤ<9d(*ЕSRe) ױ,F6Ī};,ܹҽK.޽k/;>\V/ť3~1ɇ$Si͜;{ :ѤK>:!~ ;ٴk۾mcݼ{ <‹?PN٤IT^XNZ^~ fbIfffi.fn gg@vމ'u7' hqYZր`C$!P*icai(f Vjh 6wzʫzte*!*f~*lokl*%6ɴ*놵Zf춗t;+m+#mOȺudF"/;Ǿo+ljF cg :l1r1u hlȺ^L(G2,+|/n+|~G +^Yc<s5%GQ>T ɣC2NP<-W:zqq)*TBGL|rIs1&G1N+zK?eԉ,DccBjW^ _o;$nB= ÷ ~/?r'ԎC$oy=;UyrlY4yMzl~?=zyg׏J^.bؠ;.I࢐G1{[(*6F#IIײ!:Gn'\$((JU.%ŠOUj޾Eu`Fߺ_W]V,ԵT'\vZʙ @UTj>y+\џ_K}4ةYޭ[K+g;pPIu\s}^];X*Uu}ޤ:h-Y|WV3gJMZ@4a%\,M&_y]vy=^x %kͥRiUlP(8V*c7W@j&quw c~ff#LL_T+^g ׼lVwxU񸊚Z\f8 h!ndr>IfhM9(_ %* EW4jGY^=yj{dɤjVIٙN l[nU*fdiUEVvyY +,Zd)֝1fzQB26IM,|&KH] 盩klgk笼KgƘb3r[pb'QDf=ڳTQ<[Uie|oL1|VJaZ2cKsa7ؤ,k)1Kgձfy4+!ZK,1Bwoi&\sc]4̠h{W YT(,y4VTqUpZ”NYͧV$]N4a;7mR )^xm> kߙz&t ;MXGsI ^&j;^Z܂fmv} ;5X3 6kѠ=2[uIǚܫiv,eZ^ i:Q]O~ q\gh+<w@M@D22쨵`)\Ӗf86l0`T`CCr?#$$fApOW4yD$-Mы72miˇ5 S~ƘeqIWI5]ZlE05i+qBG++=\p!sٙЅcTN$gEI[S2{$KX5vB٥YKl4})](3 !PQob壗F/rUT2XJԼ\MTFǴ'-n"7ISiJA kZvSPQ# 굆oH!Y.iX<^Y(]T. 5G8R)"?b'i954U#Ṱ[*eˬ@*AkRiz, Abqn*lIJ r܍\# ; k|=q$7R56$`./usr/IBMVJava/html/enterp/en_US/jdkref/images-awt/checkboxgroup-1.gifp$$GIF89ahx!,hxڋ|H扦:. 笭 L =TٴU]qoKCx0ω \CMh%2$;g'Rwė҆WH8DU'&((yX`vɉwJ8gszۄ:[)3ˉb9H97닜\Gެ>^~._}puw, B(pˆHR"maMQHGBhjMKd-)9?bNcT! \X #Jc>6}HJTcvU5KY.p9%PTZk{{RC?__ .ʽnVΣٲ ` _h$(.(h56yZEVuزa6n@wmʕVsiJd}[/A56nmO}_atM^'?]e]7[r8xZ\(R Xna\_<_yd!'8a%Y9PxݸM&cqhۑEvdy$t)]GU4emW^%fYeDa:4K_V&Bfn grIgvVP; kr$7R56$p?./usr/IBMVJava/html/enterp/en_US/jdkref/images-awt/choice-1.gif$$GIF89av=!,v=ڋ޼{H扦ʶL/h^ |¢F<*$tԪjܮ+8IIq  UW;5h'vr2xSrH26'9Thby )B)9Ww Bz  RJzC:[yLXfL\]i߶t^cO?fa`*X +Ō< ۄ Iq@[<`zXF$w ,!$VȁH{FѴҫNfwP{ ^olG'ǯӜ:ĕoa@u{1SpGB&Ј2%:'a1ę#CS&K8cz|)I sUiPɢ6jRӣT&%ZӦ/iª Ε?-5[k~lúuwSRmoq6W)uJ;ੇ#MɏYf}7{hGYjWk쪭gnWnqwpiW&̛;ԫ[=;ڻ{>-(w컝oͯ7*b !_Na,f` 6HEG%ӂBăfMޤ" (#Qb('RJ!&)n3rR#jxc 9ɏϨ(Q-""B(9t$JIFSyIT;*%O-=ȤaP~Yh4fUv+HFy&aU`#[.1O9 zEjvFQj4e\mUI g>U֥eZQ:h$ \tZ뢅rN~ZiFbvbũgE~jhQ=lJ>N,i1+bܒm.b)_J+RZ/ÖKoًkjE/sʰnUa~,2mwph YTEzNlhLL3!cꦞoY&&lү6=t5Drз[b6Tk5X6Fb7Deqk6u6ow{]7A:I||*%.ܡ9s7x]`{+wN)׎׊λ+|%O|A#'ϼ7}!GO=W=ܔgϽwO<㗏~Eߧ/?OC?0 g. HBv *hA`0 '"D KH8*\pZB0! mc&:t {4BhhD 1Y"''6&R4 +bu[,큱v_g1,\#_70r!;qzܣ 2D$!hC*1l"# GBr+i,b2\ 70/s#)wSS#D)[9VR>e^i2%/S_D$1c"ӑ\f$LJB3&55ikvR%7o#$G8˹s\g-N|d3&=IC{bF>i4jP 4((C4χrfC+*7{bnh/.QE4)I)aғ*}'K[*O´)^jS4ӈjG}ZAV1eմs-ωJRVjѰJ"eU`QVƮիxGz֞u[ UcQ}k_+̰eYS糲UT1Rd},cN]`YVnef;{֞VY-iԴ JdVWFco3w!tSJ=)w66Իy+ҡ]/Jw}w x)(;) k`t$"7R56$p"./usr/IBMVJava/html/enterp/en_US/jdkref/images-awt/fontmetrics-1.giffp$$GIF89a,;!,,;Lltn=sg q|iѻjKUV S|v#h8ĬQ^..B &4Fpbح'*G緇ŷChx8yg(ؤU) IuU* iY)*:$ Jlk*#cS =M]m"(iDڸmd7Ͳ=;#[j_N_. ݚe뵊 4z mSWk ;u{ k&u$7R56$`./usr/IBMVJava/html/enterp/en_US/jdkref/images-awt/gridbaglayout-1.gifp$$GIF89axnnnfff緷!,x0I8ͻ`(dihlp,tmߋ<p+Ȥrl:ШtJZX` ZW^S뮷~OKpJrRtd N;wnGL=IQlcWXM\^h´q=ExcmȽأFٮ٢<չ ӓF?ϷIN\s\K rg׮nIԫ! G~) JȉC))#; CI.g95~HTZ_0G[LGYjO>cO?'=uѩz{'g<~ 鯂7'=z x@=g T;b*, BZ;_&P<a;B*Ǝu;t"X,VQ`ǹGd 8E rQ鲜D ^Qu5D$.m" ?rmkQ|dQx{"$9G̍я?# i>Nl g(Eգ$#՘FKJ%-IErySfyJ;&424%UIi*S,b'P["ډus\&8EFj̧XLfSS$E J ,>UQ%C9Y'N_״fjMèL5d+T'֔K_ Zϯ~2(ҒjL-GC2}Rh)WekYyKoim&܁+rF.΍Ws͓Rbǽ.Z]AJ-x{hz(z Wn~_&N;E@ xp͋w05 ^ GL(VWĩzgLǸ81O-"YA>g%;I~O)[Wr.{`1hNभp笪6 γ<|-ЈoFwю I[a47iic7ۂc>L-ʮժX kk΀5pX"rn-\ݳYۗٻM9ҳA5zݨ)i[RMNwR-ooKZof׷}Jj_;pbԭiEIp:&e5Lu]23amp748HeܦƔ-wr]੅!;M+3ݸ#M[ \{]؝e?ک}hmca-xϻ&o2Oe;񐏼/[>[>|>rGY|?OЋڤnO/Sww 3zd7c~=r_Qnю]Q50'xwրP-[ˡk tur{SUe:YbBd?e vķ_K)Rq~@DnSs6uHEIʗhU |x%G5'QHt{} UZ"P%EfW6KeM-M/h]{F%8m9Z}GA8}O5聦Uti%JeTv~+'}8hTXvٗD@^Ck2_Zv}v.xiYboH'/7VWXhdžRht7ZWZ%O||[xvs~u_B&|5ha(\8Uh׊؈^؋a'axG({Ψz Gxx8e7:-2(c~W蘎eby-8x,(ݒ2 _X(H g5 Ȑuuؑ a"gp/i59^)iU|XxzmHW~695p2T7͗lq(;yoFB;K9qAiF'Wst.ȕx:_YdX%G7X>)hnvf9^9uSd9gtr5v8NPg)Htah{9u8&9LIe%XQŚYW Ts99Et~ZtY:9&(ιI9 (YթY-IȒ^Ih6}y0ys7B9@U@ ZiB Cw_ʃVDb^xjZT畡":|)qPkE.Wf) !4s:"ա&za0׽'&^82żv-;rI&1CH$gz T<1QW5:$̱)~jFIsڞMvJy',| EZ.;nd*i#eO]N|V. GQ "d1YO'T'Xj:RXǾ",%Z^bsb!CJt}ai6nD*F^'ۺ+q22;r[Iܩn U/ qz )/lVo- c 1z&ۦI',r2e38ghO.Ri9~nT٢[z?Q6L\KG9bgq^uӳ;ٷ-ږIq!/éTC*N.ct=(O`fD_;1;"  kvw$37R56$`~3./usr/IBMVJava/html/enterp/en_US/jdkref/images-awt/label-1.gif.$$GIF89a'C!,'CH0I8ͻ&dih4p,tݾ|pH,Ȥrl:JZجvIݰxL.yntNg9~zxaJvfYLBĠȗ̐HsEu\^>j;c]`hqMPۘbZV`uUyy ogv}r zh{h&GBG eVI[gnyfcjo`^\Mr bdft:+j{GI+G0z' + s ċdu'07kGr$ݽ$rd BLS:j¡<4פlw9Y | \3!#FwzYʐ;  MK٦I+ɡ ezm'nQ{Z^f f ng4v~0s>9hvNq<`H-jxp'//,\5Ö8TVE/-tw1¿awn hpĤi] ne˶]i6Yme߶+Z-3)ZZiFĸe9UZsF6.ckV J-jO"VEmX\ ,֟H?!hYfCS0٩RT3 1UY`քi\ڒ %4 \*\?EɌ i%gr샣PWZ2F+|dFB12ʅa&qzZ I NhK$*MCg03& ԨX/R01W1lh;]my [`9kp KHRa"0sV"1'E[N<$ WI1S*b䅒aL(+4Q:E2b2jˉ&w^i$$e\_lhōz۸G)4\jd68uoI '25NLa\cQvRHIyB5C8fRC;ن"RA;o7:CGըβxD?9EQQ͕&N$dJ*[jܸ֯t3 MmV*fd?[Su0Xz Kr#ENTtd%1uVkS(Yt1S.ኚV1h'޶lÕr JN<+sdLjtPvT_$g@ZmGӹ79>lrZ2v#q%hG/ۮ׾mp0p %*fɊ_._}ց.uV^k 2|`(VAvlX=ѕ歜;VpKF)jS-4,P# 6F [\ԊmT.j(Hv1 (9"@M]vx7CKVZ wXBdF /KHĔ# `6Au$BIlhyn$!ܧwioDM"N;@N$aѬD6W>TjLַm͚hme޶M]b"&"Ov_Vn>P#6//j7@i}hP' 6'TIrqk0__Ckõf}F8'&s.&OW^A"S(0ޯ88Q%/!d PMs':y4d7/1DxtzmOyzhAyE };/P>H: gt Wdxrы$G:yv3g6'*VBӫd 1^oWc>Ö}u:Hnϙz.{{W_yugL=ʏy~L6o~x?Ͽ|LyWLRfnMT@S`frf7&g*75dUSTg gEQjtm,Wb7y@l2mӕlsj}#1dJ8N+ɦQV;Vk!KgkOk%}"we`3ZPM4YY}6@M\.98~[uU3TUI#Uvth1UjxO#dX!23inߖDm6nVdedq j"pRIu([6TuUU'cRM S ȅh8MW8oƀoTaEHjBAMUDXj[D3t$fbfgOIy*eh5>b|S^GDJmI(UN5l>WEjsHB=Q؎_#|.G8Si|gYZ耮؊e}HE,r9K%QXɎyx#8KmmxU8()ױiGƍӈB4FVj"J4Q壉:YX 3FP(7BUFZ@ؔbPlFiA4ވ/3I>ņ4>َOgbh'eCC2x;*Sv)i"y඗7Lj|OāgɓUՉ^G $] fS)Yx5wVFe=iiy>weOX|9Iny*iؒ(;cIY9!TRALL6e$l9i7~){UH=ٛ9i9TS\OrD_&y zdE}ڙ^c I9,@`[שչ Vɛ#%h)≡ io GiDDq(\&ځ'Z3آ0_s17z1ɱ(ɡ89@ڣBEGzLZQJCNJKN(N(N <*ad^ _:ijlZa_cԦqZpx:wyzdʧzK vGgV@r8ڨPZ3FʨYZʩjjQJz>jt:p;U kZy$7R56$0w./usr/IBMVJava/html/enterp/en_US/jdkref/images-awt/menubar-1.gifififp$$GIF89a!,ڋ޼H扦ʪ L עL*̦vnW//7̔3g#`._ FhƆd C%=RDi?XNLRJ/9T3e81S֬9dҎ4z'ӂ'%.5yѧ? bezӦ1?TKuՔ Uneo)թ]Yt^ͺ3j3s-p+MU2?OѭԱ:[22S_6Yu]S"nmڶ;DKӻ_UhkO6, ru59b~|r{߈7[.aw ^O_Q)78ր$ S BNM\5atB &" 2F ʢJ:>a7;=WF)IN>ie@xX3~ A[P`)3 n&_ʱMC)ƚtGI駚"/NgzzgD``< uHh5*y%"fJB逖7U&{ҹh^*jSt.buثZ8h&Zm~XqiyϷ ޸rfk+]*kRҩ[.kMYrF(E_Ǻ#qe7(!52%;oʚU|`|8Ssqk9a+=v@9Am|۽1 [=8YOE=9W10ZFfiSLL4_ x={罺u` 6 "t 9F2|RT *0 )D~&KDyAqV84LCzPQ9FX*Z"BLmxBȹR HtZL氈 ("#䣸W9LIF=v\>S*S1}S ƭ|uL#)aIj,8RTl䋺 r I8SM (iGWOT%ʁ(*D,A ziєwhӔcޭʔ3bz02e0eaV)M>&o0&Ƭ˛i;xD{*f 9J2\zEvcņ"ZtRA?R!mHAZRXut MVÖ'LS*iw4m ~jNR3TBULꪒ@6AK-TW?h)R*Urb{0$l TrXCqר~M@X>R&ܧYnשQ'K5dss }Ke,SfN'FSgV=„Mws3OOIdfێhVmmc[W՚O{q:ԅ;њw`nYWۤN3gۜ}--]3$ Nkۦ̟dM V)2ᕦ(YWfĸ Ku$n!0K <[{ d4DnIo3!YfJ^rɚdA.2%<+˲ZGe.yYlf ,g37rvn;znget m 9\4φGƒV+-KcOiE:b4hSwӪ[LJ:Ӭ5_m녦:5_歯kY#{^v[:<6iN*Z>..^w.]޾iD׏A,(׫!AW JG޵DXKAjyQ̝Ȍ&Cv@ s%%^1&0YKN= SKi5%GFwv TjU7n=Juҫd[ʳCnڲ>7W4hh25cXmd_6uǔKY Z>Ҧ[#ftH5e컠Ю8M:,k2rѯu%ζ4;k{䀥3^ԃra΋X[o?Gv'%|Gnx9%y啀jbs AzPX"g,6Hރ5h`DaBH&~7ٍE*y$IQG"P'%TZ"\SdOf%>%xͦfQm 8ܷaMh'a( B؟#Fڞ&a\ ڟT*(k5A]zaVd~)O tBsP; k{$G7R56$PG./usr/IBMVJava/html/enterp/en_US/jdkref/images-awt/scrollbar-2.gififp$$GIF89ap!,pڋ޼Hʶ +'z9a ĢqgJlyќѪ&֨F'YN#m|b|)|Seuח%Fxg(wLj4j7yڄ)'Zk{4Z#;LfF%3GZHX- :t9 .>N^n~/?O_o0 <0… :|1ĉYY1;z2ȑ$K<2ʕ,[| 3̙4kڼ3Ν<{+СD=4ҥL:} 5ԩTZ5֭\ 6رd˚=6mٯjۺ} 7ܹt7޽|7 l8ŌKE8ɔ9͜;{ :ѤK>:j~ [󠑟bV;Eng>-eq;RW)h=v!'?`h ˛x]Թ#0:]EyFuR ` h~QG-(:aQZ]&a`}膈 ֣|@.IJH#Vv$SHv%Yؕbbi@U[U16fyԄ\f4՚Opg$Hu_g}#JhMQ}h^*"D)sb jte.iJ$`GgJkI*rRZZkѫ$j쨐$,Ίl5k/=JڢiGf7;n? rKQXdoo@VYL0Wp /,T? qOLq_\oq kZ\r,<& Ar2L/s>K#D+(tϛ5 L0u,W݆Zcs[aMhovn mMu]۲w9·߂A2ރG3޴x{! onJћ> 294P;k ky|$7R56$0./usr/IBMVJava/html/enterp/en_US/jdkref/images-awt/textarea-1.gififp$$GIF89a!,ڋ޼H扦ʶ L$ ĢL*̦ Jjܮ Nb(8HXhx)9IYiyਲ਼ *:JZjיs +*[k{k; l+\l||KL =M]m}'}] .=n~nY.zx^o _hPBT:| q(Z"/2xpbErdʎ,[f$ʏ~+8Mz.{ܙ$ 0ȑ?h$Zӭ\t_ҰXuj֞עF2kIi[;-Я<-yU;Rg` % Yt&k臞 =:O~M'شa옹{C;xݴ ė;wͧ['inx>3v?>s? o (.H >،NQGabpaP~!! b}n"` *Hc2y菍>#{0x@l)&beLZ\PJI"2ZGcW%0¥L^.WUژNYVh#D֛m#Ci'iru؟(Dt@P"Y4՘n9X.MzYC^g.꩛u SD*P5PNIT@ 맨JPg*Yj/㦋=ldښkv鬬ӎNz~9ôU[AOꋱ *q$!q ]f,D&h2Fk r;K?CV4GzrK84J=umM[u[+Uk( OkdMc}A+Jknk wW!D:3ΕXA3ߔsfWuI/.zd}ާ `#+6'.7ۥjs{]8Wnyˣu@GiU:K.H}[q?>ݿm>X,M>nNrkJjV+L %H ZAI5l` m%Bp- CPPrYu8Pp 5 "} 4"Đx7UEt@vjrV4EuubyhAQ _TW_F6`7$Xѱ}c;!F~c:&̥E243A8IqTr gbFf'JJRu s8\Ǻ$ cٍY ]$.sJVʕ%05(a&3f8)LT-1Mt6iC6))v@x]nwA ^0@^2.G]g n{XZw3jp]*la`8[0$"NyK)$vX/ rKamH8TQӍ} %QXb$-2 J1G 3| UeFH, l1/ V5HӒ]e81/n~stAFgaWYK5-X~F fFy)2-XeVIˈ4N\dN9΂b&y֙cU+u~lo:@ݱc#6] CϞv7mw p{.ύ;6G k$}$ 7R56$0 ./usr/IBMVJava/html/enterp/en_US/jdkref/images-awt/textfield-1.gififp$$GIF89a!,ڋ޼H扦ʶ L  ġL*̦ JԪjm .M KtϣGsW#Hx8i)pW :izEz&*;K; KzS+ \ fi31H98{=Ts͡%M ?3yJ_e`c×XG`!Q_v\pDy NxƁS$<4(gE"_6 1Q΍(s*ȑ.9EbJc;hMHrF6V2 HpV*Z8d(I [ cNyQ(p(gtxygS!7ۡ9u[)YH(کTRYğ0HD B)"詟:Ū"Z䫏v*k{*a9hrئuzN98$n TSZ$AƒD蠖Qc [f#` s&t :&bz c"J 7?tΙ!Ǫ+܋}EI gE,n$Njͱ,uG1*u^gsd5 BjÑKdXxFi|$Ait'F(1ʛ\F*mD I,e9/ZZe3.]ҌLE-ARdLLS35q̏ Rl]_wQՉ]5QGXbMKS'sB+l,aW_&ɽj.am{&' q~!7 H.]o8${vtkE>6 v]8'^re\oy qTl?97^uC;B8yɻ[\17fp|9]o~wӰh =L+>pG[':ǭ~J6ַܹYj;~v;9%n;<@::CiYO>x߻ʀG|VxP<~YyK\擙I|9;Oԫ~o_~oܗ;V^k ko~$!7I66$p!./usr/IBMVJava/html/enterp/en_US/jdkref/j-index.htmextf$$ "J" Fields and Methods
    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

    Index of Fields and Methods (JDK)

    J

    JANUARY. Static variable in class java.util.Calendar
    Useful constant for month.
    JAPAN. Static variable in class java.util.Locale
    Useful constant for country.
    JAPANESE. Static variable in class java.util.Locale
    Useful constant for language.
    jdbcCompliant(). Method in interface java.sql.Driver
    Report whether the Driver is a genuine JDBC COMPLIANT (tm) driver.
    join(). Method in class java.lang.Thread
    Waits for this thread to die.
    join(InetAddress). Method in class java.net.DatagramSocketImpl
    Join the multicast group.
    join(long). Method in class java.lang.Thread
    Waits at most millis milliseconds for this thread to die.
    join(long, int). Method in class java.lang.Thread
    Waits at most millis milliseconds plus nanos nanoseconds for this thread to die.
    joinGroup(InetAddress). Method in class java.net.MulticastSocket
    Joins a multicast group.
    JULY. Static variable in class java.util.Calendar
    Useful constant for month.
    JUNE. Static variable in class java.util.Calendar
    Useful constant for month.

    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


    java.applet.Applet <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="java.applet.applet_dsc.htm#_top_">java.applet.Applet (no frames)</a></b></p> </body> > l$R7I66$J3./usr/IBMVJava/html/enterp/en_US/jdkref/java.applet.applet_dsc.htmifp$$   adet <>hilnoprs"./bcgmu()=_fvwy#,ACLRSUj -:IPTx0BDFz14;GHJWq!&'+359KMNO[]k{|}28?E6VYP 9'P0oNwr@QX(Ѹ֔)s)VGf}``#?E2X0 Bͮ؂0Ѣ `?q(n93ʔE6p ` B҅ 76x?o0 ' pXh3 @!iBZQSs6٤.JV]JS2iBd  0 @8 HUG`",ZPUo4׊"M5Bմ[ ^HQIs14QIsWmyHZQ-[kTΧ9j#sE/a;%Ch]MF.%q  g ;}U,(a,ӈR74QS^BST` `%ERX0QdN#HDMy sSs< **]C_x %qjF kXK~|Y  j*gSZPQ[EV% `C (EIc!iGNχ&f5(QC Z`(TeJ]Ks0iBmyiafZQ$@  @} hvdw3 f/ad,>4;I уiGBX0Q6I~_s0iBmC?i(ZQ$@  @} hv~8]YDY MAtrJ? 6٤.JTeJ-(UiG_幦sSQk ]ZQWUvK >4;I?.a,Ӂ",KJtE[( ٽu92}}~×G(xG,fK9y/mYV'QZQΣ!x٪(^/yy|rF:??feol×/._ /ƍ q|YG ]nΣ!x٪(^/e=JQ 3;1f1v?IJ d*C_x !j*)-iGP|G>( -(U`D.$.QTRv(r҅2KSZҏ/5 }5(QLkJnZPՁ] !w@z~Nv_,g.PFd{*~[JPՁ]74&1vhT HY1BnX)G_^nH'٠ >d Ў91gٿaҎO0fY5k4v)BVUvK И٠$,И٠~|>׌lX]JPՁ]74$l؈KI B >6** 80,JQfi|:O)͊2,? 8ܾXΔu Ň!xR4JPՁ]74$l؈KI 6u~d/ :d/X~Y[̧f?4_QdJPՁ]74.S@nh\ b~fpN24#gnTy%(U`D Qٹ!6u4W%׷D !m{uER J?U ;/?3(K^f/xH}cg1voVeOUa>{*`uWd`05p@ل* JQ9b3Z7 Jz:X0QuCh$=ERJ?U3s߬8ܿE?s*`uWd` >/$80,#%I 5!quQTa7dך%(Wk?Gaschg 1ZѹJPՁ]MnM@`$.Y6b`)G_O?QyyhJPՁ]Mnk#$&7U,C_)G_O?QyyhJPՁ]hnXDbBcf!s QT1Ctĥ?Q@~zyd XU,(yvKkB 梩bvMyRv0eogy5gPft=>|s_pA)BVUvK {RH\* JQU9|Y@t^7n}kBGt?Q~|~{Rݟn~%(U`DaH\QTRv©ټkpvK;^2;X]GgJUiBDdy LZPIj` ZQT=l%4E0(Uw(٤-ER҅W} ] I QTE&1vj-iB,ZQyni&1vh)BiBD\Z d^k!sJSZ҅W}hnXDbBcf!j*(47O-EQ-(<41qmUvK >54]=!xKTQ_;5)'@J;_FkFie?v簊2f>e9d ҏv[WZ3O QE(]^/d~(!xџYfњѸd/2Ns0iBÃU/SRb҅[~?p0Ã6}~>=k4%YfY)B]VTQkJ?Wk`D%' K4q{!j2 QFBj*1(Yac+y~_?lF.%(^pNZҏUX0QB $,Ш^UNs0iBÃU/ * *2ť -(Wk76Ypx1l8p`_ϬQ{vxᄥ ҏv[WZ3O QE(]3%Ch|.a,Ӂ",^,80-E Ũ_ģcg1vi)G}E73p֔]74 *s@yxiG*ܵvE[*AChS$7dך$ZPnh.GfQkJbҏsL`D%Iɯ4]YDY 5横_74RrB]K=^hNkQT; *2ť -(WkᙧiϬ;/ƥGf_p0Ѥ2Gm`GhϬlF.ퟜpƌn_Gj2J7 D:soX(i@!\~G`:i q@1EiGTb7@bQQZ=J:1}QY@T %E f'3m82 (!xzQ2}(^/ԍ<~ϙS6F)B]V]JLZQ_}ƥGf%(^f'ZQ_gN?<}fw~5*;7$JQ-E](QV ;nhLbШ?pKJZ ]uEQ-(<4Ϊ @} j1vi54?pf8^"XLbШ?p* ]t@EFXV| 4g̃13ӝ7:Q!~ 73ƶPyƘ='QZQld RUj*iB-(Uw(dB;_HZ -rɴ Z҅FX86mpC_soX_YRb҅[~'Y[ټɴ %(TV~ܴz Qٹ)TQkJ?WkzXO_qg٤cMfGg~"~Or1xK3bRUXI֔]MLу.a,Ӂh~!rɴ K19Wd`mC t`~K4q{!aP:0~?TU-(E[֔(r҅W}MnM@`$-ER҅d-iB,ZQynil~Y6!U,(D&v>m%p8E-c=ERJTeJnZQ0eo6~f&7,QZQ֫rҏUX.Gf QE(]zafZ573qͽgf4i)G}EFɂTQkJ?Wk`D&i&@s0iɴ 6Hӱl$&7U/T]MLу.a,Ӂ",@QTnZZPJ]v "lݭ>bmyDKJZ 梋ZPx[gߛ 87kOWd`mydך.a,Ӂ",TU/3D *2ť -(WkO3ԍ<~yy~_k:QȞ֟>9 t@tS7nO2yc=q}pG̖}fz\+[) ϞJ~:Q۳)ckpQZQ֫rҏUX.Gf QE(]3x#מɯ7=qug֟>9%(E[֔(r҅W}74umCĐKJZF-iB,ZQyniU,(D%Q.a,Ӂ",qER @} _IpN|8JP,ZPrҏv|?O2F2,? ߬Sk/(2Y'FBg(^/+{gS_yG8pƌ~ 'QZQl٬p?,v[kq8f%.ogint5ٓ1X]w=ʇ}fvF<̖c:Qܼ^Y<ʢƙ?4FܨwgJ;Nsk%c4<̖cJj-(^TvnJ`ZҏUwzÃכ+[ :RUXfi|*(fvFэdZQ_UvK >4;Iin K4q{!`QTnZZPJ]v QnKI 6u/$8]YDY  QT|U,(Di35拹K4q{!a&KJP,ZPrҏv|?O2F2,? ߬Sk/(2Y'FBg(^/ԍ<~ htΣ!xآHly h侲}(Vn}gQYr2#O;+J81;5NC|>ӎmn8xGd% :Δ|{2xf??Q}nPӨgxGJ>=;Ы'TX'&hܟVGinqs^d~Ӝ?ƚgy)B]V]JLZQ_>NO\8p`_5Z~9u<}fvF)G}vpGgt l337<խa ş'(!xR4JQ_Qk >O%EvӨYq1|80,z]8TQkJ?Wk`D&i-:w3 f/ad,u*~QWkJUiBD}NlD%!j*(}NlTQkJbҏsL`D&fG`cw3 f/ad,$lب_74$l؈UvK >/$8]YDY  QT|%(QQ-(UiG_ >OgQXI9QFB~1Ҏ!xd/Fv?IGTVpc>vk!~:4>}p9xKl:QscAlF.Gg.YØ#3kkU咔*+J?UnZQ_QkԨܔ*(E?sZ573Vl9lIJ?W-a֔l9l}ogpƌn_ %(^pNZҏUX0Q6٤]YDY >6**~QWkJUiBD}NlD%pDi!&$-ER҅sBO)͊-iB,ZQyniU,(Dbhl sb.a,Ӂ",mSK感mS `D%' K4q{!aj*ϓ%ChS&{&w3 f/ad,7dך}v JTeJnZQ3Od/}NlTQ_af hft^,80-E } žd/Fv?fOJ:Y >~Y8㇄qfK]߬GaҎcfO cg1vo:;?u}6!Y([\s\^wB,QZQ֫rҏUX.Gf QE(]'pG.pq80/ѭyYw@>GasbJQ_}+[ }6!X֍ϰJ?ϓQ_y%(^f'ZQ_g9Yq1|80,z]8TQkJ?Wk`D&fG`cw3 f/ad,$lبZQ-E](QV ;nhLbS@@iBY1AOZ҅FX:X0Q6uf( mft^,&1vj2:?, ż9E Œ*+J?UnZQ_Qk >O%Ev^{&d׵d$uk`E~rSld">M533bRUj*iB-(Uw(sBe; !j*()آZPx[gUvK >'\Ke;%p8ENKv(*ܴ]fpN24#gnTy%(࡝p2>^cB>Q)Ҏf'咔*+J?UnZQ_Qk >O%Evs^{ܰzrRm*(Wd`mC t`~K4ssBe; !fv(_kϪ%Ch]YDY уiG*ܵvE[*A4Q|~rRm6|B4?QR:vMyQFB~fIfOYØfy h.pq80,5|F}fz>ce=^q=JP(WkUiG}ERrS֔ϓ#88hּ߬Z?gg9%(E[֔(r҅W}xD4ChS$7dך$ZPPZ҅FX86]C*%Ch|.a,Ӂ",_>NJ?UvK >.LMyf8^"Xnɯ5ER(*ܴ]Cl9ly~~4cr_Y[>ycZ7>÷I c^oeF8}6<{Ἴ {씡QZQ֫rҏUX.Gf QE(]'pG.pq80/ѭyYw@>GasbJQ_}+[ }6!X֍ϰJ?ϓQ_y%(E[֔(r҅W}kۢKJZ-iB,ZQynil}n(*ܴ]S˔O%/Qxvd$wJ>7+{wt*_=ÉퟧG2^ 3lZv}eogQ\(^/_lQ̧;,uEiG <SΣ!x٪(^/͐=7%&}cgd/gJ;wik[Hd$q< h=?b9Δ}d|tuYFBm{uE Y d>:Qʹ}fu Oe(^/_pkq=(Ҏ fval3>vk!~2_,gJ:cf!xcs |5y ҏv[WZs8KJ-iG}U,({<@y=XGUvK {RH\*]""iG*ܵvE[*DKJZ-QE(TeJ8QF2k{w|kf'm`G]7YҏOiխ5S9ϬΣ!xKTQ_;5GLuk`OΣ!x"٬>:Q:y=(Ҏ fval3>vk!~2_,gJ:cf!xcs |5y ҏv[WZs8KJ-iG}U,({<@y=XGUvK nBꊥuWd`簈$.{ZQ-E](QV ;=D !j*(aZ҅FX86%(QQ-(UiG_ ;/?3(K^f/xH}cg1voV {aݟn~'|scQFV X]S?"3/? fKƍON8y^ 3b/=POJ:YgQXLbd/o>f3SV? F3NϬ0xѹ̃|;r\kf݄2 QzQ7Y:9x~>yd/=j2f(ɞvz{Nld/=TQ_;5>qgJ==V'QZQӢ;}cgd/PGQXLbd/uN~4QZQ֫rҏUXng t QE(]%y=B'K`DH[^QTnZZPJ]v "{($ZPy=֔*2ť''Rb҅[~sc9r%1vo׌G6~feonϗyXce}eonPҏO品3'S@ܲx1d/=TQ_;5qs8u/9ed%FBw@z2'QZQ|,T3^,&1vj2du IXY Ҏx[eonxBGrd%>{?,B_t]1vogK*@_>yҎ!x٬2Y[YY,gJ:'d/d/858uEiG3;N~ֶ;5@ko/?3FBa1TQ_19OƼREiGZJ?W-a%Ӏ%Ev @;^$K`DjZ I ԵER:X0QD@=TU-(E[֔(r҅2KJ궍DIHZvr+ #tF5 #tj4QI J?[%mj-Unh"Gd`mQI٤N!`A,'pPU/%%qjF kXSs9*,_UvK "SLi}(!a.w uNy> `%ERX0QkN#HDMy su^k!sxBTU-ELs֢KJ+hbUj҄(TV A$]ӉfGڑ2~4|` $Fy," Interface java.applet.AppletContext

    Interface java.applet.AppletContext

    public interface AppletContext

    This interface corresponds to an applet's environment: the document containing the applet and the other applets in the same document.

    The methods in this interface can be used by an applet to obtain information about its environment.


    Method Index

    getApplet(String)
    Finds and returns the applet in the document represented by this applet context with the given name.
    getApplets()
    Finds all the applets in the document represented by this applet context.
    getAudioClip(URL)
    Creates an audio clip.
    getImage(URL)
    Returns an Image object that can then be painted on the screen.
    showDocument(URL)
    Replaces the Web page currently being viewed with the given URL.
    showDocument(URL, String)
    Requests that the browser or applet viewer show the Web page indicated by the url argument.
    showStatus(String)
    Requests that the argument string be displayed in the "status window".

    Methods

    getAudioClip
     public abstract AudioClip getAudioClip(URL url)
    
    Creates an audio clip.

    Parameters:
    url - an absolute URL giving the location of the audio clip.
    Returns:
    the audio clip at the specified URL.
    getImage
     public abstract Image getImage(URL url)
    
    Returns an Image object that can then be painted on the screen. The url argument that is passed as an argument must specify an absolute URL.

    This method always returns immediately, whether or not the image exists. When the applet attempts to draw the image on the screen, the data will be loaded. The graphics primitives that draw the image will incrementally paint on the screen.

    Parameters:
    url - an absolute URL giving the location of the image.
    Returns:
    the image at the specified URL.
    See Also:
    Image
    getApplet
     public abstract Applet getApplet(String name)
    
    Finds and returns the applet in the document represented by this applet context with the given name. The name can be set in the HTML tag by setting the name attribute.

    Parameters:
    name - an applet name.
    Returns:
    the applet with the given name, or null if not found.
    getApplets
     public abstract Enumeration getApplets()
    
    Finds all the applets in the document represented by this applet context.

    Returns:
    an enumeration of all applets in the document represented by this applet context.
    showDocument
     public abstract void showDocument(URL url)
    
    Replaces the Web page currently being viewed with the given URL. This method may be ignored by applet contexts that are not browsers.

    Parameters:
    url - an absolute URL giving the location of the document.
    showDocument
     public abstract void showDocument(URL url,
                                       String target)
    
    Requests that the browser or applet viewer show the Web page indicated by the url argument. The target argument indicates in which HTML frame the document is to be displayed. The target argument is interpreted as follows:

    "_self" Show in the window and frame that contain the applet.
    "_parent"Show in the applet's parent frame. If the applet's frame has no parent frame, acts the same as "_self".
    "_top" Show in the top-level frame of the applet's window. If the applet's frame is the top-level frame, acts the same as "_self".
    "_blank" Show in a new, unnamed top-level window.
    nameShow in the frame or window named name. If a target named name does not already exist, a new top-level window with the specified name is created, and the document is shown there.

    An applet viewer or browser is free to ignore showDocument.

    Parameters:
    url - an absolute URL giving the location of the document.
    target - a String indicating where to display the page.
    showStatus
     public abstract void showStatus(String status)
    
    Requests that the argument string be displayed in the "status window". Many browsers and applet viewers provide such a window, where the application can inform users of its current state.

    Parameters:
    status - a string to display in the status window.

    o k$756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.applet.appletcontext_mi.htmcess.h$$ Interface java.applet.AppletStub

    Interface java.applet.AppletStub

    public interface AppletStub

    When an applet is first created, an applet stub is attached to it using the applet's setStub method. This stub serves as the interface between the applet and the browser environment or applet viewer environment in which the application is running.

    Since:
    JDK1.0
    See Also:
    setStub

    Method Index

    appletResize(int, int)
    Called when the applet wants to be resized.
    getAppletContext()
    Gets a handler to the applet's context.
    getCodeBase()
    Gets the base URL.
    getDocumentBase()
    Gets the document URL.
    getParameter(String)
    Returns the value of the named parameter in the HTML tag.
    isActive()
    Determines if the applet is active.

    Methods

    isActive
     public abstract boolean isActive()
    
    Determines if the applet is active. An applet is active just before its start method is called. It becomes inactive immediately after its stop method is called.

    Returns:
    true if the applet is active; false otherwise.
    getDocumentBase
     public abstract URL getDocumentBase()
    
    Gets the document URL.

    Returns:
    the URL of the document containing the applet.
    getCodeBase
     public abstract URL getCodeBase()
    
    Gets the base URL.

    Returns:
    the URL of the applet.
    getParameter
     public abstract String getParameter(String name)
    
    Returns the value of the named parameter in the HTML tag. For example, if an applet is specified as
      <applet code="Clock" width=50 height=50>
      <param name=Color value="blue">
      </applet>

    then a call to getParameter("Color") returns the value "blue".

    Parameters:
    name - a parameter name.
    Returns:
    the value of the named parameter.
    getAppletContext
     public abstract AppletContext getAppletContext()
    
    Gets a handler to the applet's context.

    Returns:
    the applet's context.
    appletResize
     public abstract void appletResize(int width,
                                       int height)
    
    Called when the applet wants to be resized.

    Parameters:
    width - the new requested width for the applet.
    height - the new requested height for the applet.

     kR:$b756$`b./usr/IBMVJava/html/enterp/en_US/jdkref/java.applet.appletstub_mi.htmm$$ Interface java.applet.AudioClip

    Interface java.applet.AudioClip

    public interface AudioClip

    The AudioClip interface is a simple abstraction for playing a sound clip. Multiple AudioClip items can be playing at the same time, and the resulting sound is mixed together to produce a composite.


    Method Index

    loop()
    Starts playing this audio clip in a loop.
    play()
    Starts playing this audio clip.
    stop()
    Stops playing this audio clip.

    Methods

    play
     public abstract void play()
    
    Starts playing this audio clip. Each time this method is called, the clip is restarted from the beginning.

    loop
     public abstract void loop()
    
    Starts playing this audio clip in a loop.

    stop
     public abstract void stop()
    
    Stops playing this audio clip.


    Interface java.awt.Adjustable

    Interface java.awt.Adjustable

    public interface Adjustable

    The interface for objects which have an adjustable numeric value contained within a bounded range of values.


    Variable Index

    HORIZONTAL
    The horizontal orientation.
    VERTICAL
    The vertical orientation.

    Method Index

    addAdjustmentListener(AdjustmentListener)
    Add a listener to recieve adjustment events when the value of the adjustable object changes.
    getBlockIncrement()
    Gets the block value increment for the adjustable object.
    getMaximum()
    Gets the maximum value of the adjustable object.
    getMinimum()
    Gets the minimum value of the adjustable object.
    getOrientation()
    Gets the orientation of the adjustable object.
    getUnitIncrement()
    Gets the unit value increment for the adjustable object.
    getValue()
    Gets the current value of the adjustable object.
    getVisibleAmount()
    Gets the length of the propertional indicator.
    removeAdjustmentListener(AdjustmentListener)
    Removes an adjustment listener.
    setBlockIncrement(int)
    Sets the block value increment for the adjustable object.
    setMaximum(int)
    Sets the maximum value of the adjustable object.
    setMinimum(int)
    Sets the minimum value of the adjustable object.
    setUnitIncrement(int)
    Sets the unit value increment for the adjustable object.
    setValue(int)
    Sets the current value of the adjustable object.
    setVisibleAmount(int)
    Sets the length of the proportionl indicator of the adjustable object.

    Variables

    HORIZONTAL
     public static final int HORIZONTAL
    
    The horizontal orientation.

    VERTICAL
     public static final int VERTICAL
    
    The vertical orientation.


    Methods

    getOrientation
     public abstract int getOrientation()
    
    Gets the orientation of the adjustable object.

    setMinimum
     public abstract void setMinimum(int min)
    
    Sets the minimum value of the adjustable object.

    Parameters:
    min - the minimum value
    getMinimum
     public abstract int getMinimum()
    
    Gets the minimum value of the adjustable object.

    setMaximum
     public abstract void setMaximum(int max)
    
    Sets the maximum value of the adjustable object.

    Parameters:
    max - the maximum value
    getMaximum
     public abstract int getMaximum()
    
    Gets the maximum value of the adjustable object.

    setUnitIncrement
     public abstract void setUnitIncrement(int u)
    
    Sets the unit value increment for the adjustable object.

    Parameters:
    u - the unit increment
    getUnitIncrement
     public abstract int getUnitIncrement()
    
    Gets the unit value increment for the adjustable object.

    setBlockIncrement
     public abstract void setBlockIncrement(int b)
    
    Sets the block value increment for the adjustable object.

    Parameters:
    b - the block increment
    getBlockIncrement
     public abstract int getBlockIncrement()
    
    Gets the block value increment for the adjustable object.

    setVisibleAmount
     public abstract void setVisibleAmount(int v)
    
    Sets the length of the proportionl indicator of the adjustable object.

    Parameters:
    v - the length of the indicator
    getVisibleAmount
     public abstract int getVisibleAmount()
    
    Gets the length of the propertional indicator.

    setValue
     public abstract void setValue(int v)
    
    Sets the current value of the adjustable object. This value must be within the range defined by the minimum and maximum values for this object.

    Parameters:
    v - the current value
    getValue
     public abstract int getValue()
    
    Gets the current value of the adjustable object.

    addAdjustmentListener
     public abstract void addAdjustmentListener(AdjustmentListener l)
    
    Add a listener to recieve adjustment events when the value of the adjustable object changes.

    Parameters:
    l - the listener to recieve events
    See Also:
    AdjustmentEvent
    removeAdjustmentListener
     public abstract void removeAdjustmentListener(AdjustmentListener l)
    
    Removes an adjustment listener.

    Parameters:
    l - the listener being removed
    See Also:
    AdjustmentEvent

    t)" k$ 756$@./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.adjustable_mi.htmm$$ Class java.awt.AWTError

    Class java.awt.AWTError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.awt.AWTError
    

    public class AWTError
    extends Error

    Thrown when a serious Abstract Window Toolkit error has occurred.


    Constructor Index

    AWTError(String)
    Constructs an instance of AWTError with the specified detail message.

    Constructors

    AWTError
     public AWTError(String msg)
    
    Constructs an instance of AWTError with the specified detail message.

    Parameters:
    msg - the detail message.

    /pr/ kPO$\ 756$p\./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.awterror_mi.htmm$$ Class java.awt.AWTEvent

    Class java.awt.AWTEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
    

    public abstract class AWTEvent
    extends EventObject
    super class of:
    ActionEvent, AdjustmentEvent, ComponentEvent, ItemEvent, TextEvent

    The root event class for all AWT events. This class and its subclasses supercede the original java.awt.Event class. Subclasses of this root AWTEvent class defined outside of the java.awt.event package should define event ID values greater than the value defined by RESERVED_ID_MAX. The event masks defined in this class are needed ONLY by component subclasses which are using Component.enableEvents() to select for event types not selected by registered listeners. If a listener is registered on a component, the appropriate event mask is already set internally by the component.

    See Also:
    enableEvents, ComponentEvent, FocusEvent, KeyEvent, MouseEvent, WindowEvent, ActionEvent, AdjustmentEvent, ItemEvent, TextEvent

    Variable Index

    ACTION_EVENT_MASK
    The event mask for selecting action events.
    ADJUSTMENT_EVENT_MASK
    The event mask for selecting adjustment events.
    COMPONENT_EVENT_MASK
    The event mask for selecting component events.
    consumed
    CONTAINER_EVENT_MASK
    The event mask for selecting container events.
    FOCUS_EVENT_MASK
    The event mask for selecting focus events.
    id
    ITEM_EVENT_MASK
    The event mask for selecting item events.
    KEY_EVENT_MASK
    The event mask for selecting key events.
    MOUSE_EVENT_MASK
    The event mask for selecting mouse events.
    MOUSE_MOTION_EVENT_MASK
    The event mask for selecting mouse motion events.
    RESERVED_ID_MAX
    The maximum value for reserved AWT event IDs.
    TEXT_EVENT_MASK
    The event mask for selecting text events.
    WINDOW_EVENT_MASK
    The event mask for selecting window events.

    Constructor Index

    AWTEvent(Event)
    Constructs an AWTEvent object from the parameters of a 1.0-style event.
    AWTEvent(Object, int)
    Constructs an AWTEvent object with the specified source object and type.

    Method Index

    consume()
    getID()
    Returns the event type.
    isConsumed()
    paramString()
    toString()
    Returns a string representation of the object.

    Variables

    id
     protected int id
    
    consumed
     protected boolean consumed
    
    COMPONENT_EVENT_MASK
     public static final long COMPONENT_EVENT_MASK
    
    The event mask for selecting component events.

    CONTAINER_EVENT_MASK
     public static final long CONTAINER_EVENT_MASK
    
    The event mask for selecting container events.

    FOCUS_EVENT_MASK
     public static final long FOCUS_EVENT_MASK
    
    The event mask for selecting focus events.

    KEY_EVENT_MASK
     public static final long KEY_EVENT_MASK
    
    The event mask for selecting key events.

    MOUSE_EVENT_MASK
     public static final long MOUSE_EVENT_MASK
    
    The event mask for selecting mouse events.

    MOUSE_MOTION_EVENT_MASK
     public static final long MOUSE_MOTION_EVENT_MASK
    
    The event mask for selecting mouse motion events.

    WINDOW_EVENT_MASK
     public static final long WINDOW_EVENT_MASK
    
    The event mask for selecting window events.

    ACTION_EVENT_MASK
     public static final long ACTION_EVENT_MASK
    
    The event mask for selecting action events.

    ADJUSTMENT_EVENT_MASK
     public static final long ADJUSTMENT_EVENT_MASK
    
    The event mask for selecting adjustment events.

    ITEM_EVENT_MASK
     public static final long ITEM_EVENT_MASK
    
    The event mask for selecting item events.

    TEXT_EVENT_MASK
     public static final long TEXT_EVENT_MASK
    
    The event mask for selecting text events.

    RESERVED_ID_MAX
     public static final int RESERVED_ID_MAX
    
    The maximum value for reserved AWT event IDs. Programs defining their own event IDs should use IDs greater than this value.


    Constructors

    AWTEvent
     public AWTEvent(Event event)
    
    Constructs an AWTEvent object from the parameters of a 1.0-style event.

    Parameters:
    event - the old-style event
    AWTEvent
     public AWTEvent(Object source,
                     int id)
    
    Constructs an AWTEvent object with the specified source object and type.

    Parameters:
    source - the object where the event originated

    Methods

    getID
     public int getID()
    
    Returns the event type.

    toString
     public String toString()
    
    Returns a string representation of the object.

    Overrides:
    toString in class EventObject
    paramString
     public String paramString()
    
    consume
     protected void consume()
    
    isConsumed
     protected boolean isConsumed()
    

    r k&4$ 756$0./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.awtevent_mi.htmm$$ Class java.awt.AWTException

    Class java.awt.AWTException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.awt.AWTException
    

    public class AWTException
    extends Exception

    Signals that an Absract Window Toolkit exception has occurred.


    Constructor Index

    AWTException(String)
    Constructs an instance of AWTException with the specified detail message.

    Constructors

    AWTException
     public AWTException(String msg)
    
    Constructs an instance of AWTException with the specified detail message. A detail message is an instance of String that describes this particular exception.

    Parameters:
    msg - the detail message

     k$l 756$pl./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.awtexception_mi.htmi.$$ Class java.awt.Canvas

    Class java.awt.Canvas

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Canvas
    

    public class Canvas
    extends Component

    A Canvas component represents a blank rectangular area of the screen onto which the application can draw or from which the application can trap input events from the user.

    An application must subclass the Canvas class in order to get useful functionality such as creating a custom component. The paint method must be overridden in order to perform custom graphics on the canvas.


    Constructor Index

    Canvas()
    Constructs a new Canvas.

    Method Index

    addNotify()
    Creates the peer of the canvas.
    paint(Graphics)
    This method is called to repaint this canvas.

    Constructors

    Canvas
     public Canvas()
    
    Constructs a new Canvas.


    Methods

    addNotify
     public void addNotify()
    
    Creates the peer of the canvas. This peer allows you to change the user interface of the canvas without changing its functionality.

    Overrides:
    addNotify in class Component
    See Also:
    createCanvas, getToolkit
    paint
     public void paint(Graphics g)
    
    This method is called to repaint this canvas. Most applications that subclass Canvas should override this method in order to perform some useful operation.

    The paint method provided by Canvas redraws this canvas's rectangle in the background color.

    The graphics context's origin (0, 0) is the top-left corner of this canvas. Its clipping region is the area of the context.

    Parameters:
    g - the graphics context.
    Overrides:
    paint in class Component
    See Also:
    Graphics

    o k$  756$`~ ./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.canvas_mi.htm$$ Class java.awt.CheckboxGroup

    Class java.awt.CheckboxGroup

    java.lang.Object
       |
       +----java.awt.CheckboxGroup
    

    public class CheckboxGroup
    extends Object
    implements Serializable

    The CheckboxGroup class is used to group together a set of Checkbox buttons.

    Exactly one check box button in a CheckboxGroup can be in the "on" state at any given time. Pushing any button sets its state to "on" and forces any other button that is in the "on" state into the "off" state.

    The following code example produces a new check box group, with three check boxes:


     setLayout(new GridLayout(3, 1));
     CheckboxGroup cbg = new CheckboxGroup();
     add(new Checkbox("one", cbg, true));
     add(new Checkbox("two", cbg, false));
     add(new Checkbox("three", cbg, false));
     

    This image depicts the check box group created by this example:

    Since:
    JDK1.0
    See Also:
    Checkbox

    Constructor Index

    CheckboxGroup()
    Creates a new instance of CheckboxGroup.

    Method Index

    getCurrent()
    Deprecated.
    getSelectedCheckbox()
    Gets the current choice from this check box group.
    setCurrent(Checkbox)
    Deprecated.
    setSelectedCheckbox(Checkbox)
    Sets the currently selected check box in this group to be the specified check box.
    toString()
    Returns a string representation of this check box group, including the value of its current selection.

    Constructors

    CheckboxGroup
     public CheckboxGroup()
    
    Creates a new instance of CheckboxGroup.


    Methods

    getSelectedCheckbox
     public Checkbox getSelectedCheckbox()
    
    Gets the current choice from this check box group. The current choice is the check box in this group that is currently in the "on" state, or null if all check boxes in the group are off.

    Returns:
    the check box that is currently in the "on" state, or null.
    See Also:
    Checkbox, setSelectedCheckbox
    getCurrent
     public Checkbox getCurrent()
    
    Note: getCurrent() is deprecated. As of JDK version 1.1, replaced by getSelectedCheckbox().

    setSelectedCheckbox
     public synchronized void setSelectedCheckbox(Checkbox box)
    
    Sets the currently selected check box in this group to be the specified check box. This method sets the state of that check box to "on" and sets all other check boxes in the group to be off.

    If the check box argument is null or belongs to a different check box group, then this method does nothing.

    Parameters:
    box - the Checkbox to set as the current selection.
    See Also:
    Checkbox, getSelectedCheckbox
    setCurrent
     public synchronized void setCurrent(Checkbox box)
    
    Note: setCurrent() is deprecated. As of JDK version 1.1, replaced by setSelectedCheckbox(Checkbox).

    toString
     public String toString()
    
    Returns a string representation of this check box group, including the value of its current selection.

    Returns:
    a string representation of this check box group.
    Overrides:
    toString in class Object

    dCheck k@$ 756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.checkboxgroup_mi.htm.$$ Class java.awt.Cursor

    Class java.awt.Cursor

    java.lang.Object
       |
       +----java.awt.Cursor
    

    public class Cursor
    extends Object
    implements Serializable

    A class to encapsulate the bitmap representation of the mouse cursor.

    See Also:
    setCursor

    Variable Index

    CROSSHAIR_CURSOR
    The crosshair cursor type.
    DEFAULT_CURSOR
    The default cursor type (gets set if no cursor is defined).
    E_RESIZE_CURSOR
    The east-resize cursor type.
    HAND_CURSOR
    The hand cursor type.
    MOVE_CURSOR
    The move cursor type.
    N_RESIZE_CURSOR
    The north-resize cursor type.
    NE_RESIZE_CURSOR
    The north-east-resize cursor type.
    NW_RESIZE_CURSOR
    The north-west-resize cursor type.
    predefined
    S_RESIZE_CURSOR
    The south-resize cursor type.
    SE_RESIZE_CURSOR
    The south-east-resize cursor type.
    SW_RESIZE_CURSOR
    The south-west-resize cursor type.
    TEXT_CURSOR
    The text cursor type.
    W_RESIZE_CURSOR
    The west-resize cursor type.
    WAIT_CURSOR
    The wait cursor type.

    Constructor Index

    Cursor(int)
    Creates a new cursor object with the specified type.

    Method Index

    getDefaultCursor()
    Return the system default cursor.
    getPredefinedCursor(int)
    Returns a cursor object with the specified predefined type.
    getType()
    Returns the type for this cursor.

    Variables

    DEFAULT_CURSOR
     public static final int DEFAULT_CURSOR
    
    The default cursor type (gets set if no cursor is defined).

    CROSSHAIR_CURSOR
     public static final int CROSSHAIR_CURSOR
    
    The crosshair cursor type.

    TEXT_CURSOR
     public static final int TEXT_CURSOR
    
    The text cursor type.

    WAIT_CURSOR
     public static final int WAIT_CURSOR
    
    The wait cursor type.

    SW_RESIZE_CURSOR
     public static final int SW_RESIZE_CURSOR
    
    The south-west-resize cursor type.

    SE_RESIZE_CURSOR
     public static final int SE_RESIZE_CURSOR
    
    The south-east-resize cursor type.

    NW_RESIZE_CURSOR
     public static final int NW_RESIZE_CURSOR
    
    The north-west-resize cursor type.

    NE_RESIZE_CURSOR
     public static final int NE_RESIZE_CURSOR
    
    The north-east-resize cursor type.

    N_RESIZE_CURSOR
     public static final int N_RESIZE_CURSOR
    
    The north-resize cursor type.

    S_RESIZE_CURSOR
     public static final int S_RESIZE_CURSOR
    
    The south-resize cursor type.

    W_RESIZE_CURSOR
     public static final int W_RESIZE_CURSOR
    
    The west-resize cursor type.

    E_RESIZE_CURSOR
     public static final int E_RESIZE_CURSOR
    
    The east-resize cursor type.

    HAND_CURSOR
     public static final int HAND_CURSOR
    
    The hand cursor type.

    MOVE_CURSOR
     public static final int MOVE_CURSOR
    
    The move cursor type.

    predefined
     protected static Cursor predefined[]
    

    Constructors

    Cursor
     public Cursor(int type)
    
    Creates a new cursor object with the specified type.

    Parameters:
    type - the type of cursor

    Methods

    getPredefinedCursor
     public static Cursor getPredefinedCursor(int type)
    
    Returns a cursor object with the specified predefined type.

    Parameters:
    type - the type of predefined cursor
    getDefaultCursor
     public static Cursor getDefaultCursor()
    
    Return the system default cursor.

    getType
     public int getType()
    
    Returns the type for this cursor.


    Class java.awt.datatransfer.Clipboard

    Class java.awt.datatransfer.Clipboard

    java.lang.Object
       |
       +----java.awt.datatransfer.Clipboard
    

    public class Clipboard
    extends Object

    A class which implements a mechanism to transfer data using cut/copy/paste operations.


    Variable Index

    contents
    owner

    Constructor Index

    Clipboard(String)
    Creates a clipboard object.

    Method Index

    getContents(Object)
    Returns a transferable object representing the current contents of the clipboard.
    getName()
    Returns the name of this clipboard object.
    setContents(Transferable, ClipboardOwner)
    Sets the current contents of the clipboard to the specified transferable object and registers the specified clipboard owner as the owner of the new contents.

    Variables

    owner
     protected ClipboardOwner owner
    
    contents
     protected Transferable contents
    

    Constructors

    Clipboard
     public Clipboard(String name)
    
    Creates a clipboard object.


    Methods

    getName
     public String getName()
    
    Returns the name of this clipboard object.

    setContents
     public synchronized void setContents(Transferable contents,
                                          ClipboardOwner owner)
    
    Sets the current contents of the clipboard to the specified transferable object and registers the specified clipboard owner as the owner of the new contents. If there is an existing owner registered, that owner is notified that it no longer holds ownership of the clipboard contents.

    Parameters:
    content - the transferable object representing the clipboard content
    owner - the object which owns the clipboard content
    getContents
     public synchronized Transferable getContents(Object requestor)
    
    Returns a transferable object representing the current contents of the clipboard. If the clipboard currently has no contents, it returns null.

    Parameters:
    requestor - the object requesting the clip data
    Returns:
    the current transferable object on the clipboard

     k^$756$P}./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.datatransfer.clipboard_mi.htm$$ Interface java.awt.datatransfer.ClipboardOwner

    Interface java.awt.datatransfer.ClipboardOwner

    public interface ClipboardOwner

    Defines the interface for classes that will provide data to a clipboard.


    Method Index

    lostOwnership(Clipboard, Transferable)
    Notifies this object that it is no longer the owner of the contents of the clipboard.

    Methods

    lostOwnership
     public abstract void lostOwnership(Clipboard clipboard,
                                        Transferable contents)
    
    Notifies this object that it is no longer the owner of the contents of the clipboard.

    Parameters:
    clipboard - the clipboard that is no longer owned
    contents - the contents which this owner had placed on the clipboard

     kBÙ$756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.datatransfer.clipboardowner_mi.htm$$ Class java.awt.datatransfer.DataFlavor

    Class java.awt.datatransfer.DataFlavor

    java.lang.Object
       |
       +----java.awt.datatransfer.DataFlavor
    

    public class DataFlavor
    extends Object

    Each instance represents the opaque concept of a data format as would appear on a clipboard, during drag and drop, or in a file system.


    Variable Index

    plainTextFlavor
    The DataFlavor representing plain text with unicode encoding, where:

    representationClass = InputStream
    mimeType = "text/plain; charset=unicode"

    stringFlavor
    The DataFlavor representing a Java Unicode String class, where:

    representationClass = java.lang.String
    /** The DataFlavor representing a Java Unicode String class, where:

    representationClass = java.lang.String
    mimeType = "application/x-java-serialized-object"


    Constructor Index

    DataFlavor(Class, String)
    Construct a DataFlavor that represents a Java class

    The returned DataFlavor will have the following characteristics

    representationClass = representationClass
    mimeType = application/x-java-serialized-object

    DataFlavor(String, String)
    Construct a DataFlavor that represents a MimeType

    The returned DataFlavor will have the following characteristics:

    If the mimeType is "application/x-java-serialized-object; class=", the result is the same as calling new DataFlavor(Class:forName() as above

    otherwise:

    representationClass = InputStream
    mimeType = mimeType


    Method Index

    equals(DataFlavor)
    getHumanPresentableName()
    Returns the human presentable name for the data foramt that this DataFlavor represents.
    getMimeType()
    Returns the MIME type string for this DataFlavor
    getRepresentationClass()
    Returns the Class which objects supporting this DataFlavor will return when this DataFlavor is requested.
    isMimeTypeEqual(DataFlavor)
    Convenience function equivalent to calling: isMimeTypeEqual(dataFlavor.getMimeType());
    isMimeTypeEqual(String)
    Is the string representation of the MIME type passed in equivalent to the MIME type of this DataFlavor.
    normalizeMimeType(String)
    Called for each MIME type string to give DataFlavor subtypes the opportunity to change how the normalization of MIME types is accomplished.
    normalizeMimeTypeParameter(String, String)
    Called on DataFlavor for every MIME Type parameter to allow DataFlavor subclasses to handle special parameters like the text/plain charset parameters, whose values are case insensitive.
    setHumanPresentableName(String)
    Sets the human presentable name for the data format that this DataFlavor represents.

    Variables

    stringFlavor
     public static final DataFlavor stringFlavor
    
    The DataFlavor representing a Java Unicode String class, where:

    representationClass = java.lang.String
    /** The DataFlavor representing a Java Unicode String class, where:

    representationClass = java.lang.String
    mimeType = "application/x-java-serialized-object"

    plainTextFlavor
     public static final DataFlavor plainTextFlavor
    
    The DataFlavor representing plain text with unicode encoding, where:

    representationClass = InputStream
    mimeType = "text/plain; charset=unicode"


    Constructors

    DataFlavor
     public DataFlavor(Class representationClass,
                       String humanPresentableName)
    
    Construct a DataFlavor that represents a Java class

    The returned DataFlavor will have the following characteristics

    representationClass = representationClass
    mimeType = application/x-java-serialized-object

    Parameters:
    representationClass - the class used to transfer data in this flavor
    humanPresentableName - the human-readible string used to identify this flavor
    DataFlavor
     public DataFlavor(String mimeType,
                       String humanPresentableName)
    
    Construct a DataFlavor that represents a MimeType

    The returned DataFlavor will have the following characteristics:

    If the mimeType is "application/x-java-serialized-object; class=", the result is the same as calling new DataFlavor(Class:forName() as above

    otherwise:

    representationClass = InputStream
    mimeType = mimeType

    Parameters:
    mimeType - the string used to identify the MIME type for this flavor
    humanPresentableName - the human-readible string used to identify this flavor

    Methods

    getMimeType
     public String getMimeType()
    
    Returns the MIME type string for this DataFlavor

    getRepresentationClass
     public Class getRepresentationClass()
    
    Returns the Class which objects supporting this DataFlavor will return when this DataFlavor is requested.

    getHumanPresentableName
     public String getHumanPresentableName()
    
    Returns the human presentable name for the data foramt that this DataFlavor represents. This name would be localized for different countries

    setHumanPresentableName
     public void setHumanPresentableName(String humanPresentableName)
    
    Sets the human presentable name for the data format that this DataFlavor represents. This name would be localized for different countries

    equals
     public boolean equals(DataFlavor dataFlavor)
    
    isMimeTypeEqual
     public boolean isMimeTypeEqual(String mimeType)
    
    Is the string representation of the MIME type passed in equivalent to the MIME type of this DataFlavor. This may involve adding default attributes for some MIME types (like adding charset=US-ASCII to text/plain MIME types that have no charset parameter specified)

    isMimeTypeEqual
     public final boolean isMimeTypeEqual(DataFlavor dataFlavor)
    
    Convenience function equivalent to calling: isMimeTypeEqual(dataFlavor.getMimeType());

    normalizeMimeTypeParameter
     protected String normalizeMimeTypeParameter(String parameterName,
                                                 String parameterValue)
    
    Called on DataFlavor for every MIME Type parameter to allow DataFlavor subclasses to handle special parameters like the text/plain charset parameters, whose values are case insensitive. (MIME type parameter values are supposed to be case sensitive.

    This method is called for each parameter name/value pair and should return the normalized representation of the parameterValue

    normalizeMimeType
     protected String normalizeMimeType(String mimeType)
    
    Called for each MIME type string to give DataFlavor subtypes the opportunity to change how the normalization of MIME types is accomplished. One possible use would be to add default parameter/value pairs in cases where none are present in the MIME type string passed in


    Class java.awt.datatransfer.StringSelection

    Class java.awt.datatransfer.StringSelection

    java.lang.Object
       |
       +----java.awt.datatransfer.StringSelection
    

    public class StringSelection
    extends Object
    implements Transferable, ClipboardOwner

    A class which implements the capability required to transfer a simple java String in plain text format.


    Constructor Index

    StringSelection(String)
    Creates a transferable object capable of transferring the specified string in plain text format.

    Method Index

    getTransferData(DataFlavor)
    If the data was requested in the "java.lang.String" flavor, return the String representing the selection.
    getTransferDataFlavors()
    Returns the array of flavors in which it can provide the data.
    isDataFlavorSupported(DataFlavor)
    Returns whether the requested flavor is supported by this object.
    lostOwnership(Clipboard, Transferable)

    Constructors

    StringSelection
     public StringSelection(String data)
    
    Creates a transferable object capable of transferring the specified string in plain text format.


    Methods

    getTransferDataFlavors
     public synchronized DataFlavor[] getTransferDataFlavors()
    
    Returns the array of flavors in which it can provide the data.

    isDataFlavorSupported
     public boolean isDataFlavorSupported(DataFlavor flavor)
    
    Returns whether the requested flavor is supported by this object.

    Parameters:
    flavor - the requested flavor for the data
    getTransferData
     public synchronized Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
    
    If the data was requested in the "java.lang.String" flavor, return the String representing the selection.

    Parameters:
    flavor - the requested flavor for the data
    Throws: UnsupportedFlavorException
    if the requested data flavor is not supported in the "java.lang.String" flavor.
    lostOwnership
     public void lostOwnership(Clipboard clipboard,
                               Transferable contents)
    

    quired  kə$C756$PzC./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.datatransfer.stringselection_mi.htm$$ Interface java.awt.datatransfer.Transferable

    Interface java.awt.datatransfer.Transferable

    public interface Transferable

    Defines the interface for classes that can be used to provide data for a transfer operation.


    Method Index

    getTransferData(DataFlavor)
    Returns an object which represents the data to be transferred.
    getTransferDataFlavors()
    Returns an array of DataFlavor objects indicating the flavors the data can be provided in.
    isDataFlavorSupported(DataFlavor)
    Returns whether or not the specified data flavor is supported for this object.

    Methods

    getTransferDataFlavors
     public abstract DataFlavor[] getTransferDataFlavors()
    
    Returns an array of DataFlavor objects indicating the flavors the data can be provided in. The array should be ordered according to preference for providing the data (from most richly descriptive to least descriptive).

    Returns:
    an array of data flavors in which this data can be transferred
    isDataFlavorSupported
     public abstract boolean isDataFlavorSupported(DataFlavor flavor)
    
    Returns whether or not the specified data flavor is supported for this object.

    Parameters:
    flavor - the requested flavor for the data
    Returns:
    boolean indicating wjether or not the data flavor is supported
    getTransferData
     public abstract Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
    
    Returns an object which represents the data to be transferred. The class of the object returned is defined by the representation class of the flavor.

    Parameters:
    flavor - the requested flavor for the data
    Throws: IOException
    if the data is no longer available in the requested flavor.
    Throws: UnsupportedFlavorException
    if the requested data flavor is not supported.
    See Also:
    getRepresentationClass

    e Am I? kꖼ̙$756$`~./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.datatransfer.transferable_mi.htmm$$ Class java.awt.datatransfer.UnsupportedFlavorException

    Class java.awt.datatransfer.UnsupportedFlavorException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.awt.datatransfer.UnsupportedFlavorException
    

    public class UnsupportedFlavorException
    extends Exception

    Signals that the requested data is not supported in this flavor.

    See Also:
    getTransferData

    Constructor Index

    UnsupportedFlavorException(DataFlavor)
    Constructs an UnsupportedFlavorException.

    Constructors

    UnsupportedFlavorException
     public UnsupportedFlavorException(DataFlavor flavor)
    
    Constructs an UnsupportedFlavorException.

    Parameters:
    flavor - the flavor object which caused the exception

    / kbϙ$756$ph./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.datatransfer.unsupportedflavorexception_mi.htm$$ Class java.awt.Dialog

    Class java.awt.Dialog

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Window
                               |
                               +----java.awt.Dialog
    

    public class Dialog
    extends Window
    super class of:
    FileDialog

    A class that produces a dialog - a window that takes input from the user. The default layout for a dialog is BorderLayout.

    Dialogs are capable of generating the following window events: WindowOpened, WindowClosing, WindowClosed, WindowActivated, WindowDeactivated.

    Since:
    JDK1.0
    See Also:
    WindowEvent, addWindowListener

    Constructor Index

    Dialog(Frame)
    Constructs an initially invisible Dialog with an empty title.
    Dialog(Frame, boolean)
    Constructs an initially invisible Dialog with an empty title.
    Dialog(Frame, String)
    Constructs an initially invisible Dialog with a title.
    Dialog(Frame, String, boolean)
    Constructs an initially invisible Dialog with a title.

    Method Index

    addNotify()
    Creates the dialog's peer.
    getTitle()
    Gets the title of the dialog.
    isModal()
    Indicates whether the dialog is modal.
    isResizable()
    Indicates whether this dialog window is resizable.
    paramString()
    Returns the parameter string representing the state of this dialog window.
    setModal(boolean)
    Specifies whether this dialog is modal.
    setResizable(boolean)
    Sets the resizable flag.
    setTitle(String)
    Sets the title of the Dialog.
    show()
    Shows the dialog.

    Constructors

    Dialog
     public Dialog(Frame parent)
    
    Constructs an initially invisible Dialog with an empty title.

    Parameters:
    parent - the owner of the dialog
    See Also:
    setSize, setVisible
    Dialog
     public Dialog(Frame parent,
                   boolean modal)
    
    Constructs an initially invisible Dialog with an empty title. A modal Dialog grabs all the input to the parent frame from the user.

    Parameters:
    parent - the owner of the dialog
    modal - if true, dialog blocks input to the parent window when shown
    Dialog
     public Dialog(Frame parent,
                   String title)
    
    Constructs an initially invisible Dialog with a title.

    Parameters:
    parent - the owner of the dialog
    title - the title of the dialog
    See Also:
    setSize, setVisible
    Dialog
     public Dialog(Frame parent,
                   String title,
                   boolean modal)
    
    Constructs an initially invisible Dialog with a title. A modal Dialog grabs all the input to the parent frame from the user.

    Parameters:
    parent - the owner of the dialog
    title - the title of the dialog
    modal - if true, dialog blocks input to the parent window when shown
    See Also:
    setSize, setVisible

    Methods

    addNotify
     public void addNotify()
    
    Creates the dialog's peer. The peer allows us to change the appearance of the frame without changing its functionality.

    Overrides:
    addNotify in class Window
    isModal
     public boolean isModal()
    
    Indicates whether the dialog is modal. A modal dialog grabs all input from the user.

    Returns:
    true if this dialog window is modal; false otherwise.
    See Also:
    setModal
    setModal
     public void setModal(boolean b)
    
    Specifies whether this dialog is modal. A modal Dialog grabs all the input to the parent frame from the user.

    See Also:
    isModal
    getTitle
     public String getTitle()
    
    Gets the title of the dialog.

    Returns:
    the title of this dialog window.
    See Also:
    setTitle
    setTitle
     public synchronized void setTitle(String title)
    
    Sets the title of the Dialog.

    Parameters:
    title - the new title being given to the dialog
    See Also:
    getTitle
    show
     public void show()
    
    Shows the dialog. This will bring the dialog to the front if the dialog is already visible. If the dialog is modal, this call will block input to the parent window until the dialog is taken down by calling hide or dispose. It is permissible to show modal dialogs from the event dispatching thread because the toolkit will ensure that another dispatching thread will run while the one which invoked show is blocked.

    Overrides:
    show in class Window
    See Also:
    hide
    isResizable
     public boolean isResizable()
    
    Indicates whether this dialog window is resizable.

    Returns:
    true if the user can resize the dialog; false otherwise.
    See Also:
    setResizable
    setResizable
     public synchronized void setResizable(boolean resizable)
    
    Sets the resizable flag.

    Parameters:
    resizable - true if the user can resize this dialog; false otherwise.
    See Also:
    isResizable
    paramString
     protected String paramString()
    
    Returns the parameter string representing the state of this dialog window. This string is useful for debugging.

    Returns:
    the parameter string of this dialog window.
    Overrides:
    paramString in class Container

    ial kfvҙ$756$@q./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.dialog_mi.htm$$ Class java.awt.Dimension

    Class java.awt.Dimension

    java.lang.Object
       |
       +----java.awt.Dimension
    

    public class Dimension
    extends Object
    implements Serializable

    The Dimension class encapsulates the width and height of a component in a single object. The class is associated with certain properties of components. Several methods defined by the Component class and the LayoutManager interface return a Dimension object.

    Normally the values of width and height are non-negative integers. The constructors that allow you to create a dimension do not prevent you from setting a negative value for these properties. If the value of width or height is negative, the behavior of some methods defined by other objects is undefined.

    Since:
    JDK1.0
    See Also:
    Component, LayoutManager

    Variable Index

    height
    The height dimension.
    width
    The width dimension.

    Constructor Index

    Dimension()
    Creates an instance of Dimension with a width of zero and a height of zero.
    Dimension(Dimension)
    Creates an instance of Dimension whose width and height are the same as for the specified dimension.
    Dimension(int, int)
    Constructs a Dimension and initializes it to the specified width and specified height.

    Method Index

    equals(Object)
    Checks whether two dimension objects have equal values.
    getSize()
    Gets the size of this Dimension object.
    setSize(Dimension)
    Set the size of this Dimension object to the specified size.
    setSize(int, int)
    Set the size of this Dimension object to the specified width and height.
    toString()
    Returns a string that represents this Dimension object's values.

    Variables

    width
     public int width
    
    The width dimension.

    height
     public int height
    
    The height dimension.


    Constructors

    Dimension
     public Dimension()
    
    Creates an instance of Dimension with a width of zero and a height of zero.

    Dimension
     public Dimension(Dimension d)
    
    Creates an instance of Dimension whose width and height are the same as for the specified dimension.

    Parameters:
    d - the specified dimension for the width and height values.
    Dimension
     public Dimension(int width,
                      int height)
    
    Constructs a Dimension and initializes it to the specified width and specified height.

    Parameters:
    width - the specified width dimension
    height - the specified height dimension

    Methods

    getSize
     public Dimension getSize()
    
    Gets the size of this Dimension object. This method is included for completeness, to parallel the getSize method defined by Component.

    Returns:
    the size of this dimension, a new instance of Dimension with the same width and height.
    See Also:
    setSize, getSize
    setSize
     public void setSize(Dimension d)
    
    Set the size of this Dimension object to the specified size. This method is included for completeness, to parallel the setSize method defined by Component.

    Parameters:
    d - the new size for this Dimension object.
    See Also:
    getSize, setSize
    setSize
     public void setSize(int width,
                         int height)
    
    Set the size of this Dimension object to the specified width and height. This method is included for completeness, to parallel the setSize method defined by Component.

    Parameters:
    width - the new width for this Dimension object.
    height - the new height for this Dimension object.
    See Also:
    getSize, setSize
    equals
     public boolean equals(Object obj)
    
    Checks whether two dimension objects have equal values.

    Overrides:
    equals in class Object
    toString
     public String toString()
    
    Returns a string that represents this Dimension object's values.

    Returns:
    a string representation of this dimension, including the values of width and height.
    Overrides:
    toString in class Object

    ters kfՙ$756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.dimension_mi.htmporte$$ Class java.awt.event.ActionEvent

    Class java.awt.event.ActionEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.ActionEvent
    

    public class ActionEvent
    extends AWTEvent

    The action semantic event.

    See Also:
    ActionListener

    Variable Index

    ACTION_FIRST
    Marks the first integer id for the range of action event ids.
    ACTION_LAST
    Marks the last integer id for the range of action event ids.
    ACTION_PERFORMED
    An action performed event type.
    ALT_MASK
    The alt modifier constant.
    CTRL_MASK
    The control modifier constant.
    META_MASK
    The meta modifier constant.
    SHIFT_MASK
    The shift modifier constant.

    Constructor Index

    ActionEvent(Object, int, String)
    Constructs an ActionEvent object with the specified source object.
    ActionEvent(Object, int, String, int)
    Constructs an ActionEvent object with the specified source object.

    Method Index

    getActionCommand()
    Returns the command name associated with this action.
    getModifiers()
    Returns the modifiers held down during this action event.
    paramString()

    Variables

    SHIFT_MASK
     public static final int SHIFT_MASK
    
    The shift modifier constant.

    CTRL_MASK
     public static final int CTRL_MASK
    
    The control modifier constant.

    META_MASK
     public static final int META_MASK
    
    The meta modifier constant.

    ALT_MASK
     public static final int ALT_MASK
    
    The alt modifier constant.

    ACTION_FIRST
     public static final int ACTION_FIRST
    
    Marks the first integer id for the range of action event ids.

    ACTION_LAST
     public static final int ACTION_LAST
    
    Marks the last integer id for the range of action event ids.

    ACTION_PERFORMED
     public static final int ACTION_PERFORMED
    
    An action performed event type.


    Constructors

    ActionEvent
     public ActionEvent(Object source,
                        int id,
                        String command)
    
    Constructs an ActionEvent object with the specified source object.

    Parameters:
    source - the object where the event originated
    id - the type of event
    command - the command string for this action event
    ActionEvent
     public ActionEvent(Object source,
                        int id,
                        String command,
                        int modifiers)
    
    Constructs an ActionEvent object with the specified source object.

    Parameters:
    source - the object where the event originated
    id - the type of event
    command - the command string for this action event
    modifiers - the modifiers held down during this action

    Methods

    getActionCommand
     public String getActionCommand()
    
    Returns the command name associated with this action.

    getModifiers
     public int getModifiers()
    
    Returns the modifiers held down during this action event.

    paramString
     public String paramString()
    
    Overrides:
    paramString in class AWTEvent

    difi kؙ$5756$@5./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.actionevent_mi.htmavore$$ Interface java.awt.event.ActionListener

    Interface java.awt.event.ActionListener

    public interface ActionListener
    extends EventListener

    The listener interface for receiving action events.


    Method Index

    actionPerformed(ActionEvent)
    Invoked when an action occurs.

    Methods

    actionPerformed
     public abstract void actionPerformed(ActionEvent e)
    
    Invoked when an action occurs.


     kۙ$756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.actionlistener_mi.htmre$$ Class java.awt.event.AdjustmentEvent

    Class java.awt.event.AdjustmentEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.AdjustmentEvent
    

    public class AdjustmentEvent
    extends AWTEvent

    The adjustment event emitted by Adjustable objects.

    See Also:
    Adjustable, AdjustmentListener

    Variable Index

    ADJUSTMENT_FIRST
    Marks the first integer id for the range of adjustment event ids.
    ADJUSTMENT_LAST
    Marks the last integer id for the range of adjustment event ids.
    ADJUSTMENT_VALUE_CHANGED
    The adjustment value changed event.
    BLOCK_DECREMENT
    The block decrement adjustment type.
    BLOCK_INCREMENT
    The block increment adjustment type.
    TRACK
    The absolute tracking adjustment type.
    UNIT_DECREMENT
    The unit decrement adjustment type.
    UNIT_INCREMENT
    The unit increment adjustment type.

    Constructor Index

    AdjustmentEvent(Adjustable, int, int, int)
    Constructs a AdjustmentEvent object with the specified Adjustable source, type, and value.

    Method Index

    getAdjustable()
    Returns the Adjustable object where this event originated.
    getAdjustmentType()
    Returns the type of adjustment which caused the value changed event.
    getValue()
    Returns the current value in the adjustment event.
    paramString()

    Variables

    ADJUSTMENT_FIRST
     public static final int ADJUSTMENT_FIRST
    
    Marks the first integer id for the range of adjustment event ids.

    ADJUSTMENT_LAST
     public static final int ADJUSTMENT_LAST
    
    Marks the last integer id for the range of adjustment event ids.

    ADJUSTMENT_VALUE_CHANGED
     public static final int ADJUSTMENT_VALUE_CHANGED
    
    The adjustment value changed event.

    UNIT_INCREMENT
     public static final int UNIT_INCREMENT
    
    The unit increment adjustment type.

    UNIT_DECREMENT
     public static final int UNIT_DECREMENT
    
    The unit decrement adjustment type.

    BLOCK_DECREMENT
     public static final int BLOCK_DECREMENT
    
    The block decrement adjustment type.

    BLOCK_INCREMENT
     public static final int BLOCK_INCREMENT
    
    The block increment adjustment type.

    TRACK
     public static final int TRACK
    
    The absolute tracking adjustment type.


    Constructors

    AdjustmentEvent
     public AdjustmentEvent(Adjustable source,
                            int id,
                            int type,
                            int value)
    
    Constructs a AdjustmentEvent object with the specified Adjustable source, type, and value.

    Parameters:
    source - the Adjustable object where the event originated

    Methods

    getAdjustable
     public Adjustable getAdjustable()
    
    Returns the Adjustable object where this event originated.

    getValue
     public int getValue()
    
    Returns the current value in the adjustment event.

    getAdjustmentType
     public int getAdjustmentType()
    
    Returns the type of adjustment which caused the value changed event.

    See Also:
    UNIT_INCREMENT, UNIT_DECREMENT, BLOCK_INCREMENT, BLOCK_DECREMENT, TRACK
    paramString
     public String paramString()
    
    Overrides:
    paramString in class AWTEvent

    () k-ޙ$756$@./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.adjustmentevent_mi.htme$$ Interface java.awt.event.AdjustmentListener

    Interface java.awt.event.AdjustmentListener

    public interface AdjustmentListener
    extends EventListener

    The listener interface for receiving adjustment events.


    Method Index

    adjustmentValueChanged(AdjustmentEvent)
    Invoked when the value of the adjustable has changed.

    Methods

    adjustmentValueChanged
     public abstract void adjustmentValueChanged(AdjustmentEvent e)
    
    Invoked when the value of the adjustable has changed.


     kx!$756$p?./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.adjustmentlistener_mi.htmeption$$ Class java.awt.event.ComponentAdapter

    Class java.awt.event.ComponentAdapter

    java.lang.Object
       |
       +----java.awt.event.ComponentAdapter
    

    public abstract class ComponentAdapter
    extends Object
    implements ComponentListener

    The adapter which receives component events. The methods in this class are empty; this class is provided as a convenience for easily creating listeners by extending this class and overriding only the methods of interest.


    Constructor Index

    ComponentAdapter()

    Method Index

    componentHidden(ComponentEvent)
    componentMoved(ComponentEvent)
    componentResized(ComponentEvent)
    componentShown(ComponentEvent)

    Constructors

    ComponentAdapter
     public ComponentAdapter()
    

    Methods

    componentResized
     public void componentResized(ComponentEvent e)
    
    componentMoved
     public void componentMoved(ComponentEvent e)
    
    componentShown
     public void componentShown(ComponentEvent e)
    
    componentHidden
     public void componentHidden(ComponentEvent e)
    

    "ADJU k$756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.componentadapter_mi.htm$$ Class java.awt.event.ComponentEvent

    Class java.awt.event.ComponentEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.ComponentEvent
    

    public class ComponentEvent
    extends AWTEvent
    super class of:
    ContainerEvent, FocusEvent, InputEvent, PaintEvent, WindowEvent

    The root event class for all component-level events. These events are provided for notification purposes ONLY; The AWT will automatically handle component moves and resizes internally so that GUI layout works properly regardless of whether a program is receiving these events or not.

    See Also:
    ComponentListener

    Variable Index

    COMPONENT_FIRST
    Marks the first integer id for the range of component event ids.
    COMPONENT_HIDDEN
    The component hidden event type.
    COMPONENT_LAST
    Marks the last integer id for the range of component event ids.
    COMPONENT_MOVED
    The component moved event type.
    COMPONENT_RESIZED
    The component resized event type.
    COMPONENT_SHOWN
    The component shown event type.

    Constructor Index

    ComponentEvent(Component, int)
    Constructs a ComponentEvent object with the specified source component and type.

    Method Index

    getComponent()
    Returns the component where this event originated.
    paramString()

    Variables

    COMPONENT_FIRST
     public static final int COMPONENT_FIRST
    
    Marks the first integer id for the range of component event ids.

    COMPONENT_LAST
     public static final int COMPONENT_LAST
    
    Marks the last integer id for the range of component event ids.

    COMPONENT_MOVED
     public static final int COMPONENT_MOVED
    
    The component moved event type.

    COMPONENT_RESIZED
     public static final int COMPONENT_RESIZED
    
    The component resized event type.

    COMPONENT_SHOWN
     public static final int COMPONENT_SHOWN
    
    The component shown event type.

    COMPONENT_HIDDEN
     public static final int COMPONENT_HIDDEN
    
    The component hidden event type.


    Constructors

    ComponentEvent
     public ComponentEvent(Component source,
                           int id)
    
    Constructs a ComponentEvent object with the specified source component and type.

    Parameters:
    source - the component where the event originated

    Methods

    getComponent
     public Component getComponent()
    
    Returns the component where this event originated.

    paramString
     public String paramString()
    
    Overrides:
    paramString in class AWTEvent

     kh$ 756$P# ./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.componentevent_mi.htm$$ Interface java.awt.event.ComponentListener

    Interface java.awt.event.ComponentListener

    public interface ComponentListener
    extends EventListener

    The listener interface for receiving component events. Component events are provided for notification purposes ONLY; The AWT will automatically handle component moves and resizes internally so that GUI layout works properly regardless of whether a program registers a ComponentListener or not.


    Method Index

    componentHidden(ComponentEvent)
    Invoked when component has been hidden.
    componentMoved(ComponentEvent)
    Invoked when component has been moved.
    componentResized(ComponentEvent)
    Invoked when component has been resized.
    componentShown(ComponentEvent)
    Invoked when component has been shown.

    Methods

    componentResized
     public abstract void componentResized(ComponentEvent e)
    
    Invoked when component has been resized.

    componentMoved
     public abstract void componentMoved(ComponentEvent e)
    
    Invoked when component has been moved.

    componentShown
     public abstract void componentShown(ComponentEvent e)
    
    Invoked when component has been shown.

    componentHidden
     public abstract void componentHidden(ComponentEvent e)
    
    Invoked when component has been hidden.


    nent  kX0$j756$`j./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.componentlistener_mi.htm$$ Class java.awt.event.ContainerAdapter

    Class java.awt.event.ContainerAdapter

    java.lang.Object
       |
       +----java.awt.event.ContainerAdapter
    

    public abstract class ContainerAdapter
    extends Object
    implements ContainerListener

    The adapter which receives container events. The methods in this class are empty; this class is provided as a convenience for easily creating listeners by extending this class and overriding only the methods of interest.


    Constructor Index

    ContainerAdapter()

    Method Index

    componentAdded(ContainerEvent)
    componentRemoved(ContainerEvent)

    Constructors

    ContainerAdapter
     public ContainerAdapter()
    

    Methods

    componentAdded
     public void componentAdded(ContainerEvent e)
    
    componentRemoved
     public void componentRemoved(ContainerEvent e)
    

    va k $756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.containeradapter_mi.htm$$ Class java.awt.event.ContainerEvent

    Class java.awt.event.ContainerEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.ComponentEvent
                               |
                               +----java.awt.event.ContainerEvent
    

    public class ContainerEvent
    extends ComponentEvent

    The class for container-level events. These events are provided for notification purposes ONLY; The AWT will automatically handle container add and remove operations internally.

    See Also:
    ContainerListener

    Variable Index

    COMPONENT_ADDED
    The component moved event type.
    COMPONENT_REMOVED
    The component resized event type.
    CONTAINER_FIRST
    Marks the first integer id for the range of container event ids.
    CONTAINER_LAST
    Marks the last integer id for the range of container event ids.

    Constructor Index

    ContainerEvent(Component, int, Component)
    Constructs a ContainerEvent object with the specified source container, type, and child which is being added or removed.

    Method Index

    getChild()
    Returns the child component that was added or removed in this event.
    getContainer()
    Returns the container where this event originated.
    paramString()

    Variables

    CONTAINER_FIRST
     public static final int CONTAINER_FIRST
    
    Marks the first integer id for the range of container event ids.

    CONTAINER_LAST
     public static final int CONTAINER_LAST
    
    Marks the last integer id for the range of container event ids.

    COMPONENT_ADDED
     public static final int COMPONENT_ADDED
    
    The component moved event type.

    COMPONENT_REMOVED
     public static final int COMPONENT_REMOVED
    
    The component resized event type.


    Constructors

    ContainerEvent
     public ContainerEvent(Component source,
                           int id,
                           Component child)
    
    Constructs a ContainerEvent object with the specified source container, type, and child which is being added or removed.

    Parameters:
    source - the container where the event originated

    Methods

    getContainer
     public Container getContainer()
    
    Returns the container where this event originated.

    getChild
     public Component getChild()
    
    Returns the child component that was added or removed in this event.

    paramString
     public String paramString()
    
    Overrides:
    paramString in class ComponentEvent

    n k$756$PL./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.containerevent_mi.htm$$ Interface java.awt.event.ContainerListener

    Interface java.awt.event.ContainerListener

    public interface ContainerListener
    extends EventListener

    The listener interface for receiving container events. Container events are provided for notification purposes ONLY; The AWT will automatically handle add and remove operations internally.


    Method Index

    componentAdded(ContainerEvent)
    Invoked when a component has been added to the container.
    componentRemoved(ContainerEvent)
    Invoked when a component has been removed from the container.

    Methods

    componentAdded
     public abstract void componentAdded(ContainerEvent e)
    
    Invoked when a component has been added to the container.

    componentRemoved
     public abstract void componentRemoved(ContainerEvent e)
    
    Invoked when a component has been removed from the container.


     k'$4756$`~4./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.containerlistener_mi.htm$$ Class java.awt.event.FocusAdapter

    Class java.awt.event.FocusAdapter

    java.lang.Object
       |
       +----java.awt.event.FocusAdapter
    

    public abstract class FocusAdapter
    extends Object
    implements FocusListener

    The adapter which receives focus events. The methods in this class are empty; this class is provided as a convenience for easily creating listeners by extending this class and overriding only the methods of interest.


    Constructor Index

    FocusAdapter()

    Method Index

    focusGained(FocusEvent)
    focusLost(FocusEvent)

    Constructors

    FocusAdapter
     public FocusAdapter()
    

    Methods

    focusGained
     public void focusGained(FocusEvent e)
    
    focusLost
     public void focusLost(FocusEvent e)
    

     k,$756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.focusadapter_mi.htmhtm$$ Class java.awt.event.FocusEvent

    Class java.awt.event.FocusEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.ComponentEvent
                               |
                               +----java.awt.event.FocusEvent
    

    public class FocusEvent
    extends ComponentEvent

    The component-level focus event. There are two levels of focus change events: permanent and temporary. Permanent focus change events occur when focus is directly moved from one component to another, such as through calls to requestFocus() or as the user uses the Tab key to traverse components. Temporary focus change events occur when focus is temporarily gained or lost for a component as the indirect result of another operation, such as window deactivation or a scrollbar drag. In this case, the original focus state will automatically be restored once that operation is finished, or, for the case of window deactivation, when the window is reactivated. Both permanent and temporary focus events are delivered using the FOCUS_GAINED and FOCUS_LOST event ids; the levels may be distinguished in the event using the isTemporary() method.


    Variable Index

    FOCUS_FIRST
    Marks the first integer id for the range of focus event ids.
    FOCUS_GAINED
    The focus gained event type.
    FOCUS_LAST
    Marks the last integer id for the range of focus event ids.
    FOCUS_LOST
    The focus lost event type.

    Constructor Index

    FocusEvent(Component, int)
    Constructs a permanent-level FocusEvent object with the specified source component and type.
    FocusEvent(Component, int, boolean)
    Constructs a FocusEvent object with the specified source component, type, and whether or not the focus event is a temporary level event.

    Method Index

    isTemporary()
    Returns whether or not this focus change event is a temporary change.
    paramString()

    Variables

    FOCUS_FIRST
     public static final int FOCUS_FIRST
    
    Marks the first integer id for the range of focus event ids.

    FOCUS_LAST
     public static final int FOCUS_LAST
    
    Marks the last integer id for the range of focus event ids.

    FOCUS_GAINED
     public static final int FOCUS_GAINED
    
    The focus gained event type.

    FOCUS_LOST
     public static final int FOCUS_LOST
    
    The focus lost event type.


    Constructors

    FocusEvent
     public FocusEvent(Component source,
                       int id,
                       boolean temporary)
    
    Constructs a FocusEvent object with the specified source component, type, and whether or not the focus event is a temporary level event.

    Parameters:
    source - the object where the event originated
    FocusEvent
     public FocusEvent(Component source,
                       int id)
    
    Constructs a permanent-level FocusEvent object with the specified source component and type.

    Parameters:
    source - the object where the event originated

    Methods

    isTemporary
     public boolean isTemporary()
    
    Returns whether or not this focus change event is a temporary change.

    paramString
     public String paramString()
    
    Overrides:
    paramString in class ComponentEvent

     k$|756$Pt|./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.focusevent_mi.htmhtm$$ Interface java.awt.event.FocusListener

    Interface java.awt.event.FocusListener

    public interface FocusListener
    extends EventListener

    The listener interface for receiving keyboard focus events on a component.


    Method Index

    focusGained(FocusEvent)
    Invoked when a component gains the keyboard focus.
    focusLost(FocusEvent)
    Invoked when a component loses the keyboard focus.

    Methods

    focusGained
     public abstract void focusGained(FocusEvent e)
    
    Invoked when a component gains the keyboard focus.

    focusLost
     public abstract void focusLost(FocusEvent e)
    
    Invoked when a component loses the keyboard focus.


     k+$756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.focuslistener_mi.htmtm$$ Class java.awt.event.InputEvent

    Class java.awt.event.InputEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.ComponentEvent
                               |
                               +----java.awt.event.InputEvent
    

    public abstract class InputEvent
    extends ComponentEvent
    super class of:
    KeyEvent, MouseEvent

    The root event class for all component-level input events. Input events are delivered to listeners before they are processed normally by the source where they originated. This allows listeners and component subclasses to "consume" the event so that the source will not process them in their default manner. For example, consuming mousePressed events on a Button component will prevent the Button from being activated.


    Variable Index

    ALT_MASK
    The alt key modifier constant.
    BUTTON1_MASK
    The mouse button1 modifier constant.
    BUTTON2_MASK
    The mouse button2 modifier constant.
    BUTTON3_MASK
    The mouse button3 modifier constant.
    CTRL_MASK
    The control key modifier constant.
    META_MASK
    The meta key modifier constant.
    SHIFT_MASK
    The shift key modifier constant.

    Method Index

    consume()
    Consumes this event so that it will not be processed in the default manner by the source which originated it.
    getModifiers()
    Returns the modifiers flag for this event.
    getWhen()
    Returns the timestamp of when this event occurred.
    isAltDown()
    Returns whether or not the Alt modifier is down on this event.
    isConsumed()
    Returns whether or not this event has been consumed.
    isControlDown()
    Returns whether or not the Control modifier is down on this event.
    isMetaDown()
    Returns whether or not the Meta modifier is down on this event.
    isShiftDown()
    Returns whether or not the Shift modifier is down on this event.

    Variables

    SHIFT_MASK
     public static final int SHIFT_MASK
    
    The shift key modifier constant.

    CTRL_MASK
     public static final int CTRL_MASK
    
    The control key modifier constant.

    META_MASK
     public static final int META_MASK
    
    The meta key modifier constant.

    ALT_MASK
     public static final int ALT_MASK
    
    The alt key modifier constant.

    BUTTON1_MASK
     public static final int BUTTON1_MASK
    
    The mouse button1 modifier constant.

    BUTTON2_MASK
     public static final int BUTTON2_MASK
    
    The mouse button2 modifier constant.

    BUTTON3_MASK
     public static final int BUTTON3_MASK
    
    The mouse button3 modifier constant.


    Methods

    isShiftDown
     public boolean isShiftDown()
    
    Returns whether or not the Shift modifier is down on this event.

    isControlDown
     public boolean isControlDown()
    
    Returns whether or not the Control modifier is down on this event.

    isMetaDown
     public boolean isMetaDown()
    
    Returns whether or not the Meta modifier is down on this event.

    isAltDown
     public boolean isAltDown()
    
    Returns whether or not the Alt modifier is down on this event.

    getWhen
     public long getWhen()
    
    Returns the timestamp of when this event occurred.

    getModifiers
     public int getModifiers()
    
    Returns the modifiers flag for this event.

    consume
     public void consume()
    
    Consumes this event so that it will not be processed in the default manner by the source which originated it.

    Overrides:
    consume in class AWTEvent
    isConsumed
     public boolean isConsumed()
    
    Returns whether or not this event has been consumed.

    Overrides:
    isConsumed in class AWTEvent
    See Also:
    consume

    ()  k$756$@./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.inputevent_mi.htmmtm$$ Class java.awt.event.ItemEvent

    Class java.awt.event.ItemEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.ItemEvent
    

    public class ItemEvent
    extends AWTEvent

    The item event emitted by ItemSelectable objects. This event is generated when an item is selected or de-selected.

    See Also:
    ItemSelectable, ItemListener

    Variable Index

    DESELECTED
    The item de-selected state change type.
    ITEM_FIRST
    Marks the first integer id for the range of item event ids.
    ITEM_LAST
    Marks the last integer id for the range of item event ids.
    ITEM_STATE_CHANGED
    The item state changed event type.
    SELECTED
    The item selected state change type.

    Constructor Index

    ItemEvent(ItemSelectable, int, Object, int)
    Constructs a ItemSelectEvent object with the specified ItemSelectable source, type, item, and item select state.

    Method Index

    getItem()
    Returns the item where the event occurred.
    getItemSelectable()
    Returns the ItemSelectable object where this event originated.
    getStateChange()
    Returns the state change type which generated the event.
    paramString()

    Variables

    ITEM_FIRST
     public static final int ITEM_FIRST
    
    Marks the first integer id for the range of item event ids.

    ITEM_LAST
     public static final int ITEM_LAST
    
    Marks the last integer id for the range of item event ids.

    ITEM_STATE_CHANGED
     public static final int ITEM_STATE_CHANGED
    
    The item state changed event type.

    SELECTED
     public static final int SELECTED
    
    The item selected state change type.

    DESELECTED
     public static final int DESELECTED
    
    The item de-selected state change type.


    Constructors

    ItemEvent
     public ItemEvent(ItemSelectable source,
                      int id,
                      Object item,
                      int stateChange)
    
    Constructs a ItemSelectEvent object with the specified ItemSelectable source, type, item, and item select state.

    Parameters:
    source - the ItemSelectable object where the event originated

    Methods

    getItemSelectable
     public ItemSelectable getItemSelectable()
    
    Returns the ItemSelectable object where this event originated.

    getItem
     public Object getItem()
    
    Returns the item where the event occurred.

    getStateChange
     public int getStateChange()
    
    Returns the state change type which generated the event.

    See Also:
    SELECTED, DESELECTED
    paramString
     public String paramString()
    
    Overrides:
    paramString in class AWTEvent

    t k$4756$P4./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.itemevent_mi.htm$$ Interface java.awt.event.ItemListener

    Interface java.awt.event.ItemListener

    public interface ItemListener
    extends EventListener

    The listener interface for receiving item events.

    See Also:
    ItemSelectable

    Method Index

    itemStateChanged(ItemEvent)
    Invoked when an item's state has been changed.

    Methods

    itemStateChanged
     public abstract void itemStateChanged(ItemEvent e)
    
    Invoked when an item's state has been changed.


     k?$756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.itemlistener_mi.htmtm$$ Class java.awt.event.KeyAdapter

    Class java.awt.event.KeyAdapter

    java.lang.Object
       |
       +----java.awt.event.KeyAdapter
    

    public abstract class KeyAdapter
    extends Object
    implements KeyListener

    The adapter which receives keyboard events. The methods in this class are empty; this class is provided as a convenience for easily creating listeners by extending this class and overriding only the methods of interest.


    Constructor Index

    KeyAdapter()

    Method Index

    keyPressed(KeyEvent)
    keyReleased(KeyEvent)
    keyTyped(KeyEvent)

    Constructors

    KeyAdapter
     public KeyAdapter()
    

    Methods

    keyTyped
     public void keyTyped(KeyEvent e)
    
    keyPressed
     public void keyPressed(KeyEvent e)
    
    keyReleased
     public void keyReleased(KeyEvent e)
    

    2>  k $756$`b./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.keyadapter_mi.htmtm$$ Interface java.awt.event.KeyListener

    Interface java.awt.event.KeyListener

    public interface KeyListener
    extends EventListener

    The listener interface for receiving keyboard events.


    Method Index

    keyPressed(KeyEvent)
    Invoked when a key has been pressed.
    keyReleased(KeyEvent)
    Invoked when a key has been released.
    keyTyped(KeyEvent)
    Invoked when a key has been typed.

    Methods

    keyTyped
     public abstract void keyTyped(KeyEvent e)
    
    Invoked when a key has been typed. This event occurs when a key press is followed by a key release.

    keyPressed
     public abstract void keyPressed(KeyEvent e)
    
    Invoked when a key has been pressed.

    keyReleased
     public abstract void keyReleased(KeyEvent e)
    
    Invoked when a key has been released.


     k$t756$`t./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.keylistener_mi.htmtm$$ Class java.awt.event.MouseAdapter

    Class java.awt.event.MouseAdapter

    java.lang.Object
       |
       +----java.awt.event.MouseAdapter
    

    public abstract class MouseAdapter
    extends Object
    implements MouseListener

    The adapter which receives mouse events. The methods in this class are empty; this class is provided as a convenience for easily creating listeners by extending this class and overriding only the methods of interest.


    Constructor Index

    MouseAdapter()

    Method Index

    mouseClicked(MouseEvent)
    mouseEntered(MouseEvent)
    mouseExited(MouseEvent)
    mousePressed(MouseEvent)
    mouseReleased(MouseEvent)

    Constructors

    MouseAdapter
     public MouseAdapter()
    

    Methods

    mouseClicked
     public void mouseClicked(MouseEvent e)
    
    mousePressed
     public void mousePressed(MouseEvent e)
    
    mouseReleased
     public void mouseReleased(MouseEvent e)
    
    mouseEntered
     public void mouseEntered(MouseEvent e)
    
    mouseExited
     public void mouseExited(MouseEvent e)
    

    a./ kꠄ$$756$P"$./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.mouseadapter_mi.htmtm$$ Class java.awt.event.MouseEvent

    Class java.awt.event.MouseEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.ComponentEvent
                               |
                               +----java.awt.event.InputEvent
                                       |
                                       +----java.awt.event.MouseEvent
    

    public class MouseEvent
    extends InputEvent

    The mouse event.


    Variable Index

    MOUSE_CLICKED
    The mouse clicked event type.
    MOUSE_DRAGGED
    The mouse dragged event type.
    MOUSE_ENTERED
    The mouse entered event type.
    MOUSE_EXITED
    The mouse exited event type.
    MOUSE_FIRST
    Marks the first integer id for the range of mouse event ids.
    MOUSE_LAST
    Marks the last integer id for the range of mouse event ids.
    MOUSE_MOVED
    The mouse moved event type.
    MOUSE_PRESSED
    The mouse pressed event type.
    MOUSE_RELEASED
    The mouse released event type.

    Constructor Index

    MouseEvent(Component, int, long, int, int, int, int, boolean)
    Constructs a MouseEvent object with the specified source component, type, modifiers, coordinates, and click count.

    Method Index

    getClickCount()
    Return the number of mouse clicks associated with this event.
    getPoint()
    Returns the x,y position of the event relative to the source component.
    getX()
    Returns the x position of the event relative to the source component.
    getY()
    Returns the y position of the event relative to the source component.
    isPopupTrigger()
    Returns whether or not this mouse event is the popup-menu trigger event for the platform.
    paramString()
    translatePoint(int, int)
    Translates the coordinate position of the event by x, y.

    Variables

    MOUSE_FIRST
     public static final int MOUSE_FIRST
    
    Marks the first integer id for the range of mouse event ids.

    MOUSE_LAST
     public static final int MOUSE_LAST
    
    Marks the last integer id for the range of mouse event ids.

    MOUSE_CLICKED
     public static final int MOUSE_CLICKED
    
    The mouse clicked event type.

    MOUSE_PRESSED
     public static final int MOUSE_PRESSED
    
    The mouse pressed event type.

    MOUSE_RELEASED
     public static final int MOUSE_RELEASED
    
    The mouse released event type.

    MOUSE_MOVED
     public static final int MOUSE_MOVED
    
    The mouse moved event type.

    MOUSE_ENTERED
     public static final int MOUSE_ENTERED
    
    The mouse entered event type.

    MOUSE_EXITED
     public static final int MOUSE_EXITED
    
    The mouse exited event type.

    MOUSE_DRAGGED
     public static final int MOUSE_DRAGGED
    
    The mouse dragged event type.


    Constructors

    MouseEvent
     public MouseEvent(Component source,
                       int id,
                       long when,
                       int modifiers,
                       int x,
                       int y,
                       int clickCount,
                       boolean popupTrigger)
    
    Constructs a MouseEvent object with the specified source component, type, modifiers, coordinates, and click count.

    Parameters:
    source - the object where the event originated

    Methods

    getX
     public int getX()
    
    Returns the x position of the event relative to the source component.

    getY
     public int getY()
    
    Returns the y position of the event relative to the source component.

    getPoint
     public Point getPoint()
    
    Returns the x,y position of the event relative to the source component.

    translatePoint
     public synchronized void translatePoint(int x,
                                             int y)
    
    Translates the coordinate position of the event by x, y.

    Parameters:
    x - the x value added to the current x coordinate position
    y - the y value added to the current y coordinate position
    getClickCount
     public int getClickCount()
    
    Return the number of mouse clicks associated with this event.

    isPopupTrigger
     public boolean isPopupTrigger()
    
    Returns whether or not this mouse event is the popup-menu trigger event for the platform.

    paramString
     public String paramString()
    
    Overrides:
    paramString in class ComponentEvent

    > kz$756$09./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.mouseevent_mi.htmtm$$ Interface java.awt.event.MouseListener

    Interface java.awt.event.MouseListener

    public interface MouseListener
    extends EventListener

    The listener interface for receiving mouse events on a component.


    Method Index

    mouseClicked(MouseEvent)
    Invoked when the mouse has been clicked on a component.
    mouseEntered(MouseEvent)
    Invoked when the mouse enters a component.
    mouseExited(MouseEvent)
    Invoked when the mouse exits a component.
    mousePressed(MouseEvent)
    Invoked when a mouse button has been pressed on a component.
    mouseReleased(MouseEvent)
    Invoked when a mouse button has been released on a component.

    Methods

    mouseClicked
     public abstract void mouseClicked(MouseEvent e)
    
    Invoked when the mouse has been clicked on a component.

    mousePressed
     public abstract void mousePressed(MouseEvent e)
    
    Invoked when a mouse button has been pressed on a component.

    mouseReleased
     public abstract void mouseReleased(MouseEvent e)
    
    Invoked when a mouse button has been released on a component.

    mouseEntered
     public abstract void mouseEntered(MouseEvent e)
    
    Invoked when the mouse enters a component.

    mouseExited
     public abstract void mouseExited(MouseEvent e)
    
    Invoked when the mouse exits a component.


    ign=" kD$756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.mouselistener_mi.htmtm$$ Class java.awt.event.MouseMotionAdapter

    Class java.awt.event.MouseMotionAdapter

    java.lang.Object
       |
       +----java.awt.event.MouseMotionAdapter
    

    public abstract class MouseMotionAdapter
    extends Object
    implements MouseMotionListener

    The adapter which receives mouse motion events. The methods in this class are empty; this class is provided as a convenience for easily creating listeners by extending this class and overriding only the methods of interest.


    Constructor Index

    MouseMotionAdapter()

    Method Index

    mouseDragged(MouseEvent)
    mouseMoved(MouseEvent)

    Constructors

    MouseMotionAdapter
     public MouseMotionAdapter()
    

    Methods

    mouseDragged
     public void mouseDragged(MouseEvent e)
    
    mouseMoved
     public void mouseMoved(MouseEvent e)
    

    ld/ k$756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.mousemotionadapter_mi.htmeption$$ Interface java.awt.event.MouseMotionListener

    Interface java.awt.event.MouseMotionListener

    public interface MouseMotionListener
    extends EventListener

    The listener interface for receiving mouse motion events on a component.


    Method Index

    mouseDragged(MouseEvent)
    Invoked when a mouse button is pressed on a component and then dragged.
    mouseMoved(MouseEvent)
    Invoked when the mouse button has been moved on a component (with no buttons no down).

    Methods

    mouseDragged
     public abstract void mouseDragged(MouseEvent e)
    
    Invoked when a mouse button is pressed on a component and then dragged. Mouse drag events will continue to be delivered to the component where the first originated until the mouse button is released (regardless of whether the mouse position is within the bounds of the component).

    mouseMoved
     public abstract void mouseMoved(MouseEvent e)
    
    Invoked when the mouse button has been moved on a component (with no buttons no down).


     kꠜ$756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.mousemotionlistener_mi.htmption$$ Class java.awt.event.PaintEvent

    Class java.awt.event.PaintEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.ComponentEvent
                               |
                               +----java.awt.event.PaintEvent
    

    public class PaintEvent
    extends ComponentEvent

    The component-level paint event. This event is a special type which is used to ensure that paint/update method calls are serialized along with the other events delivered from the event queue. This event is not designed to be used with the Event Listener model; programs should continue to override paint/update methods in order render themselves properly.


    Variable Index

    PAINT
    The paint event type.
    PAINT_FIRST
    Marks the first integer id for the range of paint event ids.
    PAINT_LAST
    Marks the last integer id for the range of paint event ids.
    UPDATE
    The update event type.

    Constructor Index

    PaintEvent(Component, int, Rectangle)
    Constructs a PaintEvent object with the specified source component and type.

    Method Index

    getUpdateRect()
    Returns the rectangle representing the area which needs to be repainted in response to this event.
    paramString()
    setUpdateRect(Rectangle)
    Sets the rectangle representing the area which needs to be repainted in response to this event.

    Variables

    PAINT_FIRST
     public static final int PAINT_FIRST
    
    Marks the first integer id for the range of paint event ids.

    PAINT_LAST
     public static final int PAINT_LAST
    
    Marks the last integer id for the range of paint event ids.

    PAINT
     public static final int PAINT
    
    The paint event type.

    UPDATE
     public static final int UPDATE
    
    The update event type.


    Constructors

    PaintEvent
     public PaintEvent(Component source,
                       int id,
                       Rectangle updateRect)
    
    Constructs a PaintEvent object with the specified source component and type.

    Parameters:
    source - the object where the event originated

    Methods

    getUpdateRect
     public Rectangle getUpdateRect()
    
    Returns the rectangle representing the area which needs to be repainted in response to this event.

    setUpdateRect
     public void setUpdateRect(Rectangle updateRect)
    
    Sets the rectangle representing the area which needs to be repainted in response to this event.

    Parameters:
    updateRect - the rectangle area which needs to be repainted
    paramString
     public String paramString()
    
    Overrides:
    paramString in class ComponentEvent

    " k^!$s756$P@s./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.paintevent_mi.htm_mi.ht$$ Class java.awt.event.TextEvent

    Class java.awt.event.TextEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.TextEvent
    

    public class TextEvent
    extends AWTEvent

    The text event emitted by TextComponents.

    See Also:
    TextComponent, TextEventListener

    Variable Index

    TEXT_FIRST
    Marks the first integer id for the range of adjustment event ids.
    TEXT_LAST
    Marks the last integer id for the range of adjustment event ids.
    TEXT_VALUE_CHANGED
    The adjustment value changed event.

    Constructor Index

    TextEvent(Object, int)
    Constructs a TextEvent object with the specified TextComponent source, and type.

    Method Index

    paramString()

    Variables

    TEXT_FIRST
     public static final int TEXT_FIRST
    
    Marks the first integer id for the range of adjustment event ids.

    TEXT_LAST
     public static final int TEXT_LAST
    
    Marks the last integer id for the range of adjustment event ids.

    TEXT_VALUE_CHANGED
     public static final int TEXT_VALUE_CHANGED
    
    The adjustment value changed event.


    Constructors

    TextEvent
     public TextEvent(Object source,
                      int id)
    
    Constructs a TextEvent object with the specified TextComponent source, and type.

    Parameters:
    source - the TextComponent where the event originated

    Methods

    paramString
     public String paramString()
    
    Overrides:
    paramString in class AWTEvent

    > Interface java.awt.event.TextListener

    Interface java.awt.event.TextListener

    public interface TextListener
    extends EventListener

    The listener interface for receiving adjustment events.


    Method Index

    textValueChanged(TextEvent)
    Invoked when the value of the text has changed.

    Methods

    textValueChanged
     public abstract void textValueChanged(TextEvent e)
    
    Invoked when the value of the text has changed.


     k,0'$756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.textlistener_mi.htmi.ht$$ Class java.awt.event.WindowAdapter

    Class java.awt.event.WindowAdapter

    java.lang.Object
       |
       +----java.awt.event.WindowAdapter
    

    public abstract class WindowAdapter
    extends Object
    implements WindowListener

    The adapter which receives window events. The methods in this class are empty; this class is provided as a convenience for easily creating listeners by extending this class and overriding only the methods of interest.


    Constructor Index

    WindowAdapter()

    Method Index

    windowActivated(WindowEvent)
    windowClosed(WindowEvent)
    windowClosing(WindowEvent)
    windowDeactivated(WindowEvent)
    windowDeiconified(WindowEvent)
    windowIconified(WindowEvent)
    windowOpened(WindowEvent)

    Constructors

    WindowAdapter
     public WindowAdapter()
    

    Methods

    windowOpened
     public void windowOpened(WindowEvent e)
    
    windowClosing
     public void windowClosing(WindowEvent e)
    
    windowClosed
     public void windowClosed(WindowEvent e)
    
    windowIconified
     public void windowIconified(WindowEvent e)
    
    windowDeiconified
     public void windowDeiconified(WindowEvent e)
    
    windowActivated
     public void windowActivated(WindowEvent e)
    
    windowDeactivated
     public void windowDeactivated(WindowEvent e)
    

    ord k*$q756$Pq./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.windowadapter_mi.htm.ht$$ Class java.awt.event.WindowEvent

    Class java.awt.event.WindowEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----java.awt.event.ComponentEvent
                               |
                               +----java.awt.event.WindowEvent
    

    public class WindowEvent
    extends ComponentEvent

    The window-level event.


    Variable Index

    WINDOW_ACTIVATED
    The window activated event type.
    WINDOW_CLOSED
    The window closed event type.
    WINDOW_CLOSING
    The window closing event type.
    WINDOW_DEACTIVATED
    The window deactivated event type.
    WINDOW_DEICONIFIED
    The window deiconified event type.
    WINDOW_FIRST
    Marks the first integer id for the range of window event ids.
    WINDOW_ICONIFIED
    The window iconified event type.
    WINDOW_LAST
    Marks the last integer id for the range of window event ids.
    WINDOW_OPENED
    The window opened event type.

    Constructor Index

    WindowEvent(Window, int)
    Constructs a WindowEvent object with the specified source window and type.

    Method Index

    getWindow()
    Returns the window where this event originated.
    paramString()

    Variables

    WINDOW_FIRST
     public static final int WINDOW_FIRST
    
    Marks the first integer id for the range of window event ids.

    WINDOW_LAST
     public static final int WINDOW_LAST
    
    Marks the last integer id for the range of window event ids.

    WINDOW_OPENED
     public static final int WINDOW_OPENED
    
    The window opened event type. This event is delivered only the first time a window is made visible.

    WINDOW_CLOSING
     public static final int WINDOW_CLOSING
    
    The window closing event type. This event is delivered when the user selects "Quit" from the window's system menu. If the program does not explicitly hide or destroy the window as a result of this event, the window close operation will be cancelled.

    WINDOW_CLOSED
     public static final int WINDOW_CLOSED
    
    The window closed event type. This event is delivered after the window has been closed as the result of a call to hide or destroy.

    WINDOW_ICONIFIED
     public static final int WINDOW_ICONIFIED
    
    The window iconified event type.

    WINDOW_DEICONIFIED
     public static final int WINDOW_DEICONIFIED
    
    The window deiconified event type.

    WINDOW_ACTIVATED
     public static final int WINDOW_ACTIVATED
    
    The window activated event type.

    WINDOW_DEACTIVATED
     public static final int WINDOW_DEACTIVATED
    
    The window deactivated event type.


    Constructors

    WindowEvent
     public WindowEvent(Window source,
                        int id)
    
    Constructs a WindowEvent object with the specified source window and type.

    Parameters:
    source - the component where the event originated

    Methods

    getWindow
     public Window getWindow()
    
    Returns the window where this event originated.

    paramString
     public String paramString()
    
    Overrides:
    paramString in class ComponentEvent

    dl> < k<-$756$@f./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.event.windowevent_mi.htm.ht$$ Interface java.awt.event.WindowListener

    Interface java.awt.event.WindowListener

    public interface WindowListener
    extends EventListener

    The listener interface for receiving window events.


    Method Index

    windowActivated(WindowEvent)
    Invoked when a window is activated.
    windowClosed(WindowEvent)
    Invoked when a window has been closed.
    windowClosing(WindowEvent)
    Invoked when a window is in the process of being closed.
    windowDeactivated(WindowEvent)
    Invoked when a window is de-activated.
    windowDeiconified(WindowEvent)
    Invoked when a window is de-iconified.
    windowIconified(WindowEvent)
    Invoked when a window is iconified.
    windowOpened(WindowEvent)
    Invoked when a window has been opened.

    Methods

    windowOpened
     public abstract void windowOpened(WindowEvent e)
    
    Invoked when a window has been opened.

    windowClosing
     public abstract void windowClosing(WindowEvent e)
    
    Invoked when a window is in the process of being closed. The close operation can be overridden at this point.

    windowClosed
     public abstract void windowClosed(WindowEvent e)
    
    Invoked when a window has been closed.

    windowIconified
     public abstract void windowIconified(WindowEvent e)
    
    Invoked when a window is iconified.

    windowDeiconified
     public abstract void windowDeiconified(WindowEvent e)
    
    Invoked when a window is de-iconified.

    windowActivated
     public abstract void windowActivated(WindowEvent e)
    
    Invoked when a window is activated.

    windowDeactivated
     public abstract void windowDeactivated(WindowEvent e)
    
    Invoked when a window is de-activated.


    Class java.awt.EventQueue

    Class java.awt.EventQueue

    java.lang.Object
       |
       +----java.awt.EventQueue
    

    public class EventQueue
    extends Object

    EventQueue is a platform-independent class that queues events, both from the underlying peer classes and from trusted application classes. There is only one EventQueue for the system.


    Constructor Index

    EventQueue()

    Method Index

    getNextEvent()
    Remove an event from the queue and return it.
    peekEvent()
    Return the first event without removing it.
    peekEvent(int)
    postEvent(AWTEvent)
    Post a 1.1-style event to the EventQueue.

    Constructors

    EventQueue
     public EventQueue()
    

    Methods

    postEvent
     public synchronized void postEvent(AWTEvent theEvent)
    
    Post a 1.1-style event to the EventQueue.

    Parameters:
    theEvent - an instance of java.awt.AWTEvent, or a subclass of it.
    getNextEvent
     public synchronized AWTEvent getNextEvent() throws InterruptedException
    
    Remove an event from the queue and return it. This method will block until an event has been posted by another thread.

    Returns:
    the next AWTEvent
    Throws: InterruptedException
    if another thread has interrupted this thread.
    peekEvent
     public synchronized AWTEvent peekEvent()
    
    Return the first event without removing it.

    Returns:
    the first event, which is either an instance of java.awt.Event or java.awt.AWTEvent.
    peekEvent
     public synchronized AWTEvent peekEvent(int id)
    

    e-- k`5$756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.eventqueue_mi.htmr_mi$$ Class java.awt.FlowLayout

    Class java.awt.FlowLayout

    java.lang.Object
       |
       +----java.awt.FlowLayout
    

    public class FlowLayout
    extends Object
    implements LayoutManager, Serializable

    A flow layout arranges components in a left-to-right flow, much like lines of text in a paragraph. Flow layouts are typically used to arrange buttons in a panel. It will arrange buttons left to right until no more buttons fit on the same line. Each line is centered.

    For example, the following picture shows an applet using the flow layout manager (its default layout manager) to position three buttons:

    Graphic of Layout for Three Buttons

    Here is the code for this applet:


     import java.awt.*;
     import java.applet.Applet;
     public class myButtons extends Applet {
         Button button1, button2, button3;
         public void init() {
             button1 = new Button("Ok");
             button2 = new Button("Open");
             button3 = new Button("Close");
             add(button1);
             add(button2);
             add(button3);
         }
     }
     

    A flow layout lets each component assume its natural (preferred) size.


    Variable Index

    CENTER
    This value indicates that each row of components should be centered.
    LEFT
    This value indicates that each row of components should be left-justified.
    RIGHT
    This value indicates that each row of components should be right-justified.

    Constructor Index

    FlowLayout()
    Constructs a new Flow Layout with a centered alignment and a default 5-unit horizontal and vertical gap.
    FlowLayout(int)
    Constructs a new Flow Layout with the specified alignment and a default 5-unit horizontal and vertical gap.
    FlowLayout(int, int, int)
    Creates a new flow layout manager with the indicated alignment and the indicated horizontal and vertical gaps.

    Method Index

    addLayoutComponent(String, Component)
    Adds the specified component to the layout.
    getAlignment()
    Gets the alignment for this layout.
    getHgap()
    Gets the horizontal gap between components.
    getVgap()
    Gets the vertical gap between components.
    layoutContainer(Container)
    Lays out the container.
    minimumLayoutSize(Container)
    Returns the minimum dimensions needed to layout the components contained in the specified target container.
    preferredLayoutSize(Container)
    Returns the preferred dimensions for this layout given the components in the specified target container.
    removeLayoutComponent(Component)
    Removes the specified component from the layout.
    setAlignment(int)
    Sets the alignment for this layout.
    setHgap(int)
    Sets the horizontal gap between components.
    setVgap(int)
    Sets the vertical gap between components.
    toString()
    Returns a string representation of this FlowLayout object and its values.

    Variables

    LEFT
     public static final int LEFT
    
    This value indicates that each row of components should be left-justified.

    CENTER
     public static final int CENTER
    
    This value indicates that each row of components should be centered.

    RIGHT
     public static final int RIGHT
    
    This value indicates that each row of components should be right-justified.


    Constructors

    FlowLayout
     public FlowLayout()
    
    Constructs a new Flow Layout with a centered alignment and a default 5-unit horizontal and vertical gap.

    FlowLayout
     public FlowLayout(int align)
    
    Constructs a new Flow Layout with the specified alignment and a default 5-unit horizontal and vertical gap. The value of the alignment argument must be one of FlowLayout.LEFT, FlowLayout.RIGHT, or FlowLayout.CENTER.

    Parameters:
    align - the alignment value
    FlowLayout
     public FlowLayout(int align,
                       int hgap,
                       int vgap)
    
    Creates a new flow layout manager with the indicated alignment and the indicated horizontal and vertical gaps.

    The value of the alignment argument must be one of FlowLayout.LEFT, FlowLayout.RIGHT, or FlowLayout.CENTER.

    Parameters:
    align - the alignment value.
    hgap - the horizontal gap between components.
    vgap - the vertical gap between components.

    Methods

    getAlignment
     public int getAlignment()
    
    Gets the alignment for this layout. Possible values are FlowLayout.LEFT, FlowLayout.RIGHT, or FlowLayout.CENTER.

    Returns:
    the alignment value for this layout.
    See Also:
    setAlignment
    setAlignment
     public void setAlignment(int align)
    
    Sets the alignment for this layout. Possible values are FlowLayout.LEFT, FlowLayout.RIGHT, and FlowLayout.CENTER.

    Parameters:
    align - the alignment value.
    See Also:
    getAlignment
    getHgap
     public int getHgap()
    
    Gets the horizontal gap between components.

    Returns:
    the horizontal gap between components.
    See Also:
    setHgap
    setHgap
     public void setHgap(int hgap)
    
    Sets the horizontal gap between components.

    Parameters:
    hgap - the horizontal gap between components
    See Also:
    getHgap
    getVgap
     public int getVgap()
    
    Gets the vertical gap between components.

    Returns:
    the vertical gap between components.
    See Also:
    setVgap
    setVgap
     public void setVgap(int vgap)
    
    Sets the vertical gap between components.

    Parameters:
    vgap - the vertical gap between components
    See Also:
    getVgap
    addLayoutComponent
     public void addLayoutComponent(String name,
                                    Component comp)
    
    Adds the specified component to the layout. Not used by this class.

    Parameters:
    name - the name of the component
    comp - the component to be added
    removeLayoutComponent
     public void removeLayoutComponent(Component comp)
    
    Removes the specified component from the layout. Not used by this class.

    Parameters:
    comp - the component to remove
    See Also:
    removeAll
    preferredLayoutSize
     public Dimension preferredLayoutSize(Container target)
    
    Returns the preferred dimensions for this layout given the components in the specified target container.

    Parameters:
    target - the component which needs to be laid out
    Returns:
    the preferred dimensions to lay out the subcomponents of the specified container.
    See Also:
    Container, minimumLayoutSize, getPreferredSize
    minimumLayoutSize
     public Dimension minimumLayoutSize(Container target)
    
    Returns the minimum dimensions needed to layout the components contained in the specified target container.

    Parameters:
    target - the component which needs to be laid out
    Returns:
    the minimum dimensions to lay out the subcomponents of the specified container.
    See Also:
    preferredLayoutSize, Container, doLayout
    layoutContainer
     public void layoutContainer(Container target)
    
    Lays out the container. This method lets each component take its preferred size by reshaping the components in the target container in order to satisfy the constraints of this FlowLayout object.

    Parameters:
    target - the specified component being laid out.
    See Also:
    Container, doLayout
    toString
     public String toString()
    
    Returns a string representation of this FlowLayout object and its values.

    Returns:
    a string representation of this layout.
    Overrides:
    toString in class Object

    is kꦩ;$Y756$0:Y./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.flowlayout_mi.htmr_mi$$ Class java.awt.Frame

    Class java.awt.Frame

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Window
                               |
                               +----java.awt.Frame
    

    public class Frame
    extends Window
    implements MenuContainer

    A Frame is a top-level window with a title and a border. The default layout for a frame is BorderLayout. Frames are capable of generating the following types of window events: WindowOpened, WindowClosing, WindowClosed, WindowIconified, WindowDeiconified, WindowActivated, WindowDeactivated.

    Since:
    JDK1.0
    See Also:
    WindowEvent, addWindowListener

    Variable Index

    CROSSHAIR_CURSOR
    DEFAULT_CURSOR
    E_RESIZE_CURSOR
    HAND_CURSOR
    MOVE_CURSOR
    N_RESIZE_CURSOR
    NE_RESIZE_CURSOR
    NW_RESIZE_CURSOR
    S_RESIZE_CURSOR
    SE_RESIZE_CURSOR
    SW_RESIZE_CURSOR
    TEXT_CURSOR
    W_RESIZE_CURSOR
    WAIT_CURSOR

    Constructor Index

    Frame()
    Constructs a new instance of Frame that is initially invisible.
    Frame(String)
    Constructs a new, initially invisible Frame object with the specified title.

    Method Index

    addNotify()
    Creates the Frame's peer.
    dispose()
    Disposes of the Frame.
    getCursorType()
    Deprecated.
    getIconImage()
    Gets the icon image for this frame.
    getMenuBar()
    Gets the menu bar for this frame.
    getTitle()
    Gets the title of the frame.
    isResizable()
    Indicates whether this frame is resizable.
    paramString()
    Returns the parameter String of this Frame.
    remove(MenuComponent)
    Removes the specified menu bar from this frame.
    setCursor(int)
    Deprecated.
    setIconImage(Image)
    Sets the image to display when this frame is iconized.
    setMenuBar(MenuBar)
    Sets the menu bar for this frame to the specified menu bar.
    setResizable(boolean)
    Sets the resizable flag, which determines whether this frame is resizable.
    setTitle(String)
    Sets the title for this frame to the specified title.

    Variables

    DEFAULT_CURSOR
     public static final int DEFAULT_CURSOR
    
    CROSSHAIR_CURSOR
     public static final int CROSSHAIR_CURSOR
    
    TEXT_CURSOR
     public static final int TEXT_CURSOR
    
    WAIT_CURSOR
     public static final int WAIT_CURSOR
    
    SW_RESIZE_CURSOR
     public static final int SW_RESIZE_CURSOR
    
    SE_RESIZE_CURSOR
     public static final int SE_RESIZE_CURSOR
    
    NW_RESIZE_CURSOR
     public static final int NW_RESIZE_CURSOR
    
    NE_RESIZE_CURSOR
     public static final int NE_RESIZE_CURSOR
    
    N_RESIZE_CURSOR
     public static final int N_RESIZE_CURSOR
    
    S_RESIZE_CURSOR
     public static final int S_RESIZE_CURSOR
    
    W_RESIZE_CURSOR
     public static final int W_RESIZE_CURSOR
    
    E_RESIZE_CURSOR
     public static final int E_RESIZE_CURSOR
    
    HAND_CURSOR
     public static final int HAND_CURSOR
    
    MOVE_CURSOR
     public static final int MOVE_CURSOR
    

    Constructors

    Frame
     public Frame()
    
    Constructs a new instance of Frame that is initially invisible.

    See Also:
    setSize, setVisible
    Frame
     public Frame(String title)
    
    Constructs a new, initially invisible Frame object with the specified title.

    Parameters:
    title - the title for the frame
    See Also:
    setSize, setVisible

    Methods

    addNotify
     public void addNotify()
    
    Creates the Frame's peer. The peer allows us to change the look of the Frame without changing its functionality.

    Overrides:
    addNotify in class Window
    getTitle
     public String getTitle()
    
    Gets the title of the frame.

    Returns:
    the title of this frame, or null if this frame doesn't have a title.
    See Also:
    setTitle
    setTitle
     public synchronized void setTitle(String title)
    
    Sets the title for this frame to the specified title.

    Parameters:
    title - the specified title of this frame.
    See Also:
    getTitle
    getIconImage
     public Image getIconImage()
    
    Gets the icon image for this frame.

    Returns:
    the icon image for this frame, or null if this frame doesn't have an icon image.
    See Also:
    setIconImage
    setIconImage
     public synchronized void setIconImage(Image image)
    
    Sets the image to display when this frame is iconized. Not all platforms support the concept of iconizing a window.

    Parameters:
    image - the icon image to be displayed
    See Also:
    getIconImage
    getMenuBar
     public MenuBar getMenuBar()
    
    Gets the menu bar for this frame.

    Returns:
    the menu bar for this frame, or null if this frame doesn't have a menu bar.
    See Also:
    setMenuBar
    setMenuBar
     public void setMenuBar(MenuBar mb)
    
    Sets the menu bar for this frame to the specified menu bar.

    Parameters:
    mb - the menu bar being set
    See Also:
    getMenuBar
    isResizable
     public boolean isResizable()
    
    Indicates whether this frame is resizable. By default, all frames are initially resizable.

    Returns:
    true if the user can resize this frame; false otherwise.
    See Also:
    setResizable
    setResizable
     public synchronized void setResizable(boolean resizable)
    
    Sets the resizable flag, which determines whether this frame is resizable. By default, all frames are initially resizable.

    Parameters:
    resizable - true if this frame is resizable; false otherwise.
    See Also:
    isResizable
    remove
     public void remove(MenuComponent m)
    
    Removes the specified menu bar from this frame.

    Parameters:
    m - the menu component to remove.
    Overrides:
    remove in class Component
    dispose
     public void dispose()
    
    Disposes of the Frame. This method must be called to release the resources that are used for the frame. All components contained by the frame and all windows owned by the frame will also be destroyed.

    Overrides:
    dispose in class Window
    paramString
     protected String paramString()
    
    Returns the parameter String of this Frame.

    Overrides:
    paramString in class Container
    setCursor
     public synchronized void setCursor(int cursorType)
    
    Note: setCursor() is deprecated. As of JDK version 1.1, replaced by Component.setCursor(Cursor).

    getCursorType
     public int getCursorType()
    
    Note: getCursorType() is deprecated. As of JDK version 1.1, replaced by Component.getCursor().


     kD$ 756$ ./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.frame_mi.htm.$$ Class java.awt.GridBagConstraints

    Class java.awt.GridBagConstraints

    java.lang.Object
       |
       +----java.awt.GridBagConstraints
    

    public class GridBagConstraints
    extends Object
    implements Cloneable, Serializable

    The GridBagConstraints class specifies constraints for components that are laid out using the GridBagLayout class.

    Since:
    JDK1.0
    See Also:
    GridBagLayout

    Variable Index

    anchor
    This field is used when the component is smaller than its display area.
    BOTH
    Resize the component both horizontally and vertically.
    CENTER
    Put the component in the center of its display area.
    EAST
    Put the component on the right side of its display area, centered vertically.
    fill
    This field is used when the component's display area is larger than the component's requested size.
    gridheight
    Specifies the number of cells in a column for the component's display area.
    gridwidth
    Specifies the number of cells in a row for the component's display area.
    gridx
    Specifies the cell at the left of the component's display area, where the leftmost cell has gridx = 0.
    gridy
    Specifies the cell at the top of the component's display area, where the topmost cell has gridy = 0.
    HORIZONTAL
    Resize the component horizontally but not vertically.
    insets
    This field specifies the external padding of the component, the minimum amount of space between the component and the edges of its display area.
    ipadx
    This field specifies the internal padding of the component, how much space to add to the minimum width of the component.
    ipady
    This field specifies the internal padding, that is, how much space to add to the minimum height of the component.
    NONE
    Do not resize the component.
    NORTH
    Put the component at the top of its display area, centered horizontally.
    NORTHEAST
    Put the component at the top-right corner of its display area.
    NORTHWEST
    Put the component at the top-left corner of its display area.
    RELATIVE
    Specify that this component is the next-to-last component in its column or row (gridwidth, gridheight), or that this component be placed next to the previously added component (gridx, gridy).
    REMAINDER
    Specify that this component is the last component in its column or row.
    SOUTH
    Put the component at the bottom of its display area, centered horizontally.
    SOUTHEAST
    Put the component at the bottom-right corner of its display area.
    SOUTHWEST
    Put the component at the bottom-left corner of its display area.
    VERTICAL
    Resize the component vertically but not horizontally.
    weightx
    Specifies how to distribute extra horizontal space.
    weighty
    Specifies how to distribute extra vertical space.
    WEST
    Put the component on the left side of its display area, centered vertically.

    Constructor Index

    GridBagConstraints()
    Creates a GridBagConstraint object with all of its fields set to their default value.

    Method Index

    clone()
    Creates a copy of this grid bag constraint.

    Variables

    RELATIVE
     public static final int RELATIVE
    
    Specify that this component is the next-to-last component in its column or row (gridwidth, gridheight), or that this component be placed next to the previously added component (gridx, gridy).

    See Also:
    gridwidth, gridheight, gridx, gridy
    REMAINDER
     public static final int REMAINDER
    
    Specify that this component is the last component in its column or row.

    NONE
     public static final int NONE
    
    Do not resize the component.

    BOTH
     public static final int BOTH
    
    Resize the component both horizontally and vertically.

    HORIZONTAL
     public static final int HORIZONTAL
    
    Resize the component horizontally but not vertically.

    VERTICAL
     public static final int VERTICAL
    
    Resize the component vertically but not horizontally.

    CENTER
     public static final int CENTER
    
    Put the component in the center of its display area.

    NORTH
     public static final int NORTH
    
    Put the component at the top of its display area, centered horizontally.

    NORTHEAST
     public static final int NORTHEAST
    
    Put the component at the top-right corner of its display area.

    EAST
     public static final int EAST
    
    Put the component on the right side of its display area, centered vertically.

    SOUTHEAST
     public static final int SOUTHEAST
    
    Put the component at the bottom-right corner of its display area.

    SOUTH
     public static final int SOUTH
    
    Put the component at the bottom of its display area, centered horizontally.

    SOUTHWEST
     public static final int SOUTHWEST
    
    Put the component at the bottom-left corner of its display area.

    WEST
     public static final int WEST
    
    Put the component on the left side of its display area, centered vertically.

    NORTHWEST
     public static final int NORTHWEST
    
    Put the component at the top-left corner of its display area.

    gridx
     public int gridx
    
    Specifies the cell at the left of the component's display area, where the leftmost cell has gridx = 0. The value RELATIVE specifies that the component be placed just to the right of the component that was added to the container just before this component was added.

    The default value is RELATIVE.

    See Also:
    gridy
    gridy
     public int gridy
    
    Specifies the cell at the top of the component's display area, where the topmost cell has gridy = 0. The value RELATIVE specifies that the component be placed just below the component that was added to the container just before this component was added.

    The default value is RELATIVE.

    See Also:
    gridx
    gridwidth
     public int gridwidth
    
    Specifies the number of cells in a row for the component's display area.

    Use REMAINDER to specify that the component be the last one in its row. Use RELATIVE to specify that the component be the next-to-last one in its row.

    The default value is 1.

    See Also:
    gridheight
    gridheight
     public int gridheight
    
    Specifies the number of cells in a column for the component's display area.

    Use REMAINDER to specify that the component be the last one in its column. Use RELATIVE to specify that the component be the next-to-last one in its column.

    The default value is 1.

    See Also:
    gridwidth
    weightx
     public double weightx
    
    Specifies how to distribute extra horizontal space.

    The grid bag layout manager calculates the weight of a column to be the maximum weighty of all the components in a row. If the resulting layout is smaller horizontally than the area it needs to fill, the extra space is distributed to each column in proportion to its weight. A column that has a weight zero receives no extra space.

    If all the weights are zero, all the extra space appears between the grids of the cell and the left and right edges.

    The default value of this field is 0.

    See Also:
    weighty
    weighty
     public double weighty
    
    Specifies how to distribute extra vertical space.

    The grid bag layout manager calculates the weight of a row to be the maximum weightx of all the components in a row. If the resulting layout is smaller vertically than the area it needs to fill, the extra space is distributed to each row in proportion to its weight. A row that has a weight of zero receives no extra space.

    If all the weights are zero, all the extra space appears between the grids of the cell and the top and bottom edges.

    The default value of this field is 0.

    See Also:
    weightx
    anchor
     public int anchor
    
    This field is used when the component is smaller than its display area. It determines where, within the display area, to place the component. Possible values are CENTER, NORTH, NORTHEAST, EAST, SOUTHEAST, SOUTH, SOUTHWEST, WEST, and NORTHWEST. The default value is CENTER.

    fill
     public int fill
    
    This field is used when the component's display area is larger than the component's requested size. It determines whether to resize the component, and if so, how.

    The following values are valid for fill:

    • NONE: Do not resize the component.
    • HORIZONTAL: Make the component wide enough to fill its display area horizontally, but do not change its height.
    • VERTICAL: Make the component tall enough to fill its display area vertically, but do not change its width.
    • BOTH: Make the component fill its display area entirely.

    The default value is NONE.

    insets
     public Insets insets
    
    This field specifies the external padding of the component, the minimum amount of space between the component and the edges of its display area.

    The default value is new Insets(0, 0, 0, 0).

    ipadx
     public int ipadx
    
    This field specifies the internal padding of the component, how much space to add to the minimum width of the component. The width of the component is at least its minimum width plus (ipadx * 2) pixels.

    The default value is 0.

    See Also:
    ipady
    ipady
     public int ipady
    
    This field specifies the internal padding, that is, how much space to add to the minimum height of the component. The height of the component is at least its minimum height plus (ipady * 2) pixels.

    The default value is 0.

    See Also:
    ipadx

    Constructors

    GridBagConstraints
     public GridBagConstraints()
    
    Creates a GridBagConstraint object with all of its fields set to their default value.


    Methods

    clone
     public Object clone()
    
    Creates a copy of this grid bag constraint.

    Returns:
    a copy of this grid bag constraint
    Overrides:
    clone in class Object

    Class java.awt.GridLayout

    Class java.awt.GridLayout

    java.lang.Object
       |
       +----java.awt.GridLayout
    

    public class GridLayout
    extends Object
    implements LayoutManager, Serializable

    The GridLayout class is a layout manager that lays out a container's components in a rectangular grid.

    The container is divided into equal-sized rectangles, and one component is placed in each rectangle.

    For example, the following is an applet that lays out six buttons into three rows and two columns:


     import java.awt.*;
     import java.applet.Applet;
     public class ButtonGrid extends Applet {
         public void init() {
             setLayout(new GridLayout(3,2));
             add(new Button("1"));
             add(new Button("2"));
             add(new Button("3"));
             add(new Button("4"));
             add(new Button("5"));
             add(new Button("6"));
         }
     }
     

    It produces the following output:


    Constructor Index

    GridLayout()
    Creates a grid layout with a default of one column per component, in a single row.
    GridLayout(int, int)
    Creates a grid layout with the specified number of rows and columns.
    GridLayout(int, int, int, int)
    Creates a grid layout with the specified number of rows and columns.

    Method Index

    addLayoutComponent(String, Component)
    Adds the specified component with the specified name to the layout.
    getColumns()
    Gets the number of columns in this layout.
    getHgap()
    Gets the horizontal gap between components.
    getRows()
    Gets the number of rows in this layout.
    getVgap()
    Gets the vertical gap between components.
    layoutContainer(Container)
    Lays out the specified container using this layout.
    minimumLayoutSize(Container)
    Determines the minimum size of the container argument using this grid layout.
    preferredLayoutSize(Container)
    Determines the preferred size of the container argument using this grid layout.
    removeLayoutComponent(Component)
    Removes the specified component from the layout.
    setColumns(int)
    Sets the number of columns in this layout to the specified value.
    setHgap(int)
    Sets the horizontal gap between components to the specified value.
    setRows(int)
    Sets the number of rows in this layout to the specified value.
    setVgap(int)
    Sets the vertical gap between components to the specified value.
    toString()
    Returns the string representation of this grid layout's values.

    Constructors

    GridLayout
     public GridLayout()
    
    Creates a grid layout with a default of one column per component, in a single row.

    GridLayout
     public GridLayout(int rows,
                       int cols)
    
    Creates a grid layout with the specified number of rows and columns. All components in the layout are given equal size.

    One, but not both, of rows and cols can be zero, which means that any number of objects can be placed in a row or in a column.

    Parameters:
    rows - the rows, with the value zero meaning any number of rows.
    cols - the columns, with the value zero meaning any number of columns.
    GridLayout
     public GridLayout(int rows,
                       int cols,
                       int hgap,
                       int vgap)
    
    Creates a grid layout with the specified number of rows and columns. All components in the layout are given equal size.

    In addition, the horizontal and vertical gaps are set to the specified values. Horizontal gaps are placed at the left and right edges, and between each of the columns. Vertical gaps are placed at the top and bottom edges, and between each of the rows.

    One, but not both, of rows and cols can be zero, which means that any number of objects can be placed in a row or in a column.

    Parameters:
    rows - the rows, with the value zero meaning any number of rows.
    cols - the columns, with the value zero meaning any number of columns.
    hgap - the horizontal gap.
    vgap - the vertical gap.
    Throws: IllegalArgumentException
    if the of rows or cols is invalid.

    Methods

    getRows
     public int getRows()
    
    Gets the number of rows in this layout.

    Returns:
    the number of rows in this layout.
    setRows
     public void setRows(int rows)
    
    Sets the number of rows in this layout to the specified value.

    Parameters:
    rows - the number of rows in this layout.
    Throws: IllegalArgumentException
    if the value of both rows and cols is set to zero.
    getColumns
     public int getColumns()
    
    Gets the number of columns in this layout.

    Returns:
    the number of columns in this layout.
    setColumns
     public void setColumns(int cols)
    
    Sets the number of columns in this layout to the specified value.

    Parameters:
    cols - the number of columns in this layout.
    Throws: IllegalArgumentException
    if the value of both rows and cols is set to zero.
    getHgap
     public int getHgap()
    
    Gets the horizontal gap between components.

    Returns:
    the horizontal gap between components.
    setHgap
     public void setHgap(int hgap)
    
    Sets the horizontal gap between components to the specified value.

    Parameters:
    hgap - the horizontal gap between components.
    getVgap
     public int getVgap()
    
    Gets the vertical gap between components.

    Returns:
    the vertical gap between components.
    setVgap
     public void setVgap(int vgap)
    
    Sets the vertical gap between components to the specified value.

    Parameters:
    vgap - the vertical gap between components.
    addLayoutComponent
     public void addLayoutComponent(String name,
                                    Component comp)
    
    Adds the specified component with the specified name to the layout.

    Parameters:
    name - the name of the component.
    comp - the component to be added.
    removeLayoutComponent
     public void removeLayoutComponent(Component comp)
    
    Removes the specified component from the layout.

    Parameters:
    comp - the component to be removed.
    preferredLayoutSize
     public Dimension preferredLayoutSize(Container parent)
    
    Determines the preferred size of the container argument using this grid layout.

    The preferred width of a grid layout is the largest preferred width of any of the widths in the container times the number of columns, plus the horizontal padding times the number of columns plus one, plus the left and right insets of the target container.

    The preferred height of a grid layout is the largest preferred height of any of the widths in the container times the number of rows, plus the vertical padding times the number of rows plus one, plus the top and left insets of the target container.

    Parameters:
    target - the container in which to do the layout.
    Returns:
    the preferred dimensions to lay out the subcomponents of the specified container.
    See Also:
    minimumLayoutSize, getPreferredSize
    minimumLayoutSize
     public Dimension minimumLayoutSize(Container parent)
    
    Determines the minimum size of the container argument using this grid layout.

    The minimum width of a grid layout is the largest minimum width of any of the widths in the container times the number of columns, plus the horizontal padding times the number of columns plus one, plus the left and right insets of the target container.

    The minimum height of a grid layout is the largest minimum height of any of the widths in the container times the number of rows, plus the vertical padding times the number of rows plus one, plus the top and left insets of the target container.

    Parameters:
    target - the container in which to do the layout.
    Returns:
    the minimum dimensions needed to lay out the subcomponents of the specified container.
    See Also:
    preferredLayoutSize, doLayout
    layoutContainer
     public void layoutContainer(Container parent)
    
    Lays out the specified container using this layout.

    This method reshapes the components in the specified target container in order to satisfy the constraints of the GridLayout object.

    The grid layout manager determines the size of individual components by dividing the free space in the container into equal-sized portions according to the number of rows and columns in the layout. The container's free space equals the container's size minus any insets and any specified horizontal or vertical gap. All components in a grid layout are given the same size.

    Parameters:
    target - the container in which to do the layout.
    See Also:
    Container, doLayout
    toString
     public String toString()
    
    Returns the string representation of this grid layout's values.

    Returns:
    a string representation of this grid layout.
    Overrides:
    toString in class Object

     khP$756$0./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.gridlayout_mi.htmmh$$ Class java.awt.IllegalComponentStateException

    Class java.awt.IllegalComponentStateException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IllegalStateException
                                       |
                                       +----java.awt.IllegalComponentStateException
    

    public class IllegalComponentStateException
    extends IllegalStateException

    Signals that an AWT component is not in an appropriate state for the requested operation.


    Constructor Index

    IllegalComponentStateException()
    Constructs an IllegalComponentStateException with no detail message.
    IllegalComponentStateException(String)
    Constructs an IllegalComponentStateException with the specified detail message.

    Constructors

    IllegalComponentStateException
     public IllegalComponentStateException()
    
    Constructs an IllegalComponentStateException with no detail message. A detail message is a String that describes this particular exception.

    IllegalComponentStateException
     public IllegalComponentStateException(String s)
    
    Constructs an IllegalComponentStateException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    s - the String that contains a detailed message

    _">Co krS$J756$`~J./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.illegalcomponentstateexception_mi.htm$$ Class java.awt.image.AreaAveragingScaleFilter

    Class java.awt.image.AreaAveragingScaleFilter

    java.lang.Object
       |
       +----java.awt.image.ImageFilter
               |
               +----java.awt.image.ReplicateScaleFilter
                       |
                       +----java.awt.image.AreaAveragingScaleFilter
    

    public class AreaAveragingScaleFilter
    extends ReplicateScaleFilter

    An ImageFilter class for scaling images using a simple area averaging algorithm that produces smoother results than the nearest neighbor algorithm. This class extends the basic ImageFilter Class to scale an existing image and provide a source for a new image containing the resampled image. The pixels in the source image are blended to produce pixels for an image of the specified size. The blending process is analogous to scaling up the source image to a multiple of the destination size using pixel replication and then scaling it back down to the destination size by simply averaging all the pixels in the supersized image that fall within a given pixel of the destination image. If the data from the source is not delivered in TopDownLeftRight order then the filter will back off to a simple pixel replication behavior and utilize the requestTopDownLeftRightResend() method to refilter the pixels in a better way at the end. It is meant to be used in conjunction with a FilteredImageSource object to produce scaled versions of existing images.

    See Also:
    FilteredImageSource, ReplicateImageFilter, ImageFilter

    Constructor Index

    AreaAveragingScaleFilter(int, int)
    Constructs an AreaAveragingScaleFilter that scales the pixels from its source Image as specified by the width and height parameters.

    Method Index

    setHints(int)
    Detect if the data is being delivered with the necessary hints to allow the averaging algorithm to do its work.
    setPixels(int, int, int, int, ColorModel, byte[], int, int)
    Combine the components for the delivered byte pixels into the accumulation arrays and send on any averaged data for rows of pixels that are complete.
    setPixels(int, int, int, int, ColorModel, int[], int, int)
    Combine the components for the delivered int pixels into the accumulation arrays and send on any averaged data for rows of pixels that are complete.

    Constructors

    AreaAveragingScaleFilter
     public AreaAveragingScaleFilter(int width,
                                     int height)
    
    Constructs an AreaAveragingScaleFilter that scales the pixels from its source Image as specified by the width and height parameters.

    Parameters:
    width - the target width to scale the image
    height - the target height to scale the image

    Methods

    setHints
     public void setHints(int hints)
    
    Detect if the data is being delivered with the necessary hints to allow the averaging algorithm to do its work.

    Overrides:
    setHints in class ImageFilter
    See Also:
    setHints
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           byte pixels[],
                           int off,
                           int scansize)
    
    Combine the components for the delivered byte pixels into the accumulation arrays and send on any averaged data for rows of pixels that are complete. If the correct hints were not specified in the setHints call then relay the work to our superclass which is capable of scaling pixels regardless of the delivery hints.

    Overrides:
    setPixels in class ReplicateScaleFilter
    See Also:
    ReplicateScaleFilter
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           int pixels[],
                           int off,
                           int scansize)
    
    Combine the components for the delivered int pixels into the accumulation arrays and send on any averaged data for rows of pixels that are complete. If the correct hints were not specified in the setHints call then relay the work to our superclass which is capable of scaling pixels regardless of the delivery hints.

    Overrides:
    setPixels in class ReplicateScaleFilter
    See Also:
    ReplicateScaleFilter

     k6V$756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.areaaveragingscalefilter_mi.htm$$ Class java.awt.image.ColorModel

    Class java.awt.image.ColorModel

    java.lang.Object
       |
       +----java.awt.image.ColorModel
    

    public abstract class ColorModel
    extends Object
    super class of:
    DirectColorModel, IndexColorModel

    A class that encapsulates the methods for translating from pixel values to alpha, red, green, and blue color components for an image. This class is abstract.

    See Also:
    IndexColorModel, DirectColorModel

    Variable Index

    pixel_bits

    Constructor Index

    ColorModel(int)
    Constructs a ColorModel which describes a pixel of the specified number of bits.

    Method Index

    finalize()
    Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
    getAlpha(int)
    The subclass must provide a function which provides the alpha color compoment for the specified pixel.
    getBlue(int)
    The subclass must provide a function which provides the blue color compoment for the specified pixel.
    getGreen(int)
    The subclass must provide a function which provides the green color compoment for the specified pixel.
    getPixelSize()
    Returns the number of bits per pixel described by this ColorModel.
    getRed(int)
    The subclass must provide a function which provides the red color compoment for the specified pixel.
    getRGB(int)
    Returns the color of the pixel in the default RGB color model.
    getRGBdefault()
    Return a ColorModel which describes the default format for integer RGB values used throughout the AWT image interfaces.

    Variables

    pixel_bits
     protected int pixel_bits
    

    Constructors

    ColorModel
     public ColorModel(int bits)
    
    Constructs a ColorModel which describes a pixel of the specified number of bits.


    Methods

    getRGBdefault
     public static ColorModel getRGBdefault()
    
    Return a ColorModel which describes the default format for integer RGB values used throughout the AWT image interfaces. The format for the RGB values is an integer with 8 bits each of alpha, red, green, and blue color components ordered correspondingly from the most significant byte to the least significant byte, as in: 0xAARRGGBB

    getPixelSize
     public int getPixelSize()
    
    Returns the number of bits per pixel described by this ColorModel.

    getRed
     public abstract int getRed(int pixel)
    
    The subclass must provide a function which provides the red color compoment for the specified pixel.

    Returns:
    The red color component ranging from 0 to 255
    getGreen
     public abstract int getGreen(int pixel)
    
    The subclass must provide a function which provides the green color compoment for the specified pixel.

    Returns:
    The green color component ranging from 0 to 255
    getBlue
     public abstract int getBlue(int pixel)
    
    The subclass must provide a function which provides the blue color compoment for the specified pixel.

    Returns:
    The blue color component ranging from 0 to 255
    getAlpha
     public abstract int getAlpha(int pixel)
    
    The subclass must provide a function which provides the alpha color compoment for the specified pixel.

    Returns:
    The alpha transparency value ranging from 0 to 255
    getRGB
     public int getRGB(int pixel)
    
    Returns the color of the pixel in the default RGB color model.

    See Also:
    getRGBdefault
    finalize
     public void finalize()
    
    Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

    Overrides:
    finalize in class Object

    href=" kgY$756$P5./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.colormodel_mi.htmilter_$$ Class java.awt.image.CropImageFilter

    Class java.awt.image.CropImageFilter

    java.lang.Object
       |
       +----java.awt.image.ImageFilter
               |
               +----java.awt.image.CropImageFilter
    

    public class CropImageFilter
    extends ImageFilter

    An ImageFilter class for cropping images. This class extends the basic ImageFilter Class to extract a given rectangular region of an existing Image and provide a source for a new image containing just the extracted region. It is meant to be used in conjunction with a FilteredImageSource object to produce cropped versions of existing images.

    See Also:
    FilteredImageSource, ImageFilter

    Constructor Index

    CropImageFilter(int, int, int, int)
    Constructs a CropImageFilter that extracts the absolute rectangular region of pixels from its source Image as specified by the x, y, w, and h parameters.

    Method Index

    setDimensions(int, int)
    Override the source image's dimensions and pass the dimensions of the rectangular cropped region to the ImageConsumer.
    setPixels(int, int, int, int, ColorModel, byte[], int, int)
    Determine whether the delivered byte pixels intersect the region to be extracted and passes through only that subset of pixels that appear in the output region.
    setPixels(int, int, int, int, ColorModel, int[], int, int)
    Determine if the delivered int pixels intersect the region to be extracted and pass through only that subset of pixels that appear in the output region.
    setProperties(Hashtable)
    Passes along the properties from the source object after adding a property indicating the cropped region.

    Constructors

    CropImageFilter
     public CropImageFilter(int x,
                            int y,
                            int w,
                            int h)
    
    Constructs a CropImageFilter that extracts the absolute rectangular region of pixels from its source Image as specified by the x, y, w, and h parameters.

    Parameters:
    x - the x location of the top of the rectangle to be extracted
    y - the y location of the top of the rectangle to be extracted
    w - the width of the rectangle to be extracted
    h - the height of the rectangle to be extracted

    Methods

    setProperties
     public void setProperties(Hashtable props)
    
    Passes along the properties from the source object after adding a property indicating the cropped region.

    Overrides:
    setProperties in class ImageFilter
    setDimensions
     public void setDimensions(int w,
                               int h)
    
    Override the source image's dimensions and pass the dimensions of the rectangular cropped region to the ImageConsumer.

    Overrides:
    setDimensions in class ImageFilter
    See Also:
    ImageConsumer
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           byte pixels[],
                           int off,
                           int scansize)
    
    Determine whether the delivered byte pixels intersect the region to be extracted and passes through only that subset of pixels that appear in the output region.

    Overrides:
    setPixels in class ImageFilter
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           int pixels[],
                           int off,
                           int scansize)
    
    Determine if the delivered int pixels intersect the region to be extracted and pass through only that subset of pixels that appear in the output region.

    Overrides:
    setPixels in class ImageFilter

    dd> C kD*\$K756$P;K./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.cropimagefilter_mi.htm_$$ Class java.awt.image.DirectColorModel

    Class java.awt.image.DirectColorModel

    java.lang.Object
       |
       +----java.awt.image.ColorModel
               |
               +----java.awt.image.DirectColorModel
    

    public class DirectColorModel
    extends ColorModel

    A ColorModel class that specifies a translation from pixel values to alpha, red, green, and blue color components for pixels which have the color components embedded directly in the bits of the pixel itself. This color model is similar to an X11 TrueColor visual.

    Many of the methods in this class are final. This is because the underlying native graphics code makes assumptions about the layout and operation of this class and those assumptions are reflected in the implementations of the methods here that are marked final. You can subclass this class for other reaons, but you cannot override or modify the behaviour of those methods.

    See Also:
    ColorModel

    Constructor Index

    DirectColorModel(int, int, int, int)
    Constructs a DirectColorModel from the given masks specifying which bits in the pixel contain the red, green and blue color components.
    DirectColorModel(int, int, int, int, int)
    Constructs a DirectColorModel from the given masks specifying which bits in the pixel contain the alhpa, red, green and blue color components.

    Method Index

    getAlpha(int)
    Return the alpha transparency value for the specified pixel in the range 0-255.
    getAlphaMask()
    Returns the mask indicating which bits in a pixel contain the alpha transparency component.
    getBlue(int)
    Returns the blue color compoment for the specified pixel in the range 0-255.
    getBlueMask()
    Returns the mask indicating which bits in a pixel contain the blue color component.
    getGreen(int)
    Returns the green color compoment for the specified pixel in the range 0-255.
    getGreenMask()
    Returns the mask indicating which bits in a pixel contain the green color component.
    getRed(int)
    Returns the red color compoment for the specified pixel in the range 0-255.
    getRedMask()
    Returns the mask indicating which bits in a pixel contain the red color component.
    getRGB(int)
    Returns the color of the pixel in the default RGB color model.

    Constructors

    DirectColorModel
     public DirectColorModel(int bits,
                             int rmask,
                             int gmask,
                             int bmask)
    
    Constructs a DirectColorModel from the given masks specifying which bits in the pixel contain the red, green and blue color components. Pixels described by this color model will all have alpha components of 255 (fully opaque). All of the bits in each mask must be contiguous and fit in the specified number of least significant bits of the integer.

    DirectColorModel
     public DirectColorModel(int bits,
                             int rmask,
                             int gmask,
                             int bmask,
                             int amask)
    
    Constructs a DirectColorModel from the given masks specifying which bits in the pixel contain the alhpa, red, green and blue color components. All of the bits in each mask must be contiguous and fit in the specified number of least significant bits of the integer.


    Methods

    getRedMask
     public final int getRedMask()
    
    Returns the mask indicating which bits in a pixel contain the red color component.

    getGreenMask
     public final int getGreenMask()
    
    Returns the mask indicating which bits in a pixel contain the green color component.

    getBlueMask
     public final int getBlueMask()
    
    Returns the mask indicating which bits in a pixel contain the blue color component.

    getAlphaMask
     public final int getAlphaMask()
    
    Returns the mask indicating which bits in a pixel contain the alpha transparency component.

    getRed
     public final int getRed(int pixel)
    
    Returns the red color compoment for the specified pixel in the range 0-255.

    Overrides:
    getRed in class ColorModel
    getGreen
     public final int getGreen(int pixel)
    
    Returns the green color compoment for the specified pixel in the range 0-255.

    Overrides:
    getGreen in class ColorModel
    getBlue
     public final int getBlue(int pixel)
    
    Returns the blue color compoment for the specified pixel in the range 0-255.

    Overrides:
    getBlue in class ColorModel
    getAlpha
     public final int getAlpha(int pixel)
    
    Return the alpha transparency value for the specified pixel in the range 0-255.

    Overrides:
    getAlpha in class ColorModel
    getRGB
     public final int getRGB(int pixel)
    
    Returns the color of the pixel in the default RGB color model.

    Overrides:
    getRGB in class ColorModel
    See Also:
    getRGBdefault

    < kc_$756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.directcolormodel_mi.htm$$ Class java.awt.image.FilteredImageSource

    Class java.awt.image.FilteredImageSource

    java.lang.Object
       |
       +----java.awt.image.FilteredImageSource
    

    public class FilteredImageSource
    extends Object
    implements ImageProducer

    This class is an implementation of the ImageProducer interface which takes an existing image and a filter object and uses them to produce image data for a new filtered version of the original image. Here is an example which filters an image by swapping the red and blue compents:

    	Image src = getImage("doc:///demo/images/duke/T1.gif");
    	ImageFilter colorfilter = new RedBlueSwapFilter();
    	Image img = createImage(new FilteredImageSource(src.getSource(),
    							colorfilter));
     

    See Also:
    ImageProducer

    Constructor Index

    FilteredImageSource(ImageProducer, ImageFilter)
    Constructs an ImageProducer object from an existing ImageProducer and a filter object.

    Method Index

    addConsumer(ImageConsumer)
    Adds an ImageConsumer to the list of consumers interested in data for this image.
    isConsumer(ImageConsumer)
    Determines whether an ImageConsumer is on the list of consumers currently interested in data for this image.
    removeConsumer(ImageConsumer)
    Removes an ImageConsumer from the list of consumers interested in data for this image.
    requestTopDownLeftRightResend(ImageConsumer)
    Requests that a given ImageConsumer have the image data delivered one more time in top-down, left-right order.
    startProduction(ImageConsumer)
    Adds an ImageConsumer to the list of consumers interested in data for this image, and immediately starts delivery of the image data through the ImageConsumer interface.

    Constructors

    FilteredImageSource
     public FilteredImageSource(ImageProducer orig,
                                ImageFilter imgf)
    
    Constructs an ImageProducer object from an existing ImageProducer and a filter object.

    See Also:
    ImageFilter, createImage

    Methods

    addConsumer
     public synchronized void addConsumer(ImageConsumer ic)
    
    Adds an ImageConsumer to the list of consumers interested in data for this image.

    See Also:
    ImageConsumer
    isConsumer
     public synchronized boolean isConsumer(ImageConsumer ic)
    
    Determines whether an ImageConsumer is on the list of consumers currently interested in data for this image.

    Returns:
    true if the ImageConsumer is on the list; false otherwise
    See Also:
    ImageConsumer
    removeConsumer
     public synchronized void removeConsumer(ImageConsumer ic)
    
    Removes an ImageConsumer from the list of consumers interested in data for this image.

    See Also:
    ImageConsumer
    startProduction
     public void startProduction(ImageConsumer ic)
    
    Adds an ImageConsumer to the list of consumers interested in data for this image, and immediately starts delivery of the image data through the ImageConsumer interface.

    See Also:
    ImageConsumer
    requestTopDownLeftRightResend
     public void requestTopDownLeftRightResend(ImageConsumer ic)
    
    Requests that a given ImageConsumer have the image data delivered one more time in top-down, left-right order. The request is handed to the ImageFilter for further processing, since the ability to preserve the pixel ordering depends on the filter.

    See Also:
    ImageConsumer

    e  k@/b$ 756$P{./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.filteredimagesource_mi.htmhtm$$ Interface java.awt.image.ImageConsumer

    Interface java.awt.image.ImageConsumer

    public interface ImageConsumer

    The interface for objects expressing interest in image data through the ImageProducer interfaces. When a consumer is added to an image producer, the producer delivers all of the data about the image using the method calls defined in this interface.

    See Also:
    ImageProducer

    Variable Index

    COMPLETESCANLINES
    The pixels will be delivered in (multiples of) complete scanlines at a time.
    IMAGEABORTED
    The image creation process was deliberately aborted.
    IMAGEERROR
    An error was encountered while producing the image.
    RANDOMPIXELORDER
    The pixels will be delivered in a random order.
    SINGLEFRAME
    The image contain a single static image.
    SINGLEFRAMEDONE
    One frame of the image is complete but there are more frames to be delivered.
    SINGLEPASS
    The pixels will be delivered in a single pass.
    STATICIMAGEDONE
    The image is complete and there are no more pixels or frames to be delivered.
    TOPDOWNLEFTRIGHT
    The pixels will be delivered in top-down, left-to-right order.

    Method Index

    imageComplete(int)
    The imageComplete method is called when the ImageProducer is finished delivering all of the pixels that the source image contains, or when a single frame of a multi-frame animation has been completed, or when an error in loading or producing the image has occured.
    setColorModel(ColorModel)
    The ColorModel object used for the majority of the pixels reported using the setPixels method calls.
    setDimensions(int, int)
    The dimensions of the source image are reported using the setDimensions method call.
    setHints(int)
    The ImageProducer can deliver the pixels in any order, but the ImageConsumer may be able to scale or convert the pixels to the destination ColorModel more efficiently or with higher quality if it knows some information about how the pixels will be delivered up front.
    setPixels(int, int, int, int, ColorModel, byte[], int, int)
    The pixels of the image are delivered using one or more calls to the setPixels method.
    setPixels(int, int, int, int, ColorModel, int[], int, int)
    The pixels of the image are delivered using one or more calls to the setPixels method.
    setProperties(Hashtable)
    Sets the extensible list of properties associated with this image.

    Variables

    RANDOMPIXELORDER
     public static final int RANDOMPIXELORDER
    
    The pixels will be delivered in a random order. This tells the ImageConsumer not to use any optimizations that depend on the order of pixel delivery, which should be the default assumption in the absence of any call to the setHints method.

    See Also:
    setHints
    TOPDOWNLEFTRIGHT
     public static final int TOPDOWNLEFTRIGHT
    
    The pixels will be delivered in top-down, left-to-right order.

    See Also:
    setHints
    COMPLETESCANLINES
     public static final int COMPLETESCANLINES
    
    The pixels will be delivered in (multiples of) complete scanlines at a time.

    See Also:
    setHints
    SINGLEPASS
     public static final int SINGLEPASS
    
    The pixels will be delivered in a single pass. Each pixel will appear in only one call to any of the setPixels methods. An example of an image format which does not meet this criterion is a progressive JPEG image which defines pixels in multiple passes, each more refined than the previous.

    See Also:
    setHints
    SINGLEFRAME
     public static final int SINGLEFRAME
    
    The image contain a single static image. The pixels will be defined in calls to the setPixels methods and then the imageComplete method will be called with the STATICIMAGEDONE flag after which no more image data will be delivered. An example of an image type which would not meet these criteria would be the output of a video feed, or the representation of a 3D rendering being manipulated by the user. The end of each frame in those types of images will be indicated by calling imageComplete with the SINGLEFRAMEDONE flag.

    See Also:
    setHints, imageComplete
    IMAGEERROR
     public static final int IMAGEERROR
    
    An error was encountered while producing the image.

    See Also:
    imageComplete
    SINGLEFRAMEDONE
     public static final int SINGLEFRAMEDONE
    
    One frame of the image is complete but there are more frames to be delivered.

    See Also:
    imageComplete
    STATICIMAGEDONE
     public static final int STATICIMAGEDONE
    
    The image is complete and there are no more pixels or frames to be delivered.

    See Also:
    imageComplete
    IMAGEABORTED
     public static final int IMAGEABORTED
    
    The image creation process was deliberately aborted.

    See Also:
    imageComplete

    Methods

    setDimensions
     public abstract void setDimensions(int width,
                                        int height)
    
    The dimensions of the source image are reported using the setDimensions method call.

    setProperties
     public abstract void setProperties(Hashtable props)
    
    Sets the extensible list of properties associated with this image.

    setColorModel
     public abstract void setColorModel(ColorModel model)
    
    The ColorModel object used for the majority of the pixels reported using the setPixels method calls. Note that each set of pixels delivered using setPixels contains its own ColorModel object, so no assumption should be made that this model will be the only one used in delivering pixel values. A notable case where multiple ColorModel objects may be seen is a filtered image when for each set of pixels that it filters, the filter determines whether the pixels can be sent on untouched, using the original ColorModel, or whether the pixels should be modified (filtered) and passed on using a ColorModel more convenient for the filtering process.

    See Also:
    ColorModel
    setHints
     public abstract void setHints(int hintflags)
    
    The ImageProducer can deliver the pixels in any order, but the ImageConsumer may be able to scale or convert the pixels to the destination ColorModel more efficiently or with higher quality if it knows some information about how the pixels will be delivered up front. The setHints method should be called before any calls to any of the setPixels methods with a bit mask of hints about the manner in which the pixels will be delivered. If the ImageProducer does not follow the guidelines for the indicated hint, the results are undefined.

    setPixels
     public abstract void setPixels(int x,
                                    int y,
                                    int w,
                                    int h,
                                    ColorModel model,
                                    byte pixels[],
                                    int off,
                                    int scansize)
    
    The pixels of the image are delivered using one or more calls to the setPixels method. Each call specifies the location and size of the rectangle of source pixels that are contained in the array of pixels. The specified ColorModel object should be used to convert the pixels into their corresponding color and alpha components. Pixel (m,n) is stored in the pixels array at index (n * scansize + m + off). The pixels delivered using this method are all stored as bytes.

    See Also:
    ColorModel
    setPixels
     public abstract void setPixels(int x,
                                    int y,
                                    int w,
                                    int h,
                                    ColorModel model,
                                    int pixels[],
                                    int off,
                                    int scansize)
    
    The pixels of the image are delivered using one or more calls to the setPixels method. Each call specifies the location and size of the rectangle of source pixels that are contained in the array of pixels. The specified ColorModel object should be used to convert the pixels into their corresponding color and alpha components. Pixel (m,n) is stored in the pixels array at index (n * scansize + m + off). The pixels delivered using this method are all stored as ints.

    See Also:
    ColorModel
    imageComplete
     public abstract void imageComplete(int status)
    
    The imageComplete method is called when the ImageProducer is finished delivering all of the pixels that the source image contains, or when a single frame of a multi-frame animation has been completed, or when an error in loading or producing the image has occured. The ImageConsumer should remove itself from the list of consumers registered with the ImageProducer at this time, unless it is interested in successive frames.

    See Also:
    removeConsumer

    su kf$ 756$0./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.imageconsumer_mi.htm.ht$$ Class java.awt.image.ImageFilter

    Class java.awt.image.ImageFilter

    java.lang.Object
       |
       +----java.awt.image.ImageFilter
    

    public class ImageFilter
    extends Object
    implements ImageConsumer, Cloneable
    super class of:
    CropImageFilter, RGBImageFilter, ReplicateScaleFilter

    This class implements a filter for the set of interface methods that are used to deliver data from an ImageProducer to an ImageConsumer. It is meant to be used in conjunction with a FilteredImageSource object to produce filtered versions of existing images. It is a base class that provides the calls needed to implement a "Null filter" which has no effect on the data being passed through. Filters should subclass this class and override the methods which deal with the data that needs to be filtered and modify it as necessary.

    See Also:
    FilteredImageSource, ImageConsumer

    Variable Index

    consumer
    The consumer of the particular image data stream for which this instance of the ImageFilter is filtering data.

    Constructor Index

    ImageFilter()

    Method Index

    clone()
    Clones this object.
    getFilterInstance(ImageConsumer)
    Returns a unique instance of an ImageFilter object which will actually perform the filtering for the specified ImageConsumer.
    imageComplete(int)
    Filters the information provided in the imageComplete method of the ImageConsumer interface.
    resendTopDownLeftRight(ImageProducer)
    Responds to a request for a TopDownLeftRight (TDLR) ordered resend of the pixel data from an ImageConsumer.
    setColorModel(ColorModel)
    Filter the information provided in the setColorModel method of the ImageConsumer interface.
    setDimensions(int, int)
    Filters the information provided in the setDimensions method of the ImageConsumer interface.
    setHints(int)
    Filters the information provided in the setHints method of the ImageConsumer interface.
    setPixels(int, int, int, int, ColorModel, byte[], int, int)
    Filters the information provided in the setPixels method of the ImageConsumer interface which takes an array of bytes.
    setPixels(int, int, int, int, ColorModel, int[], int, int)
    Filters the information provided in the setPixels method of the ImageConsumer interface which takes an array of integers.
    setProperties(Hashtable)
    Passes the properties from the source object along after adding a property indicating the stream of filters it has been run through.

    Variables

    consumer
     protected ImageConsumer consumer
    
    The consumer of the particular image data stream for which this instance of the ImageFilter is filtering data. It is not initialized during the constructor, but rather during the getFilterInstance() method call when the FilteredImageSource is creating a unique instance of this object for a particular image data stream.

    See Also:
    getFilterInstance, ImageConsumer

    Constructors

    ImageFilter
     public ImageFilter()
    

    Methods

    getFilterInstance
     public ImageFilter getFilterInstance(ImageConsumer ic)
    
    Returns a unique instance of an ImageFilter object which will actually perform the filtering for the specified ImageConsumer. The default implementation just clones this object.

    setDimensions
     public void setDimensions(int width,
                               int height)
    
    Filters the information provided in the setDimensions method of the ImageConsumer interface.

    See Also:
    setDimensions
    setProperties
     public void setProperties(Hashtable props)
    
    Passes the properties from the source object along after adding a property indicating the stream of filters it has been run through.

    setColorModel
     public void setColorModel(ColorModel model)
    
    Filter the information provided in the setColorModel method of the ImageConsumer interface.

    See Also:
    setColorModel
    setHints
     public void setHints(int hints)
    
    Filters the information provided in the setHints method of the ImageConsumer interface.

    See Also:
    setHints
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           byte pixels[],
                           int off,
                           int scansize)
    
    Filters the information provided in the setPixels method of the ImageConsumer interface which takes an array of bytes.

    See Also:
    setPixels
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           int pixels[],
                           int off,
                           int scansize)
    
    Filters the information provided in the setPixels method of the ImageConsumer interface which takes an array of integers.

    See Also:
    setPixels
    imageComplete
     public void imageComplete(int status)
    
    Filters the information provided in the imageComplete method of the ImageConsumer interface.

    See Also:
    imageComplete
    resendTopDownLeftRight
     public void resendTopDownLeftRight(ImageProducer ip)
    
    Responds to a request for a TopDownLeftRight (TDLR) ordered resend of the pixel data from an ImageConsumer. The ImageFilter can respond to this request in one of three ways.
    1. If the filter can determine that it will forward the pixels in TDLR order if its upstream producer object sends them in TDLR order, then the request is automatically forwarded by default to the indicated ImageProducer using this filter as the requesting ImageConsumer, so no override is necessary.
    2. If the filter can resend the pixels in the right order on its own (presumably because the generated pixels have been saved in some sort of buffer), then it can override this method and simply resend the pixels in TDLR order as specified in the ImageProducer API.
    3. If the filter simply returns from this method then the request will be ignored and no resend will occur.

    Parameters:
    ip - The ImageProducer that is feeding this instance of the filter - also the ImageProducer that the request should be forwarded to if necessary.
    See Also:
    requestTopDownLeftRightResend
    clone
     public Object clone()
    
    Clones this object.

    Overrides:
    clone in class Object

     ki$_ 756$@_./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.imagefilter_mi.htm.ht$$ Interface java.awt.image.ImageObserver

    Interface java.awt.image.ImageObserver

    public interface ImageObserver

    An asynchronous update interface for receiving notifications about Image information as the Image is constructed.


    Variable Index

    ABORT
    An image which was being tracked asynchronously was aborted before production was complete.
    ALLBITS
    A static image which was previously drawn is now complete and can be drawn again in its final form.
    ERROR
    An image which was being tracked asynchronously has encountered an error.
    FRAMEBITS
    Another complete frame of a multi-frame image which was previously drawn is now available to be drawn again.
    HEIGHT
    The height of the base image is now available and can be taken from the height argument to the imageUpdate callback method.
    PROPERTIES
    The properties of the image are now available.
    SOMEBITS
    More pixels needed for drawing a scaled variation of the image are available.
    WIDTH
    The width of the base image is now available and can be taken from the width argument to the imageUpdate callback method.

    Method Index

    imageUpdate(Image, int, int, int, int, int)
    This method is called when information about an image which was previously requested using an asynchronous interface becomes available.

    Variables

    WIDTH
     public static final int WIDTH
    
    The width of the base image is now available and can be taken from the width argument to the imageUpdate callback method.

    See Also:
    getWidth, imageUpdate
    HEIGHT
     public static final int HEIGHT
    
    The height of the base image is now available and can be taken from the height argument to the imageUpdate callback method.

    See Also:
    getHeight, imageUpdate
    PROPERTIES
     public static final int PROPERTIES
    
    The properties of the image are now available.

    See Also:
    getProperty, imageUpdate
    SOMEBITS
     public static final int SOMEBITS
    
    More pixels needed for drawing a scaled variation of the image are available. The bounding box of the new pixels can be taken from the x, y, width, and height arguments to the imageUpdate callback method.

    See Also:
    drawImage, imageUpdate
    FRAMEBITS
     public static final int FRAMEBITS
    
    Another complete frame of a multi-frame image which was previously drawn is now available to be drawn again. The x, y, width, and height arguments to the imageUpdate callback method should be ignored.

    See Also:
    drawImage, imageUpdate
    ALLBITS
     public static final int ALLBITS
    
    A static image which was previously drawn is now complete and can be drawn again in its final form. The x, y, width, and height arguments to the imageUpdate callback method should be ignored.

    See Also:
    drawImage, imageUpdate
    ERROR
     public static final int ERROR
    
    An image which was being tracked asynchronously has encountered an error. No further information will become available and drawing the image will fail. As a convenience, the ABORT flag will be indicated at the same time to indicate that the image production was aborted.

    See Also:
    imageUpdate
    ABORT
     public static final int ABORT
    
    An image which was being tracked asynchronously was aborted before production was complete. No more information will become available without further action to trigger another image production sequence. If the ERROR flag was not also set in this image update, then accessing any of the data in the image will restart the production again, probably from the beginning.

    See Also:
    imageUpdate

    Methods

    imageUpdate
     public abstract boolean imageUpdate(Image img,
                                         int infoflags,
                                         int x,
                                         int y,
                                         int width,
                                         int height)
    
    This method is called when information about an image which was previously requested using an asynchronous interface becomes available. Asynchronous interfaces are method calls such as getWidth(ImageObserver) and drawImage(img, x, y, ImageObserver) which take an ImageObserver object as an argument. Those methods register the caller as interested either in information about the overall image itself (in the case of getWidth(ImageObserver)) or about an output version of an image (in the case of the drawImage(img, x, y, [w, h,] ImageObserver) call).

    This method should return true if further updates are needed or false if the required information has been acquired. The image which was being tracked is passed in using the img argument. Various constants are combined to form the infoflags argument which indicates what information about the image is now available. The interpretation of the x, y, width, and height arguments depends on the contents of the infoflags argument.

    See Also:
    getWidth, getHeight, drawImage

    th kQl$!756$Pe./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.imageobserver_mi.htm.ht$$ Interface java.awt.image.ImageProducer

    Interface java.awt.image.ImageProducer

    public interface ImageProducer

    The interface for objects which can produce the image data for Images. Each image contains an ImageProducer which is used to reconstruct the image whenever it is needed, for example, when a new size of the Image is scaled, or when the width or height of the Image is being requested.

    See Also:
    ImageConsumer

    Method Index

    addConsumer(ImageConsumer)
    This method is used to register an ImageConsumer with the ImageProducer for access to the image data during a later reconstruction of the Image.
    isConsumer(ImageConsumer)
    This method determines if a given ImageConsumer object is currently registered with this ImageProducer as one of its consumers.
    removeConsumer(ImageConsumer)
    This method removes the given ImageConsumer object from the list of consumers currently registered to receive image data.
    requestTopDownLeftRightResend(ImageConsumer)
    This method is used by an ImageConsumer to request that the ImageProducer attempt to resend the image data one more time in TOPDOWNLEFTRIGHT order so that higher quality conversion algorithms which depend on receiving pixels in order can be used to produce a better output version of the image.
    startProduction(ImageConsumer)
    This method both registers the given ImageConsumer object as a consumer and starts an immediate reconstruction of the image data which will then be delivered to this consumer and any other consumer which may have already been registered with the producer.

    Methods

    addConsumer
     public abstract void addConsumer(ImageConsumer ic)
    
    This method is used to register an ImageConsumer with the ImageProducer for access to the image data during a later reconstruction of the Image. The ImageProducer may, at its discretion, start delivering the image data to the consumer using the ImageConsumer interface immediately, or when the next available image reconstruction is triggered by a call to the startProduction method.

    See Also:
    startProduction
    isConsumer
     public abstract boolean isConsumer(ImageConsumer ic)
    
    This method determines if a given ImageConsumer object is currently registered with this ImageProducer as one of its consumers.

    removeConsumer
     public abstract void removeConsumer(ImageConsumer ic)
    
    This method removes the given ImageConsumer object from the list of consumers currently registered to receive image data. It is not considered an error to remove a consumer that is not currently registered. The ImageProducer should stop sending data to this consumer as soon as is feasible.

    startProduction
     public abstract void startProduction(ImageConsumer ic)
    
    This method both registers the given ImageConsumer object as a consumer and starts an immediate reconstruction of the image data which will then be delivered to this consumer and any other consumer which may have already been registered with the producer. This method differs from the addConsumer method in that a reproduction of the image data should be triggered as soon as possible.

    See Also:
    addConsumer
    requestTopDownLeftRightResend
     public abstract void requestTopDownLeftRightResend(ImageConsumer ic)
    
    This method is used by an ImageConsumer to request that the ImageProducer attempt to resend the image data one more time in TOPDOWNLEFTRIGHT order so that higher quality conversion algorithms which depend on receiving pixels in order can be used to produce a better output version of the image. The ImageProducer is free to ignore this call if it cannot resend the data in that order. If the data can be resent, then the ImageProducer should respond by executing the following minimum set of ImageConsumer method calls:
    	ic.setHints(TOPDOWNLEFTRIGHT | );
    	ic.setPixels(...);	// As many times as needed
    	ic.imageComplete();
     

    See Also:
    setHints

    s kfo$!756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.imageproducer_mi.htm.ht$$ Class java.awt.image.IndexColorModel

    Class java.awt.image.IndexColorModel

    java.lang.Object
       |
       +----java.awt.image.ColorModel
               |
               +----java.awt.image.IndexColorModel
    

    public class IndexColorModel
    extends ColorModel

    A ColorModel class that specifies a translation from pixel values to alpha, red, green, and blue color components for pixels which represent indices into a fixed colormap. An optional transparent pixel value can be supplied which indicates a completely transparent pixel, regardless of any alpha value recorded for that pixel value. This color model is similar to an X11 PseudoColor visual.

    Many of the methods in this class are final. The reason for this is that the underlying native graphics code makes assumptions about the layout and operation of this class and those assumptions are reflected in the implementations of the methods here that are marked final. You can subclass this class for other reaons, but you cannot override or modify the behaviour of those methods.

    See Also:
    ColorModel

    Constructor Index

    IndexColorModel(int, int, byte[], byte[], byte[])
    Constructs an IndexColorModel from the given arrays of red, green, and blue components.
    IndexColorModel(int, int, byte[], byte[], byte[], byte[])
    Constructs an IndexColorModel from the given arrays of red, green, blue and alpha components.
    IndexColorModel(int, int, byte[], byte[], byte[], int)
    Constructs an IndexColorModel from the given arrays of red, green, and blue components.
    IndexColorModel(int, int, byte[], int, boolean)
    Constructs an IndexColorModel from a single arrays of packed red, green, blue and optional alpha components.
    IndexColorModel(int, int, byte[], int, boolean, int)
    Constructs an IndexColorModel from a single arrays of packed red, green, blue and optional alpha components.

    Method Index

    getAlpha(int)
    Returns the alpha transparency value for the specified pixel in the range 0-255.
    getAlphas(byte[])
    Copies the array of alpha transparency values into the given array.
    getBlue(int)
    Returns the blue color compoment for the specified pixel in the range 0-255.
    getBlues(byte[])
    Copies the array of blue color components into the given array.
    getGreen(int)
    Returns the green color compoment for the specified pixel in the range 0-255.
    getGreens(byte[])
    Copies the array of green color components into the given array.
    getMapSize()
    Returns the size of the color component arrays in this IndexColorModel.
    getRed(int)
    Returns the red color compoment for the specified pixel in the range 0-255.
    getReds(byte[])
    Copies the array of red color components into the given array.
    getRGB(int)
    Returns the color of the pixel in the default RGB color model.
    getTransparentPixel()
    Returns the index of the transparent pixel in this IndexColorModel or -1 if there is no transparent pixel.

    Constructors

    IndexColorModel
     public IndexColorModel(int bits,
                            int size,
                            byte r[],
                            byte g[],
                            byte b[])
    
    Constructs an IndexColorModel from the given arrays of red, green, and blue components. Pixels described by this color model will all have alpha components of 255 (fully opaque). All of the arrays specifying the color components must have at least the specified number of entries.

    Parameters:
    bits - The number of bits each pixel occupies.
    size - The size of the color component arrays.
    r - The array of red color components.
    g - The array of green color components.
    b - The array of blue color components.
    IndexColorModel
     public IndexColorModel(int bits,
                            int size,
                            byte r[],
                            byte g[],
                            byte b[],
                            int trans)
    
    Constructs an IndexColorModel from the given arrays of red, green, and blue components. Pixels described by this color model will all have alpha components of 255 (fully opaque), except for the indicated transparent pixel. All of the arrays specifying the color components must have at least the specified number of entries.

    Parameters:
    bits - The number of bits each pixel occupies.
    size - The size of the color component arrays.
    r - The array of red color components.
    g - The array of green color components.
    b - The array of blue color components.
    trans - The index of the transparent pixel.
    IndexColorModel
     public IndexColorModel(int bits,
                            int size,
                            byte r[],
                            byte g[],
                            byte b[],
                            byte a[])
    
    Constructs an IndexColorModel from the given arrays of red, green, blue and alpha components. All of the arrays specifying the color components must have at least the specified number of entries.

    Parameters:
    bits - The number of bits each pixel occupies.
    size - The size of the color component arrays.
    r - The array of red color components.
    g - The array of green color components.
    b - The array of blue color components.
    a - The array of alpha value components.
    IndexColorModel
     public IndexColorModel(int bits,
                            int size,
                            byte cmap[],
                            int start,
                            boolean hasalpha)
    
    Constructs an IndexColorModel from a single arrays of packed red, green, blue and optional alpha components. The array must have enough values in it to fill all of the needed component arrays of the specified size.

    Parameters:
    bits - The number of bits each pixel occupies.
    size - The size of the color component arrays.
    cmap - The array of color components.
    start - The starting offset of the first color component.
    hasalpha - Indicates whether alpha values are contained in the cmap array.
    IndexColorModel
     public IndexColorModel(int bits,
                            int size,
                            byte cmap[],
                            int start,
                            boolean hasalpha,
                            int trans)
    
    Constructs an IndexColorModel from a single arrays of packed red, green, blue and optional alpha components. The specified transparent index represents a pixel which will be considered entirely transparent regardless of any alpha value specified for it. The array must have enough values in it to fill all of the needed component arrays of the specified size.

    Parameters:
    bits - The number of bits each pixel occupies.
    size - The size of the color component arrays.
    cmap - The array of color components.
    start - The starting offset of the first color component.
    hasalpha - Indicates whether alpha values are contained in the cmap array.
    trans - The index of the fully transparent pixel.

    Methods

    getMapSize
     public final int getMapSize()
    
    Returns the size of the color component arrays in this IndexColorModel.

    getTransparentPixel
     public final int getTransparentPixel()
    
    Returns the index of the transparent pixel in this IndexColorModel or -1 if there is no transparent pixel.

    getReds
     public final void getReds(byte r[])
    
    Copies the array of red color components into the given array. Only the initial entries of the array as specified by getMapSize() are written.

    getGreens
     public final void getGreens(byte g[])
    
    Copies the array of green color components into the given array. Only the initial entries of the array as specified by getMapSize() are written.

    getBlues
     public final void getBlues(byte b[])
    
    Copies the array of blue color components into the given array. Only the initial entries of the array as specified by getMapSize() will be written.

    getAlphas
     public final void getAlphas(byte a[])
    
    Copies the array of alpha transparency values into the given array. Only the initial entries of the array as specified by getMapSize() will be written.

    getRed
     public final int getRed(int pixel)
    
    Returns the red color compoment for the specified pixel in the range 0-255.

    Overrides:
    getRed in class ColorModel
    getGreen
     public final int getGreen(int pixel)
    
    Returns the green color compoment for the specified pixel in the range 0-255.

    Overrides:
    getGreen in class ColorModel
    getBlue
     public final int getBlue(int pixel)
    
    Returns the blue color compoment for the specified pixel in the range 0-255.

    Overrides:
    getBlue in class ColorModel
    getAlpha
     public final int getAlpha(int pixel)
    
    Returns the alpha transparency value for the specified pixel in the range 0-255.

    Overrides:
    getAlpha in class ColorModel
    getRGB
     public final int getRGB(int pixel)
    
    Returns the color of the pixel in the default RGB color model.

    Overrides:
    getRGB in class ColorModel
    See Also:
    getRGBdefault

    < kօr$& !756$0& ./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.indexcolormodel_mi.htmt$$ Class java.awt.image.PixelGrabber

    Class java.awt.image.PixelGrabber

    java.lang.Object
       |
       +----java.awt.image.PixelGrabber
    

    public class PixelGrabber
    extends Object
    implements ImageConsumer

    The PixelGrabber class implements an ImageConsumer which can be attached to an Image or ImageProducer object to retrieve a subset of the pixels in that image. Here is an example:

     public void handlesinglepixel(int x, int y, int pixel) {
    	int alpha = (pixel >> 24) & 0xff;
    	int red   = (pixel >> 16) & 0xff;
    	int green = (pixel >>  8) & 0xff;
    	int blue  = (pixel      ) & 0xff;
    	// Deal with the pixel as necessary...
     }
     public void handlepixels(Image img, int x, int y, int w, int h) {
    	int[] pixels = new int[w * h];
    	PixelGrabber pg = new PixelGrabber(img, x, y, w, h, pixels, 0, w);
    	try {
    	    pg.grabPixels();
    	} catch (InterruptedException e) {
    	    System.err.println("interrupted waiting for pixels!");
    	    return;
    	}
    	if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
    	    System.err.println("image fetch aborted or errored");
    	    return;
    	}
    	for (int j = 0; j 
    

    See Also:
    getRGBdefault

    Constructor Index

    PixelGrabber(Image, int, int, int, int, boolean)
    Create a PixelGrabber object to grab the (x, y, w, h) rectangular section of pixels from the specified image.
    PixelGrabber(Image, int, int, int, int, int[], int, int)
    Create a PixelGrabber object to grab the (x, y, w, h) rectangular section of pixels from the specified image into the given array.
    PixelGrabber(ImageProducer, int, int, int, int, int[], int, int)
    Create a PixelGrabber object to grab the (x, y, w, h) rectangular section of pixels from the image produced by the specified ImageProducer into the given array.

    Method Index

    abortGrabbing()
    Request the PixelGrabber to abort the image fetch.
    getColorModel()
    Get the ColorModel for the pixels stored in the array.
    getHeight()
    Get the height of the pixel buffer (after adjusting for image height).
    getPixels()
    Get the pixel buffer.
    getStatus()
    Return the status of the pixels.
    getWidth()
    Get the width of the pixel buffer (after adjusting for image width).
    grabPixels()
    Request the Image or ImageProducer to start delivering pixels and wait for all of the pixels in the rectangle of interest to be delivered.
    grabPixels(long)
    Request the Image or ImageProducer to start delivering pixels and wait for all of the pixels in the rectangle of interest to be delivered or until the specified timeout has elapsed.
    imageComplete(int)
    The imageComplete method is part of the ImageConsumer API which this class must implement to retrieve the pixels.
    setColorModel(ColorModel)
    The setColorModel method is part of the ImageConsumer API which this class must implement to retrieve the pixels.
    setDimensions(int, int)
    The setDimensions method is part of the ImageConsumer API which this class must implement to retrieve the pixels.
    setHints(int)
    The setHints method is part of the ImageConsumer API which this class must implement to retrieve the pixels.
    setPixels(int, int, int, int, ColorModel, byte[], int, int)
    The setPixels method is part of the ImageConsumer API which this class must implement to retrieve the pixels.
    setPixels(int, int, int, int, ColorModel, int[], int, int)
    The setPixels method is part of the ImageConsumer API which this class must implement to retrieve the pixels.
    setProperties(Hashtable)
    The setProperties method is part of the ImageConsumer API which this class must implement to retrieve the pixels.
    startGrabbing()
    Request the PixelGrabber to start fetching the pixels.
    status()
    DEPRECATED: Replaced by getStatus().

    Constructors

    PixelGrabber
     public PixelGrabber(Image img,
                         int x,
                         int y,
                         int w,
                         int h,
                         int pix[],
                         int off,
                         int scansize)
    
    Create a PixelGrabber object to grab the (x, y, w, h) rectangular section of pixels from the specified image into the given array. The pixels are stored into the array in the default RGB ColorModel. The RGB data for pixel (i, j) where (i, j) is inside the rectangle (x, y, w, h) is stored in the array at pix[(j - y) * scansize + (i - x) + off].

    Parameters:
    img - the image to retrieve pixels from
    x - the x coordinate of the upper left corner of the rectangle of pixels to retrieve from the image, relative to the default (unscaled) size of the image
    y - the y coordinate of the upper left corner of the rectangle of pixels to retrieve from the image
    w - the width of the rectangle of pixels to retrieve
    h - the height of the rectangle of pixels to retrieve
    pix - the array of integers which are to be used to hold the RGB pixels retrieved from the image
    off - the offset into the array of where to store the first pixel
    scansize - the distance from one row of pixels to the next in the array
    See Also:
    getRGBdefault
    PixelGrabber
     public PixelGrabber(ImageProducer ip,
                         int x,
                         int y,
                         int w,
                         int h,
                         int pix[],
                         int off,
                         int scansize)
    
    Create a PixelGrabber object to grab the (x, y, w, h) rectangular section of pixels from the image produced by the specified ImageProducer into the given array. The pixels are stored into the array in the default RGB ColorModel. The RGB data for pixel (i, j) where (i, j) is inside the rectangle (x, y, w, h) is stored in the array at pix[(j - y) * scansize + (i - x) + off].

    Parameters:
    img - the image to retrieve pixels from
    x - the x coordinate of the upper left corner of the rectangle of pixels to retrieve from the image, relative to the default (unscaled) size of the image
    y - the y coordinate of the upper left corner of the rectangle of pixels to retrieve from the image
    w - the width of the rectangle of pixels to retrieve
    h - the height of the rectangle of pixels to retrieve
    pix - the array of integers which are to be used to hold the RGB pixels retrieved from the image
    off - the offset into the array of where to store the first pixel
    scansize - the distance from one row of pixels to the next in the array
    See Also:
    getRGBdefault
    PixelGrabber
     public PixelGrabber(Image img,
                         int x,
                         int y,
                         int w,
                         int h,
                         boolean forceRGB)
    
    Create a PixelGrabber object to grab the (x, y, w, h) rectangular section of pixels from the specified image. The pixels are accumulated in the original ColorModel if the same ColorModel is used for every call to setPixels, otherwise the pixels are accumulated in the default RGB ColorModel. If the forceRGB parameter is true, then the pixels will be accumulated in the default RGB ColorModel anywya. A buffer is allocated by the PixelGrabber to hold the pixels in either case. If (w <0) or (h < 0), then they will default to the remaining width and height of the source data when that information is delivered.

    Parameters:
    img - the image to retrieve the image data from
    x - the x coordinate of the upper left corner of the rectangle of pixels to retrieve from the image, relative to the default (unscaled) size of the image
    y - the y coordinate of the upper left corner of the rectangle of pixels to retrieve from the image
    w - the width of the rectangle of pixels to retrieve
    h - the height of the rectangle of pixels to retrieve
    forceRGB - true if the pixels should always be converted to the default RGB ColorModel

    Methods

    startGrabbing
     public synchronized void startGrabbing()
    
    Request the PixelGrabber to start fetching the pixels.

    abortGrabbing
     public synchronized void abortGrabbing()
    
    Request the PixelGrabber to abort the image fetch.

    grabPixels
     public boolean grabPixels() throws InterruptedException
    
    Request the Image or ImageProducer to start delivering pixels and wait for all of the pixels in the rectangle of interest to be delivered.

    Returns:
    true if the pixels were successfully grabbed, false on abort, error or timeout
    Throws: InterruptedException
    Another thread has interrupted this thread.
    grabPixels
     public synchronized boolean grabPixels(long ms) throws InterruptedException
    
    Request the Image or ImageProducer to start delivering pixels and wait for all of the pixels in the rectangle of interest to be delivered or until the specified timeout has elapsed.

    Parameters:
    ms - the number of milliseconds to wait for the image pixels to arrive before timing out
    Returns:
    true if the pixels were successfully grabbed, false on abort, error or timeout
    Throws: InterruptedException
    Another thread has interrupted this thread.
    getStatus
     public synchronized int getStatus()
    
    Return the status of the pixels. The ImageObserver flags representing the available pixel information are returned.

    Returns:
    the bitwise OR of all relevant ImageObserver flags
    See Also:
    ImageObserver
    getWidth
     public synchronized int getWidth()
    
    Get the width of the pixel buffer (after adjusting for image width). If no width was specified for the rectangle of pixels to grab then then this information will only be available after the image has delivered the dimensions.

    Returns:
    the final width used for the pixel buffer or -1 if the width is not yet known
    See Also:
    getStatus
    getHeight
     public synchronized int getHeight()
    
    Get the height of the pixel buffer (after adjusting for image height). If no width was specified for the rectangle of pixels to grab then then this information will only be available after the image has delivered the dimensions.

    Returns:
    the final height used for the pixel buffer or -1 if the height is not yet known
    See Also:
    getStatus
    getPixels
     public synchronized Object getPixels()
    
    Get the pixel buffer. If the PixelGrabber was not constructed with an explicit pixel buffer to hold the pixels then this method will return null until the size and format of the image data is known. Since the PixelGrabber may fall back on accumulating the data in the default RGB ColorModel at any time if the source image uses more than one ColorModel to deliver the data, the array object returned by this method may change over time until the image grab is complete.

    Returns:
    either a byte array or an int array
    See Also:
    getStatus
    getColorModel
     public synchronized ColorModel getColorModel()
    
    Get the ColorModel for the pixels stored in the array. If the PixelGrabber was constructed with an explicit pixel buffer then this method will always return the default RGB ColorModel, otherwise it may return null until the ColorModel used by the ImageProducer is known. Since the PixelGrabber may fall back on accumulating the data in the default RGB ColorModel at any time if the source image uses more than one ColorModel to deliver the data, the ColorModel object returned by this method may change over time until the image grab is complete.

    Returns:
    the ColorModel object used for storing the pixels
    See Also:
    getStatus, getRGBdefault
    setDimensions
     public void setDimensions(int width,
                               int height)
    
    The setDimensions method is part of the ImageConsumer API which this class must implement to retrieve the pixels.

    setHints
     public void setHints(int hints)
    
    The setHints method is part of the ImageConsumer API which this class must implement to retrieve the pixels.

    setProperties
     public void setProperties(Hashtable props)
    
    The setProperties method is part of the ImageConsumer API which this class must implement to retrieve the pixels.

    setColorModel
     public void setColorModel(ColorModel model)
    
    The setColorModel method is part of the ImageConsumer API which this class must implement to retrieve the pixels.

    setPixels
     public void setPixels(int srcX,
                           int srcY,
                           int srcW,
                           int srcH,
                           ColorModel model,
                           byte pixels[],
                           int srcOff,
                           int srcScan)
    
    The setPixels method is part of the ImageConsumer API which this class must implement to retrieve the pixels.

    setPixels
     public void setPixels(int srcX,
                           int srcY,
                           int srcW,
                           int srcH,
                           ColorModel model,
                           int pixels[],
                           int srcOff,
                           int srcScan)
    
    The setPixels method is part of the ImageConsumer API which this class must implement to retrieve the pixels.

    imageComplete
     public synchronized void imageComplete(int status)
    
    The imageComplete method is part of the ImageConsumer API which this class must implement to retrieve the pixels.

    status
     public synchronized int status()
    
    DEPRECATED: Replaced by getStatus().


    lici kix$1 "756$ 1 ./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.pixelgrabber_mi.htmhtm$$ Class java.awt.image.ReplicateScaleFilter

    Class java.awt.image.ReplicateScaleFilter

    java.lang.Object
       |
       +----java.awt.image.ImageFilter
               |
               +----java.awt.image.ReplicateScaleFilter
    

    public class ReplicateScaleFilter
    extends ImageFilter
    super class of:
    AreaAveragingScaleFilter

    An ImageFilter class for scaling images using the simplest algorithm. This class extends the basic ImageFilter Class to scale an existing image and provide a source for a new image containing the resampled image. The pixels in the source image are sampled to produce pixels for an image of the specified size by replicating rows and columns of pixels to scale up or omitting rows and columns of pixels to scale down. It is meant to be used in conjunction with a FilteredImageSource object to produce scaled versions of existing images.

    See Also:
    FilteredImageSource, ImageFilter

    Variable Index

    destHeight
    destWidth
    outpixbuf
    srccols
    srcHeight
    srcrows
    srcWidth

    Constructor Index

    ReplicateScaleFilter(int, int)
    Constructs a ReplicateScaleFilter that scales the pixels from its source Image as specified by the width and height parameters.

    Method Index

    setDimensions(int, int)
    Override the dimensions of the source image and pass the dimensions of the new scaled size to the ImageConsumer.
    setPixels(int, int, int, int, ColorModel, byte[], int, int)
    Choose which rows and columns of the delivered byte pixels are needed for the destination scaled image and pass through just those rows and columns that are needed, replicated as necessary.
    setPixels(int, int, int, int, ColorModel, int[], int, int)
    Choose which rows and columns of the delivered int pixels are needed for the destination scaled image and pass through just those rows and columns that are needed, replicated as necessary.
    setProperties(Hashtable)
    Passes along the properties from the source object after adding a property indicating the scale applied.

    Variables

    srcWidth
     protected int srcWidth
    
    srcHeight
     protected int srcHeight
    
    destWidth
     protected int destWidth
    
    destHeight
     protected int destHeight
    
    srcrows
     protected int srcrows[]
    
    srccols
     protected int srccols[]
    
    outpixbuf
     protected Object outpixbuf
    

    Constructors

    ReplicateScaleFilter
     public ReplicateScaleFilter(int width,
                                 int height)
    
    Constructs a ReplicateScaleFilter that scales the pixels from its source Image as specified by the width and height parameters.

    Parameters:
    width - the target width to scale the image
    height - the target height to scale the image

    Methods

    setProperties
     public void setProperties(Hashtable props)
    
    Passes along the properties from the source object after adding a property indicating the scale applied.

    Overrides:
    setProperties in class ImageFilter
    setDimensions
     public void setDimensions(int w,
                               int h)
    
    Override the dimensions of the source image and pass the dimensions of the new scaled size to the ImageConsumer.

    Overrides:
    setDimensions in class ImageFilter
    See Also:
    ImageConsumer
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           byte pixels[],
                           int off,
                           int scansize)
    
    Choose which rows and columns of the delivered byte pixels are needed for the destination scaled image and pass through just those rows and columns that are needed, replicated as necessary.

    Overrides:
    setPixels in class ImageFilter
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           int pixels[],
                           int off,
                           int scansize)
    
    Choose which rows and columns of the delivered int pixels are needed for the destination scaled image and pass through just those rows and columns that are needed, replicated as necessary.

    Overrides:
    setPixels in class ImageFilter

    lter Class java.awt.image.RGBImageFilter

    Class java.awt.image.RGBImageFilter

    java.lang.Object
       |
       +----java.awt.image.ImageFilter
               |
               +----java.awt.image.RGBImageFilter
    

    public abstract class RGBImageFilter
    extends ImageFilter

    This class provides an easy way to create an ImageFilter which modifies the pixels of an image in the default RGB ColorModel. It is meant to be used in conjunction with a FilteredImageSource object to produce filtered versions of existing images. It is an abstract class that provides the calls needed to channel all of the pixel data through a single method which converts pixels one at a time in the default RGB ColorModel regardless of the ColorModel being used by the ImageProducer. The only method which needs to be defined to create a useable image filter is the filterRGB method. Here is an example of a definition of a filter which swaps the red and blue components of an image:

    	class RedBlueSwapFilter extends RGBImageFilter {
    	    public RedBlueSwapFilter() {
    		// The filter's operation does not depend on the
    		// pixel's location, so IndexColorModels can be
    		// filtered directly.
    		canFilterIndexColorModel = true;
    	    }
    	    public int filterRGB(int x, int y, int rgb) {
    		return ((rgb & 0xff00ff00)
    			| ((rgb & 0xff0000) >> 16)
    			| ((rgb & 0xff) << 16)); } } 

    See Also:
    FilteredImageSource, ImageFilter, getRGBdefault

    Variable Index

    canFilterIndexColorModel
    This boolean indicates whether or not it is acceptable to apply the color filtering of the filterRGB method to the color table entries of an IndexColorModel object in lieu of pixel by pixel filtering.
    newmodel
    origmodel

    Constructor Index

    RGBImageFilter()

    Method Index

    filterIndexColorModel(IndexColorModel)
    Filters an IndexColorModel object by running each entry in its color tables through the filterRGB function that RGBImageFilter subclasses must provide.
    filterRGB(int, int, int)
    Subclasses must specify a method to convert a single input pixel in the default RGB ColorModel to a single output pixel.
    filterRGBPixels(int, int, int, int, int[], int, int)
    Filters a buffer of pixels in the default RGB ColorModel by passing them one by one through the filterRGB method.
    setColorModel(ColorModel)
    If the ColorModel is an IndexColorModel, and the subclass has set the canFilterIndexColorModel flag to true, we substitute a filtered version of the color model here and wherever that original ColorModel object appears in the setPixels methods.
    setPixels(int, int, int, int, ColorModel, byte[], int, int)
    If the ColorModel object is the same one that has already been converted, then simply passes the pixels through with the converted ColorModel.
    setPixels(int, int, int, int, ColorModel, int[], int, int)
    If the ColorModel object is the same one that has already been converted, then simply passes the pixels through with the converted ColorModel, otherwise converts the buffer of integer pixels to the default RGB ColorModel and passes the converted buffer to the filterRGBPixels method to be converted one by one.
    substituteColorModel(ColorModel, ColorModel)
    Registers two ColorModel objects for substitution.

    Variables

    origmodel
     protected ColorModel origmodel
    
    newmodel
     protected ColorModel newmodel
    
    canFilterIndexColorModel
     protected boolean canFilterIndexColorModel
    
    This boolean indicates whether or not it is acceptable to apply the color filtering of the filterRGB method to the color table entries of an IndexColorModel object in lieu of pixel by pixel filtering. Subclasses should set this variable to true in their constructor if their filterRGB method does not depend on the coordinate of the pixel being filtered.

    See Also:
    substituteColorModel, filterRGB, IndexColorModel

    Constructors

    RGBImageFilter
     public RGBImageFilter()
    

    Methods

    setColorModel
     public void setColorModel(ColorModel model)
    
    If the ColorModel is an IndexColorModel, and the subclass has set the canFilterIndexColorModel flag to true, we substitute a filtered version of the color model here and wherever that original ColorModel object appears in the setPixels methods. Otherwise overrides the default ColorModel used by the ImageProducer and specifies the default RGB ColorModel instead.

    Overrides:
    setColorModel in class ImageFilter
    See Also:
    ImageConsumer, getRGBdefault
    substituteColorModel
     public void substituteColorModel(ColorModel oldcm,
                                      ColorModel newcm)
    
    Registers two ColorModel objects for substitution. If the oldcm is encountered during any of the setPixels methods, the newcm is substituted and the pixels passed through untouched (but with the new ColorModel object).

    Parameters:
    oldcm - the ColorModel object to be replaced on the fly
    newcm - the ColorModel object to replace oldcm on the fly
    filterIndexColorModel
     public IndexColorModel filterIndexColorModel(IndexColorModel icm)
    
    Filters an IndexColorModel object by running each entry in its color tables through the filterRGB function that RGBImageFilter subclasses must provide. Uses coordinates of -1 to indicate that a color table entry is being filtered rather than an actual pixel value.

    Parameters:
    icm - the IndexColorModel object to be filtered
    Returns:
    a new IndexColorModel representing the filtered colors
    filterRGBPixels
     public void filterRGBPixels(int x,
                                 int y,
                                 int w,
                                 int h,
                                 int pixels[],
                                 int off,
                                 int scansize)
    
    Filters a buffer of pixels in the default RGB ColorModel by passing them one by one through the filterRGB method.

    See Also:
    getRGBdefault, filterRGB
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           byte pixels[],
                           int off,
                           int scansize)
    
    If the ColorModel object is the same one that has already been converted, then simply passes the pixels through with the converted ColorModel. Otherwise converts the buffer of byte pixels to the default RGB ColorModel and passes the converted buffer to the filterRGBPixels method to be converted one by one.

    Overrides:
    setPixels in class ImageFilter
    See Also:
    getRGBdefault, filterRGBPixels
    setPixels
     public void setPixels(int x,
                           int y,
                           int w,
                           int h,
                           ColorModel model,
                           int pixels[],
                           int off,
                           int scansize)
    
    If the ColorModel object is the same one that has already been converted, then simply passes the pixels through with the converted ColorModel, otherwise converts the buffer of integer pixels to the default RGB ColorModel and passes the converted buffer to the filterRGBPixels method to be converted one by one. Converts a buffer of integer pixels to the default RGB ColorModel and passes the converted buffer to the filterRGBPixels method.

    Overrides:
    setPixels in class ImageFilter
    See Also:
    getRGBdefault, filterRGBPixels
    filterRGB
     public abstract int filterRGB(int x,
                                   int y,
                                   int rgb)
    
    Subclasses must specify a method to convert a single input pixel in the default RGB ColorModel to a single output pixel.

    See Also:
    getRGBdefault, filterRGBPixels

     k~$#756$@./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image.rgbimagefilter_mi.htm.h$$ Class java.awt.Image

    Class java.awt.Image

    java.lang.Object
       |
       +----java.awt.Image
    

    public abstract class Image
    extends Object

    The abstract class Image is the superclass of all classes that represent graphical images. The image must be obtained in a platform-specific manner.


    Variable Index

    SCALE_AREA_AVERAGING
    Use the Area Averaging image scaling algorithm.
    SCALE_DEFAULT
    Use the default image-scaling algorithm.
    SCALE_FAST
    Choose an image-scaling algorithm that gives higher priority to scaling speed than smoothness of the scaled image.
    SCALE_REPLICATE
    Use the image scaling algorithm embodied in the ReplicateScaleFilter class.
    SCALE_SMOOTH
    Choose an image-scaling algorithm that gives higher priority to image smoothness than scaling speed.
    UndefinedProperty
    The UndefinedProperty object should be returned whenever a property which was not defined for a particular image is fetched.

    Constructor Index

    Image()

    Method Index

    flush()
    Flushes all resources being used by this Image object.
    getGraphics()
    Creates a graphics context for drawing to an off-screen image.
    getHeight(ImageObserver)
    Determines the height of the image.
    getProperty(String, ImageObserver)
    Gets a property of this image by name.
    getScaledInstance(int, int, int)
    Creates a scaled version of this image.
    getSource()
    Gets the object that produces the pixels for the image.
    getWidth(ImageObserver)
    Determines the width of the image.

    Variables

    UndefinedProperty
     public static final Object UndefinedProperty
    
    The UndefinedProperty object should be returned whenever a property which was not defined for a particular image is fetched.

    SCALE_DEFAULT
     public static final int SCALE_DEFAULT
    
    Use the default image-scaling algorithm.

    SCALE_FAST
     public static final int SCALE_FAST
    
    Choose an image-scaling algorithm that gives higher priority to scaling speed than smoothness of the scaled image.

    SCALE_SMOOTH
     public static final int SCALE_SMOOTH
    
    Choose an image-scaling algorithm that gives higher priority to image smoothness than scaling speed.

    SCALE_REPLICATE
     public static final int SCALE_REPLICATE
    
    Use the image scaling algorithm embodied in the ReplicateScaleFilter class. The Image object is free to substitute a different filter that performs the same algorithm yet integrates more efficiently into the imaging infrastructure supplied by the toolkit.

    See Also:
    ReplicateScaleFilter
    SCALE_AREA_AVERAGING
     public static final int SCALE_AREA_AVERAGING
    
    Use the Area Averaging image scaling algorithm. The image object is free to substitute a different filter that performs the same algorithm yet integrates more efficiently into the image infrastructure supplied by the toolkit.

    See Also:
    AreaAveragingScaleFilter

    Constructors

    Image
     public Image()
    

    Methods

    getWidth
     public abstract int getWidth(ImageObserver observer)
    
    Determines the width of the image. If the width is not yet known, this method returns -1 and the specified ImageObserver object is notified later.

    Parameters:
    observer - an object waiting for the image to be loaded.
    Returns:
    the width of this image, or -1 if the width is not yet known.
    See Also:
    getHeight, ImageObserver
    getHeight
     public abstract int getHeight(ImageObserver observer)
    
    Determines the height of the image. If the height is not yet known, this method returns -1 and the specified ImageObserver object is notified later.

    Parameters:
    observer - an object waiting for the image to be loaded.
    Returns:
    the height of this image, or -1 if the height is not yet known.
    See Also:
    getWidth, ImageObserver
    getSource
     public abstract ImageProducer getSource()
    
    Gets the object that produces the pixels for the image. This method is called by the image filtering classes and by methods that perform image conversion and scaling.

    Returns:
    the image producer that produces the pixels for this image.
    See Also:
    ImageProducer
    getGraphics
     public abstract Graphics getGraphics()
    
    Creates a graphics context for drawing to an off-screen image. This method can only be called for off-screen images.

    Returns:
    a graphics context to draw to the off-screen image.
    See Also:
    Graphics, createImage
    getProperty
     public abstract Object getProperty(String name,
                                        ImageObserver observer)
    
    Gets a property of this image by name.

    Individual property names are defined by the various image formats. If a property is not defined for a particular image, this method returns the UndefinedProperty object.

    If the properties for this image are not yet known, this method returns null, and the ImageObserver object is notified later.

    The property name "comment" should be used to store an optional comment which can be presented to the application as a description of the image, its source, or its author.

    Parameters:
    name - a property name.
    observer - an object waiting for this image to be loaded.
    Returns:
    the value of the named property.
    See Also:
    ImageObserver, UndefinedProperty
    getScaledInstance
     public Image getScaledInstance(int width,
                                    int height,
                                    int hints)
    
    Creates a scaled version of this image. A new Image object is returned which will render the image at the specified width and height by default. The new Image object may be loaded asynchronously even if the original source image has already been loaded completely. If either the width or height is a negative number then a value is substituted to maintain the aspect ratio of the original image dimensions.

    Parameters:
    width - the width to which to scale the image.
    height - the height to which to scale the image.
    hints - flags to indicate the type of algorithm to use for image resampling.
    Returns:
    a scaled version of the image.
    See Also:
    SCALE_DEFAULT, SCALE_FAST, SCALE_SMOOTH, SCALE_REPLICATE, SCALE_AVERAGE
    flush
     public abstract void flush()
    
    Flushes all resources being used by this Image object. This includes any pixel data that is being cached for rendering to the screen as well as any system resources that are being used to store data or pixels for the image. The image is reset to a state similar to when it was first created so that if it is again rendered, the image data will have to be recreated or fetched again from its source.


    images k$#756$@./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.image_mi.htmf$$ Class java.awt.Insets

    Class java.awt.Insets

    java.lang.Object
       |
       +----java.awt.Insets
    

    public class Insets
    extends Object
    implements Cloneable, Serializable

    An Insets object is a representation of the borders of a container. It specifies the space that a container must leave at each of its edges. The space can be a border, a blank space, or a title.

    Since:
    JDK1.0
    See Also:
    LayoutManager, Container

    Variable Index

    bottom
    The inset from the bottom.
    left
    The inset from the left.
    right
    The inset from the right.
    top
    The inset from the top.

    Constructor Index

    Insets(int, int, int, int)
    Creates and initializes a new Insets object with the specified top, left, bottom, and right insets.

    Method Index

    clone()
    Create a copy of this object.
    equals(Object)
    Checks whether two insets objects are equal.
    toString()
    Returns a String object representing this Insets object's values.

    Variables

    top
     public int top
    
    The inset from the top.

    left
     public int left
    
    The inset from the left.

    bottom
     public int bottom
    
    The inset from the bottom.

    right
     public int right
    
    The inset from the right.


    Constructors

    Insets
     public Insets(int top,
                   int left,
                   int bottom,
                   int right)
    
    Creates and initializes a new Insets object with the specified top, left, bottom, and right insets.

    Parameters:
    top - the inset from the top.
    left - the inset from the left.
    bottom - the inset from the bottom.
    right - the inset from the right.

    Methods

    equals
     public boolean equals(Object obj)
    
    Checks whether two insets objects are equal. Two instances of Insets are equal if the four integer values of the fields top, left, bottom, and right are all equal.

    Returns:
    true if the two insets are equal; otherwise false.
    Overrides:
    equals in class Object
    toString
     public String toString()
    
    Returns a String object representing this Insets object's values.

    Returns:
    a string representation of this Insets object, including the values of its member fields.
    Overrides:
    toString in class Object
    clone
     public Object clone()
    
    Create a copy of this object.

    Returns:
    a copy of this Insets object.
    Overrides:
    clone in class Object

    , int, k$#756$`~./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.insets_mi.htm$$ Interface java.awt.ItemSelectable

    Interface java.awt.ItemSelectable

    public interface ItemSelectable

    The interface for objects which contain a set of items for which zero or more can be selected.


    Method Index

    addItemListener(ItemListener)
    Add a listener to recieve item events when the state of an item changes.
    getSelectedObjects()
    Returns the selected items or null if no items are selected.
    removeItemListener(ItemListener)
    Removes an item listener.

    Methods

    getSelectedObjects
     public abstract Object[] getSelectedObjects()
    
    Returns the selected items or null if no items are selected.

    addItemListener
     public abstract void addItemListener(ItemListener l)
    
    Add a listener to recieve item events when the state of an item changes.

    Parameters:
    l - the listener to recieve events
    See Also:
    ItemEvent
    removeItemListener
     public abstract void removeItemListener(ItemListener l)
    
    Removes an item listener.

    Parameters:
    l - the listener being removed
    See Also:
    ItemEvent

     kA$#756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.itemselectable_mi.htm$$ Class java.awt.Label

    Class java.awt.Label

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Label
    

    public class Label
    extends Component

    A Label object is a component for placing text in a container. A label displays a single line of read-only text. The text can be changed by the application, but a user cannot edit it directly.

    For example, the code . . .


     setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); 
     add(new Label("Hi There!")); 
     add(new Label("Another Label"));
     

    produces the following label:


    Variable Index

    CENTER
    Indicates that the label should be centered.
    LEFT
    Indicates that the label should be left justified.
    RIGHT
    Indicates that the label should be right justified.

    Constructor Index

    Label()
    Constructs an empty label.
    Label(String)
    Constructs a new label with the specified string of text, left justified.
    Label(String, int)
    Constructs a new label that presents the specified string of text with the specified alignment.

    Method Index

    addNotify()
    Creates the peer for this label.
    getAlignment()
    Gets the current alignment of this label.
    getText()
    Gets the text of this label.
    paramString()
    Returns the parameter string representing the state of this label.
    setAlignment(int)
    Sets the alignment for this label to the specified alignment.
    setText(String)
    Sets the text for this label to the specified text.

    Variables

    LEFT
     public static final int LEFT
    
    Indicates that the label should be left justified.

    CENTER
     public static final int CENTER
    
    Indicates that the label should be centered.

    RIGHT
     public static final int RIGHT
    
    Indicates that the label should be right justified.


    Constructors

    Label
     public Label()
    
    Constructs an empty label.

    Label
     public Label(String text)
    
    Constructs a new label with the specified string of text, left justified.

    Parameters:
    text - the string that the label presents.
    Label
     public Label(String text,
                  int alignment)
    
    Constructs a new label that presents the specified string of text with the specified alignment.

    Possible values for alignment are Label.LEFT, Label.RIGHT, and Label.CENTER.

    Parameters:
    text - the string that the label presents.
    alignment - the alignment value.

    Methods

    addNotify
     public void addNotify()
    
    Creates the peer for this label. The peer allows us to modify the appearance of the label without changing its functionality.

    Overrides:
    addNotify in class Component
    getAlignment
     public int getAlignment()
    
    Gets the current alignment of this label. Possible values are Label.LEFT, Label.RIGHT, and Label.CENTER.

    See Also:
    setAlignment
    setAlignment
     public synchronized void setAlignment(int alignment)
    
    Sets the alignment for this label to the specified alignment. Possible values are Label.LEFT, Label.RIGHT, and Label.CENTER.

    Parameters:
    alignment - the alignment to be set.
    Throws: IllegalArgumentException
    if an improper value for alignment is given.
    See Also:
    getAlignment
    getText
     public String getText()
    
    Gets the text of this label.

    Returns:
    the text of this label.
    See Also:
    setText
    setText
     public synchronized void setText(String text)
    
    Sets the text for this label to the specified text.

    Parameters:
    text - the text that this label presents.
    See Also:
    getText
    paramString
     protected String paramString()
    
    Returns the parameter string representing the state of this label. This string is useful for debugging.

    Returns:
    the parameter string of this label.
    Overrides:
    paramString in class Component

    Interface java.awt.LayoutManager2

    Interface java.awt.LayoutManager2

    public interface LayoutManager2
    extends LayoutManager

    Defines an interface for classes that know how to layout Containers based on a layout constraints object. This interface extends the LayoutManager interface to deal with layouts explicitly in terms of constraint objects that specify how and where components should be added to the layout.

    This minimal extension to LayoutManager is intended for tool providers who wish to the creation of constraint-based layouts. It does not yet provide full, general support for custom constraint-based layout managers.

    See Also:
    LayoutManager, Container

    Method Index

    addLayoutComponent(Component, Object)
    Adds the specified component to the layout, using the specified constraint object.
    getLayoutAlignmentX(Container)
    Returns the alignment along the x axis.
    getLayoutAlignmentY(Container)
    Returns the alignment along the y axis.
    invalidateLayout(Container)
    Invalidates the layout, indicating that if the layout manager has cached information it should be discarded.
    maximumLayoutSize(Container)
    Returns the maximum size of this component.

    Methods

    addLayoutComponent
     public abstract void addLayoutComponent(Component comp,
                                             Object constraints)
    
    Adds the specified component to the layout, using the specified constraint object.

    Parameters:
    comp - the component to be added
    constraints - where/how the component is added to the layout.
    maximumLayoutSize
     public abstract Dimension maximumLayoutSize(Container target)
    
    Returns the maximum size of this component.

    See Also:
    getMinimumSize, getPreferredSize, LayoutManager
    getLayoutAlignmentX
     public abstract float getLayoutAlignmentX(Container target)
    
    Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.

    getLayoutAlignmentY
     public abstract float getLayoutAlignmentY(Container target)
    
    Returns the alignment along the y axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.

    invalidateLayout
     public abstract void invalidateLayout(Container target)
    
    Invalidates the layout, indicating that if the layout manager has cached information it should be discarded.


    x"> kD$$756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.layoutmanager2_mi.htm$$ Interface java.awt.LayoutManager

    Interface java.awt.LayoutManager

    public interface LayoutManager

    Defines the interface for classes that know how to layout Containers.

    See Also:
    Container

    Method Index

    addLayoutComponent(String, Component)
    Adds the specified component with the specified name to the layout.
    layoutContainer(Container)
    Lays out the container in the specified panel.
    minimumLayoutSize(Container)
    Calculates the minimum size dimensions for the specified panel given the components in the specified parent container.
    preferredLayoutSize(Container)
    Calculates the preferred size dimensions for the specified panel given the components in the specified parent container.
    removeLayoutComponent(Component)
    Removes the specified component from the layout.

    Methods

    addLayoutComponent
     public abstract void addLayoutComponent(String name,
                                             Component comp)
    
    Adds the specified component with the specified name to the layout.

    Parameters:
    name - the component name
    comp - the component to be added
    removeLayoutComponent
     public abstract void removeLayoutComponent(Component comp)
    
    Removes the specified component from the layout.

    Parameters:
    comp - the component ot be removed
    preferredLayoutSize
     public abstract Dimension preferredLayoutSize(Container parent)
    
    Calculates the preferred size dimensions for the specified panel given the components in the specified parent container.

    Parameters:
    parent - the component to be laid out
    See Also:
    minimumLayoutSize
    minimumLayoutSize
     public abstract Dimension minimumLayoutSize(Container parent)
    
    Calculates the minimum size dimensions for the specified panel given the components in the specified parent container.

    Parameters:
    parent - the component to be laid out
    See Also:
    preferredLayoutSize
    layoutContainer
     public abstract void layoutContainer(Container parent)
    
    Lays out the container in the specified panel.

    Parameters:
    parent - the component which needs to be laid out

    ="ind kĿ$$756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.layoutmanager_mi.htm$$ Class java.awt.Menu

    Class java.awt.Menu

    java.lang.Object
       |
       +----java.awt.MenuComponent
               |
               +----java.awt.MenuItem
                       |
                       +----java.awt.Menu
    

    public class Menu
    extends MenuItem
    implements MenuContainer
    super class of:
    PopupMenu

    A Menu object is a pull-down menu component that is deployed from a menu bar.

    A menu can optionally be a tear-off menu. A tear-off menu can be opened and dragged away from its parent menu bar or menu. It remains on the screen after the mouse button has been released. The mechanism for tearing off a menu is platform dependent, since the look and feel of the tear-off menu is determined by its peer. On platforms that do not support tear-off menus, the tear-off property is ignored.

    Each item in a menu must belong to the MenuItem class. It can be an instance of MenuItem, a submenu (an instance of Menu), or a check box (an instance of CheckboxMenuItem).

    Since:
    JDK1.0
    See Also:
    MenuItem, CheckboxMenuItem

    Constructor Index

    Menu()
    Constructs a new menu with an empty label.
    Menu(String)
    Constructs a new menu with the specified label.
    Menu(String, boolean)
    Constructs a new menu with the specified label.

    Method Index

    add(MenuItem)
    Adds the specified menu item to this menu.
    add(String)
    Adds an item with the specified label to this menu.
    addNotify()
    Creates the menu's peer.
    addSeparator()
    Adds a separator line, or a hypen, to the menu at the current position.
    countItems()
    Deprecated.
    getItem(int)
    Gets the item located at the specified index of this menu.
    getItemCount()
    Get the number of items in this menu.
    insert(MenuItem, int)
    Inserts a menu item into this menu at the specified position.
    insert(String, int)
    Inserts a menu item with the specified label into this menu at the specified position.
    insertSeparator(int)
    Inserts a separator at the specified position.
    isTearOff()
    Indicates whether this menu is a tear-off menu.
    paramString()
    Gets the parameter string representing the state of this menu.
    remove(int)
    Removes the menu item at the specified index from this menu.
    remove(MenuComponent)
    Removes the specified menu item from this menu.
    removeAll()
    Removes all items from this menu.
    removeNotify()
    Removes the menu's peer.

    Constructors

    Menu
     public Menu()
    
    Constructs a new menu with an empty label. This menu is not a tear-off menu.

    Menu
     public Menu(String label)
    
    Constructs a new menu with the specified label. This menu is not a tear-off menu.

    Parameters:
    label - the menu's label in the menu bar, or in another menu of which this menu is a submenu.
    Menu
     public Menu(String label,
                 boolean tearOff)
    
    Constructs a new menu with the specified label. If the value of tearOff is true, the menu can be torn off.

    Tear-off functionality may not be supported by all implementations of AWT. If a particular implementation doesn't support tear-off menus, this value is silently ignored.

    Parameters:
    label - the menu's label in the menu bar, or in another menu of which this menu is a submenu.
    tearOff - if true, the menu is a tear-off menu.

    Methods

    addNotify
     public void addNotify()
    
    Creates the menu's peer. The peer allows us to modify the appearance of the menu without changing its functionality.

    Overrides:
    addNotify in class MenuItem
    removeNotify
     public void removeNotify()
    
    Removes the menu's peer. The peer allows us to modify the appearance of the menu without changing its functionality.

    Overrides:
    removeNotify in class MenuComponent
    isTearOff
     public boolean isTearOff()
    
    Indicates whether this menu is a tear-off menu.

    Tear-off functionality may not be supported by all implementations of AWT. If a particular implementation doesn't support tear-off menus, this value is silently ignored.

    Returns:
    true if this is a tear-off menu; false otherwise.
    getItemCount
     public int getItemCount()
    
    Get the number of items in this menu.

    Returns:
    the number of items in this menu.
    countItems
     public int countItems()
    
    Note: countItems() is deprecated. As of JDK version 1.1, replaced by getItemCount().

    getItem
     public MenuItem getItem(int index)
    
    Gets the item located at the specified index of this menu.

    Parameters:
    index - the position of the item to be returned.
    Returns:
    the item located at the specified index.
    add
     public MenuItem add(MenuItem mi)
    
    Adds the specified menu item to this menu. If the menu item has been part of another menu, remove it from that menu.

    Parameters:
    mi - the menu item to be added.
    Returns:
    the menu item added.
    See Also:
    insert, insert
    add
     public void add(String label)
    
    Adds an item with the specified label to this menu.

    Parameters:
    label - the text on the item.
    See Also:
    insert, insert
    insert
     public void insert(MenuItem menuitem,
                        int index)
    
    Inserts a menu item into this menu at the specified position.

    Parameters:
    menuitem - the menu item to be inserted.
    index - the position at which the menu item should be inserted.
    Throws: IllegalArgumentException
    if the value of index is less than zero.
    See Also:
    add, add
    insert
     public void insert(String label,
                        int index)
    
    Inserts a menu item with the specified label into this menu at the specified position.

    Parameters:
    label - the text on the item.
    index - the position at which the menu item should be inserted.
    See Also:
    add, add
    addSeparator
     public void addSeparator()
    
    Adds a separator line, or a hypen, to the menu at the current position.

    See Also:
    insertSeparator
    insertSeparator
     public void insertSeparator(int index)
    
    Inserts a separator at the specified position.

    Parameters:
    index - the position at which the menu separator should be inserted.
    Throws: IllegalArgumentException
    if the value of index is less than 0.
    See Also:
    addSeparator
    remove
     public void remove(int index)
    
    Removes the menu item at the specified index from this menu.

    Parameters:
    index - the position of the item to be removed.
    remove
     public void remove(MenuComponent item)
    
    Removes the specified menu item from this menu.

    Parameters:
    item - the item to be removed from the menu
    removeAll
     public void removeAll()
    
    Removes all items from this menu.

    paramString
     public String paramString()
    
    Gets the parameter string representing the state of this menu. This string is useful for debugging.

    Overrides:
    paramString in class MenuItem

     kly$%756$@./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.menu_mi.htmmi$$ Class java.awt.MenuBar

    Class java.awt.MenuBar

    java.lang.Object
       |
       +----java.awt.MenuComponent
               |
               +----java.awt.MenuBar
    

    public class MenuBar
    extends MenuComponent
    implements MenuContainer

    The MenuBar class encapsulates the platform's concept of a menu bar bound to a frame. In order to associate the menu bar with a Frame object, call the frame's setMenuBar method.

    This is what a menu bar might look like:

    A menu bar handles keyboard shortcuts for menu items, passing them along to its child menus. (Keyboard shortcuts, which are optional, provide the user with an alternative to the mouse for invoking a menu item and the action that is associated with it.) Each menu item can maintain an instance of MenuShortcut. The MenuBar class defines several methods, shortCuts and getShortcutMenuItem that retrieve information about the shortcuts a given menu bar is managing.

    Since:
    JDK1.0
    See Also:
    Frame, setMenuBar, Menu, MenuItem, MenuShortcut

    Constructor Index

    MenuBar()
    Creates a new menu bar.

    Method Index

    add(Menu)
    Adds the specified menu to the menu bar.
    addNotify()
    Creates the menu bar's peer.
    countMenus()
    Deprecated.
    deleteShortcut(MenuShortcut)
    Deletes the specified menu shortcut.
    getHelpMenu()
    Gets the help menu on the menu bar.
    getMenu(int)
    Gets the specified menu.
    getMenuCount()
    Gets the number of menus on the menu bar.
    getShortcutMenuItem(MenuShortcut)
    Gets the instance of MenuItem associated with the specified MenuShortcut object, or null if none has been specified.
    remove(int)
    Removes the menu located at the specified index from this menu bar.
    remove(MenuComponent)
    Removes the specified menu component from this menu bar.
    removeNotify()
    Removes the menu bar's peer.
    setHelpMenu(Menu)
    Sets the help menu on this menu bar to be the specified menu.
    shortcuts()
    Gets an enumeration of all menu shortcuts this menu bar is managing.

    Constructors

    MenuBar
     public MenuBar()
    
    Creates a new menu bar.


    Methods

    addNotify
     public void addNotify()
    
    Creates the menu bar's peer. The peer allows us to change the appearance of the menu bar without changing any of the menu bar's functionality.

    removeNotify
     public void removeNotify()
    
    Removes the menu bar's peer. The peer allows us to change the appearance of the menu bar without changing any of the menu bar's functionality.

    Overrides:
    removeNotify in class MenuComponent
    getHelpMenu
     public Menu getHelpMenu()
    
    Gets the help menu on the menu bar.

    Returns:
    the help menu on this menu bar.
    setHelpMenu
     public void setHelpMenu(Menu m)
    
    Sets the help menu on this menu bar to be the specified menu.

    Parameters:
    m - the menu to be set as the help menu.
    add
     public Menu add(Menu m)
    
    Adds the specified menu to the menu bar.

    Parameters:
    m - the menu to be added.
    Returns:
    the menu added.
    See Also:
    remove, remove
    remove
     public void remove(int index)
    
    Removes the menu located at the specified index from this menu bar.

    Parameters:
    index - the position of the menu to be removed.
    See Also:
    add
    remove
     public void remove(MenuComponent m)
    
    Removes the specified menu component from this menu bar.

    Parameters:
    m - the menu component to be removed.
    See Also:
    add
    getMenuCount
     public int getMenuCount()
    
    Gets the number of menus on the menu bar.

    Returns:
    the number of menus on the menu bar.
    countMenus
     public int countMenus()
    
    Note: countMenus() is deprecated. As of JDK version 1.1, replaced by getMenuCount().

    getMenu
     public Menu getMenu(int i)
    
    Gets the specified menu.

    Parameters:
    i - the index position of the menu to be returned.
    Returns:
    the menu at the specified index of this menu bar.
    shortcuts
     public synchronized Enumeration shortcuts()
    
    Gets an enumeration of all menu shortcuts this menu bar is managing.

    Returns:
    an enumeration of menu shortcuts that this menu bar is managing.
    See Also:
    MenuShortcut
    getShortcutMenuItem
     public MenuItem getShortcutMenuItem(MenuShortcut s)
    
    Gets the instance of MenuItem associated with the specified MenuShortcut object, or null if none has been specified.

    Parameters:
    s - the specified menu shortcut.
    See Also:
    MenuItem, MenuShortcut
    deleteShortcut
     public void deleteShortcut(MenuShortcut s)
    
    Deletes the specified menu shortcut.

    Parameters:
    s - the menu shortcut to delete.

     k>$S&756$@S./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.menubar_mi.htm$$ Class java.awt.MenuComponent

    Class java.awt.MenuComponent

    java.lang.Object
       |
       +----java.awt.MenuComponent
    

    public abstract class MenuComponent
    extends Object
    implements Serializable
    super class of:
    MenuBar, MenuItem

    The abstract class MenuComponent is the superclass of all menu-related components. In this respect, the class MenuComponent is analogous to the abstract superclass Component for AWT components.

    Menu components receive and process AWT events, just as components do, through the method processEvent.


    Constructor Index

    MenuComponent()

    Method Index

    dispatchEvent(AWTEvent)
    getFont()
    Gets the font used for this menu component.
    getName()
    Gets the name of the menu component.
    getParent()
    Returns the parent container for this menu component.
    getPeer()
    Deprecated.
    getTreeLock()
    Gets this component's locking object (the object that owns the thread sychronization monitor) for AWT component-tree and layout operations.
    paramString()
    Returns the parameter string representing the state of this menu component.
    postEvent(Event)
    Posts the specified event to the menu. Deprecated.
    processEvent(AWTEvent)
    Processes events occurring on this menu component.
    removeNotify()
    Removes the menu component's peer.
    setFont(Font)
    Sets the font to be used for this menu component to the specified font.
    setName(String)
    Sets the name of the component to the specified string.
    toString()
    Returns a representation of this menu component as a string.

    Constructors

    MenuComponent
     public MenuComponent()
    

    Methods

    getName
     public String getName()
    
    Gets the name of the menu component.

    Returns:
    the name of the menu component.
    See Also:
    setName
    setName
     public void setName(String name)
    
    Sets the name of the component to the specified string.

    Parameters:
    name - the name of the menu component.
    See Also:
    getName
    getParent
     public MenuContainer getParent()
    
    Returns the parent container for this menu component.

    Returns:
    the menu component containing this menu component, or null if this menu component is the outermost component, the menu bar itself.
    getPeer
     public MenuComponentPeer getPeer()
    
    Note: getPeer() is deprecated. As of JDK version 1.1, programs should not directly manipulate peers.

    getFont
     public Font getFont()
    
    Gets the font used for this menu component.

    Returns:
    the font used in this menu component, if there is one; null otherwise.
    See Also:
    setFont
    setFont
     public void setFont(Font f)
    
    Sets the font to be used for this menu component to the specified font. This font is also used by all subcomponents of this menu component, unless those subcomponents specify a different font.

    Parameters:
    f - the font to be set.
    See Also:
    getFont
    removeNotify
     public void removeNotify()
    
    Removes the menu component's peer. The peer allows us to modify the appearance of the menu component without changing the functionality of the menu component.

    postEvent
     public boolean postEvent(Event evt)
    
    Note: postEvent() is deprecated. As of JDK version 1.1, replaced by dispatchEvent(AWTEvent).

    Posts the specified event to the menu. This method is part of the Java 1.0 event system and it is maintained only for backwards compatibility. Its use is discouraged, and it may not be supported in the future.

    Parameters:
    evt - the event which is to take place
    dispatchEvent
     public final void dispatchEvent(AWTEvent e)
    
    processEvent
     protected void processEvent(AWTEvent e)
    
    Processes events occurring on this menu component.

    Parameters:
    e - the event
    paramString
     protected String paramString()
    
    Returns the parameter string representing the state of this menu component. This string is useful for debugging.

    Returns:
    the parameter string of this menu component.
    toString
     public String toString()
    
    Returns a representation of this menu component as a string.

    Returns:
    a string representation of this menu component.
    Overrides:
    toString in class Object
    getTreeLock
     protected final Object getTreeLock()
    
    Gets this component's locking object (the object that owns the thread sychronization monitor) for AWT component-tree and layout operations.

    Returns:
    This component's locking object.

    re k$$&756$@./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.menucomponent_mi.htm$$ Interface java.awt.MenuContainer

    Interface java.awt.MenuContainer

    public interface MenuContainer

    The super class of all menu related containers.


    Method Index

    getFont()
    postEvent(Event)
    Deprecated.
    remove(MenuComponent)

    Methods

    getFont
     public abstract Font getFont()
    
    remove
     public abstract void remove(MenuComponent comp)
    
    postEvent
     public abstract boolean postEvent(Event evt)
    
    Note: postEvent() is deprecated. As of JDK version 1.1 replaced by dispatchEvent(AWTEvent).


    vent()  k$/&756$`/./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.menucontainer_mi.htm$$ Class java.awt.MenuShortcut

    Class java.awt.MenuShortcut

    java.lang.Object
       |
       +----java.awt.MenuShortcut
    

    public class MenuShortcut
    extends Object
    implements Serializable

    A class which represents a keyboard accelerator for a MenuItem.


    Constructor Index

    MenuShortcut(int)
    Constructs a new MenuShortcut for the specified key.
    MenuShortcut(int, boolean)
    Constructs a new MenuShortcut for the specified key.

    Method Index

    equals(MenuShortcut)
    Returns whether this MenuShortcut is the same as another: equality is defined to mean that both MenuShortcuts use the same key and both either use or don't use the SHIFT key.
    getKey()
    Return the raw keycode of this MenuShortcut.
    paramString()
    toString()
    Returns an internationalized description of the MenuShortcut.
    usesShiftModifier()
    Return whether this MenuShortcut must be invoked using the SHIFT key.

    Constructors

    MenuShortcut
     public MenuShortcut(int key)
    
    Constructs a new MenuShortcut for the specified key.

    Parameters:
    key - the raw keycode for this MenuShortcut, as would be returned in the keyCode field of a KeyEvent if this key were pressed.
    MenuShortcut
     public MenuShortcut(int key,
                         boolean useShiftModifier)
    
    Constructs a new MenuShortcut for the specified key.

    Parameters:
    key - the raw keycode for this MenuShortcut, as would be returned in the keyCode field of a KeyEvent if this key were pressed.
    useShiftModifier - indicates whether this MenuShortcut is invoked with the SHIFT key down.

    Methods

    getKey
     public int getKey()
    
    Return the raw keycode of this MenuShortcut.

    usesShiftModifier
     public boolean usesShiftModifier()
    
    Return whether this MenuShortcut must be invoked using the SHIFT key.

    equals
     public boolean equals(MenuShortcut s)
    
    Returns whether this MenuShortcut is the same as another: equality is defined to mean that both MenuShortcuts use the same key and both either use or don't use the SHIFT key.

    Parameters:
    s - the MenuShortcut to compare with this.
    toString
     public String toString()
    
    Returns an internationalized description of the MenuShortcut.

    Overrides:
    toString in class Object
    paramString
     protected String paramString()
    

     kL$'756$`<./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.menushortcut_mi.htm$$ Class java.awt.Panel

    Class java.awt.Panel

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Panel
    

    public class Panel
    extends Container
    super class of:
    Applet

    Panel is the simplest container class. A panel provides space in which an application can attach any other component, including other panels.

    The default layout manager for a panel is the FlowLayout layout manager.

    Since:
    JDK1.0
    See Also:
    FlowLayout

    Constructor Index

    Panel()
    Creates a new panel using the default layout manager.
    Panel(LayoutManager)
    Creates a new panel with the specified layout manager.

    Method Index

    addNotify()
    Creates the Panel's peer.

    Constructors

    Panel
     public Panel()
    
    Creates a new panel using the default layout manager. The default layout manager for all panels is the FlowLayout class.

    Panel
     public Panel(LayoutManager layout)
    
    Creates a new panel with the specified layout manager.

    Parameters:
    layout - the layout manager for this panel.

    Methods

    addNotify
     public void addNotify()
    
    Creates the Panel's peer. The peer allows you to modify the appearance of the panel without changing its functionality.

    Overrides:
    addNotify in class Container

     k$'756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.panel_mi.htmi$$ Class java.awt.Point

    Class java.awt.Point

    java.lang.Object
       |
       +----java.awt.Point
    

    public class Point
    extends Object
    implements Serializable

    The Point class represents a location in a two-dimensional (xy) coordinate space.


    Variable Index

    x
    The x coordinate.
    y
    The y coordinate.

    Constructor Index

    Point()
    Constructs and initializes a point at the origin (0, 0) of the coordinate space.
    Point(int, int)
    Constructs and initializes a point at the specified (xy) location in the coordinate space.
    Point(Point)
    Constructs and initializes a point with the same location as the specified Point object.

    Method Index

    equals(Object)
    Determines whether two points are equal.
    getLocation()
    Returns the location of this point.
    hashCode()
    Returns the hashcode for this point.
    move(int, int)
    Moves this point to the specificed location in the (xy) coordinate plane.
    setLocation(int, int)
    Changes the point to have the specificed location.
    setLocation(Point)
    Sets the location of the point to the specificed location.
    toString()
    Returns a representation of this point and its location in the (xy) coordinate space as a string.
    translate(int, int)
    Translates this point, at location (xy), by dx along the x axis and dy along the y axis so that it now represents the point (x + dx, y + dy).

    Variables

    x
     public int x
    
    The x coordinate.

    y
     public int y
    
    The y coordinate.


    Constructors

    Point
     public Point()
    
    Constructs and initializes a point at the origin (0, 0) of the coordinate space.

    Parameters:
    x - the x coordinate.
    y - the y coordinate.
    Point
     public Point(Point p)
    
    Constructs and initializes a point with the same location as the specified Point object.

    Parameters:
    p - a point.
    Point
     public Point(int x,
                  int y)
    
    Constructs and initializes a point at the specified (xy) location in the coordinate space.

    Parameters:
    x - the x coordinate.
    y - the y coordinate.

    Methods

    getLocation
     public Point getLocation()
    
    Returns the location of this point. This method is included for completeness, to parallel the getLocation method of Component.

    Returns:
    a copy of this point, at the same location.
    See Also:
    getLocation, setLocation, setLocation
    setLocation
     public void setLocation(Point p)
    
    Sets the location of the point to the specificed location. This method is included for completeness, to parallel the setLocation method of Component.

    Parameters:
    p - a point, the new location for this point.
    See Also:
    setLocation, getLocation
    setLocation
     public void setLocation(int x,
                             int y)
    
    Changes the point to have the specificed location.

    This method is included for completeness, to parallel the setLocation method of Component. Its behavior is identical with move(int, int).

    Parameters:
    x - the x coordinate of the new location.
    y - the y coordinate of the new location.
    See Also:
    setLocation, getLocation, move
    move
     public void move(int x,
                      int y)
    
    Moves this point to the specificed location in the (xy) coordinate plane. This method is identical with setLocation(int, int).

    Parameters:
    x - the x coordinate of the new location.
    y - the y coordinate of the new location.
    See Also:
    setLocation
    translate
     public void translate(int x,
                           int y)
    
    Translates this point, at location (xy), by dx along the x axis and dy along the y axis so that it now represents the point (x + dx, y + dy).

    Parameters:
    dx - the distance to move this point along the x axis.
    dy - the distance to move this point along the y axis.
    hashCode
     public int hashCode()
    
    Returns the hashcode for this point.

    Returns:
    a hash code for this point.
    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Determines whether two points are equal. Two instances of Point are equal if the values of their x and y member fields, representing their position in the coordinate space, are the same.

    Parameters:
    obj - an object to be compared with this point.
    Returns:
    true if the object to be compared is an instance of Point and has the same values; false otherwise.
    Overrides:
    equals in class Object
    toString
     public String toString()
    
    Returns a representation of this point and its location in the (xy) coordinate space as a string.

    Returns:
    a string representation of this point, including the values of its member fields.
    Overrides:
    toString in class Object

    Param k^$(756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.point_mi.htmi$$ Class java.awt.Polygon

    Class java.awt.Polygon

    java.lang.Object
       |
       +----java.awt.Polygon
    

    public class Polygon
    extends Object
    implements Shape, Serializable

    The Polygon class encapsulates a description of a closed, two-dimensional region within a coordinate space. This region is bounded by an arbitrary number of line segments, each of which is one side of the polygon. Internally, a polygon comprises of a list of (xy) coordinate pairs, where each pair defines a vertex of the polygon, and two successive pairs are the endpoints of a line that is a side of the polygon. The first and final pairs of (xy) points are joined by a line segment that closes the polygon.


    Variable Index

    bounds
    npoints
    The total number of points.
    xpoints
    The array of x coordinates.
    ypoints
    The array of y coordinates.

    Constructor Index

    Polygon()
    Creates an empty polygon.
    Polygon(int[], int[], int)
    Constructs and initializes a polygon from the specified parameters.

    Method Index

    addPoint(int, int)
    Appends a point to this polygon.
    contains(int, int)
    Determines whether the specified point is contained by this polygon.
    contains(Point)
    Determines whether the specified point is inside the Polygon.
    getBoundingBox()
    Deprecated.
    getBounds()
    Gets the bounding box of this polygon.
    inside(int, int)
    Deprecated.
    translate(int, int)
    Translates the vertices by deltaX along the x axis and by deltaY along the y axis.

    Variables

    npoints
     public int npoints
    
    The total number of points.

    xpoints
     public int xpoints[]
    
    The array of x coordinates.

    ypoints
     public int ypoints[]
    
    The array of y coordinates.

    bounds
     protected Rectangle bounds
    

    Constructors

    Polygon
     public Polygon()
    
    Creates an empty polygon.

    Polygon
     public Polygon(int xpoints[],
                    int ypoints[],
                    int npoints)
    
    Constructs and initializes a polygon from the specified parameters.

    Parameters:
    xpoints - an array of x coordinates.
    ypoints - an array of y coordinates.
    npoints - the total number of points in the polygon.
    Throws: NegativeArraySizeException
    if the value of npoints is negative.

    Methods

    translate
     public void translate(int deltaX,
                           int deltaY)
    
    Translates the vertices by deltaX along the x axis and by deltaY along the y axis.

    Parameters:
    deltaX - the amount to translate along the x axis
    deltaY - the amount to translate along the y axis
    addPoint
     public void addPoint(int x,
                          int y)
    
    Appends a point to this polygon.

    If an operation that calculates the bounding box of this polygon has already been performed, such as getBounds or contains, then this method updates the bounding box.

    Parameters:
    x - the x coordinate of the point.
    y - the y coordinate of the point.
    See Also:
    getBounds, contains
    getBounds
     public Rectangle getBounds()
    
    Gets the bounding box of this polygon. The bounding box is the smallest rectangle whose sides are parallel to the x and y axes of the coordinate space, and that can completely contain the polygon.

    Returns:
    a rectangle that defines the bounds of this polygon.
    getBoundingBox
     public Rectangle getBoundingBox()
    
    Note: getBoundingBox() is deprecated. As of JDK version 1.1, replaced by getBounds().

    contains
     public boolean contains(Point p)
    
    Determines whether the specified point is inside the Polygon. Uses an even-odd insideness rule (also known as an alternating rule).

    Parameters:
    p - the point to be tested
    contains
     public boolean contains(int x,
                             int y)
    
    Determines whether the specified point is contained by this polygon.

    (The contains method is based on code by Hanpeter van Vliet [hvvliet@inter.nl.net].)

    Parameters:
    x - the x coordinate of the point to be tested.
    y - the y coordinate of the point to be tested.
    Returns:
    true if the point (xy) is contained by this polygon; false otherwise.
    inside
     public boolean inside(int x,
                           int y)
    
    Note: inside() is deprecated. As of JDK version 1.1, replaced by contains(int, int).


    .la k-$(756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.polygon_mi.htm$$ Class java.awt.PopupMenu

    Class java.awt.PopupMenu

    java.lang.Object
       |
       +----java.awt.MenuComponent
               |
               +----java.awt.MenuItem
                       |
                       +----java.awt.Menu
                               |
                               +----java.awt.PopupMenu
    

    public class PopupMenu
    extends Menu

    A class that implements a menu which can be dynamically popped up at a specified position within a component.


    Constructor Index

    PopupMenu()
    Creates a new popup menu.
    PopupMenu(String)
    Creates a new popup menu with the specified name.

    Method Index

    addNotify()
    Creates the popup menu's peer.
    show(Component, int, int)
    Shows the popup menu at the x, y position relative to an origin component.

    Constructors

    PopupMenu
     public PopupMenu()
    
    Creates a new popup menu.

    PopupMenu
     public PopupMenu(String label)
    
    Creates a new popup menu with the specified name.

    Parameters:
    title - the title string for the popup menu

    Methods

    addNotify
     public void addNotify()
    
    Creates the popup menu's peer. The peer allows us to change the appearance of the popup menu without changing any of the popup menu's functionality.

    Overrides:
    addNotify in class Menu
    show
     public void show(Component origin,
                      int x,
                      int y)
    
    Shows the popup menu at the x, y position relative to an origin component. The origin component must be contained within the component hierarchy of the popup menu's parent. Both the origin and the parent must be showing on the screen for this method to be valid.

    Parameters:
    origin - the component which defines the coordinate space
    x - the x coordinate position to popup the menu
    y - the y coordinate position to popup the menu

     kT$(756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.popupmenu_mi.htmm$$ Interface java.awt.PrintGraphics

    Interface java.awt.PrintGraphics

    public interface PrintGraphics

    An abstract class which provides a print graphics context for a page.


    Method Index

    getPrintJob()
    Returns the PrintJob object from which this PrintGraphics object originated.

    Methods

    getPrintJob
     public abstract PrintJob getPrintJob()
    
    Returns the PrintJob object from which this PrintGraphics object originated.


     kL$Q)756$p?Q./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.printgraphics_mi.htm$$ Class java.awt.PrintJob

    Class java.awt.PrintJob

    java.lang.Object
       |
       +----java.awt.PrintJob
    

    public abstract class PrintJob
    extends Object

    An abstract class which initiates and executes a print job. It provides access to a print graphics object which renders to an appropriate print device.

    See Also:
    getPrintJob

    Constructor Index

    PrintJob()

    Method Index

    end()
    Ends the print job and does any necessary cleanup.
    finalize()
    Ends this print job once it is no longer referenced.
    getGraphics()
    Gets a Graphics object that will draw to the next page.
    getPageDimension()
    Returns the dimensions of the page in pixels.
    getPageResolution()
    Returns the resolution of the page in pixels per inch.
    lastPageFirst()
    Returns true if the last page will be printed first.

    Constructors

    PrintJob
     public PrintJob()
    

    Methods

    getGraphics
     public abstract Graphics getGraphics()
    
    Gets a Graphics object that will draw to the next page. The page is sent to the printer when the graphics object is disposed. This graphics object will also implement the PrintGraphics interface.

    See Also:
    PrintGraphics
    getPageDimension
     public abstract Dimension getPageDimension()
    
    Returns the dimensions of the page in pixels. The resolution of the page is chosen so that it is similar to the screen resolution.

    getPageResolution
     public abstract int getPageResolution()
    
    Returns the resolution of the page in pixels per inch. Note that this doesn't have to correspond to the physical resolution of the printer.

    lastPageFirst
     public abstract boolean lastPageFirst()
    
    Returns true if the last page will be printed first.

    end
     public abstract void end()
    
    Ends the print job and does any necessary cleanup.

    finalize
     public void finalize()
    
    Ends this print job once it is no longer referenced.

    Overrides:
    finalize in class Object
    See Also:
    end

     k:${)756$`{./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.printjob_mi.htmhtm$$ Interface java.awt.Shape

    Interface java.awt.Shape

    public interface Shape

    The interface for objects which represent some form of geometric shape.

    This interface will be revised in the upcoming Java2D project. It is meant to provide a common interface for various existing geometric AWT classes and methods which operate on them. Since it may be superseded or expanded in the future, developers should avoid implementing this interface in their own classes until it is completed in a later release.


    Method Index

    getBounds()
    Return the bounding box of the shape.

    Methods

    getBounds
     public abstract Rectangle getBounds()
    
    Return the bounding box of the shape.


    dsc.h k Ś$=*756$p=./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.shape_mi.htmh$$ Class java.awt.SystemColor

    Class java.awt.SystemColor

    java.lang.Object
       |
       +----java.awt.Color
               |
               +----java.awt.SystemColor
    

    public final class SystemColor
    extends Color
    implements Serializable

    A class to encapsulate symbolic colors representing the color of GUI objects on a system. For systems which support the dynamic update of the system colors (when the user changes the colors) the actual RGB values of these symbolic colors will also change dynamically. In order to compare the "current" RGB value of a SystemColor object with a non-symbolic Color object, getRGB() should be used rather than equals().


    Variable Index

    ACTIVE_CAPTION
    The array index for the active caption background color.
    ACTIVE_CAPTION_BORDER
    The array index for the active caption border color.
    ACTIVE_CAPTION_TEXT
    The array index for the action caption text color.
    activeCaption
    The background color for captions in window borders.
    activeCaptionBorder
    The border color for captions in window borders.
    activeCaptionText
    The text color for captions in window borders.
    control
    The background color for control objects.
    CONTROL
    The array index for the control background color.
    CONTROL_DK_SHADOW
    The array index for the control dark shadow color.
    CONTROL_HIGHLIGHT
    The array index for the control highlight color.
    CONTROL_LT_HIGHLIGHT
    The array index for the control light highlight color.
    CONTROL_SHADOW
    The array index for the control shadow color.
    CONTROL_TEXT
    The array index for the control text color.
    controlDkShadow
    The dark shadow color for control objects.
    controlHighlight
    The regular highlight color for control objects.
    controlLtHighlight
    The light highlight color for control objects.
    controlShadow
    The regular shadow color for control objects.
    controlText
    The text color for control objects.
    DESKTOP
    The array index for the desktop background color.
    desktop
    The color of the desktop background.
    INACTIVE_CAPTION
    The array index for the inactive caption background color.
    INACTIVE_CAPTION_BORDER
    The array index for the inactive caption border color.
    INACTIVE_CAPTION_TEXT
    The array index for the inactive caption text color.
    inactiveCaption
    The background color for inactive captions in window borders.
    inactiveCaptionBorder
    The border color for inactive captios in window borders.
    inactiveCaptionText
    The text color for inactive captions in window borders.
    INFO
    The array index for the info background color.
    info
    The background color for info(help) text.
    INFO_TEXT
    The array index for the info text color.
    infoText
    The text color for info(help) text.
    menu
    The background color for menus.
    MENU
    The array index for the menu background color.
    MENU_TEXT
    The array index for the menu text color.
    menuText
    The text color for menus.
    NUM_COLORS
    The number of system colors in the array.
    SCROLLBAR
    The array index for the scrollbar background color.
    scrollbar
    The background color for scrollbars.
    TEXT
    The array index for the text background color.
    text
    The background color for text components.
    TEXT_HIGHLIGHT
    The array index for the text highlight color.
    TEXT_HIGHLIGHT_TEXT
    The array index for the text highlight text color.
    TEXT_INACTIVE_TEXT
    The array index for the text inactive text color.
    TEXT_TEXT
    The array index for the text text color.
    textHighlight
    The background color for highlighted text.
    textHighlightText
    The text color for highlighted text.
    textInactiveText
    The text color for inactive text.
    textText
    The text color for text components.
    window
    The background color for windows.
    WINDOW
    The array index for the window background color.
    WINDOW_BORDER
    The array index for the window border color.
    WINDOW_TEXT
    The array index for the window text color.
    windowBorder
    The border color for windows.
    windowText
    The text color for windows.

    Method Index

    getRGB()
    Gets the "current" RGB value representing the symbolic color.
    toString()
    Returns the String representation of this Color's values.

    Variables

    DESKTOP
     public static final int DESKTOP
    
    The array index for the desktop background color.

    ACTIVE_CAPTION
     public static final int ACTIVE_CAPTION
    
    The array index for the active caption background color.

    ACTIVE_CAPTION_TEXT
     public static final int ACTIVE_CAPTION_TEXT
    
    The array index for the action caption text color.

    ACTIVE_CAPTION_BORDER
     public static final int ACTIVE_CAPTION_BORDER
    
    The array index for the active caption border color.

    INACTIVE_CAPTION
     public static final int INACTIVE_CAPTION
    
    The array index for the inactive caption background color.

    INACTIVE_CAPTION_TEXT
     public static final int INACTIVE_CAPTION_TEXT
    
    The array index for the inactive caption text color.

    INACTIVE_CAPTION_BORDER
     public static final int INACTIVE_CAPTION_BORDER
    
    The array index for the inactive caption border color.

    WINDOW
     public static final int WINDOW
    
    The array index for the window background color.

    WINDOW_BORDER
     public static final int WINDOW_BORDER
    
    The array index for the window border color.

    WINDOW_TEXT
     public static final int WINDOW_TEXT
    
    The array index for the window text color.

    MENU
     public static final int MENU
    
    The array index for the menu background color.

    MENU_TEXT
     public static final int MENU_TEXT
    
    The array index for the menu text color.

    TEXT
     public static final int TEXT
    
    The array index for the text background color.

    TEXT_TEXT
     public static final int TEXT_TEXT
    
    The array index for the text text color.

    TEXT_HIGHLIGHT
     public static final int TEXT_HIGHLIGHT
    
    The array index for the text highlight color.

    TEXT_HIGHLIGHT_TEXT
     public static final int TEXT_HIGHLIGHT_TEXT
    
    The array index for the text highlight text color.

    TEXT_INACTIVE_TEXT
     public static final int TEXT_INACTIVE_TEXT
    
    The array index for the text inactive text color.

    CONTROL
     public static final int CONTROL
    
    The array index for the control background color.

    CONTROL_TEXT
     public static final int CONTROL_TEXT
    
    The array index for the control text color.

    CONTROL_HIGHLIGHT
     public static final int CONTROL_HIGHLIGHT
    
    The array index for the control highlight color.

    CONTROL_LT_HIGHLIGHT
     public static final int CONTROL_LT_HIGHLIGHT
    
    The array index for the control light highlight color.

    CONTROL_SHADOW
     public static final int CONTROL_SHADOW
    
    The array index for the control shadow color.

    CONTROL_DK_SHADOW
     public static final int CONTROL_DK_SHADOW
    
    The array index for the control dark shadow color.

    SCROLLBAR
     public static final int SCROLLBAR
    
    The array index for the scrollbar background color.

    INFO
     public static final int INFO
    
    The array index for the info background color.

    INFO_TEXT
     public static final int INFO_TEXT
    
    The array index for the info text color.

    NUM_COLORS
     public static final int NUM_COLORS
    
    The number of system colors in the array.

    desktop
     public static final SystemColor desktop
    
    The color of the desktop background.

    activeCaption
     public static final SystemColor activeCaption
    
    The background color for captions in window borders.

    activeCaptionText
     public static final SystemColor activeCaptionText
    
    The text color for captions in window borders.

    activeCaptionBorder
     public static final SystemColor activeCaptionBorder
    
    The border color for captions in window borders.

    inactiveCaption
     public static final SystemColor inactiveCaption
    
    The background color for inactive captions in window borders.

    inactiveCaptionText
     public static final SystemColor inactiveCaptionText
    
    The text color for inactive captions in window borders.

    inactiveCaptionBorder
     public static final SystemColor inactiveCaptionBorder
    
    The border color for inactive captios in window borders.

    window
     public static final SystemColor window
    
    The background color for windows.

    windowBorder
     public static final SystemColor windowBorder
    
    The border color for windows.

    windowText
     public static final SystemColor windowText
    
    The text color for windows.

    menu
     public static final SystemColor menu
    
    The background color for menus.

    menuText
     public static final SystemColor menuText
    
    The text color for menus.

    text
     public static final SystemColor text
    
    The background color for text components.

    textText
     public static final SystemColor textText
    
    The text color for text components.

    textHighlight
     public static final SystemColor textHighlight
    
    The background color for highlighted text.

    textHighlightText
     public static final SystemColor textHighlightText
    
    The text color for highlighted text.

    textInactiveText
     public static final SystemColor textInactiveText
    
    The text color for inactive text.

    control
     public static final SystemColor control
    
    The background color for control objects.

    controlText
     public static final SystemColor controlText
    
    The text color for control objects.

    controlHighlight
     public static final SystemColor controlHighlight
    
    The regular highlight color for control objects.

    controlLtHighlight
     public static final SystemColor controlLtHighlight
    
    The light highlight color for control objects.

    controlShadow
     public static final SystemColor controlShadow
    
    The regular shadow color for control objects.

    controlDkShadow
     public static final SystemColor controlDkShadow
    
    The dark shadow color for control objects.

    scrollbar
     public static final SystemColor scrollbar
    
    The background color for scrollbars.

    info
     public static final SystemColor info
    
    The background color for info(help) text.

    infoText
     public static final SystemColor infoText
    
    The text color for info(help) text.


    Methods

    getRGB
     public int getRGB()
    
    Gets the "current" RGB value representing the symbolic color. (Bits 24-31 are 0xff, 16-23 are red, 8-15 are green, 0-7 are blue).

    Overrides:
    getRGB in class Color
    See Also:
    getRGBdefault, getBlue, getGreen, getRed
    toString
     public String toString()
    
    Returns the String representation of this Color's values.

    Overrides:
    toString in class Color

    for  k8Ț$*756$./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.systemcolor_mi.htm$$ Class java.awt.TextComponent

    Class java.awt.TextComponent

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.TextComponent
    

    public class TextComponent
    extends Component
    super class of:
    TextArea, TextField

    The TextComponent class is the superclass of any component that allows the editing of some text.

    A text component embodies a string of text. The TextComponent class defines a set of methods that determine whether or not this text is editable. If the component is editable, it defines another set of methods that supports a text insertion caret.

    In addition, the class defines methods that are used to maintain a current selection from the text. The text selection, a substring of the component's text, is the target of editing operations. It is also referred to as the selected text.


    Variable Index

    textListener

    Method Index

    addTextListener(TextListener)
    Adds the specified text event listener to recieve text events from this textcomponent.
    getCaretPosition()
    Gets the position of the text insertion caret for this text component.
    getSelectedText()
    Gets the selected text from the text that is presented by this text component.
    getSelectionEnd()
    Gets the end position of the selected text in this text component.
    getSelectionStart()
    Gets the start position of the selected text in this text component.
    getText()
    Gets the text that is presented by this text component.
    isEditable()
    Indicates whether or not this text component is editable.
    paramString()
    Returns the parameter string representing the state of this text component.
    processEvent(AWTEvent)
    Processes events on this textcomponent.
    processTextEvent(TextEvent)
    Processes text events occurring on this text component by dispatching them to any registered TextListener objects.
    removeNotify()
    Removes the TextComponent's peer.
    removeTextListener(TextListener)
    Removes the specified text event listener so that it no longer receives text events from this textcomponent
    select(int, int)
    Selects the text between the specified start and end positions.
    selectAll()
    Selects all the text in this text component.
    setCaretPosition(int)
    Sets the position of the text insertion caret for this text component.
    setEditable(boolean)
    Sets the flag that determines whether or not this text component is editable.
    setSelectionEnd(int)
    Sets the selection end for this text component to the specified position.
    setSelectionStart(int)
    Sets the selection start for this text component to the specified position.
    setText(String)
    Sets the text that is presented by this text component to be the specified text.

    Variables

    textListener
     protected transient TextListener textListener
    

    Methods

    removeNotify
     public void removeNotify()
    
    Removes the TextComponent's peer. The peer allows us to modify the appearance of the TextComponent without changing its functionality.

    Overrides:
    removeNotify in class Component
    setText
     public synchronized void setText(String t)
    
    Sets the text that is presented by this text component to be the specified text.

    Parameters:
    t - the new text.
    See Also:
    getText
    getText
     public synchronized String getText()
    
    Gets the text that is presented by this text component.

    See Also:
    setText
    getSelectedText
     public synchronized String getSelectedText()
    
    Gets the selected text from the text that is presented by this text component.

    Returns:
    the selected text of this text component.
    See Also:
    select
    isEditable
     public boolean isEditable()
    
    Indicates whether or not this text component is editable.

    Returns:
    true if this text component is editable; false otherwise.
    See Also:
    setEditable
    setEditable
     public synchronized void setEditable(boolean b)
    
    Sets the flag that determines whether or not this text component is editable.

    If the flag is set to true, this text component becomes user editable. If the flag is set to false, the user cannot change the text of this text component.

    Parameters:
    t - a flag indicating whether this text component should be user editable.
    See Also:
    isEditable
    getSelectionStart
     public synchronized int getSelectionStart()
    
    Gets the start position of the selected text in this text component.

    Returns:
    the start position of the selected text.
    See Also:
    setSelectionStart, getSelectionEnd
    setSelectionStart
     public synchronized void setSelectionStart(int selectionStart)
    
    Sets the selection start for this text component to the specified position. The new start point is constrained to be at or before the current selection end. It also cannot be set to less than zero, the beginning of the component's text. If the caller supplies a value for selectionStart that is out of bounds, the method enforces these constraints silently, and without failure.

    Parameters:
    selectionStart - the start position of the selected text.
    See Also:
    getSelectionStart, setSelectionEnd
    getSelectionEnd
     public synchronized int getSelectionEnd()
    
    Gets the end position of the selected text in this text component.

    Returns:
    the end position of the selected text.
    See Also:
    setSelectionEnd, getSelectionStart
    setSelectionEnd
     public synchronized void setSelectionEnd(int selectionEnd)
    
    Sets the selection end for this text component to the specified position. The new end point is constrained to be at or after the current selection start. It also cannot be set beyond the end of the component's text. If the caller supplies a value for selectionEnd that is out of bounds, the method enforces these constraints silently, and without failure.

    Parameters:
    selectionEnd - the end position of the selected text.
    See Also:
    getSelectionEnd, setSelectionStart
    select
     public synchronized void select(int selectionStart,
                                     int selectionEnd)
    
    Selects the text between the specified start and end positions.

    This method sets the start and end positions of the selected text, enforcing the restriction that the end position must be greater than or equal to the start position. The start position must be greater than zero, and the end position must be less that or equal to the length of the text component's text. If the caller supplies values that are inconsistent or out of bounds, the method enforces these constraints silently, and without failure.

    Parameters:
    selectionStart - the start position of the text to select.
    selectionEnd - the end position of the text to select.
    See Also:
    setSelectionStart, setSelectionEnd, selectAll
    selectAll
     public synchronized void selectAll()
    
    Selects all the text in this text component.

    See Also:
    TextComponent@select
    setCaretPosition
     public synchronized void setCaretPosition(int position)
    
    Sets the position of the text insertion caret for this text component.

    Parameters:
    position - the position of the text insertion caret.
    Throws: IllegalArgumentException
    if the value supplied for position is less than zero.
    getCaretPosition
     public synchronized int getCaretPosition()
    
    Gets the position of the text insertion caret for this text component.

    Returns:
    the position of the text insertion caret.
    addTextListener
     public synchronized void addTextListener(TextListener l)
    
    Adds the specified text event listener to recieve text events from this textcomponent.

    Parameters:
    l - the text event listener
    removeTextListener
     public void removeTextListener(TextListener l)
    
    Removes the specified text event listener so that it no longer receives text events from this textcomponent

    processEvent
     protected void processEvent(AWTEvent e)
    
    Processes events on this textcomponent. If the event is a TextEvent, it invokes the processTextEvent method, else it invokes its superclass's processEvent.

    Parameters:
    e - the event
    Overrides:
    processEvent in class Component
    processTextEvent
     protected void processTextEvent(TextEvent e)
    
    Processes text events occurring on this text component by dispatching them to any registered TextListener objects. NOTE: This method will not be called unless text events are enabled for this component; this happens when one of the following occurs: a) A TextListener object is registered via addTextListener() b) Text events are enabled via enableEvents()

    Parameters:
    e - the text event
    See Also:
    enableEvents
    paramString
     protected String paramString()
    
    Returns the parameter string representing the state of this text component. This string is useful for debugging.

    Returns:
    the parameter string of this text component.
    Overrides:
    paramString in class Component

    pu kΚ$ +756$0 ./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.textcomponent_mi.htm$$ Class java.awt.Window

    Class java.awt.Window

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Window
    

    public class Window
    extends Container
    super class of:
    Dialog, Frame

    A Window object is a top-level window with no borders and no menubar. It could be used to implement a pop-up menu. The default layout for a window is BorderLayout. A Window object blocks input to other application windows when it is shown.

    Windows are capable of generating the following window events: WindowOpened, WindowClosed.

    Since:
    JDK1.0
    See Also:
    WindowEvent, addWindowListener, BorderLayout

    Constructor Index

    Window(Frame)
    Constructs a new invisible window.

    Method Index

    addNotify()
    Creates the Window's peer.
    addWindowListener(WindowListener)
    Adds the specified window listener to receive window events from this window.
    dispose()
    Disposes of this window.
    getFocusOwner()
    Returns the child component of this Window which has focus if and only if this Window is active.
    getLocale()
    Gets the Locale object that is associated with this window, if the locale has been set.
    getToolkit()
    Returns the toolkit of this frame.
    getWarningString()
    Gets the warning string that is displayed with this window.
    isShowing()
    Checks if this Window is showing on screen.
    pack()
    Causes subcomponents of this window to be laid out at their preferred size.
    postEvent(Event)
    Deprecated.
    processEvent(AWTEvent)
    Processes events on this window.
    processWindowEvent(WindowEvent)
    Processes window events occurring on this window by dispatching them to any registered WindowListener objects.
    removeWindowListener(WindowListener)
    Removes the specified window listener so that it no longer receives window events from this window.
    show()
    Shows this window, and brings it to the front.
    toBack()
    Sends this window to the back.
    toFront()
    Brings this window to the front.

    Constructors

    Window
     public Window(Frame parent)
    
    Constructs a new invisible window.

    The window is not initially visible. Call the show method to cause the window to become visible.

    Parameters:
    parent - the main application frame.
    See Also:
    show, setSize

    Methods

    addNotify
     public void addNotify()
    
    Creates the Window's peer. The peer allows us to modify the appearance of the Window without changing its functionality.

    Overrides:
    addNotify in class Container
    pack
     public void pack()
    
    Causes subcomponents of this window to be laid out at their preferred size.

    show
     public void show()
    
    Shows this window, and brings it to the front.

    If this window is not yet visible, show makes it visible. If this window is already visible, then this method brings it to the front.

    Overrides:
    show in class Component
    See Also:
    toFront, setVisible
    dispose
     public void dispose()
    
    Disposes of this window. This method must be called to release the resources that are used for the window.

    toFront
     public void toFront()
    
    Brings this window to the front. Places this window at the top of the stacking order and shows it in front of any other windows.

    See Also:
    toBack
    toBack
     public void toBack()
    
    Sends this window to the back. Places this window at the bottom of the stacking order and makes the corresponding adjustment to other visible windows.

    See Also:
    toFront
    getToolkit
     public Toolkit getToolkit()
    
    Returns the toolkit of this frame.

    Returns:
    the toolkit of this window.
    Overrides:
    getToolkit in class Component
    See Also:
    Toolkit, getDefaultToolkit, getToolkit
    getWarningString
     public final String getWarningString()
    
    Gets the warning string that is displayed with this window. If this window is insecure, the warning string is displayed somewhere in the visible area of the window. A window is insecure if there is a security manager, and the security manager's checkTopLevelWindow method returns false when this window is passed to it as an argument.

    If the window is secure, then getWarningString returns null. If the window is insecure, this methods checks for the system property awt.appletWarning and returns the string value of that property.

    Returns:
    the warning string for this window.
    See Also:
    checkTopLevelWindow
    getLocale
     public Locale getLocale()
    
    Gets the Locale object that is associated with this window, if the locale has been set. If no locale has been set, then the default locale is returned.

    Returns:
    the locale that is set for this window.
    Overrides:
    getLocale in class Component
    See Also:
    Locale
    addWindowListener
     public synchronized void addWindowListener(WindowListener l)
    
    Adds the specified window listener to receive window events from this window.

    Parameters:
    l - the window listener
    removeWindowListener
     public synchronized void removeWindowListener(WindowListener l)
    
    Removes the specified window listener so that it no longer receives window events from this window.

    Parameters:
    l - the window listener
    processEvent
     protected void processEvent(AWTEvent e)
    
    Processes events on this window. If the event is an WindowEvent, it invokes the processWindowEvent method, else it invokes its superclass's processEvent.

    Parameters:
    e - the event
    Overrides:
    processEvent in class Container
    processWindowEvent
     protected void processWindowEvent(WindowEvent e)
    
    Processes window events occurring on this window by dispatching them to any registered WindowListener objects. NOTE: This method will not be called unless window events are enabled for this component; this happens when one of the following occurs: a) A WindowListener object is registered via addWindowListener() b) Window events are enabled via enableEvents()

    Parameters:
    e - the window event
    See Also:
    enableEvents
    getFocusOwner
     public Component getFocusOwner()
    
    Returns the child component of this Window which has focus if and only if this Window is active.

    Returns:
    the component with focus, or null if no children have focus assigned to them.
    postEvent
     public boolean postEvent(Event e)
    
    Note: postEvent() is deprecated. As of JDK version 1.1 replaced by dispatchEvent(AWTEvent).

    Overrides:
    postEvent in class Component
    isShowing
     public boolean isShowing()
    
    Checks if this Window is showing on screen.

    Overrides:
    isShowing in class Component
    See Also:
    setVisible

     kXך$,756$@t./usr/IBMVJava/html/enterp/en_US/jdkref/java.awt.window_mi.htm$$ Class java.beans.BeanDescriptor

    Class java.beans.BeanDescriptor

    java.lang.Object
       |
       +----java.beans.FeatureDescriptor
               |
               +----java.beans.BeanDescriptor
    

    public class BeanDescriptor
    extends FeatureDescriptor

    A BeanDescriptor provides global information about a "bean", including its Java class, its displayName, etc.

    This is one of the kinds of descriptor returned by a BeanInfo object, which also returns descriptors for properties, method, and events.


    Constructor Index

    BeanDescriptor(Class)
    Create a BeanDescriptor for a bean that doesn't have a customizer.
    BeanDescriptor(Class, Class)
    Create a BeanDescriptor for a bean that has a customizer.

    Method Index

    getBeanClass()
    getCustomizerClass()

    Constructors

    BeanDescriptor
     public BeanDescriptor(Class beanClass)
    
    Create a BeanDescriptor for a bean that doesn't have a customizer.

    Parameters:
    beanClass - The Class object of the Java class that implements the bean. For example sun.beans.OurButton.class.
    BeanDescriptor
     public BeanDescriptor(Class beanClass,
                           Class customizerClass)
    
    Create a BeanDescriptor for a bean that has a customizer.

    Parameters:
    beanClass - The Class object of the Java class that implements the bean. For example sun.beans.OurButton.class.
    customizerClass - The Class object of the Java class that implements the bean's Customizer. For example sun.beans.OurButtonCustomizer.class.

    Methods

    getBeanClass
     public Class getBeanClass()
    
    Returns:
    The Class object for the bean.
    getCustomizerClass
     public Class getCustomizerClass()
    
    Returns:
    The Class object for the bean's customizer. This may be null if the bean doesn't have a customizer.

    > Interface java.beans.BeanInfo

    Interface java.beans.BeanInfo

    public interface BeanInfo

    A bean implementor who wishes to provide explicit information about their bean may provide a BeanInfo class that implements this BeanInfo interface and provides explicit information about the methods, properties, events, etc, of their bean.

    A bean implementor doesn't need to provide a complete set of explicit information. You can pick and choose which information you want to provide and the rest will be obtained by automatic analysis using low-level reflection of the bean classes' methods and applying standard design patterns.

    You get the opportunity to provide lots and lots of different information as part of the various XyZDescriptor classes. But don't panic, you only really need to provide the minimal core information required by the various constructors.

    See also the SimpleBeanInfo class which provides a convenient "noop" base class for BeanInfo classes, which you can override for those specific places where you want to return explicit info.

    To learn about all the behaviour of a bean see the Introspector class.


    Variable Index

    ICON_COLOR_16x16
    Constant to indicate a 16 x 16 color icon.
    ICON_COLOR_32x32
    Constant to indicate a 32 x 32 color icon.
    ICON_MONO_16x16
    Constant to indicate a 16 x 16 monochrome icon.
    ICON_MONO_32x32
    Constant to indicate a 32 x 32 monochrome icon.

    Method Index

    getAdditionalBeanInfo()
    This method allows a BeanInfo object to return an arbitrary collection of other BeanInfo objects that provide additional information on the current bean.
    getBeanDescriptor()
    getDefaultEventIndex()
    A bean may have a "default" event that is the event that will mostly commonly be used by human's when using the bean.
    getDefaultPropertyIndex()
    A bean may have a "default" property that is the property that will mostly commonly be initially chosen for update by human's who are customizing the bean.
    getEventSetDescriptors()
    getIcon(int)
    This method returns an image object that can be used to represent the bean in toolboxes, toolbars, etc.
    getMethodDescriptors()
    getPropertyDescriptors()

    Variables

    ICON_COLOR_16x16
     public static final int ICON_COLOR_16x16
    
    Constant to indicate a 16 x 16 color icon.

    ICON_COLOR_32x32
     public static final int ICON_COLOR_32x32
    
    Constant to indicate a 32 x 32 color icon.

    ICON_MONO_16x16
     public static final int ICON_MONO_16x16
    
    Constant to indicate a 16 x 16 monochrome icon.

    ICON_MONO_32x32
     public static final int ICON_MONO_32x32
    
    Constant to indicate a 32 x 32 monochrome icon.


    Methods

    getBeanDescriptor
     public abstract BeanDescriptor getBeanDescriptor()
    
    Returns:
    A BeanDescriptor providing overall information about the bean, such as its displayName, its customizer, etc. May return null if the information should be obtained by automatic analysis.
    getEventSetDescriptors
     public abstract EventSetDescriptor[] getEventSetDescriptors()
    
    Returns:
    An array of EventSetDescriptors describing the kinds of events fired by this bean. May return null if the information should be obtained by automatic analysis.
    getDefaultEventIndex
     public abstract int getDefaultEventIndex()
    
    A bean may have a "default" event that is the event that will mostly commonly be used by human's when using the bean.

    Returns:
    Index of default event in the EventSetDescriptor array returned by getEventSetDescriptors.

    Returns -1 if there is no default event.

    getPropertyDescriptors
     public abstract PropertyDescriptor[] getPropertyDescriptors()
    
    Returns:
    An array of PropertyDescriptors describing the editable properties supported by this bean. May return null if the information should be obtained by automatic analysis.

    If a property is indexed, then its entry in the result array will belong to the IndexedPropertyDescriptor subclass of PropertyDescriptor. A client of getPropertyDescriptors can use "instanceof" to check if a given PropertyDescriptor is an IndexedPropertyDescriptor.

    getDefaultPropertyIndex
     public abstract int getDefaultPropertyIndex()
    
    A bean may have a "default" property that is the property that will mostly commonly be initially chosen for update by human's who are customizing the bean.

    Returns:
    Index of default property in the PropertyDescriptor array returned by getPropertyDescriptors.

    Returns -1 if there is no default property.

    getMethodDescriptors
     public abstract MethodDescriptor[] getMethodDescriptors()
    
    Returns:
    An array of MethodDescriptors describing the externally visible methods supported by this bean. May return null if the information should be obtained by automatic analysis.
    getAdditionalBeanInfo
     public abstract BeanInfo[] getAdditionalBeanInfo()
    
    This method allows a BeanInfo object to return an arbitrary collection of other BeanInfo objects that provide additional information on the current bean.

    If there are conflicts or overlaps between the information provided by different BeanInfo objects, then the current BeanInfo takes precedence over the getAdditionalBeanInfo objects, and later elements in the array take precedence over earlier ones.

    Returns:
    an array of BeanInfo objects. May return null.
    getIcon
     public abstract Image getIcon(int iconKind)
    
    This method returns an image object that can be used to represent the bean in toolboxes, toolbars, etc. Icon images will typically be GIFs, but may in future include other formats.

    Beans aren't required to provide icons and may return null from this method.

    There are four possible flavors of icons (16x16 color, 32x32 color, 16x16 mono, 32x32 mono). If a bean choses to only support a single icon we recommend supporting 16x16 color.

    We recommend that icons have a "transparent" background so they can be rendered onto an existing background.

    Parameters:
    iconKind - The kind of icon requested. This should be one of the constant values ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, or ICON_MONO_32x32.
    Returns:
    An image object representing the requested icon. May return null if no suitable icon is available.

    m krݚ$-756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.beaninfo_mi.htm.htm$$ Class java.beans.Beans

    Class java.beans.Beans

    java.lang.Object
       |
       +----java.beans.Beans
    

    public class Beans
    extends Object

    This class provides some general purpose beans control methods.


    Constructor Index

    Beans()

    Method Index

    getInstanceOf(Object, Class)
    From a given bean, obtain an object representing a specified type view of that source object.
    instantiate(ClassLoader, String)
    Instantiate a bean.
    isDesignTime()
    Test if we are in design-mode.
    isGuiAvailable()
    isInstanceOf(Object, Class)
    Check if a bean can be viewed as a given target type.
    setDesignTime(boolean)
    Used to indicate whether of not we are running in an application builder environment.
    setGuiAvailable(boolean)
    Used to indicate whether of not we are running in an environment where GUI interaction is available.

    Constructors

    Beans
     public Beans()
    

    Methods

    instantiate
     public static Object instantiate(ClassLoader cls,
                                      String beanName) throws IOException, ClassNotFoundException
    
    Instantiate a bean.

    The bean is created based on a name relative to a class-loader. This name should be a dot-separated name such as "a.b.c".

    In Beans 1.0 the given name can indicate either a serialized object or a class. Other mechanisms may be added in the future. In beans 1.0 we first try to treat the beanName as a serialized object name then as a class name.

    When using the beanName as a serialized object name we convert the given beanName to a resource pathname and add a trailing ".ser" suffix. We then try to load a serialized object from that resource.

    For example, given a beanName of "x.y", Beans.instantiate would first try to read a serialized object from the resource "x/y.ser" and if that failed it would try to load the class "x.y" and create an instance of that class.

    If the bean is a subtype of java.applet.Applet, then it is given some special initialization. First, it is supplied with a default AppletStub and AppletContext. Second, if it was instantiated from a classname the applet's "init" method is called. (If the bean was deserialized this step is skipped.)

    Note that for beans which are applets, it is the caller's responsiblity to call "start" on the applet. For correct behaviour, this should be done after the applet has been added into a visible AWT container.

    Note that applets created via beans.instantiate run in a slightly different environment than applets running inside browsers. In particular, bean applets have no access to "parameters", so they may wish to provide property get/set methods to set parameter values. We advise bean-applet developers to test their bean-applets against both the JDK appletviewer (for a reference browser environment) and the BDK BeanBox (for a reference bean container).

    Parameters:
    classLoader - the class-loader from which we should create the bean. If this is null, then the system class-loader is used.
    beanName - the name of the bean within the class-loader. For example "sun.beanbox.foobah"
    Throws: ClassNotFoundException
    if the class of a serialized object could not be found.
    Throws: IOException
    if an I/O error occurs.
    getInstanceOf
     public static Object getInstanceOf(Object bean,
                                        Class targetType)
    
    From a given bean, obtain an object representing a specified type view of that source object.

    The result may be the same object or a different object. If the requested target view isn't available then the given bean is returned.

    This method is provided in Beans 1.0 as a hook to allow the addition of more flexible bean behaviour in the future.

    Parameters:
    obj - Object from which we want to obtain a view.
    targetType - The type of view we'd like to get.
    isInstanceOf
     public static boolean isInstanceOf(Object bean,
                                        Class targetType)
    
    Check if a bean can be viewed as a given target type. The result will be true if the Beans.getInstanceof method can be used on the given bean to obtain an object that represents the specified targetType type view.

    Parameters:
    bean - Bean from which we want to obtain a view.
    targetType - The type of view we'd like to get.
    Returns:
    "true" if the given bean supports the given targetType.
    isDesignTime
     public static boolean isDesignTime()
    
    Test if we are in design-mode.

    Returns:
    True if we are running in an application construction environment.
    isGuiAvailable
     public static boolean isGuiAvailable()
    
    Returns:
    True if we are running in an environment where beans can assume that an interactive GUI is available, so they can pop up dialog boxes, etc. This will normally return true in a windowing environment, and will normally return false in a server environment or if an application is running as part of a batch job.
    setDesignTime
     public static void setDesignTime(boolean isDesignTime) throws SecurityException
    
    Used to indicate whether of not we are running in an application builder environment. Note that this method is security checked and is not available to (for example) untrusted applets.

    Parameters:
    isDesignTime - True if we're in an application builder tool.
    setGuiAvailable
     public static void setGuiAvailable(boolean isGuiAvailable) throws SecurityException
    
    Used to indicate whether of not we are running in an environment where GUI interaction is available. Note that this method is security checked and is not available to (for example) untrusted applets.

    Parameters:
    isGuiAvailable - True if GUI interaction is available.

    ic s k>$-756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.beans_mi.htm$$ Interface java.beans.Customizer

    Interface java.beans.Customizer

    public interface Customizer

    A customizer class provides a complete custom GUI for customizing a target Java Bean.

    Each customizer should inherit from the java.awt.Component class so it can be instantiated inside an AWT dialog or panel.

    Each customizer should have a null constructor.


    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    Register a listener for the PropertyChange event.
    removePropertyChangeListener(PropertyChangeListener)
    Remove a listener for the PropertyChange event.
    setObject(Object)
    Set the object to be customized.

    Methods

    setObject
     public abstract void setObject(Object bean)
    
    Set the object to be customized. This method should be called only once, before the Customizer has been added to any parent AWT container.

    Parameters:
    bean - The object to be customized.
    addPropertyChangeListener
     public abstract void addPropertyChangeListener(PropertyChangeListener listener)
    
    Register a listener for the PropertyChange event. The customizer should fire a PropertyChange event whenever it changes the target bean in a way that might require the displayed properties to be refreshed.

    Parameters:
    listener - An object to be invoked when a PropertyChange event is fired.
    removePropertyChangeListener
     public abstract void removePropertyChangeListener(PropertyChangeListener listener)
    
    Remove a listener for the PropertyChange event.

    Parameters:
    listener - The PropertyChange listener to be removed.

    1 or i k2$-756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.customizer_mi.htmtm$$ Class java.beans.EventSetDescriptor

    Class java.beans.EventSetDescriptor

    java.lang.Object
       |
       +----java.beans.FeatureDescriptor
               |
               +----java.beans.EventSetDescriptor
    

    public class EventSetDescriptor
    extends FeatureDescriptor

    An EventSetDescriptor describes a group of events that a given Java bean fires.

    The given group of events are all delivered as method calls on a single event listener interface, and an event listener object can be registered via a call on a registration method supplied by the event source.


    Constructor Index

    EventSetDescriptor(Class, String, Class, String)
    This constructor creates an EventSetDescriptor assuming that you are following the most simple standard design pattern where a named event "fred" is (1) delivered as a call on the single method of interface FredListener, (2) has a single argument of type FredEvent, and (3) where the FredListener may be registered with a call on an addFredListener method of the source component and removed with a call on a removeFredListener method.
    EventSetDescriptor(Class, String, Class, String[], String, String)
    This constructor creates an EventSetDescriptor from scratch using string names.
    EventSetDescriptor(String, Class, Method[], Method, Method)
    This constructor creates an EventSetDescriptor from scratch using java.lang.reflect.Method and java.lang.Class objects.
    EventSetDescriptor(String, Class, MethodDescriptor[], Method, Method)
    This constructor creates an EventSetDescriptor from scratch using java.lang.reflect.MethodDescriptor and java.lang.Class objects.

    Method Index

    getAddListenerMethod()
    getListenerMethodDescriptors()
    getListenerMethods()
    getListenerType()
    getRemoveListenerMethod()
    isInDefaultEventSet()
    Report if an event set is in the "default set".
    isUnicast()
    Normally event sources are multicast.
    setInDefaultEventSet(boolean)
    Mark an event set as being in the "default" set (or not).
    setUnicast(boolean)
    Mark an event set as unicast (or not).

    Constructors

    EventSetDescriptor
     public EventSetDescriptor(Class sourceClass,
                               String eventSetName,
                               Class listenerType,
                               String listenerMethodName) throws IntrospectionException
    
    This constructor creates an EventSetDescriptor assuming that you are following the most simple standard design pattern where a named event "fred" is (1) delivered as a call on the single method of interface FredListener, (2) has a single argument of type FredEvent, and (3) where the FredListener may be registered with a call on an addFredListener method of the source component and removed with a call on a removeFredListener method.

    Parameters:
    sourceClass - The class firing the event.
    eventSetName - The programmatic name of the event. E.g. "fred". Note that this should normally start with a lower-case character.
    listenerType - The target interface that events will get delivered to.
    listenerMethodName - The method that will get called when the event gets delivered to its target listener interface.
    Throws: IntrospectionException
    if an exception occurs during introspection.
    EventSetDescriptor
     public EventSetDescriptor(Class sourceClass,
                               String eventSetName,
                               Class listenerType,
                               String listenerMethodNames[],
                               String addListenerMethodName,
                               String removeListenerMethodName) throws IntrospectionException
    
    This constructor creates an EventSetDescriptor from scratch using string names.

    Parameters:
    sourceClass - The class firing the event.
    eventSetName - The programmatic name of the event set. Note that this should normally start with a lower-case character.
    listenerType - The Class of the target interface that events will get delivered to.
    listenerMethodNames - The names of the methods that will get called when the event gets delivered to its target listener interface.
    addListenerMethodName - The name of the method on the event source that can be used to register an event listener object.
    removeListenerMethodName - The name of the method on the event source that can be used to de-register an event listener object.
    Throws: IntrospectionException
    if an exception occurs during introspection.
    EventSetDescriptor
     public EventSetDescriptor(String eventSetName,
                               Class listenerType,
                               Method listenerMethods[],
                               Method addListenerMethod,
                               Method removeListenerMethod) throws IntrospectionException
    
    This constructor creates an EventSetDescriptor from scratch using java.lang.reflect.Method and java.lang.Class objects.

    Parameters:
    eventSetName - The programmatic name of the event set.
    listenerType - The Class for the listener interface.
    listenerMethods - An array of Method objects describing each of the event handling methods in the target listener.
    addListenerMethod - The method on the event source that can be used to register an event listener object.
    removeListenerMethod - The method on the event source that can be used to de-register an event listener object.
    Throws: IntrospectionException
    if an exception occurs during introspection.
    EventSetDescriptor
     public EventSetDescriptor(String eventSetName,
                               Class listenerType,
                               MethodDescriptor listenerMethodDescriptors[],
                               Method addListenerMethod,
                               Method removeListenerMethod) throws IntrospectionException
    
    This constructor creates an EventSetDescriptor from scratch using java.lang.reflect.MethodDescriptor and java.lang.Class objects.

    Parameters:
    eventSetName - The programmatic name of the event set.
    listenerType - The Class for the listener interface.
    listenerMethodDescriptors - An array of MethodDescriptor objects describing each of the event handling methods in the target listener.
    addListenerMethod - The method on the event source that can be used to register an event listener object.
    removeListenerMethod - The method on the event source that can be used to de-register an event listener object.
    Throws: IntrospectionException
    if an exception occurs during introspection.

    Methods

    getListenerType
     public Class getListenerType()
    
    Returns:
    The Class object for the target interface that will get invoked when the event is fired.
    getListenerMethods
     public Method[] getListenerMethods()
    
    Returns:
    An array of Method objects for the target methods within the target listener interface that will get called when events are fired.
    getListenerMethodDescriptors
     public MethodDescriptor[] getListenerMethodDescriptors()
    
    Returns:
    An array of MethodDescriptor objects for the target methods within the target listener interface that will get called when events are fired.
    getAddListenerMethod
     public Method getAddListenerMethod()
    
    Returns:
    The method used to register a listener at the event source.
    getRemoveListenerMethod
     public Method getRemoveListenerMethod()
    
    Returns:
    The method used to register a listener at the event source.
    setUnicast
     public void setUnicast(boolean unicast)
    
    Mark an event set as unicast (or not).

    Parameters:
    unicast - True if the event set is unicast.
    isUnicast
     public boolean isUnicast()
    
    Normally event sources are multicast. However there are some exceptions that are strictly unicast.

    Returns:
    True if the event set is unicast. Defaults to "false".
    setInDefaultEventSet
     public void setInDefaultEventSet(boolean inDefaultEventSet)
    
    Mark an event set as being in the "default" set (or not). By default this is true.

    Parameters:
    unicast - True if the event set is unicast.
    isInDefaultEventSet
     public boolean isInDefaultEventSet()
    
    Report if an event set is in the "default set".

    Returns:
    True if the event set is in the "default set". Defaults to "true".

    th k$H .756$06H ./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.eventsetdescriptor_mi.htm.h$$ Class java.beans.FeatureDescriptor

    Class java.beans.FeatureDescriptor

    java.lang.Object
       |
       +----java.beans.FeatureDescriptor
    

    public class FeatureDescriptor
    extends Object
    super class of:
    BeanDescriptor, EventSetDescriptor, MethodDescriptor, ParameterDescriptor, PropertyDescriptor

    The FeatureDescriptor class is the common baseclass for PropertyDescriptor, EventSetDescriptor, and MethodDescriptor, etc.

    It supports some common information that can be set and retrieved for any of the introspection descriptors.

    In addition it provides an extension mechanism so that arbitrary attribute/value pairs can be associated with a design feature.


    Constructor Index

    FeatureDescriptor()

    Method Index

    attributeNames()
    getDisplayName()
    getName()
    getShortDescription()
    getValue(String)
    Retrieve a named attribute with this feature.
    isExpert()
    The "expert" flag is used to distinguish between those features that are intended for expert users from those that are intended for normal users.
    isHidden()
    The "hidden" flag is used to identify features that are intended only for tool use, and which should not be exposed to humans.
    setDisplayName(String)
    setExpert(boolean)
    The "expert" flag is used to distinguish between features that are intended for expert users from those that are intended for normal users.
    setHidden(boolean)
    The "hidden" flag is used to identify features that are intended only for tool use, and which should not be exposed to humans.
    setName(String)
    setShortDescription(String)
    You can associate a short descriptive string with a feature.
    setValue(String, Object)
    Associate a named attribute with this feature.

    Constructors

    FeatureDescriptor
     public FeatureDescriptor()
    

    Methods

    getName
     public String getName()
    
    Returns:
    The programmatic name of the property/method/event
    setName
     public void setName(String name)
    
    Parameters:
    name - The programmatic name of the property/method/event
    getDisplayName
     public String getDisplayName()
    
    Returns:
    The localized display name for the property/method/event. This defaults to the same as its programmatic name from getName.
    setDisplayName
     public void setDisplayName(String displayName)
    
    Parameters:
    displayName - The localized display name for the property/method/event.
    isExpert
     public boolean isExpert()
    
    The "expert" flag is used to distinguish between those features that are intended for expert users from those that are intended for normal users.

    Returns:
    True if this feature is intended for use by experts only.
    setExpert
     public void setExpert(boolean expert)
    
    The "expert" flag is used to distinguish between features that are intended for expert users from those that are intended for normal users.

    Parameters:
    expert - True if this feature is intended for use by experts only.
    isHidden
     public boolean isHidden()
    
    The "hidden" flag is used to identify features that are intended only for tool use, and which should not be exposed to humans.

    Returns:
    True if this feature should be hidden from human users.
    setHidden
     public void setHidden(boolean hidden)
    
    The "hidden" flag is used to identify features that are intended only for tool use, and which should not be exposed to humans.

    Parameters:
    hidden - True if this feature should be hidden from human users.
    getShortDescription
     public String getShortDescription()
    
    Returns:
    A localized short description associated with this property/method/event. This defaults to be the display name.
    setShortDescription
     public void setShortDescription(String text)
    
    You can associate a short descriptive string with a feature. Normally these descriptive strings should be less than about 40 characters.

    Parameters:
    text - A (localized) short description to be associated with this property/method/event.
    setValue
     public void setValue(String attributeName,
                          Object value)
    
    Associate a named attribute with this feature.

    Parameters:
    attributeName - The locale-independent name of the attribute
    value - The value.
    getValue
     public Object getValue(String attributeName)
    
    Retrieve a named attribute with this feature.

    Parameters:
    attributeName - The locale-independent name of the attribute
    Returns:
    The value of the attribute. May be null if the attribute is unknown.
    attributeNames
     public Enumeration attributeNames()
    
    Returns:
    An enumeration of the locale-independent names of any attributes that have been registered with setValue.

    hat kc$J.756$@;J./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.featuredescriptor_mi.htm.h$$ Class java.beans.IndexedPropertyDescriptor

    Class java.beans.IndexedPropertyDescriptor

    java.lang.Object
       |
       +----java.beans.FeatureDescriptor
               |
               +----java.beans.PropertyDescriptor
                       |
                       +----java.beans.IndexedPropertyDescriptor
    

    public class IndexedPropertyDescriptor
    extends PropertyDescriptor

    An IndexedPropertyDescriptor describes a property that acts like an array and has an indexed read and/or indexed write method to access specific elements of the array.

    An indexed property may also provide simple non-indexed read and write methods. If these are present, they read and write arrays of the type returned by the indexed read method.


    Constructor Index

    IndexedPropertyDescriptor(String, Class)
    This constructor constructs an IndexedPropertyDescriptor for a property that follows the standard Java conventions by having getFoo and setFoo accessor methods, for both indexed access and array access.
    IndexedPropertyDescriptor(String, Class, String, String, String, String)
    This constructor takes the name of a simple property, and method names for reading and writing the property, both indexed and non-indexed.
    IndexedPropertyDescriptor(String, Method, Method, Method, Method)
    This constructor takes the name of a simple property, and Method objects for reading and writing the property.

    Method Index

    getIndexedPropertyType()
    getIndexedReadMethod()
    getIndexedWriteMethod()

    Constructors

    IndexedPropertyDescriptor
     public IndexedPropertyDescriptor(String propertyName,
                                      Class beanClass) throws IntrospectionException
    
    This constructor constructs an IndexedPropertyDescriptor for a property that follows the standard Java conventions by having getFoo and setFoo accessor methods, for both indexed access and array access.

    Thus if the argument name is "fred", it will assume that there is an indexed reader method "getFred", a non-indexed (array) reader method also called "getFred", an indexed writer method "setFred", and finally a non-indexed writer method "setFred".

    Parameters:
    propertyName - The programmatic name of the property.
    beanClass - The Class object for the target bean.
    Throws: IntrospectionException
    if an exception occurs during introspection.
    IndexedPropertyDescriptor
     public IndexedPropertyDescriptor(String propertyName,
                                      Class beanClass,
                                      String getterName,
                                      String setterName,
                                      String indexedGetterName,
                                      String indexedSetterName) throws IntrospectionException
    
    This constructor takes the name of a simple property, and method names for reading and writing the property, both indexed and non-indexed.

    Parameters:
    propertyName - The programmatic name of the property.
    beanClass - The Class object for the target bean.
    getterName - The name of the method used for reading the property values as an array. May be null if the property is write-only or must be indexed.
    setterName - The name of the method used for writing the property values as an array. May be null if the property is read-only or must be indexed.
    indexedGetterName - The name of the method used for reading an indexed property value. May be null if the property is write-only.
    indexedSetterName - The name of the method used for writing an indexed property value. May be null if the property is read-only.
    Throws: IntrospectionException
    if an exception occurs during introspection.
    IndexedPropertyDescriptor
     public IndexedPropertyDescriptor(String propertyName,
                                      Method getter,
                                      Method setter,
                                      Method indexedGetter,
                                      Method indexedSetter) throws IntrospectionException
    
    This constructor takes the name of a simple property, and Method objects for reading and writing the property.

    Parameters:
    propertyName - The programmatic name of the property.
    getter - The method used for reading the property values as an array. May be null if the property is write-only or must be indexed.
    setter - The method used for writing the property values as an array. May be null if the property is read-only or must be indexed.
    indexedGetter - The method used for reading an indexed property value. May be null if the property is write-only.
    indexedSetter - The method used for writing an indexed property value. May be null if the property is read-only.
    Throws: IntrospectionException
    if an exception occurs during introspection.

    Methods

    getIndexedReadMethod
     public Method getIndexedReadMethod()
    
    Returns:
    The method that should be used to read an indexed property value. May return null if the property isn't indexed or is write-only.
    getIndexedWriteMethod
     public Method getIndexedWriteMethod()
    
    Returns:
    The method that should be used to write an indexed property value. May return null if the property isn't indexed or is read-only.
    getIndexedPropertyType
     public Class getIndexedPropertyType()
    
    Returns:
    The Java Class for the indexed properties type. Note that the Class may describe a primitive Java type such as "int".

    This is the type that will be returned by the indexedReadMethod.


    Na k`$.756$Pt./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.indexedpropertydescriptor_mi.htmm$$ Class java.beans.IntrospectionException

    Class java.beans.IntrospectionException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.beans.IntrospectionException
    

    public class IntrospectionException
    extends Exception

    Thrown when an exception happens during Introspection.

    Typical causes include not being able to map a string class name to a Class object, not being able to resolve a string method name, or specifying a method name that has the wrong type signature for its intended use.


    Constructor Index

    IntrospectionException(String)

    Constructors

    IntrospectionException
     public IntrospectionException(String mess)
    
    Parameters:
    mess - Descriptive message

     kl-$/756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.introspectionexception_mi.htmmm$$ Class java.beans.Introspector

    Class java.beans.Introspector

    java.lang.Object
       |
       +----java.beans.Introspector
    

    public class Introspector
    extends Object

    The Introspector class provides a standard way for tools to learn about the properties, events, and methods supported by a target Java Bean.

    For each of those three kinds of information, the Introspector will separately analyze the bean's class and superclasses looking for either explicit or implicit information and use that information to build a BeanInfo object that comprehensively describes the target bean.

    For each class "Foo", explicit information may be available if there exists a corresponding "FooBeanInfo" class that provides a non-null value when queried for the information. We first look for the BeanInfo class by taking the full package-qualified name of the target bean class and appending "BeanInfo" to form a new class name. If this fails, then we take the final classname component of this name, and look for that class in each of the packages specified in the BeanInfo package search path.

    Thus for a class such as "sun.xyz.OurButton" we would first look for a BeanInfo class called "sun.xyz.OurButtonBeanInfo" and if that failed we'd look in each package in the BeanInfo search path for an OurButtonBeanInfo class. With the default search path, this would mean looking for "sun.beans.infos.OurButtonBeanInfo".

    If a class provides explicit BeanInfo about itself then we add that to the BeanInfo information we obtained from analyzing any derived classes, but we regard the explicit information as being definitive for the current class and its base classes, and do not proceed any further up the superclass chain.

    If we don't find explicit BeanInfo on a class, we use low-level reflection to study the methods of the class and apply standard design patterns to identify property accessors, event sources, or public methods. We then proceed to analyze the class's superclass and add in the information from it (and possibly on up the superclass chain).


    Method Index

    decapitalize(String)
    Utility method to take a string and convert it to normal Java variable name capitalization.
    getBeanInfo(Class)
    Introspect on a Java bean and learn about all its properties, exposed methods, and events.
    getBeanInfo(Class, Class)
    Introspect on a Java bean and learn all about its properties, exposed methods, below a given "stop" point.
    getBeanInfoSearchPath()
    setBeanInfoSearchPath(String[])
    Change the list of package names that will be used for finding BeanInfo classes.

    Methods

    getBeanInfo
     public static BeanInfo getBeanInfo(Class beanClass) throws IntrospectionException
    
    Introspect on a Java bean and learn about all its properties, exposed methods, and events.

    Parameters:
    beanClass - The bean class to be analyzed.
    Returns:
    A BeanInfo object describing the target bean.
    Throws: IntrospectionException
    if an exception occurs during introspection.
    getBeanInfo
     public static BeanInfo getBeanInfo(Class beanClass,
                                        Class stopClass) throws IntrospectionException
    
    Introspect on a Java bean and learn all about its properties, exposed methods, below a given "stop" point.

    Parameters:
    bean - The bean class to be analyzed.
    stopClass - The baseclass at which to stop the analysis. Any methods/properties/events in the stopClass or in its baseclasses will be ignored in the analysis.
    Throws: IntrospectionException
    if an exception occurs during introspection.
    decapitalize
     public static String decapitalize(String name)
    
    Utility method to take a string and convert it to normal Java variable name capitalization. This normally means converting the first character from upper case to lower case, but in the (unusual) special case when there is more than one character and both the first and second characters are upper case, we leave it alone.

    Thus "FooBah" becomes "fooBah" and "X" becomes "x", but "URL" stays as "URL".

    Parameters:
    name - The string to be decapitalized.
    Returns:
    The decapitalized version of the string.
    getBeanInfoSearchPath
     public static String[] getBeanInfoSearchPath()
    
    Returns:
    The array of package names that will be searched in order to find BeanInfo classes.

    This is initially set to {"sun.beans.infos"}.

    setBeanInfoSearchPath
     public static void setBeanInfoSearchPath(String path[])
    
    Change the list of package names that will be used for finding BeanInfo classes.

    Parameters:
    path - Array of package names.

    ses.  k$m/756$`m./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.introspector_mi.htm$$ Class java.beans.MethodDescriptor

    Class java.beans.MethodDescriptor

    java.lang.Object
       |
       +----java.beans.FeatureDescriptor
               |
               +----java.beans.MethodDescriptor
    

    public class MethodDescriptor
    extends FeatureDescriptor

    A MethodDescriptor describes a particular method that a Java Bean supports for external access from other components.


    Constructor Index

    MethodDescriptor(Method)
    MethodDescriptor(Method, ParameterDescriptor[])

    Method Index

    getMethod()
    getParameterDescriptors()

    Constructors

    MethodDescriptor
     public MethodDescriptor(Method method)
    
    Parameters:
    method - The low-level method information.
    MethodDescriptor
     public MethodDescriptor(Method method,
                             ParameterDescriptor parameterDescriptors[])
    
    Parameters:
    method - The low-level method information.
    parameterDescriptors - Descriptive information for each of the method's parameters.

    Methods

    getMethod
     public Method getMethod()
    
    Returns:
    The low-level description of the method
    getParameterDescriptors
     public ParameterDescriptor[] getParameterDescriptors()
    
    Returns:
    The locale-independent names of the parameters. May return a null array if the parameter names aren't known.

     k$>/756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.methoddescriptor_mi.htm.htm$$ Class java.beans.ParameterDescriptor

    Class java.beans.ParameterDescriptor

    java.lang.Object
       |
       +----java.beans.FeatureDescriptor
               |
               +----java.beans.ParameterDescriptor
    

    public class ParameterDescriptor
    extends FeatureDescriptor

    The ParameterDescriptor class allows bean implementors to provide additional information on each of their parameters, beyond the low level type information provided by the java.lang.reflect.Method class.

    Currently all our state comes from the FeatureDescriptor base class.


    Constructor Index

    ParameterDescriptor()

    Constructors

    ParameterDescriptor
     public ParameterDescriptor()
    

    va k$v/756$pv./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.parameterdescriptor_mi.htmm$$ Class java.beans.PropertyChangeEvent

    Class java.beans.PropertyChangeEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.beans.PropertyChangeEvent
    

    public class PropertyChangeEvent
    extends EventObject

    A "PropertyChange" event gets delivered whenever a bean changes a "bound" or "constrained" property. A PropertyChangeEvent object is sent as an argument to the PropertyChangeListener and VetoableChangeListener methods.

    Normally PropertyChangeEvents are accompanied by the name and the old and new value of the changed property. If the new value is a builtin type (such as int or boolean) it must be wrapped as the corresponding java.lang.* Object type (such as Integer or Boolean).

    Null values may be provided for the old and the new values if their true values are not known.

    An event source may send a null object as the name to indicate that an arbitrary set of if its properties have changed. In this case the old and new values should also be null.


    Constructor Index

    PropertyChangeEvent(Object, String, Object, Object)

    Method Index

    getNewValue()
    getOldValue()
    getPropagationId()
    The "propagationId" field is reserved for future use.
    getPropertyName()
    setPropagationId(Object)

    Constructors

    PropertyChangeEvent
     public PropertyChangeEvent(Object source,
                                String propertyName,
                                Object oldValue,
                                Object newValue)
    
    Parameters:
    source - The bean that fired the event.
    propertyName - The programmatic name of the property that was changed.
    oldValue - The old value of the property.
    newValue - The new value of the property.

    Methods

    getPropertyName
     public String getPropertyName()
    
    Returns:
    The programmatic name of the property that was changed. May be null if multiple properties have changed.
    getNewValue
     public Object getNewValue()
    
    Returns:
    The new value for the property, expressed as an Object. May be null if multiple properties have changed.
    getOldValue
     public Object getOldValue()
    
    Returns:
    The old value for the property, expressed as an Object. May be null if multiple properties have changed.
    setPropagationId
     public void setPropagationId(Object propagationId)
    
    Parameters:
    propagationId - The propagationId object for the event.
    getPropagationId
     public Object getPropagationId()
    
    The "propagationId" field is reserved for future use. In Beans 1.0 the sole requirement is that if a listener catches a PropertyChangeEvent and then fires a PropertyChangeEvent of its own, then it should make sure that it propagates the propagationId field from its incoming event to its outgoing event.

    Returns:
    the propagationId object associated with a bound/constrained property update.

     k$$0756$P$./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.propertychangeevent_mi.htmm$$ Interface java.beans.PropertyChangeListener

    Interface java.beans.PropertyChangeListener

    public interface PropertyChangeListener
    extends EventListener

    A "PropertyChange" event gets fired whenever a bean changes a "bound" property. You can register a PropertyChangeListener with a source bean so as to be notified of any bound property updates.


    Method Index

    propertyChange(PropertyChangeEvent)
    This method gets called when a bound property is changed.

    Methods

    propertyChange
     public abstract void propertyChange(PropertyChangeEvent evt)
    
    This method gets called when a bound property is changed.

    Parameters:
    evt - A PropertyChangeEvent object describing the event source and the property that has changed.

    // k$0756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.propertychangelistener_mi.htmmm$$ Class java.beans.PropertyChangeSupport

    Class java.beans.PropertyChangeSupport

    java.lang.Object
       |
       +----java.beans.PropertyChangeSupport
    

    public class PropertyChangeSupport
    extends Object
    implements Serializable

    This is a utility class that can be used by beans that support bound properties. You can use an instance of this class as a member field of your bean and delegate various work to it.


    Constructor Index

    PropertyChangeSupport(Object)

    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    Add a PropertyChangeListener to the listener list.
    firePropertyChange(String, Object, Object)
    Report a bound property update to any registered listeners.
    removePropertyChangeListener(PropertyChangeListener)
    Remove a PropertyChangeListener from the listener list.

    Constructors

    PropertyChangeSupport
     public PropertyChangeSupport(Object sourceBean)
    

    Methods

    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    Add a PropertyChangeListener to the listener list.

    Parameters:
    listener - The PropertyChangeListener to be added
    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    Remove a PropertyChangeListener from the listener list.

    Parameters:
    listener - The PropertyChangeListener to be removed
    firePropertyChange
     public void firePropertyChange(String propertyName,
                                    Object oldValue,
                                    Object newValue)
    
    Report a bound property update to any registered listeners. No event is fired if old and new are equal and non-null.

    Parameters:
    propertyName - The programmatic name of the property that was changed.
    oldValue - The old value of the property.
    newValue - The new value of the property.

    vetica" k$0756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.propertychangesupport_mi.htm$$ Class java.beans.PropertyDescriptor

    Class java.beans.PropertyDescriptor

    java.lang.Object
       |
       +----java.beans.FeatureDescriptor
               |
               +----java.beans.PropertyDescriptor
    

    public class PropertyDescriptor
    extends FeatureDescriptor
    super class of:
    IndexedPropertyDescriptor

    A PropertyDescriptor describes one property that a Java Bean exports via a pair of accessor methods.


    Constructor Index

    PropertyDescriptor(String, Class)
    Constructs a PropertyDescriptor for a property that follows the standard Java convention by having getFoo and setFoo accessor methods.
    PropertyDescriptor(String, Class, String, String)
    This constructor takes the name of a simple property, and method names for reading and writing the property.
    PropertyDescriptor(String, Method, Method)
    This constructor takes the name of a simple property, and Method objects for reading and writing the property.

    Method Index

    getPropertyEditorClass()
    getPropertyType()
    getReadMethod()
    getWriteMethod()
    isBound()
    Updates to "bound" properties will cause a "PropertyChange" event to get fired when the property is changed.
    isConstrained()
    Attempted updates to "Constrained" properties will cause a "VetoableChange" event to get fired when the property is changed.
    setBound(boolean)
    Updates to "bound" properties will cause a "PropertyChange" event to get fired when the property is changed.
    setConstrained(boolean)
    Attempted updates to "Constrained" properties will cause a "VetoableChange" event to get fired when the property is changed.
    setPropertyEditorClass(Class)
    Normally PropertyEditors will be found using the PropertyEditorManager.

    Constructors

    PropertyDescriptor
     public PropertyDescriptor(String propertyName,
                               Class beanClass) throws IntrospectionException
    
    Constructs a PropertyDescriptor for a property that follows the standard Java convention by having getFoo and setFoo accessor methods. Thus if the argument name is "fred", it will assume that the reader method is "getFred" and the writer method is "setFred". Note that the property name should start with a lower case character, which will be capitalized in the method names.

    Parameters:
    propertyName - The programmatic name of the property.
    beanClass - The Class object for the target bean. For example sun.beans.OurButton.class.
    Throws: IntrospectionException
    if an exception occurs during introspection.
    PropertyDescriptor
     public PropertyDescriptor(String propertyName,
                               Class beanClass,
                               String getterName,
                               String setterName) throws IntrospectionException
    
    This constructor takes the name of a simple property, and method names for reading and writing the property.

    Parameters:
    propertyName - The programmatic name of the property.
    beanClass - The Class object for the target bean. For example sun.beans.OurButton.class.
    getterName - The name of the method used for reading the property value. May be null if the property is write-only.
    setterName - The name of the method used for writing the property value. May be null if the property is read-only.
    Throws: IntrospectionException
    if an exception occurs during introspection.
    PropertyDescriptor
     public PropertyDescriptor(String propertyName,
                               Method getter,
                               Method setter) throws IntrospectionException
    
    This constructor takes the name of a simple property, and Method objects for reading and writing the property.

    Parameters:
    propertyName - The programmatic name of the property.
    getter - The method used for reading the property value. May be null if the property is write-only.
    setter - The method used for writing the property value. May be null if the property is read-only.
    Throws: IntrospectionException
    if an exception occurs during introspection.

    Methods

    getPropertyType
     public Class getPropertyType()
    
    Returns:
    The Java type info for the property. Note that the "Class" object may describe a built-in Java type such as "int". The result may be "null" if this is an indexed property that does not support non-indexed access.

    This is the type that will be returned by the ReadMethod.

    getReadMethod
     public Method getReadMethod()
    
    Returns:
    The method that should be used to read the property value. May return null if the property can't be read.
    getWriteMethod
     public Method getWriteMethod()
    
    Returns:
    The method that should be used to write the property value. May return null if the property can't be written.
    isBound
     public boolean isBound()
    
    Updates to "bound" properties will cause a "PropertyChange" event to get fired when the property is changed.

    Returns:
    True if this is a bound property.
    setBound
     public void setBound(boolean bound)
    
    Updates to "bound" properties will cause a "PropertyChange" event to get fired when the property is changed.

    Parameters:
    bound - True if this is a bound property.
    isConstrained
     public boolean isConstrained()
    
    Attempted updates to "Constrained" properties will cause a "VetoableChange" event to get fired when the property is changed.

    Returns:
    True if this is a constrained property.
    setConstrained
     public void setConstrained(boolean constrained)
    
    Attempted updates to "Constrained" properties will cause a "VetoableChange" event to get fired when the property is changed.

    Parameters:
    constrained - True if this is a constrained property.
    setPropertyEditorClass
     public void setPropertyEditorClass(Class propertyEditorClass)
    
    Normally PropertyEditors will be found using the PropertyEditorManager. However if for some reason you want to associate a particular PropertyEditor with a given property, then you can do it with this method.

    Parameters:
    propertyEditorClass - The Class for the desired PropertyEditor.
    getPropertyEditorClass
     public Class getPropertyEditorClass()
    
    Returns:
    Any explicit PropertyEditor Class that has been registered for this property. Normally this will return "null", indicating that no special editor has been registered, so the PropertyEditorManager should be used to locate a suitable PropertyEditor.

    < k$Y1756$@Y./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.propertydescriptor_mi.htmm$$ Interface java.beans.PropertyEditor

    Interface java.beans.PropertyEditor

    public interface PropertyEditor

    A PropertyEditor class provides support for GUIs that want to allow users to edit a property value of a given type.

    PropertyEditor supports a variety of different kinds of ways of displaying and updating property values. Most PropertyEditors will only need to support a subset of the different options available in this API.

    Simple PropertyEditors may only support the getAsText and setAsText methods and need not support (say) paintValue or getCustomEditor. More complex types may be unable to support getAsText and setAsText but will instead support paintValue and getCustomEditor.

    Every propertyEditor must support one or more of the three simple display styles. Thus it can either (1) support isPaintable or (2) both return a non-null String[] from getTags() and return a non-null value from getAsText or (3) simply return a non-null String from getAsText().

    Every property editor must support a call on setValue when the argument object is of the type for which this is the corresponding propertyEditor. In addition, each property editor must either support a custom editor, or support setAsText.

    Each PropertyEditor should have a null constructor.


    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    Register a listener for the PropertyChange event.
    getAsText()
    getCustomEditor()
    A PropertyEditor may choose to make available a full custom Component that edits its property value.
    getJavaInitializationString()
    This method is intended for use when generating Java code to set the value of the property.
    getTags()
    If the property value must be one of a set of known tagged values, then this method should return an array of the tags.
    getValue()
    isPaintable()
    paintValue(Graphics, Rectangle)
    Paint a representation of the value into a given area of screen real estate.
    removePropertyChangeListener(PropertyChangeListener)
    Remove a listener for the PropertyChange event.
    setAsText(String)
    Set the property value by parsing a given String.
    setValue(Object)
    Set (or change) the object that is to be edited.
    supportsCustomEditor()

    Methods

    setValue
     public abstract void setValue(Object value)
    
    Set (or change) the object that is to be edited. Builtin types such as "int" must be wrapped as the corresponding object type such as "java.lang.Integer".

    Parameters:
    value - The new target object to be edited. Note that this object should not be modified by the PropertyEditor, rather the PropertyEditor should create a new object to hold any modified value.
    getValue
     public abstract Object getValue()
    
    Returns:
    The value of the property. Builtin types such as "int" will be wrapped as the corresponding object type such as "java.lang.Integer".
    isPaintable
     public abstract boolean isPaintable()
    
    Returns:
    True if the class will honor the paintValue method.
    paintValue
     public abstract void paintValue(Graphics gfx,
                                     Rectangle box)
    
    Paint a representation of the value into a given area of screen real estate. Note that the propertyEditor is responsible for doing its own clipping so that it fits into the given rectangle.

    If the PropertyEditor doesn't honor paint requests (see isPaintable) this method should be a silent noop.

    The given Graphics object will have the default font, color, etc of the parent container. The PropertyEditor may change graphics attributes such as font and color and doesn't need to restore the old values.

    Parameters:
    gfx - Graphics object to paint into.
    box - Rectangle within graphics object into which we should paint.
    getJavaInitializationString
     public abstract String getJavaInitializationString()
    
    This method is intended for use when generating Java code to set the value of the property. It should return a fragment of Java code that can be used to initialize a variable with the current property value.

    Example results are "2", "new Color(127,127,34)", "Color.orange", etc.

    Returns:
    A fragment of Java code representing an initializer for the current value.
    getAsText
     public abstract String getAsText()
    
    Returns:
    The property value as a human editable string.

    Returns null if the value can't be expressed as an editable string.

    If a non-null value is returned, then the PropertyEditor should be prepared to parse that string back in setAsText().

    setAsText
     public abstract void setAsText(String text) throws IllegalArgumentException
    
    Set the property value by parsing a given String. May raise java.lang.IllegalArgumentException if either the String is badly formatted or if this kind of property can't be expressed as text.

    Parameters:
    text - The string to be parsed.
    getTags
     public abstract String[] getTags()
    
    If the property value must be one of a set of known tagged values, then this method should return an array of the tags. This can be used to represent (for example) enum values. If a PropertyEditor supports tags, then it should support the use of setAsText with a tag value as a way of setting the value and the use of getAsText to identify the current value.

    Returns:
    The tag values for this property. May be null if this property cannot be represented as a tagged value.
    getCustomEditor
     public abstract Component getCustomEditor()
    
    A PropertyEditor may choose to make available a full custom Component that edits its property value. It is the responsibility of the PropertyEditor to hook itself up to its editor Component itself and to report property value changes by firing a PropertyChange event.

    The higher-level code that calls getCustomEditor may either embed the Component in some larger property sheet, or it may put it in its own individual dialog, or ...

    Returns:
    A java.awt.Component that will allow a human to directly edit the current property value. May be null if this is not supported.
    supportsCustomEditor
     public abstract boolean supportsCustomEditor()
    
    Returns:
    True if the propertyEditor can provide a custom editor.
    addPropertyChangeListener
     public abstract void addPropertyChangeListener(PropertyChangeListener listener)
    
    Register a listener for the PropertyChange event. When a PropertyEditor changes its value it should fire a PropertyChange event on all registered PropertyChangeListeners, specifying the null value for the property name and itself as the source.

    Parameters:
    listener - An object to be invoked when a PropertyChange event is fired.
    removePropertyChangeListener
     public abstract void removePropertyChangeListener(PropertyChangeListener listener)
    
    Remove a listener for the PropertyChange event.

    Parameters:
    listener - The PropertyChange listener to be removed.

    e="setA kt$1756$@./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.propertyeditor_mi.htmtmm$$ Class java.beans.PropertyEditorManager

    Class java.beans.PropertyEditorManager

    java.lang.Object
       |
       +----java.beans.PropertyEditorManager
    

    public class PropertyEditorManager
    extends Object

    The PropertyEditorManager can be used to locate a property editor for any given type name. This property editor must support the java.beans.PropertyEditor interface for editing a given object.

    The PropertyEditorManager uses three techniques for locating an editor for a given type. First, it provides a registerEditor method to allow an editor to be specifically registered for a given type. Second it tries to locate a suitable class by adding "Editor" to the full qualified classname of the given type (e.g. "foo.bah.FozEditor"). Finally it takes the simple classname (without the package name) adds "Editor" to it and looks in a search-path of packages for a matching class.

    So for an input class foo.bah.Fred, the PropertyEditorManager would first look in its tables to see if an editor had been registered for foo.bah.Fred and if so use that. Then it will look for a foo.bah.FredEditor class. Then it will look for (say) standardEditorsPackage.FredEditor class.

    Default PropertyEditors will be provided for the Java builtin types "boolean", "byte", "short", "int", "long", "float", and "double"; and for the classes java.lang.String. java.awt.Color, and java.awt.Font.


    Constructor Index

    PropertyEditorManager()

    Method Index

    findEditor(Class)
    Locate a value editor for a given target type.
    getEditorSearchPath()
    registerEditor(Class, Class)
    Register an editor class to be used to editor values of a given target class.
    setEditorSearchPath(String[])
    Change the list of package names that will be used for finding property editors.

    Constructors

    PropertyEditorManager
     public PropertyEditorManager()
    

    Methods

    registerEditor
     public static void registerEditor(Class targetType,
                                       Class editorClass)
    
    Register an editor class to be used to editor values of a given target class.

    Parameters:
    targetType - the Class object of the type to be edited
    editorClass - the Class object of the editor class. If this is null, then any existing definition will be removed.
    findEditor
     public static PropertyEditor findEditor(Class targetType)
    
    Locate a value editor for a given target type.

    Parameters:
    targetType - The Class object for the type to be edited
    Returns:
    An editor object for the given target class. The result is null if no suitable editor can be found.
    getEditorSearchPath
     public static String[] getEditorSearchPath()
    
    Returns:
    The array of package names that will be searched in order to find property editors.

    This is initially set to {"sun.beans.editors"}.

    setEditorSearchPath
     public static void setEditorSearchPath(String path[])
    
    Change the list of package names that will be used for finding property editors.

    Parameters:
    path - Array of package names.

    he Pro k $1756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.propertyeditormanager_mi.htm$$ Class java.beans.PropertyEditorSupport

    Class java.beans.PropertyEditorSupport

    java.lang.Object
       |
       +----java.beans.PropertyEditorSupport
    

    public class PropertyEditorSupport
    extends Object
    implements PropertyEditor


    Constructor Index

    PropertyEditorSupport()
    Constructor for use by derived PropertyEditor classes.
    PropertyEditorSupport(Object)
    Constructor for use when a PropertyEditor is delegating to us.

    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    Register a listener for the PropertyChange event.
    firePropertyChange()
    Report that we have been modified to any interested listeners.
    getAsText()
    getCustomEditor()
    A PropertyEditor may chose to make available a full custom Component that edits its property value.
    getJavaInitializationString()
    This method is intended for use when generating Java code to set the value of the property.
    getTags()
    If the property value must be one of a set of known tagged values, then this method should return an array of the tag values.
    getValue()
    isPaintable()
    paintValue(Graphics, Rectangle)
    Paint a representation of the value into a given area of screen real estate.
    removePropertyChangeListener(PropertyChangeListener)
    Remove a listener for the PropertyChange event.
    setAsText(String)
    Set the property value by parsing a given String.
    setValue(Object)
    Set (or change) the object that is to be edited.
    supportsCustomEditor()

    Constructors

    PropertyEditorSupport
     protected PropertyEditorSupport()
    
    Constructor for use by derived PropertyEditor classes.

    PropertyEditorSupport
     protected PropertyEditorSupport(Object source)
    
    Constructor for use when a PropertyEditor is delegating to us.

    Parameters:
    source - The source to use for any events we fire.

    Methods

    setValue
     public void setValue(Object value)
    
    Set (or change) the object that is to be edited.

    Parameters:
    value - The new target object to be edited. Note that this object should not be modified by the PropertyEditor, rather the PropertyEditor should create a new object to hold any modified value.
    getValue
     public Object getValue()
    
    Returns:
    The value of the property.
    isPaintable
     public boolean isPaintable()
    
    Returns:
    True if the class will honor the paintValue method.
    paintValue
     public void paintValue(Graphics gfx,
                            Rectangle box)
    
    Paint a representation of the value into a given area of screen real estate. Note that the propertyEditor is responsible for doing its own clipping so that it fits into the given rectangle.

    If the PropertyEditor doesn't honor paint requests (see isPaintable) this method should be a silent noop.

    Parameters:
    gfx - Graphics object to paint into.
    box - Rectangle within graphics object into which we should paint.
    getJavaInitializationString
     public String getJavaInitializationString()
    
    This method is intended for use when generating Java code to set the value of the property. It should return a fragment of Java code that can be used to initialize a variable with the current property value.

    Example results are "2", "new Color(127,127,34)", "Color.orange", etc.

    Returns:
    A fragment of Java code representing an initializer for the current value.
    getAsText
     public String getAsText()
    
    Returns:
    The property value as a string suitable for presentation to a human to edit.

    Returns "null" is the value can't be expressed as a string.

    If a non-null value is returned, then the PropertyEditor should be prepared to parse that string back in setAsText().

    setAsText
     public void setAsText(String text) throws IllegalArgumentException
    
    Set the property value by parsing a given String. May raise java.lang.IllegalArgumentException if either the String is badly formatted or if this kind of property can't be expressed as text.

    Parameters:
    text - The string to be parsed.
    getTags
     public String[] getTags()
    
    If the property value must be one of a set of known tagged values, then this method should return an array of the tag values. This can be used to represent (for example) enum values. If a PropertyEditor supports tags, then it should support the use of setAsText with a tag value as a way of setting the value.

    Returns:
    The tag values for this property. May be null if this property cannot be represented as a tagged value.
    getCustomEditor
     public Component getCustomEditor()
    
    A PropertyEditor may chose to make available a full custom Component that edits its property value. It is the responsibility of the PropertyEditor to hook itself up to its editor Component itself and to report property value changes by firing a PropertyChange event.

    The higher-level code that calls getCustomEditor may either embed the Component in some larger property sheet, or it may put it in its own individual dialog, or ...

    Returns:
    A java.awt.Component that will allow a human to directly edit the current property value. May be null if this is not supported.
    supportsCustomEditor
     public boolean supportsCustomEditor()
    
    Returns:
    True if the propertyEditor can provide a custom editor.
    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    Register a listener for the PropertyChange event. The class will fire a PropertyChange value whenever the value is updated.

    Parameters:
    listener - An object to be invoked when a PropertyChange event is fired.
    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    Remove a listener for the PropertyChange event.

    Parameters:
    listener - The PropertyChange listener to be removed.
    firePropertyChange
     public void firePropertyChange()
    
    Report that we have been modified to any interested listeners.

    Parameters:
    source - The PropertyEditor that caused the event.

    to kF $2756$0W./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.propertyeditorsupport_mi.htm$$ Class java.beans.PropertyVetoException

    Class java.beans.PropertyVetoException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.beans.PropertyVetoException
    

    public class PropertyVetoException
    extends Exception

    A PropertyVetoException is thrown when a proposed change to a property represents an unacceptable value.


    Constructor Index

    PropertyVetoException(String, PropertyChangeEvent)

    Method Index

    getPropertyChangeEvent()

    Constructors

    PropertyVetoException
     public PropertyVetoException(String mess,
                                  PropertyChangeEvent evt)
    
    Parameters:
    mess - Descriptive message
    evt - A PropertyChangeEvent describing the vetoed change.

    Methods

    getPropertyChangeEvent
     public PropertyChangeEvent getPropertyChangeEvent()
    

     k>#$]2756$`>]./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.propertyvetoexception_mi.htm$$ Class java.beans.SimpleBeanInfo

    Class java.beans.SimpleBeanInfo

    java.lang.Object
       |
       +----java.beans.SimpleBeanInfo
    

    public class SimpleBeanInfo
    extends Object
    implements BeanInfo

    This is a support class to make it easier for people to provide BeanInfo classes.

    It defaults to providing "noop" information, and can be selectively overriden to provide more explicit information on chosen topics. When the introspector sees the "noop" values, it will apply low level introspection and design patterns to automatically analyze the target bean.


    Constructor Index

    SimpleBeanInfo()

    Method Index

    getAdditionalBeanInfo()
    Claim there are no other relevant BeanInfo objects.
    getBeanDescriptor()
    Deny knowledge about the class and customizer of the bean.
    getDefaultEventIndex()
    Deny knowledge of a default event.
    getDefaultPropertyIndex()
    Deny knowledge of a default property.
    getEventSetDescriptors()
    Deny knowledge of event sets.
    getIcon(int)
    Claim there are no icons available.
    getMethodDescriptors()
    Deny knowledge of methods.
    getPropertyDescriptors()
    Deny knowledge of properties.
    loadImage(String)
    This is a utility method to help in loading icon images.

    Constructors

    SimpleBeanInfo
     public SimpleBeanInfo()
    

    Methods

    getBeanDescriptor
     public BeanDescriptor getBeanDescriptor()
    
    Deny knowledge about the class and customizer of the bean. You can override this if you wish to provide explicit info.

    getPropertyDescriptors
     public PropertyDescriptor[] getPropertyDescriptors()
    
    Deny knowledge of properties. You can override this if you wish to provide explicit property info.

    getDefaultPropertyIndex
     public int getDefaultPropertyIndex()
    
    Deny knowledge of a default property. You can override this if you wish to define a default property for the bean.

    getEventSetDescriptors
     public EventSetDescriptor[] getEventSetDescriptors()
    
    Deny knowledge of event sets. You can override this if you wish to provide explicit event set info.

    getDefaultEventIndex
     public int getDefaultEventIndex()
    
    Deny knowledge of a default event. You can override this if you wish to define a default event for the bean.

    getMethodDescriptors
     public MethodDescriptor[] getMethodDescriptors()
    
    Deny knowledge of methods. You can override this if you wish to provide explicit method info.

    getAdditionalBeanInfo
     public BeanInfo[] getAdditionalBeanInfo()
    
    Claim there are no other relevant BeanInfo objects. You may override this if you want to (for example) return a BeanInfo for a base class.

    getIcon
     public Image getIcon(int iconKind)
    
    Claim there are no icons available. You can override this if you want to provide icons for your bean.

    loadImage
     public Image loadImage(String resourceName)
    
    This is a utility method to help in loading icon images. It takes the name of a resource file associated with the current object's class file and loads an image object from that file. Typically images will be GIFs.

    Parameters:
    resourceName - A pathname relative to the directory holding the class file of the current class. For example, "wombat.gif".
    Returns:
    an image object. May be null if the load failed.

    Interface java.beans.VetoableChangeListener

    Interface java.beans.VetoableChangeListener

    public interface VetoableChangeListener
    extends EventListener

    A VetoableChange event gets fired whenever a bean changes a "constrained" property. You can register a VetoableChangeListener with a source bean so as to be notified of any constrained property updates.


    Method Index

    vetoableChange(PropertyChangeEvent)
    This method gets called when a constrained property is changed.

    Methods

    vetoableChange
     public abstract void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException
    
    This method gets called when a constrained property is changed.

    Parameters:
    evt - a PropertyChangeEvent object describing the event source and the property that has changed.
    Throws: PropertyVetoException
    if the recipient wishes the property change to be rolled back.

     k$$3756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.vetoablechangelistener_mi.htmmm$$ Class java.beans.VetoableChangeSupport

    Class java.beans.VetoableChangeSupport

    java.lang.Object
       |
       +----java.beans.VetoableChangeSupport
    

    public class VetoableChangeSupport
    extends Object
    implements Serializable

    This is a utility class that can be used by beans that support constrained properties. You can use an instance of this class as a member field of your bean and delegate various work to it.


    Constructor Index

    VetoableChangeSupport(Object)

    Method Index

    addVetoableChangeListener(VetoableChangeListener)
    Add a VetoableListener to the listener list.
    fireVetoableChange(String, Object, Object)
    Report a vetoable property update to any registered listeners.
    removeVetoableChangeListener(VetoableChangeListener)
    Remove a VetoableChangeListener from the listener list.

    Constructors

    VetoableChangeSupport
     public VetoableChangeSupport(Object sourceBean)
    

    Methods

    addVetoableChangeListener
     public synchronized void addVetoableChangeListener(VetoableChangeListener listener)
    
    Add a VetoableListener to the listener list.

    Parameters:
    listener - The VetoableChangeListener to be added
    removeVetoableChangeListener
     public synchronized void removeVetoableChangeListener(VetoableChangeListener listener)
    
    Remove a VetoableChangeListener from the listener list.

    Parameters:
    listener - The VetoableChangeListener to be removed
    fireVetoableChange
     public void fireVetoableChange(String propertyName,
                                    Object oldValue,
                                    Object newValue) throws PropertyVetoException
    
    Report a vetoable property update to any registered listeners. If anyone vetos the change, then fire a new event reverting everyone to the old value and then rethrow the PropertyVetoException.

    No event is fired if old and new are equal and non-null.

    Parameters:
    propertyName - The programmatic name of the property that was changed.
    oldValue - The old value of the property.
    newValue - The new value of the property.
    Throws: PropertyVetoException
    if the recipient wishes the property change to be rolled back.

    til k;$3756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.vetoablechangesupport_mi.htm$$ Interface java.beans.Visibility

    Interface java.beans.Visibility

    public interface Visibility

    Under some circumstances a bean may be run on servers where a GUI is not available. This interface can be used to query a bean to determine whether it absolutely needs a gui, and to advise the bean whether a GUI is available.

    This interface is for expert developers, and is not needed for normal simple beans. To avoid confusing end-users we avoid using getXXX setXXX design patterns for these methods.


    Method Index

    avoidingGui()
    dontUseGui()
    This method instructs the bean that it should not use the Gui.
    needsGui()
    okToUseGui()
    This method instructs the bean that it is OK to use the Gui.

    Methods

    needsGui
     public abstract boolean needsGui()
    
    Returns:
    True if the bean absolutely needs a GUI available in order to get its work done.
    dontUseGui
     public abstract void dontUseGui()
    
    This method instructs the bean that it should not use the Gui.

    okToUseGui
     public abstract void okToUseGui()
    
    This method instructs the bean that it is OK to use the Gui.

    avoidingGui
     public abstract boolean avoidingGui()
    
    Returns:
    true if the bean is currently avoiding use of the Gui. e.g. due to a call on dontUseGui().

    ref="j kF$_3756$`_./usr/IBMVJava/html/enterp/en_US/jdkref/java.beans.visibility_mi.htmrt$$ Class java.io.BufferedInputStream

    Class java.io.BufferedInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
                       |
                       +----java.io.BufferedInputStream
    

    public class BufferedInputStream
    extends FilterInputStream

    The class implements a buffered input stream. By setting up such an input stream, an application can read bytes from a stream without necessarily causing a call to the underlying system for each byte read. The data is read by blocks into a buffer; subsequent reads can access the data directly from the buffer.


    Variable Index

    buf
    The buffer where data is stored.
    count
    The index one greater than the index of the last valid byte in the buffer.
    marklimit
    The maximum read ahead allowed after a call to the mark method before subsequent calls to the reset method fail.
    markpos
    The value of the pos field at the time the last mark method was called.
    pos
    The current position in the buffer.

    Constructor Index

    BufferedInputStream(InputStream)
    Creates a new buffered input stream to read data from the specified input stream with a default 512-byte buffer size.
    BufferedInputStream(InputStream, int)
    Creates a new buffered input stream to read data from the specified input stream with the specified buffer size.

    Method Index

    available()
    Returns the number of bytes that can be read from this input stream without blocking.
    mark(int)
    Marks the current position in this input stream.
    markSupported()
    Tests if this input stream supports the mark and reset methods.
    read()
    Reads the next byte of data from this buffered input stream.
    read(byte[], int, int)
    Reads bytes into a portion of an array.
    reset()
    Repositions this stream to the position at the time the mark method was last called on this input stream.
    skip(long)
    Skips over and discards n bytes of data from the input stream.

    Variables

    buf
     protected byte buf[]
    
    The buffer where data is stored.

    count
     protected int count
    
    The index one greater than the index of the last valid byte in the buffer.

    pos
     protected int pos
    
    The current position in the buffer. This is the index of the next character to be read from the buf array.

    See Also:
    buf
    markpos
     protected int markpos
    
    The value of the pos field at the time the last mark method was called. The value of this field is -1 if there is no current mark.

    See Also:
    mark, pos
    marklimit
     protected int marklimit
    
    The maximum read ahead allowed after a call to the mark method before subsequent calls to the reset method fail.

    See Also:
    mark, reset

    Constructors

    BufferedInputStream
     public BufferedInputStream(InputStream in)
    
    Creates a new buffered input stream to read data from the specified input stream with a default 512-byte buffer size.

    Parameters:
    in - the underlying input stream.
    BufferedInputStream
     public BufferedInputStream(InputStream in,
                                int size)
    
    Creates a new buffered input stream to read data from the specified input stream with the specified buffer size.

    Parameters:
    in - the underlying input stream.
    size - the buffer size.

    Methods

    read
     public synchronized int read() throws IOException
    
    Reads the next byte of data from this buffered input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

    The read method of BufferedInputStream returns the next byte of data from its buffer if the buffer is not empty. Otherwise, it refills the buffer from the underlying input stream and returns the next character, if the underlying stream has not returned an end-of-stream indicator.

    Returns:
    the next byte of data, or -1 if the end of the stream is reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class FilterInputStream
    See Also:
    in
    read
     public synchronized int read(byte b[],
                                  int off,
                                  int len) throws IOException
    
    Reads bytes into a portion of an array. This method will block until some input is available, an I/O error occurs, or the end of the stream is reached.

    If this stream's buffer is not empty, bytes are copied from it into the array argument. Otherwise, the buffer is refilled from the underlying input stream and, unless the stream returns an end-of-stream indication, the array argument is filled with characters from the newly-filled buffer.

    As an optimization, if the buffer is empty, the mark is not valid, and len is at least as large as the buffer, then this method will read directly from the underlying stream into the given array. Thus redundant BufferedInputStreams will not copy data unnecessarily.

    Parameters:
    b - destination buffer.
    off - offset at which to start storing bytes.
    len - maximum number of bytes to read.
    Returns:
    the number of bytes read, or -1 if the end of the stream has been reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class FilterInputStream
    skip
     public synchronized long skip(long n) throws IOException
    
    Skips over and discards n bytes of data from the input stream. The skip method may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly zero. The actual number of bytes skipped is returned.

    The skip method of BufferedInputStream compares the number of bytes it has available in its buffer, k, where k = count - pos, with n. If n ≤ k, then the pos field is incremented by n. Otherwise, the pos field is incremented to have the value count, and the remaining bytes are skipped by calling the skip method on the underlying input stream, supplying the argument n - k.

    Parameters:
    n - the number of bytes to be skipped.
    Returns:
    the actual number of bytes skipped.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    skip in class FilterInputStream
    available
     public synchronized int available() throws IOException
    
    Returns the number of bytes that can be read from this input stream without blocking.

    The available method of BufferedInputStream returns the sum of the the number of bytes remaining to be read in the buffer (count - pos) and the result of calling the available method of the underlying input stream.

    Returns:
    the number of bytes that can be read from this input stream without blocking.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    available in class FilterInputStream
    See Also:
    in
    mark
     public synchronized void mark(int readlimit)
    
    Marks the current position in this input stream. A subsequent call to the reset method repositions the stream at the last marked position so that subsequent reads re-read the same bytes.

    The readlimit argument tells the input stream to allow that many bytes to be read before the mark position gets invalidated.

    Parameters:
    readlimit - the maximum limit of bytes that can be read before the mark position becomes invalid.
    Overrides:
    mark in class FilterInputStream
    See Also:
    reset
    reset
     public synchronized void reset() throws IOException
    
    Repositions this stream to the position at the time the mark method was last called on this input stream.

    If the stream has not been marked, or if the mark has been invalidated, an IOException is thrown. Stream marks are intended to be used in situations where you need to read ahead a little to see what's in the stream. Often this is most easily done by invoking some general parser. If the stream is of the type handled by the parser, it just chugs along happily. If the stream is not of that type, the parser should toss an exception when it fails. If an exception gets tossed within readlimit bytes, the parser will allow the outer code to reset the stream and to try another parser.

    Throws: IOException
    if this stream has not been marked or if the mark has been invalidated.
    Overrides:
    reset in class FilterInputStream
    See Also:
    mark
    markSupported
     public boolean markSupported()
    
    Tests if this input stream supports the mark and reset methods. The markSupported method of BufferedInputStream returns true.

    Returns:
    a boolean indicating if this stream type supports the mark and reset methods.
    Overrides:
    markSupported in class FilterInputStream
    See Also:
    mark, reset

    b> Class java.io.BufferedOutputStream

    Class java.io.BufferedOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.FilterOutputStream
                       |
                       +----java.io.BufferedOutputStream
    

    public class BufferedOutputStream
    extends FilterOutputStream

    The class implements a buffered output stream. By setting up such an output stream, an application can write bytes to the underlying output stream without necessarily causing a call to the underlying system for each byte written. The data is written into a buffer, and then written to the underlying stream if the buffer reaches its capacity, the buffer output stream is closed, or the buffer output stream is explicity flushed.


    Variable Index

    buf
    The buffer where data is stored.
    count
    The number of valid bytes in the buffer.

    Constructor Index

    BufferedOutputStream(OutputStream)
    Creates a new buffered output stream to write data to the specified underlying output stream with a default 512-byte buffer size.
    BufferedOutputStream(OutputStream, int)
    Creates a new buffered output stream to write data to the specified underlying output stream with the specified buffer size.

    Method Index

    flush()
    Flushes this buffered output stream.
    write(byte[], int, int)
    Writes len bytes from the specified byte array starting at offset off to this buffered output stream.
    write(int)
    Writes the specified byte to this buffered output stream.

    Variables

    buf
     protected byte buf[]
    
    The buffer where data is stored.

    count
     protected int count
    
    The number of valid bytes in the buffer.


    Constructors

    BufferedOutputStream
     public BufferedOutputStream(OutputStream out)
    
    Creates a new buffered output stream to write data to the specified underlying output stream with a default 512-byte buffer size.

    Parameters:
    out - the underlying output stream.
    BufferedOutputStream
     public BufferedOutputStream(OutputStream out,
                                 int size)
    
    Creates a new buffered output stream to write data to the specified underlying output stream with the specified buffer size.

    Parameters:
    out - the underlying output stream.
    size - the buffer size.

    Methods

    write
     public synchronized void write(int b) throws IOException
    
    Writes the specified byte to this buffered output stream.

    Parameters:
    b - the byte to be written.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class FilterOutputStream
    write
     public synchronized void write(byte b[],
                                    int off,
                                    int len) throws IOException
    
    Writes len bytes from the specified byte array starting at offset off to this buffered output stream.

    Ordinarily this method stores bytes from the given array into this stream's buffer, flushing the buffer to the underlying output stream as needed. If the requested length is at least as large as this stream's buffer, however, then this method will flush the buffer and write the bytes directly to the underlying output stream. Thus redundant BufferedOutputStreams will not copy data unnecessarily.

    Parameters:
    b - the data.
    off - the start offset in the data.
    len - the number of bytes to write.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class FilterOutputStream
    flush
     public synchronized void flush() throws IOException
    
    Flushes this buffered output stream. This forces any buffered output bytes to be written out to the underlying output stream.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    flush in class FilterOutputStream
    See Also:
    out

    dd> Cr kd"$54756$P5./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.bufferedoutputstream_mi.htmtm$$ Class java.io.BufferedReader

    Class java.io.BufferedReader

    java.lang.Object
       |
       +----java.io.Reader
               |
               +----java.io.BufferedReader
    

    public class BufferedReader
    extends Reader
    super class of:
    LineNumberReader

    Read text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines.

    The buffer size may be specified, or the default size may be used. The default is large enough for most purposes.

    In general, each read request made of a Reader causes a corresponding read request to be made of the underlying character or byte stream. It is therefore advisable to wrap a BufferedReader around any Reader whose read() operations may be costly, such as FileReaders and InputStreamReaders. For example,

     BufferedReader in
       = new BufferedReader(new FileReader("foo.in"));
     
    will buffer the input from the specified file. Without buffering, each invocation of read() or readLine() could cause bytes to be read from the file, converted into characters, and then returned, which can be very inefficient.

    Programs that use DataInputStreams for textual input can be localized by replacing each DataInputStream with an appropriate BufferedReader.

    Since:
    JDK1.1
    See Also:
    FileReader, InputStreamReader

    Constructor Index

    BufferedReader(Reader)
    Create a buffering character-input stream that uses a default-sized input buffer.
    BufferedReader(Reader, int)
    Create a buffering character-input stream that uses an input buffer of the specified size.

    Method Index

    close()
    Close the stream.
    mark(int)
    Mark the present position in the stream.
    markSupported()
    Tell whether this stream supports the mark() operation, which it does.
    read()
    Read a single character.
    read(char[], int, int)
    Read characters into a portion of an array.
    readLine()
    Read a line of text.
    ready()
    Tell whether this stream is ready to be read.
    reset()
    Reset the stream to the most recent mark.
    skip(long)
    Skip characters.

    Constructors

    BufferedReader
     public BufferedReader(Reader in,
                           int sz)
    
    Create a buffering character-input stream that uses an input buffer of the specified size.

    Parameters:
    in - A Reader
    sz - Input-buffer size
    Throws: IllegalArgumentException
    If sz is <= 0
    BufferedReader
     public BufferedReader(Reader in)
    
    Create a buffering character-input stream that uses a default-sized input buffer.

    Parameters:
    in - A Reader

    Methods

    read
     public int read() throws IOException
    
    Read a single character.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    read
     public int read(char cbuf[],
                     int off,
                     int len) throws IOException
    
    Read characters into a portion of an array.

    Ordinarily this method takes characters from this stream's character buffer, filling it from the underlying stream as necessary. If, however, the buffer is empty, the mark is not valid, and the requested length is at least as large as the buffer, then this method will read characters directly from the underlying stream into the given array. Thus redundant BufferedReaders will not copy data unnecessarily.

    Parameters:
    cbuf - Destination buffer
    off - Offset at which to start storing characters
    len - Maximum number of characters to read
    Returns:
    The number of bytes read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    readLine
     public String readLine() throws IOException
    
    Read a line of text. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.

    Returns:
    A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    skip
     public long skip(long n) throws IOException
    
    Skip characters.

    Parameters:
    n - The number of characters to skip
    Returns:
    The number of characters actually skipped
    Throws: IOException
    If an I/O error occurs
    Overrides:
    skip in class Reader
    ready
     public boolean ready() throws IOException
    
    Tell whether this stream is ready to be read. A buffered character stream is ready if the buffer is not empty, or if the underlying character stream is ready.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    ready in class Reader
    markSupported
     public boolean markSupported()
    
    Tell whether this stream supports the mark() operation, which it does.

    Overrides:
    markSupported in class Reader
    mark
     public void mark(int readAheadLimit) throws IOException
    
    Mark the present position in the stream. Subsequent calls to reset() will attempt to reposition the stream to this point.

    Parameters:
    readAheadLimit - Limit on the number of characters that may be read while still preserving the mark. After reading this many characters, attempting to reset the stream may fail. A limit value larger than the size of the input buffer will cause a new buffer to be allocated whose size is no smaller than limit. Therefore large values should be used with care.
    Throws: IllegalArgumentException
    If readAheadLimit is <0
    Throws: IOException
    If an I/O error occurs
    Overrides:
    mark in class Reader
    reset
     public void reset() throws IOException
    
    Reset the stream to the most recent mark.

    Throws: IOException
    If the stream has never been marked, or if the mark has been invalidated
    Overrides:
    reset in class Reader
    close
     public void close() throws IOException
    
    Close the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    close in class Reader

     k|%$/4756$P/./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.bufferedreader_mi.htm.$$ Class java.io.BufferedWriter

    Class java.io.BufferedWriter

    java.lang.Object
       |
       +----java.io.Writer
               |
               +----java.io.BufferedWriter
    

    public class BufferedWriter
    extends Writer

    Write text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings.

    The buffer size may be specified, or the default size may be accepted. The default is large enough for most purposes.

    A newLine() method is provided, which uses the platform's own notion of line separator as defined by the system property line.separator. Not all platforms use the newline character ('\n') to terminate lines. Calling this method to terminate each output line is therefore preferred to writing a newline character directly.

    In general, a Writer sends its output immediately to the underlying character or byte stream. Unless prompt output is required, it is advisable to wrap a BufferedWriter around any Writer whose write() operations may be costly, such as FileWriters and OutputStreamWriters. For example,

     PrintWriter out
       = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
     
    will buffer the PrintWriter's output to the file. Without buffering, each invocation of a print() method would cause characters to be converted into bytes that would then be written immediately to the file, which can be very inefficient.

    Since:
    JDK1.1
    See Also:
    PrintWriter, FileWriter, OutputStreamWriter

    Constructor Index

    BufferedWriter(Writer)
    Create a buffered character-output stream that uses a default-sized output buffer.
    BufferedWriter(Writer, int)
    Create a new buffered character-output stream that uses an output buffer of the given size.

    Method Index

    close()
    Close the stream.
    flush()
    Flush the stream.
    newLine()
    Write a line separator.
    write(char[], int, int)
    Write a portion of an array of characters.
    write(int)
    Write a single character.
    write(String, int, int)
    Write a portion of a String.

    Constructors

    BufferedWriter
     public BufferedWriter(Writer out)
    
    Create a buffered character-output stream that uses a default-sized output buffer.

    Parameters:
    out - A Writer
    BufferedWriter
     public BufferedWriter(Writer out,
                           int sz)
    
    Create a new buffered character-output stream that uses an output buffer of the given size.

    Parameters:
    out - A Writer
    sz - Output-buffer size, a positive integer
    Throws: IllegalArgumentException
    If sz is <= 0

    Methods

    write
     public void write(int c) throws IOException
    
    Write a single character.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    write
     public void write(char cbuf[],
                       int off,
                       int len) throws IOException
    
    Write a portion of an array of characters.

    Ordinarily this method stores characters from the given array into this stream's buffer, flushing the buffer to the underlying stream as needed. If the requested length is at least as large as the buffer, however, then this method will flush the buffer and write the characters directly to the underlying stream. Thus redundant BufferedWriters will not copy data unnecessarily.

    Parameters:
    cbuf - A character array
    off - Offset from which to start reading characters
    len - Number of characters to write
    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    write
     public void write(String s,
                       int off,
                       int len) throws IOException
    
    Write a portion of a String.

    Parameters:
    s - String to be written
    off - Offset from which to start reading characters
    len - Number of characters to be written
    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    newLine
     public void newLine() throws IOException
    
    Write a line separator. The line separator string is defined by the system property line.separator, and is not necessarily a single newline ('\n') character.

    Throws: IOException
    If an I/O error occurs
    flush
     public void flush() throws IOException
    
    Flush the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    flush in class Writer
    close
     public void close() throws IOException
    
    Close the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    close in class Writer

    ite(int kꦓ($N5756$PN./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.bufferedwriter_mi.htm.$$ Class java.io.ByteArrayInputStream

    Class java.io.ByteArrayInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.ByteArrayInputStream
    

    public class ByteArrayInputStream
    extends InputStream

    This class allows an application to create an input stream in which the bytes read are supplied by the contents of a byte array. Applications can also read bytes from a string by using a StringBufferInputStream.

    Since:
    JDK1.0
    See Also:
    StringBufferInputStream

    Variable Index

    buf
    The byte array containing the data.
    count
    The index one greater than the last valid character in the input stream buffer.
    mark
    The currently marked position in the stream.
    pos
    The index of the next character to read from the input stream buffer.

    Constructor Index

    ByteArrayInputStream(byte[])
    Creates a new byte array input stream that reads data from the specified byte array.
    ByteArrayInputStream(byte[], int, int)
    Creates a new byte array input stream that reads data from the specified byte array.

    Method Index

    available()
    Returns the number of bytes that can be read from this input stream without blocking.
    mark(int)
    Set the current marked position in the stream.
    markSupported()
    Tests if ByteArrayInputStream supports mark/reset.
    read()
    Reads the next byte of data from this input stream.
    read(byte[], int, int)
    Reads up to len bytes of data into an array of bytes from this input stream.
    reset()
    Resets the buffer to the marked position.
    skip(long)
    Skips n bytes of input from this input stream.

    Variables

    buf
     protected byte buf[]
    
    The byte array containing the data.

    pos
     protected int pos
    
    The index of the next character to read from the input stream buffer.

    mark
     protected int mark
    
    The currently marked position in the stream. ByteArrayInputStreams are marked at position zero by default when constructed. They may be marked at another position within the buffer by the mark() method. The current buffer position is set to this point by the reset() method.

    count
     protected int count
    
    The index one greater than the last valid character in the input stream buffer.


    Constructors

    ByteArrayInputStream
     public ByteArrayInputStream(byte buf[])
    
    Creates a new byte array input stream that reads data from the specified byte array. The byte array is not copied.

    Parameters:
    buf - the input buffer.
    ByteArrayInputStream
     public ByteArrayInputStream(byte buf[],
                                 int offset,
                                 int length)
    
    Creates a new byte array input stream that reads data from the specified byte array. Up to length characters are to be read from the byte array, starting at the indicated offset.

    The byte array is not copied.

    Parameters:
    buf - the input buffer.
    offset - the offset in the buffer of the first byte to read.
    length - the maximum number of bytes to read from the buffer.

    Methods

    read
     public synchronized int read()
    
    Reads the next byte of data from this input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned.

    The read method of ByteArrayInputStream cannot block.

    Returns:
    the next byte of data, or -1 if the end of the stream has been reached.
    Overrides:
    read in class InputStream
    read
     public synchronized int read(byte b[],
                                  int off,
                                  int len)
    
    Reads up to len bytes of data into an array of bytes from this input stream. This read method cannot block.

    Parameters:
    b - the buffer into which the data is read.
    off - the start offset of the data.
    len - the maximum number of bytes read.
    Returns:
    the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
    Overrides:
    read in class InputStream
    skip
     public synchronized long skip(long n)
    
    Skips n bytes of input from this input stream. Fewer bytes might be skipped if the end of the input stream is reached.

    Parameters:
    n - the number of bytes to be skipped.
    Returns:
    the actual number of bytes skipped.
    Overrides:
    skip in class InputStream
    available
     public synchronized int available()
    
    Returns the number of bytes that can be read from this input stream without blocking.

    The available method of ByteArrayInputStream returns the value of count - pos, which is the number of bytes remaining to be read from the input buffer.

    Returns:
    the number of bytes that can be read from the input stream without blocking.
    Overrides:
    available in class InputStream
    markSupported
     public boolean markSupported()
    
    Tests if ByteArrayInputStream supports mark/reset.

    Overrides:
    markSupported in class InputStream
    mark
     public void mark(int markpos)
    
    Set the current marked position in the stream. ByteArrayInputStreams are marked at position zero by default when constructed. They may be marked at another position within the buffer by this method.

    Overrides:
    mark in class InputStream
    reset
     public synchronized void reset()
    
    Resets the buffer to the marked position. The marked position is the beginning unless another position was marked.

    Overrides:
    reset in class InputStream

    a> < k&z+$75756$@.7./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.bytearrayinputstream_mi.htmtm$$ Class java.io.ByteArrayOutputStream

    Class java.io.ByteArrayOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.ByteArrayOutputStream
    

    public class ByteArrayOutputStream
    extends OutputStream

    This class implements an output stream in which the data is written into a byte array. The buffer automatically grows as data is written to it. The data can be retrieved using toByteArray() and toString().


    Variable Index

    buf
    The buffer where data is stored.
    count
    The number of valid bytes in the buffer.

    Constructor Index

    ByteArrayOutputStream()
    Creates a new byte array output stream.
    ByteArrayOutputStream(int)
    Creates a new byte array output stream, with a buffer capacity of the specified size, in bytes.

    Method Index

    reset()
    Resets the count field of this byte array output stream to zero, so that all currently accumulated output in the ouput stream is discarded.
    size()
    Returns the current size of the buffer.
    toByteArray()
    Creates a newly allocated byte array.
    toString()
    Converts the buffer's contents into a string, translating bytes into characters according to the platform's default character encoding.
    toString(int)
    Creates a newly allocated string. Deprecated.
    toString(String)
    Converts the buffer's contents into a string, translating bytes into characters according to the specified character encoding.
    write(byte[], int, int)
    Writes len bytes from the specified byte array starting at offset off to this byte array output stream.
    write(int)
    Writes the specified byte to this byte array output stream.
    writeTo(OutputStream)
    Writes the complete contents of this byte array output stream to the specified output stream argument, as if by calling the output stream's write method using out.write(buf, 0, count).

    Variables

    buf
     protected byte buf[]
    
    The buffer where data is stored.

    count
     protected int count
    
    The number of valid bytes in the buffer.


    Constructors

    ByteArrayOutputStream
     public ByteArrayOutputStream()
    
    Creates a new byte array output stream. The buffer capacity is initially 32 bytes, though its size increases if necessary.

    ByteArrayOutputStream
     public ByteArrayOutputStream(int size)
    
    Creates a new byte array output stream, with a buffer capacity of the specified size, in bytes.

    Parameters:
    size - the initial size.

    Methods

    write
     public synchronized void write(int b)
    
    Writes the specified byte to this byte array output stream.

    Parameters:
    b - the byte to be written.
    Overrides:
    write in class OutputStream
    write
     public synchronized void write(byte b[],
                                    int off,
                                    int len)
    
    Writes len bytes from the specified byte array starting at offset off to this byte array output stream.

    Parameters:
    b - the data.
    off - the start offset in the data.
    len - the number of bytes to write.
    Overrides:
    write in class OutputStream
    writeTo
     public synchronized void writeTo(OutputStream out) throws IOException
    
    Writes the complete contents of this byte array output stream to the specified output stream argument, as if by calling the output stream's write method using out.write(buf, 0, count).

    Parameters:
    out - the output stream to which to write the data.
    Throws: IOException
    if an I/O error occurs.
    reset
     public synchronized void reset()
    
    Resets the count field of this byte array output stream to zero, so that all currently accumulated output in the ouput stream is discarded. The output stream can be used again, reusing the already allocated buffer space.

    See Also:
    count
    toByteArray
     public synchronized byte[] toByteArray()
    
    Creates a newly allocated byte array. Its size is the current size of this output stream and the valid contents of the buffer have been copied into it.

    Returns:
    the current contents of this output stream, as a byte array.
    See Also:
    size
    size
     public int size()
    
    Returns the current size of the buffer.

    Returns:
    the value of the count field, which is the number of valid bytes in this output stream.
    See Also:
    count
    toString
     public String toString()
    
    Converts the buffer's contents into a string, translating bytes into characters according to the platform's default character encoding.

    Overrides:
    toString in class Object
    toString
     public String toString(String enc) throws UnsupportedEncodingException
    
    Converts the buffer's contents into a string, translating bytes into characters according to the specified character encoding.

    Parameters:
    enc - a character-encoding name.
    toString
     public String toString(int hibyte)
    
    Note: toString() is deprecated. This method does not properly convert bytes into characters. As of JDK 1.1, the preferred way to do this is via the toString(String enc) method, which takes an encoding-name argument, or the toString() method, which uses the platform's default character encoding.

    Creates a newly allocated string. Its size is the current size of the output stream and the valid contents of the buffer have been copied into it. Each character c in the resulting string is constructed from the corresponding element b in the byte array such that:
      c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))

    Parameters:
    hibyte - the high byte of each resulting Unicode character.
    Returns:
    the current contents of the output stream, as a string.
    See Also:
    size, toString, toString

    Re k|.$u5756$@5u./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.bytearrayoutputstream_mi.htmm$$ Class java.io.CharArrayReader

    Class java.io.CharArrayReader

    java.lang.Object
       |
       +----java.io.Reader
               |
               +----java.io.CharArrayReader
    

    public class CharArrayReader
    extends Reader

    This class implements a character buffer that can be used as a character-input stream.


    Variable Index

    buf
    Character buffer
    count
    Number of valid characters in buffer
    markedPos
    Position of mark in buffer
    pos
    Current buffer position

    Constructor Index

    CharArrayReader(char[])
    Create an CharArrayReader from the specified array of chars.
    CharArrayReader(char[], int, int)
    Create an CharArrayReader from the specified array of chars.

    Method Index

    close()
    Close the stream.
    mark(int)
    Mark the present position in the stream.
    markSupported()
    Tell whether this stream supports the mark() operation, which it does.
    read()
    Read a single character.
    read(char[], int, int)
    Read characters into a portion of an array.
    ready()
    Tell whether this stream is ready to be read.
    reset()
    Reset the stream to the most recent mark, or to the beginning if it has never been marked.
    skip(long)
    Skip characters.

    Variables

    buf
     protected char buf[]
    
    Character buffer

    pos
     protected int pos
    
    Current buffer position

    markedPos
     protected int markedPos
    
    Position of mark in buffer

    count
     protected int count
    
    Number of valid characters in buffer


    Constructors

    CharArrayReader
     public CharArrayReader(char buf[])
    
    Create an CharArrayReader from the specified array of chars.

    Parameters:
    buf - Input buffer (not copied)
    CharArrayReader
     public CharArrayReader(char buf[],
                            int offset,
                            int length)
    
    Create an CharArrayReader from the specified array of chars.

    Parameters:
    buf - Input buffer (not copied)
    offset - Offset of the first char to read
    length - Number of chars to read

    Methods

    read
     public int read() throws IOException
    
    Read a single character.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    read
     public int read(char b[],
                     int off,
                     int len) throws IOException
    
    Read characters into a portion of an array.

    Parameters:
    b - Destination buffer
    off - Offset at which to start storing characters
    len - Maximum number of characters to read
    Returns:
    The actual number of characters read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    skip
     public long skip(long n) throws IOException
    
    Skip characters.

    Parameters:
    n - The number of characters to skip
    Returns:
    The number of characters actually skipped
    Throws: IOException
    If an I/O error occurs
    Overrides:
    skip in class Reader
    ready
     public boolean ready() throws IOException
    
    Tell whether this stream is ready to be read. Character-array readers are always ready to be read.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    ready in class Reader
    markSupported
     public boolean markSupported()
    
    Tell whether this stream supports the mark() operation, which it does.

    Overrides:
    markSupported in class Reader
    mark
     public void mark(int readAheadLimit) throws IOException
    
    Mark the present position in the stream. Subsequent calls to reset() will reposition the stream to this point.

    Parameters:
    readAheadLimit - Limit on the number of characters that may be read while still preserving the mark. Because the stream's input comes from a character array, there is no actual limit; hence this argument is ignored.
    Throws: IOException
    If an I/O error occurs
    Overrides:
    mark in class Reader
    reset
     public void reset() throws IOException
    
    Reset the stream to the most recent mark, or to the beginning if it has never been marked.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    reset in class Reader
    close
     public void close()
    
    Close the stream.

    Overrides:
    close in class Reader

     k1$36756$@i3./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.chararrayreader_mi.htm$$ Class java.io.CharArrayWriter

    Class java.io.CharArrayWriter

    java.lang.Object
       |
       +----java.io.Writer
               |
               +----java.io.CharArrayWriter
    

    public class CharArrayWriter
    extends Writer

    This class implements a character buffer that can be used as an Writer. The buffer automatically grows when data is written to the stream. The data can be retrieved using toCharArray() and toString().


    Variable Index

    buf
    The buffer where data is stored.
    count
    The number of chars in the buffer.

    Constructor Index

    CharArrayWriter()
    Creates a new CharArrayWriter.
    CharArrayWriter(int)
    Creates a new CharArrayWriter with the specified initial size.

    Method Index

    close()
    Close the stream.
    flush()
    Flush the stream.
    reset()
    Resets the buffer so that you can use it again without throwing away the already allocated buffer.
    size()
    Returns the current size of the buffer.
    toCharArray()
    Returns a copy of the input data.
    toString()
    Converts input data to a string.
    write(char[], int, int)
    Writes characters to the buffer.
    write(int)
    Writes a character to the buffer.
    write(String, int, int)
    Write a portion of a string to the buffer.
    writeTo(Writer)
    Writes the contents of the buffer to another character stream.

    Variables

    buf
     protected char buf[]
    
    The buffer where data is stored.

    count
     protected int count
    
    The number of chars in the buffer.


    Constructors

    CharArrayWriter
     public CharArrayWriter()
    
    Creates a new CharArrayWriter.

    CharArrayWriter
     public CharArrayWriter(int initialSize)
    
    Creates a new CharArrayWriter with the specified initial size.


    Methods

    write
     public void write(int c)
    
    Writes a character to the buffer.

    Overrides:
    write in class Writer
    write
     public void write(char c[],
                       int off,
                       int len)
    
    Writes characters to the buffer.

    Parameters:
    c - the data to be written
    off - the start offset in the data
    len - the number of chars that are written
    Overrides:
    write in class Writer
    write
     public void write(String str,
                       int off,
                       int len)
    
    Write a portion of a string to the buffer.

    Parameters:
    str - String to be written from
    off - Offset from which to start reading characters
    len - Number of characters to be written
    Overrides:
    write in class Writer
    writeTo
     public void writeTo(Writer out) throws IOException
    
    Writes the contents of the buffer to another character stream.

    Parameters:
    out - the output stream to write to
    reset
     public void reset()
    
    Resets the buffer so that you can use it again without throwing away the already allocated buffer.

    toCharArray
     public char[] toCharArray()
    
    Returns a copy of the input data.

    size
     public int size()
    
    Returns the current size of the buffer.

    toString
     public String toString()
    
    Converts input data to a string.

    Returns:
    the string.
    Overrides:
    toString in class Object
    flush
     public void flush()
    
    Flush the stream.

    Overrides:
    flush in class Writer
    close
     public void close()
    
    Close the stream. This method does not release the buffer, since its contents might still be required.

    Overrides:
    close in class Writer

     kG4$S6756$@S./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.chararraywriter_mi.htm$$ Class java.io.CharConversionException

    Class java.io.CharConversionException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.CharConversionException
    

    public class CharConversionException
    extends IOException

    base class for character conversion exceptions


    Constructor Index

    CharConversionException()
    provides no detailed message
    CharConversionException(String)
    provides a detailed message

    Constructors

    CharConversionException
     public CharConversionException()
    
    provides no detailed message

    CharConversionException
     public CharConversionException(String s)
    
    provides a detailed message

    Parameters:
    s - detailed message

    u kxi7$6756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.charconversionexception_mi.htm$$ Interface java.io.DataInput

    Interface java.io.DataInput

    public interface DataInput

    The data input interface is implemented by streams that can read primitive Java data types from a stream in a machine-independent manner.

    Since:
    JDK1.0
    See Also:
    DataInputStream, DataOutput

    Method Index

    readBoolean()
    Reads a boolean value from the input stream.
    readByte()
    Reads a signed 8-bit value from the input stream.
    readChar()
    Reads a Unicode char value from the input stream.
    readDouble()
    Reads a double value from the input stream.
    readFloat()
    Reads a float value from the input stream.
    readFully(byte[])
    Reads b.length bytes into the byte array.
    readFully(byte[], int, int)
    Reads b.length bytes into the byte array.
    readInt()
    Reads an int value from the input stream.
    readLine()
    Reads the next line of text from the input stream.
    readLong()
    Reads a long value from the input stream.
    readShort()
    Reads a 16-bit value from the input stream.
    readUnsignedByte()
    Reads an unsigned 8-bit value from the input stream.
    readUnsignedShort()
    Reads an unsigned 16-bit value from the input stream.
    readUTF()
    Reads in a string that has been encoded using a modified UTF-8 format.
    skipBytes(int)
    Skips exactly n bytes of input.

    Methods

    readFully
     public abstract void readFully(byte b[]) throws IOException
    
    Reads b.length bytes into the byte array. This method blocks until all the bytes are read.

    Parameters:
    b - the buffer into which the data is read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readFully
     public abstract void readFully(byte b[],
                                    int off,
                                    int len) throws IOException
    
    Reads b.length bytes into the byte array. This method blocks until all the bytes are read.

    Parameters:
    b - the buffer into which the data is read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    skipBytes
     public abstract int skipBytes(int n) throws IOException
    
    Skips exactly n bytes of input.

    Parameters:
    n - the number of bytes to be skipped.
    Returns:
    the number of bytes skipped, which is always n.
    Throws: EOFException
    if this stream reaches the end before skipping all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readBoolean
     public abstract boolean readBoolean() throws IOException
    
    Reads a boolean value from the input stream.

    Returns:
    the boolean value read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readByte
     public abstract byte readByte() throws IOException
    
    Reads a signed 8-bit value from the input stream.

    Returns:
    the 8-bit value read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readUnsignedByte
     public abstract int readUnsignedByte() throws IOException
    
    Reads an unsigned 8-bit value from the input stream.

    Returns:
    the unsigned 8-bit value read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readShort
     public abstract short readShort() throws IOException
    
    Reads a 16-bit value from the input stream.

    Returns:
    the 16-bit value read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readUnsignedShort
     public abstract int readUnsignedShort() throws IOException
    
    Reads an unsigned 16-bit value from the input stream.

    Returns:
    the unsigned 16-bit value read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readChar
     public abstract char readChar() throws IOException
    
    Reads a Unicode char value from the input stream.

    Returns:
    the Unicode char read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readInt
     public abstract int readInt() throws IOException
    
    Reads an int value from the input stream.

    Returns:
    the int value read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readLong
     public abstract long readLong() throws IOException
    
    Reads a long value from the input stream.

    Returns:
    the long value read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readFloat
     public abstract float readFloat() throws IOException
    
    Reads a float value from the input stream.

    Returns:
    the float value read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readDouble
     public abstract double readDouble() throws IOException
    
    Reads a double value from the input stream.

    Returns:
    the double value read.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readLine
     public abstract String readLine() throws IOException
    
    Reads the next line of text from the input stream.

    Returns:
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    readUTF
     public abstract String readUTF() throws IOException
    
    Reads in a string that has been encoded using a modified UTF-8 format.

    For an exact description of this method, see the discussion in Gosling, Joy, and Steele, The Java Language Specification.

    Returns:
    a Unicode string.
    Throws: EOFException
    if this stream reaches the end before reading all the bytes.
    Throws: IOException
    if an I/O error occurs.
    Throws: UTFDataFormatException
    if the bytes do not represent a valid UTF-8 encoding of a string.

    b> k:$=6756$@=./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.datainput_mi.htmption_$$ Interface java.io.DataOutput

    Interface java.io.DataOutput

    public interface DataOutput

    The data output interface is implemented by streams that can write primitive Java data types to an output stream in a machine-independent manner.

    Since:
    JDK1.0
    See Also:
    DataInput, DataOutputStream

    Method Index

    write(byte[])
    Writes b.length bytes from the specified byte array to this output stream.
    write(byte[], int, int)
    Writes len bytes from the specified byte array starting at offset off to this output stream.
    write(int)
    Writes the specified byte to this data output stream.
    writeBoolean(boolean)
    Writes a boolean value to this output stream.
    writeByte(int)
    Writes an 8-bit value to this output stream.
    writeBytes(String)
    Writes a string to this output stream.
    writeChar(int)
    Writes a char value to this output stream.
    writeChars(String)
    Writes a string to this output stream.
    writeDouble(double)
    Writes a double value to this output stream.
    writeFloat(float)
    Writes a float value to this output stream.
    writeInt(int)
    Writes an int value to this output stream.
    writeLong(long)
    Writes a long value to this output stream.
    writeShort(int)
    Writes a 16-bit value to this output stream.
    writeUTF(String)
    Writes a Unicode string by encoding it using modified UTF-8 format.

    Methods

    write
     public abstract void write(int b) throws IOException
    
    Writes the specified byte to this data output stream.

    Parameters:
    b - the byte to be written.
    Throws: IOException
    if an I/O error occurs.
    write
     public abstract void write(byte b[]) throws IOException
    
    Writes b.length bytes from the specified byte array to this output stream.

    Parameters:
    b - the data.
    Throws: IOException
    if an I/O error occurs.
    write
     public abstract void write(byte b[],
                                int off,
                                int len) throws IOException
    
    Writes len bytes from the specified byte array starting at offset off to this output stream.

    Parameters:
    b - the data.
    off - the start offset in the data.
    len - the number of bytes to write.
    Throws: IOException
    if an I/O error occurs.
    writeBoolean
     public abstract void writeBoolean(boolean v) throws IOException
    
    Writes a boolean value to this output stream.

    Parameters:
    v - the boolean to be written.
    Throws: IOException
    if an I/O error occurs.
    writeByte
     public abstract void writeByte(int v) throws IOException
    
    Writes an 8-bit value to this output stream.

    Parameters:
    v - the byte value to be written.
    Throws: IOException
    if an I/O error occurs.
    writeShort
     public abstract void writeShort(int v) throws IOException
    
    Writes a 16-bit value to this output stream.

    Parameters:
    v - the short value to be written.
    Throws: IOException
    if an I/O error occurs.
    writeChar
     public abstract void writeChar(int v) throws IOException
    
    Writes a char value to this output stream.

    Parameters:
    v - the char value to be written.
    Throws: IOException
    if an I/O error occurs.
    writeInt
     public abstract void writeInt(int v) throws IOException
    
    Writes an int value to this output stream.

    Parameters:
    v - the int value to be written.
    Throws: IOException
    if an I/O error occurs.
    writeLong
     public abstract void writeLong(long v) throws IOException
    
    Writes a long value to this output stream.

    Parameters:
    v - the long value to be written.
    Throws: IOException
    if an I/O error occurs.
    writeFloat
     public abstract void writeFloat(float v) throws IOException
    
    Writes a float value to this output stream.

    Parameters:
    v - the float value to be written.
    Throws: IOException
    if an I/O error occurs.
    writeDouble
     public abstract void writeDouble(double v) throws IOException
    
    Writes a double value to this output stream.

    Parameters:
    v - the double value to be written.
    Throws: IOException
    if an I/O error occurs.
    writeBytes
     public abstract void writeBytes(String s) throws IOException
    
    Writes a string to this output stream.

    Parameters:
    s - the string of bytes to be written.
    Throws: IOException
    if an I/O error occurs.
    writeChars
     public abstract void writeChars(String s) throws IOException
    
    Writes a string to this output stream.

    Parameters:
    s - the string value to be written.
    Throws: IOException
    if an I/O error occurs.
    writeUTF
     public abstract void writeUTF(String str) throws IOException
    
    Writes a Unicode string by encoding it using modified UTF-8 format.

    Parameters:
    str - the string value to be written.
    Throws: IOException
    if an I/O error occurs.

    l> k@$^7756$@^./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.dataoutput_mi.htmhtm$$ Class java.io.EOFException

    Class java.io.EOFException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.EOFException
    

    public class EOFException
    extends IOException

    Signals that an end of file or end of stream has been reached unexpectedly during input.

    This exception is mainly used by data input streams, which generally expect a binary file in a specific format, and for which an end of stream is an unusual condition. Most other input streams return a special value on end of stream.

    Since:
    JDK1.0
    See Also:
    DataInputStream, IOException

    Constructor Index

    EOFException()
    Constructs an EOFException with no detail message.
    EOFException(String)
    Constructs an EOFException with the specified detail message.

    Constructors

    EOFException
     public EOFException()
    
    Constructs an EOFException with no detail message.

    EOFException
     public EOFException(String s)
    
    Constructs an EOFException with the specified detail message.

    Parameters:
    s - the detail message.

    q0 kVF$8756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.eofexception_mi.htmtm$$ Interface java.io.Externalizable

    Interface java.io.Externalizable

    public interface Externalizable
    extends Serializable

    Externalization allows a class to specify the methods to be used to write the object's contents to a stream and to read them back. The Externalizable interface's writeExternal and readExternal methods are implemented by a class to give the class complete control over the format and contents of the stream for an object and its supertypes. These methods must explicitly coordinate with the supertype to save its state.
    Object Serialization uses the Serializable and Externalizable interfaces. Object persistence mechanisms may use them also. Each object to be stored is tested for the Externalizable interface. If the object supports it, the writeExternal method is called. If the object does not support Externalizable and does implement Serializable the object should be saved using ObjectOutputStream.
    When an Externalizable object is to be reconstructed, an instance is created using the public no-arg constructor and the readExternal method called. Serializable objects are restored by reading them from an ObjectInputStream.

    Since:
    JDK1.1
    See Also:
    ObjectOutputStream, ObjectInputStream, ObjectOutput, ObjectInput, Serializable

    Method Index

    readExternal(ObjectInput)
    The object implements the readExternal method to restore its contents by calling the methods of DataInput for primitive types and readObject for objects, strings and arrays.
    writeExternal(ObjectOutput)
    The object implements the writeExternal method to save its contents by calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings and arrays.

    Methods

    writeExternal
     public abstract void writeExternal(ObjectOutput out) throws IOException
    
    The object implements the writeExternal method to save its contents by calling the methods of DataOutput for its primitive values or calling the writeObject method of ObjectOutput for objects, strings and arrays.

    Throws: IOException
    Includes any I/O exceptions that may occur
    readExternal
     public abstract void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
    
    The object implements the readExternal method to restore its contents by calling the methods of DataInput for primitive types and readObject for objects, strings and arrays. The readExternal method must read the values in the same sequence and with the same types as were written by writeExternal.

    Throws: ClassNotFoundException
    If the class for an object being restored cannot be found.

    ar k8I$8756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.externalizable_mi.htm$$ Class java.io.FileDescriptor

    Class java.io.FileDescriptor

    java.lang.Object
       |
       +----java.io.FileDescriptor
    

    public final class FileDescriptor
    extends Object

    Instances of the file descriptor class serve as an opaque handle to the underlying machine-specific structure representing an open file or an open socket.

    Applications should not create their own file descriptors.

    Since:
    JDK1.0
    See Also:
    FileInputStream, FileOutputStream, SocketInputStream, SocketOutputStream

    Variable Index

    err
    A handle to the standard error stream.
    in
    A handle to the standard input stream.
    out
    A handle to the standard output stream.

    Constructor Index

    FileDescriptor()

    Method Index

    sync()
    Force all system buffers to synchronize with the underlying device.
    valid()
    Tests if this file descriptor object is valid.

    Variables

    in
     public static final FileDescriptor in
    
    A handle to the standard input stream.

    out
     public static final FileDescriptor out
    
    A handle to the standard output stream.

    err
     public static final FileDescriptor err
    
    A handle to the standard error stream.


    Constructors

    FileDescriptor
     public FileDescriptor()
    

    Methods

    valid
     public native boolean valid()
    
    Tests if this file descriptor object is valid.

    Returns:
    true if the file descriptor object represents a valid, open file or socket; false otherwise.
    sync
     public native void sync() throws SyncFailedException
    
    Force all system buffers to synchronize with the underlying device. This method returns after all modified data and attributes of this FileDescriptor have been written to the relevant device(s). In particular, if this FileDescriptor refers to a physical storage medium, such as a file in a file system, sync will not return until all in-memory modified copies of buffers associated with this FileDesecriptor have been written to the physical medium. sync is meant to be used by code that requires physical storage (such as a file) to be in a known state For example, a class that provided a simple transaction facility might use sync to ensure that all changes to a file caused by a given transaction were recorded on a storage medium. sync only affects buffers downstream of this FileDescriptor. If any in-memory buffering is being done by the application (for example, by a BufferedOutputStream object), those buffers must be flushed into the FileDescriptor (for example, by invoking OutputStream.flush) before that data will be affected by sync.

    Throws: SyncFailedException
    Thrown when the buffers cannot be flushed, or because the system cannot guarantee that all the buffers have been synchronized with physical media.

    _dsc.h k꺣O$ 9756$` ./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.filedescriptor_mi.htm$$ Class java.io.FileInputStream

    Class java.io.FileInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FileInputStream
    

    public class FileInputStream
    extends InputStream

    A file input stream is an input stream for reading data from a File or from a FileDescriptor.

    Since:
    JDK1.0
    See Also:
    File, FileDescriptor, FileOutputStream

    Constructor Index

    FileInputStream(File)
    Creates an input file stream to read from the specified File object.
    FileInputStream(FileDescriptor)
    Creates an input file stream to read from the specified file descriptor.
    FileInputStream(String)
    Creates an input file stream to read from a file with the specified name.

    Method Index

    available()
    Returns the number of bytes that can be read from this file input stream without blocking.
    close()
    Closes this file input stream and releases any system resources associated with the stream.
    finalize()
    Ensures that the close method of this file input stream is called when there are no more references to it.
    getFD()
    Returns the opaque file descriptor object associated with this stream.
    read()
    Reads a byte of data from this input stream.
    read(byte[])
    Reads up to b.length bytes of data from this input stream into an array of bytes.
    read(byte[], int, int)
    Reads up to len bytes of data from this input stream into an array of bytes.
    skip(long)
    Skips over and discards n bytes of data from the input stream.

    Constructors

    FileInputStream
     public FileInputStream(String name) throws FileNotFoundException
    
    Creates an input file stream to read from a file with the specified name.

    Parameters:
    name - the system-dependent file name.
    Throws: FileNotFoundException
    if the file is not found.
    Throws: SecurityException
    if a security manager exists, its checkRead method is called with the name argument to see if the application is allowed read access to the file.
    See Also:
    checkRead
    FileInputStream
     public FileInputStream(File file) throws FileNotFoundException
    
    Creates an input file stream to read from the specified File object.

    Parameters:
    file - the file to be opened for reading.
    Throws: FileNotFoundException
    if the file is not found.
    Throws: SecurityException
    if a security manager exists, its checkRead method is called with the pathname of this File argument to see if the application is allowed read access to the file.
    See Also:
    getPath, checkRead
    FileInputStream
     public FileInputStream(FileDescriptor fdObj)
    
    Creates an input file stream to read from the specified file descriptor.

    Parameters:
    fdObj - the file descriptor to be opened for reading.
    Throws: SecurityException
    if a security manager exists, its checkRead method is called with the file descriptor to see if the application is allowed to read from the specified file descriptor.
    See Also:
    checkRead

    Methods

    read
     public native int read() throws IOException
    
    Reads a byte of data from this input stream. This method blocks if no input is yet available.

    Returns:
    the next byte of data, or -1 if the end of the file is reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class InputStream
    read
     public int read(byte b[]) throws IOException
    
    Reads up to b.length bytes of data from this input stream into an array of bytes. This method blocks until some input is available.

    Parameters:
    b - the buffer into which the data is read.
    Returns:
    the total number of bytes read into the buffer, or -1 if there is no more data because the end of the file has been reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class InputStream
    read
     public int read(byte b[],
                     int off,
                     int len) throws IOException
    
    Reads up to len bytes of data from this input stream into an array of bytes. This method blocks until some input is available.

    Parameters:
    b - the buffer into which the data is read.
    off - the start offset of the data.
    len - the maximum number of bytes read.
    Returns:
    the total number of bytes read into the buffer, or -1 if there is no more data because the end of the file has been reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class InputStream
    skip
     public native long skip(long n) throws IOException
    
    Skips over and discards n bytes of data from the input stream. The skip method may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly 0. The actual number of bytes skipped is returned.

    Parameters:
    n - the number of bytes to be skipped.
    Returns:
    the actual number of bytes skipped.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    skip in class InputStream
    available
     public native int available() throws IOException
    
    Returns the number of bytes that can be read from this file input stream without blocking.

    Returns:
    the number of bytes that can be read from this file input stream without blocking.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    available in class InputStream
    close
     public native void close() throws IOException
    
    Closes this file input stream and releases any system resources associated with the stream.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    close in class InputStream
    getFD
     public final FileDescriptor getFD() throws IOException
    
    Returns the opaque file descriptor object associated with this stream.

    Returns:
    the file descriptor object associated with this stream.
    Throws: IOException
    if an I/O error occurs.
    See Also:
    FileDescriptor
    finalize
     protected void finalize() throws IOException
    
    Ensures that the close method of this file input stream is called when there are no more references to it.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    finalize in class Object
    See Also:
    close

    /a>  kꘀR$i9756$Pi./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.fileinputstream_mi.htm$$ Interface java.io.FilenameFilter

    Interface java.io.FilenameFilter

    public interface FilenameFilter

    Instances of classes that implement this interface are used to filter filenames. These instances are used to filter directory listings in the list method of class File, and by the Abstract Window Toolkit's file dialog component.

    Since:
    JDK1.0
    See Also:
    setFilenameFilter, File, list

    Method Index

    accept(File, String)
    Tests if a specified file should be included in a file list.

    Methods

    accept
     public abstract boolean accept(File dir,
                                    String name)
    
    Tests if a specified file should be included in a file list.

    Parameters:
    dir - the directory in which the file was found.
    name - the name of the file.
    Returns:
    true if the name should be included in the file list; false otherwise.

     kU$q9756$pq./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.filenamefilter_mi.htm$$ Class java.io.FileNotFoundException

    Class java.io.FileNotFoundException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.FileNotFoundException
    

    public class FileNotFoundException
    extends IOException

    Signals that a file could not be found.


    Constructor Index

    FileNotFoundException()
    Constructs a FileNotFoundException with no detail message.
    FileNotFoundException(String)
    Constructs a FileNotFoundException with the specified detail message.

    Constructors

    FileNotFoundException
     public FileNotFoundException()
    
    Constructs a FileNotFoundException with no detail message.

    FileNotFoundException
     public FileNotFoundException(String s)
    
    Constructs a FileNotFoundException with the specified detail message.

    Parameters:
    s - the detail message.

    htm kꈋX$9756$`~./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.filenotfoundexception_mi.htm$$ Class java.io.FileOutputStream

    Class java.io.FileOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.FileOutputStream
    

    public class FileOutputStream
    extends OutputStream

    A file output stream is an output stream for writing data to a File or to a FileDescriptor.

    Since:
    JDK1.0
    See Also:
    File, FileDescriptor, FileInputStream

    Constructor Index

    FileOutputStream(File)
    Creates a file output stream to write to the specified File object.
    FileOutputStream(FileDescriptor)
    Creates an output file stream to write to the specified file descriptor.
    FileOutputStream(String)
    Creates an output file stream to write to the file with the specified name.
    FileOutputStream(String, boolean)
    Creates an output file with the specified system dependent file name.

    Method Index

    close()
    Closes this file output stream and releases any system resources associated with this stream.
    finalize()
    Ensures that the close method of this file output stream is called when there are no more references to this stream.
    getFD()
    Returns the file descriptor associated with this stream.
    write(byte[])
    Writes b.length bytes from the specified byte array to this file output stream.
    write(byte[], int, int)
    Writes len bytes from the specified byte array starting at offset off to this file output stream.
    write(int)
    Writes the specified byte to this file output stream.

    Constructors

    FileOutputStream
     public FileOutputStream(String name) throws IOException
    
    Creates an output file stream to write to the file with the specified name.

    Parameters:
    name - the system-dependent filename.
    Throws: IOException
    if the file could not be opened for writing.
    Throws: SecurityException
    if a security manager exists, its checkWrite method is called with the name argument to see if the application is allowed write access to the file.
    See Also:
    checkWrite
    FileOutputStream
     public FileOutputStream(String name,
                             boolean append) throws IOException
    
    Creates an output file with the specified system dependent file name.

    Parameters:
    name - the system dependent file name
    Throws: IOException
    If the file is not found.
    FileOutputStream
     public FileOutputStream(File file) throws IOException
    
    Creates a file output stream to write to the specified File object.

    Parameters:
    file - the file to be opened for writing.
    Throws: IOException
    if the file could not be opened for writing.
    Throws: SecurityException
    if a security manager exists, its checkWrite method is called with the pathname of the File argument to see if the application is allowed write access to the file. This may result in a security exception.
    See Also:
    getPath, SecurityException, checkWrite
    FileOutputStream
     public FileOutputStream(FileDescriptor fdObj)
    
    Creates an output file stream to write to the specified file descriptor.

    Parameters:
    fdObj - the file descriptor to be opened for writing.
    Throws: SecurityException
    if a security manager exists, its checkWrite method is called with the file descriptor to see if the application is allowed to write to the specified file descriptor.
    See Also:
    checkWrite

    Methods

    write
     public native void write(int b) throws IOException
    
    Writes the specified byte to this file output stream.

    Parameters:
    b - the byte to be written.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class OutputStream
    write
     public void write(byte b[]) throws IOException
    
    Writes b.length bytes from the specified byte array to this file output stream.

    Parameters:
    b - the data.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class OutputStream
    write
     public void write(byte b[],
                       int off,
                       int len) throws IOException
    
    Writes len bytes from the specified byte array starting at offset off to this file output stream.

    Parameters:
    b - the data.
    off - the start offset in the data.
    len - the number of bytes to write.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class OutputStream
    close
     public native void close() throws IOException
    
    Closes this file output stream and releases any system resources associated with this stream.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    close in class OutputStream
    getFD
     public final FileDescriptor getFD() throws IOException
    
    Returns the file descriptor associated with this stream.

    Returns:
    the file descriptor object associated with this stream.
    Throws: IOException
    if an I/O error occurs.
    See Also:
    FileDescriptor
    finalize
     protected void finalize() throws IOException
    
    Ensures that the close method of this file output stream is called when there are no more references to this stream.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    finalize in class Object
    See Also:
    close

    utpu k[$b:756$Pb./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.fileoutputstream_mi.htm$$ Class java.io.FileReader

    Class java.io.FileReader

    java.lang.Object
       |
       +----java.io.Reader
               |
               +----java.io.InputStreamReader
                       |
                       +----java.io.FileReader
    

    public class FileReader
    extends InputStreamReader

    Convenience class for reading character files. The constructors of this class assume that the default character encoding and the default byte-buffer size are appropriate. To specify these values yourself, construct an InputStreamReader on a FileInputStream.

    Since:
    JDK1.1
    See Also:
    InputStreamReader, FileInputStream

    Constructor Index

    FileReader(File)
    FileReader(FileDescriptor)
    FileReader(String)

    Constructors

    FileReader
     public FileReader(String fileName) throws FileNotFoundException
    
    FileReader
     public FileReader(File file) throws FileNotFoundException
    
    FileReader
     public FileReader(FileDescriptor fd)
    

     kh^$H:756$`H./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.filereader_mi.htm.htm$$ Class java.io.FileWriter

    Class java.io.FileWriter

    java.lang.Object
       |
       +----java.io.Writer
               |
               +----java.io.OutputStreamWriter
                       |
                       +----java.io.FileWriter
    

    public class FileWriter
    extends OutputStreamWriter

    Convenience class for writing character files. The constructors of this class assume that the default character encoding and the default byte-buffer size are acceptable. To specify these values yourself, construct an OutputStreamWriter on a FileOutputStream.

    Since:
    JDK1.1
    See Also:
    OutputStreamWriter, FileOutputStream

    Constructor Index

    FileWriter(File)
    FileWriter(FileDescriptor)
    FileWriter(String)
    FileWriter(String, boolean)

    Constructors

    FileWriter
     public FileWriter(String fileName) throws IOException
    
    FileWriter
     public FileWriter(String fileName,
                       boolean append) throws IOException
    
    FileWriter
     public FileWriter(File file) throws IOException
    
    FileWriter
     public FileWriter(FileDescriptor fd)
    

    ">Outp kna$:756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.filewriter_mi.htm.htm$$ Class java.io.FilterInputStream

    Class java.io.FilterInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
    

    public class FilterInputStream
    extends InputStream
    super class of:
    BufferedInputStream, CheckedInputStream, DataInputStream, DigestInputStream, InflaterInputStream, LineNumberInputStream, PushbackInputStream

    This class is the superclass of all classes that filter input streams. These streams sit on top of an already existing input stream (the underlying input stream), but provide additional functionality.

    The class FilterInputStream itself simply overrides all methods of InputStream with versions that pass all requests to the underlying input stream. Subclasses of FilterInputStream may further override some of these methods as well as provide additional methods and fields.


    Variable Index

    in
    The underlying input stream.

    Constructor Index

    FilterInputStream(InputStream)
    Creates an input stream filter built on top of the specified input stream.

    Method Index

    available()
    Returns the number of bytes that can be read from this input stream without blocking.
    close()
    Closes this input stream and releases any system resources associated with the stream.
    mark(int)
    Marks the current position in this input stream.
    markSupported()
    Tests if this input stream supports the mark and reset methods.
    read()
    Reads the next byte of data from this input stream.
    read(byte[])
    Reads up to byte.length bytes of data from this input stream into an array of bytes.
    read(byte[], int, int)
    Reads up to len bytes of data from this input stream into an array of bytes.
    reset()
    Repositions this stream to the position at the time the mark method was last called on this input stream.
    skip(long)
    Skips over and discards n bytes of data from the input stream.

    Variables

    in
     protected InputStream in
    
    The underlying input stream.


    Constructors

    FilterInputStream
     protected FilterInputStream(InputStream in)
    
    Creates an input stream filter built on top of the specified input stream.

    Parameters:
    in - the underlying input stream.

    Methods

    read
     public int read() throws IOException
    
    Reads the next byte of data from this input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

    The read method of FilterInputStream calls the read method of its underlying input stream and returns whatever value that method returns.

    Returns:
    the next byte of data, or -1 if the end of the stream is reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class InputStream
    See Also:
    in
    read
     public int read(byte b[]) throws IOException
    
    Reads up to byte.length bytes of data from this input stream into an array of bytes. This method blocks until some input is available.

    The read method of FilterInputStream calls the read method of three arguments with the arguments b, 0, and b.length, and returns whatever value that method returns.

    Note that this method does not call the one-argument read method of its underlying stream with the single argument b. Subclasses of FilterInputStream do not need to override this method if they have overridden the three-argument read method.

    Parameters:
    b - the buffer into which the data is read.
    Returns:
    the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class InputStream
    See Also:
    read
    read
     public int read(byte b[],
                     int off,
                     int len) throws IOException
    
    Reads up to len bytes of data from this input stream into an array of bytes. This method blocks until some input is available.

    The read method of FilterInputStream calls the read method of its underlying input stream with the same arguments and returns whatever value that method returns.

    Parameters:
    b - the buffer into which the data is read.
    off - the start offset of the data.
    len - the maximum number of bytes read.
    Returns:
    the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class InputStream
    See Also:
    in
    skip
     public long skip(long n) throws IOException
    
    Skips over and discards n bytes of data from the input stream. The skip method may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly 0. The actual number of bytes skipped is returned.

    The skip method of FilterInputStream calls the skip method of its underlying input stream with the same argument, and returns whatever value that method does.

    Parameters:
    n - the number of bytes to be skipped.
    Returns:
    the actual number of bytes skipped.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    skip in class InputStream
    available
     public int available() throws IOException
    
    Returns the number of bytes that can be read from this input stream without blocking.

    The available method of FilterInputStream calls the available method of its underlying input stream and returns whatever value that method returns.

    Returns:
    the number of bytes that can be read from the input stream without blocking.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    available in class InputStream
    See Also:
    in
    close
     public void close() throws IOException
    
    Closes this input stream and releases any system resources associated with the stream. The close method of FilterInputStream calls the close method of its underlying input stream.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    close in class InputStream
    See Also:
    in
    mark
     public synchronized void mark(int readlimit)
    
    Marks the current position in this input stream. A subsequent call to the reset method repositions this stream at the last marked position so that subsequent reads re-read the same bytes.

    The readlimit argument tells this input stream to allow that many bytes to be read before the mark position gets invalidated.

    The mark method of FilterInputStream calls the mark method of its underlying input stream with the readlimit argument.

    Parameters:
    readlimit - the maximum limit of bytes that can be read before the mark position becomes invalid.
    Overrides:
    mark in class InputStream
    See Also:
    in, reset
    reset
     public synchronized void reset() throws IOException
    
    Repositions this stream to the position at the time the mark method was last called on this input stream.

    The reset method of FilterInputStream calls the reset method of its underlying input stream.

    Stream marks are intended to be used in situations where you need to read ahead a little to see what's in the stream. Often this is most easily done by invoking some general parser. If the stream is of the type handled by the parse, it just chugs along happily. If the stream is not of that type, the parser should toss an exception when it fails. If this happens within readlimit bytes, it allows the outer code to reset the stream and try another parser.

    Throws: IOException
    if the stream has not been marked or if the mark has been invalidated.
    Overrides:
    reset in class InputStream
    See Also:
    in, mark
    markSupported
     public boolean markSupported()
    
    Tests if this input stream supports the mark and reset methods. The markSupported method of FilterInputStream calls the markSupported method of its underlying input stream and returns whatever value that method returns.

    Returns:
    true if this stream type supports the mark and reset method; false otherwise.
    Overrides:
    markSupported in class InputStream
    See Also:
    in, mark, reset

    S kd$I;756$P;I./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.filterinputstream_mi.htmtm$$ Class java.io.FilterOutputStream

    Class java.io.FilterOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.FilterOutputStream
    

    public class FilterOutputStream
    extends OutputStream
    super class of:
    BufferedOutputStream, CheckedOutputStream, DataOutputStream, DeflaterOutputStream, DigestOutputStream, PrintStream

    This class is the superclass of all classes that filter output streams. These streams sit on top of an already existing output stream (the underlying output stream), but provide additional functionality.

    The class FilterOutputStream itself simply overrides all methods of OutputStream with versions that pass all requests to the underlying output stream. Subclasses of FilterOutputStream may further override some of these methods as well as provide additional methods and fields.


    Variable Index

    out
    The underlying output stream.

    Constructor Index

    FilterOutputStream(OutputStream)
    Creates an output stream filter built on top of the specified underlying output stream.

    Method Index

    close()
    Closes this output stream and releases any system resources associated with the stream.
    flush()
    Flushes this output stream and forces any buffered output bytes to be written out to the stream.
    write(byte[])
    Writes b.length bytes to this output stream.
    write(byte[], int, int)
    Writes len bytes from the specified byte array starting at offset off to this output stream.
    write(int)
    Writes the specified byte to this output stream.

    Variables

    out
     protected OutputStream out
    
    The underlying output stream.


    Constructors

    FilterOutputStream
     public FilterOutputStream(OutputStream out)
    
    Creates an output stream filter built on top of the specified underlying output stream.

    Parameters:
    out - the underlying output stream.

    Methods

    write
     public void write(int b) throws IOException
    
    Writes the specified byte to this output stream.

    The write method of FilterOutputStream calls the write method of its underlying output stream.

    Parameters:
    b - the byte.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class OutputStream
    write
     public void write(byte b[]) throws IOException
    
    Writes b.length bytes to this output stream.

    The write method of FilterOutputStream calls its write method of three arguments with the arguments b, 0, and b.length.

    Note that this method does not call the one-argument write method of its underlying stream with the single argument b.

    Parameters:
    b - the data to be written.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class OutputStream
    See Also:
    write
    write
     public void write(byte b[],
                       int off,
                       int len) throws IOException
    
    Writes len bytes from the specified byte array starting at offset off to this output stream.

    The write method of FilterOutputStream calls the write method of one argument on each byte to output.

    Note that this method does not call the write method of its underlying input stream with the same arguments. Subclasses of FilterOutputStream should provide a more efficient implementation of this method.

    Parameters:
    b - the data.
    off - the start offset in the data.
    len - the number of bytes to write.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class OutputStream
    See Also:
    write
    flush
     public void flush() throws IOException
    
    Flushes this output stream and forces any buffered output bytes to be written out to the stream.

    The flush method of FilterOutputStream calls the flush method of its underlying output stream.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    flush in class OutputStream
    See Also:
    out
    close
     public void close() throws IOException
    
    Closes this output stream and releases any system resources associated with the stream.

    The close method of FilterOutputStream calls its flush method, and then calls the close method of its underlying output stream.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    close in class OutputStream
    See Also:
    flush, out

    e> kOg$;756$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.filteroutputstream_mi.htmm$$ Class java.io.FilterReader

    Class java.io.FilterReader

    java.lang.Object
       |
       +----java.io.Reader
               |
               +----java.io.FilterReader
    

    public abstract class FilterReader
    extends Reader
    super class of:
    PushbackReader

    Abstract class for reading filtered character streams.


    Variable Index

    in
    The underlying character-input stream, or null if the stream has been closed

    Constructor Index

    FilterReader(Reader)
    Create a new filtered reader.

    Method Index

    close()
    Close the stream.
    mark(int)
    Mark the present position in the stream.
    markSupported()
    Tell whether this stream supports the mark() operation.
    read()
    Read a single character.
    read(char[], int, int)
    Read characters into a portion of an array.
    ready()
    Tell whether this stream is ready to be read.
    reset()
    Reset the stream.
    skip(long)
    Skip characters.

    Variables

    in
     protected Reader in
    
    The underlying character-input stream, or null if the stream has been closed


    Constructors

    FilterReader
     protected FilterReader(Reader in)
    
    Create a new filtered reader.


    Methods

    read
     public int read() throws IOException
    
    Read a single character.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    read
     public int read(char cbuf[],
                     int off,
                     int len) throws IOException
    
    Read characters into a portion of an array.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    skip
     public long skip(long n) throws IOException
    
    Skip characters.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    skip in class Reader
    ready
     public boolean ready() throws IOException
    
    Tell whether this stream is ready to be read.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    ready in class Reader
    markSupported
     public boolean markSupported()
    
    Tell whether this stream supports the mark() operation.

    Overrides:
    markSupported in class Reader
    mark
     public void mark(int readAheadLimit) throws IOException
    
    Mark the present position in the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    mark in class Reader
    reset
     public void reset() throws IOException
    
    Reset the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    reset in class Reader
    close
     public void close() throws IOException
    
    Close the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    close in class Reader

    ="ja kj$;756$Ph./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.filterreader_mi.htm.ht$$ Class java.io.FilterWriter

    Class java.io.FilterWriter

    java.lang.Object
       |
       +----java.io.Writer
               |
               +----java.io.FilterWriter
    

    public abstract class FilterWriter
    extends Writer

    Abstract class for writing filtered character streams.


    Variable Index

    out
    The underlying character-output stream.

    Constructor Index

    FilterWriter(Writer)
    Create a new filtered writer.

    Method Index

    close()
    Close the stream.
    flush()
    Flush the stream.
    write(char[], int, int)
    Write a portion of an array of characters.
    write(int)
    Write a single character.
    write(String, int, int)
    Write a portion of a string.

    Variables

    out
     protected Writer out
    
    The underlying character-output stream.


    Constructors

    FilterWriter
     protected FilterWriter(Writer out)
    
    Create a new filtered writer.


    Methods

    write
     public void write(int c) throws IOException
    
    Write a single character.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    write
     public void write(char cbuf[],
                       int off,
                       int len) throws IOException
    
    Write a portion of an array of characters.

    Parameters:
    cbuf - Buffer of characters to be written
    off - Offset from which to start reading characters
    len - Number of characters to be written
    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    write
     public void write(String str,
                       int off,
                       int len) throws IOException
    
    Write a portion of a string.

    Parameters:
    str - String to be written
    off - Offset from which to start reading characters
    len - Number of characters to be written
    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    flush
     public void flush() throws IOException
    
    Flush the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    flush in class Writer
    close
     public void close() throws IOException
    
    Close the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    close in class Writer

     klm$<756$`{./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.filterwriter_mi.htm.ht$$ Class java.io.InputStreamReader

    Class java.io.InputStreamReader

    java.lang.Object
       |
       +----java.io.Reader
               |
               +----java.io.InputStreamReader
    

    public class InputStreamReader
    extends Reader
    super class of:
    FileReader

    An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and translates them into characters according to a specified character encoding. The encoding that it uses may be specified by name, or the platform's default encoding may be accepted.

    Each invocation of one of an InputStreamReader's read() methods may cause one or more bytes to be read from the underlying byte-input stream. For top efficiency, consider wrapping an InputStreamReader within a BufferedReader; for example,

     BufferedReader in
       = new BufferedReader(new InputStreamReader(System.in));
     

    Since:
    JDK1.1
    See Also:
    BufferedReader, InputStream

    Constructor Index

    InputStreamReader(InputStream)
    Create an InputStreamReader that uses the default character encoding.
    InputStreamReader(InputStream, String)
    Create an InputStreamReader that uses the named character encoding.

    Method Index

    close()
    Close the stream.
    getEncoding()
    Return the name of the encoding being used by this stream.
    read()
    Read a single character.
    read(char[], int, int)
    Read characters into a portion of an array.
    ready()
    Tell whether this stream is ready to be read.

    Constructors

    InputStreamReader
     public InputStreamReader(InputStream in)
    
    Create an InputStreamReader that uses the default character encoding.

    Parameters:
    in - An InputStream
    InputStreamReader
     public InputStreamReader(InputStream in,
                              String enc) throws UnsupportedEncodingException
    
    Create an InputStreamReader that uses the named character encoding.

    Parameters:
    in - An InputStream
    enc - Name of encoding to be used
    Throws: UnsupportedEncodingException
    If the named encoding is not supported

    Methods

    getEncoding
     public String getEncoding()
    
    Return the name of the encoding being used by this stream. May return null if the stream has been closed.

    read
     public int read() throws IOException
    
    Read a single character.

    Returns:
    The character read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    read
     public int read(char cbuf[],
                     int off,
                     int len) throws IOException
    
    Read characters into a portion of an array.

    Parameters:
    cbuf - Destination buffer
    off - Offset at which to start storing characters
    len - Maximum number of characters to read
    Returns:
    The number of characters read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    ready
     public boolean ready() throws IOException
    
    Tell whether this stream is ready to be read. An InputStreamReader is ready if its input buffer is not empty, or if bytes are available to be read from the underlying byte stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    ready in class Reader
    close
     public void close() throws IOException
    
    Close the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    close in class Reader

    op_">I kXs$<756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.inputstreamreader_mi.htmm$$ Class java.io.InterruptedIOException

    Class java.io.InterruptedIOException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.InterruptedIOException
    

    public class InterruptedIOException
    extends IOException

    Signals that an I/O operation has been interrupted.

    Since:
    JDK1.0
    See Also:
    InputStream, OutputStream, interrupt

    Variable Index

    bytesTransferred
    Reports how many bytes had been transferred as part of the I/O operation before it was interrupted.

    Constructor Index

    InterruptedIOException()
    Constructs an InterruptedIOException with no detail message.
    InterruptedIOException(String)
    Constructs an InterruptedIOException with the specified detail message.

    Variables

    bytesTransferred
     public int bytesTransferred
    
    Reports how many bytes had been transferred as part of the I/O operation before it was interrupted.


    Constructors

    InterruptedIOException
     public InterruptedIOException()
    
    Constructs an InterruptedIOException with no detail message.

    InterruptedIOException
     public InterruptedIOException(String s)
    
    Constructs an InterruptedIOException with the specified detail message.

    Parameters:
    s - the detail message.

    .x kNv$=756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.interruptedioexception_mi.htm$$ Class java.io.InvalidClassException

    Class java.io.InvalidClassException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.ObjectStreamException
                                       |
                                       +----java.io.InvalidClassException
    

    public class InvalidClassException
    extends ObjectStreamException

    Raised when the Serialization runtime detects a problem with a Class. The class may:

    • not match the serial version of the class in the stream
    • the class contains unknown datatypes
    • the class implements only one of writeObject or readObject methods
    • the class is not public
    • the class does not have an accessible no-arg constructor


    Variable Index

    classname

    Constructor Index

    InvalidClassException(String)
    Report a InvalidClassException for the specified reason.
    InvalidClassException(String, String)

    Method Index

    getMessage()
    Produce the message, include the classname if present.

    Variables

    classname
     public String classname
    

    Constructors

    InvalidClassException
     public InvalidClassException(String reason)
    
    Report a InvalidClassException for the specified reason.

    InvalidClassException
     public InvalidClassException(String cname,
                                  String reason)
    

    Methods

    getMessage
     public String getMessage()
    
    Produce the message, include the classname if present.

    Overrides:
    getMessage in class Throwable

    Class java.io.InvalidObjectException

    Class java.io.InvalidObjectException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.ObjectStreamException
                                       |
                                       +----java.io.InvalidObjectException
    

    public class InvalidObjectException
    extends ObjectStreamException

    Indicates that one or more deserialized objects failed validation tests. The argument should be the reason for the failure.

    Since:
    JDK1.1
    See Also:
    ObjectInputValidation

    Constructor Index

    InvalidObjectException(String)
    Constructs an InvalidObjectException with a detail message.

    Constructors

    InvalidObjectException
     public InvalidObjectException(String reason)
    
    Constructs an InvalidObjectException with a detail message. The argument should be the reason why the validation of the object failed.

    See Also:
    ObjectInputValidation

    ef kF|$=756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.invalidobjectexception_mi.htm$$ Class java.io.IOException

    Class java.io.IOException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
    

    public class IOException
    extends Exception
    super class of:
    CharConversionException, EOFException, FileNotFoundException, InterruptedIOException, MalformedURLException, ObjectStreamException, ProtocolException, RemoteException, SocketException, SyncFailedException, UTFDataFormatException, UnknownHostException, UnknownServiceException, UnsupportedEncodingException, ZipException

    Signals that an I/O exception of some sort has occurred.

    Since:
    JDK1.0
    See Also:
    InputStream, OutputStream

    Constructor Index

    IOException()
    Constructs an IOException with no detail message.
    IOException(String)
    Constructs an IOException with the specified detail message.

    Constructors

    IOException
     public IOException()
    
    Constructs an IOException with no detail message.

    IOException
     public IOException(String s)
    
    Constructs an IOException with the specified detail message.

    Parameters:
    s - the detail message.

    - Ge k꜅$=756$p?./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.ioexception_mi.htmon_m$$ Class java.io.LineNumberInputStream

    Class java.io.LineNumberInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
                       |
                       +----java.io.LineNumberInputStream
    

    public class LineNumberInputStream
    extends FilterInputStream

    Note: LineNumberInputStream is deprecated. This class incorrectly assumes that bytes adequately represent characters. As of JDK 1.1, the preferred way to operate on character streams is via the new character-stream classes, which include a class for counting line numbers.

    This class is an input stream filter that provides the added functionality of keeping track of the current line number.

    A line is a sequence of bytes ending with a carriage return character ('\r'), a newline character ('\n'), or a carriage return character followed immediately by a linefeed character. In all three cases, the line terminating character(s) are returned as a single newline character.

    The line number begins at 0, and is incremented by 1 when a read returns a newline character.

    Since:
    JDK1.0
    See Also:
    LineNumberReader

    Constructor Index

    LineNumberInputStream(InputStream)
    Constructs a newline number input stream that reads its input from the specified input stream.

    Method Index

    available()
    Returns the number of bytes that can be read from this input stream without blocking.
    getLineNumber()
    Returns the current line number.
    mark(int)
    Marks the current position in this input stream.
    read()
    Reads the next byte of data from this input stream.
    read(byte[], int, int)
    Reads up to len bytes of data from this input stream into an array of bytes.
    reset()
    Repositions this stream to the position at the time the mark method was last called on this input stream.
    setLineNumber(int)
    Sets the line number to the specified argument.
    skip(long)
    Skips over and discards n bytes of data from the input stream.

    Constructors

    LineNumberInputStream
     public LineNumberInputStream(InputStream in)
    
    Constructs a newline number input stream that reads its input from the specified input stream.

    Parameters:
    in - the underlying input stream.

    Methods

    read
     public int read() throws IOException
    
    Reads the next byte of data from this input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

    The read method of LineNumberInputStream calls the read method of the underlying input stream. It checks for carriage returns and newline characters in the input, and modifies the current line number as appropriate. A carriage-return character or a carriage return followed by a newline character are both converted into a single newline character.

    Returns:
    the next byte of data, or -1 if the end of this stream is reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class FilterInputStream
    See Also:
    in, getLineNumber
    read
     public int read(byte b[],
                     int off,
                     int len) throws IOException
    
    Reads up to len bytes of data from this input stream into an array of bytes. This method blocks until some input is available.

    The read method of LineNumberInputStream repeatedly calls the read method of zero arguments to fill in the byte array.

    Parameters:
    b - the buffer into which the data is read.
    off - the start offset of the data.
    len - the maximum number of bytes read.
    Returns:
    the total number of bytes read into the buffer, or -1 if there is no more data because the end of this stream has been reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class FilterInputStream
    See Also:
    read
    setLineNumber
     public void setLineNumber(int lineNumber)
    
    Sets the line number to the specified argument.

    Parameters:
    lineNumber - the new line number.
    getLineNumber
     public int getLineNumber()
    
    Returns the current line number.

    Returns:
    the current line number.
    skip
     public long skip(long n) throws IOException
    
    Skips over and discards n bytes of data from the input stream. The skip method may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly 0. The actual number of bytes skipped is returned.

    The skip method of LineNumberInputStream creates a byte array of length n and then reads into it until n bytes have been read or the end of the stream has been reached.

    Parameters:
    n - the number of bytes to be skipped.
    Returns:
    the actual number of bytes skipped.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    skip in class FilterInputStream
    available
     public int available() throws IOException
    
    Returns the number of bytes that can be read from this input stream without blocking.

    Note that if the underlying input stream is able to supply k input characters without blocking, the LineNumberInputStream can guarantee only to provide k/2 characters without blocking, because the k characters from the underlyhing input stream might consist of k/2 pairs of '\r' and '\n', which are converted to just k/2 '\n' characters.

    Returns:
    the number of bytes that can be read from this input stream without blocking.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    available in class FilterInputStream
    See Also:
    in
    mark
     public void mark(int readlimit)
    
    Marks the current position in this input stream. A subsequent call to the reset method repositions this stream at the last marked position so that subsequent reads re-read the same bytes.

    The mark method of LineNumberInputStream remembers the current line number in a private variable, and then calls the mark method of the underlying input stream.

    Parameters:
    readlimit - the maximum limit of bytes that can be read before the mark position becomes invalid.
    Overrides:
    mark in class FilterInputStream
    See Also:
    in, reset
    reset
     public void reset() throws IOException
    
    Repositions this stream to the position at the time the mark method was last called on this input stream.

    The reset method of LineNumberInputStream resets the line number to be the line number at the time the mark method was called, and then calls the reset method of the underlying input stream.

    Stream marks are intended to be used in situations where you need to read ahead a little to see what's in the stream. Often this is most easily done by invoking some general parser. If the stream is of the type handled by the parser, it just chugs along happily. If the stream is not of that type, the parser should toss an exception when it fails, which, if it happens within readlimit bytes, allows the outer code to reset the stream and try another parser.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    reset in class FilterInputStream
    See Also:
    in, mark

    lock k^$>756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.linenumberinputstream_mi.htm$$ Class java.io.LineNumberReader

    Class java.io.LineNumberReader

    java.lang.Object
       |
       +----java.io.Reader
               |
               +----java.io.BufferedReader
                       |
                       +----java.io.LineNumberReader
    

    public class LineNumberReader
    extends BufferedReader

    A buffered character-input stream that keeps track of line numbers. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.


    Constructor Index

    LineNumberReader(Reader)
    Create a new line-numbering reader, using the default input-buffer size.
    LineNumberReader(Reader, int)
    Create a new line-numbering reader, reading characters into a buffer of the given size.

    Method Index

    getLineNumber()
    Get the current line number.
    mark(int)
    Mark the present position in the stream.
    read()
    Read a single character.
    read(char[], int, int)
    Read characters into a portion of an array.
    readLine()
    Read a line of text.
    reset()
    Reset the stream to the most recent mark.
    setLineNumber(int)
    Set the current line number.
    skip(long)
    Skip characters.

    Constructors

    LineNumberReader
     public LineNumberReader(Reader in)
    
    Create a new line-numbering reader, using the default input-buffer size.

    LineNumberReader
     public LineNumberReader(Reader in,
                             int sz)
    
    Create a new line-numbering reader, reading characters into a buffer of the given size.


    Methods

    setLineNumber
     public void setLineNumber(int lineNumber)
    
    Set the current line number.

    getLineNumber
     public int getLineNumber()
    
    Get the current line number.

    read
     public int read() throws IOException
    
    Read a single character. Line terminators are compressed into single newline ('\n') characters.

    Returns:
    The character read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class BufferedReader
    read
     public int read(char cbuf[],
                     int off,
                     int len) throws IOException
    
    Read characters into a portion of an array.

    Parameters:
    cbuf - Destination buffer
    off - Offset at which to start storing characters
    len - Maximum number of characters to read
    Returns:
    The number of bytes read, or -1 if the end of the stream has already been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class BufferedReader
    readLine
     public String readLine() throws IOException
    
    Read a line of text. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.

    Returns:
    A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    readLine in class BufferedReader
    skip
     public long skip(long n) throws IOException
    
    Skip characters.

    Parameters:
    n - The number of characters to skip
    Returns:
    The number of characters actually skipped
    Throws: IOException
    If an I/O error occurs
    Overrides:
    skip in class BufferedReader
    mark
     public void mark(int readAheadLimit) throws IOException
    
    Mark the present position in the stream. Subsequent calls to reset() will attempt to reposition the stream to this point, and will also reset the line number appropriately.

    Parameters:
    readAheadLimit - Limit on the number of characters that may be read while still preserving the mark. After reading this many characters, attempting to reset the stream may fail.
    Throws: IOException
    If an I/O error occurs
    Overrides:
    mark in class BufferedReader
    reset
     public void reset() throws IOException
    
    Reset the stream to the most recent mark.

    Throws: IOException
    If the stream has not been marked, or if the mark has been invalidated
    Overrides:
    reset in class BufferedReader

    end of ke$>756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.linenumberreader_mi.htm$$ Class java.io.NotActiveException

    Class java.io.NotActiveException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.ObjectStreamException
                                       |
                                       +----java.io.NotActiveException
    

    public class NotActiveException
    extends ObjectStreamException

    The NotActiveException is thrown when serialization or deserialization is not active.


    Constructor Index

    NotActiveException()
    Constructor to create a new NotActiveException with no reason.
    NotActiveException(String)
    Constructor to create a new NotActiveException with the reason given.

    Constructors

    NotActiveException
     public NotActiveException(String reason)
    
    Constructor to create a new NotActiveException with the reason given.

    NotActiveException
     public NotActiveException()
    
    Constructor to create a new NotActiveException with no reason.


    r k4$>756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.notactiveexception_mi.htmm$$ Class java.io.NotSerializableException

    Class java.io.NotSerializableException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.ObjectStreamException
                                       |
                                       +----java.io.NotSerializableException
    

    public class NotSerializableException
    extends ObjectStreamException

    Raised by a class or the serialization runtime when a class may not be serialized. The argument should be the name of the class.


    Constructor Index

    NotSerializableException()
    NotSerializableException(String)

    Constructors

    NotSerializableException
     public NotSerializableException(String classname)
    
    NotSerializableException
     public NotSerializableException()
    

    html/en kL$?756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.notserializableexception_mi.htm$$ Interface java.io.ObjectInput

    Interface java.io.ObjectInput

    public interface ObjectInput
    extends DataInput

    ObjectInput extends the DataInput interface to include the writing of objects. DataInput includes methods for the input of primitive types, ObjectInput extends that interface to include objects, arrays, and Strings.

    Since:
    JDK1.1
    See Also:
    InputStream, ObjectOutputStream, ObjectInputStream

    Method Index

    available()
    Returns the number of bytes that can be read without blocking.
    close()
    Closes the input stream.
    read()
    Reads a byte of data.
    read(byte[])
    Reads into an array of bytes.
    read(byte[], int, int)
    Reads into an array of bytes.
    readObject()
    Read and return an object.
    skip(long)
    Skips n bytes of input.

    Methods

    readObject
     public abstract Object readObject() throws ClassNotFoundException, IOException
    
    Read and return an object. The class that implements this interface defines where the object is "read" from.

    Throws: ClassNotFoundException
    If the class of a serialized object cannot be found.
    Throws: IOException
    If any of the usual Input/Output related exceptions occur.
    read
     public abstract int read() throws IOException
    
    Reads a byte of data. This method will block if no input is available.

    Returns:
    the byte read, or -1 if the end of the stream is reached.
    Throws: IOException
    If an I/O error has occurred.
    read
     public abstract int read(byte b[]) throws IOException
    
    Reads into an array of bytes. This method will block until some input is available.

    Parameters:
    b - the buffer into which the data is read
    Returns:
    the actual number of bytes read, -1 is returned when the end of the stream is reached.
    Throws: IOException
    If an I/O error has occurred.
    read
     public abstract int read(byte b[],
                              int off,
                              int len) throws IOException
    
    Reads into an array of bytes. This method will block until some input is available.

    Parameters:
    b - the buffer into which the data is read
    off - the start offset of the data
    len - the maximum number of bytes read
    Returns:
    the actual number of bytes read, -1 is returned when the end of the stream is reached.
    Throws: IOException
    If an I/O error has occurred.
    skip
     public abstract long skip(long n) throws IOException
    
    Skips n bytes of input.

    Parameters:
    n - the number of bytes to be skipped
    Returns:
    the actual number of bytes skipped.
    Throws: IOException
    If an I/O error has occurred.
    available
     public abstract int available() throws IOException
    
    Returns the number of bytes that can be read without blocking.

    Returns:
    the number of available bytes.
    close
     public abstract void close() throws IOException
    
    Closes the input stream. Must be called to release any resources associated with the stream.

    Throws: IOException
    If an I/O error has occurred.

    b>Throw kP6$]?756$`F]./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.objectinput_mi.htmtion$$ Interface java.io.ObjectInputValidation

    Interface java.io.ObjectInputValidation

    public interface ObjectInputValidation

    Callback interface to allow validation of objects within a graph. Allows an object to be called when a complete graph of objects has been deserialized.

    Since:
    JDK1.1
    See Also:
    ObjectInputStream, registerValidation

    Method Index

    validateObject()
    Validates the object

    Methods

    validateObject
     public abstract void validateObject() throws InvalidObjectException
    
    Validates the object

    Throws: InvalidObjectException
    If the object cannot validate itself.

    /@ kPA$e@756$pe./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.objectinputvalidation_mi.htmm$$ Interface java.io.ObjectOutput

    Interface java.io.ObjectOutput

    public interface ObjectOutput
    extends DataOutput

    ObjectOutput extends the DataOutput interface to include writing of objects. DataOutput includes methods for output of primitive types, ObjectOutput extends that interface to include objects, arrays, and Strings.

    Since:
    JDK1.1
    See Also:
    InputStream, ObjectOutputStream, ObjectInputStream

    Method Index

    close()
    Closes the stream.
    flush()
    Flushes the stream.
    write(byte[])
    Writes an array of bytes.
    write(byte[], int, int)
    Writes a sub array of bytes.
    write(int)
    Writes a byte.
    writeObject(Object)
    Write an object to the underlying storage or stream.

    Methods

    writeObject
     public abstract void writeObject(Object obj) throws IOException
    
    Write an object to the underlying storage or stream. The class that implements this interface defines how the object is written.

    Throws: IOException
    Any of the usual Input/Output related exceptions.
    write
     public abstract void write(int b) throws IOException
    
    Writes a byte. This method will block until the byte is actually written.

    Parameters:
    b - the byte
    Throws: IOException
    If an I/O error has occurred.
    write
     public abstract void write(byte b[]) throws IOException
    
    Writes an array of bytes. This method will block until the bytes are actually written.

    Parameters:
    b - the data to be written
    Throws: IOException
    If an I/O error has occurred.
    write
     public abstract void write(byte b[],
                                int off,
                                int len) throws IOException
    
    Writes a sub array of bytes.

    Parameters:
    b - the data to be written
    off - the start offset in the data
    len - the number of bytes that are written
    Throws: IOException
    If an I/O error has occurred.
    flush
     public abstract void flush() throws IOException
    
    Flushes the stream. This will write any buffered output bytes.

    Throws: IOException
    If an I/O error has occurred.
    close
     public abstract void close() throws IOException
    
    Closes the stream. This method must be called to release any resources associated with the stream.

    Throws: IOException
    If an I/O error has occurred.

    dl> < k.1$*@756$`-*./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.objectoutput_mi.htm_mi$$ Class java.io.ObjectStreamClass

    Class java.io.ObjectStreamClass

    java.lang.Object
       |
       +----java.io.ObjectStreamClass
    

    public class ObjectStreamClass
    extends Object
    implements Serializable

    A ObjectStreamClass describes a class that can be serialized to a stream or a class that was serialized to a stream. It contains the name and the serialVersionUID of the class.
    The ObjectStreamClass for a specific class loaded in this Java VM can be found using the lookup method.


    Method Index

    forClass()
    Return the class in the local VM that this version is mapped to.
    getName()
    The name of the class described by this descriptor.
    getSerialVersionUID()
    Return the serialVersionUID for this class.
    lookup(Class)
    Find the descriptor for a class that can be serialized.
    toString()
    Return a string describing this ObjectStreamClass.

    Methods

    lookup
     public static ObjectStreamClass lookup(Class cl)
    
    Find the descriptor for a class that can be serialized. Null is returned if the specified class does not implement java.io.Serializable or java.io.Externalizable.

    getName
     public String getName()
    
    The name of the class described by this descriptor.

    getSerialVersionUID
     public long getSerialVersionUID()
    
    Return the serialVersionUID for this class. The serialVersionUID defines a set of classes all with the same name that have evolved from a common root class and agree to be serialized and deserialized using a common format.

    forClass
     public Class forClass()
    
    Return the class in the local VM that this version is mapped to. Null is returned if there is no corresponding local class.

    toString
     public String toString()
    
    Return a string describing this ObjectStreamClass.

    Overrides:
    toString in class Object

     kp$A756$`/./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.objectstreamclass_mi.htmmm$$ Class java.io.ObjectStreamException

    Class java.io.ObjectStreamException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.ObjectStreamException
    

    public abstract class ObjectStreamException
    extends IOException
    super class of:
    InvalidClassException, InvalidObjectException, NotActiveException, NotSerializableException, OptionalDataException, StreamCorruptedException, WriteAbortedException

    Superclass of all exceptions specific to Object Stream classes.


    Constructor Index

    ObjectStreamException()
    Create an ObjectStreamException.
    ObjectStreamException(String)
    Create an ObjectStreamException with the specified argument.

    Constructors

    ObjectStreamException
     protected ObjectStreamException(String classname)
    
    Create an ObjectStreamException with the specified argument.

    ObjectStreamException
     protected ObjectStreamException()
    
    Create an ObjectStreamException.


    >
     k$A756$`~./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.objectstreamexception_mi.htmm$$ Class java.io.OptionalDataException

    Class java.io.OptionalDataException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.ObjectStreamException
                                       |
                                       +----java.io.OptionalDataException
    

    public class OptionalDataException
    extends ObjectStreamException

    Unexpected data appeared in an ObjectInputStream trying to read an Object. This exception occurs when the stream contains primitive data instead of the object expected by readObject. The eof flag in the exception is true to indicate that no more primitive data is available. The count field contains the number of bytes available to read.


    Variable Index

    eof
    True if there is no more data in the buffered part of the stream.
    length
    The number of bytes of primitive data available to be read in the current buffer.

    Variables

    length
     public int length
    
    The number of bytes of primitive data available to be read in the current buffer.

    eof
     public boolean eof
    
    True if there is no more data in the buffered part of the stream.


    t kj$A756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.optionaldataexception_mi.htmm$$ Class java.io.OutputStream

    Class java.io.OutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
    

    public abstract class OutputStream
    extends Object
    super class of:
    ByteArrayOutputStream, FileOutputStream, FilterOutputStream, ObjectOutputStream, PipedOutputStream

    This abstract class is the superclass of all classes representing an output stream of bytes.

    Applications that need to define a subclass of OutputStream must always provide at least a method that writes one byte of output.

    Since:
    JDK1.0
    See Also:
    BufferedOutputStream, ByteArrayOutputStream, DataOutputStream, FilterOutputStream, InputStream, write

    Constructor Index

    OutputStream()

    Method Index

    close()
    Closes this output stream and releases any system resources associated with this stream.
    flush()
    Flushes this output stream and forces any buffered output bytes to be written out.
    write(byte[])
    Writes b.length bytes from the specified byte array to this output stream.
    write(byte[], int, int)
    Writes len bytes from the specified byte array starting at offset off to this output stream.
    write(int)
    Writes the specified byte to this output stream.

    Constructors

    OutputStream
     public OutputStream()
    

    Methods

    write
     public abstract void write(int b) throws IOException
    
    Writes the specified byte to this output stream.

    Subclasses of OutputStream must provide an implementation for this method.

    Parameters:
    b - the byte.
    Throws: IOException
    if an I/O error occurs.
    write
     public void write(byte b[]) throws IOException
    
    Writes b.length bytes from the specified byte array to this output stream.

    The write method of OutputStream calls the write method of three arguments with the three arguments b, 0, and b.length.

    Parameters:
    b - the data.
    Throws: IOException
    if an I/O error occurs.
    See Also:
    write
    write
     public void write(byte b[],
                       int off,
                       int len) throws IOException
    
    Writes len bytes from the specified byte array starting at offset off to this output stream.

    The write method of OutputStream calls the write method of one argument on each of the bytes to be written out. Subclasses are encouraged to override this method and provide a more efficient implementation.

    Parameters:
    b - the data.
    off - the start offset in the data.
    len - the number of bytes to write.
    Throws: IOException
    if an I/O error occurs.
    flush
     public void flush() throws IOException
    
    Flushes this output stream and forces any buffered output bytes to be written out.

    The flush method of OutputStream does nothing.

    Throws: IOException
    if an I/O error occurs.
    close
     public void close() throws IOException
    
    Closes this output stream and releases any system resources associated with this stream.

    The close method of OutputStream does nothing.

    Throws: IOException
    if an I/O error occurs.

    > to t kz$0B756$`0./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.outputstream_mi.htm_mi$$ Class java.io.OutputStreamWriter

    Class java.io.OutputStreamWriter

    java.lang.Object
       |
       +----java.io.Writer
               |
               +----java.io.OutputStreamWriter
    

    public class OutputStreamWriter
    extends Writer
    super class of:
    FileWriter

    Write characters to an output stream, translating characters into bytes according to a specified character encoding. Each OutputStreamWriter incorporates its own CharToByteConverter, and is thus a bridge from character streams to byte streams.

    The encoding used by an OutputStreamWriter may be specified by name, by providing a CharToByteConverter, or by accepting the default encoding, which is defined by the system property file.encoding.

    Each invocation of a write() method causes the encoding converter to be invoked on the given character(s). The resulting bytes are accumulated in a buffer before being written to the underlying output stream. The size of this buffer may be specified, but by default it is large enough for most purposes. Note that the characters passed to the write() methods are not buffered. For top efficiency, consider wrapping an OutputStreamWriter within a BufferedWriter so as to avoid frequent converter invocations. For example,

     Writer out
       = new BufferedWriter(new OutputStreamWriter(System.out));
     

    Since:
    JDK1.1
    See Also:
    BufferedWriter, OutputStream

    Constructor Index

    OutputStreamWriter(OutputStream)
    Create an OutputStreamWriter that uses the default character encoding.
    OutputStreamWriter(OutputStream, String)
    Create an OutputStreamWriter that uses the named character encoding.

    Method Index

    close()
    Close the stream.
    flush()
    Flush the stream.
    getEncoding()
    Return the name of the encoding being used by this stream.
    write(char[], int, int)
    Write a portion of an array of characters.
    write(int)
    Write a single character.
    write(String, int, int)
    Write a portion of a string.

    Constructors

    OutputStreamWriter
     public OutputStreamWriter(OutputStream out,
                               String enc) throws UnsupportedEncodingException
    
    Create an OutputStreamWriter that uses the named character encoding.

    Parameters:
    out - An OutputStream
    enc - Name of the encoding to be used
    Throws: UnsupportedEncodingException
    If the named encoding is not supported
    OutputStreamWriter
     public OutputStreamWriter(OutputStream out)
    
    Create an OutputStreamWriter that uses the default character encoding.

    Parameters:
    out - An OutputStream

    Methods

    getEncoding
     public String getEncoding()
    
    Return the name of the encoding being used by this stream. May return null if the stream has been closed.

    write
     public void write(int c) throws IOException
    
    Write a single character.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    write
     public void write(char cbuf[],
                       int off,
                       int len) throws IOException
    
    Write a portion of an array of characters.

    Parameters:
    cbuf - Buffer of characters
    off - Offset from which to start writing characters
    len - Number of characters to write
    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    write
     public void write(String str,
                       int off,
                       int len) throws IOException
    
    Write a portion of a string.

    Parameters:
    str - A String
    off - Offset from which to start writing characters
    len - Number of characters to write
    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    flush
     public void flush() throws IOException
    
    Flush the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    flush in class Writer
    close
     public void close() throws IOException
    
    Close the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    close in class Writer

    l>  kX$B756$P<./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.outputstreamwriter_mi.htmmm$$ Class java.io.PipedInputStream

    Class java.io.PipedInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.PipedInputStream
    

    public class PipedInputStream
    extends InputStream

    A piped input stream is the receiving end of a communications pipe. Two threads can communicate by having one thread send data through a piped output stream and having the other thread read the data through a piped input stream.

    Since:
    JDK1.0
    See Also:
    PipedOutputStream

    Variable Index

    buffer
    The circular buffer into which incoming data is placed.
    in
    out
    PIPE_SIZE

    Constructor Index

    PipedInputStream()
    Creates a piped input stream that is not yet connected to a piped output stream.
    PipedInputStream(PipedOutputStream)
    Creates a piped input stream connected to the specified piped output stream.

    Method Index

    available()
    Returns the number of bytes that can be read from this input stream without blocking.
    close()
    Closes this piped input stream and releases any system resources associated with the stream.
    connect(PipedOutputStream)
    Connects this piped input stream to a sender.
    read()
    Reads the next byte of data from this piped input stream.
    read(byte[], int, int)
    Reads up to len bytes of data from this piped input stream into an array of bytes.
    receive(int)
    Receives a byte of data.

    Variables

    PIPE_SIZE
     protected static final int PIPE_SIZE
    
    buffer
     protected byte buffer[]
    
    The circular buffer into which incoming data is placed.

    in
     protected int in
    
    out
     protected int out
    

    Constructors

    PipedInputStream
     public PipedInputStream(PipedOutputStream src) throws IOException
    
    Creates a piped input stream connected to the specified piped output stream.

    Parameters:
    src - the stream to connect to.
    Throws: IOException
    if an I/O error occurs.
    PipedInputStream
     public PipedInputStream()
    
    Creates a piped input stream that is not yet connected to a piped output stream. It must be connected to a piped output stream, either by the receiver or the sender, before being used.

    See Also:
    connect, connect

    Methods

    connect
     public void connect(PipedOutputStream src) throws IOException
    
    Connects this piped input stream to a sender.

    Parameters:
    src - The piped output stream to connect to.
    Throws: IOException
    if an I/O error occurs.
    receive
     protected synchronized void receive(int b) throws IOException
    
    Receives a byte of data. This method will block if no input is available.

    Parameters:
    b - the byte being received
    Throws: IOException
    If the pipe is broken.
    read
     public synchronized int read() throws IOException
    
    Reads the next byte of data from this piped input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because this end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

    Returns:
    the next byte of data, or -1 if the end of the stream is reached.
    Throws: IOException
    if the pipe is broken.
    Overrides:
    read in class InputStream
    read
     public synchronized int read(byte b[],
                                  int off,
                                  int len) throws IOException
    
    Reads up to len bytes of data from this piped input stream into an array of bytes. This method blocks until at least one byte of input is available.

    Parameters:
    b - the buffer into which the data is read.
    off - the start offset of the data.
    len - the maximum number of bytes read.
    Returns:
    the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class InputStream
    available
     public synchronized int available() throws IOException
    
    Returns the number of bytes that can be read from this input stream without blocking. This method overrides the available method of the parent class.

    Returns:
    the number of bytes that can be read from this input stream without blocking.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    available in class InputStream
    close
     public void close() throws IOException
    
    Closes this piped input stream and releases any system resources associated with the stream.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    close in class InputStream

     k$B756$PW./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.pipedinputstream_mi.htm$$ Class java.io.PipedOutputStream

    Class java.io.PipedOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.PipedOutputStream
    

    public class PipedOutputStream
    extends OutputStream

    A piped output stream is the sending end of a communications pipe. Two threads can communicate by having one thread send data through a piped output stream and having the other thread read the data through a piped input stream.

    Since:
    JDK1.0
    See Also:
    PipedInputStream

    Constructor Index

    PipedOutputStream()
    Creates a piped output stream that is not yet connected to a piped input stream.
    PipedOutputStream(PipedInputStream)
    Creates a piped output stream connected to the specified piped input stream.

    Method Index

    close()
    Closes this piped output stream and releases any system resources associated with this stream.
    connect(PipedInputStream)
    Connects this piped output stream to a receiver.
    flush()
    Flushes this output stream and forces any buffered output bytes to be written out.
    write(byte[], int, int)
    Writes len bytes from the specified byte array starting at offset off to this piped output stream.
    write(int)
    Writes the specified byte to the piped output stream.

    Constructors

    PipedOutputStream
     public PipedOutputStream(PipedInputStream snk) throws IOException
    
    Creates a piped output stream connected to the specified piped input stream.

    Parameters:
    snk - The piped input stream to connect to.
    Throws: IOException
    if an I/O error occurs.
    PipedOutputStream
     public PipedOutputStream()
    
    Creates a piped output stream that is not yet connected to a piped input stream. It must be connected to a piped input stream, either by the receiver or the sender, before being used.

    See Also:
    connect, connect

    Methods

    connect
     public void connect(PipedInputStream snk) throws IOException
    
    Connects this piped output stream to a receiver.

    Parameters:
    snk - the piped output stream to connect to.
    Throws: IOException
    if an I/O error occurs.
    write
     public void write(int b) throws IOException
    
    Writes the specified byte to the piped output stream.

    Parameters:
    b - the byte to be written.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class OutputStream
    write
     public void write(byte b[],
                       int off,
                       int len) throws IOException
    
    Writes len bytes from the specified byte array starting at offset off to this piped output stream.

    Parameters:
    b - the data.
    off - the start offset in the data.
    len - the number of bytes to write.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class OutputStream
    flush
     public synchronized void flush() throws IOException
    
    Flushes this output stream and forces any buffered output bytes to be written out. This will notify any readers that bytes are waiting in the pipe.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    flush in class OutputStream
    close
     public void close() throws IOException
    
    Closes this piped output stream and releases any system resources associated with this stream.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    close in class OutputStream

    e kH$B756$P ./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.pipedoutputstream_mi.htmmm$$ Class java.io.PipedReader

    Class java.io.PipedReader

    java.lang.Object
       |
       +----java.io.Reader
               |
               +----java.io.PipedReader
    

    public class PipedReader
    extends Reader

    Piped character-input streams.


    Constructor Index

    PipedReader()
    Create a reader that is not yet connected to a piped writer.
    PipedReader(PipedWriter)
    Create a reader for the specified piped character-output stream.

    Method Index

    close()
    Close the stream.
    connect(PipedWriter)
    Connect the specified piped writer to this reader.
    read(char[], int, int)
    Read characters into a portion of an array.

    Constructors

    PipedReader
     public PipedReader()
    
    Create a reader that is not yet connected to a piped writer.

    PipedReader
     public PipedReader(PipedWriter src) throws IOException
    
    Create a reader for the specified piped character-output stream.


    Methods

    connect
     public void connect(PipedWriter src) throws IOException
    
    Connect the specified piped writer to this reader.

    Throws: IOException
    If this reader is already connected
    read
     public int read(char cbuf[],
                     int off,
                     int len) throws IOException
    
    Read characters into a portion of an array.

    Parameters:
    cbuf - Destination buffer
    off - Offset at which to start storing characters
    len - Maximum number of characters to read
    Returns:
    The number of characters read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    close
     public void close() throws IOException
    
    Close the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    close in class Reader

     kꘓ$C756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.pipedreader_mi.htm.htm$$ Class java.io.PipedWriter

    Class java.io.PipedWriter

    java.lang.Object
       |
       +----java.io.Writer
               |
               +----java.io.PipedWriter
    

    public class PipedWriter
    extends Writer

    Piped character-output streams.


    Constructor Index

    PipedWriter()
    Create a writer that is not yet connected to a piped reader.
    PipedWriter(PipedReader)
    Create a writer for the specified piped character-input stream.

    Method Index

    close()
    Close the stream.
    connect(PipedReader)
    Connect the specified piped reader to this writer.
    flush()
    Flush the stream.
    write(char[], int, int)
    Write a portion of an array of characters.

    Constructors

    PipedWriter
     public PipedWriter()
    
    Create a writer that is not yet connected to a piped reader.

    PipedWriter
     public PipedWriter(PipedReader sink) throws IOException
    
    Create a writer for the specified piped character-input stream.


    Methods

    connect
     public void connect(PipedReader sink) throws IOException
    
    Connect the specified piped reader to this writer.

    write
     public void write(char cbuf[],
                       int off,
                       int len) throws IOException
    
    Write a portion of an array of characters.

    Parameters:
    cbuf - Array of characters
    off - Offset from which to start writing characters
    len - Number of characters to write
    Throws: IOException
    If an I/O error occurs
    Overrides:
    write in class Writer
    flush
     public void flush() throws IOException
    
    Flush the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    flush in class Writer
    close
     public void close() throws IOException
    
    Close the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    close in class Writer

    s k;$aC756$`~a./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.pipedwriter_mi.htm.htm$$ Class java.io.PrintWriter

    Class java.io.PrintWriter

    java.lang.Object
       |
       +----java.io.Writer
               |
               +----java.io.PrintWriter
    

    public class PrintWriter
    extends Writer

    Print formatted representations of objects to a text-output stream. This class implements all of the print methods found in PrintStream. It does not contain methods for writing raw bytes, for which a program should use unencoded byte streams.

    Unlike the PrintStream class, if automatic flushing is enabled it will be done only when one of the println() methods is invoked, rather than whenever a newline character happens to be output. The println() methods use the platform's own notion of line separator rather than the newline character.

    Methods in this class never throw I/O exceptions. The client may inquire as to whether any errors have occurred by invoking checkError().


    Constructor Index

    PrintWriter(OutputStream)
    Create a new PrintWriter, without automatic line flushing, from an existing OutputStream.
    PrintWriter(OutputStream, boolean)
    Create a new PrintWriter from an existing OutputStream.
    PrintWriter(Writer)
    Create a new PrintWriter, without automatic line flushing.
    PrintWriter(Writer, boolean)
    Create a new PrintWriter.

    Method Index

    checkError()
    Flush the stream and check its error state.
    close()
    Close the stream.
    flush()
    Flush the stream.
    print(boolean)
    Print a boolean.
    print(char)
    Print a character.
    print(char[])
    Print an array of chracters.
    print(double)
    Print a double.
    print(float)
    Print a float.
    print(int)
    Print an integer.
    print(long)
    Print a long.
    print(Object)
    Print an object.
    print(String)
    Print a String.
    println()
    Finish the line.
    println(boolean)
    Print a boolean, and then finish the line.
    println(char)
    Print a character, and then finish the line.
    println(char[])
    Print an array of characters, and then finish the line.
    println(double)
    Print a double, and then finish the line.
    println(float)
    Print a float, and then finish the line.
    println(int)
    Print an integer, and then finish the line.
    println(long)
    Print a long, and then finish the line.
    println(Object)
    Print an Object, and then finish the line.
    println(String)
    Print a String, and then finish the line.
    setError()
    Indicate that an error has occurred.
    write(char[])
    Write an array of characters.
    write(char[], int, int)
    Write a portion of an array of characters.
    write(int)
    Write a single character.
    write(String)
    Write a string.
    write(String, int, int)
    Write a portion of a string.

    Constructors

    PrintWriter
     public PrintWriter(Writer out)
    
    Create a new PrintWriter, without automatic line flushing.

    Parameters:
    out - A character-output stream
    PrintWriter
     public PrintWriter(Writer out,
                        boolean autoFlush)
    
    Create a new PrintWriter.

    Parameters:
    out - A character-output stream
    autoFlush - A boolean; if true, the println() methods will flush the output buffer
    PrintWriter
     public PrintWriter(OutputStream out)
    
    Create a new PrintWriter, without automatic line flushing, from an existing OutputStream. This convenience constructor creates the necessary intermediate OutputStreamWriter, which will convert characters into bytes using the default character encoding.

    Parameters:
    out - An output stream
    See Also:
    OutputStreamWriter
    PrintWriter
     public PrintWriter(OutputStream out,
                        boolean autoFlush)
    
    Create a new PrintWriter from an existing OutputStream. This convenience constructor creates the necessary intermediate OutputStreamWriter, which will convert characters into bytes using the default character encoding.

    Parameters:
    out - An output stream
    autoFlush - A boolean; if true, the println() methods will flush the output buffer
    See Also:
    OutputStreamWriter

    Methods

    flush
     public void flush()
    
    Flush the stream.

    Overrides:
    flush in class Writer
    close
     public void close()
    
    Close the stream.

    Overrides:
    close in class Writer
    checkError
     public boolean checkError()
    
    Flush the stream and check its error state. Errors are cumulative; once the stream encounters an error, this routine will return true on all successive calls.

    Returns:
    True if the print stream has encountered an error, either on the underlying output stream or during a format conversion.
    setError
     protected void setError()
    
    Indicate that an error has occurred.

    write
     public void write(int c)
    
    Write a single character.

    Overrides:
    write in class Writer
    write
     public void write(char buf[],
                       int off,
                       int len)
    
    Write a portion of an array of characters.

    Overrides:
    write in class Writer
    write
     public void write(char buf[])
    
    Write an array of characters. This method cannot be inherited from the Writer class because it must suppress I/O exceptions.

    Overrides:
    write in class Writer
    write
     public void write(String s,
                       int off,
                       int len)
    
    Write a portion of a string.

    Overrides:
    write in class Writer
    write
     public void write(String s)
    
    Write a string. This method cannot be inherited from the Writer class because it must suppress I/O exceptions.

    Overrides:
    write in class Writer
    print
     public void print(boolean b)
    
    Print a boolean.

    print
     public void print(char c)
    
    Print a character.

    print
     public void print(int i)
    
    Print an integer.

    print
     public void print(long l)
    
    Print a long.

    print
     public void print(float f)
    
    Print a float.

    print
     public void print(double d)
    
    Print a double.

    print
     public void print(char s[])
    
    Print an array of chracters.

    print
     public void print(String s)
    
    Print a String.

    print
     public void print(Object obj)
    
    Print an object.

    println
     public void println()
    
    Finish the line.

    println
     public void println(boolean x)
    
    Print a boolean, and then finish the line.

    println
     public void println(char x)
    
    Print a character, and then finish the line.

    println
     public void println(int x)
    
    Print an integer, and then finish the line.

    println
     public void println(long x)
    
    Print a long, and then finish the line.

    println
     public void println(float x)
    
    Print a float, and then finish the line.

    println
     public void println(double x)
    
    Print a double, and then finish the line.

    println
     public void println(char x[])
    
    Print an array of characters, and then finish the line.

    println
     public void println(String x)
    
    Print a String, and then finish the line.

    println
     public void println(Object x)
    
    Print an Object, and then finish the line.


    write Class java.io.PushbackReader

    Class java.io.PushbackReader

    java.lang.Object
       |
       +----java.io.Reader
               |
               +----java.io.FilterReader
                       |
                       +----java.io.PushbackReader
    

    public class PushbackReader
    extends FilterReader

    A character-stream reader that allows characters to be pushed back into the stream.


    Constructor Index

    PushbackReader(Reader)
    Create a new pushback reader with a one-character pushback buffer.
    PushbackReader(Reader, int)
    Create a new pushback reader with a pushback buffer of the given size.

    Method Index

    close()
    Close the stream.
    markSupported()
    Tell whether this stream supports the mark() operation, which it does not.
    read()
    Read a single character.
    read(char[], int, int)
    Read characters into a portion of an array.
    ready()
    Tell whether this stream is ready to be read.
    unread(char[])
    Push back an array of characters by copying it to the front of the pushback buffer.
    unread(char[], int, int)
    Push back a portion of an array of characters by copying it to the front of the pushback buffer.
    unread(int)
    Push back a single character.

    Constructors

    PushbackReader
     public PushbackReader(Reader in,
                           int size)
    
    Create a new pushback reader with a pushback buffer of the given size.

    Parameters:
    in - The reader from which characters will be read
    size - The size of the pushback buffer
    PushbackReader
     public PushbackReader(Reader in)
    
    Create a new pushback reader with a one-character pushback buffer.

    Parameters:
    in - The reader from which characters will be read

    Methods

    read
     public int read() throws IOException
    
    Read a single character.

    Returns:
    The character read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class FilterReader
    read
     public int read(char cbuf[],
                     int off,
                     int len) throws IOException
    
    Read characters into a portion of an array.

    Parameters:
    cbuf - Destination buffer
    off - Offset at which to start writing characters
    len - Maximum number of characters to read
    Returns:
    The number of characters read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class FilterReader
    unread
     public void unread(int c) throws IOException
    
    Push back a single character.

    Parameters:
    c - The character to push back
    Throws: IOException
    If the pushback buffer is full, or if some other I/O error occurs
    unread
     public void unread(char cbuf[],
                        int off,
                        int len) throws IOException
    
    Push back a portion of an array of characters by copying it to the front of the pushback buffer. After this method returns, the next character to be read will have the value cbuf[off], the character after that will have the value cbuf[off+1], and so forth.

    Parameters:
    cbuf - Character array
    off - Offset of first character to push back
    len - Number of characters to push back
    Throws: IOException
    If there is insufficient room in the pushback buffer, or if some other I/O error occurs
    unread
     public void unread(char cbuf[]) throws IOException
    
    Push back an array of characters by copying it to the front of the pushback buffer. After this method returns, the next character to be read will have the value cbuf[0], the character after that will have the value cbuf[1], and so forth.

    Parameters:
    cbuf - Character array to push back
    Throws: IOException
    If there is insufficient room in the pushback buffer, or if some other I/O error occurs
    ready
     public boolean ready() throws IOException
    
    Tell whether this stream is ready to be read.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    ready in class FilterReader
    markSupported
     public boolean markSupported()
    
    Tell whether this stream supports the mark() operation, which it does not.

    Overrides:
    markSupported in class FilterReader
    close
     public void close() throws IOException
    
    Close the stream.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    close in class FilterReader

    = k$D756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.pushbackreader_mi.htmh$$ Class java.io.Reader

    Class java.io.Reader

    java.lang.Object
       |
       +----java.io.Reader
    

    public abstract class Reader
    extends Object
    super class of:
    BufferedReader, CharArrayReader, FilterReader, InputStreamReader, PipedReader, StringReader

    Abstract class for reading character streams. The only methods that a subclass must implement are read(char[], int, int) and close(). Most subclasses, however, will override some of the methods defined here in order to provide higher efficiency, additional functionality, or both.

    Since:
    JDK1.1
    See Also:
    BufferedReader, LineNumberReader, CharArrayReader, InputStreamReader, FileReader, FilterReader, PushbackReader, PipedReader, StringReader, Writer

    Variable Index

    lock
    The object used to synchronize operations on this stream.

    Constructor Index

    Reader()
    Create a new character-stream reader whose critical sections will synchronize on the reader itself.
    Reader(Object)
    Create a new character-stream reader whose critical sections will synchronize on the given object.

    Method Index

    close()
    Close the stream.
    mark(int)
    Mark the present position in the stream.
    markSupported()
    Tell whether this stream supports the mark() operation.
    read()
    Read a single character.
    read(char[])
    Read characters into an array.
    read(char[], int, int)
    Read characters into a portion of an array.
    ready()
    Tell whether this stream is ready to be read.
    reset()
    Reset the stream.
    skip(long)
    Skip characters.

    Variables

    lock
     protected Object lock
    
    The object used to synchronize operations on this stream. For efficiency, a character-stream object may use an object other than itself to protect critical sections. A subclass should therefore use the object in this field rather than this or a synchronized method.


    Constructors

    Reader
     protected Reader()
    
    Create a new character-stream reader whose critical sections will synchronize on the reader itself.

    Reader
     protected Reader(Object lock)
    
    Create a new character-stream reader whose critical sections will synchronize on the given object.


    Methods

    read
     public int read() throws IOException
    
    Read a single character. This method will block until a character is available, an I/O error occurs, or the end of the stream is reached.

    Subclasses that intend to support efficient single-character input should override this method.

    Returns:
    The character read, as an integer in the range 0 to 16383 (0x00-0xffff), or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    read
     public int read(char cbuf[]) throws IOException
    
    Read characters into an array. This method will block until some input is available, an I/O error occurs, or the end of the stream is reached.

    Parameters:
    cbuf - Destination buffer
    Returns:
    The number of bytes read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    read
     public abstract int read(char cbuf[],
                              int off,
                              int len) throws IOException
    
    Read characters into a portion of an array. This method will block until some input is available, an I/O error occurs, or the end of the stream is reached.

    Parameters:
    cbuf - Destination buffer
    off - Offset at which to start storing characters
    len - Maximum number of characters to read
    Returns:
    The number of characters read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    skip
     public long skip(long n) throws IOException
    
    Skip characters. This method will block until some characters are available, an I/O error occurs, or the end of the stream is reached.

    Parameters:
    n - The number of characters to skip
    Returns:
    The number of characters actually skipped
    Throws: IOException
    If an I/O error occurs
    ready
     public boolean ready() throws IOException
    
    Tell whether this stream is ready to be read.

    Returns:
    True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block.
    Throws: IOException
    If an I/O error occurs
    markSupported
     public boolean markSupported()
    
    Tell whether this stream supports the mark() operation.

    mark
     public void mark(int readAheadLimit) throws IOException
    
    Mark the present position in the stream. Subsequent calls to reset() will attempt to reposition the stream to this point. Not all character-input streams support the mark() operation.

    Parameters:
    readAheadLimit - Limit on the number of characters that may be read while still preserving the mark. After reading this many characters, attempting to reset the stream may fail.
    Throws: IOException
    If the stream does not support mark(), or if some other I/O error occurs
    reset
     public void reset() throws IOException
    
    Reset the stream. If the stream has been marked, then attempt to reposition it at the mark. If the stream has not been marked, then attempt to reset it in some way appropriate to the particular stream, for example by repositioning it to its starting point. Not all character-input streams support the reset() operation, and some support reset() without supporting mark().

    Throws: IOException
    If the stream has not been marked, or if the mark has been invalidated, or if the stream does not support reset(), or if some other I/O error occurs
    close
     public abstract void close() throws IOException
    
    Close the stream. Once a stream has been closed, further read(), ready(), mark(), or reset() invocations will throw an IOException. Closing a previously-closed stream, however, has no effect.

    Throws: IOException
    If an I/O error occurs

    oexc k&JǛ$E756$P3./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.reader_mi.htme$$ Class java.io.SequenceInputStream

    Class java.io.SequenceInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.SequenceInputStream
    

    public class SequenceInputStream
    extends InputStream

    The sequence input stream class allows an application to combine several input streams serially and make them appear as if they were a single input stream. Each input stream is read from, in turn, until it reaches the end of the stream. The sequence input stream class then closes that stream and automatically switches to the next input stream.


    Constructor Index

    SequenceInputStream(Enumeration)
    Constructs a new sequence input stream initialized to the specified enumeration of input streams.
    SequenceInputStream(InputStream, InputStream)
    Constructs a new sequence input stream initialized to read first from the input stream s1, and then from the input stream s2.

    Method Index

    available()
    Returns the number of bytes available on the current stream.
    close()
    Closes this input stream and releases any system resources associated with the stream.
    read()
    Reads the next byte of data from this input stream.
    read(byte[], int, int)
    Reads up to len bytes of data from this input stream into an array of bytes.

    Constructors

    SequenceInputStream
     public SequenceInputStream(Enumeration e)
    
    Constructs a new sequence input stream initialized to the specified enumeration of input streams. Each object in the enumeration must be an InputStream.

    Parameters:
    e - an enumeration of input streams.
    See Also:
    Enumeration
    SequenceInputStream
     public SequenceInputStream(InputStream s1,
                                InputStream s2)
    
    Constructs a new sequence input stream initialized to read first from the input stream s1, and then from the input stream s2.

    Parameters:
    s1 - the first input stream to read.
    s2 - the second input stream to read.

    Methods

    available
     public int available() throws IOException
    
    Returns the number of bytes available on the current stream.

    Overrides:
    available in class InputStream
    read
     public int read() throws IOException
    
    Reads the next byte of data from this input stream. The byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

    The read method of SequenceInputStream tries to read one character from the current substream. If it reaches the end of the stream, it calls the close method of the current substream and begins reading from the next substream.

    Returns:
    the next byte of data, or -1 if the end of the stream is reached.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class InputStream
    read
     public int read(byte buf[],
                     int pos,
                     int len) throws IOException
    
    Reads up to len bytes of data from this input stream into an array of bytes. This method blocks until at least 1 byte of input is available. If the first argument is null, up to len bytes are read and discarded.

    The read method of SequenceInputStream tries to read the data from the current substream. If it fails to read any characters because the substream has reached the end of the stream, it calls the close method of the current substream and begins reading from the next substream.

    Parameters:
    b - the buffer into which the data is read.
    off - the start offset of the data.
    len - the maximum number of bytes read.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class InputStream
    close
     public void close() throws IOException
    
    Closes this input stream and releases any system resources associated with the stream.

    The close method of SequenceInputStream calls the close method of both the substream from which it is currently reading and the close method of all the substreams that it has not yet begun to read from.

    Throws: IOException
    if an I/O error occurs.
    Overrides:
    close in class InputStream

    >a kjʛ$E756$`;./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.sequenceinputstream_mi.htmm$$ Interface java.io.Serializable

    Interface java.io.Serializable

    public interface Serializable

    Serializability of a class is enabled by the class implementing the java.io.Serializable interface. Classes that do not implement this interface will not have any of their state serialized or deserialized. All subtypes of a serializable class are themselves serializable. The serialization interface has no methods or fields and serves only to identify the semantics of being serializable.

    To allow subtypes of non-serializable classes to be serialized, the subtype may assume responsibility for saving and restoring the state of the supertype's public, protected, and (if accessible) package fields. The subtype may assume this responsibility only if the class it extends has an accessible no-arg constructor to initialize the class's state. It is an error to declare a class Serializable in this case. The error will be detected at runtime.

    During deserialization, the fields of non-serializable classes will be initialized using the public or protected no-arg constructor of the class. A no-arg constructor must be accessible to the subclass that is serializable. The fields of serializable subclasses will be restored from the stream.

    When traversing a graph, an object may be encountered that does not support the Serializable interface. In this case the NotSerializableException will be thrown and will identify the class of the non-serializable object.

    Classes that require special handling during the serialization and deserialization process must implement special methods with these exact signatures:

     private void writeObject(java.io.ObjectOutputStream out)
         throws IOException
     private void readObject(java.io.ObjectInputStream in)
         throws IOException, ClassNotFoundException; 
     

    The writeObject method is responsible for writing the state of the object for its particular class so that the corresponding readObject method can restore it. The default mechanism for saving the Object's fields can be invoked by calling out.defaultWriteObject. The method does not need to concern itself with the state belonging to its superclasses or subclasses. State is saved by writing the individual fields to the ObjectOutputStream using the writeObject method or by using the methods for primitive data types supported by DataOutput.

    The readObject method is responsible for reading from the stream and restoring the classes fields. It may call in.defaultReadObject to invoke the default mechanism for restoring the object's non-static and non-transient fields. The defaultReadObject method uses information in the stream to assign the fields of the object saved in the stream with the correspondingly named fields in the current object. This handles the case when the class has evolved to add new fields. The method does not need to concern itself with the state belonging to its superclasses or subclasses. State is saved by writing the individual fields to the ObjectOutputStream using the writeObject method or by using the methods for primitive data types supported by DataOutput.

    Since:
    JDK1.1
    See Also:
    ObjectOutputStream, ObjectInputStream, ObjectOutput, ObjectInput, Externalizable

     kش͛$E756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.serializable_mi.htmi.h$$ Class java.io.StreamCorruptedException

    Class java.io.StreamCorruptedException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.ObjectStreamException
                                       |
                                       +----java.io.StreamCorruptedException
    

    public class StreamCorruptedException
    extends ObjectStreamException

    Raised when control information read from an object stream violates internal consistency checks.


    Constructor Index

    StreamCorruptedException()
    Create a StreamCorruptedException with no reason.
    StreamCorruptedException(String)
    Create a StreamCorruptedException with a reason.

    Constructors

    StreamCorruptedException
     public StreamCorruptedException(String reason)
    
    Create a StreamCorruptedException with a reason.

    StreamCorruptedException
     public StreamCorruptedException()
    
    Create a StreamCorruptedException with no reason.


    ject kЛ$F756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.streamcorruptedexception_mi.htm$$ Class java.io.StringBufferInputStream

    Class java.io.StringBufferInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.StringBufferInputStream
    

    public class StringBufferInputStream
    extends InputStream

    Note: StringBufferInputStream is deprecated. This class does not properly convert characters into bytes. As of JDK 1.1, the preferred way to create a stream from a string is via the StringReader class.

    This class allows an application to create an input stream in which the bytes read are supplied by the contents of a string. Applications can also read bytes from a byte array by using a ByteArrayInputStream.

    Only the low eight bits of each character in the string are used by this class.

    Since:
    JDK1.0
    See Also:
    ByteArrayInputStream, StringReader

    Variable Index

    buffer
    The string from which bytes are read.
    count
    The number of valid characters in the input stream buffer.
    pos
    The index of the next character to read from the input stream buffer.

    Constructor Index

    StringBufferInputStream(String)
    Creates a string input stream to read data from the specified string.

    Method Index

    available()
    Returns the number of bytes that can be read from the input stream without blocking.
    read()
    Reads the next byte of data from this input stream.
    read(byte[], int, int)
    Reads up to len bytes of data from this input stream into an array of bytes.
    reset()
    Resets the input stream to begin reading from the first character of this input stream's underlying buffer.
    skip(long)
    Skips n bytes of input from this input stream.

    Variables

    buffer
     protected String buffer
    
    The string from which bytes are read.

    pos
     protected int pos
    
    The index of the next character to read from the input stream buffer.

    See Also:
    buffer
    count
     protected int count
    
    The number of valid characters in the input stream buffer.

    See Also:
    buffer

    Constructors

    StringBufferInputStream
     public StringBufferInputStream(String s)
    
    Creates a string input stream to read data from the specified string.

    Parameters:
    s - the underlying input buffer.

    Methods

    read
     public synchronized int read()
    
    Reads the next byte of data from this input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned.

    The read method of StringBufferInputStream cannot block. It returns the low eight bits of the next character in this input stream's buffer.

    Returns:
    the next byte of data, or -1 if the end of the stream is reached.
    Overrides:
    read in class InputStream
    read
     public synchronized int read(byte b[],
                                  int off,
                                  int len)
    
    Reads up to len bytes of data from this input stream into an array of bytes.

    The read method of StringBufferInputStream cannot block. It copies the low eight bits from the characters in this input stream's buffer into the byte array argument.

    Parameters:
    b - the buffer into which the data is read.
    off - the start offset of the data.
    len - the maximum number of bytes read.
    Returns:
    the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
    Overrides:
    read in class InputStream
    skip
     public synchronized long skip(long n)
    
    Skips n bytes of input from this input stream. Fewer bytes might be skipped if the end of the input stream is reached.

    Parameters:
    n - the number of bytes to be skipped.
    Returns:
    the actual number of bytes skipped.
    Overrides:
    skip in class InputStream
    available
     public synchronized int available()
    
    Returns the number of bytes that can be read from the input stream without blocking.

    Returns:
    the value of count - pos, which is the number of bytes remaining to be read from the input buffer.
    Overrides:
    available in class InputStream
    reset
     public synchronized void reset()
    
    Resets the input stream to begin reading from the first character of this input stream's underlying buffer.

    Overrides:
    reset in class InputStream

    >read< k֛$F756$P&./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.stringbufferinputstream_mi.htm$$ Class java.io.StringReader

    Class java.io.StringReader

    java.lang.Object
       |
       +----java.io.Reader
               |
               +----java.io.StringReader
    

    public class StringReader
    extends Reader

    A character stream whose source is a string.


    Constructor Index

    StringReader(String)
    Create a new string reader.

    Method Index

    close()
    Close the stream.
    mark(int)
    Mark the present position in the stream.
    markSupported()
    Tell whether this stream supports the mark() operation, which it does.
    read()
    Read a single character.
    read(char[], int, int)
    Read characters into a portion of an array.
    ready()
    Tell whether this stream is ready to be read.
    reset()
    Reset the stream to the most recent mark, or to the beginning of the string if it has never been marked.
    skip(long)
    Skip characters.

    Constructors

    StringReader
     public StringReader(String s)
    
    Create a new string reader.


    Methods

    read
     public int read() throws IOException
    
    Read a single character.

    Returns:
    The character read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    read
     public int read(char cbuf[],
                     int off,
                     int len) throws IOException
    
    Read characters into a portion of an array.

    Parameters:
    cbuf - Destination buffer
    off - Offset at which to start writing characters
    len - Maximum number of characters to read
    Returns:
    The number of characters read, or -1 if the end of the stream has been reached
    Throws: IOException
    If an I/O error occurs
    Overrides:
    read in class Reader
    skip
     public long skip(long ns) throws IOException
    
    Skip characters.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    skip in class Reader
    ready
     public boolean ready()
    
    Tell whether this stream is ready to be read. String readers are always ready to be read.

    Overrides:
    ready in class Reader
    markSupported
     public boolean markSupported()
    
    Tell whether this stream supports the mark() operation, which it does.

    Overrides:
    markSupported in class Reader
    mark
     public void mark(int readAheadLimit) throws IOException
    
    Mark the present position in the stream. Subsequent calls to reset() will reposition the stream to this point.

    Parameters:
    readAheadLimit - Limit on the number of characters that may be read while still preserving the mark. Because the stream's input comes from a string, there is no actual limit, so this argument is ignored.
    Throws: IOException
    If an I/O error occurs
    Overrides:
    mark in class Reader
    reset
     public void reset() throws IOException
    
    Reset the stream to the most recent mark, or to the beginning of the string if it has never been marked.

    Throws: IOException
    If an I/O error occurs
    Overrides:
    reset in class Reader
    close
     public void close()
    
    Close the stream.

    Overrides:
    close in class Reader

    Class java.io.StringWriter

    Class java.io.StringWriter

    java.lang.Object
       |
       +----java.io.Writer
               |
               +----java.io.StringWriter
    

    public class StringWriter
    extends Writer

    A character stream that collects its output in a string buffer, which can then be used to construct a string.


    Constructor Index

    StringWriter()
    Create a new string writer, using the default initial string-buffer size.
    StringWriter(int)
    Create a new string writer, using the specified initial string-buffer size.

    Method Index

    close()
    Close the stream.
    flush()
    Flush the stream.
    getBuffer()
    Return the string buffer itself.
    toString()
    Return the buffer's current value as a string.
    write(char[], int, int)
    Write a portion of an array of characters.
    write(int)
    Write a single character.
    write(String)
    Write a string.
    write(String, int, int)
    Write a portion of a string.

    Constructors

    StringWriter
     public StringWriter()
    
    Create a new string writer, using the default initial string-buffer size.

    StringWriter
     protected StringWriter(int initialSize)
    
    Create a new string writer, using the specified initial string-buffer size.


    Methods

    write
     public void write(int c)
    
    Write a single character.

    Overrides:
    write in class Writer
    write
     public void write(char cbuf[],
                       int off,
                       int len)
    
    Write a portion of an array of characters.

    Parameters:
    cbuf - Array of characters
    off - Offset from which to start writing characters
    len - Number of characters to write
    Overrides:
    write in class Writer
    write
     public void write(String str)
    
    Write a string.

    Overrides:
    write in class Writer
    write
     public void write(String str,
                       int off,
                       int len)
    
    Write a portion of a string.

    Parameters:
    str - String to be written
    off - Offset from which to start writing characters
    len - Number of characters to write
    Overrides:
    write in class Writer
    toString
     public String toString()
    
    Return the buffer's current value as a string.

    Overrides:
    toString in class Object
    getBuffer
     public StringBuffer getBuffer()
    
    Return the string buffer itself.

    flush
     public void flush()
    
    Flush the stream.

    Overrides:
    flush in class Writer
    close
     public void close()
    
    Close the stream. This method does not release the buffer, since its contents might still be required.

    Overrides:
    close in class Writer

    Class java.io.SyncFailedException

    Class java.io.SyncFailedException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.SyncFailedException
    

    public class SyncFailedException
    extends IOException


    Constructor Index

    SyncFailedException(String)
    Constructs an SyncFailedException with a detail message.

    Constructors

    SyncFailedException
     public SyncFailedException(String desc)
    
    Constructs an SyncFailedException with a detail message. A detail message is a String that describes this particular exception.


     khߛ$G756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.syncfailedexception_mi.htmtm$$ Class java.io.UnsupportedEncodingException

    Class java.io.UnsupportedEncodingException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.UnsupportedEncodingException
    

    public class UnsupportedEncodingException
    extends IOException

    The Character Encoding is not supported


    Constructor Index

    UnsupportedEncodingException()
    no detailed message
    UnsupportedEncodingException(String)
    detailed message

    Constructors

    UnsupportedEncodingException
     public UnsupportedEncodingException()
    
    no detailed message

    UnsupportedEncodingException
     public UnsupportedEncodingException(String s)
    
    detailed message

    Parameters:
    s - - detailed message

    n k~$9H756$`9./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.unsupportedencodingexception_mi.htmm$$ Class java.io.UTFDataFormatException

    Class java.io.UTFDataFormatException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.UTFDataFormatException
    

    public class UTFDataFormatException
    extends IOException

    Signals that a malformed UTF-8 string has been read in a data input stream or by any class that implements the data input interface. See the writeUTF method for the format in which UTF-8 strings are read and written.

    Since:
    JDK1.0
    See Also:
    DataInput, readUTF, IOException

    Constructor Index

    UTFDataFormatException()
    Constructs a UTFDataFormatException with no detail message.
    UTFDataFormatException(String)
    Constructs a UTFDataFormatException with the specified detail message.

    Constructors

    UTFDataFormatException
     public UTFDataFormatException()
    
    Constructs a UTFDataFormatException with no detail message.

    UTFDataFormatException
     public UTFDataFormatException(String s)
    
    Constructs a UTFDataFormatException with the specified detail message.

    Parameters:
    s - the detail message.

    :./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.utfdataformatexception_mi.htm.$$ Class java.io.WriteAbortedException

    Class java.io.WriteAbortedException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.io.ObjectStreamException
                                       |
                                       +----java.io.WriteAbortedException
    

    public class WriteAbortedException
    extends ObjectStreamException


    Variable Index

    detail

    Constructor Index

    WriteAbortedException(String, Exception)
    A WriteAbortedException is thrown during a read when one of the ObjectStreamExceptions was thrown during writing.

    Method Index

    getMessage()
    Produce the message, include the message from the nested exception if there is one.

    Variables

    detail
     public Exception detail
    

    Constructors

    WriteAbortedException
     public WriteAbortedException(String s,
                                  Exception ex)
    
    A WriteAbortedException is thrown during a read when one of the ObjectStreamExceptions was thrown during writing. The exception that terminated the write can be found in the detail field. The stream is reset to it's initial state, all references to objects already deserialized are discarded.


    Methods

    getMessage
     public String getMessage()
    
    Produce the message, include the message from the nested exception if there is one.

    Overrides:
    getMessage in class Throwable

    ="Co k$H756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.writeabortedexception_mi.htm.$$ Class java.io.Writer

    Class java.io.Writer

    java.lang.Object
       |
       +----java.io.Writer
    

    public abstract class Writer
    extends Object
    super class of:
    BufferedWriter, CharArrayWriter, FilterWriter, OutputStreamWriter, PipedWriter, PrintWriter, StringWriter

    Abstract class for writing to character streams. The only methods that a subclass must implement are write(char[], int, int), flush(), and close(). Most subclasses, however, will override some of the methods defined here in order to provide higher efficiency, additional functionality, or both.

    Since:
    JDK1.1
    See Also:
    Writer, BufferedWriter, CharArrayWriter, FilterWriter, OutputStreamWriter, FileWriter, PipedWriter, PrintWriter, StringWriter, Reader

    Variable Index

    lock
    The object used to synchronize operations on this stream.

    Constructor Index

    Writer()
    Create a new character-stream writer whose critical sections will synchronize on the writer itself.
    Writer(Object)
    Create a new character-stream writer whose critical sections will synchronize on the given object.

    Method Index

    close()
    Close the stream, flushing it first.
    flush()
    Flush the stream.
    write(char[])
    Write an array of characters.
    write(char[], int, int)
    Write a portion of an array of characters.
    write(int)
    Write a single character.
    write(String)
    Write a string.
    write(String, int, int)
    Write a portion of a string.

    Variables

    lock
     protected Object lock
    
    The object used to synchronize operations on this stream. For efficiency, a character-stream object may use an object other than itself to protect critical sections. A subclass should therefore use the object in this field rather than this or a synchronized method.


    Constructors

    Writer
     protected Writer()
    
    Create a new character-stream writer whose critical sections will synchronize on the writer itself.

    Writer
     protected Writer(Object lock)
    
    Create a new character-stream writer whose critical sections will synchronize on the given object.


    Methods

    write
     public void write(int c) throws IOException
    
    Write a single character. The character to be written is contained in the 16 low-order bits of the given integer value; the 16 high-order bits are ignored.

    Subclasses that intend to support efficient single-character output should override this method.

    Throws: IOException
    If an I/O error occurs
    write
     public void write(char cbuf[]) throws IOException
    
    Write an array of characters.

    Parameters:
    cbuf - Array of characters to be written
    Throws: IOException
    If an I/O error occurs
    write
     public abstract void write(char cbuf[],
                                int off,
                                int len) throws IOException
    
    Write a portion of an array of characters.

    Parameters:
    cbuf - Array of characters
    off - Offset from which to start writing characters
    len - Number of characters to write
    Throws: IOException
    If an I/O error occurs
    write
     public void write(String str) throws IOException
    
    Write a string.

    Parameters:
    str - String to be written
    Throws: IOException
    If an I/O error occurs
    write
     public void write(String str,
                       int off,
                       int len) throws IOException
    
    Write a portion of a string.

    Parameters:
    str - A String
    off - Offset from which to start writing characters
    len - Number of characters to write
    Throws: IOException
    If an I/O error occurs
    flush
     public abstract void flush() throws IOException
    
    Flush the stream. If the stream has saved any characters from the various write() methods in a buffer, write them immediately to their intended destination. Then, if that destination is another character or byte stream, flush it. Thus one flush() invocation will flush all the buffers in a chain of Writers and OutputStreams.

    Throws: IOException
    If an I/O error occurs
    close
     public abstract void close() throws IOException
    
    Close the stream, flushing it first. Once a stream has been closed, further write() or flush() invocations will cause an IOException to be thrown. Closing a previously-closed stream, however, has no effect.

    Throws: IOException
    If an I/O error occurs

    t  kJ%$I756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.io.writer_mi.htme$$ Class java.lang.AbstractMethodError

    Class java.lang.AbstractMethodError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.IncompatibleClassChangeError
                                       |
                                       +----java.lang.AbstractMethodError
    

    public class AbstractMethodError
    extends IncompatibleClassChangeError

    Thrown when an application tries to call an abstract method. Normally, this error is caught by the compiler; this error can only occur at run time if the definition of some class has incompatibly changed since the currently executing method was last compiled.


    Constructor Index

    AbstractMethodError()
    Constructs an AbstractMethodError with no detail message.
    AbstractMethodError(String)
    Constructs an AbstractMethodError with the specified detail message.

    Constructors

    AbstractMethodError
     public AbstractMethodError()
    
    Constructs an AbstractMethodError with no detail message.

    AbstractMethodError
     public AbstractMethodError(String s)
    
    Constructs an AbstractMethodError with the specified detail message.

    Parameters:
    s - the detail message.

    oid k$I756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.abstractmethoderror_mi.htm.$$ Class java.lang.ArithmeticException

    Class java.lang.ArithmeticException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.ArithmeticException
    

    public class ArithmeticException
    extends RuntimeException

    Thrown when an exceptional arithmetic condition has occurred. For example, an integer "divide by zero" throws an instance of this class.


    Constructor Index

    ArithmeticException()
    Constructs an ArithmeticException with no detail message.
    ArithmeticException(String)
    Constructs an ArithmeticException with the specified detail message.

    Constructors

    ArithmeticException
     public ArithmeticException()
    
    Constructs an ArithmeticException with no detail message.

    ArithmeticException
     public ArithmeticException(String s)
    
    Constructs an ArithmeticException with the specified detail message.

    Parameters:
    s - the detail message.

     k$I756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.arithmeticexception_mi.htm.$$ Class java.lang.ArrayIndexOutOfBoundsException

    Class java.lang.ArrayIndexOutOfBoundsException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IndexOutOfBoundsException
                                       |
                                       +----java.lang.ArrayIndexOutOfBoundsException
    

    public class ArrayIndexOutOfBoundsException
    extends IndexOutOfBoundsException

    Thrown to indicate that an array has been accessed with an illegal index. The index is either negative or greater than or equal to the size of the array.


    Constructor Index

    ArrayIndexOutOfBoundsException()
    Constructs an ArrayIndexOutOfBoundsException with no detail message.
    ArrayIndexOutOfBoundsException(int)
    Constructs a new ArrayIndexOutOfBoundsException class with an argument indicating the illegal index.
    ArrayIndexOutOfBoundsException(String)
    Constructs an ArrayIndexOutOfBoundsException class with the specified detail message.

    Constructors

    ArrayIndexOutOfBoundsException
     public ArrayIndexOutOfBoundsException()
    
    Constructs an ArrayIndexOutOfBoundsException with no detail message.

    ArrayIndexOutOfBoundsException
     public ArrayIndexOutOfBoundsException(int index)
    
    Constructs a new ArrayIndexOutOfBoundsException class with an argument indicating the illegal index.

    Parameters:
    index - the illegal index.
    ArrayIndexOutOfBoundsException
     public ArrayIndexOutOfBoundsException(String s)
    
    Constructs an ArrayIndexOutOfBoundsException class with the specified detail message.

    Parameters:
    s - the detail message.

    lass k>$J756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.arrayindexoutofboundsexception_mi.htm$$ Class java.lang.ArrayStoreException

    Class java.lang.ArrayStoreException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.ArrayStoreException
    

    public class ArrayStoreException
    extends RuntimeException

    Thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects. For example, the following code generates an ArrayStoreException:

         Object x[] = new String[3];
         x[0] = new Integer(0);
     


    Constructor Index

    ArrayStoreException()
    Constructs an ArrayStoreException with no detail message.
    ArrayStoreException(String)
    Constructs an ArrayStoreException with the specified detail message.

    Constructors

    ArrayStoreException
     public ArrayStoreException()
    
    Constructs an ArrayStoreException with no detail message.

    ArrayStoreException
     public ArrayStoreException(String s)
    
    Constructs an ArrayStoreException with the specified detail message.

    Parameters:
    s - the detail message.

    rayInd k$J756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.arraystoreexception_mi.htmon$$ Class java.lang.Boolean

    Class java.lang.Boolean

    java.lang.Object
       |
       +----java.lang.Boolean
    

    public final class Boolean
    extends Object
    implements Serializable

    The Boolean class wraps a value of the primitive type boolean in an object. An object of type Boolean contains a single field whose type is boolean.

    In addition, this class provides many methods for converting a boolean to a String and a String to a boolean, as well as other constants and methods useful when dealing with a boolean.


    Variable Index

    FALSE
    The Boolean object corresponding to the primitive value false.
    TRUE
    The Boolean object corresponding to the primitive value true.
    TYPE
    The Class object representing the primitive type boolean.

    Constructor Index

    Boolean(boolean)
    Allocates a Boolean object representing the value argument.
    Boolean(String)
    Allocates a Boolean object representing the value true if the string argument is not null and is equal, ignoring case, to the string "true".

    Method Index

    booleanValue()
    Returns the value of this Boolean object as a boolean.
    equals(Object)
    Returns true if and only if the argument is not null and is a Boolean object that contains the same boolean value as this object.
    getBoolean(String)
    Returns is true if and only if the system property named by the argument exists and is equal to the string "true".
    hashCode()
    Returns a hash code for this Boolean.
    toString()
    Returns a String object representing this Boolean's value.
    valueOf(String)
    Returns the boolean value represented by the specified String.

    Variables

    TRUE
     public static final Boolean TRUE
    
    The Boolean object corresponding to the primitive value true.

    FALSE
     public static final Boolean FALSE
    
    The Boolean object corresponding to the primitive value false.

    TYPE
     public static final Class TYPE
    
    The Class object representing the primitive type boolean.


    Constructors

    Boolean
     public Boolean(boolean value)
    
    Allocates a Boolean object representing the value argument.

    Parameters:
    value - the value of the Boolean.
    Boolean
     public Boolean(String s)
    
    Allocates a Boolean object representing the value true if the string argument is not null and is equal, ignoring case, to the string "true". Otherwise, allocate a Boolean object representing the value false.

    Parameters:
    s - the string to be converted to a Boolean.

    Methods

    booleanValue
     public boolean booleanValue()
    
    Returns the value of this Boolean object as a boolean.

    Returns:
    the primitive boolean value of this object.
    valueOf
     public static Boolean valueOf(String s)
    
    Returns the boolean value represented by the specified String. A new Boolean object is constructed. This Boolean contains the value true if the string argument is not null and is equal, ignoring case, to the string "true".

    Parameters:
    s - a string.
    Returns:
    the Boolean value represented by the string.
    toString
     public String toString()
    
    Returns a String object representing this Boolean's value. If this object contains the value true, a string equal to "true" is returned. Otherwise, a string equal to "false" is returned.

    Returns:
    a string representation of this object.
    Overrides:
    toString in class Object
    hashCode
     public int hashCode()
    
    Returns a hash code for this Boolean.

    Returns:
    a hash code value for this object.
    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Returns true if and only if the argument is not null and is a Boolean object that contains the same boolean value as this object.

    Parameters:
    obj - the object to compare with.
    Returns:
    true if the objects are the same; false otherwise.
    Overrides:
    equals in class Object
    getBoolean
     public static boolean getBoolean(String name)
    
    Returns is true if and only if the system property named by the argument exists and is equal to the string "true". (Beginning with Java 1.0.2, the test of this string is case insensitive.) A system property is accessible through getProperty, a method defined by the System class.

    Parameters:
    name - the system property name.
    Returns:
    the boolean value of the system property.
    See Also:
    getProperty, getProperty

    d k*$J756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.boolean_mi.htmion_mi$$ Class java.lang.Byte

    Class java.lang.Byte

    java.lang.Object
       |
       +----java.lang.Number
               |
               +----java.lang.Byte
    

    public final class Byte
    extends Number

    The Byte class is the standard wrapper for byte values.

    Since:
    JDK1.1
    See Also:
    Number

    Variable Index

    MAX_VALUE
    The maximum value a Byte can have.
    MIN_VALUE
    The minimum value a Byte can have.
    TYPE
    The Class object representing the primitive type byte.

    Constructor Index

    Byte(byte)
    Constructs a Byte object initialized to the specified byte value.
    Byte(String)
    Constructs a Byte object initialized to the value specified by the String parameter.

    Method Index

    byteValue()
    Returns the value of this Byte as a byte.
    decode(String)
    Decodes a String into a Byte.
    doubleValue()
    Returns the value of this Byte as a double.
    equals(Object)
    Compares this object to the specified object.
    floatValue()
    Returns the value of this Byte as a float.
    hashCode()
    Returns a hashcode for this Byte.
    intValue()
    Returns the value of this Byte as an int.
    longValue()
    Returns the value of this Byte as a long.
    parseByte(String)
    Assuming the specified String represents a byte, returns that byte's value.
    parseByte(String, int)
    Assuming the specified String represents a byte, returns that byte's value.
    shortValue()
    Returns the value of this Byte as a short.
    toString()
    Returns a String object representing this Byte's value.
    toString(byte)
    Returns a new String object representing the specified Byte.
    valueOf(String)
    Assuming the specified String represents a byte, returns a new Byte object initialized to that value.
    valueOf(String, int)
    Assuming the specified String represents a byte, returns a new Byte object initialized to that value.

    Variables

    MIN_VALUE
     public static final byte MIN_VALUE
    
    The minimum value a Byte can have.

    MAX_VALUE
     public static final byte MAX_VALUE
    
    The maximum value a Byte can have.

    TYPE
     public static final Class TYPE
    
    The Class object representing the primitive type byte.


    Constructors

    Byte
     public Byte(byte value)
    
    Constructs a Byte object initialized to the specified byte value.

    Parameters:
    value - the initial value of the Byte
    Byte
     public Byte(String s) throws NumberFormatException
    
    Constructs a Byte object initialized to the value specified by the String parameter. The radix is assumed to be 10.

    Parameters:
    s - the String to be converted to a Byte
    Throws: NumberFormatException
    If the String does not contain a parsable byte.

    Methods

    toString
     public static String toString(byte b)
    
    Returns a new String object representing the specified Byte. The radix is assumed to be 10.

    Parameters:
    b - the byte to be converted
    parseByte
     public static byte parseByte(String s) throws NumberFormatException
    
    Assuming the specified String represents a byte, returns that byte's value. Throws an exception if the String cannot be parsed as a byte. The radix is assumed to be 10.

    Parameters:
    s - the String containing the byte
    Throws: NumberFormatException
    If the string does not contain a parsable byte.
    parseByte
     public static byte parseByte(String s,
                                  int radix) throws NumberFormatException
    
    Assuming the specified String represents a byte, returns that byte's value. Throws an exception if the String cannot be parsed as a byte.

    Parameters:
    s - the String containing the byte
    radix - the radix to be used
    Throws: NumberFormatException
    If the String does not contain a parsable byte.
    valueOf
     public static Byte valueOf(String s,
                                int radix) throws NumberFormatException
    
    Assuming the specified String represents a byte, returns a new Byte object initialized to that value. Throws an exception if the String cannot be parsed as a byte.

    Parameters:
    s - the String containing the integer
    radix - the radix to be used
    Throws: NumberFormatException
    If the String does not contain a parsable byte.
    valueOf
     public static Byte valueOf(String s) throws NumberFormatException
    
    Assuming the specified String represents a byte, returns a new Byte object initialized to that value. Throws an exception if the String cannot be parsed as a byte. The radix is assumed to be 10.

    Parameters:
    s - the String containing the integer
    Throws: NumberFormatException
    If the String does not contain a parsable byte.
    decode
     public static Byte decode(String nm) throws NumberFormatException
    
    Decodes a String into a Byte. The String may represent decimal, hexadecimal, and octal numbers.

    Parameters:
    nm - the string to decode
    byteValue
     public byte byteValue()
    
    Returns the value of this Byte as a byte.

    Overrides:
    byteValue in class Number
    shortValue
     public short shortValue()
    
    Returns the value of this Byte as a short.

    Overrides:
    shortValue in class Number
    intValue
     public int intValue()
    
    Returns the value of this Byte as an int.

    Overrides:
    intValue in class Number
    longValue
     public long longValue()
    
    Returns the value of this Byte as a long.

    Overrides:
    longValue in class Number
    floatValue
     public float floatValue()
    
    Returns the value of this Byte as a float.

    Overrides:
    floatValue in class Number
    doubleValue
     public double doubleValue()
    
    Returns the value of this Byte as a double.

    Overrides:
    doubleValue in class Number
    toString
     public String toString()
    
    Returns a String object representing this Byte's value.

    Overrides:
    toString in class Object
    hashCode
     public int hashCode()
    
    Returns a hashcode for this Byte.

    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Compares this object to the specified object.

    Parameters:
    obj - the object to compare with
    Returns:
    true if the objects are the same; false otherwise.
    Overrides:
    equals in class Object

    es a  k%$J756$0./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.byte_mi.htmm$$ Class java.lang.ClassCastException

    Class java.lang.ClassCastException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.ClassCastException
    

    public class ClassCastException
    extends RuntimeException

    Thrown to indicate that the code has attempted to cast an object to a subclass of which it is not an instance. For example, the following code generates a ClassCastException:

         Object x = new Integer(0);
         System.out.println((String)x);
     


    Constructor Index

    ClassCastException()
    Constructs a ClassCastException with no detail message.
    ClassCastException(String)
    Constructs a ClassCastException with the specified detail message.

    Constructors

    ClassCastException
     public ClassCastException()
    
    Constructs a ClassCastException with no detail message.

    ClassCastException
     public ClassCastException(String s)
    
    Constructs a ClassCastException with the specified detail message.

    Parameters:
    s - the detail message.

     k"$K756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.classcastexception_mi.htmon$$ Class java.lang.ClassCircularityError

    Class java.lang.ClassCircularityError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.ClassCircularityError
    

    public class ClassCircularityError
    extends LinkageError

    Thrown when a circularity has been detected while initializing a class.


    Constructor Index

    ClassCircularityError()
    Constructs a ClassCircularityError with no detail message.
    ClassCircularityError(String)
    Constructs a ClassCircularityError with the specified detail message.

    Constructors

    ClassCircularityError
     public ClassCircularityError()
    
    Constructs a ClassCircularityError with no detail message.

    ClassCircularityError
     public ClassCircularityError(String s)
    
    Constructs a ClassCircularityError with the specified detail message.

    Parameters:
    s - the detail message.

    hods  k6y $L756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.classcircularityerror_mi.htm$$ Class java.lang.ClassFormatError

    Class java.lang.ClassFormatError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.ClassFormatError
    

    public class ClassFormatError
    extends LinkageError

    Thrown when the Java Virtual Machine attempts to read a class file and determines that the file is malformed or otherwise cannot be interpreted as a class file.


    Constructor Index

    ClassFormatError()
    Constructs a ClassFormatError with no detail message.
    ClassFormatError(String)
    Constructs a ClassFormatError with the specified detail message.

    Constructors

    ClassFormatError
     public ClassFormatError()
    
    Constructs a ClassFormatError with no detail message.

    ClassFormatError
     public ClassFormatError(String s)
    
    Constructs a ClassFormatError with the specified detail message.

    Parameters:
    s - the detail message.

    > k $L756$p?./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.classformaterror_mi.htmhtm$$ Class java.lang.ClassNotFoundException

    Class java.lang.ClassNotFoundException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.ClassNotFoundException
    

    public class ClassNotFoundException
    extends Exception

    Thrown when an application tries to load in a class through its string name using:

    • The forName method in class Class.
    • The findSystemClass method in class ClassLoader .
    • The loadClass method in class ClassLoader.

    but no definition for the class with the specifed name could be found.

    Since:
    JDK1.0
    See Also:
    forName, findSystemClass, loadClass

    Constructor Index

    ClassNotFoundException()
    Constructs a ClassNotFoundException with no detail message.
    ClassNotFoundException(String)
    Constructs a ClassNotFoundException with the specified detail message.

    Constructors

    ClassNotFoundException
     public ClassNotFoundException()
    
    Constructs a ClassNotFoundException with no detail message.

    ClassNotFoundException
     public ClassNotFoundException(String s)
    
    Constructs a ClassNotFoundException with the specified detail message.

    Parameters:
    s - the detail message.

      kꎿ$M756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.classnotfoundexception_mi.htm$$ Interface java.lang.Cloneable

    Interface java.lang.Cloneable

    public interface Cloneable

    A class implements the Cloneable interface to indicate to the clone method in class Object that it is legal for that method to make a field-for-field copy of instances of that class.

    Attempts to clone instances that do not implement the Cloneable interface result in the exception CloneNotSupportedException being thrown.

    Since:
    JDK1.0
    See Also:
    CloneNotSupportedException

    ml/ent k>$M756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.cloneable_mi.htmtion$$ Class java.lang.CloneNotSupportedException

    Class java.lang.CloneNotSupportedException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.CloneNotSupportedException
    

    public class CloneNotSupportedException
    extends Exception
    super class of:
    ServerCloneException

    Thrown to indicate that the clone method in class Object has been called to clone an object, but that the object's class does not implement the Cloneable interface.

    Applications that override the clone method can also throw this exception to indicate that an object could not or should not be cloned.

    Since:
    JDK1.0
    See Also:
    Cloneable, clone

    Constructor Index

    CloneNotSupportedException()
    Constructs a CloneNotSupportedException with no detail message.
    CloneNotSupportedException(String)
    Constructs a CloneNotSupportedException with the specified detail message.

    Constructors

    CloneNotSupportedException
     public CloneNotSupportedException()
    
    Constructs a CloneNotSupportedException with no detail message.

    CloneNotSupportedException
     public CloneNotSupportedException(String s)
    
    Constructs a CloneNotSupportedException with the specified detail message.

    Parameters:
    s - the detail message.

    ZQ kؓ$1M756$`X1./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.clonenotsupportedexception_mi.htmtm$$ Class java.lang.Compiler

    Class java.lang.Compiler

    java.lang.Object
       |
       +----java.lang.Compiler
    

    public final class Compiler
    extends Object

    The Compiler class is provided to support Java-to-native-code compilers and related services. By design, the Compiler class does nothing; it serves as a placeholder for a JIT compiler implementation.

    When the Java Virtual Machine first starts, it determines if the system property java.compiler exists. (System properties are accessible through getProperty and , a method defined by the System class.) If so, it is assumed to be the name of a library (with a platform-dependent exact location and type); the loadLibrary method in class System is called to load that library. If this loading succeeds, the function named java_lang_Compiler_start() in that library is called.

    If no compiler is available, these methods do nothing.

    Since:
    JDK1.0
    See Also:
    getProperty, getProperty, loadLibrary

    Method Index

    command(Object)
    Examines the argument type and its fields and perform some documented operation.
    compileClass(Class)
    Compiles the specified class.
    compileClasses(String)
    Compiles all classes whose name matches the specified string.
    disable()
    Cause the Compiler to cease operation.
    enable()
    Cause the Compiler to resume operation.

    Methods

    compileClass
     public static native boolean compileClass(Class clazz)
    
    Compiles the specified class.

    Parameters:
    clazz - a class.
    Returns:
    true if the compilation succeeded; false if the compilation failed or no compiler is available.
    compileClasses
     public static native boolean compileClasses(String string)
    
    Compiles all classes whose name matches the specified string.

    Parameters:
    string - the name of the classes to compile.
    Returns:
    true if the compilation succeeded; false if the compilation failed or no compiler is available.
    command
     public static native Object command(Object any)
    
    Examines the argument type and its fields and perform some documented operation. No specific operations are required.

    Parameters:
    any - an argument.
    Returns:
    a compiler-specific value, or null if no compiler is available.
    enable
     public static native void enable()
    
    Cause the Compiler to resume operation.

    disable
     public static native void disable()
    
    Cause the Compiler to cease operation.


    er Class java.lang.Double

    Class java.lang.Double

    java.lang.Object
       |
       +----java.lang.Number
               |
               +----java.lang.Double
    

    public final class Double
    extends Number

    The Double class wraps a value of the primitive type double in an object. An object of type Double contains a single field whose type is double.

    In addition, this class provides several methods for converting a double to a String and a String to a double, as well as other constants and methods useful when dealing with a double.


    Variable Index

    MAX_VALUE
    The largest positive value of type double.
    MIN_VALUE
    The smallest positive value of type double.
    NaN
    A NaN value of type double.
    NEGATIVE_INFINITY
    The negative infinity of type double.
    POSITIVE_INFINITY
    The positive infinity of type double.
    TYPE
    The Class object representing the primitive type double.

    Constructor Index

    Double(double)
    Constructs a newly allocated Double object that represents the primitive double argument.
    Double(String)
    Constructs a newly allocated Double object that represents the floating- point value of type double represented by the string.

    Method Index

    byteValue()
    Returns the value of this Double as a byte (by casting to a byte).
    doubleToLongBits(double)
    Returns a representation of the specified floating-point value according to the IEEE 754 floating-point "double format" bit layout.
    doubleValue()
    Returns the double value of this Double.
    equals(Object)
    Compares this object against the specified object.
    floatValue()
    Returns the float value of this Double.
    hashCode()
    Returns a hashcode for this Double.
    intValue()
    Returns the integer value of this Double (by casting to an int).
    isInfinite()
    Returns true if this Double value is infinitely large in magnitude.
    isInfinite(double)
    Returns true if the specified number is infinitely large in magnitude.
    isNaN()
    Returns true if this Double value is the special Not-a-Number (NaN) value.
    isNaN(double)
    Returns true if the specified number is the special Not-a-Number (NaN) value.
    longBitsToDouble(long)
    Returns the double-float corresponding to a given bit represention.
    longValue()
    Returns the long value of this Double (by casting to a long).
    shortValue()
    Returns the value of this Double as a short (by casting to a short).
    toString()
    Returns a String representation of this Double object.
    toString(double)
    Creates a string representation of the double argument.
    valueOf(String)
    Returns a new Double value initialized to the value represented by the specified String.

    Variables

    POSITIVE_INFINITY
     public static final double POSITIVE_INFINITY
    
    The positive infinity of type double.

    NEGATIVE_INFINITY
     public static final double NEGATIVE_INFINITY
    
    The negative infinity of type double.

    NaN
     public static final double NaN
    
    A NaN value of type double.

    MAX_VALUE
     public static final double MAX_VALUE
    
    The largest positive value of type double.

    MIN_VALUE
     public static final double MIN_VALUE
    
    The smallest positive value of type double.

    TYPE
     public static final Class TYPE
    
    The Class object representing the primitive type double.


    Constructors

    Double
     public Double(double value)
    
    Constructs a newly allocated Double object that represents the primitive double argument.

    Parameters:
    value - the value to be represented by the Double.
    Double
     public Double(String s) throws NumberFormatException
    
    Constructs a newly allocated Double object that represents the floating- point value of type double represented by the string. The string is converted to a double value as if by the valueOf method.

    Parameters:
    s - a string to be converted to a Double.
    Throws: NumberFormatException
    if the string does not contain a parsable number.
    See Also:
    valueOf

    Methods

    toString
     public static String toString(double d)
    
    Creates a string representation of the double argument.

    The values NaN, NEGATIVE_INFINITY, POSITIVE_INFINITY, -0.0, and +0.0 are represented by the strings "NaN", "-Infinity", "Infinity", "-0.0", and "0.0", respectively.

    If d is in the range 10-3 <= |d| <=107, then it is converted to a string in the style [-]ddd.ddd. Otherwise, it is converted to a string in the style [-]m.ddddE±xx.

    There is always a minimum of one digit after the decimal point. The number of digits is the minimum needed to uniquely distinguish the argument value from adjacent values of type double.

    Parameters:
    d - the double to be converted.
    Returns:
    a string representation of the argument.
    valueOf
     public static Double valueOf(String s) throws NumberFormatException
    
    Returns a new Double value initialized to the value represented by the specified String.

    Parameters:
    s - the string to be parsed.
    Returns:
    a newly constructed Double initialized to the value represented by the string argument.
    Throws: NumberFormatException
    if the string does not contain a parsable number.
    isNaN
     public static boolean isNaN(double v)
    
    Returns true if the specified number is the special Not-a-Number (NaN) value.

    Parameters:
    v - the value to be tested.
    Returns:
    true if the value of the argument is NaN; false otherwise.
    isInfinite
     public static boolean isInfinite(double v)
    
    Returns true if the specified number is infinitely large in magnitude.

    Parameters:
    v - the value to be tested.
    Returns:
    true if the value of the argument is positive infinity or negative infinity; false otherwise.
    isNaN
     public boolean isNaN()
    
    Returns true if this Double value is the special Not-a-Number (NaN) value.

    Returns:
    true if the value represented by this object is NaN; false otherwise.
    isInfinite
     public boolean isInfinite()
    
    Returns true if this Double value is infinitely large in magnitude.

    Returns:
    true if the value represented by this object is positive infinity or negative infinity; false otherwise.
    toString
     public String toString()
    
    Returns a String representation of this Double object. The primitive double value represented by this object is converted to a string exactly as if by the method toString of one argument.

    Returns:
    a String representation of this object.
    Overrides:
    toString in class Object
    See Also:
    toString
    byteValue
     public byte byteValue()
    
    Returns the value of this Double as a byte (by casting to a byte).

    Overrides:
    byteValue in class Number
    shortValue
     public short shortValue()
    
    Returns the value of this Double as a short (by casting to a short).

    Overrides:
    shortValue in class Number
    intValue
     public int intValue()
    
    Returns the integer value of this Double (by casting to an int).

    Returns:
    the double value represented by this object is converted to type int and the result of the conversion is returned.
    Overrides:
    intValue in class Number
    longValue
     public long longValue()
    
    Returns the long value of this Double (by casting to a long).

    Returns:
    the double value represented by this object is converted to type long and the result of the conversion is returned.
    Overrides:
    longValue in class Number
    floatValue
     public float floatValue()
    
    Returns the float value of this Double.

    Returns:
    the double value represented by this object is converted to type float and the result of the conversion is returned.
    Overrides:
    floatValue in class Number
    doubleValue
     public double doubleValue()
    
    Returns the double value of this Double.

    Returns:
    the double value represented by this object.
    Overrides:
    doubleValue in class Number
    hashCode
     public int hashCode()
    
    Returns a hashcode for this Double.

    Returns:
    a hash code value for this object.
    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Compares this object against the specified object. The result is true if and only if the argument is not null and is a Double object that represents a double that has the identical bit pattern to the bit pattern of the double represented by this object.

    Note that in most cases, for two instances of class Double, d1 and d2, the value of d1.equals(d2) is true if and only if

      d1.doubleValue() == d2.doubleValue()

    also has the value true. However, there are two exceptions:

    • If d1 and d2 both represent Double.NaN, then the equals method returns true, even though Double.NaN==Double.NaN has the value false.
    • If d1 represents +0.0 while d2 represents -0.0, or vice versa, the equal test has the value false, even though +0.0==-0.0 has the value true.

    Parameters:
    obj - the object to compare with.
    Returns:
    true if the objects are the same; false otherwise.
    Overrides:
    equals in class Object
    doubleToLongBits
     public static native long doubleToLongBits(double value)
    
    Returns a representation of the specified floating-point value according to the IEEE 754 floating-point "double format" bit layout.

    Bit 63 represents the sign of the floating-point number. Bits 62-52 represent the exponent. Bits 51-0 represent the significand (sometimes called the mantissa) of the floating-point number.

    If the argument is positive infinity, the result is 0x7ff0000000000000L.

    If the argument is negative infinity, the result is 0xfff0000000000000L.

    If the argument is NaN, the result is 0x7ff8000000000000L.

    Parameters:
    value - a double precision floating-point number.
    Returns:
    the bits that represent the floating-point number.
    longBitsToDouble
     public static native double longBitsToDouble(long bits)
    
    Returns the double-float corresponding to a given bit represention. The argument is considered to be a representation of a floating-point value according to the IEEE 754 floating-point "double precision" bit layout. That floating-point value is returned as the result.

    If the argument is 0x7f80000000000000L, the result is positive infinity.

    If the argument is 0xff80000000000000L, the result is negative infinity.

    If the argument is any value in the range 0x7ff0000000000001L through 0x7fffffffffffffffL or in the range 0xfff0000000000001L through 0xffffffffffffffffL, the result is NaN. All IEEE 754 NaN values are, in effect, lumped together by the Java language into a single value.

    Parameters:
    bits - any long integer.
    Returns:
    the double floating-point value with the same bit pattern.

    tte k0i$ N756$09 ./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.double_mi.htm$$ Class java.lang.Error

    Class java.lang.Error

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
    

    public class Error
    extends Throwable
    super class of:
    AWTError, LinkageError, ThreadDeath, VirtualMachineError

    An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal conditions. The ThreadDeath error, though a "normal" condition, is also a subclass of Error because most applications should not try to catch it.

    A method is not required to declare in its throws clause any subclasses of Error that might be thrown during the execution of the method but not caught, since these errors are abnormal conditions that should never occur.

    Since:
    JDK1.0
    See Also:
    ThreadDeath

    Constructor Index

    Error()
    Constructs an Error with no specified detail message.
    Error(String)
    Constructs an Error with the specified detail message.

    Constructors

    Error
     public Error()
    
    Constructs an Error with no specified detail message.

    Error
     public Error(String s)
    
    Constructs an Error with the specified detail message.

    Parameters:
    s - the detail message.

    code> i k!$N756$ph./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.error_mi.htm$$ Class java.lang.Exception

    Class java.lang.Exception

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
    

    public class Exception
    extends Throwable
    super class of:
    AWTException, AclNotFoundException, AlreadyBoundException, ClassNotFoundException, CloneNotSupportedException, DataFormatException, DigestException, IOException, IllegalAccessException, InstantiationException, InterruptedException, IntrospectionException, InvocationTargetException, KeyException, LastOwnerException, NoSuchAlgorithmException, NoSuchFieldException, NoSuchMethodException, NoSuchProviderException, NotBoundException, NotOwnerException, ParseException, PropertyVetoException, RuntimeException, SQLException, ServerNotActiveException, SignatureException, TooManyListenersException, UnsupportedFlavorException

    The class Exception and its subclasses are a form of Throwable that indicates conditions that a reasonable application might want to catch.

    Since:
    JDK1.0
    See Also:
    Error

    Constructor Index

    Exception()
    Constructs an Exception with no specified detail message.
    Exception(String)
    Constructs an Exception with the specified detail message.

    Constructors

    Exception
     public Exception()
    
    Constructs an Exception with no specified detail message.

    Exception
     public Exception(String s)
    
    Constructs an Exception with the specified detail message.

    Parameters:
    s - the detail message.

     k$$N756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.exception_mi.htmxcep$$ Class java.lang.ExceptionInInitializerError

    Class java.lang.ExceptionInInitializerError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.ExceptionInInitializerError
    

    public class ExceptionInInitializerError
    extends LinkageError

    Signals that an unexpected exception has occurred in a static initializer.


    Constructor Index

    ExceptionInInitializerError()
    Constructs an ExceptionInInitializerError with no detail message.
    ExceptionInInitializerError(String)
    Constructs a ExceptionInInitializerError with the specified detail message.
    ExceptionInInitializerError(Throwable)
    Constructs a new ExceptionInInitializerError class initialized to the specific throwable

    Method Index

    getException()
    Returns the exception that occurred during a static initialization that caused this Error to be created.

    Constructors

    ExceptionInInitializerError
     public ExceptionInInitializerError()
    
    Constructs an ExceptionInInitializerError with no detail message. A detail message is a String that describes this particular exception.

    ExceptionInInitializerError
     public ExceptionInInitializerError(Throwable thrown)
    
    Constructs a new ExceptionInInitializerError class initialized to the specific throwable

    Parameters:
    thrown - The exception thrown
    ExceptionInInitializerError
     public ExceptionInInitializerError(String s)
    
    Constructs a ExceptionInInitializerError with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    s - the detail message

    Methods

    getException
     public Throwable getException()
    
    Returns the exception that occurred during a static initialization that caused this Error to be created.


    ">W kЬ'$gO756$`>g./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.exceptionininitializererror_mi.htmm$$ Class java.lang.Float

    Class java.lang.Float

    java.lang.Object
       |
       +----java.lang.Number
               |
               +----java.lang.Float
    

    public final class Float
    extends Number

    The Float class wraps a value of primitive type float in an object. An object of type Float contains a single field whose type is float.

    In addition, this class provides several methods for converting a float to a String and a String to a float, as well as other constants and methods useful when dealing with a float.


    Variable Index

    MAX_VALUE
    The largest positive value of type float.
    MIN_VALUE
    The smallest positive value of type float.
    NaN
    The NaN value of type float.
    NEGATIVE_INFINITY
    The negative infinity of type float.
    POSITIVE_INFINITY
    The positive infinity of type float.
    TYPE
    The Class object representing the primitive type float.

    Constructor Index

    Float(double)
    Constructs a newly allocated Floatobject that represents the argument converted to type float.
    Float(float)
    Constructs a newly allocated Float object that represents the primitive float argument.
    Float(String)
    Constructs a newly allocated Float object that represents the floating- point value of type float represented by the string.

    Method Index

    byteValue()
    Returns the value of this Float as a byte (by casting to a byte).
    doubleValue()
    Returns the double value of this Float.
    equals(Object)
    Compares this object against some other object.
    floatToIntBits(float)
    Returns the bit represention of a single-float value.
    floatValue()
    Returns the float value of this Float object.
    hashCode()
    Returns a hashcode for this Float.
    intBitsToFloat(int)
    Returns the single-float corresponding to a given bit represention.
    intValue()
    Returns the integer value of this Float (by casting to an int).
    isInfinite()
    Returns true if this Float value is infinitely large in magnitude.
    isInfinite(float)
    Returns true if the specified number is infinitely large in magnitude.
    isNaN()
    Returns true if this Float value is Not-a-Number (NaN).
    isNaN(float)
    Returns true if the specified number is the special Not-a-Number (NaN) value.
    longValue()
    Returns the long value of this Float (by casting to a long).
    shortValue()
    Returns the value of this Float as a short (by casting to a short).
    toString()
    Returns a String representation of this Float object.
    toString(float)
    Returns a String representation for the specified float value.
    valueOf(String)
    Returns the floating point value represented by the specified String.

    Variables

    POSITIVE_INFINITY
     public static final float POSITIVE_INFINITY
    
    The positive infinity of type float.

    NEGATIVE_INFINITY
     public static final float NEGATIVE_INFINITY
    
    The negative infinity of type float.

    NaN
     public static final float NaN
    
    The NaN value of type float.

    MAX_VALUE
     public static final float MAX_VALUE
    
    The largest positive value of type float.

    MIN_VALUE
     public static final float MIN_VALUE
    
    The smallest positive value of type float.

    TYPE
     public static final Class TYPE
    
    The Class object representing the primitive type float.


    Constructors

    Float
     public Float(float value)
    
    Constructs a newly allocated Float object that represents the primitive float argument.

    Parameters:
    value - the value to be represented by the Float.
    Float
     public Float(double value)
    
    Constructs a newly allocated Floatobject that represents the argument converted to type float.

    Parameters:
    value - the value to be represented by the Float.
    Float
     public Float(String s) throws NumberFormatException
    
    Constructs a newly allocated Float object that represents the floating- point value of type float represented by the string. The string is converted to a float value as if by the valueOf method.

    Parameters:
    s - a string to be converted to a Float.
    Throws: NumberFormatException
    if the string does not contain a parsable number.
    See Also:
    valueOf

    Methods

    toString
     public static String toString(float f)
    
    Returns a String representation for the specified float value.

    The values NaN, NEGATIVE_INFINITY, POSITIVE_INFINITY, -0.0, and +0.0 are represented by the strings "NaN", "-Infinity", "Infinity", "-0.0", and "0.0", respectively.

    If d is in the range 10-3 <= |d| <= 107, then it is converted to a String in the style [-]ddd.ddd. Otherwise, it is converted to a string in the style [-]m.ddddE±xx.

    There is always a minimum of 1 digit after the decimal point. The number of digits is the minimum needed to uniquely distinguish the argument value from adjacent values of type float.

    Parameters:
    d - the float to be converted.
    Returns:
    a string representation of the argument.
    valueOf
     public static Float valueOf(String s) throws NumberFormatException
    
    Returns the floating point value represented by the specified String.

    Parameters:
    s - the string to be parsed.
    Returns:
    a newly constructed Float initialized to the value represented by the String argument.
    Throws: NumberFormatException
    if the string does not contain a parsable number.
    isNaN
     public static boolean isNaN(float v)
    
    Returns true if the specified number is the special Not-a-Number (NaN) value.

    Parameters:
    v - the value to be tested.
    Returns:
    true if the argument is NaN; false otherwise.
    isInfinite
     public static boolean isInfinite(float v)
    
    Returns true if the specified number is infinitely large in magnitude.

    Parameters:
    v - the value to be tested.
    Returns:
    true if the argument is positive infinity or negative infinity; false otherwise.
    isNaN
     public boolean isNaN()
    
    Returns true if this Float value is Not-a-Number (NaN).

    Returns:
    true if the value represented by this object is NaN; false otherwise.
    isInfinite
     public boolean isInfinite()
    
    Returns true if this Float value is infinitely large in magnitude.

    Returns:
    true if the value represented by this object is positive infinity or negative infinity; false otherwise.
    toString
     public String toString()
    
    Returns a String representation of this Float object. The primitive float value represented by this object is converted to a String exactly as if by the method toString of one argument.

    Returns:
    a String representation of this object.
    Overrides:
    toString in class Object
    See Also:
    toString
    byteValue
     public byte byteValue()
    
    Returns the value of this Float as a byte (by casting to a byte).

    Overrides:
    byteValue in class Number
    shortValue
     public short shortValue()
    
    Returns the value of this Float as a short (by casting to a short).

    Overrides:
    shortValue in class Number
    intValue
     public int intValue()
    
    Returns the integer value of this Float (by casting to an int).

    Returns:
    the float value represented by this object converted to type int and the result of the conversion is returned.
    Overrides:
    intValue in class Number
    longValue
     public long longValue()
    
    Returns the long value of this Float (by casting to a long).

    Returns:
    the float value represented by this object is converted to type long and the result of the conversion is returned.
    Overrides:
    longValue in class Number
    floatValue
     public float floatValue()
    
    Returns the float value of this Float object.

    Returns:
    the float value represented by this object.
    Overrides:
    floatValue in class Number
    doubleValue
     public double doubleValue()
    
    Returns the double value of this Float.

    Overrides:
    doubleValue in class Number
    hashCode
     public int hashCode()
    
    Returns a hashcode for this Float.

    Returns:
    a hash code value for this object.
    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Compares this object against some other object. The result is true if and only if the argument is not null and is a Float object that represents a float that has the identical bit pattern to the bit pattern of the float represented by this object.

    Note that in most cases, for two instances of class Float, f1 and f2, the value of f1.equals(f2) is true if and only if

      f1.floatValue() == f2.floatValue()

    also has the value true. However, there are two exceptions:

    • If f1 and f2 both represent Float.NaN, then the equals method returns true, even though Float.NaN==Float.NaN has the value false.
    • If f1 represents +0.0f while f2 represents -0.0f, or vice versa, the equal test has the value false, even though 0.0f==-0.0f has the value true.

    Returns:
    true if the objects are the same; false otherwise.
    Overrides:
    equals in class Object
    See Also:
    floatToIntBits
    floatToIntBits
     public static native int floatToIntBits(float value)
    
    Returns the bit represention of a single-float value. The result is a representation of the floating-point argument according to the IEEE 754 floating-point "single precision" bit layout.

    Bit 31 represents the sign of the floating-point number. Bits 30-23 represent the exponent. Bits 22-0 represent the significand (sometimes called the mantissa) of the floating-point number.

    If the argument is positive infinity, the result is 0x7f800000.

    If the argument is negative infinity, the result is 0xff800000.

    If the argument is NaN, the result is 0x7fc00000.

    Parameters:
    value - a floating-point number.
    Returns:
    the bits that represent the floating-point number.
    intBitsToFloat
     public static native float intBitsToFloat(int bits)
    
    Returns the single-float corresponding to a given bit represention. The argument is considered to be a representation of a floating-point value according to the IEEE 754 floating-point "single precision" bit layout.

    If the argument is 0x7f800000, the result is positive infinity.

    If the argument is 0xff800000, the result is negative infinity.

    If the argument is any value in the range 0x7f800001 through 0x7f8fffff or in the range 0xff800001 through 0xff8fffff, the result is NaN. All IEEE 754 NaN values are, in effect, lumped together by the Java language into a single value.

    Parameters:
    bits - an integer.
    Returns:
    the single-format floating-point value with the same bit pattern.

    ll Class java.lang.IllegalAccessError

    Class java.lang.IllegalAccessError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.IncompatibleClassChangeError
                                       |
                                       +----java.lang.IllegalAccessError
    

    public class IllegalAccessError
    extends IncompatibleClassChangeError

    Thrown if an application attempts to access or modify a field, or to call a method that it does not have access to.

    Normally, this error is caught by the compiler; this error can only occur at run time if the definition of a class has incompatibly changed.


    Constructor Index

    IllegalAccessError()
    Constructs an IllegalAccessError with no detail message.
    IllegalAccessError(String)
    Constructs an IllegalAccessError with the specified detail message.

    Constructors

    IllegalAccessError
     public IllegalAccessError()
    
    Constructs an IllegalAccessError with no detail message.

    IllegalAccessError
     public IllegalAccessError(String s)
    
    Constructs an IllegalAccessError with the specified detail message.

    Parameters:
    s - the detail message.

    nces o kڄ-$O756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.illegalaccesserror_mi.htm_mi$$ Class java.lang.IllegalAccessException

    Class java.lang.IllegalAccessException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.IllegalAccessException
    

    public class IllegalAccessException
    extends Exception

    Thrown when an application tries to load in a class through its string name using:

    • The forName method in class Class.
    • The findSystemClass method in class ClassLoader.
    • The loadClass method in class ClassLoader.

    but the currently executing method does not have access to the definition of the specified class, because the class is not public and in another package.

    An instance of this class can also be thrown when an application tries to create an instance of a class using the newInstance method in class Class, but the current method does not have access to the appropriate zero-argument constructor.

    Since:
    JDK1.0
    See Also:
    forName, newInstance, findSystemClass, loadClass

    Constructor Index

    IllegalAccessException()
    Constructs an IllegalAccessException without a detail message.
    IllegalAccessException(String)
    Constructs an IllegalAccessException with a detail message.

    Constructors

    IllegalAccessException
     public IllegalAccessException()
    
    Constructs an IllegalAccessException without a detail message.

    IllegalAccessException
     public IllegalAccessException(String s)
    
    Constructs an IllegalAccessException with a detail message.

    Parameters:
    s - the detail message.

    v="Co k0$P756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.illegalaccessexception_mi.htm$$ Class java.lang.IllegalArgumentException

    Class java.lang.IllegalArgumentException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IllegalArgumentException
    

    public class IllegalArgumentException
    extends RuntimeException
    super class of:
    IllegalThreadStateException, InvalidParameterException, NumberFormatException

    Thrown to indicate that a method has been passed an illegal or inappropriate argument.

    Since:
    JDK1.0
    See Also:
    setPriority

    Constructor Index

    IllegalArgumentException()
    Constructs an IllegalArgumentException with no detail message.
    IllegalArgumentException(String)
    Constructs an IllegalArgumentException with the specified detail message.

    Constructors

    IllegalArgumentException
     public IllegalArgumentException()
    
    Constructs an IllegalArgumentException with no detail message.

    IllegalArgumentException
     public IllegalArgumentException(String s)
    
    Constructs an IllegalArgumentException with the specified detail message.

    Parameters:
    s - the detail message.

    ng./ kL3$#P756$`#./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.illegalargumentexception_mi.htmmm$$ Class java.lang.IllegalMonitorStateException

    Class java.lang.IllegalMonitorStateException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IllegalMonitorStateException
    

    public class IllegalMonitorStateException
    extends RuntimeException

    Thrown to indicate that a thread has attempted to wait on an object's monitor or to notify other threads waiting on an object's monitor without owning the specified monitor.

    Since:
    JDK1.0
    See Also:
    notify, notifyAll, wait, wait, wait

    Constructor Index

    IllegalMonitorStateException()
    Constructs an IllegalMonitorStateException with no detail message.
    IllegalMonitorStateException(String)
    Constructs an IllegalMonitorStateException with the specified detail message.

    Constructors

    IllegalMonitorStateException
     public IllegalMonitorStateException()
    
    Constructs an IllegalMonitorStateException with no detail message.

    IllegalMonitorStateException
     public IllegalMonitorStateException(String s)
    
    Constructs an IllegalMonitorStateException with the specified detail message.

    Parameters:
    s - the detail message.

     k,6$?P756$`&?./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.illegalmonitorstateexception_mi.htm$$ Class java.lang.IllegalStateException

    Class java.lang.IllegalStateException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IllegalStateException
    

    public class IllegalStateException
    extends RuntimeException
    super class of:
    IllegalComponentStateException

    Signals that a method has been invoked at an illegal or inappropriate time. In other words, the Java environment or Java application is not in an appropriate state for the requested operation.


    Constructor Index

    IllegalStateException()
    Constructs an IllegalStateException with no detail message.
    IllegalStateException(String)
    Constructs an IllegalStateException with the specified detail message.

    Constructors

    IllegalStateException
     public IllegalStateException()
    
    Constructs an IllegalStateException with no detail message. A detail message is a String that describes this particular exception.

    IllegalStateException
     public IllegalStateException(String s)
    
    Constructs an IllegalStateException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    s - the String that contains a detailed message

    / k9$P756$`3./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.illegalstateexception_mi.htm$$ Class java.lang.IllegalThreadStateException

    Class java.lang.IllegalThreadStateException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IllegalArgumentException
                                       |
                                       +----java.lang.IllegalThreadStateException
    

    public class IllegalThreadStateException
    extends IllegalArgumentException

    Thrown to indicate that a thread is not in an appropriate state for the requested operation. See, for example, the suspend and resume methods in class Thread.

    Since:
    JDK1.0
    See Also:
    resume, suspend

    Constructor Index

    IllegalThreadStateException()
    Constructs an IllegalThreadStateException with no detail message.
    IllegalThreadStateException(String)
    Constructs an IllegalThreadStateException with the specified detail message.

    Constructors

    IllegalThreadStateException
     public IllegalThreadStateException()
    
    Constructs an IllegalThreadStateException with no detail message.

    IllegalThreadStateException
     public IllegalThreadStateException(String s)
    
    Constructs an IllegalThreadStateException with the specified detail message.

    Parameters:
    s - the detail message.

    /  k<$8Q756$`@8./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.illegalthreadstateexception_mi.htm$$ Class java.lang.IncompatibleClassChangeError

    Class java.lang.IncompatibleClassChangeError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.IncompatibleClassChangeError
    

    public class IncompatibleClassChangeError
    extends LinkageError
    super class of:
    AbstractMethodError, IllegalAccessError, InstantiationError, NoSuchFieldError, NoSuchMethodError

    Thrown when an incompatible class change has occurred to some class definition. The definition of some class, on which the currently executing method depends, has since changed.


    Constructor Index

    IncompatibleClassChangeError()
    Constructs an IncompatibleClassChangeError with no detail message.
    IncompatibleClassChangeError(String)
    Constructs an IncompatibleClassChangeError with the specified detail message.

    Constructors

    IncompatibleClassChangeError
     public IncompatibleClassChangeError()
    
    Constructs an IncompatibleClassChangeError with no detail message.

    IncompatibleClassChangeError
     public IncompatibleClassChangeError(String s)
    
    Constructs an IncompatibleClassChangeError with the specified detail message.

    Parameters:
    s - the detail message.

    ml>  ks?$?Q756$`?./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.incompatibleclasschangeerror_mi.htm$$ Class java.lang.IndexOutOfBoundsException

    Class java.lang.IndexOutOfBoundsException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IndexOutOfBoundsException
    

    public class IndexOutOfBoundsException
    extends RuntimeException
    super class of:
    ArrayIndexOutOfBoundsException, StringIndexOutOfBoundsException

    Thrown to indicate that an index of some sort (such as to an array, to a string, or to a vector) is out of range.

    Applications can subclass this class to indicate similar exceptions.


    Constructor Index

    IndexOutOfBoundsException()
    Constructs an IndexOutOfBoundsException with no detail message.
    IndexOutOfBoundsException(String)
    Constructs an IndexOutOfBoundsException with the specified detail message.

    Constructors

    IndexOutOfBoundsException
     public IndexOutOfBoundsException()
    
    Constructs an IndexOutOfBoundsException with no detail message.

    IndexOutOfBoundsException
     public IndexOutOfBoundsException(String s)
    
    Constructs an IndexOutOfBoundsException with the specified detail message.

    Parameters:
    s - the detail message.

    s  kꠛB$*Q756$`[*./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.indexoutofboundsexception_mi.htmm$$ Class java.lang.InstantiationError

    Class java.lang.InstantiationError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.IncompatibleClassChangeError
                                       |
                                       +----java.lang.InstantiationError
    

    public class InstantiationError
    extends IncompatibleClassChangeError

    Thrown when an application tries to use the Java new construct to instantiate an abstract class or an interface.

    Normally, this error is caught by the compiler; this error can only occur at run time if the definition of a class has incompatibly changed.


    Constructor Index

    InstantiationError()
    Constructs an InstantiationError with no detail message.
    InstantiationError(String)
    Constructs an InstantiationError with the specified detail message.

    Constructors

    InstantiationError
     public InstantiationError()
    
    Constructs an InstantiationError with no detail message.

    InstantiationError
     public InstantiationError(String s)
    
    Constructs an InstantiationError with the specified detail message.

    Parameters:
    s - the detail message.

    nt kYE$R756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.instantiationerror_mi.htmi.h$$ Class java.lang.InstantiationException

    Class java.lang.InstantiationException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.InstantiationException
    

    public class InstantiationException
    extends Exception

    Thrown when an application tries to create an instance of a class using the newInstance method in class Class, but the specified class object cannot be instantiated because it is an interface or is an abstract class.

    Since:
    JDK1.0
    See Also:
    newInstance

    Constructor Index

    InstantiationException()
    Constructs an InstantiationException with no detail message.
    InstantiationException(String)
    Constructs an InstantiationException with the specified detail message.

    Constructors

    InstantiationException
     public InstantiationException()
    
    Constructs an InstantiationException with no detail message.

    InstantiationException
     public InstantiationException(String s)
    
    Constructs an InstantiationException with the specified detail message.

    Parameters:
    s - the detail message.

    di kH$R756$`r./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.instantiationexception_mi.htm$$ Class java.lang.InternalError

    Class java.lang.InternalError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.VirtualMachineError
                               |
                               +----java.lang.InternalError
    

    public class InternalError
    extends VirtualMachineError

    Thrown to indicate some unexpected internal error has occurred in the Java Virtual Machine.


    Constructor Index

    InternalError()
    Constructs an InternalError with no detail message.
    InternalError(String)
    Constructs an InternalError with the specified detail message.

    Constructors

    InternalError
     public InternalError()
    
    Constructs an InternalError with no detail message.

    InternalError
     public InternalError(String s)
    
    Constructs an InternalError with the specified detail message.

    Parameters:
    s - the detail message.

     kLN$S7 56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.internalerror_mi.htm$$ Class java.lang.InterruptedException

    Class java.lang.InterruptedException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.InterruptedException
    

    public class InterruptedException
    extends Exception

    Thrown when a thread is waiting, sleeping, or otherwise paused for a long time and another thread interrupts it using the interrupt method in class Thread.

    Since:
    JDK1.0
    See Also:
    wait, wait, wait, sleep, interrupt, interrupted

    Constructor Index

    InterruptedException()
    Constructs an InterruptedException with no detail message.
    InterruptedException(String)
    Constructs an InterruptedException with the specified detail message.

    Constructors

    InterruptedException
     public InterruptedException()
    
    Constructs an InterruptedException with no detail message.

    InterruptedException
     public InterruptedException(String s)
    
    Constructs an InterruptedException with the specified detail message.

    Parameters:
    s - the detail message.

     kQ$S7 56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.interruptedexception_mi.htm$$ Class java.lang.LinkageError

    Class java.lang.LinkageError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
    

    public class LinkageError
    extends Error
    super class of:
    ClassCircularityError, ClassFormatError, ExceptionInInitializerError, IncompatibleClassChangeError, NoClassDefFoundError, UnsatisfiedLinkError, VerifyError

    Subclasses of LinkageError indicate that a class has some dependency on another class; however, the latter class has incompatibly changed after the compilation of the former class.


    Constructor Index

    LinkageError()
    Constructs a LinkageError with no detail message.
    LinkageError(String)
    Constructs a LinkageError with the specified detail message.

    Constructors

    LinkageError
     public LinkageError()
    
    Constructs a LinkageError with no detail message.

    LinkageError
     public LinkageError(String s)
    
    Constructs a LinkageError with the specified detail message.

    Parameters:
    s - the detail message.

    > Class java.lang.NegativeArraySizeException

    Class java.lang.NegativeArraySizeException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.NegativeArraySizeException
    

    public class NegativeArraySizeException
    extends RuntimeException

    Thrown if an application tries to create an array with negative size.


    Constructor Index

    NegativeArraySizeException()
    Constructs a NegativeArraySizeException with no detail message.
    NegativeArraySizeException(String)
    Constructs a NegativeArraySizeException with the specified detail message.

    Constructors

    NegativeArraySizeException
     public NegativeArraySizeException()
    
    Constructs a NegativeArraySizeException with no detail message.

    NegativeArraySizeException
     public NegativeArraySizeException(String s)
    
    Constructs a NegativeArraySizeException with the specified detail message.

    Parameters:
    s - the detail message.

    7 kE]$1T7 56$`1./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.negativearraysizeexception_mi.htm$$ Class java.lang.NoClassDefFoundError

    Class java.lang.NoClassDefFoundError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.NoClassDefFoundError
    

    public class NoClassDefFoundError
    extends LinkageError

    Thrown if the Java Virtual Machine or a classloader tries to load in the definition of a class (as part of a normal method call or as part of creating a new instance using the new expression) and no definition of the class could be found.

    The searched-for class definition existed when the currently executing class was compiled, but the definition can no longer be found.


    Constructor Index

    NoClassDefFoundError()
    Constructs a NoClassDefFoundError with no detail message.
    NoClassDefFoundError(String)
    Constructs a NoClassDefFoundError with the specified detail message.

    Constructors

    NoClassDefFoundError
     public NoClassDefFoundError()
    
    Constructs a NoClassDefFoundError with no detail message.

    NoClassDefFoundError
     public NoClassDefFoundError(String s)
    
    Constructs a NoClassDefFoundError with the specified detail message.

    Parameters:
    s - the detail message.

     knK`$U7 56$`a./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.noclassdeffounderror_mi.htm.$$ Class java.lang.NoSuchFieldError

    Class java.lang.NoSuchFieldError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.IncompatibleClassChangeError
                                       |
                                       +----java.lang.NoSuchFieldError
    

    public class NoSuchFieldError
    extends IncompatibleClassChangeError

    Thrown if an application tries to access or modify a specified field of an object, and that object no longer has that field.

    Normally, this error is caught by the compiler; this error can only occur at run time if the definition of a class has incompatibly changed.


    Constructor Index

    NoSuchFieldError()
    Constructs a NoSuchFieldException with no detail message.
    NoSuchFieldError(String)
    Constructs a NoSuchFieldException with the specified detail message.

    Constructors

    NoSuchFieldError
     public NoSuchFieldError()
    
    Constructs a NoSuchFieldException with no detail message.

    NoSuchFieldError
     public NoSuchFieldError(String s)
    
    Constructs a NoSuchFieldException with the specified detail message.

    Parameters:
    s - the detail message.

     kc$U7 56$p?./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.nosuchfielderror_mi.htmtm.$$ Class java.lang.NoSuchFieldException

    Class java.lang.NoSuchFieldException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.NoSuchFieldException
    

    public class NoSuchFieldException
    extends Exception

    Signals that the class doesn't have a field of a specified name.


    Constructor Index

    NoSuchFieldException()
    Constructor.
    NoSuchFieldException(String)
    Constructor with a detail message.

    Constructors

    NoSuchFieldException
     public NoSuchFieldException()
    
    Constructor.

    NoSuchFieldException
     public NoSuchFieldException(String s)
    
    Constructor with a detail message.


     k"f$U7 56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.nosuchfieldexception_mi.htm.$$ Class java.lang.NoSuchMethodError

    Class java.lang.NoSuchMethodError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.IncompatibleClassChangeError
                                       |
                                       +----java.lang.NoSuchMethodError
    

    public class NoSuchMethodError
    extends IncompatibleClassChangeError

    Thrown if an application tries to call a specified method of a class (either static or instance), and that class no longer has a definition of that method.

    Normally, this error is caught by the compiler; this error can only occur at run time if the definition of a class has incompatibly changed.


    Constructor Index

    NoSuchMethodError()
    NoSuchMethodError(String)
    Constructs a NoSuchMethodException with the specified detail message.

    Constructors

    NoSuchMethodError
     public NoSuchMethodError()
    
    NoSuchMethodError
     public NoSuchMethodError(String s)
    
    Constructs a NoSuchMethodException with the specified detail message.

    Parameters:
    s - the detail message.

    m" tar kNi$U7 56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.nosuchmethoderror_mi.htmm.$$ Class java.lang.NoSuchMethodException

    Class java.lang.NoSuchMethodException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.NoSuchMethodException
    

    public class NoSuchMethodException
    extends Exception

    Thrown when a particular method cannot be found.


    Constructor Index

    NoSuchMethodException()
    Constructs a NoSuchMethodException without a detail message.
    NoSuchMethodException(String)
    Constructs a NoSuchMethodException with a detail message.

    Constructors

    NoSuchMethodException
     public NoSuchMethodException()
    
    Constructs a NoSuchMethodException without a detail message.

    NoSuchMethodException
     public NoSuchMethodException(String s)
    
    Constructs a NoSuchMethodException with a detail message.

    Parameters:
    s - the detail message.

    ajava/2 kTGl$V7 56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.nosuchmethodexception_mi.htm$$ Class java.lang.NullPointerException

    Class java.lang.NullPointerException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.NullPointerException
    

    public class NullPointerException
    extends RuntimeException

    Thrown when an application attempts to use null in a case where an object is required. These include:

    • Calling the instance method of a null object.
    • Accessing or modifying the field of a null object.
    • Taking the length of null as if it were an array.
    • Accessing or modifying the slots of null as if it were an array.
    • Throwing null as if it were a Throwable value.

    Applications should throw instances of this class to indicate other illegal uses of the null object.


    Constructor Index

    NullPointerException()
    Constructs a NullPointerException with no detail message.
    NullPointerException(String)
    Constructs a NullPointerException with the specified detail message.

    Constructors

    NullPointerException
     public NullPointerException()
    
    Constructs a NullPointerException with no detail message.

    NullPointerException
     public NullPointerException(String s)
    
    Constructs a NullPointerException with the specified detail message.

    Parameters:
    s - the detail message.

    / k[o$V7 56$`n./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.nullpointerexception_mi.htm$$ Class java.lang.Number

    Class java.lang.Number

    java.lang.Object
       |
       +----java.lang.Number
    

    public abstract class Number
    extends Object
    implements Serializable
    super class of:
    BigDecimal, BigInteger, Byte, Double, Float, Integer, Long, Short

    The abstract class Number is the superclass of classes Byte, Double, Float, Integer, Long, and Short.

    Subclasses of Number must provide methods to convert the represented numeric value to byte, double, float, int, long, and short.

    Since:
    JDK1.0
    See Also:
    Byte, Double, Float, Integer, Long, Short

    Constructor Index

    Number()

    Method Index

    byteValue()
    Returns the value of the specified number as a byte.
    doubleValue()
    Returns the value of the specified number as a double.
    floatValue()
    Returns the value of the specified number as a float.
    intValue()
    Returns the value of the specified number as an int.
    longValue()
    Returns the value of the specified number as a long.
    shortValue()
    Returns the value of the specified number as a short.

    Constructors

    Number
     public Number()
    

    Methods

    intValue
     public abstract int intValue()
    
    Returns the value of the specified number as an int. This may involve rounding.

    Returns:
    the numeric value represented by this object after conversion to type int.
    longValue
     public abstract long longValue()
    
    Returns the value of the specified number as a long. This may involve rounding.

    Returns:
    the numeric value represented by this object after conversion to type long.
    floatValue
     public abstract float floatValue()
    
    Returns the value of the specified number as a float. This may involve rounding.

    Returns:
    the numeric value represented by this object after conversion to type float.
    doubleValue
     public abstract double doubleValue()
    
    Returns the value of the specified number as a double. This may involve rounding.

    Returns:
    the numeric value represented by this object after conversion to type double.
    byteValue
     public byte byteValue()
    
    Returns the value of the specified number as a byte. This may involve rounding or truncation.

    Returns:
    the numeric value represented by this object after conversion to type byte.
    shortValue
     public short shortValue()
    
    Returns the value of the specified number as a short. This may involve rounding or truncation.

    Returns:
    the numeric value represented by this object after conversion to type short.

    ="java. k]r$YV7 56$`Y./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.number_mi.htm$$ Class java.lang.NumberFormatException

    Class java.lang.NumberFormatException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IllegalArgumentException
                                       |
                                       +----java.lang.NumberFormatException
    

    public class NumberFormatException
    extends IllegalArgumentException

    Thrown to indicate that the application has attempted to convert a string to one of the numeric types, but that the string does not have the appropriate format.

    Since:
    JDK1.0
    See Also:
    toString

    Constructor Index

    NumberFormatException()
    Constructs a NumberFormatException with no detail message.
    NumberFormatException(String)
    Constructs a NumberFormatException with the specified detail message.

    Constructors

    NumberFormatException
     public NumberFormatException()
    
    Constructs a NumberFormatException with no detail message.

    NumberFormatException
     public NumberFormatException(String s)
    
    Constructs a NumberFormatException with the specified detail message.

    Parameters:
    s - the detail message.

    peci k&Au$W7 56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.numberformatexception_mi.htm$$ Class java.lang.OutOfMemoryError

    Class java.lang.OutOfMemoryError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.VirtualMachineError
                               |
                               +----java.lang.OutOfMemoryError
    

    public class OutOfMemoryError
    extends VirtualMachineError

    Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector.


    Constructor Index

    OutOfMemoryError()
    Constructs an OutOfMemoryError with no detail message.
    OutOfMemoryError(String)
    Constructs an OutOfMemoryError with the specified detail message.

    Constructors

    OutOfMemoryError
     public OutOfMemoryError()
    
    Constructs an OutOfMemoryError with no detail message.

    OutOfMemoryError
     public OutOfMemoryError(String s)
    
    Constructs an OutOfMemoryError with the specified detail message.

    Parameters:
    s - the detail message.

     k{$W756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.outofmemoryerror_mi.htmhtm$$ Class java.lang.Process

    Class java.lang.Process

    java.lang.Object
       |
       +----java.lang.Process
    

    public abstract class Process
    extends Object

    The exec methods return an instance of a subclass of Process that can be used to control the process and obtain information about it.

    The subprocess is not killed when there are no more references to the Process object, but rather the subprocess continues executing asynchronously.

    Since:
    JDK1.0
    See Also:
    exec, exec, exec, exec

    Constructor Index

    Process()

    Method Index

    destroy()
    Kills the subprocess.
    exitValue()
    Returns the exit value for the subprocess.
    getErrorStream()
    Gets the error stream of the subprocess.
    getInputStream()
    Gets the input stream of the subprocess.
    getOutputStream()
    Gets the output stream of the subprocess.
    waitFor()
    Waits for the subprocess to complete.

    Constructors

    Process
     public Process()
    

    Methods

    getOutputStream
     public abstract OutputStream getOutputStream()
    
    Gets the output stream of the subprocess. This stream is usually buffered.

    Returns:
    the output stream connected to the normal input of the subprocess.
    getInputStream
     public abstract InputStream getInputStream()
    
    Gets the input stream of the subprocess. This stream is usually buffered.

    Returns:
    the input stream connected to the normal output of the subprocess.
    getErrorStream
     public abstract InputStream getErrorStream()
    
    Gets the error stream of the subprocess. This stream is usually unbuffered.

    Returns:
    the input stream connected to the error stream of the subprocess.
    waitFor
     public abstract int waitFor() throws InterruptedException
    
    Waits for the subprocess to complete. This method returns immediately if the subprocess has already terminated. If the subprocess has not yet terminated, the calling thread will be blocked until the subprocess exits.

    Returns:
    the exit value of the process.
    Throws: InterruptedException
    if the waitFor was interrupted.
    exitValue
     public abstract int exitValue()
    
    Returns the exit value for the subprocess.

    Returns:
    the exit value of the subprocess.
    Throws: IllegalThreadStateException
    if the subprocess has not yet terminated.
    destroy
     public abstract void destroy()
    
    Kills the subprocess.


    ef= kX~$uX756$` u./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.process_mi.htm_mi.ht$$ Class java.lang.reflect.Constructor

    Class java.lang.reflect.Constructor

    java.lang.Object
       |
       +----java.lang.reflect.Constructor
    

    public final class Constructor
    extends Object
    implements Member

    Constructor provides information about, and access to, a single constructor for a class.

    Constructor permits widening conversions to occur when matching the actual parameters to newInstance() with the underlying constructor's formal parameters, but throws an IllegalArgumentException if a narrowing conversion would occur.

    See Also:
    Member, Class, getConstructors, getConstructor, getDeclaredConstructors

    Method Index

    equals(Object)
    Compares this Constructor against the specified object.
    getDeclaringClass()
    Returns the Class object representing the class that declares the constructor represented by this Constructor object.
    getExceptionTypes()
    Returns an array of Class objects that represent the types of the checked exceptions thrown by the underlying constructor represented by this Constructor object.
    getModifiers()
    Returns the Java language modifiers for the constructor represented by this Constructor object, as an integer.
    getName()
    Returns the name of this constructor, as a string.
    getParameterTypes()
    Returns an array of Class objects that represent the formal parameter types, in declaration order, of the constructor represented by this Constructor object.
    hashCode()
    Returns a hashcode for this Constructor.
    newInstance(Object[])
    Uses the constructor represented by this Constructor object to create and initialize a new instance of the constructor's declaring class, with the specified initialization parameters.
    toString()
    Return a string describing this Constructor.

    Methods

    getDeclaringClass
     public Class getDeclaringClass()
    
    Returns the Class object representing the class that declares the constructor represented by this Constructor object.

    getName
     public String getName()
    
    Returns the name of this constructor, as a string. This is always the same as the name of the constructor's declaring class.

    getModifiers
     public native int getModifiers()
    
    Returns the Java language modifiers for the constructor represented by this Constructor object, as an integer. The Modifier class should be used to decode the modifiers.

    See Also:
    Modifier
    getParameterTypes
     public Class[] getParameterTypes()
    
    Returns an array of Class objects that represent the formal parameter types, in declaration order, of the constructor represented by this Constructor object. Returns an array of length 0 if the underlying constructor takes no parameters.

    getExceptionTypes
     public Class[] getExceptionTypes()
    
    Returns an array of Class objects that represent the types of the checked exceptions thrown by the underlying constructor represented by this Constructor object. Returns an array of length 0 if the constructor throws no checked exceptions.

    equals
     public boolean equals(Object obj)
    
    Compares this Constructor against the specified object. Returns true if the objects are the same. Two Constructors are the same if they were declared by the same class and have the same formal parameter types.

    Overrides:
    equals in class Object
    hashCode
     public int hashCode()
    
    Returns a hashcode for this Constructor. The hashcode is the same as the hashcode for the underlying constructor's declaring class name.

    Overrides:
    hashCode in class Object
    toString
     public String toString()
    
    Return a string describing this Constructor. The string is formatted as the constructor access modifiers, if any, followed by the fully-qualified name of the declaring class, followed by a parenthesized, comma-separated list of the constructor's formal parameter types. For example:
        public java.util.Hashtable(int,float)
     

    The only possible modifiers for constructors are the access modifiers public, protected or private. Only one of these may appear, or none if the constructor has default (package) access.

    Overrides:
    toString in class Object
    newInstance
     public native Object newInstance(Object initargs[]) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException
    
    Uses the constructor represented by this Constructor object to create and initialize a new instance of the constructor's declaring class, with the specified initialization parameters. Individual parameters are automatically unwrapped to match primitive formal parameters, and both primitive and reference parameters are subject to widening conversions as necessary. Returns the newly created and initialized object.

    Creation proceeds with the following steps, in order:

    If the class that declares the underlying constructor represents an abstract class, the creation throws an InstantiationException.

    If this Constructor object enforces Java language access control and the underlying constructor is inaccessible, the creation throws an IllegalAccessException.

    If the number of actual parameters supplied via initargs is different from the number of formal parameters required by the underlying constructor, the creation throws an IllegalArgumentException.

    A new instance of the constructor's declaring class is created, and its fields are initialized to their default initial values.

    For each actual parameter in the supplied initargs array:

    If the corresponding formal parameter has a primitive type, an unwrapping conversion is attempted to convert the object value to a value of the primitive type. If this attempt fails, the creation throws an IllegalArgumentException.

    If, after possible unwrapping, the parameter value cannot be converted to the corresponding formal parameter type by an identity or widening conversion, the creation throws an IllegalArgumentException.

    Control transfers to the underlying constructor to initialize the new instance. If the constructor completes abruptly by throwing an exception, the exception is placed in an InvocationTargetException and thrown in turn to the caller of newInstance.

    If the constructor completes normally, returns the newly created and initialized instance.

    Throws: IllegalAccessException
    if the underlying constructor is inaccessible.
    Throws: IllegalArgumentException
    if the number of actual and formal parameters differ, or if an unwrapping conversion fails.
    Throws: InstantiationException
    if the class that declares the underlying constructor represents an abstract class.
    Throws: InvocationTargetException
    if the underlying constructor throws an exception.

     k<$X756$P} ./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.reflect.constructor_mi.htm$$ Class java.lang.reflect.InvocationTargetException

    Class java.lang.reflect.InvocationTargetException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.reflect.InvocationTargetException
    

    public class InvocationTargetException
    extends Exception

    InvocationTargetException is a checked exception that wraps an exception thrown by an invoked method or constructor.

    See Also:
    Method, Constructor

    Constructor Index

    InvocationTargetException()
    InvocationTargetException(Throwable)
    Constructs a InvocationTargetException with a target exception.
    InvocationTargetException(Throwable, String)
    Constructs a InvocationTargetException with a target exception and a detail message.

    Method Index

    getTargetException()
    Get the thrown target exception.

    Constructors

    InvocationTargetException
     protected InvocationTargetException()
    
    InvocationTargetException
     public InvocationTargetException(Throwable target)
    
    Constructs a InvocationTargetException with a target exception.

    InvocationTargetException
     public InvocationTargetException(Throwable target,
                                      String s)
    
    Constructs a InvocationTargetException with a target exception and a detail message.


    Methods

    getTargetException
     public Throwable getTargetException()
    
    Get the thrown target exception.


    cont kXs$Y756$` ./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.reflect.invocationtargetexception_mi.htmhtm$$ Interface java.lang.reflect.Member

    Interface java.lang.reflect.Member

    public interface Member

    Member is an interface that reflects identifying information about a single member (a field or a method) or a constructor.

    See Also:
    Class, Field, Method, Constructor

    Variable Index

    DECLARED
    Identifies the set of declared members of a class or interface.
    PUBLIC
    Identifies the set of all public members of a class or interface, including inherited members.

    Method Index

    getDeclaringClass()
    Returns the Class object representing the class or interface that declares the member or constructor represented by this Member.
    getModifiers()
    Returns the Java language modifiers for the member or constructor represented by this Member, as an integer.
    getName()
    Returns the simple name of the underlying member or constructor represented by this Member.

    Variables

    PUBLIC
     public static final int PUBLIC
    
    Identifies the set of all public members of a class or interface, including inherited members.

    See Also:
    checkMemberAccess
    DECLARED
     public static final int DECLARED
    
    Identifies the set of declared members of a class or interface. Inherited members are not included.

    See Also:
    checkMemberAccess

    Methods

    getDeclaringClass
     public abstract Class getDeclaringClass()
    
    Returns the Class object representing the class or interface that declares the member or constructor represented by this Member.

    getName
     public abstract String getName()
    
    Returns the simple name of the underlying member or constructor represented by this Member.

    getModifiers
     public abstract int getModifiers()
    
    Returns the Java language modifiers for the member or constructor represented by this Member, as an integer. The Modifier class should be used to decode the modifiers in the integer.

    See Also:
    Modifier

    .htm" k $Y756$` ./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.reflect.member_mi.htm$$ Class java.lang.reflect.Modifier

    Class java.lang.reflect.Modifier

    java.lang.Object
       |
       +----java.lang.reflect.Modifier
    

    public class Modifier
    extends Object

    The Modifier class provides static methods and constants to decode class and member access modifiers.

    See Also:
    getModifiers, getModifiers

    Variable Index

    ABSTRACT
    FINAL
    INTERFACE
    NATIVE
    PRIVATE
    PROTECTED
    PUBLIC
    STATIC
    SYNCHRONIZED
    TRANSIENT
    VOLATILE

    Constructor Index

    Modifier()

    Method Index

    isAbstract(int)
    Return true if the specifier integer includes the abstract modifier.
    isFinal(int)
    Return true if the specifier integer includes the final modifier.
    isInterface(int)
    Return true if the specifier integer includes the interface modifier.
    isNative(int)
    Return true if the specifier integer includes the native modifier.
    isPrivate(int)
    Return true if the specifier integer includes the private modifier.
    isProtected(int)
    Return true if the specifier integer includes the protected modifier.
    isPublic(int)
    Return true if the specified integer includes the public modifier.
    isStatic(int)
    Return true if the specifier integer includes the static modifier.
    isSynchronized(int)
    Return true if the specifier integer includes the synchronized modifier.
    isTransient(int)
    Return true if the specifier integer includes the transient modifier.
    isVolatile(int)
    Return true if the specifier integer includes the volatile modifier.
    toString(int)
    Return a string describing the access modifier flags in the specified modifier.

    Variables

    PUBLIC
     public static final int PUBLIC
    
    PRIVATE
     public static final int PRIVATE
    
    PROTECTED
     public static final int PROTECTED
    
    STATIC
     public static final int STATIC
    
    FINAL
     public static final int FINAL
    
    SYNCHRONIZED
     public static final int SYNCHRONIZED
    
    VOLATILE
     public static final int VOLATILE
    
    TRANSIENT
     public static final int TRANSIENT
    
    NATIVE
     public static final int NATIVE
    
    INTERFACE
     public static final int INTERFACE
    
    ABSTRACT
     public static final int ABSTRACT
    

    Constructors

    Modifier
     public Modifier()
    

    Methods

    isPublic
     public static boolean isPublic(int mod)
    
    Return true if the specified integer includes the public modifier.

    isPrivate
     public static boolean isPrivate(int mod)
    
    Return true if the specifier integer includes the private modifier.

    isProtected
     public static boolean isProtected(int mod)
    
    Return true if the specifier integer includes the protected modifier.

    isStatic
     public static boolean isStatic(int mod)
    
    Return true if the specifier integer includes the static modifier.

    isFinal
     public static boolean isFinal(int mod)
    
    Return true if the specifier integer includes the final modifier.

    isSynchronized
     public static boolean isSynchronized(int mod)
    
    Return true if the specifier integer includes the synchronized modifier.

    isVolatile
     public static boolean isVolatile(int mod)
    
    Return true if the specifier integer includes the volatile modifier.

    isTransient
     public static boolean isTransient(int mod)
    
    Return true if the specifier integer includes the transient modifier.

    isNative
     public static boolean isNative(int mod)
    
    Return true if the specifier integer includes the native modifier.

    isInterface
     public static boolean isInterface(int mod)
    
    Return true if the specifier integer includes the interface modifier.

    isAbstract
     public static boolean isAbstract(int mod)
    
    Return true if the specifier integer includes the abstract modifier.

    toString
     public static String toString(int mod)
    
    Return a string describing the access modifier flags in the specified modifier. For example:
        public final synchronized
        private transient volatile
     
    The modifier names are return in canonical order, as specified by The Java Language Specification.


    < k$ Z756$  ./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.reflect.modifier_mi.htmxcept$$ Interface java.lang.Runnable

    Interface java.lang.Runnable

    public interface Runnable

    The Runnable interface should be implemented by any class whose instances are intended to be executed by a thread. The class must define a method of no arguments called run.

    This interface is designed to provide a common protocol for objects that wish to execute code while they are active. For example, Runnable is implemented by class Thread. Being active simply means that a thread has been started and has not yet been stopped.

    In addition, Runnable provides the means for a class to be active while not subclassing Thread. A class that implements Runnable can run without subclassing Thread by instantiating a Thread instance and passing itself in as the target. In most cases, the Runnable interface should be used if you are only planning to override the run() method and no other Thread methods. This is important because classes should not be subclassed unless the programmer intends on modifying or enhancing the fundamental behavior of the class.

    Since:
    JDK1.0 * @see Thread
    See Also:
    Thread

    Method Index

    run()
    When an object implementing interface Runnable is used to create a thread, starting the thread causes the object's run method to be called in that separately executing thread.

    Methods

    run
     public abstract void run()
    
    When an object implementing interface Runnable is used to create a thread, starting the thread causes the object's run method to be called in that separately executing thread.

    See Also:
    run

    string  k$9Z756$p9./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.runnable_mi.htmmi.ht$$ Class java.lang.RuntimeException

    Class java.lang.RuntimeException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
    

    public class RuntimeException
    extends Exception
    super class of:
    ArithmeticException, ArrayStoreException, ClassCastException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalStateException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProviderException, SecurityException

    RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.

    A method is not required to declare in its throws clause any subclasses of RuntimeException that might be thrown during the execution of the method but not caught.


    Constructor Index

    RuntimeException()
    Constructs a RuntimeException with no detail message.
    RuntimeException(String)
    Constructs a RuntimeException with the specified detail message.

    Constructors

    RuntimeException
     public RuntimeException()
    
    Constructs a RuntimeException with no detail message.

    RuntimeException
     public RuntimeException(String s)
    
    Constructs a RuntimeException with the specified detail message.

    Parameters:
    s - the detail message.

    i k2$[756$p?./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.runtimeexception_mi.htmxcept$$ Class java.lang.SecurityException

    Class java.lang.SecurityException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.SecurityException
    

    public class SecurityException
    extends RuntimeException
    super class of:
    RMISecurityException

    Thrown by the security manager to indicate a security violation.

    Since:
    JDK1.0
    See Also:
    SecurityManager

    Constructor Index

    SecurityException()
    Constructs a SecurityException with no detail message.
    SecurityException(String)
    Constructs a SecurityException with the specified detail message.

    Constructors

    SecurityException
     public SecurityException()
    
    Constructs a SecurityException with no detail message.

    SecurityException
     public SecurityException(String s)
    
    Constructs a SecurityException with the specified detail message.

    Parameters:
    s - the detail message.

    /b k4$[756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.securityexception_mi.htmcept$$ Class java.lang.Short

    Class java.lang.Short

    java.lang.Object
       |
       +----java.lang.Number
               |
               +----java.lang.Short
    

    public final class Short
    extends Number

    The Short class is the standard wrapper for short values.

    Since:
    JDK1.1
    See Also:
    Number

    Variable Index

    MAX_VALUE
    The maximum value a Short can have.
    MIN_VALUE
    The minimum value a Short can have.
    TYPE
    The Class object representing the primitive type short.

    Constructor Index

    Short(short)
    Constructs a Short object initialized to the specified short value.
    Short(String)
    Constructs a Short object initialized to the value specified by the String parameter.

    Method Index

    byteValue()
    Returns the value of this Short as a byte.
    decode(String)
    Decodes a String into a Short.
    doubleValue()
    Returns the value of this Short as a double.
    equals(Object)
    Compares this object to the specified object.
    floatValue()
    Returns the value of this Short as a float.
    hashCode()
    Returns a hashcode for this Short.
    intValue()
    Returns the value of this Short as an int.
    longValue()
    Returns the value of this Short as a long.
    parseShort(String)
    Assuming the specified String represents a short, returns that short's value.
    parseShort(String, int)
    Assuming the specified String represents a short, returns that short's value.
    shortValue()
    Returns the value of this Short as a short.
    toString()
    Returns a String object representing this Short's value.
    toString(short)
    Returns a new String object representing the specified Short.
    valueOf(String)
    Assuming the specified String represents a short, returns a new Short object initialized to that value.
    valueOf(String, int)
    Assuming the specified String represents a short, returns a new Short object initialized to that value.

    Variables

    MIN_VALUE
     public static final short MIN_VALUE
    
    The minimum value a Short can have.

    MAX_VALUE
     public static final short MAX_VALUE
    
    The maximum value a Short can have.

    TYPE
     public static final Class TYPE
    
    The Class object representing the primitive type short.


    Constructors

    Short
     public Short(short value)
    
    Constructs a Short object initialized to the specified short value.

    Parameters:
    value - the initial value of the Short
    Short
     public Short(String s) throws NumberFormatException
    
    Constructs a Short object initialized to the value specified by the String parameter. The radix is assumed to be 10.

    Parameters:
    s - the String to be converted to a Short
    Throws: NumberFormatException
    If the String does not contain a parsable short.

    Methods

    toString
     public static String toString(short s)
    
    Returns a new String object representing the specified Short. The radix is assumed to be 10.

    Parameters:
    s - the short to be converted
    parseShort
     public static short parseShort(String s) throws NumberFormatException
    
    Assuming the specified String represents a short, returns that short's value. Throws an exception if the String cannot be parsed as a short. The radix is assumed to be 10.

    Parameters:
    s - the String containing the short
    Throws: NumberFormatException
    If the string does not contain a parsable short.
    parseShort
     public static short parseShort(String s,
                                    int radix) throws NumberFormatException
    
    Assuming the specified String represents a short, returns that short's value. Throws an exception if the String cannot be parsed as a short.

    Parameters:
    s - the String containing the short
    radix - the radix to be used
    Throws: NumberFormatException
    If the String does not contain a parsable short.
    valueOf
     public static Short valueOf(String s,
                                 int radix) throws NumberFormatException
    
    Assuming the specified String represents a short, returns a new Short object initialized to that value. Throws an exception if the String cannot be parsed as a short.

    Parameters:
    s - the String containing the integer
    radix - the radix to be used
    Throws: NumberFormatException
    If the String does not contain a parsable short.
    valueOf
     public static Short valueOf(String s) throws NumberFormatException
    
    Assuming the specified String represents a short, returns a new Short object initialized to that value. Throws an exception if the String cannot be parsed as a short.

    Parameters:
    s - the String containing the integer
    Throws: NumberFormatException
    If the String does not contain a parsable short.
    decode
     public static Short decode(String nm) throws NumberFormatException
    
    Decodes a String into a Short. The String may represent decimal, hexadecimal, and octal numbers.

    Parameters:
    nm - the string to decode
    byteValue
     public byte byteValue()
    
    Returns the value of this Short as a byte.

    Overrides:
    byteValue in class Number
    shortValue
     public short shortValue()
    
    Returns the value of this Short as a short.

    Overrides:
    shortValue in class Number
    intValue
     public int intValue()
    
    Returns the value of this Short as an int.

    Overrides:
    intValue in class Number
    longValue
     public long longValue()
    
    Returns the value of this Short as a long.

    Overrides:
    longValue in class Number
    floatValue
     public float floatValue()
    
    Returns the value of this Short as a float.

    Overrides:
    floatValue in class Number
    doubleValue
     public double doubleValue()
    
    Returns the value of this Short as a double.

    Overrides:
    doubleValue in class Number
    toString
     public String toString()
    
    Returns a String object representing this Short's value.

    Overrides:
    toString in class Object
    hashCode
     public int hashCode()
    
    Returns a hashcode for this Short.

    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Compares this object to the specified object.

    Parameters:
    obj - the object to compare with
    Returns:
    true if the objects are the same; false otherwise.
    Overrides:
    equals in class Object

    g into  kZp$8[756$0 8./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.short_mi.htm$$ Class java.lang.StackOverflowError

    Class java.lang.StackOverflowError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.VirtualMachineError
                               |
                               +----java.lang.StackOverflowError
    

    public class StackOverflowError
    extends VirtualMachineError

    Thrown when a stack overflow occurs because an application recurses too deeply.


    Constructor Index

    StackOverflowError()
    Constructs a StackOverflowError with no detail message.
    StackOverflowError(String)
    Constructs a StackOverflowError with the specified detail message.

    Constructors

    StackOverflowError
     public StackOverflowError()
    
    Constructs a StackOverflowError with no detail message.

    StackOverflowError
     public StackOverflowError(String s)
    
    Constructs a StackOverflowError with the specified detail message.

    Parameters:
    s - the detail message.

    d> Class java.lang.StringIndexOutOfBoundsException

    Class java.lang.StringIndexOutOfBoundsException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IndexOutOfBoundsException
                                       |
                                       +----java.lang.StringIndexOutOfBoundsException
    

    public class StringIndexOutOfBoundsException
    extends IndexOutOfBoundsException

    Thrown by the charAt method in class String and by other String methods to indicate that an index is either negative or greater than or equal to the size of the string.

    Since:
    JDK1.0
    See Also:
    charAt

    Constructor Index

    StringIndexOutOfBoundsException()
    Constructs a StringIndexOutOfBoundsException with no detail message.
    StringIndexOutOfBoundsException(int)
    Constructs a new StringIndexOutOfBoundsException class with an argument indicating the illegal index.
    StringIndexOutOfBoundsException(String)
    Constructs a StringIndexOutOfBoundsException with the specified detail message.

    Constructors

    StringIndexOutOfBoundsException
     public StringIndexOutOfBoundsException()
    
    Constructs a StringIndexOutOfBoundsException with no detail message.

    StringIndexOutOfBoundsException
     public StringIndexOutOfBoundsException(String s)
    
    Constructs a StringIndexOutOfBoundsException with the specified detail message.

    Parameters:
    s - the detail message.
    StringIndexOutOfBoundsException
     public StringIndexOutOfBoundsException(int index)
    
    Constructs a new StringIndexOutOfBoundsException class with an argument indicating the illegal index.

    Parameters:
    index - the illegal index.

    Class java.lang.ThreadDeath

    Class java.lang.ThreadDeath

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.ThreadDeath
    

    public class ThreadDeath
    extends Error

    An instance of ThreadDeath is thrown in the victim thread when the stop method with zero arguments in class Thread is called.

    An application should catch instances of this class only if it must clean up after being terminated asynchronously. If ThreadDeath is caught by a method, it is important that it be rethrown so that the thread actually dies.

    The top-level error handler does not print out a message if ThreadDeath is never caught.

    The class ThreadDeath is specifically a subclass of Error rather than Exception, even though it is a "normal occurrence", because many applications catch all occurrences of Exception and then discard the exception.

    Since:
    JDK1.0
    See Also:
    stop

    Constructor Index

    ThreadDeath()

    Constructors

    ThreadDeath
     public ThreadDeath()
    

     k,L$T^756$pT./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.threaddeath_mi.htmds$$ Class java.lang.Throwable

    Class java.lang.Throwable

    java.lang.Object
       |
       +----java.lang.Throwable
    

    public class Throwable
    extends Object
    implements Serializable
    super class of:
    Error, Exception

    The Throwable class is the superclass of all errors and exceptions in the Java language. Only objects that are instances of this class (or of one of its subclasses) are thrown by the Java Virtual Machine or can be thrown by the Java throw statement. Similarly, only this class or one of its subclasses can be the argument type in a catch clause.

    A Throwable class contains a snapshot of the execution stack of its thread at the time it was created. It can also contain a message string that gives more information about the error.

    Here is one example of catching an exception:

         try {
             int a[] = new int[2];
             a[4];
         } catch (ArrayIndexOutOfBoundsException e) {
             System.out.println("exception: " + e.getMessage());
             e.printStackTrace();
         }
     


    Constructor Index

    Throwable()
    Constructs a new Throwable with no detail message.
    Throwable(String)
    Constructs a new Throwable with the specified detail message.

    Method Index

    fillInStackTrace()
    Fills in the execution stack trace.
    getLocalizedMessage()
    Creates a localized description of this Throwable.
    getMessage()
    Returns the detail message of this throwable object.
    printStackTrace()
    Prints this Throwable and its backtrace to the standard error stream.
    printStackTrace(PrintStream)
    Prints this Throwable and its backtrace to the specified print stream.
    printStackTrace(PrintWriter)
    Prints this Throwable and its backtrace to the specified print writer.
    toString()
    Returns a short description of this throwable object.

    Constructors

    Throwable
     public Throwable()
    
    Constructs a new Throwable with no detail message. The stack trace is automatically filled in.

    Throwable
     public Throwable(String message)
    
    Constructs a new Throwable with the specified detail message. The stack trace is automatically filled in.

    Parameters:
    message - the detail message.

    Methods

    getMessage
     public String getMessage()
    
    Returns the detail message of this throwable object.

    Returns:
    the detail message of this Throwable, or null if this Throwable does not have a detail message.
    getLocalizedMessage
     public String getLocalizedMessage()
    
    Creates a localized description of this Throwable. Subclasses may override this method in order to produce a locale-specific message. For subclasses that do not override this method, the default implementation returns the same result as getMessage().

    toString
     public String toString()
    
    Returns a short description of this throwable object.

    Returns:
    a string representation of this Throwable.
    Overrides:
    toString in class Object
    printStackTrace
     public void printStackTrace()
    
    Prints this Throwable and its backtrace to the standard error stream.

    See Also:
    err
    printStackTrace
     public void printStackTrace(PrintStream s)
    
    Prints this Throwable and its backtrace to the specified print stream.

    printStackTrace
     public void printStackTrace(PrintWriter s)
    
    Prints this Throwable and its backtrace to the specified print writer.

    fillInStackTrace
     public native Throwable fillInStackTrace()
    
    Fills in the execution stack trace. This method is useful when an application is re-throwing an error or exception. For example:

         try {
             a = b / c;
         } catch(ArithmeticThrowable e) {
             a = Number.MAX_VALUE;
             throw e.fillInStackTrace();
         }
     

    Returns:
    this Throwable object.
    See Also:
    printStackTrace

    a ne k$^756$P ./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.throwable_mi.htmds$$ Class java.lang.UnknownError

    Class java.lang.UnknownError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.VirtualMachineError
                               |
                               +----java.lang.UnknownError
    

    public class UnknownError
    extends VirtualMachineError

    Thrown when an unknown but serious exception has occurred in the Java Virtual Machine.


    Constructor Index

    UnknownError()
    Constructs an UnknownError with no detail message.
    UnknownError(String)
    Constructs an UnknownError with the specified detail message.

    Constructors

    UnknownError
     public UnknownError()
    
    Constructs an UnknownError with no detail message.

    UnknownError
     public UnknownError(String s)
    
    Constructs an UnknownError with the specified detail message.

    Parameters:
    s - the detail message.

    va krÜ$^756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.unknownerror_mi.htms$$ Class java.lang.UnsatisfiedLinkError

    Class java.lang.UnsatisfiedLinkError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.UnsatisfiedLinkError
    

    public class UnsatisfiedLinkError
    extends LinkageError

    Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.

    Since:
    JDK1.0
    See Also:
    Runtime

    Constructor Index

    UnsatisfiedLinkError()
    Constructs an UnsatisfiedLinkError with no detail message.
    UnsatisfiedLinkError(String)
    Constructs an UnsatisfiedLinkError with the specified detail message.

    Constructors

    UnsatisfiedLinkError
     public UnsatisfiedLinkError()
    
    Constructs an UnsatisfiedLinkError with no detail message.

    UnsatisfiedLinkError
     public UnsatisfiedLinkError(String s)
    
    Constructs an UnsatisfiedLinkError with the specified detail message.

    Parameters:
    s - the detail message.

    ere A k|TƜ$_756$`! ./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.unsatisfiedlinkerror_mi.htmo$$ Class java.lang.VerifyError

    Class java.lang.VerifyError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.LinkageError
                               |
                               +----java.lang.VerifyError
    

    public class VerifyError
    extends LinkageError

    Thrown when the "verifier" detects that a class file, though well formed, contains some sort of internal inconsistency or security problem.


    Constructor Index

    VerifyError()
    Constructs an VerifyError with no detail message.
    VerifyError(String)
    Constructs an VerifyError with the specified detail message.

    Constructors

    VerifyError
     public VerifyError()
    
    Constructs an VerifyError with no detail message.

    VerifyError
     public VerifyError(String s)
    
    Constructs an VerifyError with the specified detail message.

    Parameters:
    s - the detail message.

    a kFɜ$_756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.verifyerror_mi.htm_m$$ Class java.lang.VirtualMachineError

    Class java.lang.VirtualMachineError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----java.lang.VirtualMachineError
    

    public abstract class VirtualMachineError
    extends Error
    super class of:
    InternalError, OutOfMemoryError, StackOverflowError, UnknownError

    Thrown to indicate that the Java Virtual Machine is broken or has run out of resources necessary for it to continue operating.


    Constructor Index

    VirtualMachineError()
    Constructs a VirtualMachineError with no detail message.
    VirtualMachineError(String)
    Constructs a VirtualMachineError with the specified detail message.

    Constructors

    VirtualMachineError
     public VirtualMachineError()
    
    Constructs a VirtualMachineError with no detail message.

    VirtualMachineError
     public VirtualMachineError(String s)
    
    Constructs a VirtualMachineError with the specified detail message.

    Parameters:
    s - the detail message.

    A kZ0̜$_756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.virtualmachineerror_mi.htmo$$ Class java.lang.Void

    Class java.lang.Void

    java.lang.Object
       |
       +----java.lang.Void
    

    public final class Void
    extends Object

    The Void class is an uninstantiable placeholder class to hold a reference to the Class object representing the primitive Java type void.


    Variable Index

    TYPE
    The Class object representing the primitive Java type void.

    Variables

    TYPE
     public static final Class TYPE
    
    The Class object representing the primitive Java type void.


    il kϜ$1`756$p?1./usr/IBMVJava/html/enterp/en_US/jdkref/java.lang.void_mi.htme$$ Class java.net.BindException

    Class java.net.BindException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.net.SocketException
                                       |
                                       +----java.net.BindException
    

    public class BindException
    extends SocketException

    Signals that an error occurred while attempting to bind a socket to a local address and port. Typically, the port is in use, or the requested local address could not be assigned.


    Constructor Index

    BindException()
    Construct a new BindException with no detailed message.
    BindException(String)
    Constructs a new BindException with the specified detail message as to why the bind error occurred.

    Constructors

    BindException
     public BindException(String msg)
    
    Constructs a new BindException with the specified detail message as to why the bind error occurred. A detail message is a String that gives a specific description of this error.

    Parameters:
    msg - the detail message
    BindException
     public BindException()
    
    Construct a new BindException with no detailed message.


     k^^؜$a756$pc./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.bindexception_mi.htmi$$ Class java.net.ConnectException

    Class java.net.ConnectException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.net.SocketException
                                       |
                                       +----java.net.ConnectException
    

    public class ConnectException
    extends SocketException

    Signals that an error occurred while attempting to connect a socket to a remote address and port. Typically, the connection was refused remotely (e.g., no process is listening on the remote address/port).


    Constructor Index

    ConnectException()
    Construct a new ConnectException with no detailed message.
    ConnectException(String)
    Constructs a new ConnectException with the specified detail message as to why the connect error occurred.

    Constructors

    ConnectException
     public ConnectException(String msg)
    
    Constructs a new ConnectException with the specified detail message as to why the connect error occurred. A detail message is a String that gives a specific description of this error.

    Parameters:
    msg - the detail message
    ConnectException
     public ConnectException()
    
    Construct a new ConnectException with no detailed message.


    nteger kpۜ$a756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.connectexception_mi.htmtmo$$ Class java.net.ContentHandler

    Class java.net.ContentHandler

    java.lang.Object
       |
       +----java.net.ContentHandler
    

    public abstract class ContentHandler
    extends Object

    The abstract class ContentHandler is the superclass of all classes that read an Object from a URLConnection.

    An application does not generally call the getContent method in this class directly. Instead, an application calls the getContent method in class URL or in URLConnection. The application's content handler factory (an instance of a class that implements the interface ContentHandlerFactory set up by a call to setContentHandler) is called with a String giving the MIME type of the object being received on the socket. The factory returns an instance of a subclass of ContentHandler, and its getContent method is called to create the object.

    Since:
    JDK1.0
    See Also:
    getContent, ContentHandlerFactory, getContent, URLConnection, getContent, setContentHandlerFactory

    Constructor Index

    ContentHandler()

    Method Index

    getContent(URLConnection)
    Given a URL connect stream positioned at the beginning of the representation of an object, this method reads that stream and creates an object from it.

    Constructors

    ContentHandler
     public ContentHandler()
    

    Methods

    getContent
     public abstract Object getContent(URLConnection urlc) throws IOException
    
    Given a URL connect stream positioned at the beginning of the representation of an object, this method reads that stream and creates an object from it.

    Parameters:
    urlc - a URL connection.
    Returns:
    the object read by the ContentHandler.
    Throws: IOException
    if an I/O error occurs while reading the object.

     k:Uޜ$a756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.contenthandler_mi.htm$$ Interface java.net.ContentHandlerFactory

    Interface java.net.ContentHandlerFactory

    public interface ContentHandlerFactory

    This interface defines a factory for content handlers. An implementation of this interface should map a MIME type into an instance of ContentHandler.

    This interface is used by the URLStreamHandler class to create a ContentHandler for a MIME type.

    Since:
    JDK1.0
    See Also:
    ContentHandler, URLStreamHandler

    Method Index

    createContentHandler(String)
    Creates a new ContentHandler to read an object from a URLStreamHandler.

    Methods

    createContentHandler
     public abstract ContentHandler createContentHandler(String mimetype)
    
    Creates a new ContentHandler to read an object from a URLStreamHandler.

    Parameters:
    mimetype - the MIME type for which a content handler is desired.
    Returns:
    a new ContentHandler to read an object from a URLStreamHandler.
    See Also:
    ContentHandler, URLStreamHandler

    s < k$b756$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.contenthandlerfactory_mi.htmo$$ Class java.net.DatagramPacket

    Class java.net.DatagramPacket

    java.lang.Object
       |
       +----java.net.DatagramPacket
    

    public final class DatagramPacket
    extends Object

    This class represents a datagram packet.

    Datagram packets are used to implement a connectionless packet delivery service. Each message is routed from one machine to another based solely on information contained within that packet. Multiple packets sent from one machine to another might be routed differently, and might arrive in any order.


    Constructor Index

    DatagramPacket(byte[], int)
    Constructs a DatagramPacket for receiving packets of length ilength.
    DatagramPacket(byte[], int, InetAddress, int)
    Constructs a datagram packet for sending packets of length ilength to the specified port number on the specified host.

    Method Index

    getAddress()
    Returns the IP address of the machine to which this datagram is being sent or from which the datagram was received.
    getData()
    Returns the data received or the data to be sent.
    getLength()
    Returns the length of the data to be sent or the length of the data received.
    getPort()
    Returns the port number on the remote host to which this datagram is being sent or from which the datagram was received.
    setAddress(InetAddress)
    setData(byte[])
    setLength(int)
    setPort(int)

    Constructors

    DatagramPacket
     public DatagramPacket(byte ibuf[],
                           int ilength)
    
    Constructs a DatagramPacket for receiving packets of length ilength.

    The length argument must be less than or equal to ibuf.length.

    Parameters:
    ibuf - buffer for holding the incoming datagram.
    ilength - the number of bytes to read.
    DatagramPacket
     public DatagramPacket(byte ibuf[],
                           int ilength,
                           InetAddress iaddr,
                           int iport)
    
    Constructs a datagram packet for sending packets of length ilength to the specified port number on the specified host. The length argument must be less than or equal to ibuf.length.

    Parameters:
    ibuf - the packet data.
    ilength - the packet length.
    iaddr - the destination address.
    iport - the destination port number.
    See Also:
    InetAddress

    Methods

    getAddress
     public synchronized InetAddress getAddress()
    
    Returns the IP address of the machine to which this datagram is being sent or from which the datagram was received.

    Returns:
    the IP address of the machine to which this datagram is being sent or from which the datagram was received.
    See Also:
    InetAddress
    getPort
     public synchronized int getPort()
    
    Returns the port number on the remote host to which this datagram is being sent or from which the datagram was received.

    Returns:
    the port number on the remote host to which this datagram is being sent or from which the datagram was received.
    getData
     public synchronized byte[] getData()
    
    Returns the data received or the data to be sent.

    Returns:
    the data received or the data to be sent.
    getLength
     public synchronized int getLength()
    
    Returns the length of the data to be sent or the length of the data received.

    Returns:
    the length of the data to be sent or the length of the data received.
    setAddress
     public synchronized void setAddress(InetAddress iaddr)
    
    setPort
     public synchronized void setPort(int iport)
    
    setData
     public synchronized void setData(byte ibuf[])
    
    setLength
     public synchronized void setLength(int ilength)
    

     kM$=b756$P =./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.datagrampacket_mi.htm$$ Class java.net.DatagramSocket

    Class java.net.DatagramSocket

    java.lang.Object
       |
       +----java.net.DatagramSocket
    

    public class DatagramSocket
    extends Object
    super class of:
    MulticastSocket

    This class represents a socket for sending and receiving datagram packets.

    A datagram socket is the sending or receiving point for a connectionless packet delivery service. Each packet sent or received on a datagram socket is individually addressed and routed. Multiple packets sent from one machine to another may be routed differently, and may arrive in any order.

    Since:
    JDK1.0
    See Also:
    DatagramPacket

    Constructor Index

    DatagramSocket()
    Constructs a datagram socket and binds it to any available port on the local host machine.
    DatagramSocket(int)
    Constructs a datagram socket and binds it to the specified port on the local host machine.
    DatagramSocket(int, InetAddress)
    Creates a datagram socket, bound to the specified local address.

    Method Index

    close()
    Closes this datagram socket.
    getLocalAddress()
    Gets the local address to which the socket is bound.
    getLocalPort()
    Returns the port number on the local host to which this socket is bound.
    getSoTimeout()
    Retrive setting for SO_TIMEOUT.
    receive(DatagramPacket)
    Receives a datagram packet from this socket.
    send(DatagramPacket)
    Sends a datagram packet from this socket.
    setSoTimeout(int)
    Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds.

    Constructors

    DatagramSocket
     public DatagramSocket() throws SocketException
    
    Constructs a datagram socket and binds it to any available port on the local host machine.

    Throws: SocketException
    if the socket could not be opened, or the socket could not bind to the specified local port.
    DatagramSocket
     public DatagramSocket(int port) throws SocketException
    
    Constructs a datagram socket and binds it to the specified port on the local host machine.

    Parameters:
    local - port to use.
    Throws: SocketException
    if the socket could not be opened, or the socket could not bind to the specified local port.
    DatagramSocket
     public DatagramSocket(int port,
                           InetAddress laddr) throws SocketException
    
    Creates a datagram socket, bound to the specified local address. The local port must be between 0 and 65535 inclusive.

    Parameters:
    port - local port to use
    laddr - local address to bind

    Methods

    send
     public void send(DatagramPacket p) throws IOException
    
    Sends a datagram packet from this socket. The DatagramPacket includes information indicating the data to be sent, its length, the IP address of the remote host, and the port number on the remote host.

    Parameters:
    p - the DatagramPacket to be sent.
    Throws: IOException
    if an I/O error occurs.
    See Also:
    DatagramPacket
    receive
     public synchronized void receive(DatagramPacket p) throws IOException
    
    Receives a datagram packet from this socket. When this method returns, the DatagramPacket's buffer is filled with the data received. The datagram packet also contains the sender's IP address, and the port number on the sender's machine.

    This method blocks until a datagram is received. The length field of the datagram packet object contains the length of the received message. If the message is longer than the buffer length, the message is truncated.

    Parameters:
    p - the DatagramPacket into which to place the incoming data.
    Throws: IOException
    if an I/O error occurs.
    See Also:
    DatagramPacket, DatagramSocket
    getLocalAddress
     public InetAddress getLocalAddress()
    
    Gets the local address to which the socket is bound.

    getLocalPort
     public int getLocalPort()
    
    Returns the port number on the local host to which this socket is bound.

    Returns:
    the port number on the local host to which this socket is bound.
    setSoTimeout
     public synchronized void setSoTimeout(int timeout) throws SocketException
    
    Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds. With this option set to a non-zero timeout, a call to receive() for this DatagramSocket will block for only this amount of time. If the timeout expires, a java.io.InterruptedIOException is raised, though the ServerSocket is still valid. The option must be enabled prior to entering the blocking operation to have effect. The timeout must be > 0. A timeout of zero is interpreted as an infinite timeout.

    getSoTimeout
     public synchronized int getSoTimeout() throws SocketException
    
    Retrive setting for SO_TIMEOUT. 0 returns implies that the option is disabled (i.e., timeout of infinity).

    close
     public void close()
    
    Closes this datagram socket.


    cep k$Jb756$P"J./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.datagramsocket_mi.htm$$ Class java.net.DatagramSocketImpl

    Class java.net.DatagramSocketImpl

    java.lang.Object
       |
       +----java.net.DatagramSocketImpl
    

    public abstract class DatagramSocketImpl
    extends Object
    implements SocketOptions

    Abstract datagram and multicast socket implementation base class.


    Variable Index

    fd
    The file descriptor object
    localPort

    Constructor Index

    DatagramSocketImpl()

    Method Index

    bind(int, InetAddress)
    Binds a datagram socket to a local port and address.
    close()
    Close the socket.
    create()
    Creates a datagram socket
    getFileDescriptor()
    Get the datagram socket file descriptor
    getLocalPort()
    Get the local port.
    getTTL()
    Retrieve the TTL (time-to-live) option.
    join(InetAddress)
    Join the multicast group.
    leave(InetAddress)
    Leave the multicast group.
    peek(InetAddress)
    Peek at the packet to see who it is from.
    receive(DatagramPacket)
    Receive the datagram packet.
    send(DatagramPacket)
    Sends a datagram packet.
    setTTL(byte)
    Set the TTL (time-to-live) option.

    Variables

    localPort
     protected int localPort
    
    fd
     protected FileDescriptor fd
    
    The file descriptor object


    Constructors

    DatagramSocketImpl
     public DatagramSocketImpl()
    

    Methods

    create
     protected abstract void create() throws SocketException
    
    Creates a datagram socket

    bind
     protected abstract void bind(int lport,
                                  InetAddress laddr) throws SocketException
    
    Binds a datagram socket to a local port and address.

    send
     protected abstract void send(DatagramPacket p) throws IOException
    
    Sends a datagram packet. The packet contains the data and the destination address to send the packet to.

    Parameters:
    packet - to be sent.
    peek
     protected abstract int peek(InetAddress i) throws IOException
    
    Peek at the packet to see who it is from.

    Parameters:
    return - the address which the packet came from.
    receive
     protected abstract void receive(DatagramPacket p) throws IOException
    
    Receive the datagram packet.

    Parameters:
    Packet - Received.
    setTTL
     protected abstract void setTTL(byte ttl) throws IOException
    
    Set the TTL (time-to-live) option.

    Parameters:
    TTL - to be set.
    getTTL
     protected abstract byte getTTL() throws IOException
    
    Retrieve the TTL (time-to-live) option.

    join
     protected abstract void join(InetAddress inetaddr) throws IOException
    
    Join the multicast group.

    Parameters:
    multicast - address to join.
    leave
     protected abstract void leave(InetAddress inetaddr) throws IOException
    
    Leave the multicast group.

    Parameters:
    multicast - address to leave.
    close
     protected abstract void close()
    
    Close the socket.

    getLocalPort
     protected int getLocalPort()
    
    Get the local port.

    getFileDescriptor
     protected FileDescriptor getFileDescriptor()
    
    Get the datagram socket file descriptor


    tm#_t kT$ab756$@@a./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.datagramsocketimpl_mi.htmmo$$ Interface java.net.FileNameMap

    Interface java.net.FileNameMap

    public interface FileNameMap

    A simple interface which provides a mechanism to map between between a file name and a MIME type string.


    Method Index

    getContentTypeFor(String)

    Methods

    getContentTypeFor
     public abstract String getContentTypeFor(String fileName)
    

    l> Class java.net.HttpURLConnection

    Class java.net.HttpURLConnection

    java.lang.Object
       |
       +----java.net.URLConnection
               |
               +----java.net.HttpURLConnection
    

    public abstract class HttpURLConnection
    extends URLConnection

    A URLConnection with support for HTTP-specific features.


    Variable Index

    HTTP_ACCEPTED
    HTTP_BAD_GATEWAY
    HTTP_BAD_METHOD
    HTTP_BAD_REQUEST
    4XX: client error
    HTTP_CLIENT_TIMEOUT
    HTTP_CONFLICT
    HTTP_CREATED
    HTTP_ENTITY_TOO_LARGE
    HTTP_FORBIDDEN
    HTTP_GATEWAY_TIMEOUT
    HTTP_GONE
    HTTP_INTERNAL_ERROR
    HTTP_LENGTH_REQUIRED
    HTTP_MOVED_PERM
    HTTP_MOVED_TEMP
    HTTP_MULT_CHOICE
    3XX: relocation/redirect
    HTTP_NO_CONTENT
    HTTP_NOT_ACCEPTABLE
    HTTP_NOT_AUTHORITATIVE
    HTTP_NOT_FOUND
    HTTP_NOT_MODIFIED
    HTTP_OK
    2XX: generally "OK"
    HTTP_PARTIAL
    HTTP_PAYMENT_REQUIRED
    HTTP_PRECON_FAILED
    HTTP_PROXY_AUTH
    HTTP_REQ_TOO_LONG
    HTTP_RESET
    HTTP_SEE_OTHER
    HTTP_SERVER_ERROR
    5XX: server error
    HTTP_UNAUTHORIZED
    HTTP_UNAVAILABLE
    HTTP_UNSUPPORTED_TYPE
    HTTP_USE_PROXY
    HTTP_VERSION
    method
    responseCode
    responseMessage

    Constructor Index

    HttpURLConnection(URL)
    Constructor for the URLStreamHandler.

    Method Index

    disconnect()
    Close the connection to the server.
    getFollowRedirects()
    getRequestMethod()
    Get the request method.
    getResponseCode()
    Gets HTTP response status.
    getResponseMessage()
    Gets the HTTP response message, if any, returned along with the response code from a server.
    setFollowRedirects(boolean)
    Sets whether HTTP redirects (requests with response code 3xx) should be automatically followed by this class.
    setRequestMethod(String)
    Set the method for the URL request, one of:
    • GET
    • POST
    • HEAD
    • OPTIONS
    • PUT
    • DELETE
    • TRACE
    are legal, subject to protocol restrictions.
    usingProxy()
    Indicates if the connection is going through a proxy.

    Variables

    method
     protected String method
    
    responseCode
     protected int responseCode
    
    responseMessage
     protected String responseMessage
    
    HTTP_OK
     public static final int HTTP_OK
    
    2XX: generally "OK"

    HTTP_CREATED
     public static final int HTTP_CREATED
    
    HTTP_ACCEPTED
     public static final int HTTP_ACCEPTED
    
    HTTP_NOT_AUTHORITATIVE
     public static final int HTTP_NOT_AUTHORITATIVE
    
    HTTP_NO_CONTENT
     public static final int HTTP_NO_CONTENT
    
    HTTP_RESET
     public static final int HTTP_RESET
    
    HTTP_PARTIAL
     public static final int HTTP_PARTIAL
    
    HTTP_MULT_CHOICE
     public static final int HTTP_MULT_CHOICE
    
    3XX: relocation/redirect

    HTTP_MOVED_PERM
     public static final int HTTP_MOVED_PERM
    
    HTTP_MOVED_TEMP
     public static final int HTTP_MOVED_TEMP
    
    HTTP_SEE_OTHER
     public static final int HTTP_SEE_OTHER
    
    HTTP_NOT_MODIFIED
     public static final int HTTP_NOT_MODIFIED
    
    HTTP_USE_PROXY
     public static final int HTTP_USE_PROXY
    
    HTTP_BAD_REQUEST
     public static final int HTTP_BAD_REQUEST
    
    4XX: client error

    HTTP_UNAUTHORIZED
     public static final int HTTP_UNAUTHORIZED
    
    HTTP_PAYMENT_REQUIRED
     public static final int HTTP_PAYMENT_REQUIRED
    
    HTTP_FORBIDDEN
     public static final int HTTP_FORBIDDEN
    
    HTTP_NOT_FOUND
     public static final int HTTP_NOT_FOUND
    
    HTTP_BAD_METHOD
     public static final int HTTP_BAD_METHOD
    
    HTTP_NOT_ACCEPTABLE
     public static final int HTTP_NOT_ACCEPTABLE
    
    HTTP_PROXY_AUTH
     public static final int HTTP_PROXY_AUTH
    
    HTTP_CLIENT_TIMEOUT
     public static final int HTTP_CLIENT_TIMEOUT
    
    HTTP_CONFLICT
     public static final int HTTP_CONFLICT
    
    HTTP_GONE
     public static final int HTTP_GONE
    
    HTTP_LENGTH_REQUIRED
     public static final int HTTP_LENGTH_REQUIRED
    
    HTTP_PRECON_FAILED
     public static final int HTTP_PRECON_FAILED
    
    HTTP_ENTITY_TOO_LARGE
     public static final int HTTP_ENTITY_TOO_LARGE
    
    HTTP_REQ_TOO_LONG
     public static final int HTTP_REQ_TOO_LONG
    
    HTTP_UNSUPPORTED_TYPE
     public static final int HTTP_UNSUPPORTED_TYPE
    
    HTTP_SERVER_ERROR
     public static final int HTTP_SERVER_ERROR
    
    5XX: server error

    HTTP_INTERNAL_ERROR
     public static final int HTTP_INTERNAL_ERROR
    
    HTTP_BAD_GATEWAY
     public static final int HTTP_BAD_GATEWAY
    
    HTTP_UNAVAILABLE
     public static final int HTTP_UNAVAILABLE
    
    HTTP_GATEWAY_TIMEOUT
     public static final int HTTP_GATEWAY_TIMEOUT
    
    HTTP_VERSION
     public static final int HTTP_VERSION
    

    Constructors

    HttpURLConnection
     protected HttpURLConnection(URL u)
    
    Constructor for the URLStreamHandler.


    Methods

    setFollowRedirects
     public static void setFollowRedirects(boolean set)
    
    Sets whether HTTP redirects (requests with response code 3xx) should be automatically followed by this class. True by default. Applets cannot change this variable.

    getFollowRedirects
     public static boolean getFollowRedirects()
    
    setRequestMethod
     public void setRequestMethod(String method) throws ProtocolException
    
    Set the method for the URL request, one of:
    • GET
    • POST
    • HEAD
    • OPTIONS
    • PUT
    • DELETE
    • TRACE
    are legal, subject to protocol restrictions. The default method is GET.

    Throws: ProtocolException
    if the method cannot be reset or if the requested method isn't valid for HTTP.
    getRequestMethod
     public String getRequestMethod()
    
    Get the request method.

    getResponseCode
     public int getResponseCode() throws IOException
    
    Gets HTTP response status. From responses like:
     HTTP/1.0 200 OK
     HTTP/1.0 401 Unauthorized
     
    Extracts the ints 200 and 401 respectively. Returns -1 if none can be discerned from the response (i.e., the response is not valid HTTP).

    getResponseMessage
     public String getResponseMessage() throws IOException
    
    Gets the HTTP response message, if any, returned along with the response code from a server. From responses like:
     HTTP/1.0 200 OK
     HTTP/1.0 404 Not Found
     
    Extracts the Strings "OK" and "Not Found" respectively. Returns null if none could be discerned from the responses (the result was not valid HTTP).

    disconnect
     public abstract void disconnect()
    
    Close the connection to the server.

    usingProxy
     public abstract boolean usingProxy()
    
    Indicates if the connection is going through a proxy.


    int k3$c756$i./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.httpurlconnection_mi.htmmo$$ Class java.net.InetAddress

    Class java.net.InetAddress

    java.lang.Object
       |
       +----java.net.InetAddress
    

    public final class InetAddress
    extends Object
    implements Serializable

    This class represents an Internet Protocol (IP) address.

    Applications should use the methods getLocalHost, getByName, or getAllByName to create a new InetAddress instance.

    Since:
    JDK1.0
    See Also:
    getAllByName, getByName, getLocalHost

    Method Index

    equals(Object)
    Compares this object against the specified object.
    getAddress()
    Returns the raw IP address of this InetAddress object.
    getAllByName(String)
    Determines all the IP addresses of a host, given the host's name.
    getByName(String)
    Determines the IP address of a host, given the host's name.
    getHostAddress()
    Returns the IP address string "%d.%d.%d.%d"
    getHostName()
    Returns the fully qualified host name for this address.
    getLocalHost()
    Returns the local host.
    hashCode()
    Returns a hashcode for this IP address.
    isMulticastAddress()
    Utility routine to check if the InetAddress is a IP multicast address.
    toString()
    Converts this IP address to a String.

    Methods

    isMulticastAddress
     public boolean isMulticastAddress()
    
    Utility routine to check if the InetAddress is a IP multicast address. IP multicast address is a Class D address i.e first four bits of the address are 1110.

    getHostName
     public String getHostName()
    
    Returns the fully qualified host name for this address. If the host is equal to null, then this address refers to any of the local machine's available network addresses.

    Returns:
    the fully qualified host name for this address.
    getAddress
     public byte[] getAddress()
    
    Returns the raw IP address of this InetAddress object. The result is in network byte order: the highest order byte of the address is in getAddress()[0].

    Returns:
    the raw IP address of this object.
    getHostAddress
     public String getHostAddress()
    
    Returns the IP address string "%d.%d.%d.%d"

    Returns:
    raw IP address in a string format
    hashCode
     public int hashCode()
    
    Returns a hashcode for this IP address.

    Returns:
    a hash code value for this IP address.
    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Compares this object against the specified object. The result is true if and only if the argument is not null and it represents the same IP address as this object.

    Two instances of InetAddress represent the same IP address if the length of the byte arrays returned by getAddress is the same for both, and each of the array components is the same for the byte arrays.

    Parameters:
    obj - the object to compare against.
    Returns:
    true if the objects are the same; false otherwise.
    Overrides:
    equals in class Object
    See Also:
    getAddress
    toString
     public String toString()
    
    Converts this IP address to a String.

    Returns:
    a string representation of this IP address.
    Overrides:
    toString in class Object
    getByName
     public static InetAddress getByName(String host) throws UnknownHostException
    
    Determines the IP address of a host, given the host's name. The host name can either be a machine name, such as "java.sun.com", or a string representing its IP address, such as "206.26.48.100".

    Parameters:
    host - the specified host, or null for the local host.
    Returns:
    an IP address for the given host name.
    Throws: UnknownHostException
    if no IP address for the host could be found.
    getAllByName
     public static InetAddress[] getAllByName(String host) throws UnknownHostException
    
    Determines all the IP addresses of a host, given the host's name. The host name can either be a machine name, such as "java.sun.com", or a string representing its IP address, such as "206.26.48.100".

    Parameters:
    host - the name of the host.
    Returns:
    an array of all the IP addresses for a given host name.
    Throws: UnknownHostException
    if no IP address for the host could be found.
    getLocalHost
     public static InetAddress getLocalHost() throws UnknownHostException
    
    Returns the local host.

    Returns:
    the IP address of the local host.
    Throws: UnknownHostException
    if no IP address for the host could be found.

    a kFl$c756$Pw./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.inetaddress_mi.htm.ht$$ Class java.net.MalformedURLException

    Class java.net.MalformedURLException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.net.MalformedURLException
    

    public class MalformedURLException
    extends IOException

    Thrown to indicate that a malformed URL has occurred. Either no legal protocol could be found in a specification string or the string could not be parsed.


    Constructor Index

    MalformedURLException()
    Constructs a MalformedURLException with no detail message.
    MalformedURLException(String)
    Constructs a MalformedURLException with the specified detail message.

    Constructors

    MalformedURLException
     public MalformedURLException()
    
    Constructs a MalformedURLException with no detail message.

    MalformedURLException
     public MalformedURLException(String msg)
    
    Constructs a MalformedURLException with the specified detail message.

    Parameters:
    msg - the detail message.

    < k|a$ d756$`} ./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.malformedurlexception_mi.htmo$$ Class java.net.MulticastSocket

    Class java.net.MulticastSocket

    java.lang.Object
       |
       +----java.net.DatagramSocket
               |
               +----java.net.MulticastSocket
    

    public class MulticastSocket
    extends DatagramSocket

    The multicast datagram socket class is useful for sending and receiving IP multicast packets. A MulticastSocket is a (UDP) DatagramSocket, with additional capabilities for joining "groups" of other multicast hosts on the internet.

    A multicast group is specified by a class D IP address, those in the range 224.0.0.1 to 239.255.255.255, inclusive, and by a standard UDP port number. One would join a multicast group by first creating a MulticastSocket with the desired port, then invoking the joinGroup(InetAddress groupAddr) method:

     // join a Multicast group and send the group salutations
     ...
     byte[] msg = {'H', 'e', 'l', 'l', 'o'};
     InetAddress group = InetAddress.getByName("228.5.6.7");
     MulticastSocket s = new MulticastSocket(6789);
     s.joinGroup(group);
     DatagramPacket hi = new DatagramPacket(msg, msg.length,
                                 group, 6789);
     s.send(hi);
     // get their responses! 
     byte[] buf = new byte[1000];
     DatagramPacket recv = new DatagramPacket(buf, buf.length);
     s.receive(recv);
     ...
     // OK, I'm done talking - leave the group...
     s.leaveGroup(group);
     
    When one sends a message to a multicast group, all subscribing recipients to that host and port receive the message (within the time-to-live range of the packet, see below). The socket needn't be a member of the multicast group to send messages to it.

    When a socket subscribes to a multicast group/port, it receives datagrams sent by other hosts to the group/port, as do all other members of the group and port. A socket relinquishes membership in a group by the leaveGroup(InetAddress addr) method. Multiple MulticastSocket's may subscribe to a multicast group and port concurrently, and they will all receive group datagrams.

    Currently applets are not allowed ot use multicast sockets.


    Constructor Index

    MulticastSocket()
    Create a multicast socket.
    MulticastSocket(int)
    Create a multicast socket and bind it to a specific port.

    Method Index

    getInterface()
    Retrieve the address of the network interface used for multicast packets.
    getTTL()
    Get the default time-to-live for multicast packets sent out on the socket.
    joinGroup(InetAddress)
    Joins a multicast group.
    leaveGroup(InetAddress)
    Leave a multicast group.
    send(DatagramPacket, byte)
    Sends a datagram packet to the destination, with a TTL (time- to-live) other than the default for the socket.
    setInterface(InetAddress)
    Set the outgoing network interface for multicast packets on this socket, to other than the system default.
    setTTL(byte)
    Set the default time-to-live for multicast packets sent out on this socket.

    Constructors

    MulticastSocket
     public MulticastSocket() throws IOException
    
    Create a multicast socket.

    MulticastSocket
     public MulticastSocket(int port) throws IOException
    
    Create a multicast socket and bind it to a specific port.

    Parameters:
    local - port to use

    Methods

    setTTL
     public void setTTL(byte ttl) throws IOException
    
    Set the default time-to-live for multicast packets sent out on this socket. The TTL sets the IP time-to-live for DatagramPackets sent to a MulticastGroup, which specifies how many "hops" that the packet will be forwarded on the network before it expires.

    The ttl is an unsigned 8-bit quantity, and so must be in the range 0 .

    Parameters:
    ttl - the time-to-live
    getTTL
     public byte getTTL() throws IOException
    
    Get the default time-to-live for multicast packets sent out on the socket.

    joinGroup
     public void joinGroup(InetAddress mcastaddr) throws IOException
    
    Joins a multicast group.

    Parameters:
    mcastaddr - is the multicast address to join
    Throws: IOException
    is raised if there is an error joining or when address is not a multicast address.
    leaveGroup
     public void leaveGroup(InetAddress mcastaddr) throws IOException
    
    Leave a multicast group.

    Parameters:
    mcastaddr - is the multicast address to leave
    Throws: IOException
    is raised if there is an error leaving or when address is not a multicast address.
    setInterface
     public void setInterface(InetAddress inf) throws SocketException
    
    Set the outgoing network interface for multicast packets on this socket, to other than the system default. Useful for multihomed hosts.

    getInterface
     public InetAddress getInterface() throws SocketException
    
    Retrieve the address of the network interface used for multicast packets.

    send
     public synchronized void send(DatagramPacket p,
                                   byte ttl) throws IOException
    
    Sends a datagram packet to the destination, with a TTL (time- to-live) other than the default for the socket. This method need only be used in instances where a particular TTL is desired; otherwise it is preferable to set a TTL once on the socket, and use that default TTL for all packets. This method does not alter the default TTL for the socket.

    Parameters:
    p - is the packet to be sent. The packet should contain the destination multicast ip address and the data to be sent. One does not need to be the member of the group to send packets to a destination multicast address.
    ttl - optional time to live for multicast packet. default ttl is 1.
    Throws: IOException
    is raised if an error occurs i.e error while setting ttl.
    See Also:
    send, receive

    /dl>< kV$d756$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.multicastsocket_mi.htm$$ Class java.net.NoRouteToHostException

    Class java.net.NoRouteToHostException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.net.SocketException
                                       |
                                       +----java.net.NoRouteToHostException
    

    public class NoRouteToHostException
    extends SocketException

    Signals that an error occurred while attempting to connect a socket to a remote address and port. Typically, the remote host cannot be reached because of an intervening firewall, or if an intermediate router is down.


    Constructor Index

    NoRouteToHostException()
    Construct a new NoRouteToHostException with no detailed message.
    NoRouteToHostException(String)
    Constructs a new NoRouteToHostException with the specified detail message as to why the remote host cannot be reached.

    Constructors

    NoRouteToHostException
     public NoRouteToHostException(String msg)
    
    Constructs a new NoRouteToHostException with the specified detail message as to why the remote host cannot be reached. A detail message is a String that gives a specific description of this error.

    Parameters:
    msg - the detail message
    NoRouteToHostException
     public NoRouteToHostException()
    
    Construct a new NoRouteToHostException with no detailed message.


    /b> Class java.net.ProtocolException

    Class java.net.ProtocolException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.net.ProtocolException
    

    public class ProtocolException
    extends IOException

    Thrown to indicate that there is an error in the underlying protocol, such as a TCP error.


    Constructor Index

    ProtocolException()
    Constructs a new ProtocolException with no detail message.
    ProtocolException(String)
    Constructs a new ProtocolException with the specified detail message.

    Constructors

    ProtocolException
     public ProtocolException(String host)
    
    Constructs a new ProtocolException with the specified detail message.

    Parameters:
    host - the detail message.
    ProtocolException
     public ProtocolException()
    
    Constructs a new ProtocolException with no detail message.


    > Class java.net.Socket

    Class java.net.Socket

    java.lang.Object
       |
       +----java.net.Socket
    

    public class Socket
    extends Object

    This class implements client sockets (also called just "sockets"). A socket is an endpoint for communication between two machines.

    The actual work of the socket is performed by an instance of the SocketImpl class. An application, by changing the socket factory that creates the socket implementation, can configure itself to create sockets appropriate to the local firewall.

    Since:
    JDK1.0
    See Also:
    setSocketImplFactory, SocketImpl

    Constructor Index

    Socket()
    Creates an unconnected socket, with the system-default type of SocketImpl.
    Socket(InetAddress, int)
    Creates a stream socket and connects it to the specified port number at the specified IP address.
    Socket(InetAddress, int, boolean)
    Creates a socket and connects it to the specified port number at the specified IP address. Deprecated.
    Socket(InetAddress, int, InetAddress, int)
    Creates a socket and connects it to the specified remote address on the specified remote port.
    Socket(SocketImpl)
    Creates an unconnected Socket with a user-specified SocketImpl.
    Socket(String, int)
    Creates a stream socket and connects it to the specified port number on the named host.
    Socket(String, int, boolean)
    Creates a stream socket and connects it to the specified port number on the named host. Deprecated.
    Socket(String, int, InetAddress, int)
    Creates a socket and connects it to the specified remote host on the specified remote port.

    Method Index

    close()
    Closes this socket.
    getInetAddress()
    Returns the address to which the socket is connected.
    getInputStream()
    Returns an input stream for this socket.
    getLocalAddress()
    Gets the local address to which the socket is bound.
    getLocalPort()
    Returns the local port to which this socket is bound.
    getOutputStream()
    Returns an output stream for this socket.
    getPort()
    Returns the remote port to which this socket is connected.
    getSoLinger()
    Returns setting for SO_LINGER.
    getSoTimeout()
    Returns setting for SO_TIMEOUT.
    getTcpNoDelay()
    Tests if TCP_NODELAY is enabled.
    setSocketImplFactory(SocketImplFactory)
    Sets the client socket implementation factory for the application.
    setSoLinger(boolean, int)
    Enable/disable SO_LINGER with the specified linger time.
    setSoTimeout(int)
    Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds.
    setTcpNoDelay(boolean)
    Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm).
    toString()
    Converts this socket to a String.

    Constructors

    Socket
     protected Socket()
    
    Creates an unconnected socket, with the system-default type of SocketImpl.

    Socket
     protected Socket(SocketImpl impl) throws SocketException
    
    Creates an unconnected Socket with a user-specified SocketImpl.

    The impl parameter is an instance of a SocketImpl the subclass wishes to use on the Socket.

    Socket
     public Socket(String host,
                   int port) throws UnknownHostException, IOException
    
    Creates a stream socket and connects it to the specified port number on the named host.

    If the application has specified a server socket factory, that factory's createSocketImpl method is called to create the actual socket implementation. Otherwise a "plain" socket is created.

    Parameters:
    host - the host name.
    port - the port number.
    Throws: IOException
    if an I/O error occurs when creating the socket.
    See Also:
    setSocketImplFactory, SocketImpl, createSocketImpl
    Socket
     public Socket(InetAddress address,
                   int port) throws IOException
    
    Creates a stream socket and connects it to the specified port number at the specified IP address.

    If the application has specified a socket factory, that factory's createSocketImpl method is called to create the actual socket implementation. Otherwise a "plain" socket is created.

    Parameters:
    address - the IP address.
    port - the port number.
    Throws: IOException
    if an I/O error occurs when creating the socket.
    See Also:
    setSocketImplFactory, SocketImpl, createSocketImpl
    Socket
     public Socket(String host,
                   int port,
                   InetAddress localAddr,
                   int localPort) throws IOException
    
    Creates a socket and connects it to the specified remote host on the specified remote port. The Socket will also bind() to the local address and port supplied.

    Parameters:
    host - the name of the remote host
    port - the remote port
    localAddr - the local address the socket is bound to
    localPort - the local port the socket is bound to
    Socket
     public Socket(InetAddress address,
                   int port,
                   InetAddress localAddr,
                   int localPort) throws IOException
    
    Creates a socket and connects it to the specified remote address on the specified remote port. The Socket will also bind() to the local address and port supplied.

    Parameters:
    address - the remote address
    port - the remote port
    localAddr - the local address the socket is bound to
    localPort - the local port the socket is bound to
    Socket
     public Socket(String host,
                   int port,
                   boolean stream) throws IOException
    
    Note: Socket() is deprecated. Use DatagramSocket instead for UDP transport.

    Creates a stream socket and connects it to the specified port number on the named host.

    If the stream argument is true, this creates a stream socket. If the stream argument is false, it creates a datagram socket.

    If the application has specified a server socket factory, that factory's createSocketImpl method is called to create the actual socket implementation. Otherwise a "plain" socket is created.

    Parameters:
    host - the host name.
    port - the port number.
    stream - a boolean indicating whether this is a stream socket or a datagram socket.
    Throws: IOException
    if an I/O error occurs when creating the socket.
    See Also:
    setSocketImplFactory, SocketImpl, createSocketImpl
    Socket
     public Socket(InetAddress host,
                   int port,
                   boolean stream) throws IOException
    
    Note: Socket() is deprecated. Use DatagramSocket instead for UDP transport.

    Creates a socket and connects it to the specified port number at the specified IP address.

    If the stream argument is true, this creates a stream socket. If the stream argument is false, it creates a datagram socket.

    If the application has specified a server socket factory, that factory's createSocketImpl method is called to create the actual socket implementation. Otherwise a "plain" socket is created.

    Parameters:
    address - the IP address.
    port - the port number.
    stream - if true, create a stream socket; otherwise, create a datagram socket.
    Throws: IOException
    if an I/O error occurs when creating the socket.
    See Also:
    setSocketImplFactory, SocketImpl, createSocketImpl

    Methods

    getInetAddress
     public InetAddress getInetAddress()
    
    Returns the address to which the socket is connected.

    Returns:
    the remote IP address to which this socket is connected.
    getLocalAddress
     public InetAddress getLocalAddress()
    
    Gets the local address to which the socket is bound.

    getPort
     public int getPort()
    
    Returns the remote port to which this socket is connected.

    Returns:
    the remote port number to which this socket is connected.
    getLocalPort
     public int getLocalPort()
    
    Returns the local port to which this socket is bound.

    Returns:
    the local port number to which this socket is connected.
    getInputStream
     public InputStream getInputStream() throws IOException
    
    Returns an input stream for this socket.

    Returns:
    an input stream for reading bytes from this socket.
    Throws: IOException
    if an I/O error occurs when creating the input stream.
    getOutputStream
     public OutputStream getOutputStream() throws IOException
    
    Returns an output stream for this socket.

    Returns:
    an output stream for writing bytes to this socket.
    Throws: IOException
    if an I/O error occurs when creating the output stream.
    setTcpNoDelay
     public void setTcpNoDelay(boolean on) throws SocketException
    
    Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm).

    getTcpNoDelay
     public boolean getTcpNoDelay() throws SocketException
    
    Tests if TCP_NODELAY is enabled.

    setSoLinger
     public void setSoLinger(boolean on,
                             int val) throws SocketException
    
    Enable/disable SO_LINGER with the specified linger time.

    getSoLinger
     public int getSoLinger() throws SocketException
    
    Returns setting for SO_LINGER. -1 returns implies that the option is disabled.

    setSoTimeout
     public synchronized void setSoTimeout(int timeout) throws SocketException
    
    Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds. With this option set to a non-zero timeout, a read() call on the InputStream associated with this Socket will block for only this amount of time. If the timeout expires, a java.io.InterruptedIOException is raised, though the Socket is still valid. The option must be enabled prior to entering the blocking operation to have effect. The timeout must be > 0. A timeout of zero is interpreted as an infinite timeout.

    getSoTimeout
     public synchronized int getSoTimeout() throws SocketException
    
    Returns setting for SO_TIMEOUT. 0 returns implies that the option is disabled (i.e., timeout of infinity).

    close
     public synchronized void close() throws IOException
    
    Closes this socket.

    Throws: IOException
    if an I/O error occurs when closing this socket.
    toString
     public String toString()
    
    Converts this socket to a String.

    Returns:
    a string representation of this socket.
    Overrides:
    toString in class Object
    setSocketImplFactory
     public static synchronized void setSocketImplFactory(SocketImplFactory fac) throws IOException
    
    Sets the client socket implementation factory for the application. The factory can be specified only once.

    When an application creates a new client socket, the socket implementation factory's createSocketImpl method is called to create the actual socket implementation.

    Parameters:
    fac - the desired factory.
    Throws: IOException
    if an I/O error occurs when setting the socket factory.
    Throws: SocketException
    if the factory is already defined.
    See Also:
    createSocketImpl

    oi kX$ e756$  ./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.socket_mi.htm$$ Class java.net.SocketException

    Class java.net.SocketException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.net.SocketException
    

    public class SocketException
    extends IOException
    super class of:
    BindException, ConnectException, NoRouteToHostException

    Thrown to indicate that there is an error in the underlying protocol, such as a TCP error.


    Constructor Index

    SocketException()
    Constructs a new ProtocolException with no detail message.
    SocketException(String)
    Constructs a new ProtocolException with the specified detail message.

    Constructors

    SocketException
     public SocketException(String msg)
    
    Constructs a new ProtocolException with the specified detail message.

    Parameters:
    host - the detail message.
    SocketException
     public SocketException()
    
    Constructs a new ProtocolException with no detail message.


    >< k $f756$pw./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.socketexception_mi.htm$$ Class java.net.SocketImpl

    Class java.net.SocketImpl

    java.lang.Object
       |
       +----java.net.SocketImpl
    

    public abstract class SocketImpl
    extends Object
    implements SocketOptions

    The abstract class SocketImpl is a common superclass of all classes that actually implement sockets. It is used to create both client and server sockets.

    A "plain" socket implements these methods exactly as described, without attempting to go through a firewall or proxy.


    Variable Index

    address
    The IP address of the remote end of this socket.
    fd
    The file descriptor object for this socket.
    localport
    The local port number to which this socket is connected.
    port
    The port number on the remote host to which this socket is connected.

    Constructor Index

    SocketImpl()

    Method Index

    accept(SocketImpl)
    Accepts a connection.
    available()
    Returns the number of bytes that can be read from this socket without blocking.
    bind(InetAddress, int)
    Binds this socket to the specified port number on the specified host.
    close()
    Closes this socket.
    connect(InetAddress, int)
    Connects this socket to the specified port number on the specified host.
    connect(String, int)
    Connects this socket to the specified port on the named host.
    create(boolean)
    Creates either a stream or a datagram socket.
    getFileDescriptor()
    Returns the value of this socket's fd field.
    getInetAddress()
    Returns the value of this socket's address field.
    getInputStream()
    Returns an input stream for this socket.
    getLocalPort()
    Returns the value of this socket's localport field.
    getOutputStream()
    Returns an output stream for this socket.
    getPort()
    Returns the value of this socket's port field.
    listen(int)
    Sets the maximum queue length for incoming connection indications (a request to connect) to the count argument.
    toString()
    Returns the address and port of this socket as a String.

    Variables

    fd
     protected FileDescriptor fd
    
    The file descriptor object for this socket.

    address
     protected InetAddress address
    
    The IP address of the remote end of this socket.

    port
     protected int port
    
    The port number on the remote host to which this socket is connected.

    localport
     protected int localport
    
    The local port number to which this socket is connected.


    Constructors

    SocketImpl
     public SocketImpl()
    

    Methods

    create
     protected abstract void create(boolean stream) throws IOException
    
    Creates either a stream or a datagram socket.

    Parameters:
    stream - if true, create a stream socket; otherwise, create a datagram socket.
    Throws: IOException
    if an I/O error occurs while creating the socket.
    connect
     protected abstract void connect(String host,
                                     int port) throws IOException
    
    Connects this socket to the specified port on the named host.

    Parameters:
    host - the name of the remote host.
    port - the port number.
    Throws: IOException
    if an I/O error occurs when connecting to the remote host.
    connect
     protected abstract void connect(InetAddress address,
                                     int port) throws IOException
    
    Connects this socket to the specified port number on the specified host.

    Parameters:
    address - the IP address of the remote host.
    port - the port number.
    Throws: IOException
    if an I/O error occurs when attempting a connection.
    bind
     protected abstract void bind(InetAddress host,
                                  int port) throws IOException
    
    Binds this socket to the specified port number on the specified host.

    Parameters:
    host - the IP address of the remote host.
    port - the port number.
    Throws: IOException
    if an I/O error occurs when binding this socket.
    listen
     protected abstract void listen(int backlog) throws IOException
    
    Sets the maximum queue length for incoming connection indications (a request to connect) to the count argument. If a connection indication arrives when the queue is full, the connection is refused.

    Parameters:
    backlog - the maximum length of the queue.
    Throws: IOException
    if an I/O error occurs when creating the queue.
    accept
     protected abstract void accept(SocketImpl s) throws IOException
    
    Accepts a connection.

    Parameters:
    s - the accepted connection.
    Throws: IOException
    if an I/O error occurs when accepting the connection.
    getInputStream
     protected abstract InputStream getInputStream() throws IOException
    
    Returns an input stream for this socket.

    Returns:
    a stream for reading from this socket.
    Throws: IOException
    if an I/O error occurs when creating the input stream.
    getOutputStream
     protected abstract OutputStream getOutputStream() throws IOException
    
    Returns an output stream for this socket.

    Returns:
    an output stream for writing to this socket.
    Throws: IOException
    if an I/O error occurs when creating the output stream.
    available
     protected abstract int available() throws IOException
    
    Returns the number of bytes that can be read from this socket without blocking.

    Returns:
    the number of bytes that can be read from this socket without blocking.
    Throws: IOException
    if an I/O error occurs when determining the number of bytes available.
    close
     protected abstract void close() throws IOException
    
    Closes this socket.

    Throws: IOException
    if an I/O error occurs when closing this socket.
    getFileDescriptor
     protected FileDescriptor getFileDescriptor()
    
    Returns the value of this socket's fd field.

    Returns:
    the value of this socket's fd field.
    See Also:
    fd
    getInetAddress
     protected InetAddress getInetAddress()
    
    Returns the value of this socket's address field.

    Returns:
    the value of this socket's address field.
    See Also:
    address
    getPort
     protected int getPort()
    
    Returns the value of this socket's port field.

    Returns:
    the value of this socket's port field.
    See Also:
    port
    getLocalPort
     protected int getLocalPort()
    
    Returns the value of this socket's localport field.

    Returns:
    the value of this socket's localport field.
    See Also:
    localport
    toString
     public String toString()
    
    Returns the address and port of this socket as a String.

    Returns:
    a string representation of this socket.
    Overrides:
    toString in class Object

    ot kj $zf756$0+z./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.socketimpl_mi.htmhtm$$ Interface java.net.SocketImplFactory

    Interface java.net.SocketImplFactory

    public interface SocketImplFactory

    This interface defines a factory for socket implementations. It is used by the classes Socket and ServerSocket to create actual socket implementations.

    Since:
    JDK1.0
    See Also:
    Socket, ServerSocket

    Method Index

    createSocketImpl()
    Creates a new SocketImpl instance.

    Methods

    createSocketImpl
     public abstract SocketImpl createSocketImpl()
    
    Creates a new SocketImpl instance.

    Returns:
    a new instance of SocketImpl.
    See Also:
    SocketImpl

    cket.  k)$cf756$pc./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.socketimplfactory_mi.htmhtm$$ Class java.net.UnknownHostException

    Class java.net.UnknownHostException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.net.UnknownHostException
    

    public class UnknownHostException
    extends IOException

    Thrown to indicate that the IP address of a host could not be determined.


    Constructor Index

    UnknownHostException()
    Constructs a new UnknownHostException with no detail message.
    UnknownHostException(String)
    Constructs a new UnknownHostException with the specified detail message.

    Constructors

    UnknownHostException
     public UnknownHostException(String host)
    
    Constructs a new UnknownHostException with the specified detail message.

    Parameters:
    host - the detail message.
    UnknownHostException
     public UnknownHostException()
    
    Constructs a new UnknownHostException with no detail message.


    _top_ k}$f756$`<./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.unknownhostexception_mi.htm$$ Class java.net.UnknownServiceException

    Class java.net.UnknownServiceException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.net.UnknownServiceException
    

    public class UnknownServiceException
    extends IOException

    Thrown to indicate that an unknown service exception has occurred. Either the MIME type returned by a URL connection does not make sense, or the application is attempting to write to a read-only URL connection.


    Constructor Index

    UnknownServiceException()
    Constructs a new UnknownServiceException with no detail message.
    UnknownServiceException(String)
    Constructs a new UnknownServiceException with the specified detail message.

    Constructors

    UnknownServiceException
     public UnknownServiceException()
    
    Constructs a new UnknownServiceException with no detail message.

    UnknownServiceException
     public UnknownServiceException(String msg)
    
    Constructs a new UnknownServiceException with the specified detail message.

    Parameters:
    msg - the detail message.

    ode>ad k$g756$`l./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.unknownserviceexception_mi.htm$$ Class java.net.URLEncoder

    Class java.net.URLEncoder

    java.lang.Object
       |
       +----java.net.URLEncoder
    

    public class URLEncoder
    extends Object

    The class contains a utility method for converting a String into a MIME format called "x-www-form-urlencoded" format.

    To convert a String, each character is examined in turn:

    • The ASCII characters 'a' through 'z', 'A' through 'Z', and '0' through '9' remain the same.
    • The space character ' ' is converted into a plus sign '+'.
    • All other characters are converted into the 3-character string "%xy", where xy is the two-digit hexadecimal representation of the lower 8-bits of the character.


    Method Index

    encode(String)
    Translates a string into x-www-form-urlencoded format.

    Methods

    encode
     public static String encode(String s)
    
    Translates a string into x-www-form-urlencoded format.

    Parameters:
    s - String to be translated.
    Returns:
    the translated String.

    l/en k$Wh756$psW./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.urlencoder_mi.htmmn$$ Class java.net.URLStreamHandler

    Class java.net.URLStreamHandler

    java.lang.Object
       |
       +----java.net.URLStreamHandler
    

    public abstract class URLStreamHandler
    extends Object

    The abstract class URLStreamHandler is the common superclass for all stream protocol handlers. A stream protocol handler knows how to make a connection for a particular protocol type, such as http, ftp, or gopher.

    In most cases, an instance of a URLStreamHandler subclass is not created directly by an application. Rather, the first time a protocol name is encountered when constructing a URL, the appropriate stream protocol handler is automatically loaded.

    Since:
    JDK1.0
    See Also:
    URL

    Constructor Index

    URLStreamHandler()

    Method Index

    openConnection(URL)
    Opens a connection to the object referenced by the URL argument.
    parseURL(URL, String, int, int)
    Parses the string representation of a URL into a URL object.
    setURL(URL, String, String, int, String, String)
    Sets the fields of the URL argument to the indicated values.
    toExternalForm(URL)
    Converts a URL of a specific protocol to a String.

    Constructors

    URLStreamHandler
     public URLStreamHandler()
    

    Methods

    openConnection
     protected abstract URLConnection openConnection(URL u) throws IOException
    
    Opens a connection to the object referenced by the URL argument. This method should be overridden by a subclass.

    Parameters:
    u - the URL that this connects to.
    Returns:
    a URLConnection object for the URL.
    Throws: IOException
    if an I/O error occurs while opening the connection.
    parseURL
     protected void parseURL(URL u,
                             String spec,
                             int start,
                             int limit)
    
    Parses the string representation of a URL into a URL object.

    If there is any inherited context, then it has already been copied into the URL argument.

    The parseURL method of URLStreamHandler parses the string representation as if it were an http specification. Most URL protocol families have a similar parsing. A stream protocol handler for a protocol that has a different syntax must override this routine.

    If the file component of the URL argument contains a question mark (as with CGI HTTP URLs), the context is considered to be the URL's file component up to the first / before the question mark, not including the question mark or the directory before it. For example, if the URL was:

        http://www.foo.com/dir/cgi-bin?foo=bar/baz
    and the spec argument was
        quux.html
    the resulting URL would be:
        http://www.foo.com/dir/quux.html
    .

    Parameters:
    u - the URL to receive the result of parsing the spec.
    spec - the String representing the URL that must be parsed.
    start - the character index at which to begin parsing. This is just past the ':' (if there is one) that specifies the determination of the protocol name.
    limit - the character position to stop parsing at. This is the end of the string or the position of the "#" character, if present. All information after the sharp sign indicates an anchor.
    toExternalForm
     protected String toExternalForm(URL u)
    
    Converts a URL of a specific protocol to a String.

    Parameters:
    u - the URL.
    Returns:
    a string representation of the URL argument.
    setURL
     protected void setURL(URL u,
                           String protocol,
                           String host,
                           int port,
                           String file,
                           String ref)
    
    Sets the fields of the URL argument to the indicated values. Only classes derived from URLStreamHandler are supposed to be able to call the set method on a URL.

    Parameters:
    u - the URL to modify.
    protocol - the protocol name.
    host - the remote host value for the URL.
    port - the port on the remote machine.
    file - the file.
    ref - the reference.
    See Also:
    set

    L Interface java.net.URLStreamHandlerFactory

    Interface java.net.URLStreamHandlerFactory

    public interface URLStreamHandlerFactory

    This interface defines a factory for URL stream protocol handlers.

    It is used by the URL class to create a URLStreamHandler for a specific protocol.

    Since:
    JDK1.0
    See Also:
    URL, URLStreamHandler

    Method Index

    createURLStreamHandler(String)
    Creates a new URLStreamHandler instance with the specified protocol.

    Methods

    createURLStreamHandler
     public abstract URLStreamHandler createURLStreamHandler(String protocol)
    
    Creates a new URLStreamHandler instance with the specified protocol.

    Parameters:
    protocol - the protocol ("ftp", "http", "nntp", etc.).
    Returns:
    a URLStreamHandler for the specific protocol.
    See Also:
    URLStreamHandler

     k#$h756$p ./usr/IBMVJava/html/enterp/en_US/jdkref/java.net.urlstreamhandlerfactory_mi.htm$$ Class java.rmi.AccessException

    Class java.rmi.AccessException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.AccessException
    

    public class AccessException
    extends RemoteException


    Constructor Index

    AccessException(String)
    Create a new AccessException with a description.
    AccessException(String, Exception)
    Create a new AccessException with a description and detail exception.

    Constructors

    AccessException
     public AccessException(String s)
    
    Create a new AccessException with a description.

    AccessException
     public AccessException(String s,
                            Exception ex)
    
    Create a new AccessException with a description and detail exception.


    emot k*&$i756$`W./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.accessexception_mi.htm$$ Class java.rmi.AlreadyBoundException

    Class java.rmi.AlreadyBoundException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.rmi.AlreadyBoundException
    

    public class AlreadyBoundException
    extends Exception


    Constructor Index

    AlreadyBoundException()
    AlreadyBoundException(String)

    Constructors

    AlreadyBoundException
     public AlreadyBoundException()
    
    AlreadyBoundException
     public AlreadyBoundException(String s)
    

     k^)$ i756$`b ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.alreadyboundexception_mi.htm$$ Class java.rmi.ConnectException

    Class java.rmi.ConnectException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.ConnectException
    

    public class ConnectException
    extends RemoteException


    Constructor Index

    ConnectException(String)
    Create A remote exception with the specified string
    ConnectException(String, Exception)
    Create A remote exception with the specified string, and the exception specified.

    Constructors

    ConnectException
     public ConnectException(String s)
    
    Create A remote exception with the specified string

    ConnectException
     public ConnectException(String s,
                             Exception ex)
    
    Create A remote exception with the specified string, and the exception specified.


    f - th k,$i756$`n./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.connectexception_mi.htmhtm$$ Class java.rmi.ConnectIOException

    Class java.rmi.ConnectIOException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.ConnectIOException
    

    public class ConnectIOException
    extends RemoteException


    Constructor Index

    ConnectIOException(String)
    Create A remote exception with the specified string
    ConnectIOException(String, Exception)
    Create A remote exception with the specified string, and the exception specified.

    Constructors

    ConnectIOException
     public ConnectIOException(String s)
    
    Create A remote exception with the specified string

    ConnectIOException
     public ConnectIOException(String s,
                               Exception ex)
    
    Create A remote exception with the specified string, and the exception specified.


    Al k)/$,j756$`z,./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.connectioexception_mi.htmm$$ Interface java.rmi.dgc.DGC

    Interface java.rmi.dgc.DGC

    public interface DGC
    extends Remote

    The DGC abstraction is used for the server side of the distributed garbage collection algorithm. This interface contains the two methods: dirty and clean. A dirty call is made when a remote reference is unmarshaled in a client (the client is indicated by its VMID). A corresponding clean call is made when no more references to the remote reference exist in the client. A failed dirty call must schedule a strong clean call so that the call's sequence number can be retained in order to detect future calls received out of order by the distributed garbage collector. A reference to a remote object is leased for a period of time by the client holding the reference. The lease period starts when the dirty call is received. It is the client's responsibility to renew the leases, by making additional dirty calls, on the remote references it holds before such leases expire. If the client does not renew the lease before it expires, the distributed garbage collector assumes that the remote object is no longer referenced by that client.


    Method Index

    clean(ObjID[], long, VMID, boolean)
    The clean call removes the 'vmid' from the reference list of each remote object indicated in 'id's.
    dirty(ObjID[], long, Lease)
    The dirty call requests leases for the remote object references associated with the object identifiers contained in the array 'ids'.

    Methods

    dirty
     public abstract Lease dirty(ObjID ids[],
                                 long sequenceNum,
                                 Lease lease) throws RemoteException
    
    The dirty call requests leases for the remote object references associated with the object identifiers contained in the array 'ids'. The 'lease' contains a client's unique VM identifier (VMID) and a requested lease period. For each remote object exported in the local VM, the garbage collector maintains a reference list-a list of clients that hold references to it. If the lease is granted, the garbage collector adds the client's VMID to the reference list for each remote object indicated in 'ids'. The 'sequenceNum' parameter is a sequence number that is used to detect and discard late calls to the garbage collector. The sequence number should always increase for each subsequent call to the garbage collector. Some clients are unable to generate a VMID, since a VMID is a universally unique identifier that contains a host address which some clients are unable to obtain due to security restrictions. In this case, a client can use a VMID of null, and the distributed garbage collector will assign a VMID for the client. The dirty call returns a Lease object that contains the VMID used and the lease period granted for the remote references (a server may decide to grant a smaller lease period than the client requests). A client must use the VMID the garbage collector uses in order to make corresponding clean calls when the client drops remote object references. A client VM need only make one initial dirty call for each remote reference referenced in the VM (even if it has multiple references to the same remote object). The client must also make a dirty call to renew leases on remote references before such leases expire. When the client no longer has any references to a specific remote object, it must schedule a clean call for the object ID associated with the reference.

    clean
     public abstract void clean(ObjID ids[],
                                long sequenceNum,
                                VMID vmid,
                                boolean strong) throws RemoteException
    
    The clean call removes the 'vmid' from the reference list of each remote object indicated in 'id's. The sequence number is used to detect late clean calls. If the argument 'strong' is true, then the clean call is a result of a failed dirty call, thus the sequence number for the client 'vmid' needs to be remembered.


     k[2$ j756$` ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.dgc.dgc_mi.htm$$ Class java.rmi.dgc.Lease

    Class java.rmi.dgc.Lease

    java.lang.Object
       |
       +----java.rmi.dgc.Lease
    

    public final class Lease
    extends Object
    implements Serializable

    A lease contains a unique VM identifier and a lease duration. A Lease object is used to request and grant leases to remote object references.


    Constructor Index

    Lease(VMID, long)
    Constructs a lease with a specific VMID and lease duration.

    Method Index

    getValue()
    Returns the lease duration.
    getVMID()
    Returns the client VMID associated with the lease.

    Constructors

    Lease
     public Lease(VMID id,
                  long duration)
    
    Constructs a lease with a specific VMID and lease duration. The vmid may be null.


    Methods

    getVMID
     public VMID getVMID()
    
    Returns the client VMID associated with the lease.

    getValue
     public long getValue()
    
    Returns the lease duration.


     kЁ5$ j756$` ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.dgc.lease_mi.htm_mi.h$$ Class java.rmi.dgc.VMID

    Class java.rmi.dgc.VMID

    java.lang.Object
       |
       +----java.rmi.dgc.VMID
    

    public final class VMID
    extends Object
    implements Serializable

    A VMID is a identifier that is unique across all Java virtual machines. VMIDs are used by the distributed garbage collector to identify client VMs.


    Constructor Index

    VMID()
    Create a new VMID.

    Method Index

    equals(Object)
    Compare this VMID to another, and return true if they are the same identifier.
    hashCode()
    Compute hash code for this VMID.
    isUnique()
    Return true if an accurate address can be determined for this host.
    toString()
    Return string representation of this VMID.

    Constructors

    VMID
     public VMID()
    
    Create a new VMID. Each new VMID returned from this constructor is unique for all Java virtual machines under the following conditions: a) the conditions for uniqueness for objects of the class java.rmi.server.UID are satisfied, and b) an address can be obtained for this host that is unique and constant for the lifetime of this object.

    The static method isUnique can be invoked to determine if an accurate address can be obtained for this host.


    Methods

    isUnique
     public static boolean isUnique()
    
    Return true if an accurate address can be determined for this host. If false, reliable VMID cannot be generated from this host

    Returns:
    true if host address can be determined, false otherwise
    hashCode
     public int hashCode()
    
    Compute hash code for this VMID.

    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Compare this VMID to another, and return true if they are the same identifier.

    Overrides:
    equals in class Object
    toString
     public String toString()
    
    Return string representation of this VMID.

    Overrides:
    toString in class Object

    l Cla k( 8$j756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.dgc.vmid_mi.htm_mi.h$$ Class java.rmi.MarshalException

    Class java.rmi.MarshalException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.MarshalException
    

    public class MarshalException
    extends RemoteException


    Constructor Index

    MarshalException(String)
    Create a new marshal exception with a descriptive string.
    MarshalException(String, Exception)
    Create a new marshal exception with a descriptive string and an exception.

    Constructors

    MarshalException
     public MarshalException(String s)
    
    Create a new marshal exception with a descriptive string.

    MarshalException
     public MarshalException(String s,
                             Exception ex)
    
    Create a new marshal exception with a descriptive string and an exception.


    t< k};$k756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.marshalexception_mi.htmm$$ Class java.rmi.Naming

    Class java.rmi.Naming

    java.lang.Object
       |
       +----java.rmi.Naming
    

    public final class Naming
    extends Object

    This is the bootstrap mechanism for obtaining references to remote objects based on Uniform Resource Locator (URL) syntax. The URL for a remote object is specified using the usual host, port and name:
    rmi://host:port/name
    host = host name of registry (defaults to current host)
    port = port number of registry (defaults to the registry port number)
    name = name for remote object


    Method Index

    bind(String, Remote)
    Binds the name to the specified remote object.
    list(String)
    Returns an array of strings of the URLs in the registry.
    lookup(String)
    Returns the remote object for the URL.
    rebind(String, Remote)
    Rebind the name to a new object; replaces any existing binding.
    unbind(String)
    Unbind the name.

    Methods

    lookup
     public static Remote lookup(String name) throws NotBoundException, MalformedURLException, UnknownHostException, RemoteException
    
    Returns the remote object for the URL.

    Throws: RemoteException
    If registry could not be contacted.
    Throws: NotBoundException
    If name is not currently bound.
    bind
     public static void bind(String name,
                             Remote obj) throws AlreadyBoundException, MalformedURLException, UnknownHostException, RemoteException
    
    Binds the name to the specified remote object.

    Throws: RemoteException
    If registry could not be contacted.
    Throws: AlreadyBoundException
    If name is already bound.
    unbind
     public static void unbind(String name) throws RemoteException, NotBoundException, MalformedURLException, UnknownHostException
    
    Unbind the name.

    Throws: RemoteException
    If registry could not be contacted.
    Throws: NotBoundException
    If name is not currently bound.
    rebind
     public static void rebind(String name,
                               Remote obj) throws RemoteException, MalformedURLException, UnknownHostException
    
    Rebind the name to a new object; replaces any existing binding.

    Throws: RemoteException
    If registry could not be contacted.
    list
     public static String[] list(String name) throws RemoteException, MalformedURLException, UnknownHostException
    
    Returns an array of strings of the URLs in the registry. The array contains a snapshot of the names present in the registry.

    Throws: RemoteException
    If registry could not be contacted.

    >Th kb>$ k756$` ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.naming_mi.htm$$ Class java.rmi.NoSuchObjectException

    Class java.rmi.NoSuchObjectException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.NoSuchObjectException
    

    public class NoSuchObjectException
    extends RemoteException


    Constructor Index

    NoSuchObjectException(String)
    Create a new NoSuchObjectException with a description.

    Constructors

    NoSuchObjectException
     public NoSuchObjectException(String s)
    
    Create a new NoSuchObjectException with a description.


     kA$k756$p? ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.nosuchobjectexception_mi.htm$$ Class java.rmi.NotBoundException

    Class java.rmi.NotBoundException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.rmi.NotBoundException
    

    public class NotBoundException
    extends Exception


    Constructor Index

    NotBoundException()
    NotBoundException(String)

    Constructors

    NotBoundException
     public NotBoundException()
    
    NotBoundException
     public NotBoundException(String s)
    

    ef/0 kX-D$l756$p? ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.notboundexception_mi.htmtm$$ Class java.rmi.registry.LocateRegistry

    Class java.rmi.registry.LocateRegistry

    java.lang.Object
       |
       +----java.rmi.registry.LocateRegistry
    

    public final class LocateRegistry
    extends Object

    This class is used to obtain the bootstrap Registry on a particular host (including your local host). The following example demonstrates usage (minus exception handling):
    Server wishes to make itself available to others:
    SomeService service = ...; // remote object for service
    Registry registry = LocateRegistry.getRegistry();
    registry.bind("I Serve", service);
    The client wishes to make requests of the above service:
    Registry registry = LocateRegistry.getRegistry("foo.services.com");
    SomeService service = (SomeService)registry.lookup("I Serve");
    service.requestService(...);

    See Also:
    Registry

    Method Index

    createRegistry(int)
    Create and export a registry on the local host.
    getRegistry()
    Returns the remote object Registry for the local host.
    getRegistry(int)
    Returns the remote object Registry on the current host at the specified port.
    getRegistry(String)
    Returns the remote object Registry on the specified host at a default (i.e., well-known) port number.
    getRegistry(String, int)
    Returns the remote object Registry on the specified host at the specified port.

    Methods

    getRegistry
     public static Registry getRegistry() throws RemoteException
    
    Returns the remote object Registry for the local host.

    getRegistry
     public static Registry getRegistry(int port) throws RemoteException
    
    Returns the remote object Registry on the current host at the specified port.

    getRegistry
     public static Registry getRegistry(String host) throws RemoteException, UnknownHostException
    
    Returns the remote object Registry on the specified host at a default (i.e., well-known) port number. If the host String reference is null, the local host is used.

    getRegistry
     public static Registry getRegistry(String host,
                                        int port) throws RemoteException, UnknownHostException
    
    Returns the remote object Registry on the specified host at the specified port. If port <= 0, the default registry port number is used. if the host String reference is null, the local host is used.

    Throws: UnknownHostException
    If the host is not known.
    createRegistry
     public static Registry createRegistry(int port) throws RemoteException
    
    Create and export a registry on the local host.

    Parameters:
    port - the port on which the registry is to be exported
    Throws: RemoteException
    If failure occurs during remote object creation.

    dex  kG$Ql756$`Q./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.registry.locateregistry_mi.htm$$ Interface java.rmi.registry.Registry

    Interface java.rmi.registry.Registry

    public interface Registry
    extends Remote

    A "registry" exists on every node that allows RMI connections to servers on that node. The registry on a particular node contains a transient database that maps names to remote objects. When the node boots, the registry database is empty. The names stored in the registry are pure and are not parsed. A service storing itself in the registry may want to prefix its name of the service by a package name (although not required), to reduce name collisions in the registry. The LocateRegistry class is used to obtain the registry for different hosts.

    See Also:
    LocateRegistry

    Variable Index

    REGISTRY_PORT
    Well known port for registry

    Method Index

    bind(String, Remote)
    Binds the name to the specified remote object.
    list()
    Returns an array of the names in the registry.
    lookup(String)
    Returns the remote object associated with the specified name in the registry.
    rebind(String, Remote)
    Rebind the name to a new object, replacing any existing binding.
    unbind(String)
    Unbind the name.

    Variables

    REGISTRY_PORT
     public static final int REGISTRY_PORT
    
    Well known port for registry


    Methods

    lookup
     public abstract Remote lookup(String name) throws RemoteException, NotBoundException, AccessException
    
    Returns the remote object associated with the specified name in the registry.

    Throws: RemoteException
    If remote operation failed.
    Throws: NotBoundException
    if there is no object with this name in the registry.
    Throws: AccessException
    If this operation is not permitted.
    bind
     public abstract void bind(String name,
                               Remote obj) throws RemoteException, AlreadyBoundException, AccessException
    
    Binds the name to the specified remote object.

    Throws: RemoteException
    If remote operation failed.
    Throws: AlreadyBoundException
    If name is already bound.
    Throws: AccessException
    If this operation is not permitted.
    unbind
     public abstract void unbind(String name) throws RemoteException, NotBoundException, AccessException
    
    Unbind the name.

    Throws: RemoteException
    If remote operation failed.
    Throws: NotBoundException
    if there is no object with this name in the registry.
    Throws: AccessException
    If this operation is not permitted.
    rebind
     public abstract void rebind(String name,
                                 Remote obj) throws RemoteException, AccessException
    
    Rebind the name to a new object, replacing any existing binding.

    Throws: RemoteException
    If remote operation failed.
    Throws: AccessException
    If this operation is not permitted.
    list
     public abstract String[] list() throws RemoteException, AccessException
    
    Returns an array of the names in the registry.

    Throws: RemoteException
    If remote operation failed.
    Throws: AccessException
    If this operation is not permitted.

    s no kHJ$l756$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.registry.registry_mi.htm.htm$$ Interface java.rmi.registry.RegistryHandler

    Interface java.rmi.registry.RegistryHandler

    public interface RegistryHandler

    RegistryHandler is used to interface to the private implementation.


    Method Index

    registryImpl(int)
    Constructs and exports a Registry on the specified port.
    registryStub(String, int)
    Returns a "stub" for contacting a remote registry on the specified host and port.

    Methods

    registryStub
     public abstract Registry registryStub(String host,
                                           int port) throws RemoteException, UnknownHostException
    
    Returns a "stub" for contacting a remote registry on the specified host and port.

    registryImpl
     public abstract Registry registryImpl(int port) throws RemoteException
    
    Constructs and exports a Registry on the specified port. The port must be non-zero.


     k"=M$m756$p ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.registry.registryhandler_mi.htmmi.htm$$ Interface java.rmi.Remote

    Interface java.rmi.Remote

    public interface Remote

    The Remote interface serves to identify all remote objects. Any object that is a remote object must directly or indirectly implement this interface. Only those methods specified in a remote interface are available remotely.

    Implementation classes can implement any number of remote interfaces and can extend other remote implementation classes.


    / k:P$m7 56$p ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.remote_mi.htm$$ Class java.rmi.RemoteException

    Class java.rmi.RemoteException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
    

    public class RemoteException
    extends IOException
    super class of:
    AccessException, ConnectException, ConnectIOException, ExportException, MarshalException, NoSuchObjectException, ServerError, ServerException, ServerRuntimeException, SkeletonMismatchException, SkeletonNotFoundException, StubNotFoundException, UnexpectedException, UnknownHostException, UnmarshalException


    Variable Index

    detail

    Constructor Index

    RemoteException()
    Create a remote exception
    RemoteException(String)
    Create a remote exception with the specified string
    RemoteException(String, Throwable)
    Create a remote exception with the specified string, and the exception specified.

    Method Index

    getMessage()
    Produce the message, include the message from the nested exception if there is one.

    Variables

    detail
     public Throwable detail
    

    Constructors

    RemoteException
     public RemoteException()
    
    Create a remote exception

    RemoteException
     public RemoteException(String s)
    
    Create a remote exception with the specified string

    RemoteException
     public RemoteException(String s,
                            Throwable ex)
    
    Create a remote exception with the specified string, and the exception specified.


    Methods

    getMessage
     public String getMessage()
    
    Produce the message, include the message from the nested exception if there is one.

    Overrides:
    getMessage in class Throwable

    of:  k8S$[m7 56$`=[./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.remoteexception_mi.htm$$ Class java.rmi.RMISecurityException

    Class java.rmi.RMISecurityException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.SecurityException
                                       |
                                       +----java.rmi.RMISecurityException
    

    public class RMISecurityException
    extends SecurityException

    Signals that a security exception has occurred.


    Constructor Index

    RMISecurityException(String)
    Constructs a RMISecurityException with no detail message.
    RMISecurityException(String, String)
    Constructs a RMISecurityException with the specified detail message.

    Constructors

    RMISecurityException
     public RMISecurityException(String name)
    
    Constructs a RMISecurityException with no detail message. A detail message is a String that describes this particular exception.

    RMISecurityException
     public RMISecurityException(String name,
                                 String arg)
    
    Constructs a RMISecurityException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    s - the detail message

    C kV$4m7 56$`K4./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.rmisecurityexception_mi.htmtm$$ Class java.rmi.server.ExportException

    Class java.rmi.server.ExportException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.server.ExportException
    

    public class ExportException
    extends RemoteException
    super class of:
    SocketSecurityException


    Constructor Index

    ExportException(String)
    Create A remote exception with the specified string
    ExportException(String, Exception)
    Create A remote exception with the specified string, and the exception specified.

    Constructors

    ExportException
     public ExportException(String s)
    
    Create A remote exception with the specified string

    ExportException
     public ExportException(String s,
                            Exception ex)
    
    Create A remote exception with the specified string, and the exception specified.


    ava.rmi k\$,n7 56$`,./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.exportexception_mi.htm$$ Interface java.rmi.server.LoaderHandler

    Interface java.rmi.server.LoaderHandler

    public interface LoaderHandler


    Variable Index

    packagePrefix
    Find loader handler package prefix: assumes that the implementation of the LoaderHandler class is located in the package defined by the prefix.

    Method Index

    getSecurityContext(ClassLoader)
    Returns the security context of the given class loader (e.g., a URL)
    loadClass(String)
    Load class using java.rmi.server.codebase property.
    loadClass(URL, String)
    Load class from codebase URL specified.

    Variables

    packagePrefix
     public static final String packagePrefix
    
    Find loader handler package prefix: assumes that the implementation of the LoaderHandler class is located in the package defined by the prefix.


    Methods

    loadClass
     public abstract Class loadClass(String name) throws MalformedURLException, ClassNotFoundException
    
    Load class using java.rmi.server.codebase property.

    Throws: ClassNotFoundException
    if the class could not be found.
    Throws: MalformedURLException
    if the URL is malformed.
    loadClass
     public abstract Class loadClass(URL codebase,
                                     String name) throws MalformedURLException, ClassNotFoundException
    
    Load class from codebase URL specified.

    Throws: ClassNotFoundException
    if the class could not be found.
    Throws: MalformedURLException
    if the URL is malformed.
    getSecurityContext
     public abstract Object getSecurityContext(ClassLoader loader)
    
    Returns the security context of the given class loader (e.g., a URL)


    asse k_$ n7 56$` ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.loaderhandler_mi.htm$$ Class java.rmi.server.LogStream

    Class java.rmi.server.LogStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.FilterOutputStream
                       |
                       +----java.io.PrintStream
                               |
                               +----java.rmi.server.LogStream
    

    public class LogStream
    extends PrintStream

    LogStream presents a mechanism for logging errors that are of possible interest to those monitoring the system.


    Variable Index

    BRIEF
    SILENT
    constants for logging levels
    VERBOSE

    Method Index

    getDefaultStream()
    Return the current default stream for new logs.
    getOutputStream()
    Return the current stream to which output from this log is sent.
    log(String)
    Return the LogStream identified by the given name.
    parseLevel(String)
    Convert a string name of a logging level to its internal integer representation.
    setDefaultStream(PrintStream)
    Set the default stream for new logs.
    setOutputStream(OutputStream)
    Set the stream to which output from this log is sent.
    toString()
    Return log name as string representation
    write(byte[], int, int)
    Write a subarray of bytes.
    write(int)
    Write a byte of data to the stream.

    Variables

    SILENT
     public static final int SILENT
    
    constants for logging levels

    BRIEF
     public static final int BRIEF
    
    VERBOSE
     public static final int VERBOSE
    

    Methods

    log
     public static LogStream log(String name)
    
    Return the LogStream identified by the given name. If a log corresponding to "name" does not exist, a log using the default stream is created.

    getDefaultStream
     public static synchronized PrintStream getDefaultStream()
    
    Return the current default stream for new logs.

    setDefaultStream
     public static synchronized void setDefaultStream(PrintStream newDefault)
    
    Set the default stream for new logs.

    getOutputStream
     public synchronized OutputStream getOutputStream()
    
    Return the current stream to which output from this log is sent.

    setOutputStream
     public synchronized void setOutputStream(OutputStream out)
    
    Set the stream to which output from this log is sent.

    write
     public void write(int b)
    
    Write a byte of data to the stream. If it is not a newline, then the byte is appended to the internal buffer. If it is a newline, then the currently buffered line is sent to the log's output stream, prefixed with the appropriate logging information.

    Overrides:
    write in class PrintStream
    write
     public void write(byte b[],
                       int off,
                       int len)
    
    Write a subarray of bytes. Pass each through write byte method.

    Overrides:
    write in class PrintStream
    toString
     public String toString()
    
    Return log name as string representation

    Overrides:
    toString in class Object
    parseLevel
     public static int parseLevel(String s)
    
    Convert a string name of a logging level to its internal integer representation.


    byte  kNb$o7 56$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.logstream_mi.htmtm$$ Class java.rmi.server.ObjID

    Class java.rmi.server.ObjID

    java.lang.Object
       |
       +----java.rmi.server.ObjID
    

    public final class ObjID
    extends Object
    implements Serializable

    The class ObjID is used to identify remote objects uniquely in a VM over time. Each identifier contains an object number and an address space identifier that is unique with respect to a specific host. An object identifier is assigned to a remote object when it is exported.


    Variable Index

    DGC_ID
    well-known id for the distributed garbage collector
    REGISTRY_ID
    well-known id for the registry

    Constructor Index

    ObjID()
    Generate unique object identifier.
    ObjID(int)
    Generate a "well-known" object ID.

    Method Index

    equals(Object)
    Two object identifiers are considered equal if they have the same contents.
    hashCode()
    The hashcode is the object number.
    read(ObjectInput)
    The read method constructs an object id whose contents is read from the specified input stream.
    toString()
    Returns a string containing the object id representation.
    write(ObjectOutput)
    Marshal object id to output stream.

    Variables

    REGISTRY_ID
     public static final int REGISTRY_ID
    
    well-known id for the registry

    DGC_ID
     public static final int DGC_ID
    
    well-known id for the distributed garbage collector


    Constructors

    ObjID
     public ObjID()
    
    Generate unique object identifier.

    ObjID
     public ObjID(int num)
    
    Generate a "well-known" object ID. An object ID generated via this constructor will not clash with any object IDs generated via the default constructor.

    Parameters:
    num - a unique well-known object number

    Methods

    write
     public void write(ObjectOutput out) throws IOException
    
    Marshal object id to output stream.

    read
     public static ObjID read(ObjectInput in) throws IOException
    
    The read method constructs an object id whose contents is read from the specified input stream.

    hashCode
     public int hashCode()
    
    The hashcode is the object number.

    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Two object identifiers are considered equal if they have the same contents.

    Overrides:
    equals in class Object
    toString
     public String toString()
    
    Returns a string containing the object id representation. The address space identifier is included in the string representation only if the object id is from a non-local address space.

    Overrides:
    toString in class Object

     ke$po7 56$Pp./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.objid_mi.htmtm$$ Class java.rmi.server.Operation

    Class java.rmi.server.Operation

    java.lang.Object
       |
       +----java.rmi.server.Operation
    

    public class Operation
    extends Object

    Operation holds a description of a Java method.


    Constructor Index

    Operation(String)
    Creates a new Operation object.

    Method Index

    getOperation()
    Returns the name of the method.
    toString()
    Returns a string representation of the object.

    Constructors

    Operation
     public Operation(String op)
    
    Creates a new Operation object.


    Methods

    getOperation
     public String getOperation()
    
    Returns the name of the method.

    toString
     public String toString()
    
    Returns a string representation of the object.

    Overrides:
    toString in class Object

     kh$Co7"56$`C./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.operation_mi.htmtm$$ Interface java.rmi.server.RemoteCall

    Interface java.rmi.server.RemoteCall

    public interface RemoteCall

    RemoteCall is an abstraction used solely by the implementation (stubs and skeletons of remote objects) to carry out a call to a remote object.


    Method Index

    done()
    Allow cleanup after the remote call has completed.
    executeCall()
    Do whatever it takes to execute the call.
    getInputStream()
    Get the InputStream that the stub/skeleton should get results/arguments from.
    getOutputStream()
    Return the output stream the stub/skeleton should put arguments/results into.
    getResultStream(boolean)
    Returns an output stream (may put out header information relating to the success of the call).
    releaseInputStream()
    Release the input stream.
    releaseOutputStream()
    Release the output stream; in some transports this would release the stream.

    Methods

    getOutputStream
     public abstract ObjectOutput getOutputStream() throws IOException
    
    Return the output stream the stub/skeleton should put arguments/results into.

    Throws: IOException
    if an I/O error occurs.
    releaseOutputStream
     public abstract void releaseOutputStream() throws IOException
    
    Release the output stream; in some transports this would release the stream.

    Throws: IOException
    if an I/O error occurs.
    getInputStream
     public abstract ObjectInput getInputStream() throws IOException
    
    Get the InputStream that the stub/skeleton should get results/arguments from.

    Throws: IOException
    if an I/O error occurs.
    releaseInputStream
     public abstract void releaseInputStream() throws IOException
    
    Release the input stream. This would allow some transports to release the channel early.

    Throws: IOException
    if an I/O error occurs.
    getResultStream
     public abstract ObjectOutput getResultStream(boolean success) throws IOException, StreamCorruptedException
    
    Returns an output stream (may put out header information relating to the success of the call). Should only succeed once per remote call.

    Parameters:
    success - If true, indicates normal return, else indicates exceptional return.
    Throws: IOException
    if an I/O error occurs.
    Throws: StreamCorruptedException
    If already been called.
    executeCall
     public abstract void executeCall() throws Exception
    
    Do whatever it takes to execute the call.

    Throws: Exception
    if a general exception occurs.
    done
     public abstract void done() throws IOException
    
    Allow cleanup after the remote call has completed.

    Throws: IOException
    if an I/O error occurs.

    s Class java.rmi.server.RemoteObject

    Class java.rmi.server.RemoteObject

    java.lang.Object
       |
       +----java.rmi.server.RemoteObject
    

    public abstract class RemoteObject
    extends Object
    implements Remote, Serializable
    super class of:
    RemoteServer, RemoteStub

    The RemoteObject class implements the java.lang.Object behavior for remote objects. RemoteObject provides the remote semantics of Object by implementing methods for hashCode, equals, and toString.


    Variable Index

    ref

    Constructor Index

    RemoteObject()
    Create a remote object.
    RemoteObject(RemoteRef)
    Create a remote object, initialized with the specified remote reference.

    Method Index

    equals(Object)
    Compares two remote objects for equality.
    hashCode()
    Returns a hashcode for a remote object.
    toString()
    Returns a String that represents the value of this remote object.

    Variables

    ref
     protected transient RemoteRef ref
    

    Constructors

    RemoteObject
     protected RemoteObject()
    
    Create a remote object.

    RemoteObject
     protected RemoteObject(RemoteRef newref)
    
    Create a remote object, initialized with the specified remote reference.


    Methods

    hashCode
     public int hashCode()
    
    Returns a hashcode for a remote object. Two remote object stubs that refer to the same remote object will have the same hash code (in order to support remote objects as keys in hash tables).

    Overrides:
    hashCode in class Object
    See Also:
    Hashtable
    equals
     public boolean equals(Object obj)
    
    Compares two remote objects for equality. Returns a boolean that indicates whether this remote object is equivalent to the specified Object. This method is used when a remote object is stored in a hashtable.

    Parameters:
    obj - the Object to compare with
    Returns:
    true if these Objects are equal; false otherwise.
    Overrides:
    equals in class Object
    See Also:
    Hashtable
    toString
     public String toString()
    
    Returns a String that represents the value of this remote object.

    Overrides:
    toString in class Object

    the j k*%n$p7"56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.remoteobject_mi.htm$$ Interface java.rmi.server.RemoteRef

    Interface java.rmi.server.RemoteRef

    public interface RemoteRef
    extends Externalizable

    RemoteRef represents the handle for a remote object.


    Variable Index

    packagePrefix
    Find server package prefix: assumes that the implementation of server ref classes (e.g., UnicastRef, UnicastServerRef) are located in the package defined by the prefix.

    Method Index

    done(RemoteCall)
    Allows the remote reference to clean up (or reuse) the connection.
    getRefClass(ObjectOutput)
    Returns the class name of the ref type to be serialized onto the stream 'out'.
    invoke(RemoteCall)
    Executes the remote call.
    newCall(RemoteObject, Operation[], int, long)
    Creates an appropriate call object for a new remote method invocation on this object.
    remoteEquals(RemoteRef)
    Compares two remote objects for equality.
    remoteHashCode()
    Returns a hashcode for a remote object.
    remoteToString()
    Returns a String that represents the reference of this remote object.

    Variables

    packagePrefix
     public static final String packagePrefix
    
    Find server package prefix: assumes that the implementation of server ref classes (e.g., UnicastRef, UnicastServerRef) are located in the package defined by the prefix.


    Methods

    newCall
     public abstract RemoteCall newCall(RemoteObject obj,
                                        Operation op[],
                                        int opnum,
                                        long hash) throws RemoteException
    
    Creates an appropriate call object for a new remote method invocation on this object. Passing operation array and index, allows the stubs generator to assign the operation indexes and interpret them. The remote reference may need the operation to encode in the call.

    Throws: RemoteException
    if registry could not be contacted.
    invoke
     public abstract void invoke(RemoteCall call) throws Exception
    
    Executes the remote call. Invoke will raise any "user" exceptions which should pass through and not be caught by the stub. If any exception is raised during the remote invocation, invoke should take care of cleaning up the connection before raising the "user" or remote exception.

    Throws: Exception
    if a general exception occurs.
    done
     public abstract void done(RemoteCall call) throws RemoteException
    
    Allows the remote reference to clean up (or reuse) the connection. Done should only be called if the invoke returns successfully (non-exceptionally) to the stub.

    Throws: RemoteException
    if registry could not be contacted.
    getRefClass
     public abstract String getRefClass(ObjectOutput out)
    
    Returns the class name of the ref type to be serialized onto the stream 'out'.

    remoteHashCode
     public abstract int remoteHashCode()
    
    Returns a hashcode for a remote object. Two remote object stubs that refer to the same remote object will have the same hash code (in order to support remote objects as keys in hash tables).

    See Also:
    Hashtable
    remoteEquals
     public abstract boolean remoteEquals(RemoteRef obj)
    
    Compares two remote objects for equality. Returns a boolean that indicates whether this remote object is equivalent to the specified Object. This method is used when a remote object is stored in a hashtable.

    Parameters:
    obj - the Object to compare with
    Returns:
    true if these Objects are equal; false otherwise.
    See Also:
    Hashtable
    remoteToString
     public abstract String remoteToString()
    
    Returns a String that represents the reference of this remote object.


     kq$p7"56$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.remoteref_mi.htmm$$ Class java.rmi.server.RemoteServer

    Class java.rmi.server.RemoteServer

    java.lang.Object
       |
       +----java.rmi.server.RemoteObject
               |
               +----java.rmi.server.RemoteServer
    

    public abstract class RemoteServer
    extends RemoteObject
    super class of:
    UnicastRemoteObject

    The RemoteServer class is the common superclass to all server implementations and provides the framework to support a wide range of remote reference semantics. Specifically, the functions needed to create and export remote objects (i.e. to make them remotely available) are provided abstractly by RemoteServer and concretely by its subclass(es).

    The subclass selected identifies the semantics of the remote reference, for example whether the server is a single object or is a replicated object requiring communications with multiple locations. At present only UnicastRemoteObject is supported.


    Constructor Index

    RemoteServer()
    RemoteServer(RemoteRef)

    Method Index

    getClientHost()
    Return the hostname of the current client.
    getLog()
    Returns stream for the RMI call log.
    setLog(OutputStream)
    Log RMI calls to the output stream out.

    Constructors

    RemoteServer
     protected RemoteServer()
    
    RemoteServer
     protected RemoteServer(RemoteRef ref)
    

    Methods

    getClientHost
     public static String getClientHost() throws ServerNotActiveException
    
    Return the hostname of the current client. When called from a thread actively handling a remote method invocation the hostname of the client is returned.

    Throws: ServerNotActiveException
    If called outside of servicing a remote method invocation.
    setLog
     public static void setLog(OutputStream out)
    
    Log RMI calls to the output stream out. If out is null, call logging is turned off.

    getLog
     public static PrintStream getLog()
    
    Returns stream for the RMI call log.


    lclas kָt$Ap7"56$`\A./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.remoteserver_mi.htm$$ Class java.rmi.server.RemoteStub

    Class java.rmi.server.RemoteStub

    java.lang.Object
       |
       +----java.rmi.server.RemoteObject
               |
               +----java.rmi.server.RemoteStub
    

    public abstract class RemoteStub
    extends RemoteObject

    The RemoteStub class is the common superclass to all client stubs and provides the framework to support a wide range of remote reference semantics. Stub objects are surrogates that support exactly the same set of remote interfaces defined by the actual implementation of the remote object.


    Constructor Index

    RemoteStub()
    Constructor for RemoteStub.
    RemoteStub(RemoteRef)
    Constructor for RemoteStub, with the specified remote reference.

    Method Index

    setRef(RemoteStub, RemoteRef)

    Constructors

    RemoteStub
     protected RemoteStub()
    
    Constructor for RemoteStub.

    RemoteStub
     protected RemoteStub(RemoteRef ref)
    
    Constructor for RemoteStub, with the specified remote reference.


    Methods

    setRef
     protected static void setRef(RemoteStub stub,
                                  RemoteRef ref)
    

    ostna k$[w$q7"56$`h./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.remotestub_mi.htm$$ Class java.rmi.server.RMIClassLoader

    Class java.rmi.server.RMIClassLoader

    java.lang.Object
       |
       +----java.rmi.server.RMIClassLoader
    

    public class RMIClassLoader
    extends Object

    The RMIClassLoader class provides static methods for loading classes over the network. Classes can be loaded from either a particular URL, or from the URL specified in the java.rmi.server.codebase system property.


    Method Index

    getSecurityContext(ClassLoader)
    Returns the security context of the given class loader
    loadClass(String)
    Load a class from the URL specified in the java.rmi.server.codebase property.
    loadClass(URL, String)
    Load a class from a URL.

    Methods

    loadClass
     public static Class loadClass(String name) throws MalformedURLException, ClassNotFoundException
    
    Load a class from the URL specified in the java.rmi.server.codebase property.

    Parameters:
    name - the name of the class to load
    Returns:
    the Class object representing the loaded class
    Throws: MalformedURLException
    The system property java.rmi.server.codebase does not contain a valid URL.
    Throws: ClassNotFoundException
    A definition for the class could not be found at the codebase URL.
    loadClass
     public static Class loadClass(URL codebase,
                                   String name) throws MalformedURLException, ClassNotFoundException
    
    Load a class from a URL.

    Parameters:
    codebase - the URL from which to load the class
    name - the name of the class to load
    Returns:
    the Class object representing the loaded class
    Throws: MalformedURLException
    The codebase paramater was null.
    Throws: ClassNotFoundException
    A definition for the class could not be found at the specified URL.
    getSecurityContext
     public static Object getSecurityContext(ClassLoader loader)
    
    Returns the security context of the given class loader

    Parameters:
    loader - a class loader from which to get the security context
    Returns:
    the security context (e.g., a URL)

     kz$q7$56$`x./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.rmiclassloader_mi.htm$$ Interface java.rmi.server.RMIFailureHandler

    Interface java.rmi.server.RMIFailureHandler

    public interface RMIFailureHandler

    An RMIFailureHandler can be registered via the RMISocketFactory.setFailureHandler call. The failure method of the handler is invoked when the RMI runtime is unable to create a ServerSocket to listen for incoming calls. The failure method returns a boolean indicating whether the runtime should attempt to re-create the ServerSocket.


    Method Index

    failure(Exception)
    The failure callback is invoked when the RMI runtime is unable to create a ServerSocket via the RMISocketFactory.

    Methods

    failure
     public abstract boolean failure(Exception ex)
    
    The failure callback is invoked when the RMI runtime is unable to create a ServerSocket via the RMISocketFactory. An RMIFailureHandler is registered via a call to RMISocketFacotry.setFailureHandler. If no failure handler is installed, the default behavior is to attempt to re-create the ServerSocket.

    Parameters:
    ex - the exception that occurred during ServerSocket creation
    Returns:
    if true, the RMI runtime attempts to retry ServerSocket creation

    rve kꊁ}${q7$56$p {./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.rmifailurehandler_mi.htmmi.htm$$ Class java.rmi.server.RMISocketFactory

    Class java.rmi.server.RMISocketFactory

    java.lang.Object
       |
       +----java.rmi.server.RMISocketFactory
    

    public abstract class RMISocketFactory
    extends Object

    The RMISocketFactory is used by the RMI runtime in order to obtain client and server sockets for RMI calls. The default implementation of the socket factory performs a three-tiered approach to creating client sockets. First, a direct socket connection to the remote VM is attempted. If that fails (due to a firewall), the runtime uses HTTP with the explicit port number of the server. If the firewall does not allow this type of communication, then HTTP to a cgi-bin script on the server is used to POST the RMI call. An application may set the source of sockets for RMI. In this case, the application is responsible for offering up sockets that will penetrate a firewall.


    Constructor Index

    RMISocketFactory()

    Method Index

    createServerSocket(int)
    Create a server socket on the specified port (port 0 represents an anonymous port).
    createSocket(String, int)
    Create a client socket connected to the specified host and port.
    getFailureHandler()
    Returns the handler for socket creation failure.
    getSocketFactory()
    Returns the socket factory used by RMI.
    setFailureHandler(RMIFailureHandler)
    Set the failure handler to be called by the RMI runtime if socket creation fails.
    setSocketFactory(RMISocketFactory)
    Set the socket factory from which RMI gets sockets.

    Constructors

    RMISocketFactory
     public RMISocketFactory()
    

    Methods

    createSocket
     public abstract Socket createSocket(String host,
                                         int port) throws IOException
    
    Create a client socket connected to the specified host and port.

    createServerSocket
     public abstract ServerSocket createServerSocket(int port) throws IOException
    
    Create a server socket on the specified port (port 0 represents an anonymous port).

    setSocketFactory
     public static void setSocketFactory(RMISocketFactory fac) throws IOException
    
    Set the socket factory from which RMI gets sockets. The RMI socket factory can only be set once. Note: The RMISocketFactory may only be set if the current security manager allows setting a socket factory; if disallowed, a SecurityException will be thrown.

    getSocketFactory
     public static RMISocketFactory getSocketFactory()
    
    Returns the socket factory used by RMI.

    setFailureHandler
     public static void setFailureHandler(RMIFailureHandler fh)
    
    Set the failure handler to be called by the RMI runtime if socket creation fails. The default implementation of this handler returns false (thus recreation of sockets is not attempted by the runtime).

    getFailureHandler
     public static RMIFailureHandler getFailureHandler()
    
    Returns the handler for socket creation failure.


    ock k $r7$56$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.rmisocketfactory_mi.htm$$ Class java.rmi.server.ServerCloneException

    Class java.rmi.server.ServerCloneException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.CloneNotSupportedException
                               |
                               +----java.rmi.server.ServerCloneException
    

    public class ServerCloneException
    extends CloneNotSupportedException


    Variable Index

    detail

    Constructor Index

    ServerCloneException(String)
    Create A remote exception with the specified string
    ServerCloneException(String, Exception)
    Create A remote exception with the specified string, and the exception specified.

    Method Index

    getMessage()
    Produce the message, include the message from the nested exception if there is one.

    Variables

    detail
     public Exception detail
    

    Constructors

    ServerCloneException
     public ServerCloneException(String s)
    
    Create A remote exception with the specified string

    ServerCloneException
     public ServerCloneException(String s,
                                 Exception ex)
    
    Create A remote exception with the specified string, and the exception specified.


    Methods

    getMessage
     public String getMessage()
    
    Produce the message, include the message from the nested exception if there is one.

    Overrides:
    getMessage in class Throwable

    rated  kr$Br7$56$`B./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.servercloneexception_mi.htmhtm$$ Class java.rmi.server.ServerNotActiveException

    Class java.rmi.server.ServerNotActiveException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.rmi.server.ServerNotActiveException
    

    public class ServerNotActiveException
    extends Exception


    Constructor Index

    ServerNotActiveException()
    Create a new exception.
    ServerNotActiveException(String)

    Constructors

    ServerNotActiveException
     public ServerNotActiveException()
    
    Create a new exception.

    ServerNotActiveException
     public ServerNotActiveException(String s)
    

     k꨿$5r7$56$`5./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.servernotactiveexception_mi.htm$$ Interface java.rmi.server.ServerRef

    Interface java.rmi.server.ServerRef

    public interface ServerRef
    extends RemoteRef

    A ServerRef represents the server-side handle for a remote object implementation.


    Method Index

    exportObject(Remote, Object)
    Find or create a client stub object for the supplied Remote.
    getClientHost()
    Return the hostname of the current client.

    Methods

    exportObject
     public abstract RemoteStub exportObject(Remote obj,
                                             Object data) throws RemoteException
    
    Find or create a client stub object for the supplied Remote.

    Parameters:
    obj - the remote object implementation
    data - information necessary to export the object (e.g. port number)
    getClientHost
     public abstract String getClientHost() throws ServerNotActiveException
    
    Return the hostname of the current client. When called from a thread actively handling a remote method invocation the hostname of the client is returned.

    Throws: ServerNotActiveException
    If called outside of servicing a remote method invocation.

    ng_ k"$s7$56$p? ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.serverref_mi.htmeption$$ Interface java.rmi.server.Skeleton

    Interface java.rmi.server.Skeleton

    public interface Skeleton

    Used solely by the implementation.

    Every skeleton class generated by the rmic stub compiler implements this interface. A skeleton for a remote object is a server-side entity that dispatches calls to the actual remote object implementation.


    Method Index

    dispatch(Remote, RemoteCall, int, long)
    Unmarshals arguments, calls the actual remote object implementation, and marshals the return value or any exception.
    getOperations()

    Methods

    dispatch
     public abstract void dispatch(Remote obj,
                                   RemoteCall theCall,
                                   int opnum,
                                   long hash) throws Exception
    
    Unmarshals arguments, calls the actual remote object implementation, and marshals the return value or any exception.

    Throws: Exception
    if a general exception occurs.
    getOperations
     public abstract Operation[] getOperations()
    

    ship/me k$s7$56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.skeleton_mi.htm$$ Class java.rmi.server.SkeletonMismatchException

    Class java.rmi.server.SkeletonMismatchException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.server.SkeletonMismatchException
    

    public class SkeletonMismatchException
    extends RemoteException

    This exception is thrown when a call is received that does not match the available skeleton. It indicates either that the remote method names or signatures in this interface have changed or that the stub class used to make the call and the skeleton receiving the call were not generated by the same version of the stub compiler (RMIC).


    Constructor Index

    SkeletonMismatchException(String)
    Create a new SkeletonMismatchException exception with a descriptive string.

    Constructors

    SkeletonMismatchException
     public SkeletonMismatchException(String s)
    
    Create a new SkeletonMismatchException exception with a descriptive string.


    targe kP$s7$56$p ./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.skeletonmismatchexception_mi.htmhtm$$ Class java.rmi.server.SkeletonNotFoundException

    Class java.rmi.server.SkeletonNotFoundException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.server.SkeletonNotFoundException
    

    public class SkeletonNotFoundException
    extends RemoteException


    Constructor Index

    SkeletonNotFoundException(String)
    Create a new SkeletonNotFoundException exception with a descriptive string.
    SkeletonNotFoundException(String, Exception)
    Create a new SkeletonNotFoundException with a descriptive string and an exception.

    Constructors

    SkeletonNotFoundException
     public SkeletonNotFoundException(String s)
    
    Create a new SkeletonNotFoundException exception with a descriptive string.

    SkeletonNotFoundException
     public SkeletonNotFoundException(String s,
                                      Exception ex)
    
    Create a new SkeletonNotFoundException with a descriptive string and an exception.


    errid kV$rs7$56$`r./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.skeletonnotfoundexception_mi.htmhtm$$ Class java.rmi.server.SocketSecurityException

    Class java.rmi.server.SocketSecurityException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.server.ExportException
                                               |
                                               +----java.rmi.server.SocketSecurityException
    

    public class SocketSecurityException
    extends ExportException


    Constructor Index

    SocketSecurityException(String)
    Create A remote exception with the specified string
    SocketSecurityException(String, Exception)
    Create A remote exception with the specified string, and the exception specified.

    Constructors

    SocketSecurityException
     public SocketSecurityException(String s)
    
    Create A remote exception with the specified string

    SocketSecurityException
     public SocketSecurityException(String s,
                                    Exception ex)
    
    Create A remote exception with the specified string, and the exception specified.


    ng. kP$dt7$56$`d./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.socketsecurityexception_mi.htm$$ Class java.rmi.server.UID

    Class java.rmi.server.UID

    java.lang.Object
       |
       +----java.rmi.server.UID
    

    public final class UID
    extends Object
    implements Serializable

    Abstraction for creating identifiers that are unique with respect to the the host on which it is generated.


    Constructor Index

    UID()
    Create a pure identifier that is unique with respect to the host on which it is generated.
    UID(short)
    Create a "well-known" ID.

    Method Index

    equals(Object)
    Compares two Objects for equality.
    hashCode()
    Returns a hash code value for the object.
    read(DataInput)
    Get the uid from the input stream.
    toString()
    Returns a string representation of the object.
    write(DataOutput)
    Write uid to output stream.

    Constructors

    UID
     public UID()
    
    Create a pure identifier that is unique with respect to the host on which it is generated. This UID is unique under the following conditions: a) the machine takes more than one second to reboot, and b) the machine's clock is never set backward. In order to construct a UID that is globally unique, simply pair a UID with an InetAddress.

    UID
     public UID(short num)
    
    Create a "well-known" ID. There are 2^16 -1 such possible well-known ids. An id generated via this constructor will not clash with any id generated via the default UID constructor which will generates a genuinely unique identifier with respect to this host.


    Methods

    hashCode
     public int hashCode()
    
    Returns a hash code value for the object.

    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Compares two Objects for equality.

    Overrides:
    equals in class Object
    toString
     public String toString()
    
    Returns a string representation of the object.

    Overrides:
    toString in class Object
    write
     public void write(DataOutput out) throws IOException
    
    Write uid to output stream.

    read
     public static UID read(DataInput in) throws IOException
    
    Get the uid from the input stream.

    Parameters:
    in - the input stream
    Throws: IOException
    If uid could not be read (due to stream failure or malformed uid)

     k($t7$56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.uid_mi.htmtyex$$ Class java.rmi.server.UnicastRemoteObject

    Class java.rmi.server.UnicastRemoteObject

    java.lang.Object
       |
       +----java.rmi.server.RemoteObject
               |
               +----java.rmi.server.RemoteServer
                       |
                       +----java.rmi.server.UnicastRemoteObject
    

    public class UnicastRemoteObject
    extends RemoteServer

    The UnicastRemoteObject class defines a non-replicated remote object whose references are valid only while the server process is alive. The UnicastRemoteObject class provides support for point-to-point active object references (invocations, parameters, and results) using TCP streams.

    Objects that require remote behavior should extend RemoteObject, typically via UnicastRemoteObject. If UnicastRemoteObject is not extended, the implementation class must then assume the responsibility for the correct semantics of the hashCode, equals, and toString methods inherited from the Object class, so that they behave appropriately for remote objects.


    Constructor Index

    UnicastRemoteObject()
    Create and export a new UnicastRemoteObject object using an anonymous port.

    Method Index

    clone()
    Returns a clone of the remote object that is distinct from the original.
    exportObject(Remote)
    Export the remote object to make it available to receive incoming calls.

    Constructors

    UnicastRemoteObject
     protected UnicastRemoteObject() throws RemoteException
    
    Create and export a new UnicastRemoteObject object using an anonymous port.


    Methods

    clone
     public Object clone() throws CloneNotSupportedException
    
    Returns a clone of the remote object that is distinct from the original.

    Returns:
    the new remote object
    Throws: CloneNotSupportedException
    if clone failed due to a RemoteException.
    Overrides:
    clone in class Object
    exportObject
     public static RemoteStub exportObject(Remote obj) throws RemoteException
    
    Export the remote object to make it available to receive incoming calls.

    Parameters:
    obj - the remote object to be exported
    Throws: RemoteException
    if export fails

    g.ob kVW$xt7$56$`x./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.unicastremoteobject_mi.htmtm$$ Interface java.rmi.server.Unreferenced

    Interface java.rmi.server.Unreferenced

    public interface Unreferenced

    A remote object should implement this interface to receive notification when there are no more remote references to it.


    Method Index

    unreferenced()
    Called when there are no current references to this remote object.

    Methods

    unreferenced
     public abstract void unreferenced()
    
    Called when there are no current references to this remote object.


    ava/ kȕ$_u7$56$p?_./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.server.unreferenced_mi.htmi.h$$ Class java.rmi.ServerError

    Class java.rmi.ServerError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.ServerError
    

    public class ServerError
    extends RemoteException


    Constructor Index

    ServerError(String, Error)
    Create a new "server error" exception with the string and the specified exception.

    Constructors

    ServerError
     public ServerError(String s,
                        Error err)
    
    Create a new "server error" exception with the string and the specified exception.


     k $u7$56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.servererror_mi.htmmi.$$ Class java.rmi.ServerException

    Class java.rmi.ServerException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.ServerException
    

    public class ServerException
    extends RemoteException


    Constructor Index

    ServerException(String)
    Create a new server exception with a descriptive string.
    ServerException(String, Exception)
    Create a new server exception with a descriptive string and an exception.

    Constructors

    ServerException
     public ServerException(String s)
    
    Create a new server exception with a descriptive string.

    ServerException
     public ServerException(String s,
                            Exception ex)
    
    Create a new server exception with a descriptive string and an exception.


     k$u7$56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.serverexception_mi.htm$$ Class java.rmi.ServerRuntimeException

    Class java.rmi.ServerRuntimeException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.ServerRuntimeException
    

    public class ServerRuntimeException
    extends RemoteException


    Constructor Index

    ServerRuntimeException(String, Exception)
    Create a new runtime exception with the strings and the specified exception.

    Constructors

    ServerRuntimeException
     public ServerRuntimeException(String s,
                                   Exception ex)
    
    Create a new runtime exception with the strings and the specified exception.


    s k$v7$56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.serverruntimeexception_mi.htm$$ Class java.rmi.StubNotFoundException

    Class java.rmi.StubNotFoundException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.StubNotFoundException
    

    public class StubNotFoundException
    extends RemoteException


    Constructor Index

    StubNotFoundException(String)
    Create a new StubNotFoundException with a descriptive string.
    StubNotFoundException(String, Exception)
    Create a new StubNotFoundException with a descriptive string and an exception.

    Constructors

    StubNotFoundException
     public StubNotFoundException(String s)
    
    Create a new StubNotFoundException with a descriptive string.

    StubNotFoundException
     public StubNotFoundException(String s,
                                  Exception ex)
    
    Create a new StubNotFoundException with a descriptive string and an exception.


    t> < k0$Av7&56$`@A./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.stubnotfoundexception_mi.htm$$ Class java.rmi.UnexpectedException

    Class java.rmi.UnexpectedException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.UnexpectedException
    

    public class UnexpectedException
    extends RemoteException


    Constructor Index

    UnexpectedException(String)
    Create a new UnexpectedException with a description.
    UnexpectedException(String, Exception)
    Create a new UnexpectedException with a description, and detail exception.

    Constructors

    UnexpectedException
     public UnexpectedException(String s)
    
    Create a new UnexpectedException with a description.

    UnexpectedException
     public UnexpectedException(String s,
                                Exception ex)
    
    Create a new UnexpectedException with a description, and detail exception.


    r="0"  k$3v7&56$`L3./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.unexpectedexception_mi.htm$$ Class java.rmi.UnknownHostException

    Class java.rmi.UnknownHostException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.UnknownHostException
    

    public class UnknownHostException
    extends RemoteException


    Constructor Index

    UnknownHostException(String)
    Create a new UnknownHostException with a description.
    UnknownHostException(String, Exception)
    Create a new UnknownHostException with a description and detail exception.

    Constructors

    UnknownHostException
     public UnknownHostException(String s)
    
    Create a new UnknownHostException with a description.

    UnknownHostException
     public UnknownHostException(String s,
                                 Exception ex)
    
    Create a new UnknownHostException with a description and detail exception.


    IG k$:w7&56$`X:./usr/IBMVJava/html/enterp/en_US/jdkref/java.rmi.unknownhostexception_mi.htm$$ Class java.rmi.UnmarshalException

    Class java.rmi.UnmarshalException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.rmi.RemoteException
                                       |
                                       +----java.rmi.UnmarshalException
    

    public class UnmarshalException
    extends RemoteException


    Constructor Index

    UnmarshalException(String)
    Create a new marshal exception with a descriptive string.
    UnmarshalException(String, Exception)
    Create a new marshal exception with a descriptive string and an exception.

    Constructors

    UnmarshalException
     public UnmarshalException(String s)
    
    Create a new marshal exception with a descriptive string.

    UnmarshalException
     public UnmarshalException(String s,
                               Exception ex)
    
    Create a new marshal exception with a descriptive string and an exception.


    Interface java.security.acl.Acl

    Interface java.security.acl.Acl

    public interface Acl
    extends Owner

    Interface representing an Access Control List (ACL). An Access Control List is a data structure used to guard access to resources.

    An ACL can be thought of as a data structure with multiple ACL entries. Each ACL entry, of interface type AclEntry, contains a set of permissions associated with a particular principal. (A principal represents an entity such as an individual user or a group). Additionally, each ACL entry is specified as being either positive or negative. If positive, the permissions are to be granted to the associated principal. If negative, the permissions are to be denied.

    The ACL Entries in each ACL observe the following rules:

    • Each principal can have at most one positive ACL entry and one negative entry; that is, multiple positive or negative ACL entries are not allowed for any principal. Each entry specifies the set of permissions that are to be granted (if positive) or denied (if negative).

    • If there is no entry for a particular principal, then the principal is considered to have a null (empty) permission set.

    • If there is a positive entry that grants a principal a particular permission, and a negative entry that denies the principal the same permission, the result is as though the permission was never granted or denied.

    • Individual permissions always override permissions of the group(s) to which the individual belongs. That is, individual negative permissions (specific denial of permissions) override the groups' positive permissions. And individual positive permissions override the groups' negative permissions.

    The java.security.acl package provides the interfaces to the ACL and related data structures (ACL entries, groups, permissions, etc.), and the sun.security.acl classes provide a default implementation of the interfaces. For example, java.security.acl.Acl provides the interface to an ACL and the sun.security.acl.AclImpl class provides the default implementation of the interface.

    The java.security.acl.Acl interface extends the java.security.acl.Owner interface. The Owner interface is used to maintain a list of owners for each ACL. Only owners are allowed to modify an ACL. For example, only an owner can call the ACL's addEntry method to add a new ACL entry to the ACL.

    See Also:
    AclEntry, Owner, getPermissions

    Method Index

    addEntry(Principal, AclEntry)
    Adds an ACL entry to this ACL.
    checkPermission(Principal, Permission)
    Checks whether or not the specified principal has the specified permission.
    entries()
    Returns an enumeration of the entries in this ACL.
    getName()
    Returns the name of this ACL.
    getPermissions(Principal)
    Returns an enumeration for the set of allowed permissions for the specified principal (representing an entity such as an individual or a group).
    removeEntry(Principal, AclEntry)
    Removes an ACL entry from this ACL.
    setName(Principal, String)
    Sets the name of this ACL.
    toString()
    Returns a string representation of the ACL contents.

    Methods

    setName
     public abstract void setName(Principal caller,
                                  String name) throws NotOwnerException
    
    Sets the name of this ACL.

    Parameters:
    caller - the principal invoking this method. It must be an owner of this ACL.
    name - the name to be given to this ACL.
    Throws: NotOwnerException
    if the caller principal is not an owner of this ACL.
    getName
     public abstract String getName()
    
    Returns the name of this ACL.

    Returns:
    the name of this ACL.
    addEntry
     public abstract boolean addEntry(Principal caller,
                                      AclEntry entry) throws NotOwnerException
    
    Adds an ACL entry to this ACL. An entry associates a principal (e.g., an individual or a group) with a set of permissions. Each principal can have at most one positive ACL entry (specifying permissions to be granted to the principal) and one negative ACL entry (specifying permissions to be denied). If there is already an ACL entry of the same type (negative or positive) already in the ACL, false is returned.

    Parameters:
    caller - the principal invoking this method. It must be an owner of this ACL.
    entry - the ACL entry to be added to this ACL.
    Returns:
    true on success, false if an entry of the same type (positive or negative) for the same principal is already present in this ACL.
    Throws: NotOwnerException
    if the caller principal is not an owner of this ACL.
    removeEntry
     public abstract boolean removeEntry(Principal caller,
                                         AclEntry entry) throws NotOwnerException
    
    Removes an ACL entry from this ACL.

    Parameters:
    caller - the principal invoking this method. It must be an owner of this ACL.
    entry - the ACL entry to be removed from this ACL.
    Returns:
    true on success, false if the entry is not part of this ACL.
    Throws: NotOwnerException
    if the caller principal is not an owner of this Acl.
    getPermissions
     public abstract Enumeration getPermissions(Principal user)
    
    Returns an enumeration for the set of allowed permissions for the specified principal (representing an entity such as an individual or a group). This set of allowed permissions is calculated as follows:

    • If there is no entry in this Access Control List for the specified principal, an empty permission set is returned.

    • Otherwise, the principal's group permission sets are determined. (A principal can belong to one or more groups, where a group is a group of principals, represented by the Group interface.) The group positive permission set is the union of all the positive permissions of each group that the principal belongs to. The group negative permission set is the union of all the negative permissions of each group that the principal belongs to. If there is a specific permission that occurs in both the positive permission set and the negative permission set, it is removed from both.

      The individual positive and negative permission sets are also determined. The positive permission set contains the permissions specified in the positive ACL entry (if any) for the principal. Similarly, the negative permission set contains the permissions specified in the negative ACL entry (if any) for the principal. The individual positive (or negative) permission set is considered to be null if there is not a positive (negative) ACL entry for the principal in this ACL.

      The set of permissions granted to the principal is then calculated using the simple rule that individual permissions always override the group permissions. That is, the principal's individual negative permission set (specific denial of permissions) overrides the group positive permission set, and the principal's individual positive permission set overrides the group negative permission set.

    Parameters:
    user - the principal whose permission set is to be returned.
    Returns:
    the permission set specifying the permissions the principal is allowed.
    entries
     public abstract Enumeration entries()
    
    Returns an enumeration of the entries in this ACL. Each element in the enumeration is of type AclEntry.

    Returns:
    an enumeration of the entries in this ACL.
    checkPermission
     public abstract boolean checkPermission(Principal principal,
                                             Permission permission)
    
    Checks whether or not the specified principal has the specified permission. If it does, true is returned, otherwise false is returned. More specifically, this method checks whether the passed permission is a member of the allowed permission set of the specified principal. The allowed permission set is determined by the same algorithm as is used by the getPermissions method.

    Parameters:
    principal - the principal, assumed to be a valid authenticated Principal.
    permission - the permission to be checked for.
    Returns:
    true if the principal has the specified permission, false otherwise.
    See Also:
    getPermissions
    toString
     public abstract String toString()
    
    Returns a string representation of the ACL contents.

    Returns:
    a string representation of the ACL contents.
    Overrides:
    toString in class Object

    si kꬳ$w7&56$Pi./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.acl.acl_mi.htm.h$$ Interface java.security.acl.AclEntry

    Interface java.security.acl.AclEntry

    public interface AclEntry
    extends Cloneable

    This is the interface used for representing one entry in an Access Control List (ACL).

    An ACL can be thought of as a data structure with multiple ACL entry objects. Each ACL entry object contains a set of permissions associated with a particular principal. (A principal represents an entity such as an individual user or a group). Additionally, each ACL entry is specified as being either positive or negative. If positive, the permissions are to be granted to the associated principal. If negative, the permissions are to be denied. Each principal can have at most one positive ACL entry and one negative entry; that is, multiple positive or negative ACL entries are not allowed for any principal. Note: ACL entries are by default positive. An entry becomes a negative entry only if the setNegativePermissions method is called on it.

    See Also:
    Acl

    Method Index

    addPermission(Permission)
    Adds the specified permission to this ACL entry.
    checkPermission(Permission)
    Checks if the specified permission is part of the permission set in this entry.
    clone()
    Clones this ACL entry.
    getPrincipal()
    Returns the principal for which permissions are granted or denied by this ACL entry.
    isNegative()
    Returns true if this is a negative ACL entry (one denying the associated principal the set of permissions in the entry), false otherwise.
    permissions()
    Returns an enumeration of the permissions in this ACL entry.
    removePermission(Permission)
    Removes the specified permission from this ACL entry.
    setNegativePermissions()
    Sets this ACL entry to be a negative one.
    setPrincipal(Principal)
    Specifies the principal for which permissions are granted or denied by this ACL entry.
    toString()
    Returns a string representation of the contents of this ACL entry.

    Methods

    setPrincipal
     public abstract boolean setPrincipal(Principal user)
    
    Specifies the principal for which permissions are granted or denied by this ACL entry. If a principal was already set for this ACL entry, false is returned, otherwise true is returned.

    Parameters:
    user - the principal to be set for this entry.
    Returns:
    true if the principal is set, false if there was already a principal set for this entry.
    getPrincipal
     public abstract Principal getPrincipal()
    
    Returns the principal for which permissions are granted or denied by this ACL entry. Returns null if there is no principal set for this entry yet.

    Returns:
    the principal associated with this entry.
    setNegativePermissions
     public abstract void setNegativePermissions()
    
    Sets this ACL entry to be a negative one. That is, the associated principal (e.g., a user or a group) will be denied the permission set specified in the entry. Note: ACL entries are by default positive. An entry becomes a negative entry only if this setNegativePermissions method is called on it.

    isNegative
     public abstract boolean isNegative()
    
    Returns true if this is a negative ACL entry (one denying the associated principal the set of permissions in the entry), false otherwise.

    Returns:
    true if this is a negative ACL entry, false if it's not.
    addPermission
     public abstract boolean addPermission(Permission permission)
    
    Adds the specified permission to this ACL entry. Note: An entry can have multiple permissions.

    Parameters:
    permission - the permission to be associated with the principal in this entry.
    Returns:
    true if the permission was added, false if the permission was already part of this entry's permission set.
    removePermission
     public abstract boolean removePermission(Permission permission)
    
    Removes the specified permission from this ACL entry.

    Parameters:
    permission - the permission to be removed from this entry.
    Returns:
    true if the permission is removed, false if the permission was not part of this entry's permission set.
    checkPermission
     public abstract boolean checkPermission(Permission permission)
    
    Checks if the specified permission is part of the permission set in this entry.

    Parameters:
    permission - the permission to be checked for.
    Returns:
    true if the permission is part of the permission set in this entry, false otherwise.
    permissions
     public abstract Enumeration permissions()
    
    Returns an enumeration of the permissions in this ACL entry.

    Returns:
    an enumeration of the permissions in this ACL entry.
    toString
     public abstract String toString()
    
    Returns a string representation of the contents of this ACL entry.

    Returns:
    a string representation of the contents.
    Overrides:
    toString in class Object
    clone
     public abstract Object clone()
    
    Clones this ACL entry.

    Returns:
    a clone of this ACL entry.
    Overrides:
    clone in class Object

    y be k$w7&56$Po./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.acl.aclentry_mi.htm$$ Class java.security.acl.AclNotFoundException

    Class java.security.acl.AclNotFoundException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.acl.AclNotFoundException
    

    public class AclNotFoundException
    extends Exception

    This is an exception that is thrown whenever a reference is made to a non-existent ACL (Access Control List).


    Constructor Index

    AclNotFoundException()
    Constructs an AclNotFoundException.

    Constructors

    AclNotFoundException
     public AclNotFoundException()
    
    Constructs an AclNotFoundException.


    22 k$x7&56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.acl.aclnotfoundexception_mi.htm$$ Interface java.security.acl.Group

    Interface java.security.acl.Group

    public interface Group
    extends Principal

    This interface is used to represent a group of principals. (A principal represents an entity such as an individual user or a company).

    Note that Group extends Principal. Thus, either a Principal or a Group can be passed as an argument to methods containing a Principal parameter. For example, you can add either a Principal or a Group to a Group object by calling the object's addMember method, passing it the Principal or Group.


    Method Index

    addMember(Principal)
    Adds the specified member to the group.
    isMember(Principal)
    Returns true if the passed principal is a member of the group.
    members()
    Returns an enumeration of the members in the group.
    removeMember(Principal)
    Removes the specified member from the group.

    Methods

    addMember
     public abstract boolean addMember(Principal user)
    
    Adds the specified member to the group.

    Parameters:
    user - the principal to add to this group.
    Returns:
    true if the member was successfully added, false if the principal was already a member.
    removeMember
     public abstract boolean removeMember(Principal user)
    
    Removes the specified member from the group.

    Parameters:
    user - the principal to remove from this group.
    Returns:
    true if the principal was removed, or false if the principal was not a member.
    isMember
     public abstract boolean isMember(Principal member)
    
    Returns true if the passed principal is a member of the group. This method does a recursive search, so if a principal belongs to a group which is a member of this group, true is returned.

    Parameters:
    member - the principal whose membership is to be checked.
    Returns:
    true if the principal is a member of this group, false otherwise.
    members
     public abstract Enumeration members()
    
    Returns an enumeration of the members in the group. The returned objects can be instances of either Principal or Group (which is a subclass of Principal).

    Returns:
    an enumeration of the group members.

     k$x7&56$`}./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.acl.group_mi.htm$$ Class java.security.acl.LastOwnerException

    Class java.security.acl.LastOwnerException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.acl.LastOwnerException
    

    public class LastOwnerException
    extends Exception

    This is an exception that is thrown whenever an attempt is made to delete the last owner of an Access Control List.

    See Also:
    deleteOwner

    Constructor Index

    LastOwnerException()
    Constructs a LastOwnerException.

    Constructors

    LastOwnerException
     public LastOwnerException()
    
    Constructs a LastOwnerException.


     k>f$x7&56$p>./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.acl.lastownerexception_mi.htm$$ Class java.security.acl.NotOwnerException

    Class java.security.acl.NotOwnerException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.acl.NotOwnerException
    

    public class NotOwnerException
    extends Exception

    This is an exception that is thrown whenever the modification of an object (such as an Access Control List) is only allowed to be done by an owner of the object, but the Principal attempting the modification is not an owner.


    Constructor Index

    NotOwnerException()
    Constructs a NotOwnerException.

    Constructors

    NotOwnerException
     public NotOwnerException()
    
    Constructs a NotOwnerException.


    S S kŝ$|y7&56$p||./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.acl.notownerexception_mi.htm$$ Interface java.security.acl.Owner

    Interface java.security.acl.Owner

    public interface Owner

    Interface for managing owners of Access Control Lists (ACLs) or ACL configurations. (Note that the Acl interface in the java.security.acl package extends this Owner interface.) The initial owner Principal should be specified as an argument to the constructor of the class implementing this interface.

    See Also:
    Acl

    Method Index

    addOwner(Principal, Principal)
    Adds an owner.
    deleteOwner(Principal, Principal)
    Deletes an owner.
    isOwner(Principal)
    Returns true if the given principal is an owner of the ACL.

    Methods

    addOwner
     public abstract boolean addOwner(Principal caller,
                                      Principal owner) throws NotOwnerException
    
    Adds an owner. Only owners can modify ACL contents. The caller principal must be an owner of the ACL in order to invoke this method. That is, only an owner can add another owner. The initial owner is configured at ACL construction time.

    Parameters:
    caller - the principal invoking this method. It must be an owner of the ACL.
    owner - the owner that should be added to the list of owners.
    Returns:
    true if successful, false if owner is already an owner.
    Throws: NotOwnerException
    if the caller principal is not an owner of the ACL.
    deleteOwner
     public abstract boolean deleteOwner(Principal caller,
                                         Principal owner) throws NotOwnerException, LastOwnerException
    
    Deletes an owner. If this is the last owner in the ACL, an exception is raised.

    The caller principal must be an owner of the ACL in order to invoke this method.

    Parameters:
    caller - the principal invoking this method. It must be an owner of the ACL.
    owner - the owner to be removed from the list of owners.
    Returns:
    true if the owner is removed, false if the owner is not part of the list of owners.
    Throws: NotOwnerException
    if the caller principal is not an owner of the ACL.
    Throws: LastOwnerException
    if there is only one owner left, so that deleteOwner would leave the ACL owner-less.
    isOwner
     public abstract boolean isOwner(Principal owner)
    
    Returns true if the given principal is an owner of the ACL.

    Parameters:
    owner - the principal to be checked to determine whether or not it is an owner.
    Returns:
    true if the passed principal is in the list of owners, false if not.

     kȝ$y7&56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.acl.owner_mi.htm$$ Interface java.security.acl.Permission

    Interface java.security.acl.Permission

    public interface Permission

    This interface represents a permission, such as that used to grant a particular type of access to a resource.


    Method Index

    equals(Object)
    Returns true if the object passed matches the permission represented in this interface.
    toString()
    Prints a string representation of this permission.

    Methods

    equals
     public abstract boolean equals(Object another)
    
    Returns true if the object passed matches the permission represented in this interface.

    Parameters:
    another - the Permission object to compare with.
    Returns:
    true if the Permission objects are equal, false otherwise
    Overrides:
    equals in class Object
    toString
     public abstract String toString()
    
    Prints a string representation of this permission.

    Returns:
    the string representation of the permission.
    Overrides:
    toString in class Object

    /java.s k˝$y7&56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.acl.permission_mi.htmi.h$$ Interface java.security.Certificate

    Interface java.security.Certificate

    public interface Certificate

    This is an interface of abstract methods for managing an identity certificate. An identity certificate is a guarantee by a principal that a public key is that of another principal. (A principal represents an entity such as an individual user or a group.)

    In particular, this interface is intended to be a common abstraction for constructs that have different formats but important common uses. For example, different types of certificates, such as X.509 certificates and PGP certificates, share general certificate functionality (the need to encode and decode certificates) and some types of information, such as a public key, the principal whose key it is, and the guarantor guaranteeing that the public key is that of the specified principal. So an implementation of X.509 certificates and an implementation of PGP certificates can both utilize the Certificate interface, even though their formats and additional types and amounts of information stored are different.

    Important: This interface is useful for cataloging and grouping objects sharing certain common uses. It does not have any semantics of its own. In particular, a Certificate object does not make any statement as to the validity of the binding. It is the duty of the application implementing this interface to verify the certificate and satisfy itself of its validity.


    Method Index

    decode(InputStream)
    Decodes a certificate from an input stream.
    encode(OutputStream)
    Encodes the certificate to an output stream in a format that can be decoded by the decode method.
    getFormat()
    Returns the name of the coding format.
    getGuarantor()
    Returns the guarantor of the certificate, that is, the principal guaranteeing that the public key associated with this certificate is that of the principal associated with this certificate.
    getPrincipal()
    Returns the principal of the principal-key pair being guaranteed by the guarantor.
    getPublicKey()
    Returns the key of the principal-key pair being guaranteed by the guarantor.
    toString(boolean)
    Returns a string that represents the contents of the certificate.

    Methods

    getGuarantor
     public abstract Principal getGuarantor()
    
    Returns the guarantor of the certificate, that is, the principal guaranteeing that the public key associated with this certificate is that of the principal associated with this certificate. For X.509 certificates, the guarantor will typically be a Certificate Authority (such as the United States Postal Service or Verisign, Inc.).

    Returns:
    the guarantor which guaranteed the principal-key binding.
    getPrincipal
     public abstract Principal getPrincipal()
    
    Returns the principal of the principal-key pair being guaranteed by the guarantor.

    Returns:
    the principal to which this certificate is bound.
    getPublicKey
     public abstract PublicKey getPublicKey()
    
    Returns the key of the principal-key pair being guaranteed by the guarantor.

    Returns:
    the public key that this certificate certifies belongs to a particular principal.
    encode
     public abstract void encode(OutputStream stream) throws KeyException, IOException
    
    Encodes the certificate to an output stream in a format that can be decoded by the decode method.

    Parameters:
    stream - the output stream to which to encode the certificate.
    Throws: KeyException
    if the certificate is not properly initialized, or data is missing, etc.
    Throws: IOException
    if a stream exception occurs while trying to output the encoded certificate to the output stream.
    See Also:
    decode, getFormat
    decode
     public abstract void decode(InputStream stream) throws KeyException, IOException
    
    Decodes a certificate from an input stream. The format should be that returned by getFormat and produced by encode.

    Parameters:
    stream - the input stream from which to fetch the data being decoded.
    Throws: KeyException
    if the certificate is not properly initialized, or data is missing, etc.
    Throws: IOException
    if an exception occurs while trying to input the encoded certificate from the input stream.
    See Also:
    encode, getFormat
    getFormat
     public abstract String getFormat()
    
    Returns the name of the coding format. This is used as a hint to find an appropriate parser. It could be "X.509", "PGP", etc. This is the format produced and understood by the encode and decode methods.

    Returns:
    the name of the coding format.
    toString
     public abstract String toString(boolean detailed)
    
    Returns a string that represents the contents of the certificate.

    Parameters:
    detailed - whether or not to give detailed information about the certificate.

     kl Ν$z7(56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.certificate_mi.htmmi.h$$ Class java.security.DigestException

    Class java.security.DigestException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.DigestException
    

    public class DigestException
    extends Exception

    This is the generic Message Digest exception.


    Constructor Index

    DigestException()
    Constructs a DigestException with no detail message.
    DigestException(String)
    Constructs a DigestException with the specified detail message.

    Constructors

    DigestException
     public DigestException()
    
    Constructs a DigestException with no detail message. (A detail message is a String that describes this particular exception.)

    DigestException
     public DigestException(String msg)
    
    Constructs a DigestException with the specified detail message. (A detail message is a String that describes this particular exception.)

    Parameters:
    msg - the detail message.

    hip/me kFѝ$z7(56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.digestexception_mi.htm.h$$ Class java.security.DigestInputStream

    Class java.security.DigestInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
                       |
                       +----java.security.DigestInputStream
    

    public class DigestInputStream
    extends FilterInputStream

    A transparent stream that updates the associated message digest using the bits going through the stream.

    To complete the message digest computation, call one of the digest methods on the associated message digest after your calls to one of this digest input stream's read methods.

    It is possible to turn this stream on or off (see on). When it is on, a call to read results in an update on the message digest. But when it is off, the message digest is not updated. The default is for the stream to be on.

    Note that digest objects can compute only one digest (see MessageDigest), so that in order to compute intermediate digests, a caller should retain a handle onto the digest object, and clone it for each digest to be computed, leaving the orginal digest untouched.

    See Also:
    MessageDigest, DigestOutputStream

    Variable Index

    digest
    The message digest associated with this stream.

    Constructor Index

    DigestInputStream(InputStream, MessageDigest)
    Creates a digest input stream, using the specified input stream and message digest.

    Method Index

    getMessageDigest()
    Returns the message digest associated with this stream.
    on(boolean)
    Turns the digest function on or off.
    read()
    Reads a byte, and updates the message digest (if the digest function is on).
    read(byte[], int, int)
    Reads into a byte array, and updates the message digest (if the digest function is on).
    setMessageDigest(MessageDigest)
    Associates the specified message digest with this stream.
    toString()
    Prints a string representation of this digest input stream and its associated message digest object.

    Variables

    digest
     protected MessageDigest digest
    
    The message digest associated with this stream.


    Constructors

    DigestInputStream
     public DigestInputStream(InputStream stream,
                              MessageDigest digest)
    
    Creates a digest input stream, using the specified input stream and message digest.

    Parameters:
    stream - the input stream.
    digest - the message digest to associate with this stream.

    Methods

    getMessageDigest
     public MessageDigest getMessageDigest()
    
    Returns the message digest associated with this stream.

    Returns:
    the message digest associated with this stream.
    setMessageDigest
     public void setMessageDigest(MessageDigest digest)
    
    Associates the specified message digest with this stream.

    Parameters:
    digest - the message digest to be associated with this stream.
    read
     public int read() throws IOException
    
    Reads a byte, and updates the message digest (if the digest function is on). That is, this method reads a byte from the input stream, blocking until the byte is actually read. If the digest function is on (see on), this method will then call update on the message digest associated with this stream, passing it the byte read.

    Returns:
    the byte read.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class FilterInputStream
    See Also:
    update
    read
     public int read(byte b[],
                     int off,
                     int len) throws IOException
    
    Reads into a byte array, and updates the message digest (if the digest function is on). That is, this method reads up to len bytes from the input stream into the array b, starting at offset off. This method blocks until the data is actually read. If the digest function is on (see on), this method will then call update on the message digest associated with this stream, passing it the data.

    Parameters:
    b - the array into which the data is read.
    off - the starting offset into b of where the data should be placed.
    len - the maximum number of bytes to be read from the input stream into b, starting at offset off.
    Returns:
    the actual number of bytes read. This is less than len if the end of the stream is reached prior to reading len bytes. -1 is returned if no bytes were read because the end of the stream had already been reached when the call was made.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    read in class FilterInputStream
    See Also:
    update
    on
     public void on(boolean on)
    
    Turns the digest function on or off. The default is on. When it is on, a call to read results in an update on the message digest. But when it is off, the message digest is not updated.

    Parameters:
    on - true to turn the digest function on, false to turn it off.
    toString
     public String toString()
    
    Prints a string representation of this digest input stream and its associated message digest object.

    Overrides:
    toString in class Object

    > R kRԝ$z7(56$P;./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.digestinputstream_mi.htm$$ Class java.security.DigestOutputStream

    Class java.security.DigestOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.FilterOutputStream
                       |
                       +----java.security.DigestOutputStream
    

    public class DigestOutputStream
    extends FilterOutputStream

    A transparent stream that updates the associated message digest using the bits going through the stream.

    To complete the message digest computation, call one of the digest methods on the associated message digest after your calls to one of this digest ouput stream's write methods.

    It is possible to turn this stream on or off (see on). When it is on, a call to write results in an update on the message digest. But when it is off, the message digest is not updated. The default is for the stream to be on.

    See Also:
    MessageDigest, DigestInputStream

    Variable Index

    digest
    The message digest associated with this stream.

    Constructor Index

    DigestOutputStream(OutputStream, MessageDigest)
    Creates a digest output stream, using the specified output stream and message digest.

    Method Index

    getMessageDigest()
    Returns the message digest associated with this stream.
    on(boolean)
    Turns the digest function on or off.
    setMessageDigest(MessageDigest)
    Associates the specified message digest with this stream.
    toString()
    Prints a string representation of this digest output stream and its associated message digest object.
    write(byte[], int, int)
    Updates the message digest (if the digest function is on) using the specified subarray, and in any case writes the subarray to the output stream.
    write(int)
    Updates the message digest (if the digest function is on) using the specified byte, and in any case writes the byte to the output stream.

    Variables

    digest
     protected MessageDigest digest
    
    The message digest associated with this stream.


    Constructors

    DigestOutputStream
     public DigestOutputStream(OutputStream stream,
                               MessageDigest digest)
    
    Creates a digest output stream, using the specified output stream and message digest.

    Parameters:
    stream - the output stream.
    digest - the message digest to associate with this stream.

    Methods

    getMessageDigest
     public MessageDigest getMessageDigest()
    
    Returns the message digest associated with this stream.

    Returns:
    the message digest associated with this stream.
    setMessageDigest
     public void setMessageDigest(MessageDigest digest)
    
    Associates the specified message digest with this stream.

    Parameters:
    digest - the message digest to be associated with this stream.
    write
     public void write(int b) throws IOException
    
    Updates the message digest (if the digest function is on) using the specified byte, and in any case writes the byte to the output stream. That is, if the digest function is on (see on), this method calls update on the message digest associated with this stream, passing it the byte b. This method then writes the byte to the output stream, blocking until the byte is actually written.

    Parameters:
    b - the byte to be used for updating and writing to the output stream.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class FilterOutputStream
    See Also:
    update
    write
     public void write(byte b[],
                       int off,
                       int len) throws IOException
    
    Updates the message digest (if the digest function is on) using the specified subarray, and in any case writes the subarray to the output stream. That is, if the digest function is on (see on), this method calls update on the message digest associated with this stream, passing it the subarray specifications. This method then writes the subarray bytes to the output stream, blocking until the bytes are actually written.

    Parameters:
    b - the array containing the subarray to be used for updating and writing to the output stream.
    off - the offset into b of the first byte to be updated and written.
    len - the number of bytes of data to be updated and written from b, starting at offset off.
    Throws: IOException
    if an I/O error occurs.
    Overrides:
    write in class FilterOutputStream
    See Also:
    update
    on
     public void on(boolean on)
    
    Turns the digest function on or off. The default is on. When it is on, a call to write results in an update on the message digest. But when it is off, the message digest is not updated.

    Parameters:
    on - true to turn the digest function on, false to turn it off.
    toString
     public String toString()
    
    Prints a string representation of this digest output stream and its associated message digest object.

    Overrides:
    toString in class Object

    ) thr khם${7(56$PV./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.digestoutputstream_mi.htm$$ Class java.security.Identity

    Class java.security.Identity

    java.lang.Object
       |
       +----java.security.Identity
    

    public abstract class Identity
    extends Object
    implements Principal, Serializable
    super class of:
    IdentityScope, Signer

    This class represents identities: real-world objects such as people, companies or organizations whose identities can be authenticated using their public keys. Identities may also be more abstract (or concrete) constructs, such as daemon threads or smart cards.

    All Identity objects have a name and a public key. Names are immutable. Identities may also be scoped. That is, if an Identity is specified to have a particular scope, then the name and public key of the Identity are unique within that scope.

    An Identity also has a set of certificates (all certifying its own public key). The Principal names specified in these certificates need not be the same, only the key.

    An Identity can be subclassed, to include postal and email addresses, telephone numbers, images of faces and logos, and so on.

    See Also:
    IdentityScope, Signer, Principal

    Constructor Index

    Identity()
    Constructor for serialization only.
    Identity(String)
    Constructs an identity with the specified name and no scope.
    Identity(String, IdentityScope)
    Constructs an identity with the specified name and scope.

    Method Index

    addCertificate(Certificate)
    Adds a certificate for this identity.
    certificates()
    Returns a copy of all the certificates for this identity.
    equals(Object)
    Tests for equality between the specified object and this identity.
    getInfo()
    Returns general information previously specified for this identity.
    getName()
    Returns this identity's name.
    getPublicKey()
    Returns this identity's public key.
    getScope()
    Returns this identity's scope.
    hashCode()
    Returns a hashcode for this identity.
    identityEquals(Identity)
    Tests for equality between the specified identity and this identity.
    removeCertificate(Certificate)
    Removes a certificate from this identity.
    setInfo(String)
    Specifies a general information string for this identity.
    setPublicKey(PublicKey)
    Sets this identity's public key.
    toString()
    Returns a short string describing this identity, telling its name and its scope (if any).
    toString(boolean)
    Returns a string representation of this identity, with optionally more details than that provided by the toString method without any arguments.

    Constructors

    Identity
     protected Identity()
    
    Constructor for serialization only.

    Identity
     public Identity(String name,
                     IdentityScope scope) throws KeyManagementException
    
    Constructs an identity with the specified name and scope.

    Parameters:
    name - the identity name.
    scope - the scope of the identity.
    Throws: KeyManagementException
    if there is already an identity with the same name in the scope.
    Identity
     public Identity(String name)
    
    Constructs an identity with the specified name and no scope.

    Parameters:
    name - the identity name.

    Methods

    getName
     public final String getName()
    
    Returns this identity's name.

    Returns:
    the name of this identity.
    getScope
     public final IdentityScope getScope()
    
    Returns this identity's scope.

    Returns:
    the scope of this identity.
    getPublicKey
     public PublicKey getPublicKey()
    
    Returns this identity's public key.

    Returns:
    the public key for this identity.
    setPublicKey
     public void setPublicKey(PublicKey key) throws KeyManagementException
    
    Sets this identity's public key. The old key and all of this identity's certificates are removed by this operation.

    Parameters:
    key - the public key for this identity.
    Throws: KeyManagementException
    if another identity in the identity's scope has the same public key, or if another exception occurs.
    setInfo
     public void setInfo(String info)
    
    Specifies a general information string for this identity.

    Parameters:
    info - the information string.
    See Also:
    getInfo
    getInfo
     public String getInfo()
    
    Returns general information previously specified for this identity.

    Returns:
    general information about this identity.
    See Also:
    setInfo
    addCertificate
     public void addCertificate(Certificate certificate) throws KeyManagementException
    
    Adds a certificate for this identity. If the identity has a public key, the public key in the certificate must be the same, and if the identity does not have a public key, the identity's public key is set to be that specified in the certificate.

    Parameters:
    certificate - the certificate to be added.
    Throws: KeyManagementException
    if the certificate is not valid, if the public key in the certificate being added conflicts with this identity's public key, or if another exception occurs.
    removeCertificate
     public void removeCertificate(Certificate certificate) throws KeyManagementException
    
    Removes a certificate from this identity.

    Parameters:
    certificate - the certificate to be removed.
    Throws: KeyManagementException
    if the certificate is missing, or if another exception occurs.
    certificates
     public Certificate[] certificates()
    
    Returns a copy of all the certificates for this identity.

    Returns:
    a copy of all the certificates for this identity.
    equals
     public final boolean equals(Object identity)
    
    Tests for equality between the specified object and this identity. This first tests to see if the entities actually refer to the same object, in which case it returns true. Next, it checks to see if the entities have the same name and the same scope. If they do, the method returns true. Otherwise, it calls identityEquals, which subclasses should override.

    Parameters:
    identity - the object to test for equality with this identity.
    Returns:
    true if the objects are considered equal, false otherwise.
    Overrides:
    equals in class Object
    See Also:
    identityEquals
    identityEquals
     protected boolean identityEquals(Identity identity)
    
    Tests for equality between the specified identity and this identity. This method should be overriden by subclasses to test for equality. The default behavior is to return true if the names and public keys are equal.

    Parameters:
    identity - the identity to test for equality with this identity.
    Returns:
    true if the identities are considered equal, false otherwise.
    See Also:
    equals
    toString
     public String toString()
    
    Returns a short string describing this identity, telling its name and its scope (if any).

    Returns:
    information about this identity, such as its name and the name of its scope (if any).
    Overrides:
    toString in class Object
    toString
     public String toString(boolean detailed)
    
    Returns a string representation of this identity, with optionally more details than that provided by the toString method without any arguments.

    Parameters:
    detailed - whether or not to provide detailed information.
    Returns:
    information about this identity. If detailed is true, then this method returns more information than that provided by the toString method without any arguments.
    See Also:
    toString
    hashCode
     public int hashCode()
    
    Returns a hashcode for this identity.

    Returns:
    a hashcode for this identity.
    Overrides:
    hashCode in class Object

    of a kڝ$E{7(56$0yE./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.identity_mi.htmm$$ Class java.security.IdentityScope

    Class java.security.IdentityScope

    java.lang.Object
       |
       +----java.security.Identity
               |
               +----java.security.IdentityScope
    

    public abstract class IdentityScope
    extends Identity

    This class represents a scope for identities. It is an Identity itself, and therefore has a name and can have a scope. It can also optionally have a public key and associated certificates.

    An IdentityScope can contain Identity objects of all kinds, including Signers. All types of Identity objects can be retrieved, added, and removed using the same methods. Note that it is possible, and in fact expected, that different types of identity scopes will apply different policies for their various operations on the various types of Identities.

    There is a one-to-one mapping between keys and identities, and there can only be one copy of one key per scope. For example, suppose Acme Software, Inc is a software publisher known to a user. Suppose it is an Identity, that is, it has a public key, and a set of associated certificates. It is named in the scope using the name "Acme Software". No other named Identity in the scope has the same public key. Of course, none has the same name as well.

    See Also:
    Identity, Signer, Principal, Key

    Constructor Index

    IdentityScope()
    This constructor is used for serialization only and should not be used by subclasses.
    IdentityScope(String)
    Constructs a new identity scope with the specified name.
    IdentityScope(String, IdentityScope)
    Constructs a new identity scope with the specified name and scope.

    Method Index

    addIdentity(Identity)
    Adds an identity to this identity scope.
    getIdentity(Principal)
    Retrieves the identity whose name is the same as that of the specified principal.
    getIdentity(PublicKey)
    Retrieves the identity with the specified public key.
    getIdentity(String)
    Returns the identity in this scope with the specified name (if any).
    getSystemScope()
    Returns the system's identity scope.
    identities()
    Returns an enumeration of all identities in this identity scope.
    removeIdentity(Identity)
    Removes an identity from this identity scope.
    setSystemScope(IdentityScope)
    Sets the system's identity scope.
    size()
    Returns the number of identities within this identity scope.
    toString()
    Returns a string representation of this identity scope, including its name, its scope name, and the number of identities in this identity scope.

    Constructors

    IdentityScope
     protected IdentityScope()
    
    This constructor is used for serialization only and should not be used by subclasses.

    IdentityScope
     public IdentityScope(String name)
    
    Constructs a new identity scope with the specified name.

    Parameters:
    name - the scope name.
    IdentityScope
     public IdentityScope(String name,
                          IdentityScope scope) throws KeyManagementException
    
    Constructs a new identity scope with the specified name and scope.

    Parameters:
    name - the scope name.
    scope - the scope for the new identity scope.
    Throws: KeyManagementException
    if there is already an identity with the same name in the scope.

    Methods

    getSystemScope
     public static IdentityScope getSystemScope()
    
    Returns the system's identity scope.

    Returns:
    the system's identity scope.
    setSystemScope
     protected static void setSystemScope(IdentityScope scope)
    
    Sets the system's identity scope.

    Parameters:
    scope - the scope to set.
    size
     public abstract int size()
    
    Returns the number of identities within this identity scope.

    Returns:
    the number of identities within this identity scope.
    getIdentity
     public abstract Identity getIdentity(String name)
    
    Returns the identity in this scope with the specified name (if any).

    Parameters:
    name - the name of the identity to be retrieved.
    Returns:
    the identity named name, or null if there are no identities named name in this scope.
    getIdentity
     public Identity getIdentity(Principal principal)
    
    Retrieves the identity whose name is the same as that of the specified principal. (Note: Identity implements Principal.)

    Parameters:
    principal - the principal corresponding to the identity to be retrieved.
    Returns:
    the identity whose name is the same as that of the principal, or null if there are no identities of the same name in this scope.
    getIdentity
     public abstract Identity getIdentity(PublicKey key)
    
    Retrieves the identity with the specified public key.

    Parameters:
    key - the public key for the identity to be returned.
    Returns:
    the identity with the given key, or null if there are no identities in this scope with that key.
    addIdentity
     public abstract void addIdentity(Identity identity) throws KeyManagementException
    
    Adds an identity to this identity scope.

    Parameters:
    identity - the identity to be added.
    Throws: KeyManagementException
    if the identity is not valid, a name conflict occurs, another identity has the same public key as the identity being added, or another exception occurs.
    removeIdentity
     public abstract void removeIdentity(Identity identity) throws KeyManagementException
    
    Removes an identity from this identity scope.

    Parameters:
    identity - the identity to be removed.
    Throws: KeyManagementException
    if the identity is missing, or another exception occurs.
    identities
     public abstract Enumeration identities()
    
    Returns an enumeration of all identities in this identity scope.

    Returns:
    an enumeration of all identities in this identity scope.
    toString
     public String toString()
    
    Returns a string representation of this identity scope, including its name, its scope name, and the number of identities in this identity scope.

    Returns:
    a string representation of this identity scope.
    Overrides:
    toString in class Identity

     kݝ$?{7(56$@?./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.identityscope_mi.htmhtm$$ Interface java.security.interfaces.DSAKey

    Interface java.security.interfaces.DSAKey

    public interface DSAKey

    The interface to a DSA public or private key. DSA (Digital Signature Algorithm) is defined in NIST's FIPS-186.

    See Also:
    DSAParams, Key, Signature

    Method Index

    getParams()
    Returns the DSA-specific key parameters.

    Methods

    getParams
     public abstract DSAParams getParams()
    
    Returns the DSA-specific key parameters. These parameters are never secret.

    Returns:
    the DSA-specific key parameters.
    See Also:
    DSAParams

    . kp$_{7(56$p_./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.interfaces.dsakey_mi.htm$$ Interface java.security.interfaces.DSAKeyPairGenerator

    Interface java.security.interfaces.DSAKeyPairGenerator

    public interface DSAKeyPairGenerator

    An interface to an object capable of generating DSA key pairs.

    The initialize methods may each be called any number of times. If no initialize method is called on a DSAKeyPairGenerator, the default is to generate 1024-bit keys, using precomputed p, q and g parameters and an instance of SecureRandom as the random bit source.

    Users wishing to indicate DSA-specific parameters, and to generate a key pair suitable for use with the DSA algorithm typically

    1. Get a key pair generator for the DSA algorithm by calling the KeyPairGenerator getInstance method with "DSA" as its argument.

    2. Initialize the generator by casting the result to a DSAKeyPairGenerator and calling one of the initialize methods from this DSAKeyPairGenerator interface.

    3. Generate a key pair by calling the generateKeyPair method from the KeyPairGenerator class.

    Note: it is not always necessary to do do algorithm-specific initialization for a DSA key pair generator. That is, it is not always necessary to call an initialize method in this interface. Algorithm-independent initialization using the initialize method in the KeyPairGenerator interface is all that is needed when you accept defaults for algorithm-specific parameters.

    See Also:
    KeyPairGenerator

    Method Index

    initialize(DSAParams, SecureRandom)
    Initializes the key pair generator using p, q and g, the DSA family parameters.
    initialize(int, boolean, SecureRandom)
    Initializes the key pair generator for a given modulus length, without parameters.

    Methods

    initialize
     public abstract void initialize(DSAParams params,
                                     SecureRandom random) throws InvalidParameterException
    
    Initializes the key pair generator using p, q and g, the DSA family parameters.

    Parameters:
    params - the parameters to use to generate the keys.
    random - the random bit source to use to generate key bits.
    Throws: InvalidParameterException
    if the parameters passed are invalid or null.
    initialize
     public abstract void initialize(int modlen,
                                     boolean genParams,
                                     SecureRandom random) throws InvalidParameterException
    
    Initializes the key pair generator for a given modulus length, without parameters.

    If genParams is true, this method will generate new p, q and g parameters. If it is false, the method will use precomputed parameters for the modulus length requested. If there are no precomputed parameters for that modulus length, an exception will be thrown. It is guaranteed that there will always be default parameters for modulus lengths of 512 and 1024 bits.

    Parameters:
    modlen - the modulus length, in bits. Valid values are any multiple of 8 between 512 and 1024, inclusive.
    random - the random bit source to use to generate key bits.
    genParams - whether or not to generate new parameters for the modulus length requested.
    Throws: InvalidParameterException
    if the modulus length is not between 512 and 1024, or if genParams is false and there are not precomputed parameters for the modulus length requested.

    ary k8$|7(56$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.interfaces.dsakeypairgenerator_mi.htmtm$$ Interface java.security.interfaces.DSAParams

    Interface java.security.interfaces.DSAParams

    public interface DSAParams

    Interface to a DSA-specific set of key parameters, which defines a DSA key family. DSA (Digital Signature Algorithm) is defined in NIST's FIPS-186.

    See Also:
    DSAKey, Key, Signature

    Method Index

    getG()
    Returns the base, g.
    getP()
    Returns the prime, p.
    getQ()
    Returns the subprime, q.

    Methods

    getP
     public abstract BigInteger getP()
    
    Returns the prime, p.

    Returns:
    the prime, p.
    getQ
     public abstract BigInteger getQ()
    
    Returns the subprime, q.

    Returns:
    the subprime, q.
    getG
     public abstract BigInteger getG()
    
    Returns the base, g.

    Returns:
    the base, g.

    /java.s k$|7(56$`~./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.interfaces.dsaparams_mi.htmr_mi.$$ Interface java.security.interfaces.DSAPrivateKey

    Interface java.security.interfaces.DSAPrivateKey

    public interface DSAPrivateKey
    extends DSAKey, PrivateKey

    The standard interface to a DSA private key. DSA (Digital Signature Algorithm) is defined in NIST's FIPS-186.

    See Also:
    Key, Signature, DSAKey, DSAPublicKey

    Method Index

    getX()
    Returns the value of the private key, x.

    Methods

    getX
     public abstract BigInteger getX()
    
    Returns the value of the private key, x.

    Returns:
    the value of the private key, x.

     kv$c|7(56$pc./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.interfaces.dsaprivatekey_mi.htm.$$ Interface java.security.interfaces.DSAPublicKey

    Interface java.security.interfaces.DSAPublicKey

    public interface DSAPublicKey
    extends DSAKey, PublicKey

    The interface to a DSA public key. DSA (Digital Signature Algorithm) is defined in NIST's FIPS-186.

    See Also:
    Key, KeyParams, Signature

    Method Index

    getY()
    Returns the value of the public key, y.

    Methods

    getY
     public abstract BigInteger getY()
    
    Returns the value of the public key, y.

    Returns:
    the value of the public key, y.

    e> Class java.security.InvalidKeyException

    Class java.security.InvalidKeyException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.KeyException
                               |
                               +----java.security.InvalidKeyException
    

    public class InvalidKeyException
    extends KeyException

    This is the exception for invalid Keys (invalid encoding, wrong length, uninitialized, etc).


    Constructor Index

    InvalidKeyException()
    Constructs an InvalidKeyException with no detail message.
    InvalidKeyException(String)
    Constructs an InvalidKeyException with the specified detail message.

    Constructors

    InvalidKeyException
     public InvalidKeyException()
    
    Constructs an InvalidKeyException with no detail message. A detail message is a String that describes this particular exception.

    InvalidKeyException
     public InvalidKeyException(String msg)
    
    Constructs an InvalidKeyException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    msg - the detail message.

    ando kf,$ }7*56$` ./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.invalidkeyexception_mi.htmtm.$$ Class java.security.InvalidParameterException

    Class java.security.InvalidParameterException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.lang.IllegalArgumentException
                                       |
                                       +----java.security.InvalidParameterException
    

    public class InvalidParameterException
    extends IllegalArgumentException

    This exception is thrown when an invalid parameter is passed to a method.


    Constructor Index

    InvalidParameterException()
    Constructs an InvalidParameterException with no detail message.
    InvalidParameterException(String)
    Constructs an InvalidParameterException with the specified detail message.

    Constructors

    InvalidParameterException
     public InvalidParameterException()
    
    Constructs an InvalidParameterException with no detail message. A detail message is a String that describes this particular exception.

    InvalidParameterException
     public InvalidParameterException(String msg)
    
    Constructs an InvalidParameterException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    msg - the detail message.

    p kH$6}7*56$`6./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.invalidparameterexception_mi.htm$$ Interface java.security.Key

    Interface java.security.Key

    public interface Key
    extends Serializable

    The Key interface is the top-level interface for all keys. It defines the functionality shared by all key objects. All keys have three characteristics:

    • An Algorithm

      This is the key algorithm for that key. The key algorithm is usually an encryption or asymmetric operation algorithm (such as DSA or RSA), which will work with those algorithms and with related algorithms (such as MD5 with RSA, SHA-1 with RSA, Raw DSA, etc.) The name of the algorithm of a key is obtained using the getAlgorithm method.

    • An Encoded Form

      This is an external encoded form for the key used when a standard representation of the key is needed outside the Java Virtual Machine, as when transmitting the key to some other party. The key is encoded according to a standard format (such as X.509 or PKCS#8), and is returned using the getEncoded method.

    • A Format

      This is the name of the format of the encoded key. It is returned by the getFormat method.

    Keys are generally obtained through key generators, certificates, or various Identity classes used to manage keys. There are no provisions in this release for the parsing of encoded keys and certificates.

    See Also:
    PublicKey, PrivateKey, KeyPair, KeyPairGenerator, Identity, IdentityScope, Signer

    Method Index

    getAlgorithm()
    Returns the standard algorithm name this key is for.
    getEncoded()
    Returns the encoded key.
    getFormat()
    Returns the format used to encode the key or null if the key does not support encoding.

    Methods

    getAlgorithm
     public abstract String getAlgorithm()
    
    Returns the standard algorithm name this key is for. For example, "DSA" would indicate that this key is a DSA key. Note that this method may return null, when the algorithm this key is for is unknown.

    Returns:
    the name of the algorithm this key is for, or null if the algorithm this key is for is unknown.
    getFormat
     public abstract String getFormat()
    
    Returns the format used to encode the key or null if the key does not support encoding.

    Returns:
    the format used to encode the key.
    getEncoded
     public abstract byte[] getEncoded()
    
    Returns the encoded key.

    Returns:
    the encoded key, or null if the key does not support encoding.

    . k$~7*56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.key_mi.htmeterex$$ Class java.security.KeyException

    Class java.security.KeyException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.KeyException
    

    public class KeyException
    extends Exception
    super class of:
    InvalidKeyException, KeyManagementException

    This is the basic key exception.

    See Also:
    Key, InvalidKeyException, KeyManagementException

    Constructor Index

    KeyException()
    Constructs a KeyException with no detail message.
    KeyException(String)
    Constructs a KeyException with the specified detail message.

    Constructors

    KeyException
     public KeyException()
    
    Constructs a KeyException with no detail message. A detail message is a String that describes this particular exception.

    KeyException
     public KeyException(String msg)
    
    Constructs a KeyException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    msg - the detail message.

    Fo k^$~7*56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.keyexception_mi.htmtion_$$ Class java.security.KeyManagementException

    Class java.security.KeyManagementException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.KeyException
                               |
                               +----java.security.KeyManagementException
    

    public class KeyManagementException
    extends KeyException

    This is the general key management exception, for all operations dealing with key management. Subclasses could include:

    • KeyIDConflict
    • KeyAuthorizationFailureException
    • ExpiredKeyException

    See Also:
    Key, KeyException

    Constructor Index

    KeyManagementException()
    Constructs a KeyManagementException with no detail message.
    KeyManagementException(String)
    Constructs a KeyManagementException with the specified detail message.

    Constructors

    KeyManagementException
     public KeyManagementException()
    
    Constructs a KeyManagementException with no detail message. A detail message is a String that describes this particular exception.

    KeyManagementException
     public KeyManagementException(String msg)
    
    Constructs a KeyManagementException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    msg - the detail message.

    "> J kb$!~7*56$`!./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.keymanagementexception_mi.htmm$$ Class java.security.KeyPair

    Class java.security.KeyPair

    java.lang.Object
       |
       +----java.security.KeyPair
    

    public final class KeyPair
    extends Object

    This class is a simple holder for a key pair (a public key and a private key). It does not enforce any security, and, when initialized, should be treated like a PrivateKey.

    See Also:
    PublicKey, PrivateKey

    Constructor Index

    KeyPair(PublicKey, PrivateKey)
    Constructs a key with the specified public key and private key.

    Method Index

    getPrivate()
    Returns the private key from this key pair.
    getPublic()
    Returns the public key from this key pair.

    Constructors

    KeyPair
     public KeyPair(PublicKey publicKey,
                    PrivateKey privateKey)
    
    Constructs a key with the specified public key and private key.

    Parameters:
    publicKey - the public key.
    privateKey - the private key.

    Methods

    getPublic
     public PublicKey getPublic()
    
    Returns the public key from this key pair.

    Returns:
    the public key.
    getPrivate
     public PrivateKey getPrivate()
    
    Returns the private key from this key pair.

    Returns:
    the private key.

    aphy kq$]7*56$`]./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.keypair_mi.htmep$$ Class java.security.KeyPairGenerator

    Class java.security.KeyPairGenerator

    java.lang.Object
       |
       +----java.security.KeyPairGenerator
    

    public abstract class KeyPairGenerator
    extends Object

    The KeyPairGenerator class is used to generate pairs of public and private keys. Key generators are constructed using the getInstance factory methods (static methods that return instances of a given class).

    Key generation is an area that sometimes does not lend itself well to algorithm independence. For example, it is possible to generate a DSA key pair specifying key family parameters (p, q and g), while it is not possible to do so for an RSA key pair. That is, those parameters are applicable to DSA but not to RSA.

    There are therefore two ways to generate a key pair: in an algorithm-independent manner, and in an algorithm-specific manner. The only difference between the two is the initialization of the object.

    All key pair generators share the concepts of a "strength" and a source of randomness. The measure of strength is universally shared by all algorithms, though it is interpreted differently for different algorithms. The initialize method in this KeyPairGenerator class takes these two universally shared types of arguments.

    Since no other parameters are specified when you call this algorithm-independent initialize method, all other values, such as algorithm parameters, public exponent, etc., are defaulted to standard values.

    It is sometimes desirable to initialize a key pair generator object using algorithm-specific semantics. For example, you may want to initialize a DSA key generator for a given set of parameters p, q and g, or an RSA key generator for a given public exponent.

    This is done through algorithm-specific standard interfaces. Rather than calling the algorithm-independent KeyPairGenerator initialize method, the key pair generator is cast to an algorithm-specific interface so that one of its specialized parameter initialization methods can be called. An example is the DSAKeyPairGenerator interface (from java.security.interfaces).

    See Also:
    DSAKeyPairGenerator

    Constructor Index

    KeyPairGenerator(String)
    Creates a KeyPairGenerator object for the specified algorithm.

    Method Index

    generateKeyPair()
    Generates a key pair.
    getAlgorithm()
    Returns the standard name of the algorithm for this key generator.
    getInstance(String)
    Generates a KeyPairGenerator object that implements the algorithm requested, as available in the environment.
    getInstance(String, String)
    Generates a KeyPairGenerator object implementing the specified algorithm, as supplied from the specified provider, if such an algorithm is available from the provider.
    initialize(int)
    Initializes the key pair generator for a certain strength using a system-provided source of randomness.
    initialize(int, SecureRandom)
    Initializes the key pair generator for a certain strength.

    Constructors

    KeyPairGenerator
     protected KeyPairGenerator(String algorithm)
    
    Creates a KeyPairGenerator object for the specified algorithm.

    Parameters:
    algorithm - the standard string name of the algorithm.

    Methods

    getAlgorithm
     public String getAlgorithm()
    
    Returns the standard name of the algorithm for this key generator.

    Returns:
    the standard string name of the algorithm.
    getInstance
     public static KeyPairGenerator getInstance(String algorithm) throws NoSuchAlgorithmException
    
    Generates a KeyPairGenerator object that implements the algorithm requested, as available in the environment.

    Parameters:
    algorithm - the standard string name of the algorithm.
    Returns:
    the new KeyPairGenerator object.
    Throws: NoSuchAlgorithmException
    if the algorithm is not available in the environment.
    getInstance
     public static KeyPairGenerator getInstance(String algorithm,
                                                String provider) throws NoSuchAlgorithmException, NoSuchProviderException
    
    Generates a KeyPairGenerator object implementing the specified algorithm, as supplied from the specified provider, if such an algorithm is available from the provider.

    Parameters:
    algorithm - the standard string name of the algorithm.
    provider - the string name of the provider.
    Returns:
    the new KeyPairGenerator object.
    Throws: NoSuchAlgorithmException
    if the algorithm is not available from the provider.
    Throws: NoSuchProviderException
    if the provider is not available in the environment.
    See Also:
    Provider
    initialize
     public abstract void initialize(int strength,
                                     SecureRandom random)
    
    Initializes the key pair generator for a certain strength.

    Parameters:
    strength - the strength of the key. This is an algorithm-specific metric, such as modulus length.
    random - the source of randomness for this generator.
    initialize
     public void initialize(int strength)
    
    Initializes the key pair generator for a certain strength using a system-provided source of randomness.

    Parameters:
    strength - the strength of the key. This is an algorithm-specific metric, such as modulus length.
    generateKeyPair
     public abstract KeyPair generateKeyPair()
    
    Generates a key pair. Unless an initialization method is called using a KeyPairGenerator interface, algorithm-specific defaults will be used. This will generate a new key pair every time it is called.


    tr kV$7*56$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.keypairgenerator_mi.htm.$$ Class java.security.NoSuchAlgorithmException

    Class java.security.NoSuchAlgorithmException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.NoSuchAlgorithmException
    

    public class NoSuchAlgorithmException
    extends Exception

    This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.


    Constructor Index

    NoSuchAlgorithmException()
    Constructs a NoSuchAlgorithmException with no detail message.
    NoSuchAlgorithmException(String)
    Constructs a NoSuchAlgorithmException with the specified detail message.

    Constructors

    NoSuchAlgorithmException
     public NoSuchAlgorithmException()
    
    Constructs a NoSuchAlgorithmException with no detail message. A detail message is a String that describes this particular exception.

    NoSuchAlgorithmException
     public NoSuchAlgorithmException(String msg)
    
    Constructs a NoSuchAlgorithmException with the specified detail message. A detail message is a String that describes this particular exception, which may, for example, specify which algorithm is not available.

    Parameters:
    msg - the detail message.

    sMj k$/7*56$`/./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.nosuchalgorithmexception_mi.htm$$ Class java.security.NoSuchProviderException

    Class java.security.NoSuchProviderException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.NoSuchProviderException
    

    public class NoSuchProviderException
    extends Exception

    This exception is thrown when a particular security provider is requested but is not available in the environment.


    Constructor Index

    NoSuchProviderException()
    Constructs a NoSuchProviderException with no detail message.
    NoSuchProviderException(String)
    Constructs a NoSuchProviderException with the specified detail message.

    Constructors

    NoSuchProviderException
     public NoSuchProviderException()
    
    Constructs a NoSuchProviderException with no detail message. A detail message is a String that describes this particular exception.

    NoSuchProviderException
     public NoSuchProviderException(String msg)
    
    Constructs a NoSuchProviderException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    msg - the detail message.

    " k $(7*56$`(./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.nosuchproviderexception_mi.htm$$ Interface java.security.Principal

    Interface java.security.Principal

    public interface Principal

    This interface represents a principal. A principal can be an individual, a corporation, a program thread; anything which can have an identity.

    See Also:
    Identity, Certificate, Acl, Group

    Method Index

    equals(Object)
    Compares this principal to the specified object.
    getName()
    Returns the name of this principal.
    hashCode()
    Returns a hashcode for this principal.
    toString()
    Returns a string representation of this principal.

    Methods

    equals
     public abstract boolean equals(Object another)
    
    Compares this principal to the specified object. Returns true if the object passed in matches the principal represented by the implementation of this interface.

    Parameters:
    another - the principal to compare with.
    Returns:
    true if the principal passed in is the same as that encapsulated by this principal, false otherwise.
    Overrides:
    equals in class Object
    toString
     public abstract String toString()
    
    Returns a string representation of this principal.

    Returns:
    a string representation of this principal.
    Overrides:
    toString in class Object
    hashCode
     public abstract int hashCode()
    
    Returns a hashcode for this principal.

    Returns:
    a hashcode for this principal.
    Overrides:
    hashCode in class Object
    getName
     public abstract String getName()
    
    Returns the name of this principal.

    Returns:
    the name of this principal.

    ig k $k7*56$`1k./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.principal_mi.htm$$ Interface java.security.PrivateKey

    Interface java.security.PrivateKey

    public interface PrivateKey
    extends Key

    A private key. This interface contains no methods or constants. It merely serves to group (and provide type safety for) all private key interfaces. Note: The specialized private key interfaces extend this interface. See, for example, the DSAPrivateKey interface in java.security.interfaces.

    See Also:
    Key, PublicKey, Certificate, initVerify, DSAPrivateKey

    object  kf$7*56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.privatekey_mi.htm$$ Class java.security.Provider

    Class java.security.Provider

    java.lang.Object
       |
       +----java.util.Dictionary
               |
               +----java.util.Hashtable
                       |
                       +----java.util.Properties
                               |
                               +----java.security.Provider
    

    public abstract class Provider
    extends Properties

    This class represents a "provider" for the Java Security API. A provider implements some or all parts of Java Security, including:

    • Algorithms (such as DSA, RSA, MD5 or SHA-1).
    • Key generation and management facilities (such as for algorithm-specific keys).

    Each provider has a name and a version number, and is configured in each runtime it is installed in.

    There is a default provider that comes standard with the JDK. It is called the SUN Provider.


    Constructor Index

    Provider(String, double, String)
    Constructs a provider with the specified name, version number, and information.

    Method Index

    getInfo()
    Returns a human-readable description of the provider and its services.
    getName()
    Returns the name of this provider.
    getVersion()
    Returns the version number for this provider.
    toString()
    Returns a string with the name and the version number of this provider.

    Constructors

    Provider
     protected Provider(String name,
                        double version,
                        String info)
    
    Constructs a provider with the specified name, version number, and information.

    Parameters:
    name - the provider name.
    version - the provider version number.
    info - a description of the provider and its services.

    Methods

    getName
     public String getName()
    
    Returns the name of this provider.

    Returns:
    the name of this provider.
    getVersion
     public double getVersion()
    
    Returns the version number for this provider.

    Returns:
    the version number for this provider.
    getInfo
     public String getInfo()
    
    Returns a human-readable description of the provider and its services. This may return an HTML page, with relevant links.

    Returns:
    a description of the provider and its services.
    toString
     public String toString()
    
    Returns a string with the name and the version number of this provider.

    Returns:
    the string with the name and the version number for this provider.
    Overrides:
    toString in class Hashtable

    as  kvF$ 7,56$`> ./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.provider_mi.htm$$ Class java.security.ProviderException

    Class java.security.ProviderException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.security.ProviderException
    

    public class ProviderException
    extends RuntimeException

    A runtime exception for Provider exceptions (such as misconfiguration errors), which may be subclassed by Providers to throw specialized, provider-specific runtime errors.


    Constructor Index

    ProviderException()
    Constructs a ProviderException with no detail message.
    ProviderException(String)
    Constructs a ProviderException with the specified detail message.

    Constructors

    ProviderException
     public ProviderException()
    
    Constructs a ProviderException with no detail message. A detail message is a String that describes this particular exception.

    ProviderException
     public ProviderException(String s)
    
    Constructs a ProviderException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    s - the detail message.

     kK$7*56$p?./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.providerexception_mi.htm$$ Interface java.security.PublicKey

    Interface java.security.PublicKey

    public interface PublicKey
    extends Key

    A public key. This interface contains no methods or constants. It merely serves to group (and provide type safety for) all public key interfaces. Note: The specialized public key interfaces extend this interface. See, for example, the DSAPublicKey interface in java.security.interfaces.

    See Also:
    Key, PublicKey, Certificate, initVerify, DSAPublicKey

     k$7,56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.publickey_mi.htm$$ Class java.security.SecureRandom

    Class java.security.SecureRandom

    java.lang.Object
       |
       +----java.util.Random
               |
               +----java.security.SecureRandom
    

    public class SecureRandom
    extends Random

    This class provides a crytpographically strong pseudo-random number generator based on the SHA-1 hash algorithm.

    The calls inherited from Random will be implemented in terms of the strengthened functionality.

    See Also:
    Random

    Constructor Index

    SecureRandom()
    This empty constructor automatically seeds the generator.
    SecureRandom(byte[])
    This constructor uses a user-provided seed in preference to the self-seeding algorithm referred to in the empty constructor description.

    Method Index

    getSeed(int)
    Returns the given number of seed bytes, computed using the seed generation algorithm that this class uses to seed itself.
    next(int)
    Generates an integer containing the user-specified number of pseudo-random bits (right justified, with leading zeros).
    nextBytes(byte[])
    Generates a user-specified number of random bytes.
    setSeed(byte[])
    Reseeds this random object.
    setSeed(long)
    Reseeds this random object, using the eight bytes contained in the given long seed.

    Constructors

    SecureRandom
     public SecureRandom()
    
    This empty constructor automatically seeds the generator. We attempt to provide sufficient seed bytes to completely randomize the internal state of the generator (20 bytes). Note, however, that our seed generation algorithm has not been thoroughly studied or widely deployed. It relies on counting the number of times that the calling thread can yield while waiting for another thread to sleep for a specified interval.

    The first time this constructor is called in a given Virtual Machine, it may take several seconds of CPU time to seed the generator, depending on the underlying hardware. Successive calls run quickly because they rely on the same (internal) pseudo-random number generator for their seed bits.

    The seeding procedure implemented by this constructor ensures that the sequence of pseudo-random bytes produced by each SecureRandom instance yields no useful information about the byte-sequence produced by any other instance. If however, the user wishes to produce multiple instances with truly unrelated seeds, the following code yields the desired result (at substantial CPU cost per instance!):

     SecureRandom rnd = new SecureRandom(SecureRandom.getSeed(20));
     

    SecureRandom
     public SecureRandom(byte seed[])
    
    This constructor uses a user-provided seed in preference to the self-seeding algorithm referred to in the empty constructor description. It may be preferable to the empty constructor if the caller has access to high-quality random bytes from some physical device (for example, a radiation detector or a noisy diode).

    Parameters:
    seed - the seed.

    Methods

    setSeed
     public synchronized void setSeed(byte seed[])
    
    Reseeds this random object. The given seed supplements, rather than replaces, the existing seed. Thus, repeated calls are guaranteed never to reduce randomness.

    Parameters:
    seed - the seed.
    setSeed
     public void setSeed(long seed)
    
    Reseeds this random object, using the eight bytes contained in the given long seed. The given seed supplements, rather than replaces, the existing seed. Thus, repeated calls are guaranteed never to reduce randomness.

    This method is defined for compatibility with java.util.Random.

    Parameters:
    seed - the seed.
    Overrides:
    setSeed in class Random
    nextBytes
     public synchronized void nextBytes(byte bytes[])
    
    Generates a user-specified number of random bytes. This method is used as the basis of all random entities returned by this class (except seed bytes). Thus, it may be overridden to change the behavior of the class.

    Parameters:
    bytes - the array to be filled in with random bytes.
    Overrides:
    nextBytes in class Random
    next
     protected final int next(int numBits)
    
    Generates an integer containing the user-specified number of pseudo-random bits (right justified, with leading zeros). This method overrides a java.util.Random method, and serves to provide a source of random bits to all of the methods inherited from that class (for example, nextInt, nextLong, and nextFloat).

    Parameters:
    numBits - number of pseudo-random bits to be generated, where 0 <= numBits <= 32.
    Overrides:
    next in class Random
    getSeed
     public static byte[] getSeed(int numBytes)
    
    Returns the given number of seed bytes, computed using the seed generation algorithm that this class uses to seed itself. This call may be used to seed other random number generators. While we attempt to return a "truly random" sequence of bytes, we do not know exactly how random the bytes returned by this call are. (See the empty constructor SecureRandom for a brief description of the underlying algorithm.) The prudent user will err on the side of caution and get extra seed bytes, although it should be noted that seed generation is somewhat costly.

    Parameters:
    numBytes - the number of seed bytes to generate.
    Returns:
    the seed bytes.

    dt> kj$7,56$`^./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.securerandom_mi.htmhtm$$ Class java.security.Security

    Class java.security.Security

    java.lang.Object
       |
       +----java.security.Security
    

    public final class Security
    extends Object

    This class centralizes all security properties and common security methods. One of its primary uses is to manage providers.


    Method Index

    addProvider(Provider)
    Adds a provider to the next position available.
    getAlgorithmProperty(String, String)
    Gets a specified property for an algorithm.
    getProperty(String)
    Gets a security property.
    getProvider(String)
    Returns the provider installed with the specified name, if any.
    getProviders()
    Returns all providers currently installed.
    insertProviderAt(Provider, int)
    Adds a new provider, at a specified position.
    removeProvider(String)
    Removes the provider with the specified name.
    setProperty(String, String)
    Sets a security property.

    Methods

    getAlgorithmProperty
     public static String getAlgorithmProperty(String algName,
                                               String propName)
    
    Gets a specified property for an algorithm. The algorithm name should be a standard name. One possible use is by specialized algorithm parsers, which may map classes to algorithms which they understand (much like Key parsers do).

    Parameters:
    algName - the algorithm name.
    propName - the name of the property to get.
    Returns:
    the value of the specified property.
    insertProviderAt
     public static int insertProviderAt(Provider provider,
                                        int position)
    
    Adds a new provider, at a specified position. The position is the preference order in which providers are searched for requested algorithms. Note that it is not guaranteed that this preference will be respected. The position is 1-based, that is, 1 is most preferred, followed by 2, and so on. Sometimes it will be legal to add a provider, but only in the last position, in which case the position argument will be ignored.

    A provider cannot be added if it is already installed.

    Parameters:
    provider - the provider to be added.
    position - the preference position that the caller would like for this provider.
    Returns:
    the actual preference position in which the provider was added, or -1 if the provider was not added because it is already installed.
    See Also:
    getProvider, removeProvider
    addProvider
     public static int addProvider(Provider provider)
    
    Adds a provider to the next position available.

    Parameters:
    provider - the provider to be added.
    Returns:
    the preference position in which the provider was added, or -1 if the provider was not added because it is already installed.
    See Also:
    getProvider, removeProvider
    removeProvider
     public static void removeProvider(String name)
    
    Removes the provider with the specified name. This method returns silently if the provider is not installed.

    Parameters:
    name - the name of the provider to remove.
    See Also:
    getProvider, addProvider
    getProviders
     public static Provider[] getProviders()
    
    Returns all providers currently installed.

    Returns:
    an array of all providers currently installed.
    getProvider
     public static Provider getProvider(String name)
    
    Returns the provider installed with the specified name, if any. Returns null if no provider with the speicified name is installed.

    Parameters:
    name - the name of the provider to get.
    Returns:
    the provider of the specified name.
    See Also:
    removeProvider, addProvider
    getProperty
     public static String getProperty(String key)
    
    Gets a security property.

    Parameters:
    key - the key of the property being retrieved.
    Returns:
    the valeu of the security property corresponding to key.
    setProperty
     public static void setProperty(String key,
                                    String datum)
    
    Sets a security property.

    Parameters:
    key - the name of the property to be set.
    datum - the value of the property to be set.

    ti kꔊ$7,56$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.security_mi.htmt$$ Class java.security.SignatureException

    Class java.security.SignatureException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.security.SignatureException
    

    public class SignatureException
    extends Exception

    This is the generic Signature exception.


    Constructor Index

    SignatureException()
    Constructs a SignatureException with no detail message.
    SignatureException(String)
    Constructs a SignatureException with the specified detail message.

    Constructors

    SignatureException
     public SignatureException()
    
    Constructs a SignatureException with no detail message. A detail message is a String that describes this particular exception.

    SignatureException
     public SignatureException(String msg)
    
    Constructs a SignatureException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    msg - the detail message.

    ava.s k%$7,56$`|./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.signatureexception_mi.htm$$ Class java.security.Signer

    Class java.security.Signer

    java.lang.Object
       |
       +----java.security.Identity
               |
               +----java.security.Signer
    

    public abstract class Signer
    extends Identity

    This class is used to represent an Identity that can also digitally sign data.

    The management of a signer's private keys is an important and sensitive issue that should be handled by subclasses as appropriate to their intended use.

    See Also:
    Identity

    Constructor Index

    Signer()
    Creates a signer.
    Signer(String)
    Creates a signer with the specified identity name.
    Signer(String, IdentityScope)
    Creates a signer with the specified identity name and scope.

    Method Index

    getPrivateKey()
    Returns this signer's private key.
    setKeyPair(KeyPair)
    Sets the key pair (public key and private key) for this signer.
    toString()
    Returns a string of information about the signer.

    Constructors

    Signer
     protected Signer()
    
    Creates a signer. This constructor should only be used for serialization.

    Signer
     public Signer(String name)
    
    Creates a signer with the specified identity name.

    Parameters:
    name - the identity name.
    Signer
     public Signer(String name,
                   IdentityScope scope) throws KeyManagementException
    
    Creates a signer with the specified identity name and scope.

    Parameters:
    name - the identity name.
    scope - the scope of the identity.
    Throws: KeyManagementException
    if there is already an identity with the same name in the scope.

    Methods

    getPrivateKey
     public PrivateKey getPrivateKey()
    
    Returns this signer's private key.

    Returns:
    this signer's private key, or null if the private key has not yet been set.
    setKeyPair
     public final void setKeyPair(KeyPair pair) throws InvalidParameterException, KeyException
    
    Sets the key pair (public key and private key) for this signer.

    Parameters:
    pair - an initialized key pair.
    Throws: InvalidParameterException
    if the key pair is not properly initialized.
    Throws: KeyException
    if the key pair cannot be set for any other reason.
    toString
     public String toString()
    
    Returns a string of information about the signer.

    Returns:
    a string of information about the signer.
    Overrides:
    toString in class Identity

    e k($7,56$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.security.signer_mi.htmion$$ Class java.sql.DataTruncation

    Class java.sql.DataTruncation

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.sql.SQLException
                               |
                               +----java.sql.SQLWarning
                                       |
                                       +----java.sql.DataTruncation
    

    public class DataTruncation
    extends SQLWarning

    When JDBC unexpectedly truncates a data value, it reports a DataTruncation warning (on reads) or throws a DataTruncation exception (on writes).

    The SQLstate for a DataTruncation is "01004".


    Constructor Index

    DataTruncation(int, boolean, boolean, int, int)

    Create a DataTruncation object.


    Method Index

    getDataSize()
    Get the number of bytes of data that should have been transferred.
    getIndex()
    Get the index of the column or parameter that was truncated.
    getParameter()
    Is this a truncated parameter value?
    getRead()
    Was this a read truncation?
    getTransferSize()
    Get the number of bytes of data actually transferred.

    Constructors

    DataTruncation
     public DataTruncation(int index,
                           boolean parameter,
                           boolean read,
                           int dataSize,
                           int transferSize)
    

    Create a DataTruncation object. The SQLState is initialized to 01004, the reason is set to "Data truncation" and the vendorCode is set to the SQLException default.

    Parameters:
    index - The index of the parameter or column value
    parameter - true if a parameter value was truncated
    read - true if a read was truncated
    dataSize - the original size of the data
    transferSize - the size after truncation

    Methods

    getIndex
     public int getIndex()
    
    Get the index of the column or parameter that was truncated.

    This may be -1 if the column or parameter index is unknown, in which case the "parameter" and "read" fields should be ignored.

    Returns:
    the index of the truncated paramter or column value.
    getParameter
     public boolean getParameter()
    
    Is this a truncated parameter value?

    Returns:
    True if the value was a parameter; false if it was a column value.
    getRead
     public boolean getRead()
    
    Was this a read truncation?

    Returns:
    True if the value was truncated when read from the database; false if the data was truncated on a write.
    getDataSize
     public int getDataSize()
    
    Get the number of bytes of data that should have been transferred. This number may be approximate if data conversions were being performed. The value may be "-1" if the size is unknown.

    Returns:
    the number of bytes of data that should have been transferred
    getTransferSize
     public int getTransferSize()
    
    Get the number of bytes of data actually transferred. The value may be "-1" if the size is unknown.

    Returns:
    the number of bytes of data actually transferred

    >  kp{4$7056$`9./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.datatruncation_mi.htm$$ Class java.sql.Date

    Class java.sql.Date

    java.lang.Object
       |
       +----java.util.Date
               |
               +----java.sql.Date
    

    public class Date
    extends Date

    This class is a thin wrapper around java.util.Date that allows JDBC to identify this as a SQL DATE value. It adds formatting and parsing operations to support the JDBC escape syntax for date values.


    Constructor Index

    Date(int, int, int)
    Construct a Date
    Date(long)
    Construct a Date using a milliseconds time value

    Method Index

    getHours()
    Returns the hour represented by this date.
    getMinutes()
    Returns the number of minutes past the hour represented by this date.
    getSeconds()
    Returns the number of seconds past the minute represented by this date.
    setHours(int)
    Sets the hour of this date to the specified value.
    setMinutes(int)
    Sets the minutes of this date to the specified value.
    setSeconds(int)
    Sets the seconds of this date to the specified value.
    setTime(long)
    Set a Date using a milliseconds time value
    toString()
    Format a date in JDBC date escape format
    valueOf(String)
    Convert a string in JDBC date escape format to a Date value

    Constructors

    Date
     public Date(int year,
                 int month,
                 int day)
    
    Construct a Date

    Parameters:
    year - year-1900
    month - 0 to 11
    day - 1 to 31
    Date
     public Date(long date)
    
    Construct a Date using a milliseconds time value

    Parameters:
    date - milliseconds since January 1, 1970, 00:00:00 GMT

    Methods

    setTime
     public void setTime(long date)
    
    Set a Date using a milliseconds time value

    Parameters:
    date - milliseconds since January 1, 1970, 00:00:00 GMT
    Overrides:
    setTime in class Date
    valueOf
     public static Date valueOf(String s)
    
    Convert a string in JDBC date escape format to a Date value

    Parameters:
    s - date in format "yyyy-mm-dd"
    Returns:
    corresponding Date
    toString
     public String toString()
    
    Format a date in JDBC date escape format

    Returns:
    a String in yyyy-mm-dd format
    Overrides:
    toString in class Date
    getHours
     public int getHours()
    
    Returns the hour represented by this date.

    Overrides:
    getHours in class Date
    getMinutes
     public int getMinutes()
    
    Returns the number of minutes past the hour represented by this date.

    Overrides:
    getMinutes in class Date
    getSeconds
     public int getSeconds()
    
    Returns the number of seconds past the minute represented by this date.

    Overrides:
    getSeconds in class Date
    setHours
     public void setHours(int i)
    
    Sets the hour of this date to the specified value.

    Overrides:
    setHours in class Date
    setMinutes
     public void setMinutes(int i)
    
    Sets the minutes of this date to the specified value.

    Overrides:
    setMinutes in class Date
    setSeconds
     public void setSeconds(int i)
    
    Sets the seconds of this date to the specified value.

    Overrides:
    setSeconds in class Date

    > kj87$7056$Pp./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.date_mi.htmn_$$ Interface java.sql.Driver

    Interface java.sql.Driver

    public interface Driver

    The Java SQL framework allows for multiple database drivers.

    Each driver should supply a class that implements the Driver interface.

    The DriverManager will try to load as many drivers as it can find and then for any given connection request, it will ask each driver in turn to try to connect to the target URL.

    It is strongly recommended that each Driver class should be small and standalone so that the Driver class can be loaded and queried without bringing in vast quantities of supporting code.

    When a Driver class is loaded, it should create an instance of itself and register it with the DriverManager. This means that a user can load and register a driver by doing Class.forName("foo.bah.Driver").

    See Also:
    DriverManager, Connection

    Method Index

    acceptsURL(String)
    Returns true if the driver thinks that it can open a connection to the given URL.
    connect(String, Properties)
    Try to make a database connection to the given URL.
    getMajorVersion()
    Get the driver's major version number.
    getMinorVersion()
    Get the driver's minor version number.
    getPropertyInfo(String, Properties)

    The getPropertyInfo method is intended to allow a generic GUI tool to discover what properties it should prompt a human for in order to get enough information to connect to a database.

    jdbcCompliant()
    Report whether the Driver is a genuine JDBC COMPLIANT (tm) driver.

    Methods

    connect
     public abstract Connection connect(String url,
                                        Properties info) throws SQLException
    
    Try to make a database connection to the given URL. The driver should return "null" if it realizes it is the wrong kind of driver to connect to the given URL. This will be common, as when the JDBC driver manager is asked to connect to a given URL it passes the URL to each loaded driver in turn.

    The driver should raise a SQLException if it is the right driver to connect to the given URL, but has trouble connecting to the database.

    The java.util.Properties argument can be used to passed arbitrary string tag/value pairs as connection arguments. Normally at least "user" and "password" properties should be included in the Properties.

    Parameters:
    url - The URL of the database to connect to
    info - a list of arbitrary string tag/value pairs as connection arguments; normally at least a "user" and "password" property should be included
    Returns:
    a Connection to the URL
    Throws: SQLException
    if a database-access error occurs.
    acceptsURL
     public abstract boolean acceptsURL(String url) throws SQLException
    
    Returns true if the driver thinks that it can open a connection to the given URL. Typically drivers will return true if they understand the subprotocol specified in the URL and false if they don't.

    Parameters:
    url - The URL of the database.
    Returns:
    True if this driver can connect to the given URL.
    Throws: SQLException
    if a database-access error occurs.
    getPropertyInfo
     public abstract DriverPropertyInfo[] getPropertyInfo(String url,
                                                          Properties info) throws SQLException
    

    The getPropertyInfo method is intended to allow a generic GUI tool to discover what properties it should prompt a human for in order to get enough information to connect to a database. Note that depending on the values the human has supplied so far, additional values may become necessary, so it may be necessary to iterate though several calls to getPropertyInfo.

    Parameters:
    url - The URL of the database to connect to.
    info - A proposed list of tag/value pairs that will be sent on connect open.
    Returns:
    An array of DriverPropertyInfo objects describing possible properties. This array may be an empty array if no properties are required.
    Throws: SQLException
    if a database-access error occurs.
    getMajorVersion
     public abstract int getMajorVersion()
    
    Get the driver's major version number. Initially this should be 1.

    getMinorVersion
     public abstract int getMinorVersion()
    
    Get the driver's minor version number. Initially this should be 0.

    jdbcCompliant
     public abstract boolean jdbcCompliant()
    
    Report whether the Driver is a genuine JDBC COMPLIANT (tm) driver. A driver may only report "true" here if it passes the JDBC compliance tests, otherwise it is required to return false. JDBC compliance requires full support for the JDBC API and full support for SQL 92 Entry Level. It is expected that JDBC compliant drivers will be available for all the major commercial databases. This method is not intended to encourage the development of non-JDBC compliant drivers, but is a recognition of the fact that some vendors are interested in using the JDBC API and framework for lightweight databases that do not support full database functionality, or for special databases such as document information retrieval where a SQL implementation may not be feasible.


    rror o k:$7056$`v./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.driver_mi.htm$$ Class java.sql.DriverPropertyInfo

    Class java.sql.DriverPropertyInfo

    java.lang.Object
       |
       +----java.sql.DriverPropertyInfo
    

    public class DriverPropertyInfo
    extends Object

    The DriverPropertyInfo class is only of interest to advanced programmers who need to interact with a Driver via getDriverProperties to discover and supply properties for connections.


    Variable Index

    choices
    If the value may be selected from a particular set of values, then this is an array of the possible values.
    description
    A brief description of the property.
    name
    The name of the property.
    required
    "required" is true if a value must be supplied for this property during Driver.connect.
    value
    "value" specifies the current value of the property, based on a combination of the information supplied to getPropertyInfo, the Java environment, and driver supplied default values.

    Constructor Index

    DriverPropertyInfo(String, String)
    Constructor a DriverPropertyInfo with a name and value; other members default to their initial values.

    Variables

    name
     public String name
    
    The name of the property.

    description
     public String description
    
    A brief description of the property. This may be null.

    required
     public boolean required
    
    "required" is true if a value must be supplied for this property during Driver.connect. Otherwise the property is optional.

    value
     public String value
    
    "value" specifies the current value of the property, based on a combination of the information supplied to getPropertyInfo, the Java environment, and driver supplied default values. This may be null if no value is known.

    choices
     public String choices[]
    
    If the value may be selected from a particular set of values, then this is an array of the possible values. Otherwise it should be null.


    Constructors

    DriverPropertyInfo
     public DriverPropertyInfo(String name,
                               String value)
    
    Constructor a DriverPropertyInfo with a name and value; other members default to their initial values.

    Parameters:
    name - the name of the property
    value - the current value, which may be null

    ="ar k@$j7056$`~j./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.driverpropertyinfo_mi.htmhtm$$ Interface java.sql.ResultSetMetaData

    Interface java.sql.ResultSetMetaData

    public interface ResultSetMetaData

    A ResultSetMetaData object can be used to find out about the types and properties of the columns in a ResultSet.


    Variable Index

    columnNoNulls
    Does not allow NULL values.
    columnNullable
    Allows NULL values.
    columnNullableUnknown
    Nullability unknown.

    Method Index

    getCatalogName(int)
    What's a column's table's catalog name?
    getColumnCount()
    What's the number of columns in the ResultSet?
    getColumnDisplaySize(int)
    What's the column's normal max width in chars?
    getColumnLabel(int)
    What's the suggested column title for use in printouts and displays?
    getColumnName(int)
    What's a column's name?
    getColumnType(int)
    What's a column's SQL type?
    getColumnTypeName(int)
    What's a column's data source specific type name?
    getPrecision(int)
    What's a column's number of decimal digits?
    getScale(int)
    What's a column's number of digits to right of the decimal point?
    getSchemaName(int)
    What's a column's table's schema?
    getTableName(int)
    What's a column's table name?
    isAutoIncrement(int)
    Is the column automatically numbered, thus read-only?
    isCaseSensitive(int)
    Does a column's case matter?
    isCurrency(int)
    Is the column a cash value?
    isDefinitelyWritable(int)
    Will a write on the column definitely succeed?
    isNullable(int)
    Can you put a NULL in this column?
    isReadOnly(int)
    Is a column definitely not writable?
    isSearchable(int)
    Can the column be used in a where clause?
    isSigned(int)
    Is the column a signed number?
    isWritable(int)
    Is it possible for a write on the column to succeed?

    Variables

    columnNoNulls
     public static final int columnNoNulls
    
    Does not allow NULL values.

    columnNullable
     public static final int columnNullable
    
    Allows NULL values.

    columnNullableUnknown
     public static final int columnNullableUnknown
    
    Nullability unknown.


    Methods

    getColumnCount
     public abstract int getColumnCount() throws SQLException
    
    What's the number of columns in the ResultSet?

    Returns:
    the number
    Throws: SQLException
    if a database-access error occurs.
    isAutoIncrement
     public abstract boolean isAutoIncrement(int column) throws SQLException
    
    Is the column automatically numbered, thus read-only?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    true if so
    Throws: SQLException
    if a database-access error occurs.
    isCaseSensitive
     public abstract boolean isCaseSensitive(int column) throws SQLException
    
    Does a column's case matter?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    true if so
    Throws: SQLException
    if a database-access error occurs.
    isSearchable
     public abstract boolean isSearchable(int column) throws SQLException
    
    Can the column be used in a where clause?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    true if so
    Throws: SQLException
    if a database-access error occurs.
    isCurrency
     public abstract boolean isCurrency(int column) throws SQLException
    
    Is the column a cash value?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    true if so
    Throws: SQLException
    if a database-access error occurs.
    isNullable
     public abstract int isNullable(int column) throws SQLException
    
    Can you put a NULL in this column?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    columnNoNulls, columnNullable or columnNullableUnknown
    Throws: SQLException
    if a database-access error occurs.
    isSigned
     public abstract boolean isSigned(int column) throws SQLException
    
    Is the column a signed number?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    true if so
    Throws: SQLException
    if a database-access error occurs.
    getColumnDisplaySize
     public abstract int getColumnDisplaySize(int column) throws SQLException
    
    What's the column's normal max width in chars?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    max width
    Throws: SQLException
    if a database-access error occurs.
    getColumnLabel
     public abstract String getColumnLabel(int column) throws SQLException
    
    What's the suggested column title for use in printouts and displays?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    true if so
    Throws: SQLException
    if a database-access error occurs.
    getColumnName
     public abstract String getColumnName(int column) throws SQLException
    
    What's a column's name?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    column name
    Throws: SQLException
    if a database-access error occurs.
    getSchemaName
     public abstract String getSchemaName(int column) throws SQLException
    
    What's a column's table's schema?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    schema name or "" if not applicable
    Throws: SQLException
    if a database-access error occurs.
    getPrecision
     public abstract int getPrecision(int column) throws SQLException
    
    What's a column's number of decimal digits?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    precision
    Throws: SQLException
    if a database-access error occurs.
    getScale
     public abstract int getScale(int column) throws SQLException
    
    What's a column's number of digits to right of the decimal point?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    scale
    Throws: SQLException
    if a database-access error occurs.
    getTableName
     public abstract String getTableName(int column) throws SQLException
    
    What's a column's table name?

    Returns:
    table name or "" if not applicable
    Throws: SQLException
    if a database-access error occurs.
    getCatalogName
     public abstract String getCatalogName(int column) throws SQLException
    
    What's a column's table's catalog name?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    column name or "" if not applicable.
    Throws: SQLException
    if a database-access error occurs.
    getColumnType
     public abstract int getColumnType(int column) throws SQLException
    
    What's a column's SQL type?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    SQL type
    Throws: SQLException
    if a database-access error occurs.
    See Also:
    Types
    getColumnTypeName
     public abstract String getColumnTypeName(int column) throws SQLException
    
    What's a column's data source specific type name?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    type name
    Throws: SQLException
    if a database-access error occurs.
    isReadOnly
     public abstract boolean isReadOnly(int column) throws SQLException
    
    Is a column definitely not writable?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    true if so
    Throws: SQLException
    if a database-access error occurs.
    isWritable
     public abstract boolean isWritable(int column) throws SQLException
    
    Is it possible for a write on the column to succeed?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    true if so
    Throws: SQLException
    if a database-access error occurs.
    isDefinitelyWritable
     public abstract boolean isDefinitelyWritable(int column) throws SQLException
    
    Will a write on the column definitely succeed?

    Parameters:
    column - the first column is 1, the second is 2, ...
    Returns:
    true if so
    Throws: SQLException
    if a database-access error occurs.

    o kI$ 7256$ g ./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.resultsetmetadata_mi.htmhtm$$ Class java.sql.SQLException

    Class java.sql.SQLException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.sql.SQLException
    

    public class SQLException
    extends Exception
    super class of:
    SQLWarning

    The SQLException class provides information on a database access error.

    Each SQLException provides several kinds of information:

    • a string describing the error. This is used as the Java Exception message, and is available via the getMesage() method
    • A "SQLstate" string which follows the XOPEN SQLstate conventions. The values of the SQLState string as described in the XOPEN SQL spec.
    • An integer error code that is vendor specific. Normally this will be the actual error code returned by the underlying database.
    • A chain to a next Exception. This can be used to provided additional error information.


    Constructor Index

    SQLException()
    Construct an SQLException; reason defaults to null, SQLState defaults to null and vendorCode defaults to 0.
    SQLException(String)
    Construct an SQLException with a reason; SQLState defaults to null and vendorCode defaults to 0.
    SQLException(String, String)
    Construct an SQLException with a reason and SQLState; vendorCode defaults to 0.
    SQLException(String, String, int)
    Construct a fully-specified SQLException

    Method Index

    getErrorCode()
    Get the vendor specific exception code
    getNextException()
    Get the exception chained to this one.
    getSQLState()
    Get the SQLState
    setNextException(SQLException)
    Add an SQLException to the end of the chain.

    Constructors

    SQLException
     public SQLException(String reason,
                         String SQLState,
                         int vendorCode)
    
    Construct a fully-specified SQLException

    Parameters:
    reason - a description of the exception
    SQLState - an XOPEN code identifying the exception
    vendorCode - a database vendor specific exception code
    SQLException
     public SQLException(String reason,
                         String SQLState)
    
    Construct an SQLException with a reason and SQLState; vendorCode defaults to 0.

    Parameters:
    reason - a description of the exception
    SQLState - an XOPEN code identifying the exception
    SQLException
     public SQLException(String reason)
    
    Construct an SQLException with a reason; SQLState defaults to null and vendorCode defaults to 0.

    Parameters:
    reason - a description of the exception
    SQLException
     public SQLException()
    
    Construct an SQLException; reason defaults to null, SQLState defaults to null and vendorCode defaults to 0.


    Methods

    getSQLState
     public String getSQLState()
    
    Get the SQLState

    Returns:
    the SQLState value
    getErrorCode
     public int getErrorCode()
    
    Get the vendor specific exception code

    Returns:
    the vendor's error code
    getNextException
     public SQLException getNextException()
    
    Get the exception chained to this one.

    Returns:
    the next SQLException in the chain, null if none
    setNextException
     public synchronized void setNextException(SQLException ex)
    
    Add an SQLException to the end of the chain.

    Parameters:
    ex - the new end of the SQLException chain

     k2L$7256$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.sqlexception_mi.htmht$$ Class java.sql.SQLWarning

    Class java.sql.SQLWarning

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.sql.SQLException
                               |
                               +----java.sql.SQLWarning
    

    public class SQLWarning
    extends SQLException
    super class of:
    DataTruncation

    The SQLWarning class provides information on a database access warnings. Warnings are silently chained to the object whose method caused it to be reported.

    See Also:
    getWarnings, getWarnings, getWarnings

    Constructor Index

    SQLWarning()
    Construct an SQLWarning ; reason defaults to null, SQLState defaults to null and vendorCode defaults to 0.
    SQLWarning(String)
    Construct an SQLWarning with a reason; SQLState defaults to null and vendorCode defaults to 0.
    SQLWarning(String, String)
    Construct an SQLWarning with a reason and SQLState; vendorCode defaults to 0.
    SQLWarning(String, String, int)
    Construct a fully specified SQLWarning.

    Method Index

    getNextWarning()
    Get the warning chained to this one
    setNextWarning(SQLWarning)
    Add an SQLWarning to the end of the chain.

    Constructors

    SQLWarning
     public SQLWarning(String reason,
                       String SQLstate,
                       int vendorCode)
    
    Construct a fully specified SQLWarning.

    Parameters:
    reason - a description of the warning
    SQLState - an XOPEN code identifying the warning
    vendorCode - a database vendor specific warning code
    SQLWarning
     public SQLWarning(String reason,
                       String SQLstate)
    
    Construct an SQLWarning with a reason and SQLState; vendorCode defaults to 0.

    Parameters:
    reason - a description of the warning
    SQLState - an XOPEN code identifying the warning
    SQLWarning
     public SQLWarning(String reason)
    
    Construct an SQLWarning with a reason; SQLState defaults to null and vendorCode defaults to 0.

    Parameters:
    reason - a description of the warning
    SQLWarning
     public SQLWarning()
    
    Construct an SQLWarning ; reason defaults to null, SQLState defaults to null and vendorCode defaults to 0.


    Methods

    getNextWarning
     public SQLWarning getNextWarning()
    
    Get the warning chained to this one

    Returns:
    the next SQLException in the chain, null if none
    setNextWarning
     public void setNextWarning(SQLWarning w)
    
    Add an SQLWarning to the end of the chain.

    Parameters:
    w - the new end of the SQLException chain

    gs"> kO$7256$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.sqlwarning_mi.htmht$$ Class java.sql.Time

    Class java.sql.Time

    java.lang.Object
       |
       +----java.util.Date
               |
               +----java.sql.Time
    

    public class Time
    extends Date

    This class is a thin wrapper around java.util.Date that allows JDBC to identify this as a SQL TIME value. It adds formatting and parsing operations to support the JDBC escape syntax for time values.


    Constructor Index

    Time(int, int, int)
    Construct a Time Object
    Time(long)
    Construct a Time using a milliseconds time value

    Method Index

    getDate()
    Returns the day of the month represented by this date.
    getDay()
    Returns the day of the week represented by this date.
    getMonth()
    Returns the month represented by this date.
    getYear()
    Returns the year represented by this date, minus 1900.
    setDate(int)
    Sets the day of the month of this date to the specified value.
    setMonth(int)
    Sets the month of this date to the specified value.
    setTime(long)
    Set a Time using a milliseconds time value
    setYear(int)
    Sets the year of this date to be the specified value plus 1900.
    toString()
    Format a time in JDBC date escape format
    valueOf(String)
    Convert a string in JDBC time escape format to a Time value

    Constructors

    Time
     public Time(int hour,
                 int minute,
                 int second)
    
    Construct a Time Object

    Parameters:
    hour - 0 to 23
    minute - 0 to 59
    second - 0 to 59
    Time
     public Time(long time)
    
    Construct a Time using a milliseconds time value

    Parameters:
    time - milliseconds since January 1, 1970, 00:00:00 GMT

    Methods

    setTime
     public void setTime(long time)
    
    Set a Time using a milliseconds time value

    Parameters:
    time - milliseconds since January 1, 1970, 00:00:00 GMT
    Overrides:
    setTime in class Date
    valueOf
     public static Time valueOf(String s)
    
    Convert a string in JDBC time escape format to a Time value

    Parameters:
    s - time in format "hh:mm:ss"
    Returns:
    corresponding Time
    toString
     public String toString()
    
    Format a time in JDBC date escape format

    Returns:
    a String in hh:mm:ss format
    Overrides:
    toString in class Date
    getYear
     public int getYear()
    
    Returns the year represented by this date, minus 1900.

    Overrides:
    getYear in class Date
    getMonth
     public int getMonth()
    
    Returns the month represented by this date.

    Overrides:
    getMonth in class Date
    getDay
     public int getDay()
    
    Returns the day of the week represented by this date.

    Overrides:
    getDay in class Date
    getDate
     public int getDate()
    
    Returns the day of the month represented by this date.

    Overrides:
    getDate in class Date
    setYear
     public void setYear(int i)
    
    Sets the year of this date to be the specified value plus 1900.

    Overrides:
    setYear in class Date
    setMonth
     public void setMonth(int i)
    
    Sets the month of this date to the specified value.

    Overrides:
    setMonth in class Date
    setDate
     public void setDate(int i)
    
    Sets the day of the month of this date to the specified value.

    Overrides:
    setDate in class Date

    a mi kaU$7456$P\./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.time_mi.htmht$$ Class java.sql.Timestamp

    Class java.sql.Timestamp

    java.lang.Object
       |
       +----java.util.Date
               |
               +----java.sql.Timestamp
    

    public class Timestamp
    extends Date

    This class is a thin wrapper around java.util.Date that allows JDBC to identify this as a SQL TIMESTAMP value. It adds the ability to hold the SQL TIMESTAMP nanos value and provides formatting and parsing operations to support the JDBC escape syntax for timestamp values.

    Note: This type is a composite of a java.util.Date and a separate nanos value. Only integral seconds are stored in the java.util.Date component. The fractional seconds - the nanos - are separate. The getTime method will only return integral seconds. If a time value that includes the fractional seconds is desired you must convert nanos to milliseconds (nanos/1000000) and add this to the getTime value. Also note that the hashcode() method uses the underlying java.util.Data implementation and therefore does not include nanos in its computation.


    Constructor Index

    Timestamp(int, int, int, int, int, int, int)
    Construct a Timestamp Object
    Timestamp(long)
    Construct a Timestamp using a milliseconds time value.

    Method Index

    after(Timestamp)
    Is this timestamp later than the timestamp argument?
    before(Timestamp)
    Is this timestamp earlier than the timestamp argument?
    equals(Timestamp)
    Test Timestamp values for equality
    getNanos()
    Get the Timestamp's nanos value
    setNanos(int)
    Set the Timestamp's nanos value
    toString()
    Format a timestamp in JDBC timestamp escape format
    valueOf(String)
    Convert a string in JDBC timestamp escape format to a Timestamp value

    Constructors

    Timestamp
     public Timestamp(int year,
                      int month,
                      int date,
                      int hour,
                      int minute,
                      int second,
                      int nano)
    
    Construct a Timestamp Object

    Parameters:
    year - year-1900
    month - 0 to 11
    day - 1 to 31
    hour - 0 to 23
    minute - 0 to 59
    second - 0 to 59
    nano - 0 to 999,999,999
    Timestamp
     public Timestamp(long time)
    
    Construct a Timestamp using a milliseconds time value. The integral seconds are stored in the underlying date value; the fractional seconds are stored in the nanos value.

    Parameters:
    time - milliseconds since January 1, 1970, 00:00:00 GMT

    Methods

    valueOf
     public static Timestamp valueOf(String s)
    
    Convert a string in JDBC timestamp escape format to a Timestamp value

    Parameters:
    s - timestamp in format "yyyy-mm-dd hh:mm:ss.fffffffff"
    Returns:
    corresponding Timestamp
    toString
     public String toString()
    
    Format a timestamp in JDBC timestamp escape format

    Returns:
    a String in yyyy-mm-dd hh:mm:ss.fffffffff format
    Overrides:
    toString in class Date
    getNanos
     public int getNanos()
    
    Get the Timestamp's nanos value

    Returns:
    the Timestamp's fractional seconds component
    setNanos
     public void setNanos(int n)
    
    Set the Timestamp's nanos value

    Parameters:
    n - the new fractional seconds component
    equals
     public boolean equals(Timestamp ts)
    
    Test Timestamp values for equality

    Parameters:
    ts - the Timestamp value to compare with
    before
     public boolean before(Timestamp ts)
    
    Is this timestamp earlier than the timestamp argument?

    Parameters:
    ts - the Timestamp value to compare with
    after
     public boolean after(Timestamp ts)
    
    Is this timestamp later than the timestamp argument?

    Parameters:
    ts - the Timestamp value to compare with

     kX$7456$P./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.timestamp_mi.htmht$$ Class java.sql.Types

    Class java.sql.Types

    java.lang.Object
       |
       +----java.sql.Types
    

    public class Types
    extends Object

    This class defines constants that are used to identify SQL types. The actual type constant values are equivalent to those in XOPEN.


    Variable Index

    BIGINT
    BINARY
    BIT
    CHAR
    DATE
    DECIMAL
    DOUBLE
    FLOAT
    INTEGER
    LONGVARBINARY
    LONGVARCHAR
    NULL
    NUMERIC
    OTHER
    OTHER indicates that the SQL type is database specific and gets mapped to a Java object which can be accessed via getObject and setObject.
    REAL
    SMALLINT
    TIME
    TIMESTAMP
    TINYINT
    VARBINARY
    VARCHAR

    Variables

    BIT
     public static final int BIT
    
    TINYINT
     public static final int TINYINT
    
    SMALLINT
     public static final int SMALLINT
    
    INTEGER
     public static final int INTEGER
    
    BIGINT
     public static final int BIGINT
    
    FLOAT
     public static final int FLOAT
    
    REAL
     public static final int REAL
    
    DOUBLE
     public static final int DOUBLE
    
    NUMERIC
     public static final int NUMERIC
    
    DECIMAL
     public static final int DECIMAL
    
    CHAR
     public static final int CHAR
    
    VARCHAR
     public static final int VARCHAR
    
    LONGVARCHAR
     public static final int LONGVARCHAR
    
    DATE
     public static final int DATE
    
    TIME
     public static final int TIME
    
    TIMESTAMP
     public static final int TIMESTAMP
    
    BINARY
     public static final int BINARY
    
    VARBINARY
     public static final int VARBINARY
    
    LONGVARBINARY
     public static final int LONGVARBINARY
    
    NULL
     public static final int NULL
    
    OTHER
     public static final int OTHER
    
    OTHER indicates that the SQL type is database specific and gets mapped to a Java object which can be accessed via getObject and setObject.


    ject_ds k [$7456$@./usr/IBMVJava/html/enterp/en_US/jdkref/java.sql.types_mi.htmt$$ Class java.text.BreakIterator

    Class java.text.BreakIterator

    java.lang.Object
       |
       +----java.text.BreakIterator
    

    public abstract class BreakIterator
    extends Object
    implements Cloneable, Serializable

    The BreakIterator class implements methods for finding the location of boundaries in text. Instances of BreakIterator maintain a current position and scan over text returning the index of characters where boundaries occur. Internally, BreakIterator scans text using a CharacterIterator, and is thus able to scan text held by any object implementing that protocol. A StringCharacterIterator is used to scan String objects passed to setText.

    You use the factory methods provided by this class to create instances of various types of break iterators. In particular, use getWordIterator, getLineIterator, getSentenceIterator, and getCharacterIterator to create BreakIterators that perform word, line, sentence, and character boundary analysis respectively. A single BreakIterator can work only on one unit (word, line, sentence, and so on). You must use a different iterator for each unit boundary analysis you wish to perform.

    Line boundary analysis determines where a text string can be broken when line-wrapping. The mechanism correctly handles punctuation and hyphenated words.

    Sentence boundary analysis allows selection with correct interpretation of periods within numbers and abbreviations, and trailing punctuation marks such as quotation marks and parentheses.

    Word boundary analysis is used by search and replace functions, as well as within text editing applications that allow the user to select words with a double click. Word selection provides correct interpretation of punctuation marks within and following words. Characters that are not part of a word, such as symbols or punctuation marks, have word-breaks on both sides.

    Character boundary analysis allows users to interact with characters as they expect to, for example, when moving the cursor through a text string. Character boundary analysis provides correct navigation of through character strings, regardless of how the character is stored. For example, an accented character might be stored as a base character and a diacritical mark. What users consider to be a character can differ between languages.

    BreakIterator is intended for use with natural languages only. Do not use this class to tokenize a programming language.

    Examples:

    Creating and using text boundaries

     public static void main(String args[]) {
          if (args.length == 1) {
              String stringToExamine = args[0];
              //print each word in order
              BreakIterator boundary = BreakIterator.getWordInstance();
              boundary.setText(stringToExamine);
              printEachForward(boundary, stringToExamine);
              //print each sentence in reverse order
              boundary = BreakIterator.getSentenceInstance(Locale.US);
              boundary.setText(stringToExamine);
              printEachBackward(boundary, stringToExamine);
              printFirst(boundary, stringToExamine);
              printLast(boundary, stringToExamine);
          }
     }
     
    Print each element in order
     public static void printEachForward(BreakIterator boundary, String source) {
         int start = boundary.first();
         for (int end = boundary.next();
              end != BreakIterator.DONE;
              start = end, end = boundary.next()) {
              System.out.println(source.substring(start,end));
         }
     }
     
    Print each element in reverse order
     public static void printEachBackward(BreakIterator boundary, String source) {
         int end = boundary.last();
         for (int start = boundary.previous();
              start != BreakIterator.DONE;
              end = start, start = boundary.previous()) {
             System.out.println(source.substring(start,end));
         }
     }
     
    Print first element
     public static void printFirst(BreakIterator boundary, String source) {
         int start = boundary.first();
         int end = boundary.next();
         System.out.println(source.substring(start,end));
     }
     
    Print last element
     public static void printLast(BreakIterator boundary, String source) {
         int end = boundary.last();
         int start = boundary.previous();
         System.out.println(source.substring(start,end));
     }
     
    Print the element at a specified position
     public static void printAt(BreakIterator boundary, int pos, String source) {
         int end = boundary.following(pos);
         int start = boundary.previous();
         System.out.println(source.substring(start,end));
     }
     

    See Also:
    CharacterIterator

    Variable Index

    DONE
    DONE is returned by previous() and next() after all valid boundaries have been returned.

    Constructor Index

    BreakIterator()
    Constructor.

    Method Index

    clone()
    Create a copy of this iterator
    current()
    Return character index of the text boundary that was most recently returned by next(), previous(), first(), or last()
    first()
    Return the first boundary.
    following(int)
    Return the first boundary following the specified offset.
    getAvailableLocales()
    Get the set of Locales for which BreakIterators are installed
    getCharacterInstance()
    Create BreakIterator for character-breaks using default locale Returns an instance of a BreakIterator implementing character breaks.
    getCharacterInstance(Locale)
    Create BreakIterator for character-breaks using specified locale Returns an instance of a BreakIterator implementing character breaks.
    getLineInstance()
    Create BreakIterator for line-breaks using default locale.
    getLineInstance(Locale)
    Create BreakIterator for line-breaks using specfied locale.
    getSentenceInstance()
    Create BreakIterator for sentence-breaks using default locale Returns an instance of a BreakIterator implementing sentence breaks.
    getSentenceInstance(Locale)
    Create BreakIterator for sentence-breaks using specified locale Returns an instance of a BreakIterator implementing sentence breaks.
    getText()
    Get the text being scanned
    getWordInstance()
    Create BreakIterator for word-breaks using default locale.
    getWordInstance(Locale)
    Create BreakIterator for word-breaks using specified locale.
    last()
    Return the last boundary.
    next()
    Return the boundary following the current boundary.
    next(int)
    Return the nth boundary from the current boundary
    previous()
    Return the boundary preceding the current boundary.
    setText(CharacterIterator)
    Set a new text for scanning.
    setText(String)
    Set a new text string to be scanned.

    Variables

    DONE
     public static final int DONE
    
    DONE is returned by previous() and next() after all valid boundaries have been returned.


    Constructors

    BreakIterator
     protected BreakIterator()
    
    Constructor. BreakIterator is stateless and has no default behavior.


    Methods

    clone
     public Object clone()
    
    Create a copy of this iterator

    Returns:
    A copy of this
    Overrides:
    clone in class Object
    first
     public abstract int first()
    
    Return the first boundary. The iterator's current position is set to the first boundary.

    Returns:
    The character index of the first text boundary.
    last
     public abstract int last()
    
    Return the last boundary. The iterator's current position is set to the last boundary.

    Returns:
    The character index of the last text boundary.
    next
     public abstract int next(int n)
    
    Return the nth boundary from the current boundary

    Parameters:
    n - which boundary to return. A value of 0 does nothing. Negative values move to previous boundaries and positive values move to later boundaries.
    Returns:
    The index of the nth boundary from the current position.
    next
     public abstract int next()
    
    Return the boundary following the current boundary.

    Returns:
    The character index of the next text boundary or DONE if all boundaries have been returned. Equivalent to next(1).
    previous
     public abstract int previous()
    
    Return the boundary preceding the current boundary.

    Returns:
    The character index of the previous text boundary or DONE if all boundaries have been returned.
    following
     public abstract int following(int offset)
    
    Return the first boundary following the specified offset. The value returned is always greater than the offset or the value BreakIterator.DONE

    Parameters:
    offset - the offset to begin scanning. Valid values are determined by the CharacterIterator passed to setText(). Invalid values cause an IllegalArgumentException to be thrown.
    Returns:
    The first boundary after the specified offset.
    current
     public abstract int current()
    
    Return character index of the text boundary that was most recently returned by next(), previous(), first(), or last()

    Returns:
    The boundary most recently returned.
    getText
     public abstract CharacterIterator getText()
    
    Get the text being scanned

    Returns:
    the text being scanned
    setText
     public void setText(String newText)
    
    Set a new text string to be scanned. The current scan position is reset to first().

    Parameters:
    newText - new text to scan.
    setText
     public abstract void setText(CharacterIterator newText)
    
    Set a new text for scanning. The current scan position is reset to first().

    Parameters:
    newText - new text to scan.
    getWordInstance
     public static BreakIterator getWordInstance()
    
    Create BreakIterator for word-breaks using default locale. Returns an instance of a BreakIterator implementing word breaks. WordBreak is usefull for word selection (ex. double click)

    Returns:
    A BreakIterator for word-breaks
    See Also:
    getDefault
    getWordInstance
     public static BreakIterator getWordInstance(Locale where)
    
    Create BreakIterator for word-breaks using specified locale. Returns an instance of a BreakIterator implementing word breaks. WordBreak is usefull for word selection (ex. double click)

    Parameters:
    where - the local. If a specific WordBreak is not avaliable for the specified locale, a default WordBreak is returned.
    Returns:
    A BreakIterator for word-breaks
    getLineInstance
     public static BreakIterator getLineInstance()
    
    Create BreakIterator for line-breaks using default locale. Returns an instance of a BreakIterator implementing line breaks. Line breaks are logically possible line breaks, actual line breaks are usually determined based on display width. LineBreak is useful for word wrapping text.

    Returns:
    A BreakIterator for line-breaks
    See Also:
    getDefault
    getLineInstance
     public static BreakIterator getLineInstance(Locale where)
    
    Create BreakIterator for line-breaks using specfied locale. Returns an instance of a BreakIterator implementing line breaks. Line breaks are logically possible line breaks, actual line breaks are usually determined based on display width. LineBreak is useful for word wrapping text.

    Parameters:
    where - the local. If a specific LineBreak is not avaliable for the specified locale, a default LineBreak is returned.
    Returns:
    A BreakIterator for line-breaks
    getCharacterInstance
     public static BreakIterator getCharacterInstance()
    
    Create BreakIterator for character-breaks using default locale Returns an instance of a BreakIterator implementing character breaks. Character breaks are boundaries of combining character sequences.

    Returns:
    A BreakIterator for character-breaks
    See Also:
    getDefault
    getCharacterInstance
     public static BreakIterator getCharacterInstance(Locale where)
    
    Create BreakIterator for character-breaks using specified locale Returns an instance of a BreakIterator implementing character breaks. Character breaks are boundaries of combining character sequences.

    Parameters:
    where - the local. If a specific character break is not avaliable for the specified local, a default character break is returned.
    Returns:
    A BreakIterator for character-breaks
    getSentenceInstance
     public static BreakIterator getSentenceInstance()
    
    Create BreakIterator for sentence-breaks using default locale Returns an instance of a BreakIterator implementing sentence breaks.

    Returns:
    A BreakIterator for sentence-breaks
    See Also:
    getDefault
    getSentenceInstance
     public static BreakIterator getSentenceInstance(Locale where)
    
    Create BreakIterator for sentence-breaks using specified locale Returns an instance of a BreakIterator implementing sentence breaks.

    Parameters:
    where - the local. If a specific SentenceBreak is not avaliable for the specified local, a default SentenceBreak is returned.
    Returns:
    A BreakIterator for sentence-breaks
    getAvailableLocales
     public static synchronized Locale[] getAvailableLocales()
    
    Get the set of Locales for which BreakIterators are installed

    Returns:
    available locales

    eInst k:?^$ 7456$ p ./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.breakiterator_mi.htm$$ Interface java.text.CharacterIterator

    Interface java.text.CharacterIterator

    public interface CharacterIterator
    extends Cloneable

    This interface defines a protocol for bidirectional iteration over text. The iterator iterates over a bounded sequence of characters. Characters are indexed with values beginning with the value returned by getBeginIndex and continuing through the value returned by getEndIndex()-1. The index of the current character can be retrieved by calling getIndex. Calling setIndex will move the iterator to a new position within the sequence of characters. If at any time the iterator's current index moves outside the range of getBeginIndex and getEndIndex, previous() and next() will return DONE, signaling that the iterator has reached the end of the sequence.

    Examples:

    Traverse the text from start to finish

     public void traverseForward(CharacterIterator iter) {
         for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
             processChar(c);
         }
     }
     
    Traverse the text backwards, from end to start
     public void traverseBackward(CharacterIterator iter) {
         for(char c = iter.last(); c != CharacterIterator.DONE; c = iter.prev()) {
             processChar(c);
         }
     }
     
    Traverse both forward and backward from a given position in the text. Calls to notBoundary() in this example represents some additional stopping criteria.
     public void traverseOut(CharacterIterator iter, int pos) {
         for (char c = iter.setIndex(pos);
              c != CharacterIterator.DONE && notBoundary(c);
              c = iter.next()) {}
     int end = iter.getIndex();
     for (char c = iter.setIndex(pos);
         c != CharacterIterator.DONE && notBoundary(c);
         c = iter.prev()) {}
     int start = iter.getIndex();
     processSection(start,end);
     }
     

    See Also:
    StringCharacterIterator

    Variable Index

    DONE
    Constant that is returned when the iterator has reached either the end or the beginning of the text.

    Method Index

    clone()
    Create a copy of this iterator
    current()
    Get the character at the current position (as returned by getIndex()).
    first()
    Set the position to getBeginIndex() and return the character at that position.
    getBeginIndex()
    Return the start index of the text.
    getEndIndex()
    Return the end index of the text.
    getIndex()
    Return the current index.
    last()
    Set the position to getEndIndex()-1, return the character at that position.
    next()
    Increment the iterator's index by one and return the character at the new index.
    previous()
    Decrement the iterator's index by one and return the character at the new index.
    setIndex(int)
    Set the position to the specified position in the text and return that character.

    Variables

    DONE
     public static final char DONE
    
    Constant that is returned when the iterator has reached either the end or the beginning of the text. The unicode 2.0 standard states that '\\uFFFF' is an invalid unicode value and should not occur in any valid unicode string.


    Methods

    first
     public abstract char first()
    
    Set the position to getBeginIndex() and return the character at that position.

    Returns:
    the first character in the text
    See Also:
    getBeginIndex
    last
     public abstract char last()
    
    Set the position to getEndIndex()-1, return the character at that position.

    Returns:
    the last character in the text
    See Also:
    getEndIndex
    current
     public abstract char current()
    
    Get the character at the current position (as returned by getIndex()).

    Returns:
    the character at the current position or DONE if the current position is off the end of the text.
    See Also:
    getIndex
    next
     public abstract char next()
    
    Increment the iterator's index by one and return the character at the new index. If the resulting index is greater or equal to getEndIndex(), the current index is reset to getEndIndex() and a value of DONE is returned.

    Returns:
    the character at the new position or DONE if the current position is off the end of the text.
    previous
     public abstract char previous()
    
    Decrement the iterator's index by one and return the character at the new index. If the resulting index is less than getBeginIndex(), the current index is reset to getBeginIndex() and a value of DONE is returned.

    Returns:
    the character at the new position or DONE if the current position is off the end of the text.
    setIndex
     public abstract char setIndex(int position)
    
    Set the position to the specified position in the text and return that character.

    Parameters:
    position - the position within the text. Valid values range from getBeginIndex() to getEndIndex() - 1. An IllegalArgumentException is thrown if an invalid value is supplied.
    Returns:
    the character at the specified position.
    getBeginIndex
     public abstract int getBeginIndex()
    
    Return the start index of the text.

    Returns:
    the index at which the text begins.
    getEndIndex
     public abstract int getEndIndex()
    
    Return the end index of the text. This index is the index of the first character following the end of the text.

    Returns:
    the index at which the text end.
    getIndex
     public abstract int getIndex()
    
    Return the current index.

    Returns:
    the current index.
    clone
     public abstract Object clone()
    
    Create a copy of this iterator

    Returns:
    A copy of this
    Overrides:
    clone in class Object

    b>S k&ha$7456$Pv./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.characteriterator_mi.htmhtm$$ Class java.text.ChoiceFormat

    Class java.text.ChoiceFormat

    java.lang.Object
       |
       +----java.text.Format
               |
               +----java.text.NumberFormat
                       |
                       +----java.text.ChoiceFormat
    

    public class ChoiceFormat
    extends NumberFormat

    A ChoiceFormat allows you to attach a format to a range of numbers. It is generally used in a MessageFormat for handling plurals. The choice is specified with an ascending list of doubles, where each item specifies a half-open interval up to the next item:

     X matches j if and only if limit[j] <= x < limit[j+1] 
    If there is no match, then either the first or last index is used, depending on whether the number (X) is too low or too high.

    Note: ChoiceFormat differs from the other Format classes in that you create a ChoiceFormat object with a constructor (not with a getInstance style factory method). The factory methods aren't necessary because ChoiceFormat doesn't require any complex setup for a given locale. In fact, ChoiceFormat doesn't implement any locale specific behavior.

    When creating a ChoiceFormat, you must specify an array of formats and an array of limits. The length of these arrays must be the same. For example,

    • limits = {1,2,3,4,5,6,7}
      formats = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"} limits = {0, 1, ChoiceFormat.nextDouble(1)}
      formats = {"no files", "one file", "many files"}
      (nextDouble can be used to get the next higher double, to make the half-open interval.)

    Here is a simple example that shows formatting and parsing:

     double[] limits = {1,2,3,4,5,6,7};
     String[] monthNames = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"};
     ChoiceFormat form = new ChoiceFormat(limits, monthNames);
     ParsePosition status = new ParsePosition(0);
     for (double i = 0.0; i <= 8.0; ++i) { status.setindex(0); system.out.println(i + " -> " + form.format(i) + " -> "
                                  + form.parse(form.format(i),status));
     }
     
    Here is a more complex example, with a pattern format:
     double[] filelimits = {0,1,2};
     String[] filepart = {"are no files","is one file","are {2} files"};
     ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart);
     Format[] testFormats = {fileform, null, NumberFormat.getInstance()};
     MessageFormat pattform = new MessageFormat("There {0} on {1}");
     pattform.setFormats(testFormats);
     Object[] testArgs = {null, "ADisk", null};
     for (int i = 0; i <4; ++i) { testargs[0]="new" integer(i); testargs[2]="testArgs[0];" system.out.println(pattform.format(testargs)); } 

    See Also:
    DecimalFormat, MessageFormat

    Constructor Index

    ChoiceFormat(double[], String[])
    Constructs with the limits and the corresponding formats.
    ChoiceFormat(String)
    Constructs with limits and corresponding formats based on the pattern.

    Method Index

    applyPattern(String)
    Sets the pattern.
    clone()
    Overrides Cloneable
    equals(Object)
    Equality comparision between two
    format(double, StringBuffer, FieldPosition)
    Specialization of format.
    format(long, StringBuffer, FieldPosition)
    Specialization of format.
    getFormats()
    Get the formats passed in the constructor.
    getLimits()
    Get the limits passed in the constructor.
    hashCode()
    Generates a hash code for the message format object.
    nextDouble(double)
    Finds the least double greater than d.
    nextDouble(double, boolean)
    parse(String, ParsePosition)
    Returns a Long if possible (e.g.
    previousDouble(double)
    Finds the greatest double less than d.
    setChoices(double[], String[])
    Set the choices to be used in formatting.
    toPattern()
    Gets the pattern.

    Constructors

    ChoiceFormat
     public ChoiceFormat(String newPattern)
    
    Constructs with limits and corresponding formats based on the pattern.

    ChoiceFormat
     public ChoiceFormat(double limits[],
                         String formats[])
    
    Constructs with the limits and the corresponding formats.

    See Also:
    setChoices

    Methods

    applyPattern
     public void applyPattern(String newPattern)
    
    Sets the pattern.

    Parameters:
    newPattern - See the class description.
    toPattern
     public String toPattern()
    
    Gets the pattern.

    setChoices
     public void setChoices(double limits[],
                            String formats[])
    
    Set the choices to be used in formatting.

    Parameters:
    limits - contains the top value that you want parsed with that format,and should be in ascending sorted order. When formatting X, the choice will be the i, where limit[i] <= x < limit[i+1].
    formats - are the formats you want to use for each limit. They can be either Format objects or Strings. When formatting with object Y, if the object is a NumberFormat, then ((NumberFormat) Y).format(X) is called. Otherwise Y.toString() is called.
    getLimits
     public double[] getLimits()
    
    Get the limits passed in the constructor.

    Returns:
    the limits.
    getFormats
     public Object[] getFormats()
    
    Get the formats passed in the constructor.

    Returns:
    the formats.
    format
     public StringBuffer format(long number,
                                StringBuffer toAppendTo,
                                FieldPosition status)
    
    Specialization of format. This method really calls format(double, StringBuffer, FieldPosition) thus the range of longs that are supported is only equal to the range that can be stored by double. This will never be a practical limitation.

    Overrides:
    format in class NumberFormat
    format
     public StringBuffer format(double number,
                                StringBuffer toAppendTo,
                                FieldPosition status)
    
    Specialization of format.

    Overrides:
    format in class NumberFormat
    parse
     public Number parse(String text,
                         ParsePosition status)
    
    Returns a Long if possible (e.g.

    Overrides:
    parse in class NumberFormat
    nextDouble
     public static final double nextDouble(double d)
    
    Finds the least double greater than d. If NaN, returns same value.

    Used to make half-open intervals.

    See Also:
    previousDouble
    previousDouble
     public static final double previousDouble(double d)
    
    Finds the greatest double less than d. If NaN, returns same value.

    See Also:
    nextDouble
    clone
     public Object clone()
    
    Overrides Cloneable

    Overrides:
    clone in class NumberFormat
    hashCode
     public int hashCode()
    
    Generates a hash code for the message format object.

    Overrides:
    hashCode in class NumberFormat
    equals
     public boolean equals(Object obj)
    
    Equality comparision between two

    Overrides:
    equals in class NumberFormat
    nextDouble
     public static double nextDouble(double d,
                                     boolean positive)
    

     kd$~7456$0~./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.choiceformat_mi.htmh$$ Class java.text.CollationElementIterator

    Class java.text.CollationElementIterator

    java.lang.Object
       |
       +----java.text.CollationElementIterator
    

    public final class CollationElementIterator
    extends Object

    The CollationElementIterator class is used as an iterator to walk through each character of an international string. Use the iterator to return the ordering priority of the positioned character. The ordering priority of a character, which we refer to as a key, defines how a character is collated in the given collation object.

    For example, consider the following in Spanish:

     "ca" -> the first key is key('c') and second key is key('a').
     "cha" -> the first key is key('ch') and second key is key('a').
     
    And in German,
     "b"-> the first key is key('a'), the second key is key('e'), and
     the third key is key('b').
     
    The key of a character is an integer composed of primary order(short), secondary order(byte), and tertiary order(byte). Java strictly defines the size and signedness of its primitive data types. Therefore, the static functions primaryOrder, secondaryOrder, and tertiaryOrder return int, short, and short respectively to ensure the correctness of the key value.

    Example of the iterator usage,

     // get the first key of the string
     String str = "This is a test";
     CollationElementIterator c =
         new CollationElementIterator(str, 0, str.length(),
                                      Collator.getInstance());
     int primaryOrder = CollationElementIterator.primaryOrder(c->next());
     

    CollationElementIterator.next returns the collation order of the next character. A collation order consists of primary order, secondary order and tertiary order. The data type of the collation order is int. The first 16 bits of a collation order is its primary order; the next 8 bits is the secondary order and the last 8 bits is the tertiary order.

    See Also:
    Collator, RuleBasedCollator

    Variable Index

    NULLORDER
    Null order which indicates the end of string is reached by the cursor.

    Method Index

    next()
    Get the ordering priority of the next character in the string.
    primaryOrder(int)
    Get the primary order of a collation order.
    reset()
    Resets the cursor to the beginning of the string.
    secondaryOrder(int)
    Get the secondary order of a collation order.
    tertiaryOrder(int)
    Get the tertiary order of a collation order.

    Variables

    NULLORDER
     public static final int NULLORDER
    
    Null order which indicates the end of string is reached by the cursor.


    Methods

    reset
     public void reset()
    
    Resets the cursor to the beginning of the string.

    next
     public int next()
    
    Get the ordering priority of the next character in the string.

    Returns:
    the next character's ordering. Returns NULLORDER if the end of string is reached.
    primaryOrder
     public static final int primaryOrder(int order)
    
    Get the primary order of a collation order.

    Parameters:
    order - the collation order
    Returns:
    the primary order of a collation order.
    secondaryOrder
     public static final short secondaryOrder(int order)
    
    Get the secondary order of a collation order.

    Parameters:
    order - the collation order
    Returns:
    the secondary order of a collation order.
    tertiaryOrder
     public static final short tertiaryOrder(int order)
    
    Get the tertiary order of a collation order.

    Parameters:
    order - the collation order
    Returns:
    the tertiary order of a collation order.

    ote>  kBgg$7656$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.collationelementiterator_mi.htmm$$ Class java.text.CollationKey

    Class java.text.CollationKey

    java.lang.Object
       |
       +----java.text.CollationKey
    

    public final class CollationKey
    extends Object

    A CollationKey represents a String under the rules of a specific Collator object. Comparing two CollationKeys returns the relative order of the Strings they represent. Using CollationKeys to compare Strings is generally faster than using Collator.compare. Thus, when the Strings must be compared multiple times, for example when sorting a list of Strings. It's more efficient to use CollationKeys.

    You can not create CollationKeys directly. Rather, generate them by calling Collator.getCollationKey. You can only compare CollationKeys generated from the same Collator object.

    Generating a CollationKey for a String involves examining the entire String and converting it to series of bits that can be compared bitwise. This allows fast comparisons once the keys are generated. The cost of generating keys is recouped in faster comparisons when Strings need to be compared many times. On the other hand, the result of a comparison is often determined by the first couple of characters of each String. Collator.compare examines only as many characters as it needs which allows it to be faster when doing single comparisons.

    The following example shows how CollationKeys might be used to sort a list of Strings.

     // Create an array of CollationKeys for the Strings to be sorted.
     Collator myCollator = Collator.getInstance();
     CollationKey[] keys = new CollationKey[3];
     keys[0] = myCollator.getCollationKey("Tom");
     keys[1] = myCollator.getCollationKey("Dick");
     keys[2] = myCollator.getCollationKey("Harry");
     sort( keys );
     
     //...
     
     // Inside body of sort routine, compare keys this way
     if( keys[i].compareTo( keys[j] ) > 0 )
        // swap keys[i] and keys[j]
     
     //...
     
     // Finally, when we've returned from sort.
     System.out.println( keys[0].getSourceString() );
     System.out.println( keys[1].getSourceString() );
     System.out.println( keys[2].getSourceString() );
     

    See Also:
    Collator, RuleBasedCollator

    Method Index

    compareTo(CollationKey)
    Compare this CollationKey to the target CollationKey.
    equals(Object)
    Compare this CollationKey and the target CollationKey for equality.
    getSourceString()
    Returns the String that this CollationKey represents.
    hashCode()
    Creates a hash code for this CollationKey.
    toByteArray()
    Converts the CollationKey to a sequence of bits.

    Methods

    compareTo
     public int compareTo(CollationKey target)
    
    Compare this CollationKey to the target CollationKey. The collation rules of the Collator object which created these keys are applied. Note: CollationKeys created by different Collators can not be compared.

    Parameters:
    target - target CollationKey
    Returns:
    Returns an integer value. Value is less than zero if this is less than target, value is zero if this and target are equal and value is greater than zero if this is greater than target.
    See Also:
    compare
    equals
     public boolean equals(Object target)
    
    Compare this CollationKey and the target CollationKey for equality. The collation rules of the Collator object which created these keys are applied. Note: CollationKeys created by different Collators can not be compared.

    Parameters:
    target - the CollationKey to compare to.
    Returns:
    Returns true if two objects are equal, false otherwise.
    Overrides:
    equals in class Object
    hashCode
     public int hashCode()
    
    Creates a hash code for this CollationKey. The hash value is calculated on the key itself, not the String from which the key was created. Thus if x and y are CollationKeys, then x.hashCode(x) == y.hashCode() if x.equals(y) is true. This allows language-sensitive comparison in a hash table. See the CollatinKey class description for an example.

    Returns:
    the hash value based on the string's collation order.
    Overrides:
    hashCode in class Object
    getSourceString
     public String getSourceString()
    
    Returns the String that this CollationKey represents.

    toByteArray
     public byte[] toByteArray()
    
    Converts the CollationKey to a sequence of bits. If two CollationKeys could be legitimately compared, then one could compare the byte arrays for each of those keys to obtain the same result. Byte arrays are organized most significant byte first.


    mpareT k j$7656$`:./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.collationkey_mi.htmt$$ Class java.text.DateFormatSymbols

    Class java.text.DateFormatSymbols

    java.lang.Object
       |
       +----java.text.DateFormatSymbols
    

    public class DateFormatSymbols
    extends Object
    implements Serializable, Cloneable

    DateFormatSymbols is a public class for encapsulating localizable date-time formatting data, such as the names of the months, the names of the days of the week, and the time zone data. DateFormat and SimpleDateFormat both use DateFormatSymbols to encapsulate this information.

    Typically you shouldn't use DateFormatSymbols directly. Rather, you are encouraged to create a date-time formatter with the DateFormat class's factory methods: getTimeInstance, getDateInstance, or getDateTimeInstance. These methods automatically create a DateFormatSymbols for the formatter so that you don't have to. After the formatter is created, you may modify its format pattern using the setPattern method. For more information about creating formatters using DateFormat's factory methods, see DateFormat.

    If you decide to create a date-time formatter with a specific format pattern for a specific locale, you can do so with:

     new SimpleDateFormat(aPattern, new DateFormatSymbols(aLocale)).
     

    DateFormatSymbols objects are clonable. When you obtain a DateFormatSymbols object, feel free to modify the date-time formatting data. For instance, you can replace the localized date-time format pattern characters with the ones that you feel easy to remember. Or you can change the representative cities to your favorite ones.

    New DateFormatSymbols subclasses may be added to support SimpleDateFormat for date-time formatting for additional locales.

    See Also:
    DateFormat, SimpleDateFormat, SimpleTimeZone

    Constructor Index

    DateFormatSymbols()
    Construct a DateFormatSymbols object by loading format data from resources for the default locale.
    DateFormatSymbols(Locale)
    Construct a DateFormatSymbols object by loading format data from resources for the given locale.

    Method Index

    clone()
    Overrides Cloneable
    equals(Object)
    Override equals
    getAmPmStrings()
    Gets ampm strings.
    getEras()
    Gets era strings.
    getLocalPatternChars()
    Gets localized date-time pattern characters.
    getMonths()
    Gets month strings.
    getShortMonths()
    Gets short month strings.
    getShortWeekdays()
    Gets short weekday strings.
    getWeekdays()
    Gets weekday strings.
    getZoneStrings()
    Gets timezone strings.
    hashCode()
    Override hashCode.
    setAmPmStrings(String[])
    Sets ampm strings.
    setEras(String[])
    Sets era strings.
    setLocalPatternChars(String)
    Sets localized date-time pattern characters.
    setMonths(String[])
    Sets month strings.
    setShortMonths(String[])
    Sets short month strings.
    setShortWeekdays(String[])
    Sets short weekday strings.
    setWeekdays(String[])
    Sets weekday strings.
    setZoneStrings(String[][])
    Sets timezone strings.

    Constructors

    DateFormatSymbols
     public DateFormatSymbols()
    
    Construct a DateFormatSymbols object by loading format data from resources for the default locale.

    Throws: MissingResourceException
    if the resources for the default locale cannot be found or cannot be loaded.
    DateFormatSymbols
     public DateFormatSymbols(Locale locale)
    
    Construct a DateFormatSymbols object by loading format data from resources for the given locale.

    Throws: MissingResourceException
    if the resources for the specified locale cannot be found or cannot be loaded.

    Methods

    getEras
     public String[] getEras()
    
    Gets era strings. For example: "AD" and "BC".

    Returns:
    the era strings.
    setEras
     public void setEras(String newEras[])
    
    Sets era strings. For example: "AD" and "BC".

    Parameters:
    newEras - the new era strings.
    getMonths
     public String[] getMonths()
    
    Gets month strings. For example: "January", "February", etc.

    Returns:
    the month strings.
    setMonths
     public void setMonths(String newMonths[])
    
    Sets month strings. For example: "January", "February", etc.

    Parameters:
    newMonths - the new month strings.
    getShortMonths
     public String[] getShortMonths()
    
    Gets short month strings. For example: "Jan", "Feb", etc.

    Returns:
    the short month strings.
    setShortMonths
     public void setShortMonths(String newShortMonths[])
    
    Sets short month strings. For example: "Jan", "Feb", etc.

    Parameters:
    newShortMonths - the new short month strings.
    getWeekdays
     public String[] getWeekdays()
    
    Gets weekday strings. For example: "Sunday", "Monday", etc.

    Returns:
    the weekday strings.
    setWeekdays
     public void setWeekdays(String newWeekdays[])
    
    Sets weekday strings. For example: "Sunday", "Monday", etc.

    Parameters:
    newWeekdays - the new weekday strings.
    getShortWeekdays
     public String[] getShortWeekdays()
    
    Gets short weekday strings. For example: "Sun", "Mon", etc.

    Returns:
    the short weekday strings.
    setShortWeekdays
     public void setShortWeekdays(String newShortWeekdays[])
    
    Sets short weekday strings. For example: "Sun", "Mon", etc.

    Parameters:
    newShortWeekdays - the new short weekday strings.
    getAmPmStrings
     public String[] getAmPmStrings()
    
    Gets ampm strings. For example: "AM" and "PM".

    Returns:
    the weekday strings.
    setAmPmStrings
     public void setAmPmStrings(String newAmpms[])
    
    Sets ampm strings. For example: "AM" and "PM".

    Parameters:
    newAmpms - the new ampm strings.
    getZoneStrings
     public String[][] getZoneStrings()
    
    Gets timezone strings.

    Returns:
    the timezone strings.
    setZoneStrings
     public void setZoneStrings(String newZoneStrings[][])
    
    Sets timezone strings.

    Parameters:
    newZoneStrings - the new timezone strings.
    getLocalPatternChars
     public String getLocalPatternChars()
    
    Gets localized date-time pattern characters. For example: 'u', 't', etc.

    Returns:
    the localized date-time pattern characters.
    setLocalPatternChars
     public void setLocalPatternChars(String newLocalPatternChars)
    
    Sets localized date-time pattern characters. For example: 'u', 't', etc.

    Parameters:
    newLocalPatternChars - the new localized date-time pattern characters.
    clone
     public Object clone()
    
    Overrides Cloneable

    Overrides:
    clone in class Object
    hashCode
     public int hashCode()
    
    Override hashCode. Generates a hash code for the DateFormatSymbols object.

    Overrides:
    hashCode in class Object
    equals
     public boolean equals(Object obj)
    
    Override equals

    Overrides:
    equals in class Object

    S k괳s$ 7656$ @ ./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.dateformatsymbols_mi.htmi.ht$$ Class java.text.DecimalFormatSymbols

    Class java.text.DecimalFormatSymbols

    java.lang.Object
       |
       +----java.text.DecimalFormatSymbols
    

    public final class DecimalFormatSymbols
    extends Object
    implements Cloneable, Serializable

    This class represents the set of symbols (such as the decimal separator, the grouping separator, and so on) needed by DecimalFormat to format numbers. DecimalFormat creates for itself an instance of DecimalFormatSymbols from its locale data. If you need to change any of these symbols, you can get the DecimalFormatSymbols object from your DecimalFormat and modify it.

    See Also:
    Locale, DecimalFormat

    Constructor Index

    DecimalFormatSymbols()
    Create a DecimalFormatSymbols object for the default locale.
    DecimalFormatSymbols(Locale)
    Create a DecimalFormatSymbols object for the given locale.

    Method Index

    clone()
    Standard override.
    equals(Object)
    Override equals
    getDecimalSeparator()
    character used for decimal sign.
    getDigit()
    character used for a digit in a pattern.
    getGroupingSeparator()
    character used for thousands separator.
    getInfinity()
    character used to represent infinity.
    getMinusSign()
    character used to represent minus sign.
    getNaN()
    character used to represent NaN.
    getPatternSeparator()
    character used to separate positive and negative subpatterns in a pattern.
    getPercent()
    character used for percent sign.
    getPerMill()
    character used for mille percent sign.
    getZeroDigit()
    character used for zero.
    hashCode()
    Override hashCode
    setDecimalSeparator(char)
    setDigit(char)
    setGroupingSeparator(char)
    setInfinity(String)
    setMinusSign(char)
    setNaN(String)
    setPatternSeparator(char)
    setPercent(char)
    setPerMill(char)
    setZeroDigit(char)

    Constructors

    DecimalFormatSymbols
     public DecimalFormatSymbols()
    
    Create a DecimalFormatSymbols object for the default locale.

    DecimalFormatSymbols
     public DecimalFormatSymbols(Locale locale)
    
    Create a DecimalFormatSymbols object for the given locale.


    Methods

    getZeroDigit
     public char getZeroDigit()
    
    character used for zero. Different for Arabic, etc.

    setZeroDigit
     public void setZeroDigit(char zeroDigit)
    
    getGroupingSeparator
     public char getGroupingSeparator()
    
    character used for thousands separator. Different for French, etc.

    setGroupingSeparator
     public void setGroupingSeparator(char groupingSeparator)
    
    getDecimalSeparator
     public char getDecimalSeparator()
    
    character used for decimal sign. Different for French, etc.

    setDecimalSeparator
     public void setDecimalSeparator(char decimalSeparator)
    
    getPerMill
     public char getPerMill()
    
    character used for mille percent sign. Different for Arabic, etc.

    setPerMill
     public void setPerMill(char perMill)
    
    getPercent
     public char getPercent()
    
    character used for percent sign. Different for Arabic, etc.

    setPercent
     public void setPercent(char percent)
    
    getDigit
     public char getDigit()
    
    character used for a digit in a pattern.

    setDigit
     public void setDigit(char digit)
    
    getPatternSeparator
     public char getPatternSeparator()
    
    character used to separate positive and negative subpatterns in a pattern.

    setPatternSeparator
     public void setPatternSeparator(char patternSeparator)
    
    getInfinity
     public String getInfinity()
    
    character used to represent infinity. Almost always left unchanged.

    setInfinity
     public void setInfinity(String infinity)
    
    getNaN
     public String getNaN()
    
    character used to represent NaN. Almost always left unchanged.

    setNaN
     public void setNaN(String NaN)
    
    getMinusSign
     public char getMinusSign()
    
    character used to represent minus sign. If no explicit negative format is specified, one is formed by prefixing minusSign to the positive format.

    setMinusSign
     public void setMinusSign(char minusSign)
    
    clone
     public Object clone()
    
    Standard override.

    Overrides:
    clone in class Object
    equals
     public boolean equals(Object obj)
    
    Override equals

    Overrides:
    equals in class Object
    hashCode
     public int hashCode()
    
    Override hashCode

    Overrides:
    hashCode in class Object

    r  ky$ 7856$  ./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.decimalformatsymbols_mi.htmt$$ Class java.text.FieldPosition

    Class java.text.FieldPosition

    java.lang.Object
       |
       +----java.text.FieldPosition
    

    public class FieldPosition
    extends Object

    FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted output. Fields are identified by constants, whose names typically end with _FIELD, defined in the various subclasses of Format. See ERA_FIELD and its friends in DateFormat for an example.

    FieldPosition keeps track of the position of the field within the formatted output with two indices: the index of the first character of the field and the index of the last character of the field.

    One version of the format method in the various Format classes requires a FieldPosition object as an argument. You use this format method to perform partial formatting or to get information about the formatted output (such as the position of a field).

    See Also:
    Format

    Constructor Index

    FieldPosition(int)
    Creates a FieldPosition object for the given field.

    Method Index

    getBeginIndex()
    Retrieve the index of the first character in the requested field.
    getEndIndex()
    Retrieve the index of the character following the last character in the requested field.
    getField()
    Retrieve the field identifier.

    Constructors

    FieldPosition
     public FieldPosition(int field)
    
    Creates a FieldPosition object for the given field. Fields are identified by constants, whose names typically end with _FIELD, in the various subclasses of Format.

    See Also:
    INTEGER_FIELD, FRACTION_FIELD, YEAR_FIELD, MONTH_FIELD

    Methods

    getField
     public int getField()
    
    Retrieve the field identifier.

    getBeginIndex
     public int getBeginIndex()
    
    Retrieve the index of the first character in the requested field.

    getEndIndex
     public int getEndIndex()
    
    Retrieve the index of the character following the last character in the requested field.


     k(|$7856$`>./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.fieldposition_mi.htm$$ Class java.text.Format

    Class java.text.Format

    java.lang.Object
       |
       +----java.text.Format
    

    public abstract class Format
    extends Object
    implements Serializable, Cloneable
    super class of:
    DateFormat, MessageFormat, NumberFormat

    Format is an abstract base class for formatting locale-sensitive information such as dates, messages, and numbers.

    Format defines the programming interface for formatting locale-sensitive objects into Strings (the format method) and for parsing Strings back into objects (the parseObject method). Any String formatted by format is guaranteed to be parseable by parseObject.

    If formatting is unsuccessful because the Format object cannot format the type of object specified, format throws an IllegalArgumentException. Otherwise, if there is something illformed about the object, format returns the Unicode replacement character \\uFFFD.

    If there is no match when parsing, parseObject(String) throws a ParseException, and parseObject(String, ParsePosition) leaves the ParsePosition index member unchanged and returns null.

    Subclassing: The JDK provides three concrete subclasses of Format-- DateFormat, MessageFormat, and NumberFormat--for formatting dates, messages, and numbers, respectively.

    Concrete subclasses must implement these two methods:

    1. format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
    2. parseObject (String source, ParsePosition pos)

    Most subclasses will also implement the following two methods:

    1. getInstance for getting a useful format object appropriate for the current locale
    2. getInstance(Locale) for getting a useful format object appropriate for the specified locale
    In addition, some subclasses may also choose to implement other getXxxxInstance methods for more specialized control. For example, the NumberFormat class provides getPercentInstance and getCurrencyInstance methods for getting specialized number formatters.

    Subclasses of Format that allow programmers to create objects for locales (with getInstance(Locale) for example) must also implement the following class method:

     public static Locale[] getAvailableLocales()
     

    And finally subclasses may define a set of constants to identify the various fields in the formatted output. These constants are used to create a FieldPosition object which identifies what information is contained in the field and its position in the formatted result. These constants should be named item_FIELD where item identifies the field. For examples of these constants, see ERA_FIELD and its friends in DateFormat.

    See Also:
    ParsePosition, FieldPosition, NumberFormat, DateFormat, MessageFormat

    Constructor Index

    Format()

    Method Index

    clone()
    Creates a new object of the same class as this object.
    format(Object)
    Formats an object to produce a string.
    format(Object, StringBuffer, FieldPosition)
    Formats an object to produce a string.
    parseObject(String)
    Parses a string to produce an object.
    parseObject(String, ParsePosition)
    Parses a string to produce an object.

    Constructors

    Format
     public Format()
    

    Methods

    format
     public final String format(Object obj)
    
    Formats an object to produce a string.

    Subclasses will override the StringBuffer version of format.

    Parameters:
    obj - The object to format
    Returns:
    Formatted string.
    Throws: IllegalArgumentException
    when the Format cannot format the type of object.
    See Also:
    MessageFormat, format
    format
     public abstract StringBuffer format(Object obj,
                                         StringBuffer toAppendTo,
                                         FieldPosition pos)
    
    Formats an object to produce a string. Subclasses will implement for particular object, such as:
     StringBuffer format (Number obj, StringBuffer toAppendTo)
     Number parse (String str)
     
    These general routines allow polymorphic parsing and formatting for objects such as the MessageFormat.

    Parameters:
    obj - The object to format
    toAppendTo - where the text is to be appended
    status - On input: an alignment field, if desired. On output: the offsets of the alignment field.
    Returns:
    the value passed in as toAppendTo (this allows chaining, as with StringBuffer.append())
    Throws: IllegalArgumentException
    when the Format cannot format the given object.
    See Also:
    MessageFormat, FieldPosition
    parseObject
     public abstract Object parseObject(String source,
                                        ParsePosition status)
    
    Parses a string to produce an object. Subclasses will typically implement for particular object, such as:
           String format (Number obj);
           String format (long obj);
           String format (double obj);
           Number parse (String str);
     

    Parameters:
    ParsePosition - Input-Output parameter.

    Before calling, set status.index to the offset you want to start parsing at in the source. After calling, status.index is the end of the text you parsed. If error occurs, index is unchanged.

    When parsing, leading whitespace is discarded (with successful parse), while trailing whitespace is left as is.

    Example: Parsing "_12_xy" (where _ represents a space) for a number, with index == 0 will result in the number 12, with status.index updated to 3 (just before the second space). Parsing a second time will result in a ParseException since "xy" is not a number, and leave index at 3.

    Subclasses will typically supply specific parse methods that return different types of values. Since methods can't overload on return types, these will typically be named "parse", while this polymorphic method will always be called parseObject. Any parse method that does not take a status should throw ParseException when no text in the required format is at the start position.

    Returns:
    Object parsed from string. In case of error, returns null.
    See Also:
    ParsePosition
    parseObject
     public Object parseObject(String source) throws ParseException
    
    Parses a string to produce an object.

    Throws: ParseException
    if the specified string is invalid.
    clone
     public Object clone()
    
    Creates a new object of the same class as this object.

    Overrides:
    clone in class Object

     k~$7856$`./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.format_mi.htm$$ Class java.text.ParseException

    Class java.text.ParseException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.text.ParseException
    

    public class ParseException
    extends Exception

    Signals that an error has been has been reached unexpectedly while parsing.

    See Also:
    Exception, Format, FieldPosition

    Constructor Index

    ParseException(String, int)
    Constructs a ParseException with the specified detail message and offset.

    Method Index

    getErrorOffset()
    Returns the position where the error was found.

    Constructors

    ParseException
     public ParseException(String s,
                           int errorOffset)
    
    Constructs a ParseException with the specified detail message and offset. A detail message is a String that describes this particular exception.

    Parameters:
    s - the detail message
    errorOffset - the position where the error is found while parsing.

    Methods

    getErrorOffset
     public int getErrorOffset()
    
    Returns the position where the error was found.


    umber kJ$7:56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.parseexception_mi.htm$$ Class java.text.ParsePosition

    Class java.text.ParsePosition

    java.lang.Object
       |
       +----java.text.ParsePosition
    

    public class ParsePosition
    extends Object

    ParsePosition is a simple class used by Format and its subclasses to keep track of the current position during parsing. The parseObject method in the various Format classes requires a ParsePosition object as an argument.

    By design, as you parse through a string with different formats, you can use the same ParsePosition, since the index parameter records the current position.

    See Also:
    Format

    Constructor Index

    ParsePosition(int)
    Create a new ParsePosition with the given initial index.

    Method Index

    getIndex()
    Retrieve the current parse position.
    setIndex(int)
    Set the current parse position.

    Constructors

    ParsePosition
     public ParsePosition(int index)
    
    Create a new ParsePosition with the given initial index.


    Methods

    getIndex
     public int getIndex()
    
    Retrieve the current parse position. On input to a parse method, this is the index of the character at which parsing will begin; on output, it is the index of the character following the last character parsed.

    setIndex
     public void setIndex(int index)
    
    Set the current parse position.


    .text k$17:56$`~ 1./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.parseposition_mi.htm$$ Class java.text.StringCharacterIterator

    Class java.text.StringCharacterIterator

    java.lang.Object
       |
       +----java.text.StringCharacterIterator
    

    public final class StringCharacterIterator
    extends Object
    implements CharacterIterator

    StringCharacterIterator implements the CharacterIterater protocol for a String. The StringCharacterIterator class iterates over the entire String.

    Examples:

    Traverse the text from start to finish

     public void traverseForward(CharacterIterator iter) {
         for (char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
             processChar(c);
         }
     }
     
    Traverse the text backwards, from end to start
     public void traverseBackward(CharacterIterator iter) {
         for (char c = iter.last(); c != CharacterIterator.DONE; c = iter.prev()) {
             processChar(c);
         }
     }
     
    Traverse both forward and backward from a given position in the text.
     public void traverseOut(CharacterIterator iter, int pos) {
         for (char c = iter.setIndex(pos);
              c != CharacterIterator.DONE && notBoundary(c);
              c = iter.next()) {}
         int end = iter.getIndex();
         for (char c = iter.setIndex(pos);
              c != CharacterIterator.DONE && notBoundary(c);
              c = iter.prev()) {}
         int start = iter.getIndex();
         processSection(iter.getText.subString(start,end);
     }
     


    Constructor Index

    StringCharacterIterator(String)
    Construct an iterator with an initial index of 0.
    StringCharacterIterator(String, int)
    Construct an iterator with the specified initial index.
    StringCharacterIterator(String, int, int, int)
    Construct an iterator over the given range of the given string, with the index set at the specified position.

    Method Index

    clone()
    Create a copy of this boundary
    current()
    Get the character at the current position (as returned by getIndex()).
    equals(Object)
    Compares the equality of two StringCharacterIterator objects.
    first()
    Set the position to getBeginIndex() and return the character at that position.
    getBeginIndex()
    Return the start index of the text.
    getEndIndex()
    Return the end index of the text.
    getIndex()
    Return the current index.
    hashCode()
    Compute a hashcode for this enumeration
    last()
    Set the position to getEndIndex() and return the character at that position.
    next()
    Increment the iterator's index by one and return the character at the new index.
    previous()
    Decrement the iterator's index by one and return the character at the new index.
    setIndex(int)
    Set the position to specified position in the text and return that character.

    Constructors

    StringCharacterIterator
     public StringCharacterIterator(String text)
    
    Construct an iterator with an initial index of 0.

    StringCharacterIterator
     public StringCharacterIterator(String text,
                                    int pos)
    
    Construct an iterator with the specified initial index.

    Parameters:
    text - The String to be iterated over
    pos - Initial iterator position
    StringCharacterIterator
     public StringCharacterIterator(String text,
                                    int begin,
                                    int end,
                                    int pos)
    
    Construct an iterator over the given range of the given string, with the index set at the specified position.

    Parameters:
    text - The String to be iterated over
    begin - Index of the first character
    end - Index of the character following the last character
    pos - Initial iterator position

    Methods

    first
     public char first()
    
    Set the position to getBeginIndex() and return the character at that position.

    last
     public char last()
    
    Set the position to getEndIndex() and return the character at that position.

    setIndex
     public char setIndex(int p)
    
    Set the position to specified position in the text and return that character.

    current
     public char current()
    
    Get the character at the current position (as returned by getIndex()).

    Returns:
    the character at the current position or DONE if the current position is off the end of the text.
    next
     public char next()
    
    Increment the iterator's index by one and return the character at the new index. If the resulting index is greater or equal to getEndIndex(), the current index is reset to getEndIndex() and a value of DONE is returned.

    Returns:
    the character at the new position or DONE if the current position is off the end of the text.
    previous
     public char previous()
    
    Decrement the iterator's index by one and return the character at the new index. If the resulting index is less than getBeginIndex(), the current index is reset to getBeginIndex() and a value of DONE is returned.

    Returns:
    the character at the new position or DONE if the current position is off the end of the text.
    getBeginIndex
     public int getBeginIndex()
    
    Return the start index of the text.

    Returns:
    the index at which the text begins.
    getEndIndex
     public int getEndIndex()
    
    Return the end index of the text. This index is the index of the first character following the end of the text.

    Returns:
    the index at which the text end.
    getIndex
     public int getIndex()
    
    Return the current index.

    Returns:
    the current index.
    equals
     public boolean equals(Object obj)
    
    Compares the equality of two StringCharacterIterator objects.

    Parameters:
    obj - the StringCharacterIterator object to be compared with.
    Returns:
    true if the given obj is the same as this StringCharacterIterator object; false otherwise.
    Overrides:
    equals in class Object
    hashCode
     public int hashCode()
    
    Compute a hashcode for this enumeration

    Returns:
    A hash code
    Overrides:
    hashCode in class Object
    clone
     public Object clone()
    
    Create a copy of this boundary

    Returns:
    A copy of this
    Overrides:
    clone in class Object

     kp$7:56$@\!./usr/IBMVJava/html/enterp/en_US/jdkref/java.text.stringcharacteriterator_mi.htmm$$ Class java.util.BitSet

    Class java.util.BitSet

    java.lang.Object
       |
       +----java.util.BitSet
    

    public final class BitSet
    extends Object
    implements Cloneable, Serializable

    A set of bits. The set automatically grows as more bits are needed.


    Constructor Index

    BitSet()
    Creates an empty set.
    BitSet(int)
    Creates an empty set with the specified size.

    Method Index

    and(BitSet)
    Logically ANDs this bit set with the specified set of bits.
    clear(int)
    Clears a bit.
    clone()
    Clones the BitSet.
    equals(Object)
    Compares this object against the specified object.
    get(int)
    Gets a bit.
    hashCode()
    Gets the hashcode.
    or(BitSet)
    Logically ORs this bit set with the specified set of bits.
    set(int)
    Sets a bit.
    size()
    Calculates and returns the set's size in bits.
    toString()
    Converts the BitSet to a String.
    xor(BitSet)
    Logically XORs this bit set with the specified set of bits.

    Constructors

    BitSet
     public BitSet()
    
    Creates an empty set.

    BitSet
     public BitSet(int nbits)
    
    Creates an empty set with the specified size.

    Parameters:
    nbits - the size of the set

    Methods

    set
     public void set(int bit)
    
    Sets a bit.

    Parameters:
    bit - the bit to be set
    clear
     public void clear(int bit)
    
    Clears a bit.

    Parameters:
    bit - the bit to be cleared
    get
     public boolean get(int bit)
    
    Gets a bit.

    Parameters:
    bit - the bit to be gotten
    and
     public void and(BitSet set)
    
    Logically ANDs this bit set with the specified set of bits.

    Parameters:
    set - the bit set to be ANDed with
    or
     public void or(BitSet set)
    
    Logically ORs this bit set with the specified set of bits.

    Parameters:
    set - the bit set to be ORed with
    xor
     public void xor(BitSet set)
    
    Logically XORs this bit set with the specified set of bits.

    Parameters:
    set - the bit set to be XORed with
    hashCode
     public int hashCode()
    
    Gets the hashcode.

    Overrides:
    hashCode in class Object
    size
     public int size()
    
    Calculates and returns the set's size in bits. The maximum element in the set is the size - 1st element.

    equals
     public boolean equals(Object obj)
    
    Compares this object against the specified object.

    Parameters:
    obj - the object to compare with
    Returns:
    true if the objects are the same; false otherwise.
    Overrides:
    equals in class Object
    clone
     public Object clone()
    
    Clones the BitSet.

    Overrides:
    clone in class Object
    toString
     public String toString()
    
    Converts the BitSet to a String.

    Overrides:
    toString in class Object

     kPI$Y7:56$P;#Y./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.bitset_mi.htm$$ Class java.util.Dictionary

    Class java.util.Dictionary

    java.lang.Object
       |
       +----java.util.Dictionary
    

    public abstract class Dictionary
    extends Object
    super class of:
    Hashtable

    The Dictionary class is the abstract parent of any class, such as Hashtable, which maps keys to values. Any non-null object can be used as a key and as a value.

    As a rule, the equals method should be used by implementations of this class to decide if two keys are the same.

    Since:
    JDK1.0
    See Also:
    equals, hashCode, Hashtable

    Constructor Index

    Dictionary()

    Method Index

    elements()
    Returns an enumeration of the values in this dictionary.
    get(Object)
    Returns the value to which the key is mapped in this dictionary.
    isEmpty()
    Tests if this dictionary maps no keys to value.
    keys()
    Returns an enumeration of the keys in this dictionary.
    put(Object, Object)
    Maps the specified key to the specified value in this dictionary.
    remove(Object)
    Removes the key (and its corresponding value) from this dictionary.
    size()
    Returns the number of keys in this dictionary.

    Constructors

    Dictionary
     public Dictionary()
    

    Methods

    size
     public abstract int size()
    
    Returns the number of keys in this dictionary.

    Returns:
    the number of keys in this dictionary.
    isEmpty
     public abstract boolean isEmpty()
    
    Tests if this dictionary maps no keys to value.

    Returns:
    true if this dictionary maps no keys to values; false otherwise.
    keys
     public abstract Enumeration keys()
    
    Returns an enumeration of the keys in this dictionary.

    Returns:
    an enumeration of the keys in this dictionary.
    See Also:
    elements, Enumeration
    elements
     public abstract Enumeration elements()
    
    Returns an enumeration of the values in this dictionary. the Enumeration methods on the returned object to fetch the elements sequentially.

    Returns:
    an enumeration of the values in this dictionary.
    See Also:
    keys, Enumeration
    get
     public abstract Object get(Object key)
    
    Returns the value to which the key is mapped in this dictionary.

    Parameters:
    key - a key in this dictionary. null if the key is not mapped to any value in this dictionary.
    Returns:
    the value to which the key is mapped in this dictionary;
    See Also:
    put
    put
     public abstract Object put(Object key,
                                Object value)
    
    Maps the specified key to the specified value in this dictionary. Neither the key nor the value can be null.

    The value can be retrieved by calling the get method with a key that is equal to the original key.

    Parameters:
    key - the hashtable key.
    value - the value.
    Returns:
    the previous value to which the key was mapped in this dictionary, or null if the key did not have a previous mapping.
    Throws: NullPointerException
    if the key or value is null.
    See Also:
    equals, get
    remove
     public abstract Object remove(Object key)
    
    Removes the key (and its corresponding value) from this dictionary. This method does nothing if the key is not in this dictionary.

    Parameters:
    key - the key that needs to be removed.
    Returns:
    the value to which the key had been mapped in this dictionary, or null if the key did not have a mapping.

    rns an k$7<56$`>!./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.dictionary_mi.htmato$$ Class java.util.EmptyStackException

    Class java.util.EmptyStackException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.util.EmptyStackException
    

    public class EmptyStackException
    extends RuntimeException

    Thrown by methods in the Stack class to indicate that the stack is empty.

    Since:
    JDK1.0
    See Also:
    Stack

    Constructor Index

    EmptyStackException()
    Constructs a new EmptyStackException with no detail message.

    Constructors

    EmptyStackException
     public EmptyStackException()
    
    Constructs a new EmptyStackException with no detail message.


    /  k,T$t7<56$pt./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.emptystackexception_mi.htmtm$$ Interface java.util.Enumeration

    Interface java.util.Enumeration

    public interface Enumeration

    An object that implements the Enumeration interface generates a series of elements, one at a time. Successive calls to the nextElement method return successive elements of the series.

    For example, to print all elements of a vector v:

         for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
             System.out.println(e.nextElement());
    }

    Methods are provided to enumerate through the elements of a vector, the keys of a hashtable, and the values in a hashtable. Enumerations are also used to specify the input streams to a SequenceInputStream.

    Since:
    JDK1.0
    See Also:
    SequenceInputStream, nextElement, Hashtable, elements, keys, Vector, elements

    Method Index

    hasMoreElements()
    Tests if this enumeration contains more elements.
    nextElement()
    Returns the next element of this enumeration.

    Methods

    hasMoreElements
     public abstract boolean hasMoreElements()
    
    Tests if this enumeration contains more elements.

    Returns:
    true if this enumeration contains more elements; false otherwise.
    nextElement
     public abstract Object nextElement()
    
    Returns the next element of this enumeration.

    Returns:
    the next element of this enumeration.
    Throws: NoSuchElementException
    if no more elements exist.

     k$7<56$p./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.enumeration_mi.htmmi$$ Interface java.util.EventListener

    Interface java.util.EventListener

    public interface EventListener

    A tagging interface that all event listener interfaces must extend


    Class java.util.EventObject

    Class java.util.EventObject

    java.lang.Object
       |
       +----java.util.EventObject
    

    public class EventObject
    extends Object
    implements Serializable
    super class of:
    AWTEvent, PropertyChangeEvent


    Variable Index

    source

    Constructor Index

    EventObject(Object)

    Method Index

    getSource()
    toString()
    Returns a string representation of the object.

    Variables

    source
     protected transient Object source
    

    Constructors

    EventObject
     public EventObject(Object source)
    

    Methods

    getSource
     public Object getSource()
    
    toString
     public String toString()
    
    Returns a string representation of the object.

    Overrides:
    toString in class Object

     k$7<56$`>#./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.eventobject_mi.htm$$ Class java.util.Hashtable

    Class java.util.Hashtable

    java.lang.Object
       |
       +----java.util.Dictionary
               |
               +----java.util.Hashtable
    

    public class Hashtable
    extends Dictionary
    implements Cloneable, Serializable
    super class of:
    Properties

    This class implements a hashtable, which maps keys to values. Any non-null object can be used as a key or as a value.

    To successfully store and retrieve objects from a hashtable, the objects used as keys must implement the hashCode method and the equals method.

    An instance of Hashtable has two parameters that affect its efficiency: its capacity and its load factor. The load factor should be between 0.0 and 1.0. When the number of entries in the hashtable exceeds the product of the load factor and the current capacity, the capacity is increased by calling the rehash method. Larger load factors use memory more efficiently, at the expense of larger expected time per lookup.

    If many entries are to be made into a Hashtable, creating it with a sufficiently large capacity may allow the entries to be inserted more efficiently than letting it perform automatic rehashing as needed to grow the table.

    This example creates a hashtable of numbers. It uses the names of the numbers as keys:

         Hashtable numbers = new Hashtable();
         numbers.put("one", new Integer(1));
         numbers.put("two", new Integer(2));
         numbers.put("three", new Integer(3));
     

    To retrieve a number, use the following code:

         Integer n = (Integer)numbers.get("two");
         if (n != null) {
             System.out.println("two = " + n);
         }
     

    Since:
    JDK1.0
    See Also:
    equals, hashCode, rehash

    Constructor Index

    Hashtable()
    Constructs a new, empty hashtable with a default capacity and load factor.
    Hashtable(int)
    Constructs a new, empty hashtable with the specified initial capacity and default load factor.
    Hashtable(int, float)
    Constructs a new, empty hashtable with the specified initial capacity and the specified load factor.

    Method Index

    clear()
    Clears this hashtable so that it contains no keys.
    clone()
    Creates a shallow copy of this hashtable.
    contains(Object)
    Tests if some key maps into the specified value in this hashtable.
    containsKey(Object)
    Tests if the specified object is a key in this hashtable.
    elements()
    Returns an enumeration of the values in this hashtable.
    get(Object)
    Returns the value to which the specified key is mapped in this hashtable.
    isEmpty()
    Tests if this hashtable maps no keys to values.
    keys()
    Returns an enumeration of the keys in this hashtable.
    put(Object, Object)
    Maps the specified key to the specified value in this hashtable.
    rehash()
    Rehashes the contents of the hashtable into a hashtable with a larger capacity.
    remove(Object)
    Removes the key (and its corresponding value) from this hashtable.
    size()
    Returns the number of keys in this hashtable.
    toString()
    Returns a rather long string representation of this hashtable.

    Constructors

    Hashtable
     public Hashtable(int initialCapacity,
                      float loadFactor)
    
    Constructs a new, empty hashtable with the specified initial capacity and the specified load factor.

    Parameters:
    initialCapacity - the initial capacity of the hashtable.
    loadFactor - a number between 0.0 and 1.0.
    Throws: IllegalArgumentException
    if the initial capacity is less than or equal to zero, or if the load factor is less than or equal to zero.
    Hashtable
     public Hashtable(int initialCapacity)
    
    Constructs a new, empty hashtable with the specified initial capacity and default load factor.

    Parameters:
    initialCapacity - the initial capacity of the hashtable.
    Hashtable
     public Hashtable()
    
    Constructs a new, empty hashtable with a default capacity and load factor.


    Methods

    size
     public int size()
    
    Returns the number of keys in this hashtable.

    Returns:
    the number of keys in this hashtable.
    Overrides:
    size in class Dictionary
    isEmpty
     public boolean isEmpty()
    
    Tests if this hashtable maps no keys to values.

    Returns:
    true if this hashtable maps no keys to values; false otherwise.
    Overrides:
    isEmpty in class Dictionary
    keys
     public synchronized Enumeration keys()
    
    Returns an enumeration of the keys in this hashtable.

    Returns:
    an enumeration of the keys in this hashtable.
    Overrides:
    keys in class Dictionary
    See Also:
    Enumeration, elements
    elements
     public synchronized Enumeration elements()
    
    Returns an enumeration of the values in this hashtable. Use the Enumeration methods on the returned object to fetch the elements sequentially.

    Returns:
    an enumeration of the values in this hashtable.
    Overrides:
    elements in class Dictionary
    See Also:
    Enumeration, keys
    contains
     public synchronized boolean contains(Object value)
    
    Tests if some key maps into the specified value in this hashtable. This operation is more expensive than the containsKey method.

    Parameters:
    value - a value to search for.
    Returns:
    true if some key maps to the value argument in this hashtable; false otherwise.
    Throws: NullPointerException
    if the value is null.
    See Also:
    containsKey
    containsKey
     public synchronized boolean containsKey(Object key)
    
    Tests if the specified object is a key in this hashtable.

    Parameters:
    key - possible key.
    Returns:
    true if the specified object is a key in this hashtable; false otherwise.
    See Also:
    contains
    get
     public synchronized Object get(Object key)
    
    Returns the value to which the specified key is mapped in this hashtable.

    Parameters:
    key - a key in the hashtable.
    Returns:
    the value to which the key is mapped in this hashtable; null if the key is not mapped to any value in this hashtable.
    Overrides:
    get in class Dictionary
    See Also:
    put
    rehash
     protected void rehash()
    
    Rehashes the contents of the hashtable into a hashtable with a larger capacity. This method is called automatically when the number of keys in the hashtable exceeds this hashtable's capacity and load factor.

    put
     public synchronized Object put(Object key,
                                    Object value)
    
    Maps the specified key to the specified value in this hashtable. Neither the key nor the value can be null.

    The value can be retrieved by calling the get method with a key that is equal to the original key.

    Parameters:
    key - the hashtable key.
    value - the value.
    Returns:
    the previous value of the specified key in this hashtable, or null if it did not have one.
    Throws: NullPointerException
    if the key or value is null.
    Overrides:
    put in class Dictionary
    See Also:
    equals, get
    remove
     public synchronized Object remove(Object key)
    
    Removes the key (and its corresponding value) from this hashtable. This method does nothing if the key is not in the hashtable.

    Parameters:
    key - the key that needs to be removed.
    Returns:
    the value to which the key had been mapped in this hashtable, or null if the key did not have a mapping.
    Overrides:
    remove in class Dictionary
    clear
     public synchronized void clear()
    
    Clears this hashtable so that it contains no keys.

    clone
     public synchronized Object clone()
    
    Creates a shallow copy of this hashtable. The keys and values themselves are not cloned. This is a relatively expensive operation.

    Returns:
    a clone of the hashtable.
    Overrides:
    clone in class Object
    toString
     public synchronized String toString()
    
    Returns a rather long string representation of this hashtable.

    Returns:
    a string representation of this hashtable.
    Overrides:
    toString in class Object

    s m kE$7>56$@s$./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.hashtable_mi.htmmi.h$$ Class java.util.ListResourceBundle

    Class java.util.ListResourceBundle

    java.lang.Object
       |
       +----java.util.ResourceBundle
               |
               +----java.util.ListResourceBundle
    

    public abstract class ListResourceBundle
    extends ResourceBundle

    ListResourceBundle is a abstract subclass of ResourceBundle that manages resources for a locale in a convenient and easy to use list. See ResourceBundle for more information about resource bundles in general.

    Subclasses must override getContents and provide an array, where each item in the array is a pair of objects. The first element of each pair is a String key, and the second is the value associated with that key.

    In the following example, the keys are of the form "s1"... The actual keys are entirely up to your choice, so long as they are the same as the keys you use in your program to retrieve the objects from the bundle. Keys are case-sensitive. MyResource is the default version of the bundle family, and MyResource_fr is the french version:

     //====================
     class MyResource extends ListResourceBundle {
      public Object[][] getContents() {
          return contents;
      }
      static final Object[][] contents = {
      // LOCALIZE THIS
          {"s1", "3"},        // starting value in choice field
          {"s2", "MyDisk"},    // starting value in string field
          {"s3", "3 Mar 96"}, // starting value in date field
          {"s4", "The disk '{1}' contained {0} on {2}."}, // initial pattern
          {"s5", "0"},        // first choice number
          {"s6", "no files"}, // first choice value
          {"s7", "1"},        // second choice number
          {"s8", "one file"}, // second choice value
          {"s9", "2"},        // third choice number
          {"s10", "{0}|3 files"}, // third choice value
          {"s11", "format threw an exception: {0}"},  // generic exception message
          {"s12", "ERROR"},   // what to show in field in case of error
          {"s14", "Result"},  // label for formatted stuff
          {"s13", "Dialog"},  // standard font
          {"s15", "Pattern"}, // label for standard pattern
          {"s16", new Dimension(1,5)} // real object, not just string
      // END OF MATERIAL TO LOCALIZE
      };
     }
     //====================
     class MyResource_fr  extends ListResourceBundle {
      public Object[][] getContents() {
          return contents;
    }
      static final Object[][] contents = {
      // LOCALIZE THIS
          {"s1", "3"},        // starting value in choice field
          {"s2", "MonDisk"},  // starting value in string field
          {"s3", "3 Mar 96"}, // starting value in date field
          {"s4", "Le disk '{1}' a {0} a {2}."},   // initial pattern
          {"s5", "0"},        // first choice number
          {"s6", "pas de files"}, // first choice value
          {"s7", "1"},        // second choice number
          {"s8", "une file"}, // second choice value
          {"s9", "2"},        // third choice number
          {"s10", "{0}|3 files"}, // third choice value
          {"s11", "Le format a jete une exception: {0}"}, // generic exception message
          {"s12", "ERROR"},   // what to show in field in case of error
          {"s14", "Resulte"}, // label for formatted stuff
          {"s13", "Dialogue"},    // standard font
          {"s15", "Pattern"}, // label for standard pattern
          {"s16", new Dimension(1,3)} // real object, not just string
      // END OF MATERIAL TO LOCALIZE
      };
     }
     

    See Also:
    ResourceBundle, PropertyResourceBundle

    Constructor Index

    ListResourceBundle()

    Method Index

    getContents()
    See class description.
    getKeys()
    Implementation of ResourceBundle.getKeys.
    handleGetObject(String)
    Override of ResourceBundle, same semantics

    Constructors

    ListResourceBundle
     public ListResourceBundle()
    

    Methods

    handleGetObject
     public final Object handleGetObject(String key)
    
    Override of ResourceBundle, same semantics

    Overrides:
    handleGetObject in class ResourceBundle
    getKeys
     public Enumeration getKeys()
    
    Implementation of ResourceBundle.getKeys.

    Overrides:
    getKeys in class ResourceBundle
    getContents
     protected abstract Object[][] getContents()
    
    See class description.


    or kֽ$7>56$`z$./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.listresourcebundle_mi.htmtm$$ Class java.util.MissingResourceException

    Class java.util.MissingResourceException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.util.MissingResourceException
    

    public class MissingResourceException
    extends RuntimeException

    Signals that a resource is missing.

    See Also:
    Exception, ResourceBundle

    Constructor Index

    MissingResourceException(String, String, String)
    Constructs a MissingResourceException with the specified information.

    Method Index

    getClassName()
    Gets parameter passed by constructor.
    getKey()
    Gets parameter passed by constructor.

    Constructors

    MissingResourceException
     public MissingResourceException(String s,
                                     String className,
                                     String key)
    
    Constructs a MissingResourceException with the specified information. A detail message is a String that describes this particular exception.

    Parameters:
    s - the detail message
    classname - the name of the resource class
    key - the key for the missing resource.

    Methods

    getClassName
     public String getClassName()
    
    Gets parameter passed by constructor.

    getKey
     public String getKey()
    
    Gets parameter passed by constructor.


    ml  k$7>56$`$./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.missingresourceexception_mi.htmm$$ Class java.util.NoSuchElementException

    Class java.util.NoSuchElementException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----java.util.NoSuchElementException
    

    public class NoSuchElementException
    extends RuntimeException

    Thrown by the nextElement method of an Enumeration to indicate that there are no more elements in the enumeration.

    Since:
    JDK1.0
    See Also:
    Enumeration, nextElement

    Constructor Index

    NoSuchElementException()
    Constructs a NoSuchElementException with no detail message.
    NoSuchElementException(String)
    Constructs a NoSuchElementException with the specified detail message.

    Constructors

    NoSuchElementException
     public NoSuchElementException()
    
    Constructs a NoSuchElementException with no detail message.

    NoSuchElementException
     public NoSuchElementException(String s)
    
    Constructs a NoSuchElementException with the specified detail message.

    Parameters:
    s - the detail message.

    >  k\K$7@56$`7%./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.nosuchelementexception_mi.htm$$ Class java.util.Observable

    Class java.util.Observable

    java.lang.Object
       |
       +----java.util.Observable
    

    public class Observable
    extends Object

    This class represents an observable object, or "data" in the model-view paradigm. It can be subclassed to represent an object that the application wants to have observed.

    An observable object can have one or more observers. After an observable instance changes, an application calling the Observable's notifyObservers method causes all of its observers to be notified of the change by a call to their update method.

    Since:
    JDK1.0
    See Also:
    notifyObservers, notifyObservers, Observer, update

    Constructor Index

    Observable()
    Construct an Observable with zero Observers

    Method Index

    addObserver(Observer)
    Adds an observer to the set of observers for this object.
    clearChanged()
    Indicates that this object has no longer changed, or that it has already notified all of its observers of its most recent change.
    countObservers()
    Returns the number of observers of this object.
    deleteObserver(Observer)
    Deletes an observer from the set of observers of this object.
    deleteObservers()
    Clears the observer list so that this object no longer has any observers.
    hasChanged()
    Tests if this object has changed.
    notifyObservers()
    If this object has changed, as indicated by the hasChanged method, then notify all of its observers and then call the clearChanged method to indicate that this object has no longer changed.
    notifyObservers(Object)
    If this object has changed, as indicated by the hasChanged method, then notify all of its observers and then call the clearChanged method to indicate that this object has no longer changed.
    setChanged()
    Indicates that this object has changed.

    Constructors

    Observable
     public Observable()
    
    Construct an Observable with zero Observers


    Methods

    addObserver
     public synchronized void addObserver(Observer o)
    
    Adds an observer to the set of observers for this object.

    Parameters:
    o - an observer to be added.
    deleteObserver
     public synchronized void deleteObserver(Observer o)
    
    Deletes an observer from the set of observers of this object.

    Parameters:
    o - the observer to be deleted.
    notifyObservers
     public void notifyObservers()
    
    If this object has changed, as indicated by the hasChanged method, then notify all of its observers and then call the clearChanged method to indicate that this object has no longer changed.

    Each observer has its update method called with two arguments: this observable object and null.

    See Also:
    clearChanged, hasChanged, update
    notifyObservers
     public void notifyObservers(Object arg)
    
    If this object has changed, as indicated by the hasChanged method, then notify all of its observers and then call the clearChanged method to indicate that this object has no longer changed.

    Each observer has its update method called with two arguments: this observable object and the arg argument.

    Parameters:
    arg - any object.
    See Also:
    clearChanged, hasChanged, update
    deleteObservers
     public synchronized void deleteObservers()
    
    Clears the observer list so that this object no longer has any observers.

    setChanged
     protected synchronized void setChanged()
    
    Indicates that this object has changed.

    clearChanged
     protected synchronized void clearChanged()
    
    Indicates that this object has no longer changed, or that it has already notified all of its observers of its most recent change. This method is called automatically by the notifyObservers methods.

    See Also:
    notifyObservers, notifyObservers
    hasChanged
     public synchronized boolean hasChanged()
    
    Tests if this object has changed.

    Returns:
    true if the setChanged method has been called more recently than the clearChanged method on this object; false otherwise.
    See Also:
    clearChanged, setChanged
    countObservers
     public synchronized int countObservers()
    
    Returns the number of observers of this object.

    Returns:
    the number of observers of this object.

    /a> o kR$7@56$P<%./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.observable_mi.htmion$$ Interface java.util.Observer

    Interface java.util.Observer

    public interface Observer

    A class can implement the Observer interface when it wants to be informed of changes in observable objects.

    Since:
    JDK1.0
    See Also:
    Observable

    Method Index

    update(Observable, Object)
    This method is called whenever the observed object is changed.

    Methods

    update
     public abstract void update(Observable o,
                                 Object arg)
    
    This method is called whenever the observed object is changed. An application calls an observable object's notifyObservers method to have all the object's observers notified of the change.

    Parameters:
    o - the observable object.
    arg - an argument passed to the notifyObservers method.

    / kbĞ$w7@56$pw./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.observer_mi.htmion$$ Class java.util.Properties

    Class java.util.Properties

    java.lang.Object
       |
       +----java.util.Dictionary
               |
               +----java.util.Hashtable
                       |
                       +----java.util.Properties
    

    public class Properties
    extends Hashtable
    super class of:
    Provider

    The Properties class represents a persistent set of properties. The Properties can be saved to a stream or loaded from a stream. Each key and its corresponding value in the property list is a string.

    A property list can contain another property list as its "defaults"; this second property list is searched if the property key is not found in the original property list.


    Variable Index

    defaults
    A property list that contains default values for any keys not found in this property list.

    Constructor Index

    Properties()
    Creates an empty property list with no default values.
    Properties(Properties)
    Creates an empty property list with the specified defaults.

    Method Index

    getProperty(String)
    Searches for the property with the specified key in this property list.
    getProperty(String, String)
    Searches for the property with the specified key in this property list.
    list(PrintStream)
    Prints this property list out to the specified output stream.
    list(PrintWriter)
    Prints this property list out to the specified output stream.
    load(InputStream)
    Reads a property list from an input stream.
    propertyNames()
    Returns an enumeration of all the keys in this property list, including the keys in the default property list.
    save(OutputStream, String)
    Stores this property list to the specified output stream.

    Variables

    defaults
     protected Properties defaults
    
    A property list that contains default values for any keys not found in this property list.


    Constructors

    Properties
     public Properties()
    
    Creates an empty property list with no default values.

    Properties
     public Properties(Properties defaults)
    
    Creates an empty property list with the specified defaults.

    Parameters:
    defaults - the defaults.

    Methods

    load
     public synchronized void load(InputStream in) throws IOException
    
    Reads a property list from an input stream.

    Parameters:
    in - the input stream.
    Throws: IOException
    if an error occurred when reading from the input stream.
    save
     public synchronized void save(OutputStream out,
                                   String header)
    
    Stores this property list to the specified output stream. The string header is printed as a comment at the beginning of the stream.

    Parameters:
    out - an output stream.
    header - a description of the property list.
    getProperty
     public String getProperty(String key)
    
    Searches for the property with the specified key in this property list. If the key is not found in this property list, the default property list, and its defaults, recursively, are then checked. The method returns null if the property is not found.

    Parameters:
    key - the property key.
    Returns:
    the value in this property list with the specified key value.
    See Also:
    defaults
    getProperty
     public String getProperty(String key,
                               String defaultValue)
    
    Searches for the property with the specified key in this property list. If the key is not found in this property list, the default property list, and its defaults, recursively, are then checked. The method returns the default value argument if the property is not found.

    Parameters:
    key - the hashtable key.
    defaultValue - a default value.
    Returns:
    the value in this property list with the specified key value.
    See Also:
    defaults
    propertyNames
     public Enumeration propertyNames()
    
    Returns an enumeration of all the keys in this property list, including the keys in the default property list.

    Returns:
    an enumeration of all the keys in this property list, including the keys in the default property list.
    See Also:
    Enumeration, defaults
    list
     public void list(PrintStream out)
    
    Prints this property list out to the specified output stream. This method is useful for debugging.

    Parameters:
    out - an output stream.
    list
     public void list(PrintWriter out)
    
    Prints this property list out to the specified output stream. This method is useful for debugging.

    Parameters:
    out - an output stream.

    /a>  kOǞ$v7@56$Pw%v./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.properties_mi.htmion$$ Class java.util.PropertyResourceBundle

    Class java.util.PropertyResourceBundle

    java.lang.Object
       |
       +----java.util.ResourceBundle
               |
               +----java.util.PropertyResourceBundle
    

    public class PropertyResourceBundle
    extends ResourceBundle

    PropertyResourceBundle is an abstract subclass of ResourceBundle that manages resources for a locale using a set of static strings from a property file. See ResourceBundle for more information about resource bundles in general.

    The property file contains the keys that you use in your source code in calls to ResourceBundle.getString and similar methods, and their corresponding values, etc. The name of the property file indicates the resource bundle's family and locale.

    In the following example, the keys are of the form "s1"... The actual keys are entirely up to your choice, so long as they are the same as the keys you use in your program to retrieve the objects from the bundle. Keys are case-sensitive.

     s1=3
     s2=MeinDisk
     s3=3 Mar 96
     s4=Der disk '{1}' a {0} a {2}.
     s5=0
     s6=keine Datein
     s7=1
     s8=ein Datei
     s9=2
     s10={0}|3 Datein
     s11=Der Format worf ein Exception: {0}
     s12=ERROR
     s14=Resulte
     s13=Dialogue
     s15=Pattern
     s16=1,3
     

    See Also:
    ResourceBundle, ListResourceBundle

    Constructor Index

    PropertyResourceBundle(InputStream)
    Creates a property resource

    Method Index

    getKeys()
    Implementation of ResourceBundle.getKeys.
    handleGetObject(String)
    Override of ResourceBundle, same semantics

    Constructors

    PropertyResourceBundle
     public PropertyResourceBundle(InputStream stream) throws IOException
    
    Creates a property resource

    Parameters:
    file - property file to read from.

    Methods

    handleGetObject
     public Object handleGetObject(String key)
    
    Override of ResourceBundle, same semantics

    Overrides:
    handleGetObject in class ResourceBundle
    getKeys
     public Enumeration getKeys()
    
    Implementation of ResourceBundle.getKeys.

    Overrides:
    getKeys in class ResourceBundle

    Bundle kʞ$7@56$`}%./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.propertyresourcebundle_mi.htm$$ Class java.util.Random

    Class java.util.Random

    java.lang.Object
       |
       +----java.util.Random
    

    public class Random
    extends Object
    implements Serializable
    super class of:
    SecureRandom

    An instance of this class is used to generate a stream of pseudorandom numbers. The class uses a 48-bit seed, which is modified using a linear congruential formula. (See Donald Knuth, The Art of Computer Programming, Volume 2, Section 3.2.1.)

    If two instances of Random are created with the same seed, and the same sequence of method calls is made for each, they will generate and return identical sequences of numbers.

    Many applications will find the random method in class Math simpler to use.

    Since:
    JDK1.0
    See Also:
    random

    Constructor Index

    Random()
    Creates a new random number generator.
    Random(long)
    Creates a new random number generator using a single long seed.

    Method Index

    next(int)
    Generates the next pseudorandom number.
    nextBytes(byte[])
    Generates a user specified number of random bytes.
    nextDouble()
    Returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.
    nextFloat()
    Returns the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence.
    nextGaussian()
    Returns the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence.
    nextInt()
    Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.
    nextLong()
    Returns the next pseudorandom, uniformly distributed long value from this random number generator's sequence.
    setSeed(long)
    Sets the seed of this random number generator using a single long seed.

    Constructors

    Random
     public Random()
    
    Creates a new random number generator. Its seed is initialized to a value based on the current time.

    See Also:
    currentTimeMillis
    Random
     public Random(long seed)
    
    Creates a new random number generator using a single long seed.

    Parameters:
    seed - the initial seed.
    See Also:
    setSeed

    Methods

    setSeed
     public synchronized void setSeed(long seed)
    
    Sets the seed of this random number generator using a single long seed.

    Parameters:
    seed - the initial seed.
    next
     protected synchronized int next(int bits)
    
    Generates the next pseudorandom number. Subclass should override this, as this is used by all other methods.

    Parameters:
    bits - random bits
    Returns:
    the next pseudorandom value from this random number generator's sequence.
    nextBytes
     public void nextBytes(byte bytes[])
    
    Generates a user specified number of random bytes.

    nextInt
     public int nextInt()
    
    Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.

    Returns:
    the next pseudorandom, uniformly distributed int value from this random number generator's sequence.
    nextLong
     public long nextLong()
    
    Returns the next pseudorandom, uniformly distributed long value from this random number generator's sequence.

    Returns:
    the next pseudorandom, uniformly distributed long value from this random number generator's sequence.
    nextFloat
     public float nextFloat()
    
    Returns the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence.

    Returns:
    the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence.
    nextDouble
     public double nextDouble()
    
    Returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.

    Returns:
    the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.
    nextGaussian
     public synchronized double nextGaussian()
    
    Returns the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence.

    Returns:
    the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence.

    ( k̙͞$b7@56$P%b./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.random_mi.htm$$ Class java.util.Stack

    Class java.util.Stack

    java.lang.Object
       |
       +----java.util.Vector
               |
               +----java.util.Stack
    

    public class Stack
    extends Vector

    The Stack class represents a last-in-first-out (LIFO) stack of objects.


    Constructor Index

    Stack()

    Method Index

    empty()
    Tests if this stack is empty.
    peek()
    Looks at the object at the top of this stack without removing it from the stack.
    pop()
    Removes the object at the top of this stack and returns that object as the value of this function.
    push(Object)
    Pushes an item onto the top of this stack.
    search(Object)
    Returns where an object is on this stack.

    Constructors

    Stack
     public Stack()
    

    Methods

    push
     public Object push(Object item)
    
    Pushes an item onto the top of this stack.

    Parameters:
    item - the item to be pushed onto this stack.
    Returns:
    the item argument.
    pop
     public synchronized Object pop()
    
    Removes the object at the top of this stack and returns that object as the value of this function.

    Returns:
    The object at the top of this stack.
    Throws: EmptyStackException
    if this stack is empty.
    peek
     public synchronized Object peek()
    
    Looks at the object at the top of this stack without removing it from the stack.

    Returns:
    the object at the top of this stack.
    Throws: EmptyStackException
    if this stack is empty.
    empty
     public boolean empty()
    
    Tests if this stack is empty.

    Returns:
    true if this stack is empty; false otherwise.
    search
     public synchronized int search(Object o)
    
    Returns where an object is on this stack.

    Parameters:
    o - the desired object.
    Returns:
    the distance from the top of the stack where the object is] located; the return value -1 indicates that the object is not on the stack.

    href=" k/֞$7@56$`%./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.stack_mi.htm$$ Class java.util.StringTokenizer

    Class java.util.StringTokenizer

    java.lang.Object
       |
       +----java.util.StringTokenizer
    

    public class StringTokenizer
    extends Object
    implements Enumeration

    The string tokenizer class allows an application to break a string into tokens. The tokenization method is much simpler than the one used by the StreamTokenizer class. The StringTokenizer methods do not distinguish among identifiers, numbers, and quoted strings, nor do they recognize and skip comments.

    The set of delimiters (the characters that separate tokens) may be specified either at creation time or on a per-token basis.

    An instance of StringTokenizer behaves in one of two ways, depending on whether it was created with the returnTokens flag having the value true or false:

    • If the flag is false, delimiter characters serve to separate tokens. A token is a maximal sequence of consecutive characters that are not delimiters.
    • If the flag is true, delimiter characters are considered to be tokens. A token is either one delimiter character, or a maximal sequence of consecutive characters that are not delimiters.

    The following is one example of the use of the tokenizer. The code:

         StringTokenizer st = new StringTokenizer("this is a test");
         while (st.hasMoreTokens()) {
             println(st.nextToken());
         }
     

    prints the following output:

         this
         is
         a
         test
     

    Since:
    JDK1.0
    See Also:
    StreamTokenizer

    Constructor Index

    StringTokenizer(String)
    Constructs a string tokenizer for the specified string.
    StringTokenizer(String, String)
    Constructs a string tokenizer for the specified string.
    StringTokenizer(String, String, boolean)
    Constructs a string tokenizer for the specified string.

    Method Index

    countTokens()
    Calculates the number of times that this tokenizer's nextToken method can be called before it generates an exception.
    hasMoreElements()
    Returns the same value as the hasMoreTokens method.
    hasMoreTokens()
    Tests if there are more tokens available from this tokenizer's string.
    nextElement()
    Returns the same value as the nextToken method, except that its declared return value is Object rather than String.
    nextToken()
    Returns the next token from this string tokenizer.
    nextToken(String)
    Returns the next token in this string tokenizer's string.

    Constructors

    StringTokenizer
     public StringTokenizer(String str,
                            String delim,
                            boolean returnTokens)
    
    Constructs a string tokenizer for the specified string. The characters in the delim argument are the delimiters for separating tokens.

    If the returnTokens flag is true, then the delimiter characters are also returned as tokens. Each delimiter is returned as a string of length one. If the flag is false, the delimiter characters are skipped and only serve as separators between tokens.

    Parameters:
    str - a string to be parsed.
    delim - the delimiters.
    returnTokens - flag indicating whether to return the delimiters as tokens.
    StringTokenizer
     public StringTokenizer(String str,
                            String delim)
    
    Constructs a string tokenizer for the specified string. The characters in the delim argument are the delimiters for separating tokens.

    Parameters:
    str - a string to be parsed.
    delim - the delimiters.
    StringTokenizer
     public StringTokenizer(String str)
    
    Constructs a string tokenizer for the specified string. The tokenizer uses the default delimiter set, which is "\t\n\r": the space character, the tab character, the newline character, and the carriage-return character.

    Parameters:
    str - a string to be parsed.

    Methods

    hasMoreTokens
     public boolean hasMoreTokens()
    
    Tests if there are more tokens available from this tokenizer's string.

    Returns:
    true if there are more tokens available from this tokenizer's string; false otherwise.
    nextToken
     public String nextToken()
    
    Returns the next token from this string tokenizer.

    Returns:
    the next token from this string tokenizer.
    Throws: NoSuchElementException
    if there are no more tokens in this tokenizer's string.
    nextToken
     public String nextToken(String delim)
    
    Returns the next token in this string tokenizer's string. The new delimiter set remains the default after this call.

    Parameters:
    delim - the new delimiters.
    Returns:
    the next token, after switching to the new delimiter set.
    Throws: NoSuchElementException
    if there are no more tokens in this tokenizer's string.
    hasMoreElements
     public boolean hasMoreElements()
    
    Returns the same value as the hasMoreTokens method. It exists so that this class can implement the Enumeration interface.

    Returns:
    true if there are more tokens; false otherwise.
    See Also:
    Enumeration, hasMoreTokens
    nextElement
     public Object nextElement()
    
    Returns the same value as the nextToken method, except that its declared return value is Object rather than String. It exists so that this class can implement the Enumeration interface.

    Returns:
    the next token in the string.
    Throws: NoSuchElementException
    if there are no more tokens in this tokenizer's string.
    See Also:
    Enumeration, nextToken
    countTokens
     public int countTokens()
    
    Calculates the number of times that this tokenizer's nextToken method can be called before it generates an exception.

    Returns:
    the number of tokens remaining in the string using the current delimiter set.
    See Also:
    nextToken

     kjٞ$;7@56$P%;./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.stringtokenizer_mi.htmi.htm$$ Class java.util.TimeZone

    Class java.util.TimeZone

    java.lang.Object
       |
       +----java.util.TimeZone
    

    public abstract class TimeZone
    extends Object
    implements Serializable, Cloneable
    super class of:
    SimpleTimeZone

    TimeZone represents a time zone offset, and also figures out daylight savings.

    Typically, you get a TimeZone using getDefault which creates a TimeZone based on the time zone where the program is running. For example, for a program running in Japan, getDefault creates a TimeZone object based on Japanese Standard Time.

    You can also get a TimeZone using getTimeZone along with a time zone ID. For instance, the time zone ID for the Pacific Standard Time zone is "PST". So, you can get a PST TimeZone object with:

     TimeZone tz = TimeZone.getTimeZone("PST");
     
    You can use getAvailableIDs method to iterate through all the supported time zone IDs. You can then choose a supported ID to get a favorite TimeZone.

    See Also:
    Calendar, GregorianCalendar, SimpleTimeZone

    Constructor Index

    TimeZone()

    Method Index

    clone()
    Overrides Cloneable
    getAvailableIDs()
    Gets all the available IDs supported.
    getAvailableIDs(int)
    Gets the available IDs according to the given time zone offset.
    getDefault()
    Gets the default TimeZone for this host.
    getID()
    Gets the ID of this time zone.
    getOffset(int, int, int, int, int, int)
    Gets the time zone offset, for current date, modified in case of daylight savings.
    getRawOffset()
    Gets unmodified offset, NOT modified in case of daylight savings.
    getTimeZone(String)
    Gets the TimeZone for the given ID.
    inDaylightTime(Date)
    Queries if the given date is in Daylight Savings Time in this time zone.
    setDefault(TimeZone)
    Sets time zone to using the given TimeZone.
    setID(String)
    Sets the time zone ID.
    setRawOffset(int)
    Sets the base time zone offset to GMT.
    useDaylightTime()
    Queries if this time zone uses Daylight Savings Time.

    Constructors

    TimeZone
     public TimeZone()
    

    Methods

    getOffset
     public abstract int getOffset(int era,
                                   int year,
                                   int month,
                                   int day,
                                   int dayOfWeek,
                                   int milliseconds)
    
    Gets the time zone offset, for current date, modified in case of daylight savings. This is the offset to add *to* UTC to get local time.

    Parameters:
    era - the era of the given date.
    year - the year in the given date.
    month - the month in the given date. Month is 0-based. e.g., 0 for January.
    day - the day-in-month of the given date.
    dayOfWeek - the day-of-week of the given date.
    milliseconds - the millis in day in standard local time.
    Returns:
    the offset to add *to* GMT to get local time.
    setRawOffset
     public abstract void setRawOffset(int offsetMillis)
    
    Sets the base time zone offset to GMT. This is the offset to add *to* UTC to get local time.

    Parameters:
    offsetMillis - the given base time zone offset to GMT.
    getRawOffset
     public abstract int getRawOffset()
    
    Gets unmodified offset, NOT modified in case of daylight savings. This is the offset to add *to* UTC to get local time.

    Returns:
    the unmodified offset to add *to* UTC to get local time.
    getID
     public String getID()
    
    Gets the ID of this time zone.

    Returns:
    the ID of this time zone.
    setID
     public void setID(String ID)
    
    Sets the time zone ID. This does not change any other data in the time zone object.

    Parameters:
    ID - the new time zone ID.
    useDaylightTime
     public abstract boolean useDaylightTime()
    
    Queries if this time zone uses Daylight Savings Time.

    Returns:
    true if this time zone uses Daylight Savings Time, false, otherwise.
    inDaylightTime
     public abstract boolean inDaylightTime(Date date)
    
    Queries if the given date is in Daylight Savings Time in this time zone.

    Parameters:
    date - the given Date.
    Returns:
    true if the given date is in Daylight Savings Time, false, otherwise.
    getTimeZone
     public static synchronized TimeZone getTimeZone(String ID)
    
    Gets the TimeZone for the given ID.

    Parameters:
    ID - the given ID.
    Returns:
    a TimeZone, or null if the given ID is not recognized.
    getAvailableIDs
     public static synchronized String[] getAvailableIDs(int rawOffset)
    
    Gets the available IDs according to the given time zone offset.

    Parameters:
    rawOffset - the given time zone GMT offset.
    Returns:
    an array of IDs, where the time zone for that ID has the specified GMT offset. For example, "America/Phoenix" and "America/Denver" both have GMT-07:00, but differ in daylight savings behavior.
    getAvailableIDs
     public static synchronized String[] getAvailableIDs()
    
    Gets all the available IDs supported.

    Returns:
    an array of IDs.
    getDefault
     public static synchronized TimeZone getDefault()
    
    Gets the default TimeZone for this host.

    Returns:
    a default TimeZone.
    setDefault
     public static synchronized void setDefault(TimeZone zone)
    
    Sets time zone to using the given TimeZone.

    Parameters:
    zone - the given time zone.
    clone
     public Object clone()
    
    Overrides Cloneable

    Overrides:
    clone in class Object

    e kBܞ$7B56$@%./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.timezone_mi.htmi.htm$$ Class java.util.TooManyListenersException

    Class java.util.TooManyListenersException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.util.TooManyListenersException
    

    public class TooManyListenersException
    extends Exception

    The TooManyListenersException Exception is used as part of the Java Event model to annotate and implement a unicast special case of a multicast Event Source.

    The presence of a throws TooManyListenersException clause on any given concrete implementation of the normally multicast semantic void add < EventListenerType > () event listener registration pattern is used to annotate that interface as implementing a unicast Listener special case, that is, that one and only one Listener may be registered on the particular event listener source concurrently.

    See Also:
    EventObject, EventListener

    Constructor Index

    TooManyListenersException()
    Constructs a TooManyListenersException with no detail message.
    TooManyListenersException(String)
    Constructs a TooManyListenersException with the specified detail message.

    Constructors

    TooManyListenersException
     public TooManyListenersException()
    
    Constructs a TooManyListenersException with no detail message. A detail message is a String that describes this particular exception.

    TooManyListenersException
     public TooManyListenersException(String s)
    
    Constructs a TooManyListenersException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    s - the detail message

    st/ kߞ$*7B56$`%*./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.toomanylistenersexception_mi.htm$$ Class java.util.zip.Adler32

    Class java.util.zip.Adler32

    java.lang.Object
       |
       +----java.util.zip.Adler32
    

    public class Adler32
    extends Object
    implements Checksum

    A class that can be used to compute the Adler-32 checksum of a data stream. An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed much faster.

    See Also:
    Checksum

    Constructor Index

    Adler32()

    Method Index

    getValue()
    Returns checksum value.
    reset()
    Resets checksum to initial value.
    update(byte[])
    Updates checksum with specified array of bytes.
    update(byte[], int, int)
    Updates checksum with specified array of bytes.
    update(int)
    Updates checksum with specified byte.

    Constructors

    Adler32
     public Adler32()
    

    Methods

    update
     public void update(int b)
    
    Updates checksum with specified byte.

    update
     public native void update(byte b[],
                               int off,
                               int len)
    
    Updates checksum with specified array of bytes.

    update
     public void update(byte b[])
    
    Updates checksum with specified array of bytes.

    reset
     public void reset()
    
    Resets checksum to initial value.

    getValue
     public long getValue()
    
    Returns checksum value.


     kd$97B56$`%9./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.adler32_mi.htmpt$$ Class java.util.zip.CheckedInputStream

    Class java.util.zip.CheckedInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
                       |
                       +----java.util.zip.CheckedInputStream
    

    public class CheckedInputStream
    extends FilterInputStream

    An input stream that also maintains a checksum of the data being read. The checksum can then be used to verify the integrity of the input data.

    See Also:
    Checksum

    Constructor Index

    CheckedInputStream(InputStream, Checksum)
    Creates an input stream using the specified Checksum.

    Method Index

    getChecksum()
    Returns the Checksum for this input stream.
    read()
    Reads a byte.
    read(byte[], int, int)
    Reads into an array of bytes.
    skip(long)
    Skips specified number of bytes of input.

    Constructors

    CheckedInputStream
     public CheckedInputStream(InputStream in,
                               Checksum cksum)
    
    Creates an input stream using the specified Checksum.

    Parameters:
    in - the input stream
    cksum - the Checksum

    Methods

    read
     public int read() throws IOException
    
    Reads a byte. Will block if no input is available.

    Returns:
    the byte read, or -1 if the end of the stream is reached.
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    read in class FilterInputStream
    read
     public int read(byte buf[],
                     int off,
                     int len) throws IOException
    
    Reads into an array of bytes. Will block until some input is available.

    Parameters:
    buf - the buffer into which the data is read
    off - the start offset of the data
    len - the maximum number of bytes read
    Returns:
    the actual number of bytes read, or -1 if the end of the stream is reached.
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    read in class FilterInputStream
    skip
     public long skip(long n) throws IOException
    
    Skips specified number of bytes of input.

    Parameters:
    n - the number of bytes to skip
    Returns:
    the actual number of bytes skipped
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    skip in class FilterInputStream
    getChecksum
     public Checksum getChecksum()
    
    Returns the Checksum for this input stream.


    d In k$o7B56$`~'o./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.checkedinputstream_mi.htm$$ Class java.util.zip.CheckedOutputStream

    Class java.util.zip.CheckedOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.FilterOutputStream
                       |
                       +----java.util.zip.CheckedOutputStream
    

    public class CheckedOutputStream
    extends FilterOutputStream

    An output stream that also maintains a checksum of the data being written. The checksum can then be used to verify the integrity of the output data.

    See Also:
    Checksum

    Constructor Index

    CheckedOutputStream(OutputStream, Checksum)
    Creates an output stream with the specified Checksum.

    Method Index

    getChecksum()
    Returns the Checksum for this output stream.
    write(byte[], int, int)
    Writes an array of bytes.
    write(int)
    Writes a byte.

    Constructors

    CheckedOutputStream
     public CheckedOutputStream(OutputStream out,
                                Checksum cksum)
    
    Creates an output stream with the specified Checksum.

    Parameters:
    out - the output stream
    cksum - the checksum

    Methods

    write
     public void write(int b) throws IOException
    
    Writes a byte. Will block until the byte is actually written.

    Parameters:
    b - the byte to be written
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    write in class FilterOutputStream
    write
     public void write(byte b[],
                       int off,
                       int len) throws IOException
    
    Writes an array of bytes. Will block until the bytes are actually written.

    Parameters:
    buf - the data to be written
    off - the start offset of the data
    len - the number of bytes to be written
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    write in class FilterOutputStream
    getChecksum
     public Checksum getChecksum()
    
    Returns the Checksum for this output stream.


    va.io. k$7B56$`(./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.checkedoutputstream_mi.htm$$ Interface java.util.zip.Checksum

    Interface java.util.zip.Checksum

    public interface Checksum

    An interface representing a data checksum.


    Method Index

    getValue()
    Returns the current checksum value.
    reset()
    Resets the checksum to its initial value.
    update(byte[], int, int)
    Updates the current checksum with the specified array of bytes.
    update(int)
    Updates the current checksum with the specified byte.

    Methods

    update
     public abstract void update(int b)
    
    Updates the current checksum with the specified byte.

    update
     public abstract void update(byte b[],
                                 int off,
                                 int len)
    
    Updates the current checksum with the specified array of bytes.

    getValue
     public abstract long getValue()
    
    Returns the current checksum value.

    reset
     public abstract void reset()
    
    Resets the checksum to its initial value.


    X/ k$n7B56$`(n./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.checksum_mi.htma$$ Class java.util.zip.CRC32

    Class java.util.zip.CRC32

    java.lang.Object
       |
       +----java.util.zip.CRC32
    

    public class CRC32
    extends Object
    implements Checksum

    A class that can be used to compute the CRC-32 of a data stream.

    See Also:
    Checksum

    Constructor Index

    CRC32()

    Method Index

    getValue()
    Returns CRC-32 value.
    reset()
    Resets CRC-32 to initial value.
    update(byte[])
    Updates CRC-32 with specified array of bytes.
    update(byte[], int, int)
    Updates CRC-32 with specified array of bytes.
    update(int)
    Updates CRC-32 with specified byte.

    Constructors

    CRC32
     public CRC32()
    

    Methods

    update
     public void update(int b)
    
    Updates CRC-32 with specified byte.

    update
     public native void update(byte b[],
                               int off,
                               int len)
    
    Updates CRC-32 with specified array of bytes.

    update
     public void update(byte b[])
    
    Updates CRC-32 with specified array of bytes.

    reset
     public void reset()
    
    Resets CRC-32 to initial value.

    getValue
     public long getValue()
    
    Returns CRC-32 value.


    < kZ$'7B56$`('./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.crc32_mi.htmma$$ Class java.util.zip.DataFormatException

    Class java.util.zip.DataFormatException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.util.zip.DataFormatException
    

    public class DataFormatException
    extends Exception

    Signals that a data format error has occurred.


    Constructor Index

    DataFormatException()
    Constructs a DataFormatException with no detail message.
    DataFormatException(String)
    Constructs a DataFormatException with the specified detail message.

    Constructors

    DataFormatException
     public DataFormatException()
    
    Constructs a DataFormatException with no detail message.

    DataFormatException
     public DataFormatException(String s)
    
    Constructs a DataFormatException with the specified detail message. A detail message is a String that describes this particular exception.

    Parameters:
    s - the String containing a detail message

    sr/ k.$ 7B56$`) ./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.dataformatexception_mi.htm$$ Class java.util.zip.Deflater

    Class java.util.zip.Deflater

    java.lang.Object
       |
       +----java.util.zip.Deflater
    

    public class Deflater
    extends Object

    This class provides support for general purpose decompression using the popular ZLIB compression library. The ZLIB compression library was initially developed as part of the PNG graphics standard and is not protected by patents. It is fully described in RFCs 1950, 1951, and 1952

    See Also:
    Inflater

    Variable Index

    BEST_COMPRESSION
    Compression level for best compression.
    BEST_SPEED
    Compression level for fastest compression.
    DEFAULT_COMPRESSION
    Default compression level.
    DEFAULT_STRATEGY
    Default compression strategy.
    DEFLATED
    Compression method for the deflate algorithm (the only one currently supported).
    FILTERED
    Compression strategy best used for data consisting mostly of small values with a somewhat random distribution.
    HUFFMAN_ONLY
    Compression strategy for Huffman coding only.
    NO_COMPRESSION
    Compression level for no compression.

    Constructor Index

    Deflater()
    Creates a new compressor with the default compression level.
    Deflater(int)
    Creates a new compressor using the specified compression level.
    Deflater(int, boolean)
    Creates a new compressor using the specified compression level.

    Method Index

    deflate(byte[])
    Fills specified buffer with compressed data.
    deflate(byte[], int, int)
    Fills specified buffer with compressed data.
    end()
    Discards unprocessed input and frees internal data.
    finalize()
    Frees the compressor when garbage is collected.
    finish()
    When called, indicates that compression should end with the current contents of the input buffer.
    finished()
    Returns true if the end of the compressed data output stream has been reached.
    getAdler()
    Returns the ADLER-32 value of the uncompressed data.
    getTotalIn()
    Returns the total number of bytes input so far.
    getTotalOut()
    Returns the total number of bytes output so far.
    needsInput()
    Returns true if the input data buffer is empty and setInput() should be called in order to provide more input.
    reset()
    Resets deflater so that a new set of input data can be processed.
    setDictionary(byte[])
    Sets preset dictionary for compression.
    setDictionary(byte[], int, int)
    Sets preset dictionary for compression.
    setInput(byte[])
    Sets input data for compression.
    setInput(byte[], int, int)
    Sets input data for compression.
    setLevel(int)
    Sets the current compression level to the specified value.
    setStrategy(int)
    Sets the compression strategy to the specified value.

    Variables

    DEFLATED
     public static final int DEFLATED
    
    Compression method for the deflate algorithm (the only one currently supported).

    NO_COMPRESSION
     public static final int NO_COMPRESSION
    
    Compression level for no compression.

    BEST_SPEED
     public static final int BEST_SPEED
    
    Compression level for fastest compression.

    BEST_COMPRESSION
     public static final int BEST_COMPRESSION
    
    Compression level for best compression.

    DEFAULT_COMPRESSION
     public static final int DEFAULT_COMPRESSION
    
    Default compression level.

    FILTERED
     public static final int FILTERED
    
    Compression strategy best used for data consisting mostly of small values with a somewhat random distribution. Forces more Huffman coding and less string matching.

    HUFFMAN_ONLY
     public static final int HUFFMAN_ONLY
    
    Compression strategy for Huffman coding only.

    DEFAULT_STRATEGY
     public static final int DEFAULT_STRATEGY
    
    Default compression strategy.


    Constructors

    Deflater
     public Deflater(int level,
                     boolean nowrap)
    
    Creates a new compressor using the specified compression level. If 'nowrap' is true then the ZLIB header and checksum fields will not be used in order to support the compression format used in both GZIP and PKZIP.

    Parameters:
    level - the compression level (0-9)
    nowrap - if true then use GZIP compatible compression
    Deflater
     public Deflater(int level)
    
    Creates a new compressor using the specified compression level. Compressed data will be generated in ZLIB format.

    Parameters:
    level - the compression level (0-9)
    Deflater
     public Deflater()
    
    Creates a new compressor with the default compression level. Compressed data will be generated in ZLIB format.


    Methods

    setInput
     public synchronized void setInput(byte b[],
                                       int off,
                                       int len)
    
    Sets input data for compression. This should be called whenever needsInput() returns true indicating that more input data is required.

    Parameters:
    b - the input data bytes
    off - the start offset of the data
    len - the length of the data
    See Also:
    needsInput
    setInput
     public void setInput(byte b[])
    
    Sets input data for compression. This should be called whenever needsInput() returns true indicating that more input data is required.

    Parameters:
    b - the input data bytes
    See Also:
    needsInput
    setDictionary
     public native synchronized void setDictionary(byte b[],
                                                   int off,
                                                   int len)
    
    Sets preset dictionary for compression. A preset dictionary is used when the history buffer can be predetermined. When the data is later uncompressed with Inflater.inflate(), Inflater.getAdler() can be called in order to get the Adler-32 value of the dictionary required for decompression.

    Parameters:
    b - the dictionary data bytes
    off - the start offset of the data
    len - the length of the data
    See Also:
    inflate, getAdler
    setDictionary
     public void setDictionary(byte b[])
    
    Sets preset dictionary for compression. A preset dictionary is used when the history buffer can be predetermined. When the data is later uncompressed with Inflater.inflate(), Inflater.getAdler() can be called in order to get the Adler-32 value of the dictionary required for decompression.

    Parameters:
    b - the dictionary data bytes
    See Also:
    inflate, getAdler
    setStrategy
     public synchronized void setStrategy(int strategy)
    
    Sets the compression strategy to the specified value.

    Parameters:
    strategy - the new compression strategy
    Throws: IllegalArgumentException
    if the compression strategy is invalid
    setLevel
     public synchronized void setLevel(int Level)
    
    Sets the current compression level to the specified value.

    Parameters:
    level - the new compression level (0-9)
    Throws: IllegalArgumentException
    if the compression level is invalid
    needsInput
     public boolean needsInput()
    
    Returns true if the input data buffer is empty and setInput() should be called in order to provide more input.

    finish
     public synchronized void finish()
    
    When called, indicates that compression should end with the current contents of the input buffer.

    finished
     public synchronized boolean finished()
    
    Returns true if the end of the compressed data output stream has been reached.

    deflate
     public native synchronized int deflate(byte b[],
                                            int off,
                                            int len)
    
    Fills specified buffer with compressed data. Returns actual number of bytes of compressed data. A return value of 0 indicates that needsInput() should be called in order to determine if more input data is required.

    Parameters:
    b - the buffer for the compressed data
    off - the start offset of the data
    len - the maximum number of bytes of compressed data
    Returns:
    the actual number of bytes of compressed data
    deflate
     public int deflate(byte b[])
    
    Fills specified buffer with compressed data. Returns actual number of bytes of compressed data. A return value of 0 indicates that needsInput() should be called in order to determine if more input data is required.

    Parameters:
    b - the buffer for the compressed data
    Returns:
    the actual number of bytes of compressed data
    getAdler
     public native synchronized int getAdler()
    
    Returns the ADLER-32 value of the uncompressed data.

    getTotalIn
     public native synchronized int getTotalIn()
    
    Returns the total number of bytes input so far.

    getTotalOut
     public native synchronized int getTotalOut()
    
    Returns the total number of bytes output so far.

    reset
     public native synchronized void reset()
    
    Resets deflater so that a new set of input data can be processed. Keeps current compression level and strategy settings.

    end
     public native synchronized void end()
    
    Discards unprocessed input and frees internal data.

    finalize
     protected void finalize()
    
    Frees the compressor when garbage is collected.

    Overrides:
    finalize in class Object

     kp$ 7D56$ * ./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.deflater_mi.htmo$$ Class java.util.zip.DeflaterOutputStream

    Class java.util.zip.DeflaterOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.FilterOutputStream
                       |
                       +----java.util.zip.DeflaterOutputStream
    

    public class DeflaterOutputStream
    extends FilterOutputStream
    super class of:
    GZIPOutputStream, ZipOutputStream

    This class implements an output stream filter for compressing data in the "deflate" compression format. It is also used as the basis for other types of compression filters, such as GZIPOutputStream.

    See Also:
    Deflater

    Variable Index

    buf
    Output buffer for writing compressed data.
    def
    Compressor for this stream.

    Constructor Index

    DeflaterOutputStream(OutputStream)
    Creates a new output stream with a defaul compressor and buffer size.
    DeflaterOutputStream(OutputStream, Deflater)
    Creates a new output stream with the specified compressor and a default buffer size.
    DeflaterOutputStream(OutputStream, Deflater, int)
    Creates a new output stream with the specified compressor and buffer size.

    Method Index

    close()
    Writes remaining compressed data to the output stream and closes the underlying stream.
    deflate()
    Writes next block of compressed data to the output stream.
    finish()
    Finishes writing compressed data to the output stream without closing the underlying stream.
    write(byte[], int, int)
    Writes an array of bytes to the compressed output stream.
    write(int)
    Writes a byte to the compressed output stream.

    Variables

    def
     protected Deflater def
    
    Compressor for this stream.

    buf
     protected byte buf[]
    
    Output buffer for writing compressed data.


    Constructors

    DeflaterOutputStream
     public DeflaterOutputStream(OutputStream out,
                                 Deflater def,
                                 int size)
    
    Creates a new output stream with the specified compressor and buffer size.

    Parameters:
    out - the output stream
    def - the compressor ("deflater")
    len - the output buffer size
    DeflaterOutputStream
     public DeflaterOutputStream(OutputStream out,
                                 Deflater def)
    
    Creates a new output stream with the specified compressor and a default buffer size.

    Parameters:
    out - the output stream
    def - the compressor ("deflater")
    DeflaterOutputStream
     public DeflaterOutputStream(OutputStream out)
    
    Creates a new output stream with a defaul compressor and buffer size.


    Methods

    write
     public void write(int b) throws IOException
    
    Writes a byte to the compressed output stream. This method will block until the byte can be written.

    Parameters:
    b - the byte to be written
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    write in class FilterOutputStream
    write
     public void write(byte b[],
                       int off,
                       int len) throws IOException
    
    Writes an array of bytes to the compressed output stream. This method will block until all the bytes are written.

    Parameters:
    buf - the data to be written
    off - the start offset of the data
    len - the length of the data
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    write in class FilterOutputStream
    finish
     public void finish() throws IOException
    
    Finishes writing compressed data to the output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.

    Throws: IOException
    if an I/O error has occurred
    close
     public void close() throws IOException
    
    Writes remaining compressed data to the output stream and closes the underlying stream.

    Throws: IOException
    if an I/O error has occurred
    Overrides:
    close in class FilterOutputStream
    deflate
     protected void deflate() throws IOException
    
    Writes next block of compressed data to the output stream.


    hre kꢵ$7D56$@../usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.deflateroutputstream_mi.htm$$ Class java.util.zip.GZIPInputStream

    Class java.util.zip.GZIPInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
                       |
                       +----java.util.zip.InflaterInputStream
                               |
                               +----java.util.zip.GZIPInputStream
    

    public class GZIPInputStream
    extends InflaterInputStream

    This class implements a stream filter for reading compressed data in the GZIP format.

    See Also:
    InflaterInputStream

    Variable Index

    crc
    CRC-32 for uncompressed data.
    eos
    Indicates end of input stream.
    GZIP_MAGIC
    GZIP header magic number.

    Constructor Index

    GZIPInputStream(InputStream)
    Creates a new input stream with a default buffer size.
    GZIPInputStream(InputStream, int)
    Creates a new input stream with the specified buffer size.

    Method Index

    close()
    Closes the input stream.
    read(byte[], int, int)
    Reads uncompressed data into an array of bytes.

    Variables

    crc
     protected CRC32 crc
    
    CRC-32 for uncompressed data.

    eos
     protected boolean eos
    
    Indicates end of input stream.

    GZIP_MAGIC
     public static final int GZIP_MAGIC
    
    GZIP header magic number.


    Constructors

    GZIPInputStream
     public GZIPInputStream(InputStream in,
                            int size) throws IOException
    
    Creates a new input stream with the specified buffer size.

    Parameters:
    in - the input stream
    size - the input buffer size
    Throws: IOException
    if an I/O error has occurred
    GZIPInputStream
     public GZIPInputStream(InputStream in) throws IOException
    
    Creates a new input stream with a default buffer size.

    Parameters:
    in - the input stream
    Throws: IOException
    if an I/O error has occurred

    Methods

    read
     public int read(byte buf[],
                     int off,
                     int len) throws IOException
    
    Reads uncompressed data into an array of bytes. Blocks until enough input is available for decompression.

    Parameters:
    buf - the buffer into which the data is read
    off - the start offset of the data
    len - the maximum number of bytes read
    Returns:
    the actual number of bytes read, or -1 if the end of the compressed input stream is reached
    Throws: IOException
    if an I/O error has occurred or the compressed input data is corrupt
    Overrides:
    read in class InflaterInputStream
    close
     public void close() throws IOException
    
    Closes the input stream.

    Throws: IOException
    if an I/O error has occurred
    Overrides:
    close in class FilterInputStream

    inp k$67D56$P.6./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.gzipinputstream_mi.htmht$$ Class java.util.zip.GZIPOutputStream

    Class java.util.zip.GZIPOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.FilterOutputStream
                       |
                       +----java.util.zip.DeflaterOutputStream
                               |
                               +----java.util.zip.GZIPOutputStream
    

    public class GZIPOutputStream
    extends DeflaterOutputStream

    This class implements a stream filter for writing compressed data in the GZIP file format.


    Variable Index

    crc
    CRC-32 of uncompressed data.

    Constructor Index

    GZIPOutputStream(OutputStream)
    Creates a new output stream with a default buffer size.
    GZIPOutputStream(OutputStream, int)
    Creates a new output stream with the specified buffer size.

    Method Index

    close()
    Writes remaining compressed data to the output stream and closes the underlying stream.
    finish()
    Finishes writing compressed data to the output stream without closing the underlying stream.
    write(byte[], int, int)
    Writes array of bytes to the compressed output stream.

    Variables

    crc
     protected CRC32 crc
    
    CRC-32 of uncompressed data.


    Constructors

    GZIPOutputStream
     public GZIPOutputStream(OutputStream out,
                             int size) throws IOException
    
    Creates a new output stream with the specified buffer size.

    Parameters:
    out - the output stream
    size - the output buffer size
    Throws: IOException
    If an I/O error has occurred.
    GZIPOutputStream
     public GZIPOutputStream(OutputStream out) throws IOException
    
    Creates a new output stream with a default buffer size.

    Parameters:
    out - the output stream
    Throws: IOException
    If an I/O error has occurred.

    Methods

    write
     public synchronized void write(byte buf[],
                                    int off,
                                    int len) throws IOException
    
    Writes array of bytes to the compressed output stream. This method will block until all the bytes are written.

    Parameters:
    buf - the data to be written
    off - the start offset of the data
    len - the length of the data
    Throws: IOException
    If an I/O error has occurred.
    Overrides:
    write in class DeflaterOutputStream
    finish
     public void finish() throws IOException
    
    Finishes writing compressed data to the output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.

    Throws: IOException
    if an I/O error has occurred
    Overrides:
    finish in class DeflaterOutputStream
    close
     public void close() throws IOException
    
    Writes remaining compressed data to the output stream and closes the underlying stream.

    Throws: IOException
    if an I/O error has occurred
    Overrides:
    close in class DeflaterOutputStream

     k$7D56$`*./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.gzipoutputstream_mi.htmt$$ Class java.util.zip.Inflater

    Class java.util.zip.Inflater

    java.lang.Object
       |
       +----java.util.zip.Inflater
    

    public class Inflater
    extends Object

    This class provides support for general purpose decompression using the popular ZLIB compression library. The ZLIB compression library was initially developed as part of the PNG graphics standard and is not protected by patents. It is fully described in RFCs 1950, 1951, and 1952.

    See Also:
    Deflater

    Constructor Index

    Inflater()
    Creates a new decompressor.
    Inflater(boolean)
    Creates a new decompressor.

    Method Index

    end()
    Discards unprocessed input and frees internal data.
    finalize()
    Frees the decompressor when garbage is collected.
    finished()
    Return true if the end of the compressed data stream has been reached.
    getAdler()
    Returns the ADLER-32 value of the uncompressed data.
    getRemaining()
    Returns the total number of bytes remaining in the input buffer.
    getTotalIn()
    Returns the total number of bytes input so far.
    getTotalOut()
    Returns the total number of bytes output so far.
    inflate(byte[])
    Uncompresses bytes into specified buffer.
    inflate(byte[], int, int)
    Uncompresses bytes into specified buffer.
    needsDictionary()
    Returns true if a preset dictionary is needed for decompression.
    needsInput()
    Returns true if no data remains in the input buffer.
    reset()
    Resets inflater so that a new set of input data can be processed.
    setDictionary(byte[])
    Sets the preset dictionary to the given array of bytes.
    setDictionary(byte[], int, int)
    Sets the preset dictionary to the given array of bytes.
    setInput(byte[])
    Sets input data for decompression.
    setInput(byte[], int, int)
    Sets input data for decompression.

    Constructors

    Inflater
     public Inflater(boolean nowrap)
    
    Creates a new decompressor. If the parameter 'nowrap' is true then the ZLIB header and checksum fields will not be used in order to support the compression format used by both GZIP and PKZIP.

    Parameters:
    nowrap - if true then support GZIP compatible compression
    Inflater
     public Inflater()
    
    Creates a new decompressor.


    Methods

    setInput
     public synchronized void setInput(byte b[],
                                       int off,
                                       int len)
    
    Sets input data for decompression. Should be called whenever needsInput() returns true indicating that more input data is required.

    Parameters:
    b - the input data bytes
    off - the start offset of the input data
    len - the length of the input data
    See Also:
    needsInput
    setInput
     public void setInput(byte b[])
    
    Sets input data for decompression. Should be called whenever needsInput() returns true indicating that more input data is required.

    Parameters:
    b - the input data bytes
    See Also:
    needsInput
    setDictionary
     public native synchronized void setDictionary(byte b[],
                                                   int off,
                                                   int len)
    
    Sets the preset dictionary to the given array of bytes. Should be called when inflate() returns 0 and needsDictionary() returns true indicating that a preset dictionary is required. The method getAdler() can be used to get the Adler-32 value of the dictionary needed.

    Parameters:
    b - the dictionary data bytes
    off - the start offset of the data
    len - the length of the data
    See Also:
    needsDictionary, getAdler
    setDictionary
     public void setDictionary(byte b[])
    
    Sets the preset dictionary to the given array of bytes. Should be called when inflate() returns 0 and needsDictionary() returns true indicating that a preset dictionary is required. The method getAdler() can be used to get the Adler-32 value of the dictionary needed.

    Parameters:
    b - the dictionary data bytes
    See Also:
    needsDictionary, getAdler
    getRemaining
     public synchronized int getRemaining()
    
    Returns the total number of bytes remaining in the input buffer. This can be used to find out what bytes still remain in the input buffer after decompression has finished.

    needsInput
     public synchronized boolean needsInput()
    
    Returns true if no data remains in the input buffer. This can be used to determine if #setInput should be called in order to provide more input.

    needsDictionary
     public synchronized boolean needsDictionary()
    
    Returns true if a preset dictionary is needed for decompression.

    See Also:
    InflatesetDictionary
    finished
     public synchronized boolean finished()
    
    Return true if the end of the compressed data stream has been reached.

    inflate
     public native synchronized int inflate(byte b[],
                                            int off,
                                            int len) throws DataFormatException
    
    Uncompresses bytes into specified buffer. Returns actual number of bytes uncompressed. A return value of 0 indicates that needsInput() or needsDictionary() should be called in order to determine if more input data or a preset dictionary is required. In the later case, getAdler() can be used to get the Adler-32 value of the dictionary required.

    Parameters:
    b - the buffer for the uncompressed data
    off - the start offset of the data
    len - the maximum number of uncompressed bytes
    Returns:
    the actual number of uncompressed bytes
    Throws: DataFormatException
    if the compressed data format is invalid
    See Also:
    needsInput, needsDictionary
    inflate
     public int inflate(byte b[]) throws DataFormatException
    
    Uncompresses bytes into specified buffer. Returns actual number of bytes uncompressed. A return value of 0 indicates that needsInput() or needsDictionary() should be called in order to determine if more input data or a preset dictionary is required. In the later case, getAdler() can be used to get the Adler-32 value of the dictionary required.

    Parameters:
    b - the buffer for the uncompressed data
    Returns:
    the actual number of uncompressed bytes
    Throws: DataFormatException
    if the compressed data format is invalid
    See Also:
    needsInput, needsDictionary
    getAdler
     public native synchronized int getAdler()
    
    Returns the ADLER-32 value of the uncompressed data.

    getTotalIn
     public native synchronized int getTotalIn()
    
    Returns the total number of bytes input so far.

    getTotalOut
     public native synchronized int getTotalOut()
    
    Returns the total number of bytes output so far.

    reset
     public native synchronized void reset()
    
    Resets inflater so that a new set of input data can be processed.

    end
     public native synchronized void end()
    
    Discards unprocessed input and frees internal data.

    finalize
     protected void finalize()
    
    Frees the decompressor when garbage is collected.

    Overrides:
    finalize in class Object

    re kr$7D56$0,/./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.inflater_mi.htmm$$ Class java.util.zip.InflaterInputStream

    Class java.util.zip.InflaterInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
                       |
                       +----java.util.zip.InflaterInputStream
    

    public class InflaterInputStream
    extends FilterInputStream
    super class of:
    GZIPInputStream, ZipInputStream

    This class implements a stream filter for uncompressing data in the "deflate" compression format. It is also used as the basis for other decompression filters, such as GZIPInputStream.

    See Also:
    Inflater

    Variable Index

    buf
    Input buffer for decompression.
    inf
    Decompressor for this stream.
    len
    Length of input buffer.

    Constructor Index

    InflaterInputStream(InputStream)
    Creates a new input stream with a default decompressor and buffer size.
    InflaterInputStream(InputStream, Inflater)
    Creates a new input stream with the specified decompressor and a default buffer size.
    InflaterInputStream(InputStream, Inflater, int)
    Creates a new input stream with the specified decompressor and buffer size.

    Method Index

    fill()
    Fills input buffer with more data to decompress.
    read()
    Reads a byte of uncompressed data.
    read(byte[], int, int)
    Reads uncompressed data into an array of bytes.
    skip(long)
    Skips specified number of bytes of uncompressed data.

    Variables

    inf
     protected Inflater inf
    
    Decompressor for this stream.

    buf
     protected byte buf[]
    
    Input buffer for decompression.

    len
     protected int len
    
    Length of input buffer.


    Constructors

    InflaterInputStream
     public InflaterInputStream(InputStream in,
                                Inflater inf,
                                int size)
    
    Creates a new input stream with the specified decompressor and buffer size.

    Parameters:
    in - the input stream
    inf - the decompressor ("inflater")
    len - the input buffer size
    InflaterInputStream
     public InflaterInputStream(InputStream in,
                                Inflater inf)
    
    Creates a new input stream with the specified decompressor and a default buffer size.

    Parameters:
    in - the input stream
    inf - the decompressor ("inflater")
    InflaterInputStream
     public InflaterInputStream(InputStream in)
    
    Creates a new input stream with a default decompressor and buffer size.


    Methods

    read
     public int read() throws IOException
    
    Reads a byte of uncompressed data. This method will block until enough input is available for decompression.

    Returns:
    the byte read, or -1 if end of compressed input is reached
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    read in class FilterInputStream
    read
     public int read(byte b[],
                     int off,
                     int len) throws IOException
    
    Reads uncompressed data into an array of bytes. This method will block until some input can be decompressed.

    Parameters:
    b - the buffer into which the data is read
    off - the start offset of the data
    len - the maximum number of bytes read
    Returns:
    the actual number of bytes read, or -1 if the end of the compressed input is reached or a preset dictionary is needed
    Throws: ZipException
    if a ZIP format error has occurred
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    read in class FilterInputStream
    skip
     public long skip(long n) throws IOException
    
    Skips specified number of bytes of uncompressed data.

    Parameters:
    n - the number of bytes to skip
    Returns:
    the actual number of bytes skipped.
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    skip in class FilterInputStream
    fill
     protected void fill() throws IOException
    
    Fills input buffer with more data to decompress.

    Throws: IOException
    if an I/O error has occurred

    nf) < k$7D56$P4/./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.inflaterinputstream_mi.htm$$ Class java.util.zip.ZipEntry

    Class java.util.zip.ZipEntry

    java.lang.Object
       |
       +----java.util.zip.ZipEntry
    

    public class ZipEntry
    extends Object
    implements ZipConstants

    This class is used to represent a ZIP file entry.


    Variable Index

    DEFLATED
    Compression method for compressed (deflated) entries.
    STORED
    Compression method for uncompressed entries.

    Constructor Index

    ZipEntry(String)
    Creates a new ZIP file entry with the specified name.

    Method Index

    getComment()
    Returns the comment string for the entry, or null if none.
    getCompressedSize()
    Returns the compressed size of the entry data, or -1 if not known.
    getCrc()
    Returns the CRC-32 checksum of the uncompressed entry data, or -1 if not known.
    getExtra()
    Returns the extra field data for the entry, or null if none.
    getMethod()
    Returns the compression method of the entry, or -1 if not specified.
    getName()
    Returns the name of the entry.
    getSize()
    Returns the uncompressed size of the entry data, or -1 if not known.
    getTime()
    Returns the modification time of the entry, or -1 if not specified.
    isDirectory()
    Returns true if this is a directory entry.
    setComment(String)
    Sets the optional comment string for the entry.
    setCrc(long)
    Sets the CRC-32 checksum of the uncompressed entry data.
    setExtra(byte[])
    Sets the optional extra field data for the entry.
    setMethod(int)
    Sets the compression method for the entry.
    setSize(long)
    Sets the uncompressed size of the entry data.
    setTime(long)
    Sets the modification time of the entry.
    toString()
    Returns a string representation of the ZIP entry.

    Variables

    STORED
     public static final int STORED
    
    Compression method for uncompressed entries.

    DEFLATED
     public static final int DEFLATED
    
    Compression method for compressed (deflated) entries.


    Constructors

    ZipEntry
     public ZipEntry(String name)
    
    Creates a new ZIP file entry with the specified name.

    Parameters:
    name - the entry name
    Throws: NullPointerException
    if the entry name is null
    Throws: IllegalArgumentException
    if the entry name is longer than 0xFFFF bytes

    Methods

    getName
     public String getName()
    
    Returns the name of the entry.

    setTime
     public void setTime(long time)
    
    Sets the modification time of the entry.

    Parameters:
    time - the entry modification time in number of milliseconds since the epoch
    getTime
     public long getTime()
    
    Returns the modification time of the entry, or -1 if not specified.

    setSize
     public void setSize(long size)
    
    Sets the uncompressed size of the entry data.

    Parameters:
    size - the uncompressed size in bytes
    Throws: IllegalArgumentException
    if the specified size is less than 0 or greater than 0xFFFFFFFF bytes
    getSize
     public long getSize()
    
    Returns the uncompressed size of the entry data, or -1 if not known.

    setCrc
     public void setCrc(long crc)
    
    Sets the CRC-32 checksum of the uncompressed entry data.

    Parameters:
    crc - the CRC-32 value
    Throws: IllegalArgumentException
    if the specified CRC-32 value is less than 0 or greater than 0xFFFFFFFF
    getCrc
     public long getCrc()
    
    Returns the CRC-32 checksum of the uncompressed entry data, or -1 if not known.

    setMethod
     public void setMethod(int method)
    
    Sets the compression method for the entry.

    Parameters:
    method - the compression method, either STORED or DEFLATED
    Throws: IllegalArgumentException
    if the specified compression method is invalid
    getMethod
     public int getMethod()
    
    Returns the compression method of the entry, or -1 if not specified.

    setExtra
     public void setExtra(byte extra[])
    
    Sets the optional extra field data for the entry.

    Parameters:
    extra - the extra field data bytes
    Throws: IllegalArgumentException
    if the length of the specified extra field data is greater than 0xFFFFF bytes
    getExtra
     public byte[] getExtra()
    
    Returns the extra field data for the entry, or null if none.

    setComment
     public void setComment(String comment)
    
    Sets the optional comment string for the entry.

    Parameters:
    comment - the comment string
    Throws: IllegalArgumentException
    if the length of the specified comment string is greater than 0xFFFF bytes
    getComment
     public String getComment()
    
    Returns the comment string for the entry, or null if none.

    getCompressedSize
     public long getCompressedSize()
    
    Returns the compressed size of the entry data, or -1 if not known. In the case of a stored entry, the compressed size will be the same as the uncompressed size of the entry.

    isDirectory
     public boolean isDirectory()
    
    Returns true if this is a directory entry. A directory entry is defined to be one whose name ends with a '/'.

    toString
     public String toString()
    
    Returns a string representation of the ZIP entry.

    Overrides:
    toString in class Object

    Class java.util.zip.ZipException

    Class java.util.zip.ZipException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.io.IOException
                               |
                               +----java.util.zip.ZipException
    

    public class ZipException
    extends IOException


    Constructor Index

    ZipException()
    ZipException(String)

    Constructors

    ZipException
     public ZipException()
    
    ZipException
     public ZipException(String s)
    

    // k $7D56$p?./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.zipexception_mi.htmi.htm$$ Class java.util.zip.ZipFile

    Class java.util.zip.ZipFile

    java.lang.Object
       |
       +----java.util.zip.ZipFile
    

    public class ZipFile
    extends Object
    implements ZipConstants

    This class can be used to read the contents of a ZIP file. It uses RandomAccessFile for quick access to ZIP file entries, and supports both compressed and uncompressed entries.


    Constructor Index

    ZipFile(File)
    Opens a ZIP file for reading given the specified File object.
    ZipFile(String)
    Opens a ZIP file for reading given the specified file name.

    Method Index

    close()
    Closes the ZIP file.
    entries()
    Returns an enumeration of the ZIP file entries.
    getEntry(String)
    Returns the ZIP file entry for the given path name.
    getInputStream(ZipEntry)
    Returns an input stream for reading the contents of the specified ZIP file entry.
    getName()
    Returns the path name of the ZIP file.

    Constructors

    ZipFile
     public ZipFile(String name) throws IOException
    
    Opens a ZIP file for reading given the specified file name.

    Parameters:
    name - the name of the zip file
    Throws: ZipException
    if a ZIP format error has occurred
    Throws: IOException
    if an I/O error has occurred
    ZipFile
     public ZipFile(File file) throws ZipException, IOException
    
    Opens a ZIP file for reading given the specified File object.

    Parameters:
    file - the ZIP file to be opened for reading
    Throws: ZipException
    if a ZIP error has occurred
    Throws: IOException
    if an I/O error has occurred

    Methods

    getEntry
     public ZipEntry getEntry(String name)
    
    Returns the ZIP file entry for the given path name. Returns null if there is no entry corresponding to the given name.

    Parameters:
    name - the name of the entry
    Returns:
    the ZIP file entry
    getInputStream
     public InputStream getInputStream(ZipEntry ze) throws IOException
    
    Returns an input stream for reading the contents of the specified ZIP file entry.

    Parameters:
    ze - the zip file entry
    Throws: ZipException
    if a ZIP format error has occurred
    Throws: IOException
    if an I/O error has occurred
    getName
     public String getName()
    
    Returns the path name of the ZIP file.

    entries
     public Enumeration entries()
    
    Returns an enumeration of the ZIP file entries.

    close
     public void close() throws IOException
    
    Closes the ZIP file.


    ut kBm$7F56$`/./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.zipfile_mi.htmht$$ Class java.util.zip.ZipInputStream

    Class java.util.zip.ZipInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
                       |
                       +----java.util.zip.InflaterInputStream
                               |
                               +----java.util.zip.ZipInputStream
    

    public class ZipInputStream
    extends InflaterInputStream
    implements ZipConstants

    This class implements an input stream filter for reading files in the ZIP file format. Includes support for both compressed and uncompressed entries.


    Constructor Index

    ZipInputStream(InputStream)
    Creates a new ZIP input stream.

    Method Index

    close()
    Closes the ZIP input stream.
    closeEntry()
    Closes the current ZIP entry and positions the stream for reading the next entry.
    getNextEntry()
    Reads the next ZIP file entry and positions stream at the beginning of the entry data.
    read(byte[], int, int)
    Reads from the current ZIP entry into an array of bytes.
    skip(long)
    Skips specified number of bytes in the current ZIP entry.

    Constructors

    ZipInputStream
     public ZipInputStream(InputStream in)
    
    Creates a new ZIP input stream.

    Parameters:
    in - the actual input stream

    Methods

    getNextEntry
     public ZipEntry getNextEntry() throws IOException
    
    Reads the next ZIP file entry and positions stream at the beginning of the entry data.

    Throws: ZipException
    if a ZIP file error has occurred
    Throws: IOException
    if an I/O error has occurred
    closeEntry
     public void closeEntry() throws IOException
    
    Closes the current ZIP entry and positions the stream for reading the next entry.

    Throws: ZipException
    if a ZIP file error has occurred
    Throws: IOException
    if an I/O error has occurred
    read
     public int read(byte b[],
                     int off,
                     int len) throws IOException
    
    Reads from the current ZIP entry into an array of bytes. Blocks until some input is available.

    Parameters:
    b - the buffer into which the data is read
    off - the start offset of the data
    len - the maximum number of bytes read
    Returns:
    the actual number of bytes read, or -1 if the end of the entry is reached
    Throws: ZipException
    if a ZIP file error has occurred
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    read in class InflaterInputStream
    skip
     public long skip(long n) throws IOException
    
    Skips specified number of bytes in the current ZIP entry.

    Parameters:
    n - the number of bytes to skip
    Returns:
    the actual number of bytes skipped
    Throws: ZipException
    if a ZIP file error has occurred
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    skip in class InflaterInputStream
    close
     public void close() throws IOException
    
    Closes the ZIP input stream.

    Throws: IOException
    if an I/O error has occurred
    Overrides:
    close in class FilterInputStream

     k$7F56$`/./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.zipinputstream_mi.htmhtm$$ Class java.util.zip.ZipOutputStream

    Class java.util.zip.ZipOutputStream

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----java.io.FilterOutputStream
                       |
                       +----java.util.zip.DeflaterOutputStream
                               |
                               +----java.util.zip.ZipOutputStream
    

    public class ZipOutputStream
    extends DeflaterOutputStream
    implements ZipConstants

    This class implements an output stream filter for writing files in the ZIP file format. Includes support for both compressed and uncompressed entries.


    Variable Index

    DEFLATED
    Compression method for compressed (DEFLATED) entries.
    STORED
    Compression method for uncompressed (STORED) entries.

    Constructor Index

    ZipOutputStream(OutputStream)
    Creates a new ZIP output stream.

    Method Index

    close()
    Closes the ZIP output stream as well as the stream being filtered.
    closeEntry()
    Closes the current ZIP entry and positions the stream for writing the next entry.
    finish()
    Finishes writing the contents of the ZIP output stream without closing the underlying stream.
    putNextEntry(ZipEntry)
    Begins writing a new ZIP file entry and positions the stream to the start of the entry data.
    setComment(String)
    Sets the ZIP file comment.
    setLevel(int)
    Sets the compression level for subsequent entries which are DEFLATED.
    setMethod(int)
    Sets the default compression method for subsequent entries.
    write(byte[], int, int)
    Writes an array of bytes to the current ZIP entry data.

    Variables

    STORED
     public static final int STORED
    
    Compression method for uncompressed (STORED) entries.

    DEFLATED
     public static final int DEFLATED
    
    Compression method for compressed (DEFLATED) entries.


    Constructors

    ZipOutputStream
     public ZipOutputStream(OutputStream out)
    
    Creates a new ZIP output stream.

    Parameters:
    out - the actual output stream

    Methods

    setComment
     public void setComment(String comment)
    
    Sets the ZIP file comment.

    Parameters:
    comment - the comment string
    Throws: IllegalArgumentException
    if the length of the specified ZIP file comment is greater than 0xFFFF bytes
    setMethod
     public void setMethod(int method)
    
    Sets the default compression method for subsequent entries. This default will be used whenever the compression method is not specified for an individual ZIP file entry, and is initially set to DEFLATED.

    Parameters:
    method - the default compression method
    Throws: IllegalArgumentException
    if the specified compression method is invalid
    setLevel
     public void setLevel(int level)
    
    Sets the compression level for subsequent entries which are DEFLATED. The default setting is DEFAULT_COMPRESSION.

    Parameters:
    level - the compression level (0-9)
    Throws: IllegalArgumentException
    if the compression level is invalid
    putNextEntry
     public void putNextEntry(ZipEntry e) throws IOException
    
    Begins writing a new ZIP file entry and positions the stream to the start of the entry data. Closes the current entry if still active. The default compression method will be used if no compression method was specified for the entry, and the current time will be used if the entry has no set modification time.

    Parameters:
    e - the ZIP entry to be written
    Throws: ZipException
    if a ZIP format error has occurred
    Throws: IOException
    if an I/O error has occurred
    closeEntry
     public void closeEntry() throws IOException
    
    Closes the current ZIP entry and positions the stream for writing the next entry.

    Throws: ZipException
    if a ZIP format error has occurred
    Throws: IOException
    if an I/O error has occurred
    write
     public synchronized void write(byte b[],
                                    int off,
                                    int len) throws IOException
    
    Writes an array of bytes to the current ZIP entry data. This method will block until all the bytes are written.

    Parameters:
    b - the data to be written
    off - the start offset in the data
    len - the number of bytes that are written
    Throws: ZipException
    if a ZIP file error has occurred
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    write in class DeflaterOutputStream
    finish
     public void finish() throws IOException
    
    Finishes writing the contents of the ZIP output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.

    Throws: ZipException
    if a ZIP file error has occurred
    Throws: IOException
    if an I/O exception has occurred
    Overrides:
    finish in class DeflaterOutputStream
    close
     public void close() throws IOException
    
    Closes the ZIP output stream as well as the stream being filtered.

    Throws: ZipException
    if a ZIP file error has occurred
    Throws: IOException
    if an I/O error has occurred
    Overrides:
    close in class DeflaterOutputStream

    < kY$7F56$P/./usr/IBMVJava/html/enterp/en_US/jdkref/java.util.zip.zipoutputstream_mi.htmtm$$ "K" Fields and Methods
    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

    Index of Fields and Methods (JDK)

    K

    key. Variable in class java.awt.Event
    The key code of the key that was pressed in a keyboard event.
    KEY_ACTION. Static variable in class java.awt.Event
    The user has pressed a non-ASCII action key.
    KEY_ACTION_RELEASE. Static variable in class java.awt.Event
    The user has released a non-ASCII action key.
    KEY_EVENT_MASK. Static variable in class java.awt.AWTEvent
    The event mask for selecting key events.
    KEY_FIRST. Static variable in class java.awt.event.KeyEvent
    Marks the first integer id for the range of key event ids.
    KEY_LAST. Static variable in class java.awt.event.KeyEvent
    Marks the last integer id for the range of key event ids.
    KEY_PRESS. Static variable in class java.awt.Event
    The user has pressed a normal key.
    KEY_PRESSED. Static variable in class java.awt.event.KeyEvent
    The key pressed event type.
    KEY_RELEASE. Static variable in class java.awt.Event
    The user has released a normal key.
    KEY_RELEASED. Static variable in class java.awt.event.KeyEvent
    The key released event type.
    KEY_TYPED. Static variable in class java.awt.event.KeyEvent
    The key typed event type.
    KeyAdapter(). Constructor for class java.awt.event.KeyAdapter
    keyDown(Event, int). Method in class java.awt.Component
    KeyEvent(Component, int, long, int, int). Constructor for class java.awt.event.KeyEvent
    KeyEvent(Component, int, long, int, int, char). Constructor for class java.awt.event.KeyEvent
    Constructs a KeyEvent object with the specified source component, type, modifiers, and key.
    KeyException(). Constructor for class java.security.KeyException
    Constructs a KeyException with no detail message.
    KeyException(String). Constructor for class java.security.KeyException
    Constructs a KeyException with the specified detail message.
    KeyManagementException(). Constructor for class java.security.KeyManagementException
    Constructs a KeyManagementException with no detail message.
    KeyManagementException(String). Constructor for class java.security.KeyManagementException
    Constructs a KeyManagementException with the specified detail message.
    KeyPair(PublicKey, PrivateKey). Constructor for class java.security.KeyPair
    Constructs a key with the specified public key and private key.
    KeyPairGenerator(String). Constructor for class java.security.KeyPairGenerator
    Creates a KeyPairGenerator object for the specified algorithm.
    keyPressed(KeyEvent). Method in class java.awt.AWTEventMulticaster
    Handles the keyPressed event by invoking the keyPressed methods on listener-a and listener-b.
    keyPressed(KeyEvent). Method in class java.awt.event.KeyAdapter
    keyPressed(KeyEvent). Method in interface java.awt.event.KeyListener
    Invoked when a key has been pressed.
    keyReleased(KeyEvent). Method in class java.awt.AWTEventMulticaster
    Handles the keyReleased event by invoking the keyReleased methods on listener-a and listener-b.
    keyReleased(KeyEvent). Method in class java.awt.event.KeyAdapter
    keyReleased(KeyEvent). Method in interface java.awt.event.KeyListener
    Invoked when a key has been released.
    keys(). Method in class java.util.Dictionary
    Returns an enumeration of the keys in this dictionary.
    keys(). Method in class java.util.Hashtable
    Returns an enumeration of the keys in this hashtable.
    keyTyped(KeyEvent). Method in class java.awt.AWTEventMulticaster
    Handles the keyTyped event by invoking the keyTyped methods on listener-a and listener-b.
    keyTyped(KeyEvent). Method in class java.awt.event.KeyAdapter
    keyTyped(KeyEvent). Method in interface java.awt.event.KeyListener
    Invoked when a key has been typed.
    keyUp(Event, int). Method in class java.awt.Component
    KOREA. Static variable in class java.util.Locale
    Useful constant for country.
    KOREAN. Static variable in class java.util.Locale
    Useful constant for language.

    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


    #_t lA$7I66$/TS./usr/IBMVJava/html/enterp/en_US/jdkref/l-index.htmp.zi$$  a et".<>cdhilnors /=_fgjmpuv#()bw CLSxy,-EFIMORTkABDGNPV0UWqz3HJK!&189;QY25:XZ[]6X6ioӣg*0mAuN2 X8 ,3{2ߧEs`@88 @rZ[S?Nmi08@,e#%AoGm4pUl  (,`@`p;{ 0q $(! l ~N^k2lqelQgBR A fP @*X8 t"SHKTrN nF5?0Tr1?БwvbwXoJv~C3IIKc[xe=8YoJ|b*ɽ34$l&>؀$JY;,Y,!dobt`-`/酒~C3IIKU8adPv)ro} %'xI,G`/酒'`b&Rw8adxIɽ34$YoJp ;97f$G`/酒1Oӓ{fi);I`%dv2Y)0 ;97f$ #qK1Oӓ{fi);I`_ %0N?NM %8ad<$ SJNX #qH< ;97f$Je}0S<$ SJNX;~L,~C3IIKk#qL1Oӓ{fi);I`;~L, ;97f$G`/酒1Oӓ{fi);I`;~L,<$ SJNX8adxIɽ34$;~L, ;97f$_ %:~C3IIK#qJxIɽ34$,_ %('`b&Rw-dv2Y)~C3IIK:e}0R~C3IIKYoJC@1Oӓ{fi);I`G`/酒~C3IIKYу3\_nHxG6 bYs}J}!~E7;.e&V`ձH\Yf,-bx1of,l%>?"lưe\Yf25ݬ}0RoGGȔOӃqYR+"; PU ݝ,Zٽ/ToJMqzYVprgqY8ksv9Whvxqq*kYa adޏW)j " G!#\VEdv BF PU ݝ,Zٽ/ToJMqzYVprgqY8ksv9WhvX.dl\5˩ ui s.4 cqBP]_ %&zTxNT88WoG>F(/i KD\VEdv BF*`ʻD:[c[7I/U+"S?NV+";ns.g*nx䶷˩ ui s.6_zp_ -P]_ %&z5B } uZՑ J+l}kfz5KadޏVfU3ONT89[3Kjg)tYv9`)+lTГT8kvIS_۹HnSS?N]%,T8 \%BrnjIS_۹HnSS?NVvPOk̻ ͽ~Y6D 0@8L)+gΰNJkYa adޏVfHHƿӷrܧЧU~> JY]YqyֶoGp3ToJMnjk;w) } uZٞRX n[:,ƻ[˰:a9^I; ']3P_mn/6nXBY)7١:SzPL K##@L P_7\%mlޏW_ %&zS}44U~%> CVG`]e&0>~\}vwl(qe/酒z=Hl"q:OӃAòZ JY]Gj%C |p>z=Hl"}0RoG T7gBVprgxݝG`]e75 JˏfqKne޿-nΊkYa adޏT|Uv:STBZ%, ;BZ%C |p>z=Q1KadޏT|Uv:Sl), BF,ƻ[˰njo_ ;,\5[2]6 S$ܹzk uP]_ %&zb)j "5Z%, ;BZKDqyֶoG>F)~L,ꏑ0U~%{HHő8ksv B'`e|+uBF\˽~\}v֡Jd2_u?Ꮆӷrkz5+/]Hzp\$ P]_ %&zEHvt)j  ޏT|P0QGARv Y0/5uV!I6R8ݝ uZٞRXvtYv9`)*޿.v\˽~\}v֡Jd2_S.똣qp^q:(qe/酒z=Hl"q:OӃARv oG>F((n)d}t'``0 (n*`^k넭Ca/酒z=Hl"q:OӃ< ;ns.ѯخxGV˝/_S.똣qFYtׯk uN5:隅%[I{;qe/酒z=Q1UBFOӃARv oG>F(/i %, ;!#qyֶoG>F)~L,ꏑ0U~%{HHő8ksv B'`e|+uBF\˽~] cnmjI82_S.P]_ %&zb)j  ޏT|P^0 pK#렩;{HH5Z%C |p>z=Q1KadޏT|Uv:Sl), BF,ƻ[˰njo_ ;,\5[2]6 S$ܹ8ׯ˩ uUBF(qe/酒z=PpU~> \1\YqyֶoGRY)7 G uZٞRX qdv5]sPzz.˦LKq(65v0l݌7/tP]_ %&zBvQًS'"Vpp] P?a9z0\ dv A:Ys>z=UơHhjb}0RoG) WlU]e01~r)j+fyI`W( nG`]eL] ߰] P?a9(qe/酒z=\^BZlOӃ@faJ)d}t `&T8 [c[7I/T}!-6buZٞRXR8ksv Bˁwˏ̱plVYe•5ݬ}0RoG6g9dU~<6hh)dxlՑ J+l}kfzRY)73ZS?NV|Ց8ksv8kvI/T|%)j  JY45dvnJZٽ/ToJMqz[,NT89[3Kg-Qdv5XX]_ %&zU[I'aNT8z=\^~L,FR S?NV"pW ;ns,q+޿.`\1|%+ zVfqe/酒z=\^<6hi\̡NT8rP]_ %&z}SYNT8+#q2+:9zfRhƻ[oJMK5G!}vh?4U~9"@zT@W:ZK#)4YR\ej%C |p>z=RRY)7,v ͠ҝVprgЎ6VG`]eVtrv 2@5ݬ}0RoGb9-)j A`P Y`>⣗ [c[7I/U䴧U~%rZ;ns. ZRbk)W۰kYa adޏW.344U~( %@H9dv(qhC\%mlޏW_ %&zQq١:Sl),b¸lՑ8ksv|+h : &.]g9du|ЋV\pvƻ[oJMqzJ)jdpY`/Tr+l}kfzRY)7*ԧU~%W6#q2J]&unXBY)7dJuZrXGb/~8Vqz}0RoGGȔOӃ<+Ȭƻ[˰T޿dnuˎj rnXBY)73ZS?NB@@  ( $A#C`GTr+l}kfzRY)73ZS?NV|Ց8ksv<\U-K[fa,`dh!v1Cvk,!~L,CaHBGg8U~9$9%ء!G.ֶoG T`zI6P ꄋܤ$z]suZٞRX qH4/i8ksv3_s.#e8kvIMS?a9x ȧU~9#5drFkGb JZٽMKadޏT&]cpS?NVa k̻?.H+)s.V]H 9n*9{;Lk_)Lؤ /(ƻ[oJMBj.Vpx׈G$fdvnJZٽMKadޏT&)j+fyI`&ő8ksv B3_s.e9tn:޾ƵnaY 1FuCvk,!~L,O'Lj\#:S%,Hz%C |p>z=PIMTtnV8S?NVop j qdv5]sPz˽|+e8ƻ[oJMGWi S?NR׬T8 [c[7#oJMGWi S?NV$bk̻IVqzV봄P]_ %&zbe uZ3^ JY J+l}kfzbI!# YyBVprg!#d /(;ns.RU~\rFkC_۹KlЖzV봄H^QCvk,!~L,ꏑk;w(S?NҀ ԰( #C`GTr+l}kfzbIӷr:Sl), nG`]e5ݬ}0RoG6q uZE8jY)VGb/~8Vqz}0RoG6q uZٞRX8΋#q23?lp5ݬ}0RoG>F)ܡNT88P( Ph RP(, 0^mHqQ˄ꏑ_ %&zbNOӃ<%Yv98kvIMUg;f@ uZ d JYK%5 J+l}kfz5/酒z=Pv OӃF*0?JN:SP?Rt%, R%C9WhvtKl}kfzbI@fe):OӃ<*0JN#q2&ro7c 37c,\5)۳|#gek5ݬ}0RoG>F*0?JN:SP?RtoG>F(/i %, R A:Ys>z=Q1KadޏT|Ta 32 uZٞRX 'E8ksv9WhvmP?RtY .l :ݛk;+^f(qe/酒z=\^8%:St@0T8 [c[7I/Tٜ|ҝVprg,ƻ[˰*H˙wm8%~]wގpzcug:ٻ]Õ45d6n(qe/酒z=PpU~0FՑ J+l}kfz5/酒z=PpU~%GG`]e75 J0˽~YpV+u?ᎱAGٻ qd6n\5ݬ}0RoGFҝVppWD K]Yqg*nΖ\mlޏW_ %&zTa])j+fyI`T+#q2&+~Hˌ+kYa adޏUB@S v:St@0T8 \%BrP*d+ RY)7Ca5T!]iNT89[3Kd+ Yv9`)*ߕS˽~\[_L2qe/酒z=Q1ZgqOӃRº; P_7\%mlޏT|RY)7#wIyNT89[3KϦwƻ[˰*"Cr*hm[;MgzcsCOCT8kvIME8S?NWD r\;FՑ  w(%C |p>z=PIME8S?NVL##q2%[Wne޿,G+p cvt pX¶8ֶL#!v2naRo_S..ܢnXBY)7 NT88T+!-B;BZ%C9WhvtKl}kfzRY)7 NT89[3K]Yv9a4Ϲ[,um'F\a]Juu?Ꮁƹ p̻Fʨqe/酒z=\^0OӃB"5BRWVG`K@*sy PU ݝ,Zٽ/ToJMqzºS?NVWVG`]eM3V[I0Wn'{;t*|xm~6cr@YKwInXBY)73ZS?NWDRнsudv h^9T8 [c[7I/Tٜ|ҝVprg,ƻ[˰*H˙wm8%~]Ochim5i5ݬ}0RoG T}&~Sa)j+ Bj h^9Rº;T/i*`^k넭Ca/酒z=Hl"3 NT89[3KL*;ns.B[[¶}&~SCn0޿.`\1446rnXBY)73ZS?NWDRнs h0U!- g8 pP_7\%mlޏW_ %&zSfqKJuZٞRX3Z;ns.B[[~ 뾛 o_S.넝N@k޿,q`\1}!-3ƻ[oJMqz[,NT8z=\^~L,MYBVprg[,k̻ moa]zV9o~]Ochim5i5ݬ}0RoG6g9dU~07 %ܠ0U!-qyֶoG/酒z=\^8%:Sl), Y-Yv9`U!-+~]OcB[b (qe/酒z=Hl"3 NT8z=\^~L,MYBVprg[,k̻ mnhm+kl$e~]OcvKa9gzp5HKl]!E5ݬ}0RoGARBFOӃzbRº;!#qgfnJZٽ/酒z=T: :0U~%O:1dv5]sP~WNs.봄̻`hUn~]0Whƻ[oJMqzG%:S@q@8 , %@q@8 , ,0^mHqQ˄KadޏWrZS?NVB9-Yv9`,\%~ fJݕwƻ[oJMqzG%:S@qA`@H9,  A#C`GTr+l}kfzRY)7OӃ<KVG`]e + _»oYqP]_ %&z͠|JuZ HD%R»Y!-nJZٽf~L,j6`q)j+fyI`\|VG`]e^mo_w `! C.9#5\pft$er7a9\$7'*XtWogm7~Z7c4%!v2 @얨qe/酒z=Hl"»LУpRtpU~*nVhQ!'G K]f2tqdv A:Ys>z=Hl"}0RoG UWin BNOӃ<*nVhQ!'GG`]e5ݬ}0RoG3 uZ(Pdv(qhC\%mlޏW_ %&zQp:30U~%Gxxő8ksv|+m[h : 垅r]˄rq.t+{;/pYt-kgt5ݬ}0RoG T}&~Sa)j h^9RϹdvH4/i*`^k넭Ca/酒z=Hl"3 NT89[3KL*;ns.[}&~SCn0tpmi5ݬ}0RoG>F*K`vOӃ} G!#rnJZٽ}0RoG>F*K`vOӃ<bk̻ uo_S..soۃe΃n0O@5ݬ}0RoG>F*8U~3oG>F(/i %,G`$`0^l [c[7#oJMGT6OӃ<,6,ƻ[˰Vu?Ꮂ;/6\6T P]_ %&zV#ҝVpp`  `  Gb/~8Vqz}0RoGb9-)j+fyI`!ƻ[˰˄r>HrZƻ[oJMG6>:SpL}j ޏT|P^0JY֫#@^0J+l}kfzbIֱvPU~%1T#q2! mn3^>u+8u?ᎱƹsCvk,!~L,Ure uZ>A$`3 VG`$`0/5uW nPܳz=T: QIW(QQvQNPU~%S?Yv9aSֶa#,ޏUG(+,Lqe/酒z=T: QtZ}BVpxϸ&>oG>F(/i %,cU /i %C`;5uVP*Dr_ %&zt\9EP6>:Sl),A1T#q2*}Iz p\%zk7C)v >?)kYa adޏT|ScXϻ(S?N֢ G!#*sy K#>dv BFTnJZٽ}0RoG>F)gݔ)j+fyI`L}j>k̻gr˩ u˝a1nXBY)7C*3?OӃ}1z=RPޏT|P^0JY֫#@/i %C |p[/,ޏUG(}0RoGAU#Tgݔ)j+fyI`TG`]eTImWX]Oc8kvIW(QT: c>NT8z=Bʪ_ %&zgUX|pVyBȨU~%p8 @58ksv|+pCahmv \g plp;P]_ %&zQ}h?(S?N @pP%@ BP6JZٽ/ToJMqzN~PU~%t8:k̻Ǚp߰Yv:[jKbb2>rnXBY)7#D%; uZ> hz=Q1A{HH)dgT YT8 [c[7#oJMGQ lVprgPYv9aS.tqzظk_S.S65ݬ}0RoG>F*8U~3 z7#F}PO@Ց /i %C`;5uVG/酒z=Q1U :Sl), #q2*}ս~]Ckuu?ᎱA[fd`*\Y 8bdCvk,!~L,[9 )jkpL:TD%%,kpL:Udv`ĨqyֶoG/酒z=\^g8:Sl),NqVG`]e&n~\%fR)o_[cm5mBm6[gC*ƻ[oJM!6NT88T G!#oG>F(/i %, |qdv BF/i %C9WhvtKl}kfzEKadޏR3oOӃ<*mő8ksv9Whvm.:b[fkYa adޏR3oOӃM8 ޏT|P^0 fzbk7#M8;!#X^0J&reΖ!I6Tf)j+fyI`T#q2&r]&u9 m@֏%:S|@R; T#CC\%mlޏTToJMK5Ņ:h?6Vprgy͠Qdv5X]_ %&z͠|JuZ6:jYVGb JZٽf~L,j6`q)j+fyI`\|VG`]e9q|lnH+){;5nh?6[l,n8kvI/Tٜ|ҝVpxͿpD%kJY,*`^k넭KadޏWl>riNT89[3KfqKVG`]e55ݬ}0RoG6r e uZ6)df߸;BZKDqyֶoG/酒z=\^K(S?NV|%Yv9cvk,!~L,MY-)j)df߰G`*`^k넭KadޏWl>riNT89[3KfqKVG`]e55ݬ}0RoGH8W2<6hiNT8z=Q1KadޏT|Q^S?NV_׬ƻ[˰njo_/S3=!: \" s.v1@Tqd6n5(qe/酒z=T: Q3+qNT8z=Q1KadޏT|SNT89[3Ky*8;ns.RU~[tTБfA0er[ Cvk,!~L,;*;JuZ9Pő J+l}kfz/酒z=G}z@c`wNT89[3Kh`wk̻ mo_ ܐ8VRw3kYa adޏQ^P23(S?N/ %,`,T8 [c[7wש~L,;*B[e uZٞRX@T ,ƻ[˰e/g~9ƻ[oJMG )j`Fr0 CG`*`^k넭ꏑ_ %&zbOӃ< Yv9`)*޿-2][w/r1Cvk,!~L,ꏑt)j`Fr0 CG`*`^k넭ꏑ_ %&zb4G uZٞRXQő8ksv B9h2_ 4G,@oF^r0JnXBY)7#\gU~3_ JY/ YqyֶoG>F)~L,ꏑ.3S?NVLgdv5]sPzFZ>(e̻¶ ؁A]`5ݬ}0RoG>F*3(S?N/ %,`,T8 [c[7#oJMGB[e uZٞRX E8ksv BC.e޾T _bnXBY)7#VpxF~(`)dg#1dvnJZٽ}0RoG>F*3:Sl), Yv9`)*޿-2][ [5ݬ}0RoG>F*H+(S?N/ %,`,T8 [c[7#oJMGIe uZٞRXpk̻IVh2_S. _[fdg#CfbnXBY)7#WΚS?N/ %,`,T8 [c[7#oJMGUOӃ<-󦬎ƻ[˰njo_s.𭅾tqP]_ %&z" ?*S?N @,$-,  @@`P@;8{ }!G.ֶoG"*_ %&z" ?*S?NVpiU8kscvk,!~L,4NT88P0 (5,  @B@0^mHqQ˄ICOʔOӃ<~Udv5X]_ %&z5LQݮ9͏JuZ9z=T: _ %&zt.t$aNT89[3Kt$bk̻IVtçsn7l`ƻ[oJMP*d+ U0WhS?N G!#;!#qyKrU0Wh}0RoGAT!]jB@ҝVprgpWh;ns.RU~]0\ }~6reWk T8kvI/Te \١:S9Wi-z=\^&g9dJY3vڬ38%T8 [c[7I/Te \١:Sl),)45dv5]si G+zUxKkeΗ˩ ug9dCvk,!~L,t 0riNT89[3KfqKVG`]e55ݬ}0RoG;yT*~e uZ:0\|oG;yTcOk7<^Q@yTFu`e*;KqQ*`^k넮ܡ}fzSK)~L,NU/(.YBVprgYv9`L+zV(n޿nN9~\)s,q_r[[wl`x9Cvk,!~L,NU/(!#+'"Vpxκ ,_NU/(Spqz}O*P:U/)Gt.YJ15RTpJ+l}kfzSK)~L,NU/(!#+'"Vprg!#8݄;ns,qe/酒z=Q1Mn uZ B@5, p@4$ Ցء ߰m*9p>z=Q1KadޏT|S_۹BVprgӷr#q2nXBY)7 Ll(NT8؀$JY;,Y,!dobt`2QMe:,` fz l$Y7I66$(0./usr/IBMVJava/html/enterp/en_US/jdkref/m-index.htmp.zi$$  a .et<>cdhimnors "_fjlpuv#/=MSgw (),CEIbkxy-ABDLORTUFNPVzGHKX03JWY[]*12;Zq!&589:Q+6H,DΣ9ˢee7^u5PJ$` THKu(Q$$``0 @ C@e(0D*nCE!8O4[((( U@!7a@,@.P 0q( @P*!:;I%#s'^ &I ӱDMBC (H ( [, (#\ҔeFL (JL@p^qt (JQ$UU'dr̶ʭ,@:y-4]TM,q;y;n!٢t P,9  %"*o)"J$tv)"TI lI aWA!mו[;4YOJ$WQ$'e (8 3-|f))@t$le, 3-|f))AiI a`f[uVSR I a+ʭ,@$WQ$'e (+ʭ,@I atyUCE ]DM,]`^Uoe?(WQ$'e )WA!mו[;4YOJ HHO QWA!mו[;4YOJt$le]`^Uoe?($WQ$'e (+ʭ,@R++ʭ,@ HHO T0Bۯ*vh$WQ$'e * WA!mו[;4YOJ$WQ$'e (+ʭ,@I aHf[uVSRHHO T0Bۯ*vh HHO T0Bۯ*vh5"!>,0YZtyUCEbEuB}6X` n!٢t P5"!>,0YH]`^Uoe?(HHO P+ʭ,@BEuB}6X`0Bۯ*vhR+"tyUCE HHO PtyUCE$WQ$%Q$% mׂw8)r9_)Ih)&FFu಼ nkPl(v׃(fkb@@JEj) 20$S@Ih)&FFu಼ nkQ$P$20$S@DHK5TM,z>ȶMvx )vCzEuY$ ߮]#vSK;toGM,z>ȶMvx'Rtd]DT1U@.'FT;!",P:}6X`tMvx77hM@ŔRe (ޏ?lOKdm׉/bye(EuERXU :;qS?A!Hn;,*Ue (ޏfFO!#Ax~0-]^$g8h, ?]#'H`t`]A6IqH/c*22:7M,z>o?Mvx'Rs! тEuERXU zJPqX$0Ax~0HŘmB49dTj>,0YF}622~1  сl#9FOA` ޏXݓ8$ ? Ct$ ʖwޏf}6X`mddb;5uK؞YJ22~0 /F IIcTOdu+1C9FOA`"b{$e37~N|vY$U%O Qhk -]^$`P0,,WU@>Ne:F}:oG|,0YF}6#."ekė<J\D6vYޑ]DT1U@- K!|ftaNkr$U@a7Ѱ 3%tCg5u_hIJzEu:d35e:F}6M,z>@2X@6{,-]^$唠:4n;+**g|[%,х:t= 쳾",P:}6X`tl9 c%"5u_hIJzEu:d35e:F}6M,z>@2XgfHMvx'RfK ̒EuERXU nQ6ݮ)ЭnTYdTj>,0YF}6#."ekĿ,0YF}6#."ekė<J\D6vYޑ]DT1UCsk[%,|ftaNkr$U@a7ѵ\FYْ-]^%AWPC6I3[SK;toGۣia7ѵ\FYْ-]^$唠." ̒EuERXU nQ6ݮ)ЭnTYdTj>,0YF}6cܓz=wɮۯ CBJS+!Л$)Х:7Ѵleَ;rNlY[&nI{)@+ܐlCF쳽"",byεKBRm]SZNڞ;*Ue (ޏFqےvddm׉xC%)AhM@ŔR}6X`tl)gfHMvx'RW ^vd+**g}krO!|ftaNkr$U@a7ѷ@6{,-]^%AWPC6I3[SK;toGۣia7ѷ@6{,-]^$唠gzEuERXU kr>3v0B:=w$U%O QndxvI= ;dm׉xC%)AhM@ŔR}6X`tlC òNlY[&nI{)@Cd hݖwWQ$U%UP ַ)hJY 7k t+ZӠzSg}ERYtleΆAd"5u_hIJzEu:d35e:F}6M,z>9 씳$[&nI{)@CdfI"",byַ(dGnFV*{,HK5TM,z>vddm׉xC%)AhM@ŔR}6X`tnYْ-]^$唠^vd+**g}krO!|ftaNkr$U@a7ѹ̑l/t4$?=" Hز Ysz>O Qndvddm׉/bye(n ̒EuERXU nQ6ݮ)ЭnTYdTj>,0YF}6yK;2EkĿ?e)A3H$#8BwޏFoGۣko$[&nI{)AmJ\D$$3v0OB0̑$U%O Qn a,cz=wɮۯ iJy{"'p㲝 Ysz>O Qn a,cz=wɮۯ^P c`z7eIIcT nSY]\?\W󎭍kr" \Y,22ʚ_8ƵDI\YO5"b(㬒*Ue (ޏFÐ0̖1= ;dm׉yJyEuY$Ne:F}6M,z>@2X@6{,-]^$唠:4n;+**ܤyeD%qf("ba̯?+[w$RWbK1TŔ?Η;dTj>,0YF}6dlY[&nKƠyJSƠy+ & fkbt)gy΍tm>,0YF}6dlY[&nI{)@t 3% hݖwWQ$U%UP3'ZNڞ;h|enRWbK1TIJTyOlY;$U@a7Ѱ 3%vddm׉x>2`@IJx>2bEu$ lYN,9ѽne (ޏFÐ0̖2Yْ-]^$唠:$]DT1U@8ZYS@-krQ?%рUkv#HK5TM,z>tCg5u_5όR5ό]A6I3[SK;toGۣia7Ѱ)q@6{,-]^$唠8R!= $dt(#lCF쳾[:xdl*Ue (ޏF/)qgfHMvx@-@-$WP@M@ŔR}6X`tmmvddm׉/bye(-@iK$]DT1U@8ZYS@-krQ?%рUkv#HK5TM,z>1nI= ;dm׉x>2`@IJx>2bEu$ lYN,9ѽne (ޏFqےtCg5uK؞YJ\v`z7eIIcT Vӧ@6l[ŘRUEx2,jE.,S[N",P:}6X`tl)gfHMvx@-@-$WP@M@ŔR}6X`tl)gfHMvx'RW ^vd+**Cۚܕk]:;h|enSj'侺0HK5TM,z>tCg5u_5όR5ό]A6I3[SK;toGۣia7ѷ@6{,-]^$唠gzEuERXU2{:qt= 쳾[:%qf)AD^ ,K'K1TœHK5TM,z>= ;== ;dm׉x>2`@IJx>2bEu$ lYN,9ѽne (ޏFBmtCg5uK؞YJЛC`z7eIIcT Vӧ@6l[ŘRUx0)+1RRU?5d¨{\ӶB;dTj>,0YF}6zhwX|$[&nKƠyJSƠy+ & fkbt)gy΍tm>,0YF}6zhwX|$[&nI{)@:hwXx/;2IIIcT ÎnJOe4>2ַ)A5_]Pmm292HGl*Ue (ޏF坙"5u_5όR5ό]A6I3[SK;toGۣia7ѹgfHMvx'RyْHHKfunkrUt{,褐yεO ",P:}6X`tn{'@t$[&nKƠyJSƠy+ & fkbt)gy΍tm>,0YF}7=:Yْ-]^$唡'@p/;2IIIcT ÎnJOe4>2ַ)A5_]Pmm29;$U@a7Oum`t`[&nH) ?]wtSo80Ax~0H'@pM@\a= ʌgy΍ia7Oum`t`[&nI{)C[v/Fkė<3m/F IIcT,>6 mzfMrqrtW++ $U@a7ֶuHMvx``,h%(`#JEuY$ ߮]#vSK;toG>,0YF}:.ɮۯ^P[|$]DT1TIIfoGÜ9?[&nKAop#JSEu8s6I3[SK;toGoGÜ9?[&nI{)@wbrEuERXUP'Zܠ;1n:3GSZܡϹ*t:",P:}6X`s:EkĿ;pvH$?$WP@Ãa;$d35e:F}m>,0YF}l9Ý "5uK؞YJpl7d+**:86T=R<2:}TLk^ yIIfoGZ[&nKC"qL`IJHE*$˧,BwޏZ}6X`;uKdm׉/bye(g֤WQ$U%UP/5 Bu,Z>4ŘE"br;$U@a7-]^%@ ã*:?BJSEut~QGM@[SK;toG>,0YF}:kė<3R+**:}TLJQGE.,R<2vIIfoGZ[&nKCThIJHCBЛ$˧,BwޏZ}6X`;uKdm׉/bye(g֤WQ$U%UP/5 Bu,Z>4ŘCR)qf*!HK5TM,z>o5u_Qр ]AFpM@[SK;toG>,0YF}:kė<3R+**:}TLJQр\Yyd*Ue (ޏ^Y[&nH0 ,a )C$ %".w;)Х:7֟M,z>zgal%O,,HHKcrGѓFkֶYKr",P:}6X`;u]{-]^$` @IJ%]VIwH;RwO Qgx˯rEkė<.$WQ$U%UP1Ozv8B=p㲌q9)0x2_CvN$U%O Qgx5uFI`@ )C$ $WU@>Ne:F}:oG8GpMvx'R;IIcT nSr^; oG,*Ue (ޏZ׹"5uFI`@ )C$ $WU@>Ne:F}:oGmܑl%O,˯rIIIcT nR <2ek]:1s)ӭnQC{Hʉ'E%qf)mHŘ$U@a7Ƞvɮۯ0 KhaJ%`H41".w;)Х:7֟M,z>lal%O,"qؑ]DT1U@;'|fr9Hʉ'%qf)@8HŘ$U@a7a[&nH0 ,A(` ĊH\G8BwޏZ}6X`;ut~ɮۯ^P t~WQ$U%UP1Gy\R<2ehI\Y0HŘ$U@a7nɮۯ0 KhaJ%`H41".w;)Х:7֟M,z>nl%O,pvI"",b;vOirQ2D,:K1VIIfoGql#$ `XC+ nr'p㲝 Ysz>ia7t`8Mvx'R1$7(!=yeD򒸳t`9"b*Ue (ޏ\il#$ `XC+ nr'p㲝 Ysz>ia76Z[&nI{)C[jEuERXU GWMERYtle펓bɮۯ0 @0,444(``Xh hh+ nr'p㲝 Ysz>le펓bɮۯ^P,0YF}aѓ2Gqkė<IIcT BPkrLsta:22kGq9+[!$t+[3n1!ٴ{HK5TM,z>0#4Mvx=xPѮp ޏ?l.0dJSle펓bɮۯ^P0l" L[v2vm.0d*Ue (ޏ?l#5vHŲkĿ9<bp}aqC$R 1CF Ċ 7 $)ЧCrFue (ޏ?l#5vHŲkė< 1CFxq $WQ$U%UEP'Zܧ=Dֺt!IIfoG|,0YF}o;EkČ;%7 ό2Rc$WP@\^|aЛ${$Re (ޏ?m}X~HMvx'Rc$WQ$U%UP\N?[.lkeN#*9)qyCl*Ue (ޏ }#'-]^$`` 40 F$WU@>Ne:F}me (ޏ }#'-]^$唠Gc'HHK{deO9DJIIfoGhI#}gXEdm׉~<;%0xvJid35e:nHμz>BN:oGhI#}gXEdm׉/bye(J(]DT1U@% ׅd~K ~<;%:t+[:Q@$U@a7s!? / dm׉C_`ء%CThUvX\NEpUPSThIJC_`ء%Eu:NP\NEpUPSThM@\a= ʌgy΍;->,0YF}n|d"8%l%O, B!lP"",b ^μ(5v^Jn/h{\ׅyKLɒElhE/)}WʈqHK5TM,z>?~>2sPMvxD5v ^:NQ|~۟edYPpXU:NQhk`IJC_`ء%Eu:NP\NEpUPSThU6;l ^TdeK;toGia7s!? / dm׉/bye(f>2 bIIcTOduAXUq{C嶐N+\FeL+cG,AyLʼ(5vTCERYtlev[񐋟d℗kČB!lP!Ъt4*;,.'FC"8* CBВ3BKĊt4*  0t4,* CBl ^TdeK;toGia7s!? / dm׉/bye(f>2 bIIcTOduAXUq{C嶐N+\Fe:S$^S>22 q{dTj>,0YF}n|d"8%l#1k$t4* z>? ѐȳ C@(©Ъt4*C\u6;JP|d"; /+!Ъt4*td2, t4* `M@\a= ʌgy΍;->,0YF}n|d"8%l%O, B!lP"",b ^μ(5v^Jn/h{\ׅyKLCpvJd[>Qb gFFUA㲢n/l*Ue (ޏ?mߏ\;'$-]^$f>2 bSThXU:ND5v ^$WPCThU:@NS6IqH/c*22:7slev[񐋟d℗kė<3BKĊ$ 'A{:,Ay*qrHO'^.#Q2 )E:f;h!f[>Qb gFFUA㲢n/l*Ue (ޏ?mߏ\;'$-]^$f>2 bSThXU:NQhk`IJC_`ء%Eu:NSaThU:@ͻÎ${$RvZ}6X`;-EqBK5uK؞YJC_`ء%EuERXU xPk D8^m' N" 3  z ѐȳ(3#*Q7IIfoG1=q:2-]^$`` )C`jEuY$ ߮]#vSK;toGM,z>qёl%O, td]DT1U@yKӠ#*? uP)q:2HK5TM,z>qёl/ RA".w;)Х:7O Q|~gȶMvx'Rqq:2HHKcrJ(AQ? *Ue (ޏ?m dm׉@ $ ]A6IqH/c*22:7O Q|~ɮۯ^P̂ IIcDAqH/g^({XFuERYtle l#2wt+ ndOd2#*Ysz>le l%O, ]DT1TIOdu>B[ZܩqQ;HK5TM,z>-]^$fAz>cvNN3 Eu ::1;<l ^TdeK;toGM,z>-]^$唡+**" ^νCPkk[3n1;aIIfoG1=q:2-]^$`` ,A(`` ,Ad7~tqN,9ѽ|~}6X`#=Ǯ'FEkė<4F{ ђEuERXU.#N0B[!Y$U%O Q|~yɮۯ3  $ H${$Re (ޏ?mdm׉/bye(fA?EuERXU>0}? yY$U%O Q|~./>0il#2  )C2 H${$Re (ޏ?md4Mvx'Rd ό2]DT1TIIfoGyl#2< $  H 'A{Q,9ѽ|~}6X`ߐAۏ-]^$唡w]DT1TIOdu>d }v+~;T#A"&EM HK5TM,z>vdm׉@7q}:%(fAǤWP@ݓ8& .0eFFTF}ia7~AncvN7@kc-ZRd zEu :fAhhM@\a= ʌgy΍oGyl%O, $ }kk¼2D:>L2աIIfoGleCKdm׉@kc-ZhIJ@kc-Z]A$ ʖwޏ?m>,0YF}o!6Z4Mvx'RdVWQ$U%UP\a= ר`@kc-ZFFUʙeERYtle j5uFdV:AщRdVWPCT6IqH/c*22:7O Q|~M -]^$唡2աIIcTOdu>dVёkr~-;A#dTj>,0YF}s"5u_@R@]VIwH;Re (ޏ?nb3ztd[&nI{)CDg$WQ$U%UP1[KѕSN",P:}6X`- ;Dm9l#2s=77d )C2s=H'@pM@\a= ʌgy΍- ;Dm>,0YF}6cdMvx'Rd`!òz]DT1UArϹ:8vOh{ʙesFN־ߖIIfoGsKdm׉,d}:%(fN|vWP@ݓ8& .0eFFTF}me (ޏ aɮۯ^P̜c'HHK{$ַ*gcB",P:}6X`^0r[&nH`a + nr'p㲝 Ysz>G!M,z>G!׮1ɮۯ^Pz1WQ$U%UEOcT{IIfoG4Mvx1c@AJ 0 4$WU@>Ne:F}ia7r[&nI{)A5"",b(N;A_ܝk~ַ(fotȏnBXCh*+Z2",P:}6X`۠z4Mvx1c@AJ 0 4$WU@>Ne:F}xCm>,0YF}xCm= r[&nI{)A= G!IIcD@?7~.0mERYtle9 -]^% )OEu$ lYN,9ѽ|~}6X`ɮۯ^Pb9 HHKN2C3}:tȏERYtle nH5u_ذ?5bEuY$Ne:F}6oG3m#C dm׉/bye( BbтEuERXUERYtle,fMrqɮۯ35`#&8 ;u ;35`IJذ\~I35`M@\a= ʌgy΍ }6X` [3&8dm׉/bye(fkbFMrq$WQ$U%UQ$U%O Qa;~kbd'l#3[2k ޏ\ñ{c3[Qa;r@2 )C3[2k"f, ˿7$ɮN?c ${$Rle,fMrqɮۯ^Pŀ2HHKHK5TM,z>kd[&nHH$4h`X(HhP H$ˤ|Ît)gy΍C\ue (ޏ5Zyɮۯ^P_; $$ @\a=22}ekIIfoG>ᑓɮۯ04  AJ  PH!".w;)Х:7pCm>,0YF}m?l%O,> ?EuERXUg u.0mPH$4h`X(QÙ\dTj>,0YF}l9ÙsŲkĽ7[`wbpIJ{]AwbpM@ŔRlef-ɮۯ^PÁ?]DT1U@% ַ([Ρ!ַ(U+Z׃)uERYtlet7ddm׉{oG A" $)Х:7[ia7[anɮۯ^PÃa;$]DT1U@% ַ(!ַ(U+Z׃)uERYtlew֖ɮۯ@!@8 E$=HE*$˧,BwޏZ}6X`;uKdm׉/bye(g֤WQ$U%UP/5 Buʛd&V%qf)@8HŘGN",P:}6X`;uKdm׉{aF%)Eut~QGM@[SK;toG>,0YF}:kė<3R+**:MU+GƒaK1T9 ERYtlew֖ɮۯ@!Ъt4$=HCBЛ$˧,BwޏZ}6X`;uKdm׉/bye(g֤WQ$U%UP/5 Buʛd&V%qf)Ԋ\Yyd*Ue (ޏ[MvxFpIJ{]AFpM@[SK;toG>,0YF}:kė<3R+**:MU+Gƒt`9"br;$U@a7׭vɮۯ04,a )C@bpXh( H\G8BwޏZ}6X`;uekė< l"",b{>N5^_7IIfoGmܑl#@b``@h )C@b``@h H$ˤ|Ît)gy΍;ue (ޏZ׹"5uK؞YJ o^+**ܧzv8B=p㲌q9)0x2_CvN$U%O Qgx5uFŁ`H40 hbEuY$ ߮]#vSK;toG>,0YF}:Äw dm׉/bye(#]DT1U@=s}#C+GrMERYtlew[|$[&nH 1`@ H$ˤ|Ît)gy΍;ue (ޏZ׹"5uK؞YJ o^+**ܥ yeDֺtcSZܩvOirQ2DH,-IdTj>,0YF}:5uFŁ`H40 hbEuY$ ߮]#vSK;toG>,0YF}:5uK؞YJE"",bʛdݮG)rQ2D,2(dTj>,0YF}::?Kdm׉ ”04,Ad7~tqN,9ѽgxlew0-]^$唠HHKcrq=7kGTL?)+1FdTj>,0YF}: "5uFŁ`H40 hbEuY$ ߮]#vSK;toG>,0YF}: "5uK؞YJ EuERXU7#C*&VŘCR)qf*",P:}6X`;u-]^$`h XC P $WU@>Ne:F}:oGql%O,cIIcT nT;'9 Z"~RWb$RUERYtlewc--]^$`h XC P $WU@>Ne:F}:oGmMvx'R2Ԋ$7)r^2_7IIfoG3$w[&nK=xPѮp ޏ?l.0dJS=xPѮq" H& fkbt)gy΍oG3$w[&nI{)@xə O]DT1U@ܓ kr9>'*&V)+1[;5"bqC%DHMZN1CivJ",P:}6X`øP5u^9<bp}aqC$R9<bpot2A6I3[SK;toGM,z>0#4Mvx'R 1CR+**"@:=s}MNQkr~-;GaIIfoGaw[&nK=xPѮp ޏ?l.0dJS=xPѮq" H& fkbt)gy΍oGaw[&nI{)@) 1CR+**:=s}1MфVƎ1Ck[!$\aSZܩqVͥ ERYtle펓bɮۯAA#4k7 7 AA#4kH{ Hز Ysz>le펓bɮۯ^Ps1CKdm׉{O5N IJ{O5N$WP@\a$ lYN,9ѽ|~}6X`I; -]^$唠 '0bWQ$U%UP#7$C'Zܧz ʉ\aWBnֺtI:Neb$U%O Q|~F(k8l/t 1CF z>{ )Ot 1CF Ċ 7 $)ЧCrFue (ޏ?l#5vHMvx'R0lЭnTŸc(, J",P:}6X`d4Mvxz'JS=pd35e:F}ia7\^|a5uK؞YJ ό2]DT1UDTj>,0YF}k7"5u^9,0YF}g:z[&nK=pz'+!Л$)Х:7O Q|~Ξɮۯ^P%Ԋ$$U@a70Mvxz' )Ot5N$WPC6I3[SK;toGM,z> 1s dm׉/bye(bEuERXUERYtleor5u^9le펓bɮۯ^P,0YF}:3ȶMvx04R`bEuY$ ߮]#vSK;toG>,0YF}:3ȶMvx'Ry$WQ$U%UP6xbR ё3W+\HK5TM,z>6 Mvx04X  04X  $WU@>Ne:F}me (ޏ }#'-]^$唠Gc'HHKl #*AcW9à$U%O QhkstK'$MvxP0Ax~077d z>cvN77d )C9y8%`t`]AvNtPݓ8& .0eFFTF}:oG /0Ax~0-]^$唡P0Ax~0HHK{$C9y8%`taCݭnTŸc)22FIIfoGۣf8-]^%tJS$WP@M@ŔR}6X`tlkė<HHKgܝzcF3?aߔŸc(8FE%qf(qؑK1Uq{dTj>,0YF}6c5u^Ja%)t]A6I3[SK;toGۣia7ѳvɮۯ^P "",bru鎖/c!(~SS?ֺtIŘbE.,TCU: 9:FFm1d읒ERYtlet7ddm׉|XoG " $)Х:7[ia7[anɮۯ^PÃa;$]DT1U@% נ;pvJ3GSZNS*Ue (ޏ\ñ{ocEkČcA%(dXH${$Rwv/m>,0YF}:|X-]^$唡cvI"",b*Ue (ޏZ׹"5uF(h`,H`0 )C@40X$0 WU@>Ne:F}:oGmܑl%O,˯rIIIcDTj>,0YF}:.ɮۯ0 CCepP$ @PYc@$` H$ˤ|Ît)gy΍;ue (ޏZ׹"5uK؞YJ o^+**",P:}6X`ɮۯ;%2;%4H<Ît)gy΍oG4Mvx'RjEuERXQ$P1S߹Q2OcT3HK5TM,z>Άl/`JxoG 6䧉pn$ lYN,9ѽoO QopCpvHMvx'R $$(N w=ǜr9N9)DֺaTdTj>,0YF}l9Ý "5u_oG 7[`w IJ|XzEu86ATpn$ lYN,9ѽoO QopCpvHMvx'R $$(N86T=R<2:ֺt@Vd4&S*Ue (ޏ5Zyɮۯ0R`@R+ nr'p㲝 Ysz>ia7 q־vAEkė<3"",b:O|6Fu(~`}ERYtle_; "5uF``)C@00WU@>Ne:F}:oG|x2$U@a7pCmpKdm׉ 40)C@00A d7~tqN,9ѽ{ia7pCmpKdm׉/bye(XR+**<1qhʆ``26",P:}6X`il#@ѡCB@` F H\G8Bwޏ?ome (ޏ?om(O1ɮۯ^Pȡ< G!IIcT nSsG!'ERYtle9 -]^$`(40@(b0 X 2EuY$ ߮]#vSK;toGM,z>G!kė<CR+**ܤ'Zܧ !Y$U%O Q|~#5uFC  F2EuY$ ߮]#vSK;toGM,z>G!kė<CR+**"By*o>(+[<נ7c >Y9,*Ue (ޏ?om(O1ɮۯ0 X 0RC + nr'p㲝 Ysz>G!M,z>G!Ne:F}ia7r[&nI{)A5"",b|PS|!,ez\^|a$U@a7roG!kČFa0 X` + nr'p㲝 Ysz>G!M,z>G!,0YF}|~9 -]^$唠0jEuERXU6FFU<;|PV#$U%O Q|~#5uFC !”0 X` $WU@>Ne:F}ia7r[&nI{)A5"",b|PS|!IIfoG6'CKdm׉  ,0(`(40 $WU@>Ne:F}xCm>,0YF}xCmBy4Mvx'RE b9 HHKcr'eb9 ?,*Ue (ޏ?om(O1ɮۯ0 X   )C@ѡĊH\G8Bwޏ?ome (ޏ?om(O1ɮۯ^Pȡ< G!IIcT3>u1Ҟӡ;%NeV*^e>(O+m9HK5TM,z>G!Ne:F}ia7il%O, CR+**ܬG!022ؽtStaXCgdTj>,0YF}xCKdm׉  ,`( )C@ѡd7~tqN,9ѽ|~}6X`ɮۯ^Pb9 HHKcr':|QPkj7c >Y9,*Ue (ޏ?om(O1ɮۯ0 XP)C@ѡH\G8Bwޏ?ome (ޏ?om(O1ɮۯ^Pȡ< G!IIcT nSq6DHK5TM,z>G!(O(d猬G!'ERYtle9 #5uFC CC(`(40X`$0 40]VIwH;R9 le9 #5uK؞YJ'5"",b|PTV#",P:}6X`ɮۯ0 X4)C@ѡ@tH\G8Bwޏ?m>,0YF}xCKdm׉/bye(1WQ$U%UP1HO%Ma猭nS݌,*Ue (ޏ?om(O;9-]^$dPܐ@IJ'fs$]A6IqH/c*22:7ria7ro~dm׉/bye(dPܒEuERXQ$U%O Q|~C^HMvx YX~0 ޏ?omrR'g9aĊ'4& fkbt)gy΍oG#נv~{-]^$唠0h/rIIIcTvNOeb9 t{:I< 9S[N 9܆H s :",P:}6X`󳟹"5u_'g9az>G!2(OhIJ|P+ dP#Л$)Х:7ria7ro~dm׉/bye(dPܒEuERXQ$U%O Q|~#|PC$[&nK,,?oG6E b9 )ObEu rd35e:nHμz>G!M,z>G!<9܆HMvx'RE %܆I"",b`C= >(O)t YX~2 !IIfoG!kľ(Oz>rNS%)Bx$WP@b9 CBЛ$)Х:7O Q|~ ɮۯ^P\^|aԊ$$U@a7\^|a5u_'q}a4* CBJS.9"hU:N$ lYN,9ѽ|~}6X`d4Mvx'R WQ$U%UQ$U%O Q|~C^HMvx "\p`A|~#'4$>(Oc+ dP#Л$)Х:7O Q|~C^HMvx'R G!;\=$WQ$U%UPa:>(Oc+mӠCխH "\pe?5d0=dG:{C*Ue (ޏ?om(Otaܑl/Dz>G!2(OhIJ|P%$WP@ȡ< G!6I3[SK;toG6oG6'0HMvx'RE 39HHK$U@a7ro]C$[&nK.8v0 ޏ?omrR'qñ2(OhM@ŔS#:}6X`F:{ɮۯ^Pȡ<t` t!HHK#enB>(O(9 :>Y9*0Kό2^ nB".8v2",P:}6X`d4Mvx d7$oGCBЪt4$>(O!$ G!ThU:d35e:F}ia7\^|a5uK؞YJ ό2]DT1UDTj>,0YF}|~9 zk"5u_'ܖ0 ޏ?omrR'ܖ1"E b9 Hز Ysz>le5_dm׉/bye( r1ܒEuERXUnS2V#A[OnKOlY:(Or /QΞ2@P$U@a7ro~dm׉|PCrXz>G!2(OhIJ|PCrXĊ'4& fkbt)gy΍}6X`󳟹"5uK؞YJ'fs$]DT1TIIfoG6':{ɮۯ< 䱁}xCldP#В< 䱉2(OhM@ŔS#:}6X`Or"5uK؞YJ'Or$$ 1P+[<^d6",P:}6X`il#"1 CBpU:NSThUF'gIJ'5" STt`8* CBЪt4*& .0eFFTF}xCm>,0YF}xCmBy4Mvx'RE b9 HHK{$C"1CvS? /)qyCB"D Ŏ1)R1 RrqBdTj>,0YF}kό2[&nK0AoGCBЪt4$>(OCBЪt4& fkbt)gy΍oG!kė<d5"",b",P:}6X`r/rEkľ(Oz>G!2(OhIJ|P;q2(OhM@ŔRe (ޏ?oG!@r$[&nI{)@`#ш_+**0kr'eb9 t{:I< v)'QC$9܆H dTj>,0YF}xCmByܑl/n0 ޏ?omrR'bEu rd35e:F}xCm>,0YF}xCmByܑl%O, 39HHK$U@a7roÝ=ddm׉|P;q}xCldP#В< v+ dP#Л$)ЧCrFu9 le9 Ξ2Ekė<2(O.2IIIcTbV)ByX z\^|a$U@a7ro]vs$[&nHȡ<t`g?rA%(dP 03$ H 'A{Q,9ѽ|~#O Q|~#|P>:ó"5uK؞YJ'#I"",b*Ue (ޏ?mqyCKdm׉|P 8oGCBЪt4$>(OEHrNS6I3[SK;toGM,z> -]^$唠!IIcTIIfoG#נv~{-]^%Bx2( ȡ< G!%)Bx2(+ dP#Л$)Х:7O Q|~C^HMvx'R G!;\=$WQ$U%UPa:>(OEeb9 t{:I<qœŽt!eC$HK5TM,z>G!<|uчg?rEkľ(OE`A|~#'4$>(OEbEu rd35e:F}xCm>,0YF}xCmBx~dm׉/bye(dP 03$$HK5TM,z>G!<|uсΞ2Ekľ(OE`A|~#'4$>(OEbEu rd35e:nHμz>G!M,z>G!<|uсΞ2Ekė<2(OG]]=d+**6?CېnS݌)t |QTa^d4( {rD|l*Ue (ޏ?oG!@r$[&nKNxz>G!2(OhIJ|P]A"1$ lYN,9ѽ|~}6X`r/rEkė<`b9 I"",b?ַ)Bx'G!<9܆HMvx ,}xCldP#В<哞1"E b9 Hز t7$g^Q|~#O Q|~#|PC$[&nI{)C"C$]DT1UAF!܅z|PPr7΃!G',0YF}xCmByܑl%O, 39HHK$U@a7roÝ=ddm׉|P9 BxCBJSg1"E b9 Hز t7$g^Q|~#O Q|~#|PC$[&nI{)C"C$]DT1UAF!܅z|PPr7΃!RóQz\^|a$U@a7\^|a5u_' hU:N 4 G!ThU:d35e:F}ia7\^|a5uK؞YJ ό2]DT1UDTj>,0YF}kό2[&nK:NHCBЛ$)Х:7O Q|~ ɮۯ^P\^|aԊ$$U@a7>.ɮۯS%)G+!Ъt4& fkbt)gy΍oG|] -]^$唠.WQ$U%UPȣkGַ*gc)ЭnQ$PB\rt:\riq}< HK5TM,z>bq[&nK:NHCBЛ$)Х:7O Q|~ܱ{8-]^$唠^/|IIcTIIfoG%8ȶMvx 0h,h(RZEuY$ ߮]#vSK;toGM,z>)Ekė<$WQ$U%UP1O9KBSDO$U@a72][&nHPXX44 )C@@aa`XP-".w;)Х:7O Q|~ْ5uK؞YJe߉IIcTITj>,0YF}l9ÙsŲkľ(CA8f:Rp3R+!Л$)Х:7[ia7[a[-]^$唠;1n9"",byJ@wbuktd65t0mkrsđG|QT(unQf$U%O Qopbql/8[7B )O8[7R+!Л$)Х:7[ia7[a[-]^$唠;1n9"",bEkrs|] nTŸc*<;%Q2;'[IÛIIfoG3m_+-]^$bkbЀ1ѱX~jEu$ ʖwޏf}6X`makė<1ѱX~jEuERXU>zzk8?6",P:}6X`makČ@rlVhIJج?5" H 'A{Q,9ѽpʹle zk糊Kdm׉/bye(bkbԊ$ }/jqX~mx2S5gcG[dTj>,0YF}l9ÙsŲkĽǜ"oGŹpEu8s6I3[SK;toGoGÜ9?[&nI{)@wbrEuERXUP'^Ź)rNk]:%# PyS_;)$ֺw5 &,0YF}l9Ý "5u^7[`w IJzk8E" $)Х:7[ia7[anɮۯ^PÃa;$]DT1U@% נ;pvJ3GSAN Hl)((0Bۯ*vhHHO Ppf[uVSRI aXf[uVSR++ʭ,@+WA!mו[;4YOJ HHO QWA!mו[;4YOJR+8 3-|f))@"!>,0YM n!٢t PHHO S0Bۯ*vh]DM,@0Bۯ*vhI a n!٢t PHHO QWA!mו[;4YOJWQ$'e )WA!mו[;4YOJ]DM,]`^Uoe?(HHO T@0Bۯ*vh HHO QWA!mו[;4YOJ++ʭ,@]DM,]`^Uoe?(]DM,]`^Uoe?(jEuB}6X` 3-|f))@Ċ$le tyUCEjEuB}6X` n!٢t P]DM,WA!mו[;4YOJ$le]`^Uoe?(WQ$'e (D 3-|f))@]DM,$ 3-|f))@HHHtI l98t'n;(:2fHY@ U/:gRc8Y@ R";%'X㔟M,e^Uoe?(,9vKmlesYsuVSRAgy'A)ԑS8$VIQ$VI"H$IDA`!"9DO lN$7I66$0bZ./usr/IBMVJava/html/enterp/en_US/jdkref/n-index.htmp.zi$$     aeort.<>cdhilmns "_fgjpuv#/=ENSbx ()CMRwy,-ADFIOPTzBGLUkq0HVZ[]'13;JKQWY?!&*2589:X~6P-xyN@t($HpHiPA"rE,,>8d|`HSڲHP`p"88 $T͗Q_K0jc)8 8 Y$(8|u6֍Y[*s@ @ ` P8b - P)ήMkfI b!B]ՒBkCqo (@( EWP 0@Bjd(y򖯱EbLch1T̄4Q@EURj8 ];Ef%Tm)ap΀; pH(Mtp!sM._|nxoKB t PZ7-B}P@B-BZVI w,t`wɸ=._|nxoK(Mt87Tm)`2!WN0QLMwĪs|XZ!WN0QMMwĪs|X%Bmdv(MwĪs|X B`MwĪs|X)Bmdv(@pz]*EF"Mt;|J7vAY$P$ 3eP*!M"MB`m6b=6% 4E " CFT&֒He#| ʙ Faޕ];Ehl;:{ŶlK" <OyBmdTu@eK{LC^~$*]*݆ (Faޓ:ㅶlK",h,,,  )c 4EM$7F:O29֍ý*wa:ѴwθmO,k$5$HS}tv(L%s?;#4͉wD8Rq Et2*d.sL%WN0QGZ6pKy~wFimO,y{O\ ER+V^OER렅];Ehl;flؗ|DJ.WPZI _>C)B::ѴwWN0QGZ66%YKlBmdTtIvT4ײRi|͗*]*݆ (F n:[fĻ e)c,bI~ocS!shar5*wa:Ѵj[ٱ./X'P PY$U)]E(enei)[u fHS}tv(L.Fmm0kI$ }SLtuiԪ݆ (F 2~[fĻ )`m"Mj(졖2!WkqfCo%ZI"MB`m0!Z[fĻ `  X@8M$7F:O29֍#Sd1];Ehar5=C鎵?8͉wAR51k$5HS}tv(L%)c="6%z84@L.FohQK(M$ohRI 3=|-GZ6pJ`m3llؗ|Dye,/e,gd6HSZE7uF$s@ `\(޸/Φ?Ȁ"~rHF7?zjy&FWGH]JuH_7Ze{׺M磝AڄNrER렅];Ehl;:{ŶlK" ,4XX XX4R ,4XX XX46@߿{)e>T\GZ6݆ (Faޖ!-b]_唰:{k$5;*[>\7OzT~q̣HM*wa:Ѵ˔ҋσ<͉wARCσ=BmdTuDT!WN0QGZ6=H=祸d/lؗ|DK1<$(1=Bma!I$kiB::ѴA=*wa:ѴA=-![fĻ )`2k$5 C:C)W)=@3W&r= $6e2 m>UQ{r*]*݆ (F҇ FB8͉wD0\CB\0\C&H v*d.sJ$ҫv(J$ 6%YK_(M*֮7= Rmdm>U|CrHS}tv(Loܑ5[fĻ"Xma6@f{S!shc~݆ (F$sn1ٱ./X A86HSZ:SqƒFS@pv*le>d^3eBIJotui9_ٱ.!E.Xm(M$)$m>T\GZ6߹*wa:Ѵ_/slؗ|Dye,y~6HSZ:Snu;g ΂@ @׹ I$U)Uӻ Q֍#R@t0͉w@`8  R XX,`(0 H>C)B::ѴjUtuiԷP -b]_唰N:6HSZs߽ZexyJf@t1BYŤ*]*݆ (F 2~[fĻ `ec` )cp, ,0  ZI~ocS!shar5*wa:ѴjLߖٱ./X*~6HSZs߽ZexyJfd6BYŤ*]*݆ (F ~r>ofٱ.߽wXx׃XaHQK߽wXx׃XaBI{) ޣ7Ύm0];Ehar52oގ_u"6%YK߽wXx׃Xa"MjSA:S5mGux?f(K5I|*99ٸHS}tv(L.FXm=d[fĻ f~pa^cهA'Z6\HТ3 z8% | I$?zަB::ѴjUtui z9}7lؗ|Dye,f~pa^cهJk$5 O|LaG5=d,9eELc~6oG';7IJotui3G9= lؗ|DK :Ѵ^#܎5hz/LH0P SjТ, ABma!;j~ `j| PH v*|8fQ֍9݆ (Fzgr{#ٱ./XnGp ER_Vyph㱟FoU԰:#kI"$uVʽϝh㱞HS}tv(L.F̶͉wD8)ɘROL $3ݭʙ F Uӻ Q֍#R\[fĻ )apBmdTuA}:S?3+LB4ER렅];Ehar5=C-b],rfhar5!p O`p.S1Bma!p O$Qv*d.sL.Fc=*wa:Ѵj{ 3}[fĻ )`PY$U)]P_eN}AW*gc͉,ׇri$T2FIJotui g<͉wD8)ɘuiԅ05>^XQK?3& x aI$~Tsݭʙ F 2J`m0!uٱ./X#&IJkWT`u_usʙǘm3b~%\I%7즒HS}tv(L.Fc=,O~m`p.S0$F ;(`p.S1Bma c<@f{S!shar5=CUӻ Q֍#Sd1l?x͉wARSA6HSZ&y:e3e?d_|/e?գ}~E3*|<u,rfV^l?xId/#i AW*gc?px>*>㟝4ER렅];Eh_gcC[fĻ"X>XRCk I$g[O29֍];Eh_gcC[fĻ )`2(M*֮u*x}I"MB`m6|lO9plؗ|DK`tu Et2*d.sMz_7v(Mz_7Ǝ|l16%YK `\l>6HSZ$7A wa:Ѵwq16nOPam`p5 )rk&6@f{S!shl;ٸ];Ehl;ٸw7's0͉wAR2;ٸ7Pb"MjWAeKrZe \7SB9ӯu$US|ivSoޯsOrmK}E{5\θ>t͉ĒER렅];Ehl;ٸw7's0͉wD8 @, GZ66n$/a5>^R׏MBma#P P^x3[Sj|)$m>T\GZ66n%WN0QGZ66n&9-b]_唰̎x.6n 96HSZ\`ul^?!:3zϝ>6n$*]*݆ (Faޗ#ٹ=ClK"%׏L%5>^xQK^?!5 ^x/ I$g[O29֍ý/Uӻ Q֍ý/Gx=rz3 lؗ|Dye,3# uf(M*֮nIuϹ/LvP 3:=ڹEf^hG:u!ݒ?^I|rModkW*>7Qq|៉$7A wa:Ѵwq16nOPam`p5 | O5>^۰ːQK^?!5 ^x/Pe)$m>T\GZ66n%WN0QGZ66n&9-b]_唰̎x.6n 96HSZ&c>j_2C0(NjI {)׺vKOdO{tf$WĒER렅];Ehl;ٸw7's0͉wD8 ^Xm6|lH^x3[Sj|(_/@, A{ n@ O@f{S!shl;ٸ];Ehl;ٸw7's0͉wAR2;ٸ7Pb"Mjr7+}_u;`e ћ|q$T!WN0QGZ6ݖ?lؗ|DKHQK $3ݭʙ F?ҫv(OHŶlK" <vX ERүvPBM6e1BMI$U)Uӻ Q֍~s:x͉wD`PXHRI 3=|-GZ6];EhXg?lؗ|Dye,-u"Mjrgdr_^uΟ&[,kW)~q$U{7*]*݆ (F?̈́/߲dr^ο-b],!E.X?&H v*d.sOJ`m?,B,G%6%YK B!pk$5ݕ?2RLuvT#RIJotuiM|lؗ|DKHQK $3ݭʟ/2ٔui݆ (F0. ٱ./XnMx ER(7&t?p}efStc] ^$1?\!_,u1?e1hpW "6pF{6Cݔ;_]jbI"MB`m?3|cο-b],!E.X?&H v*d.sOJ`m?3|cο-b]_唱ϑn~p/&IJkWT ;#e?t7e\]JLu"ݕ,ɸ=$T!WN0QGZ6Clؗ|DKI֍ý!{/8(B_opRI 3=|Ύm6Uӻ Q֍ý,l,?P6%YK haM*֮:vT/Ze{~1?L}Y$7A wa:Ѵ)[fĻ"X?_/ )r6’ILtuiUӻ Q֍weO6%YK, u"MjsW*^Iglkݔ;_C 6<(*]*݆ (F҇ v%lK"%%,k |)$m>T\GZ6=J`m({7b[fĻ )a&T&IJkWT䳯uʖ>xwMԐER렅];EhgC1ι7b[fĻ"X?_/ )r6’ILtui1WN0QGZ6zgCMؖٱ./Xb&T&IJkWT䳯urf|vRc~6GgVI|M'kB~Ps F?;fHS}tv(J'Mؖٱ.?a#P )rMBma#P I$g[O29֍|v(J'Mؖٱ./Xmɻ ER,]!<ǘmIέ2ݍI"MB`m3!g\-b],0GRGH v*d.sLs=*wa:Ѵ?T\GZ6=J`m({>FY'lؗ|Dye,oh;@k$5 C:eN㔍 {n.X?d%]G=1$Vf_ckR72:S5`㱞,ݝ^$Rō|Pkqi$7A wa:Ѵz݉m`CoB\k I$g[O29֍|v(J'Mؖٱ./Xmɻ ERҝ{ v jBO3z0iL̆ߨK5Hne̕)XHPkqurm)X$(K535|MؒEIΣrY:hd$7A wa:ѴwY/-b],b )r !5 $3ݭʙ Faޕ];Ehl;͉,ٱ./X^K&IJkWTIJotuiCɻ6%A!E.X?{Bs}Bma!I$kiB::ѴUtuiCɻ6%YK 7b6HSZ:SvTrn @=9A%Kz7M|9ƒE)[u fH*S5 ,ڟܛ|H/~ʔn,%]>u&jHDvuο9 C$I$U)Uӻ Q֍|&Klؗ|DK.^R/PXHRI 3=|Ύm({];EhP=rnĶ͉wARnMبM*֮7=ݕ,|\Ryр}5x?Jfz[$FQs]rnƤGgQ,O2LĒER렅];EhP=rnĶ͉wD#BB\#T&H v*d.sJ%WN0QGZ6=O\-b]_唰ۓv*k$5 C:eKT\GZ6];EhYmO,!6HSZN3b~G[ I$U)Uӻ Q֍#S-d.snf&vm 8`+PEo 8`+PEo(M$)$ 3z F Uӻ Q֍#S-d.snf&vmO,и\ Z/yBmdTuA{) ϝ])X `0I%]?Rn}I$U)Uӻ Q֍#S-d.snf&vm 8`+PEohar5##BX `0I&74)$ 3z F Uӻ Q֍#S-d.snf&vmO,и\ Z/yBmdTuA{) ϝ])X `0I%]?^쩟y$SsfI"MB`m0:ŶlK"4  AK Xh ,0,0 kI$ }SLtuiԪ݆ (F c[fĻ )an~r"Mj*]*݆ (Faޓyfe?|elK" )cM$7F:O29֍ý*wa:Ѵw{GYO/mO,h^|&IJkWT ږvMvS6'^HS}tv(L.Fm-b]0X44 , A` PZI o߽t2*d.sL.FWN0QGZ6\O[fĻ )`v[T&IJkWTvSpBGήsy]{-$7A wa:Ѵwrm Gx͉wDpx?'Z6\HТ-F>F$3ݭʙ Faޖfg%WN0QGZ6S39-!hٱ./X&Pw&IJkWTp6ެ:aʟm~ѯG(`Z;4xy:a$V~'}~r7)^oF}UP`,0]xy:|͉|ݍI$U)Uӻ Q֍ý-KoZ;ŶlK"%8<\sNm0ϑj:ѴjF>FoF~>8? |PФ@f{S!shl;L݆ (Faޖfg%d-6%YK*"Mjʁ7 FoV#At?(~u~@B$ uN6S?}qΝAVW+>S}ŏf(M$)$ 3z F,݆ (F,{Pv{0~ȶ͉wARhncهJk$5 O}]Kf?=eATo6$7A wa:Ѵ=2??]?߲-b]3Cuv}?߲ :ѴjF>F~XaF>F$SAFoS!she];Eheojfٱ./X ?~,{0~BmdTuA{) ϝ]Kf?=eAW*gc|(*99ٹW:׻+;N2-lv5$T!WN0QGZ6nt,?P6%RABmi$~R7ϱ|Ύm6Uӻ Q֍ý# <͉wARmz"Mjʖa6S')/8)$T!WN0QGZ6h5)[-b]0,`04&֒He#| ʙ Faޕ];Ehl;o=lo̶͉wAR~{@k4/e?|jk$5fK_֙O_3a}$fK_pzI"MB`m67k6S[fĻ `04łX`h8 (M$7F:O29֍ý*wa:Ѵw{GYO/mO,h^|&IJkWT Cݔ͉,{Ow7Ze?M|υZI"MB`m67k6S[fĻ `04(XqK p 46@߿{)e>T\GZ6݆ (Faޓyfe?|elK" <Y{)[PY$U)]P5vS6'_W< 3έ2g-$T!WN0QGZ6zeAtp{0~ȶ͉w@DXaHQKPc7y?߲PXHRI /e?f29֍x9];EhgC:n"6%YKPc7y?߲PY$U)]E>ut3F n=eATo$Trsq$T!WN0QGZ6zeAtp{0~ȶ͉w@DXaI֍#R74(Ѩ1tEf(M$ohRI /e?f29֍x9];EhgC:n"6%YKPc7y?߲PY$U)]P^3WC4j p"?cهTu{~1?I|*99ٸHS}tv(J&[4G%=d[fĻ fA Kŏf58\29/=d6@^3d.sJ%WN0QGZ6=Lh1 K{0~ȶ͉wARhpXa"MjSA:S558\29/=d,9sfI"MB`m({lcam58\29/=duiԍ| )c4j pdr^,{0~Bma##BI{) ޣ7Ύm({];EhP2٠d29/"6%YKPc#cهJk$5 O|LhpXa[ݔI31n}I$U)Uӻ Q֍#S- q7;lؗ|D Ѩ1/x$(Ѩ1/yBma!I$gQ\GZ6\J`m0lc~Aݼ[fĻ )c4j p)PY$U)]P^3WJf3Fh% fAToTrsq$T!WN0QGZ6\Lh1? -b]3FhL.FohQKPcO4_vF>F$SAFoS!shar5*wa:ѴjeA1vmO,Ѩ1/yBmdTuA{) ϝ])X ~Adz%]?^쩟y$SsfI"MB`m0lc~A=d[fĻ fA? cهA!E,fA? cهJk I$?zަB::ѴjUtuifc "6%YKPcO4Xa"MjSAHS}tv(L.F[4nfٱ.PcO4XaI֍#R74(Ѩ1,{0~Bma##BI{) ޣ7Ύm0];Ehar52٠p{0~ȶ͉wARhS =d6HSZgPst|*99ٸHS}tv(L.F[4[ŶlK"hkEo583=}k I$?zަB::ѴjUtuifksx͉wARhkEo(M*֮"MB`m0lcnwoٱ.Pc3ݭݼuiԍ| )c4j pf{&74)$ 3z F Uӻ Q֍#S- tsݭ6%YKPc3ݭݼ6HSZgήn,fA vXa[ݔI31n}I$U)Uӻ Q֍#S- tsݭ"6%4j pf{dzBXh% $SAFoS!shar5*wa:ѴjeA{=d[fĻ )c4j pf{dz&IJkWT ҙŌѨ1֋?߲Pkqtvt|*99ٸHS}tv(L.F[4[هElK"hkEfhar5##BXh% | I$?zަB::ѴjUtuifkp{0~ȶ͉wARhkEf(M*֮/e?3[Pc3ݭ=d,9n}I$U)Uӻ Q֍f~fٱ.Pcx L.FohQKPcx% | I$?zަB::Ѵ^];Ehz/Lh18gamO,Ѩ1cT\GZ6߹*wa:Ѵ_/slؗ|Dye,y~6HSZ:Snu;g ΂@0ER렅];Eh_ގ`am{cهA!E,f!pXaBI{) ޣ7Ύm/Ԫ݆ (FLslؗ|Dye,f!pXa"MjSA_`u 3ގ ?߲[]=I"MB`m/~G0{0~ȶ͉w@C= L.FohQKg=d6ϑI$gQ\GZ6Utui~[z9هElK" <3|z8,{0~BmdTuA{) ޯgeU԰:oGfPsףI$U)Uӻ Q֍|v&am6&?߲ )c7mBM=d6@^3d.sOEUӻ Q֍|v&amO, 4Xa"Mj*]*݆ (Fze;Pp{0~ȶ͉w@PEfhar5##BXPEf(M$ohRI /e?f29֍݆ (Fze;Pp{0~ȶ͉wARoڄ,{0~BmdTtIJotui㱞[fĻ"[0<$(}M$)$m>T\GZ6\J`m0v3lؗ|Dye,8gM*֮ #a׺:ml֎;:$HS}tv(L.FG6%y@$(}! $3ݭʙ F Uӻ Q֍#SymO, ERUY:@Bݖ׺[*>uxΣ$*]*݆ (F҇ FC lؗ|DK}O9鄅o`#5 $3ݭʙ F҇ Uӻ Q֍|ٱ./X0t ER̯sZ8gӮt\ƁO^mvQ$Rź둸 fQv ^K}Sut*dW)L uj[[_I5_׹v3:6FSr7HS}tv(J'GO9 -b]- M{/8>DJf[FT%]G=5{U-WVO֎r9ӢHkݒ\!^3[d2-#qn.m~ײ(+^δqϧ\[PLujI"MB`m3! ot{0~ȶ͉w@`tfg ?߲PXHRI /e?f29֍x9dv(Ls=6&[,?߲-b]_唱g ?߲PY$U)]P^3WC7=dHS}tv(K2ߞsffٱ.79t0XaHQK79t0XaBI{) ޣ7Ύm/Ԫ݆ (FL:هElK" <3|ns`% ERER렅];Eh_px>C0{0~ȶ͉w@ϸ<cdzNm0ϑE,fcهJk H O~Ltui~WN0QGZ6e<?߲-b]_唱spx>Cf(M*֮*]*݆ (F҇ e$6% X` ,4a0 H>C)B::ѴUtuiCmmO,2MPY$U)]P<1S6Sћ$T!WN0QGZ67d[fĻ"G)r?_/I":O29֍ý*wa:Ѵwy"6%YK(M*֮߸T(|i$7A wa:Ѵ |_e(F0. Uӻ Q֍`\so͉wAR7:灙 ER;)&_߲̕ @"Ml nd`$HE8$ O_M磝Wvz)HS}tv(L.FHB=d[fĻ b7_/=dR!ucهJk I$?zަB::ѴjUtui@|;lؗ|Dye,b7_/=d6HSZgήn,b7_/=d,9sfI"MB`m0!`amB|8XaI֍#R74(Bdz&74)$ 3z F Uӻ Q֍#S$!?߲-b]_唱B|8Xa"MjSA:S5B|8Xa[ݕ31$n}I$U)Uӻ Q֍`\so͉wD&GBB\&GT&H v*|8fQ֍`\v(L%:϶mO,ou3jk$5vP$):jY&a͆NuTRH$$7A wa:Ѵ [cymٱ.w}!E.HBv h#M$)$m>T~q̣L%WN0QGZ6pKou#m6%YKg&&IJkWT졀HR72u={]69֙SnpI (*]*݆ (F0. ms[fĻ"HBv hy )rB#n@;rBIOl:Ѵ Utui\9-b]_唰Mf}oBmdTu@E#pC'Sm9IIJotui\9-b]$! ;~4$! ;~4 $3ݭʟ/2ٔui݆ (F0. ms[fĻ )`sڄ"Mj0 FNچ ""MB`m6|"͆mHaa` 4C ѪkI$ }SLtuiJ`m6|"͆mO,Bk$5;*HDvui0Fޝ>UʾI$U)Uӻ Q֍ý8Klؗ|D C `R!PZI o߽t2*d.sMzUtuiN#6%YKK&IJkWTvP#@F +u-4, ge@V*]*݆ (F [fĻ bR!k I$?zަB::ѴjUtui-b]_唱Dvr"Mj*]*݆ (F?3z7lK"$Gg~RGg~6@}SLtuiUӻ Q֍folؗ|Dye,ߨM*֮!fo: Vo ލIΝ>T$UɵM$T!WN0QGZ6!oF͉w@";8𐢖1oFBma!I$gQ\GZ6];EhdGg6%YKGg~6HSZ$7A wa:ѴjdGg?߲-b]1oFXaHQKGg~,{0~Bma!I$gQ\GZ6\J`m0!oFlؗ|Dye,b ލ% ER>utkqcVoŏf(K5|*99ٸHS}tv(L.FHDvqѿ"6%Voŏfhar5##BX";8cهJk H O~LtuiԪ݆ (F fo{0~ȶ͉wAR!ߋ?߲PY$U)]P^3WJf1oFXa[ݔI31n}I$U)Uӻ Q֍`\lؗ|D CX$0Xh,-Bmi$~R7ϱ|Ύm3];Ehf>~L͉wAR&IJkWDT!WN0QGZ6g+$~qm#p)rF6@}SLtui~WN0QGZ6g+$~qmO,ˈ;@k$5^!ݒTԐ5{:16_oݔ H2$";9$T!WN0QGZ6mXh,$4h04Ee!AkI$ }SLtuiJ`m6b=6%YK C6HSZsd7OzF(L@k_#EY$UU+jS Uӻ Wb]*EF" :@RWN0QW29U*6D!Ap'A  Lp'ڵ Y$(Ob%EdI $ Y$(K0Y$(M$7 k$17I66$1./usr/IBMVJava/html/enterp/en_US/jdkref/o-index.htmp.zi$$ "O" Fields and Methods
    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

    Index of Fields and Methods (JDK)

    O

    Object(). Constructor for class java.lang.Object
    ObjectInputStream(InputStream). Constructor for class java.io.ObjectInputStream
    Create an ObjectInputStream that reads from the specified InputStream.
    ObjectOutputStream(OutputStream). Constructor for class java.io.ObjectOutputStream
    Creates an ObjectOutputStream that writes to the specified OutputStream.
    ObjectStreamException(). Constructor for class java.io.ObjectStreamException
    Create an ObjectStreamException.
    ObjectStreamException(String). Constructor for class java.io.ObjectStreamException
    Create an ObjectStreamException with the specified argument.
    ObjID(). Constructor for class java.rmi.server.ObjID
    Generate unique object identifier.
    ObjID(int). Constructor for class java.rmi.server.ObjID
    Generate a "well-known" object ID.
    Observable(). Constructor for class java.util.Observable
    Construct an Observable with zero Observers
    OCTOBER. Static variable in class java.util.Calendar
    Useful constant for month.
    okToUseGui(). Method in interface java.beans.Visibility
    This method instructs the bean that it is OK to use the Gui.
    on(boolean). Method in class java.security.DigestInputStream
    Turns the digest function on or off.
    on(boolean). Method in class java.security.DigestOutputStream
    Turns the digest function on or off.
    openConnection(). Method in class java.net.URL
    Returns a URLConnection object that represents a connection to the remote object referred to by the URL.
    openConnection(URL). Method in class java.net.URLStreamHandler
    Opens a connection to the object referenced by the URL argument.
    openStream(). Method in class java.net.URL
    Opens a connection to this URL and returns an InputStream for reading from that connection.
    Operation(String). Constructor for class java.rmi.server.Operation
    Creates a new Operation object.
    or(BigInteger). Method in class java.math.BigInteger
    Returns a BigInteger whose value is (this | val).
    or(BitSet). Method in class java.util.BitSet
    Logically ORs this bit set with the specified set of bits.
    orange. Static variable in class java.awt.Color
    The color orange.
    ordinaryChar(int). Method in class java.io.StreamTokenizer
    Specifies that the character argument is "ordinary" in this tokenizer.
    ordinaryChars(int, int). Method in class java.io.StreamTokenizer
    Specifies that all characters c in the range low <= c <= high are "ordinary" in this tokenizer.
    origmodel. Variable in class java.awt.image.RGBImageFilter
    OTHER. Static variable in class java.sql.Types
    OTHER indicates that the SQL type is database specific and gets mapped to a Java object which can be accessed via getObject and setObject.
    OTHER_LETTER. Static variable in class java.lang.Character
    OTHER_NUMBER. Static variable in class java.lang.Character
    OTHER_PUNCTUATION. Static variable in class java.lang.Character
    OTHER_SYMBOL. Static variable in class java.lang.Character
    out. Static variable in class java.io.FileDescriptor
    A handle to the standard output stream.
    out. Variable in class java.io.FilterOutputStream
    The underlying output stream.
    out. Variable in class java.io.FilterWriter
    The underlying character-output stream.
    out. Variable in class java.io.PipedInputStream
    out. Static variable in class java.lang.System
    The "standard" output stream.
    OutOfMemoryError(). Constructor for class java.lang.OutOfMemoryError
    Constructs an OutOfMemoryError with no detail message.
    OutOfMemoryError(String). Constructor for class java.lang.OutOfMemoryError
    Constructs an OutOfMemoryError with the specified detail message.
    outpixbuf. Variable in class java.awt.image.ReplicateScaleFilter
    OutputStream(). Constructor for class java.io.OutputStream
    OutputStreamWriter(OutputStream). Constructor for class java.io.OutputStreamWriter
    Create an OutputStreamWriter that uses the default character encoding.
    OutputStreamWriter(OutputStream, String). Constructor for class java.io.OutputStreamWriter
    Create an OutputStreamWriter that uses the named character encoding.
    owner. Variable in class java.awt.datatransfer.Clipboard

    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


    F lLn$27I66$./usr/IBMVJava/html/enterp/en_US/jdkref/p-index.htmp.zi$$  a ert.<>cdhinops "_fjlmuv#()/=Pbgw CEMSxy,AILORTk-DFGNUWqzB0VY[]3HJKQZ'1:;!&*289X56PŚ+iTsEb# n@HAB,cX,[@   @ @HVN@ )HG@sg^ E$ ֲHP_j!Cb9:8,( ( Umh(((HS^s:ǎvouoS,.petZPHVխZ8ӲV][u貏K;tW|ch@@PWe,q;w4O*e8;w:`T+B8VjHPNS^!NŒB;,ep m%yU^(:uB;,e b][u貏KI  m%yU^( $zvYh6<߃E| X]dN0YV ĻO*e]dN0YFol1.ʭ:YGI 8|avUoע?,PHWe,ol1.ʭ:YGB!^` ĻO*ePHWe,@7iVz,R ]dN0Y@ m%yU^(WY$+ӲQ K~Q)` $zvY<|avUoע?,)B!^` ĻO*eWY$+ӲT@7iVz,RJI  m%yU^(I ol1.ʭ:YG!B!^`|avUoע?,]dN0YSb][u貏K PHWe,b][u貏K(WY$+ӲR K~Q)`BuB;,e" ĻO*eI <|avUoע?, PHWe, m%yU^(I  ĻO*eI ol1.ʭ:YG%B!NŒBEhWγ{9KSmbpr7g)`6*&P 9UЀFF pFF pj203ŕ3o^R"Q$(QBEBr"M:;,e#ym<<vT+@@U|)y΍zvY7G 6%xr2,/b=B"Mj:ȟ(᳨Z· ۣQCkkI,/2Sxi$7W@oGzgxNmum<<u1.]:e I$ײ4Ÿ 3ޏNīӲQ=7:=iׅlKdYKǶ :B"MjWt{o) : 㮥c9}εk]tup߯*&Ek1/N:| ]K]6|-46I,HSutN0YFzpw',[fĻO.oc2xaK`7f<1BI{~?:o 7Ӈ3F*oGzgxrώYlKdYKيIJkWT #yRR1W>Zﵮy:ϸo "xeL;w:i5{<fw5">iuԻulCCk]u,HSutN0YFzxMp˾h4͉v` X8 (WZI /~]>üFzxMpԫӲQ?Sh527 -b]/c"XhJ7 PHSZc FᵡERuzvY7Ym<< elKdYKGB"Mjꁎ|E9[kcYrֹx#HSutN0YFzxK"| ٱ.˾ ޏOdĔwT+@ N{&%$z趟 asz=<~^`DF -b]/c"XDOap $5HֹDF I$U)We,z=<~͉v]zxH N{&$˾]bls1)$ES*oGԲ0^ٱ.×e,"0^(WY$U)]E εL7$7W@oG7 LᶍKlؗi80 p@ ,֒H ߯e#iO09ѽ?Sh5*oG7 LᶍKlؗiȲ3T+*֮+6u1=lu=drY:&Th6٤*]ӲQ?Sh527 -b] paK pbuHuL;toG7 J;,e6S.mp6%xr2,p $5 k|6^SFG+]ueKViI"M:;,e,.[fĻO.h 6y9옒.h+@ N{&%$z趟 asz=<~^`DF -b]/c"XDOap $5 k:dOapmsOȟ(I$U)We,z=<~͉v]Ј(oGԀbJ\>Qf]bls1)$ES*oGԲ0^ٱ.×e,"0^(WY$U)]E ί+]tȟ(᳧µϝ20^$*]ӲQ?Sh527 -b] F (j|4 FzxH.پ%,g|4%WX(j|4 @f:Ĥ# ͎Qasz=<~ѸjUf (ޏOnwmٱ.×e,g|4%WY$U)]PDa=C;(64f]u9[c8dOapHֆIJnf (ޏHe_6%xyw@7@ls05 f:Ĕw@WX+@@U|)y΍zvY7mٱ.×e,%WY$U)]P. ]u/ʞ:;\գpԒERuzvY7Ly8͉v_9{J\s JI *m>üFzxJ;,e&+@@U|)y΍zvY7L}ٱ.×e,}WY$U)]P. ]u/ |TLs@.s$T^`F~Klؗi$üFzxJ;,e'qqm<9{Rz[fĻO/p%._9{ %$z趟 asz=<~^`=-b]/c"X% $5ޡk{yS|V\puknek:$2'=I$U)We,z=<~lK |RPRIWi:7Uf (ޏO>m<9{R®(WY$U)]P {:]K>eᯀ]O~D>t}ERuzvY7O ȟ(᥶lK |RPRIWi:7Uf (ޏO>"| ٱ.×e,*DOap $5ޡk{yS|V\puknek:HS"| *]ӲQ?R}[fĻO/p%._9{ %$z趟 asz=<~^`?l6%xr2,\m]dTu@2uԾso*{˖\uLsGH힒HSutN0YFzxI& -b]x^8@/ruH t[O09ѽ?RN0YFzxI& -b]/c"XUG5juER$U)We,z=<~ѸjOF᥶lK |RPRIWi:7m^`F>(Nٱ.×e,*(NQjuER$U)We,z=<~Ѹje n[fĻO/p%._9{ %$z趟 asz=<~ѸjUf (ޏOnwmٱ.×e,g|4%WY$U)]ERuzvY7f̉ [fĻO/p%._9{ %$z趟 asz=<~^`"q~ٱ.×e,-B"Mjwd'Z|T՗,5ZۨDZΦ̉P߉$7W@oG͙ٱ. )r |(WX)$ES*oGolKdYKXfuERPNRϽ>.Ysk:S߷Q0+\f$7W@oGk"| ٱ.eᯀ]O~D>uIȟ($7W@oG7 Nf7 -b]x^8@/ruH t[O09ѽ?Sh5*oG7 Nf7 -b]/c"X24%WY$U)]ERuzvY7v4-b]x^8@/ruH t[O09ѽ?RN0YFzxNf9lKdYKXf]dTu@2uԾso*{˖\uLsD[aF>jI"M:;,e6R=lG7 -b]x^8@/ruH t[O09ѽ?Sh5*oG7 Hh4͉v)`K؏ FIJkWDT^`99suٱ.J\\5BI iO09ѽ5%^`99suٱ.×e,sAZuERu/ A]>thCACMmuµϝ B :"B;L7_5@8ERuzvY7wGdPm<<\4`z='xH1}6E )rpQ "]L;toGWe,z='xN/vE ٱ.×e,"+*֮s̭sZBTտ]yZv_mȡ*$9Qʌ.e?g^ r};"HSutN0YFzPל6%xy|7w>|WXp@^{(ESC^rUf (ޏJ߶[fĻO^EWY$U)]P n{˖\Z R;x6 kE#BIJnf (ޏNflKlؗiv ޏIRv]bRIWi:7ӶWe,z=;a#-b]/c"X XT+*֮gzo>{ERuzvY7Ӷ>>:͉̎v_'b 9!{%._'j /q%$z趟 asz=;azvY7Ӷ>>:͉̎v)aW9]dTuC>NZ>IJnf (ޏNf6Klؗiv ޏIRv]bRIWi:7ӶWe,z=;a x#-b]/c"XoXT+*֮"0F.tZHSutN0YFzv5,t^286%xy|7w>oGl3R3df|`$B>3df|`%$z趟 asz=;azvY7ӶcYٱ.×e,!{,B"Mjwd'^1y(ouЋHERuzvY7Ӷo286%xy|7w>oGl3R3df|`$B>3df|`%$z趟 asz=;azvY7Ӷo286%xr2,lB"Mj|צZGk=K_$*]ӲQKm?dplK;oG |ޏNfgIKڅu |gJI *m>üFzv5*oGl3Rc?m<9{RKcWY$U)]P. &0O2NiHSutN0YFzv5'Yٱ.A$/qz=;a'c#7%._'j /q'c#7)$ES ԫӲQI9dplKdYK ώ8 $5w:]OqHSutN0YFzv50@G[fĻO/zNpjF|߯|WXp|߯]L;toGl3RN0YFzv50@G[fĻO^EWY$U)]P. &0O2NiHSutN0YFzv53y:͉̎v_'b 9!{5 Ԍ;_ )r;P{5 ;_ I$^-˜wޏNf^`jfu?m<9{R|퀱WY$U)]P){nt}8HHSutN0YFzNelK;b 9!{%._'`7mB>G޺-˜wޏIN0YFzNelKdYKjIJkWT=Zmue.w zC!2Hw$rHSutN0YFzNelK;b 9!{5>$WXp H ߯ez趟 asz='xJ;,e;rFٱ.×e,WY$U)]Ps@uk+c}՗,6uhn "hhnyZI"M:;,e rlK>NCr 9!{5>$; e_(WXp H'69FG)y΍jUf (ޏNf_'v˖0-b]/c"Xϓ\uERFA:3$1-|aC߮ulyo{Σs㮼I I"M:;,e;r_ ׅlK;CD;rBJ\N H ߯ez趟 asz='xJ;,e;r_ ׅlKdYKCluuER ;k>^жm?OĒERuzvY7wc lؗiv7w>h/D5B>h@^{(ES;rUf (ޏIm-b]/c"X"c+*֮g]u=u| :7 הV;^DS>CCk]u;d`9HSutN0YFzpw$莞lؗiv lzNp/Mg(WXp@^{(ESޙ#xzvY7Ӈ3F'Dt/[fĻO^ELG_=B"Mj#o6OqPDtG|Q֍[~Ο 8)yYr˝~0I$U)We,z='xIр6%xy|c 9!{%._'`ru | I$ײt[O09ѽ%^`9'FlؗiȲ (WY$U)]Pϓֺ{9^uo m6ԦEȶ֒HSutN0YFzNŶlK;;rBj|4IK&0]bj|4JI /~}|)y΍9*oG:0[fĻO^EL`9B"Mj|εS|WpSx[iLmgF)m ]Egk*ru$*]ӲQIٱ.4f7w>|l H t[O09ѽJ;,e ԙ?m<9{RXT+*֮gձdZ.*#MjI"M:;,e Է?m<NFoJ\NCMju |gJI *m>üFzv5*oGl3R߶dplKdYK> ?uER ;MbOqOƼ(4f*]ӲQIٱ.4f7w>oGl3R3df|`$4fWXp|߯]L;toGl3RN0YFzv5&G[fĻO^E8 $5w:=uljY˯ mHSutN0YFzv5'Yٱ.4f7w>oGl3R3df|`$4fWXp|߯]L;toGl3RN0YFzv5'Yٱ.×e,*>:XT+*֮g]u=rI"M:;,e ?m<NFoJ\NCMju |gJI *m>üFzv5*oGl3SxdplKdYKüFz_ӲQ&<-b]/c"X B"Mjꁎlr6/ܾ}T$7W@oGI:lؗiw/cRw/c]i$R?ƝtS|RN0YFz_͉v)`+ε $5:a<mۆԾr9LwͼI$U)We,z=<~Ѹim<88R I$ײ4˜wޏOWe,z=<~Ѹim<9{RQjuERt3;m# Wf0m*]ӲQ5&{ -b]4@+juH t[O09ѽ5%^`93im<9{R]dTu@:Z먍6ٵ[TLsSm~(me_H2'ֺ{ I$U)We,z=0K~ϜX y8͉vW`zazD/@n\$]bs@U|)y΍*oGo;9>Gٱ.×e,g<.,ނIJkWT2_k]u.mljwt=ѧ>tfDERuzvY7mHZ[fĻO+hJ7 $T+@@U|)y΍zvY7mHZ[fĻO^En- PHSZ] ]գptP>(HSutN0YFzxMp) Blؗiv F Rv F!)$ES*oG7 ,͉v)a(4Z]dTtIJnf (ޏLc5='im<<|b^+@@U|);.؆?CSrUf (ޏLc5='im<9{R8&IJkWT C!:}|aQ2R= Z΀n*]ӲQ?Sh4͉v` ,` ֒H ߯e#iO09ѽ?RN0YFzxMp6%xr2,p $5:gtD|(ajٯ(a$7W@oG7 -b] X]i$R?ƝtS*oG7 -b]/c"XJ7 PHSZcq@Dajٯ(a$7W@oG?lؗi XBuHuL;toGWe,z='xI\[fĻO^EPHSZcȶؠ4PEGֻ>tã;xWmG]y[$S'Su}|j&V y]DtoIJnf (ޏOdNٱ.> I$ײ4˜wޏOWe,z=<~:8[fĻO^EPHSZc'HSutN0YFz_Cg|6%xq%RHJuHuL;toGJ;,e|S'I lؗiȲ1!$4/rIJkWTIJnf (ޏK>VHl/[fĻO1!$4/r !{PRIf(09ѽ*oGL+k$6{-b]/c"XнWY$U)]PF_۝zmHmOrOB;AͶƽI$TP!=礒*]ӲQ2|_<͉vcmBHh^|R1򶂐!{R>VD$_=B |6Hh^Ĥ# ͎Qasz=/Uf (ޏK>VHl/[fĻO^E !{PHSZ:'Oڞ鑄-mk+c}[h*(lڞIJnf (ޏK>VءCg|6%xq ܾx%,cm!CB/]b# ͎Qasz=/Uf (ޏK>VءCg|6%xr2,|6Hh^+*֮#/νIP!=ֻ>u#[6[I'OڞIJnf (ޏK>VءCg|6%xq ܾxz=/F>VD$_Vܾ6%xq}} JI "0 :7^`)m-b]/c"X $5u/iGh6Bٶש>VĒERuzvY7O/͉vcmmz=/F>V'JX 18H'69FG)y΍)We,z=/d[ro lؗiȲ1B"Mj2z#1ړm;fqCd/HSutN0YFz_m<8@18PRIf(09ѽ*oGL+h~ٱ.×e,cmqx]dTuAnkPm20mR|xHSutN0YFz_m<8A#+h.o u[Awx%$OqlrS|RN0YFz_m<9{R>V'IJkWT~Q]NVǘmIo7HmOr$7W@oGԼ:ȝ>-lؗi8ٔ<2,kj֒HoN|)y΍ZUf (ޏOyu:8|[gٱ.×e,"'G9B"Mj*]ӲQ?RLg4mm<8džY6qo Sj|4 O5 N%,c,8ѷ `j|4 O5>%$OqlrS/?ӲQ?RLg4mm<9{R<2x]dTuAn xeg64fƇgZj P58Me| wH5Dʓ,љ]u9[cI$U)We,z=<~֙<2h6%xq lF7A@h Sj|4$ O%,c,8ѷ `j|4 O5>@ @h H'69FG)y΍ZUf (ޏOyuO g6͉v)cgƍPHSZ^<2yQmkcCuЀ5x&پ;$T¢eIt̉1yuᱭupRIJnf (ޏOyuO g6͉vc,8ѷ ZA3"x@h Sj|4$ O%,c,8ѷ c2-Aj|4 O5>@ @h H'69FG)y΍ZUf (ޏOyuO g6͉v)cgƍPHSZ^<2yQmkcCuЀ5x&پ;$T¢eIt̉yuԲ-AZm$X̋Pe>]z7 5$T^`# -b] r0֒H ߯e#iO09ѽ?RN0YFzxIٱ.×e,5B"MjꁎiL'HSutN0YFzxK~ xюٱ.,3@S1—# N+$^GӮ asz=<~~̼J;,e-<&e[wF8[fĻO^EN+*֮N+.Ysk:w|+l3h{Ԅȶȵ"%Ee.w 9кBHh^7I{ϰ`l]w|;E-"%$ERuzvY7#Skß"6%xyD )r;WX)$ES᷆v]שWe,z=>R:=,9-b]/c"X!>JIJkWT6u#k:ϝt|IJnf (ޏOO-b]4A^DT+@ I$^-˜wޏOJ;,eשץlKdYKG^WY$U)]Pøl]ukL9򯵮1g۠  I$U)We,z=>R:>R:͉vGpzaz  Q$/q$]bX$ A{)$ESשWe,z=>R:>R:͉v)`yH $5w k |i>T9+]t59[c+]:$;Ѻ$T^`9,\͉v`QK]i$R?ƝtSC^rUf (ޏJu lؗiȲθ7uER:O|6SS@2tX I$U)We,z=<~Q|4͉vd_ $ JI "0 :7Uf (ޏO_ -b]/c"XȾ]dTuAfμOw:(_k]ux‰"(@(dc|>N]HSutN0YFzxLim<8Ⱦ!5>$!5>%$OqlrS*oG/ٱ.×e,d_ PHSZ{3g^ sz_ 1$1B0( SOX:,Ÿ ]21ƾn.I$U)We,z=<~Q|4͉vd_ oGԌJXȾ]bE)${3cdrwޏOWe,z=<~Q|4͉v)c"juERFA:m>Ԣm~S}|a^dZm2-ȶQmRIJnf (ޏON ٱ.ÌJXȜ:0PRIf(09ѽ?RN0YFzxLph͉v)c"phB"Mj2¬hmJ'IJnf (ޏON ٱ.Ì@5>$ hH SRIf(09ѽ?RN0YFzxLph͉v)c"phB"Mj# ͝x6uQ84taFdOuly$Tso&HSutN0YFzPל`4͉vQ%.QuH t[O09ѽ5%^`93im<9{R]dTu@>(]u6ֺc*|{ ^k$TFlu<.ek:13_$*]ӲQ?S( p@͉vddRFHH*uH'69FG)y΍zvY7e!#ٱ.×e,dd(WY$U)]PF_۝zFHJ HSutN0YFzxL$$}6%xq ޏIRFHH*u | I$FA#üFzxJ;,e2 lؗiȲ22BAW+*֮#/νBԣ$%GVr^$*]ӲQ#Cvg |$rlK\5 I$7]>üFz_ӲQ#Cvg |$rlKdYK`|нWY$U)]P1Ol2ekaLwͼeљ]tI _>a$7W@oGKpܾ6%xyFe.QuӮ asz=/Uf (ޏK;}lKdYKw>g muERB eJ3~0$7W@oGL_ !ܾym<<2(BI iO09ѽ*oGL_ !ܾym<9{R!7 !$4/rIJkWT uԣ7 sZ!7  2ȟC:P͡t=I6/$T^`)8jxI lؗiFj֒HoN|)y΍)We,z=/g^>Cg|6%xr2,>*xнWY$U)]P1Ol2ekaLwͼeљ]tI _>a$7W@oGlPuٱ.Ì , r0$@p@0+$^GӮ asz='xJ;,e;r[elKdYK"ӭB"Mjꁎfz7O6ehlȶؠ4PEERuzvY7wt~ٱ.Ì , r0$@p@0+$^GӮ asz='xJ;,e;rL:?KlؗiȲIJkWT uԣ7Ѻ| |+CetE d[kI$U)We,z=<~ѸhelK%7@H0%)r%WX8 FRIWi:7Uf (ޏOn!hYm<9{RQh-B"MjF{^H4FᵱuJ7 B*]ӲQ?Rȟ(᥶lK%7BQh(BQju FRIWi:7Uf (ޏOdOap6%xr2,DF PHSZHSutN0YFzxI\4͉vQpzxHJ7 RJ7 P(4JI *m>üFzxJ;,e'dOap6%xr2,\.]dTuC#=k+c}ƵGI$U)We,z=<~ 7lK%7BQh(BQju FRIWio 7Uf (ޏO># m<9{R®F $5$7W@oGԏ|lK%7BQh(BQju FRIWi:7Uf (ޏO6#lؗiȲ $5$7W@oG?lؗi`jlPu)r ؠ4SbӬJI /~}|)y΍9*oG?lؗiȲIJkWT C!:9 Z9Y;mlk]u(Z$0m| I$U)We,z='rFs:͉vQ!%.Q]b H t[O09ѽ*oGH׎|6^ٱ.×e,p"c+*֮zBup"c({;y]>t#\0ua.%$T^`9'E-b] )ca ֒H ߯e#iO09ѽ5%^`9'E-b]/c"X&,ZuER;1h2(Cp5$T^`!ٱ.-cm)rm[T+$^GӮ asz=<~^`!ٱ.×e,! qB"Mj*]ӲQ?R68ølP6%xyeyO .!IKYmءoBF )$ES*oGԍ64͉v)`8O ]dTu@%εR2-7wQ2Jd[k߃T)m"o|/) \6(m^o ]2'0l" ]20^$*]ӲQ?Rύ; -b]YmءoA?Ro|/eyO .+@DaH t[O09ѽ?RN0YFzxK>44͉v)a CT+*֮"K ke[joeko|/+m!7uEk:g6(jI"M:;,e&pءlK2-4-]7B# ,/2 CBڅu7RIWi:7Uf (ޏO0; -b]/c"X tGxlP $5ޡke[i>7#|6=k\6dOk+c}daI$U)We,z=<~v=xlP6%xyeyO .!IKYmءoBF )$ES*oGԎǴow [fĻO^E xlP $5HZeyڛZ2-תȶDL7ծ|v=7lPԒERuzvY7Gcw [fĻO,/2 CB؃z=<~"0^ )r2-4-]WX{x%$z趟 asz=<~^`bٱ.×e,ǴbWY$U)]E:]K,̶D]20^WpBo$>t;; I$U)We,z=<~4:͉vYf^eb zxHDaRe[A<6(h[PJI *m>m᝗FzxJ;,e'pءqׅlKdYKء^uuERsnuYm kϸMk+c}"gPpu"| Ο ]NVǘmKi$T^`CKlؗi@PX,$ $$ XHHJuHuL;toGԫӲQ?R;Ѽq6(im<9{Rl{@/ CT+*֮"M:;,e,.[fĻO,/2. )r2-oB I$^-˜wޏOWe,z=<~>QKlؗiȲ\5B"Mj"M:;,e,7lK2-o@,/2.+@@U|)y΍zvY7Yo|/ lؗiȲo|/+*֮""M:;,e'>z[fĻO,/2. )r2-oB I$^-˜wޏOWe,z=<~KlؗiȲ |B"Mj"M:;,e;am<<̼h[$,̶ %$z趟 asz=<~^`|͉v)` >_PHSZHSutN0YFzxNf9lK2-o@,/2.+@@U|)y΍zvY7v4-b]/c"X24} $5$7W@oGԜm<<̼h[h,/2.+CRIWi:7Uf (ޏO96%xr2,_=PHSZHSutN0YFzxNf9lK2-oCJ\̼h[PI$^-˜wޏOWe,z=<~l3L}6%xr2,,3@WPHSZHSutN0YFzxNf[fĻO,/2.>Deyзv]b SRIWi:7Uf (ޏO ߗlؗiȲ  $5$7W@oG`Qda f0-b]\XG8zNp,|q /q%$z趟 |6ˣz=3J;,erYBٯ lؗiȲBٯ+*֮A`9mdYmC.:lNiLI;:p29OԒERuzvY7Y\4͉vYr`oGԂ FzxK  7J\֡]bAu)$ES*oGԲ'0im<9{R"| WY$U)]P̹|ׅ<:e+\"| *]ӲQ?Rȟ(᥶lK˗Xz=<~`j|4 OޏOyu`FIK\X :+@ :h P :Cgx@U|)y΍zvY7Y\4͉v)a>QT+*֮f\\žtdruF|>Qkk"+c}m:9ڒHSutN0YFzxN'_lK˗Xz=<~`j|4 OޏOyu`FIK\X :+@ :h P :Cgx@U|)y΍zvY7v18-b]/c"X218PHSZrs yuё˃o$7W@oG`Qda f0-b]\X^ ޏIR/lWXp@U|);. 9*oG`Qda f0-b]/c"XDa f0PHSZ= S߶}h{E @RϽ3†$T6Df\[BpڈmHSutN0YFzv5#r5y8[fĻO,_& IKZ/PRIWi:7ӶWe,z=;a|-b]/c"XF}(WY$U)]P. k7mK-ukehlP~*]ӲQKoclKEBbe5 %$z趟 |6ˣz=;azvY7Ӷcvmp͉v)aٷPHSZٖ}k]tt6(hmF^ C!Z;fE}u,}> ĒERuzvY7Ӷ9ٷϱ6%xye1J\|PuH t[O09ѽJ;,e q|m<9{RٷPHSZٖ}k]tt6(hmF^ C!Z;fE}u,}> ĒERuzvY7YpءlKEBb {x$- WX{x%$z趟 asz=<~^`|i6(im<9{R>4bWY$U)]P s:ֺYh(N+]u9[c{xHSutN0YFzv5,t^286%xye0( :6( :Ĕe0( :+CbӬJI /~}|)y΍jUf (ޏNffG[fĻO^EE8 $5_εCtuu𦤒*]ӲQK"qclK`8,XX ( u I$ײ4˜wޏNf^`jY-b]/c"XDN;qB"Mj"qc=ˀu#BIJnf (ޏNf8﯌,>ϱ6%xyc |4IKϱ6%xr2,D㾾0 :ϸh#o>+*֮uԱ o*&WD㾾0oIJnf (ޏKcܾym<<cIK>]b'_@U|)y΍)We,z=/erlKdYK_=B"MjclbuR<-$T^`)>?lKD N%.Xju~RIWi:7^`)>?lKdYK8PHSZסHSutN0YFz_ lؗi叆c )rT+CJI *m>üFz_ӲQ2g|6%xr2,B/]dTuC1|ĒERuzvY7Xh~ٱ. |R叆WX;@U|)y΍)We,z=/em<9{RcN?o+*֮cٷ$7W@oGL_<͉vXh;H,|5B1 D]L;toGJ;,e|S,|6{-b]/c"X|4/rIJkWT3 6e1;6i$7W@oGL-b]>!$ P w)$ES|RN0YFz_ 6%xr2,@~(WY$U)] k¾g LvvmIJnf (ޏKcܾym<< N%.XjulPuI$^-˜wޏKzvY7Xl/[fĻO^Eh^+*֮f>^`0p(P@$7W@oGL-b]>!@i$ P N)$ES|RN0YFz_ 6%xr2,@~(WY$U)] kbӭ$T^`)>=ٱ. a$ PRIWi:7^`)>=ٱ.×e,f>| $5ףp(P@$7W@oGL-b]> ãIK>]b :?D]L;toGJ;,e|S,|4~?o lؗiȲ3 qx]dTt3 F$7W@oGԲ'0im<<zxH N{&$ P6y9옔@U|)y΍zvY7Y\4͉v)a>QT+*֮f>:>tȟ($7W@oGԲ0^ٱ. oGԀbJ\ gɉI$^-˜wޏOWe,z=<~͉v)aB"Mj(f>:]20^$*]ӲQ2g|6%xyc R叆WXD]L;toGJ;,e|S,|6{-b]/c"X|4/rIJkWT3 |6^$*]ӲQ2G͉vXhDc!)$ES|RN0YFz_ 6%xr2,@~(WY$U)] kŸ ׉$7W@oGL_<͉vXhJ\ t`8JI *m>üFz_ӲQ2g|6%xr2,B/]dTuC1t`: ׉$7W@oGL-b]> p,|5BH t[O09ѽ*oGL-b]/c"X|4 uER|6I$U)We,z=/erlKD;rACMh,|5Bl)$ES|RN0YFz_ lؗiȲ3 ܾzuER k¢4f*]ӲQ2G͉vXhz='xH(iR叆WXPm%$z趟 asz=/Uf (ޏKcx[fĻO^Eh $5mxTFlԒERuzvY7Xl/[fĻO,|4A$/q$ P{)$ES|RN0YFz_ lؗiȲ3 ܾzuER k$7W@oGL-b]> ޏIR叆WXp@U|)y΍)We,z=/em<9{RcN?o+*֮c/qHSutN0YFzxMp6%xq@ ,, @ ,, WZI /~]>üFzxJ;,e6KlؗiȲT+*֮롘m.@ WF, |a@ I$U)We,z=<~>QKlؗi叆8A?Rgɉ)r@]bls1)$ES*oGԲ'0im<9{R"| WY$U)]P|6u|>Qk:e?gS@k"| $T^`F 6%xyc>Qf ޏOdĔc>Qf]bls1)$ES*oGԲ0^ٱ.×e,"0^(WY$U)]E gWꉕdOapZΙo|/IJnf (ޏO2'/ -b]>\6b \6j '=H t[O09ѽ?RN0YFzxLّ8xYm<9{Rّ8]dTtI3 k\6 >u6dN:i$7W@oG 6#KlؗicJX|4]b# ͎Qasz=<~^`cim<9{Rc $5HSutN0YFz_ lؗi叆J\Ӡ]b]L;toGJ;,e|S,|6{-b]/c"X|4/rIJkWT]t3.G>CCh~?_w/c$7W@oGL-b]>t )rNuH t[O09ѽ*oGL-b]/c"X|4 uER >nuυ*]ӲQ2g|6%xyc@@R叆 61:]L;toGJ;,e|S,|6{-b]/c"X|4/rIJkWT3 Cc ^ uŒ|7VIJnf (ޏKcx[fĻO,|4~J\Ӡ]b'_@U|)y΍)We,z=/em<9{RcN?o+*֮clbuQ]ZI"M:;,e|S,|6{-b]>t1cAB1]L;toGJ;,e|S,|6{-b]/c"X|4/rIJkWT3 LwͼWk]pծ9ERuzvY7Xh~ٱ. :J\Ӡ]bRIWi:7^`)>?lKdYK8PHSZצ;fQ]ZI"M:;,e|S,|6{-b]>t1 DcAB1 D]L;toGJ;,e|S,|6{-b]/c"X|4/rIJkWT3 6e1;6`jmkcG>HSutN0YFz_ 6%xyc@C$IK>t+C$JI *m>üFz_ӲQ2G͉v)c1'IJkWC1j&So&ֺF>]tsi$7W@oGL_<͉vXiؠ4R叆 ؠ4H t[O09ѽ*oGL_<͉v)c1нWY$U)]P|66( :\(uk|-$T^`)>?lKNX,|4(WXX@U|)y΍)We,z=/em<9{RcN?o+*֮c@iֺF>]tsi$7W@oGL_<͉vXia$ :  ãJI *m>üFz_ӲQ2g|6%xr2,B/]dTuC1aֺF>]tsi$7W@oGL-b]>tt~)rNu0H t[O09ѽ*oGL-b]/c"X|4 uER|6t~Q]ZI"M:;,e|S,|6{-b]>t>$ : !)$ES|RN0YFz_ lؗiȲ3 ܾzuER kŸ ׀jmkcG>HSutN0YFz_ 6%xyc@CJ\Ӡ]b H t[O09ѽ*oGL-b]/c"X|4 uER|6)xֺF>]tsi$7W@oGL_<͉vXit`8IK>t+Aр)$ES|RN0YFz_ lؗiȲ3 ܾzuER kр5x6 1|Z룟 I$U)We,z=/em<<Ӡ p,|4(WXRIWi:7^`)>?lKdYK8PHSZףjmkcG>HSutN0YFz_ lؗi叆zNPm$ :  4fI$^-˜wޏKzvY7Xl/[fĻO^Eh^+*֮f>^ m@\(uk|-$T^`)>?lKNz='xH(iR叆  mD]L;toGJ;,e|S,|4~?o lؗiȲ3 qx]dTt3  6٠jmkcG>HSutN0YFzfѼ?Î-b]>t;rBJ\Ӡ]bRI{]L;toG`QWe,z=3Kq^ٱ.×e,ǣx^(WY$U)]P|6suu̸mtGT/IDT^`)>=ٱ. : 9!{%.XiP{)$ES|RN0YFz_ lؗiȲ3 ܾzuER k^8 ^ uŒ|7VIJnf (ޏKcx[fĻO,|47w>cAB>]L;toGJ;,e|S,|4~?o lؗiȲ3 qx]dTt3 A{5x6 1|Z룟 I$U)We,z='xN"?:lؗi叆`4 IK>fvZuH t[O09ѽ%^`9:4-b]/c"X1i֡]dTuC1ֹ2-Ɲjȶ^ o`7scZH~629SܾzI"M:;,e;rui[fĻO,|4/{z_B/$ h3;-B B/%$z趟 asz='xJ;,e;rui[fĻO^Ec#ӭB"Mjc᳭sJd[k;"?:)mOneƵDS>Rj{I$U)We,z='xN"?:lؗi叆`4 ޏK⑘h%.Xh^Aj f>JI *m>üFzNzvY7w#Ӭ͉v)`dGZuER gZΔȶ vDuS"]x6˭k+c}*XmI"M:;,e|S,|6{-b]_SܾzI"M:;,e|S,|6{-b]_?lK1' )!CB/$@~(WXR$4/rRIf(09ѽ*oGL-b]/c"X|4 uERe C1'jtPlOQυч!7>fD$_ Cd_=$T^`)>?lK1' )!CB/$@~(WXR$4/rj~RIf(09ѽ*oGL-b]/c"X|4 uERe C1'fD |@6Hh^IJnf (ޏKcx[fĻO3 qx ޏK'JX|4 uqx%$OqlrS|RN0YFz_ 6%xr2,@~(WY$U)]PF_ۯP3 qxE e]rs9$T^`)>?lK1' )qx$@~(WX'j~RIf(09ѽ*oGL-b]/c"X|4 uERe C1'$7W@oG0f>͉v`,p`IK 0]i$R?ƝtS;rr:٩We,z='xNY[5'ů1lKdYK ^c+*֮"M:;,e;rXx[fĻO0`80$ ,$ , P@^{)N|)y΍9*oGcvmm<9{Ro+*֮"M:;,er[{~6%xydYmC,"' |)rȲچXDN@ ]i$R?ƝtS᷆v]rUf (ޏL߼o{ٱ.×e,U> $5@` =K>$T^` 9-ym<<,>җ,-eD"5BI{~?:o 70(ӲQG%x;>-b]/c"X }IJkWT @9`@pP |$*]ӲQG%x;>-b]E2"rdYmC,"' |HjuHuOtoG`QWe,z=3K~v}o[fĻO^EaW+*֮  r0&:ʗ}I"M:;,er[{~6%xydYmC,"' |w4җ,-eD.ڡ]i$R?ƝtS᷆v]rUf (ޏL߼o{ٱ.×e,U> $5@` L |(s@ I$U)We,z=3K~v}o[fĻO,-eD. KE2"rzABI{~?:o 70(ӲQG%x;>-b]/c"X }IJkWT @9`@K"jud)rHSutN0YFzf|߼͉vY[P"D| \,>D(WZI /~]>m᝗FzfzvY70(glKdYK>v{OB"Mj@ (,hDlZ@D|IJnf (ޏL߼o{ٱ."j`<@t:e.Y[PqP@^{)N|);. 9*oG`Qo7ϽlؗiȲ}|*zuER`M@$鱹#:# G$T^` 9-ym<<,s@)rȲچX]BI{~?:o 70(ӲQG%x;>-b]/c"X }IJkWT0  XI`@#d+\;RIJnf (ޏL߼o{ٱ."j`:Ɲe.Y[P84P@^{)N|);. 9*oG`Qo7ϽlؗiȲ}|*zuER`M@$tG΀p  y\IJnf (ޏL߼o{ٱ."j`:Ɲ`DdYmC,@Ӭ6 I$ײ4Ÿ 3ޏLN0YFzf|߼͉v)`'7¯x WY$U)]P0A p q9H@I"M:;,er[{~6%xydYmC,s@ G"j`hl"> ֒H ߯e#iO>xgeѽG%^` 9-ym<9{ROo^PHSZP@HK8+^Ys@I$U)We,z=3K~v}o[fĻO,-ePLs@)rȲچX. w4 I$ײ4Ÿ 3ޏLN0YFzf|߼͉v)`'7¯x WY$U)]PX( $a%`Mt C!:4ԒERuzvY7w"˜lؗidYs%,fE9WX)${3cdrwޏIN0YFzNdYsm<9{RdYsuER$U)We,z=<~jm<<,|`D6Rf0 FJ\,|`T+@%I$^-˜wޏOWe,z=<~jm<9{R*uER$P̋.sf0F᳨f>0sCP݌((hm59Z>5Yc=$RnȶQmfHSutN0YFzxIϞٱ."˜(4A?Sh5 vkn$"˜(5BٯQh@U|)y΍zvY7N|͉v)`T+*֮"dYsλ5Z7 EC1Qk:dOap$M||VϭxXo-IE;5%ۅ2-Fl٤*]ӲQ?R}[fĻO,.s_pzxMpԁٯQh,.s_p f0 FRIWi:7Uf (ޏO>-b]/c"XUFIJkWDC2,]­΢!µϝpBx"_9}cծc^9mE)m|` |xLmu6i$7W@oGi[fĻO,.s_pzxMpԁٯQh,.s_p f0 FRIWi:7Uf (ޏO g4͉v)` sT+*֮"dYsλ5Z7 EC1Qk: 1shhi$S_9}cծc^9mE)m|` |xLmu6i$7W@oG͙͉vY\iOOhJ7 oG7 H=>(4IKE9jT+@=>(4JI *m>üFzxJ;,e3fD-b]/c"X[2'7uER$P̋.siOOmZ7 EC1Qk:$2'7 r>]gƼk,s緖$S"X=>᠗nȶQmfHSutN0YFzxK"| ٱ."˜"| pzxMpԄDF FJ\,"'0hJ7 P>QBQh@U|)y΍zvY7Y\4͉v)a>QT+*֮"dYsΙ\6΢!µϝ2'0m $k/s:}lk6>{ymH2-DF {pPEm4ERuzvY7Yo|/ lؗiea%7m"0^p%.Y\o|/Qju7(4JI *m>üFzxJ;,e,7lKdYK7IJkWDC2,L7h6u1 uF|鑆򆆒E59Z>5Yc=Da{p6ٳI$U)We,z=<~jm<<,%7@H0%)rȲ0n]bH0%I$^-˜wޏOWe,z=<~jm<9{R*uER Ȳ;Z7 F|jI"M:;,e,u6!lKȲ0n ޏO n$"˜Qju n%$z趟 asz=<~^`: 6%xr2,:  $5ew:n:+\l؆$*]ӲQ?R[b}[fĻO,.s F 8 FJ\,%WX8 FRIWi:7Uf (ޏOcѱ >-b]/c"XCѱ =B"MjdYsέΣ >t[6!} ~$7W@oGԱ{,͉vY\D p$DdYsJ7 Pp$D]L;toGԫӲQ?RE6%xr2,:/eWY$U)]P̋.sգpaZΘ轖HSutN0YFzxK"| ٱ."˜Qhz=<~Qh,.s F Qh@U|)y΍zvY7Y\4͉v)a>QT+*֮"dYsέ΢!µϝ2'0jI"M:;,e,7lKȲ0n ޏO n$"˜Qju n%$z趟 asz=<~^`F 6%xr2,F $5ew:n:+\# I"M:;,e'>z[fĻO,.s F 8 FJ\,%WX8 FRIWi:7Uf (ޏO96%xr2,_=PHSZ\sF᳨µϝM|QϞ*]ӲQ?R}DF -b]E9pzxH p%.Y\T+@ p)$ES*oGԟpA>QKlؗiȲp@"'0juER$P̋.sգpX3VS"| *]ӲQ?R}[fĻO,.s F 8 FJ\,%WX8 FRIWi:7Uf (ޏO>-b]/c"XUFIJkWT3"˜uh6uVSI$U)We,z=<~lȜp߅lKȲ0n ޏO n$"˜Qju n%$z趟 asz=<~^`"q~ٱ.×e,-B"MjdYsέΣ >u6dN:I$U)We,z=<~l3Y\4͉vY\D p$DdYsJ7 Pp$D]L;toGԫӲQ?S.[fĻO^EehDOap $5ew:n:+\f'0jI"M:;,e;acٱ."˜Qhz=<~Qh,.s F Qh@U|)y΍zvY7v4-b]/c"X24} $5ew:n:+\fяHSutN0YFzxH[fĻO,.s F 8 FJ\,%WX8 FRIWi:7Uf (ޏO6#lؗiȲ $5ew:n:+\HSutN0YFzxK"| ٱ."˜X pzxMpԀb FJ\,J7 P,XQh@U|)y΍zvY7Y\4͉v)a>QT+*֮"dYsΌZ7 EC1Qk:dOapI_Xuk׀me|DJd[kb& |xLmu6i$7W@oGԱh؆ٱ."˜gpzxMpԂ6 FJ\,xJ7 PQh@U|)y΍zvY7X`4lC lؗiȲ`4lC+*֮"dYsΟ}Z7 EC1Qk:cI_Xuk׀me|DJd[km |xLmu6i$7W@oGԱh؆pAgٱ."˜gpzxMpԂ6 FJ\,xJ7 PQh@U|)y΍zvY7X`4lC lؗiȲ`4lC6PHSZ$ew:~h6u1 uF|鎶hlC(hi$S_9}cծc^9m)mx%ۅ2-Fl٤*]ӲQ?RE6%xydYs#ln ޏOnF(4IKE96 F xJ7 H t[O09ѽ?RN0YFzxKlؗiȲ轖]dTtI3"˜tѸl,b+\ҙ)m"!CCiπY嶉"ȶ<B#MlIJnf (ޏO96%xydYs#ln ޏOnF(4IKE96 F xJ7 H t[O09ѽ?RN0YFzxIϞٱ.×e,uER$P̋.sϫF᳨f>0sG>{CCI"u[ Ϟ[h)Lm`//)m4f$T^`DF -b]E9BQhz=<~Ѹj@a(4IKE9BQju=p)$ES*oGԲ'0im<9{R"| WY$U)]E Ȳ;l6΢!µϝ2'0m $k/s:}lk6>{ymH2-mB#MlIJnf (ޏOdOap6%xydYsTPpzxMpԅE J7 ReaQBvT+@TPp)$ES*oGԲ'0im<9{R"| WY$U)]E Ȳ;'uh6u1 uF|>Qhhi$S_9}cծc^9mE)m*(N//)m4f$T^`DF -b]E9E TuJ7 oG7 HTPp%.Y\'aQ(5BE J7 H t[O09ѽ?RN0YFzxK"| ٱ.×e,"'0juER$P̋.sBwG_UpX3VDF M||VϭxXo-IE; 0{pPEm4ERuzvY7v5>QKlؗie` Дn ޏOnehJ7 Re` Дn]b(4JI *m>üFzxJ;,e;aȟ(᥶lKdYKXfDF PHSZ$ew: ڴn:c: >uȟ(44)πY嶁n6i$7W@oGԏ|lKȲ0%lGpzxMpԁ/b<%)rȲ0%lGp  n%$z趟 asz=<~^`b<͉v)`K؏PHSZ$ew:6#Ѹl,b+\CCI"u[ Ϟ[h |n6i$7W@oGԼ:#x[fĻO0  BXX(`H, P@^{)N|);.ZUf (ޏOyuF͉v)` 7IJkWT uԲ2&V_.;:IJnf (ޏJ,526%xq^kb^kj JI "0 :7҆ӲQ5&Y^kelKdYK]dTuAnuV|6Ϟٝ!sI$U)We,z=(kL2lؗidey7҆_sRdeyWX^kbRIf(09ѽ5%^`92_s-b]/c"X̌55 $5s 塵,46|]Zmٝi$7W@oGmM2CXs 6%xydeyb fFWDdeyj fFWD]OtoGmM*oGmM2CXs 6%xr2,CB://+*֮Ώt[CgLmWB dey:ڒHSutN0YFzF߄,45vKlؗideya(4A$4fޏIQ$4fޏI mD^hhCXJ7 P4 A{5l5l)${3cdrwޏHUf (ޏHe憱Ѹim<9{Rdeya(5B"Mj"M:;,e~L2;u J9lK22Їx%(7w䂆l%,fFW  mD# ͎Qasz=#oiWe,z=#oiFWx)G4͉v)c22Їx%(WY$U)]Q$U)We,z=#oiFWۛ1m<8̌44-7w>oG;bJX̌44-(WXp󘔒@Da=29L;toGmM*oGmM2C[sf>[-b]/c"X̌44-(WY$U)]PDa=C22|9FG+Բ2}"q2Hu@d`_PwEC@XƼSc$eq>lIJnf (ޏHe憶|8[fĻO3#+ .lc 9!{5;rB9!{5;rBJX̌44-(WXpj | I$FA#üFzF߄үN0YFzF߄,456c6%xr2,C@K1uER# ͎VmεPD7#憁}Hstdr_uk憤*]ӲQ4#+ m͘lp͉vfFW\ُ;rBj7wuRz FzNjB])c22|8]bj tZERIf(09ѽ4ӲQ4#+ m͘lp͉v)c22|8]dTu@>t{3csu9Q2Mdeyjm^-$m:29Y}m:RCRIJnf (ޏHe_86%xq^hhK_:@3#+ k8^(WX)${3cdrwޏHUf (ޏHe_86%xr2,CBZxq׊IJkWDT^` Y^hmsKlؗidey-~Д IK憄 BRjuH'69FG)y΍ ^` Y^hmsKlؗiȲ3#+ k8 $5'69FG) =m CBZS$T^` Y^hmsKlؗidey-~Д ޏI mD^hhK_%(WXPm%$OqlrS~J;,e~L2k94%(ٱ.×e,fFWp- J9IJkWTOqlrRz憄ΛgX﯀I$U)We,z=(kL2lؗi呕憀%.Y^hhϹWX)$ESC^rUf (ޏJ,526%xr2,_sPHSZ] ׅ\> :@ >|Y^hm_đZmΟ ]6,46|$T^`92Cr154-b]憂qC`4oGH"CB/$CAw8 uWXD$_m᝗FzNjUf (ޏIaIx6%xr2,Yo+*֮ۆ]u;ډ:Ӟ>y:yΣm᝖$|r |SM$T^`99flԟٱ.Ì($RP@^{)N|)y΍99flԫӲQ',íט6%xr2,E1IJkWDT^`93im<<;rACMh$&  mD]L;toG yWe,z=(kL[fĻO^EWY$U)]P&xSϨcZ뭌&V`5$T^`) ۃ6%xy!7^h%.HM]b]L;toGJ;,e|S=AwlKdYK ܾx2 ۃ $5NZXf9VƵJd[kh2 ۂ2-j&VH6.5d+]t3.H|+]tEZ2-$Q#טZy]>S"\(S"]G()LmsGLmtc椒*]ӲQ2Bn |$rlKA|z_!$4/rJX&ὀD$_=B!$4/rRIf(09ѽ*oGL_ !ܾym<9{R!7 !$4/rIJkWT^cHM{I _>]^ ƆԐhjxHSutN0YFz_ o`5=ٱ.ÌBn BHh^|Rн灩%,bph"CB/]b|5>%$OqlrS|RN0YFz_ o`5=ٱ.×e,bph"CB/]dTuAnu>7Oڞ{HM{5 $1ڛI$U)We,z=/d7x[fĻO1 o`4} )m1 o`4} }RIf(09ѽ*oGLro lؗiȲ1 o`4}IJkWT,}I o`6o({0 ٷ$&ὀ^$*]ӲQ2Bn -b]7 z_ O)cAwx]bwxD# ͎Qasz=/Uf (ޏK!7 ٱ.×e,bph.o+*֮#/רXpmePԐhjyQ2C¦.IJnf (ޏJ׳_| -b] ޏI m@oG 6٢J\  m@ mD]L;toG yWe,z=(kK^|a4͉v)`#ٯ>WY$U)]PW]u9[cEmS"]lk]u9[cIEyZ2-ZΚk$7W@oG yw:lؗi䆈7w䂆l5;rACMh$5Bl5l)$ESC^rUf (ޏJ7ouٱ.×e,n4PHSZ)ֺr Package java.applet

    All Packages (JDK)

    Package java.applet

    Interface Index

    AppletContext
    AppletStub
    AudioClip

    Class Index

    Applet
     kt$j7I66$Pj./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.awt.datatransfer.htmtmtm$$ Package java.awt.datatransfer

    All Packages (JDK)

    Package java.awt.datatransfer

    Interface Index

    ClipboardOwner
    Transferable

    Class Index

    Clipboard
    DataFlavor
    StringSelection

    Exception Index

    UnsupportedFlavorException
    0 kH$7I66$H./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.awt.event.htmer.ht$$ Package java.awt.event

    All Packages (JDK)

    Package java.awt.event

    Interface Index

    ActionListener
    AdjustmentListener
    ComponentListener
    ContainerListener
    FocusListener
    ItemListener
    KeyListener
    MouseListener
    MouseMotionListener
    TextListener
    WindowListener

    Class Index

    ActionEvent
    AdjustmentEvent
    ComponentAdapter
    ComponentEvent
    ContainerAdapter
    ContainerEvent
    FocusAdapter
    FocusEvent
    InputEvent
    ItemEvent
    KeyAdapter
    KeyEvent
    MouseAdapter
    MouseEvent
    MouseMotionAdapter
    PaintEvent
    TextEvent
    WindowAdapter
    WindowEvent
     k& $X7I66$PX./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.awt.htmt.h$$ Package java.awt

    All Packages (JDK)

    Package java.awt

    Interface Index

    Adjustable
    ItemSelectable
    LayoutManager
    LayoutManager2
    MenuContainer
    PrintGraphics
    Shape

    Class Index

    AWTEvent
    AWTEventMulticaster
    BorderLayout
    Button
    Canvas
    CardLayout
    Checkbox
    CheckboxGroup
    CheckboxMenuItem
    Choice
    Color
    Component
    Container
    Cursor
    Dialog
    Dimension
    Event
    EventQueue
    FileDialog
    FlowLayout
    Font
    FontMetrics
    Frame
    Graphics
    GridBagConstraints
    GridBagLayout
    GridLayout
    Image
    Insets
    Label
    List
    MediaTracker
    Menu
    MenuBar
    MenuComponent
    MenuItem
    MenuShortcut
    Panel
    Point
    Polygon
    PopupMenu
    PrintJob
    Rectangle
    ScrollPane
    Scrollbar
    SystemColor
    TextArea
    TextComponent
    TextField
    Toolkit
    Window

    Exception Index

    AWTException
    IllegalComponentStateException

    Error Index

    AWTError
     k!$7I66$0^./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.awt.image.htmer.ht$$ Package java.awt.image

    All Packages (JDK)

    Package java.awt.image

    Interface Index

    ImageConsumer
    ImageObserver
    ImageProducer

    Class Index

    AreaAveragingScaleFilter
    ColorModel
    CropImageFilter
    DirectColorModel
    FilteredImageSource
    ImageFilter
    IndexColorModel
    MemoryImageSource
    PixelGrabber
    RGBImageFilter
    ReplicateScaleFilter
     kꞡ"$ 7I66$c ./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.beans.htmh$$ Package java.beans

    All Packages (JDK)

    Package java.beans

    Interface Index

    BeanInfo
    Customizer
    PropertyChangeListener
    PropertyEditor
    VetoableChangeListener
    Visibility

    Class Index

    BeanDescriptor
    Beans
    EventSetDescriptor
    FeatureDescriptor
    IndexedPropertyDescriptor
    Introspector
    MethodDescriptor
    ParameterDescriptor
    PropertyChangeEvent
    PropertyChangeSupport
    PropertyDescriptor
    PropertyEditorManager
    PropertyEditorSupport
    SimpleBeanInfo
    VetoableChangeSupport

    Exception Index

    IntrospectionException
    PropertyVetoException
    name k}#$I"7I66$jI"./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.io.htmtmh$$ Package java.io

    All Packages (JDK)

    Package java.io

    Interface Index

    DataInput
    DataOutput
    Externalizable
    FilenameFilter
    ObjectInput
    ObjectInputValidation
    ObjectOutput
    Serializable

    Class Index

    BufferedInputStream
    BufferedOutputStream
    BufferedReader
    BufferedWriter
    ByteArrayInputStream
    ByteArrayOutputStream
    CharArrayReader
    CharArrayWriter
    DataInputStream
    DataOutputStream
    File
    FileDescriptor
    FileInputStream
    FileOutputStream
    FileReader
    FileWriter
    FilterInputStream
    FilterOutputStream
    FilterReader
    FilterWriter
    InputStream
    InputStreamReader
    LineNumberInputStream
    LineNumberReader
    ObjectInputStream
    ObjectOutputStream
    ObjectStreamClass
    OutputStream
    OutputStreamWriter
    PipedInputStream
    PipedOutputStream
    PipedReader
    PipedWriter
    PrintStream
    PrintWriter
    PushbackInputStream
    PushbackReader
    RandomAccessFile
    Reader
    SequenceInputStream
    StreamTokenizer
    StringBufferInputStream
    StringReader
    StringWriter
    Writer

    Exception Index

    CharConversionException
    EOFException
    FileNotFoundException
    IOException
    InterruptedIOException
    InvalidClassException
    InvalidObjectException
    NotActiveException
    NotSerializableException
    ObjectStreamException
    OptionalDataException
    StreamCorruptedException
    SyncFailedException
    UTFDataFormatException
    UnsupportedEncodingException
    WriteAbortedException
    name="O k$$+"7I66$+"./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.lang.htmh$$ Package java.lang

    All Packages (JDK)

    Package java.lang

    Interface Index

    Cloneable
    Runnable

    Class Index

    Boolean
    Byte
    Character
    Class
    ClassLoader
    Compiler
    Double
    Float
    Integer
    Long
    Math
    Number
    Object
    Process
    Runtime
    SecurityManager
    Short
    String
    StringBuffer
    System
    Thread
    ThreadGroup
    Throwable
    Void

    Exception Index

    ArithmeticException
    ArrayIndexOutOfBoundsException
    ArrayStoreException
    ClassCastException
    ClassNotFoundException
    CloneNotSupportedException
    Exception
    IllegalAccessException
    IllegalArgumentException
    IllegalMonitorStateException
    IllegalStateException
    IllegalThreadStateException
    IndexOutOfBoundsException
    InstantiationException
    InterruptedException
    NegativeArraySizeException
    NoSuchFieldException
    NoSuchMethodException
    NullPointerException
    NumberFormatException
    RuntimeException
    SecurityException
    StringIndexOutOfBoundsException

    Error Index

    AbstractMethodError
    ClassCircularityError
    ClassFormatError
    Error
    ExceptionInInitializerError
    IllegalAccessError
    IncompatibleClassChangeError
    InstantiationError
    InternalError
    LinkageError
    NoClassDefFoundError
    NoSuchFieldError
    NoSuchMethodError
    OutOfMemoryError
    StackOverflowError
    ThreadDeath
    UnknownError
    UnsatisfiedLinkError
    VerifyError
    VirtualMachineError
    targe k|%$_7I66$P|_./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.lang.reflect.htmht$$ Package java.lang.reflect

    All Packages (JDK)

    Package java.lang.reflect

    Interface Index

    Member

    Class Index

    Array
    Constructor
    Field
    Method
    Modifier

    Exception Index

    InvocationTargetException
    e k6&$7I66$`./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.math.htmec$$ Package java.math

    All Packages (JDK)

    Package java.math

    Class Index

    BigDecimal
    BigInteger
     k4'$87I66$8./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.net.htmec$$ Package java.net

    All Packages (JDK)

    Package java.net

    Interface Index

    ContentHandlerFactory
    FileNameMap
    SocketImplFactory
    URLStreamHandlerFactory

    Class Index

    ContentHandler
    DatagramPacket
    DatagramSocket
    DatagramSocketImpl
    HttpURLConnection
    InetAddress
    MulticastSocket
    ServerSocket
    Socket
    SocketImpl
    URL
    URLConnection
    URLEncoder
    URLStreamHandler

    Exception Index

    BindException
    ConnectException
    MalformedURLException
    NoRouteToHostException
    ProtocolException
    SocketException
    UnknownHostException
    UnknownServiceException
     k($<7I66$`<./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.rmi.dgc.htm.htmht$$ Package java.rmi.dgc

    All Packages (JDK)

    Package java.rmi.dgc

    Interface Index

    DGC

    Class Index

    Lease
    VMID
    et=" ke)$Y 7I66$ Y ./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.rmi.htmhtm$$ Package java.rmi

    All Packages (JDK)

    Package java.rmi

    Interface Index

    Remote

    Class Index

    Naming
    RMISecurityManager

    Exception Index

    AccessException
    AlreadyBoundException
    ConnectException
    ConnectIOException
    MarshalException
    NoSuchObjectException
    NotBoundException
    RMISecurityException
    RemoteException
    ServerError
    ServerException
    ServerRuntimeException
    StubNotFoundException
    UnexpectedException
    UnknownHostException
    UnmarshalException
     kꌯ*$7I66$`./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.rmi.registry.htmht$$ Package java.rmi.registry

    All Packages (JDK)

    Package java.rmi.registry

    Interface Index

    Registry
    RegistryHandler

    Class Index

    LocateRegistry
     kh+$4 7I66$4 ./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.rmi.server.htmmht$$ Package java.rmi.server

    All Packages (JDK)

    Package java.rmi.server

    Interface Index

    LoaderHandler
    RMIFailureHandler
    RemoteCall
    RemoteRef
    ServerRef
    Skeleton
    Unreferenced

    Class Index

    LogStream
    ObjID
    Operation
    RMIClassLoader
    RMISocketFactory
    RemoteObject
    RemoteServer
    RemoteStub
    UID
    UnicastRemoteObject

    Exception Index

    ExportException
    ServerCloneException
    ServerNotActiveException
    SkeletonMismatchException
    SkeletonNotFoundException
    SocketSecurityException
    /a>< k<,$7I66$P./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.security.acl.htmht$$ Package java.security.acl

    All Packages (JDK)

    Package java.security.acl

    Interface Index

    Acl
    AclEntry
    Group
    Owner
    Permission

    Exception Index

    AclNotFoundException
    LastOwnerException
    NotOwnerException
    rver k"-$L7I66$L./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.security.htmhtmht$$ Package java.security

    All Packages (JDK)

    Package java.security

    Interface Index

    Certificate
    Key
    Principal
    PrivateKey
    PublicKey

    Class Index

    DigestInputStream
    DigestOutputStream
    Identity
    IdentityScope
    KeyPair
    KeyPairGenerator
    MessageDigest
    Provider
    SecureRandom
    Security
    Signature
    Signer

    Exception Index

    DigestException
    InvalidKeyException
    InvalidParameterException
    KeyException
    KeyManagementException
    NoSuchAlgorithmException
    NoSuchProviderException
    ProviderException
    SignatureException
    ror< kt.$7I66$P./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.security.interfaces.htmtm$$ Package java.security.interfaces

    All Packages (JDK)

    Package java.security.interfaces

    Interface Index

    DSAKey
    DSAKeyPairGenerator
    DSAParams
    DSAPrivateKey
    DSAPublicKey
    Package java.sql

    All Packages (JDK)

    Package java.sql

    Interface Index

    CallableStatement
    Connection
    DatabaseMetaData
    Driver
    PreparedStatement
    ResultSet
    ResultSetMetaData
    Statement

    Class Index

    Date
    DriverManager
    DriverPropertyInfo
    Time
    Timestamp
    Types

    Exception Index

    DataTruncation
    SQLException
    SQLWarning

     k0$ 7I66$ ./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.text.htmin$$ Package java.text

    All Packages (JDK)

    Package java.text

    Interface Index

    CharacterIterator

    Class Index

    BreakIterator
    ChoiceFormat
    CollationElementIterator
    CollationKey
    Collator
    DateFormat
    DateFormatSymbols
    DecimalFormat
    DecimalFormatSymbols
    FieldPosition
    Format
    MessageFormat
    NumberFormat
    ParsePosition
    RuleBasedCollator
    SimpleDateFormat
    StringCharacterIterator

    Exception Index

    ParseException
     k:>1$ 7I66$ƃ ./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.util.htmin$$ Package java.util

    All Packages (JDK)

    Package java.util

    Interface Index

    Enumeration
    EventListener
    Observer

    Class Index

    BitSet
    Calendar
    Date
    Dictionary
    EventObject
    GregorianCalendar
    Hashtable
    ListResourceBundle
    Locale
    Observable
    Properties
    PropertyResourceBundle
    Random
    ResourceBundle
    SimpleTimeZone
    Stack
    StringTokenizer
    TimeZone
    Vector

    Exception Index

    EmptyStackException
    MissingResourceException
    NoSuchElementException
    TooManyListenersException
    h k,2$ 7I66$ ̓ ./usr/IBMVJava/html/enterp/en_US/jdkref/package-java.util.zip.htmrfaces$$ Package java.util.zip

    All Packages (JDK)

    Package java.util.zip

    Interface Index

    Checksum

    Class Index

    Adler32
    CRC32
    CheckedInputStream
    CheckedOutputStream
    Deflater
    DeflaterOutputStream
    GZIPInputStream
    GZIPOutputStream
    Inflater
    InflaterInputStream
    ZipEntry
    ZipFile
    ZipInputStream
    ZipOutputStream

    Exception Index

    DataFormatException
    ZipException
    hre kT3$7I66$Ӄ./usr/IBMVJava/html/enterp/en_US/jdkref/q-index.htm.uti$$ "Q" Fields and Methods
    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

    Index of Fields and Methods (JDK)

    Q

    quoteChar(int). Method in class java.io.StreamTokenizer
    Specifies that matching pairs of this character delimit string constants in this tokenizer.

    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


    tm#_to l4$7I66$ۃ/./usr/IBMVJava/html/enterp/en_US/jdkref/r-index.htm.uti$$ a ert.<>cdhimnos "_fjlpuv#()/=Rbgwy ,CIMSDLx-ABEFNOPTU[]kzGHWq0V12368;K&'5JXYZ!49:\Q%Pɚ($dP2)dI nXA("Qێ`dV/D`p;O@$P` JY$(UUKm F{dʔhc( @8@ @XX@ 4$kY$Ж(X` h}׋h*l!Buu%ڲHP4} ,P`  *z( ,ף\獈]-[t2XE1T8PL?E1K$n-ZժpzvYܻKVz(wĥ:@!Bz^`09Uފ*)`)PAsp =j8sZV;$e 0Z謒Y$+ӲW-.[m袡OY$+ӲPmUފ*)`2B;,E0|[``Uo|JXBB;,E4|[``Uo|JX%Bz!^`|[``Uo|JX=dN0QFll 6QPK'f (hiv߃oE=dN0QN-.[m袡T'f )#~ T;RT'f (mUފ*)`(OY$+ӲP >-Z]*EC%,jI piv߃oERB;,E@|[``Uo|JXRB;,ED|[``Uo|JX=dN0QR-.[m袡(OY$+ӲQ#~ T;R $zvY#~ T;RT'f +GŶ KVz(wĥPHWe(ll 6QPK PHWe(-.[m袡(OY$+ӲR#~ T;R $zvYD|[``Uo|JXOY$+ӲPmUފ*)`Bz!^``#~ T;RPHWe(#~ T;RPHWe(D|[``Uo|JX*I v,FJ;FvX?9׳8Qѝ(F,&-]Hg6u t:0$b$GV.:$GV.:FJ;FvX?9׳HtI dPdHSut N0QFzN}qmllAK BI /~ I;jUf (ޏI#S-b] ^XW(OY$U)]P23YB^Pq2M2@BY&ŴI%m$T^`99@͉v0~-'8@D=2YL;toG yWe(z=(kNxP-b] ^X IJkWDAnu6:ŲE ϲĒERezvY7҆e6%[(:Q l=aΔFI$J3A,%üFzPלzvY7҆e6%,l=dTtI^c<[(TPq,&S|FtII6SjI"M2;,E|-;s:lؗl l9:Û|<z='xH^4AK@c.suOXp!X=>#D$% ͖Qasz=/Uf (ޏKl˜y[fĻ`唱~-V20!ZERe׬l]ΌySܿ V_m=x~Q>"T;[ z]}>CֺLm`Cε dkPRIJnf (ޏKl˜y[fĻ`_eyޏI#Rz='xH^4AK@c.suOXph=>#D$% ͖Qasz=/Uf (ޏKl˜y[fĻ`唱~-V20!ZERe׬l]ΌySܿ V_m=x~Q>"T;[ zcκuk}>QERezvY7j_6qFhB͉v0 A@XH8(  Ŕ`( pP,P@^{)|i;.ڗÍӲQ;RqÍJ3BlKYK aЅER=:t9C.g=m>5<[(T$7W@oGH 2r lؗleRT'8@U|iy΍IWe(z=/F a6{[fĻ`唰 4/r'*֮]εQ^u#)}k:^[i= _I"M2;,E|1 ٱ. OXq $I|N0QFz_$@/-}lKYK0hPHSZw^:ٷ$7W@oGH3|OCg~lKC)y}BI *m>4üFz_$ӲQ#== ٱ./dye,q1= ܿ $5}ul0~HoFdZΟڞ$*]+ӲQ,wϙٱ. OXq $I|N0QFz_$>gx[fĻ`唰|s8wx=dTuBﶽMuoIJnf (ޏJBr lؗleRT'8@U|iy΍9 J;,EC^rA:[__mbGRl-1= ܿ $5}C*]+ӲQnzr lؗleRT'8@U|iy΍؆?G^`؆?Gs6{[fĻ`唰K&'{=dTuBu`zm {~]u ۦmh;̭u^6礑F!k|QHSut N0QFz_$= ٱ. OXq $I|N0QFz_$= ٱ./dye,yнPHSZw:0~HoFdZΟڞ$*]+ӲQ&<|OCg~lKC)y}BI *m>4üFz_$ӲQ&<|OCg~lKYKv4/r'*֮]εQ^u#)}k:|OCj{HSut N0QFz_$/͉v6_hq//BzÈI$^MƘwޏKzvY7$ǝ}lKYKv $5}oӮxHSut N0QFzPלE0﷏l/͉v6_hq//BzÈI$^MƘwޏJӲQ5$y|L;z=-b] ^XLL;LOCB/Bz"Mjlu#)P?.s~ERezvY7%= ٱ. OXq $I|N0QFz_$'ܿ6%,4/r'*֮]εQ^u#)}k:|OCj{HSut N0QFz_$'ܿ 6%} !$z6asz=/Uf (ޏK6{x[fĻ`唰_PHSZw^:ٷ$7W@oGIύ |OCg~lKC)y}BI *m>4üFz_$ӲQ'>7 2= ٱ./dye,^4/r'*֮]εQ^u#)}k:|OCj{HSut N0QFz_$P̾6%} !$z6asz=/Uf (ޏK䓟yx[fĻ`唰S`Jx.o'*֮]ש#NcvmI"M2;,E|!5= -b] AKPIWio 7%^`Imٱ./dye, mBbz=dTuBu`߽$T^`Imr lؗleRT'8@U|iy΍IWe(z=/d0f'ܿ6%,C hLOCB/Bz"Mjlu#)zI"M2;,E|{϶'ܿ6%} !$z6asz=/Uf (ޏK}= ٱ./dye, yИ_ER ֺ6 ?ne72PsGm>'=I$U)We(z=/OBn>'ܿ6%} !$z6asz=/Uf (ޏKЛvl/͉v1{#)`Zp@&'{=dTuBu۩M̔+\zSܿERezvY7$&ᝀ_mml ^_jH tO09ѽ*oGIM; 6%,hM;wx=dTuBﶽMuoIJnf (ޏKl˜y[fĻ`/8ڡ=a$]&L;toGJ;,E|-;s:lؗlt/$T^`I4bxr lؗleRT'8@U|iy΍IWe(z=/g^>'ܿ6%,>#@d 2&'{=dTuBu۩M̔+\zSܿERezvY7&{ܾ6%} !$z6asz=/Uf (ޏK>#ro lؗl<}IJkWT.k]1;6$T^`Ior lؗle?l 0~I$^MƘwޏKzvY7%{z=-b] ^X' h^(OY$U)]P }lLmcrMsM̔+\~$|OCj{Oʼkq#(`*]+ӲQ&<|OCg~lKC ^_j?l$]&L;toGJ;,E|cη6{[fĻ`唰!XLOCB/Bz"MjleJdk#u6CΤe72PsOmEOr)W|>e 4ERezvY7$ǝl/͉v6_hq;xgeѽ*oGLl4͉v1{#)`Pm $5}e^580~IJnf (ޏKl˜y[fĻ`/8`p OXq4üFz_$ӲQ9C9͉v1{#)b[(e`Cε $5})mbN(K$] :߾Bϝ"xFPsI$U)We(z=/F a6{[fĻ`/8`pO ^_j?lz|tBI *m>4üFz_$ӲQ#0kz=-b] ^X ^[Bbz~ IJkWT.gCΟz>YjFW|=$T^`I?oql/͉v6_hq<D 0~脒@U|iy΍IWe(z=/F{z=-b] ^X ?lbz~ IJkWT.gH[*S$Y dkR2㲯}H?ntIfJ|= _I"M2;,EC^rA:[__mlx=>:O)y}`8A $IC^rAzvY7҆/=,u'ܿ6%,:[Bbz~ IJkWT.gOʼkq#(`*]+ӲQ-_mlx=>:O)y}`8A $I|N0QFz_$|OCg~lKYK1= ܿ $5})m늄MsM̔+\~|OCh*{Oʼkq#(`*]+ӲQnzr lؗle?lz|tAKPx=>:OI$^MƘwޏLczUf (ޏLczZ=|OCg~lKYKmBbz~ IJkWT.gOʽ _3εPύkY$S^6bfQΥ $7W@oGI:_mlx=>:O)y}`8A $I|N0QFz_$= ٱ./dye,yнPHSZw:@R&θK$] :߾Bϝ>'=He^580~IJnf (ޏKv>'ܿ6%}z|tRT'8`pOIWi:7%^`I1mz=-b] ^X&'{=dTuBt2MqPI?nu#)}k:|OCj{DOʼkq#(`*]+ӲQ5$y6{[fĻ`/8`pO ^_j?lz|tBI *m>4üFzPלE^`9 HE'ܿ6%,@B@_ER d~\mƾgR2ۚI"M2;,EC^rAþ>'ܿ6%}z|tRT'8`pOIWi:7҆/=*oG y^z_xr lؗl<xнPHSZw:B,˜߾xFPsI$U)We(z=/__mlx=>:O)y}`8A $I|N0QFz_$'ܿ6%,4/r'*֮]ΐ>TI*6CΤe72PsOmOr()W|>e 4ERezvY7$^>'ܿ6%}z|tRT'8`pOIWi:7%^`I9l/͉v1{#)` 2&'{=dTuBt2MqPI?nu#)}k:|OCj{DOʼkq#(`*]+ӲQ2m_6%}z|tRT'8`pOIWio 7%^`Imٱ./dye, mBbz=dTuBtƾgR2ۚI"M2;,E|!5= ٱ.0~肗ڡ=az|tH tO09ѽ*oGLl6{[fĻ`唰(a h^(OY$U)]P>;*ԌHSut N0QFz_$l/͉v6_hq<D 0~脒@U|iy΍IWe(z=/Oy6{[fĻ`唰-Bbz~ IJkWT.gH[*S$Y dkR2љ(V}$S㲯}H?ni$7W@oGIM;6{[fĻ`/8`pO ^_j?lz|tBI *m>4üFz_$ӲQ'7 _mbGR&ᝀLOCB/Bz"MjleJdk:,mt0~FS~3% >t/Ÿ$W|>e 4ERezvY7'<[(v23uٱ.0~肗ڡ=az|tH tO09ѽ*oGNxPef<-b] ^X+sBz"MjleJdk:,mt0~FS~3% >tcκ|vUD_3C$T^`It.,6{[fĻ`/8`pO ^_j?lz|tBI *m>4üFz_$ӲQ3Ŗr lؗl<` ,&'{=dTuBt2MqPI?nu#)}k:|OCj{DOʼkq#(`*]+ӲQ3|F@/_mlx=>:O)y}`8A $I|N0QFz_$q1 |OCg~lKYK |FeLOCB/Bz"MjleJdk:,mt0~FS~3% >t/‰"xFPsI$U)We(z=(kH"6{[fĻ`/8`pO ^_j?lz|tBI *m>4üFzPלE^`9 H"_mbGR y1= ܿ $5}2Pu̸p}>;*ԌHSut N0QFz_$ٱ.|//Bzñ4üFz_$ӲQ9}lKYK}IJkWT.iٷe^58ERezvY7$bym-b] =>: OXv;脒@U|iy΍IWe(z=/F aܾ6%,e](OY$U)]P;fNz>YjFW|=$T^`Ic|?/͉v6_hv;肗ڡ=apOIWi:7%^`Ic|?/͉v1{#)aqBz"Mjm1;6t|R2kq$7W@oGI;o2o lؗlecx=>:O)y}=>:!$z6asz=/Uf (ޏKveٱ./dye,yx.o'*֮]o'Oʽ,5#+ƾgHSut N0QFz_$'ܿ 6%}pO ^_jcx=>:OI$^MƘwޏKzvY7%= eٱ./dye,&'{.o'*֮]o'Oʽ,5#+ƾgHSut N0QFz_$P̾6%}pO ^_jcx=>:OI$^MƘwޏKzvY7$^eٱ./dye,^ $5}|㲯G5HǤ*]+ӲQ'n_mmlw8A//Bzñ<D$]&L;toGJ;,E|{϶ٱ./dye, ywx=dTuBﶘy:|vUfQ^58ERezvY7$&ᝀ_mmlw8A//Bzñ<D$]&L;toGJ;,E|zpC/͉v1{#)`Zp@](OY$U)]P;fNz>YjFW|=$T^`I-b] =>: OXv;脒@U|iy΍IWe(z=/ro lؗl<.o'*֮]o'Oʽ,5#+ƾgHSut N0QFz_$qx[fĻ`/;z|tAKPw8A $I|N0QFz_$qx[fĻ`唰hPHSZwLwͼ>;*|_(ԌzI"M2;,E=3F(=lKC| bz OXpO $T/]&L;toG īӲQ;o[fĻ`唰4$=dTu@H=fJ|OCj{HSut N0QFzrLLٱ.oGH0f4AKPPm $T/]&L;toG īӲQ;o!lKYK PHSZ1Y} IF{3g^5!6N钎vt_i$Q(Vgc/$T^`Ioٱ.#8JG_H tO>;xgeѽ*oGK~4͉v1{#)`&'IJkWT.g^62R:T%m!tfJ|OCj{HSut N0QFz_$|OCg~lK@iH ґ=a$]&L;toGJ;,E|߽= ٱ./dye,4/r'*֮]ν)mduK$]k:oOmOrIJnf (ޏK 6ٯl/͉v6_h )~!R:T'8@U|iy΍IWe(z=/d0f'ܿ6%,C hLOCB/Bz"MjlC%#$T^`IǝelK@iH ґ=a$]&L;toGJ;,E|-;s:lؗl'=I$U)We(z=/['ܿ6%}0 ^_h ?mBzÈI$^MƘwޏKzvY7%{z=-b] ^X' h^(OY$U)]Pz@ ?irFdZΛzSܿERezvY7&C kz=-b]  '8@U|iy΍IWe(z=/d0f'ܿ6%,C hLOCB/Bz"MjlƀC0~I"M2;,E|-;s:lؗleÈ)y}0 !$z6asz=/Uf (ޏKl˜y[fĻ`唱~-V20!ZER שlmc!tfJ|ǝi$7W@oGK~4͉v6_hCRBBzÈI$^MƟ3ޏKzvY7%{z[fĻ`唰O $5}@l^6Lmlw dky]kڞ$*]+ӲQ-_mlЇ| ;H tO09ѽ*oGK~6{[fĻ`唰OнPHSZw:nyFdZΛzSܿERezvY7&C kz=-b] Ї|PIWi:7%^`Imr lؗl< 6١1= ܿ $5}@E ~$T^`IǝelKB8BI *m>4üFz_$ӲQ9C9͉v1{#)b[(e`Cε $5}@l^6ٷfJ|ǝi$7W@oGK~4͉v6_h&H :È)y} 0PIWio 7%^`Ioٱ./dye,5Bz"Mjlҙ&$j6H3% ]>'=I$U)We(z=/['ܿ6%} 0 díBzÈI$^MƘwޏKzvY7%{z=-b] ^X' h^(OY$U)]PzS$[díBY&̔+\~|OCj{HSut N0QFz_$a|OCg~lKA2@aAKZH tO09ѽ*oGLl6{[fĻ`唰(a h^(OY$U)]Pz@*ZI"M2;,E|-;s:lؗledì8  !$z6asz=/Uf (ޏKl˜y[fĻ`唱~-V20!ZER ץ2MH :%mBϝ$T^`I-b] .o)bBzÈI$J3A,%üFz_$ӲQ9}lKYK}IJkWTlu1;6V_mtt~ꝳ_(·<">,vJ/n]eSvq$7W@oGN_mmawxޏI#R 6٢ XPPm!$(qlS|N0QFz_$ٱ./dye,](OY$U)]PF_ۯQ|{Y}9ҝ1sv|:$(k]t5jC jI"M2;,E|`9uٱ.{ypsz=/@4&' ^_h '80f4BI *m>4᝗Fz_$ӲQ6 YmbGRp^GG:'*֮ uԆl|:qֺ/y I2HJ;qqψ]BlFP' m,~$ŵ 6ٴd0fxg4ERezvY7%{z[fĻ`/:_C)y}A=a$]&OtoGJ;,E|߽= -b] ^X' jER ץ2MtK$]#B̔+]t/$T^`Ior lؗleKq//:_T'8@U|iy΍IWe(z=/['ܿ6%,~𘞆_ER ץ2MtK$]k:oOmOrIJnf (ޏK 6ٯl/͉v6_htR@BzÈI$^MƘwޏKzvY7&C kz=-b] ^X0f4/r'*֮]ν1F/$7W@oGNxPef<-b] / }PIWi:7%^`IǝelKYK@c.suOY$U)]PzS$YKꄲMљ(Vu*]+ӲQ-6%}B<8`p p 0~I$^MƟ3ޏKzvY7%{z[fĻ`唰O $5}2MI dkOʵCIJnf (ޏKl/͉v6_h0~)y}B=BzÌIWi:7%^`Ior lؗl< bz~ IJkWT.gJdk#u6CΌBϝ76~I]t0~|=$T^`Imr lؗlepx q'8`p!$z6asz=/Uf (ޏK 6ٯl/͉v1{#)`PmнPHSZw:?n`00|Fם\`ˬԒERezvY7'<[(v23uٱ.8//@㇨OXq4üFz_$ӲQ9C9͉v1{#)b[(e`Cε $5}2MI dkFdZΌyOʵC$WIJnf (ޏKiml!`8A//@㇨OXq<D$]&OtoGJ;,E|߽= -b] ^X' jER ҙ&$rMseZ롃q$7W@oGK~6{[fĻ`/@㇇?lz|tAK8`8A $I|N0QFz_$|OCg~lKYK1= ܿ $5}iLmg\T%m۝k:oOmOr()V`zI"M2;,E|!5= ٱ.8z|tR@8z?lz|tBI *m>4üFz_$ӲQ2m__mbGR4&'{=dTuBt0~a` #:PsY}$7W@oGNxPef<-b]  qÌ=>: p 0~脒@U|iy΍IWe(z=/sŲc.s1YmbGRPX˜jIJkWT.gV Ӈҙ&θK$] :3% >tcκ|vU?n"gHSut N0QFz_$|OCKlؗleC)y}1 !$z6|vˣz=/Uf (ޏKimbGR?xLOCT'*֮]μiLmoK$]#B̔+]t/$T^`Ior lؗleC)y}1 !$z6asz=/Uf (ޏKl/͉v1{#)`&'{=dTuBuom >;co(̔+\~|OCj{HSut N0QFz_$a|OCg~lKBcИH tO09ѽ*oGLl6{[fĻ`唰(a h^(OY$U)]Pz8cI$U)We(z=/sŲc.s1YmlИq//&:=a$]&L;toGJ;,E|-;s:lؗl4᝗Fz_$ӲQ-6%,~𘞆OY$U)]Pk`[`2PuzSܿERezvY7%{z=-b] |l8 |mBzÈI$^MƘwޏKzvY7%{z=-b] ^X' h^(OY$U)]Pk`[`2PsM= _I"M2;,E|sqB/2o lؗle PIWi:7%^`I9}lKYK>6Bz"Mjmz9񺑕 ԒERezvY7&C kz=-b] |l8 |mBzÈI$^MƘwޏKzvY7&C kz=-b] ^X0f4/r'*֮]ΟsuNqCנD@p,jY@8$*]+ӲQ9C9͉v6_h) ^_h) !$z6asz=/Uf (ޏKl˜y[fĻ`唱~-V20!ZER ֺ6 9񺑕 3% >tcδERezvY7%{z[fĻ`/( BI *m>4᝗Fz_$ӲQ-6%,~𘞆OY$U)]PzS$Y҈ dky]kڞ$*]+ӲQ-_mlT48 FOXq $I|N0QFz_$|OCg~lKYK1= ܿ $5}SxhA|vQ(V/$T^`Imr lؗleT5BzÈI$^MƘwޏKzvY7&C kz=-b] ^X0f4/r'*֮]ν  ~҈ԒERezvY7'<[(v23uٱ.J#C)y}DjH tO09ѽ*oGNxPef<-b] ^X+sBz"Mjl66@ cfJ|ǝi$7W@oGLl4͉v6_h0fR@5BzÈI$^MƟ3ޏKzvY7&C kz[fĻ`唰(a jER me 6٩$7W@oGLl6{[fĻ`/ mC)y}Pm=a$]&L;toGJ;,E|!5= ٱ./dye, mBbz~ IJkWT.kƤ0fљ(V mBbz~ $7W@oGK~4͉v6_h[AK tT'8@U|i;.IWe(z=/['lKYK1= PHSZw:P9 2PuzSܿERezvY7%{z=-b] fRB, !$z6asz=/Uf (ޏKl/͉v1{#)`&'{=dTuBuom E 2PsM= _I"M2;,E|!5= ٱ. tC)y}njH tO09ѽ*oGLl6{[fĻ`唰(a h^(OY$U)]Pz((cf*]+ӲQ9C9͉v6_h[AK tT'8@U|iy΍IWe(z=/sŲc.s1YmbGRPX˜jIJkWT.g^@ ~P3% >tcδERezvY7&C kz=-b] ~o)y}{oBzÈI$^MƘwޏKzvY7&C kz=-b] ^X0f4/r'*֮ u_h^[^MΏ"ke\:;l"kŴZ~TF~I"M2;,E|߽= -b] oh ?l8oh ?mBzÈI$^MƟ3ޏKzvY7%{z[fĻ`唰O $5}B3xh #B̔+]t/$T^`Ior lؗle PIWi:7%^`Ior lؗl< bz~ IJkWT.g^4f@AڊyFdZΛzSܿERezvY7&C kz=-b] oh ?l8oh ?mBzÈI$^MƘwޏKzvY7&C kz=-b] ^X0f4/r'*֮]μicm HSut N0QFz_$e\cβ6%}lf񱶀È)y}lf񱶀'8@U|iy΍IWe(z=/sŲc.s1YmbGRPX˜jIJkWT.g^4f@AڊyFdZΌy֒HSut N0QFz_$|OCKlؗlefR@cm tT'8@U|i;.IWe(z=/['lKYK1= PHSZw:#7 c!tfJ|OCj{HSut N0QFz_$|OCg~lK@cm tC)y}lf񱶅YBI *m>4üFz_$ӲQ-_mbGR?xLOCB/Bz"MjlƐ66(AڊyFdZΛzSܿERezvY7&C kz=-b] oh[AKc7-PIWi:7%^`Imr lؗl< 6١1= ܿ $5}B3xhڛHSut N0QFz_$e\cβ6%}lf񱶅Y63xB, !$z6asz=/Uf (ޏKl˜y[fĻ`唱~-V20!ZER ׍!lmP 2Bϝ$T^`Ioٱ.@ 8BH tO>;xgeѽ*oGK~4͉v1{#)`&'IJkWT.gOz6it25qdm&P^c@2Y$7W@oGK~6{[fĻ`/  ^_h BI *m>4üFz_$ӲQ-_mbGR?xLOCB/Bz"MjlS|Fֻ;Ά]Ʈ,mk}0DFK!Bϝ76~ $7W@oGLl6{[fĻ`/  ^_h BI *m>4üFz_$ӲQ2m__mbGR4&'{=dTuBu 2YI$U)We(z=/sŲc.s1Yml4 )y}h(OXq $I|N0QFz_$e\cβ6%,l9:'*֮]Ο=mk:1ZI"M2;,E|߽= ٱ.@ 9 &' ^_h 4BI /~ I|N0QFz_$|OCg~lKYK1= ܿ $5}ƽOqFdZ멟ly~|OCj{HSut N0QFz_$@/-}lKGRGOXq $I|N0QFz_$@/-}lKYK0hPHSZ2::ו|{Oe I$U)We(z=/X3-b] <8=BzÈI$^MƘwޏKzvY7%86%,; Nj $5,s]yZΧ~_hPˬԒERezvY7$ǝ}lKGRGOXq $I|N0QFz_$/͉v1{#)`Cwx=dTu@euu+\/Ÿ:[*uڒHSut N0QFz_$'ܿ 6%}È)y}'8@U|iy΍IWe(z=/___mmbGRbz~Bz"Mj8^V_>u>T2/$T^`I= g`!x[fĻ`/xq//zH tO09ѽ*oGIM; 6%,hM;wx=dTu@euu+\/Ÿ:[*uڒHSut N0QFz_$ٱ.AK=a$]&L;toGJ;,E|x[fĻ`唱wx=dTu@euu+\/Ÿ:[*uڒHSut N0QFz_$qx[fĻ`/xq//zH tO09ѽ*oGL}lKYK |F $5,s]yZΧ~_hPˬԒERezvY70rty26%pRŀ()BzI{~?::70rUf (ޏL9lؗl<>=dTtIJnf (ޏNA鏃4͉v6Xš5!{z7ӐzE% |Z=a.- $T/]&L;toG ӲQimbGRjER$PQWm<˝xz_$7W@oG |,k<͉v6Xš5!{z7ӐzE% |Z=a.- $I㷆v]=9c_=We(z=9,k=9c_=lKYKc_=IJkWDBc]Ge^cC h=ewc6GՂ=|FůԒERezvY7Է 6%la nx}肗z6=a?x $IUf (ޏLoR߼nxNL/Klؗl< \^OY$U)]Pezo7<(BBϝNL/RIJnf (ޏLoR߼nxNL/_-b] z6ޏLoR ^)ylj/H tO09ѽޥ^`-B<6%,~&0< $5luo7<(B$T^`I=__ml[Ѱ)ylj $I|N0QFz_$l/͉v1{#)`[϶4/r'*֮]ލν R2*]+ӲQ;Suٱ.lXq,]|FjBI "Q e,:7jUf (ޏOf:lؗl<.پ#N $5g6u6:پ#NNdxudo)ɞDOk)c_S?Ŵ9ҝ]^-[ƻk#y$ERezvY7jrپ#N6%4oGԂ_ ()b4P7"If(e09ѽ;RN0QFzxN[7i[fĻ`唱vuOY$U)]PD=QՖuJw[#3iSTIɞ^-Δ=m:5_.}>TI0}k67*6_ *]+ӲQ;Suٱ.lXwA,]|Fjz|tBI "Q e,:7jUf (ޏOf:lؗl<.پ#N $5g6u6:پ#NNdxudo)ɞDOk)c_S?Ŵ9ҝ]^-[ƻk϶:OIf(e09ѽ;RN0QFzxN[7i[fĻ`唱vuOY$U)]PD=QՖuJw[#CͦK#yOLc}"m,m`dR&ǨK$Xmtt9Wi$u31>_ Τeku I$U)We(z=uHly|t[C){uuk]7I$U)We(z=:@7"If(e09ѽ;RN0QFzxN[7i[fĻ`唱vuOY$U)]PD=QՖuJw[#CͦK#yOLc}"uҙ&ϓ6_ ׋hs;n[NvE|ǘm Z2M򊄲MB$7W@oG|FelK7iޏOlX.پ#N .پ#N $F{3edwޏOWe(z=#Az|tBI *m>4üFzNzvY7wq[fĻ`唰jER=<ҩ>#k,k˫sIJnf (ޏI#S=imlB0ѽF/qO ^X!_X뚄|t=>:!$z6asz='xJ;,E;jg-b] ^X^5Bz"Mj˞ΞehT5Հt9$7W@oG`:!$z6|vˣz=3%^`sۅKlؗl<;:IJkWT\7|R2ƾ{x!_ 2YYc_=|FE(Bem:dYzFڒHSut N0QFzrLLٱ.@0XJX,$=i$R?t=3F*oG aimbGRT'*֮Yd:4ђ]e|ERezvY7Ӑzrƾ{Ӗ5[fĻ`XB`B–,!`` `bHuOtoG |^`|ٱ./dye,]|OY$U)]k8#!ѣFK+,k<*]+ӲQӖ5x6%c_=0<)yc_=0< 脒@U|i;.ӲQӖ5x6%, ӯ'*֮"Q ׋jg6u]|ԣZ멟lyI$U)We(z=9,k=9c_=iׅlKƾ{5!{z|tAK (OXph=>:!$z6|vˣz=9,k=*oG |,k=-:͉v1{#)bk< $5zFu %G{5^-$k]u31t>Y$7W@oG yw:lؗleyBzÈI$^MƘwޏJN0QFzPלyxì͉v1{#)`jIJkWT.k(gR2Nv]>;*7ou$QS9$7W@oGԍǴgF{ٖٱ.P0$r,`H֒H ߯e#aO09ѽ;RN0QFzxH{FqgmbGR&=7(s;5 $5 >ֻk:d|q|]u d|q|i:$dBedPu2MǴsۮPIzS$X{]oPII,w>t@F2-l]t~Z/8}vDLn;A67ZMҙ&=BY&$*]+ӲQ;o mqmlbz~bz~ BI *m>4᝗FzrLJ;,E=3F9p9ٱ./dye,][a'*֮]~wZ6~ $7W@oG [fĻ`,) = ܿ ^Y`Rz~ BI *m>4᝗FzrLJ;,E=3F9p9ٱ./dye,][a'*֮]~wZ!=U>59Bsg6u|t9u$V{HSut N0QFzxH{Fqgma`8P @qe,X ZHuL;toGԫӲQ;R7ќk%wf[fĻ`唰 h ƄJ3Bz"Mj϶#HSut N0QFzrLN\%amlKlsޏNA7pػ0AK˄p:j][b $I㷆v]=3F*oG fٱ./dye,][b $5s*˄C leXCHSut N0QFzrN\%`YD͉v0p[,|AKp eT'8@D=2YL;toG ӲQӗ m-~Q-b] ^Xp[,|=dTuAne[u`YD "M2;,E=9p݂g6%lsz='xH^4AKp eT'8^4BI "Q e,:7ӐzUf (ޏNA˄?_(ٱ./dye,][`8-~QPHSZ^-[,|Cu϶S|F׋k]dV ejgc$7W@oG fٱ.˄/$ [`mOXq $I㷆v]=3F*oG fٱ./dye,][b $5zFundtde[u!5$T^`#xKnC imaw mC hq,][`Pm=a$% ͖Qasz=9w%^`#xKnC imbGR% 6٪IJkWT\%RmRIJnf (ޏNA7˄0fٱ.p0f7ӐzgxE%.R% 6٪][b $F{3edwޏNA7We(z=9w'.ېm[fĻ`唱w mC jERe mԆlz|_<]u31˄,ˋ-$T^`#xKnwٱ.p]7w m#x=a$% ͖Qasz=9w%^`#xKnwٱ./dye,][aw(OY$U)]ERezvY7Ӑzgxr-#x[fĻ`][aw7ӐzgxE%.R%xpػ0BI "Q e,:7ӐzgxUf (ޏNA7˄xmbGR%xER$U)We(z=9w'.۞0͉v0w m'8@D=2YL;toG īӲQ;o mP[fĻ`唱w m'*֮"Q e,w mIJnf (ޏNA7˄ -b] .-@`sz=9w$][b,][az .-v`@D=2YL;toG īӲQ;o mP[fĻ`唱w m'*֮"Q e,w msծǘme[ueŖHSut N0QFzrLN\%amlKl ^48 m |FOXq $I㷆v]=3F*oG fٱ./dye,][b $5zFu/qZﵖ~\;:]eyqeԌsYp$TlԒERezvY7jxn;׳o lؗleHsz={qR$mBzÀ n7_(=I$ײz6asz={qI$U)We(z={qEeֺ.hڂksĒERezvY7jY(|o lؗleHsz=Q肗 #j"P>Q脒@U|iy΍ڕzvY7jY(|o lؗl<(|o'*֮"$εS>mJ72PsLw7$7W@oGhvgٱ.˄zxMqԄJ7>{qz={q2PJ;n7!HC#:]eP@{<|xHSut N0QFzxO`ymlIoG yѸ)ۍ #jF㠧n7IWi:7jUf (ޏOѸ;^=-b] ^X  v{x=dTuBF^|yFdZΠyx ]dYs@|F;^==$*]+ӲQ;Smq v{x[fĻ`.FÛ6RILڛF$& |x Hڄ$& |x@DOo$PtO09ѽ;RN0QFzxO`ymbGRP t) $5p7:]Hђb|yFdFIL9ۍux+/PεYs@|F;^==$*]+ӲQ;RI6%p6/.F';IWi:7jUf (ޏOcYmbGR''*֮]HƟ 3% ]1{.qB"ֺgc||HSut N0QFzxK%mlI肗 #j $I*oGԲQٱ./dye,"Q(OY$U)]E Ik((t}>Cҙ&-BY&(̔+\%I"M2;,E'>z[fĻ`.Fþ: Hڄ|tBI *m>4üFzxJ;,E'>z[fĻ`唰SIJkWT.$nOۅ}u϶4üFzxJ;,E0[fĻ`唰 IJkWT.$nu ~+k}>OlFdZΡqA$T^`ژ\P͉v6\$|tAK˄ 脒@U|iy΍ڕzvY7jaq@g6%,\P(OY$U)]Pֺ(3ֺgcItfJ|(gĒERezvY7jxn;׳o lؗleHsz={qz=Q脒@U|iy΍ڕzvY7jY((t͉v1{#)aT'*֮]H]u31>G}Bk((u$T^`ړ3lؗleHsz=PC>Q(V3IJnf (ޏO6%p6ޏO ((tAK˄ q@"P>Q脒@U|iy΍ڕzvY7jaq@͉v1{#)aW'*֮]H]u31څ ~(̔+\.($*]+ӲQ;S >ٱ.˄zxHU@F ^\$OXpD$]&L;toGԫӲQ;S >ٱ./dye,* Bz"Mj$εS>m\PJ72PsPC>$*]+ӲQ;S w7lK$l9;Rq@"P>Q肗 #j*D|q $I㷆v]*oG%mbGR®(J; $5HSut N0QFzxO`ymlIoG7HT=ѽ;Shu!RBv |x Hڄ Sz S $T/]&L;toGԫӲQ;Smq v{x[fĻ`唰:7 @{Qk6!b(̔+\$Sݼa֒HSut N0QFzxK'lؗleHsz='xH^4AK˄ H tO09ѽ;RN0QFzxK'lؗl<==dTuBF]tc{Rc̸FR&߷ dkH2Puҙ&'%mqA$T^`ړ=-b] #a5!{/.F'8^4BI *m>4üFzxJ;,E'>z[fĻ`唰SIJkWT.$nu1=1f\Yu#+Ɵ 3% ]I"M2;,E{qH ߯eBm>4üFzxJ;,Em|G>{qʵiQ(H[ѹfQF㳣2PsCݔRIJnf (ޏO96%p6_(=7jmfQ>{qR$lfQ>{qP+5)ۍ@U|iy΍ڕzvY7jN|͉v1{#)`T'*֮]H]u314sʜ]Q҈$evkn;:3% >ts$7W@oG[fĻ`.FVkSzxMqԀ n7 ^\$ n7fQ>{qH tO09ѽ;RN0QFzxL.(?nlKYK  $5p7:]Lc}5*~eGJ#o+-nd]FΌBϝB?n $7W@oG-b] #`+5)ۍsz=imbGR9IJkWT.$nuǘmvk9ۍNUOڌDm$V[-_(գqљ(V^яHSut N0QFzxOiOxì͉v6\$5 .: |xޏOn:=AOoIZj\tBzÀ5 .: |x!$z6|vˣz=4üFzxJ;,E3fH|-b] ^X[2G3ER Ik}>]=hn79V?j2Iz7:|g,Ԍ2M5 .:q dk2PsSfHgĒERezvY7jX=[fĻ`.FS H qBI *m>4üFzxJ;,E,t-b] ^XCZER IstfJc]BI"M2;,E,w7lK$l8 ^\$=a$]&L;toGԫӲQ;RG{x[fĻ`唰G{x=dTtI.$nu:Ln;:3% >tG{xHSut N0QFzxIϞٱ.˄ト)yp6rH tO09ѽ;RN0QFzxIϞٱ./dye,ER IstfJ|RIJnf (ޏO6%p6pq/.FSPIWi:7jUf (ޏO6%,\PPHSZw #sqNBϝBI"M2;,EC^rQl͉v6\$pÈ)yp6puPIWi:7҆ӲQ5%f lؗl<͖(OY$U)]P8d|qљ(Vm,gOlI"M2;,E靱 ~Kq6%p6y1a؆?G"^cIט} y1bIWi:7;bzvY7;blKYK m_'*֮]H/5=nBϝ=~I$U)We(z={qR$l"P>Q)ۍn: |x!$z6asz=t@F$7W@oGԾmǝÍ eٱ.˄FhB9;Rqq(^)yp6(^(OXpq(^I$^MƘwޏO|8J;,E/i1mnrCelKYKv[Ba\ZER IxL8f/(̔+]ts#)Ѕ˞i$oFK+\I"M2;,E/i|8?$x[fĻ`.F% zxKBaD4!x HD4!x=aaD4!x!$z6|vˣz={qH tO09ѽ;RN0QFzxK%mbGR%ER Ik}>Lw7sʜQ([ѹE2QUqљ(VJ;ĒERezvY7҆lamlIθ\t9F mDIθ\uBzÁC h@U|iy΍9*oG yFٲ6%,=eIJkWT.$nu1=1f\Yu#+]ujk:FٲĒERezvY7҆lamlIθ\t)yp6p  $IC^rUf (ޏJ󒍳elKYK{f'*֮g^]t@FS>mŶ I$U)We(z=3!9=ٱ.˄;Û靱 ~H8؆?G䀬8/.FxP^>,yzXpIWio 7;bÒN0QFzglCr{-b] ^X Ô'*֮]HƀPU\wљ(V HSut N0QFzxK%ٱ.˄"LB`n7ڛF$& |x H&!0S ILBI *m>4üFzxJ;,E,n:[fĻ`唰@FIJkWT.$nuǘm&!:9ۍNUOڌDm$V[-1 գqљ(VJ7I$U)We(z=3!{n:6H-b] #a-xsz=3! m_I m_'8Kn:!$z6asz=3!We(z=3!{n:6H-b] ^XKn:jIJkWT.$nuOm_̔+\q$}*]+ӲQ;S k`!x[fĻ`.Fasz=mÍ3% >u knv$7W@oG^ٱ.˄qޏO `肗 #a0mBzÄÍz|tBI *m>4üFzxJ;,E0vlKYK ^(OY$U)]P]Lc}6̔+]u31I ZΡmB$T^`ژ[_; 6%p66Û!0lA/.Faڄ `=>:OI$^MƘwޏOWe(z=mHnoH&BϝB[I"M2;,E{qP;p>{qH tO09ѽ;RN0QFzxKlH[fĻ`唰[OY$U)]PֺgcQϞo*rw]?ns$DmeލΟ n;:3% >t[  ZI"M2;,E,u \.(?nlK$l'nn7ڛF ۀ)ۍ #a;p>{qP;p>{qH tO09ѽ;RN0QFzxKlH ہmbGRlHq@'n IJkWT.$nuǘm?nsʜ]Q҈e$SVgFdZΘ`!C$ \P$T^`ږ:Oeٱ.˄=7jm'nn7 ^\$BzÄBI *m>4üFzxJ;,E,t-b] ^XCZER Ik}>Oۅ*}FTt6oFDOۅZ7k:S$XCZM.($*]+ӲQ;RNζouٱ.˄=7jm'nn7 ^\$BzÄBI *m>4᝗FzxJ;,E/ۄfYmbGRvg[7:'*֮]HƟ 9ۍI"M2;,E'>z[fĻ`.Fv |xޏOn:=)yp6S S $I*oGԜmbGROOY$U)]PֺgcQϞo*rw~eGJ#o(+-ntUqљ(V=I$U)We(z={qP n7IWi:7jUf (ޏOd|q6%,J7PHSZw #su϶HjI"M2;,E,Ӹ!lK$l n:ޏOn: H+((uBzÄJ7H tO09ѽ;RN0QFzxK>4>HimbGR>4 PHSZw #su϶HjI"M2;,E#qƝ -b] #`>HhD|qzxHD|q/.F\|Љ@F"P>Q脒@U|iy΍ڕzvY7jF3;[fĻ`唰 h Ƃ!IJkWT.$nuǘm2P>Qk:;HSut N0QFzxH{N䆖ٱ.˄W$4"P>Qsz=Q肗 #`>HhD|q ((tBI *m>4üFzxJ;,E#q;[fĻ`唰 h+=dTuBFZ멟ly%љ(V>HjI"M2;,E'qCaٱ.˄W$4"P>Qsz=Q肗 #`>HhD|q ((tBI *m>4᝗FzxJ;,E'qCaٱ./dye, o'*֮]H]u31d|q3% ] I$U)We(z=3!9#rH[fĻ`.F®/靱 ~H8AK˄ ǟH tO>;xgeѽzvY7;bÒ7$lKYK$PHSZw #su϶{qPRBv |x!$z6asz=QI"M2;,E,n:[fĻ`.F¤*ZD9;Shu!RBv-| |x HTK_(=(OXp!; Q>{qH tO09ѽ;RN0QFzxK%ٱ./dye,"P>QER Ik}>P*}FTt6+-nu !;K_(գqљ(VJ7I$U)We(z=4üFzxJ;,E,w7lKYKw7IJkWD@L>ZΙ(|o+ŵ:e?gS@c%ζU #tIwI$U)We(z=Q$T^`؆?Gq[fĻ`.F>s|ޏLcz{HyoDI  򈄒@U|i;.؆?GӲQî;lؗl<;'*֮]H]u31>(љ(V W$7W@oGe,B{(<-b] #`^H |xޏH@{qP^H |x!$z6|vˣz=#/iWe(z=#/ibAmbGRo'*֮]Hz9ۍ,u>G;mգqԒERezvY72fGh;mϖimlIGhxSzF_䏼`n7 ^\$y#4xCF)ۍGhxS $I~3J;,E~3I#4{64͉v1{#)`^H5Bz"Mj$נ/$}w>{q2PuϞo(RIJnf (ޏHOyamlIGhxSzF_䏼`n7 ^\$y#4xCF)ۍGhxS $I㷆v]~3J;,E~3I#4},-b] ^X>G~'*֮]Hz9ۍ,u>G;mգqԒERezvY72fGhkY4>YlK$l y6Oo~3H>G;m=)yp6䏼`n7 y6Oo$]&L;toGe*oGe'䏼h|Klؗl<䏼;_>YIJkWT.$nV y6ѸI"M2;,E靱 ~LcymlIH5!{/.F/m |FI$ײz6asz=3!We(z=3!靱 ~-b] ^X] ~PHSZw #su$^uk}>QERezvY7jvz@F㥶lK$l ^=7jm ^=)yp6X/AOo'8`>{qH tO09ѽ;RN0QFzxN/Y((t͉v1{#)`e"P>QER Ik}>[`Fsʜ]Q҈H[ѹ/jѸ̔+\/Y((t "M2;,E~3J7;mϖimlI{qXCF)ۍsz=#/i{qXCF)ۍ #`{.0w>{qP{.0w>{qH tO09ѽ4ӲQ4{.0cFzHSut N0QFzxHŲ[fĻ`.F3>{qoG7H|[!n7 ^\$gŲ |x=a3>{qH tO09ѽ;RN0QFzxHŲ[fĻ`唰 C'*֮]H]u31Cn79V?j2Ylsϋd:ΌBϝ|[!$7W@oGI:lؗle7$y (OXp!X@U|iy΍IWe(z=/Ly[fĻ`唰!ZER \]tcκǘm ZΔ6QER$P?;:]2P>QI"M2;,E,n:[fĻ`,s=>:O ^Y t4Az|tBI *m>4üFzxJ;,E,n:[fĻ`唰@FIJkWDB]u31f:FVJ7>4IIMqϝQlIJnf (ޏI#S=imlwzc)ygjLw $I;jUf (ޏI#S=imbGRIJkWT. luOqYs@|Fљ(VYv>#kuIC2˝H$S$\hC(K$]>5|{u)m68!%m$T^`ړ=-b] yݖzNh=>: weBzÅ>#A $I*oGԜmbGROOY$U)]P<˝k Z멟lyZ멳$qψ9HV6:I$U)We(z=/d0f = ٱ.<lzN(aR;5BzÁC h@U|iy΍IWe(z=/d0f = ٱ./dye, m@44/r'*֮>u I9\:jh asԌ(aн$T=~RԆl2Y^2^SPi$Tx#I"M2;,E;`|͉v6YvXޏI#RA/,,_P{z|tH tO09ѽ;RN0QFzxN/~_-b] ^X`rER /heֺkSߛ^-hMFtI9]Lc};qI"M2;,E;`|͉v6YvX`oG |F肗yݖX/T'8^4D$]&L;toGԫӲQ;S ߗlؗl<X/@\=dTuDT^`ڗÍsu͉v0<텳`C X<텳`C =>:!$(qlS/iWe(z=Cuxox^M$T^`ږJ7-b] й&!0 ^XBD'8@U|iy΍ڕzvY7jY((t͉v1{#)aT'*֮"B糭w>t@F6Om&!4ERezvY7j_6ck2lؗlet.zHLDfhvZޏO|8HL8f/@ 肬w;T'8L8f/$]&L;toGԾm^`ڗÍq9!6%,;o-0l.Hc-Bz"MjB糭w5h&mJ3Bֺnlym$n,#d: u&G&H͉v6XAm)y`BzIaO09ѽsN0QFzfKq>G&H͉v1{#)`z7^H$=dTuEetҩ.ezG˩y>FK+\#4y$SPmq%mHSut N0QFzxK_6yx[fĻ`.w<!Y-]ڗÍÍ/$x 2Gd: 3EkBzÄÍ/$x!$z6asz=Qle^:=% *o`$,EKymZI#+]t{vu72P aЅI"M2;,E/rHSut N0QFz_$@/-l/͉v6\C)ysPIWi:7%^`I^[__mbGRd 2нPHSZv||:>u=k߯kk]E)m dk^Mtw9[jQsOmOrIJnf (ޏK䑈e/͉v6\C)ysPIWi:7%^`I^[ro lؗl< awx=dTuBwVʵPqڇA$T^`I?oql/͉v6\C)ysPIWi:7%^`I?oql/͉v1{#)`03 h^(OY$U)]P]t1 kI"M2;,E|0~䆞r lؗle8; !$z6asz=/Uf (ޏK䑃g$46{[fĻ`唰~ ǁHih^(OY$U)]P]tIIꄲMяR2ϝ _3!I=7ʵku1 ˎ>;ZH zSܿ |鯛>6ڒHSut N0QFz_$>gx[fĻ`.wިOXq $I|N0QFz_$>gx[fĻ`唰|s8wx=dTuBwVʵPqڇ@uO22H725$T^`Ic|hbxHSut N0QFzPלE祎BlKzAK˝H tO>;xgeѽ5$yWe(z=(kH"[ 6%,:M(OY$U)]P]t[ St_ΤyZI"M2;,EY#Fθ\uyX[fĻ`.wިOXq $IUf (ޏN/Rw6uϲ6%,H㾾Qθ\t'o>'*֮]ub9el]t2ƾ1|FԌu$7W@oG y^zY8lؗle8; !$z6asz=(kH"үN0QFzPלE祘͉v1{#)ae $5s jS:!i$7W@oG y^z[f͉v6\C)ysPIWi:7҆/=*oG y^z[f͉v1{#)`0﷊IJkWT.{:mwʜ]FTjFSzM42.s*]+ӲQ&<|OCg~lKzAK˝H tO09ѽ*oGI;o_mbGR1= ܿ $5go3sSܿ VMFֺ_ u$R&PIGy3u>t/$T^`I1m_mmlއRz=a$]&L;toGJ;,E|c̾6%,;omER ֺ{HSut N0QFzPלE0ﷅlKzAK˝H tO09ѽ5$yWe(z=(kH"w6%,þ(OY$U)]P0﷕9VzԌ6u=k߯kk]E)m dk^Mtw9[jQsOmOrIJnf (ޏK䓟xr lؗle8; !$z6asz=/Uf (ޏK䓟xr lؗl< |l B/bz~ IJkWT.ϔ߯gZΧ~u}u־ZH2M ,mu I;Ύg8mJ5|= _I"M2;,E|sqB/2o lؗle8; !$z6asz=/Uf (ޏK䓟yx[fĻ`唰S`Jx.o'*֮]Sܿ V[.;P$*]+ӲQ>6=-b] ; ^\T'8@U|iy΍؆?G^`؆?G9׍mbGR®sl=PHSZw;ֺs2YF!BvHSut N0QFz_$a͒z=-b] ; ^\T'8@U|iy΍IWe(z=/d0f = ٱ./dye, m@44/r'*֮]<㩯XߍuԌ!6uCHk~ $7W@oGN_mmlއRz=a$]&L;toGJ;,E|x[fĻ`唱wx=dTuBw$*]+ӲQ3|F@/_mlއRz=a$]&L;toGJ;,E|=h 2= ٱ./dye,/q a1= ܿ $5skڞVʆXƲ_fJ1=;fQ$TsOmOr!=C0ĒERezvY7&{ܾ6%s BzÈI$^MƘwޏKzvY7&{ܾ6%,>#EmER ֺ{[*]BSejzVʵC,kmHY$T)N725$T^`Il 6%s  ^\Bx-BzÈI$^MƘwޏKzvY7&{./o lؗl<~d  $5Hw;ֹ!qx#x$c[u9Vs;fN]E,kzJ])mX|PI$2YP]>&K!J5ٷ2,kzI"M2;,E,n:[fĻ`.nwAz|tR}OXwAz|tH tO09ѽ;RN0QFzxK%ٱ./dye,"P>QER$Q$U)We(z=:O)ysw>';=>:OI$^MƘwޏOWe(z=4üFzxJ;,E,n:[fĻ`唰@FIJkWDDT^`:<ν-b] 76z|tAK˛PIWi:7<ԫӲQy^yץlKYKO< $5` εk\:!$z6asz=4üFzxJ;,E9lYmbGR7i֡=dTuDT^`5,;gK͉v6\r6wÛ;jB󘂗95 w$]&L;toGWe(z='xK-b] ^XAsKBz"Mjr7:]09ZOŗR2L;ttI̿zTZ(H~Ρz6ttqԒERezvY7&C kz=-b] 90z_$C h^1/.r9;j mB/ 9I$^MƘwޏKzvY7&C kz=-b] ^X0f4/r'*֮-;w:O\.;ZΡz6U:Cy[*dF^3% vG2IJnf (ޏK 6ٯl/͉v6\r6 6١5 Pm G#`Pm=a4BI *m>4üFz_$ӲQ2m__mbGR4&'{=dTu@c:q[Om409FP0f4/r "U4O_mԣu!6Wה1I۝~QI$U)We(z=(kN\2!elK2d"Ӭ8.$1!jBI "Q e,:7҆ӲQ5'.rCcN6%, eEZER$U)We(z=1KOCdfQ-b] 3De/.g36'$tUf (ޏLoRÙ(ٯKlؗl<wOE%5ERERezvY7Իt0J1k6%s>Q\K˙*>6'$tUf (ޏLoRÙ(ٯKlؗl<wOE%5ERERezvY7wKlؗleXq/.hB'8@U|iy΍5*oGeٱ./dye, v_jER z>mkRIJnf (ޏI#S@6%sBAK˚ !$z6asz='xJ;,E;ju}rH[fĻ`唰1}$IJkWT..u:2;>5|]CrHHSut N0QFzN>#F alKѼRѼOXq $I;jUf (ޏI#S=h 2͉v1{#)a{ PHSZ1LwͼB˦J;m>5|{^SDYgm]uek` -$T^`ڗÍяf<-b] ,0lyxAK`qm͉v1{#)b 6IJkWDT^`ږHama`P;=>:F/p 6z|t8H ߯eBm>4üFzxJ;,E,6%,HbERJ(l]t@F㳩^#S>m]t,I 6xՀt:;ڑ9 ,!`?g $`e2P>QFV 6I$U)We(z=Himaa ,XHbHuL;toGԫӲQ;Raw$4͉v1{#)`A 䆨OY$U)]PΑ!tswھVHuHd|qْEM@ˬxhjטjI"M2;,E/f[fĻ`5R]֒H|iy΍ڕzvY7j_̶͉v1{#)a1'*֮ u;3% ]cƻRIJnf (ޏO;lؗl  )b@ '$^Gîasz=QmbGR%OY$U)]P`$%ђS$X獌.::M*]+ӲQF\[fĻ` 0R  0H ߯eBm>4üFzNzvY7wlؗl<IJkWUdgZ)uB$7W@oG ;b`YD͉v0bgzNh,($.؆?GYEBzÅ>#D$% ͖Qasz=9^`lC?_(ٱ./dye,XPH] ~lERJ3A:,($.؆?GYF?]Q6|m*]+ӲQӐ|c}g6%‚Bcx eC;jBoG |F)b‚Bcx eT'8^4If(e09ѽүN0QFzrNA! eKlؗl<,($.؆?GYEBz"Mj% ͝zlCp[,|Cu϶4üFzPלzvY7҆䳝qo6%,s-=dTu@ct>m >#h"|HSut N0QFzPלceg:߅lKGz)~" ^H';2R:D$]&L;toG yWe(z=(kHܱqo6%,Ls-=dTu@R7#qoH1g6bfQI$U)We(z=3%mD͉v6Hv '8@U|i;.zvY70rY(ٯKlؗl<(ٯT'*֮\8g`!M:Lw۝Co.G!2HJ~pB[Yg_μG~wGIf\t9Cֺ"Q_(*]+ӲQF\[fĻ`$Z@a 䐋T';dìBI /~ I;jUf (ޏI#S-b] ^XW(OY$U)]P23u{Jdk:Q,muuB$7W@oGٱ.!0}RHEåBI /~ I;jUf (ޏI#S-b] ^XW(OY$U)]P23u{Jdk|uBY&eZ믃PRIJnf (ޏL>#5Ü[fĻ`X pPH X( A% $(OZI /~]>4üFzaWe(z=0xqmbGRgrERZA6ÝO)^wFΌP( A%XTloף`C-:2YB4  0HSut N0QFza>6%4  0RŁ@h ,`%BzI{~?::7J;,E$cƶslؗl<؄ERezvY7HǍmٱ.H$ BX( A%( =i$R?t%^`1[l|9ŶlKYK4l|9IJkWTekgu>t|z6C-:2YB4  0y$PwFΌP( A%ZI"M2;,E$cƶslؗl $XA@A`(%,X (  @ P@^{)|iy΍뒯N0QFza>6%, > $5:2YB4 t+]t͟m3_(K s`C-:2YB4  0HSut N0QFza>6%4 @PPX8RŁ@h , p%BzI{~?::7J;,E$cƶslؗl<u&T2Ѻ%, @I`@ ̧FHSut N0QFza>6%4 @PPX`PK((, '$^Gîasz=0ӲQ}rF4üFzaWe(z=0xqmbGRgrER|h6@&IBMCp9k}uXBHy;μj}Ys@\YuVIOFs$7W@oG\c-b] , @I`hRŁ@h , '$^Gîasz=0ӲQ}rFHjER$U)We(z=lC_II$U)We(z='xN/͉v6! ^! !$z6asz='xJ;,E;ju}lKYKڡ=dTuA&Vv_mJ3Am&S}$S$X#0PI#RmA]qw$S$X#0PIm$LmxT%mz6:g8h*Zϝֹ^MQ^-C#4ERezvY7wlؗlbsC)x@ǜG !$z6asz='xJ;,E;jqelKYKu $5gZsjgR2GԆl#hǜGERezvY7w|[fĻ`|AK">0fΏF>#jrlyֻk(ǜFu#+uHa͝kӺ7F><7wwF2{C.IC8}>(˭ #C,eֺnB:]X-4ERezvY7w|[fĻ`L  ~)~" ^!!<P%#BI /~ I;jUf (ޏI#S1ہmbGRn IJkWTnj:YM|î|y~QFU6OڜgcuZ$1<HRmgZя9]Ѻ˸Et6PsO2-eC.2YuV ~$T^`58u%lK|,!hG_ lHg6YFK)y΍5*oG#-~Q-b] ^X#YEBz"Mj% ͝zS$X#YEBY&sSo{Ϊ|m*]+ӲQF`YD͉v0#YD9F/q B:X eT'8^4BI "Q e,:7wԫӲQF`YD͉v1{#)bЎg $5g6uLmbЎg dkVgcI9HPHSdN0Q\|[``Uo|JX =dN0QCGŶ KVz(wĥI mUފ*)a I mUފ*)` $zvYmUފ*)`:B;,E>-Z]*EC%,PHWe(#~ T;R"B;,E8|[``Uo|JXPHWe(ll 6QPK PHWe(@GŶ KVz(wĥ =dN0Q@iv߃oEOY$+ӲQ#~ T;RJI mUފ*)aJI mUފ*)`JB;,EH|[``Uo|JX=dN0QGll 6QPK'f (ll 6QPKPHWe(-.[m袡-Bz!^`>-Z]*EC%,-Bz!^`|[``Uo|JX=dN0QHll 6QPKT'f )mUފ*)`=dN0QCGŶ KVz(wĥe $zvYll 6QPKBz!^`ll 6QPK!Bz!^`mUފ*)`OY$(f,X2kVcdhilnor "_fjmpuv#()/=Sbgw ,CMxyADEFILORTkqBNPz-GHQUV[]?JWZ'0KY1239;8:X!&*+567P d >t(좀 C`MӴPPK$@ `U,: $:VI @ 8eJ;q >ʦJ;qemhi< `K$@ U@smoGLF},mZ P( `$kH-`= h}^-II Z!B}$ ChhJ@ Umh(@ R !Mz5T9Rռl.m(S.)T˄k8Y@)dUTխZ-^;0Y[;N*u貎K ̠ B a*Jق!/81ע;%, PT>eP0WZaZkV[5@Bo Z5謒鬒ӳ# K|^(*uB:v`GŶiVQ)`2uB:v`b][:YGwĥ(WY$+ӧf )m%qUcEw|JXB!^;0YVb][:YGwĥ+ӳ`|[avUoePHWNP81ע;%,WY$+ӧf )m%qUcEw|JXPHWNS# K|^(JuB:v`l1.ӊz,RB!^;0Y@81ע;%,I قʀ|[avUoe PHWNQm%qUcEw|JXZuB:v`b][:YGwĥI قʐ|[avUoe PHWNQm%qUcEw|JX]dN,x|[avUoe+ӳ081ע;%,]dN,l1.ӊz,R(WY$+ӧf +@# K|^(juB:v`l1.ӊz,RBuB:v`l1.ӊz,RJuB:v`GŶiVQ)` ]dN,81ע;%,*uB:v`@# K|^(WY$+ӧf ( l1.ӊz,RB!N!Nj2Q3ŕ\{9KSZvey%o^R1mTC m޺M` P%Z8UQB*V%;,Y^o u׳HI dP HS`HSutN,z=<~O%2یK @XP  Xq` I$ ߯e#6O22zte,By)b]/dye,) 䦡]dTu@]dI< bN4I$U)WNQ?Rd[qva`8H aKX00r€@0`,]i$|CQ?RN,z=<~89{#)`B"Mj "MB:v`(Ni`@@0$:WX  I$޺MƙFzczzteP n1.Ӄ< $5 V`+juS pn$*]+ӧf (ޏJ%b]` r0 0֒H^Gl.d>eC_ӧf (ޏJ%b]/dye,+5 $5f! ddMR2݃IJnӳoGԘ[_!ŷi@H:uoײ ƙFzxJ:v` k$889{#)` $5Ls|vBkk]tz>Yu#+]tcuDMPŲOT$Ϸ^|.T=ceCERzte<~79kneib I6٠44f4oG#3f z=(k:7?6sRj 4fћ;͛8&tۍJI f{(I!(ޏOWNQ?SqӐ6[qv唰(@t-knjIJkWDT!^;0YFzP'Gib I6w z=07pP44f43fH tO22UӳoG ||}_x[qv唰"r>篼PHSZ)VGG6V4|7UӳoGԼ:n1.Ӄ< ; $5uQψyu3^7I$U)WNQ?R-ĻN0(   )c9``8 @ I$ ߯e#6O22zte/;یK,NB"MjF]kft!ux߮9$T!^;0YFzxK㬶88((X 0RA@rQ I$ ߯e#6O22zte/;یK,NB"Mjꂝ)e׍<:&3^7뎭wo)7oHc<Շݶ5JZeH]c<-I$U)WNQ?R-ĻN0(  HP)c9`8 Au I$ ߯e#6O22zte/;یK,NB"MjF]kwu|GWM&Ok"6 }C5 dkC$*]+ӧf (ޏOyub] @1K @2uoײ ƙFzxJ:v`Ym%prGR'q֡]dTuANƞw`қVz7uΏ7i$VʞwuJZekk>$7WA ق7mb] E@aPX`, ,  @4]i$|CQ?RN,z=<~Ѹm%prGRuB"MjꁮC.ttֺjFFƽc'(BE$_ղ+A cMOu$WH2u>m,)$7WA ق7mb] Ep X`, ,PH]i$|CQ?RN,z=<~Ѹm%prGRuB"MjꁮNP ύZ7I$U)WNQ?Sht88`, ,X`, ,+$3~]>4|7UӳoG7-ĻN^XWY$U)]P5XjѸI"MB:v`F㥷i`Q`H, ` @@X:uoײ ƙFzxJ:v`F㥷iYKq $5 ӾWf]*\|T*]Q$W9B7$T!^;0YFzxMqیKP(P$0( @p9` P@R>oat!(ޏOWNQ?Sht89{#)`tn:]dTtI us|z?mU>7HVr"ԌXi$7WA ق7mb] Ea@)cP(P,(֒H^Gl.d>e*ق7mb]/dye,T+*֮롌 IXhMz 4ԒERzte6Kn1.Ӄ @(0R`Q`@P@R>oat!(ޏOWNQ?Sht89{#)`tn:]dTu@]!:wףZY?lBEyߩ^!C|IJnӳoG7-ĻN0( X X`, ,P9` P@R>oat!(ޏOWNQ?Sht89{#)`tn:]dTu@]!:wףZY?@ TI~ezNP I$U)WNQ?Ss% L88`, –0( `(1BI7HḶz=<~^;0YFzxN̔%2یK, ͳ MB"Mjꁮ ŶFJuNP:9!% M$T!^;0YFzxN̔%2یKR 7BI7HḶz=<~^;0YFzxN̔%2یK, ͳ MB"Mjꁮ9!% N9B|$T!^;0YFzxN2rb] IK]b٠͔NFzxJ:v`d -ĻN^XNP5 $5 sf7+l}#s׳±!C|IJnӳoG'(@om%pqbR2rWXD٠͔NFzxJ:v`d -ĻN^XNP5 $5 sf7+l}c'(B]uc)_(*]+ӧf (ޏONP2یK9B|>:O4M>:$d P4M>:OI$J9A)ђ22zte8v唱jIJkWT(nWNP V4|7UӳoG'(@-ĻN^XNPjIJkWT0c}kӥ72 Fgc'(@oV:HA? HtƧc ̩Zlףuo*FV9Bx$7WA ق7q b] @00(p8 @X(A ,p2uoײ ƙFzxJ:v`deiYK5t&QH>QI$U)WNQ?Swn1.Ӄ @ X b0( `(0a`0,+$3~]>4|7UӳoGoیK,l3@]dTuAS^- R7={<+ŴMLxHSutN,z=<~l3|b] @00 @@`8(,`P0 P`0, pX WZI f{)7|ioGԫӧf (ޏO ;iYKfg}B"Mjꂧn[M~N;XRRIJnӳoG'(@-ĻN0( `(0a`8,`P0 P`p8 +$3~]>4|7UӳoG'(@-ĻN^XNPjIJkWT0c}kӥ72 Fgc'(@oV:HAFCnH6*FVw5cʑNP7^-9jI"MB:v`[qv`P0 P`pX)cP(p:uoײ ƙFzxJ:v`[qv唰mhw+*֮ *;u)_Æ׈mc'(@oQk6裸*]+ӧf (ޏO ;i`P  ,HPX, @ X ((X :uoײ ƙFzxJ:v`[qv唰mhw+*֮*wŴᴍ^ NP:`HSutN,z=<~9Bm%pq# )c9BGWX)$G6h3e:2SCQ?RN,z=<~9Bm%prGR2rPHSZۯQn(|nt=t|Ԍ$+FҒIJnӳoG'(@-ĻN1 x؇D#+CRIRlftdḶz=<~^;0YFzxN2rیK,d6]dTuAS^c9B2QIJnӳoGԱ [qv```$`X0 8  (WZI f{)7|ioGԫӧf (ޏObL89{#)aHO%5 $5$_xt'hiHSutN,z=<~889`8H aK, p9a@ 0 P@R>oat!(ޏOWNQ?Rd[qv唰D֡]dTuDIJnӳoG |-ĻN76٢J^_]bcMh@]|ioG |N,z=(kqm%prGRo`9B"MjꁗN9Cs 6ٴF$*]+ӧf (ޏJ%b] b0 ֒H^Gl.d>eC_ӧf (ޏJ%b]/dye,+5 $5f! ddMuםi$7WA ق7Ӷo2S;m%pqpX, ,`(@2uoײ ƙFzv5*ق7Ӷo2S;m%prGRl)B"MjFYB()8P,Q6:'\u$T!^;0YFzv5,!S-ĻN0 P`X8P,AP@R>oat!(ޏNf^;0YFzv5,!S-ĻN^XTuERJ)l#ԏHSutN,z=;aJFg\us)b]d0\s蒗Ea]bH^:m>4|7ӶWNQK%}|p:n1.Ӄ<(C<,뎂vSPHSZ {Z묶J- M:钄>QM4ERzteb~-N[qve 3Ų8@2؄]b٠͔NFzr؄ߡWNQ!7jr؄~-ŷiYKlBv lPHSZkgG6h3e:lx@6ZM$T!^;0YFzr؄ߡbGb]lBv l47l%,e 3Ų9B @,JI *Q͚ NoG-Mzteb~-N[qv唱'` $5Lsf6S2!0|mm>4|˝ŗ[*]Ee m|GWMvevSZ8 J9A)$So7RIJnӳoG#& YD88b~gJXb~g %$(lFJt|7WNQxN[6gیK,!7h1~QPHSZG6h3r)me C@ጳ2M2¨$T!^;0YFza99lBo eKn1.Ӄ!7h1~QoG#3fR[4?_(WX7p@T4)!(ޏL[qv唰gdpCjIJkWT2+]tc`>;sf^ h] ό_#+\H =c]u ڝԧC$T!^;0YFzxK'n1.Ӄ٢Rl 蔒@]|ioGԫӧf (ޏOcYm%prGR'+*֮eV.ͶΧƵS$XSZ2M+eCnDO:ֺ\-!%/.PI$޺MƙFzxJ:v`?489{#)`WY$U)]P˅rO:ֺ#I$U)WNQ?S7-ĻN f|t&Rl M>:%$z6d>e*ق7v58F㥷iYKfHWY$U)]P˅r[aCoGƵX}>Y{^-hc$*]+ӧf (ޏOcYm%p|[4AxH͛8IK˅T+@͛8JI .m>4|7UӳoGԱ{,89{#)aNjIJkWT2+]u figSZ)m){-B&IZC,:VC¶U1͛9$T!^;0YFzxNfG(t8>\- )yphPRIwiCQ?RN,z=<~l3Y#n:[qv唰mhT>QuER [7+ |k\ͦH*]+ӧf (ޏOn:ht888( X8( +$3~]>4|7m^;0YFzxMqԿlF㥷iYKFIJkWT uά[6YnZ}*]+ӧf (ޏLoR߼t&Kn1.ӃŢ otG`:IKˋT+@>pH tO22*ق7Է>vIیK, תIJkWT2ܯMOGh?+$uI"MB:v`-O`:یKqhz=1H>pR OvD]&Ḷz=1J:v`-O`:یK, נuER +~QԒERzteNB|ܓץizcz7:|#zCCvĔBК%$z6d>eUӳoG79krL^b]/dye,-kFI $5qnWΣ׵uo5D&]^Uם`+d lMK]swkft!dZ묓ש$7WA ق7$n1.ӃS)yg+$3~]>4|7%^;0YFz_$Ym%prGRWY$U)]P5XgFv?LwfIJnӳoGIb]?2L)j֒H^Gl.d>e|N,z=/L|,89{#)`+*֮ ͳ#ln;GueSپ#IJnӳoG | |n1.Ӄ8X p   I$ ߯e#6O22UӳoG | |n1.Ӄ<qouER2Q2SrI"MB:v`Iqe'qm%pqB4f @@"JXqebz3g| \QH sf6S%:d>e|N,z=/r\Yonl[qv唱B4fIJkWT(nWqezYu>/< ʵDX}>W|R2͝$T!^;0YFz_$и888qebz3g|z_$bz3g|7$ћ; )c,Ŗ h͝+@&'6w LOCFl%$(lFJt|7%^;0YFz_$и889{#)c,Ŗ h͝+*֮*Q͚ ܯQB˧6g||_xmNh6"uzYu)mPImk4duk$͝Lmx"2M*]+ӧf (ޏLzr9sFJ7am%pq4naPl?_(7|G )c.h¡(1~QP6o)$G6h3e:2SCQUӳoGg=9sF朹sd%YD89{#)c.h¡(1~QPHSZ۠-NΖXc,|C߮ulylĐIJnӳoGg=9sF朹sd%YD88˚70J6 eD釈پ#hޏLmپ#kŵH ekm eRIJnӳoGg=9sFam%pq4n`pYDAxH͛8IKsF eT+@͛8JI *Q͚ NoGg=*ق73sYD89{#)c.hጳuERNzs eh{鷌ףu7rI"MB:v`.h1~Q-ĻN2?_(7|GѽxH1~QR\ѹg 3f 8c,|%$(lFJt|73zteN\ѹc,|[qv唱4n`pYEB"MjꂧnF\ѹՆ24=MѺ͛:[^$V?_(*]+ӧf (ޏLzr9sFofYD88˚70Zf2"4n`< z6 eT+@@T4)!(ޏLzr*ق73sN\ѹ[ٯF1~Q-ĻN^X˚70Zf2*IJkWT;u6>1~QI$U)WNQr2z7am%pq4n`< z6 eD釈پ#4n`< z6 eT+@͛8JI *Q͚ NoGg=9sFzteN\ѹ.h-ףv?_(b]/dye,e-^g $5HSutN,z=39˚79yam%pq4n`#:ጳz=07pM釈g%,e1ΰ8c,|]bl4 eD٠͔NFzfsүN,z=39˚79yam%prGR\ѹ2*IJkWT;u6>u]Xc,|C߮ul^-$]aǘmXc,|HSutN,z=1N\ѹ-ĻN2d蒖2dPI$J9A)ђ22*ق7IیK,s&T+*֮*wedFaǘm)I"MB:v`9sF`:88˚71`:C4蒖2dPRIRlftdḶz=1J:v`9sF`:89{#)c.hI $5 YsFY&kŴ5nSU1ڄG{DQ@4ERzter$um%pq4nc$uBiК7ԂczkgyJX˚71`:B>:O&7Vw%$(lFJt|7ԫӧf (ޏLoS4ny&Kn1.Ӄ<2dPHSZ$ 4nt=]aǘm)MA׋h*g@l2T5mlIJnӳoG |5iCJ^^WXD]&Ḷz=(kzteC_~m%prGRg $5{k$T!^;0YFzP,̶8>^|t&RB>:OI$޺MƙFzP*ق7҆ gžeiYK B"Mj^k]h{ծn4HSutN,z=(kx\[[qv/D>:OJ^^WXBiК|tJI .m>4|7҆ WNQ5K<.--ĻN^XWžjIJkWT2+]tdZpnPmҎ&[Mi$7WA ق7҆ gžeiC4M>:OJ^^WXBiК|t& D]&Ḷz=(kzteC_2یK,x\[]dTuC/rH!yFJu1ߘM(il&$&^-6IJnӳoG | |n1.ӃBiК|t& Bi%//T+C4M>:O4蔒@]|ioG |N,z=(kx\[[qv唰 |+*֮eV/(NF>ܠ pM7Ӥh meQjI"MB:v`rgfB٩ -ĻN rAcMhM>:Fza9 4IK  mBiК6٢RI7G^MƙFza93!lԫӧf (ޏL]dTuC/rH!u#+]t-|qڑ1 $m[*]aǘmF>ZI"MB:v`rgfB٩1b]za9 4&rAcMh 4f,iH tO22rgfB٩WNQxL[5&>یK,pjuER ]jv|.;m~P!Ԇlڔk]dX}>Rmkr\vU1ڍ|ERzteP n1.Ӄz=07pM釈پ#iК7|GѽxH͛8IK 3f 7pM>:C6o|G I$޺MƙFzczzteP n1.Ӄ< $5{1H]`)$T!^;0YFzxH7eیKzfQ xAxH͛8IK+5T;Ū f%$z6d>e*ق7F(b]/dye,CvQPHSZZH[Q])ֺ_(գq1$P?(jI"MB:v`(?lیKzfQ xAxH͛8IK+5T;Ū f%$z6d>e*ق7Nn1.Ӄ<q@ruER ]2Gڏ:FV_(գq}h(hmku ~$7WA ق7Է>qیKzkgy ށZ`Vw]b1)$I!(ޏLoRN,z=1K~-ĻN^X>pPHSZHSutN,z=<~H|8lیKzD뎈|tIK,:'\uB>:%$z6d>e*ق7LÆ -ĻN^X" CT+*֮eVuhNʇ HSutN,z=<~m8>^`:R PI$޺MƙFzxJ:v`qیK,ۂuER$Pܭu׃Dђk6[*]aǘmx|]bP)$I!(ޏLoRN,z=1J%5m%prGR@0(ٯT+*֮ekBFVLm~0LvٯT)m}#(+\2M`(*Q_(S$ZI"MB:v`j[̔ 08>^N|G`z=07p bJ^^N|Gbu|G%$z6d>e ԫӧf (ޏNflLpC n1.Ӄ<`LN(buER uf$7WA ق7^wi:Δ^wy$&-ĻNXe(_X 6RI$޺MƙFzxK*ق7^wi:Δ^wy$&-ĻN^X])Nd-B"Mjꂝ:\L6wtC^ :}|RrH|GB!]f{)qM-|GTZGni$7WA ق7Ӏ$v߶uKn1.Ӄ8C4oGH&'6w D;(WXBhћ;RIwinfv]|N,z=8Omg\t89{#)`D;hg\uB"Mj6: 0( |~Sz[* A@ $?ϝ{s hmҝ׳¶UIoGH&'6wI$U)WNQ>r>硶[qv/@ oG#3fR 3fH tO>;s3ޏHīӧf (ޏHğ9skS-ĻN^X9s;_uER u= |G:z7|G$*]+ӧf (ޏHğ9skS>SیKzmhz=07p\fWX7p@]|ioGmUӳoGmOm))m%prGR yWY$U)]P]9sG >#q7rI"MB:v`> dfQ-ĻNT6AR8聲/IK* sB ~"RIwinfv]|N,z=8Y(ٯKn1.Ӄ<(ٯT+*֮ezdfQ>5FH㟴ta5ׄ)0"~BXe ׋i8k>-z/j[?8HSutN,z=<~8F㥷iD!R$ 9!WXBSH tO22zte,7-ĻN^XT>QuER$Pܭup(Ju#+\H*]+ӧf (ޏHľ;9a͔n1.Ӄ ~ !\ ޏLٲuER;uֺͩG+]He ů%L̼I$U)WNQ':[qv/@g[wBhޏI\ǝ$ kcP kcH tO>;s3ޏNzte||;no:㥷iYK'gFo:IJkWT2νʽ釈< G I$U)WNQ':[qv/@g4f z=/A1= pM>:$ 9B>:@8&H tO>;s3ޏNzte||;no:㥷iYK'gFo:IJkWTθפna1C_0G >'@X@H@p(0Gna4m :S>}xVʲ~/"I4f$7WA ق7w$k>;cei~|tIK]bH tO22WNQ#^9s-ĻN^X 펹WY$U)]P2 + 펹K.BVA\vU~TP8m̒({ծmGk/RIJnӳoGo -ĻN4$p&,q)yzBLbPI$޺MƟtoGԫӧf (ޏO5 6[qv唰+MC7WY$U)]PܭuIG œ;FJu5 6RmRIJnӳoG'(@om%p|&1d뎈|tIK`8Nθu|tJI .m>4|7UӳoG'(@om%prGR2rWY$U)]PܭuI|Y;:dZc'(B*]+ӧf (ޏNgs~-ĻN4 M ~"J^^Ҕ/B>:Ce(_@]|iۙFzpӧf (ޏNgs~-ĻN^X;?3~PHSZ>uζUz>PG I$U)WNQxL[5&>یKzJPza9 4&P%//@iJ]bcMhM ~"RIwiCQxL[5*ق7ɝ f[qv唰C PHSZG ^} ~5(lyԆlԒERzte釈̅S>[qv/@iJ ޏLs᥷iYK|5B"Mj^kBFVm[i8F#+]uc>I!6U1)Bi-$T!^;0YFzFߎ$y)b]HEP%//@i!WX/JI .m>4|76q*ق76q'G5L89{#)`D}C@׌MB"MjAy[*(lJ#zB˯E= w*ʉ"^яZ#zOcG[RIJnӳoGԲG(t8>^B-4M>:$ $"P4M>:%$z6d>e*ق7Y#n:[qv唰|q $5H#y^-< s#n:HSutN,z=<~v -ĻN4pC4M>:O)yzI+C4M>:OI$޺MƙFzxJ:v`7t,89{#)`fWY$U)]Pܭu!#v ZNپ#uuly$R>^Q)m1B&iLma6Jdk)m&"[JdkusB&IJnӳoGԲG(t8>^B-zxH2پ#bJ^^B-  oX@]|ioGԫӧf (ޏOd>Qm%prGR¤qT+*֮"xx&d>Qlղul}E k:lкS$\)m$T!^;0YFzxL:[qv/@i!z=<~lб%//@i!u[7t,JI .m>4|7UӳoGپ#eiYK[7t-B"Mj^kSo]H?*v Huly:HSutN,z=8Omg\t8>^b bJ^^j!К%$z6|vgeѽ*ق7Ӏ$v߶uKn1.Ӄ<N߶uT+*֮ez?ϝ{sz^tHSutN,z=0ِjL}i oG# mBhhnؒ0nڅu6١447lJI .m>4|7ɝ f^;0YFza93!lԘKn1.Ӄ<}IJkWT2H!u#+я6Wu(lyԆlԒERzte釈̅S>[qv/@`ݱza9 4& bJ^^j 4f447lJI f{(I!(ޏL[qv唰,T+*֮eV.eke#n;R2X}>^sᤑRmkeZ>m/ƑBIJnӳoGIl뎖b]7o>:CCvP R M @,JI .m>4ˣz=8UӳoGIl뎖b]/dye,ml뎨WY$U)]P:[*^s#(hn$*]+ӧf (ޏNflL亮i+1zP!^)yzqou JI .m>4|7ӶWNQK~ْKn1.Ӄ<`LIJkWT2LζT6 ?)nHSutN,z=<~l3Y#n:[qv/B@cD %*!)$I!(ޏOWNQ?S7-ĻN^X64*G(uB"Mj^k?_(Ԍuf=|L%:$?+l3i8F$7WA ق7Ӏ%mD8>^}za9#6o%//BHru|G I$޺MƟtoGJ:v`> dfQ-ĻN^XTfQPHSZ-b@&u#+\F6|L~]hm\-mIϾQZI"MB:v`d7.hیKzJ^^;uB I$޺MƙFzP*ق7҆ ܹn1.Ӄ< 4xZuERb׳kֹRmi)mI$U)WNQxL[5&>یKz1za9 4&1%//B]bcMhM1bRIwiCQxL[5*ق7ɝ f[qv唰C PHSZG ^}1u(lyԆlԒERzte釈̅S>[qv/B ޏLs᥷iYK|5B"Mj^kBFVm[i8F#+]uc>I!6U1H!i$7WA ق7͛8js-ĻNNBiR)`]P%$z6d>e釈ӧf (ޏLe*ق7X`8l n1.Ӄ<`8l+*֮eVLuCdLӒʆkc}`:2NHHSutN,z=;a:Oe)8>^:OehޏL4dw|G$*]+ӧf (ޏO>{-ĻNPy BiК|tIKШ< M>:ORIwiCQ?RN,z=<~t{089{#)`|=]dTuC/rLBs2>U|GB^A7F;bJ^^AWXؔ@]|ioGԫӧf (ޏO>{-ĻN^X=f(WY$U)]Pܭu;L=^we^55?0d}cHSutN,z=<~t{08>^Jz=<~*PĔ %5 (JbRIwiCQ?RN,z=<~t{089{#)`|=]dTuC/r>{̦J;aL!9v(Juuly$S% M$T!^;0YFzxK/;J82یKz(JarmA?RHT)ɷ%//B L.M(WXBS nRIwinfv]/;ӧf (ޏOyuqG:[qv唰IuJ85 $5*PۅHiͤ2FJu;)CjFEkxe*v|Cծ! ]&E3HSutN,z=<~q֗Yn1.ӃT)ɷzxK!R& %06]b L.M I$޺MƙFzxK*ق7^wiyum̶89{#)`>sPHSZC:]>&Jg}|GH|k]uR&(IR2@ qtI$U)WNQ?RI 6[qv/B L.M7^wi %06$T)ɷ (JarmJI .m>4|7^wiWNQ?RI 6[qv唰! >4mB"MjꁮЩBS nu~Q{R2@ qt4=c"d>em4|7^wiWNQ?RL yum̶89{#)` NmB"Mj&V*Pۅ?+Ɓ1mJ\p ֺ|wHu5! ]&I"MB:v`{adb]ЩAR*P@u|tJI .m>4|7UӳoGԎ$489{#)`oh+ PHSZZ먠p۝Hd|k\p!uly>ZI"MB:v`[qv/B|tIKЩA!)$I!(ޏOWNQ?Swn1.Ӄ< uER ]EFS%Qk}$T!^;0YFzxNfKn1.ӃT)yz( tqB>:%$z6d>e*ق7v4[qv唰mh!WY$U)]PܭuP8mΤe2P@>5~Vfя5$T!^;0YFzP KH;0یKz#z=07pR8뎨WX7p@]|ioG |ӧf (ޏJ$ y^}f[qv唰yxT+*֮eVG d:㵛7u)ֺ I$U)WNQ5H!qm%p| \tAxH͛8IKЩuT+@͛8JI .m>4|7҆ ^zUӳoG |/>Hinl[qv唰y44fIJkWT2+]t"|.#I"MB:v`I= m&S-ĻNRlm6R)yz(Ͼ6 6RI$޺MƙFzFߎ%^;0YFzFߎ$y)b]/dye,hy)WY$U)]Pv?my[*(*Q͟|mQ=}|!LeעMXSGYDVkeChCqu= 1#$7WA ق7GMC -ĻNRl ޏO 7 z=<~G6}R*Q͟|w+@T>QMY7(Ͼ;RIwiCQ?RN,z=<~tѼt8lیK,Y7 CT+*֮eV钎lFJu1d>Q>5~T8lԒERzteP(ٯKn1.ӃT-ٲhz=1HT-ٲhRtx0Gfa *QێoL4JI f{(I!(ޏLoRN,z=1J%5m%prGR@0(ٯT+*֮eVLmaRtx0Gfa6R2h+|ϯRIJnӳoGԷ46APyeXĤ]&Ḷz=<~~ ^;0YFzxK~sK ͥiYK /6WY$U)]Pܭu;LvR2L/6ʵX}>I.|l.4f׋jv94|7UӳoGԱp<89{#)aN0H]dTuDT!^;0YFzxK$qKn1.ӃRLA?RSR) 䦡]bJbRIwiCQ?RN,z=<~8F㥷iYK 7PHSZbNwuGf>6bM$T!^;0YFzxIYm%p| By)|tIKФ'u|tJI .m>4|7UӳoGԙ>ub]/dye,>uWY$U)]Q$U)WNQ9l뎖b]Ф'αza9#6o%//BJ`?:+@͛8JI .m>4ˣz=8UӳoGNo:㥷iYKl뎨WY$U)]V^!<κmV`SJuuֻ|!Cnm $и ߶uj-m׮q$T!^;0YFza9:im%p|{:Q6R)yzt]bP)$I!(ޏL:$WXD]&Ḷz=(kzteC_b]/dye, +*֮eV6eku#+\V4ˣz=8UӳoGIl뎖b]/dye,ml뎨WY$U)]P:[*oGH>ZI"MB:v`jq o2S;m%p|}Dwс 0AH%3 8lJ^^"S;ӆ]bl)`ie H tO22jUӳoGl3S8[~ْKn1.Ӄ<1 }Dw $5$+eY{ZZ󮌔oޒHSutN,z=;awKn1.ӃF6Pzv5 kcJg}pC[w"S;ӆ]bǝ04ᲆ I$޺MƙFzv5*ق7Ӷmx)89{#)`kcJg}PHSZZw)4ᲆ= Q:I46GC:R!4ERzte Զ 08>^;eSy)yz<MB1bRIwiCQJ:v`j[lyJg}ӆ[qv唰5x%3 8lIJkWDT!^;0YFzv5-<%3b]5x `X1e(_kcgpc>* l H tO22jUӳoGl3Rc2S;m%prGRǝ]dTu@XBCdl/k]t6|R2M< ?C߮luIJnӳoGl3RBe2یKzH"R lT+CRIwiCQJ:v`jY(C[qv唰Be5 $5{Z$q:M~PTI"MB:v`a&xYm%p|Yhz=(kTbJ^^΄5B H^:m>4|7҆ WNQ5L$ -ĻN^X*L $5{mІ*]+ӧf (ޏJ'^u2b]5І7҆ yFĔYjuyFĤoײtO22UӳoG |:Fn1.Ӄ< yWY$U)]Pܭy@Lu1ZF@ם`(I"MB:v`(N cl%i ft!XBCF\1۟fQ6R)yz:,!!#.`ϳ_(WX/JI f{(I!(ޏLoRN,z=1J%5m%prGR@0(ٯT+*֮eVgBH!u#+]tIIHx˘&;s*6F>2SQj$S$X52MԆlܭkc}BIJnӳoG7BpdfQ-ĻNk3 X= '#z ޏLQ$۝\Q|:HSutN,z=(k%祶d>n1.Ӄ>a퀠$>a hn bRIwiCQ5HүN,z=(k%祶d>n1.Ӄ<!]dTuC/r5>adL(*]+ӧf (ޏJ$ y|Lۙm%p|=G4@ݰĔ=G5B @,JI .m>4|7҆ ^zUӳoG |&C̶89{#)`5 $5{>w׳_(ʵCƼjFPݼI$U)WNQ5H2nei k0CvP Bi%//@fQ PCvP Bi)$I!(ޏJ$ yWNQ5H2neiYKYsPHSZGk02SHyRIJnӳoG |&C̶8>^| hn a4M>:$>a hn a4M>:%$z6d>eC_/=*ق7҆ ^z_![qv唰LLۚuER ];kٯ|keZF^s#(hn$*]+ӧf (ޏNfǝdw 8li wg~WX;JI .m>4|7ӶWNQKm;LpC n1.Ӄ<<Dwс 1B"Mj*]+ӧf (ޏOyu; b]3θM>:$\q(WXBi)$I!(ޏOyu^;0YFzxK,yum̶89{#)aS>sPHSZZ79Z묒eMy|?V:㏔p*FVv<铑jv9l]t ;G:HSutN,z=<~q֗[%@m%p|<>QJ^^u(u|t&H tO>;s3ޏOyu^;0YFzxK/;J82یK,N*QWY$U)]P5My|#+]uBlyuםOm>#]dYzy|ugIJnӳoGԼ:1ۙm%p|<>QJ^^u(u|t&H tO22ZUӳoGԼ:1ۙm%prGR'q|6]dTu@nyZLﯔhOk 8G(IR2@ qtI$U)WNQ?RI 6[qv/@:㏔pC4蒗gq8]b D]&Ḷz=<~q֕zte/;ˀneiYKpF+*֮묽<>Q:m?(=ZIuJ8:đZ22C6q;[*hkxeIJnӳoGԼ:;>gxYn1.Ӄ\q|t&R 8G+C4蔒@]|ioGԼ:үN,z=<~q֙{>3|6[qv唰eg WY$U)]P-ۭu^u(H]d.wu?V:㏔p*FV6>ǁ7[*]N*Q*]+ӧf (ޏO1Cn1.Ӄl ޏL2Ss"6F6|Lmuuly>ZI"MB:v`(N cl%i Zz l R Zz]bP)$I!(ޏLoRN,z=1J%5m%prGR@0(ٯT+*֮eV.ek6 dkpm)ֹDJdkPTfQPIV WNQ':[qv唰"vf:]dTuC/k|۝l}6H >ZI"MB:v`rgfB٩1b]4 oG# mBi@l,IK4 P4&$Ĥ]&Ḷz=0ِjUӳoG#;2I489{#)`]dTuC/k]tR2kzl Fc}4f*]+ӧf (ޏL:MabJ^^Zu6١4M6H I$ ߯ez6d>e釈̅RN,z=0ِj|Kn1.Ӄ<juER ]#Ԍu $qjFV $5$7WA ق7v58F㥷i 6R)yzkWX/JI .m>4|7UӳoGk$qKn1.Ӄ< 7PHSZZ!V6syCzJumk[aL7[_l-$T!^;0YFzFߎ$_^_}pz=07p bJ^^_}ru|G%$3~u|ioGmUӳoGmOm)\n1.Ӄ<NG4\+*֮)#P~mH?]GyZ= C-dI>-|GQ= kSĒERzteC_lL8>^g\t rAcMhM>:$u@]bcMhM>:%$z6d>eC_ӧf (ޏJ%feiYK6͔+*֮eV8FX}>Jdk|[a6R2$Fٲlmֺ]H]Eνҙ&ƨS$ZI"MB:v`(?lیKz h/IKe*ق7Nn1.Ӄ<q@ruER \Sk\(SΦxۦ:YqI$U)WNQ5N^b4M>:$-! P4M>:%$z6d>eC_ӧf (ޏJ'qy6[qv唱8X5X6]dTuC/rMxmgEqk:-$T!^;0YFzv5-fJg}ӆ[qv/@ ޏLoŷi9bruH tO22IWNQ'889{#)`DruER&-{>k׍\)ӾT';jI"MB:v`I>o[qv/@ IK<)WX)$I!(ޏKzte||7̶89{#)`DinjIJkW@u^5sNRc$7WA ق7Ӏ'7qیKzsye(_|g>ɗPe(_@]|iۙFzpӧf (ޏN߶uKn1.Ӄ<3~PHSZIx}3/~TB5M:!5lލ·Ȓ*@nk |ClN.-|GV`VʵMERzte~8/2o?e2یKz >P%//@B ~"RIwiCQWNQ2;m&S-ĻN^X";^2o?e5 $5 >QHeT#~:ޏPkםE>;qm!<'#],};n-ђFS;˞$*]+ӧf (ޏJ$ y^}f[qv/@> hn bJ^^6}B @,JI .m>4|7҆ ^zUӳoG |/> -ĻN^XeN\ѹ^;0YFzfsӗ4ni0zgfaiYKFIGfaIJkWT2Fw ;Űʆ3Z`X&u]T6]tIcci$7WA ق7L|-یKz|.<>soGH!mIKCqX!ۚu>u I$޺MƙFzxJ:v` k$889{#)` $5{1|6FJu~Q_!=lʵDX}>F>sI$U)WNQޥ mD8>^ oG7>/$!a| |,X_yn 0R恸h,(WXD]&Ḷz=(kzteC_2یK,x\[]dTuC/rk|i6ek݃=ZG$&!|h $ [iDYi$7WA ق7Ӏ$v߶uKn1.Ӄ"!К2$"]b !/RIwinfv]|N,z=8Omg\t89{#)`D;hg\uB"Mj^ף׷:W2H!i$7WA ق7ɝ f[qv/Aza9 4&)yzWXXmFB_D]&Ḷz=0ِjUӳoG#;2I489{#)`]dTuC/k]tR2kz2RaǘmHiI$U)WNQxL[5>s᥷i }oG# mBiК2$"]bcMhM>:FB_DoײtO22rgfB٩WNQxL[5>s᥷iYK|5B"Mj^kBFVm[i8F#+]uc>I!6U12H!i$7WA ق7Իt'J1kیKz!!kl6R)yz!!klPe(_@Q׮iCQޥ^;0YFzcznF6|[qv唰 x5uER \AEN7*N^nPw9t6P5mE lx@6!!Z21$T!^;0YFzxK$qKn1.Ӄ"QzxH"Q%//AWXDRIwiCQ?RN,z=<~8F㥷iYK 7PHSZ${2Qڑ~S$qRIJnӳoGԎ=fb]D DJ^^%PGD]&Ḷz=<~^;0YFzxHam%prGR,{1B"Mj^k:|=Lv4FJ;[*]aǘm(I"MB:v`(2G(t8>^%oGԂ%R(uJ:%$z6d>e*ق7N|qیK,P 7PHSZZ% C-dZqB#n;[*]aǘmE(I"MB:v`Hb]Dc$"zxHT))yztZ]b LJI .m>4|7UӳoGԲG(t89{#)aR8FIJkWDC/rFJv:rB-JH?)8F$7WA ق7Ӷ:82S;m%p|Jg}M Ԃ%3)yz]b Dw)$I!(ޏNf^;0YFzv5'^gfJg}-ĻN^X]q]dTuC/r轨x@6T]J4:$7WA ق7Ӷ:82S;m%p|Jg}zv5 L()yz ))$I!(ޏNf^;0YFzv5'^gfJg}-ĻN^X]q]dTuC/r2Q׷^Y؇D#< 蔒@]|ioGl3RN,z=;awKn1.Ӄ<<Dw $5{ZӒ#I"MB:v`jbnfJg}-ĻNr@ph/IK 9 {8eB ~"RIwiCQJ:v`jbnfJg}-ĻN^Xn`LIJkWT2:29 {:He?(L$7WA ق76q#o n1.ӃAT{ ~"J^^TGl-B ~"RI7G^MƙFzFߎ%^;0YFzFߎ$mm%prGRk $5m>-{>uu#*2uu4#u>5W_9D뎒EuM>;s4|8ZI"MB:v`( -ĻNx]zxH]%//@5  .—@]|ioGԫӧf (ޏO:2یK,P+*֮eV(ֹG\PuZ>m($*]+ӧf (ޏO)$48>^a)yzs+CRIwiCQ?RN,z=<~lۜ8lیK,қn`$5B"Mj^k) w‡sm$qq$T!^;0YFzxK<$48>^a)yzs+CRIwiCQ?RN,z=<~m [qv唰6l $5{t&Q ϡL7ĒERzte&BCdb] ;!%//@0zu|tJI .m>4|7UӳoGԙ  [qv唰D$<dWY$U)]Pܭuӥ72P} wd>Q$*]+ӧf (ޏO76Him%p|ùRWXD]&Ḷz=<~^;0YFzxH齰CKn1.Ӄ<fl $5{t&Q ϡL7V^ge(_mB ~"RIwiCQWNQ2;m&S-ĻN^X";^2o?e5 $5=FC!SqטF_'yZtŶڔ`Id[)B =tj2ua- w$*]+ӧf (ޏOyuF>#c2یKz)yz 蔒@]|ioGԼ:үN,z=<~q֟;xYn1.Ӄ<*7>91|6]dTu@kf̭u~~P|GSnFmV6 >;[*ֺs:S~SeOܡ9$T!^;0YFzxK/;J82یKz)yz 蔒@]|iۙFzxK*ق7^wiyuQb]/dye,waR uB"MjꁮX95\4ۃѹֺ\2 M0Ek'q(\Cn]lu)%n{ZpHky4(JarmŽv)$P=m<~:2:2S;dӤ>G2=$PۦHFNQԒERzte/;:|6[qv/@3!%//@3㸡]bH tO22ZUӳoGԼ:1ۙm%prGR'q|6]dTu@nyZLﯔhOk>;uHZIuJ8:|vge*]+ӧf (ޏOyu\Os-ĻN蒗PI$޺MƙFzxK*ق7^wi=Fn1.Ӄ<<2gƍWY$U)]P5Yz:m?(=ZIuJ8:đZ22C6q;[*hkxeIJnӳoGK~m%p|Bx!%//@4(WXD]&Ḷz=8UӳoGK~m%prGRmB"Mj^k$'R2oۭkc}BIJnӳoG |߶[qv/@4|tIK $'!)$I!(ޏJ%^;0YFzP-eiYK} $5{tH?)nU1G I$U)WNQ?R߿g\߼te2یKz;xXαza9#6o%//@2x ֡]blRIwiCQ?R߿g\үN,z=<~~ yeiYK}te5 $5{rx 󮌔]t߾Zﵮ~ED:2Nϝq$T!^;0YFzxIYm%p|QXz=<~wbJ^^Y(NBNJI .m>4|7UӳoGԙ>ub]/dye,>uWY$U)]Pܭu㮶T=?(󮟔J/m$7WA ق7҆ ם`LeioG#3fRP6o)$I!(ޏJ%^;0YFzP: l89{#)`ם`(څuER ]kκeH$T!^;0YFzcz'J1kیKz 0.My|Yb!(R`\m+D%RIwiCQޥ^;0YFzcz'J1kیK,`(*Q_(WY$U)]Pܭu>]H])mɯ1я-B&R2"S$X52MʵX}>H!i$7WA ق788>^b ޏKLOCFl$&* ћ; I$ ߯ez6d>e釈ӧf (ޏL:$&- 蔒@]|iۙFzv5*ق7Ӷc6n1.Ӄ<>͹vSPHSZ>X|[*]aǘm,~QƵ[a^-ޡ8ֻ$Sٷ4ERzte ԟ|D8>^b 蒗+CRIwiCQJ:v`jO>X|[qv唰#,?_(WY$U)]P]1 ],~QI$U)WNQNlwf߷?m%p|Ŷ!%//A1m(WXD]&Ḷz=;azte yms)b]/dye,f>͹vSPHSZ>X|[*1>X|Ok6[SBqwH;ϳni$7WA ق7Ӷmx)N(am%p| ޏL/ 3fH tO22jUӳoGl3Rc2S;6PیK,;)`ie PHSZ$7WA ق7Ӗ& Kqim%p|7|G )yz P6o)$I!(ޏN[5*ق7Ӗ& Kqim%prGR-5B"MjlyC7? |LFf%:?)5$T!^;0YFzP KKl}b]LOCD @,IKLOCT+@ݰĤ]&Ḷz=(k%^;0YFzP KKl}b]/dye, fCB"Mj^>'߾8cERzteC_/=/s-ĻNXWX`(I$޺MƙFzP KJ:v`@}b]/dye,!]dTuC/roFJtd>wE$T!^;0YFzP KKl}b]LOCD @,& D5B @,& D]&Ḷz=(k%^;0YFzP KKl}b]/dye, fCB"Mj^>'߾8cERzteC_/=/s-ĻNXM>:O)yz juXM>:OI$޺MƙFzP KJ:v`@}b]/dye,!]dTuC/roFJtd>wE$T!^;0YFzp;?ۛθm%p|D>:O)yz WXBi)$I3;.> WNQ':[qv唰"vf:]dTuC/k|۝l}>;H!i$7WA ق7ɝ f[qv/A1za9 4&RP4&H tO22rgfB٩WNQxL[5&>یK,pjuER u>]Hc OԣX}>RmRIJnӳoG#;2Oim%p|D釈ƛlК|t&RP4& DoײtO22rgfB٩WNQxL[5>s᥷iYK|5B"Mj^kBFVm[i8F#+]uc>I!6U1|vBIJnӳoG79krL^b]Lvge7ԂczkgyJ^^c3;-BczkgyRIwiCQޥ^;0YFzcz7$um%prGRІ4dPHSZ:OLO2S6^J5~Ed K]swk76ΦٝjI"MB:v`FXmqیKzk w;IKXhS+C%$z6d>e6RN,z=<~ѸAht89{#)`:7PHSZ$7WA ق7maKn1.Ӄ4*M)yzk mB>:%$z6d>e6RN,z=<~ѸAht89{#)`:7PHSZ$7WA ق7Ӗ& N^ۀz=07p6]blRIwiCQ?RN,z=<~jm%prGRd7e $5{Lq Pۭulyl$7WA ق7X`8l n1.Ӄ+7|G )yz n  f%$z6d>e*ق7X`8l n1.Ӄ<`8l+*֮eVLuCdLq Pۭul9:HSutN,z=<~88>^ۀz=07p6]blRIwiCQ?RN,z=<~889{#)aw;g(WY$U)]Pܭu8ۅ)ֹG\P[*]aǘmC$*]+ӧf (ޏOdb]W  ޏOp!~^lzxH+ bJ^^l  CBx똔@]|ioGԫӧf (ޏONP6[qv唱#+*֮"^kd^#RqPI$޺MƙFzczztem%prGRxuuERERzte釈5 b]UvCJ^^#!)$I!(ޏLeC_ӧf (ޏJ%b]/dye,+5 $5}^RF[Mb]>;s>w_(T6u$T!^;0YFzv5-fJg}-ĻN: l Rq}T+@J%$z6d>e ԫӧf (ޏNflL亮iYK}Dw $5}^RF[Mb]珈~VʆB*]+ӧf (ޏJ$ ym2یKz nRh+CRIwiCQ5HүN,z=(k%祶d>n1.Ӄ<!]dTuC/rLBs2G;|Pnuly>ZI"MB:v`@% = ͝n1.Ӄ*Ѹ|tIKUpPI$޺MƙFzP KJ:v`@% = ͝n1.Ӄ<<9B"Mj^k#>QZ7 2S@nX= ft@Ph HSutN,z=<~9B|n1.Ӄ)LY;:R&,q 蔒@]|ioGԫӧf (ޏONP2یK,d PHSZHSutN,z=/`P8m= ͝n1.Ӄ)>:$)+CRIwiCQ*ق7&889{#)`ts4fIJkWT2+]u(6[*]aǘmy@뎤*]+ӧf (ޏK>7sn1.Ӄ)>:$)+CRIwiCQ*ق7&}2یK,8m}5 $5{Z!9vEIJnӳoGԲG(t8>^ oG | <,IKTj &xX@]|ioGԫӧf (ޏOd>Qm%prGR¤qT+*֮"^k&x]H?)8F$7WA ق7Ӷ:82S;m%p|I ޏJ$&xX3+@*L)$I!(ޏNf^;0YFzv5'^gfJg}-ĻN^X]q]dTuARlf~X}>GۜkŴdwܣ%:Y$WSZݹ$T!^;0YFzv5-fJg}ӆ[qv/ARgnq w7|G )yz <sSB پ#]&Ḷz=;azte Է)N(am%prGRl)`ie PHSZP<ilkκ?Lwf$T!^;0YFzxK$qKn1.Ӄ*LDC4蒗3 M>:%$z6d>e*ق7Y#n:[qv唰|q $5H#yZ2G(vU6>&}|HSutN,z=<~>:[qv/ARg" DI_(WXBi)$I!(ޏOWNQ?R|-ĻN^X'T+*֮)#+]t|;u1$ϯRIJnӳoGپ#ei&}|!К|tIKTu|t&H tO22zte3oYm%prGR PHSZ#yZ7t.U1ڄI"MB:v`Hb]Tz=<~J^^ϯT+@'D]&Ḷz=<~^;0YFzxK$qKn1.Ӄ<#n:]dTtI$o+\HʽF$ϯRIJnӳoGԟ'Kn1.Ӄ*LDA?RI%//ARg* RIwiCQ?RN,z=<~>:[qv唰"OWY$U)]Pܭu$ϯjFV>;[*]aǘ[jg)$7WA ق7glвیKz >QoGԁ|tIKTu$蔒@]|ioGԫӧf (ޏO|GBn1.Ӄ< oZuER]Nپ#uuly$ϯRIJnӳoGg=9sF˚72یKz z_$ћ; )yz  COCFl%$3~u|ioGg=9sFzteN\ѹvt̶89{#)`:[c.h+*֮! :%$3~u|ioGJ:v`> lލ:[qv唰4ލ/ǎWY$U)]P]rVƲ(+]!Mѹ3Ƈ$P\k:U ƶUxߖHSutN,z=8[7s;ǎb]T 8A Dpru&͝󄤒oײtO22> WNQ-ѹ\n1.Ӄ<ѹ5 $5{ZHppc::3g|}!Z4ލ/ǎEx!MѹI"MB:v`> >v7qیKz G|t&(R(P%RIwinfv]|N,z=8Omg\t89{#)`D;hg\uB"Mj^ף׷:W:BIJnӳoG#;2Oim%p|J#釈ƛlК|t&(R(P4& J#oײtO22rgfB٩WNQxL[5>s᥷iYK|5B"Mj^kBFVm[i8F#+]uc>I!6U1ڄ:BIJnӳoG#;2I48>^ rAcMhMBQ$*Q]bcMhMBQ%$z6d>e釈̅RN,z=0ِjL}iYK> $5{Z|_+%(lyԆlԒERzte|θm%p| ဇ1M|tIKо}څu|tJI .m>4ˣz=8UӳoGNo:㥷iYKl뎨WY$U)]P5GpC &9BiY{[*~ֺHHLSBqђx%#Oڔ`\H 8M(0P`h ( `H&0@$ P`Mx( ( 0F>I$U)WNQ?Sjl,8>^ǜR/<PI$޺MƟtoGԫӧf (ޏO5 6[qv唰+MC7WY$U)]Pܭu1 u#Ԍuif񰺐mHSutN,z=<~9B|n1.Ӄ_ y!%//Bc@ 蔒@]|ioGԫӧf (ޏONP2یK,d PHSZZ룸c@G Zc'(B*]+ӧf (ޏNf(6dwیKzr'ٯ@)yzr'ٯ@ 蔒@]|ioGl3RN,z=;apۙKn1.Ӄ<pۘ"S;uER ]rTP8mΤe5㟹^m>52}FHQ@4ERzte ̔[qv/Bc@Lv\)yzrc:x(WXD]&Ḷz=;azte ̔[qv唰T+*֮eV:nu#)iu:GzFerHpۚI"MB:v`ruӾӒb]оM4CJ^^"oߡ!)$I!(ޏL4|7Ӗ& J:v` CR׎76w-ĻN^X4ћ;(WY$U)]P2L]aǘmyu^:h{ծ~VlHSutN,z=9lBoԵ6Hinl[qv/B33^hz=9lBoԅg`g%//B33^ju :yRIwiCQ!7jUӳoG-Mu = ͝n1.Ӄ<x6wPHSZ.d1:8림u\9$T!^;0YFzP KH;0یKzz4CJ^^޺MPI$޺MƙFzP KJ:v`@%vaiYKw5B"Mj^k#>Q]&ђk;0ԒERzteC_/= Kϒz;b]лIR.ju|tJI .m>4|7҆ ^zUӳoG |/>Hinl[qv唰y44fIJkWT2+]t3 HyhIdXܰz$7WA ق7҆ gžei-yn<|tIKзxnb|@]bH tO22UӳoG | |n1.Ӄ<qouER ﵮ9y;iuяmTumםI9iV6݃Mm|F](|rF>yM#+]tcGJ:ꑕ6iu׮h{ԏ@*]+ӧf (ޏO5 6[qv/BR-y]bH tO>;s3ޏOWNQ?Sjl,89{#)`Vo PHSZZ룟ԏR2]CMjI"MB:v`d -ĻNo@)yzPI$޺MƙFzxJ:v`d -ĻN^XNP5 $5{9yH!u#+\dP4ERzte ̔[qv/Bk3?pCJ^^/9 g~u|tJI .m>4|7ӶWNQLP8mL亮iYK8m)B"Mj^k|^rTP8mΤe5㟹^m>52}FHQ@4ERzte ̔[qv/B펹9R-y 㟸]bH tO22jUӳoGl3Ss2S;m%prGRtsJg}PHSZZ룟sMxW$>Ok:>S5#+EEIJnӳoGl3Rc2S;6PیKz:"1%//B0cEB1bRIwiCQJ:v`j[lyJg}ӆ[qv唰5x%3 8lIJkWDT!^;0YFzpb]з 蒗ox]bH tO22> WNQ-eiYK} $5{9Co*FVMuuly>ZI"MB:v`[n1.Ӄ[|tIKз PI$޺MƙFzP*ق7҆ o-ĻN^XWY$U)]PܭuϊyR2oۭkc}BIJnӳoGԵ[qv/Be(_rou)BD]&Ḷz=<~^;0YFzxK_!ŷiYK?C+*֮aǘ\\CGI $7WA ق7L|-یKz&؇D mB>:%$z6d>e*ق7L|-یK, ?C+*֮eV6FVERzte6RF㥷i.MyD ^cx]bH tO22FWNQ?Shu n:[qv唰XhWY$U)]PSG]k^cyFJuF$7WA ق7҆ o-ĻNrCJ^^: 蔒@]|ioG |N,z=(kیK,څuER ](FVMuuly>ZI"MB:v`> םei.Q|tIKйG\]bH tO22> WNQ:89{#)`םjIJkWT2+]ttZ7ʵX}>H!i$7WA ق7Ӷo2S;6PیKz(AxH͛8%//Bv(WX7p bRIwiCQJ:v`j[̔ 089{#)`o04ᲆ(WY$U)]Pܣuf$7WA ق7`یKz56R)yz5Pe(_@]|ioGԫӧf (ޏOKn1.Ӄ< ~juER ]:i3\\?6"!!G! y˅_(I"MB:v`?48>^ y fQe(_hC^|,eٯqB ~"RIwiCQ?RN,z=<~-ĻN^X)IJkWTIJnӳoGl3Rc2S;m%p| BD Bu|tJI .m>4|7ӶWNQKm;L亮iYK[w"S;uER uC^|s%:C.>ˎ3IJnӳoG-M'iXz=9lBoԁ|XhޏL4|7UӳoGԝqA8F㥷iYK #n:]dTuC/rQ]H]2G(vU1͛9$T!^;0YFza9:im%p| ޏL םyn1.Ӄ< yכ=B"Mj^ֺ7x2,|H$$7WA ق7Ӗ& Od 48>^;Ѱ"s(%//@{s9qB I$޺MƟtoG-M%^;0YFzr؄ߡ{!qنb]/dye,  PHSZZBUqنʆznI$U)WNQKm;L亮i^ ޏLe ԫӧf (ޏNfǝdwیK,;)B"Mj^ֺcbĒERzte|Xc,|[qv/@{ 8c,| ޏN eD3@ጳu@pYDJI .m>4|7Ӏ%^;0YFzp>?_(b]/dye,`g $5C8(?_(ʵWԌuERzte|88>^ pz=8FpPy$aq|G(WXq|G I$޺MƙFzpӧf (ޏN_ŷiYK@ ruERZq|GVʵWԌuERzte||;no:㥷iBM>:$ ]b D]&O7Ӏ%^;0YFzp;?ۛθm%prGRvћθuER Gnu@8IJnӳoGl3R߶dwیKzpۘ"S;z=;aD8m)B6%$z6d>e ԫӧf (ޏNflL亮iYK}Dw $5$+eY{Z먠p۝)ni$7WA ق7Ӏ$v߶uKn1.Ӄ,iM釈ƛl%//AcMju|t&cMh@]|iۙFzpӧf (ޏNgs~-ĻN^X;?3~PHSZG ^^ |GWHi˭uE釈zG!7(N|I$U)WNQ':[qv/AcMhBhޏL4ˣz=8UӳoGIl뎖b]/dye,ml뎨WY$U)]P5:m?*]e,iͮ6HM Ck uzx]HnrI$U)WNQ':[qv/AcMhBhޏL:@4& D]&O7Ӏ%^;0YFzp;?ۛθm%prGRvћθuER(u>]H:Hc:jCMh]k(ޏL 6ٹFJt펟#I"MB:v`K͑nei4f76٢J^^ƛl  mD]&O76q*ق76q,C6G< b]/dye,) &]dTuC/k]u!6T6f6ԒERzte8v/As}~Q蒗_(WXD]&Ḷz=<~^;0YFzxN2rb]/dye,c'(@ouER ]Jo4dZc'(B*]+ӧf (ޏL4|7UӳoG'(@om%prGR2rWY$U)]Q$U)WNQ?R:|=[qv/@\b;rmWX)$I!(ޏOWNQ?R:|=[qv唰 >{PHSZZtu#+\d#s7ֺ)|C߮sO)f)NwJI"MB:v` CSNn1.Ӄν7|GѽxH,iR^+@͛8&cMh@]|ioG-Mzteb~:?Pb]/dye,cG $5{1)\uνʵX}>H!i$7WA ق7҆ 䐛,jl,8>^woG | eE%//@;WXe䐛,B-I$޺MƙFzP*ق7҆ 䐛,jl,89{#)`!6X [ PHSZ?5R2[ I$U)WNQLP8mL亮ilu)BD<1s l H tO22jUӳoGl3Ss2S;m%prGRtsJg}PHSZCzJumEB G嶾S:(5$T!^;0YFzv5-<%3ie -ĻNGݹeSy)yz}ۜFYe5 yI$޺MƙFzv5*ق7Ӷmx)N(am%prGRǝ04ᲆ(WY$U)]ERzte Զ 08>^6\tC$seT+C%$z6d>e ԫӧf (ޏNfǝdw 8liYK[w"S;ӆ]dTtIJnӳoGl3Rc2S;6PیKz\cĔ.ao+C%$z6d>e ԫӧf (ޏNfǝdw 8liYK[w"S;ӆ]dTtIJnӳoGԼ:s 1ۙm%p|p4M>:FzxK!R&hhn a4M>:$ˆ(WXBiК|t& BS n447l|t&H tO22ZUӳoGԼ:s 1ۙm%prGRF>#3+*֮*G |nL72SunFmt{.OʵIB_(לnWk.-FCks㭴߾r# "xe+]#*]+ӧf (ޏOyu; b]! M>:O4oGԼ:(Jarm&퀠OJ^^ bu|t& BiК %06CCvP Bi)$I!(ޏOyu^;0YFzxK,yum̶89{#)aS>sPHSZ5{]sunFmt{.Oٵ|["HVmx`Z﵈ ڑ{.Z螺\Ο]I = )$7WA ق7^wiyuQb]! M>:O4oGԼ:(Jarm&퀠OJ^^ bu|t& BiК %06CCvP Bi)$I3;.ZUӳoGԼ:ds-ĻN^X$:¥@뚅uER]t{.R2O;m>#QNHkxe(I$7WA ق7^wiyum̶8>^ `BiК|t& z=<~q֐BS n447l|t&Rxe+C4M>:OT)ɷXM>:OI$޺MƙFzxK*ق7^wiyum̶89{#)`>sPHSZC:O4oGԼ:(Jarm&퀠OJ^^ bu|t& BiК %06CCvP Bi)$I!(ޏOyu^;0YFzxK'2:|hۙm%prGR\,ѷ5 $5/@\2tO?jFVwaR u΀@&q$VḶͧ|,ʧ{77ZpĒERzte/;σc2یKz<2 BiК|t&ZB L.MݰiК|tIK! P4M>:AR&hhn a4M>:%$z6d>e/;ӧf (ޏOyuv|Ϸ b]/dye,gc`njIJkWTK.uNC[L:9R2M= ey$Tnm%:]6_km]x5 Htrd};ݶS}ʍs-ĻNC.!К|t& BhޏOyu*PۀM @,& Dp M>:O4(Jarm&퀠ORIwiCQ?RJ:v`Zf8kneiYKPw`njIJkWT 2AR&*CMm?+]uF]'}CnLQ&ǜ|hyZpNHu~IEh*PۂI"MB:v`Z|n|s;f>s-ĻNC.!К|t& BhޏOyu*PۀM>:XM>:O)yz<2!К|t& Bh*PۀM>:XM>:OI$޺MƙFzxK*ق7^wiѹψgm̶89{#)`Ys`njIJkWT#7ZH)ֺs{.OʵIB_(לnWk.-FCks㭴߾r# "xe+]#*]+ӧf (ޏOyu; b]! M>:O4oGԼ:(Jarm&@,& Dp M>:O4(Jarm&@,& D]&Ḷz=<~q֕zte/;r=qc2یK,NGNmB"Mj׷3ZO e>;sfֺv9l"Xfϳm?Vr@sQmk 7/jFQ ekEsϿ:|k]u$46c(*]+ӧf (ޏOyuqG:[qv/@\0C4M>:Oѽ?RHT)ɷ|t|t&Rxe+C4M>:OT)ɷ|t|t&H tO>;s3ޏOyu^;0YFzxK/;J82یK,N*QWY$U)]P5G2#+]t;Hc:N $V/@\2tHSutN,z=<~q֗Yn1.Ӄˆ|t& BiК7^wi %06OOJ^^ bu|t& BiК %06OORIwiCQ?RJ:v`Z^wf>s-ĻN^X$:+*֮m+]t)9"iu^ ez6ek(waR uΟt=cx:k|6e>;cxHSutN,z=<~q֓p>4m̶8>^ `BiК|t& z=<~q֐BS n4 a4M>:$ˆ(WXBiК|t& BS n4 a4M>:%$z6d>e/;ӧf (ޏOyu\Os-ĻN^Xˀ6]dTu@]eˆQ׮iGH]N*Q=$?)r󏅝qTfF]t{.HSutN,z=<~q֙{>3|6[qv/@\0C4M>:Oѽ?RHT)ɷ|t|t&Rxe+C4M>:OT)ɷ|t|t&H tO22ZUӳoGԼ:;>gxYn1.Ӄ< }C5 $5 tC:!^-JZO ey$Tnm%:]6_km]x5 Htrd};ݶS}ʍs-ĻNC.!К|t& BhޏOyu*PۀM>:XM>:O)yz<2!К|t& Bh*PۀM>:XM>:OI$޺MƙFzxK*ق7^wi; b]/dye,@`Iu WY$U)]P$]J\p 6ٴuswwE 2QFК\kq ekxe+]9 9=Y$S%n{mBS n5-u{钊7=] @.u#)s$= kft! 5J\p2LQ(jsk|6 0ˆQ׮keCn(smJ7CCjQERztem%p|%=蒗D!)$I!(ޏLoRN,z=1K~-ĻN^X>pPHSZHSutN,z=;awKn1.Ӄ,~'f<0AxH͛8IK"Xz6Nxbu|G I$޺MƙFzv5*ق7Ӷmx)89{#)`kcJg}PHSZ>Xz7GxbI"MB:v`j[lyJg}-ĻNDlbza9#6o%//@c 1 f%$z6d>e ԫӧf (ޏNfǝdwیK,;)B"Mj^ֺcbĒERzteb~ f[qv/@,y CRMcRǟ]b,yRIwinfv]b~ WNQ!7j{ \vaiYKxT+*֮aǘ]7ŏ?Œ{Q3G+tvR6mE s@RIJnӳoG#b]"oߡR7ju|tJI .m>4|7WNQxNw[qv唰k}IJkWTו>oߡ#+\t$T!^;0YFzFߎ$#Ѹm%p|'#ﯔA-oG# mD'#ﯔA-P4JI .m>4|76q*ق76q'G5vKn1.Ӄ<NG4)#T+*֮*]+ӧf (ޏOyu; b]"r>篼oG |;xXD}_x]b7o H tO22ZUӳoGԼ:Yn1.Ӄ<9 ;C5 $5>exJ#GGdukHMRmk:k:$Q= ůguk9}c(*]+ӧf (ޏOyuqG:[qv/@A5HabJ^^=}ul,JI .m>4ˣz=<~q֕zte/;:(\n1.Ӄ< ;G:]dTuC/rVx]A#(dukI$U)WNQ?RKneiC_o6$9s(WX Ĥ]&Ḷz=<~q֕zte/;:|6[qv唰Iu WY$U)]P/+]t|}_yFNGV$u!6%۝v\(׳:YuH1۞SƦk]9 9$7WA ق7^wi=Fn1.Ӄ9s7҆ l,IK"r>篼P㷍I$޺MƙFzxK*ق7^wi=Fn1.Ӄ<<2gƍWY$U)]P5YzNGu~Q{R2@ qt4=c"d>em篼oG |;xXD}_x]b7o H tO22ZUӳoGԼ:;>gxYn1.Ӄ< }C5 $5>exJ#]t|}_yFNGV$u!6s־#E9s|Z}|GVu>*]+ӧf (ޏL篼PD}_x%$3~u|ioG#N,z=0 ͳn1.Ӄ<076PHSZZ ͳUS$X9s(S$]Ey@뎤*]+ӧf (ޏN[59lBoیKzNG4AxH͛8&rFlJ^^= P6o|G I$ ߯ez6d>eb~^;0YFzr؄ߡb~b]/dye,e CT+*֮eW!7m9sԒERzte~8#zM[qv/@¡釈C )yzNG4]b]&Ḷz=#oN,z=#o|}C[xɼn1.Ӄ<NG4 xɼ+*֮m= )|!Cnm!]= )4ERzteb~48>^ k oG-M!{ aJ^^ k PB`D]&Ḷz=9lBoԫӧf (ޏN[5/m_iYK $5{~Sqh2@lXjI"MB:v`> g\t8>^t.aםrCD>:$B y$5B>:%$z6|vgeѽ*ق7Ӏ'7qیK,߶uT+*֮z0kι!knu#+-rMѹCg\vUa6IJnӳoG |8^e-ĻN<az!%//Ax,2B>:%$z6d>eC_ӧf (ޏJ'qy6[qv唱8X5X6]dTu@ns{o(${^u(H2TB$7WA ق7҆ ם`Leiǂ3/D>:$3f^WXD]&Ḷz=(kzteC_ΰ&QیK,^u WNQ,cl%iYK cl*IJkWTy!LF6|ON@$:M^l)xߗR?^sq$T!^;0YFzfsӗ4ni-b]e ޏLzr :[c54oGg=9sFe-e$2P:[c54 oײtO22.hүN,z=39˚74ΖjKn1.Ӄ< 3P]dTtIJnӳoG7vN cl%i`/4.hz=07pywT+@͛8JI .m>4|7ԫӧf (ޏLoRМ(ٯKn1.Ӄ<OPTfQPHSZ:m)ֺU;y5(HJB $Api$U*X  $Ap(*A a$U*XT=``8( ERAP9$R!ם,wMbMmldBy{5$*]+ӧf (ޏLoRF6|[qv/AB@7|GѽxH͛8IKeм"r>硪 fC6o)$I!(ޏLoRN,z=1J%5m%prGR@0(ٯT+*֮eVuSzGG5$T!^;0YFzxK_!ŷix')BD^< aj l H tO22zte-b]/dye, PHSZZ< atd8ERzte&Oeix')BD^< aj l H tO22zte&OeiYKOjIJkWT2+]u;ǁZI"MB:v`[qv/AR!]bH tO22zte;a|89{#)` ,WY$U)]PܭuP8mΤeNC\ͯ;$7WA ق7w$k6 n1.ӃxXD PI$޺MƙFzNӧf (ޏI\c-ĻN^X kcPHSZeWǝC,x]?+]uc^-Y$R>]?*;6`<+eZE $7WA ق7w$k6 n1.ӃxXBi%//F3+C4蔒@]|ioGJ:v`Ͷ<یK,< $5^8z8 ly=ˬgX}>H!a5eE>;ctOmCCh!>E|GV@3;I펹>] u<s[qkH!i$7WA ق7q b]ь"X|!К|tIKь"X|]b D]&Ḷz=<~^;0YFzxN2rیK,d6]dTuC9B[*]aǘm,~Q>5c$qRIJnӳoG'(@-ĻN9BDDA?RI%//F2rcu$蔒@]|ioGԫӧf (ޏONP6[qv唱#+*֮c'(C+eZ>m4=ƵLsd>QI"MB:v`> o-ĻN-pCJ^^J- 蔒@]|ioGJ:v`> o-ĻN^XWY$U)]Pܭu[%H?)nU1G I$U)WNQ5K~m%p|l[ReQn(WXD]&Ḷz=(kzteC_b]/dye, +*֮eV-rek߷[*]aǘm#*]+ӧf (ޏL4|7Ӗ& J:v` CS'sl-ĻN^XbgdruER/.ە~T[#CMjI"MB:v`g[qv/F]D%J^^ju8JI .m>4|7҆ WNQ5L[#n1.Ӄ< lPHSZZ묻mH?*~-sNuzt."6 Dr2M]$T!^;0YFzr؄ߡbGb]їm Dp.ڡ]b!(H tO22 CRN,z=9lBo [#n1.Ӄ<2؄]dTu@˶k?mHc:VG{mHƵCƔ6 DueT)m$T!^;0YFzxKl `n1.Ӄ˅mN0A?R`8lpm)p(WX[d%$z6d>e*ق7X`8lNH[qv唰[dg$PHSZZ!9v fil)sNHIZ>m: I$U)WNQ?S7-ĻN.|D>:$˅_( 蔒@]|ioGԫӧf (ޏO Hb]/dye,a#n:]dTuC/rYpk\ͦHʨ+]uc|E$T!^;0YFzxNfG(t8>^[5)yz2l#7T+CRIwiCQ?RN,z=<~l3Y#n:[qv唰mhT>QuER ]eٯk7hN d>Ql"X}>GRIJnӳoGIl뎖b]юC5IKюB>:XOD]&O7Ӏ%^;0YFzp;?ۛθm%prGRvћθuER Gnu@ BIJnӳoG#;2Oim%p|OD釈ƛlК|t&Ҟ)yz1ҞWXXmO:S)$죯]&Ḷz=0ِjUӳoG#;2Oim%prGR PHSZZ||[ad>QH]aǘmyφEHiͭkc}Ҟ>ZI"MB:v`rgfB٩1b]юAxH,i tJ^^t 4f:S)$I!(ޏL^ҞԣX}>RmRIJnӳoGԝqAgb]юhz=<~.Jz4IKюju 1Ҟ H tO22zte'\P~ŷiYK 9B"Mj(ek6q@c=bLmu!6dukG\P휒HSutN,z=#oeBvM[qv/F:S5&z=07p)yEB پ#]&Ḷz=#oN,z=#oeBvM[qv唰EBvd~jIJkWTy!L&?׬tMѺ͛:]^NIJnӳoGl3R߶dw 8lic= u ޏL4|7ӶWNQK~ْp4ᲆb]/dye, F6P $5{u՛7v$*]+ӧf (ޏNflLpC n1.ӃJz`oG#3f@,IKюḡ]bl(I$޺MƙFzv5*ق7Ӷo2S;6PیK,"S;ӆ]dTuC/rҞsxmf$7WA ق7d>d%s-ĻN:7<oG#Fza9 4%//Fe釈ӧf (ޏLQ-ĻN؃z=<~ 8DIKяmBu(I$޺MƙFzxJ:v`>Q-ĻN^X\quER u< ~R&:㏔T)m4fʵX}>X&IJnӳoGپ#eicoGԁu()yz1MWX3θ)$I!(ޏOWNQ?S;fb]/dye,lе $5{ǁ7R2ʝ|GBeG}c]ucםq)$7WA ق7҆ Fٲm%p|&>:$ǁ6]bH tO22UӳoG |e2یK,fjIJkWT2+]uneke4ERzte,7-ĻN؇Bi%//F< M>:%$z6d>e*ق7Y#n:[qv唰|q $5^< s#n;Y*};{uԦInB&+ŴI[;T)m$T!^;0YFzxK^u(b]яlC4蒗څu|t&H tO22zte-y|[qv唰3θ $5{Zxu#+\2Mu(S$]Hi͢Hkc}m:9ڒHSutN,z=<~v -ĻN؇Bi%//F< M>:%$z6d>e*ق7glвیK,-:]dTuC/rX&FVSo]l]uc=WiԒERzteC_/= KϸKn1.Ӄǁ6"%//F<  Dp@]|ioG |ӧf (ޏJ$ y^}f[qv唰yxT+*֮eVG;̶< izI"MB:v`.h3`:͔Kn1.Ӄ0zL4AA``:ٲh$u#e0  נ͔DoײtO22.hүN,z=39˚743e0یK,#$u#e0 $5{Z묓״gfadushuVII$U)WNQާ.hL^b]ђ`:ٲhz=1H0z 8;6S Rdvl]bIIٲh@Q׮iCQޥ^;0YFzczs0z[qv唱4nc$uuER ]ed|,|FvlFJu$ERzterL^b]ђ`:qvl ޏLoR2L^N>͔D&A'Gfa d|)I$ ߯ez6d>eUӳoG70z[qv唱`:B"Mj^kvL^>u~Q;6S %:]EsσI"MB:v`9&Kn1.Ӄ1e(_M>:$5 6RRIwiCQޥ^;0YFzczץiYK&T+*֮6)6Ce 8({ծ1ڃ:Z$T!^;0YFzcz0z[qv/FHHhD kι!!)$I!(ޏLoRN,z=1K~d-ĻN^X>p0z]dTt  8,h{ծ1םrCBi$?-q$T!^;0YFzczs0z[qv/FHHhD kι!!)$I!(ޏLoRN,z=1N\ѹ-ĻN^X˚71`:B"Mj6)6CeA!`pX]uc:䆄IG>~[%I"MB:v`9&Kn1.Ӄ^u 蒗$ y$5B>:%$z6d>eUӳoG70z[qv唱`:B"Mj6)6CeA!`pX]uc:䆄IG>~[%I"MB:v`q ם`Leif1XBiК|t&Rf1Zu|t& Bi)$I!(ޏJ%^;0YFzP8ΰ&QیK,y:Q $5{o ;k:/=|GTЅ*]+ӧf (ޏJ'qy6[qv/Fo>:$ߚu|tJI .m>4|7҆ WNQ5Ne*ق7X`8ln1.Ӄ<`8l(vPHSZZ1u eqBul]ue~I"MB:v`@ِs-ĻN6lphDcT+CRIwiCQ5HүN,z=(k%祶d>n1.Ӄ<!]dTuC/rL(lV`͝vjI"MB:v`> >v7qیKz3fM釈پ#|G(WXBhf%$z6|vgeѽ*ق7Ӏ$v߶uKn1.Ӄ<N߶uT+*֮ez?ϝ{sz^7u#*]+ӧf (ޏO<^|/Kn1.Ӄ@hz= یK,O>IJkWT2+\y&VjRIJnӳoG-MdیKz076b CR m_#IKсpHPu1>ĤoײtO22 CRN,z=9lBoԽ~$}b]/dye,ێCF2GڅuER ]`nmLHI$U)WNQާ$um%p|@k 6R)yz a<]bP)$I!(ޏLoRN,z=1NIیK,תIJkWT  hPX @PІ8X +tqRIJnӳoGl3R6w۟L8>^l3D ԅ;ϳn`ĔfWXym?@]|ioGl3RN,z=;a~eiYK| ۟MB"Mj^ר 2Sg_$7WA ق7Ӷ;[qv/A rFlJ^^l3T+@͛8JI .m>4|7ӶWNQH?ne2یK,Ӿ즡]dTuC/kl}mmf[*u$T!^;0YFzxL8ہm%p|f7|G )yz P6o)$I!(ޏOWNQ?S6[qv唰WpPHSZ${ 2Ss+eZ>mI$U)WNQ?S7-ĻN za9#6o%//A f%$z6d>e*ق7v58F㥷iYKfHWY$U)]Pܭufֻ?(\vCCk\HͦHʆkc}5$T!^;0YFzP,̶8>^^u7҆ }%//A:+@I$޺MƙFzP*ق7҆ gžeiYK B"Mj^kqo2qםt=]z7}ERzte||;no:㥷iC4oGH5Xםj!КH tO>;s3ޏNzte||;no:㥷iYK'gFo:IJkWT2νʽ| yH!i$7WA ق7Ӏ%l8>^^u8IKkε  Dp@]|ioGJ:v`> o-ĻN^XWY$U)]Pt>#τEZB (*]+ӧf (ޏJ%l8>^^u8IKkε  Dp@]|ioG |N,z=(kیK,څuER ?)nU;>wulyP8mΤeAl[I.0 &(M P-PjI"MB:v`> םeiD%J^^^uWXJ#]&Ḷz=8UӳoGN-ĻN^X5ZuER @םt>#τEZB (*]+ӧf (ޏJ$ y^}f[qv/A:BQ$5Zu8JI .m>4|7҆ ^zUӳoG |/> -ĻN^X WNQ':[qv唰"vf:]dTuC/k|۝lѽ םy-$T!^;0YFzP,̶8>^^u4|7ӶWNQK~ْKn1.Ӄ<`LIJkWT2+]u: n]t |FV@oRmRIJnӳoGԵ[qv/AXz=07p-B پ#]&Ḷz=<~^;0YFzxK_!ŷiYK?C+*֮eV_?CIJnӳoGԙ>ub]k ޏL4ˣz=8UӳoGIl뎖b]/dye,ml뎨WY$U)]P:^<] .ʽ`8 P`P "^iGpttt|5eŴ_E| h͝IJnӳoGo -ĻN"/LY;:RE 'g\uB>:%$z6|vgeѽ?RN,z=<~3xYm%prGR5 6]dTuC/rHEH!tvuhN]CMjI"MB:v`d -ĻN"/LY;:RE 'g\uB>:%$z6d>e*ق7q 7̶89{#)c9B|+*֮eVidђk HSutN,z=<~ѸO7-ĻN eD f)yzo[5B-:%$z6d>e6RN,z=<~ѸO7-ĻN^Xq $5{|GBv|.:uםlmENi(ʵʴn:HSutN,z=1Jl[qv/@@0 ޏLoR7|GѽxH͛8& z=07pM釈پ#RuPM پ#hfO͛8&lRIwiCQޥ^;0YFzcz' 9-̶89{#)`  pl.jIJkWT2+]tc ʑS$X)m ukeZ$|Z}>^$*]+ӧf (ޏLoR[qv/@@03g| \)7Ԁ`(fŰ;6S RC6w-ٲjuP͝7asvl%$3~u|ioG7WNQޥ 89{#)`  PHSZ^5>g S$Xl[ #e0 dkI$U)WNQޥ mD8>^^)BDa]Pe(_@]|ioG7WNQޥ mD89{#)`  cl*IJkWT2+]tR2JdkC,+׊6F>ڑ~Q$R&@0(ٯT)mU1G I$U)WNQ?Sjl,8>^,CJ^^-B>:%$z6|vgeѽ?RN,z=<~3xYm%prGR5 6]dTuC/rLBs#Ԍuif񰺐mHSutN,z=<~9B|n1.Ӄ B>:$ B+CRIwiCQ?RN,z=<~9B|n1.Ӄ<1 7B"Mj^kBFVXuuly>ZI"MB:v`I= e2یKz|za9 4IKWXXm%$z6|vgeѽWNQ>r>硶[qv唰"r>硠ve5 $5{B%:cGX]Hiͭw~Vʆ[_ԒERzte~8#zm~xz[qv/@O ޏL^,AxH͛8&rAcMh' P6o6٢RIwiCQWNQ2;m&S-ĻN^X";^2o?e5 $5Iu4|7UӳoG'(@om%prGR2rWY$U)]Pܭu>^T$\dP4ERzte#e6db];!%//@Hzu|tJI .m>4|7UӳoGԍs [qv唰SmdWY$U)]Pܭu7={<(w>ޏ2G(wIJnӳoGԳͰCKn1.Ӄ 蒗$w=B>:%$z6d>e*ق7Yp!iYK h+ PHSZZnzxP} wd>Q$*]+ӧf (ޏO2$48>^)yzGs+CRIwiCQ?RN,z=<~H|8lیK,!!$5B"Mj^kC6}i8F㸒HSutN,z=<~tp!i|tIK;]bH tO22zte#Æ -ĻN^X CT+*֮eV;CoGƙ#n;uly>ZI"MB:v`Hb]xX/IKxZu)BD]&Ḷz=<~^;0YFzxK$qKn1.Ӄ<#n:]dTuC!R9s#n;M-|GTZ|:DJdkLmi$7WA ق7{MC7b]xX!蒗%)B:]bH tO>;s3ޏOWNQ?Sjl,89{#)`Vo PHSZZ\GkFVO_(Ÿe:HPau!5$T!^;0YFzxN2rb]xX!蒗%)B:]bH tO22zte8v唱jIJkWT2+]tauΒڑ~V2r(oI"MB:v`j[̔ 08>^597釈پ#P Rḡ]bl(I$޺MƙFzv5*ق7Ӷo2S;6PیK,"S;ӆ]dTuC/r݃k6oI$U)WNQ?R:|=[qv/@rm7B LIK`\j *PĤ]&Ḷz=<~^;0YFzxHam%prGR,{1B"Mj^kmԌsO)fʼ6CoGƉ">{̦J;aL!9v(Ju]Fly% M$T!^;0YFzP-ei!%//@~j!)$I!(ޏJ%^;0YFzP-eiYK} $5{ :~S~lmֺ WNQ:89{#)`םjIJkWT2+]t~u#+\Pۭuly>]2I$U)WNQKm;LpC n1.Ӄx;IK yI$޺MƙFzv5*ق7Ӷmx)N(am%prGRǝ04ᲆ(WY$U)]ERzte Է)N(am%p|yFl ޏL4|7UӳoG7-ĻN^XWY$U)]P52u>-{>Vk9m6|h{5n;DRc$7WA ق7m= n:[qv`F@4((WZI f{)7|ioG7J:v`F|OCmb]/dye,:7PHSZk3hatsJ9:HSutN,z=<~Ѹm%p|s4@yWX)$I!(ޏOWNQ?Sht89{#)`tn:]dTuANek9m6I"MB:v`ώm%p|sUR3AVfWXD]&Ḷz='}rUӳoGH׎|v\n1.Ӄ<:%$z6d>e;뒯N,z='}rFs:[qv唰1sPHSZeW1s]#kD*]+ӧf (ޏNflL亮i`X0R`X0]i$|CQJ:v`j[̔[qv唰7Jg}PHSZG7hNҞhl.8*]+ӧf (ޏLZI"MB:v`rqҞb]OD釈پ#B پ#٠͔NFza9*ق7Jz[qv唱B"Mjꂥ٠1ҞԆl|_xmkB:S! IKJz7+@@]|ioGԫӧf (ޏO:2یK,P+*֮"-W\P:HqBҞ ?(7Ή"wI$U)WNQxHݲیKO@O IKJz| %$z6d>e釈ӧf (ޏL4|7WNQxIیK,!/IJkWT Bq]#Ԍs^ҞЁϚzJz%$T!^;0YFza9/m%p|t' $=>ZuH tO22rUӳoG#펹b]/dye,5 $5^8kBFV@펹$T!^;0YFza90Gb]Jz|J^:SWX)$I!(ޏLe釈ӧf (ޏLmp۝|JdkJzLmi$7WA ق7Jz[qv) B )xO@O]b]&Ḷz=0zte釈=-ĻN^XJz]dTu@'u>]H?(c=)I"MB:v`Hb]Hx%/! JI .m>4|7UӳoGԲG(t89{#)aR8FIJkWTIJnӳoGԵ[qv!tWX)$I!(ޏOWNQ?RHqm%prGR $5]5HSutN,z=<~{-ĻNJ^:C+@@]|ioGԫӧf (ޏOCn1.Ӄ<ϋd=B"Mj:CCkŴ6ol]tdI$U)WNQ?R|qیK6R)xPe(_@]|ioGԫӧf (ޏOd>Qm%prGR¤qT+*֮*]+ӧf (ޏO>Gy n1.ӃQM>:OI$޺MƙFzxJ:v`zq@89{#)`D@ IJkWT1>G}qBֺ0&hcNlƥ7|i8F$7WA ق7Yp!i ޏO w707|G )xPRC6o)$I!(ޏOWNQ?R6Æ -ĻN^XWA\6HjuER Ud>Qkml\p!=]Q$Vlyҙ&ε dk 1Jdkh+ 7PIERzte υ%-ĻN4oG7P4P  H tO>;s3ޏO<^^;0YFzykGLBshm#m~Cƀ@0HSutN,z= J;a[qv唰)*Q $5X= }u~\Sy_cu]5Hůgm uҙ&М)m uRIJnӳoG|/S>i3~ rFlJ^:Co1B پ#]&Ḷz=6Ok"PŲRI"MB:v`υyfb]Hx7|G )xP 3fH tO>;s3ޏO<^^;0YFzy4|7Ӗ& J:v` CSNn1.Ӄ<1 څuER/PrXHk$T!^;0YFzr؄ߡǎ'ei^7I$U)WNQ!7jq ݆2%ieb~^;0YFzr؄ߡǎ'v?_(b]/dye,cG8c,|]dTuARlfz?_(2Ž:IJnӳoG-MxBwam%pqNጳz=07p1 1~QP6o)$G6h3e:2SCQ!7jUӳoG-MxBwam%prGRM$QיZI"MB:v` CSm%pq%,cF]b٠͔NFzr؄ߡWNQ!7jqs-ĻN^XǎB"Mj(*wcFHSutN,z=9lBoF[qvcF ޏLmڏ:ŵHSutN,z='}rFsm;8>߶dwیKq7Jg}$yl)B I$J9A)ђ22jUӳoGl3S8[~ْKn1.Ӄ<1 }Dw $5 sf6 yl)ukft!ݹƌ]t3 $i$7WA ق7Ӷǜ|-lL亮i<`o ޏL߶dwیK,yl)B"Mjꂥ٠ͯCq7Jg}1ZFGۜkŤP<,aǘV6P$7WA ق7Ӷǜ|-lL亮i<`o ޏLe ԫӧf (ޏNfq%3b]/dye,c>`LIJkWT(mz󏅁"S;!]z7?^-IHSutN,z=(kyX(m%pq8X5X6!К7|G )cqkΰmB>:C6o)$G6h3e:2SCQ5J:v`q ם`LeiYK󏅃^u:Fza9#6o|t& BiК|t& Bi%,c> yWXBhfO4M>:O4M>:%$(lFJt|7҆ WNQ5N#u짝ZI"MB:v`Z^wlqei@p P8XHA@p@0 p:uoײ ƟtoGԼ:үN,z=<~q֗[%@m%prGR'q(\+*֮'κyu#6;;;'μ$PۦڒHSutN,z=<~q֗[%@m%pq@`–0PP]i$|nfv]/;ӧf (ޏOyuqG:[qv唰IuJ85 $5\2M=]IJnӳoGԙ(m%p|xe/څuO]>4|7UӳoGԙ(m%prGRWY$U)]E]t|xu#+\%I$U)WNQ5H^b]ǁ6 IKǁ6]b]&Ḷz=(kzteC_~m%prGRg $5 by^-ޡ8kX&I$U)WNQ#CvdŷiMRMWX)$I!(ޏKzte|47o|6Hinl[qv唰7l 9Zz3g| $5^8kqǁ7R2CP0˚I"MB:v`IcGs-ĻNl@mB I$޺MƙFz_$ӧf (ޏK;|4|߷2یK,; 9]dTu@'u;X&FVjsI$U)WNQ?R|qیK& )x&+@@]|ioGԫӧf (ޏOd>Qm%prGR¤qT+*֮""MB:v`Io$476w-ĻNl@mB I$޺MƙFz_$ӧf (ޏKCOCsg|یK,Zz3g| $5^8knu#(hnPv[*?)}I = 9$T!^;0YFzP-{5im%p|xbxj JI .m>4|7҆ WNQ5K^|[qv唰3ٯ|T+*֮z㕮 Ԍu>5~S^|HSutN,z=(k|vیK& )x&+@@]|ioG |N,z=(k|vیK,o6]dTu@'uP8mΤe7)sIJnӳoG-MdیK& )x&+@@]|ioG-Mzteb~7#89{#)`u1>+*֮z㕮 ԌP?)6>IJnӳoG |e2یK& )x&+@@]|ioG |N,z=(km)b]/dye,6SPHSZeV(6R2#n;ֹH6SI$U)WNQppN~YD88uQ ~2" rFlJXuQ ~2* f%$(lFJt|73sJ:v`.hӀsu2%iYK^!oþpYEB"MjꂧnFuQ ~25a~6ynfI$U)WNQppc-2HE?_(b]^ <$"8c,| ޏLxJ#<  Dp@]|ioGJ:v`I\ۙm%prGRd 2m_mB"Mj}1}sĒERzte|47o|5= ͝n1.Ӄ9爄8IKsPG I$޺MƙFz_$ӧf (ޏK䑡~sᯉnl[qv唰7l 9LOCFl]dTuC?)LmqPI#)= '#\6g|ERzte|yφneiBQ$9WXJ#]&Ḷz=/UӳoGK>;b]/dye,)`Yφ/]dTuC>>͹I"MB:v`@:'qm%p|<G )xy")$I!(ޏJ$ yWNQ5H[76w-ĻN^XSh&'6wPHSZ矕csCCve>'$7WA ق7$88>xJ#<  Dp@]|ioGJ:v`I176w-ĻN^X!LOCFl]dTuC?*HŴ<۔IS$] ʑ߾u$SzYrI"MB:v`I1ۛz;b]s Dp瞡]b!(H tO22IWNQ&>s|OCsg|یK, bz3g| $5yRF^-ܥ2MB&hnTduk"͝IJnӳoGI}2یKy!(R+D%RIwiCQ*ق7$nsۙm%prGRsPHSZLwf$T!^;0YFzP KKd>88>xJ#<  Dp@]|ioG |ӧf (ޏJ$ y|Lۛz;b]/dye,! h͝+*֮`9aǘmEFPݼHE8e*]+ӧf (ޏK76w-ĻN"%/=BBQ%$z6d>e|N,z=/_889{#)`9B"Mj~T׋iy)LmqPI#)}9ZE>';$*]+ӧf (ޏK>7s|OCsg|یKy!(R+D%RIwiCQ*ق7&889{#)`ts4fIJkWT0μ[M~3͹Jdk2MݼM]E>';$*]+ӧf (ޏK>7sn1.Ӄ9爄8IKsPG I$޺MƙFz_$ӧf (ޏK>7sn1.Ӄ< |l@0e+*֮`9ٷxJ#<  Dp@]|ioGJ:v`In1.Ӄ< ۚuER xJ#<  Dp@]|ioGJ:v`I͛:ws-ĻN^X͛8}5 $5yymIJnӳoG |/== ͝n1.Ӄ9爄8IKsPG I$޺MƙFzP KJ:v`@%'qm%prGRbz3g| $5yX}>Q@:47o)u;@ * I$U)WNQ-یKy0n|tIKsvB>:%$z6|vgeѽ*ق7%{z[qv唰7 juER < ҙ&Lmt47o*FSzHSutN,z=/['qm%p|<7o>:$9x]bH tO22IWNQ-889{#)`oћ;(WY$U)]Psʰ̀m)m*6CCve>'ֺuE>';$*]+ӧf (ޏK 6ٯnl[qv< )xy0n(WXD]&Ḷz=/UӳoGLl76w-ĻN^X,i4fIJkWT0M #xBy`9mI$U)WNQ3leYm%p|<7o>:$9x]bH tO22IWNQ3leYm%prGR-V2WY$U)]Psʰ̀m)m*6CCve>'$7WA ق7'6w/nei2#)BD H; l H tO22IWNQ9vqxs-ĻN^X͝\^+*֮"׷3\Sk]u\^v d:㸒HSutN,z=/sg|:&[qv!7*Gq6R)yaR8u)BD]&Ḷz=/UӳoGNl\^n1.Ӄ<3g|l75 $5H5:2]l7:C&&hl.#$*]+ӧf (ޏLFP0z 8$*]+ӧf (ޏLoS`:880z ޏLoR JX0z]b1|tJI *Q͚ NoG7WNQާ$um%prGRI $5H;VIm2Qruly$TP8mξֺSGzHSutN,z=1NIیK$uz=1H0z 8 )c$uu&A')$G6h3e:2SCQޥ^;0YFzczץiYK&T+*֮*wiQm2L^s}>I2L^N> $7WA ق7-ĻN2L^7|GJX0z]bl4蔒@T4)!(ޏLoRN,z=1NIیK,תIJkWDAS6wά׵df?keZ>m=Hp۝J5:NjI"MB:v`9&Kn1.Ӄע rFl4M ~"JX0z]bl4M ~"RIRlftdḶz=1J:v`9&Kn1.Ӄ<2L^WY$U)]PTz͝$ux(ٹOV:FzczLo@l0&RI 3f Bh+[; D٠͔NFzczzterL^b]/dye,dPHSZ$ Y&kŴF6~ʵX}>SNmJ$Z>mۣ=I$U)WNQާ$u2%iI8c,| IK&@ጳuH sf6S%:d>eUӳoG70{am%prGRI8c,|]dTuARlfz2Mɒ1~QPIuFTQיZI"MB:v`9&l1~Q-ĻN2L^gza9#6o%,d2* f%$(lFJt|7ԫӧf (ޏLoS`:gیK,נpYEB"Mjꂥ٠Jdk'-%8c,|Lmt=]Eaǘm6uq֒HSutN,z=1NIל| n1.Ӄנ%,d|+@@T4)!(ޏLoRN,z=1NIל| n1.Ӄ<2L^N> IJkWDT!^;0YFzfsӗ4ni0{& YD880z2؄ߡpYDAxH͛8IK&F[4?_(WX7p@T4)!(ޏLzr*ق73sNIܶ!7m2%iYK&F[4?_(WY$U)]PTgKn1~QVeN\ѹ^;0YFzfsӗ4ni0{& YD89{#)c$ub~g $5 mՆ24=]aǘmf^-uEXc,|X}>ڒHSutN,z=<~q֗\m%pq8 )ca`p ]i$|nfv]/;ӧf (ޏOyuq!sF[qv唰IuuERwG2hN>=^G_(Ԍu㬒+6HSutN,z=(kFmKn1.Ӄ䐛,䐛-BI'l.d>eC_ӧf (ޏJ&Ѹ솛lیK,Ѹ,iPHSZ$7WA ق7FmÆ -ĻN0hP@R>oat!(ޏOWNQ?R6Sm6Him%prGRiM0W ]dTu@]dT8ld>-R2(|nbRIJnӳoGԎ7d>b]  R@4(WZI f{)7|ioGԫӧf (ޏO7oG6}-ĻN^XqRl㸡]dTu@BZH] 쎩Oܦ ;4ˎIML I$U)WNQ?R:oh9l[qv`,@0 0R@4֒H^Gl.d>e*ق7GM2Q͟|w n1.Ӄ<fpT>(WY$U)]Pֺ8FCe#$9LsOܦ ;$7WA ق7GM2Q͟|w n1.Ӄh`8iK  q I$ ߯e#6O22zte#(Ͼ;iYK{@n8*Q͟|w+*֮Ck]t|qZ롲ݑf%8FS)kI"MB:v`rX>͹b]BP` @(X8Abuoײ ƙFza9*ق7c6[qv唰ymB"Mj*]+ӧf (ޏNgیK8(?_(RpP1~QPRIRlftdḶz=8UӳoGNam%prGRpP1~QPHSZG6h3kƆpP1~Q%mІl(B40o$mІl(BFL*MmІl$7WA ق7Ӏ'YD88 2" rFlJX 2* f%$(lFJt|7Ӏ%^;0YFzp>?_(b]/dye,`g $5 sf6h`guz@3~6CrDQB7aRml΄7+e@I$U)WNQ82%ipP1~QoG#3f z=07p0ጳu|G͛8JI *Q͚ NoGJ:v`> |,1~Q-ĻN^X 2*IJkWT(mx 24=;(׋h` ߶9$R7aRml΄7+e@I$U)WNQ82%ipP1~QoG#3f z=07pM>:$8c,|]bl43f D٠͔NFzpӧf (ޏNgیK,8c,|]dTuARlfף@&ly 25DIIJnӳoGN?/یK8($9B I$J9A)ђ22> WNQ88#n1.Ӄ<0/ $5 sf6h`7_=NJ43 TPh` ߶I3 TP+ŴŲTt3 PRIJnӳoGN?/یK8(oG#3fRpPy]blRIRlftdḶz=8UӳoGN?/یK,9B"Mjꂥ٠ͯ@ u~NJ  nft!["HWie06gB*]+ӧf (ޏN_ŷipPy ޏLmq|G$*]+ӧf (ޏLgxYn1.ӃC ^M1BI'l.d>e/;ӧf (ޏOyuv|Ϸ b]/dye,gc`njIJkWDT!^;0YFzxK3}gm̶8>M9Rl I$7|ioGԼ:үN,z=<~q֙{>3|6[qv唰eg WY$U)]ERzte/;σc2یK6NC9 I$7|ioGԼ:үN,z=<~q֙{>3|6[qv唰eg WY$U)]ERzte/;σc2یK63ۮ)y63ۮP@  ƙFzxK*ق7^wi<,neiYKY{>xX!ۚuER$U)WNQ5No`888Ro`9B I$J9A)ђ22UӳoG |-ĻN^X(WY$U)]ERzte釈H}rm%pqs21JXѹ ruH sf6S%:d>e釈ӧf (ޏLe釈ӧf (ޏLoR|B I$޺MƙFzy*ق7> یK,O>IJkWT m u~\Sy_cuL$?+|/k]mf?r2؆QI$U)WNQxNw[qv7D )yz]b]&Ḷz=0zte釈}iYKwڡ]dTuA] sӾPՆ[ ֺz>KxP_cHxC+]tI dk]&ԌsӾԒERzte釈}s-ĻN0K@ Ph$(0XphA BI7HḶz=0zte釈}s-ĻN^XS6]dTtIJnӳoGԼ:{.ƍb] >4k8@|hruH tO22ZUӳoGԼ:{.ƍb]/dye,xeύsPHSZeм] Ynu=/XukxeIJnӳoGԼ:c;k$ei|5z=<~q֐IuJ81%/7@ɨ3_(WXIuJ81)$I!(ޏOyu^;0YFzxK&>s:HM[qv唰C;h$:I +*֮ x$:¥@l]uԌJ8;sm>$MNyu׋imۀmf6na#+]dO;oZέu$:¥@>;s3IJnӳoG#7qm%p|=~AxH͛8IKg+@͛8JI .m>4|7WNQxNlŷiYK|G(WY$U)]P6rek7ufP]uc|dž$*]+ӧf (ޏL:$3 fOI$޺MƙFza9*ق7͛889{#)c6o $5nS̭sf=ukc}ĒERzteb~:?Pb]e/7WZI Ḷz=9lBoԫӧf (ޏN[5889{#)c:?PWY$U)]E!9v~H?+:?PԆlԒERzte釈̅Rts-ĻN0BXh P@R>oat!(ޏL^-u2;pʔ "T6s*]+ӧf (ޏOyu\Os-ĻN $C+@@]|ioGԼ:үN,z=<~q֓p>4m̶89{#)`C.|hۚuER@0*|;-46^ߨ`)$7WA ق7N2یKP, l R~XAB ~"RIwiCQ?RN,z=<~kϰs-ĻN^X]>uB"Mjꂼ>WjwN9Z롯˧ŐC,R2DYPʑ :Zu[hhmku}I"MB:v`>u̶8>o0M ~"J^o0PJ%$z6d>e*ق7N2یK,_\+*֮+Cxz㕮|Y1#+]tI ^=]aǘm=yֻyElZm`:HSutN,z= یK,O>IJkWT m u~\Sy_cuL$?+|/k]mf~Xe |HSutN,z=WNQyOA n1.Ӄ<ATzuER |8k:5A礒*]+ӧf (ޏLre^SZk}:r@ERzte釈}idxz=0k!l,IK͑  H tO22rUӳoG#b]/dye,juER%6^V];fbI$U)WNQ5H488h,X0P@R>oat!(ޏJ$ yWNQ5H489{#)`نWY$U)]PT>wFtFJtY#[j}I"MB:v`@% = ͝n1.Ӄp1K e I$ ߯e#6O22@zteC_/= Kϒz;b]/dye,x- = ruERHyhIdHE8e p0xHSutN,z=8[g^ie;T¾X%y%/6SH}+[qט(WX)$I3;.> WNQ-{~یK,,. $5JM9gˤ"B[mOm^cy_ "ˎ?^׋k6SY$>L`IDT!^;0YFzpνn1.Ӄw| m^cx IK͔Rs ` mێB I$޺MƟtoGJ:v`> o7{b]/dye, aw WY$U)]PWo7 >]Жh`SqטWH||rףu͔u>5 >XA$Q$U)WNQ-{~یK[-_,ێ@)2-}+@@]|iۙFzpӧf (ޏN~Y׽ym%prGRxߖ{zuERyZ~]lm3- 1 WNQ-{~یK,,. $5JM9gˠzm {n:sIϗO\qn[YֺΧƎxe ""MB:v`> o7{b]͔A¾X%y%/6Ss `u> JI .m>4ˣz=8UӳoGK~,߼89{#)`oo oB"MjҼu~.wxeЖh`SqטWH||rףu͔u>4, (*]+ӧf (ޏN~Y׽ym%p|N}+t%Kn:sJ^lx>:h%yuH tO>;s3ޏNzte|߼o:-ĻN^XxPHSZ4+]t߼o˭m|- 1XA$Q$U)WNQ9s%9~l1~Q-ĻN3g|Nh8c,| IKpT4h1~QPRIRlftdḶz=/UӳoGNlNh eKn1.Ӄ<3g|Nh8c,|]dTuAS^l) eh{T䢒HSutN,z=/sg|Js@c,|[qvfR?mpYDAxH͛8IKpT4h1~QP6o)$G6h3e:2SCQ*ق7'6wd4m2%iYKpT4h1~QPHSZۯC6w m24=;(*]+ӧf (ޏK;d b]p6@z=/A1= p3g|l75  h͝󄤒٠͔NFz_$ӧf (ޏK;d b]/dye,f/njIJkWT;y^g|/nuGkc}$͝IJnӳoGNl\^n1.Ӄ8 uMA )c6wqxsPI$J9A)ђ22IWNQ9vqxs-ĻN^X͝\^+*֮*wqxsw?/+]t9i۝f$7WA ق7͛888͛8@3fPRIRlftdḶz=0zte釈[qv唱7ruERa 3z2Mپ#)m(|_Sٷe釈ӧf (ޏL:$پ#+@ݰiК|tJI *Q͚ NoG#N,z=0پ#n1.Ӄ<3fPHSZG6h3kl})mfLmt46(sukc}+>R2!]Jg)gBLwf5HSutN,z=0پ#n1.Ӄپ# @,& Bi%,f]b퀠O4蔒@T4)!(ޏL:C6o)$G6h3e:2SCQxJ:v`rsf-ĻN^X͛9B"Mjꂥ٠ͯQI7r2Md_ծ1H@omH>#]ucymή,_$7WA ق7͛888͛8@ݰhޏL63fPILQ:X}>^sᤑR2!]aǘm1}s$rI"MB:v`rsf-ĻN3fy$پ#+CX@T4)!(ޏLe釈ӧf (ޏL';Vʧ}߾ulyl$7WA ق7Ӷ͛9ۛS-ĻN3f wf;s)7|G )c6oym?u|G I$J9A)ђ22jUӳoGl3S7sٷ7[qv唱7pS6 ۟MB"Mjꂥ٠ͯ~t= |[a#($7WA ق7Ӷ͛9ۛS-ĻN3f wf;s)7|GJX͛8)}s즡]bl4蔒@T4)!(ޏNf^;0YFzv59|G1}s~eiYK|G;ϳn`+*֮*Q͚ C߮uly>-ĒERzte yms)b]|G;ϳn`釈پ#iК|t&RlNۘ'ne5 3f BiК|tJI *Q͚ NoGl3RN,z=;aپ#>͹ne2یK,پ#ٷ0NjIJkWT(mxS#suqn57pM~I+/kkc}?_(*]+ӧf (ޏOo߳.iod:2m%p|پ#e/6oD:2uoײ ƙFzxK~sJ:v`?2C)b]/dye, !є+*֮7FS:/G& پ#4=;II;>wD*2ѽxH͛9CfHI uC)\u^Enl|띀$Q$;ˎ|BޏL-!0lrgیK6oL[a4` $"2"7p&-Z 0ng %$(lFJt|7WNQxNlϋl2Hl$"ܰYD89{#)c6oL[a4` $"2*IJkWT(nW2Mپ#1mY4p?_(S$]~*$m|($T!^;0YFza99|G>-!0lrgیK6oL[a4` $"2"Rlhh,HE eT+CRIRlftdḶz=0zte釈$B- eKn1.Ӄ<3fŶ CAfB-8c,|]dTuARlfz2Mپ#1mY4p?_(S$]E22]^59;O^ϯ]>IJnӳoG#7s #,1~Q-ĻN3fŶ CAfB-8c,| ޏL-!0lrgیK,پ#1mY4p?_(WY$U)]PT4^63fŶ CAfB-8c,|Lmt=$]aǘm6uq֒HSutN,z=/sfn1.Ӄپ#soG#3fRlWX7p@T4)!(ޏKzte|7t[qv唱7p2njIJkWT;u6>fm$T!^;0YFzxK~sNlpkیK6o fQoG#3fRl.|]blRIRlftdḶz=<~~ ^;0YFzxK~sNlpkیK,پ#\-EB"Mjꂧo+ 񰺐mL񰺑.s|GV"c}fƏ|kl3hL$7WA ق7҆ ͛;d b]|Gd 7|G )c6ol75 3fH sf6S%:d>eC_ӧf (ޏJ'6o:&[qv唱7p6@uERJ9A6o/ntdZ>mپ#IJnӳoG |7vqxs-ĻN3fqxsoG#3f z=07p3fqxsP6o|G I$J9A)ђ22UӳoG |7vqxs-ĻN^X͛8 uMB"Mjꂥ٠7ul7:2Sulyl$7WA ق7҆ ͛;d b]|Gd 7|GѽxH͛8&P%,f :&]bl43f /JI *Q͚ NoG |N,z=(kپ#@m%prGRl/njIJkWT(nWپ#d ђkc}fI$U)WNQ?Rd^یK|G3ۮoG#3fRfg\]blRIwiCQ?RN,z=<~GNمiYKJ:{7+*֮"N9Z뭖Wj>,Nuly͛8)s*]+ӧf (ޏKپ#s-ĻN3finb7pMsPRIRlftdḶz=/UӳoGNlb]/dye,f~+*֮*wl}fCul΄6+6o5 EcI$U)WNQ9|G[qvf~>:$پ#oۚu|tJI *Q͚ NoGJ:v`I͛8|߷2یK,پ#oۚuERNzپ#|߷0Cծ1|_پ# 2Im$T!^;0YFzfsӚLm2%ij@yh"HEpYDAxH͛8IK 堉!g 3fH sf6S%:d>eJ:v`5$" eKn1.Ӄ<3PAB-2*IJkWT;u6>j@yh"HEpYF]^xɼz7Y|G$*]+ӧf (ޏLzsPiB-YD88@h-I?_(7|GѽxH1~QRj@yh"HEpYEB پ#h?_(I$J9A)ђ22^;0YFzfsӚLm2%iYK 堉!g $5 C5<$"8c,|C߮Md~پ#ŵV?_(*]+ӧf (ޏO2QیK P@  ƙFzxJ:v`%-ĻN^X"Q $5HkCau#+]td$7WA ق7^wi; b]P %06 ޏOyu*PۀM/;J\pR6¥ L.M(WXBS n4(JarmJI .m>4|7^wiWNQ?RL yum̶89{#)` NmB"Mjꁖ9<* %06RmrC_(*]+ӧf (ޏL:$sfPI$޺MƙFza9*ق7͛889{#)c6o $5^8zپ#]7uH?+6oERzte釈[qv7pBi%/7ru|t&H tO22rUӳoG#7qm%prGRlIJkWT BqY|GV?+ 76oꑕ~Vl$7WA ق7w$k6 n1.Ӄv} ޏI\ǝ$v}]bg[w@]|ioGJ:v`Ͷ<یK,< $5^8z8 ly=ˤ|~Ps%#$&[C,x]? "DkxX!4q%$T!^;0YFzNxlu̶8> 7g٢ 81%/ ;ceiYK85 $5^8z8:e>]?(F@HSutN,z=(kx\[[qv`P @]i$|CQ5J:v`Yqom%prGR¼.-PHSZbJ9;FJt#(}9$T!^;0YFzpνn1.Ӄ)a0o g뀭hT$)a0o g뀭hTPRIwinfv]|N,z=8[g^iYK}~X]}IJkWT (  9T=m2P@ y@ ""MB:v`> o7{b]>Sn`6#¥%/4ˣz=8UӳoGK~,߼89{#)`oo oB"Mj9EA@82P*]MJ>ShA$Q$U)WNQ-{~یK{P`$`ن $)@qf n8)B I$޺MƟtoGJ:v`> o7{b]/dye, aw WY$U)]P'+]t@;0څpC;αϔI(@0P ;MѹmN ƶhZI"MB:v`> o7{b]>S BB@=(00!]b]&O7Ӏ%^;0YFzpνn1.Ӄ<+*֮  F!P X{mBH$$7WA ق7Ӏ%xߖuo[qv5}Ї5θA$Q$U)WNQ-{~یK{_|$;1Ŷ$)}`|_qB I$޺MƟtoGJ:v`> o7{b]/dye, aw WY$U)]PWzg !|kƟe6|_k7q$HHSutN,z=8[g^iϔHvbM:c|@=z/5_(uH tO>;s3ޏNzte|߼o:-ĻN^XxPHSZϾQ] C-ף_ t1~Q߶u@ ""MB:v`> o7{b]>S ! 92ڄ+ IK>S ! 92ڄ+]b]&O7Ӏ%^;0YFzpνn1.Ӄ<+*֮+ƽ3TyCnm>5ɖ'tVo:IDT!^;0YFzpνn1.Ӄ)}c|@=xX|_qB I$޺MƟtoGJ:v`> o7{b]/dye, aw WY$U)]PWzg !|km_(o:IDT!^;0YFzpνn1.Ӄ)J, IK>S : X?9B I$޺MƟtoGJ:v`> o7{b]/dye, aw WY$U)]P')FX{mJ$HI u (d:tt[keGHQ^Q$S$qm( tr:Q/m׃TyהdL:9_ "`;jI"MB:v`> o7{b]>S Q%/4ˣz=8UӳoGK~,߼89{#)`oo oB"Mj9Z렠X@mYhm >ϔIIJnӳoGK~,߼8> yTD>:O)x{R7=PRIwinfv]|N,z=8[g^iYK}~X]}IJkWT $ quqZ}b) (*]+ӧf (ޏN~Y׽ym%p|@=NpP81J^ yTc8(ϜwuH tO>;s3ޏNzte|߼o:-ĻN^XxPHSZNV*ST:| yR8 IK>S C6G+@@]|iۙFzFߎ%^;0YFzFߎ$_m%prGR+*֮*]+ӧf (ޏHğ9skS>SیK{Hf;_%/r>硶질|iYK'#zkSz]dTuDT!^;0YFzpνn1.Ӄ)5_(b7Ї fQJ^ yY-}~/=}| vkPRIwinfv]|N,z=8[g^iYK}~X]}IJkWTk}6|_kŴ߾yCg\w "\׭vk>ShA$Q$U)WNQ-{~یK{o/A|4@|^zD?8 T+@@]|iۙFzpӧf (ޏN~Y׽ym%prGRxߖ{zuERgu(6/=}|Yl~[?$X{mBH$$7WA ق7Ӏ%xߖuo[qvQׂ@=32qo pD^(WX)$I3;.> WNQ-{~یK,,. $5[钜_(yוu|КXmNfm+eCn vuyו#+]ul/ ""MB:v`> o7{b]>S;|ۘ  IK>S;|ۘ ]b]&O7Ӏ%^;0YFzpνn1.Ӄ<+*֮ ; >wG)`0@0ʨ?7+SmŶрg;B I$޺MƟtoGJ:v`> o7{b]/dye, aw WY$U)]P'+]t T ۋm0ty y@ ""MB:v`> o7{b]>S!ۘJ^ y!@O(WX)$I3;.> WNQ-{~یK,,. $5! jHm΍㕈|$HHSutN,z=8[g^iϔ,0h%/ WNQ-{~یK,,. $5d2S:eAP re y@ ""MB:v`> o7{b]>S5-ph%/4ˣz=8UӳoGK~,߼89{#)`oo oB"Mjꂼk@ E*]v( tr-ƵC8P4(O1 ]2P@>5IDT!^;0YFzpνn1.Ӄ)Y`>D )x{r@4Fw %$z6|vgeѽ*ق7Ӏ%xߖuo[qv唰777ޡ]dTuA^5 "`LC.˦Jiu8( BH$$7WA ق7Ӏ%xߖuo[qvJ^ y&;c ,:| JI .m>4ˣz=8UӳoGK~,߼89{#)`oo oB"Mj9Z례@펛6w,#~ y@ ""MB:v`> o7{b]>S<`|g>¡$)>3aPeWX)$I3;.> WNQ-{~یK,,. $5kϺc6O U2 @=!$Eh@0P ;Mѹ׀;'HSutN,z=8[g^iϔO9m0@=S~AhmduH tO>;s3ޏNzte|߼o:-ĻN^XxPHSZNVu yђI Ѳ|p*\(m $y|!ZsY>9O١iIDT!^;0YFzpνn1.Ӄ)/9pP81J^ y[8`YPRIwinfv]|N,z=8[g^iYK}~X]}IJkWT ]0U/9`P@=!$Ea P0 qfnyG!SBqHSutN,z=8[g^iϔm `u>@=[BX%yuH tO>;s3ޏNzte|߼o:-ĻN^XxPHSZ4+]t߼o˭m|B %Tu>).ףu^x6e;uOm3!$Eh@0P ;Mѹ?N ƌI$U)WNQ-{~یK{o | m^cx IK>S xe+t%Kn:s %$z6|vgeѽ*ق7Ӏ%xߖuo[qv唰777ޡ]dTu@i^Vxߗ[;G<2LtB[mOm^cy_ ".8z7^-wCk6SY >XA$P @|ٽ|!^nTPkf*]+ӧf (ޏN~Y׽ym%p|@=!> B2 )x{hC^|,x4e(WX)$I3;.> WNQ-{~یK,,. $5!>@!/rXՆ[۬@=!$EERzte|߼o:-ĻN|5|@=!> vkPRIwinfv]|N,z=8[g^iYK}~X]}IJkWTCѺ9kυ;5TڔYt"Q.w$dfQ IDT!^;0YFzpνn1.Ӄ)!¥RϔyDBaaRG+@@]|iۙFzpӧf (ޏN~Y׽ym%prGRxߖ{zuERx%PۦُTe !6I@*G6oF^nTPrhZI"MB:v`> o7{b]>Sq By)`T9 IK>Sq By)`T9]b]&O7Ӏ%^;0YFzpνn1.Ӄ<+*֮+ƘSʝ윳)8%EEERzte|߼o:-ĻN| >S+',dJ^ y,RO+@@]|iۙFzpӧf (ޏN~Y׽ym%prGRxߖ{zuERxJySR>]eNPv!$Q$Q$U)WNQ-{~یK{#7qr ?D )x{#7qr ?T+@@]|iۙFzpӧf (ޏN~Y׽ym%prGRxߖ{zuERxo:SR>]e2G$$$7WA ق7Ӏ%xߖuo[qv WNQ-{~یK,,. $5 ߶urgwƤ}ƻ',ʜBHHHSutN,z=8[g^iϔsm @| n`0hm JI .m>4ˣz=8UӳoGK~,߼89{#)`oo oB"MjꂼkƊpe*]!L:9QZ례pP(IIJnӳoGK~,߼8> y- ,$)ۘ %$z6|vgeѽ*ق7Ӏ%xߖuo[qv唰777ޡ]dTu@FJgT!:6Ob) (*]+ӧf (ޏN~Y׽ym%p|@="X|m\/l@|KmkWX)$I3;.> WNQ-{~یK,,. $5,~Q @|$HHSutN,z=8[g^iϔc߶ IK>S%6{~څuH tO>;s3ޏNzte|߼o:-ĻN^XxPHSZNQm Q$) c>QPRIwinfv]|N,z=8[g^iYK}~X]}IJkWT^Gt6 ^/=}|Yl뎀!$EERzte|߼o:-ĻN|1b l0 f>/8 IK>SY1ŶPRIwinfv]|N,z=8[g^iYK}~X]}IJkWT^Gt6 ^4)c|Yl뎀!$EERzte|߼o:-ĻN|1bM:c|@=u"oEPRIwinfv]|N,z=8[g^iYK}~X]}IJkWT^Gt6 ^|,ulF~BH$$7WA ق7Ӏ%xߖuo[qv4ˣz=8UӳoGK~,߼89{#)`oo oB"Mjꂼk1w!|k-N߶u@ ""MB:v`> o7{b]>SY15_(%/4ˣz=8UӳoGK~,߼89{#)`oo oB"Mjꂼk1w!|km_(o:IDT!^;0YFzpνn1.Ӄ) [4) )x{.J` %$z6|vgeѽ*ق7Ӏ%xߖuo[qv唰777ޡ]dTu@pP(FJt0@=!$EERzte|߼o:-ĻN|3e;h92ڄ )x{6S-NB I$޺MƟtoGJ:v`> o7{b]/dye, aw WY$U)]PwYmBwLRulm&[P9IX{mBH$$7WA ق7Ӏ%xߖuo[qv;s3ޏNzte|߼o:-ĻN^XxPHSZ,.oƙ#~J5a(b) ( @  T>lލμܩޡ8lдERzte|߼o:-ĻN|1.o$) @h= 1?7+@@]|iۙFzpӧf (ޏN~Y׽ym%prGRxߖ{zuERgu s}>4K ~n0c@=!$Eh@0P ;Mѹ׀;'HSutN,z=8[g^iϔ 4c@= s}& uH tO>;s3ޏNzte|߼o:-ĻN^XxPHSZ,.oƀ~>ShA$P @|ٽxSBq١i$7WA ق7Ӏ%xߖuo[qvSz7bטn(WX)$I3;.> WNQ-{~یK,,. $5B|hj>Q>ShA$P @|ٽxSBq١i$7WA ق7Ӏ%xߖuo[qvQׂ@=o pD^(WX)$I3;.> WNQ-{~یK,,. $5x]2S:ϔI@*G6oF^nTPrhZI"MB:v`> o7{b]>S;5'%AVCJ^ y6~9ٯA9(}| n !)$I3;.> WNQ-{~یK,,. $5JM>S]z7fQBѸ!$EERzte|߼o:-ĻN| vk$)g㝚G+@@]|iۙFzpӧf (ޏN~Y׽ym%prGRxߖ{zuERgu||IhM2Gz}xI>QZ7 ~P4BXX $7WA ق7Ӏ%xߖuo[qv;s3ޏNzte|߼o:-ĻN^XxPHSZNP A`=b) (*]+ӧf (ޏN~Y׽ym%p|@= X@@|"D (WX)$I3;.> WNQ-{~یK,,. $5 8$ @=!$EERzte釈}s-ĻN0 X (P@R>oat!(ޏL͹WY$U)]ERzte釈}i >J^!Z]b]&Ḷz=0zte釈}iYKwڡ]dTuC-?+];I$U)WNQxNw:r@یKqh%/-PRIwiCQxJ:v`ruӾӒb]/dye,h=B"Mj![ >re^SZk}:r@ERzte|;l72یKK|+$|CQ*ق7'6w/neiYKp6@uERLu;[ uƟ|!5~Q6(|rEfC:Lwfekm:HSutN,z=<~O%2یK``$`X0bq` I$ ߯e#6O22zte,By)b]/dye,) 䦡]dTu@]dA'x&O%:$T!^;0YFzxIYm%pq X00r€@0`,R1`8H buoײ ƙFzxJ:v`'βیK,'ε $5$HSutN,z=/L|-L8>ł +@@]|ioGJ:v`I12o?e2یK, ^2o?e5 $5Jl`nmCP0˞Vʰ6,t7C߮umH/e*]+ӧf (ޏOJm%p|  )x(WX)$I!(ޏOWNQ?SیK,e(IJkWT06,t7~VP?@ :|=Ym$T!^;0YFz_$lXg|-?_(b];m2" rFlJXذ h1~QP6o)$G6h3e:2SCQ*ق7'b;mYD89{#)cbG|-pYEB"Mjꂥ٠񡁱`#8c,|C߮Myu*]+ӧf (ޏL[qv唰5>]dTtI ,鬒ӳ# K|^(*uB:v`GŶiVQ)`2uB:v`b][:YGwĥ(WY$+ӧf )m%qUcEw|JXB!^;0YVb][:YGwĥ+ӳ`|[avUoePHWNP81ע;%,WY$+ӧf )m%qUcEw|JXPHWNS# K|^(JuB:v`l1.ӊz,RB!^;0Y@81ע;%,I قʀ|[avUoe PHWNQm%qUcEw|JXZuB:v`b][:YGwĥI قʐ|[avUoe PHWNQm%qUcEw|JX]dN,x|[avUoe+ӳ081ע;%,]dN,l1.ӊz,R(WY$+ӧf +@# K|^(juB:v`l1.ӊz,RBuB:v`l1.ӊz,RJuB:v`GŶiVQ)` ]dN,81ע;%,*uB:v`@# K|^(WY$+ӧf ( l1.ӊz,RB!CfHS5׃DYSxiKV),LC|G (S.?eEURkVjü ztel81ע;%,*23~lpmP0W]+ӧf + ̼K|^(,!AP @]jxAjZlI l-jעH$ !Bɡ$ v@ l6$07I66$H./usr/IBMVJava/html/enterp/en_US/jdkref/t-index.htm.uti$$  a ert.<>cdhilnos "_fgjmpv#()/=STbu CEMwxy,ADILR-BFGHNOPUkq'VXYz&0;JKWZ13!2689Q+5:PM45 iE7[N@Hb\JY$( ͰY$)|I u4@HѠ` 8 v(,dVfv;Er@( Y$( "yChlRu@ @%Z@UB Y$>Z@ -ZplŴz6dZ)ڲHP46BX,88Umh   HS^x<؋+kx]6Y@U2 ,*p|MPHVխZN0Y[ivUooE|JXD<@K>1 @%B^` yiV6YGĥa t @%B*gAjZn,+xZ)Edb!^` <߆ދ(JuB;,e_b][e(WY$+ӲSWŶiV6YGĥ(WY$+ӲS@WŶiV6YGĥ+f *WŶiV6YGĥWY$+ӲQ+ K~z,Ru $zvY4|[avUooE|JX]dN0YN_b][eWY$+ӲSWŶiV6YGĥ+f (m%yU Q)` ]dN0Y@p <߆ދ(PHWe,l1.ʭm貏K(WY$+ӲQ+ K~z,R”+f * + K~z,R $zvYʐ <߆ދ(-B!^`_b][e(WY$+ӲP-ĻO*ᷢ?%,u $zvYm%yU Q)` $zvYʘ <߆ދ(I + K~z,RƨWY$+ӲPm%yU Q)`juB;,e"-ĻO*ᷢ?%,(WY$+ӲPX <߆ދ(PHWe,m%yU Q)`B!^`@WŶiV6YGĥ $zvY + K~z,R%B!NŒBUGhWpF-N*dge+#zr l2e6u t:FJ: pVFJ: pVj2Q3ŕ\{9K$DFJ: pVI lIJnf (O 7-b] XH ]i$~?LO ԫӲQn:[fĻO^XJ7PHSZPa$7W@wG`|߼w{ٱ. ŶiK: l0"緖 I$ ߯e#t.|vˣ=3zvY;0> o;Ͻlؗi YK}* $5@@(hhsOm^cu= $HSutN0YGtzf-yym<>а\[aO/xX.-' I$ ߯e#t.|vˣ=3zvY;0> o;Ͻlؗi YK}* $5@@(hhsOm^cun $HSutN0YGtzf-yym<>а\[a^ Ŷ+$3~к|i;.Uf (L%x;>-b]/de, +*֮@= ϝ=y}Եהd *]ӲQK~v}o[fĻOt,`R _={+$3~к|i;.Uf (L%x;>-b]/de, +*֮@= ϝ=yк|k$m>4D4uz:gOl2sf= |2H$7W@wG~ elKA E,h$)BI7H ƙ9%^`0<,͉vdjIJkW@lJ3%jI"M:;,e釉?lؗiCdm>4yΎԫӲQx͉vPHSZm]ue{eo^5l-$T^`Mq6%x}mK߆ިWZI | ƙ9We,=+*֮"PeOrni$7W@wGl3RB_(,o> lؗi_4 |tIK/x]bH^>m>4yΎjUf (Nf>QY~}ٱ.×@(CYbuERږ6ezdjXĒERuzvY;$s|vͼ-b]۞){s]bH tO2s='rUf (I\56͉vmuERoGg[am?iޤ*]ӲQld,-b]Ɣ juoײ:O2s=6VRIJnf (O olKl3A9|@64+@@D=e,CtwGUf (O olK, $5g=: ͯIJnf (O olKl3A9|C㠊|tIKa !E>:%$(p{6YFK)zzvY;;am<9{$ )cl3A9}B"Mj%fνFCChmh'/[ծǘmDy*FEd^-JόIJnf (O olKl3A9|AxJX N_P7D%f(e2s=:D]bn>&)E>:%$(p{6YFK)zzvY;;am<9{$ )cl3A9}B"Mj%fνFl3k ~SBmEx߮uж:A蒖64+@E>:A蔒@D=e,CtwGUf (O olK, $5g=: ͯ-]M c}4D^-]u "(>3WjlB;"s $ly*]ӲQn:ʹn:[fĻO64%;R:٠|tIKaT+@8f))$F{ٲ2YLO 7J;,ezF F㥶lK, FIJkWT(p{6umhJ7:ٴuk>Cl3B$zjrA$WkCPERuzvY;;ac -b]aJX WX)$F{ٲ2YLO ԫӲQ pim<9{$ )cl3@w]dTuAg^auc I$U)We,=6%xq; 蒖64}!)$F{ٲ2YLO ԫӲQ pim<9{$ )cl3@w]dTuAg^aug64}uk>Qxʑ@yI"M:;,ez1ٱ.Íph=05#7D; P7D%f(e2s=[aHSutN0YGtzx^l3L}lKl3@w L:$pjuD%f(e2s=[aIM|Ї +Ŵ\d4yΎJ;,ezlJ6%xrHRlBX]dTuC]uBYFK)ףu$7W@wGv5= F㥶lKa |xR4BI]>4yΎJ;,ezdBQm<9{$ )cl3B$zT+*֮"M:;,ezlJ6%x}aR4mjuoײ:O2s=4yΎJ;,ezO {<͉vH FCg(WY$U)]ERuzvY;6S|x[fĻO};h=ek6LwԒERuzvY;S-b]JXeWX)$F{ٲ2YLLl.65}6RuRIJnf (L&I$J3͖Qd&I$J3͖Qd)zBI]>4yΎ*wG~ gſ lؗi YKuER u\vNVI$U)We,=3 B[fĻO4RƂ‚T+$3~к|iӲQNs-b]/de,hj5 $5HSutN0YGtzf:͉vkϱ)E>:$y]bS㠊|tJI "QlS!:;0> We,=3y[fĻO^XןjIJkWT(p{6 y@X㭚IDT^`um<8ןb!($y]b!(%$(p{6YFK)ӲQN-b]/de,kϵ $5g=^|MG|풋gZdIIJnf (L'CPٱ.Í  XXPH1BI7H ƙ9J;,ej26%xrHRƆsPHSZ$7W@wG`|> lؗiƼ"S㠊|tO)E>:$y=砡]bS㠊|tO)E>:D%f(e2s=3zvY;0> ןszlK,y=砡]dTuAkןsz:٤IIJnf (L'^}yٱ.Íy="JXןsz "RIed9J;,eϹ=6%xrHRƼPHSZF{ٵkϹ= 7{(u>HSutN0YGtzGye-b]e$y2WX)$F{ٲ2YLH|N0YGtzGye-b]/de,kϰ mB"Mj*]ӲQK~ْٱ.ÍHA4 XX +$3~к|i ԫӲQK~ْٱ.×@ `<IJkWT d=2YCAaA A4c :HSutN0YGtzf:̶͉vh, (iK @, ]i$~?LL%^`t5 m<9{$ )cCPWY$U)]ERuzvY;R|6%xqH#FJXX`H@$`I`BA֒H^G]>4yΎԫӲQx;fٱ.×@x]dTtIJnf (O ԅ-Ym<> ){ PRIWiCtwGUf (O ԅ-Ym<9{$ )`AjIJkWT2ֹŲ kv$7W@wGHc-b]4o ){ muH tO2s='rUf (I\5ǟ[fĻO^X AVǟ]dTuA7:>u玼zh.;f$*]ӲQxl6%x} !%/d>?Fn>&WXDoײtO2s=05*wG&6͉v\vͼPHSZ:=C.wFeko+ϸy׍ElmyO*]ӲQxJ&ٱ.ghMR@34fjuh@QiCtwG&^`Q4͉vdjuEReש>&Zs5#+]u Dh;^uDC7m>;fSC:h(i$7W@wGHx[fĻOv94@v95B I$^Mƙ9*wGHx[fĻO^X Aq6B"Mjꁷ3uօdB}k- w|#xHSutN0YGtz_$ 6C=ٱ.`ݰNg $`ݰNg PRIWiCtwGJ;,e|87op/[fĻO^X  X@~ܾzuEReר\kgm ۯRIJnf (Nf>Q4͉vds8h%/ds8juH tO2s=;azvY;Ӷd@ -b]/de,"P aIJkWT(yuD@ke^`x.e~$T^`Ic|6%x}Cs8h%/d]b]&LKzvY;%8h^?o lؗi YKwNg ~(WY$U)]P6~Fu@6ek7I$U)We,=053|M-b];'3RA  JI *m>4yΎԫӲQx>&ٱ.×@3q5B"Mj%o6u|{Qcvm|HSutN0YGtzcz6%x}HfG IKm|ya JI *m>4yΎ*wG7-b]/de, +*֮"Qlk- w|Lm`h4Lmi$7W@wG7^ٱ.C6><tzcz4 RA!yXzuA)$I!:;ԫӲQޤ~B{wax[fĻO^X  ܾx^(WY$U)]PDν)m )mezǘR-% WH2M|MPIERuzvY;!od[fĻOQJ^GT+@@U|izzvY;!od[fĻO^X>-ZuER:>tAuuљ(I"M:;,e[lؗi@@Pћ4fjuH tO2s=#J;,e[lؗi YK} $5sS|M2q߯jFVERuzvY;Rx[fĻOl0fhDa7T+CRI7G޺Mƙ9xzvY;Rx[fĻO^X.;f(WY$U)]PF_۝zme;|R2OٷvƉ"o66|vͼƇytPHSutN0YGtzaja([fĻOl0fhJ&){ &n>&WXJ&I$ ߯ez6d^4I>3ym>4;#DERuzvY;?_ٱ.쁒g|M$쁒g|MPRIWiCtwG~ We,=#K~m<9{$ )`]dTuAnu{\;H>t߷Ox$SB}~Q[h\[q2XzI"M:;,e Զ ͉vd <mgݼ%/d <mgݼuH tO2s=;azvY;Ӷm,?m<9{$ )`cPHSZ\nugM>&ֻe;εLqH۩Z΀yajCjI"M:;,e o2X6%x}2Lx v"2Lx v* JI *m>4yΎjUf (Nfo=[~ْٱ.×@1 }X $5ޏרI6CFM96ϝ7ђ*]ӲQx>&ٱ.쁒 J^ ;PRIWiCtwG&^`q4͉vIJkWT(ysJdkLmuH.vHSutN0YGtzajXx[fĻOH.#12Awv]bRI7G޺Mƙ9xzvY;R|6%xrHRo+*֮kz7cvm>tA ml:u`xqZH;fS2H.wVz>Vٷ|+/Gm$7W@wG&{lK d;fWGq$i6t*I"M:;,e釉im<> f |M D%/d|n>&WXJ&I$ ߯ez6d^4I>3ym>4;# HSutN0YGtzx^e(6%xq%,l9]b%f(e2s={qHc- |]b%f(e2s=#J;,evR?6o'a5m<9{$ )ce cɄ2*IJkWT(p{6ul |y0ZF߮ʛ{ >>m*]ӲQ'e#C`vC_(ٱ.ÍCAo&C_(;R3q4IK)x=L$1QP7D%f(e2s=#J;,evR?6o'a5m<9{$ )ce cɄ2*IJkWT(p{6ul |y0ZF߮uж32GֺdI"M:;,ezH%ٱ.Í XCJX, , PPH5BI7H ƙ9We,=D ){ 3EB I$^Mƙ9J;,e o2X6%xrHR;xge5=J;,e靰~?CS@͉vK ]dTu@ש>&Zs5#+]tI S%IJnf (L'6%x}J^fjuH tO>;xge5=J;,e靰~?CSB[fĻO^X% juERoGg^Yhe_(Ԍu%FVH@2;$7W@wGx^7-b] |M$n>&WX)$I!:;*wGx^7-b]/de,BQuERoGg^Yhe_(ԌuԇlԒERuzvY;$smٱ.n>&RC7T+@@U|i?뒯N0YGtzOy<6%xrHRg < $5ޏεS|M2q߯jFV&RC7T+@@U|i?뒯N0YGtzOyٷlK,4o+*֮z?#:]Oq6˝~QZ΢<׀׆P$T^`#-b] |M$n>&WX)$I!:;?_ӲQ$swlK,їIJkWT(yu {[*3q5$T^`Ԏ~%lK! %$z6dIJnf (O Ԏ66C͉vd3q4@]b]&LO ԫӲQ,m8lm<9{$ )`4!]dTu@ש>&Zs5#+]u=u#+\co*6C$T^`Ԏ -b] |M$n>&WX)$I!:;RN0YGtzajGٱ.×@WY$U)]P6~FufmHqͬ2q>tY>$T^`I8l{-b] |M$n>&WX)$I!:;%^`I8l{-b]/de, p,~?Fn_=B"Mj%o6uLwͼ$ԒERuzvY;?_߅lK! %$z6dt ~$*]ӲQgÆ~ٱ.n>&RC7T+@@U|izzvY;,p6%xrHR>4d?T+*֮z?#:=C.wFeknek:g8lI"M:;,e釉cvmm<>fh%/d3q5B I$^Mƙ9xzvY;R|6%xrHRo+*֮z?#:3q68fZsmk:cvm#>IJnf (K;x-b] |M$n>&WX)$I!:;%^`Ic|6%xrHR@#IJkWT(yMe^HSutN0YGtzx^änHzlK! %$z6de?gLqڝٯRIJnf (L4yΎJ;,ezJ6%xrHR% buEReש>&ֻe;εϝ2PWikZH|FSt jdBQIJnf (O ԲG(t͉vd3q4@]b]&LO ԫӲQdBQm<9{$ )a= FIJkWT zme;|R2ϝ2G(v[O>i$7W@wG&,[5,g=,-b] |M$n>&WX)$I!:;Sd-zvY;Sd-J3͖ٱ.×@(p{6X]dTu@=m͘ω|"Ql$T^`[lؗiC7D ){! JI *m>4yΎUf (L%l͉vWPHSZX߷O0(tdDIIJnf (H|߶[fĻO IK |MPRIWiCtwG~ We,=#K~m<9{$ )`]dTuAnu2S|M2q߯jFVm$T^`?k͹lؗiC7D ){! JI *m>4yΎ?We,=3jZnz?g|6%xrHRO6砸?Fn_=B"Mj|vu{\;H>tכs|P=׋I"9ɏms58f*]ӲQ5-y=@~rlK! %$z6d&Zs5#+\^mjCSܾ}x):>>m^mjCjI"M:;,ez(ٱ.n>&RC7T+@@U|izzvY;-yQ-b]/de,3|]dTu@ש>&ֻe;εϝE)m3|Lmu![4ΑsI$U)We,=05-в6%x}J^fjuH tO2s=05*wG&:[fĻO^X*CB+*֮z?#:3q6˝~QZ΁R:RuRIJnf (O 7-b] |M$n>&WX)$I!:;*wGmٱ.×@T+*֮z?#:\;H>uhtΑs:=ԒERuzvY;?_7㭚[fĻO IK |MPRIWiCtwG~ We,=#Mq:٥lK,q,qPHSZmk- w㭚HSutN0YGtzajr̅Rc -b] |M$n>&WX)$I!:;Sd-zvY;Sd-pim<9{$ )`; PHSZmzm6x>tԒERuzvY;$lؗiC7D ){! JI *m>4yΎIWe,=/L|,͉v $5ޏνOq6˝~QZΤ8f*]ӲQx!/lK! %$z6d&Zs5#+\ }:٩$7W@wGLd?KlؗiC7D ){! JI *m>4yΎJ;,ez! p6%xrHRxH,d?T+*֮z?#:=C.wFek:S$X 8l2MEHqͯtI"M:;,ez%-b] |M$n>&WX)$I!:;*wGLt͉vQ $5HE͝k:㭛[*3q6˝~QI$U)We,=&RC7T+@@U|izzvY;&![fĻO^Xh3~WY$U)]P6~Fume;|R2ϝmC~Y>i$7W@wG~ wٱ.n>&RC7T+@@U|iUf (H|7o -b]/de, vе $5ޏνg^T%j{\;H>t7o I$U)We,=3j^ێCKlؗiC7D ){! JI *m>4yΎ?We,=3j^ێCKlؗi YK $5ޏνMͩ>&nlǎ|MsOm_ۄi2H[O$.< HSutN0YGtzglԽ~͒BlؗiC7D ){! JI *m>4yΎ?We,=3j^ێCf!elK,qhI PHSZmk- w|6!`|Y|M$~ΣϰE?gSd>]Dy*FSqtֹ${n: HZI"M:;,e_elK! %$z6d&S$]Hqͬ2q>tII\g{5 dk:٠tI"M:;,e釉|vͼ-b] |M$n>&WX)$I!:;RN0YGtzaj_o lؗi YKl $5ޏν |M:ٵ\:Z΁q6Αi$7W@wG~ elK! %$z6dFV˨I$ ~P46mx>hpmo|I"M:;,eޙ#xH_<͉vd3q4@]b]&LNīӲQ=7lؗi YKHћPHSZmBFy^u=C.wD "M:;,e釉im<>fh%/d3q5B I$^Mƙ9xzvY;S D6%xrHRIJkWT zRuk- u6ϝ%@,HSutN0YGtzx^H%ٱ.n>&RC7T+@@U|izzvY;'GG(t͉vq $5ޏνe;|R2ϝqLJ7:=ԒERuzvY;'G`-b] |M$n>&WX)$I!:;*wGO[fĻO^XUxK5B"Mjꁷ3|v?_(<i6c5#+]tq1`I$U)We,=3jOϛmy=-b] |M$n>&WX)$I!:;;`~^`?>>m͉v y=PHSZmk- w|My=:٩$7W@wG&,[5'޺M-b] |M$n>&WX)$I!:;Sd-zvY;Sd-]&ٱ.×@z5B"Mjꁷ3S|MُZ΂]&*]ӲQx:٥lK! %$z6d4yΎLJ;,eޙ#x!ym<9{$ )`Z_(WY$U)]P6~Fu{\;H]HqI$U)We,=3j{ /|D͉vd3q4@]b]&OtwGv OdN0YGtzglA(^m<9{$ )`e(WY$U)]PνOq6˝~QZΐ=ERuzvY;(I6%x}J^fjuH tO2s=:[fĻO^X'T+*֮z?#:\;H>tu 3HƵB(S8 5B4K^u{$7W@wGv Jxٱ.n>&RC7T+@@U|i;.?We,=3jPŏC͉v3= $5ޏνOq6˝~QZΐŏC$T^`?C$x[fĻO IK |MPRIWiCtwGv J;,e靰~?CRI͉v3$x]dTu@ש>&[ծ>ŵFoj#xI#+\$^ĒERuzvY;9laelK! %$z6di$7W@wGzgxrϖ܇l6%x}J^fjuH tO2s=8{;oN0YGtzpw',mq-b]/de,gl uT+*֮z?#:3q6k- vuG}ԌsYgn8f*]ӲQަwNLKlؗiC7D ){! JI *m>4yΎ*wG776%xrHR^#x2LT+*֮z?#:]4yΎԫӲQxYlK,tT+*֮z?#:3q68fZsmk:fY>$T^`?͏elK! %$z6du7Ch"""&dk]@{nu㭛UUUD^-uyR2^>ڒHSutN0YGtzgl͉vd3q4@]b]&LLzvY;;`~o67lK,yPHSZmjFSdkuloIJnf (H|7/^}FlؗiC7D ){! JI *m>4yΎ*wG~ B>LelK,yBƼF+*֮z?#^Yhe_(ԌsZLi$7W@wG7^ٱ.n>&RC7T+@@U|iUf (LoS90-b]/de,d^WY$U)]PDεϝNLke^63q5B&IJnf (LoS90y@͉vd3q4@]b]&LLoRN0YGtzczɀuBlK,YAB"Mjꁷ3ukr:m!,ڑ|r`{^uLmc7T)m$T^`I@u&͉vd3q4@]b]&LKzvY;&{6%xrHRn_&Zs5#+]t_>@u$T^`q4͉vd3q4@]b]&LLtjI"M:;,e釉hx[fĻO IK |MPRIWiCtwG&^`q4p -b]/de,fh &͉v $5ޏֺp ̸#>νOq5$T^`Lg{% am<>fh%/d3q5B I$^Mƙ9We,=fh%/d3q5B I$^Mƙ9xzvY;S-b]/de,kT+*֮z?#:=C.wFek:e)d6DZ :>>X Wk]F䇠HSutN0YGtzaju}䇠[fĻO IK |MPRIWiCtwG&^`M@͉v2CPHSZmk- w|khܐIJnf (L4yΎԫӲQxvH/ٱ.×@5 :]dTu@שYۛ1k|] u![5$T^`um<>fh%/d3q5B I$^Mƙ9J;,eϲ6%xrHRƼPHSZX>߷W6t. ""M:;,eϹ=6%x}J^fjuH tO2s=3zvY;0> ןszlK,y=砡]dTu@<^}yS@ +^}yU͝ %$HHSutN0YGtzpw${[fĻO IK |MPRIWiCtwGzgxUf (Nď{Klؗi YKA` $5ޏνOq6˝~QZ:٩$7W@wG7-b] |M$n>&WX)$I!:;ԫӲQޤ~@͉v4 PHSZF{ٳS|M2q߯jFV2Mb2M*]ӲQޤ~AmD͉vd3q4@]b]&LLoRN0YGtzczJ1k6%xrHRh0"Q_(WY$U)]P6~FuLmc7T)m˝~QZ΀h2(ٯRIJnf (H|elK! %$z6d&WX)$I!:;Ӈ-5We,=8{XO{Klؗi YK@RuERoGj{\;H>t`ERuzvY;?_.;lK! %$z6dm<9{$ )a϶]dTu@ש>&ֻe;εLv㳩Z^k{>I"M:;,e靰~?CRu[fĻO t RC7T+@J%$z6d&S$]z6߮h;4ERuzvY;R87l͉vd3q4@ݱ%/d3q5B H^>m>4yΎԫӲQxelK,jIJkWT zڐ㭛Yhe㯉ǘmi$7W@wG&:[fĻO!:$n>&WXxX@QiCtwG&^`ԶCBlؗi YKHxZuEReש>&Zs5#+]tIxZ2M$WGqԒERuzvY;Rd%͉vd3q4A%/d3q5B }H^>m>4yΎԫӲQx!/lK, $5ޏν |M2q߯hek>FB_iHSutN0YGtzOyٷlK!RC7T+CRIWiCtwGJ;,e?9;fٱ.×@<\vͼPHSZm]u=C.wFek:^SZ^Ƴ$7W@wGHݿd?Pܾym<>fhD 蔒@U|i|N0YGtz_$ 6C=ٱ.×@s8h?P7/]dTuAnu6S|MI$U)We,=05/ٷlK!RC7T+CRI7G޺Mƙ9xzvY;Rx[fĻO^X.;f(WY$U)]P6~Fu6C7jCme;&ֺh[cxHSutN0YGtzajr̅R|x[fĻO!%/d3q5B>:%$3~}|i釉2J;,e釉2Ik}m<9{$ )aRk}uERoGki6c>&ֺ뱗9k}l$]M c}^cIJnf (LfhA蒗]bSRI7G޺Mƙ9xzvY;Rx[fĻO^X.;f(WY$U)]PF_۝zme;|R2F?'v]Egk*h[c86SJ->$7W@wG&lK!!($n>&WXJ&I$ ߯ez6d&I$^Mƙ9*wGHݿd?Pܾym<9{$ )`0n'3c3rIJkWT(yuxgLv㳧e^m ۝>;"H;fN,kml]u4-1cvm\Y&&*]ӲQxy[fĻO>X IKoU, PRIWiCtwG&^`ϲ6%xrHR>+*֮z?#:]l¹G|k]t@(+ύ*]ӲQx;fٱ.솿aav!$솿aav]bRI7G޺Mƙ9xzvY;R|6%xrHRo+*֮"QFgZ;fWGqValERuzvY;S=6%x}v IK!xj JI *m>4yΎԫӲQx>&ٱ.×@3q5B"Mj%o6u|{!x;I$U)We,=05,wͼ-b]!xbJ^ A ;P w)$]&LL:͉vsqk)BD{ٯf]bJP)$I!:;RN0YGtzajp|um<9{$ )`ןjIJkWT:1@ώη;jFS=3I$U)We,=058>:͉vs¯]&xBbJP%/s¯]&xBj t H tO2s=05*wG&^}ٱ.×@ y]dTuA1s |\s6ez6 *]ӲQn:ӇOq6%xqH@H@WZI f{)t!:;6RN0YGtzx^Ѹ{N=>㶍Klؗi YK:T+*֮ks|MӇOhjHSutN0YGtzGI[fĻO4 Ƃ( , A#JXh$  H0$ P@R?BCtwG~ We,=#L$ -b]/de,&xZuER;0|)heCI$U)We,=3J1k6%xqH04E@XRƃA PH@X`PJuoײ:O>;xgeJ;,eQ_(ٱ.×@(ٯT+*֮nxϳ_(ξ]F[SͶ*]ӲQK%5m<8h$    QaXPP,hАQK C!A`XX4$ ,  P@R?Bo ;0> We,=3J1k6%xrHR%5uERY}Heqhe- B/uA;#"gL1$T^`Y(ٯKlؗiƃA PH@X @,((4hH(@, , AXPP,hАRuoײ:O>;xgeJ;,eQ_(ٱ.×@(ٯT+*֮"(h_:Y}Y}xԘHSutN0YGtzf,cl%lKA(`$ h,  X4$ )cA(`$ h,  X4$ P@R?Bo ;0> We,=3J1k6%xrHR%5uERY}e- B/u n;mZA;#"gL1$T^`Y(ٯKlؗiƃA PH@X0$ ` %,h4  `QcAH0 ]i$~?OtwG`|N0YGtzf,cl%lK,J1k $5?46f .Z_lŴvG_lhvڒHSutN0YGtzx^= F㥶lK32@3/y0|+@@U|izzvY;,J7-b]/de,"G(uB"Mj̼kζUm2G(u$T^` f5>͉vh4 CJXh$  WZI f{)t!:;Sd-zvY;Sd-ט6%xrHR¤ט $5HSutN0YGtzx^Ѹm<>>:DWXA蔒@U|izzvY;6Klؗi YK FIJkWDCspssVjrw~Δ(S^-=a$S%,k_.ehpm)hb=uS zI4-n$7W@wGM΃ɖٱ.xlC㠊|tIK>څu|tOI$^Mƙ9We,=څu|tOI$^Mƙ9We,=tWڄSOX :h* zĂ((pm)m6^SO]pμ[Jdkhj2M$WmkS\1ʵiQ]e;εHI$I dk8 I 6q4Lmm PIEE)m5B&#m2MGMS$[CT)mJI"M:;,ez%e6%x}|tO){3P))$I!:;*wGPMKlؗi YK%e $53۝kײCiLmmo6^$SO]pμ[CiLmmo 6^$SO]p$T^`N[7Ym<>>:DWXA蔒@U|izzvY;9laelK,ml-B"MjZ묶o]>-{>i[*]cvׄmk(SLۮ+ŴI/kQ6JzT)JX |IJnf (O 7I;n:[fĻO8}2O|tO){3$u|tOI$^Mƙ9n:zvY;6R|ٱ.×@!n:]dTuCspsu%,k MFek PjI"M:;,e釉im<>$< %$z6dH-۩tfH-u\[:|{$7W@wG~ Fٲ6%x}Ǟ6Cl@cMWX)$I!:;?_ӲQ%f lؗi YK͖(WY$U)]Pyu:ڑ|f+eCH6XgLq$M*]ӲQxҔ/Ķ͉vh4 )cAhJuoײ:O2s=05*wG&t -b]/de,~*IJkWDC]tIRS$]HqͦK2愢V yףtI2M dkI$U)We,=/g|qx -b]4,)cF֒H^G]>4yΎIWe,=/g|qx -b]/de,f(WY$U)]Eiik6k]uqmH]Or:wI$U)We,=/g|qx -b]4,Rƍ,$ (WZI f{)t!:;%^`I@u&͉v :x]dTtI J3ůg}uŵ#+]ut:5ڒHSutN0YGtz_$r :x[fĻO4i`PJXѥ@hP  P@R?BCtwGJ;,e|=Mm<9{$ )c7/6@u&B"Mj(Lg;O^ϯ^<ו4:wI$U)We,=/g|qx -b]44i`AJ֒H^G]>4yΎIWe,=/g|qx -b]/de,f(WY$U)]Eiik6k\4:wI$U)We,=/g|qx -b] B^j]i$ t.d4yΎԫӲQx!/lK, $5레yΤ8fZsmkǞz7ZѐԒERuzvY;Rx[fĻO4%,hT+$3~к|i釉We,=05/ٷlK,muER uD5 d*]ӲQK~v}o[fĻOX (|!2X (|!5 I$ ߯e#t.|vˣ=3zvY;0> o;Ͻlؗi YK}* $5`0hQׄ$@P R>i$7W@wG`|߼w{ٱ.j8YK, qе I$ ߯e#t.|vˣ=3zvY;0> o;Ͻlؗi YK}* $5`0hH.te#>HSutN0YGtzf-yym<>`PC B bFAqP@R?Bo ;0> We,=3߼͉vW;¯x+PHSZ (  00&ZC|> tdERuzvY;0> o;Ͻlؗi5 2y/CP3-7ء]i$~?OtwG`|N0YGtzf-yym<9{$ )`w^Wޡ]dTuC@@@(`H$@``MCma6P! КJI"M:;,eglKmw—XЇ|P@R?Bo ;0> We,=3߼͉vW;¯x+PHSZ Xt0$ A 00&Zژm߮BA4ERuzvY;0> o;Ͻlؗi5 2J6R5 2J6]i$~?OtwG`|N0YGtzf-yym<9{$ )`w^Wޡ]dTuC@@@(`H$@``MJ=%HSutN0YGtzf-yym<>c/B^c/B+$3~к|i;.Uf (L%x;>-b]/de, +*֮hh] BH A fhexB RHPdb!^` <߆ދ(JuB;,e_b][e(WY$+ӲSWŶiV6YGĥ(WY$+ӲS@WŶiV6YGĥ+f *WŶiV6YGĥWY$+ӲQ+ K~z,Ru $zvY4|[avUooE|JX]dN0YN_b][eWY$+ӲSWŶiV6YGĥ+f (m%yU Q)` ]dN0Y@p <߆ދ(PHWe,l1.ʭm貏K(WY$+ӲQ+ K~z,R”+f * + K~z,R $zvYʐ <߆ދ(-B!^`_b][e(WY$+ӲP-ĻO*ᷢ?%,u $zvYm%yU Q)` $zvYʘ <߆ދ(I + K~z,RƨWY$+ӲPm%yU Q)`juB;,e"-ĻO*ᷢ?%,(WY$+ӲPX <߆ދ(PHWe,m%yU Q)`B!^`@WŶiV6YGĥ $zvY + K~z,R%B!Cdbף^6"ǚ)j:CPLBhv>&( \ k_E,*kVӲV][e9όpm`PPWe,2syU Q)`B!;`PP ZkV[$u : kY$Bb!BI$ v@0 l7$7I66$Іb./usr/IBMVJava/html/enterp/en_US/jdkref/tree.htmtm.uti$$   a.et<>_cilnorsv"dfhjmpu #/=gSbwxy()CEIkzADFLMOPR,BKNTq-02GHUVWZ3J !189Q56:;8cVeblc bՆ1"B@"G6[0$Dh$. @p&b95@p@(P` "MAfPNmlPAV$-D¬RP  8c`jm?^pp q=q6 e G\P69/A"Cx7z14խ\d %z p 1Đ$ 8c شe3,'+;E˂ ZG,Bm$daRzmشe3<& Px7<&4,ZtI6XیH(M(Ztuc(mi'+ nTsiI6XیHm+i^>xMFr}(b|𛚍6NmI6XیHx]6q=i'+ nHr <$bn1# r]6q=i'+ nAI6XیHMO@x75m%@nj4ےl)i l 8P]6q=i'+ nKqksX]6&qSNJtylWsQܟ_D <&M [GpK <$bn1# MO@x75m%@nj4۞[I6XیHks@د<&M?ľ1^>xMFrظ]6&qد<&M?ľ1^>xMFs(YtbtzG,Bm$dÔl,m+i^>xMFr}(b|𛚍6*ظ]6&q* \.O8@plv-myU Q]S$ Px(׮穓ďI6XیHÉz hx(׮穒}(b|”kaspKi l q=Z2t:^ I%@ Q]S'xZG,Bm$d`)z hxgh?ľ1^>Y.T6C)#RM!62,sk2'6F[nGUb|𛚍6 Px75mUbtzG,Bm$dʵJty`=]4xb|kd_D &5mpm=#RM!62Q]6q=Z2t:ܟ_D <&QHTeMČrQ bіۧX<&M?ľ1^>xMFs(YtbtzG,Bm$dÔl,m+iрtm}(b|kdiI6XیHF`Jtychg1^>MA2O/ Wmlj̞;)TI6XیHe< q=eMb|kdVd_D & ՙ*& x*I&bF@$P2q=Z2t:c* Pxʹʵ9AV&q12Y bіۧX<W'+0U0UHTeMČVfO@plv-L+;ERO/ Wv \x*I&bF@ mţ-O#^>y2O/ Wahr<$bn1# 4uŘq=mشeuV+EvO/ W턄WjC<$bn1# h-8zchg1^>B+}(b|Wl$"`&q`q=mشe3&'+ɶHBi l `gр,Qtۆ+;E%@r9I l  c\!q=nKCnSذoe$x*I&bF@==}Qchg1^>Y.O/ Wv9ڑ&qevOFEn+t_D +tžŃxC)#RM!62X72'6FSxM8[xxx*I&bF@m]]<N'b|}(b| z I6XیH`8@plv-L+U%@tr?۞&qs'Y WvKC坢Lsk2<$bn1# 6C(z6+'+0`HTeMČzz  bєb|kdVd_D & ՙ*z l  A Suc(m[$$ Px6Q4d -#RM!62$ҁ4 bєb|kd_D &*즏ޑ&qhр,Qtۆ+'+0`HTeMČzz د,'+;Eʘe$x*I&bF@%mpQc FSV?ľ1^>V=}RG,Bm$dذoeO@ 8m;B'8m;xC坢 PxghQ=WOHTeMČI=WO8Yf21^>V?ľ1^>V=}RG,Bm$dذoeO@ 8m;nTOUtnzG,Bm$dIx.z hxgh?ľ1^>Y.T6C)#RM!62,sk2'6FSMA2O/ Wmlj̕J@<$bn1# M(K8Z2 WvKC坢LG,Bm$dYuc(mnKCnSذoe$x*I&bF@==}Qchg1^>Y.O/ Wv3 w&qx@ wq=mشe3<&~)}(b|lʘ:G,Bm$dX9 bіۧX<&~)}(b|lʘ;[OHTeMČK`C[O8Z2t:坢 PxghS I6XیHͮ8Z2 WKC*Nc=ͦQt] l  snh)]6wOO@plv-L+U%@tr1(-#RM!62.c=q=mشe37AW'+Uʜ{s<$bn1# 3۞q=eMb|\_D ,*c\!&q9G^>V?ľ1^>V=}RG,Bm$dذoeO@ 8m9@pmشe37AW'+UexPsHTeMČ4P.c=6I@plv-L+ ?ľ1^>xMʜ=#RM!62.cq=eMb|}(b| z I6XیH`8@plsXchg1^>xM%@n` 9 l  .cq=eMb|}(b| z I6XیH`8@plq&mشe3<&eu'+ Y|]J<LHTeMČKNq=mbmţ)x7+/?ľ1^>xMG[V1-<$bn1# [V s)'8mZ2 WrKCܬ.m9zbG,Bm$d=\< pÉm$ 8m;xC坢 PxghS1lx*I&bF@%ŘS'8m;xCܟ_D <&N,6i l  qf98Yf21^>xMO/ Wrӂ!O=#RM!62etBylWr}(b|馩;<$bn1# soد+t_D +tžŃxC)#RM!62X72'6 8mZ2 Wr}(b|𛐃nԏI6XیHݹ6lv-L+ ?ľ1^>xMʻc&qO@pmشe3<& Px7*& pRG,Bm$dIq=eMb|KCܮS)WI l  ,J8@pmشe3<& Px7*%U$x*I&bF@$-Tq=eMb|KCܮS)WI l  ,J8@pmشe3<& Px7*soI6XیHy  8mchg1^>xM%@nL$x*I&bF@L8mk6mbєb| e\_D <W<V&q12zm8Xmţ)x7'+ 0HTeMČu=`G6mشe3<& Px7!+h HTeMČ [GpI lsXm;xCܟ_D <&u8ZG,Bm$dpmc mbєb|KCܐPpI6XیHg6mk6mbєb|KCܐ]$x*I&bF@]OFEn<& Px7%MS}mx*I&bF@M4[imMbm$ 8mZ2 Wr}(b|pbG,Bm$d<"q=mbєb|KCܱpI6XیHW 8Yf21^>xM%@nWt\) I6XیHL_eO@ 8mZ2 Wr}(b|)c;<$bn1# Osq=eMb|KC6I l Q8@pmشe3<& Px77AVcMI6XیHT`cMm9@pmbєb|KC_}tI6XیHT`3O@pmbєb|KCY &q*]0sm8XMbchg1^>xMFr}(b|𛚍6N,6|~e<$bn1# si̺y`:1]6nj4ۓKCi*qf9btzG,Bm$d\Ym6 bіۧX<&M?ľ1^>xMFrcM.Mx*I&bF@%Řl \.O8 WmlKC[&M.Mx*I&bF@*4W '6F[nGUb|O/ WJҭnjG,Bm$d\ҭni bєb|\e* Pxgh}Uʜ[U l  sao5VOFEn,/J?ľ1^>Y._D2r]OHTeMČ*O@ 8m;xCi'+ nT[i~e<$bn1# [i0˧OFEn<&M?ľ1^>xMFr6ObtzG,Bm$d\m< \.O8@plv-myUnj4ۓKCi*so.Mx*I&bF@%;z hx6?ľ1^>Mj4btzG,Bm$dM%pm[W*sndyV煤x*I&bF@%ͺm?h직V煜O@plv-L+ ?ľ1^>xMʍ|I6XیH9р,Qtۆ+'+0`HTeMČzz  bіۧX! ?ľ1^>B+an-`zG,Bm$dMi6F[nGUb|'+\-R8$x*I&bF@z hxykKC_E#RM!62-Gmţ-O#^>aJ5밹[nGUBO/ WRz.VۧP&q88 (,zchmWRz.VۧPKC^ uT$xpet=#RM!62ppPX6F[nGUb|”kar<_D 0\O##Ù˂G,Bm$d0ˁ bіۧX0\O#'+)Fv+mH=q@ HTeMČAgрt Q]t:}(b|”kar< I6XیH`Ag^>aJ5밹?ľ1^>aJ5밹1돺PZG,Bm$d\} bіۧX0\O#'+)Fv+mHŨAi l a ZEOFUG+)Fv+mI%@ Q]t:<82<$bn1# EO@x(׮ Px(׮B(-#RM!62B 8@plv-L+ ߷|_D <&~)?C<\I6XیH!.y bіۧX+t_D +tﭦi l ඘mO@plv-myUI%@H I6XیH,08Z2t:-}(b|G<(?&q?@U_mţ)xm\_D -o HTeMČX 8Z2 W%@ڹ\eZG,Bm$dܠeY 5m;xCr}(b|K5x\eZG,Bm$dF֯ rg6I@plv-L+j Pxm\.P2eďI6XیHo價@ʰYf0z0e.pxm\@ʰ,[@plv-L+ɶI%@m?HTeMČOFEn+t_D +tžŃxC)#RM!62X72'b|\_D ,*c\!&q9Gmk6lv-L+[$ Px d<$bn1# G6lv-L+[$ Px dˤI6XیHK.'8mZ2 WI%@ɵPY l ]BfO@plq&mشe37AW'+UY.T6C)#RM!62,sk2'b|}(b| z I6XیH`8@plv-L+ɶH5fI%@m Y=tI6XیH{O@plv-L+ɶI%@m:ks{<$bn1# ZnoxY 5m;xC[$ Px6' I6XیHo2'Y WvKC坢Lsk2<$bn1# 6C(z6+'+0`HTeMČzz   8mchg1^>MO/ Wml)G,Bm$dq]@zm9@pmFS`#q<$bn1# zOxy bєb|O/ WH\i=S-m! l qq O@plv-myUm}(b|kdM.njG,Bm$ditksN'8m;xCܟ_D <&MI6XیHFgр,Qtۆ+'+0`HTeMČzz  bіۧX&'+ɶMFl\.OHTeMČTiMO@plv-L+ɶI%@mQۂ ZG,Bm$dM, UOFEn+t_D +tžŃxC)#RM!62X72'6 8mZ2 Wr}(b|umx*I&bF@ @(mO@pmbm;xCi'+ nznmFi l *患MmZ2 WsQܟ_D <&Ml,mi&q0 .`lzm;xCi'+ nTsiQG,Bm$d\Ym6Q lsXm;xCi'+ nT[imx*I&bF@%;Q mشe3<&M?ľ1^>xMFrCl*4HTeMČ!6lzmZ2 WsQܟ_D <&M[L64HTeMČ[L6Q mbmchg1^>xMFr}(b|𛚍6Aumx*I&bF@Tiq=mmشe3<&M?ľ1^>xMFr[Ti&qSMmc5mchg1^>xMFr}(b|𛚍6ζFi l uQ mشe3<&M?ľ1^>xMFr6<$bn1#  6'8mc5mZ2 WsQܟ_D <&M]umx*I&bF@.Tiq=mFSxM%@nj4fѴ&qlsh8Z2t:nKCn {{ I6XیH]=Q`=]4xb|}(b| z I6XیH`8@plv-L+EvO/ W턑^}PSe l W_@=AOYO@plsXchg1^>B+}(b|Wl$"G)2I6XیHny FSB+g.=AOYx*I&bF@˫=f[q=mbєb|Wl$ PxIq s<$bn1# {XPSe6lsXmţ)xI%@]z {X=f[&qAT8Os'8mMbc5mţ)xgh}U%@r!L#RM!628Yf21^>Y._D2r}(b|\e*,"&qUO8@plv-L+U%@trB郘.x*I&bF@`c[q=mشe3+t_D +tRG,Bm$d eOFEn+t_D +tžŃxC)#RM!62X72'6FSxM pK8[I6XیH'8Yf21^>xM%@nYm<$bn1# n6.q=nKCnSذoe$x*I&bF@==}Qchg1^>xMFr}(b|𛚍6(qOHTeMČ!60˧OFEn<&M?ľ1^>xMFrCl]6&qCl bіۧX<&M?ľ1^>xMFrCl]6&qClz hx6?ľ1^>Mj4btzG,Bm$dM%pmnO/ WXE<Y.O/ Wv1ͮHTeMČK   8mchg1^>nO/ W媈s&q\Pzm;xC* Px s&q=)ey~'8mMbc5mţ)x7'+ a+T<$bn1# %j bєb|KC܋zۂG,Bm$d38.l-mOFEn,'+;Eʘe$x*I&bF@%mpQlWO/ WaO_b!&q,Gmţ)x7'+ ųHTeMČzXmOFEn<& Px7,n6 &qO qvt8 I%@L)X72<$bn1# ŃxC(zmشe3<& Px7"ޱmx*I&bF@=c<-`:1]6nO/ Wrl.&qO qvtد+t_D +tžŃxC)#RM!62X72'6F[nGUb|”kas?ľ1^>aJ5밹d{1#RM!624Éz hx(׮ Px(׮ǭY l =mR8@plv-L+)Fv'+)Fv+kI6XیHMY`:1]6 Q]%@ Q]ɏ[T;<$bn1# zڥq=nKCnSذoe$x*I&bF@==}Qc FSxMO/ Wr=,.[.&qY|] e'8mZ2 WrKCܬ._D-OHTeMČ48,.6lv-L+ Y|]I%@nV_R1W( l ьZ:([.q=m5mZ2 WrKCܬ.?[E]BtI6XیH\?[E6lq&mĚ bіۧX<&eu'+ Y|]Jƞ&q!OMA2@-f\_m6mĚ lv-L+'+,[iO[L6oZG,Bm$d+mKaoY lv-L+'+&B:i-HTeMČ0 l\m8Xchg1^>V?ľ1^>VpAT[L6oZG,Bm$daR {}r'Y WO/ W\U* I6XیH X-g^>V X=`6p FSxM $x*I&bF@-`:1]6r}(b|\mpRG,Bm$dXeO@x[ Px[,I l O_b!q=Z2 W턟_D ! [ms<$bn1# {e*mţ-O#^>xMFr}(b|𛚍6wEpm=#RM!62wE+iрtm}(b|kdiI6XیHF`JtychmWr}(b| e*C)#RM!62wE)WG6F[nGUb|”kar}(b|”kar I6XیHq=AWM+t_D +tžŃxC)#RM!62X72'6FSxMFr}(b|𛚍6Al\.OHTeMČA`JtychmWsQܟ_D <&MP[ <$bn1# PX]6q=AWM&'+ɶMFl\.OHTeMČTiMO@ 8m;xC^ KC^ eI6XیHuzchg1^>aJ5밹?ľ1^>aJ5밹PYoMs<$bn1# PX6F[nGUb|KCܳ/x*I&bF@m]]xM8[xzG,Bm$d<-'6FSV?ľ1^>V=}RG,Bm$dذoeO@ 8m;X=xMKkI l QnxX,.kGр,Qtۆ+ Y|]I%@nV_R1S<$bn1# _@c9O@ 8m;xCܟ_D <&iqf9HTeMČ*h%Řlz0e.px[ Px[,I l O_b!q=mbєb|KCܗM4##RM!62iz0e.px7'+ .jm=#RM!62i6O8@pmشe3<& Px7%M]i l SMq=m5mZ2 Wr}(b|J8(i-#RM!62$ҁ 8Yf21^>xM%@nWt\) I6XیHL_eO@ 8mchg1^>xM%@nK&qU4Ӊuc(mܟ_D <&isoI6XیH\mxM%@nK6OHTeMČ*h%;'8m;xCܟ_D <&i%ϵi l SM%ϵgр,Qtۆ+'+0`HTeMČzz  bєb|”kar}(b|”kar]B]u HTeMČ*.uY bєb|\e* Pxgh}UudtI6XیHpр,Qtۆ+;ERO/ Wv \ES<$bn1# )mţ)xgh}U%@r!:]=#RM!62O8Z2 WsQܟ_D <&M-¸˧x*I&bF@a@0˧OFEn<&M?ľ1^>xMFr[1pm=#RM!62 W '6F[nGUb|𛚍6 Px75mn6I6XیHl( \.O8 WmlKC[&M.Mx*I&bF@*4W '6FS^Z Pxyki l ykhmţ)xgh?ľ1^>Y.ZiaI6XیH&O8Yf21^>V?ľ1^>V=}RG,Bm$dذoeO@ 8m9@pmشe3%&O/ W! =)e$x*I&bF@X'8mZ2 W'+~ɐ[n<$bn1# X-B6lv-L+;E%@rt&q.zmţ)xgh?ľ1^>Y.Gq I6XیHhC(zmţ)xgh?ľ1^>Y.Hcx*I&bF@{8chg1^>Y.O/ Wv]=#RM!62mO8chg1^>Y.O/ Wv9<$bn1# sEO@pmشe3,'+;E s#RM!62szc5mţ)xykSOKCaO>\RHTeMČ, Xq=eMb|}(b| z I6XیH`8@plv-myUI%@K Za&qXATlz0<1^>V?ľ1^>V[L6<$bn1# m08@plv-myUI%@K ZaŏnjG,Bm$daR XO@plv-myUI%@K [ I6XیH XmmOFUG+'+#66<$bn1# llzmشe3+t_D +t U\3  l J{}r,`:1]6I%@L)X72<$bn1# ŃxC(zmشe3&'+ɶK!Oe$x*I&bF@ |xC(zchmWmlKC[%ƞ&qXD)O@plv-L+\Ÿ|_D /-s |i)x*I&bF@e?Ӊmţ)x[ Px[ن-HTeMČ,0,zc FSMA2O/ Wmlj̐jqa }r<$bn1# `mmq=eMb|kdVdZۀ 8mc5mZ2 WRz.O/ WRz.GX0ۅi l ]Bll\mZ2 WO/ WLzp-#RM!62ǭoY lsXm;xCaO>O/ W>4c\I6XیH\,\mMbm$ 8mZ2 WO/ W\U*mm\I6XیH Xmmq=eMb|}(b|Vlm#RM!62Vfg^>V X=`6p FSxMO/ WrLOHTeMČ1aTOFEn<&eu'+ Y|]JNl .&q4ychg1^>xM%@nLri l 9muc(mnKCnSذoe$x*I&bF@==}Qchg1^>xM%@nLsŹ l 9bӉuc(mܟ_D <&)#RM!62QlWO/ WaO_b!&q,Gmţ-O#^>`'+[$ѝPY`=]4xb|”kar}(b|”kar I6XیHq=Z2 WvKC坢ǹU$x*I&bF@*mţ-O#^>B+}(b|Wl$Ǹ}tI6XیH) ']+iрtm}(b|kdiI6XیHF`Jtychg1^>B+}(b|Wl$Ǹ}uL1ϴI6XیH) ']a}OFEn+t_D +tžŃxC)#RM!62X72'6F[nGUb|Wl$ PxIq nzG,Bm$dq s'8m;xC"a'+EvL{]s l =S,:xy bєb|Wl$ PxIq n| 0><$bn1# {X(u۞i9q=eMb|Wl$ PxIq nzG,Bm$dq s'6F[nGUb|”kar}(b|”kara Z&qa ZEOFUG+)Fv'+)Fv HTeMČAgmţ)xykSOKCaO>^Z1zzG,Bm$dP,.'8m;^Za{Ge=#RM!62(uy bєb|)%@0Ɵ/-prdu[&qh r`GUg6FSV?ľ1^>V4);OHTeMČiSp6m9@pmbєb|}(b|Ŷia&qJ@$)mq6lq&mbєb|}(b|Ң{\zzG,Bm$dIq=mbєb|}(b|Bt&qBt6m9@pmbєb|}(b|a$#<$bn1# 6u'8mMbmţ)x[ Px[m0ۅo==#RM!62m0, =V?ľ1^>V1fP==#RM!62řCǧO@pmشe3+t_D +t޶}q l o[EǧO@plq&mشe3<& Px7/_hRG,Bm$d8Yf21^>xM%@n`O2<$bn1# eO@x[ Px[,I l O_b!q=Z2t:_B x\_D /-r[-px*I&bF@B xY`=]4xb|%@/t&qm룉 bіۧX/-r[ Pxykе/k,OHTeMČ6mţ-O#^>^Z PxyknHTeMČ6u bіۧX/-s |i}(b|)]+ l n0zchg1^>^Z PxykSOnpATHTeMČ6uU*'Y W?ľ1^>^Z[<$bn1# tq=nKCnSذoe$x*I&bF@==}Qc FS^Z PxykSOZx[]8 Ux*I&bF@5j6uU*'8mMbmţ)xykSOKCaO>_EhBG,Bm$d[Ѓm$ 8m;_EBG,Bm$d[ z0<1^>V?ľ1^>V頫`HTeMČPUذoeO@ 8m;xC[$ Px6}AƽTkGe$x*I&bF@PqUsZ;(zc FS`'+[%YpHTeMČ6k,zchmWI%@}@\*˫ l  eՁU|'8m;Y.^k[I l Q bєb|\_D ,/5#RM!62[k.'8m;xC^ KC^ Rz-#RM!62Fvq=mشe3,'+;E)Fv_oOHTeMČzQ]]]aO=BG,Bm$dOhz hxykSOKCaO>_EBG,Bm$d[ zmشe3-KCs |iri l O<UO@plv-myUnO/ Wsy&q(zchg1^>aJ5밹?ľ1^>aJ5밹ŷٯI6XیHX5q=mشe3! ?ľ1^>B+c("V&q,P[Hq`:1]6]KC"a!ڶI6XیH i8@plv-myU0Ɵ'+\Ÿ|LsR<$bn1# LsN'8m;xCr}(b|`*<$bn1# UO@plv-L+j Pxm\U&qP2Y8Yf21^>[W P2 26F[nGUb|O/ WeZ1u[&qP2Y: 8Z2t:-}(b|a~mx*I&bF@=q=mشe3+t_D +t\p2m=#RM!62NSV O@plv-L+;E%@s z-#RM!62huc(mnKCnSذoe$x*I&bF@==}Qchg1^>Y.O/ Wv[aE=#RM!62hiS'Y WO/ WaO_b!&q,Gmţ)x ?ľ1^>nao[EI6XیH$]<tny`:1]6tr}(b|\I6XیHt]mţ)x7#OKC܏`E>ao[E™J l o[E)V4z0e.px7#OKC܏`E>m"I l )!q=܏`E>O/ Wr?oS`CpKi l  bwxXKimţ)x6?ľ1^>Mao[EہՃi l o[E)'Y WmlKC[&itksR<$bn1# K[q=Z2 WvKC坢p-#RM!62tY bіۧX<&M?ľ1^>xMFstl\.OHTeMČAVMOFUG+ɶI%@mQ <$bn1# m+imţ)xgh?ľ1^>Y.l#RM!62Q/9`:1]6r}(b|\ַ2<$bn1# 5  bєb|\_D ,6K-4ďI6XیHD a bєb|\_D ,6KI l {xC(z0e.px[ Px[,I l O_b!q=mbєb|\_D ,4 l  {m9@pmbєb|KC𛧽HTeMČP)s'8mchg1^>Y.O/ Wv-.s<$bn1# [A]Y.ZH]0z{I6XیH.5D  {mmţ)xgh?ľ1^>Y.ZK%x*I&bF@ p9$ %ÂY.\m<.=#RM!62l SO@pmFSY.O/ WvZ k[O{&qc\SO@pmk6lq&mbєb|\_D ,42x*I&bF@()Te8c lv-L+ ?ľ1^>xM UksR<$bn1#  UksN'8mchg1^>aJ5밹d_D 0\2zY5R[&q2]`ChࠥQ4zm;xCO/ W}qkGQ5#RM!62f>`ƴpPR[q=mFS4K*6mĚ lv-L+ɶH5fI%@m Y?C_ UksR<$bn1# <`Q4zm;xC^ KC^ .t2x*I&bF@u *6mشe3+t_D +t2x*I&bF@, *6mbmZ2 WO/ WTOz6FZԏI6XیH scOPR[q=mlv-L+'+4()TeHTeMČPFZӉmchg1^>V?ľ1^>V!lqFZԏI6XیH.!ƴpPR[q=mlv-L+'++miC2x*I&bF@-Oy] AJ-ni mشe3-KCr_ayt9e* l vC@FZӉmchg1^>V?ľ1^>VpATt2x*I&bF@U**6m5mmţ)x[ Px[mbS^Z[)TeHTeMČ6u()Te8m9@pmlv-L+\_D /-sԪ()TeHTeMČJ@2O@pmlv-L+\_D /-r5Q5#RM!62.kiV UksN'8mm;xCO/ WSU2x*I&bF@%m*`X()Te8mZ2 W>4?ľ1^>^Z悌sFZԏI6XیH()Te8mmmbєb|)%@0Ɵ0rp]* l *Fv UksN'8mm8XmZ2 W?ľ1^>^ZAJ-njG,Bm$d]'2O@pmlv-L+\_D /-r@WAJ-njG,Bm$d@V UksN'8mm;xCO/ W>4{I6XیHƞ {mmţ)xykKCaO>FZԏI6XیHƞ UksN'8mm;xCO/ W>4YuAJ-njG,Bm$dOMm*6mFS^Zփ]* l  5-wBAJ-ni mbєb|%@&AJ-njG,Bm$dCK=Q4zmMbmZ2 W%@ڹ Q5#RM!62ܠeX()Te8m9@pmlv-L+j Pxm\-R[&qm2O@pmlv-L+j Pxm\m*)TeHTeMČKUFZӉmmţ)xm\_D -6Kt2x*I&bF@ pnSаPR[q=mlq&mlv-L+'+0 jeAJ-njG,Bm$d@G[(pPR[q=mlv-L+'+&9Q5#RM!62 ?9*6mbєb|O/ Wɭ5-%к UksR<$bn1#  kZFZӉmchg1^>[W'+jփŸ)TeHTeMČh1 h=>+UFZӉmchg1^>V?ľ1^>V54ph UksR<$bn1# L1Ϻ8uX()Te8m;xC[$$ Px6 UksR<$bn1# `()Te8m$ 8mchg1^>Y.O/ Wv/UPR[&q2UBQ4zm;xC坢 Pxgh[a}ksh)TeHTeMČ[a}ksAAJ-ni lv-L+;E%@r=t=* l  miCFZӉmZ2 W턟_D ! [m[AJ-njG,Bm$dot ZPR[q=mFSFZԏI6XیH.5DtV=<2O@pmbєb|%@-u8֏AJ-njG,Bm$dXq2O@pmbєb|”kas?ľ1^>aJ5밹d)TeHTeMČ[O*6mشe37AW'+Uɝ UksR<$bn1# FZӉmZ2 W턟_D ! 12aqu* l =S,j UksN'8mchg1^>Y.O/ WvYuAJ-njG,Bm$d]FZӉmmlv-L+;E%@s޻$FZԏI6XیH$2O@pmFSY.O/ Wv/YnFZԏI6XیH/xK()Te8m9@pmlv-L+;E%@r2Y/aJ5밹?ľ1^>aJ5밹[cر)TeHTeMČ[cر]]<2O@pmlv-L+;E%@rKFZԏI6XیH&OFZӉmc5mchg1^>Y.O/ Wv/5v* l  c(_`{@Q4zmZ2 WvKC坢le UksR<$bn1# P{@Q4zmmmشe3<& Px7+c(_bYm6~ꂕFZԏI6XیH/si~2O@pmI@pmFSY.aJ5밺 UksR<$bn1# ka`Q4zmmmشe3/-r}(b|\)FvAJ-njG,Bm$dP,ka`Q4zmMbm8Xmţ)x d_D 0lPR[&q Q4zm9@pmFS`0l j-#RM!62@+hmc mbєb|O/ WH֫ԏI6XیHZksN'8mm$ 8mc5mZ2 W>4?ľ1^>^Zƨ)TeHTeMČz|i%**6mشe30\_D 0\b* l mk2O@pmbєb|kd_D &6PR[&q)BFZӉmZ2 Wr?o?ľ1^>xMS s!.}* l  3*6lq&mĚ bєb|kd_D &6G,Bm$d@`:1]6I%@L)X72<$bn1# ŃxC(z6+;E%@r9I l  c\!q=mbєb|kd_D &0Yf2e5ͤI6XیHYf2Rˠ shzc5mţ)x7'+ 9G,Bm$d9 bіۧX<&~)}(b|lͿSC)#RM!62S`E?2'8m;xC-}(b|l,ʂG,Bm$d*6FS[W'+jײOHTeMČ@ST6FS[W&,OHTeMČ@{}rvS'8m;MO/ WmlҭHTeMČ [q=eMb|\_D ,*c\!&q9G^>V?ľ1^>V=}RG,Bm$dذoeO@ 8m9@pmشe3&'+ɶL/&q 8MbchmW턟_D ! [C)D.Mx*I&bF@ջ2$%pmMO/ Wml6ظ]6&ql \.O8@plv-L+EvO/ Wƭ!{E 0><$bn1# j@{E9`:1]6I%@L)X72<$bn1# ŃxC(zmشeuV+EvO/ WpXBػ HTeMČ \.'8m;xC坢 Pxgh:G,Bm$dK9 bєb|𛚍6 Px75mJ;x˧x*I&bF@-$tuc(mi'+ nBVI6XیHw+imţ-O#^>xMFr}(b|𛚍6%m,\.OHTeMČ [GpH]6q=AWM&'+ɶMFl\.OHTeMČTiMO@ 8m;xCnKCn l O]'8m9@pmشe3+t_D +tA%zG,Bm$dsH"CStm;xCnKCn=#RM!62$ 6lv-L+'+$-O z&qBt zq=mbєb|}(b|ln儽wOHTeMČ,0,O@pmbm;xCnKCn z&qB@MA2A0<$bn1# `Q`:1]6m Yk0n8X$ 8c \wbŴPXldC+9 eS:bA3:,P2c{}A%@xB$ckV(b2f3Y ARM6ub/ c0`ݣ* (q0/8o@pMR$uHC @pM 2 l8$8]7I66$Xa<./usr/IBMVJava/html/enterp/en_US/jdkref/u-index.htm.uti$$   aenrt".<>cdhios =_fgjlmpuv#()/Ubwxy ,-CESkDFILMRT23AHNP[]z0GKOqJQVWZ!189:;B&5?XY6`'xrH0(P…?P`(Yi$0a!;Qp$&z  APHX 9J oGK7W@S}<9$i$0a!5Ts0}i#@@( @(  `HKI!?I J^G| τ2H`$ [I 'GˊPp@ _P THcY7JWDzϱ ?8US捺:iJao|tҔTHgYk&{Yu Wb*TУs"9΀p%˨vR}y5U}) 9Q9@8 Tгk{_$v ~5I 4u U_AU甤.:m$]C”0&:z 7.4#(=/>|@8 2[``% @k n•}<"zyuB(o4ILu Q֝眞rҋ|ܸzł@ v H '|SΎ|W<˨vR|W<^[_`;[I"{j/K߉ίFt6? 8ﯕ|0*Զ.G3ss$?@캇a(NEsO9iEn\= qĩ v %%d-Nu.siy-P0iy-(ˇ% v ESv_](nxHnn uESv]C”ukKzϓ-r`$Ͽ;s;Z_˨vRi|OYun\=-MI~0U* Ht{d$z";.aJ:ӵzj wp@pHBh$ `$,VՒ@gԝlaQq9֝V˨vRgޚBžn\=-M *IL{DThP0im饾n\=hiϽ5aDh* 3:h@gԆ|$ӏΎ|V˨vR|Wt7.rH6t ES ё+m Y$U1e; )GZvB+63c?n\=hiϽ5aDh* 3:h@/>}Gj;[|Wlg=la(NE}lg<ˇ%63VHcڡz2:em$?@캇a(N}v[$o@:ZHxXb?h;YxEiϽ5`tJ69؏ZVv[(~ Y$'v}tuk>ղ;Yo7%n\=-MòI"VHcڠ<} _ =Y B;6uvE|;-oI$j$gC1֔e^ZH}`b?j";.aJ:ӵ=n_|[, A` )8XP$c[VIRwѱGiGZv'P0iY-r/jhU ES lu!-,*m;] 7 |ܸz< #z2;Hx >.cʎӏΎv7˨vRv7,-r/jh% 7*IL{T S'E< #)~60w$} q6uY$R=$s} ] s>U7$}E 7*33 z";.aJ:ӵZ[~?;K|ܸzG~2ZvMXgt*h9؏ZVDI.%s;_!;_!9wsˇ%#xXb?k[I"{j/н9؏[CcG-Y$U1e; )GZvB+Kpr8b?io@89؏Z N} GZvMXXb?h4^qߏ G-`h9؏Z%d-Nu.siP0i-en\=-M9w;X*IL{Tu6G~2]?&?hE^q<+;VILu Q֝眞rغKCyo@8~ %T{\K ;m%d-Nu.siy-P0iy--؄$0wpD4^?b{[I"{j/_X9wu@ñRv;)MHh$w*m;\t|zv.7.q`H$ A 8(!`u4X A H HX$Ͽ;s;\t|zu Q֝x>=s~ao@9$KSC"nߥVHc$9aLa(<)M0UMؘ>:m|/ꪪ+nߥRv;:}ϡQlESv]C”uk}o@:[h;]1zi%MKc-`hf;M?y;N>::ӵ[.aJ:ӵ_cˇ%wޚ~0U**H"ᔖ[R2v;M?(l~$8}v;M?ILu Q֝<]f'n\=H48XP0,T`H$X,( AmY$}]IFsio;]yyOO7|ܸz"ZfZyVHcڠl2?؆oռfxqdThP0ioJ~oy[, K!@XX SE i`$( AmY$}]IFsio;]yyOO7|ܸz"ZfZyVHcڠl2G]؆oռfxqdThP0iϽ5ihnntˇ^_t@4^_tI.%s;YP0iϽ5ihnntˇ%7d7Bm$= '|?/CvCt/\N6? S'9ٸHc˨vRgޚ7d7s\[/CvCt/\ N} %M!.`hVIR$Qq9֝V˨vRgޚ7d7s\[_z} ESKgu{Lt!.`I|2:&GOϸDHdf";.aJ:ӵzݐ݄9؏Z[/CvCt,s@4^)Xb?k[D Y$Kg]FKGZv[.aJ:ӵzݐ݄9؏Z[_zDcem$= '|pm1~4^)Xb?k:O+eOϸDHdf";.aJ:ӵzݐ݄9؏Z[/CvCt,sA֝V4J/CvCt,s?Y$Kg]FKGZv[.aJ:ӵzݐ݄9؏Z[_zDcem$= '|pm1~4^)Xb?k:O+I4q28~}C';7ILu Q֝ݐ݄9؏Z[/CvCt,sA֝V4J/CvCt,s?Y$Kg]FKGZvB+e; )GZvB+KCvCvb?io@9$KSEnnv#U*+*pm ݐ%? G-Un񖬒*m;_!! Osˇ^)Xb?h;Y3:hEiϽ5aceTzDcem4";DI.%s;_!;_!! Osˇ%7d7@O;X*IL{Tu6nnv#*7tQjOϸX9؏ZHc˨vR{7d7g]9؏Z[/CvCt398;D SEnng'`Xb?k[D Y$Kg]FKGZv[.aJ:ӵzݐݞrqv`b?io@9$KSEnng'`Xb?k[I"{jI:Lt!]ce?CcE?>}!$?@캇a(N׹KCvCvyكen\=7d7C3,sA֝V4J/CvCt398;X* 3:h@T;d}tuk;^- 'fv#pD4^frqvv#U**[?Iz9؏ZN6? eEMtL>q>ŒESv]C”uk" ~27.qzgv#:ӵzj?SEӅ9؏ZVDI.%s;_!;_!_N~v#pD4^}8Ycem$= ʺH_N}`b?m ®wEySHc˨vR|V}8Y9؏Z[/P,~2ZvMXgtЊ:ӵzj;D G-`h9؏Z%d-Nu.siP0i-Bpsˇ% G-`i$U1mPWeUBp;hl~t(Sʟtڽ}^E`b?j";.aJ:ӵKE)e6:_? |ܸzx0J[* `, HO8N-P0i%2E/Zn\=-M[A:^[I"{j _uCNIj?_*eߩ_ $E)e6$a$?@캇a(N-)|-rK{-EG|J[* `, TwĬy;N>::ӵKe; )GZvh8 QKo@9$KS@NeVHcڠ))'C-t-W}>e :>$GM|gK|*FW)g,*m;\dR[{-žn\=oeC|TԷV Y$'v}tuk˨vRqJpn pD4 Jpn e9Tǽ@RS _uNCӤ|2oԌE"2C0ESv]C”ukSpoe8ˇ-췈t/0"Q t/0"QHO8N-P0i%2o-r/jh2 ~s[I"{j n emHʽ#)о~t`t6Eߩ_ R[hbFHc˨vRqJpn -7.t";TԷVHO8N-P0i%2E/Zn\=-M[A:^[I"{j 0}:HQW(ΖHe"2C0ESv]C”ukSpoe8ˇ-췈5-췰UDwĬy;N>::ӵKe; )GZvh8 [|ܸz"Z%8 2ߜVHcڠ))†[jqOt/ߜHc˨vR|W<yo@:[fvkoaٮǰU@@/>}Gj;[|W<˨vR|W<yo@9$KSEaٮǰU**?Ca_ 쭕9.߮3]|#:B_!cdThP0iϽ5il3#>:7.q{;Qоp*hfdqh_tI.%s;YP0iϽ5il3#>:7.rHfG K*IL{T-N1~4^328Tt4/\N6? S'9ٸHc˨vRgޚwǟ qo@8fdqh_tA֝V4J/gx*:.`hVIR$Qq9֝V˨vRgޚwǟ qo@9$KSE3#GCBm$= '|?/gx*:.`I|2":&GOϸHdf";.aJ:ӵKKf(˿>:nv#p٤2Džcei"z>:hXb?k[D Y$Kg]FKGZvla(N--H.~k9؏Z[_{4F]t4,sTǽ[*~}}!DThP0i%Ieߏt7;K|ܸzEw|tб~2ZvMXgt*hH.x^O9؏ZVDI.%s;\d]C”uk$Q~?5|tG--r/jhH.x^O9؏ZVHcڧO9ٸIILu Q֝׳39ilEw>ӗ`b?io@8H.x N\9؏Z Nc}oٙ=T{4F]A,s>ӗ Y$Kg]FKGZv}^;]ffr٤2ǘ}.~27.rH٤2ǂcem$= '|Ewr~2ՒESv]C”ukO7|ܸzŁJh)$Ͽ;s;];]y[_д}Tǽ@e F~ W[-  |eILu Q֝C2wRO:&GC$?@캇a(N֗Ev`ˇ$_*jH* `, HO8N֗Ela(N֗Ev`ˇ%;V ES E:t1I MtL>Ԍ&Hc˨vRi|OXVp p@X%MI[D VIIsi6(P0i6(-r/jhP0(X*IL{T-(6? 8}_uCMdThP0iKֆNvn>&ˇ$_*jH* `, HO8N=s~ao@:H Tԑ}0U@X%d τQq9֝x>=la(Ne 5ESv]C”ukKzآs`ˇ$_EG|J/ ? *;+$^|$ӏΎi|OXV˨vRi|OXVp pD4(m$=t ZMtL>Ԍ&Hc˨vRs%C';7r~[/``EG|"%MI[D @/>}GiGZv;\t|zܟpD4x ES E:e>&teMtL>Ԍ&SI_ Ԍ2y$?@캇a(N}GiGZve; )GZvtF[n\=-M s}TǽI-Ӥ2Y$U1e; )GZvt;[/Zvh.5$_mф]1+$^|$ӏΎv7˨vRv7ow8ˇ%R߸s[I"{h(Z/)߸r";.aJ:ӵ=`lQ]-rISREVHO8N֗Ela(N֗Ev`ˇ%;V ES E:t1I MtL>Y$U1e; )GZv' +t1I7.t}5$_m+$^|$wei6(P0i6($ |ܸz"Z plATǽB}NNK7$(l~ʚ8} Hc˨vRi|OXVp pDwĩ"`hY$'v}tukKzآ]C”ukKzآs`ˇ%@`i$U1mP_`PH *hdq0";.aJ:ӵ=r<|ܸzE N֗Nuk>ՀcJ/ '?( ;VIIn:ӵ=la(N֗d-r/jh<*IL{T gHgOΝg!ORv;3Bz";.aJ:ӵzj wp`PX(, )(, BmY$}]IFsiϽ5la(N}t/ߜ[_Ш_[9TǽILu Q֝s֗n27.t5.=$?*;N>::ӵzu Q֝s֗n27.rHX*IL{T P`*oξ]K0wԶ@.=~P`Q$PEЯgN;-Τn=dThP0i=iqn\=ZvMXgt*h`)?Y$Kg]FKGZv[.aJ:ӵz|ܸz"Z, `i$U1mPWeN?, `IڐñFtS'C?SmEv#<߿dThP0i=iqn\=ZvMXgtЊ:ӵzj?Tw(N} %M 0U@gtЊ QVIR$Qq9֝s˨vR{7.rH*IL{DA]:ch`)'jC}BSG#H:Oƣ:GShE1~6ShE1~5wSmEjH 'LN$?@캇a(N׹K-r :ӵzj?Q֝V4"gޚT`S[DGM4J *[?2]N>::ӵzu Q֝s֗[_`S[I"{h(+'Wc'#`UBSG#:Oƣ:GSmEmIJ~N񵶆U鎓D`ICILu Q֝s֗[, uk(N} %M 0U@`("?Y$Kg]FKGZv[.aJ:ӵz|ܸz"Z, `i$U1mEv_X0C7ӎ_ ueI٣`I$v:&GNESv]C”ukǺ[ˇX0-wZ N׹  SEAR|em, H '|SΎ{]C”ukǺ[ˇ%n2 ESKgut, KwʾSG#`R";.aJ:ӵz/^~qo@8`(3-"?/^~s[D Y$Kg]FKGZv[.aJ:ӵz/^~qo@9$KSEAh?9TǽILu Q֝/>NˇXb,1$Ͽ;s;Z_˨vRi|OYun\=-MI~0U* Ht{d$z";.aJ:ӵz-wZ[* * [VI}~Tv}tuk;^.=|en\=-M KwU*e1~7,`IЊe#:GgVy%<[6"7Ψ:dThP0iOϊpˇ)ǟaءO< `h+$^|$ӏΎi|O[.aJ:ӵ=s0 o@9$KSC"'6(`qTǽ@!&2ӎ: Y$U1e; )GZv'-rJxx6(`*jS=>&C* J  >s;Z_˨vRi|O_ e[_lP [I"{j,&W3@l))cω ΁CILu Q֝`$\ }p<*N?m? SRL'YVp6m%d τQڎq죭;\Ie; )GZvs3[_=/>VHcڠen\=O& DOɈ<*N?&VVIIn:ӵ]C”uk =oen\=-M˞lm$='_ ˞T]0Gj:ϣ"~IDThP0io ԧ w/-rJy0D29O&>&G9y;N>::ӵ[.aJ:ӵZNr^[_^jA{ ES3φu|#: w/̨r S_ nY$U1e; )GZv\?Ktqio@:St%MJq@m%d τQq9֝s˨vR{n27.rHX*IL{T :tqmFtläzC*m;Z_-r EG|"QSEB*";EG|"QH τQq9֝/e; )GZv'[_=0U*w'_ ^(e [_ RC7Hc˨vRqfK~27.q`@/;D SEA{K G-`h+$lw˨u8N-P0i%>̗!en\=-M .B,sTǽAR$]1~4X4D ~2 tVʟq>"ŒESv]C”uk2\v#p!~9؏Z N} %M .B,s?Y$Kg]FKGZvla(N-/1d G--r/jhh `rcem$= '|鎓=%_v#Sm ¾DSG#O2sqdO=sI!P0XLu9p_|nyJBhVHe; )CcˇsRS@VHe; )N .)H\uM `i$2_AU甤.:*I a+cˇsRSB*I a(r*TC[I!P0~\=WR*I a*1U}) C[I!P0D&:z 7<*T(t @K[X*hY終`@;}?Om$H`i$0P<{I!HIF l'9$q7I66$]./usr/IBMVJava/html/enterp/en_US/jdkref/v-index.htm.uti$$    a .et"<>_dhinrsv cfjlmo#/=EKSVbgkpwy ACOu()-DILMNPRTx0BFUq,13GHJz'245689QWY7;XZ[]!*:&P-D&G)ځD4q2 0@iځlD%eAa"<~K,;P=egj)@Aa8(P) F@@M7!Sf|H8BVYJtwj&R0&/'PH` "(&R~,aƀQ=35ȶE?YJYe(r-'CJC H Jkp#RpҲ S_:|/JռqCr"Rϑc&8`$XB:^4JyVA5#D%aGAgK%@` P֡ըFePk,:+,ztp)j %(w+ PWG j %(w+#DC۵;GYe+ӣKAp#n[?4JPV PWG > PMo)C X,ztp)476A5#D%`JuR:8h> PMo)C X PWG Fݨ&~hGYe+ӣKp#n[?4JPV PWG p#n[?4JPV#D!nmڂk|GJJŨGYe+ӣIj %(w+GYe+ӣJj %(w+(GYe+ӣLp#n[?4JPV PWG Ap#n[?4JPVeN%$Ap#n[?4JPVPWG ,76A5#D%`eN%1> PMo)C X=B:)^4Jd|vR|YJSj %(w+(GYe+ӣHh!nmڂk|GJJ,ztp)!nmڂk|GJJƨGYe+ӣI C۵;buR:8hAp#n[?4JPVE,ztp)&|vR| PWG |vR|GYe)Ye)%j5m)<kZVQѼ;Ε&=35ȶT`u5j!%jj0ըCJ6`݇5tmR5jSOYeU) WG 5rFEu2ݨ=ҹ첁EQJm^4JNlןbv%`KNHȼ,5dTk\Q?)#":iaOOeU) WG [f"a6F[罿p J{~uY@"|(GyD?|وEd5@;5,J@0juURePH69*}sF"awz=4Cv*MJ:8h1o|2,lj{~Ϟ첁EQJmӣI~-"v%ah{PʪSZ,{~\Q{ᑯ{hϞa``=P35ȶ |7"o3(?oFD?oFvݟ=`v%a4!7z0PʪSZJH; ʢʪSutN%'yF #-ڀy߸`Ϟs# fF*;%N%'yF #-ڀvj$X EB:*Mj`ld#2 kF ls+1JYT&nѨƼ ԃGls%HxוC1~\!"ʧ|eT%^4JN ,l_<G#QcdeP>xn%sue ~SF*;܀^4JN ,l_<G#QcdePDL_<:(0T EB:*Mj>xn&G yV(!>xnR&ֻ(Q#`yciW,1>^)k]PaR "DkQG#P5Z,~|Q l_aR>D?gl_lj٨bV3bPʪSZ~hla*eKb‘6J1""]x C!YUJnUD?gl_lj @;ϞGXx첆oיHfF*;^4JNv%c6/,5vT/K!^)k]n,xA@W2eT%^4JNv| 4 c@ p:W>xn`c`첆oיHfF*;^4JNv%c6/,5vT/K!^)k]n,xA^1*G,7WA*Rwܶ/6F[ac`z|4t| 5B:;h@YC7̤3\iN%'y?}bcdePDzuURCc V*[}G%߯FDpǚ*Ac&ֻ(F"YPn.c׈2eT%^4JNv| 4 CGt| 5B:D4q^e![O?gztp);[{#-ڀvj$Xؾ#֮JRؾ8F9,z0MvRE8Pn.G,7WA*Rwܶ/6F[acOG+<7 P1e3~C5ȶ 0)Q~jRwܶ/6F[H+|GYeU)]P?460k|prY aHZqf1xj ʪSutN%'y?}bcdeP>xn|4ϞGX=P) "|(Gy?}ӣI~rؾnQ"ĬfeTu@UʖQ1d7х"mkb-ž"]x C!YUJnUD?h}uxCv| 4 z0J T# z0^e![O?h}uӣI~=@;5,JCeTu@UxN9Ie|>xnWkԌ"m܊6YUJnUD?h}uxp~E@<h`<ϞGX`<e3~C5ȶ 0)Q~WG 9 6F[H+< ,5@Cǂ?#DvT5ڟ<7,]ӣI~rؾnϞF\juFYC7̤3\iN%'y?}bcdePDzuURCc V*[}G%߯FQz0"]x C!YUJnUD?h}uxCv| 4 z0:W>xn`cрO첆oיHfF*;]jRw><{pǡcdePD!8cGYeU)]P?460z<=}~O<@ FseT%^4JNv| 4 w`sa v{,REQJWG >|2ݨfEX͋=B:*Mj]->coף De([ vb-׈2eT%^4JN'#-ڀyp01~c6/:W>xn`ax(fykm>aR>D?gȢ~x12ݨfEX'炄uURCc V(r(>xnTprY uʑ1C6/,7WA*Rw{lj @y?}ؾ\jul_{,REQJWG >cdePD uURJA>]"8c~6l_#Ce^U*'H; |kQwڟ<7,]ӣI~mlj @y?}ؾ\jul_{,REQJ ,WG  >nQ"Ĭ#֮-O#[}> @]7VHG(bk'TYEET%^4JNj!6F[ac>l_t| 5B:6/=P) "|(Gy?}ӣI~mD4qv%`CGYUJkWT %^h |kQvTQ1d7Cֻ(Dpǚm ؾ첪]ӣI~f6F[ac>l_t| 5B:6/=P) "|(Gy?}ӣI~f6F[H+OGuURCc V((SG%m'Zk3bʪSutN%'y?},lj @y?}ؾ\jul_{,REQJWG > 6F[H+Cp~EB:*Mj0?#H; |kQvTHZ,1C6/,7WA*Rw{#-ڀyp01~c6/:W>xn`ax(fykm>aR>D?gр6F[H+YUJkWT %^`>v?_x ֣Zr6YU"8c~6l_YUJnUD?g9#-ڀyp01~c6/:W>xn`ax(fykm>aR>D?g9#-ڀvj$Xr1,5 P|ֻ*Dpǚm ؾ8F9,ʽI@=G460rʨa*cͧ{n6}r*MJ:8h@YCnϞ|ҹp0 ؾYC7̤3\i@YN%'y}6F[H+= PʪSZa<שl_P uC+$g#j1Cj5 2 ,,7WA*Rwg޽ 2ݨ<7 3bsa|첆oיHfF*;܀^4JN ,סށ6F[H+= GYeU)]PZ0GkԶ/|(@סށPZz= YEET%^4JNOq@<h?gx@\jul_ e ߯2r-Œ?Twڽ:8h8#-ڀvj$X#֮*R AZk3b*8YU %@A=Dqf=7ZkeT%^4JN|7XnϞ|z|4ϞGXf=P) "|(Gy?}ӣI~o#-ڀvj$X?"eTu@UJPGm>qֻ*|ܤMvUH_}URztp);`=@<h?gx@\jul_ e ߯2r-Œ?Twڽ:8hz0v%``=B:*Mj0#6k]>xnR&ֻ *G y͋>*MJ:8h'#cdeP>xn;f:W>xn`ax@YC7̤3\iN%'y?}XnQ"ĬcGYeU)]PT>R#qֻOYUJnUD?rϽ&G$vhP<B hP<T#(fy?>aR >D?rϽ&G$v%adrJYUJkWET%^4JN ,drLljƅXP=+ a@^eOqO?rϵztp);܀I12ݨfEX@uUReU) WG ϹᚌXn5X3QuYAh[5Ѩƌ?TwyN%'y ןs52ݨfEX3QuUR lCLWbtO ceT%^4JN>j1cdeP7 b|45GX=PZ04F4j17^}ӣI~uF,lj٨bV7 beTuAh[6UX'S5']"8c~6g#~ʪSutN%'y ןs52ݨj1>:V7 b`g@=> F؆ƍF4aRϵztp);nō@;5,JᚌT#֮-Kbfʼ+#xf$ukG y>yuʣ9c>GmURztp);P}#aR ӣI~NcdePD,5ʠr2N%!roܥpԞ>4>j\T>CcͧyPS=7FEϯFYUJnUD?rb'rx} 12ݨE'`ҹ^i5'`첁EQJ,06/vN%'y;lq@;5,J<|>#֮nE%Z>RƂ lr*MJ:8h<'1cdeP7"IQȼbb``=PZ04F4j1N%'y?}"IbXnQ"ĬnE,5 F؆ Q7"IQqtI4 ʪSutN%'y?}"IbXnȼbb;fJ^i1Q1P0͋<e% 3QhGy?}ӣI~sȼy6F[H+yF(B:*Mjф!l”b-ōȼbb"]~R#3{~6F[H+㼰?zuURP@m`4e ! @m)h`B1PURztp);܀x,C7cdeP<<5E+FOFh֢vYC7̩?)r&2 ,WG  >3{~6F[H+㼰?zuURP@m`4e ! @m)DeFD!eT%^4JN ,o;n#'O BTAPJ瑓рZ'* ((G]P*~/|)܉̣ >D?r϶㼱 ߽@;5,J?x,fOޡeTuCE є( 0,09:F4'PGhvQ`kQ<5YeU) WG [}x񍑖@8@(,(je3~ʟ |7"o3(?|ڽ:8h86[lj٨bVӃeqeTuAeO#3H aeT%^4JNm;1Kc #-ڀqPXP-+(#(fy?>aR[jRwKl|^y[lnQ"ĬE8a-|6JYUJkWT<kE(!*1F `:V5x3F(B:{,a-ihcF*;^4JN㡼9|3#bv%c_ 9|0TbT#֮-Kbfʽ([o<sႣb"]~77C%.?,]ӣI~s|t71φdbXn|t7 9Q13bc_ 9|0TbT# 3be lCLcF0)Q~jRw s6F[H+o<sႣbeTuAh[6UF"XCyc 1ծʑ1EM>K,7WA*RwKo'!y cdeP4[the3~ʟ 0)Q~-Cm^4JNmd0O!lj٨bV/ CT#֮`ZleKAC@@+]@ J"p 9eU) WG [y< 'k#-ڀq#(fy?>aR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6aaR[y<ڽ:8h6a PMo)C X,ztp)C۵;#D476A5#D%`RuR:8h76A5#D%cT#D!nmڂk|GJJ1B:)^4JB j %(w+"uR:8h> PMo)C XGYe+ӣH > PMo)C XT#:+,:+ S_:|/JռqCr"Rϑc&8`$XB:^4JyVA5#D%aGAgK%@` P֡ըFePk,P謲 r-&PjO'6F[ lp!:$7I66$4./usr/IBMVJava/html/enterp/en_US/jdkref/w-index.htm.uti$$  t aei.<>cdhnors "_fjlmpuvw#()/=Wbgy ,DEMOS-ACFITxBLNR[]kzHKPUq&0138;GVYZ246JQX!9:5'X.x2:Di((R`BO@ )@xbhXI <BߖB` ,Y@8= *|WoyM}ya$,8+!Ja@mmh0Hh2 "vB󱄐- - VΝ\AyL+;I 06.CG6'FB @QUŔ@@@@:ݩU,hcN;$,*4-Rq[,)UT&/q] +1O^;8Ls}\ J[)wO,8sMO^;8LuN'B Ub}s+HXcN,S&B&B,0YV; SW,`SeB,0YM?U{>0VH] )}ʯrYGUta> SW,`S*I |e; SW,`S)b S`5O^;8Ll$>X`vTyUC(Z[ !wO,@`5O^;8L*[ !wO,0vTyUC(VH] (> SW,`SuB,0YGj*vqe{VH] *}ʯrYG l$>X`;X`X`܇gQ)Xa$. > SW,`SB,0YS?U{>05b W?U{>0VH] )> SW,`SR[ !wO,`5O^;8LB,0YIj*vqe{1b P4vTyUC(Uta;X`G\*#M6Jbwb.4Jurta6ҵp7tڧ×e00iޱVH[ʡuCrn:{U,TL;+a]:qDTvP:,0YFVynTxtxJbwb Q$|][ i9Ѷ.mj:9Qn7O/``qbT9C/|ƆB?Lu W䫾YnWM}vV»uz"nu>X`G\*#M6F+aĔz[H Ӯsm+Q] (Jur4o-j_z[ "ns*^׍ ʄ~>W|Q2쭅w#MER@|eiZ>)EmS` ( J`@,X$!J[Im;+aM::6ҵZ}K|eiZ>)EmS@ FS*IKsT ~RwW(*] (Ji+? tڧÌ@PX0H CC(}m%rvVšutmjta6ҵZ}FJ6YLJŊERUA$U-ݔ Q!('26Td ILN%H Ӯsm+Q] (Jur[nTxrP,E9U*2eW~Tܜƛ;>(*] (Ji򶁙"6Td8Jbw9b.4Ji.mjm[@̑nTxrP,%ERUvuYVcum14}wvy[@̒"nu>X`VQ+h-jF@t`8ILN A,UAр*$aM::6ҵZ}K|eiZ>~V3$[? )xdfIbT9AGFݰVqէy[@u ]:?^V3$H[(wO,m+U~;odtڧç{Q,$FÉ)Td X`H Ӯsm+UԻ Q?m2EmS@Jd*IKsT^ttmgZ}ו P߳um2T~Q$T雎vC雒Q$U-ݔ Q?m2EmSӽ#a(pF@p:0%Dul)\FVOwO,m+U~;odtڧ×e0/ ,U*27ܼ۶:+hgGd=H7Z7$H[(wO,m+TYmu;'[?;Sr[ Q$|][ |ܣm+TY] (J0rgcN~CO/`&:Ɲl$̪BP2YT}Y]IYD 0@@ p `B'R#/:$Mߒ~ʖ[:IY"nu>X`Sg*Y4N[?;Sr[ Q$|][ |ܣm+TY] (J0rD}Y]IYD 0@@ p `B'R#/:Mߒ$:9Ru>]:ݳ+9Q$U-ݔ Q)vA"6@А@A @PhH *آH li[ i9Ѷ)wO,m+R?NSl샮EmS@ ,U*2O Dla?pdeNI$ta6ҵ#6:[?`PP,0XX` 0`PP,0XX` lQ$J4쭅4JԏӔ Q)vA"6YL\*IKsT"u60z22_ʸ:$ta6ҵ|:|M<8X`( €p0(( ,,0r@%b$[I\ƝsiZzta6ҵ|:|M<9~(So*2>[ "ns*TNFFT0(( ,,0z3pU~C*] (JԏӔ; nTxqA@ Q`J`X`( +lQ$J4쭅4JԏӔ Q)vA"6YL\*IKsT"u60z22_ʸ:$ta6ҵ|:|M<8X`( %a@8IL @$P,( Xb 7W-el)\FVޥ>X`_NFG-j_ VH[ʠ<1ё @Fn곴tuER@|eiZ> ͌'{26G?V*آHӲӮsm+UԻ Q-p~W-j_ ~WXa$U-ePj3rt^4ퟖG`7񖁱h[qDTvP:,0YFVOtlsc ^̷M<:yǔG?Xb [cNSN΍VR,0YFVOtlsc ^̷M<9~(S*Zc ^bT9ActxӶ~Z5+_[gTж"nu>X`VP#|QmS `b[Im;+aM::6ҵZ}K|eiZ>GXtڧ×e0|Ql$̪?)<|Q~W"Z9ʉ$%DTvP:,0YFVOtlsc ^̷M<8aL Xb 7W-el)\FVOwO,m+U:Z9a[? )-p c1aVH[ʠ# »=O]+|4rH>KId8z"nu>X`VV%mS~@&[IrvVšutmjta6ҵZ}XCO/`RYVH[ʠc򾟕?gH[(wO,m+U؝OM&V@o[cNSN΍VR,0YFVO:2-j_LN*IKsT ~SbteI~(*] (JձT2tڧæ4- }b6"ILMh[p*#a+aĨ.4JձR,0YFV7$[? )Yg"d4 ,U*2"P雓gM}SZW~T"ػtSH p 4%zƬV 6hH$X@lSbeE\~mkVߒ"nu>X`VS0-j'Xb [cNSN΍VR,0YFVO~B{O/`N l$̪?)=w};OOcER@|eiZ>>bc}q[? )N7l$̪?)=w}Dʖ7$ta6ҵZ}S?'FEmS0`, V@o[cNSN΍VR,0YFVOcȷM<9~(SG,U*2}l22t6Q:2Q$U-ݔ Q=:2-jL'tSXb 7W-el)\FVOwO,m+U1{btd[? )LN*IKsT ~Ph:QFʌ=IKwemj:)OtSmjRILtSX`THE2#*i9Ѷ] (Ji'tS-j_E5ERUc ":'[z4j$ta6ҵZ}XC=%mS XA%0`, X  X V@o[cNSN΍VV%] (JibYxCO/`̓RYVH[ʠc:)շWՉd=qb"nu>X`VTёnTxq $0a`0` $0a`0`UDi+ӲӮsm+UԻ Q=:2-j_x&'FKl$̪?*+[`6)= DTvP:,0YFVOu'tSIJM<8X0HS@pР(}m%rvVšutmj,R,0YFVOu'tSIJM<9~(Sl’uERUNtgK!CIKwemj,R{EK!Ի QIJI,-j_E0bT9@'tSV%ǡ$ta6ҵZ}XC=%mS XA%0`, XHP  X V@o[cNSN΍VV%] (JibYxCO/`̓RYVH[ʠc:)Ӳ+IJ1DTvP:,0YFVOu'tSIJM<8X0X$0aA%0`, XHP,@(}m%rvVšutmj,R,0YFVOu'tSIJM<9~(Sl’uERUNLubY\zH[(wO,m+UՉd9nTxq $0aa!@H` aL C P,UDi+ӲӮsm+UԻ QIJM<9~(SuERQ$P1H%O W~R{E:>cUN>0~R{E5ER@|eiZ>K!tڧÌ! !S Xb 7W-el)\FVOwO,m+UՉd9nTxrP,%l$̪?):O`G,vJh ӎj$ta6ҵZ}VIJM<8X0 @AL Ca@@0@hXb 7W-el)\FVOwO,m+UiK!tڧ×e00CU*2K!FFU<;=bY5ER@|eiZ>K!tڧÌ! 8 )`@H`€CB*آH li[ i9Ѷ] (JibY[? )Id:[ "ns*Fy*}ή`f::) jW~R{E5ER@|eiZ>K!ԞOr6`@H`@$4S`Hh1b$[I\ƝsiZ>K!Ի QIJI,-j_E0bT9Aw 2uߔf~d]FFUߕ+쨙IzMDTvP:,0YFVOu'tSIJM<8X0X$0aA%0`, X,@(}m%rvVšutmj,R,0YFVOu'tSIJM<9~(Sl’uERUNIJ1DTvP:,0YFVOr6`@H``  ˜0 , ` Xb 7W-el)\FVOwO,m+UՉd9nTxrP,%l$̢HcJst}dƵ>:)*] (JibYxCO CA0`, X ,UDi+ӲӮsm+UՉd:ta6ҵZ}XC=%mS@3`CU*2.N|uW~Te'tSK!]5ER@|eiZ>K!tڧÌ! 0 ,,0‚V*آH li[ i9Ѷ] (JibY[? )Id:[ "ns*Fy*}ή`f::) >)ew'tSQ$U-ݔ QIJI,-j0 ,0A%0`, X` V*آH li[ i9ѶIJK|eiZ>K!ԞOr6YLtS K!*IKsT ~R{E: ubY\zH[(wO,m+U1{btd[?`, X0(˜0 ,pb[Im;+aM::6ҵZ}K|eiZ>"6YL ?btdVH[ʠcRvhʻ:)oDTvP:,0YFVOC[s"6 pm+UՉd:l’q%1=!RX`E0J /;SN΍VR,0YFVOC[s"6YL %h?Xa$U-eP8w'tS7WՉd= [lW~E'tS7W~wӨŽHupu j"nu>X`VV%O`n>HM<:{E0C~ JibYE0ILO`oԯ* fL),H Ӯsm+UՉd:ta6ҵZ}XC="6YLtS:%ERQ$U-ݔ QIJIHM<:{E0C~ JibYE0ILO`oԯ* fL),H #-FVOu.mj,R{E3!-j_E0g%ERU@u&]'tS[~H[(wO,m+UՉd::)ۭ-j3`uBE0CX`*$La?$[*22siZ>K!Ի QIJIևO/`̓!և,U*2"nu>X`VTёnTxt`4dLO`FN,UDi+ӲӮsm+UԻ Q=:2-j_x&'FKl$̪?(ld6'FTdeIH[(wO,m+UiK!DﭹnTxt`>X`VU,=EmS@ K!;n$VH[ʠpq:O` :3V%4}l]ILtg.Fv2@{dTIKwemj,R{E;uEmS:)N VV%tS K!Ĕ`X`VU,=EmS:)NiZ>K!3`C)'F{l3`CQ$|][ i9Ѷ] (JiZs;n$[? )-Kl$̪`=IJQ6 ":)NQ ;g 8ER@|eiZ>K!ԞNh|nTxt`=VOu :)%Jb{E0Iўr[ :)%TIyVšutmj,R,0YFVOu'tSZ$[? )6`Z$VH[$ta6ҵZ}XC=?OO` :3mj,P̓RY$'tS,U@̓RY%Dul+aF[rVV%] (JibYglC$[? )6`>2Kl$̪(M O`[:W~RrsCs`:tgQ$U-ݔ Q%wHM<:{E0J8AIJC6aId8L'-RX`E0J /;SN΍VR,0YFVOC[s"6YL %h?Xa$U-eP8w'tS oԯz> D $O`ߩ_QN ;g =v2@q$ta6ҵZ}XC="6r+VOu :)%Jb{E0J9bl’q*$aM::6ҵZ}XCwO,m+UՉd::)ۭ-j_E0CXa$U-eER@|eiZ>K!ԞLdtڧçtS oԯiZ>K!3`C)r+劶tS K!Ĩ.l>HnQIJK|eiZ>K!ԞLdtڧ×e0fLIbT9@%3I!WIgN=W$ta6ҵZ}VIJN۟OO`Lpm+UՉd:l’q%1=Nkc 3ql3`CQ$|][ i9Ѷ] (JiZs;n$[? )-Kl$̪a9 ubYCG(߄Is[i.Fv2@{dTIKwemj,R{E;uEmS:)07 JibYE0ILO`Lr[ :)%TIyVšutmj,R,0YFVOu'tSZ$[? )6`Z$VH[$ta6ҵZ}XC=?OO`Lpm+UՉd:l’q%1=Nkc 3ql3`CQ$|][ |ܣm+UՉd:ta6ҵZ}XC=?O/`̓ [ "ns*pJ f:~B:)Ν}lan9DTvP:,0YFVOu'tSIJM<8̓RY Ji :)VÉ)6aId:[ :)VÉQ$c "Q4JibY>X`VV%O`觉d9nTxrP, :)%l$̪Eut3`CF~T雎7)=E\\zH[(wO,m+UiK!DﭹnTxt`fiZ>K!3`C)m4,U@̓RY%Dul)\FVOwO,m+UiK!DﭹnTxrP,pN۟,U*2vN:)iK!h%3`:)=-?;aGlC$:H5DTvP:,0YFVOu'tSZ$[?=-VOu :)%Jb{E0[c 3ql3`CQ$|][ i9ѶIJK|eiZ>K!ԞNh|nTxrP, :)h|[ "ns(*] (JibYglC$[?=-VOu :)%Jb{E0[c 3ql3`CQ$|][ |ܣm+UՉd:ta6ҵZ}XC=?O/`̓ [ "ns*pJ f:~B:)εER@|eiZ>OYz'}mtڧçtS C!mj,P̓RY$'tS C!X`E0J /;SN΍VR,0YFVOC[s"6YL %h?Xa$U-eP8w'tS C!K!h%3`:)=b ut0!\GlC$H[(wO,m+UՉd::)ۭ-jL1 8AIJC6aId8L1 9bl’q*$aM::6ҵZ}XCwO,m+UՉd::)ۭ-j_E0CXa$U-eER@|eiZ>K!ԞLdtڧçtS C!mj,P̓RY$'tS C!X`E0J /;V䌶iZ>K!Ի QIJIHM<9~(Sl}d*IKsT Q1ԛtNs(*] (JiL|؝OO` o) lQ$J4쭅4Ji.mj>lNtڧ×e04| ђ[ "ns* ؝Q'tS"nu>X`[O,3!nHM<:q/LFÄVÉ)N5pq*$aM::6ҵlT Qbed4 O/`oYȁ rKl$̢H1fYS_rzƬVߕ+H.f!E$ ^H p 4%9ػDW,'Sc ~YgO/`+N z,*IKsT2[t; ;bc(hQ#~Yg*] (JձTFG-j@X[  Ĩ.l>HnQb>X`[Diz6YL n7#GU*2dW)X4ɨ*] (JձTFGYmSӖ4( SX`@X@^wհsiZ*] (JձTFGYmS@4o G =bT9C%'W JLMDTvP:,0YFVA?,tڧç- hP$'-VG*$aM::6ҵlT QbG,6YL G =bT9C%'Kl])v2:2Q>7Lu RI]:=}O,ER@|eiZ*>ܜӰM<:r߂bJbrߋl4( H Ӯsm+VK|eiZ*>ܜӰM<9~(Sx!b[ "ns*K~Nػ5GdwSbe td}wM n?\c*~D'ػ Xb"nu>X`[ D2XG,6~?VÄVÉ)~,U@,""J /;SN΍[.mjبj&E>~YgO/` dYgU*2dmd)v2:2Q>7Lu RI?r~aKl],Sbex~Άa,uE>z"nu>X`[ +ze[?9oGpq%19oŊ?VÄVÉQ$|][ i9Ѷb>X`[ +ze[? )0Jdž#GeVH[ʡߓ.X?Dʚ3q4ʹJ$TUO=-v2&M]:?\c(?,IKwemjGu53ze[?9oGpq%19oŊ?VÄVÉQ$|][ i9Ѷ(  Q( @tQ#ynTxrP,_1YgU*2dW)X4ɨ*] (JձSQ#tڧç- hP[[$'-VGpq*$a[2۔mjةwO,m+VNqG-j_AVH[ʡߓ.X?Dʚ3q4ʹJ$TUO=-v2&M]:=}O,ER@|eiZ*u=|-j@XEl8El8[  +a+aĨ.4JձR,0YFV~A?,tڧ×e0&#GeVH[ʡߓ.X?Dʚ3q4ʹJ$TUO=-v2&M]H#TQ#~Yg*] (JԏӔ vuQ#ynTxt  +a+aĔ* hP[[%Dul)\FV~7PR,0YFV~7PSï䢏A?,tڧ×e0' :H1<7,ERU \*+Q2:%:AS=DTvP:,0YFVQvG,6~?VÄVÉ)~,U@,""J /;SN΍Sƣ-Ի Qxez~(~YgO/`+Nz,*IKsT2[tò ػCG(]SCn:W)X$}Q0祶.D)v2kgFiQGeH[(wO,m+VFi%ze[?9oGpq%19oŊ?VÄVÉQ$|][ i9Ѷb>X`[|Q#ynTxrP, G =bT9C%'Kl]; M4ђߕ41f㨒)mGXʹJUO=-v2&MD]:=}O,ER@|eiZrACB(~YgO/`h,#GeVH[ʡߓ}D?ƻЖNx=}O,ER@|eiZ~y$J:#ynTxt  +a+aĔ* hP[[%Dul)\FVI,ta6ҵHTIdtGO,6YL87,ERU 6+Q25ER@|eiZ*q(mSӖ4( SX`@XEl8El8@^wհm6ҵlT Qb7A[? )MzERU ]MrCG"nu>X`[Dize[?9oGpq%19oŊ?VÄVÉQ$|][ i9Ѷb>X`[Dize[? )Mz,*IKsT2[uu4FV>e j$ta6ҵlUze[?9oGpq%19oŊ?VÄVÉQ$|][ i9Ѷb>X`[E>~YgO/`b=xoYl$̪-:[bal]NO7CG}EOܾu_dc"aػ^5߳GQ$U-ݔ Qb5 tQ#ynTxt  +a+aĔ* hP[[%Dul)\FVta6ҵlT=|-j_c#|Xa$U-ePoc,Sbe td}wM n?\c*~D'ػ X!c(?,IKwemjة l<-j@XEl8El8[  +a+aĨ.4JձR,0YFV,6YL2p,*IKsT2[򮐌*hrEfui nNw!$ta6ҵlU+}9anTxt  +a+aĔ* hP[[%Dul)\FVta6ҵlU+}9anTxrP,7DC[+NŊERU -v06.P'FJ'~T雎UV>"_`:L2ym0Ŋl]њv(*] (JԏӔ uG,6~?VÄVÉ)~,U@,""J /;SN΍H9@n>X`H9@n7P=|-j_ #|Xa$U-ePo®R(hj2CMd<ӯډ"nu>X`[!-N[EmSӖ܀,ILN[bQ$|][ i9Ѷb>X`[!-N[EmS@e%$VH[ʡߕp}DkVߒ"nu>X`['-"6~k@P$'-V } Ĩ.4JձR,0YFVnTxrP, [ "ns*K~U®R)[~Jj$ta6ҵlT5 cnTxt5 ( SX`aTIyVšutmjةwO,m+VCQ0̖99oO/` d%$VH[ʡߕte0W JLm)*] (JձS_rJǧ-"6~k@P[[$'-V } +a+aĨ.4JձR,0YFVV=9oO/`% DcK~IbT9C%'M}SdIKwemjب;䓖nTxt5 ( SX`aTIyVšutmjةwO,m+VFi$tڧ×e0|o,U*2d]!}*&U®R)[~Jj$ta6ҵlUzetڧç-!@XEl8El8[5 ( H Ӯsm+VK|eiZ*=|N[EmS@Axo,U*2d]!}*&U®R)[~Jj$ta6ҵlTN[EmSӖ܀,""ILN[bVÄVÉQ$|][ i9Ѷb>X`[!cnTxrP,C2[Kl$̪-WHF_c p}DkVߒ"nu>X`[!-N[EmSӖ܀,""ILN[bVÄVÉQ$|][ i9Ѷb>X`[!-N[EmS@e%$VH[-WHF_c p}DkVߒ"nu>X`[O`99oON[C_rpq%19oŊk@P[[%Dul)\FVta6ҵlU?-$[? )[%$VH[ʡߕte0W JLm)*] (JձRrߒ-jaJbrߋl܀,""J /;SN΍[.mjة9oO/`o,U*2d]!}*&U®R)[~Jj$ta6ҵHTIdM<:r߂ [߰z%19oŊ aTIyVšutmj)wO,m+TO$IHtڧ×e0V*IKsT2[WE>z"nu>X`[ D2XG,6~q%19oŊq*$aM::6ҵlT QbfKze[? )2&#GeVH[ʡߓ7CGL3%GQ$U-ݔ QbfKtڧç-#aĔ*#aĨ.4JձR,0YFVa,rrߒ-j_ cK~IbT9C%*{e5+o(*] (JձP.RGYmSӖJbrߋlTIyVšutmjةwO,m+VCGJ>~YgO/` ?"RYgU*2d*hctP+ƻt4ʹJQ#~Yg*] (JձS_rJǧ-"6~q%19oŊq*$aM::6ҵlT QbrN[EmS@ })XߒXa$U-ePo_rx~PL3$H[(wO,m+R?NP)ƁG,6~q%19oŊq*$aM::6ҵ#ta6ҵ#h=|-j_Kf81<7,ERU ] DTvP:,0YFV~A[?9o$'-V%Dul+aF[r[.mjة(mS@~#*IKsT2[uߕ41fh]:uGQ$U-ݔ Qb_G,6~q%19oŊq*$aM::6ҵlT Qb_G,6YL aYgU*2d*hctP+ƻ򑃲GGQ$U-ݔ Q( 0(G,6~q%19oŊq*$aM::6ҵ#ta6ҵ#%ze[? )8aAYgU*2dh]MK'z"nu>X`Sƣ-GYmSӖJbrߋlTIyVšutmj5o>X`Sƣ-GYmS@|1<7,ERU']Gc~iߔb0o¶u gUD]SCn:WV®<']CG$GQ$U-ݔ Qb4=|-jSX`H Ӯsm+VK|eiZ*3NȣG,6YLiAz[ "ns*K~N7Lu kgFiQGeH[(wO,m+VFi%ze[?9o$'-V%Dul)\FVta6ҵlTfQGYmS@ ӾH1<7,ERU wM n[b`)v2kgQGeH[(wO,m+VFi$tڧç-#aĔ*#aĨ.4JձR,0YFVӾI9oO/`+N!ߒXa$U-ePoʺqM}J$ta6ҵHTIdtGO,6~q%19oŊq*$aM::6ҵHTId QG꧒K$:~YgO/`YgU*2d] e:׍wO,ER@|eiZ*q(mSӖJbrߋlTIyV¶$e(JձR,0YFV4o=ynTxrP, 7#*IKsT2[ut4ER@|eiZ*q(~YgON[FÉ)~,UFÉQ$|][ i9Ѷb>X`[!cA?,tڧ×e0z,*IKsT2[uߕ41fmGX5 uE>z"nu>X`[!-YmSӖJbrߋlTIyVšutmjةwO,m+VHKaynTxrP,l8oYl$̪-WCGEfui nNw!$ta6ҵlT9oON[FÉ)~,UFÉQ$|][ i9Ѷb>X`[!-N[EmS@e%$VH[-WS;)[~IDTvP:,0YFVptO'34-jSX`H Ӯsm+VK|eiZ*>ܜӰM<9~(Sx!b[ "ns*K~N7Lu kgFiآH[(wO,m+VSN[EmSӖJbrߋlTIyVšutmjةwO,m+VSN[EmS@2[Kl$̪-WS;)[~IDTvP:,0YFVnTxtl8[l8@^wհsiZ*] (JձRrߒ-j_ߒXa$U-ePoʺqM}J$ta6ҵHTIdtڧç- JձP`q1z"nu>X`[!-N[EmSӖmj:9A[Jbrߋl%Dul)\FVta6ҵlT9oO/` Ì[ "ns*K~UIKwemjت~[~HM<:r߂ G\(7`8ILN[b|.4JձR,0YFVtڧ×e07`8d*IKsT2[H[(wO,m+VI~HM<:r߂ G\(7`8ILN[b|.4JձR,0YFVnTxrP, [ "ns*K~UIKwemjبj&'-"6~6ҵp-pq%19oŊ H Ӯsm+VK|eiZ*d~HM<9~(SdL3%-%ERU #/Dʺ Q$U-ݔ QbrN[EmSӖmj:9A[Jbrߋl[[%Dul)\FVta6ҵlTܮR~HM<9~(S/%+2[Kl$̪-WHF_c u?-fIDTvP:,0YFVӾI9oON[AlVÄVÉ)~,U@opEl8El8@^wհsiZ*] (JձQw'-"6YLi$2[Kl$̪-WHF_c u?-ER@|eiZ*=|N[EmSӖmj:9A[Jbrߋl[[%Dul)\FVta6ҵlUzetڧ×e01<7,ߒXa$U-ePoʺB2TLl(*] (JձRt$[?9oV[[$'-V[TIyVšutmjةwO,m+VHKaӖnTxrP,l8o,U*2K~U¢e]O`9DTvP:,0YFVtڧç- Jur|+a+aĔ* 7`8""J /;SN΍[.mjت~[~HM<9~(S|K~IbT9C%*aQ2H[(wO,m+VI~HM<:r߂ G\(7`8""ILN[b|+a+aĨ.4JձR,0YFVnTxrP, [ "ns*K~U¢e]O`9DTvP:,0YFV`5M<8o@め> G\(7`8"G\((C`$  8(C`V[ n!0HE2#*i9Ѷb>X`['-cc/kqnTxrP,  8(C`VH[ʠE  8(Ca[:S9lUԲI!QTL$ n7e n!0'sE8Su'-$ta6ҵlTz6~щp61;.Jbr߀4bv\* lbv\.l>HnQb>X`[:}\*GqDTvP:,0YFV4o=|-j c$'-F'eb'eJ /;SN΍[.mjت#MG,6YL n7#GeVH[ʡߓpQ$U-ݔ Qb\; tڧç-F'e@ )~щpX`pH Ӯsm+VK|eiZ*>ܜӰM<9~(Sx!b[ "ns*K~Nػ61;. ػ^5ߔfs򒳑ER@|eiZ*u=ynTxtal8 ?[l8@^wհm6ҵlT Qb_GO/`M GXa$U-ePo€ 7}%g#]:=}O,ER@|eiZ*u=|-j ?SX`H Ӯsm+VK|eiZ*u=|-j_Az[ "ns*K~N. bc+ƻ򑃲GGϫE]0h(*] (JձTFGYmSӖJbr߀0lTIyVšutmjةwO,m+VQn7>~YgO/``q1<7,ERU \((n?"nu>X`[JmnNfi[?9o$'-V%Dul)\FVta6ҵlU+}9anTxrP,7DC[+NŊERU ]-v0hػ^5ߔfs򒳑ER@|eiZ*u=ynTxta& Jur|a&V[TIyV¶$e(JձR,0YFV~A[? )71=bT9C%'WSQ#~Yg*] (JձSQ#ynTxta& Jur|a&V[TIyVšutmjةwO,m+VNqGYmS@~#|Xa$U-ePoQߕ?-`(?,WDSAQ25ER@|eiZ*q(ܜӰM<:r߀0mj:9A[Jbr߀0X`-*$aM::6ҵlT Qb\; tڧ×e0 :'ܜZv,U*2d*~[]FiW:r ʉ4ɨ*] (JձSQ#tڧç- }FÉ)~_rX`H #-FVta6ҵlTz6YL al$̪-:[bc_rXJG+ƻuzY$ta6ҵlTze[?9oKB6ILN[[l8@^wհsiZ*] (JձSQ#ynTxrP,߰z,*IKsT2[utƾM]H#TQ#~Ygή"?%g#?Q$U-ݔ Qb7A?,tڧç- }FÉ)~_rX`H Ӯsm+VK|eiZ*q(ܜӰM<9~(Sx!b[ "ns*K~Nػܖ)v2k(;*W@򒳑~y$P(͔"nu>X`[:HnQb>X`[:}\x7*&Q$S_rIKwemjت#MG,6~_rm+Q S5 H Ӯsm+VK|eiZ*q(H[(wO,m+VQn7>~YgON[&(;:(;bӱbFTIyVšutmjةwO,m+VQn7>~YgO/``q1<7,ERU ]t7}:(;IKwemjتWDkrs3N6~`E`LQv,UCӰJ /;SN΍[.mjتWDkrs3N6YLn'0Vl$̪ d)DiW!ȟWKl]:0M()m#Nd@xp kػG|][ i9cbӱbc(*RrߓãػIYx~QvUήIqP F(͔"nu>X`[`7ghcN6~~Jpm+VAMz%19ooBX`xb=x@^wհm6ҵlT Qb,li[? )@ߒm;*IKsT ~TFv% :jvVc$>g]G|]:~#ʷΐRJG'Q$Sl)9o}uD n7#GёDi0t"|IKwemjة(mSӖ :7ĔGF[toQ$|][ |ܣm+VK|eiZ*u=ynTxrP,߰zERU ]-v0ã}bc)+9Q#~Yg*] (JձSQ#ynTxtGF%19oQѾVTIyVšutmjةwO,m+VNqGYmS@~#|Xa$U-eP&0K%]Fr^5p.l:6.R3H.to" bc(aM::[b`(X$:-v3a)v2`*(?,W@Z7xE?G>FlIKwemjت#MG,6~Jbr߀}b :7Ĩ.4JձR,0YFV4o=|-j_xb=xoYl$̪-:pPaѾH[(wO,m+VR:'[vON[to0SlaѾ%Dul)\FVta6ҵlU+}9anTxrP,7DC[+NŊERUc^uߔaѿW!ȟW [bfìSbe#=$[baF2 p|)v2Ӯs.l]H!I~Nc6bc)+93Nʹ$PGOϡQ)ER@|eiZ*u=ynTxtp6ILN[V%Dul+aF[r[.mjة(mS@~#*IKsT2[up.l:6.RVr9^5߳GQ$U-ݔ Qb_G,6~l8.b6J /;SN΍[.mjة(z"nu>X`[:>~YgON[:0$'-* p@^wհsiZ*] (JձSQ#ynTxrP,߰z,*IKsT2[utãػ^5ߔ8~uE>}\4s$P&OϡQ)ER@|eiZ*q(~YgON[0i JurJbr߁M n7Q$|][ i9Ѷb>X`[Dize[? )Mz,*IKsT2[7LuDi^5ߔ4o G =DTvP:,0YFVnTxqߒ$ [ Q$c "Q4JձR,0YFVnTxrP, [ "ns*2WP鯹[~H?,9oRo-:Nӎ$54 ʌ+)9oV(*] (JձRrߒ-j2[B G\(0i$ [ 7Ĩ1oʚutmjةwO,m+VI~HM<9~(SK~IbT9@ebtܭ$Y7yMmS'IEL|FFߔ;RTF$ta6ҵlTz6~26ILN[5X`H #-FVta6ҵlTz6YL al$̪-:`郎rkgQGeH[(wO,m+VNqGYmSӖ |el8k.V%Dul)\FVta6ҵlTze[? )71<7,ERU ]-v2o6.Ww#dQGeW:Ē(h(͔"nu>X`[Dize[?9o\FÉ)~2lTIyVšutmjةwO,m+VQn7>~YgO/``q1<7,ERU ]0(n.H[(wO,m+VR:'[vON[5Jbr߁[l8@^wհsiZ*] (JձTfmS@ nN`;*IKsT2[utɾ2ػ^5ߔfshh(͔"nu>X`[Dize[?9o,>[B|n,U@@^wհsiZ*] (JձTFGYmS@4o G =bT9@'-xvJtSM:<6Ih!uFT 6UOvJk*~Yg*] (JձP.RGYmSӖDAbz,ĔX`z,Ĩ.4JձR,0YFVr=|-j_Dc#|Xa$U-ePo~Sbzglau+gCG}E>}x$W~T雎GϫOp֙CGl*(I?,'I~QR3.E DPlQM$ta6ҵlTܮR~HM<:r߀Ȉ6ҵlT2[BJbr߀ȬU@o Q$|][ i9Ѷb>X`[5+zrߒ-j_K@Jnj[ "ns*K~N|DdƮS_rO,ER@|eiZ*u=ynTxtP0 Jur|P0V[TIyV¶$e(JձR,0YFV~A[? )71=bT9C%'W@*ػ*~[4}dlVF{|]n:P022>"nu>X`[:>~YgON[B G\(7`8ILN[Kl%Dul)\FVta6ҵlTze[? )71<7,ERU ]O`:k);$p=}O,F{8Q$VAvul*k;;!2J$ta6ҵlU|Q#ynTxtP0 Jur|P0V[TIyVšutmjةwO,m+VQn7>~YgO/``q1<7,ERU ]lV€P0FFGQ$U-ݔ Qb\; tڧç-V$'- H Ӯsm+VK|eiZ*>ܜӰM<9~(Sx!b[ "ns*K~N^5ߔf@pbU$Q0v!vCdIKwemjة(0Uta> SW,`Skl$>X`?U{>0l$>X`> SW,`SB[ !wO,`5O^;8L*I |e;X`?U{>0Uta`}ʯrYGb T`5O^;8LV*I |eLvTyUC(ՊB,0Y\vTyUC(b[ !wO,@`5O^;8LKl$>X`?U{>0*I |e&; SW,`SVH] (x`܇gQ)VH] ( ?U{>0V*I &B&ڕY:ʖ)4족BRqB۰,*RIUKbg>X`yUC(I9ܕɯB Utaʳi9yUC(AP$t J[*g1b^L$u4b;Ra$BɄCb$<@Tx km;$7I66$./usr/IBMVJava/html/enterp/en_US/jdkref/x-index.htm.uti$$ "X" Fields and Methods
    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

    Index of Fields and Methods (JDK)

    X

    x. Variable in class java.awt.Event
    The x coordinate of the event.
    x. Variable in class java.awt.Point
    The x coordinate.
    x. Variable in class java.awt.Rectangle
    The x coordinate of the rectangle.
    xor(BigInteger). Method in class java.math.BigInteger
    Returns a BigInteger whose value is (this ^ val).
    xor(BitSet). Method in class java.util.BitSet
    Logically XORs this bit set with the specified set of bits.
    xpoints. Variable in class java.awt.Polygon
    The array of x coordinates.

    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


     kP<$ 7I66$ ./usr/IBMVJava/html/enterp/en_US/jdkref/y-index.htm.uti$$ "Y" Fields and Methods
    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

    Index of Fields and Methods (JDK)

    Y

    y. Variable in class java.awt.Event
    The y coordinate of the event.
    y. Variable in class java.awt.Point
    The y coordinate.
    y. Variable in class java.awt.Rectangle
    The y coordinate of the rectangle.
    YEAR. Static variable in class java.util.Calendar
    Useful constant for date and time.
    YEAR_FIELD. Static variable in class java.text.DateFormat
    Useful constant for YEAR field alignment.
    yellow. Static variable in class java.awt.Color
    The color yellow.
    yield(). Static method in class java.lang.Thread
    Causes the currently executing thread object to temporarily pause and allow other threads to execute.
    ypoints. Variable in class java.awt.Polygon
    The array of y coordinates.

    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


    "ma k]=$7I66$./usr/IBMVJava/html/enterp/en_US/jdkref/z-index.htm.uti$$ "Z" Fields and Methods
    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

    Index of Fields and Methods (JDK)

    Z

    ZipEntry(String). Constructor for class java.util.zip.ZipEntry
    Creates a new ZIP file entry with the specified name.
    ZipException(). Constructor for class java.util.zip.ZipException
    ZipException(String). Constructor for class java.util.zip.ZipException
    ZipFile(File). Constructor for class java.util.zip.ZipFile
    Opens a ZIP file for reading given the specified File object.
    ZipFile(String). Constructor for class java.util.zip.ZipFile
    Opens a ZIP file for reading given the specified file name.
    ZipInputStream(InputStream). Constructor for class java.util.zip.ZipInputStream
    Creates a new ZIP input stream.
    ZipOutputStream(OutputStream). Constructor for class java.util.zip.ZipOutputStream
    Creates a new ZIP output stream.
    ZONE_OFFSET. Static variable in class java.util.Calendar
    Useful constant for date and time.

    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


    /a> chimos /bdfgluv_jwABCDEJLMSTpx#FIPRUVyHKk 0GNOW-3QZ!()XYqz2, Pg1 5D! VA^R5 @Flq"@ ,BD!cy`w6^6qv@JqcCrXDh$@r@P,G @ @(V86O@L$ZDfToIag*@,i;LTYC0D,*@,q!?OiM)XAvu @I$5i#ZHXDISX0Kyi7HV -hM@tkBm -R$Zhoaj L%$ZЛC{ TaI"քZRE 7HJ2H6$ZЛC{ TҰ2H6E 7H"քZ+ I& @XjH6yXI& @+ "քZE 7H` -hM@X!$ZЛC{ Ta"քZ+I& @L-hM@X)$ZЛC{ TLZhoaj %`I& @ -hM@+tkKycZK bh繗+6^6qv@J, 4\7֒aI<6ߊiZH$VycC{ T*Ϻi L t4IQe7(3/l[<jHX2m -R>vЫ>"ݦQ0⳨[<VpoQg_nX11x<8kI<dZ}DV}ELbclsJ)G}e`RE$qhoajAYQ2~`ßJ)G}e`0akI<dZ}DV}ELbclG`V$}۶V Ll RE$qhoajAYQ27([<>7`V$}۶V Ld+ IaMYNgD[;JgtY&QN%E|TݲbclN $ )ޒ-i'8ÌC{ T*Ϻ3#]c21q&oQg_nX37E$qhoajAYVdb\k@fF.$g$}۶V dbMf{"֒yc8ɴ7K Bc21q.5 f3#nJ)G}e`fF.$;J7E$qhoajAYVdb\k@fF.$!$}۶V dbMvЫ>"ݦV 8(TYM>K+d~~oZI0&,'m -ea@̏ÃTYM>K+d~nrHX2m -R>vЫ>"ݦW78ĕS}3=Rvĝ-i'8Ìyim kI+I$6dQ;hUun+G / f{J)G}e`Pd~hP0C IaMYNgD[&Vuh<8%E|Tݲ|? -i'8ÌC{ T*ϺiL8$}۶V+9$ZO,q6dQ;hUun(VpXoQg_nX<8-kI<dZ}DV}ELxa@06aJ)G}e`;J`l RE$qhoajAYQ2"$}۶VkI<dZ}DV}ELxX.xoQg_nX<C,$ZO,q6dQ;hUun+G `%E|TݲxE$qhoajAYQ2nJ)G}e`@7@kI<dZ}DV}ELsᡰ+ TYM>K+;ԑkI<dMmZIXBH%i'8ɴ7K BvGiP݇0=%E|Tݲ݇0=ԑkI<dZ}DV}ELPE:TYhoQg_nXE:TYjHX2m -R>vЫ>"ݦWExoQg_nXEzHX2m -R>vЫ>"ݦV}~o*,|fz필_g"֒yc8ɴ7K BvX~oExcJ)G}eaᎏ$ZI0&,'m -ea *,|fz필a$ZI0&,'m -eaAiE; *,|fz필a:?-i'8ÌC{ T*Ϻi+;8{J)G}eaiҳ-i'8ÌC{ T*Ϻi6 ?7ĕS}3=Rvzf"֒yc8ɴ7K BvX~oCoLGsS}3=Rvzf:?-i'8ÌC{ T*Ϻia #DS}3=Rv l8!sjHX2m -R>vЫ>"ݦPDL"S$}۶Vx$ZI0&,'m -eA!+ TYM>K+ɀ<C`V-i'8ÌC{ T*Ϻi#Cs|$}۶VCs|-i'8ÌC{ T*Ϻi#B.;*,|fz필ANi"֒yc8ɴ7K BvDÊΠK+ |'"olkI<dZ}DV}EL.7ŠwÀgxoQg_nXNgE;3$ZO,q6dQ;hUun(' ,tCol%E|Tݲ.7a 3E$qhoajAYQ2~p8\cMq%E|Tݲ.7W\c9$ZO,q6dQ;hUun(' G`V$}۶Vc+ IaMYNgD[ |174IQe7(3/l' GðgԑkI<dZ}DV}EL |4M+S}3=Rvp8 ;p?< đkI<dZ}DV}EL.7Ýn3 XhoQg_nXNg 75$ZO,q6dQ;hUun+G' ?7ĕS}3=Rvp8YPLs}$ZO,q6dQ;hUun+rp8M4FiYJ)G}ea8]o&Fh#4kI<dZ}DV}ELM |>7 i*,|fz필vqd4l RE$qhoajAYQ27(' $ XhoQg_nXNgIԑkI<dZ}DV}EL.7G a%E|Tݲ.7G dkI<dZ}DV}EL |?`V$}۶Vf5$ZO,q6dQ;hUun+2p874IQe7(3/l' qhl RE$qhoajAYQ2r ?@6TYM>K+ Ȁ39$ZO,q6dQ;hUun+G& 9$}۶VIaMYNgD[~`ßGoQg_nXLs|(IaMYNgD[~`ßᎏ *,|fz필?7IaI<6ߊZH$VycC{ T*Ϻi#S;ĕS}3=RvŠwÀgzHX2m -R>vЫ>"ݦWQTYM>K+ 7"֒yc8ɴ7K BvDÊΠx,VpoQg_nXS<+9$ZO,q6dQ;hUun(qYn+8IQe7(3/l+(VrHX2m -R>vЫ>"ݦV~o:?oQg_nXQnpc"֒yc8'FRZIX$dZ}DV}EL+ҁNbJ)G}e`WaE$qhoajAYQ2a 3S}3=Rva 3E$qO-6JE$$VycC{ T*Ϻi`WJ)G}e`q-i'8Ìyim ,$ZJTJO,qhoajAYQ2~6P$}۶VkI<dZ}DV}EL4TYM>K+\cMqkI<dZ}DV}EL?7g%E|Tݲ!k ?7E$qhoajAYQ2ߠ!k t78IQe7(3/lgIaI<6ߊ4$ZJ X&,'m -e TYM>K+2-i'8ÌC{ T*Ϻi#d4$}۶Vd4-i'8ÌC{ T*Ϻi}fCDS}3=Rvϳ0 jHX2m -R>vЫ>"ݦV4 *?8IQe7(3/l h U~rHX2m -R>vЫ>"ݦV4 ?7ĕS}3=Rvfz߁GHX2m -R>vЫ>"ݦV4 t78IQe7(3/l hnrHX2IѶTE$-$dZ}DV}ELasĕS}3=Rv IaMYNgD[ ;$}۶Vw5$ZO,q6dQ;hUun(,!"J)G}eaa IaMYNgD[ n0niolj*,|fz핅7D747E$qhoajAYQ2 `%E|Tݲ<E$ZO,q6dQ;hUun(,"oQg_nXXD! kI<dZ}DV}ELoQg_nXXNDq$ZO,q6dQ;hUun(,%l TYM>K+ uE$qhoajAYQ2ŠwÀ$}۶VSđkI<dZ}DV}EL/[IQe7(3/l, IaMYNgD[ om~ *,|fz핅E$qhoajAYQ2,4IQe7(3/l,2RE$qhoajAYQ2,pIQe7(3/l,2yPE$qhoajAYQ2TYM>K+ t}$ZO,q6dQ;hUun(,74%E|TݲӒE$qhoajAYQ2sNTYM>K+ 8$ZO,q6dQ;hUun(,747ĕS}3=RvsN~=$ZO,q6dQ;hUun(,{{TYM>K+ hE$qhoajAYQ2hoQg_nXX IaMYNgD[ b.PiBJ)G}ea`{EÊ )$ZO,q6dQ;hUun(,sNTYM>K+ @ӒE$qhoajAYQ2;#{%E|Tݲ?@$ZO,q6dQ;hUun(,e:DS}3=RvSw5$ZO,q6dQ;hUun(,e:CsN~K+ g@AE$qhoajAYQ2Ù4= *,|fz핅3i{IaMYNgD[  poQg_nXXv__ÒE$qhoajAYQ2ÍqYJ)G}eaaƸkI<dZ}DV}EL]{TYM>K+ 5đkI<dZ}DV}EL$({J)G}eaaI8PE$qhoajAYQ2pIQe7(3/l,>7E$qhoajAYQ27(,>7\S}3=Rvp+9$ZO,q6dQ;hUun(,?|ĕS}3=RvG-$ZO,q6dQ;hUun+G,?|"oQg_nXX~D! kI<dZ}DV}EL+҄S}3=RvGJIaMYNgD[ oQg_nXX~E$qhoajAYQ2a9%E|Tݲaw5$ZO,q6dQ;hUun(,>4IQe7(3/l,>4$ZO,q6dQ;hUun(,>4=J)G}eaaIaMYNgD[ %E|TݲIaMYNgD[ ;CIQe7(3/l,!kI<dZ}DV}EL*ĕS}3=RvK IaI<6ߊV-i%`2H%i'8ɴ7K Bv@6ÿoQg_nX -i'8ÌC{ T*Ϻi#`- $}۶V`- -i'8Ìyim!kI+ I$6dQ;hUun+G2ANbJ)G}eaN v IaMYNgD[&Vu;pVpoQg_nXcg$ZI0&,'m -e:>+;8IQe7(3/l14FiY"֒yc8ɴ7K BvX~oc7~o*,|fz핆:>aGHX2m -R>vЫ>"ݦVM:?$}۶VM:?-i'8ÌC{ T*Ϻil DS}3=Rv XjHX2m -R>vЫ>"ݦVvCB%E|TݲGðg~oZI0&,'m -eaAat41%E|TݲGðgnrHX2m -R>vЫ>"ݦPcn3 XhoQg_nXcn3 XjHX2m -R>vЫ>"ݦPd i@\DS}3=Rv!J-i'8Ìyim!kI+ I$6dQ;hUun(qY+8IQe7(3/l6VrHX2m -R>vЫ>"ݦPniF|IQe7(3/l74q-i'8ÌC{ T*Ϻi~o*,|fz핆~oZI0&,'m -eaA:?$}۶Vpc"֒yc8ɴ7K BvAat46TYM>K+ 8; {frHX2m -R>vЫ>"ݦWidNTYM>K+ ;pI߁"֒yc8ɴ7K Bv_ٔw&fxJ)G}ea}n`X-i'8Ìyim "V-i%`!$dZ}DV}EL~q \%E|Tݲ~q \kI<dMmE$ ZI2m -R>vЫ>"ݦWh),IQe7(3/l}fu4-i'8ÌC{ T*Ϻi#\8SXoQg_nXpNi"֒yc8ɴ7K Bv_?@smTYM>K+nИ0HX2m -R>vЫ>"ݦWvĕS}3=Rv۴-i'8ÌC{ T*Ϻi pniGoQg_nX~oZI0&,'m -ea@x pcJ)G}e`x pc"֒yc8ɴ7K Bv_?@xEhoQg_nXw-i'8ÌC{ T*Ϻi]%E|Tݲ?@6$ZI0&,'m -evF!|8 xw[ĕS}3=Rv;#k;-"֒yc8'FRZIX!$dZ}DV}EL )J)G}e`(QNp IaMYNgD[f$}۶V+;9$ZO,q6dQ;hUun(38IQe7(3/l39$ZO,q6dQ;hUun(x!n%E|TݲD!{sE$qhoajAYQ2(a !$}۶VIaI<6ߊZH$VycC{ T*Ϻi΁p"*,|fz핇3i{~)"֒yc8ɴ7K BvAh,IQe7(3/l9MewZI0&,'m -e3iI$}۶V΁&HX2m -R>vЫ>"ݦWvTYM>K+"֒yc8ɴ7K Bv_?Ax $%E|Tݲ<@wvzHX2m -R>vЫ>"ݦPsp; {+ TYM>K+vnat46a"֒yc8ɴ7K BvA>0;%E|TݲcߊHX2m -R>vЫ>"ݦQ0⳨:>ÊTYM>K+~ⳒE$qhoajAYQ2ҡAE;ĕS}3=RvþwZI0&,'m -eBw&oQg_nXwQN$IaMYNgD[v TYM>K+v IaMYNgD[Y$}۶Vq$ZO,q6dQ;hUun+G;fD6?{TYM>K+Y RE$qhoajAYQ2~nC|IQe7(3/l;fD7GE$qhoajAYQ2~nTYM>K+YPLs}$ZO,q6dQ;hUun+G;fAE;3IQe7(3/l;fAE;3$ZO,q6dQ;hUun(8[l~$}۶V-`D6?{IaMYNgD[05숒oQg_nXpiqdRE$qhoajAYQ2{sϳ0IQe7(3/l80 3E$qO-6>V-i%a X&,'m -e~!B"g *,|fz핇!B"g$ZI0&,'m -e~!J)G}eaHvzHX2m -R>vЫ>"ݦW}TYM>K+C "֒yc8ɴ7K Bv_?AMnĕS}3=Rv$;ZI0&,'m -e}nP}na *,|fz핇&FhQNrHX2m -R>vЫ>"ݦW&&Fh#4%E|Tݲ$Mf-i'8ÌC{ T*ϺiIAIN~*,|fz핇&D 9-i'8ÌC{ T*ϺiIAIN~4IQe7(3/l>7 iZI0&,'m -eaAIN~4(TYM>K+Ms6aGHX2m -R>vЫ>"ݦVd4l CTYM>K+Ms6a$ZI0&,'m -e}nP}n4IQe7(3/l>7`V-i'8ÌC{ T*Ϻi&l B%E|Tݲ$ XhQ-i'8ÌC{ T*Ϻi&l CTYM>K+M:?-i'8ÌC{ T*Ϻi#d`%E|Tݲ$;ZI0&,'m -e~3 TYM>K+g-i'8ÌC{ T*Ϻi *,|fz핇"֒yc8ɴ7K BvDÊΠyP<8%E|TݲyP<8kI<dZ}DV}EL@ٙJ)G}ea 3E$qhoajAYQ2(?0BwÄS}3=Rv0# 4(|9$ZO,q6dQ;hUun+20# 4VvpoQg_nXfa3JIaMYNgD[~0(DB.J)G}ea"!{CBkI<dZ}DV}EL?7?D/bhcJ)G}ea"!{CCIaMYNgD[̠ XhoQg_nXf5$ZO,q6dQ;hUun+J)G}eaУ}$ZO,q6dQ;hUun+:?$}۶Vف+ t79$ZO,q6dQ;hUun+20TYM>K+$ZO,q6dQ;hUun+20~%E|Tݲߵ$ZO,q6dQ;hUun+7J)G}ea=У}$ZO,q6dQ;hUun+7:?$}۶Vفn3 t79$ZO,q6dQ;hUun+20; {+ TYM>K+75$ZO,q$h~*A2kI+VycC{ T*Ϻi vq%E|TݲH' ZI0&,'m -e@fpoQg_nX$ {fg$ZI0&,'m -eB:Tol%E|TݲN39$ZO,q6dQ;hUun(* ҡdE;ĕS}3=Rv:T,p(zHX2m -R>vЫ>"ݦV ҡdE;%E|TݲN $ )~oZI0&,'m -ea@*IS1%E|TݲN $ )nrHX2m -R>vЫ>"ݦQT(B7w !%E|TݲN $ )p;E$qhoajAYQ2;!߅B864(E!*,|fz핂v'C pm( hP0C IaMYNgD[w"$}۶V vE$ZO,q$h~*ARkI+$VycC{ T*Ϻi# v TYM>K+;ZI0&,'m -e~χĕS}3=RvN`[gÁi"֒yc8ɴ7K Bv@`wX.xoQg_nX),B ޒ-i'8Ìyim &V-i%`%$dZ}DV}EL*!߈oQg_nX va$ZO,q6dQ;hUun+Ga@sm v TYM>K+=bPvE$qZm -R$Zhoaj <$ZЛC{ T%a "քZ+ I& @XRH6e`TkBm -RҰ -hM@,I& @4 -hM@rkBm -R`2H6JE 7H6V-hM@VE 7HJBH6`tkBm -RiX$Zhoaj "VI& @XrH6E 7H+Zhoaj *V I& @+)"քZIXE 7HZhoaj $ZXIN=kO8?d&Vr cH3 4B)bBKL_fZ2qWg_1, 4kBHV<0IdI82H&֒5c| k$7I66$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessible.htm$$ com.sun.java.accessibility.Accessible <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="com.sun.java.accessibility.accessible_dsc.htm#_top_">com.sun.java.accessibility.Accessible (no frames)</a></b></p> </body> ZO k$ 7I66$ ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessible_dsc.htm$$ Interface com.sun.java.accessibility.Accessible

    Interface com.sun.java.accessibility.Accessible

    public interface Accessible

    Interface Accessible is the main interface for the accessibility package. All components that support the accessibility package must implement this interface. It contains a single method, getAccessibleContext, which returns an instance of the class Accessible Context.

    See Also:
    AccessibleContext

    Method Index

    getAccessibleContext()
    Returns the AccessibleContext associated with this object.

    Methods

    getAccessibleContext
     public abstract AccessibleContext getAccessibleContext()
    
    Returns the AccessibleContext associated with this object. In most cases, the return value should not be null if the object implements interface Accessible. If a component developer creates a subclass of an object that implements Accessible, and that subclass is not Accessible, the developer should override the getAccessibleContext method to return null.


     k$7V56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessible_mi.htm$$ Interface com.sun.java.accessibility.AccessibleAction

    Interface com.sun.java.accessibility.AccessibleAction

    public interface AccessibleAction

    The AccessibleAction interface should be supported by any object that can perform one or more actions. This interface provides the standard mechanism for an assistive technology to determine what those actions are as well as tell the object to perform those actions. Any object that can be manipulated should support this interface. Applications can determine if an object supports the AccessibleAction interface by first obtaining its AccessibleContext (see Accessible) and then calling the getAccessibleAction method of AccessibleContext. If the return value is not null, the object supports this interface.

    See Also:
    Accessible, getAccessibleContext, AccessibleContext, getAccessibleAction

    Method Index

    doAccessibleAction(int)
    Perform the specified Action on the object
    getAccessibleActionCount()
    Returns the number of accessible actions available in this object If there are more than one, the first one is considered the "default" action of the object.
    getAccessibleActionDescription(int)
    Returns a description of the specified action of the object.

    Methods

    getAccessibleActionCount
     public abstract int getAccessibleActionCount()
    
    Returns the number of accessible actions available in this object If there are more than one, the first one is considered the "default" action of the object.

    Returns:
    the zero-based number of Actions in this object
    getAccessibleActionDescription
     public abstract String getAccessibleActionDescription(int i)
    
    Returns a description of the specified action of the object.

    Parameters:
    i - zero-based index of the actions
    Returns:
    a String description of the action
    See Also:
    getAccessibleActionCount
    doAccessibleAction
     public abstract boolean doAccessibleAction(int i)
    
    Perform the specified Action on the object

    Parameters:
    i - zero-based index of actions
    Returns:
    true if the the action was performed; else false.
    See Also:
    getAccessibleActionCount

     krb$7R56$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessibleaction_mi.htmtm$$ Class com.sun.java.accessibility.AccessibleBundle

    Class com.sun.java.accessibility.AccessibleBundle

    java.lang.Object
       |
       +----com.sun.java.accessibility.AccessibleBundle
    

    public abstract class AccessibleBundle
    extends Object

    Base class used to maintain a strongly typed enumeration. This is the superclass of AccessibleState and AccessibleRole.

    The toDisplayString method allows you to obtain the localized string for a locale independent key from a predefined ResourceBundle for the keys defined in this class. This localized string is intended to be readable by humans.

    See Also:
    AccessibleRole, AccessibleState

    Variable Index

    key
    The locale independent name of the state.

    Constructor Index

    AccessibleBundle()

    Method Index

    toDisplayString()
    Get localized string describing the key using the default locale.
    toDisplayString(Locale)
    Obtain the key as a localized string.
    toDisplayString(String, Locale)
    Obtain the key as a localized string.
    toString()
    Get localized string describing the key using the default locale.

    Variables

    key
     protected String key
    
    The locale independent name of the state. This is a programmatic name that is not intended to be read by humans.

    See Also:
    toDisplayString

    Constructors

    AccessibleBundle
     public AccessibleBundle()
    

    Methods

    toDisplayString
     protected String toDisplayString(String resourceBundleName,
                                      Locale locale)
    
    Obtain the key as a localized string. If a localized string cannot be found for the key, the locale independent key stored in the role will be returned. This method is intended to be used only by subclasses so that they can specify their own resource bundles which contain localized strings for their keys.

    Parameters:
    resourceBundleName - the name of the resource bundle to use for lookup
    locale - the locale for which to obtain a localized string
    Returns:
    a localized String for the key.
    toDisplayString
     public String toDisplayString(Locale locale)
    
    Obtain the key as a localized string. If a localized string cannot be found for the key, the locale independent key stored in the role will be returned.

    Parameters:
    locale - the locale for which to obtain a localized string
    Returns:
    a localized String for the key.
    toDisplayString
     public String toDisplayString()
    
    Get localized string describing the key using the default locale.

    Returns:
    a localized String describing the key for the default locale
    toString
     public String toString()
    
    Get localized string describing the key using the default locale.

    Returns:
    a localized String describing the key using the default locale
    Overrides:
    toString in class Object
    See Also:
    toDisplayString

    e Index kX $;7R56$P;./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessiblebundle_mi.htmtm$$ Interface com.sun.java.accessibility.AccessibleLayout

    Interface com.sun.java.accessibility.AccessibleLayout

    public interface AccessibleLayout

    The AccessibleLayout interface is currently up for review and should only be used for experimental purposes. Interested parties should review this interface and send comments to access@sun.com. Based upon feedback from reviewers, we may add a method to AccessibleContext (e.g., getAccessibleLayout) that will return an object that implements this interface if the Accessible object supports the layout of its children.

    See Also:
    Accessible, AccessibleContext

    Variable Index

    LOGICAL_FIRST
    Constant used to locate the first logical object in the container.
    LOGICAL_LAST
    Constant used to locate the last logical object in the container.
    LOGICAL_NEXT
    Constant used to locate the object logically next of the object passed in.
    LOGICAL_PREVIOUS
    Constant used to locate the object logically previous of the object passed in.
    POSITION_ABOVE
    Constant used to locate the object physically above the object passed in.
    POSITION_BELOW
    Constant used to locate the object physically below the object passed in.
    POSITION_FIRST
    Constant used to locate the first physical object in the Container
    POSITION_LAST
    Constant used to locate the last physical object in the Container
    POSITION_LEFT
    Constant used to locate the object physically to the left of the object passed in.
    POSITION_RIGHT
    Constant used to locate the object physically to the right of the object passed in.

    Method Index

    getFocusTraversable(Component, int)
    Determine the focusable object in the given relative focus direction from the Component passed in.
    getFocusTraversable(int)
    Determine the first or last object in the Container that accepts focus.
    locate(Component, int)
    Determine the object in the given relative direction from the Component passed in.
    locate(int)
    Determine the first or last object in the Container.
    locate(Point, int)
    Determine the object in the given relative direction from the Point passed in.

    Variables

    LOGICAL_PREVIOUS
     public static final int LOGICAL_PREVIOUS
    
    Constant used to locate the object logically previous of the object passed in.

    LOGICAL_NEXT
     public static final int LOGICAL_NEXT
    
    Constant used to locate the object logically next of the object passed in.

    LOGICAL_FIRST
     public static final int LOGICAL_FIRST
    
    Constant used to locate the first logical object in the container.

    LOGICAL_LAST
     public static final int LOGICAL_LAST
    
    Constant used to locate the last logical object in the container.

    POSITION_ABOVE
     public static final int POSITION_ABOVE
    
    Constant used to locate the object physically above the object passed in.

    POSITION_BELOW
     public static final int POSITION_BELOW
    
    Constant used to locate the object physically below the object passed in.

    POSITION_LEFT
     public static final int POSITION_LEFT
    
    Constant used to locate the object physically to the left of the object passed in.

    POSITION_RIGHT
     public static final int POSITION_RIGHT
    
    Constant used to locate the object physically to the right of the object passed in.

    POSITION_FIRST
     public static final int POSITION_FIRST
    
    Constant used to locate the first physical object in the Container

    POSITION_LAST
     public static final int POSITION_LAST
    
    Constant used to locate the last physical object in the Container


    Methods

    locate
     public abstract Component locate(Component comp,
                                      int direction)
    
    Determine the object in the given relative direction from the Component passed in.

    Parameters:
    comp - the Component
    direction - the direction to look in
    Returns:
    Component else null
    locate
     public abstract Component locate(Point p,
                                      int direction)
    
    Determine the object in the given relative direction from the Point passed in.

    Parameters:
    p - Point in screen coordinates
    direction - the direction to look in
    Returns:
    Component else null
    locate
     public abstract Component locate(int pos)
    
    Determine the first or last object in the Container.

    Parameters:
    pos - -- either POSITION_FIRST, POSITION_LAST, LOGICAL_FIRST, or LOGICAL_LAST
    Returns:
    Component else null
    getFocusTraversable
     public abstract Component getFocusTraversable(Component comp,
                                                   int direction)
    
    Determine the focusable object in the given relative focus direction from the Component passed in. Note that this follows focus traversing rules, not the physical location of the Component itself.

    Parameters:
    comp - the Component
    pos - -- either POSITION_PREVIOUS, POSITION_NEXT, LOGICAL_PREVIOUS, or LOGICAL_NEXT
    Returns:
    Component else null
    getFocusTraversable
     public abstract Component getFocusTraversable(int pos)
    
    Determine the first or last object in the Container that accepts focus.

    Parameters:
    pos - -- either POSITION_FIRST, POSITION_LAST, LOGICAL_FIRST, or LOGICAL_LAST
    Returns:
    Component else null

    l k$i7T56$00i./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessiblelayout_mi.htm$$ Class com.sun.java.accessibility.AccessibleResourceBundle

    Class com.sun.java.accessibility.AccessibleResourceBundle

    java.lang.Object
       |
       +----java.util.ResourceBundle
               |
               +----java.util.ListResourceBundle
                       |
                       +----com.sun.java.accessibility.AccessibleResourceBundle
    

    public class AccessibleResourceBundle
    extends ListResourceBundle

    A resource bundle containing the localized strings in the accessibility package. This is meant only for internal use by Java Accessibility and is not meant to be used by assistive technologies or applications.


    Constructor Index

    AccessibleResourceBundle()

    Method Index

    getContents()
    Returns the mapping between the programmatic keys and the localized display strings.

    Constructors

    AccessibleResourceBundle
     public AccessibleResourceBundle()
    

    Methods

    getContents
     public Object[][] getContents()
    
    Returns the mapping between the programmatic keys and the localized display strings.

    Overrides:
    getContents in class ListResourceBundle

    rp/en_ k$;7T56$`;./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessibleresourcebundle_mi.htm$$ Interface com.sun.java.accessibility.AccessibleSelection

    Interface com.sun.java.accessibility.AccessibleSelection

    public interface AccessibleSelection

    This AccessibleSelection interface provides the standard mechanism for an assistive technology to determine what the current selected children are, as well as modify the selection set. Any object that has children that can be selected should support this the AccessibleSelection interface. Applications can determine if an object supports the AccessibleSelection interface by first obtaining its AccessibleContext (see Accessible) and then calling the getAccessibleSelection method of AccessibleContext. If the return value is not null, the object supports this interface.

    See Also:
    Accessible, getAccessibleContext, AccessibleContext, getAccessibleSelection

    Method Index

    addAccessibleSelection(int)
    Adds the specified Accessible child of the object to the object's selection.
    clearAccessibleSelection()
    Clears the selection in the object, so that no children in the object are selected.
    getAccessibleSelection(int)
    Returns an Accessible representing the specified selected child in the object.
    getAccessibleSelectionCount()
    Returns the number of Accessible children currently selected.
    isAccessibleChildSelected(int)
    Determines if the current child of this object is selected.
    removeAccessibleSelection(int)
    Removes the specified child of the object from the object's selection.
    selectAllAccessibleSelection()
    Causes every child of the object to be selected if the object supports multiple selections.

    Methods

    getAccessibleSelectionCount
     public abstract int getAccessibleSelectionCount()
    
    Returns the number of Accessible children currently selected. If no children are selected, the return value will be 0.

    Returns:
    the number of items currently selected.
    getAccessibleSelection
     public abstract Accessible getAccessibleSelection(int i)
    
    Returns an Accessible representing the specified selected child in the object. If there isn't a selection, or there are fewer children selected than the integer passed in, the return value will be null.

    Note that the index represents the i-th selected child, which is different from the i-th child.

    Parameters:
    i - the zero-based index of selected children
    Returns:
    the i-th selected child
    See Also:
    getAccessibleSelectionCount
    isAccessibleChildSelected
     public abstract boolean isAccessibleChildSelected(int i)
    
    Determines if the current child of this object is selected.

    Parameters:
    i - the zero-based index of the child in this Accessible object.
    Returns:
    true if the current child of this object is selected; else false.
    See Also:
    getAccessibleChild
    addAccessibleSelection
     public abstract void addAccessibleSelection(int i)
    
    Adds the specified Accessible child of the object to the object's selection. If the object supports multiple selections, the specified child is added to any existing selection, otherwise it replaces any existing selection in the object. If the specified child is already selected, this method has no effect.

    Parameters:
    i - the zero-based index of the child
    See Also:
    getAccessibleChild
    removeAccessibleSelection
     public abstract void removeAccessibleSelection(int i)
    
    Removes the specified child of the object from the object's selection. If the specified item isn't currently selected, this method has no effect.

    Parameters:
    i - the zero-based index of the child
    See Also:
    getAccessibleChild
    clearAccessibleSelection
     public abstract void clearAccessibleSelection()
    
    Clears the selection in the object, so that no children in the object are selected.

    selectAllAccessibleSelection
     public abstract void selectAllAccessibleSelection()
    
    Causes every child of the object to be selected if the object supports multiple selections.


    Selec k ,$#7T56$P#./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessibleselection_mi.htmh$$ Class com.sun.java.accessibility.AccessibleState

    Class com.sun.java.accessibility.AccessibleState

    java.lang.Object
       |
       +----com.sun.java.accessibility.AccessibleBundle
               |
               +----com.sun.java.accessibility.AccessibleState
    

    public class AccessibleState
    extends AccessibleBundle

    Class AccessibleState describes a componets particular state. The actual state of the component is defined as an AccessibleStateSet, which is a composed set of AccessibleStates.

    The toDisplayString method allows you to obtain the localized string for a locale independent key from a predefined ResourceBundle for the keys defined in this class.

    The constants in this class present a strongly typed enumeration of common object roles. A public constructor for this class has been purposely omitted and applications should use one of the constants from this class. If the constants in this class are not sufficient to describe the role of an object, a subclass should be generated from this class and it should provide constants in a similar manner.


    Variable Index

    ACTIVE
    Indicates a window is currently the active window.
    ARMED
    Indicates that the object is armed.
    BUSY
    Indicates the current object is busy.
    CHECKED
    Indicates this object is currently checked.
    COLLAPSED
    Indicates this object is collapsed.
    EDITABLE
    Indicates the user can change the contents of this object.
    ENABLED
    Indicates this object is enabled.
    EXPANDABLE
    Indicates this object allows progressive disclosure of its children.
    EXPANDED
    Indicates this object is expanded.
    FOCUSABLE
    Indicates this object can accept keyboard focus, which means all events resulting from typing on the keyboard will normally be passed to it when it has focus.
    FOCUSED
    Indicates this object current has the keyboard focus.
    HORIZONTAL
    Indicates the orientation of this object is horizontal.
    ICONIFIED
    Indicates this object is minimized and is represented only by an icon.
    MODAL
    Indicates something must be done with this object before the user can interact with an object in a different window.
    MULTI_LINE
    Indicates this (text) object can contain multiple lines of text
    MULTISELECTABLE
    Indicates this object allows more than one of its children to be selected at the same time.
    OPAQUE
    Indicates this object paints every pixel within its rectangular region.
    PRESSED
    Indicates this object is currently pressed.
    RESIZABLE
    Indicates the size of this object is not fixed.
    SELECTABLE
    Indicates this object is the child of an object that allows its children to be selected, and that this child is one of those children that can be selected.
    SELECTED
    Indicates this object is the child of an object that allows its children to be selected, and that this child is one of those children that has been selected.
    SHOWING
    Indicates this object, the object's parent, the object's parent's parent, and so on, are all visible.
    SINGLE_LINE
    Indicates this (text) object can contain only a single line of text
    VERTICAL
    Indicates the orientation of this object is vertical.
    VISIBLE
    Indicates this object is visible.

    Constructor Index

    AccessibleState(String)
    Create a new AccessibleState using the given locale independent key.

    Variables

    ACTIVE
     public static final AccessibleState ACTIVE
    
    Indicates a window is currently the active window. This includes windows, dialogs, frames, etc.

    See Also:
    WINDOW, FRAME, DIALOG
    PRESSED
     public static final AccessibleState PRESSED
    
    Indicates this object is currently pressed. This is usually associated with buttons and indicates the user has pressed a mouse button while the pointer was over the button and has not yet released the mouse button.

    See Also:
    PUSH_BUTTON
    ARMED
     public static final AccessibleState ARMED
    
    Indicates that the object is armed. This is usually used on buttons that have been pressed but not yet released, and the mouse pointer is still over the button.

    See Also:
    PUSH_BUTTON
    BUSY
     public static final AccessibleState BUSY
    
    Indicates the current object is busy. This is usually used on objects such as progress bars, sliders, or scroll bars to indicate they are in a state of transition.

    See Also:
    PROGRESS_BAR, SCROLL_BAR, SLIDER
    CHECKED
     public static final AccessibleState CHECKED
    
    Indicates this object is currently checked. This is usually used on objects such as toggle buttons, radio buttons, and check boxes.

    See Also:
    TOGGLE_BUTTON, RADIO_BUTTON, CHECK_BOX
    EDITABLE
     public static final AccessibleState EDITABLE
    
    Indicates the user can change the contents of this object. This is usually used primarily for objects that allow the user to enter text. Other objects, such as scroll bars and sliders, are automatically editable if they are enabled.

    See Also:
    ENABLED
    EXPANDABLE
     public static final AccessibleState EXPANDABLE
    
    Indicates this object allows progressive disclosure of its children. This is usually used with hierarchical objects such as trees and is often paired with the EXPANDED or COLLAPSED states.

    See Also:
    EXPANDED, COLLAPSED, TREE
    COLLAPSED
     public static final AccessibleState COLLAPSED
    
    Indicates this object is collapsed. This is usually paired with the EXPANDABLE state and is used on objects that provide progressive disclosure such as trees.

    See Also:
    EXPANDABLE, EXPANDED, TREE
    EXPANDED
     public static final AccessibleState EXPANDED
    
    Indicates this object is expanded. This is usually paired with the EXPANDABLE state and is used on objects that provide progressive disclosure such as trees.

    See Also:
    EXPANDABLE, COLLAPSED, TREE
    ENABLED
     public static final AccessibleState ENABLED
    
    Indicates this object is enabled. The absence of this state from an object's state set indicates this object is not enabled. An object that is not enabled cannot be manipulated by the user. In a graphical display, it is usually grayed out.

    FOCUSABLE
     public static final AccessibleState FOCUSABLE
    
    Indicates this object can accept keyboard focus, which means all events resulting from typing on the keyboard will normally be passed to it when it has focus.

    See Also:
    FOCUSED
    FOCUSED
     public static final AccessibleState FOCUSED
    
    Indicates this object current has the keyboard focus.

    See Also:
    FOCUSABLE
    ICONIFIED
     public static final AccessibleState ICONIFIED
    
    Indicates this object is minimized and is represented only by an icon. This is usually only associated with frames and internal frames.

    See Also:
    FRAME, INTERNAL_FRAME
    MODAL
     public static final AccessibleState MODAL
    
    Indicates something must be done with this object before the user can interact with an object in a different window. This is usually associated only with dialogs.

    See Also:
    DIALOG
    OPAQUE
     public static final AccessibleState OPAQUE
    
    Indicates this object paints every pixel within its rectangular region. A non-opaque component paints only some of its pixels, allowing the pixels underneath it to "show through". A component that does not fully paint its pixels therefore provides a degree of transparency.

    See Also:
    getAccessibleContext, getAccessibleComponent, getBounds
    RESIZABLE
     public static final AccessibleState RESIZABLE
    
    Indicates the size of this object is not fixed.

    See Also:
    getAccessibleContext, getAccessibleComponent, getSize, setSize
    MULTISELECTABLE
     public static final AccessibleState MULTISELECTABLE
    
    Indicates this object allows more than one of its children to be selected at the same time.

    See Also:
    getAccessibleContext, getAccessibleSelection, AccessibleSelection
    SELECTABLE
     public static final AccessibleState SELECTABLE
    
    Indicates this object is the child of an object that allows its children to be selected, and that this child is one of those children that can be selected.

    See Also:
    SELECTED, getAccessibleContext, getAccessibleSelection, AccessibleSelection
    SELECTED
     public static final AccessibleState SELECTED
    
    Indicates this object is the child of an object that allows its children to be selected, and that this child is one of those children that has been selected.

    See Also:
    SELECTABLE, getAccessibleContext, getAccessibleSelection, AccessibleSelection
    SHOWING
     public static final AccessibleState SHOWING
    
    Indicates this object, the object's parent, the object's parent's parent, and so on, are all visible. Note that this does not necessarily mean the object is painted on the screen. It might be occluded by some other showing object.

    See Also:
    VISIBLE
    VISIBLE
     public static final AccessibleState VISIBLE
    
    Indicates this object is visible. Note: this means that the object intends to be visible; however, it may not in fact be showing on the screen because one of the objects that this object is contained by is not visible.

    See Also:
    SHOWING
    VERTICAL
     public static final AccessibleState VERTICAL
    
    Indicates the orientation of this object is vertical. This is usually associated with objects such as scrollbars, sliders, and progress bars.

    See Also:
    VERTICAL, SCROLL_BAR, SLIDER, PROGRESS_BAR
    HORIZONTAL
     public static final AccessibleState HORIZONTAL
    
    Indicates the orientation of this object is horizontal. This is usually associated with objects such as scrollbars, sliders, and progress bars.

    See Also:
    HORIZONTAL, SCROLL_BAR, SLIDER, PROGRESS_BAR
    SINGLE_LINE
     public static final AccessibleState SINGLE_LINE
    
    Indicates this (text) object can contain only a single line of text

    MULTI_LINE
     public static final AccessibleState MULTI_LINE
    
    Indicates this (text) object can contain multiple lines of text


    Constructors

    AccessibleState
     protected AccessibleState(String key)
    
    Create a new AccessibleState using the given locale independent key. This should not be a public method. Instead, it is used to create the constants in this file to make it a strongly typed enumeration. Subclasses of this class should enforce similar policy.

    Parameters:
    key - the locale independent name of the state.
    See Also:
    toDisplayString

    e kW$ 7V56$ ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessiblestate_mi.htmtmh$$ Class com.sun.java.accessibility.AccessibleStateSet

    Class com.sun.java.accessibility.AccessibleStateSet

    java.lang.Object
       |
       +----com.sun.java.accessibility.AccessibleStateSet
    

    public class AccessibleStateSet
    extends Object

    Class AccessibleStateSet determines a components state set. The state set of a component is a set of AccessibleState objects and descriptions the current overall state of the object, such as whether it is enabled, has focus, etc.

    See Also:
    AccessibleState

    Variable Index

    states
    Each entry in the Vector represents an AccessibleState.

    Constructor Index

    AccessibleStateSet()
    Create a new empty state set.
    AccessibleStateSet(AccessibleState[])
    Create a new state with the initial set of states contained in the array of states passed in.

    Method Index

    add(AccessibleState)
    Add a new state to the current state set if it is not already present.
    addAll(AccessibleState[])
    Add all of the states to the existing state set.
    clear()
    Remove all the states from the current state set.
    contains(AccessibleState)
    Check if the current state is in the state set.
    remove(AccessibleState)
    Remove a state from the current state set.
    toArray()
    Returns the current state set as an array of AccessibleState
    toString()
    Create a localized String representing all the states in the set using the default locale.

    Variables

    states
     protected Vector states
    
    Each entry in the Vector represents an AccessibleState.

    See Also:
    add, addAll, remove, contains, toArray, clear

    Constructors

    AccessibleStateSet
     public AccessibleStateSet()
    
    Create a new empty state set.

    AccessibleStateSet
     public AccessibleStateSet(AccessibleState states[])
    
    Create a new state with the initial set of states contained in the array of states passed in. Duplicate entries are ignored.

    Parameters:
    state - an array of AccessibleState describing the state set.

    Methods

    add
     public boolean add(AccessibleState state)
    
    Add a new state to the current state set if it is not already present. If the state is already in the state set, the state set is unchanged and the return value is false. Otherwise, the state is added to the state set and the return value is true.

    Parameters:
    state - the state to add to the state set
    Returns:
    true if state is added to the state set; false if the state set is unchanged
    addAll
     public void addAll(AccessibleState states[])
    
    Add all of the states to the existing state set. Duplicate entries are ignored.

    Parameters:
    state - AccessibleState array describing the state set.
    remove
     public boolean remove(AccessibleState state)
    
    Remove a state from the current state set. If the state is not in the set, the state set will be unchanged and the return value will be false. If the state is in the state set, it will be removed from the set and the return value will be true.

    Parameters:
    state - the state to remove from the state set
    Returns:
    true is the state is in the state set; false if the state set will be unchanged
    clear
     public void clear()
    
    Remove all the states from the current state set.

    contains
     public boolean contains(AccessibleState state)
    
    Check if the current state is in the state set.

    Parameters:
    state - the state
    Returns:
    true if the state is in the state set; otherwise false
    toArray
     public AccessibleState[] toArray()
    
    Returns the current state set as an array of AccessibleState

    Returns:
    AccessibleState array conatining the current state.
    toString
     public String toString()
    
    Create a localized String representing all the states in the set using the default locale.

    Returns:
    comma separated localized String
    Overrides:
    toString in class Object
    See Also:
    toDisplayString

    >  k"$7T56$@{./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessiblestateset_mi.htmh$$ Interface com.sun.java.accessibility.AccessibleTable

    Interface com.sun.java.accessibility.AccessibleTable

    public interface AccessibleTable

    The AccessibleTable interface is currently up for review and should only be used for experimental purposes. Interested parties should review this interface and send comments to access@sun.com. Based upon feedback from reviewers, we may add a method to AccessibleContext (e.g., getAccessibleTable) that will return an object that implements this interface if the Accessible object is a table.

    See Also:
    Accessible, AccessibleContext

    Method Index

    getAccessibleAt(int, int)
    Returns the Accessible at a given (row, column) in the table
    getAccessibleColumnAtIndex(int)
    Returns the column at a given index into the table
    getAccessibleColumnCount()
    Returns the number of columns in the table
    getAccessibleColumnHeader(int)
    Return the header text of the specified column in the table
    getAccessibleIndexAt(int, int)
    Returns the index at a given (row, column) in the table
    getAccessibleRowAtIndex(int)
    Returns the row at a given index into the table
    getAccessibleRowCount()
    Returns the number of rows in the table
    getAccessibleRowHeader(int)
    Return the header text of the specified row in the tabe

    Methods

    getAccessibleRowCount
     public abstract int getAccessibleRowCount()
    
    Returns the number of rows in the table

    Returns:
    the number of rows in the table
    getAccessibleColumnCount
     public abstract int getAccessibleColumnCount()
    
    Returns the number of columns in the table

    Returns:
    the zero-based number of columns in the table
    getAccessibleRowAtIndex
     public abstract int getAccessibleRowAtIndex(int i)
    
    Returns the row at a given index into the table

    Parameters:
    i - zero-based index into the table
    Returns:
    the zero-based row at a given index
    getAccessibleColumnAtIndex
     public abstract int getAccessibleColumnAtIndex(int i)
    
    Returns the column at a given index into the table

    Parameters:
    i - zero-based index into the table
    Returns:
    the column at a given index
    getAccessibleIndexAt
     public abstract int getAccessibleIndexAt(int r,
                                              int c)
    
    Returns the index at a given (row, column) in the table

    Parameters:
    r - zero-based row of the table
    c - zero-based column of the table
    Returns:
    the index into the table
    getAccessibleAt
     public abstract Accessible getAccessibleAt(int r,
                                                int c)
    
    Returns the Accessible at a given (row, column) in the table

    Parameters:
    r - zero-based row of the table
    c - zero-based column of the table
    Returns:
    the Accessible at the specified (row, column)
    getAccessibleRowHeader
     public abstract Accessible getAccessibleRowHeader(int r)
    
    Return the header text of the specified row in the tabe

    Parameters:
    r - zero-based row of the table
    Returns:
    the text header of the row
    getAccessibleColumnHeader
     public abstract Accessible getAccessibleColumnHeader(int c)
    
    Return the header text of the specified column in the table

    Parameters:
    c - zero-based column of the table
    Returns:
    the text header of the column

     k%$7V56$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessibletable_mi.htmmh$$ Interface com.sun.java.accessibility.AccessibleText

    Interface com.sun.java.accessibility.AccessibleText

    public interface AccessibleText

    The AccessibleText interface should be implemented by all classes that present textual information on the display. This interface provides the standard mechanism for an assistive technology to access that text via its content, attributes, and spatial location. Applications can determine if an object supports the AccessibleText interface by first obtaining its AccessibleContext (see Accessible) and then calling the getAccessibleText method of AccessibleContext. If the return value is not null, the object supports this interface.

    See Also:
    Accessible, getAccessibleContext, AccessibleContext, getAccessibleText

    Variable Index

    CHARACTER
    Constant used to indicate that the part of text that should be retrieved is a character.
    SENTENCE
    Constant used to indicate that the part of text that should be retrieved is a sentence.
    WORD
    Constant used to indicate that the part of text that should be retrieved is a word.

    Method Index

    getAfterIndex(int, int)
    Return the String after a given index.
    getAtIndex(int, int)
    Return the String at a given index.
    getBeforeIndex(int, int)
    Return the String before a given index.
    getCaretPosition()
    Return the zero-based offset of the caret.
    getCharacterAttribute(int)
    Return the AttributeSet for a given character at a given index
    getCharacterBounds(int)
    Determine the bounding box of the character at the given index into the string.
    getCharCount()
    Return the number of characters (valid indicies)
    getIndexAtPoint(Point)
    Given a point in local coordinates, return the zero-based index of the character under that Point.
    getSelectedText()
    Returns the portion of the text that is selected.
    getSelectionEnd()
    Returns the end offset within the selected text.
    getSelectionStart()
    Returns the start offset within the selected text.

    Variables

    CHARACTER
     public static final int CHARACTER
    
    Constant used to indicate that the part of text that should be retrieved is a character.

    See Also:
    getAtIndex, getAfterIndex, getBeforeIndex
    WORD
     public static final int WORD
    
    Constant used to indicate that the part of text that should be retrieved is a word.

    See Also:
    getAtIndex, getAfterIndex, getBeforeIndex
    SENTENCE
     public static final int SENTENCE
    
    Constant used to indicate that the part of text that should be retrieved is a sentence.

    See Also:
    getAtIndex, getAfterIndex, getBeforeIndex

    Methods

    getIndexAtPoint
     public abstract int getIndexAtPoint(Point p)
    
    Given a point in local coordinates, return the zero-based index of the character under that Point. If the point is invalid, this method returns -1.

    Parameters:
    p - the Point in local coordinates
    Returns:
    the zero-based index of the character under Point p; if Point is invalid returns -1.
    getCharacterBounds
     public abstract Rectangle getCharacterBounds(int i)
    
    Determine the bounding box of the character at the given index into the string. The bounds are returned in local coordinates. If the index is invalid an empty rectangle is returned.

    Parameters:
    i - the index into the String
    Returns:
    the screen coordinates of the character's the bounding box, if index is invalid returns an empty rectangle.
    getCharCount
     public abstract int getCharCount()
    
    Return the number of characters (valid indicies)

    Returns:
    the number of characters
    getCaretPosition
     public abstract int getCaretPosition()
    
    Return the zero-based offset of the caret. Note: That to the right of the caret will have the same index value as the offset (the caret is between two characters).

    Returns:
    the zero-based offset of the caret.
    getAtIndex
     public abstract String getAtIndex(int part,
                                       int index)
    
    Return the String at a given index.

    Parameters:
    part - the CHARACTER, WORD, or SENTENCE to retrieve
    index - an index within the text
    Returns:
    the letter, word, or sentence
    getAfterIndex
     public abstract String getAfterIndex(int part,
                                          int index)
    
    Return the String after a given index.

    Parameters:
    part - the CHARACTER, WORD, or SENTENCE to retrieve
    index - an index within the text
    Returns:
    the letter, word, or sentence
    getBeforeIndex
     public abstract String getBeforeIndex(int part,
                                           int index)
    
    Return the String before a given index.

    Parameters:
    part - the CHARACTER, WORD, or SENTENCE to retrieve
    index - an index within the text
    Returns:
    the letter, word, or sentence
    getCharacterAttribute
     public abstract AttributeSet getCharacterAttribute(int i)
    
    Return the AttributeSet for a given character at a given index

    Parameters:
    i - the zero-based index into the text
    Returns:
    the AttributeSet of the character
    getSelectionStart
     public abstract int getSelectionStart()
    
    Returns the start offset within the selected text. If there is no selection, but there is a caret, the start and end offsets will be the same.

    Returns:
    the index into the text of the start of the selection
    getSelectionEnd
     public abstract int getSelectionEnd()
    
    Returns the end offset within the selected text. If there is no selection, but there is a caret, the start and end offsets will be the same.

    Returns:
    the index into teh text of the end of the selection
    getSelectedText
     public abstract String getSelectedText()
    
    Returns the portion of the text that is selected.

    Returns:
    the String portion of the text that is selected

    a>  k ($7V56$@8./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessibletext_mi.htmmh$$ Interface com.sun.java.accessibility.AccessibleValue

    Interface com.sun.java.accessibility.AccessibleValue

    public interface AccessibleValue

    The AccessibleValue interface should be supported by any object that supports a numerical value (e.g., a scroll bar). This interface provides the standard mechanism for an assistive technology to determine and set the numerical value as well as get the minimum and maximum values. Applications can determine if an object supports the AccessibleValue interface by first obtaining its AccessibleContext (see Accessible) and then calling the getAccessibleValue method of AccessibleContext. If the return value is not null, the object supports this interface.

    See Also:
    Accessible, getAccessibleContext, AccessibleContext, getAccessibleValue

    Method Index

    getCurrentAccessibleValue()
    Get the value of this object as a Number.
    getMaximumAccessibleValue()
    Get the maximum value of this object as a Number.
    getMinimumAccessibleValue()
    Get the minimum value of this object as a Number.
    setCurrentAccessibleValue(Number)
    Set the value of this object as a Number.

    Methods

    getCurrentAccessibleValue
     public abstract Number getCurrentAccessibleValue()
    
    Get the value of this object as a Number. If the value has not been set, the return value will be null.

    Returns:
    value of the object
    See Also:
    setCurrentAccessibleValue
    setCurrentAccessibleValue
     public abstract boolean setCurrentAccessibleValue(Number n)
    
    Set the value of this object as a Number.

    Returns:
    True if the value was set; else False
    See Also:
    getCurrentAccessibleValue
    getMinimumAccessibleValue
     public abstract Number getMinimumAccessibleValue()
    
    Get the minimum value of this object as a Number.

    Returns:
    Minimum value of the object; null if this object does not have a minimum value
    See Also:
    getMaximumAccessibleValue
    getMaximumAccessibleValue
     public abstract Number getMaximumAccessibleValue()
    
    Get the maximum value of this object as a Number.

    Returns:
    Maximum value of the object; null if this object does not have a maximum value
    See Also:
    getMinimumAccessibleValue

    t  kU+$X7V56$`X./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.accessibility.accessiblevalue_mi.htmmh$$ Class com.sun.java.swing.AbstractAction

    Class com.sun.java.swing.AbstractAction

    java.lang.Object
       |
       +----com.sun.java.swing.AbstractAction
    

    public abstract class AbstractAction
    extends Object
    implements Action, Cloneable, Serializable

    This class provides default implementations for the JFC Action interface. Standard behaviors like the get and set methods for Action object properties (icon, text, and enabled) are defined here. The developer need only subclass this abstract class and define the actionPerformed method.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    Action

    Variable Index

    changeSupport
    enabled

    Constructor Index

    AbstractAction()
    Defines an Action object with a default description string and default icon.
    AbstractAction(String)
    Defines an Action object with the specified description string and a default icon.
    AbstractAction(String, Icon)
    Defines an Action object with the specified description string and a the specified icon.

    Method Index

    actionPerformed(ActionEvent)
    addPropertyChangeListener(PropertyChangeListener)
    Add a PropertyChangeListener to the listener list.
    firePropertyChange(String, Object, Object)
    Support for reporting bound property changes.
    getValue(String)
    isEnabled()
    putValue(String, Object)
    removePropertyChangeListener(PropertyChangeListener)
    Remove a PropertyChangeListener from the listener list.
    setEnabled(boolean)

    Variables

    enabled
     protected boolean enabled
    
    changeSupport
     protected PropertyChangeSupport changeSupport
    

    Constructors

    AbstractAction
     public AbstractAction()
    
    Defines an Action object with a default description string and default icon.

    AbstractAction
     public AbstractAction(String name)
    
    Defines an Action object with the specified description string and a default icon.

    AbstractAction
     public AbstractAction(String name,
                           Icon icon)
    
    Defines an Action object with the specified description string and a the specified icon.


    Methods

    getValue
     public Object getValue(String key)
    
    See Also:
    getValue
    putValue
     public synchronized void putValue(String key,
                                       Object newValue)
    
    See Also:
    putValue
    isEnabled
     public boolean isEnabled()
    
    See Also:
    isEnabled
    setEnabled
     public synchronized void setEnabled(boolean newValue)
    
    See Also:
    setEnabled
    firePropertyChange
     protected void firePropertyChange(String propertyName,
                                       Object oldValue,
                                       Object newValue)
    
    Support for reporting bound property changes. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.

    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    Add a PropertyChangeListener to the listener list. The listener is registered for all properties.

    A PropertyChangeEvent will get fired in response to setting a bound property, e.g. setFont, setBackground, or setForeground. Note that if the current component is inheriting its foreground, background, or font from its container, then no event will be fired in response to a change in the inherited property.

    Parameters:
    listener - The PropertyChangeListener to be added
    See Also:
    addPropertyChangeListener
    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    Remove a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.

    Parameters:
    listener - The PropertyChangeListener to be removed
    See Also:
    removePropertyChangeListener

    ri k.$Q7V56$0sQ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.abstractaction_mi.htm_mi.ht$$ Class com.sun.java.swing.AbstractListModel

    Class com.sun.java.swing.AbstractListModel

    java.lang.Object
       |
       +----com.sun.java.swing.AbstractListModel
    

    public abstract class AbstractListModel
    extends Object
    implements ListModel, Serializable

    The Abstract definition for the data model the provides a List with its contents.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    listenerList

    Constructor Index

    AbstractListModel()

    Method Index

    addListDataListener(ListDataListener)
    Add a listener to the list that's notified each time a change to the data model occurs.
    fireContentsChanged(Object, int, int)
    AbstractListModel subclasses must call this method after one or more elements of the list change.
    fireIntervalAdded(Object, int, int)
    fireIntervalRemoved(Object, int, int)
    getElementAt(int)
    Returns the value at the specified index.
    getSize()
    Returns the length of the list.
    removeListDataListener(ListDataListener)
    Remove a listener from the list that's notified each time a change to the data model occurs.

    Variables

    listenerList
     protected EventListenerList listenerList
    

    Constructors

    AbstractListModel
     public AbstractListModel()
    

    Methods

    addListDataListener
     public void addListDataListener(ListDataListener l)
    
    Add a listener to the list that's notified each time a change to the data model occurs.

    Parameters:
    l - the ListDataListener
    removeListDataListener
     public void removeListDataListener(ListDataListener l)
    
    Remove a listener from the list that's notified each time a change to the data model occurs.

    Parameters:
    l - the ListDataListener
    fireContentsChanged
     protected void fireContentsChanged(Object source,
                                        int index0,
                                        int index1)
    
    AbstractListModel subclasses must call this method after one or more elements of the list change. The changed elements are specified by a closed interval index0, index1, i.e. the range that includes both index0 and index1. Note that index0 need not be less than or equal to index1.

    Parameters:
    source - The ListModel that changed, typically "this".
    index0 - One end of the new interval.
    index1 - The other end of the new interval.
    See Also:
    EventListenerList, DefaultListModel
    fireIntervalAdded
     protected void fireIntervalAdded(Object source,
                                      int index0,
                                      int index1)
    
    fireIntervalRemoved
     protected void fireIntervalRemoved(Object source,
                                        int index0,
                                        int index1)
    

    one or kx4$O7X56$@cO./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.abstractlistmodel_mi.htm.ht$$ Interface com.sun.java.swing.Action

    Interface com.sun.java.swing.Action

    public interface Action
    extends ActionListener

    The JFC Action interface provides a useful extension to the ActionListner interface in cases where the same functionality may be accessed by several controls.

    In addition to the actionPerformed method defined by the ActionListener interface, this interface allows the application to define, in a single place:

    • One or more text strings that describe the function. These strings can be used, for example, to display the flyover text for a button or to set the text in a menu item.
    • One or more icons that depict the function. These icons can be used for the images in a menu control, or for composite-entries in a more sophisticated user-interface.
    • The enabled/disabled state of the functionality. Instead of having to separately disable the menu-item and the toolbar-button, the application can disable the function that implements this interface. All components which are registered as listeners for the state-change then know to disable event-generation for that item and to modify the display accordingly.
    Containers in the Swing set like menus and toolbars know how to add an Action object, as well as other components, using a version of the add method. When an Action object is added to such a container, the container:
    1. Creates a component that is appropriate for that container (a toolbar creates a button component, for example).
    2. Gets the appropriate property(s) from the Action object to customize the component (for example, the icon image and flyover text).
    3. Checks the intial state of the Action object to determine if it is enabled or disabled, and renders the component in the appropriate fashion.
    4. Registers a listener with the Action object so that is notified of state changes. When the Action object changes from enabled to disabled, or back, the container makes the appropriate revisions to the event-generation mechanisms and renders the component accordingly.
    For example, both a menu item and a toolbar button could access a Cut action object. The text associated with the object is specified as "Cut", and an image depicting a pair of scissors is specified as its icon. The Cut action-object can then be added to a menu and to a toolbar. Each container does the appropriate things with the object, and invokes its actionPerformed method when the component associated with it is activated. The application can then disable or enable the application object without worrying about what user-interface components are connected to it.

    This interface can be added to an existing class or used to create an adapter (typically, by subclassing AbstractAction). The Action object can then be added to multiple action-aware containers and connected to Action-capable components. The GUI controls can then be activated or deactivated all at once by invoking the Action object's setEnabled method.

    See Also:
    AbstractAction

    Variable Index

    DEFAULT
    Useful constants that can be used as the storage-retreival key when setting or getting one of this object's properties (text or icon).
    LONG_DESCRIPTION
    NAME
    SHORT_DESCRIPTION
    SMALL_ICON

    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    Add or remove a PropertyChange listener.
    getValue(String)
    Puts/gets one of this object's properties using the associated key.
    isEnabled()
    putValue(String, Object)
    removePropertyChangeListener(PropertyChangeListener)
    setEnabled(boolean)
    Sets/tests the enabled state of the Action.

    Variables

    DEFAULT
     public static final String DEFAULT
    
    Useful constants that can be used as the storage-retreival key when setting or getting one of this object's properties (text or icon).

    NAME
     public static final String NAME
    
    SHORT_DESCRIPTION
     public static final String SHORT_DESCRIPTION
    
    LONG_DESCRIPTION
     public static final String LONG_DESCRIPTION
    
    SMALL_ICON
     public static final String SMALL_ICON
    

    Methods

    getValue
     public abstract Object getValue(String key)
    
    Puts/gets one of this object's properties using the associated key. If the value has changed, a PropertyChangeEvent will be sent to listeners.

    putValue
     public abstract void putValue(String key,
                                   Object value)
    
    setEnabled
     public abstract void setEnabled(boolean b)
    
    Sets/tests the enabled state of the Action. When enabled, any component associated with this object is active and able to fire this object's actionPerformed method.

    isEnabled
     public abstract boolean isEnabled()
    
    addPropertyChangeListener
     public abstract void addPropertyChangeListener(PropertyChangeListener listener)
    
    Add or remove a PropertyChange listener. Containers and attached components use these methods to register interest in this Action object. When its enabled state or other property changes, the registered listeners are informed of the change.

    removePropertyChangeListener
     public abstract void removePropertyChangeListener(PropertyChangeListener listener)
    

    ex k`7$7X56$@./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.action_mi.htmel_mi.$$ Class com.sun.java.swing.border.AbstractBorder

    Class com.sun.java.swing.border.AbstractBorder

    java.lang.Object
       |
       +----com.sun.java.swing.border.AbstractBorder
    

    public abstract class AbstractBorder
    extends Object
    implements Border, Serializable

    A class which implements an empty border with no size. This provides a convenient base class from which other border classes can be easily derived.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    AbstractBorder()

    Method Index

    getBorderInsets(Component)
    This default implementation returns the value of getBorderMargins.
    getInteriorRectangle(Component, Border, int, int, int, int)
    This method returns a rectangle using the arguements minus the insets of the border.
    getInteriorRectangle(Component, int, int, int, int)
    This is a convience method that calls the static method.
    isBorderOpaque()
    This default implementation returns false.
    paintBorder(Component, Graphics, int, int, int, int)
    This default implementation does no painting.

    Constructors

    AbstractBorder
     public AbstractBorder()
    

    Methods

    paintBorder
     public void paintBorder(Component c,
                             Graphics g,
                             int x,
                             int y,
                             int width,
                             int height)
    
    This default implementation does no painting.

    getBorderInsets
     public Insets getBorderInsets(Component c)
    
    This default implementation returns the value of getBorderMargins.

    isBorderOpaque
     public boolean isBorderOpaque()
    
    This default implementation returns false.

    getInteriorRectangle
     public Rectangle getInteriorRectangle(Component c,
                                           int x,
                                           int y,
                                           int width,
                                           int height)
    
    This is a convience method that calls the static method.

    getInteriorRectangle
     public static Rectangle getInteriorRectangle(Component c,
                                                  Border b,
                                                  int x,
                                                  int y,
                                                  int width,
                                                  int height)
    
    This method returns a rectangle using the arguements minus the insets of the border. This is useful for determining the area that components should draw in that will not intersect the border.


     k:$'7X56$P './usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.border.abstractborder_mi.htm$$ Class com.sun.java.swing.border.BevelBorder

    Class com.sun.java.swing.border.BevelBorder

    java.lang.Object
       |
       +----com.sun.java.swing.border.AbstractBorder
               |
               +----com.sun.java.swing.border.BevelBorder
    

    public class BevelBorder
    extends AbstractBorder

    A class which implements a simple 2 line bevel border.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    bevelType
    highlightInner
    highlightOuter
    LOWERED
    Lowered bevel type.
    RAISED
    Raised bevel type.
    shadowInner
    shadowOuter

    Constructor Index

    BevelBorder(int)
    Creates a bevel border with the specified type and whose colors will be derived from the background color of the component passed into the paintBorder method.
    BevelBorder(int, Color, Color)
    Creates a bevel border with the specified type, highlight and shadow colors.
    BevelBorder(int, Color, Color, Color, Color)
    Creates a bevel border with the specified type, highlight shadow colors.

    Method Index

    getBevelType()
    Returns the type of the bevel border.
    getBorderInsets(Component)
    Returns the insets of the border.
    getHighlightInnerColor(Component)
    Returns the inner highlight color of the bevel border.
    getHighlightOuterColor(Component)
    Returns the outer highlight color of the bevel border.
    getShadowInnerColor(Component)
    Returns the inner shadow color of the bevel border.
    getShadowOuterColor(Component)
    Returns the outer shadow color of the bevel border.
    isBorderOpaque()
    Returns whether or not the border is opaque.
    paintBorder(Component, Graphics, int, int, int, int)
    Paints the border for the specified component with the specified position and size.
    paintLoweredBevel(Component, Graphics, int, int, int, int)
    paintRaisedBevel(Component, Graphics, int, int, int, int)

    Variables

    RAISED
     public static final int RAISED
    
    Raised bevel type.

    LOWERED
     public static final int LOWERED
    
    Lowered bevel type.

    bevelType
     protected int bevelType
    
    highlightOuter
     protected Color highlightOuter
    
    highlightInner
     protected Color highlightInner
    
    shadowInner
     protected Color shadowInner
    
    shadowOuter
     protected Color shadowOuter
    

    Constructors

    BevelBorder
     public BevelBorder(int bevelType)
    
    Creates a bevel border with the specified type and whose colors will be derived from the background color of the component passed into the paintBorder method.

    Parameters:
    bevelType - the type of bevel for the border
    BevelBorder
     public BevelBorder(int bevelType,
                        Color highlight,
                        Color shadow)
    
    Creates a bevel border with the specified type, highlight and shadow colors.

    Parameters:
    bevelType - the type of bevel for the border
    highlight - the color to use for the bevel highlight
    shadow - the color to use for the bevel shadow
    BevelBorder
     public BevelBorder(int bevelType,
                        Color highlightOuter,
                        Color highlightInner,
                        Color shadowOuter,
                        Color shadowInner)
    
    Creates a bevel border with the specified type, highlight shadow colors.

    Parameters:
    bevelType - the type of bevel for the border
    highlightOuter - the color to use for the bevel outer highlight
    highlightInner - the color to use for the bevel inner highlight
    shadowOuter - the color to use for the bevel outer shadow
    shadowInner - the color to use for the bevel inner shadow

    Methods

    paintBorder
     public void paintBorder(Component c,
                             Graphics g,
                             int x,
                             int y,
                             int width,
                             int height)
    
    Paints the border for the specified component with the specified position and size.

    Parameters:
    c - the component for which this border is being painted
    g - the paint graphics
    x - the x position of the painted border
    y - the y position of the painted border
    width - the width of the painted border
    height - the height of the painted border
    Overrides:
    paintBorder in class AbstractBorder
    getBorderInsets
     public Insets getBorderInsets(Component c)
    
    Returns the insets of the border.

    Parameters:
    c - the component for which this border insets value applies
    Overrides:
    getBorderInsets in class AbstractBorder
    getHighlightOuterColor
     public Color getHighlightOuterColor(Component c)
    
    Returns the outer highlight color of the bevel border.

    getHighlightInnerColor
     public Color getHighlightInnerColor(Component c)
    
    Returns the inner highlight color of the bevel border.

    getShadowInnerColor
     public Color getShadowInnerColor(Component c)
    
    Returns the inner shadow color of the bevel border.

    getShadowOuterColor
     public Color getShadowOuterColor(Component c)
    
    Returns the outer shadow color of the bevel border.

    getBevelType
     public int getBevelType()
    
    Returns the type of the bevel border.

    isBorderOpaque
     public boolean isBorderOpaque()
    
    Returns whether or not the border is opaque.

    Overrides:
    isBorderOpaque in class AbstractBorder
    paintRaisedBevel
     protected void paintRaisedBevel(Component c,
                                     Graphics g,
                                     int x,
                                     int y,
                                     int width,
                                     int height)
    
    paintLoweredBevel
     protected void paintLoweredBevel(Component c,
                                      Graphics g,
                                      int x,
                                      int y,
                                      int width,
                                      int height)
    

     kT=$m 7X56$m ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.border.bevelborder_mi.htmm$$ Interface com.sun.java.swing.border.Border

    Interface com.sun.java.swing.border.Border

    public interface Border

    Interface describing an object capable of rendering a border around the edges of a swing component.

    In the Swing component set, borders supercede Insets as the mechanism for creating a (decorated or plain) area around the edge of a component.

    Usage Notes:

    • Use EmptyBorder to create a plain border (this mechanism replaces its predecessor, setInsets).
    • Use CompoundBorder to nest multiple border objects, creating a single, combined border.
    • Border instances are designed to be shared. Rather than creating a new border object using one of border classes, use the BorderFactory methods, which produces a shared instance of the common border types.
    • Additional border styles include BevelBorder, SoftBevelBorder, EtchedBorder, LineBorder, TitledBorder, and MatBorder.
    • To create a new border class, subclass AbstractBorder.

    See Also:
    EmptyBorder, CompoundBorder

    Method Index

    getBorderInsets(Component)
    Returns the insets of the border.
    isBorderOpaque()
    Returns whether or not the border is opaque.
    paintBorder(Component, Graphics, int, int, int, int)
    Paints the border for the specified component with the specified position and size.

    Methods

    paintBorder
     public abstract void paintBorder(Component c,
                                      Graphics g,
                                      int x,
                                      int y,
                                      int width,
                                      int height)
    
    Paints the border for the specified component with the specified position and size.

    Parameters:
    c - the component for which this border is being painted
    g - the paint graphics
    x - the x position of the painted border
    y - the y position of the painted border
    width - the width of the painted border
    height - the height of the painted border
    getBorderInsets
     public abstract Insets getBorderInsets(Component c)
    
    Returns the insets of the border.

    Parameters:
    c - the component for which this border insets value applies
    isBorderOpaque
     public abstract boolean isBorderOpaque()
    
    Returns whether or not the border is opaque. If the border is opaque, it is responsible for filling in it's own background when painting.


    ">  kꚧ@$7X56$`~./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.border.border_mi.htm$$ Class com.sun.java.swing.border.CompoundBorder

    Class com.sun.java.swing.border.CompoundBorder

    java.lang.Object
       |
       +----com.sun.java.swing.border.AbstractBorder
               |
               +----com.sun.java.swing.border.CompoundBorder
    

    public class CompoundBorder
    extends AbstractBorder

    A composite Border class used to compose two Border objects into a single border by nesting an inside Border object within the insets of an outside Border object. For example, this class may be used to add blank margin space to a component with an existing decorative border:

        Border border = comp.getBorder();
        Border margin = new EmptyBorder(10,10,10,10);
        comp.setBorder(new CompoundBorder(border, margin));
     

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    insideBorder
    outsideBorder

    Constructor Index

    CompoundBorder()
    Creates a compound border with null outside and inside borders.
    CompoundBorder(Border, Border)
    Creates a compound border with the specified outside and inside borders.

    Method Index

    getBorderInsets(Component)
    Returns the insets of the composite border by adding the insets of the outside border to the insets of the inside border.
    getInsideBorder()
    Returns the inside border object.
    getOutsideBorder()
    Returns the outside border object.
    isBorderOpaque()
    Returns whether or not this compound border is opaque.
    paintBorder(Component, Graphics, int, int, int, int)
    Paints the compound border by painting the outside border with the specified position and size and then painting the inside border at the specified position and size offset by the insets of the outside border.

    Variables

    outsideBorder
     protected Border outsideBorder
    
    insideBorder
     protected Border insideBorder
    

    Constructors

    CompoundBorder
     public CompoundBorder()
    
    Creates a compound border with null outside and inside borders.

    CompoundBorder
     public CompoundBorder(Border outsideBorder,
                           Border insideBorder)
    
    Creates a compound border with the specified outside and inside borders. Either border may be null.

    Parameters:
    outsideBorder - the outside border
    insideBorder - the inside border to be nested

    Methods

    isBorderOpaque
     public boolean isBorderOpaque()
    
    Returns whether or not this compound border is opaque. Returns true if both the inside and outside borders are non-null and opaque; returns false otherwise.

    Overrides:
    isBorderOpaque in class AbstractBorder
    paintBorder
     public void paintBorder(Component c,
                             Graphics g,
                             int x,
                             int y,
                             int width,
                             int height)
    
    Paints the compound border by painting the outside border with the specified position and size and then painting the inside border at the specified position and size offset by the insets of the outside border.

    Parameters:
    c - the component for which this border is being painted
    g - the paint graphics
    x - the x position of the painted border
    y - the y position of the painted border
    width - the width of the painted border
    height - the height of the painted border
    Overrides:
    paintBorder in class AbstractBorder
    getBorderInsets
     public Insets getBorderInsets(Component c)
    
    Returns the insets of the composite border by adding the insets of the outside border to the insets of the inside border.

    Parameters:
    c - the component for which this border insets value applies
    Overrides:
    getBorderInsets in class AbstractBorder
    getOutsideBorder
     public Border getOutsideBorder()
    
    Returns the outside border object.

    getInsideBorder
     public Border getInsideBorder()
    
    Returns the inside border object.


    r kvC$ 7X56$@e ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.border.compoundborder_mi.htm$$ Class com.sun.java.swing.border.EmptyBorder

    Class com.sun.java.swing.border.EmptyBorder

    java.lang.Object
       |
       +----com.sun.java.swing.border.AbstractBorder
               |
               +----com.sun.java.swing.border.EmptyBorder
    

    public class EmptyBorder
    extends AbstractBorder
    implements Serializable

    A class which provides an empty, transparent border which takes up space but does no drawing.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    bottom
    left
    right
    top

    Constructor Index

    EmptyBorder(Insets)
    Creates an empty border with the specified insets.
    EmptyBorder(int, int, int, int)
    Creates an empty border with the specified insets.

    Method Index

    getBorderInsets(Component)
    Returns the insets of the border.
    isBorderOpaque()
    Returns whether or not the border is opaque.
    paintBorder(Component, Graphics, int, int, int, int)
    Does no drawing by default.

    Variables

    left
     protected int left
    
    right
     protected int right
    
    top
     protected int top
    
    bottom
     protected int bottom
    

    Constructors

    EmptyBorder
     public EmptyBorder(int top,
                        int left,
                        int bottom,
                        int right)
    
    Creates an empty border with the specified insets.

    Parameters:
    top - the top inset of the border
    left - the left inset of the border
    bottom - the bottom inset of the border
    right - the right inset of the border
    EmptyBorder
     public EmptyBorder(Insets insets)
    
    Creates an empty border with the specified insets.

    Parameters:
    insets - the insets of the border

    Methods

    paintBorder
     public void paintBorder(Component c,
                             Graphics g,
                             int x,
                             int y,
                             int width,
                             int height)
    
    Does no drawing by default.

    Overrides:
    paintBorder in class AbstractBorder
    getBorderInsets
     public Insets getBorderInsets(Component c)
    
    Returns the insets of the border.

    Parameters:
    c - the component for which this border insets value applies
    Overrides:
    getBorderInsets in class AbstractBorder
    isBorderOpaque
     public boolean isBorderOpaque()
    
    Returns whether or not the border is opaque. Returns false by default.

    Overrides:
    isBorderOpaque in class AbstractBorder

    mptyBor k4F$7X56$Pz./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.border.emptyborder_mi.htmm$$ Class com.sun.java.swing.border.EtchedBorder

    Class com.sun.java.swing.border.EtchedBorder

    java.lang.Object
       |
       +----com.sun.java.swing.border.AbstractBorder
               |
               +----com.sun.java.swing.border.EtchedBorder
    

    public class EtchedBorder
    extends AbstractBorder

    A class which implements a simple etched border which can either be etched-in or etched-out. If no highlight/shadow colors are initialized when the border is created, then these colors will be dynamically derived from the background color of the component argument passed into the paintBorder() method.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    etchType
    highlight
    LOWERED
    Lowered etched type.
    RAISED
    Raised etched type.
    shadow

    Constructor Index

    EtchedBorder()
    Creates a lowered etched border whose colors will be derived from the background color of the component passed into the paintBorder method.
    EtchedBorder(Color, Color)
    Creates a lowered etched border with the specified highlight and shadow colors.
    EtchedBorder(int)
    Creates an etched border with the specified etch-type whose colors will be derived from the background color of the component passed into the paintBorder method.
    EtchedBorder(int, Color, Color)
    Creates an etched border with the specified etch-type, highlight and shadow colors.

    Method Index

    getBorderInsets(Component)
    Returns the insets of the border.
    getEtchType()
    Returns which etch-type is set on the etched border.
    getHighlightColor(Component)
    Returns the highlight color of the etched border.
    getShadowColor(Component)
    Returns the shadow color of the etched border.
    isBorderOpaque()
    Returns whether or not the border is opaque.
    paintBorder(Component, Graphics, int, int, int, int)
    Paints the border for the specified component with the specified position and size.

    Variables

    RAISED
     public static final int RAISED
    
    Raised etched type.

    LOWERED
     public static final int LOWERED
    
    Lowered etched type.

    etchType
     protected int etchType
    
    highlight
     protected Color highlight
    
    shadow
     protected Color shadow
    

    Constructors

    EtchedBorder
     public EtchedBorder()
    
    Creates a lowered etched border whose colors will be derived from the background color of the component passed into the paintBorder method.

    EtchedBorder
     public EtchedBorder(int etchType)
    
    Creates an etched border with the specified etch-type whose colors will be derived from the background color of the component passed into the paintBorder method.

    Parameters:
    etchType - the type of etch to be drawn by the border
    EtchedBorder
     public EtchedBorder(Color highlight,
                         Color shadow)
    
    Creates a lowered etched border with the specified highlight and shadow colors.

    Parameters:
    highlight - the color to use for the etched highlight
    shadow - the color to use for the etched shadow
    EtchedBorder
     public EtchedBorder(int etchType,
                         Color highlight,
                         Color shadow)
    
    Creates an etched border with the specified etch-type, highlight and shadow colors.

    Parameters:
    etchType - the type of etch to be drawn by the border
    highlight - the color to use for the etched highlight
    shadow - the color to use for the etched shadow

    Methods

    paintBorder
     public void paintBorder(Component c,
                             Graphics g,
                             int x,
                             int y,
                             int width,
                             int height)
    
    Paints the border for the specified component with the specified position and size.

    Parameters:
    c - the component for which this border is being painted
    g - the paint graphics
    x - the x position of the painted border
    y - the y position of the painted border
    width - the width of the painted border
    height - the height of the painted border
    Overrides:
    paintBorder in class AbstractBorder
    getBorderInsets
     public Insets getBorderInsets(Component c)
    
    Returns the insets of the border.

    Parameters:
    c - the component for which this border insets value applies
    Overrides:
    getBorderInsets in class AbstractBorder
    isBorderOpaque
     public boolean isBorderOpaque()
    
    Returns whether or not the border is opaque.

    Overrides:
    isBorderOpaque in class AbstractBorder
    getEtchType
     public int getEtchType()
    
    Returns which etch-type is set on the etched border.

    getHighlightColor
     public Color getHighlightColor(Component c)
    
    Returns the highlight color of the etched border.

    getShadowColor
     public Color getShadowColor(Component c)
    
    Returns the shadow color of the etched border.


     kRO$7X56$0./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.border.etchedborder_mi.htm$$ Class com.sun.java.swing.border.LineBorder

    Class com.sun.java.swing.border.LineBorder

    java.lang.Object
       |
       +----com.sun.java.swing.border.AbstractBorder
               |
               +----com.sun.java.swing.border.LineBorder
    

    public class LineBorder
    extends AbstractBorder

    A class which implements a line border of arbitrary thickness and of a single color.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    lineColor
    roundedCorners
    thickness

    Constructor Index

    LineBorder(Color)
    Creates a line border with the specified color and a thickness = 1.
    LineBorder(Color, int)
    Creates a line border with the specified color and thickness.

    Method Index

    createBlackLineBorder()
    Convenience method for getting the Color.black LineBorder of thickness 1.
    createGrayLineBorder()
    Convenience method for getting the Color.gray LineBorder of thickness 1.
    getBorderInsets(Component)
    Returns the insets of the border.
    getLineColor()
    Returns the color of the border.
    getThickness()
    Returns the thickness of the border.
    isBorderOpaque()
    Returns whether or not the border is opaque.
    paintBorder(Component, Graphics, int, int, int, int)
    Paints the border for the specified component with the specified position and size.

    Variables

    thickness
     protected int thickness
    
    lineColor
     protected Color lineColor
    
    roundedCorners
     protected boolean roundedCorners
    

    Constructors

    LineBorder
     public LineBorder(Color color)
    
    Creates a line border with the specified color and a thickness = 1.

    Parameters:
    color - the color for the border
    LineBorder
     public LineBorder(Color color,
                       int thickness)
    
    Creates a line border with the specified color and thickness.

    Parameters:
    color - the color of the border
    thickness - the thickness of the border

    Methods

    createBlackLineBorder
     public static Border createBlackLineBorder()
    
    Convenience method for getting the Color.black LineBorder of thickness 1.

    createGrayLineBorder
     public static Border createGrayLineBorder()
    
    Convenience method for getting the Color.gray LineBorder of thickness 1.

    paintBorder
     public void paintBorder(Component c,
                             Graphics g,
                             int x,
                             int y,
                             int width,
                             int height)
    
    Paints the border for the specified component with the specified position and size.

    Parameters:
    c - the component for which this border is being painted
    g - the paint graphics
    x - the x position of the painted border
    y - the y position of the painted border
    width - the width of the painted border
    height - the height of the painted border
    Overrides:
    paintBorder in class AbstractBorder
    getBorderInsets
     public Insets getBorderInsets(Component c)
    
    Returns the insets of the border.

    Parameters:
    c - the component for which this border insets value applies
    Overrides:
    getBorderInsets in class AbstractBorder
    getLineColor
     public Color getLineColor()
    
    Returns the color of the border.

    getThickness
     public int getThickness()
    
    Returns the thickness of the border.

    isBorderOpaque
     public boolean isBorderOpaque()
    
    Returns whether or not the border is opaque.

    Overrides:
    isBorderOpaque in class AbstractBorder

    lor)  ktR$7X56$@./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.border.lineborder_mi.htm$$ Class com.sun.java.swing.border.MatteBorder

    Class com.sun.java.swing.border.MatteBorder

    java.lang.Object
       |
       +----com.sun.java.swing.border.AbstractBorder
               |
               +----com.sun.java.swing.border.EmptyBorder
                       |
                       +----com.sun.java.swing.border.MatteBorder
    

    public class MatteBorder
    extends EmptyBorder

    A class which provides a matte-like border of either a solid color or a tiled icon.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    color
    tileIcon

    Constructor Index

    MatteBorder(Icon)
    Creates a matte border with the specified tile icon.
    MatteBorder(int, int, int, int, Color)
    Creates a matte border with the specified insets and color.
    MatteBorder(int, int, int, int, Icon)
    Creates a matte border with the specified insets and tile icon.

    Method Index

    getBorderInsets(Component)
    Returns the insets of the border.
    isBorderOpaque()
    Returns whether or not the border is opaque.
    paintBorder(Component, Graphics, int, int, int, int)
    Paints the matte border.

    Variables

    color
     protected Color color
    
    tileIcon
     protected Icon tileIcon
    

    Constructors

    MatteBorder
     public MatteBorder(int top,
                        int left,
                        int bottom,
                        int right,
                        Color color)
    
    Creates a matte border with the specified insets and color.

    Parameters:
    top - the top inset of the border
    left - the left inset of the border
    bottom - the bottom inset of the border
    right - the right inset of the border
    MatteBorder
     public MatteBorder(int top,
                        int left,
                        int bottom,
                        int right,
                        Icon tileIcon)
    
    Creates a matte border with the specified insets and tile icon.

    Parameters:
    top - the top inset of the border
    left - the left inset of the border
    bottom - the bottom inset of the border
    right - the right inset of the border
    tileIcon - the icon to be used for tiling the border
    MatteBorder
     public MatteBorder(Icon tileIcon)
    
    Creates a matte border with the specified tile icon. The insets will be calculated dynamically based on the size of the tile icon, where the top and bottom will be equal to the tile icon's height, and the left and right will be equal to the tile icon's width.

    Parameters:
    tileIcon - the icon to be used for tiling the border

    Methods

    paintBorder
     public void paintBorder(Component c,
                             Graphics g,
                             int x,
                             int y,
                             int width,
                             int height)
    
    Paints the matte border.

    Overrides:
    paintBorder in class EmptyBorder
    getBorderInsets
     public Insets getBorderInsets(Component c)
    
    Returns the insets of the border.

    Parameters:
    c - the component for which this border insets value applies
    Overrides:
    getBorderInsets in class EmptyBorder
    isBorderOpaque
     public boolean isBorderOpaque()
    
    Returns whether or not the border is opaque.

    Overrides:
    isBorderOpaque in class EmptyBorder

    teBo k`U$7X56$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.border.matteborder_mi.htm$$ Class com.sun.java.swing.border.SoftBevelBorder

    Class com.sun.java.swing.border.SoftBevelBorder

    java.lang.Object
       |
       +----com.sun.java.swing.border.AbstractBorder
               |
               +----com.sun.java.swing.border.BevelBorder
                       |
                       +----com.sun.java.swing.border.SoftBevelBorder
    

    public class SoftBevelBorder
    extends BevelBorder

    A class which implements a raised or lowered bevel with softened corners.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    SoftBevelBorder(int)
    Creates a bevel border with the specified type and whose colors will be derived from the background color of the component passed into the paintBorder method.
    SoftBevelBorder(int, Color, Color)
    Creates a bevel border with the specified type, highlight and shadow colors.
    SoftBevelBorder(int, Color, Color, Color, Color)
    Creates a bevel border with the specified type, highlight shadow colors.

    Method Index

    getBorderInsets(Component)
    Returns the insets of the border.
    isBorderOpaque()
    Returns whether or not the border is opaque.
    paintBorder(Component, Graphics, int, int, int, int)
    Paints the border for the specified component with the specified position and size.

    Constructors

    SoftBevelBorder
     public SoftBevelBorder(int bevelType)
    
    Creates a bevel border with the specified type and whose colors will be derived from the background color of the component passed into the paintBorder method.

    Parameters:
    bevelType - the type of bevel for the border
    SoftBevelBorder
     public SoftBevelBorder(int bevelType,
                            Color highlight,
                            Color shadow)
    
    Creates a bevel border with the specified type, highlight and shadow colors.

    Parameters:
    bevelType - the type of bevel for the border
    highlight - the color to use for the bevel highlight
    shadow - the color to use for the bevel shadow
    SoftBevelBorder
     public SoftBevelBorder(int bevelType,
                            Color highlightOuter,
                            Color highlightInner,
                            Color shadowOuter,
                            Color shadowInner)
    
    Creates a bevel border with the specified type, highlight shadow colors.

    Parameters:
    bevelType - the type of bevel for the border
    highlightOuter - the color to use for the bevel outer highlight
    highlightInner - the color to use for the bevel inner highlight
    shadowOuter - the color to use for the bevel outer shadow
    shadowInner - the color to use for the bevel inner shadow

    Methods

    paintBorder
     public void paintBorder(Component c,
                             Graphics g,
                             int x,
                             int y,
                             int width,
                             int height)
    
    Paints the border for the specified component with the specified position and size.

    Parameters:
    c - the component for which this border is being painted
    g - the paint graphics
    x - the x position of the painted border
    y - the y position of the painted border
    width - the width of the painted border
    height - the height of the painted border
    Overrides:
    paintBorder in class BevelBorder
    getBorderInsets
     public Insets getBorderInsets(Component c)
    
    Returns the insets of the border.

    Parameters:
    c - the component for which this border insets value applies
    Overrides:
    getBorderInsets in class BevelBorder
    isBorderOpaque
     public boolean isBorderOpaque()
    
    Returns whether or not the border is opaque.

    Overrides:
    isBorderOpaque in class BevelBorder

    aram k&X$7X56$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.border.softbevelborder_mi.htmmh$$ Class com.sun.java.swing.BorderFactory

    Class com.sun.java.swing.BorderFactory

    java.lang.Object
       |
       +----com.sun.java.swing.BorderFactory
    

    public class BorderFactory
    extends Object

    Factory class for vending standard Border objects. Whereever possible, this factory will hand out references to shared Border instances.


    Method Index

    createBevelBorder(int)
    createBevelBorder(int, Color, Color)
    createBevelBorder(int, Color, Color, Color, Color)
    createCompoundBorder()
    createCompoundBorder(Border, Border)
    createEmptyBorder()
    createEmptyBorder(int, int, int, int)
    createEtchedBorder()
    createEtchedBorder(Color, Color)
    createLineBorder(Color)
    createLineBorder(Color, int)
    createLoweredBevelBorder()
    createMatteBorder(int, int, int, int, Color)
    createMatteBorder(int, int, int, int, Icon)
    createRaisedBevelBorder()
    createTitledBorder(Border)
    createTitledBorder(Border, String)
    createTitledBorder(Border, String, int, int)
    createTitledBorder(Border, String, int, int, Font)
    createTitledBorder(Border, String, int, int, Font, Color)
    createTitledBorder(String)

    Methods

    createLineBorder
     public static Border createLineBorder(Color color)
    
    createLineBorder
     public static Border createLineBorder(Color color,
                                           int thickness)
    
    createRaisedBevelBorder
     public static Border createRaisedBevelBorder()
    
    createLoweredBevelBorder
     public static Border createLoweredBevelBorder()
    
    createBevelBorder
     public static Border createBevelBorder(int type)
    
    createBevelBorder
     public static Border createBevelBorder(int type,
                                            Color highlight,
                                            Color shadow)
    
    createBevelBorder
     public static Border createBevelBorder(int type,
                                            Color highlightOuter,
                                            Color highlightInner,
                                            Color shadowOuter,
                                            Color shadowInner)
    
    createEtchedBorder
     public static Border createEtchedBorder()
    
    createEtchedBorder
     public static Border createEtchedBorder(Color highlight,
                                             Color shadow)
    
    createTitledBorder
     public static TitledBorder createTitledBorder(String title)
    
    createTitledBorder
     public static TitledBorder createTitledBorder(Border border)
    
    createTitledBorder
     public static TitledBorder createTitledBorder(Border border,
                                                   String title)
    
    createTitledBorder
     public static TitledBorder createTitledBorder(Border border,
                                                   String title,
                                                   int titleJustification,
                                                   int titlePosition)
    
    createTitledBorder
     public static TitledBorder createTitledBorder(Border border,
                                                   String title,
                                                   int titleJustification,
                                                   int titlePosition,
                                                   Font titleFont)
    
    createTitledBorder
     public static TitledBorder createTitledBorder(Border border,
                                                   String title,
                                                   int titleJustification,
                                                   int titlePosition,
                                                   Font titleFont,
                                                   Color titleColor)
    
    createEmptyBorder
     public static Border createEmptyBorder()
    
    createEmptyBorder
     public static Border createEmptyBorder(int top,
                                            int left,
                                            int bottom,
                                            int right)
    
    createCompoundBorder
     public static CompoundBorder createCompoundBorder()
    
    createCompoundBorder
     public static CompoundBorder createCompoundBorder(Border outsideBorder,
                                                       Border insideBorder)
    
    createMatteBorder
     public static MatteBorder createMatteBorder(int top,
                                                 int left,
                                                 int bottom,
                                                 int right,
                                                 Color color)
    
    createMatteBorder
     public static MatteBorder createMatteBorder(int top,
                                                 int left,
                                                 int bottom,
                                                 int right,
                                                 Icon tileIcon)
    

     k갦^$h7Z56$-h./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.borderfactory_mi.htm$$ Interface com.sun.java.swing.BoundedRangeModel

    Interface com.sun.java.swing.BoundedRangeModel

    public interface BoundedRangeModel

    Defines the data model used by components like Sliders and ProgressBars. Defines four interrelated integer properties: minimum, maximum, extent and value. These four integers define two nested ranges like this:

     minimum <= value <="value+extent" <="maximum" 
    The outer range is minimum,maximum and the inner range is value,value+extent. The inner range must lie within the outer one, i.e. value must be less than or equal to maximum and value+extent must greater than or equal to minimum, and maximum must be greater than or equal to minimum. There are a few features of this model that one might find a little surprising. These quirks exist for the convenience of the Swing BoundedRangeModel clients like like Slider and ScrollBar.
    • The minimum and maximum set methods "correct" the other three properties to acommodate their new value argument. For example setting the model's minimum may change its maximum, value, and extent properties (in that order), to maintain the constraints specified above.
    • The value and extent set methods "correct" their argument to fit within the limits defined by the other three properties. For example if value == maximum, setExtent(10) would change the extent (back) to zero.
    • The four BoundedRangeModel values are defined as Java Beans properties however Swing ChangeEvents are used to notify clients of changes rather than PropertyChangeEvents. This was done to keep the overhead of monitoring a BoundedRangeModel low. Changes are often reported at MouseDragged rates.

    See Also:
    DefaultBoundedRangeModel

    Method Index

    addChangeListener(ChangeListener)
    Adds a ChangeListener to the model's listener list.
    getExtent()
    Returns the model's extent, the length of the inner range that begins at the model's value.
    getMaximum()
    Returns the model's maximum.
    getMinimum()
    Returns the minimum acceptable value.
    getValue()
    Returns the model's current value.
    getValueIsAdjusting()
    Returns true if the current changes to the value property are part of a series.
    removeChangeListener(ChangeListener)
    Removes a ChangeListener from the model's listener list.
    setExtent(int)
    Sets the model's extent.
    setMaximum(int)
    Sets the model's maximum to newMaximum.
    setMinimum(int)
    Sets the model's minimum to newMinimum.
    setRangeProperties(int, int, int, int, boolean)
    This method sets all of the model's data with a single method call.
    setValue(int)
    Sets the model's current value to newValue if newValue satisfies the model's constraints:
     minimum <= value <="value+extent" <="maximum" 
    Otherwise, if newValue is less than minimum it's set to minimum, if its greater than maximum then it's set to maximum, and if it's greater than value+extent then it's set to value+extent.
    setValueIsAdjusting(boolean)
    This attribute indicates that any upcoming changes to the value of the model should be considered a single event.

    Methods

    getMinimum
     public abstract int getMinimum()
    
    Returns the minimum acceptable value.

    Returns:
    the value of the minimum property
    See Also:
    setMinimum
    setMinimum
     public abstract void setMinimum(int newMinimum)
    
    Sets the model's minimum to newMinimum. The other three properties may be changed as well, to ensure that:
     minimum <= value <="value+extent" <="maximum" 

    Notifies any listeners if the model changes.

    Parameters:
    newMinimum - the model's new minimum
    See Also:
    getMinimum, addChangeListener
    getMaximum
     public abstract int getMaximum()
    
    Returns the model's maximum. Note that the upper limit on the model's value is (maximum - extent).

    Returns:
    the value of the maximum property.
    See Also:
    setMaximum, setExtent
    setMaximum
     public abstract void setMaximum(int newMaximum)
    
    Sets the model's maximum to newMaximum. The other three properties may be changed as well, to ensure that
     minimum <= value <="value+extent" <="maximum" 

    Notifies any listeners if the model changes.

    Parameters:
    newMaximum - the model's new maximum
    See Also:
    getMaximum, addChangeListener
    getValue
     public abstract int getValue()
    
    Returns the model's current value. Note that the upper limit on the model's value is maximum - extent and the lower limit is minimum.

    Returns:
    the model's value
    See Also:
    setValue
    setValue
     public abstract void setValue(int newValue)
    
    Sets the model's current value to newValue if newValue satisfies the model's constraints:
     minimum <= value <="value+extent" <="maximum" 
    Otherwise, if newValue is less than minimum it's set to minimum, if its greater than maximum then it's set to maximum, and if it's greater than value+extent then it's set to value+extent.

    When a BoundedRange model is used with a scrollbar the value specifies the origin of the scrollbar knob (aka the "thumb" or "elevator"). The value usually represents the origin of the visible part of the object being scrolled.

    Notifies any listeners if the model changes.

    Parameters:
    newValue - the model's new value
    See Also:
    getValue
    setValueIsAdjusting
     public abstract void setValueIsAdjusting(boolean b)
    
    This attribute indicates that any upcoming changes to the value of the model should be considered a single event. This attribute will be set to true at the start of a series of changes to the value, and will be set to false when the value has finished changing. Normally this allows a listener to only take action when the final value change in committed, instead of having to do updates for all intermediate values.

    Sliders and scrollbars use this property when a drag is underway.

    Parameters:
    b - true if the upcoming changes to the value property are part of a series
    See Also:
    getValueIsAdjusting
    getValueIsAdjusting
     public abstract boolean getValueIsAdjusting()
    
    Returns true if the current changes to the value property are part of a series.

    Returns:
    the valueIsAdjustingProperty.
    See Also:
    setValueIsAdjusting
    getExtent
     public abstract int getExtent()
    
    Returns the model's extent, the length of the inner range that begins at the model's value.

    Returns:
    the value of the model's extent property
    See Also:
    setExtent, setValue
    setExtent
     public abstract void setExtent(int newExtent)
    
    Sets the model's extent. The newExtent is forced to be greater than or equal to zero and less than or equal to maximum - value.

    When a BoundedRange model is used with a scrollbar the extent defines the length of the scrollbar knob (aka the "thumb" or "elevator"). The extent usually represents how much of the object being scrolled is visible.

    Notifies any listeners if the model changes.

    Parameters:
    newExtent - the model's new extent
    See Also:
    getExtent, setValue
    setRangeProperties
     public abstract void setRangeProperties(int value,
                                             int extent,
                                             int min,
                                             int max,
                                             boolean adjusting)
    
    This method sets all of the model's data with a single method call. The method results in a single change event being generated. This is convenient when you need to adjust all the model data simulaneously and do not want individual change events to occur.

    See Also:
    setValue, setExtent, setMinimum, setMaximum, setValueIsAdjusting
    addChangeListener
     public abstract void addChangeListener(ChangeListener x)
    
    Adds a ChangeListener to the model's listener list.

    Parameters:
    x - the ChangeListener to add
    See Also:
    removeChangeListener
    removeChangeListener
     public abstract void removeChangeListener(ChangeListener x)
    
    Removes a ChangeListener from the model's listener list.

    Parameters:
    x - the ChangeListener to remove
    See Also:
    addChangeListener

    >get k0a$7Z56$@S./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.boundedrangemodel_mi.htmm$$ Class com.sun.java.swing.Box

    Class com.sun.java.swing.Box

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.Box
    

    public class Box
    extends Container
    implements Accessible

    A lightweight container that uses a BoxLayout object as its layout manager. Box provides several class methods that are useful for containers using BoxLayout -- even non-Box containers.

    The Box class can create several kinds of invisible components that affect layout: glue, struts, and rigid areas. If all the components your Box contains have a fixed size, you might want to use a glue component (returned by createGlue) to control the components' positions. If you need a fixed amount of space between two components, try using a strut (createHorizontalStrut or createVerticalStrut). If you need an invisible component that always takes up the same amount of space, get it by invoking createRigidArea.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    BoxLayout

    Variable Index

    accessibleContext

    Constructor Index

    Box(int)
    Creates a Box that displays its components along the the specified axis.

    Method Index

    createGlue()
    Creates an invisible "glue" component that can be useful in a Box whose visible components have a maximum width (for a horizontal box) or height (for a vertical box).
    createHorizontalBox()
    Creates a Box that displays its components from left to right.
    createHorizontalGlue()
    createHorizontalStrut(int)
    Creates an invisible, fixed-width component.
    createRigidArea(Dimension)
    Creates an invisible component that's always the specified size.
    createVerticalBox()
    Creates a Box that displays its components from top to bottom.
    createVerticalGlue()
    createVerticalStrut(int)
    Creates an invisible, fixed-height component.
    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    setLayout(LayoutManager)
    Throws an AWTError, since a Box can use only a BoxLayout.

    Variables

    accessibleContext
     protected AccessibleContext accessibleContext
    

    Constructors

    Box
     public Box(int axis)
    
    Creates a Box that displays its components along the the specified axis.

    Parameters:
    axis - can be either BoxLayout.X_AXIS (to display components from left to right) or BoxLayout.Y_AXIS (to display them from top to bottom)
    See Also:
    createHorizontalBox, createVerticalBox

    Methods

    createHorizontalBox
     public static Box createHorizontalBox()
    
    Creates a Box that displays its components from left to right.

    createVerticalBox
     public static Box createVerticalBox()
    
    Creates a Box that displays its components from top to bottom.

    createRigidArea
     public static Component createRigidArea(Dimension d)
    
    Creates an invisible component that's always the specified size.

    Parameters:
    d - the dimensions of the invisible component
    See Also:
    createGlue, createHorizontalStrut, createVerticalStrut
    createHorizontalStrut
     public static Component createHorizontalStrut(int width)
    
    Creates an invisible, fixed-width component. In a horizontal box, you typically use this method to force a certain amount of space between two components. In a vertical box, you might use this method to force the box to be at least the specified width. The invisible component has no height unless excess space is available, in which case it takes its share of available space, just like any other component that has no maximum height.

    Parameters:
    width - the width of the invisible component, in pixels
    See Also:
    createVerticalStrut, createGlue, createRigidArea
    createVerticalStrut
     public static Component createVerticalStrut(int height)
    
    Creates an invisible, fixed-height component. In a vertical box, you typically use this method to force a certain amount of space between two components. In a horizontal box, you might use this method to force the box to be at least the specified height. The invisible component has no width unless excess space is available, in which case it takes its share of available space, just like any other component that has no maximum width.

    Parameters:
    height - the height of the invisible component, in pixels
    See Also:
    createHorizontalStrut, createGlue, createRigidArea
    createGlue
     public static Component createGlue()
    
    Creates an invisible "glue" component that can be useful in a Box whose visible components have a maximum width (for a horizontal box) or height (for a vertical box). You can think of the glue component as being a gooey substance that expands as much as necessary to fill the space between its neighboring components.

    For example, suppose you have a horizontal box that contains two fixed-size components. If the box gets extra space, the fixed-size components won't become larger, so where does the extra space go? Without glue, the extra space goes to the right of the second component. If you put glue between the fixed-size components, then the extra space goes there. If you put glue before the first fixed-size component, the extra space goes there, and the fixed-size components are shoved against the right edge of the box. If you put glue before the first fixed-size component and after the second fixed-size component, the fixed-size components are centered in the box.

    To use glue, call Box.createGlue and add the returned component to a container. The glue component has no minimum or preferred size, so it takes no space unless excess space is available. If excess space is available, then the glue component takes its share of available horizontal or vertical space, just like any other component that has no maximum width or height.

    createHorizontalGlue
     public static Component createHorizontalGlue()
    
    createVerticalGlue
     public static Component createVerticalGlue()
    
    setLayout
     public void setLayout(LayoutManager l)
    
    Throws an AWTError, since a Box can use only a BoxLayout.

    Overrides:
    setLayout in class Container
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent

    hr k&d$P7Z56$@qP./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.box_mi.htmm$$ Class com.sun.java.swing.BoxLayout

    Class com.sun.java.swing.BoxLayout

    java.lang.Object
       |
       +----com.sun.java.swing.BoxLayout
    

    public class BoxLayout
    extends Object
    implements LayoutManager2, Serializable

    A layout manager that places each of its managed components from left to right or from top to bottom. When you create a BoxLayout, you specify whether its major axis is the X axis (which means left to right placement) or Y axis (top to bottom placement). Components are arranged from left to right (or top to bottom), in the same order as they were added to the container.

    [A figure should go here.]

    Instead of using BoxLayout directly, many programs use the Box class. The Box class provides a lightweight container that uses a BoxLayout. Box also provides handy methods to help you use BoxLayout well.

    BoxLayout attempts to arrange components at their preferred widths (for left to right layout) or heights (for top to bottom layout). For a left to right layout, if not all the components are the same height, BoxLayout attempts to make all the components as high as the highest component. If that's not possible for a particular component, then BoxLayout aligns that component vertically, according to the component's Y alignment. By default, a component has an Y alignment of 0.5, which means that the vertical center of the component should have the same Y coordinate as the vertical centers of other components with 0.5 Y alignment.

    [A figure and description should go here.]

    Similarly, for a vertical layout, BoxLayout attempts to make all components in the column as wide as the widest component; if that fails, it aligns them horizontally according to their X alignments.

    Warning: serialized objects of this class will not be compatible with

    See Also:
    Box, getAlignmentX, getAlignmentY

    Variable Index

    X_AXIS
    Specifies that components should be laid out left to right.
    Y_AXIS
    Specifies that components should be laid out top to buttom.

    Constructor Index

    BoxLayout(Container, int)
    Creates a layout manager that will lay out components either left to right or top to bottom, as specified in the axis parameter.

    Method Index

    addLayoutComponent(Component, Object)
    Not used by this class.
    addLayoutComponent(String, Component)
    Not used by this class.
    getLayoutAlignmentX(Container)
    Returns the alignment along the X axis for the container.
    getLayoutAlignmentY(Container)
    Returns the alignment along the Y axis for the container.
    invalidateLayout(Container)
    Indicates that a child has changed its layout related information, and thus any cached calculations should be flushed.
    layoutContainer(Container)
    Called by the AWT when the specified container needs to be laid out.
    maximumLayoutSize(Container)
    Returns the minimum dimensions needed to lay out the components contained in the specified target container.
    minimumLayoutSize(Container)
    Returns the minimum dimensions needed to layout the components contained in the specified target container.
    preferredLayoutSize(Container)
    Returns the preferred dimensions for this layout, given the components in the specified target container.
    removeLayoutComponent(Component)
    Not used by this class.

    Variables

    X_AXIS
     public static final int X_AXIS
    
    Specifies that components should be laid out left to right.

    Y_AXIS
     public static final int Y_AXIS
    
    Specifies that components should be laid out top to buttom.


    Constructors

    BoxLayout
     public BoxLayout(Container target,
                      int axis)
    
    Creates a layout manager that will lay out components either left to right or top to bottom, as specified in the axis parameter.

    Parameters:
    target - the container that needs to be laid out
    axis - the axis to lay out components along. For left-to-right layout, specify BoxLayout.X_AXIS; for top-to-bottom layout, specify BoxLayout.Y_AXIS
    Throws: AWTError
    if the value of axis is invalid

    Methods

    invalidateLayout
     public void invalidateLayout(Container target)
    
    Indicates that a child has changed its layout related information, and thus any cached calculations should be flushed.

    Parameters:
    target - the affected container
    Throws: AWTError
    if the target isn't the container specified to the BoxLayout constructor
    addLayoutComponent
     public void addLayoutComponent(String name,
                                    Component comp)
    
    Not used by this class.

    removeLayoutComponent
     public void removeLayoutComponent(Component comp)
    
    Not used by this class.

    addLayoutComponent
     public void addLayoutComponent(Component comp,
                                    Object constraints)
    
    Not used by this class.

    preferredLayoutSize
     public Dimension preferredLayoutSize(Container target)
    
    Returns the preferred dimensions for this layout, given the components in the specified target container.

    Parameters:
    target - the container that needs to be laid out
    Throws: AWTError
    if the target isn't the container specified to the BoxLayout constructor
    See Also:
    Container, minimumLayoutSize, maximumLayoutSize
    minimumLayoutSize
     public Dimension minimumLayoutSize(Container target)
    
    Returns the minimum dimensions needed to layout the components contained in the specified target container.

    Parameters:
    target - the container that needs to be laid out
    Throws: AWTError
    if the target isn't the container specified to the BoxLayout constructor
    See Also:
    preferredLayoutSize, maximumLayoutSize
    maximumLayoutSize
     public Dimension maximumLayoutSize(Container target)
    
    Returns the minimum dimensions needed to lay out the components contained in the specified target container.

    Parameters:
    target - the container that needs to be laid out
    Throws: AWTError
    if the target isn't the container specified to the BoxLayout constructor
    See Also:
    preferredLayoutSize, minimumLayoutSize
    getLayoutAlignmentX
     public float getLayoutAlignmentX(Container target)
    
    Returns the alignment along the X axis for the container. If the box is horizontal, the default alignment will be returned. Otherwise, the alignment needed to place the children along the X axis will be returned.

    Parameters:
    target - the container that needs to be laid out
    Throws: AWTError
    if the target isn't the container specified to the BoxLayout constructor
    getLayoutAlignmentY
     public float getLayoutAlignmentY(Container target)
    
    Returns the alignment along the Y axis for the container. If the box is vertical, the default alignment will be returned. Otherwise, the alignment needed to place the children along the Y axis will be returned.

    Parameters:
    target - the container that needs to be laid out
    Throws: AWTError
    if the target isn't the container specified to the BoxLayout constructor
    layoutContainer
     public void layoutContainer(Container target)
    
    Called by the AWT when the specified container needs to be laid out.

    Parameters:
    target - the container to lay out
    Throws: AWTError
    if the target isn't the container specified to the BoxLayout constructor

    e compo kg$7Z56$0./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.boxlayout_mi.htmmi.$$ Class com.sun.java.swing.ButtonGroup

    Class com.sun.java.swing.ButtonGroup

    java.lang.Object
       |
       +----com.sun.java.swing.ButtonGroup
    

    public class ButtonGroup
    extends Object
    implements Serializable

    This class is used to create a multiple-exclusion scope for a set of buttons. i.e. creating a set of buttons with the same ButtonGroup object means that only one of those buttons will be allowed to be "on" at a time.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    buttons

    Constructor Index

    ButtonGroup()
    Creates a new ButtonGroup.

    Method Index

    add(AbstractButton)
    Adds the button to the group.
    getElements()
    Return all the buttons that are participating in this group.
    getSelection()
    Return the selected button model.
    isSelected(ButtonModel)
    Returns the selected value for the button.
    remove(AbstractButton)
    Removes the button from the group.
    setSelected(ButtonModel, boolean)
    Sets the selected value for the button.

    Variables

    buttons
     protected Vector buttons
    

    Constructors

    ButtonGroup
     public ButtonGroup()
    
    Creates a new ButtonGroup.


    Methods

    add
     public void add(AbstractButton b)
    
    Adds the button to the group.

    remove
     public void remove(AbstractButton b)
    
    Removes the button from the group.

    getElements
     public Enumeration getElements()
    
    Return all the buttons that are participating in this group.

    getSelection
     public ButtonModel getSelection()
    
    Return the selected button model.

    setSelected
     public void setSelected(ButtonModel m,
                             boolean b)
    
    Sets the selected value for the button.

    isSelected
     public boolean isSelected(ButtonModel m)
    
    Returns the selected value for the button.


    le kjj$7Z56$P*./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.buttongroup_mi.htm.$$ Interface com.sun.java.swing.ButtonModel

    Interface com.sun.java.swing.ButtonModel

    public interface ButtonModel
    extends ItemSelectable

    State Model for Buttons


    Method Index

    addActionListener(ActionListener)
    addChangeListener(ChangeListener)
    addItemListener(ItemListener)
    getActionCommand()
    getMnemonic()
    isArmed()
    isEnabled()
    isPressed()
    isRollover()
    isSelected()
    removeActionListener(ActionListener)
    removeChangeListener(ChangeListener)
    removeItemListener(ItemListener)
    setActionCommand(String)
    setArmed(boolean)
    Marks the button as "armed".
    setEnabled(boolean)
    setGroup(ButtonGroup)
    setMnemonic(int)
    setPressed(boolean)
    setRollover(boolean)
    setSelected(boolean)

    Methods

    isArmed
     public abstract boolean isArmed()
    
    isSelected
     public abstract boolean isSelected()
    
    isEnabled
     public abstract boolean isEnabled()
    
    isPressed
     public abstract boolean isPressed()
    
    isRollover
     public abstract boolean isRollover()
    
    setArmed
     public abstract void setArmed(boolean b)
    
    Marks the button as "armed". If the mouse button is released while it is over this item, the button's action event fires. If the mouse button is released elsewhere, the event does not fire and the button is disarmed.

    Parameters:
    b - true to arm the button so it can be selected
    setSelected
     public abstract void setSelected(boolean b)
    
    setEnabled
     public abstract void setEnabled(boolean b)
    
    setPressed
     public abstract void setPressed(boolean b)
    
    setRollover
     public abstract void setRollover(boolean b)
    
    setMnemonic
     public abstract void setMnemonic(int key)
    
    getMnemonic
     public abstract int getMnemonic()
    
    setActionCommand
     public abstract void setActionCommand(String s)
    
    getActionCommand
     public abstract String getActionCommand()
    
    setGroup
     public abstract void setGroup(ButtonGroup group)
    
    addActionListener
     public abstract void addActionListener(ActionListener l)
    
    removeActionListener
     public abstract void removeActionListener(ActionListener l)
    
    addItemListener
     public abstract void addItemListener(ItemListener l)
    
    removeItemListener
     public abstract void removeItemListener(ItemListener l)
    
    addChangeListener
     public abstract void addChangeListener(ChangeListener l)
    
    removeChangeListener
     public abstract void removeChangeListener(ChangeListener l)
    

    ">setGr k2m$H 7Z56$ H ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.buttonmodel_mi.htm.$$ Interface com.sun.java.swing.CellEditor

    Interface com.sun.java.swing.CellEditor

    public interface CellEditor


    Method Index

    addCellEditorListener(CellEditorListener)
    Add a listener to the list that's notified when the editor starts, stops, or cancels editing.
    cancelCellEditing()
    Tell the editor to cancel editing and not accept any partially edited value.
    getCellEditorValue()
    Returns the value contained in the editor
    isCellEditable(EventObject)
    Ask the editor if it can start editing using anEvent.
    removeCellEditorListener(CellEditorListener)
    Remove a listener from the list that's notified
    shouldSelectCell(EventObject)
    Tell the editor to start editing using anEvent.
    stopCellEditing()
    Tell the editor to stop editing and accept any partially edited value as the value of the editor.

    Methods

    getCellEditorValue
     public abstract Object getCellEditorValue()
    
    Returns the value contained in the editor

    isCellEditable
     public abstract boolean isCellEditable(EventObject anEvent)
    
    Ask the editor if it can start editing using anEvent. anEvent is in the invoking component coordinate system. The editor can not assume the Component returned by getCellEditorComponent() is installed. This method is intended for the use of client to avoid the cost of setting up and installing the editor component if editing is not possible. If editing can be started this method returns true.

    Parameters:
    anEvent - the event the editor should use to consider whether to begin editing or not.
    Returns:
    true if editing can be started.
    See Also:
    shouldSelectCell
    shouldSelectCell
     public abstract boolean shouldSelectCell(EventObject anEvent)
    
    Tell the editor to start editing using anEvent. It is up to the editor if it want to start editing in different states depending on the exact type of anEvent. For example, with a text field editor, if the event is a mouse event the editor might start editing with the cursor at the clicked point. If the event is a keyboard event, it might want replace the value of the text field with that first key, etc. anEvent is in the invoking component's coordinate system. A null value is a valid parameter for anEvent, and it is up to the editor to determine what is the default starting state. For example, a text field editor might want to select all the text and start editing if anEvent is null. The editor can assume the Component returned by getCellEditorComponent() is properly installed in the clients Component hierarchy before this method is called.

    The return value of shouldSelectCell() is a boolean indicating whether the editing cell should be selected or not. Typically, the return value is true, because is most cases the editing cell should be selected. However, it is useful to return false to keep the selection from changing for some types of edits. eg. A table that contains a column of check boxes, the user might want to be able to change those checkboxes without altering the selection. (See Netscape Communicator for just such an example) Of course, it is up to the client of the editor to use the return value, but it doesn't need to if it doesn't want to.

    Parameters:
    anEvent - the event the editor should use to start editing.
    Returns:
    true if the editor would like the editing cell to be selected
    See Also:
    isCellEditable
    stopCellEditing
     public abstract boolean stopCellEditing()
    
    Tell the editor to stop editing and accept any partially edited value as the value of the editor. The editor returns false if editing was not stopped, useful for editors which validates and can not accept invalid entries.

    Returns:
    true if editing was stopped
    cancelCellEditing
     public abstract void cancelCellEditing()
    
    Tell the editor to cancel editing and not accept any partially edited value.

    addCellEditorListener
     public abstract void addCellEditorListener(CellEditorListener l)
    
    Add a listener to the list that's notified when the editor starts, stops, or cancels editing.

    Parameters:
    l - the CellEditorListener
    removeCellEditorListener
     public abstract void removeCellEditorListener(CellEditorListener l)
    
    Remove a listener from the list that's notified

    Parameters:
    l - the CellEditorListener

    > kp$7\56$Pό./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.celleditor_mi.htm.$$ Class com.sun.java.swing.CellRendererPane

    Class com.sun.java.swing.CellRendererPane

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.CellRendererPane
    

    public class CellRendererPane
    extends Container
    implements Accessible

    This class is inserted in between cell renderers and the components that use them. It just exists to thwart the repaint() and invalidate() methods which would otherwise propogate up the tree when the renderer was configured. It's used by the implementations of JTable, JTree, and JList. For example, here's how CellRendererPane is used in the code the paints each row in a JList:

       cellRendererPane = new CellRendererPane();
       ...
       Component rendererComponent = renderer.getListCellRendererComponent();
       renderer.configureListCellRenderer(dataModel.getElementAt(row), row);
       cellRendererPane.paintComponent(g, rendererComponent, this, x, y, w, h);
     

    A renderer component must override isShowing() and unconditionally return true to work correctly because the Swing paint does nothing for components with isShowing false.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    accessibleContext

    Constructor Index

    CellRendererPane()

    Method Index

    addImpl(Component, Object, int)
    If the specified component is already a child of this then we don't bother doing anything - stacking order doesn't matter for cell renderer components (CellRendererPane doesn't paint anyway).<
    getAccessibleContext()
    Get the AccessibleContext associated with this CellRendererPane
    invalidate()
    Overridden to avoid propogating a invalidate up the tree when the cell renderer child is configured.
    paint(Graphics)
    Shouldn't be called.
    paintComponent(Graphics, Component, Container, int, int, int, int)
    Calls this.paintComponent(g, c, p, x, y, w, h, false).
    paintComponent(Graphics, Component, Container, int, int, int, int, boolean)
    Paint a cell renderer component c on graphics object g.
    paintComponent(Graphics, Component, Container, Rectangle)
    Calls this.paintComponent() with the rectangles x,y,width,height fields.
    update(Graphics)
    Shouldn't be called.

    Variables

    accessibleContext
     protected AccessibleContext accessibleContext
    

    Constructors

    CellRendererPane
     public CellRendererPane()
    

    Methods

    invalidate
     public void invalidate()
    
    Overridden to avoid propogating a invalidate up the tree when the cell renderer child is configured.

    Overrides:
    invalidate in class Container
    paint
     public void paint(Graphics g)
    
    Shouldn't be called.

    Overrides:
    paint in class Container
    update
     public void update(Graphics g)
    
    Shouldn't be called.

    Overrides:
    update in class Container
    addImpl
     protected void addImpl(Component x,
                            Object constraints,
                            int index)
    
    If the specified component is already a child of this then we don't bother doing anything - stacking order doesn't matter for cell renderer components (CellRendererPane doesn't paint anyway).<

    Overrides:
    addImpl in class Container
    paintComponent
     public void paintComponent(Graphics g,
                                Component c,
                                Container p,
                                int x,
                                int y,
                                int w,
                                int h,
                                boolean shouldValidate)
    
    Paint a cell renderer component c on graphics object g. Before the component is drawn it's reparented to this (if that's neccessary), it's bounds are set to w,h and the graphics object is (effectively) translated to x,y. If it's a JComponent, double buffering is temporarily turned off. After the component is painted it's bounds are reset to -w, -h, 0, 0 so that, if it's the last renderer component painted, it will not start consuming input. The Container p is the component we're actually drawing on, typically it's equal to this.getParent(). If shouldValidate is true the component c will be validated before painted.

    paintComponent
     public void paintComponent(Graphics g,
                                Component c,
                                Container p,
                                int x,
                                int y,
                                int w,
                                int h)
    
    Calls this.paintComponent(g, c, p, x, y, w, h, false).

    paintComponent
     public void paintComponent(Graphics g,
                                Component c,
                                Container p,
                                Rectangle r)
    
    Calls this.paintComponent() with the rectangles x,y,width,height fields.

    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this CellRendererPane

    Returns:
    the AccessibleContext of this CellRendererPane

     kꔌs$r7\56$@r./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.cellrendererpane_mi.htmm$$ Class com.sun.java.swing.ColorChooserPanel

    Class com.sun.java.swing.ColorChooserPanel

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JPanel
                                       |
                                       +----com.sun.java.swing.ColorChooserPanel
    

    public abstract class ColorChooserPanel
    extends JPanel

    The is the abstract superclass for color choosers. If you want to add a new color chooser panel into a JColorChooser, sublclass this class.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    COLOR_PROPERTY
    preferredSize

    Constructor Index

    ColorChooserPanel()

    Method Index

    fireColorPropertyChange(Color, Color)
    getColor()
    getPreferredSize()
    If the preferredSize has been set to a non-null value just return it.
    installChooserPanel()
    This get called when the panel is added to the chooser.
    setColor(Color)
    uninstallChooserPanel()
    This get called when the panel is removed from the chooser.

    Variables

    COLOR_PROPERTY
     public static final String COLOR_PROPERTY
    
    preferredSize
     protected static final Dimension preferredSize
    

    Constructors

    ColorChooserPanel
     public ColorChooserPanel()
    

    Methods

    setColor
     public abstract void setColor(Color newColor)
    
    getColor
     public abstract Color getColor()
    
    fireColorPropertyChange
     protected void fireColorPropertyChange(Color oldColor,
                                            Color newColor)
    
    getPreferredSize
     public Dimension getPreferredSize()
    
    If the preferredSize has been set to a non-null value just return it.

    Overrides:
    getPreferredSize in class JComponent
    installChooserPanel
     public void installChooserPanel()
    
    This get called when the panel is added to the chooser.

    uninstallChooserPanel
     public void uninstallChooserPanel()
    
    This get called when the panel is removed from the chooser.


     ktPv$7\56$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.colorchooserpanel_mi.htmm$$ Interface com.sun.java.swing.ComboBoxEditor

    Interface com.sun.java.swing.ComboBoxEditor

    public interface ComboBoxEditor


    Method Index

    addActionListener(ActionListener)
    Add an ActionListener.
    getEditorComponent()
    Return the component that should be added to the tree hierarchy for this editor
    getItem()
    Return the edited item
    removeActionListener(ActionListener)
    Remove an ActionListener
    selectAll()
    Ask the editor to start editing and to select everything
    setItem(Object)
    Set the item that should be edited.

    Methods

    getEditorComponent
     public abstract Component getEditorComponent()
    
    Return the component that should be added to the tree hierarchy for this editor

    setItem
     public abstract void setItem(Object anObject)
    
    Set the item that should be edited. Cancel any editing if necessary

    getItem
     public abstract Object getItem()
    
    Return the edited item

    selectAll
     public abstract void selectAll()
    
    Ask the editor to start editing and to select everything

    addActionListener
     public abstract void addActionListener(ActionListener l)
    
    Add an ActionListener. An action event is generated when the edited item changes

    removeActionListener
     public abstract void removeActionListener(ActionListener l)
    
    Remove an ActionListener


    e>  ksy$7\56$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.comboboxeditor_mi.htmmm$$ Interface com.sun.java.swing.ComboBoxModel

    Interface com.sun.java.swing.ComboBoxModel

    public interface ComboBoxModel
    extends ListModel

    ComboBoxDataModel is a ListDataModel with a selected item This selected item is in the model since it is not always in the item list.


    Method Index

    getSelectedItem()
    Return the selected item
    setSelectedItem(Object)
    Set the selected item

    Methods

    setSelectedItem
     public abstract void setSelectedItem(Object anItem)
    
    Set the selected item

    getSelectedItem
     public abstract Object getSelectedItem()
    
    Return the selected item


    getIt kF\|$7\56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.comboboxmodel_mi.htm$$ Class com.sun.java.swing.DefaultBoundedRangeModel

    Class com.sun.java.swing.DefaultBoundedRangeModel

    java.lang.Object
       |
       +----com.sun.java.swing.DefaultBoundedRangeModel
    

    public class DefaultBoundedRangeModel
    extends Object
    implements BoundedRangeModel, Serializable

    A generic implementation of BoundedRangeModel.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    BoundedRangeModel

    Variable Index

    changeEvent
    Only one ChangeEvent is needed per model instance since the event's only (read-only) state is the source property.
    listenerList

    Constructor Index

    DefaultBoundedRangeModel()
    Initializes all of the properties as follows:
    • value = 0
    • extent = 0
    • minimum = 0
    • maximum = 100
    • adjusting = false
    DefaultBoundedRangeModel(int, int, int, int)
    Initializes value, extent, minimum and maximum.

    Method Index

    addChangeListener(ChangeListener)
    Adds a ChangeListener.
    fireStateChanged()
    Run each ChangeListeners stateChanged() method.
    getExtent()
    getMaximum()
    getMinimum()
    getValue()
    getValueIsAdjusting()
    Returns true if the value is in the process of changing as a result of actions being taken by the user.
    removeChangeListener(ChangeListener)
    Removes a ChangeListener.
    setExtent(int)
    Sets the extent to n after ensuring that n is greater than or equal to zero and falls within the model's constraints:
     minimum <= value <="value+extent" <="maximum" 
    setMaximum(int)
    Sets the maximum to n after ensuring that n that the other three properties obey the model's constraints:
     minimum <= value <="value+extent" <="maximum" 
    setMinimum(int)
    Sets the minimum to n after ensuring that n that the other three properties obey the model's constraints:
     minimum <= value <="value+extent" <="maximum" 
    setRangeProperties(int, int, int, int, boolean)
    Sets all of the BoundedRangeModel properties after forcing the arguments to obey the usual constraints:
     minimum <= value <="value+extent" <="maximum" 

    At most, one ChangeEvent is generated.

    setValue(int)
    Sets the value to n after ensuring that n falls within the model's constraints:
     minimum <= value <="value+extent" <="maximum" 
    setValueIsAdjusting(boolean)
    Sets the valueIsAdjusting property.
    toString()
    Returns a string that displays all of the BoundedRangeModel properties.

    Variables

    changeEvent
     protected transient ChangeEvent changeEvent
    
    Only one ChangeEvent is needed per model instance since the event's only (read-only) state is the source property. The source of events generated here is always "this".

    listenerList
     protected EventListenerList listenerList
    

    Constructors

    DefaultBoundedRangeModel
     public DefaultBoundedRangeModel()
    
    Initializes all of the properties as follows:
    • value = 0
    • extent = 0
    • minimum = 0
    • maximum = 100
    • adjusting = false

    DefaultBoundedRangeModel
     public DefaultBoundedRangeModel(int value,
                                     int extent,
                                     int min,
                                     int max)
    
    Initializes value, extent, minimum and maximum. Adjusting is false. Throws an IllegalArgumentException if the following constraints aren't satisfied:
     min <= value <="value+extent" <="max" 


    Methods

    getValue
     public int getValue()
    
    Returns:
    the model's current value
    See Also:
    setValue, getValue
    getExtent
     public int getExtent()
    
    Returns:
    the model's extent
    See Also:
    setExtent, getExtent
    getMinimum
     public int getMinimum()
    
    Returns:
    the model's minimum
    See Also:
    setMinimum, getMinimum
    getMaximum
     public int getMaximum()
    
    Returns:
    the model's maximum
    See Also:
    setMaximum, getMaximum
    setValue
     public void setValue(int n)
    
    Sets the value to n after ensuring that n falls within the model's constraints:
     minimum <= value <="value+extent" <="maximum" 

    See Also:
    setValue
    setExtent
     public void setExtent(int n)
    
    Sets the extent to n after ensuring that n is greater than or equal to zero and falls within the model's constraints:
     minimum <= value <="value+extent" <="maximum" 

    See Also:
    getExtent, setExtent
    setMinimum
     public void setMinimum(int n)
    
    Sets the minimum to n after ensuring that n that the other three properties obey the model's constraints:
     minimum <= value <="value+extent" <="maximum" 

    See Also:
    getMinimum, setMinimum
    setMaximum
     public void setMaximum(int n)
    
    Sets the maximum to n after ensuring that n that the other three properties obey the model's constraints:
     minimum <= value <="value+extent" <="maximum" 

    See Also:
    getMaximum, setMaximum
    setValueIsAdjusting
     public void setValueIsAdjusting(boolean b)
    
    Sets the valueIsAdjusting property.

    See Also:
    getValueIsAdjusting, setValue, setValueIsAdjusting
    getValueIsAdjusting
     public boolean getValueIsAdjusting()
    
    Returns true if the value is in the process of changing as a result of actions being taken by the user.

    Returns:
    the value of the valueIsAdjusting property
    See Also:
    setValueIsAdjusting, setValue, getValueIsAdjusting
    setRangeProperties
     public void setRangeProperties(int newValue,
                                    int newExtent,
                                    int newMin,
                                    int newMax,
                                    boolean adjusting)
    
    Sets all of the BoundedRangeModel properties after forcing the arguments to obey the usual constraints:
     minimum <= value <="value+extent" <="maximum" 

    At most, one ChangeEvent is generated.

    See Also:
    setRangeProperties, setValue, setExtent, setMinimum, setMaximum, setValueIsAdjusting
    addChangeListener
     public void addChangeListener(ChangeListener l)
    
    Adds a ChangeListener. The change listeners are run each time any one of the Bounded Range model properties changes.

    Parameters:
    l - the ChangeListener to add
    See Also:
    removeChangeListener, addChangeListener
    removeChangeListener
     public void removeChangeListener(ChangeListener l)
    
    Removes a ChangeListener.

    Parameters:
    l - the ChangeListener to remove
    See Also:
    addChangeListener, removeChangeListener
    fireStateChanged
     protected void fireStateChanged()
    
    Run each ChangeListeners stateChanged() method.

    See Also:
    setRangeProperties, EventListenerList
    toString
     public String toString()
    
    Returns a string that displays all of the BoundedRangeModel properties.

    Overrides:
    toString in class Object

    href=" k$ 7\56$ m ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.defaultboundedrangemodel_mi.htmh$$ Class com.sun.java.swing.DefaultButtonModel

    Class com.sun.java.swing.DefaultButtonModel

    java.lang.Object
       |
       +----com.sun.java.swing.DefaultButtonModel
    

    public class DefaultButtonModel
    extends Object
    implements ButtonModel, Serializable

    The default implementation of a Button component's data model.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    actionCommand
    ARMED
    Indicates if the button can be selected or not by an input device (such as a mouse pointer).
    changeEvent
    Only one ChangeEvent is needed per button model instance since the event's only state is the source property.
    ENABLED
    Indicates whether the button is currently enabled.
    group
    listenerList
    mnemonic
    PRESSED
    Indicates partial commitment towards choosing the button.
    ROLLOVER
    Indicates that the mouse is over the button.
    SELECTED
    Indicates if the button has been selected.
    stateMask

    Constructor Index

    DefaultButtonModel()
    Constructs a JButtonModel

    Method Index

    addActionListener(ActionListener)
    adds an ActionListener to the button
    addChangeListener(ChangeListener)
    Adds a ChangeListener to the button.
    addItemListener(ItemListener)
    adds an ItemListener to the button
    fireActionPerformed(ActionEvent)
    fireItemStateChanged(ItemEvent)
    fireStateChanged()
    getActionCommand()
    Returns the action command for this button.
    getMnemonic()
    Gets the keyboard mnemonic for this model
    getSelectedObjects()
    isArmed()
    Returns whether the button is "armed".
    isEnabled()
    Checks if the button is disabled.
    isPressed()
    Checks if the button is pressed.
    isRollover()
    Checks if the button is rolled over.
    isSelected()
    Checks if the button is selected.
    removeActionListener(ActionListener)
    removes an ActionListener from the button
    removeChangeListener(ChangeListener)
    Removes a ChangeListener from the button.
    removeItemListener(ItemListener)
    removes an ItemListener from the button
    setActionCommand(String)
    Sets the actionCommand that gets sent when the putton is pressed.
    setArmed(boolean)
    Identifies the button as "armed".
    setEnabled(boolean)
    Sets the button to be enabled or disabled state
    setGroup(ButtonGroup)
    setMnemonic(int)
    Sets the keyboard mnemonic for this model
    setPressed(boolean)
    Sets the button to pressed state
    setRollover(boolean)
    Sets the button to the rollover state
    setSelected(boolean)
    Sets the selected state of the button.

    Variables

    stateMask
     protected int stateMask
    
    actionCommand
     protected String actionCommand
    
    group
     protected ButtonGroup group
    
    mnemonic
     protected int mnemonic
    
    changeEvent
     protected transient ChangeEvent changeEvent
    
    Only one ChangeEvent is needed per button model instance since the event's only state is the source property. The source of events generated is always "this".

    listenerList
     protected EventListenerList listenerList
    
    ARMED
     public static final int ARMED
    
    Indicates if the button can be selected or not by an input device (such as a mouse pointer).

    See Also:
    setArmed
    SELECTED
     public static final int SELECTED
    
    Indicates if the button has been selected. Only needed for certain types of buttons - such as RadioButton or Checkbox.

    PRESSED
     public static final int PRESSED
    
    Indicates partial commitment towards choosing the button.

    ENABLED
     public static final int ENABLED
    
    Indicates whether the button is currently enabled.

    ROLLOVER
     public static final int ROLLOVER
    
    Indicates that the mouse is over the button.


    Constructors

    DefaultButtonModel
     public DefaultButtonModel()
    
    Constructs a JButtonModel


    Methods

    setActionCommand
     public void setActionCommand(String actionCommand)
    
    Sets the actionCommand that gets sent when the putton is pressed.

    getActionCommand
     public String getActionCommand()
    
    Returns the action command for this button.

    isArmed
     public boolean isArmed()
    
    Returns whether the button is "armed".

    Returns:
    true if the button is armed, and it can be selected
    See Also:
    setArmed
    isSelected
     public boolean isSelected()
    
    Checks if the button is selected.

    isEnabled
     public boolean isEnabled()
    
    Checks if the button is disabled.

    isPressed
     public boolean isPressed()
    
    Checks if the button is pressed.

    isRollover
     public boolean isRollover()
    
    Checks if the button is rolled over.

    setArmed
     public void setArmed(boolean b)
    
    Identifies the button as "armed".

    Parameters:
    b - true to arm the button so it can be selected
    See Also:
    setArmed
    setEnabled
     public void setEnabled(boolean b)
    
    Sets the button to be enabled or disabled state

    setSelected
     public void setSelected(boolean b)
    
    Sets the selected state of the button.

    Parameters:
    b - true selects the toggle button, false deselects the toggle button.
    setPressed
     public void setPressed(boolean b)
    
    Sets the button to pressed state

    setRollover
     public void setRollover(boolean b)
    
    Sets the button to the rollover state

    setMnemonic
     public void setMnemonic(int key)
    
    Sets the keyboard mnemonic for this model

    getMnemonic
     public int getMnemonic()
    
    Gets the keyboard mnemonic for this model

    addChangeListener
     public void addChangeListener(ChangeListener l)
    
    Adds a ChangeListener to the button.

    removeChangeListener
     public void removeChangeListener(ChangeListener l)
    
    Removes a ChangeListener from the button.

    fireStateChanged
     protected void fireStateChanged()
    
    addActionListener
     public void addActionListener(ActionListener l)
    
    adds an ActionListener to the button

    removeActionListener
     public void removeActionListener(ActionListener l)
    
    removes an ActionListener from the button

    fireActionPerformed
     protected void fireActionPerformed(ActionEvent e)
    
    addItemListener
     public void addItemListener(ItemListener l)
    
    adds an ItemListener to the button

    removeItemListener
     public void removeItemListener(ItemListener l)
    
    removes an ItemListener from the button

    fireItemStateChanged
     protected void fireItemStateChanged(ItemEvent e)
    
    getSelectedObjects
     public Object[] getSelectedObjects()
    
    setGroup
     public void setGroup(ButtonGroup group)
    

    > < kHC$17^56$s1./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.defaultbuttonmodel_mi.htm.h$$ Class com.sun.java.swing.DefaultCellEditor

    Class com.sun.java.swing.DefaultCellEditor

    java.lang.Object
       |
       +----com.sun.java.swing.DefaultCellEditor
    

    public class DefaultCellEditor
    extends Object
    implements TableCellEditor, TreeCellEditor, Serializable

    The default editor for table and tree cells.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    changeEvent
    clickCountToStart
    delegate
    editorComponent
    listenerList
    Event listeners

    Constructor Index

    DefaultCellEditor(JCheckBox)
    DefaultCellEditor(JComboBox)
    DefaultCellEditor(JTextField)

    Method Index

    addCellEditorListener(CellEditorListener)
    cancelCellEditing()
    fireEditingCanceled()
    fireEditingStopped()
    getCellEditorValue()
    getClickCountToStart()
    clickCountToStart controls the number of clicks required to start editing if the event passed to isCellEditable() or startCellEditing() is a MouseEvent.
    getComponent()
    getTableCellEditorComponent(JTable, Object, boolean, int, int)
    getTreeCellEditorComponent(JTree, Object, boolean, boolean, boolean, int)
    isCellEditable(EventObject)
    removeCellEditorListener(CellEditorListener)
    setClickCountToStart(int)
    shouldSelectCell(EventObject)
    stopCellEditing()

    Variables

    listenerList
     protected EventListenerList listenerList
    
    Event listeners

    changeEvent
     protected transient ChangeEvent changeEvent
    
    editorComponent
     protected JComponent editorComponent
    
    delegate
     protected DefaultCellEditor. EditorDelegate delegate
    
    clickCountToStart
     protected int clickCountToStart
    

    Constructors

    DefaultCellEditor
     public DefaultCellEditor(JTextField x)
    
    DefaultCellEditor
     public DefaultCellEditor(JCheckBox x)
    
    DefaultCellEditor
     public DefaultCellEditor(JComboBox x)
    

    Methods

    getComponent
     public Component getComponent()
    
    setClickCountToStart
     public void setClickCountToStart(int count)
    
    getClickCountToStart
     public int getClickCountToStart()
    
    clickCountToStart controls the number of clicks required to start editing if the event passed to isCellEditable() or startCellEditing() is a MouseEvent. For example, by default the clickCountToStart for a JTextField is set to 2, so in a JTable the user will need to double click to begin editing a cell.

    getCellEditorValue
     public Object getCellEditorValue()
    
    isCellEditable
     public boolean isCellEditable(EventObject anEvent)
    
    shouldSelectCell
     public boolean shouldSelectCell(EventObject anEvent)
    
    stopCellEditing
     public boolean stopCellEditing()
    
    cancelCellEditing
     public void cancelCellEditing()
    
    addCellEditorListener
     public void addCellEditorListener(CellEditorListener l)
    
    removeCellEditorListener
     public void removeCellEditorListener(CellEditorListener l)
    
    fireEditingStopped
     protected void fireEditingStopped()
    
    fireEditingCanceled
     protected void fireEditingCanceled()
    
    getTreeCellEditorComponent
     public Component getTreeCellEditorComponent(JTree tree,
                                                 Object value,
                                                 boolean isSelected,
                                                 boolean expanded,
                                                 boolean leaf,
                                                 int row)
    
    getTableCellEditorComponent
     public Component getTableCellEditorComponent(JTable table,
                                                  Object value,
                                                  boolean isSelected,
                                                  int row,
                                                  int column)
    

     k$ 7^56$Ӎ ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.defaultcelleditor_mi.htm.h$$ Class com.sun.java.swing.DefaultFocusManager

    Class com.sun.java.swing.DefaultFocusManager

    java.lang.Object
       |
       +----com.sun.java.swing.FocusManager
               |
               +----com.sun.java.swing.DefaultFocusManager
    

    public class DefaultFocusManager
    extends FocusManager


    Constructor Index

    DefaultFocusManager()

    Method Index

    compareTabOrder(Component, Component)
    Return true if a should be before b in the "tab" order.
    focusNextComponent(Component)
    Cause the focus manager to set the focus on the next focusable component
    focusPreviousComponent(Component)
    Cause the focus manager to set the focus on the previous focusable component
    getComponentAfter(Container, Component)
    Return the component the should receive the focus after aComponent
    getComponentBefore(Container, Component)
    Return the component that should receive the focus before aComponent
    getFirstComponent(Container)
    Return the first component that should receive the focus
    getLastComponent(Container)
    Return the last component that should receive the focus
    processKeyEvent(Component, KeyEvent)
    This method is called by JComponents when a key event occurs.

    Constructors

    DefaultFocusManager
     public DefaultFocusManager()
    

    Methods

    processKeyEvent
     public void processKeyEvent(Component focusedComponent,
                                 KeyEvent anEvent)
    
    This method is called by JComponents when a key event occurs. JComponent gives key events to the focus manager first, then to key listeners, then to the keyboard UI dispatcher. This method should look at the key event and change the focused component if the key event matches the receiver's focus manager hot keys. For example the default focus manager will change the focus if the key event matches TAB or Shift + TAB. The focus manager should call consume() on anEvent if anEvent has been processed. focusedComponent is the component that currently has the focus. Note: FocusManager will receive KEY_PRESSED, KEY_RELEASED and KEY_TYPED key events. If one event is consumed, all other events type should be consumed.

    Overrides:
    processKeyEvent in class FocusManager
    focusNextComponent
     public void focusNextComponent(Component aComponent)
    
    Cause the focus manager to set the focus on the next focusable component

    Overrides:
    focusNextComponent in class FocusManager
    focusPreviousComponent
     public void focusPreviousComponent(Component aComponent)
    
    Cause the focus manager to set the focus on the previous focusable component

    Overrides:
    focusPreviousComponent in class FocusManager
    getFirstComponent
     public Component getFirstComponent(Container aContainer)
    
    Return the first component that should receive the focus

    getLastComponent
     public Component getLastComponent(Container aContainer)
    
    Return the last component that should receive the focus

    getComponentBefore
     public Component getComponentBefore(Container aContainer,
                                         Component aComponent)
    
    Return the component that should receive the focus before aComponent

    getComponentAfter
     public Component getComponentAfter(Container aContainer,
                                        Component aComponent)
    
    Return the component the should receive the focus after aComponent

    compareTabOrder
     public boolean compareTabOrder(Component a,
                                    Component b)
    
    Return true if a should be before b in the "tab" order. Override this method if you want to change the automatic "tab" order. The default implementation will order tab to give a left to right, top down order. Override this method if another order is required.


     k@,Ű$7^56$@./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.defaultfocusmanager_mi.htm$$ Class com.sun.java.swing.DefaultListModel

    Class com.sun.java.swing.DefaultListModel

    java.lang.Object
       |
       +----com.sun.java.swing.AbstractListModel
               |
               +----com.sun.java.swing.DefaultListModel
    

    public class DefaultListModel
    extends AbstractListModel

    This class implements the java.util.Vector API and notifies the JListDataModel listeners when changes occur. Presently it delegates to a Vector, in a future release it will be a real Collection implementation.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    DefaultListModel()

    Method Index

    add(int, Object)
    addElement(Object)
    capacity()
    clear()
    contains(Object)
    copyInto(Object[])
    elementAt(int)
    elements()
    ensureCapacity(int)
    firstElement()
    get(int)
    getElementAt(int)
    Returns the value at the specified index.
    getSize()
    Returns the length of the list.
    indexOf(Object)
    indexOf(Object, int)
    insertElementAt(Object, int)
    isEmpty()
    lastElement()
    lastIndexOf(Object)
    lastIndexOf(Object, int)
    remove(int)
    removeAllElements()
    removeElement(Object)
    removeElementAt(int)
    removeRange(int, int)
    set(int, Object)
    setElementAt(Object, int)
    setSize(int)
    size()
    toArray()
    toString()
    trimToSize()

    Constructors

    DefaultListModel
     public DefaultListModel()
    

    Methods

    getSize
     public int getSize()
    
    Returns the length of the list.

    Overrides:
    getSize in class AbstractListModel
    getElementAt
     public Object getElementAt(int index)
    
    Returns the value at the specified index.

    Overrides:
    getElementAt in class AbstractListModel
    copyInto
     public void copyInto(Object anArray[])
    
    trimToSize
     public void trimToSize()
    
    ensureCapacity
     public void ensureCapacity(int minCapacity)
    
    setSize
     public void setSize(int newSize)
    
    capacity
     public int capacity()
    
    size
     public int size()
    
    isEmpty
     public boolean isEmpty()
    
    elements
     public Enumeration elements()
    
    contains
     public boolean contains(Object elem)
    
    indexOf
     public int indexOf(Object elem)
    
    indexOf
     public int indexOf(Object elem,
                        int index)
    
    lastIndexOf
     public int lastIndexOf(Object elem)
    
    lastIndexOf
     public int lastIndexOf(Object elem,
                            int index)
    
    elementAt
     public Object elementAt(int index)
    
    firstElement
     public Object firstElement()
    
    lastElement
     public Object lastElement()
    
    setElementAt
     public void setElementAt(Object obj,
                              int index)
    
    removeElementAt
     public void removeElementAt(int index)
    
    insertElementAt
     public void insertElementAt(Object obj,
                                 int index)
    
    addElement
     public void addElement(Object obj)
    
    removeElement
     public boolean removeElement(Object obj)
    
    removeAllElements
     public void removeAllElements()
    
    toString
     public String toString()
    
    Overrides:
    toString in class Object
    toArray
     public Object[] toArray()
    
    get
     public Object get(int index)
    
    set
     public Object set(int index,
                       Object element)
    
    add
     public void add(int index,
                     Object element)
    
    remove
     public Object remove(int index)
    
    clear
     public void clear()
    
    removeRange
     public void removeRange(int fromIndex,
                             int toIndex)
    

     kȰ$7^56$-./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.defaultlistmodel_mi.htmm$$ Class com.sun.java.swing.DefaultListSelectionModel

    Class com.sun.java.swing.DefaultListSelectionModel

    java.lang.Object
       |
       +----com.sun.java.swing.DefaultListSelectionModel
    

    public class DefaultListSelectionModel
    extends Object
    implements ListSelectionModel, Cloneable, Serializable

    Default data model for list selections.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    ListSelectionModel

    Variable Index

    leadAnchorNotificationEnabled
    listenerList
    value

    Constructor Index

    DefaultListSelectionModel()

    Method Index

    addListSelectionListener(ListSelectionListener)
    addSelectionInterval(int, int)
    clearSelection()
    clone()
    Returns a clone of the reciever with the same selection.
    fireValueChanged(boolean)
    Notify listeners that we are beginning or ending a series of value changes
    fireValueChanged(int, int)
    Notify ListSelectionListeners that the value of the selection, in the closed interval firstIndex,lastIndex, has changed.
    fireValueChanged(int, int, boolean)
    getAnchorSelectionIndex()
    getLeadSelectionIndex()
    getMaxSelectionIndex()
    getMinSelectionIndex()
    getSelectionMode()
    getValueIsAdjusting()
    insertIndexInterval(int, int, boolean)
    Insert length indices beginning before/after index.
    isLeadAnchorNotificationEnabled()
    Returns the value of the leadAnchorNotificationEnabled flag.
    isSelectedIndex(int)
    isSelectionEmpty()
    removeIndexInterval(int, int)
    Remove the indices in the interval index0,index1 (inclusive) from the selection model.
    removeListSelectionListener(ListSelectionListener)
    removeSelectionInterval(int, int)
    setAnchorSelectionIndex(int)
    setLeadAnchorNotificationEnabled(boolean)
    Sets the value of the leadAnchorNotificationEnabled flag.
    setLeadSelectionIndex(int)
    setSelectionInterval(int, int)
    setSelectionMode(int)
    setValueIsAdjusting(boolean)
    toString()

    Variables

    value
     protected BitSet value
    
    listenerList
     protected EventListenerList listenerList
    
    leadAnchorNotificationEnabled
     protected boolean leadAnchorNotificationEnabled
    

    Constructors

    DefaultListSelectionModel
     public DefaultListSelectionModel()
    

    Methods

    getMinSelectionIndex
     public int getMinSelectionIndex()
    
    getMaxSelectionIndex
     public int getMaxSelectionIndex()
    
    getValueIsAdjusting
     public boolean getValueIsAdjusting()
    
    getSelectionMode
     public int getSelectionMode()
    
    setSelectionMode
     public void setSelectionMode(int selectionMode)
    
    isSelectedIndex
     public boolean isSelectedIndex(int index)
    
    isSelectionEmpty
     public boolean isSelectionEmpty()
    
    addListSelectionListener
     public void addListSelectionListener(ListSelectionListener l)
    
    removeListSelectionListener
     public void removeListSelectionListener(ListSelectionListener l)
    
    fireValueChanged
     protected void fireValueChanged(boolean isAdjusting)
    
    Notify listeners that we are beginning or ending a series of value changes

    fireValueChanged
     protected void fireValueChanged(int firstIndex,
                                     int lastIndex)
    
    Notify ListSelectionListeners that the value of the selection, in the closed interval firstIndex,lastIndex, has changed.

    fireValueChanged
     protected void fireValueChanged(int firstIndex,
                                     int lastIndex,
                                     boolean isAdjusting)
    
    Parameters:
    firstIndex - The first index in the interval.
    index1 - The last index in the interval.
    isAdjusting - True if this is the final change in a series of them.
    See Also:
    EventListenerList
    clearSelection
     public void clearSelection()
    
    setLeadAnchorNotificationEnabled
     public void setLeadAnchorNotificationEnabled(boolean flag)
    
    Sets the value of the leadAnchorNotificationEnabled flag.

    See Also:
    isLeadAnchorNotificationEnabled
    isLeadAnchorNotificationEnabled
     public boolean isLeadAnchorNotificationEnabled()
    
    Returns the value of the leadAnchorNotificationEnabled flag. When leadAnchorNotificationEnabled is true the model generates notification events with bounds that cover all the changes to the selection plus the changes to the lead and anchor indices. Setting the flag to false causes a norrowing of the event's bounds to include only the elements that have been selected or deselected since the last change. Either way, the model continues to maintain the lead and anchor variables internally. The default is true.

    Returns:
    the value of the leadAnchorNotificationEnabled flag
    See Also:
    setLeadAnchorNotificationEnabled
    setSelectionInterval
     public void setSelectionInterval(int index0,
                                      int index1)
    
    addSelectionInterval
     public void addSelectionInterval(int index0,
                                      int index1)
    
    removeSelectionInterval
     public void removeSelectionInterval(int index0,
                                         int index1)
    
    insertIndexInterval
     public void insertIndexInterval(int index,
                                     int length,
                                     boolean before)
    
    Insert length indices beginning before/after index. This is typically called to sync the selection model with a corresponding change in the data model.

    removeIndexInterval
     public void removeIndexInterval(int index0,
                                     int index1)
    
    Remove the indices in the interval index0,index1 (inclusive) from the selection model. This is typically called to sync the selection model width a corresponding change in the data model. Note that (as always) index0 need not be <= index1.

    setValueIsAdjusting
     public void setValueIsAdjusting(boolean b)
    
    toString
     public String toString()
    
    Overrides:
    toString in class Object
    clone
     public Object clone() throws CloneNotSupportedException
    
    Returns a clone of the reciever with the same selection. listenerLists are not duplicated.

    Throws: CloneNotSupportedException
    if the receiver does not both (a) implement the Cloneable interface and (b) define a clone method.
    Overrides:
    clone in class Object
    getAnchorSelectionIndex
     public int getAnchorSelectionIndex()
    
    getLeadSelectionIndex
     public int getLeadSelectionIndex()
    
    setAnchorSelectionIndex
     public void setAnchorSelectionIndex(int index)
    
    setLeadSelectionIndex
     public void setLeadSelectionIndex(int index)
    

    ea k ˰$7^56$6./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.defaultlistselectionmodel_mi.htmh$$ Class com.sun.java.swing.DefaultSingleSelectionModel

    Class com.sun.java.swing.DefaultSingleSelectionModel

    java.lang.Object
       |
       +----com.sun.java.swing.DefaultSingleSelectionModel
    

    public class DefaultSingleSelectionModel
    extends Object
    implements SingleSelectionModel, Serializable

    A generic implementation of SingleSelectionModel.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    changeEvent
    listenerList

    Constructor Index

    DefaultSingleSelectionModel()

    Method Index

    addChangeListener(ChangeListener)
    Adds a ChangeListener to the button.
    clearSelection()
    fireStateChanged()
    getSelectedIndex()
    isSelected()
    removeChangeListener(ChangeListener)
    Removes a ChangeListener from the button.
    setSelectedIndex(int)

    Variables

    changeEvent
     protected transient ChangeEvent changeEvent
    
    listenerList
     protected EventListenerList listenerList
    

    Constructors

    DefaultSingleSelectionModel
     public DefaultSingleSelectionModel()
    

    Methods

    getSelectedIndex
     public int getSelectedIndex()
    
    setSelectedIndex
     public void setSelectedIndex(int index)
    
    clearSelection
     public void clearSelection()
    
    isSelected
     public boolean isSelected()
    
    addChangeListener
     public void addChangeListener(ChangeListener l)
    
    Adds a ChangeListener to the button.

    removeChangeListener
     public void removeChangeListener(ChangeListener l)
    
    Removes a ChangeListener from the button.

    fireStateChanged
     protected void fireStateChanged()
    

    sw k8+ΰ$7^56$@d./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.defaultsingleselectionmodel_mi.htmh$$ Interface com.sun.java.swing.DesktopManager

    Interface com.sun.java.swing.DesktopManager

    public interface DesktopManager

    DesktopManager objects are owned by a JDesktopPane object. They are responsible for implementing L&F specific behaviors for the JDesktopPane. JInternalFrame implementations should delegate specific behaviors to the DesktopManager. For instance, if a JInternalFrame was asked to iconify it should try:

        getDesktopPane().getDesktopManager().iconifyFrame(frame);
     
    This will allow you to build custom behaviors for desktop specific actions.

    See Also:
    JDesktopPane, JInternalFrame, JDesktopIcon

    Method Index

    activateFrame(JInternalFrame)
    Generally, indicate that this frame has focus.
    beginDraggingFrame(JComponent)
    This method is normally called when the user has indicated that they will begin dragging a component around.
    beginResizingFrame(JComponent, int)
    This methods is normally called when the user has indicated that they will begin resizing the frame.
    closeFrame(JInternalFrame)
    Generally, this call should remove the frame from it's parent.
    deactivateFrame(JInternalFrame)
    Generally, indicate that this frame has lost focus.
    deiconifyFrame(JInternalFrame)
    Generally, remove any iconic representation that is present and restore the frame to it's original size and location.
    dragFrame(JComponent, int, int)
    The user has moved the frame.
    endDraggingFrame(JComponent)
    This method signals the end of the dragging session.
    endResizingFrame(JComponent)
    This method signals the end of the resize session.
    iconifyFrame(JInternalFrame)
    Generally, remove this frame from it's parent and add an iconic representation.
    maximizeFrame(JInternalFrame)
    Generally, the frame should be resized to match it's parents bounds.
    minimizeFrame(JInternalFrame)
    Generally, this indicates that the frame should be restored to it's size and position prior to a maximizeFrame() call.
    openFrame(JInternalFrame)
    If possible, display this frame in an appropriate location.
    resizeFrame(JComponent, int, int, int, int)
    The user has resized the component.
    setBoundsForFrame(JComponent, int, int, int, int)
    This is a primative reshape method.

    Methods

    openFrame
     public abstract void openFrame(JInternalFrame f)
    
    If possible, display this frame in an appropriate location. Normally, this is not called, as the creator of the JInternalFrame will add the frame to the appropriate parent.

    closeFrame
     public abstract void closeFrame(JInternalFrame f)
    
    Generally, this call should remove the frame from it's parent.

    maximizeFrame
     public abstract void maximizeFrame(JInternalFrame f)
    
    Generally, the frame should be resized to match it's parents bounds.

    minimizeFrame
     public abstract void minimizeFrame(JInternalFrame f)
    
    Generally, this indicates that the frame should be restored to it's size and position prior to a maximizeFrame() call.

    iconifyFrame
     public abstract void iconifyFrame(JInternalFrame f)
    
    Generally, remove this frame from it's parent and add an iconic representation.

    deiconifyFrame
     public abstract void deiconifyFrame(JInternalFrame f)
    
    Generally, remove any iconic representation that is present and restore the frame to it's original size and location.

    activateFrame
     public abstract void activateFrame(JInternalFrame f)
    
    Generally, indicate that this frame has focus. This is usually called after the JInternalFrame's IS_SELECTED_PROPERTY has been set to true.

    deactivateFrame
     public abstract void deactivateFrame(JInternalFrame f)
    
    Generally, indicate that this frame has lost focus. This is usually called after the JInternalFrame's IS_SELECTED_PROPERTY has been set to false.

    beginDraggingFrame
     public abstract void beginDraggingFrame(JComponent f)
    
    This method is normally called when the user has indicated that they will begin dragging a component around. This method should be called prior to any dragFrame() calls to allow the DesktopManager to prepare any necessary state. Normally f will be a JInternalFrame.

    dragFrame
     public abstract void dragFrame(JComponent f,
                                    int newX,
                                    int newY)
    
    The user has moved the frame. Calls to this method will be preceeded by calls to beginDraggingFrame(). Normally f will be a JInternalFrame.

    endDraggingFrame
     public abstract void endDraggingFrame(JComponent f)
    
    This method signals the end of the dragging session. Any state maintained by the DesktopManager can be removed here. Normally f will be a JInternalFrame.

    beginResizingFrame
     public abstract void beginResizingFrame(JComponent f,
                                             int direction)
    
    This methods is normally called when the user has indicated that they will begin resizing the frame. This method should be called prior to any resizeFrame() calls to allow the DesktopManager to prepare any necessary state. Normally f will be a JInternalFrame.

    resizeFrame
     public abstract void resizeFrame(JComponent f,
                                      int newX,
                                      int newY,
                                      int newWidth,
                                      int newHeight)
    
    The user has resized the component. Calls to this method will be preceeded by calls to beginResizingFrame(). Normally f will be a JInternalFrame.

    endResizingFrame
     public abstract void endResizingFrame(JComponent f)
    
    This method signals the end of the resize session. Any state maintained by the DesktopManager can be removed here. Normally f will be a JInternalFrame.

    setBoundsForFrame
     public abstract void setBoundsForFrame(JComponent f,
                                            int newX,
                                            int newY,
                                            int newWidth,
                                            int newHeight)
    
    This is a primative reshape method.


    e h k8Ѱ$x 7`56$ lx ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.desktopmanager_mi.htmodel_m$$ Class com.sun.java.swing.event.AncestorEvent

    Class com.sun.java.swing.event.AncestorEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----com.sun.java.swing.event.AncestorEvent
    

    public class AncestorEvent
    extends AWTEvent

    AncestorEvent

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    ANCESTOR_ADDED
    ANCESTOR_MOVED
    ANCESTOR_REMOVED

    Constructor Index

    AncestorEvent(JComponent, int, Container, Container)

    Method Index

    getAncestor()
    Returns the ancestor that the event actually occured on.
    getAncestorParent()
    Returns the parent of the ancestor the event actually occured on.
    getComponent()
    Returns the component that the listener was added to.

    Variables

    ANCESTOR_ADDED
     public static final int ANCESTOR_ADDED
    
    ANCESTOR_REMOVED
     public static final int ANCESTOR_REMOVED
    
    ANCESTOR_MOVED
     public static final int ANCESTOR_MOVED
    

    Constructors

    AncestorEvent
     public AncestorEvent(JComponent source,
                          int id,
                          Container ancestor,
                          Container ancestorParent)
    

    Methods

    getAncestor
     public Container getAncestor()
    
    Returns the ancestor that the event actually occured on.

    getAncestorParent
     public Container getAncestorParent()
    
    Returns the parent of the ancestor the event actually occured on. This is most interesting in an ANCESTOR_REMOVED event, as the ancestor may no longer be in the component hierarchy.

    getComponent
     public JComponent getComponent()
    
    Returns the component that the listener was added to.


    .htm" t kQ԰$7`56$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.ancestorevent_mi.htmm$$ Interface com.sun.java.swing.event.AncestorListener

    Interface com.sun.java.swing.event.AncestorListener

    public interface AncestorListener
    extends EventListener

    AncestorListener Interface to support notification when changes occur to a JComponent or one of its ancestors. These include movement and when the component becomes visible or invisible, either by the setVisible() method or by being added or removed from the component hierarchy.


    Method Index

    ancestorAdded(AncestorEvent)
    Called when the source or one of its ancestors is made visible either by setVisible(true) being called or by its being added to the component hierarchy.
    ancestorMoved(AncestorEvent)
    Called when either the source or one of its ancestors is moved.
    ancestorRemoved(AncestorEvent)
    Called when the source or one of its ancestors is made invisible either by setVisible(false) being called or by its being remove from the component hierarchy.

    Methods

    ancestorAdded
     public abstract void ancestorAdded(AncestorEvent event)
    
    Called when the source or one of its ancestors is made visible either by setVisible(true) being called or by its being added to the component hierarchy. The method is only called if the source has actually become visible. For this to be true all its parents must be visible and it must be in a hierarchy rooted at a Window

    ancestorRemoved
     public abstract void ancestorRemoved(AncestorEvent event)
    
    Called when the source or one of its ancestors is made invisible either by setVisible(false) being called or by its being remove from the component hierarchy. The method is only called if the source has actually become invisible. For this to be true at least one of its parents must by invisible or it is not in a hierarchy rooted at a Window

    ancestorMoved
     public abstract void ancestorMoved(AncestorEvent event)
    
    Called when either the source or one of its ancestors is moved.


      kװ$7`56$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.ancestorlistener_mi.htmhtmh$$ Class com.sun.java.swing.event.CaretEvent

    Class com.sun.java.swing.event.CaretEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.CaretEvent
    

    public abstract class CaretEvent
    extends EventObject

    CaretEvent is used to notify interested parties that the text caret has changed in the event source.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    CaretEvent(Object)

    Method Index

    getDot()
    Fetch the location of the caret.
    getMark()
    Fetch the location of other end of a logical selection.

    Constructors

    CaretEvent
     public CaretEvent(Object source)
    

    Methods

    getDot
     public abstract int getDot()
    
    Fetch the location of the caret.

    getMark
     public abstract int getMark()
    
    Fetch the location of other end of a logical selection. If there is no selection, this will be the same as dot.


    /dev/n kꎓڰ$_7`56$`_./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.caretevent_mi.htm.htm$$ Interface com.sun.java.swing.event.CaretListener

    Interface com.sun.java.swing.event.CaretListener

    public interface CaretListener
    extends EventListener

    Listener for changes in the caret position of a text component.


    Method Index

    caretUpdate(CaretEvent)

    Methods

    caretUpdate
     public abstract void caretUpdate(CaretEvent e)
    

    ot( kݰ$7`56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.caretlistener_mi.htmm$$ Interface com.sun.java.swing.event.CellEditorListener

    Interface com.sun.java.swing.event.CellEditorListener

    public interface CellEditorListener
    extends EventListener

    CellEditorListener defines the interface for an object that listens to changes in a CellEditor


    Method Index

    editingCanceled(ChangeEvent)
    This tells the listeners the editor has canceled editing
    editingStopped(ChangeEvent)
    This tells the listeners the editor has ended editing

    Methods

    editingStopped
     public abstract void editingStopped(ChangeEvent e)
    
    This tells the listeners the editor has ended editing

    editingCanceled
     public abstract void editingCanceled(ChangeEvent e)
    
    This tells the listeners the editor has canceled editing


     kb$[7`56$`g[./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.celleditorlistener_mi.htmmh$$ Class com.sun.java.swing.event.ChangeEvent

    Class com.sun.java.swing.event.ChangeEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.ChangeEvent
    

    public class ChangeEvent
    extends EventObject

    ChangeEvent is used to notify interested parties that state has changed in the event source.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    ChangeEvent(Object)

    Constructors

    ChangeEvent
     public ChangeEvent(Object source)
    

    m"  k$7`56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.changeevent_mi.htmi.h$$ Interface com.sun.java.swing.event.ChangeListener

    Interface com.sun.java.swing.event.ChangeListener

    public interface ChangeListener
    extends EventListener

    ChangeListener


    Method Index

    stateChanged(ChangeEvent)

    Methods

    stateChanged
     public abstract void stateChanged(ChangeEvent e)
    

     kt$7`56$p?./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.changelistener_mi.htm$$ Interface com.sun.java.swing.event.DocumentEvent

    Interface com.sun.java.swing.event.DocumentEvent

    public interface DocumentEvent

    Interface for document change notifications.


    Method Index

    getChange(Element)
    Gets the change information for the given element.
    getDocument()
    Gets the document that sourced the change event.
    getLength()
    Returns the length of the change.
    getOffset()
    Returns the offset within the document of the start of the change.
    getType()
    Gets the type of event.

    Methods

    getOffset
     public abstract int getOffset()
    
    Returns the offset within the document of the start of the change.

    Returns:
    the offset
    getLength
     public abstract int getLength()
    
    Returns the length of the change.

    Returns:
    the length
    getDocument
     public abstract Document getDocument()
    
    Gets the document that sourced the change event.

    Returns:
    s the document
    getType
     public abstract DocumentEvent. EventType getType()
    
    Gets the type of event.

    getChange
     public abstract DocumentEvent. ElementChange getChange(Element elem)
    
    Gets the change information for the given element. The change information describes what elements were added and removed and the location. If there were no changes, null is returned.

    Parameters:
    elem - the element
    Returns:
    the change information, or null if the element was not modified

    src=" kt$?7`56$`~?./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.documentevent_mi.htm$$ Interface com.sun.java.swing.event.DocumentListener

    Interface com.sun.java.swing.event.DocumentListener

    public interface DocumentListener
    extends EventListener

    Interface for an observer to register to receive notifications of changes to a text document.


    Method Index

    changedUpdate(DocumentEvent)
    Gives notification that an attribute or set of attributes changed.
    insertUpdate(DocumentEvent)
    Gives notification that there was an insert into the document.
    removeUpdate(DocumentEvent)
    Gives notification that a portion of the document has been removed.

    Methods

    insertUpdate
     public abstract void insertUpdate(DocumentEvent e)
    
    Gives notification that there was an insert into the document. The given range bounds the freshly inserted region.

    Parameters:
    e - the document event
    removeUpdate
     public abstract void removeUpdate(DocumentEvent e)
    
    Gives notification that a portion of the document has been removed. The range is given in terms of what the view last saw (that is, before updating sticky positions).

    Parameters:
    e - the document event
    changedUpdate
     public abstract void changedUpdate(DocumentEvent e)
    
    Gives notification that an attribute or set of attributes changed.

    Parameters:
    e - the document event

    36729  k\x$7`56$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.documentlistener_mi.htmmh$$ Class com.sun.java.swing.event.EventListenerList

    Class com.sun.java.swing.event.EventListenerList

    java.lang.Object
       |
       +----com.sun.java.swing.event.EventListenerList
    

    public class EventListenerList
    extends Object
    implements Serializable

    A class which holds a list of EventListeners. A single instance can be used to hold all listeners (of all types) for the instance using the lsit. It is the responsiblity of the class using the EventListenerList to provide type-safe API (preferably conforming to the JavaBeans spec) and methods which dispatch event notification methods to appropriate Event Listeners on the list. The main benefits which this class provides are that it is relatively cheap in the case of no listeners, and provides serialization for eventlistener lists in a single place, as well as a degree of MT safety (when used correctly). Usage example: Say one is defining a class which sends out FooEvents, and wantds to allow users of the class to register FooListeners and receive notification when FooEvents occur. The following should be added to the class definition:

    EventListenerList listenrList = new EventListnerList();
    FooEvent fooEvent = null;
    public void addFooListener(FooListener l) {
    listenerList.add(FooListener.class, l);
    }
    public void removeFooListener(FooListener l) {
    listenerList.remove(FooListener.class, l);
    }
    // Notify all listeners that have registered interest for
    // notification on this event type.  The event instance 
    // is lazily created using the parameters passed into 
    // the fire method.
    protected void firefooXXX() {
    // Guaranteed to return a non-null array
    Object[] listeners = listenerList.getListenerList();
    // Process the listeners last to first, notifying
    // those that are interested in this event
    for (int i = listeners.length-2; i>=0; i-=2) {
    if (listeners[i]==FooListener.class) {
    // Lazily create the event:
    if (fooEvent == null)
    fooEvent = new FooEvent(this);
    ((FooListener)listeners[i+1]).fooXXX(fooEvent);
    }	       
    }
    }	
    
    foo should be changed to the appropriate name, and Method to the appropriate method name (one fire method should exist for each notification method in the FooListener interface).

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    listenerList

    Constructor Index

    EventListenerList()

    Method Index

    add(Class, EventListener)
    Add the listener as a listener of the specified type.
    getListenerCount()
    Return the total number of listeners for this listenerlist
    getListenerCount(Class)
    Return the total number of listeners of the supplied type for this listenerlist.
    getListenerList()
    This passes back the event listener list as an array of ListenerType - listener pairs.
    remove(Class, EventListener)
    Remove the listener as a listener of the specified type.
    toString()
    Return a string representation of the EventListenerList.

    Variables

    listenerList
     protected transient Object listenerList[]
    

    Constructors

    EventListenerList
     public EventListenerList()
    

    Methods

    getListenerList
     public Object[] getListenerList()
    
    This passes back the event listener list as an array of ListenerType - listener pairs. Note that for performance reasons, this implementation passes back the actual data structure in which the listner data is stored internally! This method is guaranteed to pass back a non-null array, so that no null-checking is required in fire methods. A zero-length array of Object should be returned if there are currently no listeners. WARNING!!! Absolutely NO modification of the data contained in this array should be made -- if any such manipulation is necessary, it should be done on a copy of the array returned rather than the array itself.

    getListenerCount
     public int getListenerCount()
    
    Return the total number of listeners for this listenerlist

    getListenerCount
     public int getListenerCount(Class t)
    
    Return the total number of listeners of the supplied type for this listenerlist.

    add
     public synchronized void add(Class t,
                                  EventListener l)
    
    Add the listener as a listener of the specified type.

    Parameters:
    t - the type of the listener to be added
    l - the listener to be added
    remove
     public synchronized void remove(Class t,
                                     EventListener l)
    
    Remove the listener as a listener of the specified type.

    Parameters:
    t - the type of the listener to be removed
    l - the listener to be removed
    toString
     public String toString()
    
    Return a string representation of the EventListenerList.

    Overrides:
    toString in class Object

    >(Class kf$^7`56$P^./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.eventlistenerlist_mi.htmmh$$ Class com.sun.java.swing.event.HyperlinkEvent

    Class com.sun.java.swing.event.HyperlinkEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.HyperlinkEvent
    

    public class HyperlinkEvent
    extends EventObject

    HyperlinkEvent is used to notify interested parties that something has happened with respect to a hypertext link.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    HyperlinkEvent(Object, HyperlinkEvent. EventType, URL)

    Method Index

    getEventType()
    The type of event.
    getURL()
    The URL that the link refers to.

    Constructors

    HyperlinkEvent
     public HyperlinkEvent(Object source,
                           HyperlinkEvent. EventType type,
                           URL u)
    

    Methods

    getEventType
     public HyperlinkEvent. EventType getEventType()
    
    The type of event.

    getURL
     public URL getURL()
    
    The URL that the link refers to.


    a>  k$7`56$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.hyperlinkevent_mi.htm$$ Interface com.sun.java.swing.event.HyperlinkListener

    Interface com.sun.java.swing.event.HyperlinkListener

    public interface HyperlinkListener
    extends EventListener

    HyperlinkListener


    Method Index

    hyperlinkUpdate(HyperlinkEvent)

    Methods

    hyperlinkUpdate
     public abstract void hyperlinkUpdate(HyperlinkEvent e)
    

     k&$7`56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.hyperlinklistener_mi.htmmh$$ Class com.sun.java.swing.event.InternalFrameAdapter

    Class com.sun.java.swing.event.InternalFrameAdapter

    java.lang.Object
       |
       +----com.sun.java.swing.event.InternalFrameAdapter
    

    public abstract class InternalFrameAdapter
    extends Object
    implements InternalFrameListener

    An abstract adapter class for receiving internal frame events. The methods in this class are empty. This class exists as convenience for creating listener objects, and is functionally equivalent to the WindowAdapter class in the AWT.

    See Also:
    InternalFrameEvent, InternalFrameListener, WindowListener

    Constructor Index

    InternalFrameAdapter()

    Method Index

    internalFrameActivated(InternalFrameEvent)
    Invoked when an internal frame is activated.
    internalFrameClosed(InternalFrameEvent)
    Invoked when an internal frame has been closed.
    internalFrameClosing(InternalFrameEvent)
    Invoked when an internal frame is in the process of being closed.
    internalFrameDeactivated(InternalFrameEvent)
    Invoked when an internal frame is de-activated.
    internalFrameDeiconified(InternalFrameEvent)
    Invoked when an internal frame is de-iconified.
    internalFrameIconified(InternalFrameEvent)
    Invoked when an internal frame is iconified.
    internalFrameOpened(InternalFrameEvent)
    Invoked when an internal frame has been opened.

    Constructors

    InternalFrameAdapter
     public InternalFrameAdapter()
    

    Methods

    internalFrameOpened
     public void internalFrameOpened(InternalFrameEvent e)
    
    Invoked when an internal frame has been opened.

    internalFrameClosing
     public void internalFrameClosing(InternalFrameEvent e)
    
    Invoked when an internal frame is in the process of being closed. The close operation can be overridden at this point.

    internalFrameClosed
     public void internalFrameClosed(InternalFrameEvent e)
    
    Invoked when an internal frame has been closed.

    internalFrameIconified
     public void internalFrameIconified(InternalFrameEvent e)
    
    Invoked when an internal frame is iconified.

    internalFrameDeiconified
     public void internalFrameDeiconified(InternalFrameEvent e)
    
    Invoked when an internal frame is de-iconified.

    internalFrameActivated
     public void internalFrameActivated(InternalFrameEvent e)
    
    Invoked when an internal frame is activated.

    internalFrameDeactivated
     public void internalFrameDeactivated(InternalFrameEvent e)
    
    Invoked when an internal frame is de-activated.


     k|^$"7`56$@$"./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.internalframeadapter_mi.htmh$$ Class com.sun.java.swing.event.InternalFrameEvent

    Class com.sun.java.swing.event.InternalFrameEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----java.awt.AWTEvent
                       |
                       +----com.sun.java.swing.event.InternalFrameEvent
    

    public class InternalFrameEvent
    extends AWTEvent

    InternalFrameEvent: an AWTEvent which adds support for JInternalFrame objects as the event source. This class has the same event types as WindowEvent, although different ids are used.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    WindowEvent, WindowListener

    Variable Index

    INTERNAL_FRAME_ACTIVATED
    The window activated event type.
    INTERNAL_FRAME_CLOSED
    The window closed event.
    INTERNAL_FRAME_CLOSING
    The "window is closing" event.
    INTERNAL_FRAME_DEACTIVATED
    The window deactivated event type.
    INTERNAL_FRAME_DEICONIFIED
    The window deiconified event type.
    INTERNAL_FRAME_FIRST
    The first number in the range of ids used for window events.
    INTERNAL_FRAME_ICONIFIED
    The window iconified event.
    INTERNAL_FRAME_LAST
    The last number in the range of ids used for window events.
    INTERNAL_FRAME_OPENED
    The window opened event.

    Constructor Index

    InternalFrameEvent(JInternalFrame, int)
    Constructs a InternalFrameEvent object.

    Method Index

    paramString()
    Returns a parameter string identifying this event.

    Variables

    INTERNAL_FRAME_FIRST
     public static final int INTERNAL_FRAME_FIRST
    
    The first number in the range of ids used for window events.

    INTERNAL_FRAME_LAST
     public static final int INTERNAL_FRAME_LAST
    
    The last number in the range of ids used for window events.

    INTERNAL_FRAME_OPENED
     public static final int INTERNAL_FRAME_OPENED
    
    The window opened event. This event is delivered only the first time a window is made visible.

    INTERNAL_FRAME_CLOSING
     public static final int INTERNAL_FRAME_CLOSING
    
    The "window is closing" event. This event is delivered when the user selects "Quit" from the window's system menu. If the program does not explicitly hide or destroy the window as while processing this event, the window close operation will be canceled.

    INTERNAL_FRAME_CLOSED
     public static final int INTERNAL_FRAME_CLOSED
    
    The window closed event. This event is delivered after the window has been closed as the result of a call to hide or destroy.

    INTERNAL_FRAME_ICONIFIED
     public static final int INTERNAL_FRAME_ICONIFIED
    
    The window iconified event. This event indicates that the window was shrunk down to a small icon.

    INTERNAL_FRAME_DEICONIFIED
     public static final int INTERNAL_FRAME_DEICONIFIED
    
    The window deiconified event type. This event indicates that the window has been restored to its normal size.

    INTERNAL_FRAME_ACTIVATED
     public static final int INTERNAL_FRAME_ACTIVATED
    
    The window activated event type. This event indicates that keystrokes and mouse clicks are directed towards this window.

    INTERNAL_FRAME_DEACTIVATED
     public static final int INTERNAL_FRAME_DEACTIVATED
    
    The window deactivated event type. This event indicates that keystrokes and mouse clicks are no longer directed to the window.


    Constructors

    InternalFrameEvent
     public InternalFrameEvent(JInternalFrame source,
                               int id)
    
    Constructs a InternalFrameEvent object.

    Parameters:
    source - the JInternalFrame object that originated the event
    id - an integer indicating the type of event

    Methods

    paramString
     public String paramString()
    
    Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.

    Returns:
    a string identifying the event and its attributes
    Overrides:
    paramString in class AWTEvent

    /a> k$'7b56$@ './usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.internalframeevent_mi.htmh$$ Interface com.sun.java.swing.event.InternalFrameListener

    Interface com.sun.java.swing.event.InternalFrameListener

    public interface InternalFrameListener
    extends EventListener

    The listener interface for receiving internal frame events. This class is functionally equivalent to the WindowListener class in the AWT.

    See Also:
    WindowListener

    Method Index

    internalFrameActivated(InternalFrameEvent)
    Invoked when an internal frame is activated.
    internalFrameClosed(InternalFrameEvent)
    Invoked when an internal frame has been closed.
    internalFrameClosing(InternalFrameEvent)
    Invoked when an internal frame is in the process of being closed.
    internalFrameDeactivated(InternalFrameEvent)
    Invoked when an internal frame is de-activated.
    internalFrameDeiconified(InternalFrameEvent)
    Invoked when an internal frame is de-iconified.
    internalFrameIconified(InternalFrameEvent)
    Invoked when an internal frame is iconified.
    internalFrameOpened(InternalFrameEvent)
    Invoked when a internal frame has been opened.

    Methods

    internalFrameOpened
     public abstract void internalFrameOpened(InternalFrameEvent e)
    
    Invoked when a internal frame has been opened.

    See Also:
    show
    internalFrameClosing
     public abstract void internalFrameClosing(InternalFrameEvent e)
    
    Invoked when an internal frame is in the process of being closed. The close operation can be overridden at this point.

    See Also:
    setDefaultCloseOperation
    internalFrameClosed
     public abstract void internalFrameClosed(InternalFrameEvent e)
    
    Invoked when an internal frame has been closed.

    See Also:
    setClosed
    internalFrameIconified
     public abstract void internalFrameIconified(InternalFrameEvent e)
    
    Invoked when an internal frame is iconified.

    See Also:
    setIcon
    internalFrameDeiconified
     public abstract void internalFrameDeiconified(InternalFrameEvent e)
    
    Invoked when an internal frame is de-iconified.

    See Also:
    setIcon
    internalFrameActivated
     public abstract void internalFrameActivated(InternalFrameEvent e)
    
    Invoked when an internal frame is activated.

    See Also:
    setSelected
    internalFrameDeactivated
     public abstract void internalFrameDeactivated(InternalFrameEvent e)
    
    Invoked when an internal frame is de-activated.

    See Also:
    setSelected

    ">i kL$7b56$@Q./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.internalframelistener_mi.htmh$$ Class com.sun.java.swing.event.ListDataEvent

    Class com.sun.java.swing.event.ListDataEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.ListDataEvent
    

    public class ListDataEvent
    extends EventObject

    ListDataEvent

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    CONTENTS_CHANGED
    INTERVAL_ADDED
    INTERVAL_REMOVED

    Constructor Index

    ListDataEvent(Object, int, int, int)

    Method Index

    getIndex0()
    getIndex1()
    getType()

    Variables

    CONTENTS_CHANGED
     public static final int CONTENTS_CHANGED
    
    INTERVAL_ADDED
     public static final int INTERVAL_ADDED
    
    INTERVAL_REMOVED
     public static final int INTERVAL_REMOVED
    

    Constructors

    ListDataEvent
     public ListDataEvent(Object source,
                          int type,
                          int index0,
                          int index1)
    

    Methods

    getType
     public int getType()
    
    getIndex0
     public int getIndex0()
    
    getIndex1
     public int getIndex1()
    

    en  k=$r7b56$P`r./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.listdataevent_mi.htmm$$ Interface com.sun.java.swing.event.ListDataListener

    Interface com.sun.java.swing.event.ListDataListener

    public interface ListDataListener
    extends EventListener

    ListDataListener


    Method Index

    contentsChanged(ListDataEvent)
    Sent when the contents of the list has changed in a way that's to complex to characterize with the previous methods.
    intervalAdded(ListDataEvent)
    Sent after the indices in the index0,index1 interval have been inserted in the data model.
    intervalRemoved(ListDataEvent)
    Sent after the indices in the index0,index1 interval have been removed from the data model.

    Methods

    intervalAdded
     public abstract void intervalAdded(ListDataEvent e)
    
    Sent after the indices in the index0,index1 interval have been inserted in the data model. The new interval includes both index0 and index1.

    intervalRemoved
     public abstract void intervalRemoved(ListDataEvent e)
    
    Sent after the indices in the index0,index1 interval have been removed from the data model. The interval includes both index0 and index1.

    contentsChanged
     public abstract void contentsChanged(ListDataEvent e)
    
    Sent when the contents of the list has changed in a way that's to complex to characterize with the previous methods. Index0 and index1 bracket the change.


    "> k$7b56$`>./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.listdatalistener_mi.htmhtmh$$ Class com.sun.java.swing.event.ListSelectionEvent

    Class com.sun.java.swing.event.ListSelectionEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.ListSelectionEvent
    

    public class ListSelectionEvent
    extends EventObject

    An event that characterizes a change in the current selection. The change is limited to a row interval. ListSelectionListeners will generally query the source of the event for the new selected status of each potentially changed row.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    ListSelectionModel

    Constructor Index

    ListSelectionEvent(Object, int, int, boolean)
    Represents a change in selection status between firstIndex and lastIndex inclusive (firstIndex is less than or equal to lastIndex).

    Method Index

    getFirstIndex()
    getLastIndex()
    getValueIsAdjusting()
    toString()

    Constructors

    ListSelectionEvent
     public ListSelectionEvent(Object source,
                               int firstIndex,
                               int lastIndex,
                               boolean isAdjusting)
    
    Represents a change in selection status between firstIndex and lastIndex inclusive (firstIndex is less than or equal to lastIndex). Atleast one of the rows within the range will have changed, a good ListSelectionModel implementation will keep the range as small as possible.

    Parameters:
    firstIndex - The first index that changed.
    lastIndex - The last index that changed, lastIndex >= firstIndex.
    isAdjusting - An indication that this is one of rapid a series of events

    Methods

    getFirstIndex
     public int getFirstIndex()
    
    Returns:
    The first row whose selection value may have changed.
    getLastIndex
     public int getLastIndex()
    
    Returns:
    The last row whose selection value may have changed.
    getValueIsAdjusting
     public boolean getValueIsAdjusting()
    
    Returns:
    True if this is one of a rapid series of events
    toString
     public String toString()
    
    Overrides:
    toString in class EventObject

    +---- kt$7b56$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.listselectionevent_mi.htmmh$$ Interface com.sun.java.swing.event.ListSelectionListener

    Interface com.sun.java.swing.event.ListSelectionListener

    public interface ListSelectionListener
    extends EventListener

    The listener that's notified when a lists selection value changes.

    See Also:
    ListSelectionModel

    Method Index

    valueChanged(ListSelectionEvent)
    Called whenever the value of the selection changes.

    Methods

    valueChanged
     public abstract void valueChanged(ListSelectionEvent e)
    
    Called whenever the value of the selection changes.

    Parameters:
    e - the event that characterizes the change.

    Class com.sun.java.swing.event.MenuEvent

    Class com.sun.java.swing.event.MenuEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.MenuEvent
    

    public class MenuEvent
    extends EventObject

    MenuEvent is used to notify interested parties that the menu which is the event source has been posted, selected, or canceled.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    MenuEvent(Object)

    Constructors

    MenuEvent
     public MenuEvent(Object source)
    

    ref="#t k $7b56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.menuevent_mi.htmner_m$$ Interface com.sun.java.swing.event.MenuListener

    Interface com.sun.java.swing.event.MenuListener

    public interface MenuListener
    extends EventListener

    MenuListener


    Method Index

    menuCanceled(MenuEvent)
    menuDeselected(MenuEvent)
    menuSelected(MenuEvent)

    Methods

    menuSelected
     public abstract void menuSelected(MenuEvent e)
    
    menuDeselected
     public abstract void menuDeselected(MenuEvent e)
    
    menuCanceled
     public abstract void menuCanceled(MenuEvent e)
    

    / k$7b56$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.menulistener_mi.htm_m$$ Class com.sun.java.swing.event.PopupMenuEvent

    Class com.sun.java.swing.event.PopupMenuEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.PopupMenuEvent
    

    public class PopupMenuEvent
    extends EventObject

    PopupMenuEvent only contains the source of the event which is the JPoupMenu sending the event

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    PopupMenuEvent(Object)

    Constructors

    PopupMenuEvent
     public PopupMenuEvent(Object source)
    

    . /P k$7b56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.popupmenuevent_mi.htm$$ Interface com.sun.java.swing.event.PopupMenuListener

    Interface com.sun.java.swing.event.PopupMenuListener

    public interface PopupMenuListener
    extends EventListener

    A popup menu listener


    Method Index

    popupMenuCanceled(PopupMenuEvent)
    This method is called when the popup menu is canceled
    popupMenuWillBecomeInvisible(PopupMenuEvent)
    This method is called before the popup menu becomes invisible Note that a JPopupMenu can become invisible any time
    popupMenuWillBecomeVisible(PopupMenuEvent)
    This method is called before the popup menu becomes visible

    Methods

    popupMenuWillBecomeVisible
     public abstract void popupMenuWillBecomeVisible(PopupMenuEvent e)
    
    This method is called before the popup menu becomes visible

    popupMenuWillBecomeInvisible
     public abstract void popupMenuWillBecomeInvisible(PopupMenuEvent e)
    
    This method is called before the popup menu becomes invisible Note that a JPopupMenu can become invisible any time

    popupMenuCanceled
     public abstract void popupMenuCanceled(PopupMenuEvent e)
    
    This method is called when the popup menu is canceled


    Class com.sun.java.swing.event.TableColumnModelEvent

    Class com.sun.java.swing.event.TableColumnModelEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.TableColumnModelEvent
    

    public class TableColumnModelEvent
    extends EventObject

    TableColumnModelEvent is used to notify listeners that a table column model has changed, such as a column was added, removed, or moved.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    TableColumnModelListener

    Variable Index

    fromIndex
    The index of the column from where it was moved or removed
    toIndex
    The index of the column to where it was moved or added from

    Constructor Index

    TableColumnModelEvent(TableColumnModel, int, int)

    Method Index

    getFromIndex()
    Returns the fromIndex.
    getToIndex()
    Returns the toIndex.

    Variables

    fromIndex
     protected int fromIndex
    
    The index of the column from where it was moved or removed

    toIndex
     protected int toIndex
    
    The index of the column to where it was moved or added from


    Constructors

    TableColumnModelEvent
     public TableColumnModelEvent(TableColumnModel source,
                                  int from,
                                  int to)
    

    Methods

    getFromIndex
     public int getFromIndex()
    
    Returns the fromIndex. Valid for removed or moved events

    getToIndex
     public int getToIndex()
    
    Returns the toIndex. Valid for add and moved events


    26 k$7b56$`~./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.tablecolumnmodelevent_mi.htmh$$ Interface com.sun.java.swing.event.TableColumnModelListener

    Interface com.sun.java.swing.event.TableColumnModelListener

    public interface TableColumnModelListener
    extends EventListener

    TableColumnModelListener defines the interface for an object that listens to changes in a TableColumnModel.

    See Also:
    TableColumnModelEvent

    Method Index

    columnAdded(TableColumnModelEvent)
    Tells listeners that a column was added to the model.
    columnMarginChanged(ChangeEvent)
    Tells listeners that a column was moved due to a margin change.
    columnMoved(TableColumnModelEvent)
    Tells listeners that a column was repositioned.
    columnRemoved(TableColumnModelEvent)
    Tells listeners that a column was removed from the model.
    columnSelectionChanged(ListSelectionEvent)
    Tells listeners that the selection model of the TableColumnModel changed.

    Methods

    columnAdded
     public abstract void columnAdded(TableColumnModelEvent e)
    
    Tells listeners that a column was added to the model.

    columnRemoved
     public abstract void columnRemoved(TableColumnModelEvent e)
    
    Tells listeners that a column was removed from the model.

    columnMoved
     public abstract void columnMoved(TableColumnModelEvent e)
    
    Tells listeners that a column was repositioned.

    columnMarginChanged
     public abstract void columnMarginChanged(ChangeEvent e)
    
    Tells listeners that a column was moved due to a margin change.

    columnSelectionChanged
     public abstract void columnSelectionChanged(ListSelectionEvent e)
    
    Tells listeners that the selection model of the TableColumnModel changed.


    Class com.sun.java.swing.event.TableModelEvent

    Class com.sun.java.swing.event.TableModelEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.TableModelEvent
    

    public class TableModelEvent
    extends EventObject

    TableModelEvent is used to notify listeners that a table model has changed. The model event describes changes to a TableModel and all references to rows and columns are in the co-ordinate system of the model. Depending on the parameters used in the constructors, the TableModelevent can be used to specify the following types of changes:

     TableModelEvent(source);              //  The data, ie. all rows changed 
     TableModelEvent(source, HEADER_ROW);  //  Structure change, reallcoate TableColumns
     TableModelEvent(source, 1);           //  Row 1 changed
     TableModelEvent(source, 3, 6);        //  Rows 3 to 6 inclusive changed
     TableModelEvent(source, 2, 2, 6);     //  Cell at (2, 6) changed
     TableModelEvent(source, 3, 6, ALL_COLUMNS, INSERT); // Rows (3, 6) were inserted
     TableModelEvent(source, 3, 6, ALL_COLUMNS, DELETE); // Rows (3, 6) were deleted
     
    It is possible to use other combinations of the parameters, not all of them are meaningful. By subclassing, you can add other information, for example: whether the event WILL happen or DID happen. This makes the specification of rows in DELETE events more useful but has not been included in the swing package as the JTable only needs post-event notification.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    TableModel

    Variable Index

    ALL_COLUMNS
    column
    DELETE
    firstRow
    HEADER_ROW
    INSERT
    lastRow
    type
    UPDATE

    Constructor Index

    TableModelEvent(TableModel)
    All row data in the table has changed, listeners should discard any state that was based on the rows and requery the TableModel to get the new row count and all the appropriate values.
    TableModelEvent(TableModel, int)
    This row of data has been updated.
    TableModelEvent(TableModel, int, int)
    The data in rows [firstRow, lastRow] have been updated.
    TableModelEvent(TableModel, int, int, int)
    The cells in column column in the range [firstRow, lastRow] have been updated.
    TableModelEvent(TableModel, int, int, int, int)
    The cells from (firstRow, column) to (lastRow, column) have been changed.

    Method Index

    getColumn()
    Returns the column for the event.
    getFirstRow()
    Returns the first row that changed.
    getLastRow()
    Returns the last row that changed.
    getType()
    Returns the type of event - one of: INSERT, UPDATE and DELETE.

    Variables

    INSERT
     public static final int INSERT
    
    UPDATE
     public static final int UPDATE
    
    DELETE
     public static final int DELETE
    
    HEADER_ROW
     public static final int HEADER_ROW
    
    ALL_COLUMNS
     public static final int ALL_COLUMNS
    
    type
     protected int type
    
    firstRow
     protected int firstRow
    
    lastRow
     protected int lastRow
    
    column
     protected int column
    

    Constructors

    TableModelEvent
     public TableModelEvent(TableModel source)
    
    All row data in the table has changed, listeners should discard any state that was based on the rows and requery the TableModel to get the new row count and all the appropriate values. The JTable will repaint the entire visible region on recieving this event, querying the model for the cell values that are visble. The structure of the table ie, the column names, types and order have not changed.

    TableModelEvent
     public TableModelEvent(TableModel source,
                            int row)
    
    This row of data has been updated. To denote the arrival of a completely new table with a different structure use HEADER_ROW as the value for the row. When the JTable recieves this event and its autoCreateColumnsFromModel flag is set it discards any TableColumns that it had and reallocates default ones in the order they appear in the model. This is the same as calling setModel(TableModel) on the JTable.

    TableModelEvent
     public TableModelEvent(TableModel source,
                            int firstRow,
                            int lastRow)
    
    The data in rows [firstRow, lastRow] have been updated.

    TableModelEvent
     public TableModelEvent(TableModel source,
                            int firstRow,
                            int lastRow,
                            int column)
    
    The cells in column column in the range [firstRow, lastRow] have been updated.

    TableModelEvent
     public TableModelEvent(TableModel source,
                            int firstRow,
                            int lastRow,
                            int column,
                            int type)
    
    The cells from (firstRow, column) to (lastRow, column) have been changed. The column refers to the column index of the cell in the model's co-ordinate system. When column is ALL_COLUMNS, all cells in the specified range of rows are considered changed.

    The type should be one of: INSERT, UPDATE and DELETE.


    Methods

    getFirstRow
     public int getFirstRow()
    
    Returns the first row that changed. HEADER_ROW means the meta data, ie. names, types and order of the columns.

    getLastRow
     public int getLastRow()
    
    Returns the last row that changed.

    getColumn
     public int getColumn()
    
    Returns the column for the event. If the return value is ALL_COLUMNS; it means every column in the specified rows changed.

    getType
     public int getType()
    
    Returns the type of event - one of: INSERT, UPDATE and DELETE.


    rs sho k02$0 7b56$ 0 ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.tablemodelevent_mi.htm$$ Interface com.sun.java.swing.event.TableModelListener

    Interface com.sun.java.swing.event.TableModelListener

    public interface TableModelListener
    extends EventListener

    TableModelListener defines the interface for an object that listens to changes in a TableModel.

    See Also:
    TableModel

    Method Index

    tableChanged(TableModelEvent)
    This fine grain notification tells listeners the exact range of cells, rows, or columns that changed.

    Methods

    tableChanged
     public abstract void tableChanged(TableModelEvent e)
    
    This fine grain notification tells listeners the exact range of cells, rows, or columns that changed.


    href=" k "$7d56$py./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.tablemodellistener_mi.htm.htm$$ Class com.sun.java.swing.event.TreeExpansionEvent

    Class com.sun.java.swing.event.TreeExpansionEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.TreeExpansionEvent
    

    public class TreeExpansionEvent
    extends EventObject

    An event used to identify a single path in a tree. The source returned by getSource will be an instance of JTree.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    path
    Path to the value this event represents.

    Constructor Index

    TreeExpansionEvent(Object, TreePath)

    Method Index

    getPath()
    Returns the path to the value that has been expanded/collapsed.

    Variables

    path
     protected TreePath path
    
    Path to the value this event represents.


    Constructors

    TreeExpansionEvent
     public TreeExpansionEvent(Object source,
                               TreePath path)
    

    Methods

    getPath
     public TreePath getPath()
    
    Returns the path to the value that has been expanded/collapsed.


    < k;%$7d56$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.treeexpansionevent_mi.htm.htm$$ Interface com.sun.java.swing.event.TreeExpansionListener

    Interface com.sun.java.swing.event.TreeExpansionListener

    public interface TreeExpansionListener
    extends EventListener

    The listener that's notified when a tree expands or collapses a node.


    Method Index

    treeCollapsed(TreeExpansionEvent)
    Called whenever an item in the tree has been collapsed.
    treeExpanded(TreeExpansionEvent)
    Called whenever an item in the tree has been expanded.

    Methods

    treeExpanded
     public abstract void treeExpanded(TreeExpansionEvent event)
    
    Called whenever an item in the tree has been expanded.

    treeCollapsed
     public abstract void treeCollapsed(TreeExpansionEvent event)
    
    Called whenever an item in the tree has been collapsed.


     k$|($x7d56$`x./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.treeexpansionlistener_mi.htmm$$ Class com.sun.java.swing.event.TreeModelEvent

    Class com.sun.java.swing.event.TreeModelEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.TreeModelEvent
    

    public class TreeModelEvent
    extends EventObject

    TreeChangeEvent is used to notify listeners that a tree model has changed.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    childIndices
    Indices identifying the position of where the children were.
    children
    Children that have been removed.
    path
    Path to the parent of the nodes that have changed.

    Constructor Index

    TreeModelEvent(Object, Object[])
    TreeModelEvent(Object, Object[], int[], Object[])
    TreeModelEvent(Object, TreePath)
    TreeModelEvent(Object, TreePath, int[], Object[])

    Method Index

    getChildIndices()
    getChildren()
    Returns the objects that are children of the node identified by path at the locations childIndices (if this is removal event the *children will no longer be children).
    getPath()
    Convenience method to get the Object[] path from the JTreePath instance that this event wraps.
    getTreePath()
    toString()

    Variables

    path
     protected TreePath path
    
    Path to the parent of the nodes that have changed.

    childIndices
     protected int childIndices[]
    
    Indices identifying the position of where the children were.

    children
     protected Object children[]
    
    Children that have been removed.


    Constructors

    TreeModelEvent
     public TreeModelEvent(Object source,
                           Object path[],
                           int childIndices[],
                           Object children[])
    
    TreeModelEvent
     public TreeModelEvent(Object source,
                           Object path[])
    
    TreeModelEvent
     public TreeModelEvent(Object source,
                           TreePath path,
                           int childIndices[],
                           Object children[])
    
    TreeModelEvent
     public TreeModelEvent(Object source,
                           TreePath path)
    

    Methods

    getTreePath
     public TreePath getTreePath()
    
    getPath
     public Object[] getPath()
    
    Convenience method to get the Object[] path from the JTreePath instance that this event wraps.

    getChildren
     public Object[] getChildren()
    
    Returns the objects that are children of the node identified by path at the locations childIndices (if this is removal event the *children will no longer be children).

    getChildIndices
     public int[] getChildIndices()
    
    toString
     public String toString()
    
    Overrides:
    toString in class EventObject

    an k+$7d56$@./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.treemodelevent_mi.htm$$ Interface com.sun.java.swing.event.TreeModelListener

    Interface com.sun.java.swing.event.TreeModelListener

    public interface TreeModelListener
    extends EventListener

    TreeChangeListener defines the interface for an object that listens to changes in a TreeModel.


    Method Index

    treeNodesChanged(TreeModelEvent)

    Invoked after a node (or a set of siblings) has changed in some way.

    treeNodesInserted(TreeModelEvent)

    Invoked after nodes have been inserted into the tree.

    e.path() returns the parent of the new nodes

    e.childIndices() returns the indices of the new nodes in ascending order.

    treeNodesRemoved(TreeModelEvent)

    Invoked after nodes have been removed from the tree.

    treeStructureChanged(TreeModelEvent)

    Invoked after the tree has drastically changed structure from a given node down.


    Methods

    treeNodesChanged
     public abstract void treeNodesChanged(TreeModelEvent e)
    

    Invoked after a node (or a set of siblings) has changed in some way. The node(s) have not changed locations in the tree or altered their children arrays, but other attributes have changed and may affect presentation. Example: the name of a file has changed, but it is in the same location in the file system.

    e.path() returns the path the parent of the changed node(s).

    e.childIndices() returns the index(es) of the changed node(s).

    treeNodesInserted
     public abstract void treeNodesInserted(TreeModelEvent e)
    

    Invoked after nodes have been inserted into the tree.

    e.path() returns the parent of the new nodes

    e.childIndices() returns the indices of the new nodes in ascending order.

    treeNodesRemoved
     public abstract void treeNodesRemoved(TreeModelEvent e)
    

    Invoked after nodes have been removed from the tree. Note that if a subtree is removed from the tree, this method may only be invoked once for the root of the removed subtree, not once for each individual set of siblings removed.

    e.path() returns the former parent of the deleted nodes.

    e.childIndices() returns the indices the nodes had before they were deleted in ascending order.

    treeStructureChanged
     public abstract void treeStructureChanged(TreeModelEvent e)
    

    Invoked after the tree has drastically changed structure from a given node down. If the path returned by e.getPath() is of length one and the first element does not identify the current root node the first element should become the new root of the tree.

    e.path() holds the path to the node.

    e.childIndices() returns null.


    e k.$7d56$`(./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.treemodellistener_mi.htmtmm$$ Class com.sun.java.swing.event.TreeSelectionEvent

    Class com.sun.java.swing.event.TreeSelectionEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.TreeSelectionEvent
    

    public class TreeSelectionEvent
    extends EventObject
    implements Cloneable

    An event that characterizes a change in the current selection. The change is based on any number of paths. TreeSelectionListeners will generally query the source of the event for the new selected status of each potentially changed row.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    TreeSelectionModel

    Variable Index

    areNew
    For each path identifies if that is path is in fact new.
    newLeadSelectionPath
    leadSelectionPath after the paths changed, may be null.
    oldLeadSelectionPath
    leadSelectionPath before the paths changed, may be null.
    paths
    Paths this event represents.

    Constructor Index

    TreeSelectionEvent(Object, TreePath, boolean, TreePath, TreePath)
    Represents a change in the selection of a TreeSelectionModel.
    TreeSelectionEvent(Object, TreePath[], boolean[], TreePath, TreePath)
    Represents a change in the selection of a TreeSelectionModel.

    Method Index

    cloneWithSource(Object)
    Returns a copy of the receiver, but with the source being newSource.
    getNewLeadSelectionPath()
    Returns the current lead path.
    getOldLeadSelectionPath()
    Returns the path that was previously the lead path.
    getPath()
    Returns the first path element.
    getPaths()
    Returns the paths that have been added or removed from the selection.
    isAddedPath()
    Returns true if the first path element has been added to the selection, a return value of false means the first path has been removed from the selection.
    isAddedPath(TreePath)
    Returns true if the path identified by path was added to the selection.

    Variables

    paths
     protected TreePath paths[]
    
    Paths this event represents.

    areNew
     protected boolean areNew[]
    
    For each path identifies if that is path is in fact new.

    oldLeadSelectionPath
     protected TreePath oldLeadSelectionPath
    
    leadSelectionPath before the paths changed, may be null.

    newLeadSelectionPath
     protected TreePath newLeadSelectionPath
    
    leadSelectionPath after the paths changed, may be null.


    Constructors

    TreeSelectionEvent
     public TreeSelectionEvent(Object source,
                               TreePath paths[],
                               boolean areNew[],
                               TreePath oldLeadSelectionPath,
                               TreePath newLeadSelectionPath)
    
    Represents a change in the selection of a TreeSelectionModel. paths identifies the paths that have been either added or removed from the selection.

    Parameters:
    source - source of event
    paths - the paths that have changed in the selection
    TreeSelectionEvent
     public TreeSelectionEvent(Object source,
                               TreePath path,
                               boolean isNew,
                               TreePath oldLeadSelectionPath,
                               TreePath newLeadSelectionPath)
    
    Represents a change in the selection of a TreeSelectionModel. path identifies the path that have been either added or removed from the selection.

    Parameters:
    source - source of event
    path - the path that has changed in the selection
    isNew - whether or not the path is new to the selection, false means path was removed from the selection.

    Methods

    getPaths
     public TreePath[] getPaths()
    
    Returns the paths that have been added or removed from the selection.

    getPath
     public TreePath getPath()
    
    Returns the first path element.

    isAddedPath
     public boolean isAddedPath()
    
    Returns true if the first path element has been added to the selection, a return value of false means the first path has been removed from the selection.

    isAddedPath
     public boolean isAddedPath(TreePath path)
    
    Returns true if the path identified by path was added to the selection. A return value of false means the path was in the selection but is no longer in the selection. This will raise if path is not one of the paths identified by this event.

    getOldLeadSelectionPath
     public TreePath getOldLeadSelectionPath()
    
    Returns the path that was previously the lead path.

    getNewLeadSelectionPath
     public TreePath getNewLeadSelectionPath()
    
    Returns the current lead path.

    cloneWithSource
     public Object cloneWithSource(Object newSource)
    
    Returns a copy of the receiver, but with the source being newSource.


    ree.tre kP:1$7d56$0-./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.treeselectionevent_mi.htmmm$$ Interface com.sun.java.swing.event.TreeSelectionListener

    Interface com.sun.java.swing.event.TreeSelectionListener

    public interface TreeSelectionListener
    extends EventListener

    The listener that's notified when the selection in a TreeSelectionModel changes.

    See Also:
    TreeSelectionModel, JTree

    Method Index

    valueChanged(TreeSelectionEvent)
    Called whenever the value of the selection changes.

    Methods

    valueChanged
     public abstract void valueChanged(TreeSelectionEvent e)
    
    Called whenever the value of the selection changes.

    Parameters:
    e - the event that characterizes the change.

     kꬎ4$7d56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.treeselectionlistener_mi.htmm$$ Class com.sun.java.swing.event.UndoableEditEvent

    Class com.sun.java.swing.event.UndoableEditEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sun.java.swing.event.UndoableEditEvent
    

    public class UndoableEditEvent
    extends EventObject

    An event indicating that an undoable operation has happened.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    UndoableEditEvent(Object, UndoableEdit)

    Method Index

    getEdit()

    Constructors

    UndoableEditEvent
     public UndoableEditEvent(Object source,
                              UndoableEdit edit)
    

    Methods

    getEdit
     public UndoableEdit getEdit()
    

    /build/ kG7$T7d56$`ZT./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.undoableeditevent_mi.htmtmm$$ Interface com.sun.java.swing.event.UndoableEditListener

    Interface com.sun.java.swing.event.UndoableEditListener

    public interface UndoableEditListener
    extends EventListener

    Interface implemented by a class interested in hearing about undoable operations.


    Method Index

    undoableEditHappened(UndoableEditEvent)
    An undoable edit happened

    Methods

    undoableEditHappened
     public abstract void undoableEditHappened(UndoableEditEvent e)
    
    An undoable edit happened


    .undoab k":$7d56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.event.undoableeditlistener_mi.htmm$$ Class com.sun.java.swing.FocusManager

    Class com.sun.java.swing.FocusManager

    java.lang.Object
       |
       +----com.sun.java.swing.FocusManager
    

    public abstract class FocusManager
    extends Object


    Variable Index

    FOCUS_MANAGER_CLASS_PROPERTY
    This property name is used to get the FocusManager implementation that should be used for a given UI

    Constructor Index

    FocusManager()

    Method Index

    disableSwingFocusManager()
    Disable Swing's focus manager for the calling thread's thread group.
    focusNextComponent(Component)
    Cause the focus manager to set the focus on the next focusable component You can call this method to cause the focus manager to focus the next component
    focusPreviousComponent(Component)
    Cause the focus manager to set the focus on the previous focusable component You can call this methid to cause the focus manager to focus the previous component
    getCurrentManager()
    Return the FocusManager for the calling thread There is one FocusManager per thread group
    isFocusManagerEnabled()
    Return whether Swing's focus manager is enabled
    processKeyEvent(Component, KeyEvent)
    This method is called by JComponents when a key event occurs.
    setCurrentManager(FocusManager)
    Set the FocusManager that should be used for the calling thread.

    Variables

    FOCUS_MANAGER_CLASS_PROPERTY
     public static final String FOCUS_MANAGER_CLASS_PROPERTY
    
    This property name is used to get the FocusManager implementation that should be used for a given UI


    Constructors

    FocusManager
     public FocusManager()
    

    Methods

    getCurrentManager
     public static FocusManager getCurrentManager()
    
    Return the FocusManager for the calling thread There is one FocusManager per thread group

    setCurrentManager
     public static void setCurrentManager(FocusManager aFocusManager)
    
    Set the FocusManager that should be used for the calling thread. aFocusManager will be the default focus manager for the calling thread's thread group.

    disableSwingFocusManager
     public static void disableSwingFocusManager()
    
    Disable Swing's focus manager for the calling thread's thread group. Call this method if your application mixes java.awt components and swing's components. Your application will then use the awt focus manager.

    isFocusManagerEnabled
     public static boolean isFocusManagerEnabled()
    
    Return whether Swing's focus manager is enabled

    processKeyEvent
     public abstract void processKeyEvent(Component focusedComponent,
                                          KeyEvent anEvent)
    
    This method is called by JComponents when a key event occurs. JComponent gives key events to the focus manager first, then to key listeners, then to the keyboard UI dispatcher. This method should look at the key event and change the focused component if the key event matches the receiver's focus manager hot keys. For example the default focus manager will change the focus if the key event matches TAB or Shift + TAB. The focus manager should call consume() on anEvent if anEvent has been processed. focusedComponent is the component that currently has the focus. Note: FocusManager will receive both KEY_PRESSED and KEY_RELEASED key events. If one event is consumed, the other one should be consumed too.

    focusNextComponent
     public abstract void focusNextComponent(Component aComponent)
    
    Cause the focus manager to set the focus on the next focusable component You can call this method to cause the focus manager to focus the next component

    focusPreviousComponent
     public abstract void focusPreviousComponent(Component aComponent)
    
    Cause the focus manager to set the focus on the previous focusable component You can call this methid to cause the focus manager to focus the previous component


     kp=$7d56$@:./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.focusmanager_mi.htm$$ Class com.sun.java.swing.GrayFilter

    Class com.sun.java.swing.GrayFilter

    java.lang.Object
       |
       +----java.awt.image.ImageFilter
               |
               +----java.awt.image.RGBImageFilter
                       |
                       +----com.sun.java.swing.GrayFilter
    

    public class GrayFilter
    extends RGBImageFilter

    An image filter that "disables" an image by turning it into a grayscale image, and brightening the pixels in the image.


    Constructor Index

    GrayFilter(boolean, int)

    Method Index

    createDisabledImage(Image)
    Creates a disabled image
    filterRGB(int, int, int)

    Constructors

    GrayFilter
     public GrayFilter(boolean b,
                       int p)
    

    Methods

    createDisabledImage
     public static Image createDisabledImage(Image i)
    
    Creates a disabled image

    filterRGB
     public int filterRGB(int x,
                          int y,
                          int rgb)
    
    Overrides:
    filterRGB in class RGBImageFilter

    erp/en_ k8@$7d56$`>./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.grayfilter_mi.htm$$ Interface com.sun.java.swing.Icon

    Interface com.sun.java.swing.Icon

    public interface Icon

    A small fixed size picture, typically used to decorate components.

    See Also:
    ImageIcon

    Method Index

    getIconHeight()
    getIconWidth()
    paintIcon(Component, Graphics, int, int)
    Draw the icon at the specified location.

    Methods

    paintIcon
     public abstract void paintIcon(Component c,
                                    Graphics g,
                                    int x,
                                    int y)
    
    Draw the icon at the specified location. Icon implementations may use the Component argument to get properties useful for painting, e.g. the foreground or background color.

    getIconWidth
     public abstract int getIconWidth()
    
    Returns:
    The fixed width of the icon.
    getIconHeight
     public abstract int getIconHeight()
    
    Returns:
    The fixed height of the icon.

     k"C$a7d56$`~a./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.icon_mi.htm$$ Class com.sun.java.swing.ImageIcon

    Class com.sun.java.swing.ImageIcon

    java.lang.Object
       |
       +----com.sun.java.swing.ImageIcon
    

    public class ImageIcon
    extends Object
    implements Icon, Serializable

    An implementation of the Icon interface that paints Icons from Images. Images that are created from a URL or filename are preloaded using MediaTracker to monitor the loaded state of the image.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    component
    tracker

    Constructor Index

    ImageIcon()
    Creates an uninitialized image icon.
    ImageIcon(byte[])
    Creates an ImageIcon from an array of bytes which were read from an image file containing a supported image format, such as GIF or JPEG.
    ImageIcon(byte[], String)
    Creates an ImageIcon from an array of bytes which were read from an image file containing a supported image format, such as GIF or JPEG.
    ImageIcon(Image)
    Creates an ImageIcon from the image.
    ImageIcon(Image, String)
    Creates an ImageIcon from the image.
    ImageIcon(String)
    Creates an ImageIcon from the specified file.
    ImageIcon(String, String)
    Creates an ImageIcon from the specified file.
    ImageIcon(URL)
    Creates an ImageIcon from the specified URL.
    ImageIcon(URL, String)
    Creates an ImageIcon from the specified URL.

    Method Index

    getDescription()
    Get the description of the image.
    getIconHeight()
    Get the height of the Icon
    getIconWidth()
    Get the width of the Icon
    getImage()
    Returns the Icon's Image
    getImageLoadStatus()
    Returns the status of the image loading operation.
    getImageObserver()
    Return the umage observer for the image
    loadImage(Image)
    Wait for the image to load
    paintIcon(Component, Graphics, int, int)
    Paints the Icon
    setDescription(String)
    Set the description of the image.
    setImage(Image)
    Set the image displayed by this icon.
    setImageObserver(ImageObserver)
    Set the image observer for the image.

    Variables

    component
     protected static final Component component
    
    tracker
     protected static final MediaTracker tracker
    

    Constructors

    ImageIcon
     public ImageIcon(String filename,
                      String description)
    
    Creates an ImageIcon from the specified file. The image will be preloaded by using MediaTracker to monitor the loading state of the image.

    Parameters:
    filename - the name of the file containing the image
    description - a brief textual description of the image
    ImageIcon
     public ImageIcon(String filename)
    
    Creates an ImageIcon from the specified file. The image will be preloaded by using MediaTracker to monitor the loading state of the image.

    ImageIcon
     public ImageIcon(URL location,
                      String description)
    
    Creates an ImageIcon from the specified URL. The image will be preloaded by using MediaTracker to monitor the loaded state of the image.

    Parameters:
    URL - the URL for the image
    description - a brief textual description of the image
    ImageIcon
     public ImageIcon(URL location)
    
    Creates an ImageIcon from the specified URL. The image will be preloaded by using MediaTracker to monitor the loaded state of the image.

    ImageIcon
     public ImageIcon(Image image,
                      String description)
    
    Creates an ImageIcon from the image.

    Parameters:
    image - the image
    description - a brief textual description of the image
    ImageIcon
     public ImageIcon(Image image)
    
    Creates an ImageIcon from the image.

    ImageIcon
     public ImageIcon(byte imageData[],
                      String description)
    
    Creates an ImageIcon from an array of bytes which were read from an image file containing a supported image format, such as GIF or JPEG. Normally this array is created by reading an image using Class.getResourceAsStream(), but the byte array may also be statically stored in a class.

    Parameters:
    imageData - an array of pixels in an image format supported by the AWT Toolkit, such as GIF or JPEG.
    description - a brief textual description of the image
    See Also:
    createImage
    ImageIcon
     public ImageIcon(byte imageData[])
    
    Creates an ImageIcon from an array of bytes which were read from an image file containing a supported image format, such as GIF or JPEG. Normally this array is created by reading an image using Class.getResourceAsStream(), but the byte array may also be statically stored in a class.

    Parameters:
    an - array of pixels in an image format supported by the AWT Toolkit, such as GIF or JPEG.
    See Also:
    createImage
    ImageIcon
     public ImageIcon()
    
    Creates an uninitialized image icon.


    Methods

    loadImage
     protected void loadImage(Image image)
    
    Wait for the image to load

    getImageLoadStatus
     public int getImageLoadStatus()
    
    Returns the status of the image loading operation.

    Returns:
    the loading status as defined by java.awt.MediaTracker.
    See Also:
    ABORTED, ERRORED, COMPLETE
    getImage
     public Image getImage()
    
    Returns the Icon's Image

    setImage
     public void setImage(Image image)
    
    Set the image displayed by this icon.

    getDescription
     public String getDescription()
    
    Get the description of the image. This is meant to be a brief textual description of the object. For example, it might be presented to a blind user to give an indication of the purpose of the image.

    setDescription
     public void setDescription(String description)
    
    Set the description of the image. This is meant to be a brief textual description of the object. For example, it might be presented to a blind user to give an indication of the purpose of the image.

    paintIcon
     public synchronized void paintIcon(Component c,
                                        Graphics g,
                                        int x,
                                        int y)
    
    Paints the Icon

    getIconWidth
     public int getIconWidth()
    
    Get the width of the Icon

    getIconHeight
     public int getIconHeight()
    
    Get the height of the Icon

    setImageObserver
     public void setImageObserver(ImageObserver observer)
    
    Set the image observer for the image. Set this property if the ImageIcon contains an animated GIF. For example:
         icon = new ImageIcon(...)
         button.setImage(icon);
         icon.setImageObserver(button);
     

    getImageObserver
     public ImageObserver getImageObserver()
    
    Return the umage observer for the image


    d> < kmF$` 7d56$ ` ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.imageicon_mi.htm$$ Class com.sun.java.swing.JButton

    Class com.sun.java.swing.JButton

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.AbstractButton
                                       |
                                       +----com.sun.java.swing.JButton
    

    public class JButton
    extends AbstractButton
    implements Accessible

    An implementation of a "push" button.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    JButton()
    Creates a button with no set text or icon.
    JButton(Icon)
    Creates a button with an icon.
    JButton(String)
    Creates a button with text.
    JButton(String, Icon)
    Creates a button with initial text and an icon.

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getUIClassID()
    Returns a string that specifies the name of the L&F class that renders this component.
    isDefaultButton()
    Returns whether or not this button is the default button on the RootPane.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JButton
     public JButton()
    
    Creates a button with no set text or icon.

    JButton
     public JButton(Icon icon)
    
    Creates a button with an icon.

    Parameters:
    icon - the Icon image to display on the button
    JButton
     public JButton(String text)
    
    Creates a button with text.

    Parameters:
    text - the text of the button
    JButton
     public JButton(String text,
                    Icon icon)
    
    Creates a button with initial text and an icon.

    Parameters:
    text - the text of the button.
    icon - the Icon image to display on the button

    Methods

    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed.

    Overrides:
    updateUI in class AbstractButton
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns a string that specifies the name of the L&F class that renders this component.

    Returns:
    "ButtonUI"
    Overrides:
    getUIClassID in class JComponent
    See Also:
    getUIClassID, getUI
    isDefaultButton
     public boolean isDefaultButton()
    
    Returns whether or not this button is the default button on the RootPane.

    Returns:
    "boolean"
    See Also:
    setDefaultButton
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent

    on i k~L$7f56$Pg./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jbutton_mi.htm$$ Class com.sun.java.swing.JCheckBox

    Class com.sun.java.swing.JCheckBox

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.AbstractButton
                                       |
                                       +----com.sun.java.swing.JToggleButton
                                               |
                                               +----com.sun.java.swing.JCheckBox
    

    public class JCheckBox
    extends JToggleButton
    implements Accessible

    An implementation of a CheckBox -- an item that can be selected or deselected, and which displays its state to the user. In a group of checkboxes, multiple checkboxes can be selected.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JRadioButton

    Constructor Index

    JCheckBox()
    Creates an initially unselected checkbox button with no text, no icon.
    JCheckBox(Icon)
    Creates an initially unselected checkbox with an icon.
    JCheckBox(Icon, boolean)
    Creates a checkbox with an icon and specifies whether or not it is initially selected.
    JCheckBox(String)
    Creates an initially unselected checkbox with text.
    JCheckBox(String, boolean)
    Creates a checkbox with text and specifies whether or not it is initially selected.
    JCheckBox(String, Icon)
    Creates an initially unselected checkbox with the specified text and icon.
    JCheckBox(String, Icon, boolean)
    Creates a checkbox with text and icon, and specifies whether or not it is initially selected.

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getUIClassID()
    Returns a string that specifies the name of the L&F class that renders this component.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JCheckBox
     public JCheckBox()
    
    Creates an initially unselected checkbox button with no text, no icon.

    JCheckBox
     public JCheckBox(Icon icon)
    
    Creates an initially unselected checkbox with an icon.

    Parameters:
    icon - the Icon image to display
    JCheckBox
     public JCheckBox(Icon icon,
                      boolean selected)
    
    Creates a checkbox with an icon and specifies whether or not it is initially selected.

    Parameters:
    icon - the Icon image to display
    selected - a boolean value indicating the initial selection state. If true the checkbox is selected
    JCheckBox
     public JCheckBox(String text)
    
    Creates an initially unselected checkbox with text.

    Parameters:
    text - the text of the checkbox.
    JCheckBox
     public JCheckBox(String text,
                      boolean selected)
    
    Creates a checkbox with text and specifies whether or not it is initially selected.

    Parameters:
    text - the text of the checkbox.
    selected - a boolean value indicating the initial selection state. If true the checkbox is selected
    JCheckBox
     public JCheckBox(String text,
                      Icon icon)
    
    Creates an initially unselected checkbox with the specified text and icon.

    Parameters:
    text - the text of the checkbox.
    icon - the Icon image to display
    JCheckBox
     public JCheckBox(String text,
                      Icon icon,
                      boolean selected)
    
    Creates a checkbox with text and icon, and specifies whether or not it is initially selected.

    Parameters:
    text - the text of the checkbox.
    icon - the Icon image to display
    selected - a boolean value indicating the initial selection state. If true the checkbox is selected

    Methods

    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed.

    Overrides:
    updateUI in class JToggleButton
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns a string that specifies the name of the L&F class that renders this component.

    Returns:
    "CheckBoxUI"
    Overrides:
    getUIClassID in class JToggleButton
    See Also:
    getUIClassID, getUI
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JToggleButton

    e> Class com.sun.java.swing.JCheckBoxMenuItem

    Class com.sun.java.swing.JCheckBoxMenuItem

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.AbstractButton
                                       |
                                       +----com.sun.java.swing.JMenuItem
                                               |
                                               +----com.sun.java.swing.JCheckBoxMenuItem
    

    public class JCheckBoxMenuItem
    extends JMenuItem
    implements SwingConstants, Accessible

    A menu item that can be selected or deselected. If selected, the menu item typically appears with a checkmark next to it. If unselected or deselected, the menu item appears without a checkmark. Like a regular menu item, a checkbox menu item can have either text or a graphic icon associated with it, or both.

    Either getSelected/setSelected or getState/setState can be used to determine/specify the menu item's selection state. (The Swing-standard methods are getSelected and setSelected. These methods work for all menus and buttons. The getState and setState methods exist for compatibility with other component sets.)

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    JCheckBoxMenuItem()
    Creates an initially unselected checkboxMenuItem with no set text or icon.
    JCheckBoxMenuItem(Icon)
    Creates an initially unselected checkboxMenuItem with an icon.
    JCheckBoxMenuItem(String)
    Creates an initially unselected checkboxMenuItem with text.
    JCheckBoxMenuItem(String, boolean)
    Creates a checkboxMenuItem with the specified text and selection state.
    JCheckBoxMenuItem(String, Icon)
    Creates an initially unselected checkboxMenuItem with the specified text and icon.
    JCheckBoxMenuItem(String, Icon, boolean)
    Creates a checkboxMenuItem with the specified text, icon, and selection state.

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getSelectedObjects()
    Returns an array (length 1) containing the checkbox menu item label or null if the checkbox is not selected.
    getState()
    Returns the selected-state of the item.
    getUIClassID()
    Returns the name of the L&F class that renders this component.
    init(String, Icon)
    Initialize the menu item with the specified text and icon.
    requestFocus()
    Set focus on the receiving component if isRequestFocusEnabled returns true
    setState(boolean)
    Sets the selected-state of the item.
    setUI(CheckBoxMenuItemUI)
    Sets L&F object that renders this component.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JCheckBoxMenuItem
     public JCheckBoxMenuItem()
    
    Creates an initially unselected checkboxMenuItem with no set text or icon.

    JCheckBoxMenuItem
     public JCheckBoxMenuItem(Icon icon)
    
    Creates an initially unselected checkboxMenuItem with an icon.

    Parameters:
    icon - the icon of the CheckBoxMenuItem.
    JCheckBoxMenuItem
     public JCheckBoxMenuItem(String text)
    
    Creates an initially unselected checkboxMenuItem with text.

    Parameters:
    text - the text of the CheckBoxMenuItem
    JCheckBoxMenuItem
     public JCheckBoxMenuItem(String text,
                              Icon icon)
    
    Creates an initially unselected checkboxMenuItem with the specified text and icon.

    Parameters:
    text - the text of the CheckBoxMenuItem
    icon - the icon of the CheckBoxMenuItem
    JCheckBoxMenuItem
     public JCheckBoxMenuItem(String text,
                              boolean b)
    
    Creates a checkboxMenuItem with the specified text and selection state.

    Parameters:
    text - the text of the CheckBoxMenuItem.
    b - the selected state of the checkboxmenuitem
    JCheckBoxMenuItem
     public JCheckBoxMenuItem(String text,
                              Icon icon,
                              boolean b)
    
    Creates a checkboxMenuItem with the specified text, icon, and selection state.

    Parameters:
    text - the text of the CheckBoxMenuItem
    icon - the icon of the CheckBoxMenuItem
    b - the selected state of the checkboxmenuitem

    Methods

    init
     protected void init(String text,
                         Icon icon)
    
    Initialize the menu item with the specified text and icon.

    Overrides:
    init in class JMenuItem
    setUI
     public void setUI(CheckBoxMenuItemUI ui)
    
    Sets L&F object that renders this component.

    Parameters:
    ui - the new L&F object CheckBoxMenuItemUI
    See Also:
    getUI
    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed.

    Overrides:
    updateUI in class JMenuItem
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns the name of the L&F class that renders this component.

    Returns:
    "CheckBoxMenuItemUI"
    Overrides:
    getUIClassID in class JMenuItem
    See Also:
    getUIClassID, getUI
    getState
     public boolean getState()
    
    Returns the selected-state of the item. This method exists for AWT compatibility only. New code should use isSelected() instead.

    Returns:
    true if the item is selected
    setState
     public synchronized void setState(boolean b)
    
    Sets the selected-state of the item. This method exists for AWT compatibility only. New code should use setSelected() instead.

    Parameters:
    b - a boolean value indicating the item's selected-state, where true=selected
    getSelectedObjects
     public synchronized Object[] getSelectedObjects()
    
    Returns an array (length 1) containing the checkbox menu item label or null if the checkbox is not selected.

    Returns:
    an array containing 1 Object -- the text of the menu item -- if the item is selected, otherwise null
    Overrides:
    getSelectedObjects in class AbstractButton
    requestFocus
     public void requestFocus()
    
    Set focus on the receiving component if isRequestFocusEnabled returns true

    Overrides:
    requestFocus in class JComponent
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JMenuItem

    s krR$ 7f56$0, ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jcheckboxmenuitem_mi.htm_mi$$ Class com.sun.java.swing.JDesktopPane

    Class com.sun.java.swing.JDesktopPane

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JLayeredPane
                                       |
                                       +----com.sun.java.swing.JDesktopPane
    

    public class JDesktopPane
    extends JLayeredPane
    implements Accessible

    This JLayeredPane subclass keeps a reference to a DesktopManager object. This class in normally used as the parent of JInternalFrames to provide a pluggable DesktopManager object to the JInternalFrames.

    The installUI of the L&F specific implementation is responsible for setting the desktopManager variable appropriately.

    When the parent of a JInternalFrame is a JDesktopPane, it should delegate most of its behavior to the desktopManager (closing, resizing, etc).

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JInternalFrame, JDesktopIcon, DesktopManager

    Constructor Index

    JDesktopPane()

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getAllFrames()
    Returns all JInternalFrames currently displayed in the desktop.
    getAllFramesInLayer(int)
    Returns all JInternalFrames currently displayed in the desktop that are in layer.
    getDesktopManager()
    getUI()
    getUIClassID()
    isOpaque()
    Returns true if this component is completely opaque.
    setDesktopManager(DesktopManager)
    setUI(DesktopPaneUI)
    updateUI()
    Called to replace the UI with the latest version from the default UIFactory.

    Constructors

    JDesktopPane
     public JDesktopPane()
    

    Methods

    getUI
     public DesktopPaneUI getUI()
    
    setUI
     public void setUI(DesktopPaneUI ui)
    
    getDesktopManager
     public DesktopManager getDesktopManager()
    
    setDesktopManager
     public void setDesktopManager(DesktopManager d)
    
    updateUI
     public void updateUI()
    
    Called to replace the UI with the latest version from the default UIFactory.

    Overrides:
    updateUI in class JComponent
    getUIClassID
     public String getUIClassID()
    
    Returns:
    "DesktopPaneUI"
    Overrides:
    getUIClassID in class JComponent
    See Also:
    getUIClassID, getUI
    getAllFrames
     public JInternalFrame[] getAllFrames()
    
    Returns all JInternalFrames currently displayed in the desktop. This will return iconified frames as well.

    getAllFramesInLayer
     public JInternalFrame[] getAllFramesInLayer(int layer)
    
    Returns all JInternalFrames currently displayed in the desktop that are in layer. This will return iconified frames as well.

    isOpaque
     public boolean isOpaque()
    
    Returns true if this component is completely opaque.

    Overrides:
    isOpaque in class JComponent
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JLayeredPane

     kZ[$7h56$@<./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jdesktoppane_mi.htm$$ Class com.sun.java.swing.JFrame

    Class com.sun.java.swing.JFrame

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Window
                               |
                               +----java.awt.Frame
                                       |
                                       +----com.sun.java.swing.JFrame
    

    public class JFrame
    extends Frame
    implements WindowConstants, Accessible, RootPaneContainer

    An extended version of java.awt.Frame that adds support for interposing input and painting behavior in front of the frames children (see glassPane), support for special children that are managed by a LayeredPane (see rootPane) and for Swing MenuBars.

    The JFrame class is slightly incompatible with java.awt.Frame. JFrame contains a JRootPane as it's only child. The contentPane should be the parent of any children of the JFrame. This is different than java.awt.Frame, e.g. to add a child to an AWT Frame you'd write:

           frame.add(child);
     
    However using JFrame you need to add the child to the JFrames contentPane instead:
           frame.getContentPane().add(child);
     
    The same is true for setting LayoutManagers, removing components, listing children, etc. All these methods should normally be sent to the contentPane() instead of the JFrame itself. The contentPane() will always be non-null. Attempting to set it to null will cause the JFrame to throw an exception. The default contentPane() will have a BorderLayout manager set on it.

    Please see the JRootPane documentation for a complete description of the contentPane, glassPane, and layeredPane properties.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JRootPane

    Variable Index

    accessibleContext
    rootPane
    rootPaneCheckingEnabled

    Constructor Index

    JFrame()
    Constructs a new Frame that is initially invisible.
    JFrame(String)
    Constructs a new, initially invisible Frame with the specified title.

    Method Index

    addImpl(Component, Object, int)
    By default, children may not be added directly to a this component, they must be added to its contentPane instead.
    createRootPane()
    Called by the constructor methods to create the default rootPane.
    frameInit()
    Called by the constructors to init the JFrame properly.
    getAccessibleContext()
    Get the AccessibleContext associated with this JFrame
    getContentPane()
    Returns the contentPane object for this frame.
    getDefaultCloseOperation()
    Returns the operation which occurs when the user initiates a "close" on this frame.
    getGlassPane()
    Returns the glassPane object for this frame.
    getJMenuBar()
    Returns the menubar set on this frame.
    getLayeredPane()
    Returns the layeredPane object for this frame.
    getRootPane()
    Returns the rootPane object for this frame.
    isRootPaneCheckingEnabled()
    processKeyEvent(KeyEvent)
    processWindowEvent(WindowEvent)
    setContentPane(Container)
    Sets the contentPane property.
    setDefaultCloseOperation(int)
    Sets the operation which will happen by default when the user initiates a "close" on this frame.
    setGlassPane(Component)
    Sets the glassPane property.
    setJMenuBar(JMenuBar)
    Sets the menubar for this frame.
    setLayeredPane(JLayeredPane)
    Sets the layeredPane property.
    setLayout(LayoutManager)
    By default the layout of this component may not be set, the layout of its contentPane should be set instead.
    setRootPane(JRootPane)
    Sets the rootPane property.
    setRootPaneCheckingEnabled(boolean)
    If true then calls to add() and setLayout() will cause an exception to be thrown.
    update(Graphics)
    Just calls paint(g).

    Variables

    rootPane
     protected JRootPane rootPane
    
    See Also:
    getRootPane, setRootPane
    rootPaneCheckingEnabled
     protected boolean rootPaneCheckingEnabled
    
    See Also:
    isRootPaneCheckingEnabled, setRootPaneCheckingEnabled
    accessibleContext
     protected AccessibleContext accessibleContext
    

    Constructors

    JFrame
     public JFrame()
    
    Constructs a new Frame that is initially invisible.

    See Also:
    setSize, setVisible
    JFrame
     public JFrame(String title)
    
    Constructs a new, initially invisible Frame with the specified title.

    Parameters:
    title - the title for the frame
    See Also:
    setSize, setVisible

    Methods

    frameInit
     protected void frameInit()
    
    Called by the constructors to init the JFrame properly.

    createRootPane
     protected JRootPane createRootPane()
    
    Called by the constructor methods to create the default rootPane.

    processKeyEvent
     protected void processKeyEvent(KeyEvent e)
    
    Overrides:
    processKeyEvent in class Component
    processWindowEvent
     protected void processWindowEvent(WindowEvent e)
    
    Overrides:
    processWindowEvent in class Window
    setDefaultCloseOperation
     public void setDefaultCloseOperation(int operation)
    
    Sets the operation which will happen by default when the user initiates a "close" on this frame. The possible choices are:

    • DO_NOTHING_ON_CLOSE - do not do anything - require the program to handle the operation in the windowClosing method of a registered WindowListener object.
    • HIDE_ON_CLOSE - automatically hide the frame after invoking any registered WindowListener objects
    • DISPOSE_ON_CLOSE - automatically hide and dispose the frame after invoking any registered WindowListener objects

    The value is set to HIDE_ON_CLOSE by default.

    See Also:
    addWindowListener, getDefaultCloseOperation
    getDefaultCloseOperation
     public int getDefaultCloseOperation()
    
    Returns the operation which occurs when the user initiates a "close" on this frame.

    Returns:
    an int indicating the window-close operation
    See Also:
    setDefaultCloseOperation
    update
     public void update(Graphics g)
    
    Just calls paint(g). This method was overridden to prevent an unneccessary call to clear the background.

    Overrides:
    update in class Container
    setJMenuBar
     public void setJMenuBar(JMenuBar menubar)
    
    Sets the menubar for this frame.

    Parameters:
    menubar - the menubar being placed in the frame
    See Also:
    getJMenuBar
    getJMenuBar
     public JMenuBar getJMenuBar()
    
    Returns the menubar set on this frame.

    See Also:
    setJMenuBar
    isRootPaneCheckingEnabled
     protected boolean isRootPaneCheckingEnabled()
    
    Returns:
    true if add and setLayout should be checked
    See Also:
    addImpl, setLayout, setRootPaneCheckingEnabled
    setRootPaneCheckingEnabled
     protected void setRootPaneCheckingEnabled(boolean enabled)
    
    If true then calls to add() and setLayout() will cause an exception to be thrown.

    See Also:
    addImpl, setLayout, isRootPaneCheckingEnabled
    addImpl
     protected void addImpl(Component comp,
                            Object constraints,
                            int index)
    
    By default, children may not be added directly to a this component, they must be added to its contentPane instead. For example:
     thisComponent.getContentPane().add(child)
     
    An attempt to add to directly to this component will cause an runtime exception to be thrown. Subclasses can disable this behavior.

    Throws: Error
    if called with rootPaneChecking true
    Overrides:
    addImpl in class Container
    See Also:
    setRootPaneCheckingEnabled
    setLayout
     public void setLayout(LayoutManager manager)
    
    By default the layout of this component may not be set, the layout of its contentPane should be set instead. For example:
     thiComponent.getContentPane().setLayout(new BorderLayout())
     
    An attempt to set the layout of this component will cause an runtime exception to be thrown. Subclasses can disable this behavior.

    Throws: Error
    if called with rootPaneChecking true
    Overrides:
    setLayout in class Container
    See Also:
    setRootPaneCheckingEnabled
    getRootPane
     public JRootPane getRootPane()
    
    Returns the rootPane object for this frame.

    See Also:
    setRootPane, getRootPane
    setRootPane
     protected void setRootPane(JRootPane root)
    
    Sets the rootPane property. This method is called by the constructor.

    Parameters:
    root - the rootPane object for this frame
    See Also:
    getRootPane, setRootPane
    getContentPane
     public Container getContentPane()
    
    Returns the contentPane object for this frame.

    See Also:
    setContentPane, getContentPane
    setContentPane
     public void setContentPane(Container contentPane)
    
    Sets the contentPane property. This method is called by the constructor.

    Parameters:
    contentPane - the contentPane object for this frame
    See Also:
    getContentPane, setContentPane
    getLayeredPane
     public JLayeredPane getLayeredPane()
    
    Returns the layeredPane object for this frame.

    See Also:
    setLayeredPane, getLayeredPane
    setLayeredPane
     public void setLayeredPane(JLayeredPane layeredPane)
    
    Sets the layeredPane property. This method is called by the constructor.

    Parameters:
    layeredPane - the layeredPane object for this frame
    See Also:
    getLayeredPane, setLayeredPane
    getGlassPane
     public Component getGlassPane()
    
    Returns the glassPane object for this frame.

    See Also:
    setGlassPane, getGlassPane
    setGlassPane
     public void setGlassPane(Component glassPane)
    
    Sets the glassPane property. This method is called by the constructor.

    Parameters:
    glassPane - the glassPane object for this frame
    See Also:
    getGlassPane, setGlassPane
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JFrame

    Returns:
    the AccessibleContext of this JFrame

    a k d$ 7j56$ ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jframe_mi.htmhtm$$ Class com.sun.java.swing.JMenuBar

    Class com.sun.java.swing.JMenuBar

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JMenuBar
    

    public class JMenuBar
    extends JComponent
    implements Accessible, MenuElement

    An implementation of a MenuBar. You add JMenu objects to the menu bar to construct a menu. When the user selects a JMenu object, its associated JPopupMenu is displayed, allowing the user to select one of the JMenuItems on it.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JMenu, JPopupMenu, JMenuItem

    Constructor Index

    JMenuBar()
    Creates a new menu bar.

    Method Index

    add(JMenu)
    Appends the specified menu to the end of the menu bar.
    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getComponent()
    Implemented to be a MenuElement.
    getComponentAtIndex(int)
    Returns the component at the specified index.
    getComponentIndex(Component)
    Returns the index of the specified component.
    getHelpMenu()
    Gets the help menu for the menu bar.
    getMargin()
    Returns the margin between the menubar's border and its menus.
    getMenu(int)
    Gets the menu at the specified position in the menu bar.
    getMenuCount()
    Returns the number of items in the menu bar.
    getSelectionModel()
    Returns the model object that handles single selections.
    getSubElements()
    Implemented to be a MenuElement -- returns the menus in this menu bar.
    getUI()
    Returns the menubar's current UI.
    getUIClassID()
    Returns the name of the L&F class that renders this component.
    isBorderPainted()
    Returns true if a the Menubar's border should be painted.
    isManagingFocus()
    Returns true to indicate that this component manages focus events internally.
    isSelected()
    Returns true if the MenuBar currently has a component selected
    menuSelectionChanged(boolean)
    Implemented to be a MenuElement -- does nothing.
    paintBorder(Graphics)
    Paint the menubar's border if BorderPainted property is true.
    processKeyEvent(KeyEvent, MenuElement[], MenuSelectionManager)
    Implemented to be a MenuElement -- does nothing.
    processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager)
    Implemented to be a MenuElement -- does nothing.
    remove(int)
    Removes the component at the specified index.
    setBorderPainted(boolean)
    Determines whether the MenuBar's current border will be painted.
    setHelpMenu(JMenu)
    Sets the help menu that appears when the user selects the "help" option in the menu bar.
    setMargin(Insets)
    Sets the margin between the menubar's border and its menus.
    setSelected(Component)
    Sets the currently selected component, producing a a change to the selection model.
    setSelectionModel(SingleSelectionModel)
    Set the model object to handle single selections.
    setUI(MenuBarUI)
    Sets the L&F object that renders this component.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JMenuBar
     public JMenuBar()
    
    Creates a new menu bar.


    Methods

    getUI
     public MenuBarUI getUI()
    
    Returns the menubar's current UI.

    See Also:
    setUI
    setUI
     public void setUI(MenuBarUI ui)
    
    Sets the L&F object that renders this component.

    Parameters:
    ui - the new MenuBarUI L&F object
    See Also:
    getUI
    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the UIFactory.

    Overrides:
    updateUI in class JComponent
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns the name of the L&F class that renders this component.

    Returns:
    "MenuBarUI"
    Overrides:
    getUIClassID in class JComponent
    See Also:
    getUIClassID, getUI
    getSelectionModel
     public SingleSelectionModel getSelectionModel()
    
    Returns the model object that handles single selections.

    Returns:
    the SingleSelectionModel in use
    See Also:
    SingleSelectionModel
    setSelectionModel
     public void setSelectionModel(SingleSelectionModel model)
    
    Set the model object to handle single selections.

    Parameters:
    model - the SingleSelectionModel to use
    See Also:
    SingleSelectionModel
    add
     public JMenu add(JMenu c)
    
    Appends the specified menu to the end of the menu bar.

    Parameters:
    c - the JMenu component to add
    getMenu
     public JMenu getMenu(int index)
    
    Gets the menu at the specified position in the menu bar.

    Parameters:
    index - an int giving the position in the menu bar, where 0 is the first position
    Returns:
    the JMenu at that position
    getMenuCount
     public int getMenuCount()
    
    Returns the number of items in the menu bar.

    Returns:
    the number of items in the menu bar
    remove
     public void remove(int index)
    
    Removes the component at the specified index.

    Parameters:
    index - an int specifying the menu bar position, where 0 = first
    Overrides:
    remove in class Container
    setHelpMenu
     public void setHelpMenu(JMenu menu)
    
    Sets the help menu that appears when the user selects the "help" option in the menu bar.

    Parameters:
    menu - the JMenu that delivers help to the user
    getHelpMenu
     public JMenu getHelpMenu()
    
    Gets the help menu for the menu bar.

    Returns:
    the JMenu that delivers help to the user
    getComponentAtIndex
     public Component getComponentAtIndex(int i)
    
    Returns the component at the specified index.

    Parameters:
    i - an int specifying the position, where 0 = first
    Returns:
    the Component at the position, or null for an invalid index
    getComponentIndex
     public int getComponentIndex(Component c)
    
    Returns the index of the specified component.

    Parameters:
    c - the Component to find
    Returns:
    an int giving the component's position, where 0 = first
    setSelected
     public void setSelected(Component sel)
    
    Sets the currently selected component, producing a a change to the selection model.

    Parameters:
    sel - the Component to select
    isSelected
     public boolean isSelected()
    
    Returns true if the MenuBar currently has a component selected

    Returns:
    true if a selection has been made, else false
    isBorderPainted
     public boolean isBorderPainted()
    
    Returns true if a the Menubar's border should be painted.

    Returns:
    true if the border should be painted, else false
    setBorderPainted
     public void setBorderPainted(boolean s)
    
    Determines whether the MenuBar's current border will be painted.

    Parameters:
    s - true if the border should be painted, else false
    paintBorder
     protected void paintBorder(Graphics g)
    
    Paint the menubar's border if BorderPainted property is true.

    Parameters:
    g - the Graphics context to use for painting
    Overrides:
    paintBorder in class JComponent
    See Also:
    paint, setBorder
    setMargin
     public void setMargin(Insets margin)
    
    Sets the margin between the menubar's border and its menus. Setting to null will cause the menubar to use the default margins.

    Parameters:
    margin - an Insets object containing the margin values
    See Also:
    Insets
    getMargin
     public Insets getMargin()
    
    Returns the margin between the menubar's border and its menus.

    Returns:
    an Insets object containing the margin values
    See Also:
    Insets
    processMouseEvent
     public void processMouseEvent(MouseEvent event,
                                   MenuElement path[],
                                   MenuSelectionManager manager)
    
    Implemented to be a MenuElement -- does nothing.

    See Also:
    getSubElements
    processKeyEvent
     public void processKeyEvent(KeyEvent e,
                                 MenuElement path[],
                                 MenuSelectionManager manager)
    
    Implemented to be a MenuElement -- does nothing.

    See Also:
    getSubElements
    menuSelectionChanged
     public void menuSelectionChanged(boolean isIncluded)
    
    Implemented to be a MenuElement -- does nothing.

    See Also:
    getSubElements
    getSubElements
     public MenuElement[] getSubElements()
    
    Implemented to be a MenuElement -- returns the menus in this menu bar. This is the reason for implementing the MenuElement interface -- so that the menu bar can be treated the same as other menu elements.

    getComponent
     public Component getComponent()
    
    Implemented to be a MenuElement. Returns this object.

    Returns:
    the current Component (this)
    See Also:
    getSubElements
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent
    isManagingFocus
     public boolean isManagingFocus()
    
    Returns true to indicate that this component manages focus events internally.

    Returns:
    true
    Overrides:
    isManagingFocus in class JComponent

    s men k"Ov$7n56$./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jmenubar_mi.htmtm$$ Class com.sun.java.swing.JMenuItem

    Class com.sun.java.swing.JMenuItem

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.AbstractButton
                                       |
                                       +----com.sun.java.swing.JMenuItem
    

    public class JMenuItem
    extends AbstractButton
    implements Accessible, MenuElement

    An implementation of a MenuItem. A menu item is essentially a button sitting in a list. When the user selects the "button", the action associated with the menu item is performed. A JMenuItem contained in a JPopupMenu performs exactly that function.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JPopupMenu, JMenu, JCheckBoxMenuItem, JRadioButtonMenuItem

    Constructor Index

    JMenuItem()
    Creates a menuItem with no set text or icon.
    JMenuItem(Icon)
    Creates a menuItem with an icon.
    JMenuItem(String)
    Creates a menuItem with text.
    JMenuItem(String, Icon)
    Creates a menuItem with the supplied text and icon.
    JMenuItem(String, int)
    Creates a menuItem with the specified text and keyboard mnemonic.

    Method Index

    getAccelerator()
    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getComponent()
    This method returns the java.awt.Component used to paint this object.
    getSubElements()
    This method returns an array containing the sub-menu components for this menu component.
    getUIClassID()
    Returns the name of the L&F class that renders this component.
    init(String, Icon)
    Initialize the menu item with the specified text and icon.
    isArmed()
    Returns whether the menu item is "armed".
    menuSelectionChanged(boolean)
    Called by the MenuSelectionManager when the MenuElement is selected or unselected.
    processKeyEvent(KeyEvent, MenuElement[], MenuSelectionManager)
    Implemented to be a MenuElement.
    processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager)
    Process a mouse event.
    setAccelerator(KeyStroke)
    setArmed(boolean)
    Identifies the menu item as "armed".
    setEnabled(boolean)
    Enable or disable the menu item.
    setUI(MenuItemUI)
    Sets the L&F object that renders this component.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JMenuItem
     public JMenuItem()
    
    Creates a menuItem with no set text or icon.

    JMenuItem
     public JMenuItem(Icon icon)
    
    Creates a menuItem with an icon.

    Parameters:
    icon - the icon of the MenuItem.
    JMenuItem
     public JMenuItem(String text)
    
    Creates a menuItem with text.

    Parameters:
    text - the text of the MenuItem.
    JMenuItem
     public JMenuItem(String text,
                      Icon icon)
    
    Creates a menuItem with the supplied text and icon.

    Parameters:
    text - the text of the MenuItem.
    icon - the icon of the MenuItem.
    JMenuItem
     public JMenuItem(String text,
                      int mnemonic)
    
    Creates a menuItem with the specified text and keyboard mnemonic.

    Parameters:
    text - the text of the MenuItem.
    mnemonic - the keyboard mnemonic for the MenuItem

    Methods

    init
     protected void init(String text,
                         Icon icon)
    
    Initialize the menu item with the specified text and icon.

    Parameters:
    text - the text of the MenuItem.
    icon - the icon of the MenuItem.
    Overrides:
    init in class AbstractButton
    setUI
     public void setUI(MenuItemUI ui)
    
    Sets the L&F object that renders this component.

    Parameters:
    ui - the MenuItemUI L&F object
    See Also:
    getUI
    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the UIFactory.

    Overrides:
    updateUI in class AbstractButton
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns the name of the L&F class that renders this component.

    Returns:
    "MenuItemUI"
    Overrides:
    getUIClassID in class JComponent
    See Also:
    getUIClassID, getUI
    setArmed
     public void setArmed(boolean b)
    
    Identifies the menu item as "armed". If the mouse button is released while it is over this item, the menu's action event will fire. If the mouse button is released elsewhere, the event will not fire and the menu item will be disarmed.

    Parameters:
    b - true to arm the menu item so it can be selected
    isArmed
     public boolean isArmed()
    
    Returns whether the menu item is "armed".

    Returns:
    true if the menu item is armed, and it can be selected
    See Also:
    setArmed
    setEnabled
     public void setEnabled(boolean b)
    
    Enable or disable the menu item.

    Parameters:
    b - true to enable the item
    Overrides:
    setEnabled in class AbstractButton
    setAccelerator
     public void setAccelerator(KeyStroke keyStroke)
    
    getAccelerator
     public KeyStroke getAccelerator()
    
    processMouseEvent
     public void processMouseEvent(MouseEvent event,
                                   MenuElement path[],
                                   MenuSelectionManager manager)
    
    Process a mouse event. event is a MouseEvent with source being the receiving component. componentPath is the path of the receiving MenuElement in the menu hierarchy. manager is the MenuSelectionManager for the menu hierarchy. This method should process the MouseEvent and change the menu selection if necessary by using MenuSelectionManager's API.

    Note: you do not have to forward the event to sub-components. This is done automatically by the MenuSelectionManager

    processKeyEvent
     public void processKeyEvent(KeyEvent e,
                                 MenuElement path[],
                                 MenuSelectionManager manager)
    
    Implemented to be a MenuElement. This message is forwarded to the UI

    menuSelectionChanged
     public void menuSelectionChanged(boolean isIncluded)
    
    Called by the MenuSelectionManager when the MenuElement is selected or unselected.

    Parameters:
    isIncluded - true if this menu item is on the part of the menu path that changed, false if this menu is part of the a menu path that changed, but this particular part of that path is still the same
    See Also:
    setSelectedPath
    getSubElements
     public MenuElement[] getSubElements()
    
    This method returns an array containing the sub-menu components for this menu component.

    Returns:
    an array of MenuElements
    getComponent
     public Component getComponent()
    
    This method returns the java.awt.Component used to paint this object. The returned component will be used to convert events and detect if an event is inside a menu component.

    Returns:
    the Component that paints this menu item
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent

    a  k,xy$X 7n56$ gX ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jmenuitem_mi.htmm$$ Class com.sun.java.swing.JPanel

    Class com.sun.java.swing.JPanel

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JPanel
    

    public class JPanel
    extends JComponent
    implements Accessible

    JPanel is a generic lightweight container.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    JPanel()
    Create a new JPanel with a double buffer and a flow layout
    JPanel(boolean)
    Create a new JPanel with a FlowLayout.
    JPanel(LayoutManager)
    Create a new buffered JPanel with a specific layout manager
    JPanel(LayoutManager, boolean)
    Creates a new JPanel

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    paintComponent(Graphics)
    Overriden from JComponent, paint the backgroud if the component is opaque.
    updateUI()
    PENDING(jeff) - this should be done in BasicPanelUI

    Constructors

    JPanel
     public JPanel(LayoutManager layout,
                   boolean isDoubleBuffered)
    
    Creates a new JPanel

    JPanel
     public JPanel(LayoutManager layout)
    
    Create a new buffered JPanel with a specific layout manager

    JPanel
     public JPanel(boolean isDoubleBuffered)
    
    Create a new JPanel with a FlowLayout. If isDoubleBuffered is true, the JPanel will use a double buffer.

    JPanel
     public JPanel()
    
    Create a new JPanel with a double buffer and a flow layout


    Methods

    updateUI
     public void updateUI()
    
    PENDING(jeff) - this should be done in BasicPanelUI

    Overrides:
    updateUI in class JComponent
    paintComponent
     public void paintComponent(Graphics g)
    
    Overriden from JComponent, paint the backgroud if the component is opaque. The color used is the one returned by getBackground() Override this method if you want to change how the JPanel paints its background

    Overrides:
    paintComponent in class JComponent
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent

     kM$&7p56$Px&./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jpanel_mi.htmhtm$$ Class com.sun.java.swing.JPasswordField

    Class com.sun.java.swing.JPasswordField

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.text.JTextComponent
                                       |
                                       +----com.sun.java.swing.JTextField
                                               |
                                               +----com.sun.java.swing.JPasswordField
    

    public class JPasswordField
    extends JTextField

    JTextField is a lightweight component that allows the editing of a single line of text where the view indicates something was typed, but does not show the original characters. It is intended to be source-compatible with java.awt.TextField used with echoChar set. It is provided seperately to make it easier to safely change the ui for the JTextField without affecting password entries.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    JPasswordField()
    Constructs a new JPasswordField.
    JPasswordField(Document, String, int)
    Constructs a new JPasswordField that uses the given text storage model and the given number of columns.
    JPasswordField(int)
    Constructs a new empty JPasswordField with the specified number of columns.
    JPasswordField(String)
    Constructs a new JPasswordField initialized with the specified text.
    JPasswordField(String, int)
    Constructs a new JPasswordField initialized with the specified text and columns.

    Method Index

    echoCharIsSet()
    Returns true if this JPasswordField has a character set for echoing.
    getAccessibleContext()
    Get the AccessibleContext associated with this JPasswordField
    getEchoChar()
    Returns the character to be used for echoing.
    getUIClassID()
    Returns the name of the L&F class that renders this component.
    setEchoChar(char)
    Sets the echo character for this JPasswordField.

    Constructors

    JPasswordField
     public JPasswordField()
    
    Constructs a new JPasswordField.

    JPasswordField
     public JPasswordField(String text)
    
    Constructs a new JPasswordField initialized with the specified text.

    Parameters:
    text - the text to be displayed
    JPasswordField
     public JPasswordField(int columns)
    
    Constructs a new empty JPasswordField with the specified number of columns.

    Parameters:
    columns - the number of columns
    JPasswordField
     public JPasswordField(String text,
                           int columns)
    
    Constructs a new JPasswordField initialized with the specified text and columns.

    Parameters:
    text - the text to be displayed
    columns - the number of columns
    JPasswordField
     public JPasswordField(Document doc,
                           String txt,
                           int columns)
    
    Constructs a new JPasswordField that uses the given text storage model and the given number of columns. This is the constructor through which the other constructors feed.

    Parameters:
    doc - the text storage to use
    txt - the text to be displayed
    columns - the number of columns to use to calculate the preferred width. If columns is set to zero, the preferred width will be whatever naturally results from the component implementation.

    Methods

    getUIClassID
     public String getUIClassID()
    
    Returns the name of the L&F class that renders this component.

    Returns:
    "PasswordFieldUI"
    Overrides:
    getUIClassID in class JTextField
    See Also:
    getUIClassID, getUI
    getEchoChar
     public char getEchoChar()
    
    Returns the character to be used for echoing.

    Returns:
    the echo character
    See Also:
    setEchoChar, echoCharIsSet
    setEchoChar
     public void setEchoChar(char c)
    
    Sets the echo character for this JPasswordField. Note that this is largely a suggestion to the view as the view that gets installed can use whatever graphic techniques it desires to represent the field.

    Parameters:
    c - the echo character to display
    See Also:
    echoCharIsSet, getEchoChar
    echoCharIsSet
     public boolean echoCharIsSet()
    
    Returns true if this JPasswordField has a character set for echoing.

    Returns:
    true if a character is set for echoing
    See Also:
    setEchoChar, getEchoChar
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JPasswordField

    Returns:
    the AccessibleContext of this JPasswordField
    Overrides:
    getAccessibleContext in class JTextField

     k8$7p56$@p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jpasswordfield_mi.htmm_mi$$ Class com.sun.java.swing.JRadioButton

    Class com.sun.java.swing.JRadioButton

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.AbstractButton
                                       |
                                       +----com.sun.java.swing.JToggleButton
                                               |
                                               +----com.sun.java.swing.JRadioButton
    

    public class JRadioButton
    extends JToggleButton
    implements Accessible

    An implementation of a radio button -- an item that can be selected or deselected, and which displays its state to the user. Used with ButtonGroup to create a group of buttons in which only one button at a time can be selected.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    ButtonGroup, JCheckBox

    Constructor Index

    JRadioButton()
    Creates an initially unselected radio button with no set text.
    JRadioButton(Icon)
    Creates an initially unselected radio button with the specified image but no text.
    JRadioButton(Icon, boolean)
    Creates a radio button with the specified image and selection state, but no text.
    JRadioButton(String)
    Creates an unselected radio button with the specified text.
    JRadioButton(String, boolean)
    Creates a radio button with the specified text and selection state.
    JRadioButton(String, Icon)
    Creates a radio button that has the specified text and image, and that is initially unselected.
    JRadioButton(String, Icon, boolean)
    Creates a radio button that has the specified text, image, and selection state.

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getUIClassID()
    Returns the name of the L&F class that renders this component.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JRadioButton
     public JRadioButton()
    
    Creates an initially unselected radio button with no set text.

    JRadioButton
     public JRadioButton(Icon icon)
    
    Creates an initially unselected radio button with the specified image but no text.

    Parameters:
    icon - the image that the button should display
    JRadioButton
     public JRadioButton(Icon icon,
                         boolean selected)
    
    Creates a radio button with the specified image and selection state, but no text.

    Parameters:
    icon - the image that the button should display
    selected - if true, the button is initially selected; otherwise, the button is initially unselected
    JRadioButton
     public JRadioButton(String text)
    
    Creates an unselected radio button with the specified text.

    Parameters:
    text - the string displayed on the radio button
    JRadioButton
     public JRadioButton(String text,
                         boolean selected)
    
    Creates a radio button with the specified text and selection state.

    Parameters:
    text - the string displayed on the radio button
    selected - if true, the button is initially selected; otherwise, the button is initially unselected
    JRadioButton
     public JRadioButton(String text,
                         Icon icon)
    
    Creates a radio button that has the specified text and image, and that is initially unselected.

    Parameters:
    text - the string displayed on the radio button
    icon - the image that the button should display
    JRadioButton
     public JRadioButton(String text,
                         Icon icon,
                         boolean selected)
    
    Creates a radio button that has the specified text, image, and selection state.

    Parameters:
    text - the string displayed on the radio button
    icon - the image that the button should display

    Methods

    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed.

    Overrides:
    updateUI in class JToggleButton
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns the name of the L&F class that renders this component.

    Returns:
    String "RadioButtonUI"
    Overrides:
    getUIClassID in class JToggleButton
    See Also:
    getUIClassID, getUI
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JToggleButton

    n(Strin k$C7r56$@C./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jradiobutton_mi.htm$$ Class com.sun.java.swing.JRadioButtonMenuItem

    Class com.sun.java.swing.JRadioButtonMenuItem

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.AbstractButton
                                       |
                                       +----com.sun.java.swing.JMenuItem
                                               |
                                               +----com.sun.java.swing.JRadioButtonMenuItem
    

    public class JRadioButtonMenuItem
    extends JMenuItem
    implements Accessible

    An implementation of a RadioButtonMenuItem. A RadioButtonMenuItem is a menu item that is part of a group of menu items in which only one item in the group can be selected. The selected item displays its selected state. Selecting it causes any other selected item to switch to the unselected state.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    JRadioButtonMenuItem()
    Creates a JRadioButtonMenuItem with no set text or icon.
    JRadioButtonMenuItem(Icon)
    Creates a JRadioButtonMenuItem with an icon.
    JRadioButtonMenuItem(String)
    Creates a JRadioButtonMenuItem with text.
    JRadioButtonMenuItem(String, Icon)
    Creates a JRadioButtonMenuItem with the specified text and Icon.

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getUIClassID()
    Returns the name of the L&F class that renders this component.
    init(String, Icon)
    Initialize the JRadioButtonMenuItem with the specified text and Icon.
    requestFocus()
    Set focus on the receiving component if isRequestFocusEnabled returns true
    setUI(RadioButtonMenuItemUI)
    Sets the L&F object that renders this component.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JRadioButtonMenuItem
     public JRadioButtonMenuItem()
    
    Creates a JRadioButtonMenuItem with no set text or icon.

    JRadioButtonMenuItem
     public JRadioButtonMenuItem(Icon icon)
    
    Creates a JRadioButtonMenuItem with an icon.

    Parameters:
    icon - the Icon to display on the RadioButtonMenuItem.
    JRadioButtonMenuItem
     public JRadioButtonMenuItem(String text)
    
    Creates a JRadioButtonMenuItem with text.

    Parameters:
    text - the text of the RadioButtonMenuItem.
    JRadioButtonMenuItem
     public JRadioButtonMenuItem(String text,
                                 Icon icon)
    
    Creates a JRadioButtonMenuItem with the specified text and Icon.

    Parameters:
    text - the text of the RadioButtonMenuItem
    icon - the icon to display on the RadioButtonMenuItem

    Methods

    init
     protected void init(String text,
                         Icon icon)
    
    Initialize the JRadioButtonMenuItem with the specified text and Icon.

    Parameters:
    text - the text to display
    icon - the icon to display
    Overrides:
    init in class JMenuItem
    setUI
     public void setUI(RadioButtonMenuItemUI ui)
    
    Sets the L&F object that renders this component.

    Parameters:
    ui - the RadioButtonMenuItemUI L&F object
    See Also:
    getUI
    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the UIFactory.

    Overrides:
    updateUI in class JMenuItem
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns the name of the L&F class that renders this component.

    Returns:
    "RadioButtonMenuItemUI"
    Overrides:
    getUIClassID in class JMenuItem
    See Also:
    getUIClassID, getUI
    requestFocus
     public void requestFocus()
    
    Set focus on the receiving component if isRequestFocusEnabled returns true

    Overrides:
    requestFocus in class JComponent
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JMenuItem

     k$7r56$@./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jradiobuttonmenuitem_mi.htm$$ Class com.sun.java.swing.JRootPane

    Class com.sun.java.swing.JRootPane

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JRootPane
    

    public class JRootPane
    extends JComponent
    implements Accessible

    The JRootPane component is made up of several components. In order they are:

          JRootPane
              glassPane
              layeredPane 
                  [menuBar]
                  contentPane
     
    The menuBar component is optional and may or may exist at any time. The layeredPane, contentPane, and glassPane will always be available.

    The contentPane should be the parent of any children of the JRootPane. You would normally do something like this:

           rootPane.add(child);
     
    Using JRootPane the proper semantic is:
           rootPane.getContentPane().add(child);
     
    The same priniciple holds true for setting layout managers, removing components, listing children, etc. All these methods should normally be sent to the contentPane instead of to the JRootPane. The contentPane is always non-null. Attempting to set it to null generates an exception. The default contentPane has a BorderLayout manager set on it.

    If a JMenuBar component is set on the JRootPane, it is positioned along the upper edge of the frame. The contentPane is adjusted in location and size to fill the remaining area.

    The JMenuBar and the contentPane are added to the layeredPane component at the JLayeredPane.FRAME_CONTENT_LAYER layer.

    The layeredPane is an instance of the JLayeredPane class. It's purpose is to be the parent of all children of the JRootPane. It provides the ability to add components at several layers. This is very useful when working with menu popups, dialog boxes, or during dragging. Situations where you need to place a component over the top of all other normal components. The layeredPane is always non-null. Attempting to set it to null generates an exception.

    The glassPane is always added as the first child of the JRootPane. This allows the glass component to get in the way of all mouse events, as well as providing a convient place to draw above all other components. The glassPane is always non-null. Attempting to set it to null generates an exception. Developers should use setVisible on the glassPane to control when the glassPane displays over the other children. By default the glassPane is not visible.

    The JRootPane uses a custom LayoutManager. This LayoutManager insures the following:

    1. The glassPane, if present, fills the entire viewable area of the JRootPane (bounds - insets).
    2. The layeredPane fills the entire viewable area of the JRootPane. (bounds - insets)
    3. The menuBar is positioned at the upper edge of the layeredPane().
    4. The contentPane fills the entire viewable area, minus the MenuBar, if present.
    Any other views in the JRootPane view hierarchy are ignored. If you replace the LayoutManager of the JRootPane, you are responsible for managing all of these views.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JLayeredPane, JMenuBar, JWindow, JFrame, JDialog

    Variable Index

    contentPane
    defaultButton
    defaultPressAction
    defaultReleaseAction
    glassPane
    layeredPane
    menuBar

    Constructor Index

    JRootPane()

    Method Index

    addImpl(Component, Object, int)
    Overridden to enforce the position of the glass component as the zero child.
    createContentPane()
    Called by the constructor methods to create the default contentPane.
    createGlassPane()
    Called by the constructor methods to create the default glassPane.
    createLayeredPane()
    Called by the constructor methods to create the default layeredPane.
    createRootLayout()
    Called by the constructor methods to create the default layoutManager.
    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getContentPane()
    getDefaultButton()
    Returns the current default button for this JRootPane.
    getGlassPane()
    Returns the current glass pane for this JRootPane.
    getLayeredPane()
    getMenuBar()
    setContentPane(Container)
    setDefaultButton(JButton)
    Sets the current default button for this JRootPane.
    setGlassPane(Component)
    Sets a specified Component to be the glass pane for this root pane.
    setLayeredPane(JLayeredPane)
    setMenuBar(JMenuBar)

    Variables

    menuBar
     protected JMenuBar menuBar
    
    contentPane
     protected Container contentPane
    
    layeredPane
     protected JLayeredPane layeredPane
    
    glassPane
     protected Component glassPane
    
    defaultButton
     protected JButton defaultButton
    
    defaultPressAction
     protected JRootPane. DefaultAction defaultPressAction
    
    defaultReleaseAction
     protected JRootPane. DefaultAction defaultReleaseAction
    

    Constructors

    JRootPane
     public JRootPane()
    

    Methods

    createLayeredPane
     protected JLayeredPane createLayeredPane()
    
    Called by the constructor methods to create the default layeredPane. Bt default it creates a new JLayeredPane.

    createContentPane
     protected Container createContentPane()
    
    Called by the constructor methods to create the default contentPane. By default this method creates a new JComponent add sets a BorderLayout as its LayoutManager.

    createGlassPane
     protected Component createGlassPane()
    
    Called by the constructor methods to create the default glassPane. By default this method creates a new JComponent with visibility set to false.

    createRootLayout
     protected LayoutManager createRootLayout()
    
    Called by the constructor methods to create the default layoutManager.

    setMenuBar
     public void setMenuBar(JMenuBar menu)
    
    getMenuBar
     public JMenuBar getMenuBar()
    
    setContentPane
     public void setContentPane(Container content)
    
    getContentPane
     public Container getContentPane()
    
    setLayeredPane
     public void setLayeredPane(JLayeredPane layered)
    
    getLayeredPane
     public JLayeredPane getLayeredPane()
    
    setGlassPane
     public void setGlassPane(Component glass)
    
    Sets a specified Component to be the glass pane for this root pane. The glass pane should normally be a lightweight, transparent component, because it will be made visible when ever the root pane needs to grab input events. For example, only one JInternalFrame is ever active when using a DefaultDesktop, and any inactive JInternalFrames' glass panes are made visible so that clicking anywhere within an inactive JInternalFrame can activate it.

    Parameters:
    glass - the Component to use as the glass pane for this JRootPane.
    getGlassPane
     public Component getGlassPane()
    
    Returns the current glass pane for this JRootPane.

    Returns:
    the current glass pane.
    setDefaultButton
     public void setDefaultButton(JButton defaultButton)
    
    Sets the current default button for this JRootPane. The default button is the button which will be activated when a UI-defined activation event (typically the key) occurs in the RootPane regardless of whether or not the button has keyboard focus (unless there is another component within the RootPane which consumes the activation event, such as a JTextPane). For default activation to work, the button must be an enabled descendent of the RootPane when activation occurs. To remove a default button from this RootPane, set this property to null.

    Parameters:
    default - the default button.
    See Also:
    isDefaultButton
    getDefaultButton
     public JButton getDefaultButton()
    
    Returns the current default button for this JRootPane.

    Returns:
    the current default button.
    addImpl
     protected void addImpl(Component comp,
                            Object constraints,
                            int index)
    
    Overridden to enforce the position of the glass component as the zero child.

    Overrides:
    addImpl in class Container
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent

    Pane k*$ 7r56$ ' ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jrootpane_mi.htmem_$$ Class com.sun.java.swing.JScrollPane

    Class com.sun.java.swing.JScrollPane

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JScrollPane
    

    public class JScrollPane
    extends JComponent
    implements ScrollPaneConstants, Accessible

    A specialized container that manages a viewport, optional vertical and horizontal scrollbars, and optional row and column heading viewports.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JScrollPane. ScrollBar

    Variable Index

    cornerKeywords

    Constructor Index

    JScrollPane()
    JScrollPane(Component)
    JScrollPane(Component, int, int)
    JScrollPane(int, int)

    Method Index

    createHorizontalScrollBar()
    Used by ScrollPaneUI implementations to create the horizontal scrollbar.
    createVerticalScrollBar()
    Used by ScrollPaneUI implementations to create the vertical scrollbar.
    createViewport()
    Returns 'new JViewport()' by default.
    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getColumnHeader()
    getCorner(String)
    getHorizontalScrollBar()
    getHorizontalScrollBarPolicy()
    getRowHeader()
    getUI()
    getUIClassID()
    getVerticalScrollBar()
    getVerticalScrollBarPolicy()
    getViewport()
    getViewportBorder()
    isOpaque()
    Returns true if this component is completely opaque.
    isValidateRoot()
    Calls to revalidate() any descendant of this JScrollPane, e.g.
    setColumnHeader(JViewport)
    setColumnHeaderView(Component)
    Creates a ColumnHeader viewport if neccessary and then sets its view.
    setCorner(String, Component)
    setHorizontalScrollBarPolicy(int)
    setRowHeader(JViewport)
    setRowHeaderView(Component)
    Creates a RowHeader viewport if neccessary and then sets its view.
    setUI(ScrollPaneUI)
    setVerticalScrollBarPolicy(int)
    setViewport(JViewport)
    setViewportBorder(Border)
    Add a border around the viewport.
    setViewportView(Component)
    Creates a viewport if neccessary and then sets its view.
    updateUI()
    Resets the UI property to a value from the current look and feel.

    Variables

    cornerKeywords
     protected static final String cornerKeywords[]
    

    Constructors

    JScrollPane
     public JScrollPane(Component view,
                        int vsbPolicy,
                        int hsbPolicy)
    
    JScrollPane
     public JScrollPane(Component view)
    
    JScrollPane
     public JScrollPane(int vsbPolicy,
                        int hsbPolicy)
    
    JScrollPane
     public JScrollPane()
    

    Methods

    getUI
     public ScrollPaneUI getUI()
    
    setUI
     public void setUI(ScrollPaneUI ui)
    
    updateUI
     public void updateUI()
    
    Resets the UI property to a value from the current look and feel.

    Overrides:
    updateUI in class JComponent
    getUIClassID
     public String getUIClassID()
    
    Returns:
    "ScrollPaneUI"
    Overrides:
    getUIClassID in class JComponent
    See Also:
    getUIClassID, getUI
    getVerticalScrollBarPolicy
     public int getVerticalScrollBarPolicy()
    
    setVerticalScrollBarPolicy
     public void setVerticalScrollBarPolicy(int x)
    
    getHorizontalScrollBarPolicy
     public int getHorizontalScrollBarPolicy()
    
    setHorizontalScrollBarPolicy
     public void setHorizontalScrollBarPolicy(int x)
    
    getViewportBorder
     public Border getViewportBorder()
    
    Returns:
    the value of the viewportBorder property.
    See Also:
    setViewportBorder
    setViewportBorder
     public void setViewportBorder(Border viewportBorder)
    
    Add a border around the viewport. Note that the border isn't set on the viewport directly, JViewport doesn't support the JComponent border property. Similarly setting the JScrollPanes viewport doesn't effect the viewportBorder property.

    The default value of this property is computed by the look and feel implementation.

    This is a JavaBeans bound property.

    See Also:
    getViewportBorder, setViewport
    createHorizontalScrollBar
     public JScrollBar createHorizontalScrollBar()
    
    Used by ScrollPaneUI implementations to create the horizontal scrollbar. Returns a JScrollPane.ScrollBar by default. Subclasses may override this method to force ScrollPaneUI implementations to use a JScrollBar subclass.

    Returns:
    The horizontal JScrollBar
    See Also:
    JScrollPane. ScrollBar
    createVerticalScrollBar
     public JScrollBar createVerticalScrollBar()
    
    Used by ScrollPaneUI implementations to create the vertical scrollbar. Returns a JScrollPane.ScrollBar by default. Subclasses may override this method to force ScrollPaneUI implementations to use a JScrollBar subclass.

    Returns:
    The vertical JScrollBar
    See Also:
    JScrollPane. ScrollBar
    getHorizontalScrollBar
     public JScrollBar getHorizontalScrollBar()
    
    getVerticalScrollBar
     public JScrollBar getVerticalScrollBar()
    
    createViewport
     protected JViewport createViewport()
    
    Returns 'new JViewport()' by default. Used to create the viewport (as needed) in setViewportView(), setRowHeaderView(), and setColumnHeaderView(). Subclasses my override this method to return a subclass of JViewport.

    getViewport
     public JViewport getViewport()
    
    setViewport
     public void setViewport(JViewport x)
    
    setViewportView
     public void setViewportView(Component view)
    
    Creates a viewport if neccessary and then sets its view.

    getRowHeader
     public JViewport getRowHeader()
    
    setRowHeader
     public void setRowHeader(JViewport x)
    
    setRowHeaderView
     public void setRowHeaderView(Component view)
    
    Creates a RowHeader viewport if neccessary and then sets its view.

    getColumnHeader
     public JViewport getColumnHeader()
    
    setColumnHeader
     public void setColumnHeader(JViewport x)
    
    setColumnHeaderView
     public void setColumnHeaderView(Component view)
    
    Creates a ColumnHeader viewport if neccessary and then sets its view.

    getCorner
     public Component getCorner(String key)
    
    setCorner
     public void setCorner(String key,
                           Component x)
    
    isOpaque
     public boolean isOpaque()
    
    Returns true if this component is completely opaque.

    Overrides:
    isOpaque in class JComponent
    isValidateRoot
     public boolean isValidateRoot()
    
    Calls to revalidate() any descendant of this JScrollPane, e.g. the viewports view, will cause a request to be queued that will validate this JScrollPane and all its descendants.

    Returns:
    true
    Overrides:
    isValidateRoot in class JComponent
    See Also:
    revalidate, invalidate, validate
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent

     k|$7r56$./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jscrollpane_mi.htm_$$ Class com.sun.java.swing.JSeparator

    Class com.sun.java.swing.JSeparator

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JSeparator
    

    public class JSeparator
    extends JComponent
    implements Accessible

    An implementation of a Menu Separator -- a divider between menu items that breaks them up into logical groupings.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    JSeparator()
    Create a new separator

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getUI()
    /** Returns the L&F object that renders this component.
    getUIClassID()
    Returns the name of the L&F class that renders this component.
    setUI(SeparatorUI)
    Sets the L&F object that renders this component.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JSeparator
     public JSeparator()
    
    Create a new separator


    Methods

    getUI
     public SeparatorUI getUI()
    
    /** Returns the L&F object that renders this component.

    Returns:
    the SeparatorUI object that renders this component
    setUI
     public void setUI(SeparatorUI ui)
    
    Sets the L&F object that renders this component.

    Parameters:
    ui - the SeparatorUI L&F object
    See Also:
    getUI
    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the UIFactory.

    Overrides:
    updateUI in class JComponent
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns the name of the L&F class that renders this component.

    Returns:
    "SeparatorUI"
    Overrides:
    getUIClassID in class JComponent
    See Also:
    getUIClassID, getUI
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent

     kr$7r56$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jseparator_mi.htm_$$ Class com.sun.java.swing.JToggleButton

    Class com.sun.java.swing.JToggleButton

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.AbstractButton
                                       |
                                       +----com.sun.java.swing.JToggleButton
    

    public class JToggleButton
    extends AbstractButton
    implements Accessible

    An implementation of a two-state button. The JRadioButton and JCheckbox classes are subclasses of this class.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JRadioButton, JCheckbox

    Constructor Index

    JToggleButton()
    Creates an initially unselected toggle button without setting the text or image.
    JToggleButton(Icon)
    Creates an initially unselected toggle button with the specified image but no text.
    JToggleButton(Icon, boolean)
    Creates a toggle button with the specified image and selection state, but no text.
    JToggleButton(String)
    Creates an unselected toggle button with the specified text.
    JToggleButton(String, boolean)
    Creates a toggle button with the specified text and selection state.
    JToggleButton(String, Icon)
    Creates a toggle button that has the specified text and image, and that is initially unselected.
    JToggleButton(String, Icon, boolean)
    Creates a toggle button with the specified text, image, and selection state.

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getUIClassID()
    Returns a string that specifies the name of the l&f class that renders this component.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JToggleButton
     public JToggleButton()
    
    Creates an initially unselected toggle button without setting the text or image.

    JToggleButton
     public JToggleButton(Icon icon)
    
    Creates an initially unselected toggle button with the specified image but no text.

    Parameters:
    icon - the image that the button should display
    JToggleButton
     public JToggleButton(Icon icon,
                          boolean selected)
    
    Creates a toggle button with the specified image and selection state, but no text.

    Parameters:
    icon - the image that the button should display
    selected - if true, the button is initially selected; otherwise, the button is initially unselected
    JToggleButton
     public JToggleButton(String text)
    
    Creates an unselected toggle button with the specified text.

    Parameters:
    text - the string displayed on the toggle button
    JToggleButton
     public JToggleButton(String text,
                          boolean selected)
    
    Creates a toggle button with the specified text and selection state.

    Parameters:
    text - the string displayed on the toggle button
    selected - if true, the button is initially selected; otherwise, the button is initially unselected
    JToggleButton
     public JToggleButton(String text,
                          Icon icon)
    
    Creates a toggle button that has the specified text and image, and that is initially unselected.

    Parameters:
    text - the string displayed on the button
    icon - the image that the button should display
    JToggleButton
     public JToggleButton(String text,
                          Icon icon,
                          boolean selected)
    
    Creates a toggle button with the specified text, image, and selection state.

    Parameters:
    text - the text of the toggle button.
    selected - if true, the button is initially selected; otherwise, the button is initially unselected

    Methods

    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed.

    Overrides:
    updateUI in class AbstractButton
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns a string that specifies the name of the l&f class that renders this component.

    Returns:
    String "ToggleButtonUI"
    Overrides:
    getUIClassID in class JComponent
    See Also:
    getUIClassID, getUI
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent

    spe k $\7x56$@L\./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jtogglebutton_mi.htm$$ Class com.sun.java.swing.JToolBar

    Class com.sun.java.swing.JToolBar

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JToolBar
    

    public class JToolBar
    extends JComponent
    implements Accessible

    JToolBar provides a component which is useful for displaying commonly used Actions or controls. It can be dragged out into a seperate window by the user (unless the floatable property is set to false). In order for drag-out to work correctly, it is recommended that you add JToolBar instances to one of the four 'sides' of a container whose layout manager is a BorderLayout, and do not add children to any of the other four 'sides'.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    Action

    Constructor Index

    JToolBar()
    Create a new toolbar.

    Method Index

    add(Action)
    Add a new JButton which dispatches the action.
    addSeparator()
    Appends a toolbar-specific separator to the end of the toolbar (not a JSeparator).
    createActionChangeListener(JButton)
    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getComponentAtIndex(int)
    getComponentIndex(Component)
    getMargin()
    Returns the margin between the toolbar's border and its buttons.
    getUI()
    Returns the toolbar's current UI.
    getUIClassID()
    Returns the name of the L&F class that renders this component.
    isBorderPainted()
    Checks whether the border should be painted.
    isFloatable()
    Return true if the Toolbar can be dragged out by the user.
    paintBorder(Graphics)
    Paint the toolbar's border if BorderPainted property is true.
    setBorderPainted(boolean)
    Sets whether the border should be painted.
    setFloatable(boolean)
    Sets whether the toolbar can be made to float
    setMargin(Insets)
    Sets the margin between the toolbar's border and its buttons.
    setUI(ToolBarUI)
    Sets the L&F object that renders this component.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JToolBar
     public JToolBar()
    
    Create a new toolbar.


    Methods

    getUI
     public ToolBarUI getUI()
    
    Returns the toolbar's current UI.

    See Also:
    setUI
    setUI
     public void setUI(ToolBarUI ui)
    
    Sets the L&F object that renders this component.

    Parameters:
    ui - the ToolBarUI L&F object
    See Also:
    getUI
    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the UIFactory.

    Overrides:
    updateUI in class JComponent
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns the name of the L&F class that renders this component.

    Returns:
    "ToolBarUI"
    Overrides:
    getUIClassID in class JComponent
    See Also:
    getUIClassID, getUI
    getComponentIndex
     public int getComponentIndex(Component c)
    
    getComponentAtIndex
     public Component getComponentAtIndex(int i)
    
    setMargin
     public void setMargin(Insets m)
    
    Sets the margin between the toolbar's border and its buttons. Setting to null causes the toolbar to use the default margins. The toolbar's default Border object uses this value to create the proper margin. However, if a non-default border is set on the toolbar, it is that Border object's responsibility to create the appropriate margin space (otherwise this property will effectively be ignored).

    Parameters:
    m - an Insets object that defines the space between the border and the buttons
    See Also:
    Insets
    getMargin
     public Insets getMargin()
    
    Returns the margin between the toolbar's border and its buttons.

    Returns:
    an Insets object containing the margin values
    See Also:
    Insets
    isBorderPainted
     public boolean isBorderPainted()
    
    Checks whether the border should be painted.

    Returns:
    true if the border should be painted, else false
    See Also:
    setBorderPainted
    setBorderPainted
     public void setBorderPainted(boolean b)
    
    Sets whether the border should be painted.

    Parameters:
    b - if true, the border is painted.
    See Also:
    isBorderPainted
    paintBorder
     protected void paintBorder(Graphics g)
    
    Paint the toolbar's border if BorderPainted property is true.

    Parameters:
    g - the Graphics context in which the painting is done
    Overrides:
    paintBorder in class JComponent
    See Also:
    paint, setBorder
    isFloatable
     public boolean isFloatable()
    
    Return true if the Toolbar can be dragged out by the user.

    Returns:
    true if the Toolbar can be dragged out by the user
    setFloatable
     public void setFloatable(boolean b)
    
    Sets whether the toolbar can be made to float

    Parameters:
    b - if true, the toolbar can be dragged out
    See Also:
    isFloatable
    addSeparator
     public void addSeparator()
    
    Appends a toolbar-specific separator to the end of the toolbar (not a JSeparator).

    add
     public JButton add(Action a)
    
    Add a new JButton which dispatches the action.

    Parameters:
    a - the Action object to add as a new menu item
    createActionChangeListener
     protected PropertyChangeListener createActionChangeListener(JButton b)
    
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent

     k2$ 7x56$0h ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jtoolbar_mi.htmhtm$$ Class com.sun.java.swing.JToolTip

    Class com.sun.java.swing.JToolTip

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JToolTip
    

    public class JToolTip
    extends JComponent
    implements Accessible

    Used to display a "Tip" for a Component. Typically components provide api to automate the process of using ToolTips. For example, any Swing component can use the JComponent setToolTipText method to specify the text for a standard tooltip. A component that wants to create a custom ToolTip display can override JComponent's createToolTip method and use a subclass of this class.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    setToolTipText, createToolTip

    Constructor Index

    JToolTip()
    Creates a tool tip.

    Method Index

    getAccessibleContext()
    Get the AccessibleContext associated with this JComponent
    getComponent()
    getTipText()
    Returns the text that is shown when the tool tip is displayed.
    getUI()
    Returns the L&F object that renders this component.
    getUIClassID()
    Returns the name of the L&F class that renders this component.
    setComponent(JComponent)
    Specifies the component that the tooltip describes.
    setTipText(String)
    Sets the text to show when the tool tip is displayed.
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Constructors

    JToolTip
     public JToolTip()
    
    Creates a tool tip.


    Methods

    getUI
     public ToolTipUI getUI()
    
    Returns the L&F object that renders this component.

    Returns:
    the ToolTipUI object that renders this component
    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the UIFactory.

    Overrides:
    updateUI in class JComponent
    See Also:
    updateUI
    getUIClassID
     public String getUIClassID()
    
    Returns the name of the L&F class that renders this component.

    Returns:
    "ToolTipUI"
    Overrides:
    getUIClassID in class JComponent
    See Also:
    getUIClassID, getUI
    setTipText
     public void setTipText(String tipText)
    
    Sets the text to show when the tool tip is displayed.

    Parameters:
    tipText - the String to display
    getTipText
     public String getTipText()
    
    Returns the text that is shown when the tool tip is displayed.

    Returns:
    the String that is displayed
    setComponent
     public void setComponent(JComponent c)
    
    Specifies the component that the tooltip describes.

    See Also:
    createToolTip
    getComponent
     public JComponent getComponent()
    
    Returns:
    the component that the tooltip describes.
    See Also:
    createToolTip
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JComponent

    Returns:
    the AccessibleContext of this JComponent
    Overrides:
    getAccessibleContext in class JComponent

    /a>  k$7x56$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jtooltip_mi.htmhtm$$ Class com.sun.java.swing.JWindow

    Class com.sun.java.swing.JWindow

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Window
                               |
                               +----com.sun.java.swing.JWindow
    

    public class JWindow
    extends Window
    implements Accessible, RootPaneContainer

    The JWindow component contains a JRootPane as it's only child. The contentPane() should be the parent of any children of the JWindow. From the older java.awt.Window object you would normally do something:

           window.add(child);
     
    Using JWindow the proper semantic is:
           window.getContentPane().add(child);
     
    The same is true of setting LayoutManagers, removing components, listing children, etc. All these methods should normally be sent to the contentPane() instead of the JWindow itself. The contentPane() will always be non-null. Attempting to set it to null will cause the JWindow to throw an exception. The default contentPane() will have a BorderLayout manager set on it.

    Please see the JRootPane documentation for a complete description of the contentPane(), glassPane(), and layeredPane() components.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JRootPane

    Variable Index

    accessibleContext
    rootPane
    rootPaneCheckingEnabled

    Constructor Index

    JWindow()
    Creates a window with no specified owner.
    JWindow(Frame)
    Creates a window with the specified owner frame.

    Method Index

    addImpl(Component, Object, int)
    By default, children may not be added directly to a this component, they must be added to its contentPane instead.
    createRootPane()
    Called by the constructor methods to create the default rootPane.
    getAccessibleContext()
    Get the AccessibleContext associated with this JWindow
    getContentPane()
    Returns the contentPane object for this window.
    getGlassPane()
    Returns the glassPane object for this window.
    getLayeredPane()
    Returns the layeredPane object for this window.
    getRootPane()
    Returns the rootPane object for this window.
    isRootPaneCheckingEnabled()
    setContentPane(Container)
    Sets the contentPane property.
    setGlassPane(Component)
    Sets the glassPane property.
    setLayeredPane(JLayeredPane)
    Sets the layeredPane property.
    setLayout(LayoutManager)
    By default the layout of this component may not be set, the layout of its contentPane should be set instead.
    setRootPane(JRootPane)
    Sets the rootPane property.
    setRootPaneCheckingEnabled(boolean)
    If true then calls to add() and setLayout() will cause an exception to be thrown.
    windowInit()
    Called by the constructors to init the JWindow properly.

    Variables

    rootPane
     protected JRootPane rootPane
    
    See Also:
    getRootPane, setRootPane
    rootPaneCheckingEnabled
     protected boolean rootPaneCheckingEnabled
    
    See Also:
    isRootPaneCheckingEnabled, setRootPaneCheckingEnabled
    accessibleContext
     protected AccessibleContext accessibleContext
    

    Constructors

    JWindow
     public JWindow()
    
    Creates a window with no specified owner.

    JWindow
     public JWindow(Frame owner)
    
    Creates a window with the specified owner frame.

    Parameters:
    owner - the frame from which the window is displayed

    Methods

    windowInit
     protected void windowInit()
    
    Called by the constructors to init the JWindow properly.

    createRootPane
     protected JRootPane createRootPane()
    
    Called by the constructor methods to create the default rootPane.

    isRootPaneCheckingEnabled
     protected boolean isRootPaneCheckingEnabled()
    
    Returns:
    true if add and setLayout should be checked
    See Also:
    addImpl, setLayout, setRootPaneCheckingEnabled
    setRootPaneCheckingEnabled
     protected void setRootPaneCheckingEnabled(boolean enabled)
    
    If true then calls to add() and setLayout() will cause an exception to be thrown.

    See Also:
    addImpl, setLayout, isRootPaneCheckingEnabled
    addImpl
     protected void addImpl(Component comp,
                            Object constraints,
                            int index)
    
    By default, children may not be added directly to a this component, they must be added to its contentPane instead. For example:
     thisComponent.getContentPane().add(child)
     
    An attempt to add to directly to this component will cause an runtime exception to be thrown. Subclasses can disable this behavior.

    Throws: Error
    if called with rootPaneChecking true
    Overrides:
    addImpl in class Container
    See Also:
    setRootPaneCheckingEnabled
    setLayout
     public void setLayout(LayoutManager manager)
    
    By default the layout of this component may not be set, the layout of its contentPane should be set instead. For example:
     thisComponent.getContentPane().setLayout(new BorderLayout())
     
    An attempt to set the layout of this component will cause an runtime exception to be thrown. Subclasses can disable this behavior.

    Throws: Error
    if called with rootPaneChecking true
    Overrides:
    setLayout in class Container
    See Also:
    setRootPaneCheckingEnabled
    getRootPane
     public JRootPane getRootPane()
    
    Returns the rootPane object for this window.

    See Also:
    setRootPane, getRootPane
    setRootPane
     protected void setRootPane(JRootPane root)
    
    Sets the rootPane property. This method is called by the constructor.

    Parameters:
    root - the rootPane object for this window
    See Also:
    getRootPane, setRootPane
    getContentPane
     public Container getContentPane()
    
    Returns the contentPane object for this window.

    See Also:
    setContentPane, getContentPane
    setContentPane
     public void setContentPane(Container contentPane)
    
    Sets the contentPane property. This method is called by the constructor.

    Parameters:
    contentPane - the contentPane object for this window
    See Also:
    getContentPane, setContentPane
    getLayeredPane
     public JLayeredPane getLayeredPane()
    
    Returns the layeredPane object for this window.

    See Also:
    setLayeredPane, getLayeredPane
    setLayeredPane
     public void setLayeredPane(JLayeredPane layeredPane)
    
    Sets the layeredPane property. This method is called by the constructor.

    Parameters:
    layeredPane - the layeredPane object for this window
    See Also:
    getLayeredPane, setLayeredPane
    getGlassPane
     public Component getGlassPane()
    
    Returns the glassPane object for this window.

    See Also:
    setGlassPane, getGlassPane
    setGlassPane
     public void setGlassPane(Component glassPane)
    
    Sets the glassPane property. This method is called by the constructor.

    Parameters:
    glassPane - the glassPane object for this window
    See Also:
    getGlassPane, setGlassPane
    getAccessibleContext
     public AccessibleContext getAccessibleContext()
    
    Get the AccessibleContext associated with this JWindow

    Returns:
    the AccessibleContext of this JWindow

    ootpan k$K 7|56$ K ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.jwindow_mi.htmtm$$ Class com.sun.java.swing.KeyStroke

    Class com.sun.java.swing.KeyStroke

    java.lang.Object
       |
       +----com.sun.java.swing.KeyStroke
    

    public class KeyStroke
    extends Object
    implements Serializable

    A KeyStroke instance represents a key being typed on the keyboard -- it contains both a char code for the key and a modifier (alt, shift, ctrl, meta, or a combination).

    KeyStroke objects are used to define high-level (semantic) action events. Instead of trapping every keystroke and throwing away the ones you are not interested in, those keystrokes you care about automatically initiate actions on the components they are registered with.

    KeyStroke objects handle both character-code generating keystrokes you would trap with a KeyTyped event handler and key-code generating keystrokes (like Enter or F1) that you would trap with a KeyPressed event handler.

    KeyStroke objects are immutable and unique.

    All KeyStroke objects are cached. To get one, use getKeyStroke.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    registerKeyboardAction, getKeystroke

    Method Index

    equals(Object)
    Returns true if this object is identical to the specified object.
    getKeyChar()
    getKeyCode()
    getKeyStroke(char)
    Return a shared instance of a key stroke that is activated activated when the key is pressed.
    getKeyStroke(char, boolean)
    Return a shared instance of a key stroke that specifies whether the key is activated when it is pressed or released.
    getKeyStroke(int, int)
    Return a shared instance of a key stroke given a char code and a set of modifiers -- the key is activated when it is pressed.
    getKeyStroke(int, int, boolean)
    Return a shared instance of a key stroke given a char code and a set of modifiers, specifying whether the key is activated when it is pressed or released.
    getKeyStroke(String)
    Return a shared instance of a key stroke matching a string representation.
    getKeyStrokeForEvent(KeyEvent)
    Return a keystroke from an event.
    getModifiers()
    hashCode()
    Returns a numeric value for this object that is likely to be reasonably unique, so it can be used as the index value in a Hashtable.
    isOnKeyRelease()
    toString()
    Returns a string that displays and identifies this object's properties.

    Methods

    getKeyStroke
     public static KeyStroke getKeyStroke(char keyChar)
    
    Return a shared instance of a key stroke that is activated activated when the key is pressed.

    Parameters:
    keyChar - the character value for a keyboard key
    Returns:
    a KeyStroke object for that key
    getKeyStroke
     public static KeyStroke getKeyStroke(char keyChar,
                                          boolean onKeyRelease)
    
    Return a shared instance of a key stroke that specifies whether the key is activated when it is pressed or released.

    Parameters:
    keyChar - the character value for a keyboard key
    onKeyRelease - a boolean value. When true, specifies that the key is active when it is released.
    Returns:
    a KeyStroke object for that key
    getKeyStroke
     public static KeyStroke getKeyStroke(int keyCode,
                                          int modifiers,
                                          boolean onKeyRelease)
    
    Return a shared instance of a key stroke given a char code and a set of modifiers, specifying whether the key is activated when it is pressed or released.

    The modifiers consist of any combination of:

    • java.awt.Event.SHIFT_MASK (1)
    • java.awt.Event.CTRL_MASK (2)
    • java.awt.Event.META_MASK (4)
    • java.awt.Event.ALT_MASK (8)
    Since these numbers are all different powers of two, any combination of them is an integer in which each bit represents a different modifier key.

    Parameters:
    keyChar - the character value for a keyboard key
    modifiers - an int specifying any combination of the key modifiers.
    onKeyRelease - a boolean value. When true, specifies that the key is active when it is released.
    Returns:
    a KeyStroke object for that key
    getKeyStroke
     public static KeyStroke getKeyStroke(int keyCode,
                                          int modifiers)
    
    Return a shared instance of a key stroke given a char code and a set of modifiers -- the key is activated when it is pressed.

    The modifiers consist of any combination of:

    • java.awt.Event.SHIFT_MASK (1)
    • java.awt.Event.CTRL_MASK (2)
    • java.awt.Event.META_MASK (4)
    • java.awt.Event.ALT_MASK (8)
    Since these numbers are all different powers of two, any combination of them is an integer in which each bit represents a different modifier key.

    Parameters:
    keyChar - the character value for a keyboard key
    modifiers - an int specifying any combination of the key modifiers.
    Returns:
    a KeyStroke object for that key
    getKeyStrokeForEvent
     public static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent)
    
    Return a keystroke from an event.

    This method obtains the keyChar from a KeyTyped event, and the keyCode from a KeyPressed or KeyReleased event, so you don't have to.

    Parameters:
    anEvent - the KeyEvent to obtain the KeyStroke from
    Returns:
    the KeyStroke that precipitated the event
    getKeyStroke
     public static KeyStroke getKeyStroke(String representation)
    
    Return a shared instance of a key stroke matching a string representation.

    Parameters:
    representation - a String specifying a KeyStroke
    Returns:
    a KeyStroke object matching the specification.
    getKeyChar
     public char getKeyChar()
    
    getKeyCode
     public int getKeyCode()
    
    getModifiers
     public int getModifiers()
    
    isOnKeyRelease
     public boolean isOnKeyRelease()
    
    hashCode
     public int hashCode()
    
    Returns a numeric value for this object that is likely to be reasonably unique, so it can be used as the index value in a Hashtable.

    Returns:
    an int that "represents" this object
    Overrides:
    hashCode in class Object
    See Also:
    Hashtable
    equals
     public boolean equals(Object anObject)
    
    Returns true if this object is identical to the specified object.

    Parameters:
    anObject - the Object to compare this object to
    Returns:
    true if the objects are identical
    Overrides:
    equals in class Object
    toString
     public String toString()
    
    Returns a string that displays and identifies this object's properties.

    Returns:
    a String representation of this object
    Overrides:
    toString in class Object

    and knı$7|56$@./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.keystroke_mi.htmtm$$ Interface com.sun.java.swing.ListCellRenderer

    Interface com.sun.java.swing.ListCellRenderer

    public interface ListCellRenderer

    Components that are to be used as "rubber stamps" to paint the cells in a JList, must implement this interface. For example to us a JLabel as a ListCellRenderer one would write something like this:

     class MyCellRenderer extends JLabel implements ListCellRenderer {
         public MyCellRenderer() {
             setOpaque(true);
         }
         public Component getListCellRendererComponent(
             JList list, 
             Object value, 
             int index, 
             boolean isSelected, 
             boolean cellHasFocus) 
         {
             setText(value.toString());
             setBackground(isSelected ? Color.red : Color.white);
             setForeground(isSelected ? Color.white : Color.black);
             return this;
         }
     }
     

    See Also:
    JList, BasicListCellRenderer

    Method Index

    getListCellRendererComponent(JList, Object, int, boolean, boolean)
    Return a component that's been configured to display the specified value.

    Methods

    getListCellRendererComponent
     public abstract Component getListCellRendererComponent(JList list,
                                                            Object value,
                                                            int index,
                                                            boolean isSelected,
                                                            boolean cellHasFocus)
    
    Return a component that's been configured to display the specified value. The components paint method will be called subsequently to "render" the cell. If it's neccessary to compute the dimensions of the list, e.g. if the list cells aren't fixed size, this method will be called to generate a component to apply getPreferredSize() to.

    Parameters:
    list - The JList we're painting.
    value - The value returned by list.getModel().getElementAt(index).
    index - The cells index.
    isSelected - True if the specified cell was selected.
    cellHasFocus - True if the specified cell has the focus.
    Returns:
    A component whose paint() method will render the specified value.
    See Also:
    JList, ListSelectionModel, ListModel

    t= kDZ$7|56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.listcellrenderer_mi.htmtm$$ Interface com.sun.java.swing.ListModel

    Interface com.sun.java.swing.ListModel

    public interface ListModel


    Method Index

    addListDataListener(ListDataListener)
    Add a listener to the list that's notified each time a change to the data model occurs.
    getElementAt(int)
    Returns the value at the specified index.
    getSize()
    Returns the length of the list.
    removeListDataListener(ListDataListener)
    Remove a listener from the list that's notified each time a change to the data model occurs.

    Methods

    getSize
     public abstract int getSize()
    
    Returns the length of the list.

    getElementAt
     public abstract Object getElementAt(int index)
    
    Returns the value at the specified index.

    addListDataListener
     public abstract void addListDataListener(ListDataListener l)
    
    Add a listener to the list that's notified each time a change to the data model occurs.

    Parameters:
    l - the ListDataListener
    removeListDataListener
     public abstract void removeListDataListener(ListDataListener l)
    
    Remove a listener from the list that's notified each time a change to the data model occurs.

    Parameters:
    l - the ListDataListener

    was s k0cʱ$$7|56$`$./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.listmodel_mi.htmi.h$$ Interface com.sun.java.swing.MenuElement

    Interface com.sun.java.swing.MenuElement

    public interface MenuElement

    Any component that can be placed into a menu should implement this interface. This interface is used by MenuSelection to handle selection and navigation in menu hierarchies.


    Method Index

    getComponent()
    getSubElements()
    This method should return an array containing the sub-elements for the receiving menu element
    menuSelectionChanged(boolean)
    Call by the MenuSelection when the MenuElement is added or remove from the menu selection.
    processKeyEvent(KeyEvent, MenuElement[], MenuSelectionManager)
    Process a key event.
    processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager)
    Process a mouse event.

    Methods

    processMouseEvent
     public abstract void processMouseEvent(MouseEvent event,
                                            MenuElement path[],
                                            MenuSelectionManager manager)
    
    Process a mouse event. event is a MouseEvent with source being the receiving element's component. path is the path of the receiving element in the menu hierarchy including the receiving element itself. manager is the MenuSelectionManager for the menu hierarchy. This method should process the MouseEvent and change the menu selection if necessary by using MenuSelectionManager's API Note: you do not have to forward the event to sub-components. This is done automatically by the MenuSelectionManager

    processKeyEvent
     public abstract void processKeyEvent(KeyEvent event,
                                          MenuElement path[],
                                          MenuSelectionManager manager)
    
    Process a key event.

    menuSelectionChanged
     public abstract void menuSelectionChanged(boolean isIncluded)
    
    Call by the MenuSelection when the MenuElement is added or remove from the menu selection.

    getSubElements
     public abstract MenuElement[] getSubElements()
    
    This method should return an array containing the sub-elements for the receiving menu element

    getComponent
     public abstract Component getComponent()
    

    . k>]ӱ$[7|56$PJ[./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.menuelement_mi.htmi$$ Class com.sun.java.swing.MenuSelectionManager

    Class com.sun.java.swing.MenuSelectionManager

    java.lang.Object
       |
       +----com.sun.java.swing.MenuSelectionManager
    

    public class MenuSelectionManager
    extends Object


    Constructor Index

    MenuSelectionManager()

    Method Index

    clearSelectedPath()
    componentForPoint(Component, Point)
    defaultManager()
    getSelectedPath()
    isComponentPartOfCurrentMenu(Component)
    Return true if c is part of the currently used menu
    processKeyEvent(KeyEvent)
    processMouseEvent(MouseEvent)
    setSelectedPath(MenuElement[])

    Constructors

    MenuSelectionManager
     public MenuSelectionManager()
    

    Methods

    defaultManager
     public static MenuSelectionManager defaultManager()
    
    setSelectedPath
     public void setSelectedPath(MenuElement path[])
    
    getSelectedPath
     public MenuElement[] getSelectedPath()
    
    clearSelectedPath
     public void clearSelectedPath()
    
    processMouseEvent
     public void processMouseEvent(MouseEvent event)
    
    componentForPoint
     public Component componentForPoint(Component source,
                                        Point sourcePoint)
    
    processKeyEvent
     public void processKeyEvent(KeyEvent e)
    
    isComponentPartOfCurrentMenu
     public boolean isComponentPartOfCurrentMenu(Component c)
    
    Return true if c is part of the currently used menu


    ce"> k Class com.sun.java.swing.OverlayLayout

    Class com.sun.java.swing.OverlayLayout

    java.lang.Object
       |
       +----com.sun.java.swing.OverlayLayout
    

    public class OverlayLayout
    extends Object
    implements LayoutManager2, Serializable

    A layout manager to arrange components over the top of each other. The requested size of the container will be the largest requested size of the children, taking alignment needs into consideration. The alignment is based upon what is needed to properly fit the children in the allocation area. The children will be placed such that their alignment points are all on top of each other.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    OverlayLayout(Container)
    Construct a layout manager that performs overlay arrangment of the children.

    Method Index

    addLayoutComponent(Component, Object)
    Adds the specified component to the layout, using the specified constraint object.
    addLayoutComponent(String, Component)
    Adds the specified component to the layout.
    getLayoutAlignmentX(Container)
    Returns the alignment along the x axis for the container.
    getLayoutAlignmentY(Container)
    Returns the alignment along the y axis for the container.
    invalidateLayout(Container)
    Indicates a child has changed it's layout related information which causes any cached calculations to be flushed.
    layoutContainer(Container)
    maximumLayoutSize(Container)
    Returns the minimum dimensions needed to layout the components contained in the specified target container.
    minimumLayoutSize(Container)
    Returns the minimum dimensions needed to layout the components contained in the specified target container.
    preferredLayoutSize(Container)
    Returns the preferred dimensions for this layout given the components in the specified target container.
    removeLayoutComponent(Component)
    Removes the specified component from the layout.

    Constructors

    OverlayLayout
     public OverlayLayout(Container target)
    
    Construct a layout manager that performs overlay arrangment of the children. The layout manager created is dedicated to the given container.

    Parameters:
    target - The container to do layout against.

    Methods

    invalidateLayout
     public void invalidateLayout(Container target)
    
    Indicates a child has changed it's layout related information which causes any cached calculations to be flushed.

    addLayoutComponent
     public void addLayoutComponent(String name,
                                    Component comp)
    
    Adds the specified component to the layout. Not used by this class.

    Parameters:
    name - the name of the component
    comp - the the component to be added
    removeLayoutComponent
     public void removeLayoutComponent(Component comp)
    
    Removes the specified component from the layout. Not used by this class.

    Parameters:
    comp - the component to remove
    addLayoutComponent
     public void addLayoutComponent(Component comp,
                                    Object constraints)
    
    Adds the specified component to the layout, using the specified constraint object.

    Parameters:
    comp - the component to be added
    constraints - where/how the component is added to the layout.
    preferredLayoutSize
     public Dimension preferredLayoutSize(Container target)
    
    Returns the preferred dimensions for this layout given the components in the specified target container.

    Parameters:
    target - the component which needs to be laid out
    See Also:
    Container, minimumLayoutSize
    minimumLayoutSize
     public Dimension minimumLayoutSize(Container target)
    
    Returns the minimum dimensions needed to layout the components contained in the specified target container.

    Parameters:
    target - the component which needs to be laid out
    See Also:
    preferredLayoutSize
    maximumLayoutSize
     public Dimension maximumLayoutSize(Container target)
    
    Returns the minimum dimensions needed to layout the components contained in the specified target container.

    Parameters:
    target - the component which needs to be laid out
    See Also:
    preferredLayoutSize
    getLayoutAlignmentX
     public float getLayoutAlignmentX(Container target)
    
    Returns the alignment along the x axis for the container. If the major axis of the box is the x axis the default alignment will be returned, otherwise the alignment needed to place the children along the x axis will be returned.

    getLayoutAlignmentY
     public float getLayoutAlignmentY(Container target)
    
    Returns the alignment along the y axis for the container. If the major axis of the box is the y axis the default alignment will be returned, otherwise the alignment needed to place the children along the y axis will be returned.

    layoutContainer
     public void layoutContainer(Container target)
    

    dLayout kٱ$7|56$@s./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.overlaylayout_mi.htm$$ Class com.sun.java.swing.ProgressMonitor

    Class com.sun.java.swing.ProgressMonitor

    java.lang.Object
       |
       +----com.sun.java.swing.ProgressMonitor
    

    public class ProgressMonitor
    extends Object

    A class to monitor the progress of some operation. If it looks like it will take a while, a progress dialog will be popped up. When the ProgressMonitor is created it is given a numeric range and a descriptive string. As the operation progresses, call the setProgress method to indicate how far along the [min,max] range the operation is. Initially, there is no ProgressDialog. After the first millisToDecideToPopup milliseconds (default 500) the progress monitor will predict how long the operation will take. If it is longer than millisToPopup (default 2000, 2 seconds) a ProgressDialog will be popped up.

    From time to time, when the Dialog box is visible, the progress bar will be updated when setProgress is called. setProgress won't always update the progress bar, it will only be done if the amount of progress is visibly significant.

    See Also:
    ProgressMonitorInputStream

    Constructor Index

    ProgressMonitor(Component, Object, String, int, int)

    Method Index

    close()
    Indicate that the operation is complete.
    getMaximum()
    getMillisToDecideToPopup()
    getMillisToPopup()
    getMinimum()
    getNote()
    isCanceled()
    Returns true if the user does some UI action to cancel this operation.
    setMaximum(int)
    setMillisToDecideToPopup(int)
    setMillisToPopup(int)
    setMinimum(int)
    setNote(String)
    setProgress(int)
    Indicate the progress of the operation being monitored.

    Constructors

    ProgressMonitor
     public ProgressMonitor(Component parentComponent,
                            Object message,
                            String note,
                            int min,
                            int max)
    
    Parameters:
    parentComponent - the parent component for the dialog box
    message - a descriptive message that will be shown to the user to indicate what operation is being monitored. This does not change as the operation progresses. See the message parameters to methods in JOptionPane for the range of values.
    note - a short note describing the state of the operation. As the operation progresses, you can call setNote to change the note displayed. This is used, for example, in operations that iterate through a list of files to show the name of the file being processes. If note is initially null, there will be no note line in the dialog box and setNote will be ineffective
    min - the lower bound of the range
    max - the upper bound of the range
    See Also:
    JDialog, JOptionPane

    Methods

    setProgress
     public void setProgress(int nv)
    
    Indicate the progress of the operation being monitored.

    close
     public void close()
    
    Indicate that the operation is complete. This happens automatically when the value set by setProgress is >= max, but it may be called earlier if the operation ends early.

    getMinimum
     public int getMinimum()
    
    setMinimum
     public void setMinimum(int m)
    
    getMaximum
     public int getMaximum()
    
    setMaximum
     public void setMaximum(int m)
    
    isCanceled
     public boolean isCanceled()
    
    Returns true if the user does some UI action to cancel this operation. (like hitting the Cancel button on the progress dialog).

    setMillisToDecideToPopup
     public void setMillisToDecideToPopup(int millisToDecideToPopup)
    
    getMillisToDecideToPopup
     public int getMillisToDecideToPopup()
    
    setMillisToPopup
     public void setMillisToPopup(int millisToPopup)
    
    getMillisToPopup
     public int getMillisToPopup()
    
    setNote
     public void setNote(String note)
    
    getNote
     public String getNote()
    

    f="#se kn'ܱ$7~56$@z./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.progressmonitor_mi.htmhtm$$ Class com.sun.java.swing.ProgressMonitorInputStream

    Class com.sun.java.swing.ProgressMonitorInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----java.io.FilterInputStream
                       |
                       +----com.sun.java.swing.ProgressMonitorInputStream
    

    public class ProgressMonitorInputStream
    extends FilterInputStream

    Monitors the progress of reading from some InputStream. Normally invoked in roughly this form:

     InputStream in = new BufferedInputStream(
                new ProgressMonitorInputStream(
                         parentComponent,
                        "Reading "+fileName,
                         new FileInputStream(fileName)));
     

    This creates a progress monitor to monitor the progress of reading the input stream. If it's taking a while, a ProgressDialog will be popped up to inform the user. If the user hits the Cancel button an InterruptedIOException will be thrown on the next read. All the right cleanup is done when the stream is closed.

    See Also:
    ProgressMonitor, JOptionPane

    Constructor Index

    ProgressMonitorInputStream(Component, Object, InputStream)

    Method Index

    close()
    getProgressMonitor()
    read()
    read(byte[])
    read(byte[], int, int)
    reset()
    skip(long)

    Constructors

    ProgressMonitorInputStream
     public ProgressMonitorInputStream(Component parentComponent,
                                       Object message,
                                       InputStream in)
    
    Parameters:
    message - Descriptive text to be placed in the dialog box if one is popped up.
    parentComponent - The component triggering the operation being monitored.
    in - The input stream to be monitored.

    Methods

    getProgressMonitor
     public ProgressMonitor getProgressMonitor()
    
    read
     public int read() throws IOException
    
    Overrides:
    read in class FilterInputStream
    read
     public int read(byte b[]) throws IOException
    
    Overrides:
    read in class FilterInputStream
    read
     public int read(byte b[],
                     int off,
                     int len) throws IOException
    
    Overrides:
    read in class FilterInputStream
    skip
     public long skip(long n) throws IOException
    
    Overrides:
    skip in class FilterInputStream
    close
     public void close() throws IOException
    
    Overrides:
    close in class FilterInputStream
    reset
     public synchronized void reset() throws IOException
    
    Overrides:
    reset in class FilterInputStream

    stream k:߱$:7|56$P:./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.progressmonitorinputstream_mi.htmm$$ Interface com.sun.java.swing.Renderer

    Interface com.sun.java.swing.Renderer

    public interface Renderer

    Renderer interface


    Method Index

    getComponent()
    setValue(Object, boolean)

    Methods

    setValue
     public abstract void setValue(Object aValue,
                                   boolean isSelected)
    
    getComponent
     public abstract Component getComponent()
    

    y k$7~56$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.renderer_mi.htmputs$$ Class com.sun.java.swing.RepaintManager

    Class com.sun.java.swing.RepaintManager

    java.lang.Object
       |
       +----com.sun.java.swing.RepaintManager
    

    public class RepaintManager
    extends Object


    Constructor Index

    RepaintManager()
    Create a new RepaintManager instance.

    Method Index

    addDirtyRegion(JComponent, int, int, int, int)
    Add a component in the list of component that should be refreshed.
    addInvalidComponent(JComponent)
    currentManager(JComponent)
    Return the RepaintManager for the calling thread.
    getDirtyRegion(JComponent)
    Return the current dirty region for a component.
    getDoubleBufferMaximumSize()
    getOffscreenBuffer(Component, int, int)
    Return the offscreen buffer that should be used as a double buffer with the component c By default there is a double buffer per RepaintManager.
    isCompletelyDirty(JComponent)
    Convenience that returns true if aComponent will be completely painted during the next paintDirtyRegions().
    isDoubleBufferingEnabled()
    markCompletelyClean(JComponent)
    Mark a component completely clean.
    markCompletelyDirty(JComponent)
    Mark a component completely dirty.
    paintDirtyRegions()
    Cause all the known dirty regions to be painted
    removeInvalidComponent(JComponent)
    Remove an invalid component
    repaintDirtyRegions()
    setCurrentManager(RepaintManager)
    Set the RepaintManager that should be used for the calling thread.
    setDoubleBufferingEnabled(boolean)
    setDoubleBufferMaximumSize(Dimension)
    Set the maximum double buffer size.
    toString()
    validateInvalidComponents()
    Cause all invalide component to get validated

    Constructors

    RepaintManager
     public RepaintManager()
    
    Create a new RepaintManager instance. You rarely call this constructor. directly. To get the default RepaintManager, use RepaintManager.currentManager(JComponent) (normally "this").


    Methods

    currentManager
     public static RepaintManager currentManager(JComponent comp)
    
    Return the RepaintManager for the calling thread. This method will maintain one RepaintManager per thread group.

    setCurrentManager
     public static void setCurrentManager(RepaintManager aRepaintManager)
    
    Set the RepaintManager that should be used for the calling thread. aRepaintManager will become the current RepaintManager for the calling thread's thread group.

    addInvalidComponent
     public synchronized void addInvalidComponent(JComponent component)
    
    removeInvalidComponent
     public synchronized void removeInvalidComponent(JComponent component)
    
    Remove an invalid component

    addDirtyRegion
     public synchronized void addDirtyRegion(JComponent aComponent,
                                             int x,
                                             int y,
                                             int w,
                                             int h)
    
    Add a component in the list of component that should be refreshed. If aComponent already has some dirty region, the rectangle (x,y,w,h) will be added to the region that should be redrawn.

    getDirtyRegion
     public Rectangle getDirtyRegion(JComponent aComponent)
    
    Return the current dirty region for a component. Return an empty rectangle if the component is not dirty.

    markCompletelyDirty
     public void markCompletelyDirty(JComponent aComponent)
    
    Mark a component completely dirty. aComponent will be completely painted during the next paintDirtyRegions() call.

    markCompletelyClean
     public void markCompletelyClean(JComponent aComponent)
    
    Mark a component completely clean. aComponent will not get painted during the next paintDirtyRegions() call

    isCompletelyDirty
     public boolean isCompletelyDirty(JComponent aComponent)
    
    Convenience that returns true if aComponent will be completely painted during the next paintDirtyRegions(). If computing dirty regions is expensive for your component, use this method and avoid computing dirty region if it return true.

    repaintDirtyRegions
     public void repaintDirtyRegions()
    
    validateInvalidComponents
     public void validateInvalidComponents()
    
    Cause all invalide component to get validated

    paintDirtyRegions
     public void paintDirtyRegions()
    
    Cause all the known dirty regions to be painted

    toString
     public synchronized String toString()
    
    Overrides:
    toString in class Object
    getOffscreenBuffer
     public Image getOffscreenBuffer(Component c,
                                     int proposedWidth,
                                     int proposedHeight)
    
    Return the offscreen buffer that should be used as a double buffer with the component c By default there is a double buffer per RepaintManager. The buffer might be smaller than (proposedWidth,proposedHeight) This happens when the maximum double buffer size as been set for the receiving repaint manager.

    setDoubleBufferMaximumSize
     public void setDoubleBufferMaximumSize(Dimension d)
    
    Set the maximum double buffer size.

    getDoubleBufferMaximumSize
     public Dimension getDoubleBufferMaximumSize()
    
    setDoubleBufferingEnabled
     public void setDoubleBufferingEnabled(boolean aFlag)
    
    isDoubleBufferingEnabled
     public boolean isDoubleBufferingEnabled()
    

    u k $ 7~56$ ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.repaintmanager_mi.htmeam_mi$$ Interface com.sun.java.swing.RootPaneContainer

    Interface com.sun.java.swing.RootPaneContainer

    public interface RootPaneContainer

    This interface is implemented by components that have a single JRootPane child: JDialog, JFrame, JWindow, JApplet, JInternalFrame. The methods in this interface are just covers for the JRootPane properties, e.g. getContentPane() is generally implemented like this:

     public Container getContentPane() {
         return getRootPane().getContentPane();
     }
     

    This interface serves as a marker for Swing GUI builders that need to treat components like JFrame, that contain a single JRootPane, specially. For example in a GUI builder, dropping a component on a RootPaneContainer would be interpreted as frame.getContentPane().add(child).

    See Also:
    JRootPane, JFrame, JDialog, JWindow, JApplet, JInternalFrame

    Method Index

    getContentPane()
    getGlassPane()
    getLayeredPane()
    getRootPane()
    Return this components single JRootPane child.
    setContentPane(Container)
    The "contentPane" is the primary container for application specific components.
    setGlassPane(Component)
    The glassPane is always the first child of the rootPane and the rootPanes layout manager ensures that it's always as big as the rootPane.
    setLayeredPane(JLayeredPane)
    A Container that manages the contentPane and in some cases a menu bar.

    Methods

    getRootPane
     public abstract JRootPane getRootPane()
    
    Return this components single JRootPane child. A conventional implementation of this interface will have all of the other methods indirect through this one. The rootPane has two children: the glassPane and the layeredPane.

    Returns:
    this components single JRootPane child.
    See Also:
    JRootPane
    setContentPane
     public abstract void setContentPane(Container contentPane)
    
    The "contentPane" is the primary container for application specific components. Applications should add children to the contentPane, set its layout manager, and so on.

    The contentPane my not be null.

    Generally implemented with getRootPane().setContentPane(contentPane);

    See Also:
    getContentPane, getContentPane
    getContentPane
     public abstract Container getContentPane()
    
    Returns:
    the value of the contentPane property.
    See Also:
    setContentPane
    setLayeredPane
     public abstract void setLayeredPane(JLayeredPane layeredPane)
    
    A Container that manages the contentPane and in some cases a menu bar. The layeredPane can be used by descendants that want to add a child to the RootPaneContainer that isn't layout managed. For example an internal dialog or a drag and drop effect component.

    The layeredPane may not be null.

    Generally implemented with getRootPane().setLayeredPane(layeredPane);

    See Also:
    getLayeredPane, getLayeredPane
    getLayeredPane
     public abstract JLayeredPane getLayeredPane()
    
    Returns:
    the value of the layeredPane property.
    See Also:
    setLayeredPane
    setGlassPane
     public abstract void setGlassPane(Component glassPane)
    
    The glassPane is always the first child of the rootPane and the rootPanes layout manager ensures that it's always as big as the rootPane. By default it's transparent and not visible. It can be used to temporarily grab all keyboard and mouse input by adding listeners and then making it visible. by default it's not visible.

    The glassPane may not be null.

    Generally implemented with getRootPane().setGlassPane(glassPane);

    See Also:
    getGlassPane, setGlassPane
    getGlassPane
     public abstract Component getGlassPane()
    
    Returns:
    the value of the glassPane property.
    See Also:
    setGlassPane

    ou kl$x7~56$Px./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.rootpanecontainer_mi.htm_mi$$ Interface com.sun.java.swing.Scrollable

    Interface com.sun.java.swing.Scrollable

    public interface Scrollable

    An interface that provides information to a scrolling container like JScrollPane. A complex component that's likely to be used as a viewin a JScrollPane viewport (or other scrolling container) should implement this interface.

    See Also:
    JViewport, JScrollPane, JScrollBar

    Method Index

    getPreferredScrollableViewportSize()
    Returns the preferred size of the viewport for a view component.
    getScrollableBlockIncrement(Rectangle, int, int)
    Components that display logical rows or columns should compute the scroll increment that will completely expose one block of rows or columns, depending on the value of orientation.
    getScrollableTracksViewportHeight()
    Return true if a viewport should always force the height of this Scrollable to match the height of the viewport.
    getScrollableTracksViewportWidth()
    Return true if a viewport should always force the width of this Scrollable to match the width of the viewport.
    getScrollableUnitIncrement(Rectangle, int, int)
    Components that display logical rows or columns should compute the scroll increment that will completely expose one new row or column, depending on the value of orientation.

    Methods

    getPreferredScrollableViewportSize
     public abstract Dimension getPreferredScrollableViewportSize()
    
    Returns the preferred size of the viewport for a view component. For example the preferredSize of a JList component is the size required to acommodate all of the cells in its list however the value of preferredScrollableViewportSize is the size required for JList.getVisibleRowCount() rows. A component without any properties that would effect the viewport size should just return getPreferredSize() here.

    Returns:
    The preferredSize of a JViewport whose view is this Scrollable.
    See Also:
    getPreferredSize
    getScrollableUnitIncrement
     public abstract int getScrollableUnitIncrement(Rectangle visibleRect,
                                                    int orientation,
                                                    int direction)
    
    Components that display logical rows or columns should compute the scroll increment that will completely expose one new row or column, depending on the value of orientation. Ideally, components should handle a partially exposed row or column by returning the distance required to completely expose the item.

    Scrolling containers, like JScrollPane, will use this method each time the user requests a unit scroll.

    Parameters:
    visibleRect - The view area visible within the viewport
    orientation - Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.
    direction - Less than zero to scroll up/left, greater than zero for down/right.
    Returns:
    The "unit" increment for scrolling in the specified direction
    See Also:
    setUnitIncrement
    getScrollableBlockIncrement
     public abstract int getScrollableBlockIncrement(Rectangle visibleRect,
                                                     int orientation,
                                                     int direction)
    
    Components that display logical rows or columns should compute the scroll increment that will completely expose one block of rows or columns, depending on the value of orientation.

    Scrolling containers, like JScrollPane, will use this method each time the user requests a block scroll.

    Parameters:
    visibleRect - The view area visible within the viewport
    orientation - Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.
    direction - Less than zero to scroll up/left, greater than zero for down/right.
    Returns:
    The "block" increment for scrolling in the specified direction.
    See Also:
    setBlockIncrement
    getScrollableTracksViewportWidth
     public abstract boolean getScrollableTracksViewportWidth()
    
    Return true if a viewport should always force the width of this Scrollable to match the width of the viewport. For example a noraml text view that supported line wrapping would return true here, since it would be undesirable for wrapped lines to disappear beyond the right edge of the viewport. Note that returning true for a Scrollable whose ancestor is a JScrollPane effectively disables horizontal scrolling.

    Scrolling containers, like JViewport, will use this method each time they are validated.

    Returns:
    True if a viewport should force the Scrollables width to match its own.
    getScrollableTracksViewportHeight
     public abstract boolean getScrollableTracksViewportHeight()
    
    Return true if a viewport should always force the height of this Scrollable to match the height of the viewport. For example a columnar text view that flowed text in left to right columns could effectively disable vertical scrolling by returning true here.

    Scrolling containers, like JViewport, will use this method each time they are validated.

    Returns:
    True if a viewport should force the Scrollables height to match its own.

     kꒁ$7~56$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.scrollable_mi.htmi.$$ Interface com.sun.java.swing.ScrollPaneConstants

    Interface com.sun.java.swing.ScrollPaneConstants

    public interface ScrollPaneConstants


    Variable Index

    COLUMN_HEADER
    HORIZONTAL_SCROLLBAR
    HORIZONTAL_SCROLLBAR_ALWAYS
    HORIZONTAL_SCROLLBAR_AS_NEEDED
    HORIZONTAL_SCROLLBAR_NEVER
    HORIZONTAL_SCROLLBAR_POLICY
    LOWER_LEFT_CORNER
    LOWER_RIGHT_CORNER
    ROW_HEADER
    UPPER_LEFT_CORNER
    UPPER_RIGHT_CORNER
    VERTICAL_SCROLLBAR
    VERTICAL_SCROLLBAR_ALWAYS
    VERTICAL_SCROLLBAR_AS_NEEDED
    VERTICAL_SCROLLBAR_NEVER
    VERTICAL_SCROLLBAR_POLICY
    VIEWPORT

    Variables

    VIEWPORT
     public static final String VIEWPORT
    
    VERTICAL_SCROLLBAR
     public static final String VERTICAL_SCROLLBAR
    
    HORIZONTAL_SCROLLBAR
     public static final String HORIZONTAL_SCROLLBAR
    
    ROW_HEADER
     public static final String ROW_HEADER
    
    COLUMN_HEADER
     public static final String COLUMN_HEADER
    
    LOWER_LEFT_CORNER
     public static final String LOWER_LEFT_CORNER
    
    LOWER_RIGHT_CORNER
     public static final String LOWER_RIGHT_CORNER
    
    UPPER_LEFT_CORNER
     public static final String UPPER_LEFT_CORNER
    
    UPPER_RIGHT_CORNER
     public static final String UPPER_RIGHT_CORNER
    
    VERTICAL_SCROLLBAR_POLICY
     public static final String VERTICAL_SCROLLBAR_POLICY
    
    HORIZONTAL_SCROLLBAR_POLICY
     public static final String HORIZONTAL_SCROLLBAR_POLICY
    
    VERTICAL_SCROLLBAR_AS_NEEDED
     public static final int VERTICAL_SCROLLBAR_AS_NEEDED
    
    VERTICAL_SCROLLBAR_NEVER
     public static final int VERTICAL_SCROLLBAR_NEVER
    
    VERTICAL_SCROLLBAR_ALWAYS
     public static final int VERTICAL_SCROLLBAR_ALWAYS
    
    HORIZONTAL_SCROLLBAR_AS_NEEDED
     public static final int HORIZONTAL_SCROLLBAR_AS_NEEDED
    
    HORIZONTAL_SCROLLBAR_NEVER
     public static final int HORIZONTAL_SCROLLBAR_NEVER
    
    HORIZONTAL_SCROLLBAR_ALWAYS
     public static final int HORIZONTAL_SCROLLBAR_ALWAYS
    

    /d kf$g 7~56$0g ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.scrollpaneconstants_mi.htmi$$ Class com.sun.java.swing.ScrollPaneLayout

    Class com.sun.java.swing.ScrollPaneLayout

    java.lang.Object
       |
       +----com.sun.java.swing.ScrollPaneLayout
    

    public class ScrollPaneLayout
    extends Object
    implements LayoutManager, ScrollPaneConstants, Serializable

    The layout manager used by JScrollPane. JScrollPaneLayout is responsible for nine components: a viewport, two scrollbars, a row header, a column header, and four "corner" components.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    colHead
    hsb
    hsbPolicy
    lowerLeft
    lowerRight
    rowHead
    upperLeft
    upperRight
    viewport
    vsb
    vsbPolicy

    Constructor Index

    ScrollPaneLayout()

    Method Index

    addLayoutComponent(String, Component)
    addSingletonComponent(Component, Component)
    Only one of these is allowed, remove the old one if neccessary.
    getColumnHeader()
    getCorner(String)
    getHorizontalScrollBar()
    getHorizontalScrollBarPolicy()
    getRowHeader()
    getVerticalScrollBar()
    getVerticalScrollBarPolicy()
    getViewport()
    getViewportBorderBounds(JScrollPane)
    layoutContainer(Container)
    Layout the scrollpane according to the following constraints:
    • The row header, if present and visible, gets its preferred height and the viewports width.
      minimumLayoutSize(Container)
      The minimum size of a ScrollPane is the size of the insets plus minimum size of the viewport, plus the scrollpanes viewportBorder insets, plus the minimum size of the visible headers, plus the minimum size of the scrollbars whose displayPolicy isn't NEVER.
      preferredLayoutSize(Container)
      The preferred size of a ScrollPane is the size of the insets plus preferred size of the viewport plus the preferred size of the visible headers, plus the preferred size of the scrollbars that will appear given the current view and the current scrollbar displayPolicies.
      removeLayoutComponent(Component)
      setHorizontalScrollBarPolicy(int)
      setVerticalScrollBarPolicy(int)

    Variables

    viewport
     protected JViewport viewport
    
    vsb
     protected JScrollBar vsb
    
    hsb
     protected JScrollBar hsb
    
    rowHead
     protected JViewport rowHead
    
    colHead
     protected JViewport colHead
    
    lowerLeft
     protected Component lowerLeft
    
    lowerRight
     protected Component lowerRight
    
    upperLeft
     protected Component upperLeft
    
    upperRight
     protected Component upperRight
    
    vsbPolicy
     protected int vsbPolicy
    
    hsbPolicy
     protected int hsbPolicy
    

    Constructors

    ScrollPaneLayout
     public ScrollPaneLayout()
    

    Methods

    addSingletonComponent
     protected Component addSingletonComponent(Component oldC,
                                               Component newC)
    
    Only one of these is allowed, remove the old one if neccessary.

    addLayoutComponent
     public void addLayoutComponent(String s,
                                    Component c)
    
    removeLayoutComponent
     public void removeLayoutComponent(Component c)
    
    getVerticalScrollBarPolicy
     public int getVerticalScrollBarPolicy()
    
    setVerticalScrollBarPolicy
     public void setVerticalScrollBarPolicy(int x)
    
    getHorizontalScrollBarPolicy
     public int getHorizontalScrollBarPolicy()
    
    setHorizontalScrollBarPolicy
     public void setHorizontalScrollBarPolicy(int x)
    
    getViewport
     public JViewport getViewport()
    
    getHorizontalScrollBar
     public JScrollBar getHorizontalScrollBar()
    
    getVerticalScrollBar
     public JScrollBar getVerticalScrollBar()
    
    getRowHeader
     public JViewport getRowHeader()
    
    getColumnHeader
     public JViewport getColumnHeader()
    
    getCorner
     public Component getCorner(String key)
    
    preferredLayoutSize
     public Dimension preferredLayoutSize(Container parent)
    
    The preferred size of a ScrollPane is the size of the insets plus preferred size of the viewport plus the preferred size of the visible headers, plus the preferred size of the scrollbars that will appear given the current view and the current scrollbar displayPolicies.

    Returns:
    The preferred size of the viewport and any scrollbars.
    See Also:
    ViewportLayout, LayoutManager
    minimumLayoutSize
     public Dimension minimumLayoutSize(Container parent)
    
    The minimum size of a ScrollPane is the size of the insets plus minimum size of the viewport, plus the scrollpanes viewportBorder insets, plus the minimum size of the visible headers, plus the minimum size of the scrollbars whose displayPolicy isn't NEVER.

    layoutContainer
     public void layoutContainer(Container parent)
    
    Layout the scrollpane according to the following constraints:
    • The row header, if present and visible, gets its preferred height and the viewports width.
    • The column header, if present and visible, gets its preferred width and the viewports height.
    • If a vertical scrollbar is needed, i.e. if the viewports extent height is smaller than its view height or if the displayPolicy is ALWAYS, it's treated like the row header wrt it's dimensions and it's made visible.
    • If a horizontal scrollbar is needed it's treated like the column header (and see the vertical scrollbar item).
    • If the scrollpane has a non-null viewportBorder, then space is allocated for that.
    • The viewport gets the space available after accounting for the previous constraints.
    • The corner components, if provided, are aligned with the ends of the scrollbars and headers. If there's a vertical scrollbar the right corners appear, if there's a horizontal scrollbar the lower corners appear, a row header gets left corners and a column header gets upper corners.

    getViewportBorderBounds
     public Rectangle getViewportBorderBounds(JScrollPane sp)
    

    "getV kh$C7~56$%C./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.scrollpanelayout_mi.htmmi$$ Interface com.sun.java.swing.SingleSelectionModel

    Interface com.sun.java.swing.SingleSelectionModel

    public interface SingleSelectionModel

    A model that supports at most one indexed selection.


    Method Index

    addChangeListener(ChangeListener)
    Adds listener as a listener to changes in the model.
    clearSelection()
    Clears the selection (to -1).
    getSelectedIndex()
    isSelected()
    Returns true if the selection model currently has a selected value.
    removeChangeListener(ChangeListener)
    Removes listener as a listener to changes in the model.
    setSelectedIndex(int)
    Sets the model's selected index to index.

    Methods

    getSelectedIndex
     public abstract int getSelectedIndex()
    
    Returns:
    the model's selection, or -1 if there is no selection.
    See Also:
    setSelectedIndex
    setSelectedIndex
     public abstract void setSelectedIndex(int index)
    
    Sets the model's selected index to index. Notifies any listeners if the model changes

    See Also:
    getSelectedIndex, addChangeListener
    clearSelection
     public abstract void clearSelection()
    
    Clears the selection (to -1).

    isSelected
     public abstract boolean isSelected()
    
    Returns true if the selection model currently has a selected value.

    addChangeListener
     public abstract void addChangeListener(ChangeListener listener)
    
    Adds listener as a listener to changes in the model.

    removeChangeListener
     public abstract void removeChangeListener(ChangeListener listener)
    
    Removes listener as a listener to changes in the model.


    2//en" k괏$I7~56$PI./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.singleselectionmodel_mi.htm$$ Interface com.sun.java.swing.SwingConstants

    Interface com.sun.java.swing.SwingConstants

    public interface SwingConstants

    A collection of constants generally used for positioning and orienting components on the screen.


    Variable Index

    BOTTOM
    CENTER
    The central position in an area.
    EAST
    HORIZONTAL
    These constants specify a horizontal or vertical orientation.
    LEFT
    NORTH
    Compass-direction constants used to specify a position.
    NORTH_EAST
    NORTH_WEST
    RIGHT
    SOUTH
    SOUTH_EAST
    SOUTH_WEST
    TOP
    Box-orientation constants used to specify a position.
    VERTICAL
    WEST

    Variables

    CENTER
     public static final int CENTER
    
    The central position in an area. Used for both compass-direction constants (NORTH, etc.) and box-orientation constants (TOP, etc.).

    TOP
     public static final int TOP
    
    Box-orientation constants used to specify a position.

    LEFT
     public static final int LEFT
    
    BOTTOM
     public static final int BOTTOM
    
    RIGHT
     public static final int RIGHT
    
    NORTH
     public static final int NORTH
    
    Compass-direction constants used to specify a position.

    NORTH_EAST
     public static final int NORTH_EAST
    
    EAST
     public static final int EAST
    
    SOUTH_EAST
     public static final int SOUTH_EAST
    
    SOUTH
     public static final int SOUTH
    
    SOUTH_WEST
     public static final int SOUTH_WEST
    
    WEST
     public static final int WEST
    
    NORTH_WEST
     public static final int NORTH_WEST
    
    HORIZONTAL
     public static final int HORIZONTAL
    
    These constants specify a horizontal or vertical orientation. For example, they are used by scrollbars and sliders.

    VERTICAL
     public static final int VERTICAL
    

    cont kd$w7~56$@iw./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.swingconstants_mi.htmtm$$ Class com.sun.java.swing.SyntheticImage

    Class com.sun.java.swing.SyntheticImage

    java.lang.Object
       |
       +----com.sun.java.swing.SyntheticImage
    

    public abstract class SyntheticImage
    extends Object
    implements ImageProducer

    A helper class to make computing synthetic images a little easier. All you need to do is define a subclass that overrides computeRow to compute a row of the image. It is passed the y coordinate of the row and an array into which to put the pixels in standard ARGB format .

    Normal usage looks something like this:

     Image i = new Image(new SyntheticImage(200, 100) {
           protected void computeRow(int y, int[] row) {
       	for(int i = width; --i>=0; ) {
       	    int grey = i*255/(width-1);
       	    row[i] = (255<<24)|(grey<<16)|(grey<<8)|grey;   }   }  } 
    This creates a image 200 pixels wide and 100 pixels high that is a horizontal grey ramp, going from black on the left to white on the right.

    If the image is to be a movie, override isStatic to return false, y cycling back to 0 is computeRow's signal that the next frame has started. It is acceptable (expected?) for computeRow(0,r) to pause until the appropriate time to start the next frame.


    Variable Index

    height
    pixMask
    width

    Constructor Index

    SyntheticImage()
    SyntheticImage(int, int)

    Method Index

    addConsumer(ImageConsumer)
    computeRow(int, int[])
    isConsumer(ImageConsumer)
    isStatic()
    nextFrame(int)
    removeConsumer(ImageConsumer)
    requestTopDownLeftRightResend(ImageConsumer)
    startProduction(ImageConsumer)

    Variables

    width
     protected int width
    
    height
     protected int height
    
    pixMask
     public static final int pixMask
    

    Constructors

    SyntheticImage
     protected SyntheticImage()
    
    SyntheticImage
     protected SyntheticImage(int w,
                              int h)
    

    Methods

    computeRow
     protected void computeRow(int y,
                               int row[])
    
    addConsumer
     public synchronized void addConsumer(ImageConsumer ic)
    
    isConsumer
     public synchronized boolean isConsumer(ImageConsumer ic)
    
    removeConsumer
     public synchronized void removeConsumer(ImageConsumer ic)
    
    startProduction
     public synchronized void startProduction(ImageConsumer ic)
    
    isStatic
     protected boolean isStatic()
    
    nextFrame
     public void nextFrame(int param)
    
    requestTopDownLeftRightResend
     public void requestTopDownLeftRightResend(ImageConsumer ic)
    

    i kXT$756$@3./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.syntheticimage_mi.htmtm$$ Class com.sun.java.swing.table.DefaultTableCellRenderer

    Class com.sun.java.swing.table.DefaultTableCellRenderer

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----com.sun.java.swing.JComponent
                               |
                               +----com.sun.java.swing.JLabel
                                       |
                                       +----com.sun.java.swing.table.DefaultTableCellRenderer
    

    public class DefaultTableCellRenderer
    extends JLabel
    implements TableCellRenderer, Serializable

    The standard class for rendering (displaying) individual cells in a JTable.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    JTable

    Variable Index

    noFocusBorder

    Constructor Index

    DefaultTableCellRenderer()

    Method Index

    getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int)
    setBackground(Color)
    setForeground(Color)
    setValue(Object)
    updateUI()
    Notification from the UIFactory that the L&F has changed.

    Variables

    noFocusBorder
     protected static Border noFocusBorder
    

    Constructors

    DefaultTableCellRenderer
     public DefaultTableCellRenderer()
    

    Methods

    setForeground
     public void setForeground(Color c)
    
    Overrides:
    setForeground in class Component
    setBackground
     public void setBackground(Color c)
    
    Overrides:
    setBackground in class Component
    updateUI
     public void updateUI()
    
    Notification from the UIFactory that the L&F has changed.

    Overrides:
    updateUI in class JLabel
    getTableCellRendererComponent
     public Component getTableCellRendererComponent(JTable table,
                                                    Object value,
                                                    boolean isSelected,
                                                    boolean hasFocus,
                                                    int row,
                                                    int column)
    
    setValue
     protected void setValue(Object value)
    

    ning k${756$P{./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.table.defaulttablecellrenderer_mi.htm$$ Interface com.sun.java.swing.table.TableCellEditor

    Interface com.sun.java.swing.table.TableCellEditor

    public interface TableCellEditor
    extends CellEditor

    This interface defines the methods any object that would like to be an editor of values for components such as ListBox, ComboBox, Tree, or Table, etc.


    Method Index

    getTableCellEditorComponent(JTable, Object, boolean, int, int)
    Sets an initial value for the editor.

    Methods

    getTableCellEditorComponent
     public abstract Component getTableCellEditorComponent(JTable table,
                                                           Object value,
                                                           boolean isSelected,
                                                           int row,
                                                           int column)
    
    Sets an initial value for the editor. This will cause the editor to stopEditing and lose any partially edited value if the editor is editing when this method is called.

    Returns the component that should be added to the client's Component hierarchy. Once installed in the client's hierarchy this component will then be able to draw and receive user input.

    Parameters:
    table - the JTable that is asking the editor to edit This parameter can be null.
    value - the value of the cell to be edited. It is up to the specific editor to interpret and draw the value. eg. if value is the String "true", it could be rendered as a string or it could be rendered as a check box that is checked. null is a valid value.
    isSelected - true is the cell is to be renderer with selection highlighting
    row - the row of the cell being edited
    column - the column of the cell being edited
    Returns:
    the component for editing

    Interface com.sun.java.swing.table.TableCellRenderer

    Interface com.sun.java.swing.table.TableCellRenderer

    public interface TableCellRenderer

    This interface defines the methods any object that would like to be a renderer for cell in a JTable.


    Method Index

    getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int)
    This method is sent to the renderer by the drawing table to configure the renderer appropriately before drawing.

    Methods

    getTableCellRendererComponent
     public abstract Component getTableCellRendererComponent(JTable table,
                                                             Object value,
                                                             boolean isSelected,
                                                             boolean hasFocus,
                                                             int row,
                                                             int column)
    
    This method is sent to the renderer by the drawing table to configure the renderer appropriately before drawing. Return the Component used for drawing.

    Parameters:
    table - the JTable that is asking the renderer to draw. This parameter can be null.
    value - the value of the cell to be rendered. It is up to the specific renderer to interpret and draw the value. eg. if value is the String "true", it could be rendered as a string or it could be rendered as a check box that is checked. null is a valid value.
    isSelected - true is the cell is to be renderer with selection highlighting
    row - the row index of the cell being drawn. When drawing the header the rowIndex is -1.
    column - the column index of the cell being drawn

    ? < k&$756$`>./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.table.tablecellrenderer_mi.htm.htm$$ Interface com.sun.java.swing.table.TableColumnModel

    Interface com.sun.java.swing.table.TableColumnModel

    public interface TableColumnModel

    See Also:
    DefaultTableColumnModel

    Method Index

    addColumn(TableColumn)
    Appends aColumn to the end of the receiver's tableColumns array.
    addColumnModelListener(TableColumnModelListener)
    getColumn(int)
    Returns the TableColumn object for the column at columnIndex
    getColumnCount()
    Returns the number of columns in the model
    getColumnIndex(Object)
    Returns the index of the first column in the receiver's columns array whose identifier is equal to identifier, when compared using equals().
    getColumnIndexAtX(int)
    Returns the index of the column that lies on the xPosition, or -1 if it lies outside the any of the column's bounds.
    getColumnMargin()
    Returns the width margin between each column
    getColumns()
    Returns an Enumeration of all the columns in the model
    getColumnSelectionAllowed()
    getSelectedColumnCount()
    getSelectedColumns()
    getSelectionModel()
    getTotalColumnWidth()
    Returns the total width of all the columns.
    moveColumn(int, int)
    Moves the column and heading at columnIndex to newIndex.
    removeColumn(TableColumn)
    Deletes the TableColumn column from the receiver's table columns array.
    removeColumnModelListener(TableColumnModelListener)
    setColumnMargin(int)
    Sets the TableColumn's column margin to newMargin.
    setColumnSelectionAllowed(boolean)
    Sets whether the columns in this model can be selected.
    setSelectionModel(ListSelectionModel)

    Methods

    addColumn
     public abstract void addColumn(TableColumn aColumn)
    
    Appends aColumn to the end of the receiver's tableColumns array. This method also posts the columnAdded() event to its listeners.

    Parameters:
    aColumn - The TableColumn to be added
    See Also:
    removeColumn
    removeColumn
     public abstract void removeColumn(TableColumn column)
    
    Deletes the TableColumn column from the receiver's table columns array. This method will do nothing if column is not in the table's columns list. This method also posts the columnRemoved() event to its listeners.

    Parameters:
    column - The TableColumn to be removed
    See Also:
    addColumn
    moveColumn
     public abstract void moveColumn(int columnIndex,
                                     int newIndex)
    
    Moves the column and heading at columnIndex to newIndex. The old column at columnIndex will now be found at newIndex, The column that used to be at newIndex is shifted left or right to make room. This will not move any columns if columnIndex equals newIndex. This method also posts the columnMoved() event to its listeners.

    Parameters:
    columnIndex - the index of column to be moved
    newIndex - New index to move the column
    Throws: IllegalArgumentException
    if column or newIndex are not in the valid range
    setColumnMargin
     public abstract void setColumnMargin(int newMargin)
    
    Sets the TableColumn's column margin to newMargin. This method also posts the columnMarginChanged() event to its listeners.

    Parameters:
    newMargin - the width margin of the column
    See Also:
    getColumnMargin
    getColumnCount
     public abstract int getColumnCount()
    
    Returns the number of columns in the model

    getColumns
     public abstract Enumeration getColumns()
    
    Returns an Enumeration of all the columns in the model

    getColumnIndex
     public abstract int getColumnIndex(Object columnIdentifier)
    
    Returns the index of the first column in the receiver's columns array whose identifier is equal to identifier, when compared using equals().

    Parameters:
    identifier - the identifier object
    Returns:
    the index of the first table column in the receiver's tableColumns array whose identifier is equal to identifier, when compared using equals().
    Throws: IllegalArgumentException
    if identifier is null or no TableColumn has this identifier
    See Also:
    getColumn
    getColumn
     public abstract TableColumn getColumn(int columnIndex)
    
    Returns the TableColumn object for the column at columnIndex

    Parameters:
    columnIndex - the index of the column desired
    Returns:
    the TableColumn object for the column at columnIndex
    getColumnMargin
     public abstract int getColumnMargin()
    
    Returns the width margin between each column

    getColumnIndexAtX
     public abstract int getColumnIndexAtX(int xPosition)
    
    Returns the index of the column that lies on the xPosition, or -1 if it lies outside the any of the column's bounds.

    Returns:
    the index of the column or -1 if no column is found
    getTotalColumnWidth
     public abstract int getTotalColumnWidth()
    
    Returns the total width of all the columns.

    setColumnSelectionAllowed
     public abstract void setColumnSelectionAllowed(boolean flag)
    
    Sets whether the columns in this model can be selected.

    See Also:
    getColumnSelectionAllowed
    getColumnSelectionAllowed
     public abstract boolean getColumnSelectionAllowed()
    
    Returns:
    true if columns can be selected.
    See Also:
    setColumnSelectionAllowed
    getSelectedColumns
     public abstract int[] getSelectedColumns()
    
    Returns:
    the indices of all selected columns, or an empty int array if no column is selected.
    See Also:
    getSelectedColumn
    getSelectedColumnCount
     public abstract int getSelectedColumnCount()
    
    Returns:
    the number of selected columns. 0 if no columns are selected.
    setSelectionModel
     public abstract void setSelectionModel(ListSelectionModel newModel)
    
    getSelectionModel
     public abstract ListSelectionModel getSelectionModel()
    
    addColumnModelListener
     public abstract void addColumnModelListener(TableColumnModelListener x)
    
    removeColumnModelListener
     public abstract void removeColumnModelListener(TableColumnModelListener x)
    

    "com k$ 756$ ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.table.tablecolumnmodel_mi.htm.htm$$ Interface com.sun.java.swing.table.TableModel

    Interface com.sun.java.swing.table.TableModel

    public interface TableModel

    The TableModel interface ispecifies the methods the JTable will use to interrogate a tabular data model.

    The JTable can be set up to display any data model which implements the TableModel interface with a couple of lines of code:

    TableModel myData = new MyTableModel(); JTable table = new JTable(myData);

    See Also:
    JTable, AbstractTableModel

    Method Index

    addTableModelListener(TableModelListener)
    Add a listener to the list that's notified each time a change to the data model occurs.
    getColumnClass(int)
    Returns the lowest common denominator Class in the column.
    getColumnCount()
    Returns the number of columns managed by the data source object.
    getColumnName(int)
    Returns the name of the column at columnIndex.
    getRowCount()
    Returns the number of records managed by the data source object.
    getValueAt(int, int)
    Returns an attribute value for the cell at columnIndex and rowIndex.
    isCellEditable(int, int)
    Returns true if the cell at rowIndex and columnIndex is editable.
    removeTableModelListener(TableModelListener)
    Remove a listener from the list that's notified each time a change to the data model occurs.
    setValueAt(Object, int, int)
    Sets an attribute value for the record in the cell at columnIndex and rowIndex.

    Methods

    getRowCount
     public abstract int getRowCount()
    
    Returns the number of records managed by the data source object. A JTable uses this method to determine how many rows it should create and display. This method should be quick, as it is call by JTable quite frequently.

    Returns:
    the number or rows in the model
    See Also:
    getColumnCount
    getColumnCount
     public abstract int getColumnCount()
    
    Returns the number of columns managed by the data source object. A JTable uses this method to determine how many columns it should create and display on initialization.

    Returns:
    the number or columns in the model
    See Also:
    getRowCount
    getColumnName
     public abstract String getColumnName(int columnIndex)
    
    Returns the name of the column at columnIndex. This is used to initialize the table's column header name. Note, this name does not need to be unique. Two columns on a table can have the same name.

    Parameters:
    columnIndex - the index of column
    Returns:
    the name of the column
    getColumnClass
     public abstract Class getColumnClass(int columnIndex)
    
    Returns the lowest common denominator Class in the column. This is used by the table to set up a default renderer and editor for the column.

    Returns:
    the common ancestor class of the object values in the model.
    isCellEditable
     public abstract boolean isCellEditable(int rowIndex,
                                            int columnIndex)
    
    Returns true if the cell at rowIndex and columnIndex is editable. Otherwise, setValueAt() on the cell will not change the value of that cell.

    Parameters:
    rowIndex - the row whose value is to be looked up
    columnIndex - the column whose value is to be looked up
    Returns:
    true if the cell is editable.
    See Also:
    setValueAt
    getValueAt
     public abstract Object getValueAt(int rowIndex,
                                       int columnIndex)
    
    Returns an attribute value for the cell at columnIndex and rowIndex.

    Parameters:
    rowIndex - the row whose value is to be looked up
    columnIndex - the column whose value is to be looked up
    Returns:
    the value Object at the specified cell
    setValueAt
     public abstract void setValueAt(Object aValue,
                                     int rowIndex,
                                     int columnIndex)
    
    Sets an attribute value for the record in the cell at columnIndex and rowIndex. aValue is the new value.

    Parameters:
    aValue - the new value
    rowIndex - the row whose value is to be changed
    columnIndex - the column whose value is to be changed
    See Also:
    getValueAt, isCellEditable
    addTableModelListener
     public abstract void addTableModelListener(TableModelListener l)
    
    Add a listener to the list that's notified each time a change to the data model occurs.

    Parameters:
    l - the TableModelListener
    removeTableModelListener
     public abstract void removeTableModelListener(TableModelListener l)
    
    Remove a listener from the list that's notified each time a change to the data model occurs.

    Parameters:
    l - the TableModelListener

    me. No k$756$PQ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.table.tablemodel_mi.htm.htm$$ Interface com.sun.java.swing.text.AttributeSet

    Interface com.sun.java.swing.text.AttributeSet

    public interface AttributeSet

    A collection of unique attributes. This is a read-only, immutable interface. An attribute is basically a key and a value assigned to the key. The collection may represent something like a style run, a logical style, etc. These are generally used to describe features that will contribute to some graphical representation such as a font. The set of possible keys is unbounded and can be anything. Typically View implementations will respond to attribute definitions and render something to represent the attributes.

    Attributes can potentially resolve in a hierarchy. If a key doesn't resolve locally, and a resolving parent exists, the key will be resolved through the parent.

    See Also:
    MutableAttributeSet, AttributeCharacterIterator

    Variable Index

    NameAttribute
    Attribute name used to name the collection of attributes.
    ResolveAttribute
    Attribute name used to identifiy the resolving parent set of attributes, if one is defined.

    Method Index

    containsAttribute(Object, Object)
    Returns true if this set contains this attribute with an equal value.
    containsAttributes(AttributeSet)
    Returns true if this set contains all the attributes with equal values.
    copyAttributes()
    Returns an attribute set that is guaranteed not to change over time.
    getAttribute(Object)
    Fetches the value of the given attribute.
    getAttributeCount()
    Returns the number of attributes contained in this set.
    getAttributeNames()
    Returns an enumeration over the names of the attributes in the set.
    getResolveParent()
    Gets the resolving parent.
    isDefined(Object)
    Checks whether the named attribute has a value specified in the set without resolving through another attribute set.
    isEqual(AttributeSet)
    Determines if the two attribute sets are equivalent.

    Variables

    NameAttribute
     public static final Object NameAttribute
    
    Attribute name used to name the collection of attributes.

    ResolveAttribute
     public static final Object ResolveAttribute
    
    Attribute name used to identifiy the resolving parent set of attributes, if one is defined.


    Methods

    getAttributeCount
     public abstract int getAttributeCount()
    
    Returns the number of attributes contained in this set.

    Returns:
    the number of attributes
    isDefined
     public abstract boolean isDefined(Object attrName)
    
    Checks whether the named attribute has a value specified in the set without resolving through another attribute set.

    Parameters:
    attrName - the attribute name
    Returns:
    true if the attribute has a value specified
    isEqual
     public abstract boolean isEqual(AttributeSet attr)
    
    Determines if the two attribute sets are equivalent.

    Parameters:
    attr - an attribute set
    Returns:
    true if the sets are equivalent
    copyAttributes
     public abstract AttributeSet copyAttributes()
    
    Returns an attribute set that is guaranteed not to change over time.

    Returns:
    a copy of the attribute set
    getAttribute
     public abstract Object getAttribute(Object key)
    
    Fetches the value of the given attribute. If the value is not found locally, the search is continued upward through the resolving parent (if one exists) until the value is either found or there are no more parents. If the value is not found, null is returned.

    Parameters:
    key - the key of the attribute binding
    Returns:
    the value
    getAttributeNames
     public abstract Enumeration getAttributeNames()
    
    Returns an enumeration over the names of the attributes in the set. The elements of the enumeration are all Strings. The set does not include the resolving parent, if one is defined.

    Returns:
    the names
    containsAttribute
     public abstract boolean containsAttribute(Object name,
                                               Object value)
    
    Returns true if this set contains this attribute with an equal value.

    Parameters:
    name - the attribute name
    value - the value
    Returns:
    true if the set contains the attribute with an equal value
    containsAttributes
     public abstract boolean containsAttributes(AttributeSet attributes)
    
    Returns true if this set contains all the attributes with equal values.

    Parameters:
    attributes - the set of attributes to check against
    Returns:
    true if this set contains all the attributes with equal values
    getResolveParent
     public abstract AttributeSet getResolveParent()
    
    Gets the resolving parent.

    Returns:
    the parent

    s co k~Q$$756$@{./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.attributeset_mi.htmtm$$ Class com.sun.java.swing.text.BadLocationException

    Class com.sun.java.swing.text.BadLocationException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sun.java.swing.text.BadLocationException
    

    public class BadLocationException
    extends Exception

    This exception is to report bad locations within a document model (that is, attempts to reference a location that doesn't exist).

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    BadLocationException(String, int)
    Creates a new BadLocationException object.

    Method Index

    offsetRequested()
    Returns the offset into the document that was not legal.

    Constructors

    BadLocationException
     public BadLocationException(String s,
                                 int offs)
    
    Creates a new BadLocationException object.

    Parameters:
    s - a string indicating what was wrong with the arguments
    offs - offset within the document that was requested

    Methods

    offsetRequested
     public int offsetRequested()
    
    Returns the offset into the document that was not legal.

    Returns:
    the offset

    lveP kb'$F756$`>F./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.badlocationexception_mi.htmtm$$ Interface com.sun.java.swing.text.Caret

    Interface com.sun.java.swing.text.Caret

    public interface Caret

    A place within a document view that represents where things can be inserted into the document model. It gives a way to navigate through the document view while abstracting away the details of how the view is arranged. This can be useful because some views may filter out portions of the associated model, and some views may not allow navigation in certain areas such as read-only areas.


    Method Index

    addChangeListener(ChangeListener)
    Adds a listener to track whenever the caret position has been changed.
    deinstall(JTextComponent)
    Called when the UI is being removed from the interface of a JTextComponent.
    getBlinkRate()
    Gets the blink rate of the caret.
    getDot()
    Fetches the current position of the caret.
    getMagicCaretPosition()
    Gets the current caret position.
    getMark()
    Fetches the current position of the mark.
    install(JTextComponent)
    Called when the UI is being installed into the interface of a JTextComponent.
    isSelectionVisible()
    Determines if the selection is currently visible.
    isVisible()
    Determines if the caret is currently visible.
    moveDot(int)
    Moves the caret position to some other position, leaving behind the mark.
    paint(Graphics)
    Renders the caret.
    removeChangeListener(ChangeListener)
    Removes a listener that was tracking caret position changes.
    setBlinkRate(int)
    Sets the blink rate of the caret.
    setDot(int)
    Sets the caret position to some position.
    setMagicCaretPosition(Point)
    Saves the current caret position.
    setSelectionVisible(boolean)
    Sets the visibility of the selection
    setVisible(boolean)
    Sets the visibility of the caret.

    Methods

    install
     public abstract void install(JTextComponent c)
    
    Called when the UI is being installed into the interface of a JTextComponent. This can be used to gain access to the model that is being navigated by the implementation of this interface.

    Parameters:
    c - the JTextComponent
    deinstall
     public abstract void deinstall(JTextComponent c)
    
    Called when the UI is being removed from the interface of a JTextComponent. This is used to unregister any listeners that were attached.

    Parameters:
    c - the JTextComponent
    paint
     public abstract void paint(Graphics g)
    
    Renders the caret.

    Parameters:
    g - the graphics context
    addChangeListener
     public abstract void addChangeListener(ChangeListener l)
    
    Adds a listener to track whenever the caret position has been changed.

    Parameters:
    l - the change listener
    removeChangeListener
     public abstract void removeChangeListener(ChangeListener l)
    
    Removes a listener that was tracking caret position changes.

    Parameters:
    l - the change listener
    isVisible
     public abstract boolean isVisible()
    
    Determines if the caret is currently visible.

    Returns:
    true if the caret is visible else false
    setVisible
     public abstract void setVisible(boolean v)
    
    Sets the visibility of the caret.

    Parameters:
    v - true if the caret should be shown, and false if the caret should be hidden
    isSelectionVisible
     public abstract boolean isSelectionVisible()
    
    Determines if the selection is currently visible.

    Returns:
    true if the caret is visible else false
    setSelectionVisible
     public abstract void setSelectionVisible(boolean v)
    
    Sets the visibility of the selection

    Parameters:
    v - true if the caret should be shown, and false if the caret should be hidden
    setMagicCaretPosition
     public abstract void setMagicCaretPosition(Point p)
    
    Saves the current caret position. This is used when caret up or down actions occur, moving between lines that have uneven end positions.

    Parameters:
    p - the Point to use for the saved position
    getMagicCaretPosition
     public abstract Point getMagicCaretPosition()
    
    Gets the current caret position.

    Returns:
    the position
    See Also:
    setMagicCaretPosition
    setBlinkRate
     public abstract void setBlinkRate(int rate)
    
    Sets the blink rate of the caret. This determines if and how fast the caret blinks, commonly used as one way to attract attention to the caret.

    Parameters:
    rate - the delay in milliseconds. If this is zero the caret will not blink.
    getBlinkRate
     public abstract int getBlinkRate()
    
    Gets the blink rate of the caret. This determines if and how fast the caret blinks, commonly used as one way to attract attention to the caret.

    Returns:
    s the delay in milliseconds. If this is zero the caret will not blink.
    getDot
     public abstract int getDot()
    
    Fetches the current position of the caret.

    Returns:
    the position
    getMark
     public abstract int getMark()
    
    Fetches the current position of the mark. If there is a selection, the mark will not be the same as the dot.

    Returns:
    the position
    setDot
     public abstract void setDot(int dot)
    
    Sets the caret position to some position. This causes the mark to become the same as the dot, effectively setting the selection range to zero.

    Parameters:
    dot - the new position to set the caret to
    moveDot
     public abstract void moveDot(int dot)
    
    Moves the caret position to some other position, leaving behind the mark. This is useful for making selections.

    Parameters:
    dot - the new position to move the caret to

    ,  k-$ 756$0 ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.caret_mi.htm$$ Class com.sun.java.swing.text.ComponentView

    Class com.sun.java.swing.text.ComponentView

    java.lang.Object
       |
       +----com.sun.java.swing.text.View
               |
               +----com.sun.java.swing.text.ComponentView
    

    public class ComponentView
    extends View

    Component decorator that implements the view interface. The entire element is used to represent the component. This acts as a gateway from the display-only View implementations to interactive lightweight components (ie it allows components to be embedded into the View hierarchy. The parent of the component is the container that is handed out by the associated view factory.


    Constructor Index

    ComponentView(Element)
    Creates a new JComponentView object.

    Method Index

    getAlignment(int)
    Determines the desired alignment for this view along an axis.
    getPreferredSpan(int)
    Determines the preferred span for this view along an axis.
    modelToView(int, Shape)
    Provides a mapping from the coordinate space of the model to that of the view.
    paint(Graphics, Shape)
    Paints a component view.
    setParent(View)
    Sets the parent for a child view.
    setSize(float, float)
    Sets the size of the view.
    viewToModel(float, float, Shape)
    Provides a mapping from the view coordinate space to the logical coordinate space of the model.

    Constructors

    ComponentView
     public ComponentView(Element elem)
    
    Creates a new JComponentView object.

    Parameters:
    elem - the element to decorate

    Methods

    paint
     public void paint(Graphics g,
                       Shape a)
    
    Paints a component view. The real paint behavior occurs naturally from the association that the component has with its parent container (the same container hosting this view), so this simply allows us to position the component properly relative to the view. Since the coordinate system for the view is simply the parent containers, positioning the child component is easy.

    Parameters:
    g - the graphics context
    a - the shape
    Overrides:
    paint in class View
    See Also:
    paint
    getPreferredSpan
     public float getPreferredSpan(int axis)
    
    Determines the preferred span for this view along an axis.

    Parameters:
    axis - may be either X_AXIS or Y_AXIS
    Returns:
    s the span the view would like to be rendered into. Typically the view is told to render into the span that is returned, although there is no guarantee. The parent may choose to resize or break the view.
    Overrides:
    getPreferredSpan in class View
    getAlignment
     public float getAlignment(int axis)
    
    Determines the desired alignment for this view along an axis. This is implemented to give the alignment of the embedded component.

    Parameters:
    axis - may be either X_AXIS or Y_AXIS
    Returns:
    s the desired alignment. This should be a value between 0.0 and 1.0 where 0 indicates alignment at the origin and 1.0 indicates alignment to the full span away from the origin. An alignment of 0.5 would be the center of the view.
    Overrides:
    getAlignment in class View
    setSize
     public void setSize(float width,
                         float height)
    
    Sets the size of the view.

    Parameters:
    width - the width
    height - the height
    Overrides:
    setSize in class View
    setParent
     public void setParent(View p)
    
    Sets the parent for a child view. The parent calls this on the child to tell it who its parent is. If this is null, the view has been removed and we need to remove the associated component from its parent.

    Parameters:
    p - the parent
    Overrides:
    setParent in class View
    modelToView
     public Shape modelToView(int pos,
                              Shape a) throws BadLocationException
    
    Provides a mapping from the coordinate space of the model to that of the view.

    Parameters:
    pos - the position to convert
    a - the allocated region to render into
    Returns:
    the bounding box of the given position is returned
    Throws: BadLocationException
    if the given position does not represent a valid location in the associated document
    Overrides:
    modelToView in class View
    See Also:
    modelToView
    viewToModel
     public int viewToModel(float x,
                            float y,
                            Shape a)
    
    Provides a mapping from the view coordinate space to the logical coordinate space of the model.

    Parameters:
    x - the X coordinate
    y - the Y coordinate
    a - the allocated region to render into
    Returns:
    the location within the model that best represents the given point in the view
    Overrides:
    viewToModel in class View
    See Also:
    viewToModel

    the  kz0$i756$Pi./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.componentview_mi.htmi.$$ Class com.sun.java.swing.text.DefaultHighlighter

    Class com.sun.java.swing.text.DefaultHighlighter

    java.lang.Object
       |
       +----com.sun.java.swing.text.DefaultHighlighter
    

    public class DefaultHighlighter
    extends Object
    implements Highlighter

    Implements the Highlighter interfaces. Implements a simple highlight painter that renders in a solid color.

    See Also:
    Highlighter

    Constructor Index

    DefaultHighlighter()
    Creates a new object.

    Method Index

    addHighlight(int, int, Highlighter. HighlightPainter)
    Adds a highlight to the view.
    changeHighlight(Object, int, int)
    Changes a highlight.
    deinstall(JTextComponent)
    Called when the UI is being removed from the interface of a JTextComponent.
    getHighlights()
    Makes a copy of the highlights.
    install(JTextComponent)
    Called when the UI is being installed into the interface of a JTextComponent.
    paint(Graphics)
    Renders the highlights.
    removeAllHighlights()
    Removes all highlights.
    removeHighlight(Object)
    Removes a highlight from the view.

    Constructors

    DefaultHighlighter
     public DefaultHighlighter()
    
    Creates a new object.


    Methods

    paint
     public void paint(Graphics g)
    
    Renders the highlights.

    Parameters:
    g - the graphics context
    install
     public void install(JTextComponent c)
    
    Called when the UI is being installed into the interface of a JTextComponent. Installs the document model.

    Parameters:
    c - the component
    See Also:
    install
    deinstall
     public void deinstall(JTextComponent c)
    
    Called when the UI is being removed from the interface of a JTextComponent.

    Parameters:
    c - the component
    See Also:
    deinstall
    addHighlight
     public Object addHighlight(int p0,
                                int p1,
                                Highlighter. HighlightPainter p) throws BadLocationException
    
    Adds a highlight to the view. Returns a tag that can be used to refer to the highlight.

    Parameters:
    p0 - the start offset of the range to highlight
    p1 - the end offset of the range to highlight
    p - the painter to use to actually render the highlight
    Returns:
    s an object that can be used as a tag to refer to the highlight
    Throws: BadLocationException
    if the specified location is invalid
    removeHighlight
     public void removeHighlight(Object tag)
    
    Removes a highlight from the view.

    Parameters:
    tag - the reference to the highlight
    removeAllHighlights
     public void removeAllHighlights()
    
    Removes all highlights.

    changeHighlight
     public void changeHighlight(Object tag,
                                 int p0,
                                 int p1) throws BadLocationException
    
    Changes a highlight.

    Parameters:
    tag - the highlight tag
    p0 - the beginning of the range
    p1 - the end of the range
    Throws: BadLocationException
    if the specified location is invalid
    getHighlights
     public Highlighter. Highlight[] getHighlights()
    
    Makes a copy of the highlights.

    Returns:
    the copy
    See Also:
    getHighlights

    < k(s<$n756$@n./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.defaulthighlighter_mi.htmtm$$ Class com.sun.java.swing.text.DefaultStyledDocument

    Class com.sun.java.swing.text.DefaultStyledDocument

    java.lang.Object
       |
       +----com.sun.java.swing.text.AbstractDocument
               |
               +----com.sun.java.swing.text.DefaultStyledDocument
    

    public class DefaultStyledDocument
    extends AbstractDocument
    implements StyledDocument

    A document that can be marked up with character and paragraph styles in a manner similar to the Rich Text Format. The element structure for this document represents style crossings for style runs. These style runs are mapped into a paragraph element structure (which may reside in some other structure). The style runs break at paragraph boundries since logical styles are assigned to paragraph boundries.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    Document, AbstractDocument

    Variable Index

    BUFFER_SIZE_DEFAULT
    The default size of the initial content buffer.

    Constructor Index

    DefaultStyledDocument()
    Constructs a default styled document.
    DefaultStyledDocument(AbstractDocument. Content, StyleContext)
    Constructs a styled document.
    DefaultStyledDocument(StyleContext)
    Constructs a styled document with the default content storage implementation and a shared set of styles.

    Method Index

    addStyle(String, Style)
    Adds a new style into the logical style hierarchy.
    createDefaultRoot()
    Creates the root element to be used to represent the default document structure.
    getBackground(AttributeSet)
    Gets the background color from an attribute set.
    getCharacterElement(int)
    Gets a character element based on a position.
    getDefaultRootElement()
    Gets the default root element.
    getFont(AttributeSet)
    Gets the font from an attribute set.
    getForeground(AttributeSet)
    Gets the foreground color from an attribute set.
    getLogicalStyle(int)
    Fetches the logical style assigned to the paragraph represented by the given position.
    getParagraphElement(int)
    Gets a paragraph element.
    getStyle(String)
    Fetches a named style previously added.
    insert(int, DefaultStyledDocument. ElementSpec[])
    Inserts new elements in bulk.
    insertUpdate(AbstractDocument. DefaultDocumentEvent, AttributeSet)
    Updates document structure as a result of text insertion.
    removeStyle(String)
    Removes a named style previously added to the document.
    removeUpdate(AbstractDocument. DefaultDocumentEvent)
    Updates document structure as a result of text removal.
    setCharacterAttributes(int, int, AttributeSet, boolean)
    Sets attributes for some part of the document.
    setLogicalStyle(int, Style)
    Sets the logical style to use for the paragraph at the given position.
    setParagraphAttributes(int, int, AttributeSet, boolean)
    Sets attributes for a paragraph.

    Variables

    BUFFER_SIZE_DEFAULT
     public static final int BUFFER_SIZE_DEFAULT
    
    The default size of the initial content buffer.


    Constructors

    DefaultStyledDocument
     public DefaultStyledDocument(AbstractDocument. Content c,
                                  StyleContext styles)
    
    Constructs a styled document.

    Parameters:
    c - the container for the content
    styles - resources and style definitions which may be shared across documents
    DefaultStyledDocument
     public DefaultStyledDocument(StyleContext styles)
    
    Constructs a styled document with the default content storage implementation and a shared set of styles.

    Parameters:
    styles - the styles
    DefaultStyledDocument
     public DefaultStyledDocument()
    
    Constructs a default styled document. This buffers input content by a size of BUFFER_SIZE_DEFAULT and has a style context that is scoped by the lifetime of the document and is not shared with other documents.


    Methods

    getDefaultRootElement
     public Element getDefaultRootElement()
    
    Gets the default root element.

    Returns:
    the root
    Overrides:
    getDefaultRootElement in class AbstractDocument
    See Also:
    getDefaultRootElement
    insert
     protected void insert(int offset,
                           DefaultStyledDocument. ElementSpec data[]) throws BadLocationException
    
    Inserts new elements in bulk. This is useful to allow parsing with the document in an unlocked state and prepare an element structure modification. This method takes an array of tokens that describe how to update an element structure so the time within a write lock can be greatly reduced in an asynchronous update situation.

    This method is thread safe, although most Swing methods are not.

    Parameters:
    offset - the starting offset
    data - the element data
    Throws: BadLocationException
    for an invalid starting offset
    addStyle
     public Style addStyle(String nm,
                           Style parent)
    
    Adds a new style into the logical style hierarchy. Style attributes resolve from bottom up so an attribute specified in a child will override an attribute specified in the parent.

    Parameters:
    nm - the name of the style (must be unique within the collection of named styles). The name may be null if the style is unnamed, but the caller is responsible for managing the reference returned as an unnamed style can't be fetched by name. An unnamed style may be useful for things like character attribute overrides such as found in a style run.
    parent - the parent style. This may be null if unspecified attributes need not be resolved in some other style.
    Returns:
    the style
    removeStyle
     public void removeStyle(String nm)
    
    Removes a named style previously added to the document.

    Parameters:
    nm - the name of the style to remove
    getStyle
     public Style getStyle(String nm)
    
    Fetches a named style previously added.

    Parameters:
    nm - the name of the style
    Returns:
    the style
    setLogicalStyle
     public void setLogicalStyle(int pos,
                                 Style s)
    
    Sets the logical style to use for the paragraph at the given position. If attributes aren't explicitly set for character and paragraph attributes they will resolve through the logical style assigned to the paragraph, which in turn may resolve through some hierarchy completely independent of the element hierarchy in the document.

    This method is thread safe, although most Swing methods are not.

    Parameters:
    pos - the offset from the start of the document
    s - the logical style to assign to the paragraph
    getLogicalStyle
     public Style getLogicalStyle(int p)
    
    Fetches the logical style assigned to the paragraph represented by the given position.

    Parameters:
    p - the location to translate to a paragraph and determine the logical style assigned. This is an offset from the start of the document.
    Returns:
    the style
    setCharacterAttributes
     public void setCharacterAttributes(int offset,
                                        int length,
                                        AttributeSet s,
                                        boolean replace)
    
    Sets attributes for some part of the document. A write lock is held by this operation while changes are being made, and a DocumentEvent is sent to the listeners after the change has been successfully completed.

    This method is thread safe, although most Swing methods are not.

    Parameters:
    offset - the offset in the document
    length - the length
    s - the attributes
    replace - true if the previous attributes should be replaced before setting the new attributes
    setParagraphAttributes
     public void setParagraphAttributes(int offset,
                                        int length,
                                        AttributeSet s,
                                        boolean replace)
    
    Sets attributes for a paragraph.

    This method is thread safe, although most Swing methods are not.

    Parameters:
    offset - the offset into the paragraph
    length - the number of characters affected
    s - the attributes
    replace - whether to replace existing attributes, or merge them
    getParagraphElement
     public Element getParagraphElement(int pos)
    
    Gets a paragraph element.

    Parameters:
    pos - the starting offset
    Returns:
    the element
    getCharacterElement
     public Element getCharacterElement(int pos)
    
    Gets a character element based on a position.

    Parameters:
    pos - the position in the document
    Returns:
    the element
    insertUpdate
     protected void insertUpdate(AbstractDocument. DefaultDocumentEvent chng,
                                 AttributeSet attr)
    
    Updates document structure as a result of text insertion. This will happen within a write lock. This implementation simply parses the inserted content for line breaks and builds up a set of instructions for the element buffer.

    Parameters:
    chng - a description of the document change
    attr - the attributes
    Overrides:
    insertUpdate in class AbstractDocument
    removeUpdate
     protected void removeUpdate(AbstractDocument. DefaultDocumentEvent chng)
    
    Updates document structure as a result of text removal.

    Parameters:
    chng - a description of the document change
    Overrides:
    removeUpdate in class AbstractDocument
    createDefaultRoot
     protected AbstractDocument. AbstractElement createDefaultRoot()
    
    Creates the root element to be used to represent the default document structure.

    Returns:
    the element base
    getForeground
     public Color getForeground(AttributeSet attr)
    
    Gets the foreground color from an attribute set.

    Parameters:
    attr - the attribute set
    Returns:
    the color
    getBackground
     public Color getBackground(AttributeSet attr)
    
    Gets the background color from an attribute set.

    Parameters:
    attr - the attribute set
    Returns:
    the color
    getFont
     public Font getFont(AttributeSet attr)
    
    Gets the font from an attribute set.

    Parameters:
    attr - the attribute set
    Returns:
    the font

    lem kЊ?$756$q./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.defaultstyleddocument_mi.htmm$$ Interface com.sun.java.swing.text.Element

    Interface com.sun.java.swing.text.Element

    public interface Element

    Interface to describe a structural piece of a document. It is intended to capture the spirit of an SGML element.


    Method Index

    getAttributes()
    Fetches the collection of attributes this element contains.
    getDocument()
    Fetches the document associated with this element.
    getElement(int)
    Fetches the child element at the given index.
    getElementCount()
    Gets the number of child elements contained by this element.
    getElementIndex(int)
    Gets the child element index closest to the given offset.
    getEndOffset()
    Fetches the offset from the beginning of the document that this element ends at.
    getName()
    Fetches the name of the element.
    getParentElement()
    Fetches the parent element.
    getStartOffset()
    Fetches the offset from the beginning of the document that this element begins at.
    isLeaf()
    Is this element a leaf element?

    Methods

    getDocument
     public abstract Document getDocument()
    
    Fetches the document associated with this element.

    Returns:
    the document
    getParentElement
     public abstract Element getParentElement()
    
    Fetches the parent element. If the element is a root level element returns null.

    Returns:
    the parent element
    getName
     public abstract String getName()
    
    Fetches the name of the element. If the element is used to represent some type of structure, this would be the type name.

    Returns:
    the element name
    getAttributes
     public abstract AttributeSet getAttributes()
    
    Fetches the collection of attributes this element contains.

    Returns:
    the attributes for the element
    getStartOffset
     public abstract int getStartOffset()
    
    Fetches the offset from the beginning of the document that this element begins at. If this element has children, this will be the offset of the first child.

    Returns:
    the starting offset
    getEndOffset
     public abstract int getEndOffset()
    
    Fetches the offset from the beginning of the document that this element ends at. If this element has children, this will be the end offset of the last child.

    Returns:
    the ending offset
    getElementIndex
     public abstract int getElementIndex(int offset)
    
    Gets the child element index closest to the given offset. The offset is specified relative to the begining of the document.

    Parameters:
    offset - the specified offset
    Returns:
    the element index
    getElementCount
     public abstract int getElementCount()
    
    Gets the number of child elements contained by this element. If this element is a leaf, a count of zero is returned.

    Returns:
    the number of child elements
    getElement
     public abstract Element getElement(int index)
    
    Fetches the child element at the given index.

    Parameters:
    index - the specified index
    Returns:
    the child element
    isLeaf
     public abstract boolean isLeaf()
    
    Is this element a leaf element?

    Returns:
    true if a leaf element else false

    is el k^K$)756$P)./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.element_mi.htm$$ Interface com.sun.java.swing.text.Highlighter

    Interface com.sun.java.swing.text.Highlighter

    public interface Highlighter

    An interface for an object that allows one to mark up the background with colored areas.


    Method Index

    addHighlight(int, int, Highlighter. HighlightPainter)
    Adds a highlight to the view.
    changeHighlight(Object, int, int)
    Changes the given highlight to span a different portion of the document.
    deinstall(JTextComponent)
    Called when the UI is being removed from the interface of a JTextComponent.
    getHighlights()
    Fetches the current list of highlights
    install(JTextComponent)
    Called when the UI is being installed into the interface of a JTextComponent.
    paint(Graphics)
    Renders the highlights.
    removeAllHighlights()
    Removes all highlights this highlighter is responsible for.
    removeHighlight(Object)
    Removes a highlight from the view.

    Methods

    install
     public abstract void install(JTextComponent c)
    
    Called when the UI is being installed into the interface of a JTextComponent. This can be used to gain access to the model that is being navigated by the implementation of this interface.

    Parameters:
    c - the JTextComponent
    deinstall
     public abstract void deinstall(JTextComponent c)
    
    Called when the UI is being removed from the interface of a JTextComponent. This is used to unregister any listeners that were attached.

    Parameters:
    c - the JTextComponent
    paint
     public abstract void paint(Graphics g)
    
    Renders the highlights.

    Parameters:
    g - the graphics context.
    addHighlight
     public abstract Object addHighlight(int p0,
                                         int p1,
                                         Highlighter. HighlightPainter p) throws BadLocationException
    
    Adds a highlight to the view. Returns a tag that can be used to refer to the highlight.

    Parameters:
    p0 - the beginning of the range
    p1 - the end of the range
    p - the painter to use for the actual highlighting
    Returns:
    an object that refers to the highlight
    Throws: BadLocationException
    for an invalid range specification
    removeHighlight
     public abstract void removeHighlight(Object tag)
    
    Removes a highlight from the view.

    Parameters:
    tag - which highlight to remove
    removeAllHighlights
     public abstract void removeAllHighlights()
    
    Removes all highlights this highlighter is responsible for.

    changeHighlight
     public abstract void changeHighlight(Object tag,
                                          int p0,
                                          int p1) throws BadLocationException
    
    Changes the given highlight to span a different portion of the document. This may be more efficient than a remove/add when a selection is expanding/shrinking (such as a sweep with a mouse) by damaging only what changed.

    Parameters:
    tag - which highlight to change
    p0 - the beginning of the range
    p1 - the end of the range
    Throws: BadLocationException
    for an invalid range specification
    getHighlights
     public abstract Highlighter. Highlight[] getHighlights()
    
    Fetches the current list of highlights

    Returns:
    the highlight list

     kQ$756$P6./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.highlighter_mi.htmmi$$ Class com.sun.java.swing.text.html.HTMLEditorKit

    Class com.sun.java.swing.text.html.HTMLEditorKit

    java.lang.Object
       |
       +----com.sun.java.swing.text.EditorKit
               |
               +----com.sun.java.swing.text.DefaultEditorKit
                       |
                       +----com.sun.java.swing.text.StyledEditorKit
                               |
                               +----com.sun.java.swing.text.html.HTMLEditorKit
    

    public class HTMLEditorKit
    extends StyledEditorKit

    This is the default implementation of html editing functionality. The primary goal with this is to be small, but flexible. It is not intended to be an all singing and all dancing html implementation. This is provided to meet more modest needs, with the idea that more substantial needs can be met with alternative implementations.


    Variable Index

    BOLD_ACTION
    The bold action identifier
    COLOR_ACTION
    The Color choice action identifier The color is passed as an argument
    DEFAULT_CSS
    Default Cascading Style Sheet file that sets up the tag views.
    FONT_CHANGE_BIGGER
    The font size increase to next value action identifier
    FONT_CHANGE_SMALLER
    The font size decrease to next value action identifier
    IMG_ALIGN_BOTTOM
    IMG_ALIGN_MIDDLE
    IMG_ALIGN_TOP
    IMG_BORDER
    ITALIC_ACTION
    The italic action identifier
    LOGICAL_STYLE_ACTION
    The logical style choice action identifier The logical style is passed in as an argument
    PARA_INDENT_LEFT
    The paragraph left indent action identifier
    PARA_INDENT_RIGHT
    The paragraph right indent action identifier

    Constructor Index

    HTMLEditorKit()
    Constructs an HTMLEditorKit, creates a StyleContext, and loads the style sheet.

    Method Index

    clone()
    Create a copy of the editor kit.
    createDefaultDocument()
    Create an uninitialized text storage model that is appropriate for this type of editor.
    deinstall(JEditorPane)
    Called when the kit is being removed from the JEditorPane.
    getActions()
    Fetches the command list for the editor.
    getContentType()
    Get the MIME type of the data that this kit represents support for.
    getViewFactory()
    Fetch a factory that is suitable for producing views of any models that are produced by this kit.
    install(JEditorPane)
    Called when the kit is being installed into the a JEditorPane.
    read(Reader, Document, int)
    Create and initialize a model from the given stream which is expected to be in a format appropriate for this kind of editor.
    write(Writer, Document, int, int)
    Write content from a document to the given stream in a format appropriate for this kind of content handler.

    Variables

    DEFAULT_CSS
     public static final String DEFAULT_CSS
    
    Default Cascading Style Sheet file that sets up the tag views.

    BOLD_ACTION
     public static final String BOLD_ACTION
    
    The bold action identifier

    ITALIC_ACTION
     public static final String ITALIC_ACTION
    
    The italic action identifier

    PARA_INDENT_LEFT
     public static final String PARA_INDENT_LEFT
    
    The paragraph left indent action identifier

    PARA_INDENT_RIGHT
     public static final String PARA_INDENT_RIGHT
    
    The paragraph right indent action identifier

    FONT_CHANGE_BIGGER
     public static final String FONT_CHANGE_BIGGER
    
    The font size increase to next value action identifier

    FONT_CHANGE_SMALLER
     public static final String FONT_CHANGE_SMALLER
    
    The font size decrease to next value action identifier

    COLOR_ACTION
     public static final String COLOR_ACTION
    
    The Color choice action identifier The color is passed as an argument

    LOGICAL_STYLE_ACTION
     public static final String LOGICAL_STYLE_ACTION
    
    The logical style choice action identifier The logical style is passed in as an argument

    IMG_ALIGN_TOP
     public static final String IMG_ALIGN_TOP
    
    IMG_ALIGN_MIDDLE
     public static final String IMG_ALIGN_MIDDLE
    
    IMG_ALIGN_BOTTOM
     public static final String IMG_ALIGN_BOTTOM
    
    IMG_BORDER
     public static final String IMG_BORDER
    

    Constructors

    HTMLEditorKit
     public HTMLEditorKit()
    
    Constructs an HTMLEditorKit, creates a StyleContext, and loads the style sheet.


    Methods

    clone
     public Object clone()
    
    Create a copy of the editor kit. This allows an implementation to serve as a prototype for others, so that they can be quickly created.

    Overrides:
    clone in class StyledEditorKit
    getContentType
     public String getContentType()
    
    Get the MIME type of the data that this kit represents support for. This kit supports the type text/html.

    Overrides:
    getContentType in class DefaultEditorKit
    getViewFactory
     public ViewFactory getViewFactory()
    
    Fetch a factory that is suitable for producing views of any models that are produced by this kit.

    Overrides:
    getViewFactory in class StyledEditorKit
    createDefaultDocument
     public Document createDefaultDocument()
    
    Create an uninitialized text storage model that is appropriate for this type of editor.

    Overrides:
    createDefaultDocument in class StyledEditorKit
    read
     public void read(Reader in,
                      Document doc,
                      int pos) throws IOException, BadLocationException
    
    Create and initialize a model from the given stream which is expected to be in a format appropriate for this kind of editor. This is implemented to read html 3.2 text.

    Parameters:
    in - The stream to read from
    doc - The destination for the insertion.
    pos - The location in the document to place the content.
    Throws: IOException
    on any I/O error
    Throws: BadLocationException
    if pos represents an invalid location within the document.
    Overrides:
    read in class DefaultEditorKit
    write
     public void write(Writer out,
                       Document doc,
                       int pos,
                       int len) throws IOException, BadLocationException
    
    Write content from a document to the given stream in a format appropriate for this kind of content handler.

    Parameters:
    out - The stream to write to
    doc - The source for the write.
    pos - The location in the document to fetch the content.
    len - The amount to write out.
    Throws: IOException
    on any I/O error
    Throws: BadLocationException
    if pos represents an invalid location within the document.
    Overrides:
    write in class DefaultEditorKit
    install
     public void install(JEditorPane c)
    
    Called when the kit is being installed into the a JEditorPane.

    Parameters:
    c - the JEditorPane
    Overrides:
    install in class StyledEditorKit
    deinstall
     public void deinstall(JEditorPane c)
    
    Called when the kit is being removed from the JEditorPane. This is used to unregister any listeners that were attached.

    Parameters:
    c - the JEditorPane
    Overrides:
    deinstall in class StyledEditorKit
    getActions
     public Action[] getActions()
    
    Fetches the command list for the editor. This is the list of commands supported by the superclass augmented by the collection of commands defined locally for style operations.

    Returns:
    the command list
    Overrides:
    getActions in class StyledEditorKit

    dLocat k(T$ 756$k ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.html.htmleditorkit_mi.htmmm$$ Class com.sun.java.swing.text.IconView

    Class com.sun.java.swing.text.IconView

    java.lang.Object
       |
       +----com.sun.java.swing.text.View
               |
               +----com.sun.java.swing.text.IconView
    

    public class IconView
    extends View

    Icon decorator that implements the view interface. The entire element is used to represent the icon. This acts as a gateway from the display-only View implementations to interactive lightweight icons (that is, it allows icons to be embedded into the View hierarchy. The parent of the icon is the container that is handed out by the associated view factory.


    Constructor Index

    IconView(Element)
    Creates a new view that represents an element.

    Method Index

    getAlignment(int)
    Determines the desired alignment for this view along an axis.
    getPreferredSpan(int)
    Determines the preferred span for this view along an axis.
    modelToView(int, Shape)
    Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.
    paint(Graphics, Shape)
    Paints the icon.
    setSize(float, float)
    Sets the size of the view.
    viewToModel(float, float, Shape)
    Provides a mapping from the view coordinate space to the logical coordinate space of the model.

    Constructors

    IconView
     public IconView(Element elem)
    
    Creates a new view that represents an element.

    Parameters:
    elem - the element to create a view for

    Methods

    paint
     public void paint(Graphics g,
                       Shape a)
    
    Paints the icon. The real paint behavior occurs naturally from the association that the icon has with its parent container (the same container hosting this view), so this simply allows us to position the icon properly relative to the view. Since the coordinate system for the view is simply the parent containers, positioning the child icon is easy.

    Parameters:
    g - the rendering surface to use
    a - the allocated region to render into
    Overrides:
    paint in class View
    See Also:
    paint
    getPreferredSpan
     public float getPreferredSpan(int axis)
    
    Determines the preferred span for this view along an axis.

    Parameters:
    axis - may be either X_AXIS or Y_AXIS
    Returns:
    s the span the view would like to be rendered into. Typically the view is told to render into the span that is returned, although there is no guarantee. The parent may choose to resize or break the view.
    Overrides:
    getPreferredSpan in class View
    getAlignment
     public float getAlignment(int axis)
    
    Determines the desired alignment for this view along an axis. This is implemented to give the alignment to the bottom of the icon along the y axis, and the default along the x axis.

    Parameters:
    axis - may be either X_AXIS or Y_AXIS
    Returns:
    s the desired alignment. This should be a value between 0.0 and 1.0 where 0 indicates alignment at the origin and 1.0 indicates alignment to the full span away from the origin. An alignment of 0.5 would be the center of the view.
    Overrides:
    getAlignment in class View
    modelToView
     public Shape modelToView(int pos,
                              Shape a) throws BadLocationException
    
    Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.

    Parameters:
    pos - the position to convert
    a - the allocated region to render into
    Returns:
    the bounding box of the given position
    Throws: BadLocationException
    if the given position does not represent a valid location in the associated document
    Overrides:
    modelToView in class View
    See Also:
    modelToView
    viewToModel
     public int viewToModel(float x,
                            float y,
                            Shape a)
    
    Provides a mapping from the view coordinate space to the logical coordinate space of the model.

    Parameters:
    x - the X coordinate
    y - the Y coordinate
    a - the allocated region to render into
    Returns:
    the location within the model that best represents the given point of view
    Overrides:
    viewToModel in class View
    See Also:
    viewToModel
    setSize
     public void setSize(float width,
                         float height)
    
    Sets the size of the view. Since Icon doesn't support this functionality, there is nothing we can do.

    Parameters:
    width - the width
    height - the height
    Overrides:
    setSize in class View

    = kxW$756$Pr./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.iconview_mi.htm$$ Interface com.sun.java.swing.text.Keymap

    Interface com.sun.java.swing.text.Keymap

    public interface Keymap

    A collection of bindings of KeyStrokes to actions. The bindings are basically name-value pairs that potentially resolve in a hierarchy.


    Method Index

    addActionForKeyStroke(KeyStroke, Action)
    Adds a binding to the keymap.
    getAction(KeyStroke)
    Fetches the action appropriate for the given symbolic event sequence.
    getBoundActions()
    Fetches all of the actions defined in this keymap.
    getBoundKeyStrokes()
    Fetches all of the keystrokes in this map that are bound to some action.
    getDefaultAction()
    Fetch the default action to fire if a key is typed (ie a KEY_TYPED KeyEvent is received) and there is no binding for it.
    getKeyStrokesForAction(Action)
    Fetches the keystrokes that will result in the given action.
    getName()
    Fetches the name of the set of key-bindings.
    getResolveParent()
    Fetches the parent keymap used to resolve key-bindings.
    isLocallyDefined(KeyStroke)
    Determines if the given key sequence is locally defined.
    removeBindings()
    Removes all bindings from the keymap.
    removeKeyStrokeBinding(KeyStroke)
    Removes a binding from the keymap.
    setDefaultAction(Action)
    Set the default action to fire if a key is typed.
    setResolveParent(Keymap)
    Sets the parent keymap, which will be used to resolve key-bindings.

    Methods

    getName
     public abstract String getName()
    
    Fetches the name of the set of key-bindings.

    Returns:
    the name
    getDefaultAction
     public abstract Action getDefaultAction()
    
    Fetch the default action to fire if a key is typed (ie a KEY_TYPED KeyEvent is received) and there is no binding for it. Typically this would be some action that inserts text so that the keymap doesn't require an action for each possible key.

    setDefaultAction
     public abstract void setDefaultAction(Action a)
    
    Set the default action to fire if a key is typed.

    getAction
     public abstract Action getAction(KeyStroke key)
    
    Fetches the action appropriate for the given symbolic event sequence. This is used by JTextController to determine how to interpret key sequences. If the binding is not resolved locally, an attempt is made to resolve through the parent keymap, if one is set.

    Parameters:
    key - the key sequence
    Returns:
    s the action associated with the key sequence if one is defined, otherwise null
    getBoundKeyStrokes
     public abstract KeyStroke[] getBoundKeyStrokes()
    
    Fetches all of the keystrokes in this map that are bound to some action.

    Returns:
    the list of keystrokes
    getBoundActions
     public abstract Action[] getBoundActions()
    
    Fetches all of the actions defined in this keymap.

    Returns:
    the list of actions
    getKeyStrokesForAction
     public abstract KeyStroke[] getKeyStrokesForAction(Action a)
    
    Fetches the keystrokes that will result in the given action.

    Parameters:
    a - the action
    Returns:
    the list of keystrokes
    isLocallyDefined
     public abstract boolean isLocallyDefined(KeyStroke key)
    
    Determines if the given key sequence is locally defined.

    Parameters:
    key - the key sequence
    Returns:
    true if the key sequence is locally defined else false
    addActionForKeyStroke
     public abstract void addActionForKeyStroke(KeyStroke key,
                                                Action a)
    
    Adds a binding to the keymap.

    Parameters:
    key - the key sequence
    a - the action
    removeKeyStrokeBinding
     public abstract void removeKeyStrokeBinding(KeyStroke keys)
    
    Removes a binding from the keymap.

    Parameters:
    keys - the key sequence
    removeBindings
     public abstract void removeBindings()
    
    Removes all bindings from the keymap.

    getResolveParent
     public abstract Keymap getResolveParent()
    
    Fetches the parent keymap used to resolve key-bindings.

    Returns:
    the keymap
    setResolveParent
     public abstract void setResolveParent(Keymap parent)
    
    Sets the parent keymap, which will be used to resolve key-bindings.

    Parameters:
    parent - the parent keymap

     kB]$756$@./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.keymap_mi.htmm$$ Interface com.sun.java.swing.text.MutableAttributeSet

    Interface com.sun.java.swing.text.MutableAttributeSet

    public interface MutableAttributeSet
    extends AttributeSet

    A generic interface for a mutable collection of unique attributes. Implementations will probably want to provide a constructor of the form: public XXXAttributeSet(ConstAttributeSet source);


    Method Index

    addAttribute(Object, Object)
    Creates a new attribute set similar to this one except that it contains an attribute with the given name and value.
    addAttributes(AttributeSet)
    Creates a new attribute set similar to this one except that it contains the given attributes and values.
    removeAttribute(Object)
    Creates a new attribute set similar to this one except that it contains no attribute with the given name.
    removeAttributes(AttributeSet)
    Creates a new attribute set similar to this one except that it contains no attribute with any of the given names and values.
    removeAttributes(Enumeration)
    Creates a new attribute set similar to this one except that it contains no attribute with any of the given names.
    setResolveParent(AttributeSet)
    Sets the resolving parent.

    Methods

    addAttribute
     public abstract void addAttribute(Object name,
                                       Object value)
    
    Creates a new attribute set similar to this one except that it contains an attribute with the given name and value. The object must be immutable, or not mutated by any client.

    Parameters:
    name - the name
    value - the value
    addAttributes
     public abstract void addAttributes(AttributeSet attributes)
    
    Creates a new attribute set similar to this one except that it contains the given attributes and values.

    Parameters:
    attributes - the set of attributes
    removeAttribute
     public abstract void removeAttribute(Object name)
    
    Creates a new attribute set similar to this one except that it contains no attribute with the given name.

    Parameters:
    name - the attribute name
    removeAttributes
     public abstract void removeAttributes(Enumeration names)
    
    Creates a new attribute set similar to this one except that it contains no attribute with any of the given names.

    Parameters:
    names - the set of names
    removeAttributes
     public abstract void removeAttributes(AttributeSet attributes)
    
    Creates a new attribute set similar to this one except that it contains no attribute with any of the given names and values. Existing attributes with the same name and different value will remain.

    Parameters:
    attributes - the set of attributes
    setResolveParent
     public abstract void setResolveParent(AttributeSet parent)
    
    Sets the resolving parent. This is the set of attributes to resolve through if an attribute isn't defined locally.

    Parameters:
    parent - the parent

    href="# k c$756$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.mutableattributeset_mi.htmm$$ Class com.sun.java.swing.text.PasswordView

    Class com.sun.java.swing.text.PasswordView

    java.lang.Object
       |
       +----com.sun.java.swing.text.View
               |
               +----com.sun.java.swing.text.PlainView
                       |
                       +----com.sun.java.swing.text.FieldView
                               |
                               +----com.sun.java.swing.text.PasswordView
    

    public class PasswordView
    extends FieldView

    Implements a View suitable for use in JPasswordField UI implementations. This is basically a field ui that renders its contents as the echo character specified in the associated component (if it can narrow the component to a JPasswordField).

    See Also:
    View

    Constructor Index

    PasswordView(Element)
    Constructs a new view wrapped on an element.

    Method Index

    drawEchoCharacter(Graphics, int, int, char)
    Renders the echo character, or whatever graphic should be used to display the password characters.
    drawSelectedText(Graphics, int, int, int, int)
    Renders the given range in the model as selected text.
    drawUnselectedText(Graphics, int, int, int, int)
    Renders the given range in the model as normal unselected text.

    Constructors

    PasswordView
     public PasswordView(Element elem)
    
    Constructs a new view wrapped on an element.

    Parameters:
    elem - the element

    Methods

    drawUnselectedText
     protected int drawUnselectedText(Graphics g,
                                      int x,
                                      int y,
                                      int p0,
                                      int p1) throws BadLocationException
    
    Renders the given range in the model as normal unselected text.

    Parameters:
    g - the graphics context
    x - the starting X coordinate
    y - the starting Y coordinate
    p0 - the starting offset in the model
    p1 - the ending offset in the model
    Returns:
    s the location of the end of the range
    Throws: BadLocationException
    if p0 or p1 are out of range
    Overrides:
    drawUnselectedText in class PlainView
    drawSelectedText
     protected int drawSelectedText(Graphics g,
                                    int x,
                                    int y,
                                    int p0,
                                    int p1) throws BadLocationException
    
    Renders the given range in the model as selected text. This is implemented to render the text in the color specified in the hosting component. It assumes the highlighter will render the selected background.

    Parameters:
    g - the graphics context
    x - the starting X coordinate
    y - the starting Y coordinate
    p0 - the starting offset in the model
    p1 - the ending offset in the model
    Returns:
    s the location of the end of the range.
    Throws: BadLocationException
    if p0 or p1 are out of range
    Overrides:
    drawSelectedText in class PlainView
    drawEchoCharacter
     protected int drawEchoCharacter(Graphics g,
                                     int x,
                                     int y,
                                     char c)
    
    Renders the echo character, or whatever graphic should be used to display the password characters. The color in the Graphics object is set to the appropriate foreground color for selected or unselected text.

    Parameters:
    g - the graphics context
    x - the starting X coordinate
    y - the starting Y coordinate
    c - the echo character
    Returns:
    the updated X position

    an  k=i$756$`~./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.passwordview_mi.htm.h$$ Class com.sun.java.swing.text.PlainDocument

    Class com.sun.java.swing.text.PlainDocument

    java.lang.Object
       |
       +----com.sun.java.swing.text.AbstractDocument
               |
               +----com.sun.java.swing.text.PlainDocument
    

    public class PlainDocument
    extends AbstractDocument

    A plain document that uses one font and color.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    Document, AbstractDocument

    Variable Index

    lineLimitAttribute
    Name of the attribute that specifies the maximum length of a line, if there is a maximum length.
    tabSizeAttribute
    Name of the attribute that specifies the tab size for tabs contained in the content.

    Constructor Index

    PlainDocument()
    Constructs a plain text document.
    PlainDocument(AbstractDocument. Content)
    Constructs a plain text document.

    Method Index

    createDefaultRoot()
    Creates the root element to be used to represent the default document structure.
    getDefaultRootElement()
    Gets the default root element for the document model.
    insertUpdate(AbstractDocument. DefaultDocumentEvent, AttributeSet)
    Updates document structure as a result of text insertion.
    removeUpdate(AbstractDocument. DefaultDocumentEvent)
    Updates any document structure as a result of text removal.

    Variables

    tabSizeAttribute
     public static final String tabSizeAttribute
    
    Name of the attribute that specifies the tab size for tabs contained in the content. The type for the value is Integer.

    lineLimitAttribute
     public static final String lineLimitAttribute
    
    Name of the attribute that specifies the maximum length of a line, if there is a maximum length. The type for the value is Integer.


    Constructors

    PlainDocument
     public PlainDocument()
    
    Constructs a plain text document.

    PlainDocument
     protected PlainDocument(AbstractDocument. Content c)
    
    Constructs a plain text document.

    Parameters:
    c - the container for the content

    Methods

    getDefaultRootElement
     public Element getDefaultRootElement()
    
    Gets the default root element for the document model.

    Returns:
    the root
    Overrides:
    getDefaultRootElement in class AbstractDocument
    See Also:
    getDefaultRootElement
    createDefaultRoot
     protected AbstractDocument. AbstractElement createDefaultRoot()
    
    Creates the root element to be used to represent the default document structure.

    Returns:
    the element base
    insertUpdate
     protected void insertUpdate(AbstractDocument. DefaultDocumentEvent chng,
                                 AttributeSet attr)
    
    Updates document structure as a result of text insertion. This will happen within a write lock. Since this document simply maps out lines, we refresh the line map.

    Parameters:
    chng - the change event
    attr - the set of attributes
    Overrides:
    insertUpdate in class AbstractDocument
    removeUpdate
     protected void removeUpdate(AbstractDocument. DefaultDocumentEvent chng)
    
    Updates any document structure as a result of text removal. This will happen within a write lock. Since the structure represents a line map, this just checks to see if the removal spans lines. If it does, the two lines outside of the removal area are joined together.

    Parameters:
    chng - the change event
    Overrides:
    removeUpdate in class AbstractDocument

    aximum k8l$$756$@$./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.plaindocument_mi.htm.h$$ Interface com.sun.java.swing.text.Position

    Interface com.sun.java.swing.text.Position

    public interface Position

    Represents a location within a document. It is intended to abstract away implementation details of the document and enable specification of positions within the document that are capable of tracking of change as the document is edited (ie offsets are fragile).


    Method Index

    getOffset()
    Fetches the current offset within the document.

    Methods

    getOffset
     public abstract int getOffset()
    
    Fetches the current offset within the document.

    Returns:
    the offset

     kr$a756$pha./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.position_mi.htm$$ Class com.sun.java.swing.text.rtf.RTFEditorKit

    Class com.sun.java.swing.text.rtf.RTFEditorKit

    java.lang.Object
       |
       +----com.sun.java.swing.text.EditorKit
               |
               +----com.sun.java.swing.text.DefaultEditorKit
                       |
                       +----com.sun.java.swing.text.StyledEditorKit
                               |
                               +----com.sun.java.swing.text.rtf.RTFEditorKit
    

    public class RTFEditorKit
    extends StyledEditorKit

    This is the default implementation of rtf editing functionality.


    Constructor Index

    RTFEditorKit()
    Constructs an RTFEditorKit.

    Method Index

    clone()
    Create a copy of the editor kit.
    getContentType()
    Get the MIME type of the data that this kit represents support for.
    read(InputStream, Document, int)
    Insert content from the given stream which is expected to be in a format appropriate for this kind of content handler.
    read(Reader, Document, int)
    Insert content from the given stream, which will be treated as plain text.
    write(OutputStream, Document, int, int)
    Write content from a document to the given stream in a format appropriate for this kind of content handler.
    write(Writer, Document, int, int)
    Write content from a document to the given stream as plain text.

    Constructors

    RTFEditorKit
     public RTFEditorKit()
    
    Constructs an RTFEditorKit.


    Methods

    clone
     public Object clone()
    
    Create a copy of the editor kit. This allows an implementation to serve as a prototype for others, so that they can be quickly created.

    Overrides:
    clone in class StyledEditorKit
    getContentType
     public String getContentType()
    
    Get the MIME type of the data that this kit represents support for. This kit supports the type text/rtf.

    Overrides:
    getContentType in class DefaultEditorKit
    read
     public void read(InputStream in,
                      Document doc,
                      int pos) throws IOException, BadLocationException
    
    Insert content from the given stream which is expected to be in a format appropriate for this kind of content handler.

    Parameters:
    in - The stream to read from
    doc - The destination for the insertion.
    pos - The location in the document to place the content.
    Throws: IOException
    on any I/O error
    Throws: BadLocationException
    if pos represents an invalid location within the document.
    Overrides:
    read in class DefaultEditorKit
    write
     public void write(OutputStream out,
                       Document doc,
                       int pos,
                       int len) throws IOException, BadLocationException
    
    Write content from a document to the given stream in a format appropriate for this kind of content handler.

    Parameters:
    out - The stream to write to
    doc - The source for the write.
    pos - The location in the document to fetch the content.
    len - The amount to write out.
    Throws: IOException
    on any I/O error
    Throws: BadLocationException
    if pos represents an invalid location within the document.
    Overrides:
    write in class DefaultEditorKit
    read
     public void read(Reader in,
                      Document doc,
                      int pos) throws IOException, BadLocationException
    
    Insert content from the given stream, which will be treated as plain text.

    Parameters:
    in - The stream to read from
    doc - The destination for the insertion.
    pos - The location in the document to place the content.
    Throws: IOException
    on any I/O error
    Throws: BadLocationException
    if pos represents an invalid location within the document.
    Overrides:
    read in class DefaultEditorKit
    write
     public void write(Writer out,
                       Document doc,
                       int pos,
                       int len) throws IOException, BadLocationException
    
    Write content from a document to the given stream as plain text.

    Parameters:
    out - The stream to write to
    doc - The source for the write.
    pos - The location in the document to fetch the content.
    len - The amount to write out.
    Throws: IOException
    on any I/O error
    Throws: BadLocationException
    if pos represents an invalid location within the document.
    Overrides:
    write in class DefaultEditorKit

    ext.do ku$O756$PO./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.rtf.rtfeditorkit_mi.htm$$ Class com.sun.java.swing.text.Segment

    Class com.sun.java.swing.text.Segment

    java.lang.Object
       |
       +----com.sun.java.swing.text.Segment
    

    public class Segment
    extends Object

    A segment of a character array representing a fragment of text. It should be treated as immutable even though the array is directly accessable. This gives fast access to fragments of text without the overhead of copying around characters. This is effectively an unprotected String.


    Variable Index

    array
    This is the array containing the text of interest.
    count
    This is the number of array elements that make up the text of interest.
    offset
    This is the offset into the array that the desired text begins.

    Constructor Index

    Segment()
    Creates a new segment.
    Segment(char[], int, int)
    Creates a new segment referring to an existing array.

    Method Index

    toString()
    Converts a segment into a String.

    Variables

    array
     public char array[]
    
    This is the array containing the text of interest. This array should never be modified; it is available only for efficiency.

    offset
     public int offset
    
    This is the offset into the array that the desired text begins.

    count
     public int count
    
    This is the number of array elements that make up the text of interest.


    Constructors

    Segment
     public Segment()
    
    Creates a new segment.

    Segment
     public Segment(char array[],
                    int offset,
                    int count)
    
    Creates a new segment referring to an existing array.

    Parameters:
    array - the array to refer to
    offset - the offset into the array
    count - the number of characters

    Methods

    toString
     public String toString()
    
    Converts a segment into a String.

    Returns:
    the string
    Overrides:
    toString in class Object

    f kx$u756$`u./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.segment_mi.htm$$ Class com.sun.java.swing.text.StringContent

    Class com.sun.java.swing.text.StringContent

    java.lang.Object
       |
       +----com.sun.java.swing.text.StringContent
    

    public final class StringContent
    extends Object
    implements AbstractDocument. Content, Serializable

    An implementation of the AbstractDocument.Content interface that is a brute force implementation that is useful for relatively small documents and/or debugging. It manages the character content as a simple character array. It is also quite inefficient.

    It is generally recommended that the gap buffer or piece table implementations be used instead. This buffer does not scale up to large sizes.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    StringContent()
    Creates a new StringContent object.
    StringContent(int)
    Creates a new StringContent object, with the initial size specified.

    Method Index

    createPosition(int)
    Creates a position within the content that will track change as the content is mutated.
    getChars(int, int, Segment)
    Retrieves a portion of the content.
    getPositionsInRange(Vector, int, int)
    Returns a Vector containing instances of UndoPosRef for the Positions in the range offset to offset + length.
    getString(int, int)
    Retrieves a portion of the content.
    insertString(int, String)
    Inserts a string into the content.
    length()
    Returns the length of the content.
    remove(int, int)
    Removes part of the content.
    updateUndoPositions(Vector)
    For all the UndoPosRef instances in positions the location is reset.

    Constructors

    StringContent
     public StringContent()
    
    Creates a new StringContent object. Initial size defaults to 10.

    StringContent
     public StringContent(int initialLength)
    
    Creates a new StringContent object, with the initial size specified.

    Parameters:
    initialLength - the initial size

    Methods

    length
     public int length()
    
    Returns the length of the content.

    Returns:
    the length
    See Also:
    length
    insertString
     public UndoableEdit insertString(int where,
                                      String str) throws BadLocationException
    
    Inserts a string into the content.

    Parameters:
    where - the starting position
    str - the string to insert
    Returns:
    an UndoableEdit object for undoing
    Throws: BadLocationException
    if the specified position is invalid
    See Also:
    insertString
    remove
     public UndoableEdit remove(int where,
                                int nitems) throws BadLocationException
    
    Removes part of the content.

    Parameters:
    where - the starting position
    nitems - the number of characters to remove
    Returns:
    an UndoableEdit object for undoing
    Throws: BadLocationException
    if the specified position is invalid
    See Also:
    remove
    getString
     public String getString(int where,
                             int len) throws BadLocationException
    
    Retrieves a portion of the content.

    Parameters:
    where - the starting position
    len - the length to retrieve
    Returns:
    a string representing the content
    Throws: BadLocationException
    if the specified position is invalid
    See Also:
    getString
    getChars
     public void getChars(int where,
                          int len,
                          Segment chars) throws BadLocationException
    
    Retrieves a portion of the content.

    Parameters:
    where - the starting position
    len - the number of characters to retrieve
    chars - the Segment object to return the characters in
    Throws: BadLocationException
    if the specified position is invalid
    See Also:
    getChars
    createPosition
     public Position createPosition(int offset) throws BadLocationException
    
    Creates a position within the content that will track change as the content is mutated.

    Parameters:
    offset - the offset to create a position for
    Returns:
    the position
    Throws: BadLocationException
    if the specified position is invalid
    getPositionsInRange
     protected Vector getPositionsInRange(Vector v,
                                          int offset,
                                          int length)
    
    Returns a Vector containing instances of UndoPosRef for the Positions in the range offset to offset + length. If v is not null the matching Positions are placed in there. The vector with the resulting Positions are returned.

    updateUndoPositions
     protected void updateUndoPositions(Vector positions)
    
    For all the UndoPosRef instances in positions the location is reset.


    n< k4w~$?756$@?./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.stringcontent_mi.htmht$$ Interface com.sun.java.swing.text.Style

    Interface com.sun.java.swing.text.Style

    public interface Style
    extends MutableAttributeSet

    A collection of attributes to associate with an element in a document. Since these are typically used to associate character and paragraph styles with the element, operations for this are provided. Other customized attributes that get associated with the element will effectively be name-value pairs that live in a hierarchy and if a name (key) is not found locally, the request is forwarded to the parent. Commonly used attributes are seperated out to facilitate alternative implementations that are more efficient.


    Method Index

    addChangeListener(ChangeListener)
    Adds a listener to track whenever an attribute has been changed.
    getName()
    Fetches the name of the style.
    removeChangeListener(ChangeListener)
    Removes a listener that was tracking attribute changes.

    Methods

    getName
     public abstract String getName()
    
    Fetches the name of the style. A style is not required to be named, so null is returned if there is no name associated with the style.

    Returns:
    the name
    addChangeListener
     public abstract void addChangeListener(ChangeListener l)
    
    Adds a listener to track whenever an attribute has been changed.

    Parameters:
    l - the change listener
    removeChangeListener
     public abstract void removeChangeListener(ChangeListener l)
    
    Removes a listener that was tracking attribute changes.

    Parameters:
    l - the change listener

    ">Ba k8$756$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.style_mi.htmmi$$ Interface com.sun.java.swing.text.StyledDocument

    Interface com.sun.java.swing.text.StyledDocument

    public interface StyledDocument
    extends Document

    Interface for a generic styled document.


    Method Index

    addStyle(String, Style)
    Adds a new style into the logical style hierarchy.
    getBackground(AttributeSet)
    Takes a set of attributes and turn it into a color specification.
    getCharacterElement(int)
    Gets the element that represents the character that is at the given offset within the document.
    getFont(AttributeSet)
    Takes a set of attributes and turn it into a font specification.
    getForeground(AttributeSet)
    Takes a set of attributes and turn it into a color specification.
    getLogicalStyle(int)
    Gets a logical style for a given position in a paragraph.
    getParagraphElement(int)
    Gets the element that represents the paragraph that encloses the given offset within the document.
    getStyle(String)
    Fetches a named style previously added.
    removeStyle(String)
    Removes a named style previously added to the document.
    setCharacterAttributes(int, int, AttributeSet, boolean)
    Changes the content element attributes used for the given range of existing content in the document.
    setLogicalStyle(int, Style)
    Sets the logical style to use for the paragraph at the given position.
    setParagraphAttributes(int, int, AttributeSet, boolean)
    Sets paragraph attributes.

    Methods

    addStyle
     public abstract Style addStyle(String nm,
                                    Style parent)
    
    Adds a new style into the logical style hierarchy. Style attributes resolve from bottom up so an attribute specified in a child will override an attribute specified in the parent.

    Parameters:
    nm - the name of the style (must be unique within the collection of named styles). The name may be null if the style is unnamed, but the caller is responsible for managing the reference returned as an unnamed style can't be fetched by name. An unnamed style may be useful for things like character attribute overrides such as found in a style run.
    parent - the parent style. This may be null if unspecified attributes need not be resolved in some other style.
    Returns:
    the style
    removeStyle
     public abstract void removeStyle(String nm)
    
    Removes a named style previously added to the document.

    Parameters:
    nm - the name of the style to remove
    getStyle
     public abstract Style getStyle(String nm)
    
    Fetches a named style previously added.

    Parameters:
    nm - the name of the style
    Returns:
    the style
    setCharacterAttributes
     public abstract void setCharacterAttributes(int offset,
                                                 int length,
                                                 AttributeSet s,
                                                 boolean replace)
    
    Changes the content element attributes used for the given range of existing content in the document. All of the attributes defined in the given Attributes argument are applied to the given range. This method can be used to completely remove all content level attributes for the given range by giving an Attributes argument that has no attributes defined and setting replace to true.

    Parameters:
    offset - the start of the change
    length - the length of the change
    s - the attributes to change to. Any attributes defined will be applied to the text for the given range.
    replace - indicates whether or not the previous attributes should be cleared before the new attributes as set. If true, the operation will replace the previous attributes entirely. If false, the new attributes will be merged with the previous attributes.
    setParagraphAttributes
     public abstract void setParagraphAttributes(int offset,
                                                 int length,
                                                 AttributeSet s,
                                                 boolean replace)
    
    Sets paragraph attributes.

    Parameters:
    offset - the start of the change
    length - the length of the change
    s - the attributes to change to. Any attributes defined will be applied to the text for the given range.
    replace - indicates whether or not the previous attributes should be cleared before the new attributes as set. If true, the operation will replace the previous attributes entirely. If false, the new attributes will be merged with the previous attributes.
    setLogicalStyle
     public abstract void setLogicalStyle(int pos,
                                          Style s)
    
    Sets the logical style to use for the paragraph at the given position. If attributes aren't explicitly set for character and paragraph attributes they will resolve through the logical style assigned to the paragraph, which in turn may resolve through some hierarchy completely independent of the element hierarchy in the document.

    Parameters:
    pos - the starting position
    s - the style to set
    getLogicalStyle
     public abstract Style getLogicalStyle(int p)
    
    Gets a logical style for a given position in a paragraph.

    Parameters:
    p - the position
    Returns:
    the style
    getParagraphElement
     public abstract Element getParagraphElement(int pos)
    
    Gets the element that represents the paragraph that encloses the given offset within the document.

    Parameters:
    pos - the offset
    Returns:
    the element
    getCharacterElement
     public abstract Element getCharacterElement(int pos)
    
    Gets the element that represents the character that is at the given offset within the document.

    Parameters:
    pos - the offset
    Returns:
    the element
    getForeground
     public abstract Color getForeground(AttributeSet attr)
    
    Takes a set of attributes and turn it into a color specification. This might be used to specify things like brighter, more hue, etc.

    Parameters:
    attr - the set of attributes
    Returns:
    the color
    getBackground
     public abstract Color getBackground(AttributeSet attr)
    
    Takes a set of attributes and turn it into a color specification. This might be used to specify things like brighter, more hue, etc.

    Parameters:
    attr - the set of attributes
    Returns:
    the color
    getFont
     public abstract Font getFont(AttributeSet attr)
    
    Takes a set of attributes and turn it into a font specification. This can be used to turn things like family, style, size, etc into a font that is available on the system the document is currently being used on.

    Parameters:
    attr - the set of attributes
    Returns:
    the font

    le Class com.sun.java.swing.text.StyledEditorKit

    Class com.sun.java.swing.text.StyledEditorKit

    java.lang.Object
       |
       +----com.sun.java.swing.text.EditorKit
               |
               +----com.sun.java.swing.text.DefaultEditorKit
                       |
                       +----com.sun.java.swing.text.StyledEditorKit
    

    public class StyledEditorKit
    extends DefaultEditorKit

    This is the set of things needed by a text component to be a reasonably functioning editor for some type of text document. This implementation provides a default implementation which treats text as styled text and provides a minimal set of actions for editing styled text.


    Constructor Index

    StyledEditorKit()

    Method Index

    clone()
    Create a copy of the editor kit.
    createDefaultDocument()
    Creates an uninitialized text storage model that is appropriate for this type of editor.
    deinstall(JEditorPane)
    Called when the kit is being removed from the JEditorPane.
    getActions()
    Fetches the command list for the editor.
    getCharacterAttributeRun()
    Fetches the element representing the current run of character attributes for the caret.
    getInputAttributes()
    Gets the input attributes for the pane.
    getViewFactory()
    Fetches a factory that is suitable for producing views of any models that are produced by this kit.
    install(JEditorPane)
    Called when the kit is being installed into a JEditorPane.

    Constructors

    StyledEditorKit
     public StyledEditorKit()
    

    Methods

    getInputAttributes
     public MutableAttributeSet getInputAttributes()
    
    Gets the input attributes for the pane. When the caret moves and there is no selection, the input attributes are automatically mutated to reflect the character attributes of the current caret location. The styled editing actions use the input attributes to carry out their actions.

    Returns:
    the attribute set
    getCharacterAttributeRun
     public Element getCharacterAttributeRun()
    
    Fetches the element representing the current run of character attributes for the caret.

    clone
     public Object clone()
    
    Create a copy of the editor kit. This allows an implementation to serve as a prototype for others, so that they can be quickly created.

    Overrides:
    clone in class DefaultEditorKit
    getActions
     public Action[] getActions()
    
    Fetches the command list for the editor. This is the list of commands supported by the superclass augmented by the collection of commands defined locally for style operations.

    Returns:
    the command list
    Overrides:
    getActions in class DefaultEditorKit
    createDefaultDocument
     public Document createDefaultDocument()
    
    Creates an uninitialized text storage model that is appropriate for this type of editor.

    Returns:
    the model
    Overrides:
    createDefaultDocument in class DefaultEditorKit
    install
     public void install(JEditorPane c)
    
    Called when the kit is being installed into a JEditorPane.

    Parameters:
    c - the JEditorPane
    Overrides:
    install in class EditorKit
    deinstall
     public void deinstall(JEditorPane c)
    
    Called when the kit is being removed from the JEditorPane. This is used to unregister any listeners that were attached.

    Parameters:
    c - the JEditorPane
    Overrides:
    deinstall in class EditorKit
    getViewFactory
     public ViewFactory getViewFactory()
    
    Fetches a factory that is suitable for producing views of any models that are produced by this kit. This is implemented to return View implementations for the following kinds of elements:
    • AbstractDocument.ContentElementName
    • AbstractDocument.ParagraphElementName
    • AbstractDocument.SectionElementName
    • StyleConstants.ComponentElementName
    • StyleConstants.IconElementName

    Returns:
    the factory
    Overrides:
    getViewFactory in class DefaultEditorKit

    Interface com.sun.java.swing.text.TabableView

    Interface com.sun.java.swing.text.TabableView

    public interface TabableView

    Interface for View's that have size dependant upon tabs.

    See Also:
    TabExpander, LabelView, ParagraphView

    Method Index

    getPartialSpan(int, int)
    Determine the span along the same axis as tab expansion for a portion of the view.
    getTabbedSpan(float, TabExpander)
    Determines the desired span when using the given tab expansion implementation.

    Methods

    getTabbedSpan
     public abstract float getTabbedSpan(float x,
                                         TabExpander e)
    
    Determines the desired span when using the given tab expansion implementation. If a container calls this method, it will do so prior to the normal layout which would call getPreferredSpan. A view implementing this should give the same result in any subsequent calls to getPreferredSpan along the axis of tab expansion.

    Parameters:
    x - the position the view would be located at for the purpose of tab expansion.
    e - how to expand the tabs when encountered.
    Returns:
    the desired span
    getPartialSpan
     public abstract float getPartialSpan(int p0,
                                          int p1)
    
    Determine the span along the same axis as tab expansion for a portion of the view. This is intended for use by the TabExpander for cases where the tab expansion involves aligning the portion of text that doesn't have whitespace relative to the tab stop. There is therefore an assumption that the range given does not contain tabs.

    Parameters:
    p0 - the starting location in the text document
    p1 - the ending location in the text document

    . kpW$-756$`-./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.tabableview_mi.htmtm$$ Interface com.sun.java.swing.text.TabExpander

    Interface com.sun.java.swing.text.TabExpander

    public interface TabExpander

    Simple interface to allow for different types of implementations of tab expansion.


    Method Index

    nextTabStop(float, int)
    Returns the next tab stop position given a reference position.

    Methods

    nextTabStop
     public abstract float nextTabStop(float x,
                                       int tabOffset)
    
    Returns the next tab stop position given a reference position. Values are expressed in points.

    Parameters:
    x - the position
    tabOffset - the position within the text stream that the tab occurred at.
    Returns:
    the next tab stop

     k $756$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.tabexpander_mi.htmtm$$ Class com.sun.java.swing.text.TableView

    Class com.sun.java.swing.text.TableView

    java.lang.Object
       |
       +----com.sun.java.swing.text.View
               |
               +----com.sun.java.swing.text.CompositeView
                       |
                       +----com.sun.java.swing.text.BoxView
                               |
                               +----com.sun.java.swing.text.TableView
    

    public class TableView
    extends BoxView

    Implements View interface for a table, that is composed of a specific element structure where the child elements of the element this view is responsible for represent rows and the child elements of the row elements are cells. The cell elements can have an arbitrary element structure under them.

    
       TABLE
         ROW
           CELL
           CELL
         ROW
           CELL
           CELL
     

    This is implemented as a hierarchy of boxes, the table itself is a vertical box, the rows are horizontal boxes, and the cells are vertical boxes. The cells are allowed to span multiple columns and rows. By default, the table can be thought of as being formed over a grid, where cells can request to span more than one grid cell. The default horizontal span of table cells will be based upon this grid, but can be changed by reimplementing the requested span of the cell.

    See Also:
    View

    Constructor Index

    TableView(Element)
    Constructs a TableView for the given element.

    Method Index

    createTableCell(Element)
    Creates a new table cell.
    createTableRow(Element)
    Creates a new table row.
    layout(int, int)
    Performs layout of the children.
    loadChildren(ViewFactory)
    Loads all of the children to initialize the view.

    Constructors

    TableView
     public TableView(Element elem)
    
    Constructs a TableView for the given element.

    Parameters:
    elem - the element that this view is responsible for

    Methods

    createTableRow
     protected TableView. TableRow createTableRow(Element elem)
    
    Creates a new table row. ???

    Parameters:
    elem - an element
    Returns:
    the row
    createTableCell
     protected TableView. TableCell createTableCell(Element elem)
    
    Creates a new table cell. ???

    Parameters:
    elem - an element
    Returns:
    the cell
    loadChildren
     protected void loadChildren(ViewFactory f)
    
    Loads all of the children to initialize the view. This is called by the setParent method. This is reimplemented to build rows using the createTableRow method and then proxy cell entries for each of the cells that span multiple columns or rows, substantially reducing the complexity of the layout calculations.

    Parameters:
    f - the view factory
    Overrides:
    loadChildren in class CompositeView
    layout
     protected void layout(int width,
                           int height)
    
    Performs layout of the children. The size is the area inside of the insets. The table layout is mostly the default behavior of the boxes, where the requests made by the cells for their width is based upon a common set of values held in the table. The table itself calculates these values before the layout proceeds and these values get used by the cells.

    Parameters:
    width - the width
    height - the height
    Overrides:
    layout in class BoxView

    Index  k$756$`~./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.tableview_mi.htmtm$$ Class com.sun.java.swing.text.TabSet

    Class com.sun.java.swing.text.TabSet

    java.lang.Object
       |
       +----com.sun.java.swing.text.TabSet
    

    public class TabSet
    extends Object
    implements Serializable

    A TabSet is comprised of many TabStops. It offers methods for locating the closest TabStop to a given position and finding all the potential TabStops. It is also immutable.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    TabSet(TabStop[])
    Creates and returns an instance of TabSet.

    Method Index

    getTab(int)
    Returns the TabStop at index index.
    getTabAfter(float)
    Returns the Tab instance after location.
    getTabCount()
    Returns the number of Tab instances the receiver contains.
    getTabIndex(TabStop)
    getTabIndexAfter(float)
    Returns the index of the Tab to be used after location.
    toString()

    Constructors

    TabSet
     public TabSet(TabStop tabs[])
    
    Creates and returns an instance of TabSet. The array of Tabs passed in must be sorted in ascending order.


    Methods

    getTabCount
     public int getTabCount()
    
    Returns the number of Tab instances the receiver contains.

    getTab
     public TabStop getTab(int index)
    
    Returns the TabStop at index index. This will throw an IllegalArgumentException if index is outside the range of tabs.

    getTabAfter
     public TabStop getTabAfter(float location)
    
    Returns the Tab instance after location. This will return null if there are no tabs after location.

    getTabIndex
     public int getTabIndex(TabStop tab)
    
    Returns:
    the index of the TabStop tab, or -1 if tab is not contained in the receiver.
    getTabIndexAfter
     public int getTabIndexAfter(float location)
    
    Returns the index of the Tab to be used after location. This will return -1 if there are no tabs after location.

    toString
     public String toString()
    
    Overrides:
    toString in class Object

     k0$?756$P?./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.tabset_mi.htmm$$ Class com.sun.java.swing.text.TabStop

    Class com.sun.java.swing.text.TabStop

    java.lang.Object
       |
       +----com.sun.java.swing.text.TabStop
    

    public class TabStop
    extends Object
    implements Serializable

    This class encapsulates a single tab stop (basically as tab stops are thought of by RTF). A tab stop is at a specified distance from the left margin, aligns text in a specified way, and has a specified leader. TabStops are immutable, and usually contained in TabSets.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    ALIGN_BAR
    ALIGN_CENTER
    Characters following tab are positioned such that all following characters up to next tab/newline are centered around the tabs location.
    ALIGN_DECIMAL
    Characters following tab are aligned such that next decimal/tab/newline is at the tab location, very similiar to RIGHT_TAB, just includes decimal as additional character to look for.
    ALIGN_LEFT
    Character following tab is positioned at location.
    ALIGN_RIGHT
    Characters following tab are positioned such that all following characters up to next tab/newline end at location.
    LEAD_DOTS
    LEAD_EQUALS
    LEAD_HYPHENS
    LEAD_NONE
    LEAD_THICKLINE
    LEAD_UNDERLINE

    Constructor Index

    TabStop(float)
    Creates a tab at position pos with a default alignment and default leader.
    TabStop(float, int, int)
    Creates a tab with the specified position pos, alignment align and leader leader.

    Method Index

    equals(Object)
    Returns true if other equals the receiver.
    getAlignment()
    getLeader()
    getPosition()
    hashCode()
    Returns the hashCode for the object.
    toString()

    Variables

    ALIGN_LEFT
     public static final int ALIGN_LEFT
    
    Character following tab is positioned at location.

    ALIGN_RIGHT
     public static final int ALIGN_RIGHT
    
    Characters following tab are positioned such that all following characters up to next tab/newline end at location.

    ALIGN_CENTER
     public static final int ALIGN_CENTER
    
    Characters following tab are positioned such that all following characters up to next tab/newline are centered around the tabs location.

    ALIGN_DECIMAL
     public static final int ALIGN_DECIMAL
    
    Characters following tab are aligned such that next decimal/tab/newline is at the tab location, very similiar to RIGHT_TAB, just includes decimal as additional character to look for.

    ALIGN_BAR
     public static final int ALIGN_BAR
    
    LEAD_NONE
     public static final int LEAD_NONE
    
    LEAD_DOTS
     public static final int LEAD_DOTS
    
    LEAD_HYPHENS
     public static final int LEAD_HYPHENS
    
    LEAD_UNDERLINE
     public static final int LEAD_UNDERLINE
    
    LEAD_THICKLINE
     public static final int LEAD_THICKLINE
    
    LEAD_EQUALS
     public static final int LEAD_EQUALS
    

    Constructors

    TabStop
     public TabStop(float pos)
    
    Creates a tab at position pos with a default alignment and default leader.

    TabStop
     public TabStop(float pos,
                    int align,
                    int leader)
    
    Creates a tab with the specified position pos, alignment align and leader leader.


    Methods

    getPosition
     public float getPosition()
    
    Returns:
    the postion of the tab.
    getAlignment
     public int getAlignment()
    
    Returns:
    the alignment of the tab.
    getLeader
     public int getLeader()
    
    Returns:
    the leader of the tab.
    equals
     public boolean equals(Object other)
    
    Returns true if other equals the receiver.

    Overrides:
    equals in class Object
    hashCode
     public int hashCode()
    
    Returns the hashCode for the object. This must be defined here to ensure 100% pure.

    Returns:
    the hashCode for the object
    Overrides:
    hashCode in class Object
    toString
     public String toString()
    
    Overrides:
    toString in class Object

    ollow k8Q$756$0./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.tabstop_mi.htm$$ Class com.sun.java.swing.text.TextAction

    Class com.sun.java.swing.text.TextAction

    java.lang.Object
       |
       +----com.sun.java.swing.AbstractAction
               |
               +----com.sun.java.swing.text.TextAction
    

    public abstract class TextAction
    extends AbstractAction

    An Action implementation useful for key bindings that are shared across a number of different text components. Because the action is shared, it must have a way of getting it's target to act upon. This class provides support to try and find a text component to operate on. The preferred way of getting the component to act upon is through the ActionEvent that is received. If the Object returned by getSource can be narrowed to a text component, it will be used. If the action event is null or can't be narrowed, the last focused text component is tried. This is determined by being used in conjunction with a JTextController which arranges to share that information with a TextAction.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    TextAction(String)
    Creates a new JTextAction object.

    Method Index

    augmentList(Action[], Action[])
    Takes one list of commands and augments it with another list of commands.
    getFocusedComponent()
    Fetches the text component that currently has focus.
    getTextComponent(ActionEvent)
    Determine the component to use for the action.

    Constructors

    TextAction
     public TextAction(String name)
    
    Creates a new JTextAction object.

    Parameters:
    name - the name of the action

    Methods

    getTextComponent
     protected final JTextComponent getTextComponent(ActionEvent e)
    
    Determine the component to use for the action. This if fetched from the source of the ActionEvent if it's not null and can be narrowed. Otherwise, the last focused component is used.

    augmentList
     public static final Action[] augmentList(Action list1[],
                                              Action list2[])
    
    Takes one list of commands and augments it with another list of commands. The second list is considered to be higher priority than the first list and commands with the same name will both lists will only have the dominate command found in the second list in the returned list.

    Parameters:
    list1 - the first list
    list2 - the second list
    Returns:
    the augmented list
    getFocusedComponent
     protected final JTextComponent getFocusedComponent()
    
    Fetches the text component that currently has focus. This allows actions to be shared across text components which is useful for key-bindings where a large set of actions are defined, but generally used the same way across many different components.

    Returns:
    the component

    tex k$a756$`a./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.textaction_mi.htmtm$$ Class com.sun.java.swing.text.Utilities

    Class com.sun.java.swing.text.Utilities

    java.lang.Object
       |
       +----com.sun.java.swing.text.Utilities
    

    public class Utilities
    extends Object

    A collection of methods to deal with various text related activities.


    Constructor Index

    Utilities()

    Method Index

    drawTabbedText(Segment, int, int, Graphics, TabExpander, int)
    Draws the given text, expanding any tabs that are contained using the given tab expansion technique.
    getTabbedTextOffset(Segment, FontMetrics, int, int, TabExpander, int)
    Determines the relative offset into the given text that best represents the given span in the view coordinate system.
    getTabbedTextWidth(Segment, FontMetrics, int, TabExpander, int)
    Determines the width of the given segment of text taking tabs into consideration.

    Constructors

    Utilities
     public Utilities()
    

    Methods

    drawTabbedText
     public static final int drawTabbedText(Segment s,
                                            int x,
                                            int y,
                                            Graphics g,
                                            TabExpander e,
                                            int startOffset)
    
    Draws the given text, expanding any tabs that are contained using the given tab expansion technique. This particular implementation renders in a 1.1 style coordinate system where ints are used and 72dpi is assumed.

    Parameters:
    s - the source of the text
    x - the X origin
    y - the Y origin
    g - the graphics context
    e - how to expand the tabs
    startOffset - starting offset in the document of the text
    Returns:
    s the location at the end of the rendered text
    getTabbedTextWidth
     public static final int getTabbedTextWidth(Segment s,
                                                FontMetrics metrics,
                                                int x,
                                                TabExpander e,
                                                int startOffset)
    
    Determines the width of the given segment of text taking tabs into consideration. This is implemented in a 1.1 style coordinate system where ints are used and 72dpi is assumed.

    Parameters:
    s - the source of the text
    metrics - the font metrics to use for the calculation
    x - the X origin
    e - how to expand the tabs
    startOffset - starting offset in the document of the text
    Returns:
    s the width of the text
    getTabbedTextOffset
     public static final int getTabbedTextOffset(Segment s,
                                                 FontMetrics metrics,
                                                 int x0,
                                                 int x,
                                                 TabExpander e,
                                                 int startOffset)
    
    Determines the relative offset into the given text that best represents the given span in the view coordinate system. This is implemented in a 1.1 style coordinate system where ints are used and 72dpi is assumed.

    Parameters:
    s - the source of the text
    metrics - the font metrics to use for the calculation
    x0 - the starting view location representing the start of the given text.
    x - the target view location to translate to an offset into the text.
    e - how to expand the tabs
    startOffset - starting offset in the document of the text
    Returns:
    s the offset into the text

    ubl k5$756$P3./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.utilities_mi.htmtm$$ Interface com.sun.java.swing.text.ViewFactory

    Interface com.sun.java.swing.text.ViewFactory

    public interface ViewFactory

    A factory to create a view of some portion of document subject. This is intended to enable customization of how views get mapped over a document model.


    Method Index

    create(Element)
    Creates a view from the given structural element of a document.

    Methods

    create
     public abstract View create(Element elem)
    
    Creates a view from the given structural element of a document.

    Parameters:
    elem - the piece of the document to build a view of
    Returns:
    the view
    See Also:
    View

    > kTf$756$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.text.viewfactory_mi.htmtm$$ Class com.sun.java.swing.Timer

    Class com.sun.java.swing.Timer

    java.lang.Object
       |
       +----com.sun.java.swing.Timer
    

    public class Timer
    extends Object
    implements Serializable

    Object subclass that causes an action to occur at a predefined rate. For example, an animation object can use a JTimer as the trigger for drawing its next frame. Each Timer has a list of ActionListeners and a delay ( the time between actionPerfomed() calls). When delay milliseconds have passed, a JTimer sends the actionPerformed() message to its listeners. This cycle repeats until stop() is called, or halts immediately if the Jimer is configured to send its message just once.

    Using a JTimer involves first creating it, then starting it using the start() method.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    listenerList

    Constructor Index

    Timer(int, ActionListener)
    Creates a JTimer that will notify its listeners every delay milliseconds.

    Method Index

    addActionListener(ActionListener)
    Adds an actionListener to the Timer
    fireActionPerformed(ActionEvent)
    getDelay()
    Returns the Timer's delay.
    getInitialDelay()
    Returns the Timer's initial delay.
    getLogTimers()
    isCoalesce()
    Returns true if the Timer coalesces multiple pending performCommand() messages.
    isRepeats()
    Returns true if the Timer will send a actionPerformed() message to its listeners multiple times.
    isRunning()
    Returns true if the Timer is running.
    removeActionListener(ActionListener)
    Removes an ActionListener from the Timer.
    restart()
    Restarts a Timer, canceling any pending firings, and causing it to fire with its initial dely.
    setCoalesce(boolean)
    Sets whether the Timer coalesces multiple pending ActionEvent firings.
    setDelay(int)
    Sets the Timer's delay, the number of milliseconds between successive actionPerfomed() messages to its listeners
    setInitialDelay(int)
    Sets the Timer's initial delay.
    setLogTimers(boolean)
    setRepeats(boolean)
    If flag is false, instructs the Timer to send actionPerformed() to its listeners only once, and then stop.
    start()
    Starts the Timer, causing it to send actionPerformed() messages to its listeners.
    stop()
    Stops a Timer, causing it to stop sending actionPerformed() messages to its Target.

    Variables

    listenerList
     protected EventListenerList listenerList
    

    Constructors

    Timer
     public Timer(int delay,
                  ActionListener listener)
    
    Creates a JTimer that will notify its listeners every delay milliseconds.

    Parameters:
    delay - The number of milliseconds between listener notification
    listener - An initial listener
    See Also:
    setInitialDelay, setRepeats

    Methods

    addActionListener
     public void addActionListener(ActionListener listener)
    
    Adds an actionListener to the Timer

    removeActionListener
     public void removeActionListener(ActionListener listener)
    
    Removes an ActionListener from the Timer.

    fireActionPerformed
     protected void fireActionPerformed(ActionEvent e)
    
    setLogTimers
     public static void setLogTimers(boolean flag)
    
    getLogTimers
     public static boolean getLogTimers()
    
    setDelay
     public void setDelay(int delay)
    
    Sets the Timer's delay, the number of milliseconds between successive actionPerfomed() messages to its listeners

    See Also:
    setInitialDelay
    getDelay
     public int getDelay()
    
    Returns the Timer's delay.

    See Also:
    setDelay
    setInitialDelay
     public void setInitialDelay(int initialDelay)
    
    Sets the Timer's initial delay. This will be used for the first "ringing" of the Timer only. Subsequent ringings will be spaced using the delay property.

    See Also:
    setDelay
    getInitialDelay
     public int getInitialDelay()
    
    Returns the Timer's initial delay.

    See Also:
    setDelay
    setRepeats
     public void setRepeats(boolean flag)
    
    If flag is false, instructs the Timer to send actionPerformed() to its listeners only once, and then stop.

    isRepeats
     public boolean isRepeats()
    
    Returns true if the Timer will send a actionPerformed() message to its listeners multiple times.

    See Also:
    setRepeats
    setCoalesce
     public void setCoalesce(boolean flag)
    
    Sets whether the Timer coalesces multiple pending ActionEvent firings. A busy application may not be able to keep up with a Timer's message generation, causing multiple actionPerformed() message sends to be queued. When processed, the application sends these messages one after the other, causing the Timer's listeners to receive a sequence of actionPerformed() messages with no delay between them. Coalescing avoids this situation by reducing multiple pending messages to a single message send. Timers coalesce their message sends by default.

    isCoalesce
     public boolean isCoalesce()
    
    Returns true if the Timer coalesces multiple pending performCommand() messages.

    See Also:
    setCoalesce
    start
     public void start()
    
    Starts the Timer, causing it to send actionPerformed() messages to its listeners.

    See Also:
    stop
    isRunning
     public boolean isRunning()
    
    Returns true if the Timer is running.

    See Also:
    start
    stop
     public void stop()
    
    Stops a Timer, causing it to stop sending actionPerformed() messages to its Target.

    See Also:
    start
    restart
     public void restart()
    
    Restarts a Timer, canceling any pending firings, and causing it to fire with its initial dely.


    dt>  k$5 756$05 ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.timer_mi.htm$$ Class com.sun.java.swing.ToolTipManager

    Class com.sun.java.swing.ToolTipManager

    java.lang.Object
       |
       +----java.awt.event.MouseAdapter
               |
               +----com.sun.java.swing.ToolTipManager
    

    public class ToolTipManager
    extends MouseAdapter
    implements MouseMotionListener

    Manages all the ToolTips in the system.

    See Also:
    createToolTip

    Method Index

    getDismissDelay()
    getInitialDelay()
    getReshowDelay()
    isEnabled()
    mouseDragged(MouseEvent)
    mouseEntered(MouseEvent)
    mouseExited(MouseEvent)
    mouseMoved(MouseEvent)
    mousePressed(MouseEvent)
    registerComponent(JComponent)
    setDismissDelay(int)
    setEnabled(boolean)
    setInitialDelay(int)
    setReshowDelay(int)
    sharedInstance()
    unregisterComponent(JComponent)

    Methods

    setEnabled
     public void setEnabled(boolean flag)
    
    isEnabled
     public boolean isEnabled()
    
    setInitialDelay
     public void setInitialDelay(int microSeconds)
    
    getInitialDelay
     public int getInitialDelay()
    
    setDismissDelay
     public void setDismissDelay(int microSeconds)
    
    getDismissDelay
     public int getDismissDelay()
    
    setReshowDelay
     public void setReshowDelay(int microSeconds)
    
    getReshowDelay
     public int getReshowDelay()
    
    sharedInstance
     public static ToolTipManager sharedInstance()
    
    registerComponent
     public void registerComponent(JComponent component)
    
    unregisterComponent
     public void unregisterComponent(JComponent component)
    
    mouseEntered
     public void mouseEntered(MouseEvent event)
    
    Overrides:
    mouseEntered in class MouseAdapter
    mouseExited
     public void mouseExited(MouseEvent event)
    
    Overrides:
    mouseExited in class MouseAdapter
    mousePressed
     public void mousePressed(MouseEvent event)
    
    Overrides:
    mousePressed in class MouseAdapter
    mouseDragged
     public void mouseDragged(MouseEvent event)
    
    mouseMoved
     public void mouseMoved(MouseEvent event)
    

    Eve kZ$ 756$0 ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.tooltipmanager_mi.htmi.htm$$ Interface com.sun.java.swing.tree.MutableTreeNode

    Interface com.sun.java.swing.tree.MutableTreeNode

    public interface MutableTreeNode
    extends TreeNode


    Method Index

    insert(MutableTreeNode, int)
    Adds child to the receiver at index.
    remove(int)
    Removes the child at index from the receiver.
    remove(MutableTreeNode)
    Removes node from the receiver.
    removeFromParent()
    Removes the receiver from its parent.
    setParent(MutableTreeNode)
    Sets the parent of the receiver to newParent.
    setUserObject(Object)
    Resets the user object of the receiver to object.

    Methods

    insert
     public abstract void insert(MutableTreeNode child,
                                 int index)
    
    Adds child to the receiver at index. child will be messaged with setParent.

    remove
     public abstract void remove(int index)
    
    Removes the child at index from the receiver.

    remove
     public abstract void remove(MutableTreeNode node)
    
    Removes node from the receiver. setParent will be messaged on node.

    setUserObject
     public abstract void setUserObject(Object object)
    
    Resets the user object of the receiver to object.

    removeFromParent
     public abstract void removeFromParent()
    
    Removes the receiver from its parent.

    setParent
     public abstract void setParent(MutableTreeNode newParent)
    
    Sets the parent of the receiver to newParent.


     kd$W756$PW./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.tree.mutabletreenode_mi.htm$$ Interface com.sun.java.swing.tree.RowMapper

    Interface com.sun.java.swing.tree.RowMapper

    public interface RowMapper


    Method Index

    getRowsForPaths(TreePath[])
    Returns the rows that the TreePath instances in path are being displayed at.

    Methods

    getRowsForPaths
     public abstract int[] getRowsForPaths(TreePath path[])
    
    Returns the rows that the TreePath instances in path are being displayed at. The receiver should return an array of the same length as that passed in, and if one of the TreePaths in path is not valid its entry in the array should be set to -1.


    Interface com.sun.java.swing.tree.TreeCellEditor

    Interface com.sun.java.swing.tree.TreeCellEditor

    public interface TreeCellEditor
    extends CellEditor

    Adds to CellEditor the extensions necessary to configure an editor in a tree.


    Method Index

    getTreeCellEditorComponent(JTree, Object, boolean, boolean, boolean, int)
    Sets an initial value for the editor.

    Methods

    getTreeCellEditorComponent
     public abstract Component getTreeCellEditorComponent(JTree tree,
                                                          Object value,
                                                          boolean isSelected,
                                                          boolean expanded,
                                                          boolean leaf,
                                                          int row)
    
    Sets an initial value for the editor. This will cause the editor to stopEditing and lose any partially edited value if the editor is editing when this method is called.

    Returns the component that should be added to the client's Component hierarchy. Once installed in the client's hierarchy this component will then be able to draw and receive user input.

    Parameters:
    table - the JTree that is asking the editor to edit This parameter can be null.
    value - the value of the cell to be edited.
    isSelected - true is the cell is to be renderer with selection highlighting
    expanded - true if the node is expanded
    leaf - true if the node is a leaf node
    row - the row index of the node being edited
    Returns:
    the component for editing

    rent kò$756$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.tree.treecelleditor_mi.htm$$ Interface com.sun.java.swing.tree.TreeCellRenderer

    Interface com.sun.java.swing.tree.TreeCellRenderer

    public interface TreeCellRenderer


    Method Index

    getTreeCellRendererComponent(JTree, Object, boolean, boolean, boolean, int, boolean)
    Sets the value of the current tree cell to value.

    Methods

    getTreeCellRendererComponent
     public abstract Component getTreeCellRendererComponent(JTree tree,
                                                            Object value,
                                                            boolean selected,
                                                            boolean expanded,
                                                            boolean leaf,
                                                            int row,
                                                            boolean hasFocus)
    
    Sets the value of the current tree cell to value. If selected is true, the cell will be drawn as if selected. If expanded is true the node is currently expanded and if leaf is true the node represets a leaf anf if hasFocus is true the node currently has focus. tree is the JTree the receiver is being configured for. Returns the Component that the renderer uses to draw the value.

    Returns:
    Component that the renderer uses to draw the value.

    u k!Ʋ$ 756$` ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.tree.treecellrenderer_mi.htm$$ Interface com.sun.java.swing.tree.TreeModel

    Interface com.sun.java.swing.tree.TreeModel

    public interface TreeModel

    The interface that defines a suitable data model for a JTree.


    Method Index

    addTreeModelListener(TreeModelListener)
    Adds a listener for the TreeModelEvent posted after the tree changes.
    getChild(Object, int)
    Returns the child of parent at index index in the parent's child array.
    getChildCount(Object)
    Returns the number of children of parent.
    getIndexOfChild(Object, Object)
    Returns the index of child in parent.
    getRoot()
    Returns the root of the tree.
    isLeaf(Object)
    Returns true if node is a leaf.
    removeTreeModelListener(TreeModelListener)
    Removes a listener previously added with addTreeModelListener().
    valueForPathChanged(TreePath, Object)
    Messaged when the user has altered the value for the item identified by path to newValue.

    Methods

    getRoot
     public abstract Object getRoot()
    
    Returns the root of the tree. Returns null only if the tree has no nodes.

    Returns:
    the root of the tree
    getChild
     public abstract Object getChild(Object parent,
                                     int index)
    
    Returns the child of parent at index index in the parent's child array. parent must be a node previously obtained from this data source.

    Parameters:
    parent - a node in the tree, obtained from this data source
    Returns:
    the child of parent at index index
    getChildCount
     public abstract int getChildCount(Object parent)
    
    Returns the number of children of parent. Returns 0 if the node is a leaf or if it has no children. parent must be a node previously obtained from this data source.

    Parameters:
    parent - a node in the tree, obtained from this data source
    Returns:
    the number of children of the node parent
    isLeaf
     public abstract boolean isLeaf(Object node)
    
    Returns true if node is a leaf. It is possible for this method to return false even if node has no children. A directory in a filesystem, for example, may contain no files; the node representing the directory is not a leaf, but it also has no children.

    Parameters:
    node - a node in the tree, obtained from this data source
    Returns:
    true if node is a leaf
    valueForPathChanged
     public abstract void valueForPathChanged(TreePath path,
                                              Object newValue)
    
    Messaged when the user has altered the value for the item identified by path to newValue. If newValue signifies a truly new value the model should post a treeNodesChanged event.

    Parameters:
    path - path to the node that the user has altered.
    newValue - the new value from the TreeCellEditor.
    getIndexOfChild
     public abstract int getIndexOfChild(Object parent,
                                         Object child)
    
    Returns the index of child in parent.

    addTreeModelListener
     public abstract void addTreeModelListener(TreeModelListener l)
    
    Adds a listener for the TreeModelEvent posted after the tree changes.

    Parameters:
    l - the listener to add
    See Also:
    removeTreeModelListener
    removeTreeModelListener
     public abstract void removeTreeModelListener(TreeModelListener l)
    
    Removes a listener previously added with addTreeModelListener().

    Parameters:
    l - the listener to remove
    See Also:
    addTreeModelListener

    ild of  kɲ$756$P&./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.tree.treemodel_mi.htmi.htm$$ Interface com.sun.java.swing.tree.TreeNode

    Interface com.sun.java.swing.tree.TreeNode

    public interface TreeNode


    Method Index

    children()
    Returns the children of the reciever as an Enumeration.
    getAllowsChildren()
    Returns true if the receiver allows children.
    getChildAt(int)
    Returns the child TreeNode at index childIndex.
    getChildCount()
    Returns the number of children TreeNodes the receiver contains.
    getIndex(TreeNode)
    Returns the index of node in the receivers children.
    getParent()
    Returns the parent TreeNode of the receiver.
    isLeaf()
    Returns true if the receiver is a leaf.

    Methods

    getChildAt
     public abstract TreeNode getChildAt(int childIndex)
    
    Returns the child TreeNode at index childIndex.

    getChildCount
     public abstract int getChildCount()
    
    Returns the number of children TreeNodes the receiver contains.

    getParent
     public abstract TreeNode getParent()
    
    Returns the parent TreeNode of the receiver.

    getIndex
     public abstract int getIndex(TreeNode node)
    
    Returns the index of node in the receivers children. If the receiver does not contain node, -1 will be returned.

    getAllowsChildren
     public abstract boolean getAllowsChildren()
    
    Returns true if the receiver allows children.

    isLeaf
     public abstract boolean isLeaf()
    
    Returns true if the receiver is a leaf.

    children
     public abstract Enumeration children()
    
    Returns the children of the reciever as an Enumeration.


    re>  k검̲$756$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.tree.treenode_mi.htm$$ Class com.sun.java.swing.tree.TreePath

    Class com.sun.java.swing.tree.TreePath

    java.lang.Object
       |
       +----com.sun.java.swing.tree.TreePath
    

    public class TreePath
    extends Object
    implements Serializable

    Represents a path to a node. TreePath is Serializable, but if any components of the path are not serializable, it will not be written out.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Variable Index

    path
    Path this instance represents.

    Constructor Index

    TreePath(Object)
    Constructs a TreePath when there is only item in the path.
    TreePath(Object[])
    Constructs a path from an array of Objects, uniquely identifying the path from the root of the tree to a specific node, as returned by the tree's data model.

    Method Index

    equals(Object)
    Tests two TreePaths for equality by checking each element of the paths for equality.
    getLastPathComponent()
    Returns the last component of this path.
    getPath()
    Returns an array of Objects containing the components of this TreePath.
    getPathComponent(int)
    Returns the path component at the specified index.
    getPathCount()
    Returns the number of elements in the path.
    hashCode()
    Returns the hashCode for the object.
    isDescendant(TreePath)
    Returns true if the specified node is a descendant of this TreePath.
    toString()
    Returns a string that displays and identifies this object's properties.

    Variables

    path
     protected transient Object path[]
    
    Path this instance represents.


    Constructors

    TreePath
     public TreePath(Object path[])
    
    Constructs a path from an array of Objects, uniquely identifying the path from the root of the tree to a specific node, as returned by the tree's data model.

    The model is free to return an array of any Objects it needs to represent the path. The DefaultTreeModel returns an array of TreeNode objects. The first TreeNode in the path is the root of the tree, the last TreeNode is the node identified by the path.

    Parameters:
    path - an array of Objects representing the path to a node
    TreePath
     public TreePath(Object singlePath)
    
    Constructs a TreePath when there is only item in the path.

    Parameters:
    singlePath - an Object representing the path to a node
    See Also:
    TreePath

    Methods

    getPath
     public Object[] getPath()
    
    Returns an array of Objects containing the components of this TreePath.

    Returns:
    an array of Objects representing the TreePath
    See Also:
    TreePath
    getLastPathComponent
     public Object getLastPathComponent()
    
    Returns the last component of this path. For a path returned by the DefaultTreeModel, that is the TreeNode object for the node specified by the path.

    Returns:
    the Object at the end of the path
    See Also:
    TreePath
    getPathCount
     public int getPathCount()
    
    Returns the number of elements in the path.

    Returns:
    an int giving a count of items the path
    getPathComponent
     public Object getPathComponent(int element)
    
    Returns the path component at the specified index.

    Parameters:
    element - an int specifying an element in the path, where 0 is the first element in the path
    Returns:
    the Object at that index location
    See Also:
    TreePath
    equals
     public boolean equals(Object o)
    
    Tests two TreePaths for equality by checking each element of the paths for equality.

    Parameters:
    o - the Object to compare
    Overrides:
    equals in class Object
    hashCode
     public int hashCode()
    
    Returns the hashCode for the object. This must be defined here to ensure 100% pure.

    Returns:
    the hashCode for the object
    Overrides:
    hashCode in class Object
    isDescendant
     public boolean isDescendant(TreePath aTreePath)
    
    Returns true if the specified node is a descendant of this TreePath. A TreePath, child, is a descendent of another TreePath, parent, if child contains all of the components that make up parent's path.

    Returns:
    true if aTreePath is a descendant of the receiver.
    toString
     public String toString()
    
    Returns a string that displays and identifies this object's properties.

    Returns:
    a String representation of this object
    Overrides:
    toString in class Object

    glePath k<ϲ$756$@7./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.tree.treepath_mi.htm$$ Interface com.sun.java.swing.tree.TreeSelectionModel

    Interface com.sun.java.swing.tree.TreeSelectionModel

    public interface TreeSelectionModel

    This interface represents the current state of the selection for the tree component. It will keep track of the selected rows, but in order to select by row you will need to go directly to the tree.


    Variable Index

    CONTIGUOUS_TREE_SELECTION
    Selection can only be contiguous.
    DISCONTIGUOUS_TREE_SELECTION
    Selection can contain any number of items that are not necessarily contiguous.
    SINGLE_TREE_SELECTION
    Selection can only contain one path at a time.

    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    Add a PropertyChangeListener to the listener list.
    addSelectionPath(TreePath)
    Adds path to the current selection.
    addSelectionPaths(TreePath[])
    Adds paths to the current selection.
    addTreeSelectionListener(TreeSelectionListener)
    Adds x to the list of listeners that are notified each time the selection changes.
    clearSelection()
    Empties the current selection.
    getLeadSelectionPath()
    Returns the last path that was added.
    getLeadSelectionRow()
    Returns the lead selection index.
    getMaxSelectionRow()
    Gets the last selected row.
    getMinSelectionRow()
    Gets the first selected row.
    getRowMapper()
    Returns the RowMapper instance that is able to map a path to a row.
    getSelectionCount()
    Returns the number of paths that are selected.
    getSelectionMode()
    Returns the selection mode.
    getSelectionPath()
    Returns the first path in the selection.
    getSelectionPaths()
    Returns the paths in the selection.
    getSelectionRows()
    Returns all of the currently selected rows.
    isPathSelected(TreePath)
    Returns true if the path, path, is in the current selection.
    isRowSelected(int)
    Returns true if the row identitifed by row is selected.
    isSelectionEmpty()
    Returns true if the selection is currently empty.
    removePropertyChangeListener(PropertyChangeListener)
    Remove a PropertyChangeListener from the listener list.
    removeSelectionPath(TreePath)
    Removes path from the selection.
    removeSelectionPaths(TreePath[])
    Removes paths from the selection.
    removeTreeSelectionListener(TreeSelectionListener)
    Removes x from the list of listeners that are notified each time the selection changes.
    resetRowSelection()
    Updates what rows are selected.
    setRowMapper(RowMapper)
    Sets the RowMapper instance.
    setSelectionMode(int)
    Sets the selection model, which must be one of SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION or DISCONTIGUOUS_TREE_SELECTION.
    setSelectionPath(TreePath)
    Sets the selection to path.
    setSelectionPaths(TreePath[])
    Sets the selection to the the paths.

    Variables

    SINGLE_TREE_SELECTION
     public static final int SINGLE_TREE_SELECTION
    
    Selection can only contain one path at a time.

    CONTIGUOUS_TREE_SELECTION
     public static final int CONTIGUOUS_TREE_SELECTION
    
    Selection can only be contiguous. This will only be enforced if a RowMapper instance is provided.

    DISCONTIGUOUS_TREE_SELECTION
     public static final int DISCONTIGUOUS_TREE_SELECTION
    
    Selection can contain any number of items that are not necessarily contiguous.


    Methods

    setSelectionMode
     public abstract void setSelectionMode(int mode)
    
    Sets the selection model, which must be one of SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION or DISCONTIGUOUS_TREE_SELECTION.

    getSelectionMode
     public abstract int getSelectionMode()
    
    Returns the selection mode.

    setSelectionPath
     public abstract void setSelectionPath(TreePath path)
    
    Sets the selection to path. If this represents a change, then the TreeSelectionListeners are notified.

    Parameters:
    path - new path to select
    setSelectionPaths
     public abstract void setSelectionPaths(TreePath paths[])
    
    Sets the selection to the the paths. If this represents a change the TreeSelectionListeners are notified.

    Parameters:
    paths - new selection.
    addSelectionPath
     public abstract void addSelectionPath(TreePath path)
    
    Adds path to the current selection. If path is not currently in the selection the TreeSelectionListeners are notified.

    Parameters:
    path - the new path to add to the current selection.
    addSelectionPaths
     public abstract void addSelectionPaths(TreePath paths[])
    
    Adds paths to the current selection. If any of the paths in paths are not currently in the selection the TreeSelectionListeners are notified.

    Parameters:
    path - the new path to add to the current selection.
    removeSelectionPath
     public abstract void removeSelectionPath(TreePath path)
    
    Removes path from the selection. If path is in the selection The TreeSelectionListeners are notified.

    Parameters:
    path - the path to remove from the selection.
    removeSelectionPaths
     public abstract void removeSelectionPaths(TreePath paths[])
    
    Removes paths from the selection. If any of the paths in paths are in the selection the TreeSelectionListeners are notified.

    Parameters:
    path - the path to remove from the selection.
    getSelectionPath
     public abstract TreePath getSelectionPath()
    
    Returns the first path in the selection.

    getSelectionPaths
     public abstract TreePath[] getSelectionPaths()
    
    Returns the paths in the selection.

    getSelectionCount
     public abstract int getSelectionCount()
    
    Returns the number of paths that are selected.

    isPathSelected
     public abstract boolean isPathSelected(TreePath path)
    
    Returns true if the path, path, is in the current selection.

    isSelectionEmpty
     public abstract boolean isSelectionEmpty()
    
    Returns true if the selection is currently empty.

    clearSelection
     public abstract void clearSelection()
    
    Empties the current selection. If this represents a change in the current selection, the selection listeners are notified.

    setRowMapper
     public abstract void setRowMapper(RowMapper newMapper)
    
    Sets the RowMapper instance. This instance is used to determine what row corresponds to what path.

    getRowMapper
     public abstract RowMapper getRowMapper()
    
    Returns the RowMapper instance that is able to map a path to a row.

    getSelectionRows
     public abstract int[] getSelectionRows()
    
    Returns all of the currently selected rows.

    getMinSelectionRow
     public abstract int getMinSelectionRow()
    
    Gets the first selected row.

    getMaxSelectionRow
     public abstract int getMaxSelectionRow()
    
    Gets the last selected row.

    isRowSelected
     public abstract boolean isRowSelected(int row)
    
    Returns true if the row identitifed by row is selected.

    resetRowSelection
     public abstract void resetRowSelection()
    
    Updates what rows are selected. This can be externally called in case the location of the paths change, but not the actual paths. You do not normally need to call this.

    getLeadSelectionRow
     public abstract int getLeadSelectionRow()
    
    Returns the lead selection index. That is the last index that was added.

    getLeadSelectionPath
     public abstract TreePath getLeadSelectionPath()
    
    Returns the last path that was added.

    addPropertyChangeListener
     public abstract void addPropertyChangeListener(PropertyChangeListener listener)
    
    Add a PropertyChangeListener to the listener list. The listener is registered for all properties.

    A PropertyChangeEvent will get fired in response to an explicit setFont, setBackground, or SetForeground on the current component. Note that if the current component is inheriting its foreground, background, or font from its container, then no event will be fired in response to a change in the inherited property.

    Parameters:
    listener - The PropertyChangeListener to be added
    removePropertyChangeListener
     public abstract void removePropertyChangeListener(PropertyChangeListener listener)
    
    Remove a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.

    Parameters:
    listener - The PropertyChangeListener to be removed
    addTreeSelectionListener
     public abstract void addTreeSelectionListener(TreeSelectionListener x)
    
    Adds x to the list of listeners that are notified each time the selection changes.

    Parameters:
    x - the new listener to be added.
    removeTreeSelectionListener
     public abstract void removeTreeSelectionListener(TreeSelectionListener x)
    
    Removes x from the list of listeners that are notified each time the selection changes.

    Parameters:
    x - the listener to remove.

    e kԏҲ$756$Q./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.tree.treeselectionmodel_mi.htmi.htm$$ Class com.sun.java.swing.UIDefaults

    Class com.sun.java.swing.UIDefaults

    java.lang.Object
       |
       +----java.util.Dictionary
               |
               +----java.util.Hashtable
                       |
                       +----com.sun.java.swing.UIDefaults
    

    public class UIDefaults
    extends Hashtable

    A table of defaults for Swing components. Applications can set/get default values via the UIManager.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

    See Also:
    UIManager

    Constructor Index

    UIDefaults()
    Create an empty defaults table.
    UIDefaults(Object[])
    Create a defaults table initialized with the specified key/value pairs.

    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    Add a PropertyChangeListener to the listener list.
    firePropertyChange(String, Object, Object)
    Support for reporting bound property changes.
    get(Object)
    getBorder(Object)
    If the value of key is a Border return it, otherwise return null.
    getColor(Object)
    If the value of key is a Color return it, otherwise return null.
    getFont(Object)
    If the value of key is a Font return it, otherwise return null.
    getIcon(Object)
    If the value of key is an Icon return it, otherwise return null.
    getString(Object)
    If the value of key is a String return it, otherwise return null.
    getUI(JComponent)
    Create an ComponentUI implementation for the specified component.
    getUIClass(String)
    The value of get(uidClassID) must be the String name of a class that implements the corresponding ComponentUI class.
    getUIError(String)
    If getUI() fails for any reason, it calls this method before returning null.
    put(Object, Object)
    Set the value of key to value.
    putDefaults(Object[])
    Put all of the key/value pairs in the database and unconditionally generate one PropertyChangeEvent.
    removePropertyChangeListener(PropertyChangeListener)
    Remove a PropertyChangeListener from the listener list.

    Constructors

    UIDefaults
     public UIDefaults()
    
    Create an empty defaults table.

    UIDefaults
     public UIDefaults(Object keyValueList[])
    
    Create a defaults table initialized with the specified key/value pairs. For example:
    Object[] uiDefaults = {
    "Font", new Font("Dialog", Font.BOLD, 12),
    "Color", Color.red,
    "five", new Integer(5)
    }
    UIDefaults myDefaults = new UIDefaults(uiDefaults);
     


    Methods

    get
     public Object get(Object key)
    
    Overrides:
    get in class Hashtable
    put
     public Object put(Object key,
                       Object value)
    
    Set the value of key to value. If key is a string and the new value isn't equal to the old one, fire a PropertyChangeEvent. If value is null, the key is removed from the table.

    Overrides:
    put in class Hashtable
    See Also:
    putDefaults, put
    putDefaults
     public void putDefaults(Object keyValueList[])
    
    Put all of the key/value pairs in the database and unconditionally generate one PropertyChangeEvent. The events oldValue and newValue will be null and its propertyName will be "UIDefaults".

    See Also:
    put, put
    getFont
     public Font getFont(Object key)
    
    If the value of key is a Font return it, otherwise return null.

    getColor
     public Color getColor(Object key)
    
    If the value of key is a Color return it, otherwise return null.

    getIcon
     public Icon getIcon(Object key)
    
    If the value of key is an Icon return it, otherwise return null.

    getBorder
     public Border getBorder(Object key)
    
    If the value of key is a Border return it, otherwise return null.

    getString
     public String getString(Object key)
    
    If the value of key is a String return it, otherwise return null.

    getUIClass
     public Class getUIClass(String uiClassID)
    
    The value of get(uidClassID) must be the String name of a class that implements the corresponding ComponentUI class. This method looks up the class with classForName() and returns it. If no mapping for uiClassID exists or if the specified class can't be found, return null.

    This method is used by getUI, it's usually not neccessary to call it directly.

    Returns:
    The value of Class.forName(get(uidClassID)).
    See Also:
    getUI
    getUIError
     protected void getUIError(String msg)
    
    If getUI() fails for any reason, it calls this method before returning null. Subclasses may choose to do more or less here.

    Parameters:
    msg - Message string to print.
    See Also:
    getUI
    getUI
     public ComponentUI getUI(JComponent target)
    
    Create an ComponentUI implementation for the specified component. In other words create the look and feel specific delegate object for target. This is done in two steps:
    • Lookup the name of the ComponentUI implementation class under the value returned by target.getUIClassID().
    • Use the implementation classes static createUI() method to construct a look and feel delegate.

    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    Add a PropertyChangeListener to the listener list. The listener is registered for all properties.

    A PropertyChangeEvent will get fired whenever a default is changed.

    Parameters:
    listener - The PropertyChangeListener to be added
    See Also:
    PropertyChangeSupport
    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    Remove a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.

    Parameters:
    listener - The PropertyChangeListener to be removed
    See Also:
    PropertyChangeSupport
    firePropertyChange
     protected void firePropertyChange(String propertyName,
                                       Object oldValue,
                                       Object newValue)
    
    Support for reporting bound property changes. If oldValue and newValue are not equal and the PropertyChangeEvent listener list isn't empty, then fire a PropertyChange event to each listener.

    Parameters:
    propertyName - The programmatic name of the property that was changed.
    oldValue - The old value of the property.
    newValue - The new value of the property.
    See Also:
    PropertyChangeSupport

    lass k&ղ$` 756$0p` ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.uidefaults_mi.htmod$$ Class com.sun.java.swing.UIManager

    Class com.sun.java.swing.UIManager

    java.lang.Object
       |
       +----com.sun.java.swing.UIManager
    

    public class UIManager
    extends Object
    implements Serializable

    This class keeps track of the current look and feel and its defaults.

    We manage three levels of defaults: user defaults, look and feel defaults, system defaults. A call to UIManager.get() checks all three levels in order and returns the first non-null value for a key, if any. A call to UIManager.put() just affects the user defaults. Note that a call to setLookAndFeel() doesn't affect the user defaults, it just replaces the middle defaults "level".

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    UIManager()

    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    Add a PropertyChangeListener to the listener list.
    get(Object)
    getAuxiliaryLookAndFeels()
    Return the list of auxiliary look and feels (can be null).
    getBorder(Object)
    getColor(Object)
    getCrossPlatformLookAndFeelClassName()
    Returns the name of the LookAndFeel class that implements the default cross platform look and feel, i.e.
    getDefaults()
    getFont(Object)
    getIcon(Object)
    getInstalledLookAndFeels()
    Return an array of objects that provide some information about the LookAndFeel implementations that have been installed with this java development kit.
    getLookAndFeel()
    Returns The current default look and feel, or null.
    getLookAndFeelDefaults()
    getString(Object)
    getSystemLookAndFeelClassName()
    Returns the name of the LookAndFeel class that implements the native systems look and feel if there is one, otherwise the name of the default cross platform LookAndFeel class.
    getUI(JComponent)
    installLookAndFeel(String, String)
    installLookAndFeel(UIManager. LookAndFeelInfo)
    Adds the specified look and feel to the current array and then calls setInstalledLookAndFeels.
    put(Object, Object)
    removePropertyChangeListener(PropertyChangeListener)
    Remove a PropertyChangeListener from the listener list.
    setInstalledLookAndFeels(UIManager. LookAndFeelInfo[])
    Replaces the current array of installed LookAndFeelInfos.
    setLookAndFeel(LookAndFeel)
    Set the current default look and feel.
    setLookAndFeel(String)

    Constructors

    UIManager
     public UIManager()
    

    Methods

    getInstalledLookAndFeels
     public static UIManager. LookAndFeelInfo[] getInstalledLookAndFeels()
    
    Return an array of objects that provide some information about the LookAndFeel implementations that have been installed with this java development kit. The LookAndFeel info objects can be used by an application to construct a menu of look and feel options for the user or to set the look and feel at start up time. Note that we do not return the LookAndFeel classes themselves here to avoid the cost of unnecessarily loading them.

    Given a LookAndFeelInfo object one can set the current look and feel like this:

     UIManager.setLookAndFeel(info.getClassName());
     

    See Also:
    setLookAndFeel
    setInstalledLookAndFeels
     public static void setInstalledLookAndFeels(UIManager. LookAndFeelInfo infos[]) throws SecurityException
    
    Replaces the current array of installed LookAndFeelInfos.

    See Also:
    getInstalledLookAndFeels
    installLookAndFeel
     public static void installLookAndFeel(UIManager. LookAndFeelInfo info)
    
    Adds the specified look and feel to the current array and then calls setInstalledLookAndFeels.

    See Also:
    setInstalledLookAndFeels
    installLookAndFeel
     public static void installLookAndFeel(String name,
                                           String className)
    
    getLookAndFeel
     public static LookAndFeel getLookAndFeel()
    
    Returns The current default look and feel, or null.

    Returns:
    The current default look and feel, or null.
    See Also:
    setLookAndFeel
    setLookAndFeel
     public static void setLookAndFeel(LookAndFeel newLookAndFeel) throws UnsupportedLookAndFeelException
    
    Set the current default look and feel.

    This is a JavaBeans bound property.

    Throws: UnsupportedLookAndFeelException
    If lnf.isSupportedLookAndFeel() is false.
    See Also:
    getLookAndFeel
    setLookAndFeel
     public static void setLookAndFeel(String className) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException
    
    Throws: ClassNotFoundException
    If the LookAndFeel class could not be found.
    Throws: InstantiationException
    If a new instance of the class couldn't be creatd.
    Throws: IllegalAccessException
    If the class or initializer isn't accessible.
    Throws: UnsupportedLookAndFeelException
    If lnf.isSupportedLookAndFeel() is false.
    getSystemLookAndFeelClassName
     public static String getSystemLookAndFeelClassName()
    
    Returns the name of the LookAndFeel class that implements the native systems look and feel if there is one, otherwise the name of the default cross platform LookAndFeel class.

    See Also:
    setLookAndFeel, getCrossPlatformLookAndFeelClassName
    getCrossPlatformLookAndFeelClassName
     public static String getCrossPlatformLookAndFeelClassName()
    
    Returns the name of the LookAndFeel class that implements the default cross platform look and feel, i.e. the "metal" look and feel.

    Returns:
    "com.sun.java.swing.plaf.metal.MetalLookAndFeel"
    See Also:
    setLookAndFeel, getSystemLookAndFeelClassName
    getDefaults
     public static UIDefaults getDefaults()
    
    getFont
     public static Font getFont(Object key)
    
    getColor
     public static Color getColor(Object key)
    
    getIcon
     public static Icon getIcon(Object key)
    
    getBorder
     public static Border getBorder(Object key)
    
    getString
     public static String getString(Object key)
    
    get
     public static Object get(Object key)
    
    put
     public static Object put(Object key,
                              Object value)
    
    getUI
     public static ComponentUI getUI(JComponent target)
    
    getLookAndFeelDefaults
     public static UIDefaults getLookAndFeelDefaults()
    
    getAuxiliaryLookAndFeels
     public static LookAndFeel[] getAuxiliaryLookAndFeels()
    
    Return the list of auxiliary look and feels (can be null). The auxiliary look and feels tell the multiplexing look and feel what other LookAndFeel classes for a component instance are to be used in addition to the default LookAndFeel class when creating a multiplexing UI.

    Note these are not the same as the installed look and feels.

    See Also:
    getInstalledLookAndFeels
    addPropertyChangeListener
     public static synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    Add a PropertyChangeListener to the listener list. The listener is registered for all properties.

    Parameters:
    listener - The PropertyChangeListener to be added
    See Also:
    PropertyChangeSupport
    removePropertyChangeListener
     public static synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    Remove a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.

    Parameters:
    listener - The PropertyChangeListener to be removed
    See Also:
    PropertyChangeSupport

    e "meta kXز$G 756$լG ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.uimanager_mi.htmod$$ Class com.sun.java.swing.undo.AbstractUndoableEdit

    Class com.sun.java.swing.undo.AbstractUndoableEdit

    java.lang.Object
       |
       +----com.sun.java.swing.undo.AbstractUndoableEdit
    

    public class AbstractUndoableEdit
    extends Object
    implements UndoableEdit

    An abstract implementation of UndoableEdit, implementing simple responses to all boolean methods in that interface.


    Variable Index

    RedoName
    String returned by getRedoPresentationName()
    UndoName
    String returned by getUndoPresentationName()

    Constructor Index

    AbstractUndoableEdit()

    Method Index

    addEdit(UndoableEdit)
    This default implementation returns false.
    canRedo()
    Returns true if this edit is alive and hasBeenDone is false.
    canUndo()
    Returns true if this edit is alive and hasBeenDone is true.
    die()
    Sets alive to false.
    getPresentationName()
    This default implementation returns "".
    getRedoPresentationName()
    If getPresentationName() returns "", returns AbstractUndoableEdit.RedoName.
    getUndoPresentationName()
    If getPresentationName() returns "", returns AbstractUndoableEdit.UndoName.
    isSignificant()
    This default implementation returns true.
    redo()
    Throws CannotRedoException if canRedo() returns false.
    replaceEdit(UndoableEdit)
    This default implementation returns false.
    toString()
    undo()
    Throws CannotUndoException if canUndo() returns false.

    Variables

    UndoName
     protected static final String UndoName
    
    String returned by getUndoPresentationName()

    RedoName
     protected static final String RedoName
    
    String returned by getRedoPresentationName()


    Constructors

    AbstractUndoableEdit
     public AbstractUndoableEdit()
    

    Methods

    die
     public void die()
    
    Sets alive to false. Note that this is a one way operation: dead edits cannot be resurrected. Sending undo() or redo() to a dead edit results in an exception being thrown. Typically an edit is killed when it is consolidated by another edit's addEdit() or replaceEdit() method, or when it is dequeued from an UndoManager

    undo
     public void undo() throws CannotUndoException
    
    Throws CannotUndoException if canUndo() returns false. Sets hasBeenDone to false. Subclasses should override to undo the operation represented by this edit. Override should begin with a call to super.

    See Also:
    canUndo
    canUndo
     public boolean canUndo()
    
    Returns true if this edit is alive and hasBeenDone is true.

    See Also:
    die, undo, redo
    redo
     public void redo() throws CannotRedoException
    
    Throws CannotRedoException if canRedo() returns false. Sets hasBeenDone to true. Subclasses should override to redo the operation represented by this edit. Override should begin with a call to super.

    See Also:
    canRedo
    canRedo
     public boolean canRedo()
    
    Returns true if this edit is alive and hasBeenDone is false.

    See Also:
    die, undo, redo
    addEdit
     public boolean addEdit(UndoableEdit anEdit)
    
    This default implementation returns false.

    See Also:
    addEdit
    replaceEdit
     public boolean replaceEdit(UndoableEdit anEdit)
    
    This default implementation returns false.

    See Also:
    replaceEdit
    isSignificant
     public boolean isSignificant()
    
    This default implementation returns true.

    See Also:
    isSignificant
    getPresentationName
     public String getPresentationName()
    
    This default implementation returns "". Used by getUndoPresentationName() and getRedoPresentationName() to construct the strings they return. Subclasses shoul override to return an appropriate description of the operation this edit represents.

    See Also:
    getUndoPresentationName, getRedoPresentationName
    getUndoPresentationName
     public String getUndoPresentationName()
    
    If getPresentationName() returns "", returns AbstractUndoableEdit.UndoName. Otherwise returns AbstractUndoableEdit.UndoName followed by a space and getPresentationName()

    See Also:
    getPresentationName
    getRedoPresentationName
     public String getRedoPresentationName()
    
    If getPresentationName() returns "", returns AbstractUndoableEdit.RedoName. Otherwise returns AbstractUndoableEdit.RedoName followed by a space and getPresentationName()

    See Also:
    getPresentationName
    toString
     public String toString()
    
    Overrides:
    toString in class Object

    . k۲$l756$0 l./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.undo.abstractundoableedit_mi.htmhtm$$ Class com.sun.java.swing.undo.CannotRedoException

    Class com.sun.java.swing.undo.CannotRedoException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sun.java.swing.undo.CannotRedoException
    

    public class CannotRedoException
    extends RuntimeException

    Thrown when an UndoableEdit is told to redo() and can't.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    CannotRedoException()

    Constructors

    CannotRedoException
     public CannotRedoException()
    

     kA޲$756$pl./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.undo.cannotredoexception_mi.htmhtm$$ Class com.sun.java.swing.undo.CannotUndoException

    Class com.sun.java.swing.undo.CannotUndoException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sun.java.swing.undo.CannotUndoException
    

    public class CannotUndoException
    extends RuntimeException

    Thrown when an UndoableEdit is told to undo() and can't.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    CannotUndoException()

    Constructors

    CannotUndoException
     public CannotUndoException()
    

     k Class com.sun.java.swing.undo.CompoundEdit

    Class com.sun.java.swing.undo.CompoundEdit

    java.lang.Object
       |
       +----com.sun.java.swing.undo.AbstractUndoableEdit
               |
               +----com.sun.java.swing.undo.CompoundEdit
    

    public class CompoundEdit
    extends AbstractUndoableEdit

    A concrete subclass of AbstractUndoableEdit, used to assemble little UndoableEdits into great big ones.


    Variable Index

    edits
    The collection of UndoableEdits undone/redone en masse by this CompoundEdit

    Constructor Index

    CompoundEdit()

    Method Index

    addEdit(UndoableEdit)
    If this edit is inProgress, accepts anEdit and returns true.
    canRedo()
    Returns false if isInProgress or if super does.
    canUndo()
    Returns false if isInProgress or if super does.
    die()
    Send die to each subedit, in the reverse of the order that they were added
    end()
    Sets inProgress to false.
    getPresentationName()
    Returns getPresentationName from the last UndoableEdit added to edits.
    getRedoPresentationName()
    Returns getRedoPresentationName from the last UndoableEdit added to edits.
    getUndoPresentationName()
    Returns getUndoPresentationName from the last UndoableEdit added to edits.
    isInProgress()
    Returns true if this edit is in progress--that is, it has not received end.
    isSignificant()
    Returns true if any of the UndoableEdits in edits do.
    lastEdit()
    Returns the last UndoableEdit in edits, or null if edits is empty
    redo()
    Sends redo() to all contained UndoableEdits in the order in which they were added.
    toString()
    undo()
    Sends undo() to all contained UndoableEdits in the reverse of the order in which they were added.

    Variables

    edits
     protected Vector edits
    
    The collection of UndoableEdits undone/redone en masse by this CompoundEdit


    Constructors

    CompoundEdit
     public CompoundEdit()
    

    Methods

    undo
     public void undo() throws CannotUndoException
    
    Sends undo() to all contained UndoableEdits in the reverse of the order in which they were added.

    Overrides:
    undo in class AbstractUndoableEdit
    redo
     public void redo() throws CannotRedoException
    
    Sends redo() to all contained UndoableEdits in the order in which they were added.

    Overrides:
    redo in class AbstractUndoableEdit
    lastEdit
     protected UndoableEdit lastEdit()
    
    Returns the last UndoableEdit in edits, or null if edits is empty

    die
     public void die()
    
    Send die to each subedit, in the reverse of the order that they were added

    Overrides:
    die in class AbstractUndoableEdit
    addEdit
     public boolean addEdit(UndoableEdit anEdit)
    
    If this edit is inProgress, accepts anEdit and returns true.

    The last edit added to this CompoundEdit is given a chance to addEdit(anEdit). If it refuses (returns false), anEdit is given a chance to replaceEdit the last edit. If anEdit returns false here, it is added to edits.

    Overrides:
    addEdit in class AbstractUndoableEdit
    end
     public void end()
    
    Sets inProgress to false.

    See Also:
    canUndo, canRedo
    canUndo
     public boolean canUndo()
    
    Returns false if isInProgress or if super does.

    Overrides:
    canUndo in class AbstractUndoableEdit
    See Also:
    isInProgress
    canRedo
     public boolean canRedo()
    
    Returns false if isInProgress or if super does.

    Overrides:
    canRedo in class AbstractUndoableEdit
    See Also:
    isInProgress
    isInProgress
     public boolean isInProgress()
    
    Returns true if this edit is in progress--that is, it has not received end. This generally means that edits are still being added to it.

    See Also:
    end
    isSignificant
     public boolean isSignificant()
    
    Returns true if any of the UndoableEdits in edits do. Returns false if they all return false.

    Overrides:
    isSignificant in class AbstractUndoableEdit
    getPresentationName
     public String getPresentationName()
    
    Returns getPresentationName from the last UndoableEdit added to edits. If edits is empty, calls super.

    Overrides:
    getPresentationName in class AbstractUndoableEdit
    getUndoPresentationName
     public String getUndoPresentationName()
    
    Returns getUndoPresentationName from the last UndoableEdit added to edits. If edits is empty, calls super.

    Overrides:
    getUndoPresentationName in class AbstractUndoableEdit
    getRedoPresentationName
     public String getRedoPresentationName()
    
    Returns getRedoPresentationName from the last UndoableEdit added to edits. If edits is empty, calls super.

    Overrides:
    getRedoPresentationName in class AbstractUndoableEdit
    toString
     public String toString()
    
    Overrides:
    toString in class AbstractUndoableEdit

     k~A$756$0:./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.undo.compoundedit_mi.htmi.h$$ Class com.sun.java.swing.undo.StateEdit

    Class com.sun.java.swing.undo.StateEdit

    java.lang.Object
       |
       +----com.sun.java.swing.undo.AbstractUndoableEdit
               |
               +----com.sun.java.swing.undo.StateEdit
    

    public class StateEdit
    extends AbstractUndoableEdit

    StateEdit is a general edit for objects that change state. Objects being edited must conform to the StateEditable interface.

    This edit class works by asking an object to store it's state in Hashtables before and after editing occurs. Upon undo or redo the object is told to restore it's state from these Hashtables.

    A state edit is used as follows:
    	// Create the edit during the "before" state of the object
    	StateEdit newEdit = new StateEdit(myObject);
    	// Modify the object
    	myObject.someStateModifyingMethod();
    	// "end" the edit when you are done modifying the object
    	newEdit.end();
     

    Note that when a StateEdit ends, it removes redundant state from the Hashtables - A state Hashtable is not guaranteed to contain all keys/values placed into it when the state is stored!

    See Also:
    StateEditable

    Variable Index

    object
    The object being edited
    postState
    The state information after the edit
    preState
    The state information prior to the edit
    RCSID
    undoRedoName
    The undo/redo presentation name

    Constructor Index

    StateEdit(StateEditable)
    Create and return a new StateEdit.
    StateEdit(StateEditable, String)
    Create and return a new StateEdit with a presentation name.

    Method Index

    end()
    Gets the post-edit state of the StateEditable object and ends the edit.
    getPresentationName()
    Gets the presentation name for this edit
    init(StateEditable, String)
    redo()
    Tells the edited object to apply the state after the edit
    removeRedundantState()
    Remove redundant key/values in state hashtables.
    undo()
    Tells the edited object to apply the state prior to the edit

    Variables

    RCSID
     protected static final String RCSID
    
    object
     protected StateEditable object
    
    The object being edited

    preState
     protected Hashtable preState
    
    The state information prior to the edit

    postState
     protected Hashtable postState
    
    The state information after the edit

    undoRedoName
     protected String undoRedoName
    
    The undo/redo presentation name


    Constructors

    StateEdit
     public StateEdit(StateEditable anObject)
    
    Create and return a new StateEdit.

    Parameters:
    anObject - The object to watch for changing state
    See Also:
    StateEdit
    StateEdit
     public StateEdit(StateEditable anObject,
                      String name)
    
    Create and return a new StateEdit with a presentation name.

    Parameters:
    anObject - The object to watch for changing state
    name - The presentation name to be used for this edit
    See Also:
    StateEdit

    Methods

    init
     protected void init(StateEditable anObject,
                         String name)
    
    end
     public void end()
    
    Gets the post-edit state of the StateEditable object and ends the edit.

    undo
     public void undo()
    
    Tells the edited object to apply the state prior to the edit

    Overrides:
    undo in class AbstractUndoableEdit
    redo
     public void redo()
    
    Tells the edited object to apply the state after the edit

    Overrides:
    redo in class AbstractUndoableEdit
    getPresentationName
     public String getPresentationName()
    
    Gets the presentation name for this edit

    Overrides:
    getPresentationName in class AbstractUndoableEdit
    removeRedundantState
     protected void removeRedundantState()
    
    Remove redundant key/values in state hashtables.


    table k-$756$@[./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.undo.stateedit_mi.htmmi.h$$ Interface com.sun.java.swing.undo.StateEditable

    Interface com.sun.java.swing.undo.StateEditable

    public interface StateEditable

    StateEditable defines the interface for objects that can have their state undone/redone by a StateEdit.

    See Also:
    StateEdit

    Variable Index

    RCSID

    Method Index

    restoreState(Hashtable)
    Upon receiving this message the receiver should extract any relevant state out of state.
    storeState(Hashtable)
    Upon receiving this message the receiver should place any relevant state into state.

    Variables

    RCSID
     public static final String RCSID
    

    Methods

    storeState
     public abstract void storeState(Hashtable state)
    
    Upon receiving this message the receiver should place any relevant state into state.

    restoreState
     public abstract void restoreState(Hashtable state)
    
    Upon receiving this message the receiver should extract any relevant state out of state.


     kU$756$`./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.undo.stateeditable_mi.htm.h$$ Interface com.sun.java.swing.undo.UndoableEdit

    Interface com.sun.java.swing.undo.UndoableEdit

    public interface UndoableEdit

    An object representing an edit that has been done, and that can be undone and redone


    Method Index

    addEdit(UndoableEdit)
    This UndoableEdit should absorb anEdit if it can.
    canRedo()
    True if it is still possible to redo this operation
    canUndo()
    True if it is still possible to undo this operation
    die()
    May be sent to inform an edit that it should no longer be used.
    getPresentationName()
    Provide a localized, human readable description of this edit suitable for use in, say, a change log.
    getRedoPresentationName()
    Provide a localized, human readable description of the redoable form of this edit, e.g.
    getUndoPresentationName()
    Provide a localized, human readable description of the undoable form of this edit, e.g.
    isSignificant()
    Return false if this edit is insignificant--for example one that maintains the user's selection, but does not change any model state.
    redo()
    Re-apply the edit, assuming that it has been undone.
    replaceEdit(UndoableEdit)
    Return true if this UndoableEdit should replace anEdit.
    undo()
    Undo the edit that was made.

    Methods

    undo
     public abstract void undo() throws CannotUndoException
    
    Undo the edit that was made.

    canUndo
     public abstract boolean canUndo()
    
    True if it is still possible to undo this operation

    redo
     public abstract void redo() throws CannotRedoException
    
    Re-apply the edit, assuming that it has been undone.

    canRedo
     public abstract boolean canRedo()
    
    True if it is still possible to redo this operation

    die
     public abstract void die()
    
    May be sent to inform an edit that it should no longer be used. This is a useful hook for cleaning up state no longer needed once undoing or redoing is impossible--for example, deleting file resources used by objects that can no longer be undeleted. UndoManager calls this before it dequeues edits. Note that this is a one-way operation. There is no "undie" method.

    See Also:
    die
    addEdit
     public abstract boolean addEdit(UndoableEdit anEdit)
    
    This UndoableEdit should absorb anEdit if it can. Return true if anEdit has been incoporated, false if it has not.

    Typically the receiver is already in the queue of a UndoManager (or other UndoableEditListener), and is being given a chance to incorporate anEdit rather than letting it be added to the queue in turn.

    If true is returned, from now on anEdit must return false from canUndo() and canRedo(), and must throw the appropriate exception on undo() or redo().

    replaceEdit
     public abstract boolean replaceEdit(UndoableEdit anEdit)
    
    Return true if this UndoableEdit should replace anEdit. The receiver should incorporate anEdit's state before returning true.

    This message is the opposite of addEdit--anEdit has typically already been queued in a UndoManager (or other UndoableEditListener), and the receiver is being given a chance to take its place.

    If true is returned, from now on anEdit must return false from canUndo() and canRedo(), and must throw the appropriate exception on undo() or redo().

    isSignificant
     public abstract boolean isSignificant()
    
    Return false if this edit is insignificant--for example one that maintains the user's selection, but does not change any model state. This status can be used by an UndoableEditListener (like UndoManager) when deciding which UndoableEdits to present to the user as Undo/Redo options, and which to perform as side effects of undoing or redoing other events.

    getPresentationName
     public abstract String getPresentationName()
    
    Provide a localized, human readable description of this edit suitable for use in, say, a change log.

    getUndoPresentationName
     public abstract String getUndoPresentationName()
    
    Provide a localized, human readable description of the undoable form of this edit, e.g. for use as an Undo menu item. Typically derived from getDescription();

    getRedoPresentationName
     public abstract String getRedoPresentationName()
    
    Provide a localized, human readable description of the redoable form of this edit, e.g. for use as a Redo menu item. Typically derived from getPresentationName();


    bee kn$756$@./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.undo.undoableedit_mi.htm.h$$ Class com.sun.java.swing.undo.UndoableEditSupport

    Class com.sun.java.swing.undo.UndoableEditSupport

    java.lang.Object
       |
       +----com.sun.java.swing.undo.UndoableEditSupport
    

    public class UndoableEditSupport
    extends Object


    Variable Index

    compoundEdit
    listeners
    realSource
    updateLevel

    Constructor Index

    UndoableEditSupport()
    UndoableEditSupport(Object)

    Method Index

    _postEdit(UndoableEdit)
    Called only from postEdit and endUpdate.
    addUndoableEditListener(UndoableEditListener)
    beginUpdate()
    createCompoundEdit()
    Called only from beginUpdate.
    endUpdate()
    DEADLOCK WARNING: Calling this method may call undoableEditHappened in all listeners.
    getUpdateLevel()
    postEdit(UndoableEdit)
    DEADLOCK WARNING: Calling this method may call undoableEditHappened in all listeners.
    removeUndoableEditListener(UndoableEditListener)
    toString()

    Variables

    updateLevel
     protected int updateLevel
    
    compoundEdit
     protected CompoundEdit compoundEdit
    
    listeners
     protected Vector listeners
    
    realSource
     protected Object realSource
    

    Constructors

    UndoableEditSupport
     public UndoableEditSupport()
    
    UndoableEditSupport
     public UndoableEditSupport(Object r)
    

    Methods

    addUndoableEditListener
     public synchronized void addUndoableEditListener(UndoableEditListener l)
    
    removeUndoableEditListener
     public synchronized void removeUndoableEditListener(UndoableEditListener l)
    
    _postEdit
     protected void _postEdit(UndoableEdit e)
    
    Called only from postEdit and endUpdate. Calls undoableEditHappened in all listeners. No synchronization is performed here, since the two calling methods are synchonized.

    postEdit
     public synchronized void postEdit(UndoableEdit e)
    
    DEADLOCK WARNING: Calling this method may call undoableEditHappened in all listeners. It is unwise to call this method from one of its listeners.

    getUpdateLevel
     public int getUpdateLevel()
    
    beginUpdate
     public synchronized void beginUpdate()
    
    createCompoundEdit
     protected CompoundEdit createCompoundEdit()
    
    Called only from beginUpdate. Exposed here for subclasses' use

    endUpdate
     public synchronized void endUpdate()
    
    DEADLOCK WARNING: Calling this method may call undoableEditHappened in all listeners. It is unwise to call this method from one of its listeners.

    toString
     public String toString()
    
    Overrides:
    toString in class Object

    eEdit)" k$; 756$0; ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.undo.undoableeditsupport_mi.htmhtm$$ Class com.sun.java.swing.undo.UndoManager

    Class com.sun.java.swing.undo.UndoManager

    java.lang.Object
       |
       +----com.sun.java.swing.undo.AbstractUndoableEdit
               |
               +----com.sun.java.swing.undo.CompoundEdit
                       |
                       +----com.sun.java.swing.undo.UndoManager
    

    public class UndoManager
    extends CompoundEdit
    implements UndoableEditListener

    Concrete subclass of CompoundEdit which can serve as an UndoableEditListener, consolidating the UndoableEditEvents from a variety of sources, and undoing or redoing them one at a time. Unlike AbstractUndoableEdit and CompoundEdit, the public methods of this class are synchronized, and should be safe to call from multiple threads. This should make UndoManager a convenient marshall for sets of undoable JavaBeans.


    Constructor Index

    UndoManager()

    Method Index

    addEdit(UndoableEdit)
    If inProgress, inserts anEdit at indexOfNextAdd, and removes any old edits that were at indexOfNextAdd or later.
    canRedo()
    Overridden to preserve usual semantics: returns true if a redo operation would be successful now, false otherwise
    canUndo()
    Overridden to preserve usual semantics: returns true if an undo operation would be successful now, false otherwise
    canUndoOrRedo()
    Return true if calling undoOrRedo will undo or redo.
    discardAllEdits()
    Empty the undo manager, sending each edit a die message in the process.
    editToBeRedone()
    Returns the the next significant edit to be redone if redo is called.
    editToBeUndone()
    Returns the the next significant edit to be undone if undo is called.
    getLimit()
    Returns the maximum number of edits this UndoManager will hold.
    getRedoPresentationName()
    If inProgress, returns getRedoPresentationName of the significant edit that will be redone when redo() is invoked.
    getUndoOrRedoPresentationName()
    Return the appropriate name for a command that toggles between undo and redo.
    getUndoPresentationName()

    If inProgress, returns getUndoPresentationName of the significant edit that will be undone when undo() is invoked.

    redo()
    If this UndoManager is inProgress, redoes the last significant UndoableEdit at indexOfNextAdd or after, and all insignificant edits up to it.
    redoTo(UndoableEdit)
    Redoes all changes from indexOfNextAdd to edit.
    setLimit(int)
    Set the maximum number of edits this UndoManager will hold.
    toString()
    trimEdits(int, int)
    Tell the edits in the given range (inclusive) to die, and remove them from edits.
    trimForLimit()
    Reduce the number of queued edits to a range of size limit, centered on indexOfNextAdd.
    undo()
    If this UndoManager is inProgress, undo the last significant UndoableEdit before indexOfNextAdd, and all insignificant edits back to it.
    undoableEditHappened(UndoableEditEvent)
    Called by the UndoabledEdit sources this UndoManager listens to.
    undoOrRedo()
    Undo or redo as appropriate.
    undoTo(UndoableEdit)
    Undoes all changes from indexOfNextAdd to edit.

    Constructors

    UndoManager
     public UndoManager()
    

    Methods

    getLimit
     public synchronized int getLimit()
    
    Returns the maximum number of edits this UndoManager will hold. Default value is 100.

    See Also:
    addEdit, setLimit
    discardAllEdits
     public synchronized void discardAllEdits()
    
    Empty the undo manager, sending each edit a die message in the process.

    trimForLimit
     protected void trimForLimit()
    
    Reduce the number of queued edits to a range of size limit, centered on indexOfNextAdd.

    trimEdits
     protected void trimEdits(int from,
                              int to)
    
    Tell the edits in the given range (inclusive) to die, and remove them from edits. from > to is a no-op.

    setLimit
     public synchronized void setLimit(int l)
    
    Set the maximum number of edits this UndoManager will hold. If edits need to be discarded to shrink the limit, they will be told to die in the reverse of the order that they were added.

    See Also:
    addEdit, getLimit
    editToBeUndone
     protected UndoableEdit editToBeUndone()
    
    Returns the the next significant edit to be undone if undo is called. May return null

    editToBeRedone
     protected UndoableEdit editToBeRedone()
    
    Returns the the next significant edit to be redone if redo is called. May return null

    undoTo
     protected void undoTo(UndoableEdit edit) throws CannotUndoException
    
    Undoes all changes from indexOfNextAdd to edit. Updates indexOfNextAdd accordingly.

    redoTo
     protected void redoTo(UndoableEdit edit) throws CannotRedoException
    
    Redoes all changes from indexOfNextAdd to edit. Updates indexOfNextAdd accordingly.

    undoOrRedo
     public synchronized void undoOrRedo() throws CannotRedoException, CannotUndoException
    
    Undo or redo as appropriate. Suitable for binding to an action that toggles between these two functions. Only makes sense to send this if limit == 1.

    See Also:
    canUndoOrRedo, getUndoOrRedoPresentationName
    canUndoOrRedo
     public synchronized boolean canUndoOrRedo()
    
    Return true if calling undoOrRedo will undo or redo. Suitable for deciding to enable a command that toggles between the two functions, which only makes sense to use if limit == 1.

    See Also:
    undoOrRedo
    undo
     public synchronized void undo() throws CannotUndoException
    
    If this UndoManager is inProgress, undo the last significant UndoableEdit before indexOfNextAdd, and all insignificant edits back to it. Updates indexOfNextAdd accordingly.

    If not inProgress, indexOfNextAdd is ignored and super's routine is called.

    Overrides:
    undo in class CompoundEdit
    See Also:
    end
    canUndo
     public synchronized boolean canUndo()
    
    Overridden to preserve usual semantics: returns true if an undo operation would be successful now, false otherwise

    Overrides:
    canUndo in class CompoundEdit
    redo
     public synchronized void redo() throws CannotRedoException
    
    If this UndoManager is inProgress, redoes the last significant UndoableEdit at indexOfNextAdd or after, and all insignificant edits up to it. Updates indexOfNextAdd accordingly.

    If not inProgress, indexOfNextAdd is ignored and super's routine is called.

    Overrides:
    redo in class CompoundEdit
    See Also:
    end
    canRedo
     public synchronized boolean canRedo()
    
    Overridden to preserve usual semantics: returns true if a redo operation would be successful now, false otherwise

    Overrides:
    canRedo in class CompoundEdit
    addEdit
     public synchronized boolean addEdit(UndoableEdit anEdit)
    
    If inProgress, inserts anEdit at indexOfNextAdd, and removes any old edits that were at indexOfNextAdd or later. The die method is called on each edit that is removed is sent, in the reverse of the order the edits were added. Updates indexOfNextAdd.

    If not inProgress, acts as a CompoundEdit

    Overrides:
    addEdit in class CompoundEdit
    See Also:
    end, addEdit
    getUndoOrRedoPresentationName
     public synchronized String getUndoOrRedoPresentationName()
    
    Return the appropriate name for a command that toggles between undo and redo. Only makes sense to use such a command if limit == 1 and we're not in progress.

    getUndoPresentationName
     public synchronized String getUndoPresentationName()
    

    If inProgress, returns getUndoPresentationName of the significant edit that will be undone when undo() is invoked. If there is none, returns AbstractUndoableEdit.UndoName

    If not inProgress, acts as a CompoundEdit

    Overrides:
    getUndoPresentationName in class CompoundEdit
    See Also:
    undo, getUndoPresentationName
    getRedoPresentationName
     public synchronized String getRedoPresentationName()
    
    If inProgress, returns getRedoPresentationName of the significant edit that will be redone when redo() is invoked. If there is none, returns AbstractUndoableEdit.RedoName

    If not inProgress, acts as a CompoundEdit

    Overrides:
    getRedoPresentationName in class CompoundEdit
    See Also:
    redo, getUndoPresentationName
    undoableEditHappened
     public void undoableEditHappened(UndoableEditEvent e)
    
    Called by the UndoabledEdit sources this UndoManager listens to. Calls addEdit with e.getEdit().

    See Also:
    addEdit
    toString
     public String toString()
    
    Overrides:
    toString in class CompoundEdit

    op kB$b 756$ b ./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.undo.undomanager_mi.htmmi.h$$ Class com.sun.java.swing.UnsupportedLookAndFeelException

    Class com.sun.java.swing.UnsupportedLookAndFeelException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sun.java.swing.UnsupportedLookAndFeelException
    

    public class UnsupportedLookAndFeelException
    extends Exception

    An exception that indicates the request look & feel management classes are not present on the user's system.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    UnsupportedLookAndFeelException(String)

    Constructors

    UnsupportedLookAndFeelException
     public UnsupportedLookAndFeelException(String s)
    

     kZ<$756$p./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.unsupportedlookandfeelexception_mi.htm$$ Class com.sun.java.swing.ViewportLayout

    Class com.sun.java.swing.ViewportLayout

    java.lang.Object
       |
       +----com.sun.java.swing.ViewportLayout
    

    public class ViewportLayout
    extends Object
    implements LayoutManager, Serializable

    The default layout manager for JViewport. JViewportLayout defines a policy for layout that should be useful for most applications. The viewport makes its view as the same size as the viewport, however it will not make the view smaller than its minimum size. As the viewport grows the view is kept bottom justified until the entire view is visible, subsequently the view is kept top justified.

    Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.


    Constructor Index

    ViewportLayout()

    Method Index

    addLayoutComponent(String, Component)
    layoutContainer(Container)
    minimumLayoutSize(Container)
    preferredLayoutSize(Container)
    removeLayoutComponent(Component)

    Constructors

    ViewportLayout
     public ViewportLayout()
    

    Methods

    addLayoutComponent
     public void addLayoutComponent(String name,
                                    Component c)
    
    removeLayoutComponent
     public void removeLayoutComponent(Component c)
    
    preferredLayoutSize
     public Dimension preferredLayoutSize(Container parent)
    
    minimumLayoutSize
     public Dimension minimumLayoutSize(Container parent)
    
    layoutContainer
     public void layoutContainer(Container parent)
    

    2//en" kdB$756$P./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.viewportlayout_mi.htmxcepti$$ Interface com.sun.java.swing.WindowConstants

    Interface com.sun.java.swing.WindowConstants

    public interface WindowConstants


    Variable Index

    DISPOSE_ON_CLOSE
    The dispose-window default window close operation
    DO_NOTHING_ON_CLOSE
    The do-nothing default window close operation
    HIDE_ON_CLOSE
    The hide-window default window close operation

    Variables

    DO_NOTHING_ON_CLOSE
     public static final int DO_NOTHING_ON_CLOSE
    
    The do-nothing default window close operation

    HIDE_ON_CLOSE
     public static final int HIDE_ON_CLOSE
    
    The hide-window default window close operation

    DISPOSE_ON_CLOSE
     public static final int DISPOSE_ON_CLOSE
    
    The dispose-window default window close operation


    e( k$S756$`S./usr/IBMVJava/html/enterp/en_US/jfcref/com.sun.java.swing.windowconstants_mi.htmcepti$$ Package com.sun.java.accessibility

    All Packages (JFC)

    package com.sun.java.accessibility

    Interface Index

    Accessible
    AccessibleAction
    AccessibleComponent
    AccessibleLayout
    AccessibleSelection
    AccessibleTable
    AccessibleText
    AccessibleValue

    Class Index

    AccessibleBundle
    AccessibleContext
    AccessibleResourceBundle
    AccessibleRole
    AccessibleState
    AccessibleStateSet
    eL kw$"7I66$@"./usr/IBMVJava/html/enterp/en_US/jfcref/package-com.sun.java.swing.border.htmt$$ Package com.sun.java.swing.border

    All Packages (JFC)

    package com.sun.java.swing.border

    Interface Index

    Border

    Class Index

    AbstractBorder
    BevelBorder
    CompoundBorder
    EmptyBorder
    EtchedBorder
    LineBorder
    MatteBorder
    SoftBevelBorder
    TitledBorder
    / k $7I66$./usr/IBMVJava/html/enterp/en_US/jfcref/package-com.sun.java.swing.event.htmt$$ Package com.sun.java.swing.event

    All Packages (JFC)

    package com.sun.java.swing.event

    Interface Index

    AncestorListener
    CaretListener
    CellEditorListener
    ChangeListener
    DocumentEvent
    DocumentListener
    HyperlinkListener
    InternalFrameListener
    ListDataListener
    ListSelectionListener
    MenuListener
    PopupMenuListener
    TableColumnModelListener
    TableModelListener
    TreeExpansionListener
    TreeModelListener
    TreeSelectionListener
    UndoableEditListener

    Class Index

    AncestorEvent
    CaretEvent
    ChangeEvent
    EventListenerList
    HyperlinkEvent
    InternalFrameAdapter
    InternalFrameEvent
    ListDataEvent
    ListSelectionEvent
    MenuEvent
    PopupMenuEvent
    TableColumnModelEvent
    TableModelEvent
    TreeExpansionEvent
    TreeModelEvent
    TreeSelectionEvent
    UndoableEditEvent
    g k $/7I66$ /./usr/IBMVJava/html/enterp/en_US/jfcref/package-com.sun.java.swing.htmt$$ Package com.sun.java.swing

    All Packages (JFC)

    package com.sun.java.swing

    Interface Index

    Action
    BoundedRangeModel
    ButtonModel
    CellEditor
    ComboBoxEditor
    ComboBoxModel
    DesktopManager
    Icon
    ListCellRenderer
    ListModel
    ListSelectionModel
    MenuElement
    Renderer
    RootPaneContainer
    ScrollPaneConstants
    Scrollable
    SingleSelectionModel
    SwingConstants
    WindowConstants

    Class Index

    AbstractAction
    AbstractButton
    AbstractListModel
    BorderFactory
    Box
    BoxLayout
    ButtonGroup
    CellRendererPane
    ColorChooserPanel
    DebugGraphics
    DefaultBoundedRangeModel
    DefaultButtonModel
    DefaultCellEditor
    DefaultDesktopManager
    DefaultFocusManager
    DefaultListModel
    DefaultListSelectionModel
    DefaultSingleSelectionModel
    FocusManager
    GrayFilter
    ImageIcon
    JApplet
    JButton
    JCheckBox
    JCheckBoxMenuItem
    JComboBox
    JComponent
    JDesktopPane
    JDialog
    JEditorPane
    JFrame
    JInternalFrame
    JLabel
    JLayeredPane
    JList
    JMenu
    JMenuBar
    JMenuItem
    JOptionPane
    JPanel
    JPasswordField
    JPopupMenu
    JProgressBar
    JRadioButton
    JRadioButtonMenuItem
    JRootPane
    JScrollBar
    JScrollPane
    JSeparator
    JSlider
    JSplitPane
    JTabbedPane
    JTable
    JTextArea
    JTextField
    JTextPane
    JToggleButton
    JToolBar
    JToolTip
    JTree
    JViewport
    JWindow
    KeyStroke
    LookAndFeel
    MenuSelectionManager
    OverlayLayout
    ProgressMonitor
    ProgressMonitorInputStream
    RepaintManager
    ScrollPaneLayout
    SizeRequirements
    SwingUtilities
    SyntheticImage
    Timer
    ToolTipManager
    UIDefaults
    UIManager
    ViewportLayout

    Exception Index

    UnsupportedLookAndFeelException
    arg kh$7I66$@#./usr/IBMVJava/html/enterp/en_US/jfcref/package-com.sun.java.swing.table.htmt$$ Package com.sun.java.swing.table

    All Packages (JFC)

    package com.sun.java.swing.table

    Interface Index

    TableCellEditor
    TableCellRenderer
    TableColumnModel
    TableModel

    Class Index

    AbstractTableModel
    DefaultTableCellRenderer
    DefaultTableColumnModel
    DefaultTableModel
    JTableHeader
    TableColumn
    htm#_ k$7I66$'./usr/IBMVJava/html/enterp/en_US/jfcref/package-com.sun.java.swing.text.htmt$$ Package com.sun.java.swing.text

    All Packages (JFC)

    package com.sun.java.swing.text

    Interface Index

    AttributeSet
    Caret
    Document
    Element
    Highlighter
    Keymap
    MutableAttributeSet
    Position
    Style
    StyledDocument
    TabExpander
    TabableView
    ViewFactory

    Class Index

    AbstractDocument
    BoxView
    ComponentView
    CompositeView
    DefaultCaret
    DefaultEditorKit
    DefaultHighlighter
    DefaultStyledDocument
    DefaultTextUI
    EditorKit
    FieldView
    IconView
    JTextComponent
    LabelView
    ParagraphView
    PasswordView
    PlainDocument
    PlainView
    Segment
    SimpleAttributeSet
    StringContent
    StyleConstants
    StyleContext
    StyledEditorKit
    TabSet
    TabStop
    TableView
    TextAction
    Utilities
    View
    WrappedPlainView

    Exception Index

    BadLocationException
    swing. k-$7I66$`~./usr/IBMVJava/html/enterp/en_US/jfcref/package-com.sun.java.swing.text.html.htmcepti$$ Package com.sun.java.swing.text.html

    All Packages (JFC)

    package com.sun.java.swing.text.html

    Class Index

    HTMLEditorKit
    target k$7I66$`./usr/IBMVJava/html/enterp/en_US/jfcref/package-com.sun.java.swing.text.rtf.htm$$ Package com.sun.java.swing.text.rtf

    All Packages (JFC)

    package com.sun.java.swing.text.rtf

    Class Index

    RTFEditorKit
    tml>  k$7I66$@3./usr/IBMVJava/html/enterp/en_US/jfcref/package-com.sun.java.swing.tree.htmhtm$$ Package com.sun.java.swing.tree

    All Packages (JFC)

    package com.sun.java.swing.tree

    Interface Index

    MutableTreeNode
    RowMapper
    TreeCellEditor
    TreeCellRenderer
    TreeModel
    TreeNode
    TreeSelectionModel

    Class Index

    DefaultMutableTreeNode
    DefaultTreeModel
    DefaultTreeSelectionModel
    TreePath
    top k.B$ 7I66$@7 ./usr/IBMVJava/html/enterp/en_US/jfcref/package-com.sun.java.swing.undo.htmhtm$$ Package com.sun.java.swing.undo

    All Packages (JFC)

    package com.sun.java.swing.undo

    Interface Index

    StateEditable
    UndoableEdit

    Class Index

    AbstractUndoableEdit
    CompoundEdit
    StateEdit
    UndoManager
    UndoableEditSupport

    Exception Index

    CannotRedoException
    CannotUndoException
     ln$7I66$@o./usr/IBMVJava/html/enterp/en_US/jfcref/tree.htmom.sun.$$   .aeinst<>_clmoru"dghjpvw #/=bf)xy(,ACELMSTBDJPzFIRUVk-H023GKNOW!189:q 456;Q8C^]>oT e?z28@ fDX4B9>Š0St:8, A@@8F7~] n#X(w_h   0D@m< I|K 0` @`t>[$&8 q@`M 8L !M[\$`@ F@ L#'ZFARqȥ$ga?Х k BkY Bk.4#d rZz]bčKZ]OhqFef:u@p8DG2G 0Pg)v @`$8U16/T2.NQ!0 0SA @`z,A׈.2uHjb0X ]wBFTI u2FTM u+_ԏʒ}-# +ԯq ]O?d2"OPKXO?d2"i_ԏʒ}-# RUR$Х *q e/ " Z:t)~TeOD|X#)~TeOD|}+RO:}dl#nE 0Xz,DA׈.MdJ*x$S\=OPKXO?d2"E5ۦw$ZF@W{^ێ"\ak^BFTH{tX#)~TeODkH{rGI>ێ"ʜl-K&.;րb""D)u k'US"z]bČy%Qٖqb""0X ]wBFTH{tX#)~TeODkO4_-b$ZF@1-`+\=)DDCրb""D)u k'US"z]bČy%Q a~ێ"\ak^ATeN6AB`DD@`^"5*sHMp=A.bFSY<ʞ74nWk$~Tiiqb""!@`^"5*sHMp=A.bFSY<ʞ74nck$~TiiQ68 n8@`^"5*sHMp=A.bFSY<ʞ74nئ{rGI> Ͱqb""D)u k'US"z]bČy%QOPKXO?d2"~>K]f=RO:}d {/|)DCրb"D)u k'US'%,Hk'US4+ԯ^w?*IO8Rඏk8Dq{ k'US'%,Hk'US+4{ZGI> [GE Q8[M ] wDDxRO?d2"OPKXO?d2"Gt֑RO:}d.gx-",DA=h " B]Цy%QWhRgH.0/MdJ*x'ROPKXO?d2"~.R֑RO:}dhRgHATeN6AB`D@`^"5*sHK=A.bFSY<ʞ74]=)vƏkH'>2kO_hRgH.0/2 vR Kpb"!@`^"5*sH$e5*sHWGm ]$ZF@W{^vХ$|@Z헿Цy%Q2U`R:t5**V/<&OPKXO?d2X*RH'>2U`_ӈ u!KSY<ʚRbdʼnMdJ*iJ R.?G]~Tiiu*R~8@`z,DDA׈.MdJ*iJ $e5**V/<&iJsWi$ZF@J]E 0X ]wBFTҕ}+'%,Hk'USJU`^xLҕ})w_i$ZF@J}}E 0Xz,DA׈߷ \)~TeM)W݂y2z]bČy%Q4_v )W݂jk nGI>R. am8@`^"5**V/<&OPKXO?d2X*RM߰H'>2U`!H " FoۅҮO?d2X=A.bFSY<ʚRbfKK_$ZF@JPK_H " FoۅҮO?d2X=A.bFSY<ʚRbfKڿ$ZF@JZ_ӈ u!KSY<ʚRbdʼnMdJ*iJ R.?*IO:})v _E 0XnJSY<ʚRbdʼnMdJ*iJ R..?*IO:})v K u#7W k'USJU`^xLX#)~TeM)W݂y3JU`G~Tiiu*Raqb"Df]*MdJ*iJ $e5**V/<&iJ2H'>2U`",DA׈߷ \)~TeODX#)~TeODҿ$ZF@_ӈ@>~ʚ7̽ p8`^"3~.py%Q2kY{n8Dl#G*e,DA׈߷ \)~TeOD|X#)~TeOD|S#`tKH?~qb"Df]*MdJ*x$S\=OPKXO?d2"E5ۤS\=#`tKHZH " B]Цy%Qۀ%+ u#7W k'US'%,Hk'US"uiƏkH'>2VG5i h u!KSY<ʞ74=A.bFSY<ʞ74ЅK_$ZF@ ЀUq ] *hߐU -ATeN6AB`DxRO?d2"OPKXO?d2"E?C?*IO,)eFTdn^4)v,DA׈߷ \)~TeODX#)~TeODu֑RO:}dn=)2lZ_B`DxpUšFTOG u2FTOGʩ$ZF@"~qb"Df]*MdJ*x&̽=A.bFSY<ʞ74/~UN^wے?*IOE:㈤@>~ʗ.A&^+;mDxpUšFTI u2FTJkʒ}-# kX$|)DxpUšFTM{z]bČy%Q2Jӈ@Z헿USF_-vK4)~TeODX#)~TeOD)[RO:}d 8@8`z,DDDDDA׈.MdJ*x$ʼnMdJ*x$On~Tii8 R -vSY<ʚRbdʼnMdJ*iJ R.?*IO:})vqpb"""""D)u k'US'%,Hk'US%2ďʒ}-# ޼)e)~TeM)W݂y2z]bČy%Q4_v )W݂i$ZF@J8@O?d2"OPKXO?d2"Yz]?*IO]+^R;րb""""""D)u k'US'%,Hk'US%(P І^>ؑRO:}dm@$h@.H.0/MdJ*x$ʼnMdJ*x'!Mʒ}-# ni}oRЦy%Q4_v u2FTҕ}+4_v ]~Tiiu*R)DDDDDDxRO?d2"OPKXO?d2"Je?*IOz@Z헿Цy%Q4_v u2FTҕ}+4_v ]~Tiiu*R)hSY<ʞ74=A.bFSY<ʞ74evH'>2w{H """""" B]Цy%Qj xaR -vSY<ʚRbdʼnMdJ*iJ R.?*IO:})vqpb"""""!@`^"5*sH$e5*sHGI>ZA ӈ@Z헿Цy%Q4_v u2FTҕ}+4_v ]~Tiiu*R)DDDDD@`^"5*sH$e5*sHMhBGI> H.0/MdJ*iJ $e5**V/<&iJH'>2U`R:t)~TeODX#)~TeOD)ԏʒ}-# >4t)e)~TeM)W݂y2z]bČy%Q4_v )W݂i$ZF@J8@8`0Xz,DDDDA׈.MdJ*x$ʼnMdJ*x$5) $ZF@k4hAR -v*~@/WХO?d2"lߓ$e5*sH2y=}/;m$ZF@+;jg})h*~lߐ:キMdJ*iJ $e5**V/<&iJH'>2U`R:t)~TeODX#)~TeODu2?*IO۶L@Z헿Цy%Q4_v u2FTҕ}+4_v ]~Tiiu*R)h*~lߐ[_ p *hߛ2g} k'US'%,Hk'US&TH'>2;M7{"5*sH$e5*sH5]mnH'>23[EmY㈤2/~A amg}0X ]wBFTI u2FTIKVʒ}-# PYR -vSY<ʞ74=A.bFSY<ʞ74sHSw#`tKH@![q4)~TeM)W݂y2z]bČy%Q4_v )W݂i$ZF@J8@8`z,DDDDDA׈.MdJ*x'ROPKXO?d2"~.{O_ ]ַ^n$~Tii5)v^nE"l5*sHK=A.bFSY<ʞ74KZʒ}-# B`Z5qRUSe)xХ8`0X ]wBFTI u2FTIKu]m~Tii8*m8[gH.0/MdJ*iJ $e5**V/<&iJH'>2U`R;րb"""""D)u k'US'%,Hk'US%|}[i$ZF@_i`EmE"l5**V/<&OPKXO?d2X*R#`tKHW݂gH """"  u!KSY<ʞ74=A.bFSY<ʞ74)yޑRO:}d8Dq{ k'US'%,Hk'US<5kKʒ}-# 5kKMdJ*iJ $e5**V/<&iJH'>2U`R:t)~TeODX#)~TeOD׊$~Tii8.-8)e)~TeM)W݂y2z]bČy%Q4_v )W݂i$ZF@J8@O?d2"OPKXO?d2"Yz]?*IO]+^R:t)~TeODX#)~TeODGI>([gH """" B]Цy%Q2U`R;րb"""""D)u k'US'%,Hk'US*jZGI>jA-o[YR8DDDDxRO?d2"OPKXO?d2"J-^#`tKHw8Dq{ k'USJU`^xLX#)~TeM)W݂y3JU`GI>R."5*sH$e5*sH^lʒ}-# zJ헾qpb""""D)u k'US'%,Hk'US%NH'>2p!!ӎ"\ak^BFTI u2FTOB$ZF@0 ㈤MdJ*iJ $e5**V/<&iJH'>2U`R:t)~TeODX#)~TeOD˭ʒ}-# oq ]O?d2X=A.bFSY<ʚRbfKʒ}-# _v ]E 0X ]wBFTI u2FTI\5kNH'>2pbլE"lʚ79OK4)~TeM)W݂y2z]bČy%Q4_v )W݂i$ZF@J8@8`^"5*sH$e5*sHNj]m~Tii81NjVR -vSY<ʞ74=A.bFSY<ʞ749Yu}oGI> SnE k'USJU`^xLX#)~TeM)W݂y3JU`GI>R.",DDDDA׈.MdJ*x$ʼnMdJ*x$rGI>,u{\q ]O?d2X=A.bFSY<ʚRbfKʒ}-# _v ]E 0X ]wBFTI u2FTI\ܑRO:}d㈤@Z헿Цy%Q 74Cw)hSY<ʚRbdʼnMdJ*iJ R.?*IO:})vqpb""""D)u k'US'%,Hk'US%qk.?*IOZ8Dq{ k'USJU`^xLX#)~TeM)W݂y3JU`GI>R.",DDDDA׈.MdJ*x$ʼnMdJ*x$Brm#`tKH(UVR -v*2ݔhR k'USJU`^xLX#)~TeM)W݂y3JU`GI>R."5*sH$e5*sH747{?*IOaH """" B]Цy%QhR)e)~TeODٗ'%,Hk'US6eХ=y{nH'>2)v hVwێ"5*sH$e5*sHSХGI> SХRЦy%Q2U`R:t)~TeOD|X#)~TeOD|k nGI>l# am8Dq{ k'US'%,Hk'US<5kKʒ}-# 5kKMdJ*iJ $e5**V/<&iJH'>2U`R;րb"""""D)u k'US'%,Hk'US%XquRO:}d"",DDDDDA޴ u!KSY<ʞ74=A.bFSY<ʞ74+#˭ʒ}-# Gqb"""""!@`^"5*sH$e5*sH>tRO:}d;",DDDDDA׈.MdJ*x$ʼnMdJ*x$?*IOa29R -vSY<ʞ74=A.bFSY<ʞ74sHSw#`tKH@![qpb"""""0X ]wBFTI u2FTIEqp:GI>k\8XH """""  qZ:t)~TeODX#)~TeODjS?*IO֬E"l5**V/<&OPKXO?d2X*R#`tKHW݂gH """" B]Цy%Q2sV8@O?d2X=A.bFSY<ʚRbfKʒ}-# _v ]E 0X ]wBFTI u2FTIFe[]$ZF@2-@Z헿Цy%Q4_v u2FTҕ}+4_v ]~Tiiu*R)DDDCրb"""D)uQ4o[k """ Z:tFTe@喻b""""0X ]wBFTI u2FTITYkH'>2p9e)e)~TeM)W݂y2z]bČy%Q4_v )W݂i$ZF@J8@O?d2"OPKXO?d2"\um#`tKHonfێ",DDDDA=h """  u!K*~@;M """ Z:tFTѿ 6R@`z,DDDDDA׈.MdJ*x$ʼnMdJ*x$?*IO[H8Dq{ k'US'%,Hk'US&TH'>2;M7{"5**V/<&OPKXO?d2X*R#`tKHW݂gHBFTI u2FTK.ͷ$~Tii" ߬qR8DDDDxR *hߐeZ헿USF^nfہ;րb"""""D)u k'US'%,Hk'US% u2?*IO:gH.0/MdJ*x$ʼnMdJ*x$j$ZF@Gi}oRЦy%Q4_v u2FTҕ}+4_v ]~Tiiu*R)hSY<ʞ74=A.bFSY<ʞ74s[ڛYʒ}-# 5V!n8@8`0X ]wBFTI u2FTIFR?*IOyӈ@Z헿Цy%Q4_v u2FTҕ}+4_v ]~Tiiu*R)hSY<ʞ74=A.bFSY<ʞ74s[ڛYʒ}-# 5V!n8@8`0Xz,DA=h " B]Цy%Q2kO_l#88Dq{ k'US?a'%,Hk'US?a&e.pJGI>2kN"ʜl-K&.8DCրb"D)u k'US'%,Hk'US#غzS_"i$ZF@ bp ZE=)e)~TeODX#)~TeODk{դ[=#`tKHZդX-"ʜl-K&.:t)~TeODX#)~TeODbOn?*IO+۠k8Dq{ k'US'%,Hk'US"cG~Tii+۠k8@ *q e/ " B]Цy%Q2kO_)H.0/MdJ*x'#ʼnMdJ*x'#Tʒ}-# N8@ *q e/ATeMf^F p *hߛ2ʚ7̽`7AY{n " B]Цy%Q{\RO:}d]v>{\q4FTdn^4)v,DA׈.MdJ*x$ʼnMdJ*x${O_|}$~Tii5k,[D["\ak^BFTI u2FTH'[+hrGI>_i`"qpb"D)u k'US?a'%,Hk'US?a#غz #`tKH]=~A+ qR -vSY<ʞ74=A.bFSY<ʞ74'%xA?nH'>2%xA?n8@8`^"5*sH$e5*sH]=~]ƏkH'>2kO_k~7Amq ]O?d2"OPKXO?d2"Wk~7Xi$ZF@+;WtgHATeJHB۷B`h*2ݔhR0X ]wBFTOOPKXO?d2"}r=Ku޴{H'>2kO_)v uZ=E"lʕ֑ n.Цy%Q2kO_]v h@Z헿USe)xХO?d2"}rz]bČy%QXze{YR -v*]i[vR Q8[M ]MdJ*x'w'%,Hk'US>]cG~Tii]-v-",DA׈߷ \)~TeODX#)~TeOD|}$~Tii5 -H " B]UR nӂC;րb""D)uQ/\=q?BpeFT-t)vʜl-K&.;րb"""D)u k'US'%,Hk'US/]=$ZF@5)DDCրb"!@`^"3~.py%Q5OeE 0XnJSY<ʞ74/~OPKXO?d2"lߑڧH'>2fIqb"Df]*MdJ*x&̽=A.bFSY<ʞ74/~Gj^wے?*IO{/|㈤@>~ʗ.A&^+;mDxRO?d2"~>OPKXO?d2"~>l|~TiigE"lʕ֑ n.USe)xХ8`z,DDA׈.MdJ*x'#ʼnMdJ*x'#{O_p H'>2kO_Gkqb""0X ]wBFTOG u2FTOGxJ{=9$ZF@3WcGkqb"""0X ]wBFTOG> u2FTOG>>p H'>2 Gkqb""""D)u k'US?a.rz]bČy%Q{\s?*IO gE 0Xz,DDA=h "  u#7W k'US?a'%,Hk'US?a6e~Tii/|)DxRO?d2"lߓ$e5*sH2̽}yޑRO:}dLVwہYq ] *q e/ " B]UR$P_\ak^ATeN6AB`D@`^"ʚ7h$ "" Z:t)~TeODٗ'%,Hk'US6ej/}#`tKH꯽{H """ B]Цy%Q2YW$8@`^"5*sH2ʼnMdJ*x&̽^wݳ/}#`tKHgx2jnL u!KSY<ʞ74/~OPKXO?d2"lߖ^̽ʒ}-# zIqb""D)u k'US6e u2FTM{[Kyl}{$ZF@X./|)DDxRO?d2"lߓ$e5*sH2RM[٬h2?*IOm ]Am 2",DDA׈.MdJ*x&̽=A.bFSY<ʞ74/~~.ve~Tii{X$8@`^"5*sH2ʼnMdJ*x&̽]Au2?*IOk!7A&^R:t)~TeODٗ'%,Hk'US6eϺf^GI> u-&^R:t)~TeODٗ'%,Hk'US6eϺv{$ZF@5`] 2"\ak^ATeJHB۷B`DDxRO?d2"lߓ$e5*sH2;hRϳ/}#`tKH;hR>x$8@`0X ]wBFTI u2FTH"ܑRO:}dF -H " Z:t)~TeODX#)~TeODbmSE#`tKH]=~.E 0Xz,DA׈.2;q\,DA޴ u!KSY<ʞ74=A.bFSY<ʞ74<Eʒ}-# O qR8DxpUšFTOG u2FTOG8A+ rGI>A+ qR:t5*sH2ʼnMdJ*x&̽$$r@JܑRO:}d8Iv怐Vwێ"[ *_{キ u#7W k'US'%,Hk'US8GI>T8@`^"ʚ7D\VQ1n.0/2Q ER$Х8`z,DDA׈.2Q (e`b""0X ]wBFTI u2FTIx$~TiiuL_ێ",DDA=h "  u!KSY<ʞ74=A.bFSY<ʞ74Qn~TiiEU7N"\ak^BFTI u2FTN)RO:}dU7N"ʜl-K&.:tFTdog遂D@`^"ʜlL_ۀ.{,DDA޴ u!KSY<ʞ74=A.bFSY<ʞ74-!{][LH'>24_p-]- ]0)DDCրb"!@`^"5*sH2ʼnMdJ*x&̽vźt=ʒ}-# ۶L8_ێ"\ak^BFTM{z]bČy%Q2a s@ME"lʜl-K&.:t5*sH$e5*sHa,?*IOXK( u#7W k'US'%,Hk'US+Zʒ}-# Z5qR:t5*sH2ʼnMdJ*x&̽^w_KrGI> Y{n8Dl#G*e,DA׈߷ \)~TeODX#)~TeOD;i$ZF@+;mqb"Df]*MdJ*x&̽=A.bFSY<ʞ74/~Wk~7Wʒ}-# ] qR az?ATeK /|pb"Df]*MdJ*x$ʼnMdJ*x%yֻWu֑RO:}dk~7Amqb"D)u k'US'%,Hk'US+k@Mh֑RO:}d%",DA׈߷ \)~TeODX#)~TeODe~TiiׂWl u#7W k'US6e u2FTM{ׯ;m$ZF@.キE"FTr 2Y{n " B]Цy%Q2wZ_]mn8@`^"ʚ7̽`q迷@Z헿USFٗ pb"0X ]wBFTI u2FTO-E#`tKH`"q ] *hߛ2g}0Xz,DA׈߷ \)~TeOD|X#)~TeOD|BuH'>2o?~qGޏЦy%Q]Gʒ}-# {8@8`^"5*sH$e5*sHn]ZH'>2et "\ak^ATeM uEh*2ݔhR0XnJSY<ʞ74/~OPKXO?d2"lߒ[eםʒ}-# io,zVwێ"[ *_{キ u#7W k'US?a'%,Hk'US?a%RO:}d nE 0X ]wBFTI u2FTIni7sʒ}-# sHu۹qR:t5*sH$e5*sH^n$~Tii{u)DxRO?d2"OPKXO?d2"]eo$~Tiiˬ㈤ u!K*_5UaD@`^"ʗ.AY*Wb""0X ]wBFTҕ}+'%,Hk'USJU`^xLҕ})vʱOi$ZF@J{`+uR8DCրb"Df]*MdJ*x$ʼnMdJ*x%o[jnfے?*IO [`m)DxpUšFTOOPKXO?d2"}r,rGI>h..qb"Df]*MdJ*x$ʼnMdJ*x'eڛ$ZF@1NjV![qb"D)u k'US'%,Hk'US<5k.A-~Tii9X[` k)eFTѿ k[D[Цy%Q Х)`2 vR Kpb"Df]*MdJ*x$ʼnMdJ*x'H]cG~Tii`] h u!KSY<ʞ74=A.bFSY<ʞ74m;ʒ}-# MkeR -v*2ݔhR0XnJSY<ʞ74~=A.bFSY<ʞ74~ﯻ>.?*IOg$|8@`^"5*sH$e5*sHfGI> fnE"l5*sH8Rjߘ7~USe)xХ8`^"3~.py%Q28Dl#GSY<ʞ74=A.bFSY<ʞ74c.)}~RO:}d)vv 2)DxRO?d2"~>OPKXO?d2"~>{Wjn$~Tii ]H " B]Цy%Q 3T^R az?BFTOG u2FTOGS{$ZF@ =qpb"Df]*MdJ*x$ʼnMdJ*x'!Mʒ}-# ni}oR:t)~TeODX#)~TeOD?y|RO:}d /?/"\ak^BFTI u2FTOB$ZF@0 ㈤ u!KSY<ʞ74=A.bFSY<ʞ74oX"?*IO`N7 ""\ak^ATeM.@+(ޫp8`^"3~.py%Q KCViR -v*2ݔhR0XnJSY<ʞ74$e5*sHKSVk=#`tKHХ!{4gH " FoۅҮO?d2"lߓ$e5*sH2RM[٬h}#`tKHХ!{4`キE"FTr 2Y{n " FoۅҮO?d2"~.ʼnMdJ*x'R~.i$ZF@6.mqb"Df]*MdJ*x&̽=A.bFSY<ʞ74/~~.krGI> K[GqGޏUR$g}0X ]wATeJHi.i)w\ak^ATeN6AB`D@`^"ʕ֑ Yb""0X ]wBFTOG u2FTOGȪmU~7l!V_u#`tKHhpSU_HBR:tFTX$!V_t0Xh """" B]Цy%QHBR8DDDxRO?d2"OPKXO?d2"_k[ZkGvUH'>2>-ր>. U8@`0Xz,DA׈.MdJ*x$ʼnMdJ*x'ʒ}-# E"lʜl-K&.:t5*sHuܞX#)~TeODvZ|#`tKHkX$|)MdJ*x$ʼnMdJ*x%VrGI>>{\qpb"Df]*MdJ*x'w'%,Hk'US>]ַ^n$~Tii]-kףۭH " FoۅҮO?d2"lߓ$e5*sH2wa7Wʒ}-# HAuVwێ"[ *_{キ u#7W k'US>=A.bFSY<ʞ74]Ϻ֑RO:}d]v h u#7W k'US6e u2FTM{cG;m$ZF@5`kg})2I p8`^"3~.py%Q uZ=E 0X ]wBFTOOPKXO?d2"}s.ʒ}-# "@Z헿USe)xХ8`^"3~.py%Q뾵ڿrGI> u2jnqGޏUR$g}0XnJSY<ʞ74] u2FTO}}k~7Xi$ZF@5`] h u!KSY<ʞ74=A.bFSY<ʞ74~2$~TiihqR -v*2ݔhR0XnJSY<ʞ74~=A.bFSY<ʞ74~~?*IO.#E 0XnJSY<ʞ74/~OPKXO?d2"lߗK=y{nH'>2> qR az?ATeK /|pb"D)u k'US/'%,Hk'US//Bv>2> yeqb"D)u k'US?a'%,Hk'US?a/^~_$~Tiiy|qb"D)u k'US?a'%,Hk'US?a&eRO:}dN",DA޴ u!KSY<ʞ74=A.bFSY<ʞ74SX[v5#`tKH5o|eqb""D)u k'US?a'%,Hk'US?a*k ogٙf~Tii}N",DDA޴ u!KSY<ʞ74=A.bFSY<ʞ74Ѓ2H'>2VN",DDDA޴ u!KSY<ʞ74=A.bFSY<ʞ74.D:$̳R?*IO"D:$eq ]O?d2"~>OPKXO?d2"~>~XAuے?*IOm Z=)DDDDxRO?d2"~>OPKXO?d2"~>~.5#`tKHХ4)DDDDxRO?d2"~>OPKXO?d2"~>Mu]Z4̳R?*IO.Y#,ӈ@Z헿Цy%Q2h4)e)~TeOD|X#)~TeOD| G$~Tii .{qR;րb"""D)u k'US?a'%,Hk'US?a"9f~Tii-cN",DDDA޴ u!KSY<ʞ74=A.bFSY<ʞ74.k3,ԏʒ}-# ZFYH """  qZ8DxpUšFTOG u2FTOGəf{\RO:}d@%+ u!KSY<ʞ74=A.bFSY<ʞ743,]RO:}dKkA-E"lʚ7A-hp *q e/ " FoۅҮO?d2"OPKXO?d2"M[RO:}d/4vnE 0Xz)=h 4p q@@K& k&+$)7NI66$U)./usr/IBMVJava/html/enterp/en_US/notes/samples/s5nedept.htm.swi$$ Sample: Query a Domino Database

    Sample: Query a Domino Database

    Objective
    The objective of this sample is to connect to a Domino database through NOI.

    Time Required
    Allow two hours to create and run this sample.  If you just want to run the sample with its supplied content and look over the output, allow about 30 minutes.

    Before You Begin
    To build and run this sample you need:

    • VisualAge for Java, Enterprise Edition
    • Notes 4.6

    Follow the steps in the Domino Samples Overview to set up your Lotus Notes and VisualAge for Java environments.

    Description
    The sample retrieves data from a Domino database using the NOI interface.  It selects the first document in the Deptdesc database and gets all the fields in that document.  These fields are inserted into a Choice control.  You can select one of the fields and click the getValue button.  The value for that field is retrieved from the database.

    Running the Sample

    From the Workbench, select the DeptPanel class from the com.ibm.ivj.examples.domino.department package with mouse button 2.  Select RunRun main.

    When the GUI opens, enter a department number in the DEPTNO entry field. Click the NotesSQL button to retrieve the information for that department using the NotesSQL ODBC driver, or select the NOI button to get the information using the Notes NOI interface.

    Valid department numbers are A00, B01, C01, D01, D11, D21, E01, E11, E21.

    Building the Sample

    Open the DeptPanel class GUI from the sample provided in the Visual Composition Editor by expanding the com.ibm.ivj.examples.domino.department package and selecting the DeptPanel class with mouse button 2. Select Open To - Visual Composition.  The two interlocking puzzle pieces indicate which class contains the GUI. You are going to re-create this GUI on your MyDepartmentGUI bean.

    To create the MyDepartmentGUI class and bean:

    1. Open a new package called MyDepartment under the MySamples project.
    2. Click mouse button 2 on the MyDepartment project. 
    3. Select Add - Class.   The Add Class SmartGuide will open. 
    4. Create a class called MyDepartmentGUI with Frame as the superclass. 
    5. Select the design the class visually checkbox
    6. Click Finish.  

    Add the following beans to your MyDepartmentGUI bean:

    • five labels
    • five text fields
    • two buttons

    Name and align these fields as they appear in the GUI of the sample provided. If you do not know how to manipulate the beans, see Manipulating Beans Visually and Editing Bean Properties for more information.

    Create the msgbox, DeptDescDS, and DeptDescNotesSQL beans.

    To create the msgbox bean:

    1. Click on the Choose Bean icon.
    2. Select the class radio button.
    3. Click Browse to find the class name.
    4. Select IMessageBox from the list of classes.
    5. Name the bean msgbox
    6. Click on an area outside your MyDepartmentGUI bean to add the msgbox bean.

    Create the DeptDescDS bean using the DeptdescDatastore class and create the DeptDescNotesSQL bean using the Deptdesc class in the same way that you create the msgbox bean.

    Creating a Method
    Before you create the connections, you must create the fetchNOI(), startNOI(), and stopNOI() methods.

    To create the methods:

    1. From the Workbench, select your MyDepartmentGUI class with mouse button 2. 
    2. Select Add - Method.  The Create Method SmartGuide will open.
    3. Select the Create a new method radio button.
    4. Type startNOI().
    5. Click Finish to close the SmartGuide and create the method.

    Repeat these steps but type stopNOI(), then fetchNOI() in the text field.  The methods will be created in the Workbench.  Select the methods and write  the code in the source pane or copy the contents of the methods in the sample provided.

    You can either write your own startNOI(), stopNOI() and fetchNOI() methods or you can cut and paste code into your sample from the original com.ibm.ivj.examples.domino.department sample provided in the product.

    To copy the contents of the startNOI() and stopNOI() methods:

    1. Expand the DeptPanel class in the com.ibm.ivj.examples.domino.department package of the IBM Domino Examples project.
    2. Select the startNOI() method with mouse button 1.  The source code will appear in the source pane.
    3. Highlight all of the text in the source pane.
    4. From the Edit menu, select Copy.
    5. Expand your MyDepartmentGUI class from the MyDepartment package.
    6. Select the startNOI() method with mouse button 1.
    7. Highlight all of the text in the source pane.
    8. From the Edit menu, select Paste.
    9. Click on any package or class in the All Projects pane.  A window will open that asks if you want to save your method.  Click Yes.

    Repeat these steps for the stopNOI() method and the fetchNOI() method.

    Making the Connections
    To connect the text fields:

    1. From the DeptDescNotesSQL bean you need to make an event-to-method connection to the DEPTNAME text field using retrieveComplete as the event and setText() as the method.
    2. Select the connection that you created with mouse button 2. 
    3. Select Connect and text
    4. Connect to the DeptDescNotesSQL bean and select deptname.

    Repeat the same connections for the MGRNO, ADMRDEPT, and LOCATION fields using the appropriate field name in each case.

    To connect the buttons:

    1. Create an event-to-method connection between the DeptDescDS bean and the NotesSQL button using connected as the event and setEnabled() as the method.  Change your parameters so aBoolean is true.
    2. Create an event-to-method connection between the NotesSQL button and the DeptdescNotesSQL bean using mouseClicked event and the setDeptno() method.
    3. Select this connection and create a parameter-from-property between the connection and the DEPTNO text field using aDeptno as the source property and text as the target property.
    4. Create another event-to-method connection between the NotesSQL button and the DeptdescNotesSQL bean using mouseClicked as the event and retrieve() as the method.
    5. From this connection create an event-to-method connection to the msgbox bean using exceptionOccurred as the event and showException() as the method.  Open the properties and select the Pass event data check box.
    6. Create an event-to-method connection between the NOI button and the nonvisual NotesNOI bean using actionPerformed as the event and fetchNOI() as the method.
    7. From this connection, create a parameter-from-property connection to the DEPTNO text field using deptNumber as the source property and text as the target property.

    To connect to the msgbox bean:

    1. From the fetchNOI connection that you just created, create an event-to-method connection to the msgbox bean.  Use exceptionOccurred as the event and showException() as the method.   Select the Pass event data check box.
    2. Create an event-to-method connection between your MyDepartmentGUI bean and the DeptDescDS bean using componentShown as the event and connect() as the method. Select this connection with mouse button 2. Click Set parameters.  Change the USERNAME and PASSWORD fields to your own username and password.
    3. From this connection, create an event-to-method connection to the msgbox bean.   Use exceptionOccurred as the event and showException() as the method.  Select the Pass event data check box.

    Add User Code

    From the Workbench, add the following code between the User Code Begin and User Code End comment lines in the MyDepartmentGUI class.  You can cut and paste this code into your sample from the original com.ibm.ivj.examples.domino.department sample provided in the product.

    At the beginning of the MyDepartmentGUI class definition, add the line: import lotus.notes.*; as well as the following Notes variable definitions:

    private Database db = null;
    private DocumentCollection dc = null;
    private Document doc = null;
    private Session s = null;

    Save the MyDepartmentGUI class.  You are now ready to run the sample.

     

    ctio k $'7NI66$j'./usr/IBMVJava/html/enterp/en_US/notes/samples/s5neempl.htm.swi$$ Sample: Retrieving a Value from a Database

    Sample: Retrieving a Value From a Database

    Objectives

    • To create an application and an applet using the VisualAge for Java Visual Builder
    • To use the Data Access Builder, and DB2 with the JDBC driver

    Time Required
    Allow two hours to create and run this sample.  If you just want to run the sample with its supplied content and look over the output, allow about 30 minutes.

    Before You Begin
    To build and run this sample you need:

    • VisualAge for Java, Enterprise Edition
    • DB2
    • Netscape

    The applet runs in a Netscape browser , but you must have the JDK 1.1 support-for-Communicator  patch.  The patch is available at  http://developer.netscape.com/tech/java/index.html.  Select the patch that is appropriate for your platform and your version of Netscape.

    Follow the instructions in the Domino Samples Overview to set up your environment for using DB2.

    Running the Sample

    Expand the IBM Domino Examples project and the com.ibm.ivj.examples.domino.employee package. Select the EmployeePanel class with mouse button 2.  Select Run and choose to run as an applet in the Applet Viewer or as an application using Run main.

    Enter an employee number in the EMPNO field, then press the FETCH button. The other fields will be filled in with information retrieved from DB2, via Data Access Builder generated code,which uses the DB2 JDBC driver to access the DB2 database.

    Valid employee numbers are in increments of 10, from 000010 through 000300.

    Building the Sample

    Once your database is configured, you can create the GUI.

    To create a new package under the MySamples project:

    1. Click the MySamples project with mouse button 2. 
    2. Select Add - Class.  The Add Class SmartGuide will open.
    3. Enter MyEmployee as the class name.
    4. Browse the superclass field and select the superclass Applet from the list.
    5. Select the design class visually checkbox. 
    6. Click Finish.

    The Visual Composition Editor opens.

    Creating the GUI

    Open the Employee class GUI from the sample provided, by expanding the com.ibm.ivj.examples.domino.employee package and selecting the EmployeePanel class with mouse button 2.  Select Open To - Visual Composition.  The two interlocking puzzle pieces indicate which class contains the GUI.  You are going to recreate this GUI on your MyEmployee bean.

    Start by adding and naming the visual beans. You will need to add:

    • 14 labels
    • 14 text fields
    • one button

    Name and align these fields as shown in the GUI of the sample provided. If you do not know how to manipulate the beans, see Manipulating Beans Visually and Editing Bean Properties for more information.

    Adding the Nonvisual Beans

    You must add the Data Access Builder Datastore bean to your workspace as well as a message box bean and a Datastore bean.

    To add the Datastore bean:

    1. Click the Choose Bean button from the palette.
    2. Select the class radio button.
    3. Click Browse to find the Class Name.
    4. Select Employee Datastore from the com.ibm.ivj.examples.domino.dab package.
    5. Click OK.
    6. Click OK to close the Choose Bean window.

    Click on the workspace somewhere outside of your GUI to place your Datastore bean.

    Make two more beans and place them outside your GUI, one with the the class name IMessageBox and one with the class name Employee.

    Making the Connections

    Now you have to link your beans together.

    To create an event-to-method connection from the initialization of the GUI to the Datastore bean:

    1. Click inside your applet with mouse button 2.  
    2. Select event to code
    3. Select the componentShown as the event.
    4. Click OK.
    5. Connect the dotted line to the Datastore bean by clicking on the Datastore bean with mouse button 1.
    6. Select connect() as the method.

    Your connection is represented by a broken green line.  The line is not solid because this connection requires parameters.

    To set the parameters:

    1. Select the connection with mouse button 2.
    2. Click the Set parameters button.
    3. Set the USERNAME and PASSWORD to your DB2 username and password.
    4. Click OK.
    5. Close the Properties window.

    To this same connection:

    1. Select this connection with mouse button 2.
    2. Select Connect - exceptionOccurred.  
    3. Link to the Message Box bean. 
    4. Select  Connect - Connectable Features.
    5. Select showException
    6. Double-click on this broken connection and select the Pass event data box.

    To create an event-to-method connection between the Datastore bean to the Employee bean:

    1. Select the Datastore bean with mouse button 2.
    2. Select Connect - Connectable Features.
    3. Select connected.
    4. Click OK.
    5. Click on the Employee bean with mouse button 2.
    6. Select Connect - Connectable Features.
    7. Select the setDefaultDatastore() method.
    8. Click OK.
    9. Select this connection with mouse button 2.
    10. Select connect - aDSM
    11. Click the Employee bean with mouse button 2.
    12. Select this.

    Now you will link the fields to the database. Link all of the fields except EMPNO.  You will link that one later.

    1. Select the Employee bean with mouse button two.
    2. Select Connect - Connectable Features.
    3. Select the firstnme parameter.
    4. Click on the Employee text field.
    5. Select text.

    You should now have a solid blue line connecting the Employee bean to the FIRSTNAME field.

    Repeat these steps for the other fields, choosing the corresponding field name to complete the connection.

    More Connections

    To connect the FETCH button to the Employee bean:

    1. Create an event-to-method connection with the button as the source. 
    2. Select actionPerformed as the source event and setEmpno() as the target method.
    3. Select the connection that you just created with mouse button 2.
    4. Select connect - aEmpno
    5. Put the pointer in the EMPNO text field and click mouse button 1.
    6. Select text to complete the connection.

    To connect the FETCH button to the Message Box bean:

    1. Create an event-to-method connection with the button as the source and the Employee bean as the target. 
    2. Select actionPerformed as the source Event and retrieve() as the target method.
    3. Select the connection that you just created and click mouse button 2. 
    4. Select Connect - exceptionOccurred.
    5. Put the pointer on the Message Box bean and click mouse button 1. 
    6. Select Connectable Features, then the showException() method.  
    7. Select the Pass event data check box.

    To connect the Datastore bean to the FETCH button:

    1. Create an event-to-method connection with the button as the source. 
    2. Select connected as the source event and setEnabled() as the target method. 
    3. Select the connection that you just created and select Properties.
    4. Click the Set Parameters button, and change the value of aBoolean to true.

    Your GUI should look exactly the same as the one in the EmployeePanel class.  Under the File menu, select Save Bean.  The Visual Composition Editor will close, and your bean will be compiled and saved.  Ensure that your classpath includes your DB2 package.  Now you can run your sample.

    >Co kD$#7NI66$#./usr/IBMVJava/html/enterp/en_US/notes/samples/s5nej2c.htm.swi$$ Sample: Using J2CPP

    Sample: Using J2CPP

    Objective
    The objective of this sample is to demonstrate how an agent can call native or legacy C or C++ code using the C++ Access Builder

    Time Required
    Allow half an hour to run the sample.

    Before You Begin
    To build and run this sample, you need:

    • VisualAge for Java, Enterprise Edition
    • VisualAge for C++ with Juno fixpak 6 for Windows, or any C++ compiler
    • Notes 4.6
    • Notes SQL
    • ODBC 3.0 SDK

    Follow the steps in the Domino Samples Overview to set up your Lotus Notes and VisualAge for Java environments.

    Description
    This sample shows how to use the C++ Access Builder to access Lotus Notes databases via the NotesSQL ODBC database driver.

    The sample C++ dll contains a single class and a few methods. The purpose of this dll is to take in a department number parameter passed from Java, and return the department name retrieved from the DeptDesc.nsf database in Notes.

    The dll returns the department name in lower and uppercase.  It then writes the uppercase name back to the Deptdesc.nsf database. This is done using native ODBC SQL code, using the NotesSQL ODBC database driver.

    NatNotes.hpp and NatNotes.cpp contain the original code for the C++ dll. NatNotesW.hpp is the interface header file that the C++ Access Builder uses to build the java interface to this dll. This additional header file is needed because some complex structures are not understood by the ivj2cpp tool and simpler interface is needed. 

    Running the Sample

    1. Expand the IBM Domino Examples project and the com.ibm.ivj.examples.domino.j2cpp package.
    2. Select the UppercaseDeptname class with mouse button 2. 
    3. Select Run - Run main.
    4. Enter a department number in the Dept Number field.
    5. Click Do it.

    Valid department numbers are A00, B01, C01, D01, D11, D21, E01, E11, E21.

    The name of the department in lower and uppercase will be returned.  The uppercase name will be saved.

    Building the GUI

    Open the UppercaseDeptname class from the com.ibm.ivj.examples.domino.j2cpp package in the Visual Composition Editor to see the GUI that you are going  to re-create. Keep this window open for reference.

    Creating the GUI
    Create a new package called J2CPP under the MySamples project.

    1. Click the J2CPP package with mouse button 2 and select Add - Class. The Create Class SmartGuide will open.
    2. Select the Create a new class radio button.
    3. Enter Myj2cpp as the class name.
    4. Click the Browse button and select Frame as your superclass.
    5. Select java.awt as the package name.
    6. Click OK.
    7. Select the Compose the class visually checkbox.
    8. Click Finish.

    The Visual Composition Editor will open.  The Composition Editor pane will contain your Myj2cpp frame.  The dispose() method is automatically generated.

    From the bean selection panel, select AWT.  You will see the beans that are available for you to use.  Add the following visual beans to your canvas:

    • three labels
    • one button
    • three text fields

    Name and align these fields as you see done in the UppercaseDeptname bean. If you do not know how to manipulate the beans, see Manipulating Beans Visually and Editing Bean Properties for more information.

    Creating the nonvisual bean
    Before you create the nonvisual bean, check the classpath of your Myj2cpp class to ensure that IBM Enterprise C++ Access Builder Libraries and IBM Domino Examples are included.

    To create the nonvisual bean, you have to compile your C++ code.  To access and compile your code using VisualAge for C++ and the source files provided in the X:\IBMVJava\eab\samples\j2cppsample directory (where X:\IBMVJava is the drive and directory onto which you installed VisualAge for Java):

    1. Select the Myj2cpp package with mouse button 2.
    2. Select Tools - C++ Access - Create Access Beans. The Create Access Beans SmartGuide will open.
    3. Click the Add button to the right of the C++ header field.
    4. Select the NatNotesW.hpp file. Click the Open button.
    5. Click Next.
    6. Enter the name for an output directory, for examples, add \gen to the path for create a 'generated' subfile in the source directory.
    7. Enter NatNotes as the Library name. Leave Project and Package fields as they are. Click Next.
    8. Add /Gm+ to the text already in the Preprocessor options field. Click Next.
    9. Select the Add button beside the C++ Implementation files field. Select the NatNotes.cpp file. Click the Open button.
    10. Select the Add button beside the Libraries field. Select the ODBC32.lib file from the ODBCSDK\LIB32 directory. Click the Open button.
    11. Click Finish.

    The C++ code is now generated into the directory you specified. Go to a command prompt and build the C++ code, by entering the command nmake in that directory. This will build the Java class file as well as the C++ dll.

    Copy the DLL into a directory which is in your PATH. For example, the X:\IBMVJava\EAB\BIN directory. Make sure that your dll name is not the same as an existing dll name, or the product may no longer function.

    To add the NativeNotesW bean to your GUI:

    1. Click the Chose bean button, represented by a puzzle piece behind a bean and a question mark.  The Choose Bean window will open.
    2. Select the Class radio button for the Bean Type.
    3. Click browse to look for the Class name.  Select NativeNotesW from the list of class names.
    4. Click OK.
    5. Enter NatNotes for the name of your bean.
    6. Click OK to close the Choose Bean window.
    7. Click with mouse button 1 anywhere on the Editor outside of your frame.  The NatNotes bean will appear.

    Making the Connections
    To make a connection between the frame and the NatNotes bean:

    1. Click on the frame bean with mouse button 2.
    2. Select connect - windowOpened.
    3. Click with mouse button 1 on the NatNotes bean.
    4. Select connectable features.
    5. Select the NativeNotesW() method.
    6. Select OK.

    Make a connection between the Do it button and the NatNotes bean using actionPerformed as the event and getNewDeptName() as the method.

    Select the connection with mouse button 2 and connect it to the New Dept Name text field using normalResult as the event and text as the method.

    Make another connection between the Do it button and the NatNotes bean using actionPerformed as the event and getOldDeptName() as the method.

    Select the connection with mouse button 2 and connect it to the Dept Name text field using normalResult as the event and text as the method.

    Make a third connection between the Do it button and the NatNotes bean using actionPerformed as the event and uppercase() as the method. 

    Select the connection with mouse button 2 and connect it to the Department Number text field using arg1 as the parameter and text as the property.

     

     k$!7NI66$!./usr/IBMVJava/html/enterp/en_US/notes/samples/s5nermi.htm.swi$$ Sample: Using the RMI Access Builder to Connect to Notes

    Sample: Using the RMI Access Builder to Connect to Notes

    Objective
    The objective of this sample is to show the Visual Builder and NOI running as a client and server via RMI.

    Time Required
    Allow two to three hours to create and run this sample.  If you just want to run the sample with its supplied content and look over the output allow about 30 minutes.

    Before You Begin
    To build and run this sample you need:

    • VisualAge for Java, Enterprise Edition
    • Notes 4.6

    Follow the steps in the Domino Samples Overview to set up your Lotus Notes and VisualAge for Java environments.

    Description
    This example displays a small GUI developed in Visual Builder. The GUI connects to a remote server via the Remote Method Invocation (RMI) support in VisualAge for Java. This allows a client to run an applet in a browser which effectively makes NOI calls (which is not normally supported). It works because the NOI calls are actually done on the server, so the applet calls the server to process requests for Notes information, which the server does via NOI calls. The server returns the results to the client to display.

    The RMI Access Builder enables you to generate distribution code from the application code contained in a source bean. Once the distribution code has been generated and you have created your client program, you can deploy your source bean as a server bean and access it remotely using the services of RMI.

    You can run this sample either inside or outside the IDE.  Enter a server name and a database name then click the Get doc count now button. The client passes this information to the server which counts the documents in the database and returns that count to the client. The client then displays the count.

    Running the Sample

    To start the server:

    1. Expand the CountDocsServer package. 
    2. Select the CountDocsServerProxyS class with mouse button 2.
    3. Select Tools - Remote Bean Access, then Instantiate bean in server.

    The Remote Object Instance Manager window will open and the server code will start running.

    To start the RMI client portion in the CountDocsClient package

    1. Select the RMICountDocsClient class with mouse button 2.
    2. Select Run and choose to run either Applet Viewer or Run main.

    When the GUI appears on your screen, enter Deptdesc.nsf as the database name and press the Get doc count now button.  When you leave the server blank the local server is used by default.  The program will return the number of documents that are on that database.

    Building the Sample

    In the MySamples project, create two new packages, one called MyCountDocsClient and one called MyCountDocsServer.

    Copy the rmiClientWindowListener class and all of its methods from the com.ibm.ivj.examples.countdocsclient package of the IBM Domino Examples project into your MyCountDocsClient package.

    Copy the SrvrCountDocs class and all of its methods from the com.ibm.ivj.examples.domino.countdocsserver package in the IBM Domino Examples project into your MyCountDocsServer package.

    Generate the proxy beans:

    1. Select the SrvrCountDocs class with mouse button 2.
    2. Select Tools - Remote Bean Access - Create Proxy Beans.  The Create Proxy Bean SmartGuide will open.
    3. Leave the fields with the defaults.
    4. Click Finish. The proxy bean for your GUI will be generated.

    Creating the GUI
    To see the GUI that you are going  to re-create, open the RMICountDocsClient class from the com.ibm.ivj.examples.domino.countdocsclient package in the Visual Composition Editor. Keep this window open for reference.

    Create the GUI class:

    1. Click the MyCountDocsClient package with mouse button 2 and select Add - Class. The Create Class SmartGuide will open.
    2. Select the Create a new class radio button
    3. Enter CountDocsClient as the class name.
    4. Click the Browse button and select Applet as your superclass.
    5. Select java.applet as the package name.
    6. Click OK.
    7. Select the Compose the class visually checkbox.
    8. Click Finish.

    The Visual Composition Editor will open.  The Composition Editor pane will contain your CountDocsClient applet.

    To add the SrvrCountDocsProxy bean:

    1. Click the Chose bean button, represented by a puzzle piece behind a bean and a question mark.  The Choose Bean window will open.
    2. Select the Class radio button for the Bean Type.
    3. Click browse to look for the Class name.  Select SrvrCountDocsProxy from the list of class names.
    4. Click OK.
    5. Enter SrvrCountDocsProxy for the name of your bean.
    6. Click OK to close the Choose Bean window.
    7. Click with mouse button 1 anywhere on the Editor outside of your applet.  The SrvrCountDocsProxy bean will appear.

    Add the following beans to the applet:

    • four labels
    • three text fields
    • one button

    Name and align these fields as you see done in the RMICountDocsClient bean. If you do not know how to manipulate the beans, see Manipulating Beans Visually and Editing Bean Properties for more information.

    Making the Connections
    To create an event-to-method connection between the applet and the SrvrCountDocsProxy bean:

    1. Click with mouse button 2 in your workspace, outside of the applet.
    2. Select Connect - Connectable Features.
    3. Select start() as the event.
    4. Click on the SrvrCountDocsProxy bean with mouse button 2.
    5. Select Connect - Connectable Features.
    6. Select SrvrCountDocsProxy as the method.
    7. Click OK.

    Create an event-to-method connection between the Document Count text field and the SrvrCountDocsProxy bean using mouseClicked as the event and setText() as the method.

    From this connection, create an event-to-method connection to the get doc count now button using mouseClicked as the event and produceResults() as the method.

    From the same connection, create a parameter-from-property connection to the Server text field using arg1 as the source parameter and text as the target property.

    Create this same connection to the Database text field using arg2 as the source parameter and text as the target property.

    Create an event-to-method connection between the Get doc count now button and the Document count text field using mouseClicked as the event and setText() as the method. 

    From that connection, create a parameter-from-property connection to the SrvrCountDocsProxy bean using text as the source parameter and answer as the target property.

    Save and close your applet.  You can now run your sample.

    d kV$+7NI66$ޅ+./usr/IBMVJava/html/enterp/en_US/notes/samples/s5npgetv.htm.swi$$ Sample: Retrieving Information from a Domino Database

    Sample: Retrieving Information from a Domino Database

    Objectives

    • To create an application that retrieves information from a Domino database
    • To create a GUI application that uses a nonvisual Domino database bean
    • To connect to Lotus Notes using NOI

    Time Required
    Allow an hour to create and run this sample.  If you just want to run the sample with its supplied content and look over the output, you will probably want to allow about 20 or 30 minutes.

    Before You Begin
    To build and run this sample you need these tools:

    • VisualAge for Java
    • Lotus Notes 4.6

    Follow the steps in the Domino Samples Overview to set up your Lotus Notes and VisualAge for Java environments.

    The package for this example is called com.ibm.ivj.examples.domino.simpleapplication.

    Description
    This sample uses the VisualAge for Java Visual Builder and NOI to create an application.  The application retrieves data from a Domino database using NOI.

    This sample allows you to:

    • Create a GUI using the Visual Composition Editor beans palette
    • Connect to the database using the NOI interface
    • Add user code to classes and methods
    • Perform a query and receive information from the DeptDesc database

    This application runs inside and outside VisualAge for Java.

    Running the sample

    1. In the Workbench, expand the IBM Domino Examples project.
    2. Expand the ivj.ibm.com.examples.domino.simpleapplication package.
    3. Select the DisplayFieldValue class with mouse button 2.
    4. Select Run - Run main.

    Select a field from the choice list. Press the GetValue button to return the value of the field that you selected.

    Building the Sample

    To see the GUI that you are going  to re-create, open the DisplayFieldValue class from the com.ibm.ivj.examples.domino.simpleapplication project in the Visual Composition Editor. Keep this window open for reference.

    Creating the GUI
    Create a new package called GetValue under the MySamples project.

    1. Click the GetValue package with mouse button 2 and select Add - Class. The Create Class SmartGuide will open.
    2. Select the Create a new class radio button.
    3. Enter Mydisplay as the class name.
    4. Click the Browse button and select Frame as your superclass.
    5. Select java.awt as the package name.
    6. Click OK.
    7. Select the Compose the class visually checkbox.
    8. Click Finish.

    The Visual Composition Editor will open.  The Composition Editor pane will contain your Mydisplay frame bean.  The dispose() method is automatically generated.

    From the bean selection panel, select AWT.  You will see the beans that are available for you to use.  Add the following beans to your canvas:

    • three labels
    • one button
    • one text field
    • one choice list

    Name and align these fields as you see done in the DisplayFieldValue bean. If you do not know how to manipulate the beans, see Manipulating Beans Visually and Editing Bean Properties for more information.

    Creating a Method
    Before you create the connections, you must create the getAnswer(), startNOI() and stopNOI() methods.

    To create the getAnswer() method, follow these steps:

    1. From the Workbench, select your Mydisplay class with mouse button 2. 
    2. Select Add - Method.  The Create Method SmartGuide will open.
    3. Select the Create a new method radio button.
    4. Create a new method called with the method name String getAnswer (String field)
    5. Click Next to add an exception.
    6. From the Attributes window, select the Add button beside What exceptions may this method throw?
    7. From the list, choose NotesException.
    8. Click Add.
    9. Click Close to close the Exceptions window.
    10. Click  Finish to close the SmartGuide and create the method.

    The method will appear under your Mydisplay class in the Workbench.

    You can either write your own startNOI() and stopNOI() methods or you can copy them from the sample provided.

    To create the startNOI() and stopNOI() methods:

    1. From the Workbench, select your Mydisplay class with mouse button 2. 
    2. Select Add - Method.  The Create Method SmartGuide will open.
    3. Select the Create a new method radio button.
    4. Type startNOI()
    5. Click Finish to close the SmartGuide and create the method.

    Repeat these steps but type stopNOI() in the text field.  The startNOI() and stopNOI() methods will be created in the Workbench.  Select the methods and write  the code in the source pane or copy the contents of the methods in the sample provided.

    To copy the contents of the startNOI() and stopNOI() methods:

    1. Expand the DisplayFieldValue class in the com.ibm.ivj.examples.domino.simpleapplication package of the IBM Domino Examples project.
    2. Select the startNOI() method with mouse button 1.  The source code will appear in the source pane.
    3. Highlight all of the text in the source pane.
    4. From the Edit menu, select Copy.
    5. Expand your Mydisplay class from the GetValue package.
    6. Select the startNOI() method with mouse button 1.
    7. Highlight all of the text in the source pane.
    8. From the Edit menu, select Paste.
    9. Click on any package or class in the All Projects pane.  A window will open that asks if you want to save your method.  Click Yes.

    Repeat these steps for the stopNOI() method.

    Making the Connections
    Now that you have created the methods that you need, you can use them to connect your beans in the Visual Composition Editor.

    1. To create an event-to-code connection between the frame and the Domino database using the windowOpened event and the startNOI() method:
      1. Select the frame with mouse button 2.
      2. Select event to code from the pop-up menu.  The Event-to-Code connection window will open.
      3. Select windowOpened as the Mydisplay event.
      4. Select startNOI() as the method.
      5. Select Mydisplay as the Method class.
      6. Click OK.  The window will close and you will see a green line connecting the frame to the startNOI() method in the Visual Composition Editor.
    2. Create an event-to-code connection between the getValue button and the Domino database, using the mouseClicked event and the getAnswer() method. Ensure that the Pass event data check box is selected.  Note that the Domino database does not have a visible bean. You connect to this database by linking to the area outside the Mydisplay bean. The physical connection is made in the code.
    3. Select the connection with mouse button 2.  Select Connect - field.  Create a connection to the choice list and select selectedItem from the pop-up menu.  This connection will be shown as a purple line.
    4. Create an event-to-code connection between the original connection and the text box.  Select the connection and then select Connect - normalResult and create a connection to the text box.  Select the setText method.
    5. Create an event-to-code connection between the frame and the Domino database using the windowClosing and the stopNOI() method.

    Save your bean and close the Visual Builder.

    Adding User Code
    Add the following code between the User Code Begin and User Code End comment lines in the given class files.  You can cut and paste this code from the original sample.

    1. At the beginning of  the Mydisplay class, add the line import lotus.notes.*; and the following definitions of Lotus Notes variables:

      private Database db = null;
      private DocumentCollection dc = null;
      private Document doc = null;
      private Session s = null;

      Copy the exact placement of these definitions from the DisplayFieldValue class in the sample provided.

    2. Locate and double-click on the getAnswer() method source code in the Workbench.  Add the following code, which will return the answer. 

    public String getAnswer(String field) throws lotus.notes.NotesException {
       String answer = "--ERROR--";
       try {
          answer = doc.getItemValueString(field);
       } catch(java.lang.Throwable exc) {    }
       
       return answer;   
    }

    Save the method and class that you changed.  You are now ready to run your sample.

    or c kDs$77HI66$7./usr/IBMVJava/html/enterp/en_US/rmi/concepts/cdrdsign.htm.swi$$ Design Considerations with the RMI Access Builder

    Design Considerations with the RMI Access Builder

    Overview
    The illustrations below show how a client program interacts with a server object through the proxy bean and its support classes. The client-side server proxy and server-side server proxy use RMI services as the underlying communication mechanism between the client and the server object. This allows you to deploy the application on any VM that supports the Java RMI programming environment.

    ndraxrmc.gif (8654 bytes)

    The client-side server proxy is instantiated in the client code. It is responsible for locating the server-side server proxy and it forwards local method invocations to the server-side server proxy using RMI services. The server-side server proxy receives RMI calls from the client-side server proxy, first through the stub code layer of the RMI services on the client side, and then through the skeleton (skel) code layer of the RMI services on the server side. The server-side server proxy forwards the calls to the server object.

    The client-side server proxy is typically used in the client program as though it was a local instance of the server object. However, the client-side server proxy may throw an exception that the client program must catch.

    ndraxrms.gif (8276 bytes)

    The server-side server proxy is responsible for instantiating the server object and for registering itself with the RMI Registry. The server-side server proxy is instantiated using the Remote Object Instance Manager.

    Design Considerations
    The following design considerations should be kept in mind when working with code generated by the RMI Access Builder:

    1. In general, server objects may reside as instances on different server machines. However, because of security constraints imposed by the Java RMI protocol, an applet can only access server object instances running on the host from which the applet code is downloaded.

    2. Local objects are passed by copy to the server object.

      In a nondistributed application, objects are passed by reference in method invocations. The RMI run time only supports the passing of local objects by copy. When returning an object, the RMI run time creates a copy of the object on the client machine. This means that those client programs that depend on objects being passed by reference will need to be modified. More specifically:

      • Changes made by the server object on a parameter will not be visible to the client unless the server object method returns the modified object to the client.

      • Client programs should not use the = = operator to check equality between a local object and an object returned from the server object. Instead, programs should use the equals() method.

      Note that only RMI remote objects can be passed by reference. An RMI remote object is an object that implements the remote interface and that has had RMI stubs generated for it.

    3. Objects passed as parameters to the server bean must be serializable.

      The RMI run time uses serialization to send parameters from the client program to the server. For this reason, any objects passed as parameters in a method invocation must implement the Serializable interface.

    4. System exceptions will be converted to COM.ibm.ivj.eab.rmi.client.IVJRException through the IVJRException run-time class.

      Exceptions other than those thrown by the user will be converted to COM.ibm.ivj.eab.rmi.client.IVJRException. Any RemoteException will also be converted to COM.ibm.ivj.eab.rmi.client.IVJRException.

    5. Static methods defined in the server bean are encapsulated as nonstatic methods.

      Since the server bean must be instantiated before any client call is made, static methods on the server bean are provided for client invocation as nonstatic methods. You must make provisions to instantiate the client-side server proxy before invoking methods in the server bean that were originally static.

      If the server bean produces events, pay special attention to the event type requirements set out in the topic RMI Access Builder Limitations.

    6. Serializing the client-side server proxy does not mean that the server object states are serialized. Serialization of the client-side server proxy is independent of the serialization of the server object.

    7. The library required by the Java native call must be accessible to the Remote Object Instance Manager process and the IDE in order to generate the proxy bean.

      The server bean runs in the Remote Object Instance Manager process space. Any dynamically linked library required by the use of native calls in the server bean must be accessible to the Remote Object Instance Manager process. Set the PATH environment variable accordingly.

    8. The RMI Registry must be started again when there is a change in the public interface of the server object.

      A change in the server bean's public interface will require the regeneration of the proxy bean. As a result of the regeneration, new definitions for the stub and skeleton classes are created. The RMI Registry needs to be restarted to pick up the new definitions. Additional information about the RMI Registry is found at the Sun JavaSoft Web site.

    9. The Remote Object Instance Manager may need to be restarted when there is a change in the implementation of the server bean.

      When running outside the IDE, changes in the server bean's class object may not be picked up by the Remote Object Instance Manager. This may be true even if you use the Remote Object Instance Manager to remove and then reinstantiate the server object. It appears that the class loader will not reload a class until the process is restarted. To overcome this problem, you can end the Remote Object Instance Manager and then restart it with the new implementation of the server bean.

    10. Exercise care when you construct and initialize the client-side server proxy. You must set properties specific to the client-side server proxy before invoking any client-side server proxy methods. For the list of properties requiring attention, refer to the Make Required Changes to Properties section in the topic Creating a Client Using a Proxy Bean.

     


    RMI Access Builder: Overview
    Code Generated by the RMI Access Builder
    RMI Access Builder Limitations


    Accessing Java Services over RMI: Overview
    Creating a Client Using a Proxy Bean

    o k$7HI66$./usr/IBMVJava/html/enterp/en_US/rmi/concepts/cdrlimit.htm.swi$$ RMI Access Builder Limitations

    RMI Access Builder Limitations

    The following limitations exist when working with the classes and components generated by the RMI Access Builder.

    1. Server objects are instantiated using a default constructor.

      The RMI Access Builder run time does not support instantiation of the server object using a nondefault constructor. If properties must be set on the server object after instantiation, public methods must be defined in the server object to set these properties. Alternatively, the server object can be serialized to a file. The Remote Object Instance Manager will use this file to instantiate the server bean.

    2. Server objects must be instantiated prior to running the client.

    3. Potential deadlock exists when a GUI client creates a modal dialog in an event action routine for an event that originates from the server object.

      Events will not be processed by the modal dialog if the client program, while listening for an event, invokes a method on the server object that results in the event being created. If the client creates a modal dialog in its event action routine, GUI events such as window closing and button action events will be blocked from the dialog. This is because the event dispatching thread is blocked while waiting for the remote method invocation to return.

    4. User-defined event listener action routine method signatures must be unique across all event listener interfaces referred to by the server bean.

      If the server bean generates several events, the method signatures of the event listener interfaces must not be repeated. If you have duplicated or inherited an identical event action routine in a second event listener interface, the event action routine of the second encountered event listener will be ignored. At execution time, if the duplicated event action routine is invoked, only the event action routine of the first event listener will be invoked. In some cases, server events meant for the second event listener will be forwarded erroneously to the first event listener.

    5. Event listener action routines with more than one argument are not supported in the BeanInfo class.

      This problem is due to the JDK 1.1.1 limitation that causes the method descriptors for event listener action routines with only one argument to fail to be recognized by the Java introspection methods. However, if the listener action routine contains only a single argument, the BeanInfo class is generated correctly.

    6. If the server object produces a user-defined bean event, the bean event must have the following characteristics or the code generation will fail:

      • The user-defined bean event type must not be a final class and therefore extendable.

      • The event type must support a constructor with the lowest number of arguments, where the parameter list contains a java.lang.Object typed argument as the left-most argument of this type, and where this argument is used in the construction of the java.util.EventObject. For example, the following is a constructor supported by the RMI Access Builder:

        public myEventObject (java.lang.Object source, int i)

        The following is a constructor not supported by the RMI Access Builder:

        public myEventObject (myEvent_source source, int i)

      • Other than the java.lang.Object typed argument described above, the event type must be able to take Java default values for its arguments in the constructor with the lowest number of parameters.

        This is required because the client-side server proxy will need to create a new event object of the same user-defined base type. In the construction of such event objects, the assumption is that the constructor with the least number of parameters will be used, and that the left-most java.lang.Object typed argument contains the source reference used in the construction of the java.util.EventObject in the superclass chain.

    7. The RMI Access Builder does not support server beans that produce java.awt.event.* event types.

    8. The java.lang.RuntimeException exceptions from the java.lang package may not be flowed as the same exception type from the server-side user bean back to the client application when the proxy bean is used. If these exceptions are created and thrown by your bean, they may be mapped to the generic java.rmi.RemoteException and will eventually be thrown by the client-side server proxy as COM.ibm.ivj.eab.rmi.client.IVJRException.

    9. The TCP/IP host name and domain name must be defined accurately, otherwise RMI services will fail. For example, if you are working in a loopback mode and you are not connected to any DNS service, you may need to undefine the DNS service in your TCP/IP configuration. Otherwise, you may not be able to bring up any server objects in the Remote Object Instance Manager.

     


    RMI Access Builder: Overview
    Design Considerations with the RMI Access Builder
    Code Generated by the RMI Access Builder


    Accessing Java Services over RMI: Overview

    r event kK$U 756$0lU ./usr/IBMVJava/html/enterp/en_US/rmi/ref/allclasses.htmlm.swi$$ Class COM.ibm.ivj.eab.rmi.client.IVJRBase

    Class COM.ibm.ivj.eab.rmi.client.IVJRBase

    java.lang.Object
       |
       +----COM.ibm.ivj.eab.rmi.client.IVJRBase
    

    public abstract class IVJRBase
    extends Object

    This abstract class defines the basic serviceability strategy that is needed by the run-time library classes. It also defines some of the key variables and constants used by the run time.


    Variable Index

    TRACE_DEBUG
    This value used in the SET_ITRACE method will cause internal tracing to be set at the debug level.
    TRACE_INFO
    This value used in the SET_ITRACE method will cause internal tracing to be set at the informational level.
    TRACE_OFF
    This value used in the SET_ITRACE method will cause internal tracing to be turned off.

    Constructor Index

    IVJRBase()
    Default constructor.

    Method Index

    ITRACE_DEVELOP(String)
    Trace messages defined with this method will get printed to the system out stream when the trace level is TRACE_DEBUG.
    ITRACE_MESSAGE(String)
    This interface is for class library internal use only.
    SET_ITRACE(int)
    Sets internal tracing to a trace level.
    traceLevel()
    Returns a value indicating the trace level.

    Variables

    TRACE_OFF
     public static final int TRACE_OFF
    
    This value used in the SET_ITRACE method will cause internal tracing to be turned off.

    TRACE_INFO
     public static final int TRACE_INFO
    
    This value used in the SET_ITRACE method will cause internal tracing to be set at the informational level. At this level, information that an RMI call is received and has returned is available.

    TRACE_DEBUG
     public static final int TRACE_DEBUG
    
    This value used in the SET_ITRACE method will cause internal tracing to be set at the debug level. At this level, detailed debugging-level information is available.


    Constructors

    IVJRBase
     public IVJRBase()
    
    Default constructor.


    Methods

    SET_ITRACE
     public static synchronized void SET_ITRACE(int traceLevel)
    
    Sets internal tracing to a trace level. Use the static constants TRACE_DEBUG or TRACE_OFF in the argument list.

    Parameters:
    traceLevel - Defines the level of detail you want to trace.
    ITRACE_DEVELOP
     public static void ITRACE_DEVELOP(String s)
    
    Trace messages defined with this method will get printed to the system out stream when the trace level is TRACE_DEBUG.

    Parameters:
    s - Trace message to be printed.
    ITRACE_MESSAGE
     public static void ITRACE_MESSAGE(String s)
    
    This interface is for class library internal use only. The user should not code to this interface.

    traceLevel
     public static synchronized int traceLevel()
    
    Returns a value indicating the trace level.

    Returns:
    TRACE_OFF is returned when the trace is off. TRACE_DEBUG is returned when the trace level is set to TRACE_DEBUG.

    ef= k. $756$P./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.client.ivjrbase_mi.htmlti$$ Class COM.ibm.ivj.eab.rmi.client.IVJRException

    Class COM.ibm.ivj.eab.rmi.client.IVJRException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----COM.ibm.ivj.eab.rmi.client.IVJRException
    

    public class IVJRException
    extends Exception

    This class provides a way for users to catch exceptions associated with the IBM VisualAge for Java Enterprise Access Builder for RMI class library.


    Constructor Index

    IVJRException(String, String, Exception)
    Constructs an IVJRException with an error message key, an argument string and a wrapped exception.

    Method Index

    getLocalizedMessage()
    Returns a localized message that includes the localized message from the nested exception (if there is one).
    getMessage()
    Returns the message that includes the message from the nested exception in the US locale (if there is one).

    Constructors

    IVJRException
     public IVJRException(String key,
                          String argString,
                          Exception e)
    
    Constructs an IVJRException with an error message key, an argument string and a wrapped exception. This constructor is to be used internally by the VisualAge for Java class library only.

    Parameters:
    key - Detailed error message key.
    argString - Detailed argument string required for formatting an IVJRException message.
    e - The Exception caught from the Java run time.

    Methods

    getMessage
     public String getMessage()
    
    Returns the message that includes the message from the nested exception in the US locale (if there is one).

    Returns:
    An error message associated with the exception in the US locale.
    Overrides:
    getMessage in class Throwable
    getLocalizedMessage
     public String getLocalizedMessage()
    
    Returns a localized message that includes the localized message from the nested exception (if there is one).

    Returns:
    An error message associated with the exception in the user's locale.
    Overrides:
    getLocalizedMessage in class Throwable

    ml k$756$`~./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.client.ivjrexception_mi.htmlmi.ht$$ Class COM.ibm.ivj.eab.rmi.client.IVJRInterfaceRmiBeanInfo

    Class COM.ibm.ivj.eab.rmi.client.IVJRInterfaceRmiBeanInfo

    java.lang.Object
       |
       +----java.beans.SimpleBeanInfo
               |
               +----COM.ibm.ivj.eab.rmi.client.IVJRInterfaceRmiBeanInfo
    

    public class IVJRInterfaceRmiBeanInfo
    extends SimpleBeanInfo

    This class provides beaninfo information for exposed properties


    Constructor Index

    IVJRInterfaceRmiBeanInfo()

    Method Index

    getBeanClass()
    Gets the bean class
    getBeanClassName()
    Gets the bean class name
    getMethodDescriptors()
    getPropertyDescriptors()
    get__debugTraceMethodDescriptor()
    Gets the get__debugTrace() method descriptor.
    get__parentMethodDescriptor()
    Gets the get__parent() method descriptor.
    get__registryPortMethodDescriptor()
    Gets the get__registryPort() method descriptor.
    get__serverNameMethodDescriptor()
    Gets the get__serverName() method descriptor.
    set__debugTrace_booleanMethodDescriptor()
    Gets the set__debugTrace(boolean) method descriptor.
    set__parent_javaawtComponentMethodDescriptor()
    Gets the set__parent(java.awt.Component) method descriptor.
    set__registryPort_intMethodDescriptor()
    Gets the set__registryPort(int) method descriptor.
    set__serverName_javalangStringMethodDescriptor()
    Gets the set__serverName(java.lang.String) method descriptor.
    __debugTracePropertyDescriptor()
    Gets the __debugTrace property descriptor.
    __parentPropertyDescriptor()
    Gets the __parent property descriptor.
    __registryPortPropertyDescriptor()
    Gets the __registryPort property descriptor.
    __serverNamePropertyDescriptor()
    Gets the __serverName property descriptor.

    Constructors

    IVJRInterfaceRmiBeanInfo
     public IVJRInterfaceRmiBeanInfo()
    

    Methods

    getBeanClass
     public static Class getBeanClass()
    
    Gets the bean class

    Returns:
    java.lang.Class
    getBeanClassName
     public static String getBeanClassName()
    
    Gets the bean class name

    Returns:
    java.lang.String
    get__debugTraceMethodDescriptor
     public MethodDescriptor get__debugTraceMethodDescriptor()
    
    Gets the get__debugTrace() method descriptor.

    Returns:
    java.beans.MethodDescriptor
    get__registryPortMethodDescriptor
     public MethodDescriptor get__registryPortMethodDescriptor()
    
    Gets the get__registryPort() method descriptor.

    Returns:
    java.beans.MethodDescriptor
    get__serverNameMethodDescriptor
     public MethodDescriptor get__serverNameMethodDescriptor()
    
    Gets the get__serverName() method descriptor.

    Returns:
    java.beans.MethodDescriptor
    get__parentMethodDescriptor
     public MethodDescriptor get__parentMethodDescriptor()
    
    Gets the get__parent() method descriptor.

    Returns:
    java.beans.MethodDescriptor
    __debugTracePropertyDescriptor
     public PropertyDescriptor __debugTracePropertyDescriptor()
    
    Gets the __debugTrace property descriptor.

    Returns:
    java.beans.PropertyDescriptor
    __registryPortPropertyDescriptor
     public PropertyDescriptor __registryPortPropertyDescriptor()
    
    Gets the __registryPort property descriptor.

    Returns:
    java.beans.PropertyDescriptor
    __serverNamePropertyDescriptor
     public PropertyDescriptor __serverNamePropertyDescriptor()
    
    Gets the __serverName property descriptor.

    Returns:
    java.beans.PropertyDescriptor
    __parentPropertyDescriptor
     public PropertyDescriptor __parentPropertyDescriptor()
    
    Gets the __parent property descriptor.

    Returns:
    java.beans.PropertyDescriptor
    set__debugTrace_booleanMethodDescriptor
     public MethodDescriptor set__debugTrace_booleanMethodDescriptor()
    
    Gets the set__debugTrace(boolean) method descriptor.

    Returns:
    java.beans.MethodDescriptor
    set__registryPort_intMethodDescriptor
     public MethodDescriptor set__registryPort_intMethodDescriptor()
    
    Gets the set__registryPort(int) method descriptor.

    Returns:
    java.beans.MethodDescriptor
    set__serverName_javalangStringMethodDescriptor
     public MethodDescriptor set__serverName_javalangStringMethodDescriptor()
    
    Gets the set__serverName(java.lang.String) method descriptor.

    Returns:
    java.beans.MethodDescriptor
    set__parent_javaawtComponentMethodDescriptor
     public MethodDescriptor set__parent_javaawtComponentMethodDescriptor()
    
    Gets the set__parent(java.awt.Component) method descriptor.

    Returns:
    java.beans.MethodDescriptor
    getMethodDescriptors
     public MethodDescriptor[] getMethodDescriptors()
    
    Returns:
    java.beans.MethodDescriptor[]
    Overrides:
    getMethodDescriptors in class SimpleBeanInfo
    getPropertyDescriptors
     public PropertyDescriptor[] getPropertyDescriptors()
    
    Returns:
    java.beans.PropertyDescriptor[]
    Overrides:
    getPropertyDescriptors in class SimpleBeanInfo

    __ k괘$ 756$ ./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.client.ivjrinterfacermibeaninfo_mi.html$$ Class COM.ibm.ivj.eab.rmi.client.IVJRMessage

    Class COM.ibm.ivj.eab.rmi.client.IVJRMessage

    java.lang.Object
       |
       +----java.util.ResourceBundle
               |
               +----java.util.ListResourceBundle
                       |
                       +----COM.ibm.ivj.eab.rmi.client.IVJRMessage
    

    public class IVJRMessage
    extends ListResourceBundle

    This class holds the default key-string pairs used by rmi.


    Constructor Index

    IVJRMessage()

    Method Index

    getContents()

    Constructors

    IVJRMessage
     public IVJRMessage()
    

    Methods

    getContents
     public Object[][] getContents()
    
    Overrides:
    getContents in class ListResourceBundle

     k`$$756$p./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.client.ivjrmessage_mi.html$$ Class COM.ibm.ivj.eab.rmi.client.IVJRMessageHandler

    Class COM.ibm.ivj.eab.rmi.client.IVJRMessageHandler

    java.lang.Object
       |
       +----COM.ibm.ivj.eab.rmi.client.IVJRMessageHandler
    

    public class IVJRMessageHandler
    extends Object
    implements IVJRResourceHandler


    Constructor Index

    IVJRMessageHandler(Locale)

    Method Index

    getDftMessage(String, String, Exception)
    getMessage(String)
    getMessage(String, Object[])
    getMessage(String, String)
    getMessage(String, String, String)
    getMessage(String, String, String, String)

    Constructors

    IVJRMessageHandler
     public IVJRMessageHandler(Locale loc)
    

    Methods

    getMessage
     public String getMessage(String key)
    
    getMessage
     public String getMessage(String key,
                              Object arg[])
    
    getMessage
     public String getMessage(String key,
                              String arg1)
    
    getMessage
     public String getMessage(String key,
                              String arg1,
                              String arg2)
    
    getMessage
     public String getMessage(String key,
                              String arg1,
                              String arg2,
                              String arg3)
    
    getDftMessage
     public String getDftMessage(String key,
                                 String arg,
                                 Exception e)
    

    8859 k`$756$P:./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.client.ivjrmessagehandler_mi.html$$ Class COM.ibm.ivj.eab.rmi.client.IVJRProxyBeanInfo

    Class COM.ibm.ivj.eab.rmi.client.IVJRProxyBeanInfo

    java.lang.Object
       |
       +----java.beans.SimpleBeanInfo
               |
               +----COM.ibm.ivj.eab.rmi.client.IVJRProxyBeanInfo
    

    public class IVJRProxyBeanInfo
    extends SimpleBeanInfo

    This class is the superclass of all client-side server proxy BeanInfo classes that have been generated by the Enterprise Access Builder for RMI. This class provide generic icon information for the generated BeanInfos.


    Constructor Index

    IVJRProxyBeanInfo()

    Method Index

    getGifFile()
    Gets the name of the icon file that is used for storing icon images.
    getIcon(int)
    This method returns the icon image of the proxy bean generated by the RMI Access Builder.

    Constructors

    IVJRProxyBeanInfo
     public IVJRProxyBeanInfo()
    

    Methods

    getIcon
     public Image getIcon(int iconKind)
    
    This method returns the icon image of the proxy bean generated by the RMI Access Builder.

    Returns:
    java.awt.Image object containing the icon image.
    Overrides:
    getIcon in class SimpleBeanInfo
    getGifFile
     public static String getGifFile()
    
    Gets the name of the icon file that is used for storing icon images.

    Returns:
    String containing the name for the proxy bean icon file.

    " k$756$`./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.client.ivjrproxybeaninfo_mi.html$$ Interface COM.ibm.ivj.eab.rmi.client.IVJRResourceHandler

    Interface COM.ibm.ivj.eab.rmi.client.IVJRResourceHandler

    public interface IVJRResourceHandler


    Method Index

    getMessage(String)
    getMessage(String, Object[])
    getMessage(String, String)
    getMessage(String, String, String)
    getMessage(String, String, String, String)

    Methods

    getMessage
     public abstract String getMessage(String key)
    
    getMessage
     public abstract String getMessage(String key,
                                       Object arg[])
    
    getMessage
     public abstract String getMessage(String key,
                                       String arg1)
    
    getMessage
     public abstract String getMessage(String key,
                                       String arg1,
                                       String arg2)
    
    getMessage
     public abstract String getMessage(String key,
                                       String arg1,
                                       String arg2,
                                       String arg3)
    

    lds a kNK$756$P4./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.client.ivjrresourcehandler_mi.html$$ Class COM.ibm.ivj.eab.rmi.server.IVJRInterfaceManagerRmi

    Class COM.ibm.ivj.eab.rmi.server.IVJRInterfaceManagerRmi

    java.lang.Object
       |
       +----java.rmi.server.RemoteObject
               |
               +----java.rmi.server.RemoteServer
                       |
                       +----java.rmi.server.UnicastRemoteObject
                               |
                               +----COM.ibm.ivj.eab.rmi.server.IVJRInterfaceManagerRmi
    

    public class IVJRInterfaceManagerRmi
    extends UnicastRemoteObject

    IVJRInterfaceManagerRmi is the parent class for all server-side server proxies.


    Variable Index

    __ApplicationException
    Holds the message string to be displayed when an application exception occurs.
    __myObject
    Holds the reference to the actual server object.

    Constructor Index

    IVJRInterfaceManagerRmi(String)
    Constructs the IVJRInterfaceManagerRmi object.

    Method Index

    finalize()
    Performs additional cleanup required when this object is destroyed.
    __createIVJRException(Exception)
    Creates an IVJRException object when invoked with an Exception as parameter.
    __destroyObj()
    Destroys a server object by removing the references and binding from the RMI registry name space.
    __instantiate(String)
    Protected function to instantiate the server bean.
    __traceBegin()
    Displays a message in the Remote Object Instance Manager log display area and increments an internal counter indicating the number of calls.
    __traceEnd(boolean)
    Depending on the parameter setting, this method displays a message in the Remote Object Instance Manager log display area and increments an internal counter indicating the number of completed calls.

    Variables

    __myObject
     protected Object __myObject
    
    Holds the reference to the actual server object.

    __ApplicationException
     protected static final String __ApplicationException
    
    Holds the message string to be displayed when an application exception occurs. This field is for class library use only.


    Constructors

    IVJRInterfaceManagerRmi
     public IVJRInterfaceManagerRmi(String name) throws IVJRException, Exception
    
    Constructs the IVJRInterfaceManagerRmi object. This object sets up server instance information. The server name will be rebound to the name space if the construction is successful.

    Parameters:
    name - The name of the server object instance.
    Throws: IVJRException
    Thrown if there is a problem constructing the object.
    Throws: Exception
    Thrown if there is a problem creating UnicastRemoteObject.

    Methods

    __instantiate
     protected void __instantiate(String serObjName) throws IVJRException
    
    Protected function to instantiate the server bean. If a serialization file is associated with the server bean, the serialization file will be used to instantiate the object. Otherwise, the default constructor of the bean class will be used to instantiate the object.

    Parameters:
    serObjName - name of the server bean object.
    Throws: IVJRException
    Thrown if there was an I/O problem while reading the ".ser" serialization file.
    __destroyObj
     public void __destroyObj()
    
    Destroys a server object by removing the references and binding from the RMI registry name space.

    __createIVJRException
     protected IVJRException __createIVJRException(Exception e)
    
    Creates an IVJRException object when invoked with an Exception as parameter.

    Parameters:
    e - The Exception argument.
    Returns:
    IVJRException The IVJRException created by this method containing details from the exception object passed in as parameter.
    __traceBegin
     protected void __traceBegin()
    
    Displays a message in the Remote Object Instance Manager log display area and increments an internal counter indicating the number of calls. The message will be displayed only if IVJRServer was initialized with a text area for log message display.

    __traceEnd
     protected void __traceEnd(boolean s)
    
    Depending on the parameter setting, this method displays a message in the Remote Object Instance Manager log display area and increments an internal counter indicating the number of completed calls. The message will be displayed only if IVJRServer was initialized with a text area for log message display.

    Parameters:
    s - Set to "true" if the call to the server object completes successfully. Set to "false" if the call to the server object fails.
    finalize
     protected void finalize()
    
    Performs additional cleanup required when this object is destroyed.

    Overrides:
    finalize in class Object

    - T k$=756$@r=./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.server.ivjrinterfacemanagerrmi_mi.html$$ Class COM.ibm.ivj.eab.rmi.server.IVJRServer

    Class COM.ibm.ivj.eab.rmi.server.IVJRServer

    java.lang.Object
       |
       +----COM.ibm.ivj.eab.rmi.server.IVJRServer
    

    public class IVJRServer
    extends Object

    IVJRServer is a generic server for the distributed server objects created by the distribution tool. This generic server manages the instantiation and removal of the server objects to be distributed. The Java Daemon holds an instance of the IVJRServer object.


    Variable Index

    numOfBCalls
    Holds a count of the total number of unsuccessful calls made to this server.
    numOfCalls
    Holds a count of the total number of calls to all server objects managed by this server.
    numOfGCalls
    Holds a count of the total number of successful calls made to this server.
    numOfObjects
    Holds a count of the number of active server objects managed by this server.

    Constructor Index

    IVJRServer()
    Constructs the IVJRServer instance.

    Method Index

    displayLog(String)
    Appends a string to the text area defined for holding log ininformation.
    getActiveObjects()
    Return all distributed server objects that are active in this server.
    getRegistryPort()
    Returns the RMI Register Port number used by this generic server.
    getServerName()
    Returns the host name of this generic server.
    installObjects(String, String)
    Instantiates distributed server objects identified in a file.
    installObjects(Vector)
    Instantiates distributed server objects specified by the user.
    removeObjects(String, String)
    Deactivates distributed server objects identified in a file.
    removeObjects(Vector)
    Deactivates distributed server objects in a vector.
    server()
    Returns the IVJRServer object instance.
    setLogTextArea(TextArea)
    Sets the text area reference for showing log messages
    setRegistryPort(int)
    Sets the RMI Register Port number to be used by this generic server.
    setServerName(String)
    Sets the host name of this generic server.
    setStatisticTextArea(TextArea)
    Sets the text area reference for showing statistics
    showStatistics()
    Shows the latest server statistics in the text area defined in the constructor of this object.

    Variables

    numOfObjects
     public static int numOfObjects
    
    Holds a count of the number of active server objects managed by this server.

    numOfCalls
     public static int numOfCalls
    
    Holds a count of the total number of calls to all server objects managed by this server.

    numOfGCalls
     public static int numOfGCalls
    
    Holds a count of the total number of successful calls made to this server.

    numOfBCalls
     public static int numOfBCalls
    
    Holds a count of the total number of unsuccessful calls made to this server.


    Constructors

    IVJRServer
     public IVJRServer() throws IVJRException
    
    Constructs the IVJRServer instance.

    Throws: IVJRException
    if server fails to start.

    Methods

    server
     public static IVJRServer server()
    
    Returns the IVJRServer object instance.

    showStatistics
     public void showStatistics()
    
    Shows the latest server statistics in the text area defined in the constructor of this object.

    setStatisticTextArea
     public void setStatisticTextArea(TextArea ta)
    
    Sets the text area reference for showing statistics

    Parameters:
    ta - TextArea component for showing statistics.
    setLogTextArea
     public void setLogTextArea(TextArea ta)
    
    Sets the text area reference for showing log messages

    Parameters:
    ta - TextArea component for showing log messages.
    setRegistryPort
     public static void setRegistryPort(int number)
    
    Sets the RMI Register Port number to be used by this generic server.

    getRegistryPort
     public static int getRegistryPort()
    
    Returns the RMI Register Port number used by this generic server.

    setServerName
     public static void setServerName(String name) throws UnknownHostException, IVJRException
    
    Sets the host name of this generic server.

    getServerName
     public static String getServerName() throws IVJRException
    
    Returns the host name of this generic server. If the host name was not set prior to this call, the default local host name will be returned.

    displayLog
     public void displayLog(String s)
    
    Appends a string to the text area defined for holding log ininformation.

    Parameters:
    s - String to be displayed in the log area.
    installObjects
     public void installObjects(String dirName,
                                String objsFn)
    
    Instantiates distributed server objects identified in a file.

    Parameters:
    dirName - the directory where an object description file is to be found.
    objsFn - the name of an object description file within which the names of server objects to be distributed are defined.
    installObjects
     public String installObjects(Vector objects)
    
    Instantiates distributed server objects specified by the user.

    Parameters:
    objects - A vector which contains the names of server objects
    Returns:
    An error message when some of the objects were already instantiated or failed to instantiate.
    removeObjects
     public void removeObjects(String dirName,
                               String objsFn)
    
    Deactivates distributed server objects identified in a file.

    Parameters:
    dirName - the directory where an object description file is to be found.
    objsFn - the name of an object description file within which the names of server objects to be deactivated are defined.
    removeObjects
     public void removeObjects(Vector objects)
    
    Deactivates distributed server objects in a vector.

    Parameters:
    objects - A vector which contains the names of server objects to deactivate.
    getActiveObjects
     public Vector getActiveObjects()
    
    Return all distributed server objects that are active in this server.


    stryPo k $ 756$ y ./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.server.ivjrserver_mi.html$$ Class COM.ibm.ivj.eab.rmi.server.IVJRServerResource

    Class COM.ibm.ivj.eab.rmi.server.IVJRServerResource

    java.lang.Object
       |
       +----java.util.ResourceBundle
               |
               +----java.util.ListResourceBundle
                       |
                       +----COM.ibm.ivj.eab.rmi.server.IVJRServerResource
    

    public class IVJRServerResource
    extends ListResourceBundle

    This class holds the default key-string pairs used by rmi.


    Constructor Index

    IVJRServerResource()

    Method Index

    getContents()

    Constructors

    IVJRServerResource
     public IVJRServerResource()
    

    Methods

    getContents
     public Object[][] getContents()
    
    Overrides:
    getContents in class ListResourceBundle

     kq $756$`Z./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.server.ivjrserverresource_mi.html$$ Class COM.ibm.ivj.eab.rmi.server.IVJRServerResourceHandler

    Class COM.ibm.ivj.eab.rmi.server.IVJRServerResourceHandler

    java.lang.Object
       |
       +----COM.ibm.ivj.eab.rmi.server.IVJRServerResourceHandler
    

    public class IVJRServerResourceHandler
    extends Object
    implements IVJRResourceHandler


    Constructor Index

    IVJRServerResourceHandler(Locale)

    Method Index

    getDftMessage(String, String, Exception)
    A utility method to create a default exception message for construction of specialized exception objects.
    getMessage(String)
    getMessage(String, Object[])
    getMessage(String, String)
    getMessage(String, String, String)
    getMessage(String, String, String, String)
    main(String[])

    Constructors

    IVJRServerResourceHandler
     public IVJRServerResourceHandler(Locale loc)
    

    Methods

    getMessage
     public String getMessage(String key)
    
    getMessage
     public String getMessage(String key,
                              Object arg[])
    
    getMessage
     public String getMessage(String key,
                              String arg1)
    
    getMessage
     public String getMessage(String key,
                              String arg1,
                              String arg2)
    
    getMessage
     public String getMessage(String key,
                              String arg1,
                              String arg2,
                              String arg3)
    
    getDftMessage
     public String getDftMessage(String key,
                                 String arg,
                                 Exception e)
    
    A utility method to create a default exception message for construction of specialized exception objects. arg and e may both be null, but if any of them is not null, you must use the information so that the message formatter does not get a null replacement string.

    main
     public static void main(String args[])
    

    ss CO k $756$@./usr/IBMVJava/html/enterp/en_US/rmi/ref/com.ibm.ivj.eab.rmi.server.ivjrserverresourcehandler_mi.html$$ Package COM.ibm.ivj.eab.rmi.client

    All Packages

    package COM.ibm.ivj.eab.rmi.client

    Interface Index

    IVJRResourceHandler

    Class Index

    IVJRBase
    IVJRInterfaceRmi
    IVJRInterfaceRmiBeanInfo
    IVJRMessage
    IVJRMessageHandler
    IVJRProxyBeanInfo

    Exception Index

    IVJRException
     k|Y$u7*I66$Pu./usr/IBMVJava/html/enterp/en_US/rmi/ref/package-com.ibm.ivj.eab.rmi.server.htmlourceha$$ Package COM.ibm.ivj.eab.rmi.server

    All Packages

    package COM.ibm.ivj.eab.rmi.server

    Class Index

    IVJRInterfaceManagerRmi
    IVJRServer
    IVJRServerResource
    IVJRServerResourceHandler
    "IV k$ 7*I66$ ./usr/IBMVJava/html/enterp/en_US/rmi/ref/tree.htmlm.ibm$$ Class Hierarchy (RMI Access Builder)

    Class Hierarchy (RMI Access Builder)


    ublic  k$7HI66$6./usr/IBMVJava/html/enterp/en_US/rmi/tasks/tdrcrtcl.htm$$ Creating a Client Using a Proxy Bean

    Creating a Client Using a Proxy Bean

    Once you have generated your proxy bean using the Create Proxy Bean SmartGuide, you are ready to create your client using the generated proxy bean.

    To create the client using the proxy bean:

    1. Import the required packages into your client code.
    2. Assemble the client in the Visual Composition Editor.
    3. Make any required changes to the properties in the property sheet.
    4. Handle any exceptions.
    5. Compile the client code.

    Import Packages into Client Code
    If you are hand coding your client program, you might want to scope your reference to COM.ibm.ivj.eab.rmi.client objects by importing into your client code the packages that contain the run-time distribution classes. To import the required packages into your client code using an editor, simply add the following statement to your code:

    import COM.ibm.ivj.eab.rmi.client.

    Assemble the Client in the Visual Composition Editor
    Once you have added the import statement to your client code, you are ready to assemble the client in the Visual Composition Editor.

    To assemble the client in the Visual Composition Editor:

    1. Open the Visual Composition Editor.
    2. Add the client-side server proxy class to the free-form surface as a nonvisual bean.
    3. Connect the user interface controls of your visual client to the nonvisual bean.

    Make Required Changes to Properties
    After connecting your client interface to the nonvisual bean, you can select the nonvisual bean and make any required changes to the properties using the property sheet. Any changes that you need to make to the properties of the nonvisual bean should be made prior to invoking any methods. For details on the properties you may need to change, see the RMI Proxy Beans Properties topic. Detailed information about how to change properties using the property sheet is found in the topic Working with Beans Visually under the heading Editing Bean Properties.

    Handle Exceptions
    You must enable your application to handle an additional COM.ibm.ivj.eab.rmi.client.IVJRException that can be thrown by the client-side server proxy class as a result of problems encountered by the client in making a remote call. The IVJRException can also be caught as a more general java.lang.Exception exception.

    Compile the Client Code
    In the Visual Composition Editor, when you choose Save Bean from the Bean menu, your client code is automatically compiled. However, you can also export your classes from the IDE and compile the client from the command line using the Java Developers Kit (JDK) Version 1.1. If you developed the client application from the command line, then you must compile from the command line as well. Information about deploying code is found in the topic Exporting and Publishing Code.

     


    RMI Access Builder: Overview
    Design Considerations With the RMI Access Builder
    Code Generated by the RMI Access Builder
    RMI Access Builder Limitations


    Composing Beans Visually
    Working with Beans Visually
    Exporting and Publishing Code

    ngrelr.gif (1406 bytes)
    RMI Proxy Beans Properties

    artG k>*$T76I66$T./usr/IBMVJava/html/enterp/en_US/sap/concepts/c5sabs.htmivj.eab$$ The Access Builder for SAP R/3

    The Access Builder for SAP R/3

    The Access Builder for SAP R/3 lets you access business object meta information inside the BOR.You can retrieve complete meta information within the R/3 system,  keep it locally for multiple R/3 systems, access it without an R/3 connection, and search for business objects. You can generate HTML documentation and business object proxy beans  for specific SAP business objects, as well as RFC proxy beans for Remote Function Call (RFC) modules. You can apply these proxy beans to develop Java applications or applets, and whether you use the Visual Builder or do traditional handwritten coding, your development effort will be reduced.

    With the Access Builder, you are able to look at the Business Object Repository in your R/3 system, make a snapshot of the current state, and carry this information everywhere. Generate once - run everywhere. The generated files collect all information on all existing business objects in the BOR. You can use this information to generate BO proxy classes for business objects without connecting to an R/3 system. However, testing your written Java code, which must access the BAPI, does require a connection.

    The Access Builder provides two views of a Business Object Repository: a BOR hierarchy and a business object list. For each business object, there is a set of valid operations available.

    The BOR Hierarchy
    The tree view represents the structure how business objects are organized in the Business Object Repository.


    Figure: The BOR hierarchy

    The business objects are organized in a hierarchy with the business domains as a first level. You can browse through a domain by simply clicking on the branch open / branch close icon inside the TreeView or by double-clicking the domain name itself. Alternatively, you can select Expand or Collapse from the View menu or use the + and - buttons in the toolbar.

    By default, red nodes represent business objects and black nodes represent object types that are not business objects. They do not offer interfaces to access the R/3 system. They are visible only to give you the whole picture of the BOR.

    Select a node or a business object by a single click on the appropriate node. If the selected node is a business object, it will appear as selected in the BO list also.

    You can change the colors used by selecting Change options from the Options menu.

    The BO List
    Because the tree view of the BOR hierarchy may be very large, a second view provides an alphabetical list of business objects, so that you can easily find a specific business object.


    Figure: The BO list

    Select a business object by clicking it. This business object will also appear as selected in the BOR hierarchy.

    Search
    The Access Builder also provides a search facility. To open the Search window, select Search in the View menu, or press the search button in the toolbar.


    Figure: Search dialog window

    Operations on a Business Object
    There are several operations available on a business object:

    • Generating documentation for selected business objects
    • Displaying generated documentation for selected business objects
    • Generating proxy beans for selected business objects
    • Displaying source code of generated proxy beans for selected business objects

    Figure: Displaying generated documentation of business object "CompanyCode"

    Figure: Displaying source code of generated proxy bean of business object "CompanyCode"

    Keep the following in mind:

    • You should generate any information before you try to display it. At the moment generating "under the hood" is not implemented.
    • Displaying generated documentation of a business object may take some moments for parsing and rendering the HTML code if you use the internal viewer.

    [Related concepts]
    Access SAP Systems - Overview
    Local Business Object Repository
    Proxy Beans to Access SAP Systems
    Reference Documentation for Business Objects

    [Related tasks]
    Generate Proxy Beans
    Retrieve Information from a R/3 System
    Browse the Business Object Repository
    Browse the RFC Modules
    Customize the Access Builder for SAP R/3

    [Related references]
    BO and RFC Proxy Beans

    in t kF+$76I66$Ē./usr/IBMVJava/html/enterp/en_US/sap/concepts/c5scacc.htmvj.eab$$ R/3 Access Classes

    R/3 Access Classes

    The R/3 Access Classes are the basic of the run-time access to SAP business objects and BAPIs. They are used by all other components of the Access Builder for SAP R/3 and by the beans generated by the Access Builder. You may also use them directly to develop dynamic access to SAP business objects and BAPIs.

    Some R/3 Access Classes help to establish a connection to the R/3 system and some reflect SAP business objects and their specific features. The R/3 Access Classes implement the Common RFC Interface for Java and extend it for use with business objects with additional classes like SAPObject and ObjectId.

    Classes for Modeling Business Objects
    A set of Java classes and interfaces represent SAP business objects and their features. The object model for these classes and interfaces is briefly described below.

    Business object
    SAP business objects have a name and may have keys, attributes, methods, and events. Instances of SAP business objects are uniquely identified by their keys. Business objects are represented by the Java class SAPObject.
    Key
    Keys are used to uniquely identify a SAP business object. Keys are always simple fields. One business object may have several keys. As all keys together form the unique identification of a SAPObject, they are kept together in the class ObjectId. In this class, the keys are represented by the Java interface ISimple.
    Simple field
    A simple field holds a single value of a specific ABAP/4 data type. Simple fields are represented by the interface ISimple. It automatically maps the ABAP/4 data types to Java data types.
    Attribute
    Attributes may be simple fields, structures, or business objects. Attributes can have read-only or read-write access. A SAP business object may have multiple attributes. Attributes are represented by the corresponding Java class ObjectId or by the Java interfaces ISimple or IStructure.
    Method
    A business object method is identified by a name. It may have several parameters. Methods are not directly represented in this model. They are invoked by a generic method of SAPObject.
    Parameter
    A parameter has a name, a type, and a value. A parameter may be input, output, or both. Parameters may be simple fields, structures, tables, or business objects. Parameters are represented by the Java class ObjectId or the Java interfaces ISimple, IStructure, ITable.
    Structure
    A structure has a name and represents a list of fields. Each field may be either a simple field or a structure. Structures are represented by the Java interface IStructure.
    Table
    A table has a name and represents a list of rows. A table has a specific structure, which is identical for all rows. Tables are represented by the Java interface ITable.
    Row
    A row represents a list of fields. A field may be either a simple field or a structure. Rows are represented by the Java interface IRow.
    Event
    Events are rarely used in current SAP business objects. The Access Builder for SAP R/3 does not support SAP business object events.

    Meta Information
    At run time, the exact meta information about simple fields and the layout of structures and table rows is needed. The object model of the run-time classes keeps this information in the classes SimpleInfo and ComplexInfo.

    Simple field meta information
    Simple field meta information includes a name, ABAP/4 data type, length, number of decimals, and an offset if it is part of a structure. Simple field meta information is represented by the Java interface SimpleInfo.
    Structure meta information
    Structure meta information includes a structure name, length, and an ordered list of field meta information - either for simple fields or for nested structures. Structure meta information is represented by the Java interface ComplexInfo.
    Structure's field meta information
    The meta information of a structure's field may be either meta information of a nested structure or a simple field. A structure's field meta information is represented by the Java interfaces SimpleInfo or ComplexInfo.

    [Related concepts]
    Common RFC Interface for Java
    BOR Access Classes

    [Related tasks]
    Connect to the R/3 System
    Invoke BAPI Methods Dynamically
    Trace the SAP Connection of Your Application
    Develop R/3 Java Applications Using InfoBus Technology

    [Related references]
    ABAP/4 and Java Data Types
    Common RFC Interface for Java
    R/3 Access Classes

    cl kv,$u76I66$Вu./usr/IBMVJava/html/enterp/en_US/sap/concepts/c5scbor.htmvj.eab$$ BOR Access Classes

    BOR Access Classes

    The BOR Access Classes retrieve information from the Business Object Repository (BOR). The Business Object Repository contains information about the SAP business objects, such as attributes, methods, and events. The Access Builder uses these classes to retrieve the information required to generate the beans. The generated beans do not depend on the BOR Access Classes; they depend only on the R/3 Access Classes. You can also use the BOR Access Classes to retrieve information about SAP business objects and BAPIs at run time.

    The BOR Access Classes consist of the BapiControl, SAPObjectInfo, ComplexInfo, and several descriptor classes. The SAPObjectInfo and descriptor classes have a similiar interface to the Introspection classes in the Java Development Kit (JDK).

    BapiControl
    The BapiControl class works as a central instance to retrieve information from the Business Object Repository. The getTypeInfo method retrieves all information about a SAP business object in an instance of SAPObjectInfo. The getComplexInfo returns information about a structure or table in an instance of ComplexInfo.
    SAPObjectInfo
    An instance of the SAPObjectInfo class keeps all information about a specific business object in contained instances of the several descriptor classes.
    ComplexInfo
    An instance of the ComplexInfo class keeps all information about a specific R/3 structure or table.

    The Process of Retrieving BOR Information
    The principal method for collecting Business Object Repository information is to use the getTypeInfo method of the BapiControl class. The method takes the business object type, for example BUS0002, the object type for CompanyCode that provides a path name indicating where to serialize the business object for further use without access to the R/3 system; a Boolean flag indicating whether to use the business object's internal name; and an instance of the Connection class.

    The collected information is stored in the specified path in a file named for the business object type with extension .ser. For CompanyCode, the file name would be BUS0002.ser. The method returns an instance of the SAPObjectInfo class. See the related concept on descriptor classes for more information about the classes used by the getTypeInfo method.

    The RPYTable class is a helper class for building the SAPObjectInfo instance. It got its name from the RPY_OBJECTTYPE_READ function, which is used to get R/3 system tables that describe specified business objects in terms of R/3 terminology. The function returns an R/3 table for the object's key fields, attributes, methods, method parameters, and events.

    The RPYTable instance uses the setAttributesToDescriptor, setMethodsToDescriptor, and setEventsToDescriptor methods to transform the information from the R/3 system tables into descriptor class instances of SAPObjectInfo. The descriptor classes are used to provide access to the single information items that describe the business object. They are used by the Access Builder to generate access classes. The three methods work in the same manner. For each row in the table describing attributes, methods, and events, the methods create an appropriate descriptor class instance.

    The SAPObjectInfo class collects the descriptor classes that are generated by the RPYTable. It contains the set and get methods for them.

    [Related concepts]
    R/3 Access Classes
    BO Descriptor Classes
    Common RFC Interface for Java

    [Related tasks]
    Connect to the R/3 System
    Invoke BAPI Methods Dynamically
    Trace the SAP Connection of Your Application

    [Related references]
    ABAP/4 and Java Data Types
    BOR Access Classes
    Naming Conventions for Generated Classes
    R/3 Access Classes

    BO Descriptor Classes

    BO Descriptor Classes

    A specific descriptor class exists for every feature of a SAP business object. An instance of the appropriate class is created for each single feature. It contains the feature's name and advanced information about the internal structure in the R/3 system. The descriptor classes contain get and set methods for each information item they keep.

    • AttributeDescriptor contains information about an attribute of the business object.
    • ElementDescriptor describes a single field parameter of a business object's method.
    • EventDescriptor is currently not used. It is reserved for later use.
    • FeatureDescriptor is the base class for all other descriptors. It contains methods common for all descriptor classes.
    • KeyDescriptor is a subclass of the AttributeDescriptor class. It describes a keyfield of the business object.
    • MethodDescriptor describes a method of the business object, which can be called by the user.
    • ParameterDescriptor describes a parameter of a business object's method. Parameters can be structured or simple fields.
    • StructureDescriptor describes a structured parameter of a business object's method.
    • TableDescriptor is currently not used. It is reserved for later use.

    [Related concepts]
    BOR Access Classes
    R/3 Access Classes

    [Related tasks]
    Connect to the R/3 System
    Invoke BAPI Methods Dynamically
    Trace the SAP Connection of Your Application

    [Related references]
    BOR Access Classes

    stor k~.$76I66$ߒ./usr/IBMVJava/html/enterp/en_US/sap/concepts/c5scgen.htmj.eab$$ Proxy Beans to Access SAP Systems

    Proxy Beans to Access SAP Systems

    Business Object Proxy Beans
    A SAP business object represents a combination of one or more BAPI methods. If you have access to an R/3 system, you can use the SWO2 transaction to request information about SAP business objects. Alternatively, you can use the Access Builder for SAP R/3 to view the information stored in the R/3 system.

    A business object instance has a persistent data representation in the R/3 database. BAPI methods are used to work with this persistent data. It is also possible to create transient business objects on the R/3 application server. Transient business objects are not synchronized with their persistent data representations in the R/3 database. BAPI methods always deal with the persistent data, which is guaranteed to be consistent. Therefore, the Access Builder for SAP R/3 concentrates on BAPI methods.

    A BO proxy bean represents a business object. It contains constructors to instantiate the bean, methods that allow the invocation of BAPI methods, and methods for handling the object identifier.

    You can use BAPI methods to perform the following tasks:

    • Query information on instances of a specific business object type
    • Retrieve data from the persistent representation of a specific business object instance
    • Manipulate the persistent data of a specific business object instance
    • Create new business object instances and their persistent data in the R/3 database

    Each business object instance has one or more object keys. The keys are used by instance-specific BAPI methods to manipulate the persistent representation of the instance. For example, in the IDES R/3 system there exists a company called IDES AG with the key 001000. That means that a business object instance of the business object class Company (business object type BUS0014) with the key 001000 exists. A BAPI method that requires an instance of Company could be called with the appropriate key.

    The class ObjectId represents the key or set of keys that identifies a specific SAP business object instance.The ObjectId class provides methods to get and set the keys in the instance. Each BO Proxy Bean has exactly one ObjectId instance. This ObjectId must be set properly before calling an instance method.


    Figure: ObjectId - Class Window in VisualAge for Java

    RFC Proxy Beans
    You can generate RFC proxy beans to access Remote Function Call (RFC) modules. An RFC module is an accessible function on a remote R/3 system. Every RFC module has a specific task and is separated from any other RFC module. All information required to execute an RFC module must be provided as a parameter.

    From a non-object-oriented view, all BAPI methods can be seen as RFC modules. Therefore, BAPI methods can be accessed using the mechanism for RFC modules, as well as by using BAPI methods. Because the mechanism for RFC modules does not know anything about object instances and keys, this information must be explicitly provided as parameters. 

    [Related concepts]
    Parameter Container Classes
    R/3 Access Classes

    [Related tasks]
    Browse the Business Object Repository
    Browse the RFC Modules
    Generate Proxy Beans for SAP Business Objects and RFC Modules
    Integrating Generated Proxy Beans
    Use the Proxy Beans to Access Business Objects
    Call RFC Modules

    [Related references]
    ABAP/4 and Java Data Types
    BO and RFC Proxy Beans
    Naming Conventions for Generated Classes
    R/3 Access Classes

    the in k/$76I66$0./usr/IBMVJava/html/enterp/en_US/sap/concepts/c5scpar.htmj.eab$$ Parameter Container Classes

    Parameter Container Classes

    A parameter container class is generated for each BAPI method of the SAP business object. This class is used as a container for the method parameters. The use of a special parameter container class might seem cumbersome for methods with few parameters. However, many BAPI methods provide a lot of parameters, and it is convenient to keep all of these parameters together in a container instance. The parameter class makes instantiating simple parameters easy, as it knows the necessary meta information.

    The parameter container class has access methods for setting and getting the parameters. You use the set methods to provide the required and optional input parameters before invoking a BAPI method. Afterwards, you retrieve information from the output parameters using the get methods.

    The screen below shows the parameter container class CustomerOrderGetlistParams generated for the BAPI method getlist of the business object CustomerOrder.


    [Related concepts]
    Proxy Beans to Access SAP Systems

    [Related tasks]
    Generating Proxy Beans for SAP Business Objects and RFC modules
    Integrating Generated Proxy Beans
    Accessing Business Objects Using Proxy Beans

    [Related references]
    BO and RFC Proxy Beans
    Naming Conventions for Generated Classes

     kz0$j 76I66$ j ./usr/IBMVJava/html/enterp/en_US/sap/concepts/c5sdoc.htmj.eab$$ Reference Documentation for Business Objects

    Reference Documentation for Business Objects

    The Access Builder for SAP R/3 retrieves information about the Business Objects and generates online documentation locally. This reference documentation gives you an overview of all features that are provided by the business object to the outside world. The following properties of a business object are documented:

    Object type
    The object type describes the basic object data with its unique name, classification and the underlying object model.
    Key fields
    The key fields of an object describe an unique index to access a specific instance of the SAP business object. The SAP business object "Employee" and the key field "Employee Number" are examples for such an index.
    Attributes
    An attribute stores object data for a specific object instance; in our example the name of an employee or the date of birth.
    Methods
    A method performs an operation which can manipulate object attributes. A method will be defined by a method name and a couple of import-/export-parameters and exceptions. BAPIs are special methods which can be invoked by external applications and provide a stable interface for these external applications.
    Events
    An event indicates, that one or more attributes were changed or something else happened to a specific instance of a business object.

    You find the BAPIs in the methods-section of the documentation. They are listed with the required parameters:

    • Import parameters
    • Export parameters
    • Table parameters which you can use for import- and export-purposes

    [Related concepts]
    Access SAP Systems - Overview
    The Access Builder for SAP R/3
    Local Business Object Repository
    Proxy Beans to Access SAP Systems

    [Related tasks]
    Retrieve Information from a R/3 System
    Browse the Business Object Repository

    [Related references]
    BO and RFC Proxy Beans

     k41$ 76I66$ ./usr/IBMVJava/html/enterp/en_US/sap/concepts/c5sif.htm$$ Common RFC Interface for Java

    Common RFC Interface for Java

    The Common RFC Interface for Java consists of a set of Java interfaces and classes. These interfaces and classes define a middleware-independant layer for RFC access. This version of Access Builder for SAP R/3 includes only middleware based on the Java Native Interface (JNI).

    If applications are built on top of the Common RFC Interface for Java, they can leverage different R/3 access methods at run time without needing recoding. This approach allows users to develop their applets and programs with the fast and easy-to-manage JNI middleware and then switch to an ORB-based middleware when the applets are deployed to web clients. The generated beans provide the same flexibility.

    R/3 Access Classes over JNI are designed for developer clients and server-side Java beans. The R/3 access is performed with a local RFC library (librfc32.dll under Windows).The Java classes access this platform-specific module through Java Native Interface (JNI). RFC library and JNI are available on major developer platforms.

    A further possible implementation could be R/3 Access Classes over CORBA. This would be designed for an Internet infrastructure. The R/3 access is provided by an additional Internet server. The Internet server includes an HTTP server and an ORB server. The HTTP server delivers the Java applet to an Internet client that uses a Java-enabled Web browser. The applet includes Java proxy classes that transparently access server objects on the Internet server using CORBA IIOP. The server objects use the RFC library on the Internet server to access the R/3 system.

    Further R/3 Access Classes may be feasible. For example, in an intranet, pure Java clients could directly access the RFC sockets of the R/3 systems.

    The following figure shows the concept of different access methods and the Common RFC Interface for Java.


    Figure 1: Unified access with different middleware

    The following figure shows the object model of the classes and interfaces of the Common RFC Interface for Java.

    CommonInterface.gif (18621 Byte)
    Figure 2: Common Interface for Java RFC
     

    [Related concepts]
    R/3 Access Classes

    [Related tasks]
    Connect to the R/3 System
    Invoke BAPI Methods Dynamically

    [Related references]
    ABAP/4 and Java Data Types
    R/3 Access Classes

     kh2$ 76I66$ ./usr/IBMVJava/html/enterp/en_US/sap/concepts/c5sintro.htmj.eab$$ Access SAP Systems - Overview

    Access SAP Systems - Overview

    Access Builder for SAP R/3 is a complete toolkit for creating Java applications, applets, and beans that allow access to a SAP R/3 system. The program you create can communicate with a SAP system through the Java Native Interface (JNI).

    The Business Framework
    When SAP introduced the Business Framework with R/3, it provided business objects that encapsulate business logic and business workflow on both technical and business levels. Business objects offer robust interfaces to several business processes and a range of business data. These interfaces are called the Business Application Programming Interface (BAPI). With BAPI methods, which represent high-level object methods, it is possible for R/3 business objects to communicate with other components.

    For example, the business object CompanyCode has two BAPI methods to access internal company data:

    • getlist - retrieves a list of existing companies
    • getdetail - retrieves additional information on a specific company

    External applications can only invoke these two methods. In other words,  the BAPI methods are the only way to manipulate the business object information. The method  getlist of the business object CompanyCode retrieves a list showing all existing instances of the object type CompanyCode. The external application invokes the BAPI method with its specific import, export and table parameters

    An object is different from the instances of the object. Each object is an instance of a specific object class, or in SAP terms, an object type. For example, "Mrs. Kate Bush with EmployeeNo. 9876", is an instance of the object type "Employee", which "exists" in the Business Object Repository.

    Extended information on the structure of business objects, the object model, and BAPI can be found on SAPnet.

    Business Object Repository (BOR)
    The Business Object Repository represents the business data, transactions, and events within the R/3 system as an integrated set of SAP business objects. The BOR manages these objects, which are related to each other in object models.

    [Related concepts]
    The Access Builder for SAP R/3
    Local Business Object Repository
    Proxy Beans to Access SAP Systems
    Reference Documentation for Business Objects

    [Related tasks]
    Retrieve Information from a R/3 System
    Browse the Business Object Repository

    [Related references]
    BO and RFC Proxy Beans

    tly p k m$N7,I66$PN./usr/IBMVJava/html/enterp/en_US/sap/ref/_package_._class_.html$$ _Package_._Class_ <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="_package_._class__dsc.html#_top_">_Package_._Class_ (no frames)</a></b></p> </body> fo kSn$p:7,I66$p:./usr/IBMVJava/html/enterp/en_US/sap/ref/_package_._class__dsc.html.ser$$ Class <Package>.<Class>

    Class <Package>.<Class>

    java.lang.Object
       |
       +----com.ibm.sap.bapi.SAPObject
               |
               +----<Package>.<Class>
    

    public class <Class>
    extends SAPObject
    implements Serializable

    Objects of this class represent proxies to SAP Business Objects from which the mapping was made. The class provides the keys and methods of the Business Object as defined in the BOR.

    Keys are used as constructor parameters for ObjectId. ObjectId exactly identifies a SAP Business Object. There are no explicit methods to access the keys of a specific Business Object, but access methods of the class ObjectId may be used.

    The BAPI methods defined for this Business Object in the BOR are directly mapped to Java methods.

    To see how to use Business Object Proxy Beans please refer to chapter 'Use the Proxy Beans to access Business Objects' in the online documentation.

    Although you can edit the generated class' source code, we suggest you do not because if you generate code for the mapping again, you will lose all the changes you made to the source.
    If necessary we suggest to use inheritance or delegation to extend the generated classes.

    The following comments are generated into the body of the Business Object Proxy Beans to help you creating an instance of the bean:

     	// To create an instance of class <Class> with a specific object id
     	// please do the following :
     	//
     	//	ObjectId objectId = <Class>.getEmptyObjectId() ;
     	//	objectId.getKeyField("_key_name_").set_Java_Type_(-- YOUR KEY VALUE --) ;
     	//	<Class> a<Class> = new <Class>(objectId) ;
     

    Please refer to chapter 'Writing your first R/3 application in Java' in the online documentation for some sample code.

    See Also:
    <Class><method>Params

    Variable Index

    creationDateAndTime
    Identifies the timestamp of the generation process.
    versionOfGenerator
    Identifies version of the code generator producing this Java file.
    versionOfR3
    Identifies R/3 version at generation process This version may be compared to the version of the actual R/3 system to ascertain that the Business Object and BAPIs are also valid at runtime.

    Constructor Index

    <Class>()
    Creates an "anonymous" <Class> object without a defined object id.
    <Class>(IRfcConnection, <Class><method>Params)
    Creates a <Class> instance and its persistent representation in the R/3 system.
    <Class>(ISimple)
    Creates a <Class> instance linked to a Business Object in the R/3 system.
    <Class>(ObjectId)
    Creates a <Class> instance linked to a Business Object in the R/3 system.

    Method Index

    <method>(IRfcConnection, <Class><method>Params)
    Invokes the corresponding instance method of the Business Object in the R/3 system.
    <staticmethod>(IRfcConnection, <Class><method>Params)
    Invokes the corresponding static method of the Business Object in the R/3 system.
    getEmptyObjectId()
    Provides an empty object id for the <Class> Business Object.
    getObjectId()
    Gets object id of the <Class> Business Object.

    Variables

    creationDateAndTime
     public static final String creationDateAndTime
    
    Identifies the timestamp of the generation process. May be used for version/date checking

    versionOfR3
     public static final String versionOfR3
    
    Identifies R/3 version at generation process This version may be compared to the version of the actual R/3 system to ascertain that the Business Object and BAPIs are also valid at runtime.

    See Also:
    getR3Release
    versionOfGenerator
     public static final String versionOfGenerator
    
    Identifies version of the code generator producing this Java file.


    Constructors

    <Class>
     public <Class>()
    
    Creates an "anonymous" <Class> object without a defined object id.

    The method setObjectId must be invoked first, before invoking instance methods of the Business Object.

    <Class>
     public <Class>(ObjectId objectId)
    
    Creates a <Class> instance linked to a Business Object in the R/3 system.

    Instance methods of the Business Object may be invoked with the created instance.

    Parameters:
    objectId - defines an existing, persistent Business Object in the R/3 system.
    <Class>
     public <Class>(IRfcConnection connection,
                    <Class><method>Params params) throws JRfcMiddlewareException, JRfcRemoteException, JRfcRfcAbapException, JRfcRfcConnectionException, JRfcRfcParameterException, JRfcRemoteOutOfMemoryError
    
    Creates a <Class> instance and its persistent representation in the R/3 system. A BAPI factory method is used.

    Parameters:
    connection - An open and valid connection to an R/3 system.
    params - The parameter class holding the parameters for the RFC call which is invoked under the covers.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcRfcAbapException
    thrown by ABAP program code when executing a remote function call module
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcRfcParameterException
    interface of a RFC module does not fit to the parameters provided
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    <Class>
     public <Class>(ISimple valueKeyField)
    
    Creates a <Class> instance linked to a Business Object in the R/3 system. The number and type of the parameters are exactly the number and type of the key fields defined for this Business Object. Most often, there is a single key field of type String.

    Instance methods of the Business Object may be invoked with the created instance.

    Parameters:
    valueKeyField - defines one of the key fields for an existing, persistent Business Object

    Methods

    <method>
     public void <method>(IRfcConnection connection,
                          <Class><method>Params params) throws JRfcMiddlewareException, JRfcRemoteException, JRfcRfcAbapException, JRfcRfcConnectionException, JRfcRfcParameterException, JRfcRemoteOutOfMemoryError
    
    Invokes the corresponding instance method of the Business Object in the R/3 system. It also provides the data conversion. The method call() of SAPObject is used for the invocation.

    Keys are defined through the object id of the given instance. They are not needed as input parameters of instance methods.

    Parameters:
    connection - An open and valid connection to an R/3 system.
    params - The instance of <Class><method>Params provides all parameters for this method call. All in and in/out parameters of params must be provided. Out parameters ant table parameters are filled according to the invoked Business Object's method.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcRfcAbapException
    thrown by ABAP program code when executing a remote function call module
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcRfcParameterException
    interface of a RFC module does not fit to the parameters provided
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    <staticmethod>
     public static void <staticmethod>(IRfcConnection connection,
                                       <Class><method>Params params) throws JRfcMiddlewareException, JRfcRemoteException, JRfcRfcAbapException, JRfcRfcConnectionException, JRfcRfcParameterException, JRfcRemoteOutOfMemoryError
    
    Invokes the corresponding static method of the Business Object in the R/3 system. This method also provides the data conversion. The callClassMethod method of SAPObject is used for the invocation.

    Parameters:
    connection - An open and valid connection to an R/3 system.
    params - The instance of <Class><method>Params provides all parameters for this method call. All in and in/out parameters of params must be provided. Out parameters ant table parameters are filled according to the invoked Business Object's method.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcRfcAbapException
    thrown by ABAP program code when executing a remote function call module
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcRfcParameterException
    interface of a RFC module does not fit to the parameters provided
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    getEmptyObjectId
     public static ObjectId getEmptyObjectId()
    
    Provides an empty object id for the <Class> Business Object. The object id contains the exact number and type of keys as defined for the <Class> Business Object.

    This method is provided for the users convenience. It presets the field information in the object id. All the user has to do is to set the values of the keys.

    Returns:
    An empty object id for the <Class> Business Object.
    getObjectId
     public ObjectId getObjectId()
    
    Gets object id of the <Class> Business Object. If there was no object id set before then an empty object id is created and this object id is set.

    The object id contains all keys of the Business Object.

    Returns:
    the object id for the <Class> Business Object.
    Overrides:
    getObjectId in class SAPObject

     k*o$76I66$P./usr/IBMVJava/html/enterp/en_US/sap/ref/_package_._class__method_params.htmlml$$ _Package_._Class__method_Params <body bgcolor="#FFFFFF" text="#000000"> <h3><font face="arial,helvetica">This HTML page uses frames</font></h3> <p>You can access the class description directly and bypass this frameset, or get a frames-capable browser. <p> <p><b><a href="_package_._class__method_params_dsc.html#_top_">_Package_._Class__method_Params (no frames)</a></b></p> </body> xact kt'p$76I66$./usr/IBMVJava/html/enterp/en_US/sap/ref/_package_._class__method_params_dsc.htmlurceha$$ Class <Package>.<Class><method>Params

    Class <Package>.<Class><method>Params

    java.lang.Object
       |
       +----<Package>.<Class><method>Params
    

    public class <Class><method>Params
    extends Object
    implements Serializable

    The instance of <Class><method>Params contains all parameters (in, in/out and output). It is used as single input parameter and as return value for the invocation of <method>, _classmethod_ and constructors calling BAPI factory methods. The instance may be used for multiple subsequent invocations.

    Getter and setter methods for all parameters are provided.

    See Also:
    <method>

    Variable Index

    creationDateAndTime
    Identifies the timestamp of the generation process.
    versionOfGenerator
    Identifies the version of the code generator producing this Java file.
    versionOfR3
    Identifies the R/3 version at generation process.

    Constructor Index

    <Class><method>Params()
    Instantiates the parameter container and all contained parameter classes.

    Method Index

    get_Parameter_()
    Gets the specified parameter.
    set_Parameter_(<ParameterType>)
    Sets the specified parameter to the passed-in value.

    Variables

    creationDateAndTime
     public static final String creationDateAndTime
    
    Identifies the timestamp of the generation process.

    versionOfR3
     public static final String versionOfR3
    
    Identifies the R/3 version at generation process. This may be compared to the version of the actual R/3 system to ascertain that the Business Object and BAPIs are also valid at runtime.

    See Also:
    getR3Release
    versionOfGenerator
     public static final String versionOfGenerator
    
    Identifies the version of the code generator producing this Java file.


    Constructors

    <Class><method>Params
     public <Class><method>Params()
    
    Instantiates the parameter container and all contained parameter classes.


    Methods

    get_Parameter_
     public <ParameterType> get_Parameter_()
    
    Gets the specified parameter. One of these methods is generated for each parameter of the <method>. The exact definition of <ParameterType> depends whether the parameter is
    Simple field
    <ParameterType> is a native Java class or data type according to the mapping between ABAP and Java data types.
    Structure
    <ParameterType> is a <Structure> class that provides getter and setter methods for the fields of this structure.
    Table
    <ParameterType> is a <Table> class that provides access to the table rows specific to this _Parameter_ table.

    Returns:
    the specified parameter.
    See Also:
    set_Parameter_, <Table>, <Structure>
    set_Parameter_
     public void set_Parameter_(<ParameterType> a_Parameter_)
    
    Sets the specified parameter to the passed-in value. One of these methods is generated for each parameter of the <method>. The exact definition of <ParameterType> depends whether the parameter is
    Simple field
    <ParameterType> is a native Java class or data type according to the mapping between ABAP and Java data types.
    Structure
    <ParameterType> is a <Structure> class that provides getter and setter methods for the fields of this structure.
    Table
    <ParameterType> is a <Table> class that provides access to the table rows specific to this _Parameter_ table.

    Parameters:
    a - a variable of the specified parameter's type, whose value is assigned to the specified parameter.
    See Also:
    get_Parameter_, <Table>, <Structure>

     k\q$&756$P&./usr/IBMVJava/html/enterp/en_US/sap/ref/_package_._class__method_params_mi.htmlurceha$$ Class <Package>.<FieldType>

    Class <Package>.<FieldType>

    java.lang.Object
       |
       +----<Package>.<FieldType>
    

    public class <FieldType>
    extends Object

    This class is used as a placeholder for field types. In case of a simple field, <FieldType> is a native Java class or data type according to the mapping between ABAP and Java data types. In case of a structure field, <FieldType> is a <Structure> class.


    Constructor Index

    <FieldType>()

    Constructors

    <FieldType>
     public <FieldType>()
    

    >Se kIu$a756$p~a./usr/IBMVJava/html/enterp/en_US/sap/ref/_package_._fieldtype__mi.html$$ Class <Package>.<ParameterType>

    Class <Package>.<ParameterType>

    java.lang.Object
       |
       +----<Package>.<ParameterType>
    

    public class <ParameterType>
    extends Object

    This class is used as a placeholder for parameter types. Parameter types is either one of the following

    • a native Java class or data type according to the mapping between ABAP and Java data types.
    • a <Structure> class
    • a <Table> class


    Constructor Index

    <ParameterType>()

    Constructors

    <ParameterType>
     public <ParameterType>()
    

    et_Para krx$q756$pq./usr/IBMVJava/html/enterp/en_US/sap/ref/_package_._parametertype__mi.htmlhtml$$ Class <Package>.<Structure>

    Class <Package>.<Structure>

    java.lang.Object
       |
       +----<Package>.<Structure>
    

    public class <Structure>
    extends Object
    implements Serializable

    The <Structure> represents an ABAP/4 structure and contains all fields of this structure.

    Getter and setter methods for all fields are provided.

    <Structure> is implemented with an embedded instance of com.sap.rfc.IStructure.

    See Also:
    IStructure

    Variable Index

    creationDateAndTime
    Identifies the timestamp of the generation process.
    versionOfGenerator
    Identifies the version of the code generator producing this Java file.
    versionOfR3
    Identifies the R/3 version, that was accessed at the generation process.

    Constructor Index

    <Structure>()
    Creates a <Structure> instance and the embedded structure The corresponding structure information is filled correctly.

    Method Index

    get<Field>()
    Gets the specified field in the structure.
    getEmbeddedStructure()
    Gets the embedded structure that holds all field values.
    set<Field>(<FieldType>)
    Sets the specified field in the structure to the passed-in value.

    Variables

    creationDateAndTime
     public static final String creationDateAndTime
    
    Identifies the timestamp of the generation process.

    versionOfR3
     public static final String versionOfR3
    
    Identifies the R/3 version, that was accessed at the generation process. This may be compared to the version of the actual R/3 system to ascertain that the Business Object and BAPIs are also valid at runtime.

    See Also:
    getR3Release
    versionOfGenerator
     public static final String versionOfGenerator
    
    Identifies the version of the code generator producing this Java file.


    Constructors

    <Structure>
     public <Structure>()
    
    Creates a <Structure> instance and the embedded structure The corresponding structure information is filled correctly.


    Methods

    get<Field>
     public <FieldType> get<Field>()
    
    Gets the specified field in the structure. One of these methods is generated for each field in <Structure>. The exact definition of <FieldType> depends whether the field is
    Simple field
    <FieldType> is a native Java class or data type according to the mapping between ABAP and Java data types.
    Structure
    <FieldType> is a <Structure> class that provides getter and setter methods for the fields of this nested structure.

    Returns:
    the specified field.
    See Also:
    set<Field>, <Structure>
    getEmbeddedStructure
     public IStructure getEmbeddedStructure()
    
    Gets the embedded structure that holds all field values. This method allows access to the base structure of type IStructure which is the actual data container under the covers.

    Returns:
    The embedded structure.
    set<Field>
     public void set<Field>(<FieldType> a<Field>)
    
    Sets the specified field in the structure to the passed-in value. One of these methods is generated for each field in <Structure>. The exact definition of <FieldType> depends whether the field is
    Simple field
    <FieldType> is a native Java class or data type according to the mapping between ABAP and Java data types.
    Structure
    <FieldType> is a <Structure> class that provides getter and setter methods for the fields of this nested structure.

    Parameters:
    a<Field> - A variable of the specified field's type, whose value is assigned to the specified field.
    See Also:
    get<Field>, <Structure>

    n proce k<{$1756$PQ1./usr/IBMVJava/html/enterp/en_US/sap/ref/_package_._structure__mi.html$$ Class <Package>.<Table>Row

    Class <Package>.<Table>Row

    java.lang.Object
       |
       +----<Package>.<Table>Row
    

    public class <Table>Row
    extends Object
    implements Serializable

    The <Table>Row represents a row of an ABAP/4 table and contains all fields of a table row.

    Getter and setter methods for all fields are provided.

    <Table>Row is implemented with an embedded instance of com.sap.rfc.IRow.

    See Also:
    ITableRow

    Variable Index

    creationDateAndTime
    Identifies the timestamp of the generation process.
    versionOfGenerator
    Identifies the version of the code generator producing this Java file.
    versionOfR3
    Identifies the R/3 version, that was accessed at the generation process.

    Constructor Index

    <Table>Row(IRow)
    Creates a new <Table>Row instance It assigns the passed-in value to the embedded Row that contains all fields.

    Method Index

    get<Field>()
    Gets the specified field in the <Table>row.
    getEmbeddedRow()
    Gets embedded row that holds all fields.
    set<Field>(<FieldType>)
    Sets the specified field in the <Table>Row to the passed-in value.

    Variables

    creationDateAndTime
     public static final String creationDateAndTime
    
    Identifies the timestamp of the generation process.

    versionOfR3
     public static final String versionOfR3
    
    Identifies the R/3 version, that was accessed at the generation process. This may be compared to the version of the actual R/3 system to ascertain that the Business Object and BAPIs are also valid at runtime.

    See Also:
    getR3Release
    versionOfGenerator
     public static final String versionOfGenerator
    
    Identifies the version of the code generator producing this Java file.


    Constructors

    <Table>Row
     public <Table>Row(IRow row)
    
    Creates a new <Table>Row instance It assigns the passed-in value to the embedded Row that contains all fields.

    Parameters:
    row - The contents of the <Table>Row is set to the contents of this row.

    Methods

    get<Field>
     public <FieldType> get<Field>()
    
    Gets the specified field in the <Table>row. One of these methods is generated for each field in the <Table>. The exact definition of <FieldType> depends whether the field is
    Simple field
    <FieldType> is a native Java class or data type according to the mapping between ABAP and Java data types.
    Structure
    <FieldType> is a class that provides getter and setter methods for the fields of this nested structure.

    Returns:
    the specified field.
    See Also:
    set<Field>, <Structure>
    getEmbeddedRow
     public IRow getEmbeddedRow()
    
    Gets embedded row that holds all fields. Usually the get<Field>() methods are used to access the data in the <Table>Row

    Returns:
    The embedded row
    set<Field>
     public void set<Field>(<FieldType> _field_)
    
    Sets the specified field in the <Table>Row to the passed-in value. One of these methods is generated for each field in <Table>Row. The exact definition of <FieldType> depends whether the field is
    Simple field
    <FieldType> is a native Java class or data type according to the mapping between ABAP and Java data types.
    Structure
    <FieldType> is a class that provides getter and setter methods for the fields of this nested structure.

    Parameters:
    a<Field> - A variable of the specified field's type, whose value is assigned to the specified field.
    See Also:
    get<Field>, <Structure>

     k($/756$Pw/./usr/IBMVJava/html/enterp/en_US/sap/ref/_package_._table_row_mi.html$$ Interface com.ibm.sap.bapi.BapiGlobals

    Interface com.ibm.sap.bapi.BapiGlobals

    public interface BapiGlobals

    This interface contains global constants for JBAPI.


    Variable Index

    BAPI_GENERATE_PACKAGE
    CLS_FIELDINFO
    CLS_SIMPLEFIELD
    CLS_STRUCTURE
    CLS_TABLE
    PKG_BAPI
    R3_RELEASE
    SERIALIZE_EXTENSION

    Variables

    R3_RELEASE
     public static final String R3_RELEASE
    
    BAPI_GENERATE_PACKAGE
     public static final String BAPI_GENERATE_PACKAGE
    
    PKG_BAPI
     public static final String PKG_BAPI
    
    CLS_FIELDINFO
     public static final String CLS_FIELDINFO
    
    CLS_SIMPLEFIELD
     public static final String CLS_SIMPLEFIELD
    
    CLS_STRUCTURE
     public static final String CLS_STRUCTURE
    
    CLS_TABLE
     public static final String CLS_TABLE
    
    SERIALIZE_EXTENSION
     public static final String SERIALIZE_EXTENSION
    

     k!$2756$P=2./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bapiglobals_mi.htmll$$ Class com.ibm.sap.bapi.BapiMethodEvent

    Class com.ibm.sap.bapi.BapiMethodEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.ibm.sap.bapi.BapiMethodEvent
    

    public class BapiMethodEvent
    extends EventObject

    Events of this class indicate the end of execution of a BapiMethod.


    Constructor Index

    BapiMethodEvent(Object)
    Constructs a BapiMethodEvent and passes the source object to the parent class.

    Constructors

    BapiMethodEvent
     public BapiMethodEvent(Object source)
    
    Constructs a BapiMethodEvent and passes the source object to the parent class.

    Parameters:
    source - The object firing this event.

    er="0"  kc$756$p./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bapimethodevent_mi.htmlrceha$$ Interface com.ibm.sap.bapi.BapiMethodEventListener

    Interface com.ibm.sap.bapi.BapiMethodEventListener

    public interface BapiMethodEventListener

    Classes that want to receive BapiMethodEvents must implement this interface.


    Method Index

    bapiMethodFailed(BapiMethodEvent)
    A concrete implementation of this method is called when the execution of a BapiMethod failed.
    bapiMethodSucceeded(BapiMethodEvent)
    A concrete implementation of this method is called when the execution of a BapiMethod was successful.

    Methods

    bapiMethodFailed
     public abstract void bapiMethodFailed(BapiMethodEvent event)
    
    A concrete implementation of this method is called when the execution of a BapiMethod failed.

    Parameters:
    event - The source represents the object firing this event.
    bapiMethodSucceeded
     public abstract void bapiMethodSucceeded(BapiMethodEvent event)
    
    A concrete implementation of this method is called when the execution of a BapiMethod was successful.

    Parameters:
    event - The source represents the object firing this event.

    .b kN$`756$``./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bapimethodeventlistener_mi.htmler_mi$$ Class com.ibm.sap.bapi.bor.ABAPNamesTable

    Class com.ibm.sap.bapi.bor.ABAPNamesTable

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.ABAPNamesTable
    

    public class ABAPNamesTable
    extends Object

    The ABAPNamesTable class is used to constructure descriptors for the BAPI wizard. The class uses information collected with the 'SWO_TYPE_INFO_GET' call.


    Constructor Index

    ABAPNamesTable()

    Method Index

    setABAPNamesToDescriptor(ITable, SAPObjectInfo)
    This method sets the information from the ABAP_NAMES table to the appropriate descriptors in the SAPObjectInfo class.

    Constructors

    ABAPNamesTable
     public ABAPNamesTable()
    

    Methods

    setABAPNamesToDescriptor
     public void setABAPNamesToDescriptor(ITable rfcTable,
                                          SAPObjectInfo sapInfo) throws JRfcRemoteException, JRfcNullPointerException
    
    This method sets the information from the ABAP_NAMES table to the appropriate descriptors in the SAPObjectInfo class. The structure of the ABAP_NAMES table is described in the document "Business Object Broker RFC Dynamic Invocation Interface" by Rolf Krane.

    Parameters:
    rfcTable - ABAP Names Table.
    sapInfo - Class to hold descriptors.
    Returns:
    void.
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcNullPointerException
    one or both of the given parameter are null-pointer
    See Also:
    SAPObjectInfo

     kv}$^756$`^./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.abapnamestable_mi.htmltm$$ Class com.ibm.sap.bapi.bor.AttributeDescriptor

    Class com.ibm.sap.bapi.bor.AttributeDescriptor

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.FeatureDescriptor
               |
               +----com.ibm.sap.bapi.bor.ElementDescriptor
                       |
                       +----com.ibm.sap.bapi.bor.AttributeDescriptor
    

    public class AttributeDescriptor
    extends ElementDescriptor
    implements Serializable

    This class contains the description of an attribute.


    Method Index

    clone()
    Performs the clone method.
    dump()
    This method dumps the AttributeDescriptor object to System.out.
    getAttrType()
    This method gets the attr type property (char) value.
    getRefType()
    This method gets the ref type property (char) value.
    isClassVerb()
    This method gets the class verb property (boolean) value.
    isExported()
    This method gets the exported property (boolean) value.
    isImported()
    This method gets the imported property (boolean) value.
    isMandatory()
    This method gets the mandatory property (boolean) value.
    isTable()
    This method gets the table property (boolean) value.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class ElementDescriptor
    dump
     public void dump()
    
    This method dumps the AttributeDescriptor object to System.out.

    Overrides:
    dump in class ElementDescriptor
    getAttrType
     public char getAttrType()
    
    This method gets the attr type property (char) value.

    Returns:
    The attr type property value
    getRefType
     public char getRefType()
    
    This method gets the ref type property (char) value.

    Returns:
    The ref type property value
    isClassVerb
     public boolean isClassVerb()
    
    This method gets the class verb property (boolean) value.

    Returns:
    The class verb property value.
    isExported
     public boolean isExported()
    
    This method gets the exported property (boolean) value.

    Returns:
    The exported property value.
    isImported
     public boolean isImported()
    
    This method gets the imported property (boolean) value.

    Returns:
    The imported property value.
    isMandatory
     public boolean isMandatory()
    
    This method gets the mandatory property (boolean) value.

    Returns:
    The mandatory property value.
    isTable
     public boolean isTable()
    
    This method gets the table property (boolean) value.

    Returns:
    The table property value.

    the Att k$756$P#./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.attributedescriptor_mi.htmler_mi$$ Class com.ibm.sap.bapi.bor.BapiControl

    Class com.ibm.sap.bapi.bor.BapiControl

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.BapiControl
    

    public class BapiControl
    extends Object

    The BapiControl works as a central instance that will be called by an client application which has no information about the methods and properties an SAPObject provides..
    Therefore it will create a local instance of the object (SAPObject), asks for the objects data via RPY_TYPE_INFO_GET and creates an empty SAPObjectInfo object, that will be filled by descriptor classes. BapiControl also allows direct RFC-calls via callFunction() method.
    It assumes a valid connection object to R/3 application server.


    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    The addPropertyChangeListener method was generated to support the propertyChange field.
    convertStringToIdentifier(String)
    Converts a given string into a valid Java identifier.
    firePropertyChange(String, Object, Object)
    The firePropertyChange method was generated to support the propertyChange field.
    getComplexInfo(String, IRfcConnection)
    This method queries the structure definition of a specified structure or table from the R/3 system, generates a describing RFC meta information object and returns it.
    getCurrent()
    This method gets the current BapiControl handle.
    getObjectType(String, String, IRfcConnection)
    Calls SWO_TYPE_INFO_GET to get information about business objects.
    getRfcFunctionInfo(String, String, IRfcConnection)
    Performs the getRfcFunctionInfo method, creates an RfcFunctionInfo object.
    getTypeInfo(String, String, boolean, IRfcConnection)
    This method calls the appropriate function to collect information about SAP business objects.
    removePropertyChangeListener(PropertyChangeListener)
    The removePropertyChangeListener method was generated to support the propertyChange field.

    Methods

    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    The addPropertyChangeListener method was generated to support the propertyChange field.

    convertStringToIdentifier
     public static String convertStringToIdentifier(String identifier)
    
    Converts a given string into a valid Java identifier.

    Parameters:
    identifier - java.lang.String
    Returns:
    java.lang.String
    firePropertyChange
     public void firePropertyChange(String propertyName,
                                    Object oldValue,
                                    Object newValue)
    
    The firePropertyChange method was generated to support the propertyChange field.

    getComplexInfo
     public ComplexInfo getComplexInfo(String structureName,
                                       IRfcConnection aConnection) throws JRfcRemoteException, JRfcNullPointerException
    
    This method queries the structure definition of a specified structure or table from the R/3 system, generates a describing RFC meta information object and returns it.

    Parameters:
    structureName - Name of a structure or a table for which the RFC meta information object should be returned
    aConnection - Connection object
    Returns:
    com.sap.rfc.ComplexInfo RFC meta information object describing the structure of the specified structure or table
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcNullPointerException
    one or both of the given parameter are null-pointer
    getCurrent
     public static BapiControl getCurrent()
    
    This method gets the current BapiControl handle.

    Returns:
    com.ibm.sap.bapi.bor.BapiControl
    getObjectType
     public static String getObjectType(String objname,
                                        String serializePath,
                                        IRfcConnection aConnection) throws JRfcRfcParameterException, JRfcRfcAbapException, JRfcRfcConnectionException, JRfcRemoteException, JRfcNullPointerException
    
    Calls SWO_TYPE_INFO_GET to get information about business objects.

    Parameters:
    objname - Name of business object.
    serializePath - Path to store the serialized file with business object information.
    aConnection - Connection object
    Throws: JRfcRfcAbapException
    thrown by ABAP program code when executing a remote function call module
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcRfcParameterException
    interface of a RFC module does not fit to the parameters provided
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcNullPointerException
    one ore more of the method parameters are null-pointer
    getRfcFunctionInfo
     public RfcFunctionInfo getRfcFunctionInfo(String rfcfuncname,
                                               String serializePath,
                                               IRfcConnection connection) throws JRfcRfcConnectionException, JRfcRfcParameterException, JRfcRfcAbapException, JRfcRemoteException, JRfcNullPointerException
    
    Performs the getRfcFunctionInfo method, creates an RfcFunctionInfo object.

    Parameters:
    rfcfuncname - Name of the RFC function module.
    serializePath - Name of the path where the serialized file should be stored.
    connection - Connection object
    Returns:
    The created RfcFunctionInfo object or null in case of an error.
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcRfcParameterException
    interface of a RFC module does not fit to the parameters provided.
    Throws: JRfcRfcAbapException
    thrown by ABAP program code when executing a remote function call module
    Throws: JRfcNullPointerException
    one or more of the parameters are null-pointers
    getTypeInfo
     public SAPObjectInfo getTypeInfo(String objName,
                                      String serializePath,
                                      boolean useObjName,
                                      IRfcConnection aConnection) throws JRfcRemoteException, JRfcNullPointerException
    
    This method calls the appropriate function to collect information about SAP business objects. RPY_OBJECTTYPE_READ is called to get the information. The SWO_TYPE_INFO_GET function is not supported anymore. The method returns a SAPObjectInfo object with all necessary descriptors to generate access classes to the business objects.

    Parameters:
    objName - Name of business object.
    serializePath - Path to store the serialized file with business object information.
    useObjName - Flag ignored
    aConnection - Connection object
    Returns:
    SAPObjectInfo
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcNullPointerException
    one or more of the parameters are null-pointers
    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    The removePropertyChangeListener method was generated to support the propertyChange field.


    ption k$j756$@j./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.bapicontrol_mi.htmli.htm$$ Class com.ibm.sap.bapi.bor.ElementDescriptor

    Class com.ibm.sap.bapi.bor.ElementDescriptor

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.FeatureDescriptor
               |
               +----com.ibm.sap.bapi.bor.ElementDescriptor
    

    public class ElementDescriptor
    extends FeatureDescriptor
    implements Serializable

    The ElementDescriptor class contains the description for a field of a structured parameter.


    Method Index

    clone()
    Performs the clone method.
    dump()
    This method dumps the ElementDescriptor object to System.out.
    getDecimals()
    Gets the decimals property (int) value.
    getRefObjType()
    If this element is a structure or object then this method returns the name of the ABAP/4 structure type or object type.
    getRfcType()
    This method gets the rfcType property as RFC type.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class FeatureDescriptor
    dump
     public void dump()
    
    This method dumps the ElementDescriptor object to System.out.

    Overrides:
    dump in class FeatureDescriptor
    getDecimals
     public int getDecimals()
    
    Gets the decimals property (int) value.

    Returns:
    The decimals property value.
    getRefObjType
     public String getRefObjType()
    
    If this element is a structure or object then this method returns the name of the ABAP/4 structure type or object type.

    Returns:
    The refObjType property value.
    getRfcType
     public int getRfcType()
    
    This method gets the rfcType property as RFC type.

    Returns:
    The rfcType property value.

     k@$756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.elementdescriptor_mi.html$$ Class com.ibm.sap.bapi.bor.EventDescriptor

    Class com.ibm.sap.bapi.bor.EventDescriptor

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.FeatureDescriptor
               |
               +----com.ibm.sap.bapi.bor.EventDescriptor
    

    public class EventDescriptor
    extends FeatureDescriptor
    implements Serializable

    The EventDescriptor class contains the description for a BAPI event. But since there is no object known at the moment firing an event, this class is useless.


    Method Index

    clone()
    Performs the clone method.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class FeatureDescriptor

     k]$b756$pb./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.eventdescriptor_mi.html$$ Class com.ibm.sap.bapi.bor.FeatureDescriptor

    Class com.ibm.sap.bapi.bor.FeatureDescriptor

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.FeatureDescriptor
    

    public class FeatureDescriptor
    extends Object
    implements Serializable, Cloneable

    The FeatureDescriptor class is the base class for all descriptor classes and contains methods and parameters common to all descriptors.


    Method Index

    clone()
    Performs the clone method.
    dump()
    This method dumps the FeatureDescriptor object to System.out.
    getLength()
    This method gets the length property (int) value.
    getName()
    This method gets the name property (java.lang.String) value.
    getNameAsIdentifier()
    This method gets the name identifier property (java.lang.String) value.
    getRelease()
    This method gets the R/3 release (e.g.
    isCapitals()
    Only uppercase characters are allowed.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class Object
    dump
     public void dump()
    
    This method dumps the FeatureDescriptor object to System.out.

    getLength
     public int getLength()
    
    This method gets the length property (int) value.

    Returns:
    The length property value.
    getName
     public String getName()
    
    This method gets the name property (java.lang.String) value.

    Returns:
    The name property value.
    getNameAsIdentifier
     public String getNameAsIdentifier()
    
    This method gets the name identifier property (java.lang.String) value.

    Returns:
    The name identifier property value.
    getRelease
     public String getRelease()
    
    This method gets the R/3 release (e.g. '30H', ...)

    Returns:
    The release property value.
    isCapitals
     public boolean isCapitals()
    
    Only uppercase characters are allowed.

    Returns:
    The capitals property value.

    bo k4z$756$`Y./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.featuredescriptor_mi.html$$ Class com.ibm.sap.bapi.bor.KeyDescriptor

    Class com.ibm.sap.bapi.bor.KeyDescriptor

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.FeatureDescriptor
               |
               +----com.ibm.sap.bapi.bor.ElementDescriptor
                       |
                       +----com.ibm.sap.bapi.bor.AttributeDescriptor
                               |
                               +----com.ibm.sap.bapi.bor.KeyDescriptor
    

    public class KeyDescriptor
    extends AttributeDescriptor
    implements Serializable

    The KeyDescriptor class contains the description of a keyfield.


    Method Index

    clone()
    Performs the clone method.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class AttributeDescriptor

     k|$^756$p^./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.keydescriptor_mi.htmlml$$ Class com.ibm.sap.bapi.bor.MethodDescriptor

    Class com.ibm.sap.bapi.bor.MethodDescriptor

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.FeatureDescriptor
               |
               +----com.ibm.sap.bapi.bor.MethodDescriptor
    

    public class MethodDescriptor
    extends FeatureDescriptor
    implements Serializable

    The MethodDescriptor class contains description of a method.


    Method Index

    clone()
    Performs the clone method.
    dump()
    This method dumps the MethodDescriptor object to System.out.
    getAbapName()
    This method returns the name of corresponding RFC function module.
    getAbapType()
    This method gets the abapType property (char) value.
    getNumberOfParameterDescriptors()
    This method returns the number of ParameterDescriptors of this method.
    getParameterDescriptor(int)
    This method gets the parameterDescriptors index property (com.ibm.sap.bapi.bor.ParameterDescriptor) value.
    getParameterDescriptor(String)
    This method returns parameter descriptor with the specified name.
    getParameterDescriptors()
    This method gets the parameterDescriptors property (com.ibm.sap.bapi.bor.ParameterDescriptor[]) value.
    getRefObjType()
    Gets the refObjType property (java.lang.String) value.
    getResultDescriptor()
    Gets the resultDescriptor property (com.ibm.sap.bapi.bor.ParameterDescriptor) value.
    isBapi()
    This method gets the bapi property (boolean) value.
    isClassMethod()
    This method gets the classMethod property (boolean) value.
    isDialogNeeded()
    This method gets the dialogNeeded property (boolean) value.
    isFactoryMethod()
    This method gets the factoryMethod property (boolean) value.
    isInstanceMethod()
    This method gets the instanceMethod property (boolean) value.
    resultAvail()
    This method gets the ResultAvail property (boolean) value.
    setClassMethod(boolean)
    This method sets the classMethod property (boolean) value.
    setFactoryMethod(boolean)
    This method sets the factoryMethod property (boolean) value.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class FeatureDescriptor
    dump
     public void dump()
    
    This method dumps the MethodDescriptor object to System.out.

    Overrides:
    dump in class FeatureDescriptor
    getAbapName
     public String getAbapName()
    
    This method returns the name of corresponding RFC function module.

    Returns:
    The abapName property value.
    getAbapType
     public char getAbapType()
    
    This method gets the abapType property (char) value.

    Returns:
    The abapType property value.
    getNumberOfParameterDescriptors
     public int getNumberOfParameterDescriptors()
    
    This method returns the number of ParameterDescriptors of this method.

    Returns:
    number of ParameterDescriptors
    getParameterDescriptor
     public ParameterDescriptor getParameterDescriptor(int index)
    
    This method gets the parameterDescriptors index property (com.ibm.sap.bapi.bor.ParameterDescriptor) value.

    Parameters:
    index - The index value into the property array.
    Returns:
    The parameterDescriptors property value.
    getParameterDescriptor
     public ParameterDescriptor getParameterDescriptor(String parameterName)
    
    This method returns parameter descriptor with the specified name.

    Parameters:
    parameterName - java.lang.String
    Returns:
    com.ibm.sap.bapi.bor.ParameterDescriptor
    getParameterDescriptors
     public ParameterDescriptor[] getParameterDescriptors()
    
    This method gets the parameterDescriptors property (com.ibm.sap.bapi.bor.ParameterDescriptor[]) value.

    Returns:
    The parameterDescriptors property value.
    getRefObjType
     public String getRefObjType()
    
    Gets the refObjType property (java.lang.String) value.

    Returns:
    The refObjType property value.
    getResultDescriptor
     public ParameterDescriptor getResultDescriptor()
    
    Gets the resultDescriptor property (com.ibm.sap.bapi.bor.ParameterDescriptor) value.

    Returns:
    The resultDescriptor property value.
    isBapi
     public boolean isBapi()
    
    This method gets the bapi property (boolean) value.

    Returns:
    The bapi property value.
    isClassMethod
     public boolean isClassMethod()
    
    This method gets the classMethod property (boolean) value.

    Returns:
    The ClassMethod property value.
    isDialogNeeded
     public boolean isDialogNeeded()
    
    This method gets the dialogNeeded property (boolean) value.

    Returns:
    The dialogNeeded property value.
    isFactoryMethod
     public boolean isFactoryMethod()
    
    This method gets the factoryMethod property (boolean) value.

    Returns:
    The factoryMethod property value.
    isInstanceMethod
     public boolean isInstanceMethod()
    
    This method gets the instanceMethod property (boolean) value.

    Returns:
    The instanceMethod property value.
    resultAvail
     public boolean resultAvail()
    
    This method gets the ResultAvail property (boolean) value.

    Returns:
    The ResultAvail property value.
    setClassMethod
     public void setClassMethod(boolean cl)
    
    This method sets the classMethod property (boolean) value.

    Parameters:
    cl - The new value for the property.
    See Also:
    isClassMethod
    setFactoryMethod
     public void setFactoryMethod(boolean factory)
    
    This method sets the factoryMethod property (boolean) value.

    Parameters:
    factory - The new value for the property.
    See Also:
    isFactoryMethod

    eterDes k$ 756$0 ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.methoddescriptor_mi.html$$ Class com.ibm.sap.bapi.bor.ParameterDescriptor

    Class com.ibm.sap.bapi.bor.ParameterDescriptor

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.FeatureDescriptor
               |
               +----com.ibm.sap.bapi.bor.ElementDescriptor
                       |
                       +----com.ibm.sap.bapi.bor.AttributeDescriptor
                               |
                               +----com.ibm.sap.bapi.bor.KeyDescriptor
                                       |
                                       +----com.ibm.sap.bapi.bor.ParameterDescriptor
    

    public class ParameterDescriptor
    extends KeyDescriptor
    implements Serializable

    The ParameterDescriptor class contains the description of a method parameter.


    Constructor Index

    ParameterDescriptor(KeyDescriptor, boolean, boolean)
    ParameterDescriptor constructor.

    Method Index

    clone()
    Performs the clone method.
    dump()
    This method dumps the ParameterDescriptor object to System.out.
    getAbapName()
    This method returns the name of the parameter of the corresponding Rfc function module.
    getAbapNameAsIdentifier()
    This method gets the abap name identifier property (java.lang.String) value.
    getStructureDescriptor()
    This method gets the structureDescriptor property (com.ibm.sap.bapi.bor.StructureDescriptor) value.
    isKeyFieldParameter()
    Gets the keyFieldParameter property (boolean) value.
    isStructure()
    This method checks if this is a structured parameter
    setKeyFieldParameter(boolean)
    This method sets the key field property (boolean) value.

    Constructors

    ParameterDescriptor
     public ParameterDescriptor(KeyDescriptor keyDescriptor,
                                boolean isImported,
                                boolean isExported)
    
    ParameterDescriptor constructor.

    Parameters:
    keyDescriptor - Key descriptor.
    isImported - Parameter is import parameter.
    isExported - Parameter is export parameter.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class KeyDescriptor
    dump
     public void dump()
    
    This method dumps the ParameterDescriptor object to System.out.

    Overrides:
    dump in class AttributeDescriptor
    getAbapName
     public String getAbapName()
    
    This method returns the name of the parameter of the corresponding Rfc function module.

    Returns:
    The abapName property value.
    getAbapNameAsIdentifier
     public String getAbapNameAsIdentifier()
    
    This method gets the abap name identifier property (java.lang.String) value.

    Returns:
    The name identifier property value.
    getStructureDescriptor
     public StructureDescriptor getStructureDescriptor()
    
    This method gets the structureDescriptor property (com.ibm.sap.bapi.bor.StructureDescriptor) value.

    Returns:
    The structureDescriptor property value.
    isKeyFieldParameter
     public boolean isKeyFieldParameter()
    
    Gets the keyFieldParameter property (boolean) value.

    Returns:
    The keyFieldParameter property value.
    isStructure
     public boolean isStructure()
    
    This method checks if this is a structured parameter

    Returns:
    true if this is a structure
    setKeyFieldParameter
     public void setKeyFieldParameter(boolean iskeyField)
    
    This method sets the key field property (boolean) value.

    Parameters:
    iskeyField - The new value for the property.
    See Also:
    isKeyFieldParameter

    > Class com.ibm.sap.bapi.bor.RfcFunctionInfo

    Class com.ibm.sap.bapi.bor.RfcFunctionInfo

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.RfcFunctionInfo
    

    public class RfcFunctionInfo
    extends Object
    implements Serializable, ICacheable, Cloneable

    The RfcFunctionInfo class holds the descriptors for a specific RFC function module.


    Method Index

    clone()
    Performs the clone method.
    dump()
    Performs the dump method for a method descriptor.
    getConnection()
    Gets the connection property (com.sap.rfc.IRfcConnection) value.
    getKey()
    Returns the key (name) of a method descriptor.
    getMethodDescriptor()
    This method gets the methodDescriptors property (java.util.Vector) value.
    getName()
    Returns the name of a method descriptor.
    isValid()
    Returns the Valid property (boolean) value.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class Object
    dump
     public void dump()
    
    Performs the dump method for a method descriptor.

    getConnection
     public IRfcConnection getConnection()
    
    Gets the connection property (com.sap.rfc.IRfcConnection) value.

    Returns:
    The connection property value.
    getKey
     public String getKey()
    
    Returns the key (name) of a method descriptor.

    Returns:
    java.lang.String
    getMethodDescriptor
     public MethodDescriptor getMethodDescriptor()
    
    This method gets the methodDescriptors property (java.util.Vector) value.

    Returns:
    The methodDescriptors property value.
    getName
     public String getName()
    
    Returns the name of a method descriptor.

    Returns:
    java.lang.String
    isValid
     public boolean isValid()
    
    Returns the Valid property (boolean) value.

    Returns:
    boolean

    e kD+$756$`~./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.rfcfunctioninfo_mi.htmlm$$ Class com.ibm.sap.bapi.bor.RfcFunctionInfoCacheable

    Class com.ibm.sap.bapi.bor.RfcFunctionInfoCacheable

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.RfcFunctionInfoCacheable
    

    public class RfcFunctionInfoCacheable
    extends Object
    implements ICacheable

    This class is used as a wrapper for cacheable RfcFunctionInfo objects.


    Constructor Index

    RfcFunctionInfoCacheable(RfcFunctionInfo, String)
    Constructss a RfcFunctionInfoCacheable Object

    Method Index

    getKey()
    Returns the key of the current RfcFunctionInfoCacheable Object
    getRfcFunctionInfo()
    Returns the RFC-Function Info Object.
    setKey(String)
    Stores the given key value.
    setRfcFunctionInfo(RfcFunctionInfo)
    Stores the given Rfc-Function info.

    Constructors

    RfcFunctionInfoCacheable
     public RfcFunctionInfoCacheable(RfcFunctionInfo rfcFunctionInfo,
                                     String key)
    
    Constructss a RfcFunctionInfoCacheable Object

    Parameters:
    rfcFunctionInfo - RfcFunctionInfo Object
    key - Key value

    Methods

    getKey
     public String getKey()
    
    Returns the key of the current RfcFunctionInfoCacheable Object

    Returns:
    java.lang.String
    getRfcFunctionInfo
     public RfcFunctionInfo getRfcFunctionInfo()
    
    Returns the RFC-Function Info Object.

    Returns:
    com.ibm.sap.bapi.bor.RfcFunctionInfo
    setKey
     public void setKey(String key)
    
    Stores the given key value.

    Parameters:
    key - A key value
    setRfcFunctionInfo
     public void setRfcFunctionInfo(RfcFunctionInfo rfcFunctionInfo)
    
    Stores the given Rfc-Function info.

    Parameters:
    rfcFunctionInfo - A RfcFunctionInfo Object.

    pi.bor k $.756$P2../usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.rfcfunctioninfocacheable_mi.html$$ Class com.ibm.sap.bapi.bor.RPYTable

    Class com.ibm.sap.bapi.bor.RPYTable

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.RPYTable
    

    public class RPYTable
    extends Object

    The RPYTable class is used to constructure descriptors for the BAPI wizard. The class uses information collected with the 'RPY_OBJECTTYPE_READ' call.


    Constructor Index

    RPYTable()

    Method Index

    checkMethodForKeyParameter(MethodDescriptor, ITable, ITable, String, SAPObjectInfo)
    Check if the method described by md contains key parameters.
    setAttributesToDescriptor(ITable, SAPObjectInfo, IRfcConnection)
    Creates the attribute descriptors of a SAP business object.
    setEventsToDescriptor(ITable, SAPObjectInfo)
    Creates the event descriptors of a SAP business object.
    setKeyfieldsToDescriptor(ITable, SAPObjectInfo, IRfcConnection)
    Creates the key descriptors of a SAP business object.
    setMethodsToDescriptor(ITable, ITable, ITable, String, SAPObjectInfo, IRfcConnection)
    Creates the method descriptors of a SAP business object.

    Constructors

    RPYTable
     public RPYTable()
    

    Methods

    checkMethodForKeyParameter
     public void checkMethodForKeyParameter(MethodDescriptor md,
                                            ITable MethodParamsTable,
                                            ITable keyFieldTable,
                                            String releaseR3,
                                            SAPObjectInfo sapInfo) throws JRfcRemoteException, JRfcNullPointerException
    
    Check if the method described by md contains key parameters. Creates the appropriate key descriptors if necessary.

    Parameters:
    md - Method descriptor.
    MethodParamsTable - Table with parameters to check.
    keyFieldTable - Table with key fields.
    releaseR3 - R/3 release number.
    sapInfo - SAPObjectInfo object to update.
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcNullPointerException
    one or more of the parameters are null-pointers
    setAttributesToDescriptor
     public void setAttributesToDescriptor(ITable AttributeTable,
                                           SAPObjectInfo sapInfo,
                                           IRfcConnection connection) throws JRfcRfcConnectionException, JRfcRfcParameterException, JRfcRfcAbapException, JRfcRemoteException, JRfcNullPointerException
    
    Creates the attribute descriptors of a SAP business object.

    Parameters:
    AttributeTable - Attribute table.
    sapInfo - Object to hold descriptors.
    connection - Connection object.
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcRfcParameterException
    interface of a RFC module does not fit to the parameters provided.
    Throws: JRfcRfcAbapException
    thrown by ABAP program code when executing a remote function call module
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcNullPointerException
    one or more of the parameters are null-pointers
    setEventsToDescriptor
     public void setEventsToDescriptor(ITable EventTable,
                                       SAPObjectInfo sapInfo) throws JRfcRemoteException, JRfcNullPointerException
    
    Creates the event descriptors of a SAP business object.

    Parameters:
    EventTable - EVENT table.
    sapInfo - Object to hold descriptors.
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcNullPointerException
    one or more of the parameters are null-pointers
    setKeyfieldsToDescriptor
     public void setKeyfieldsToDescriptor(ITable KeyFieldTable,
                                          SAPObjectInfo sapInfo,
                                          IRfcConnection connection) throws JRfcRfcConnectionException, JRfcRfcParameterException, JRfcRfcAbapException, JRfcRemoteException, JRfcNullPointerException
    
    Creates the key descriptors of a SAP business object.

    Parameters:
    KeyFieldTable - KEYFIELD table.
    sapinfo - Object to hold descriptors.
    connection - Connection object.
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcRfcParameterException
    interface of a RFC module does not fit to the parameters provided.
    Throws: JRfcRfcAbapException
    thrown by ABAP program code when executing a remote function call module
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcNullPointerException
    one or more of the parameters are null-pointers
    setMethodsToDescriptor
     public void setMethodsToDescriptor(ITable MethodTable,
                                        ITable MethodParamsTable,
                                        ITable keyFieldTable,
                                        String releaseR3,
                                        SAPObjectInfo sapInfo,
                                        IRfcConnection connection) throws JRfcRemoteException, JRfcNullPointerException
    
    Creates the method descriptors of a SAP business object.

    Parameters:
    MethodTable - Method table.
    MethodParamsTable - Method parameter table.
    keyFieldTable - Key field table.
    releaseR3 - R/3 release number.
    sapInfo - Object to hold descriptors.
    connection - Connection object.
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcNullPointerException
    one or more of the parameters are null-pointers

    onnect kr$756$@R./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.rpytable_mi.html$$ Class com.ibm.sap.bapi.bor.SAPObjectInfo

    Class com.ibm.sap.bapi.bor.SAPObjectInfo

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.SAPObjectInfo
    

    public class SAPObjectInfo
    extends Object
    implements Serializable

    The SAPObjectInfo class holds the descriptors for SAP Business Objects.


    Constructor Index

    SAPObjectInfo()
    SAPObjectInfo constructor.

    Method Index

    dump()
    Performs the dump method.
    getAttributeDescriptor(int)
    This method gets the attributeDescriptors index property (com.ibm.sap.bapi.bor.AttributeDescriptor) value.
    getAttributeDescriptors()
    This method gets the attributeDescriptors property (java.util.Vector) value.
    getEventDescriptor(int)
    Gets the eventDescriptors index property (com.ibm.sap.bapi.bor.EventDescriptor) value.
    getEventDescriptors()
    Gets the eventDescriptors property (java.lang.String[]) value.
    getKeyDescriptor(int)
    This method gets the keyDescriptors index property (com.ibm.sap.bapi.bor.KeyDescriptor) value.
    getKeyDescriptors()
    This method gets the keyDescriptors property (java.util.Vector) value.
    getMethodDescriptor(int)
    This method gets the methodDescriptors index property (com.ibm.sap.bapi.bor.MethodDescriptor) value.
    getMethodDescriptor(String)
    This method returns the method descriptor for the method with the specified name.
    getMethodDescriptors()
    This method gets the methodDescriptors property (java.util.Vector) value.
    getNumberOfAttributeDescriptors()
    This method returns the number of AttributeDescriptors.
    getNumberOfEventDescriptors()
    This method returns the number of EventDescriptors.
    getNumberOfKeyDescriptors()
    This method returns the number of KeyDescriptors.
    getNumberOfMethodDescriptors()
    This method returns the number of MethodDescriptors.
    getObjectName()
    This method gets the objectName property (java.lang.String) value.
    getObjectType()
    This method gets the objectType property (java.lang.String) value.
    getR3Release()
    Gets the r3Release property (java.lang.String) value.
    setObjectName(String)
    This method sets the ObjectName property (java.lang.String) value.

    Constructors

    SAPObjectInfo
     public SAPObjectInfo()
    
    SAPObjectInfo constructor.


    Methods

    dump
     public void dump()
    
    Performs the dump method.

    getAttributeDescriptor
     public AttributeDescriptor getAttributeDescriptor(int index)
    
    This method gets the attributeDescriptors index property (com.ibm.sap.bapi.bor.AttributeDescriptor) value.

    Parameters:
    index - The index value into the property array.
    Returns:
    The attributeDescriptors property value.
    getAttributeDescriptors
     public AttributeDescriptor[] getAttributeDescriptors()
    
    This method gets the attributeDescriptors property (java.util.Vector) value.

    Returns:
    The attributeDescriptors property value.
    getEventDescriptor
     public EventDescriptor getEventDescriptor(int index)
    
    Gets the eventDescriptors index property (com.ibm.sap.bapi.bor.EventDescriptor) value.

    Parameters:
    index - The index value into the property array.
    Returns:
    The eventDescriptors property value.
    getEventDescriptors
     public EventDescriptor[] getEventDescriptors()
    
    Gets the eventDescriptors property (java.lang.String[]) value.

    Returns:
    The eventDescriptors property value.
    getKeyDescriptor
     public KeyDescriptor getKeyDescriptor(int index)
    
    This method gets the keyDescriptors index property (com.ibm.sap.bapi.bor.KeyDescriptor) value.

    Parameters:
    index - The index value into the property array.
    Returns:
    The keyDescriptors property value.
    getKeyDescriptors
     public KeyDescriptor[] getKeyDescriptors()
    
    This method gets the keyDescriptors property (java.util.Vector) value.

    Returns:
    The keyDescriptors property value.
    getMethodDescriptor
     public MethodDescriptor getMethodDescriptor(int index)
    
    This method gets the methodDescriptors index property (com.ibm.sap.bapi.bor.MethodDescriptor) value.

    Parameters:
    index - The index value into the property array.
    Returns:
    The methodDescriptors property value.
    getMethodDescriptor
     public MethodDescriptor getMethodDescriptor(String methodName)
    
    This method returns the method descriptor for the method with the specified name.

    Parameters:
    methodName - java.lang.String
    Returns:
    com.ibm.sap.bapi.bor.MethodDescriptor
    getMethodDescriptors
     public MethodDescriptor[] getMethodDescriptors()
    
    This method gets the methodDescriptors property (java.util.Vector) value.

    Returns:
    The methodDescriptors property value.
    getNumberOfAttributeDescriptors
     public int getNumberOfAttributeDescriptors()
    
    This method returns the number of AttributeDescriptors.

    Returns:
    Number of AttributeDescriptors.
    getNumberOfEventDescriptors
     public int getNumberOfEventDescriptors()
    
    This method returns the number of EventDescriptors.

    Returns:
    Number of EventDescriptors.
    getNumberOfKeyDescriptors
     public int getNumberOfKeyDescriptors()
    
    This method returns the number of KeyDescriptors.

    Returns:
    Number of KeyDescriptors.
    getNumberOfMethodDescriptors
     public int getNumberOfMethodDescriptors()
    
    This method returns the number of MethodDescriptors.

    Returns:
    Number of MethodDescriptors.
    getObjectName
     public String getObjectName()
    
    This method gets the objectName property (java.lang.String) value.

    Returns:
    The objectName property value.
    See Also:
    setObjectName
    getObjectType
     public String getObjectType()
    
    This method gets the objectType property (java.lang.String) value.

    Returns:
    The objectType property value.
    getR3Release
     public String getR3Release()
    
    Gets the r3Release property (java.lang.String) value.

    Returns:
    The r3Release property value.
    setObjectName
     public void setObjectName(String objectName)
    
    This method sets the ObjectName property (java.lang.String) value.

    Parameters:
    objectName - The new value for the property.
    See Also:
    getObjectName

     k H$~ 756$ v~ ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.sapobjectinfo_mi.htmle_m$$ Class com.ibm.sap.bapi.bor.StructureDescriptor

    Class com.ibm.sap.bapi.bor.StructureDescriptor

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.FeatureDescriptor
               |
               +----com.ibm.sap.bapi.bor.ElementDescriptor
                       |
                       +----com.ibm.sap.bapi.bor.AttributeDescriptor
                               |
                               +----com.ibm.sap.bapi.bor.KeyDescriptor
                                       |
                                       +----com.ibm.sap.bapi.bor.ParameterDescriptor
                                               |
                                               +----com.ibm.sap.bapi.bor.StructureDescriptor
    

    public class StructureDescriptor
    extends ParameterDescriptor
    implements Serializable

    The StructureDescriptor class is a container for field descriptors, which describe a field of a structured parameter.


    Method Index

    clone()
    Performs the clone method.
    getFieldDescriptor(int)
    This method gets the fieldDescriptors index property (com.ibm.sap.bapi.bor.ElementDescriptor) value.
    getFieldDescriptors()
    This method gets the fieldDescriptors property (com.ibm.sap.bapi.bor.ElementDescriptor[]) value.
    getNumberOfFieldDescriptors()
    This method grants access to numerous FieldDescriptors.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class ParameterDescriptor
    getFieldDescriptor
     public ElementDescriptor getFieldDescriptor(int index)
    
    This method gets the fieldDescriptors index property (com.ibm.sap.bapi.bor.ElementDescriptor) value.

    Parameters:
    index - The index value into the property array.
    Returns:
    The fieldDescriptors property value.
    getFieldDescriptors
     public ElementDescriptor[] getFieldDescriptors()
    
    This method gets the fieldDescriptors property (com.ibm.sap.bapi.bor.ElementDescriptor[]) value.

    Returns:
    The fieldDescriptors property value.
    getNumberOfFieldDescriptors
     public int getNumberOfFieldDescriptors()
    
    This method grants access to numerous FieldDescriptors.

    Returns:
    Number of FieldDescriptors.

     kI$756$`|./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.structuredescriptor_mi.htmltml$$ Class com.ibm.sap.bapi.bor.TableDescriptor

    Class com.ibm.sap.bapi.bor.TableDescriptor

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.FeatureDescriptor
               |
               +----com.ibm.sap.bapi.bor.ElementDescriptor
                       |
                       +----com.ibm.sap.bapi.bor.AttributeDescriptor
                               |
                               +----com.ibm.sap.bapi.bor.KeyDescriptor
                                       |
                                       +----com.ibm.sap.bapi.bor.ParameterDescriptor
                                               |
                                               +----com.ibm.sap.bapi.bor.StructureDescriptor
                                                       |
                                                       +----com.ibm.sap.bapi.bor.TableDescriptor
    

    public class TableDescriptor
    extends StructureDescriptor
    implements Serializable

    The TableDescriptor class is not used in the moment.


    Method Index

    clone()
    Performs the clone method.

    Methods

    clone
     public Object clone()
    
    Performs the clone method.

    Returns:
    java.lang.Object
    Overrides:
    clone in class StructureDescriptor

    ptor( kQ$b756$pb./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.tabledescriptor_mi.htmlm$$ Class com.ibm.sap.bapi.bor.TypeInfoTable

    Class com.ibm.sap.bapi.bor.TypeInfoTable

    java.lang.Object
       |
       +----com.ibm.sap.bapi.bor.TypeInfoTable
    

    public class TypeInfoTable
    extends Object

    The TypeInfoTable class is used to constructure descriptors for the BAPI wizard. The class uses information collected with the 'SWO_TYPE_INFO_GET' call.


    Constructor Index

    TypeInfoTable()

    Method Index

    setTypeInfoToDescriptor(ITable, ITable, SAPObjectInfo)
    This method sets the information from the TYPEINFO table to the appropriate descriptors in the SAPObjectInfo class.

    Constructors

    TypeInfoTable
     public TypeInfoTable()
    

    Methods

    setTypeInfoToDescriptor
     public void setTypeInfoToDescriptor(ITable rfcTable,
                                         ITable ddicinfoTable,
                                         SAPObjectInfo sapInfo) throws JRfcRemoteException, JRfcNullPointerException
    
    This method sets the information from the TYPEINFO table to the appropriate descriptors in the SAPObjectInfo class. The structure of the TYPEINFO table is described in the document "Business Object Broker RFC Dynamic Invocation Interface" by Rolf Krane.

    Parameters:
    rfcTable - TYPEINFO table.
    ddicinfoTable - DDICINFO table.
    sapinfo - Object to hold descriptors.
    Returns:
    void.
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object
    Throws: JRfcNullPointerException
    one or more of the parameters are null-pointers

    p k<$s756$`s./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.bor.typeinfotable_mi.htmlm$$ Class com.ibm.sap.bapi.Cache

    Class com.ibm.sap.bapi.Cache

    java.lang.Object
       |
       +----com.ibm.sap.bapi.Cache
    

    public class Cache
    extends Object

    This class provides an object cache based on a hashtable. To make use of this cache, an object must implement the interface 'Cacheable'. There are two internal collections to store the object references. 1.) keylist(->hashtable): a keyed list of object references of a given capacity 2.) touchlist(->vector): a sequence of object references reflecting the number of requests per time. A frequently requested object is placed at the end of the list, but a seldom accessed object tends to the head of the sequence. If the capacity of the cache is reached while an 'addItem' happens, the first object found in the touchlist is removed from both collections and the new item is added to the end of the touchlist.


    Constructor Index

    Cache()
    Default constructor
    Cache(int)
    Creates a cache with the given capacity
    Cache(int, String)
    Creates a cache with the given capacity and name

    Method Index

    addItem(ICacheable)
    Adds a new ICacheable Object
    lookup(String, boolean)
    Returns an ICacheable Object with the given key
    reset()
    Clears the cache
    setCapacity(int)
    Stores the given capacity
    setDefaultCapacity(int)
    Stores the given default value for the capacity
    setName(String)
    Stores the given name
    setTrace(boolean)
    Activates or deactivates trace option
    toString()
    Returns a string to identify the Cache object
    trace(String)
    Prints a trace message

    Constructors

    Cache
     public Cache()
    
    Default constructor

    Cache
     public Cache(int capacity)
    
    Creates a cache with the given capacity

    Parameters:
    capacity - int
    Cache
     public Cache(int capacity,
                  String name)
    
    Creates a cache with the given capacity and name

    Parameters:
    capacity - int
    name - String

    Methods

    addItem
     public void addItem(ICacheable item)
    
    Adds a new ICacheable Object

    Parameters:
    item - com.ibm.cache.ICacheable
    lookup
     public ICacheable lookup(String key,
                              boolean touch)
    
    Returns an ICacheable Object with the given key

    Parameters:
    key - java.lang.String
    Returns:
    com.ibm.cache.Cachable
    reset
     public void reset()
    
    Clears the cache

    setCapacity
     public void setCapacity(int capacity)
    
    Stores the given capacity

    Parameters:
    c - int
    setDefaultCapacity
     public void setDefaultCapacity(int defaultCapacity)
    
    Stores the given default value for the capacity

    Parameters:
    c - int
    setName
     public void setName(String name)
    
    Stores the given name

    Parameters:
    name - java.lang.String
    setTrace
     public static void setTrace(boolean isTrace)
    
    Activates or deactivates trace option

    Parameters:
    isTrace - boolean
    toString
     public String toString()
    
    Returns a string to identify the Cache object

    Returns:
    java.lang.String
    Overrides:
    toString in class Object
    trace
     public void trace(String traceMsg)
    
    Prints a trace message

    Parameters:
    traceMsg - java.lang.String

     ki$756$P./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.cache_mi.html$$ Class com.ibm.sap.bapi.ComplexInfoCacheable

    Class com.ibm.sap.bapi.ComplexInfoCacheable

    java.lang.Object
       |
       +----com.ibm.sap.bapi.ComplexInfoCacheable
    

    public class ComplexInfoCacheable
    extends Object
    implements ICacheable

    This class is used as a wrapper for cacheable ComplexInfo objects.


    Constructor Index

    ComplexInfoCacheable(ComplexInfo, String)
    Constructs a ComplexInfoCacheableObject

    Method Index

    getComplexInfo()
    Returns the ComplexInfo Object
    getKey()
    Returns the key
    setComplexInfo(ComplexInfo)
    Stores the given ComplexInfo object
    setKey(String)
    Stores the given key

    Constructors

    ComplexInfoCacheable
     public ComplexInfoCacheable(ComplexInfo complexInfo,
                                 String key)
    
    Constructs a ComplexInfoCacheableObject

    Parameters:
    complexInfo - com.sap.rfc.ComplexInfo
    key - java.lang.String

    Methods

    getComplexInfo
     public ComplexInfo getComplexInfo()
    
    Returns the ComplexInfo Object

    Returns:
    com.sap.rfc.ComplexInfo
    getKey
     public String getKey()
    
    Returns the key

    Returns:
    java.lang.String
    setComplexInfo
     public void setComplexInfo(ComplexInfo complexInfo)
    
    Stores the given ComplexInfo object

    Parameters:
    complexInfo - com.sap.rfc.ComplexInfo
    setKey
     public void setKey(String key)
    
    Stores the given key

    Parameters:
    key - java.lang.String

     kꦀ$756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.complexinfocacheable_mi.html$$ Class com.ibm.sap.bapi.Connection

    Class com.ibm.sap.bapi.Connection

    java.lang.Object
       |
       +----com.ibm.sap.bapi.Connection
    

    public abstract class Connection
    extends Object
    implements IRfcConnection

    The Connection class manages information concerning logon to R/3. Further it is also responsible for making and terminating connections. This is the abstract base class which provides common functionality across different middleware implementations.


    Constructor Index

    Connection()
    The default constructor provides only default initialization.
    Connection(ConnectInfo, UserInfo)
    This method constructs a RFC connection and initializes user and connection information.

    Method Index

    abort(String)
    Aborts the connection to R/3 with an error message.
    addConnectionListener(ConnectionListener)
    Method to add a listener.
    addMethodListener(MethodListener)
    Method to add a listener.
    addPropertyChangeListener(PropertyChangeListener)
    The addPropertyChangeListener method was generated to support the propertyChange field.
    clear()
    This method clears the user and connection info in this connection.
    close()
    This method closes a connection with SAP R/3 System.
    firePropertyChange(String, Object, Object)
    The firePropertyChange method was generated to support the propertyChange field.
    getConnectInfo()
    This method returns information about the connection.
    getR3Release()
    Returns the actual R/3 Release property
    getRFCTraceLevel()
    Returns the RFC trace level on the server side.
    getSystemInfo()
    This method returns information about the R/3 system for the actual connection object.
    getUserInfo()
    This method returns information of the user of the connection
    isValid()
    Checks if the connection is still valid.
    open()
    This method opens up a connection with SAP R/3 System, according to the information contained in the ConnectInfo
    removeConnectionListener(ConnectionListener)
    Method to remove a listener.
    removeMethodListener(MethodListener)
    Method to remove a listener.
    removePropertyChangeListener(PropertyChangeListener)
    The removePropertyChangeListener method was generated to support the propertyChange field.
    setConnectInfo(ConnectInfo)
    Sets the R/3 connection information
    setRFCTraceLevel(int)
    Sets the RFC trace level on the server side.
    setUserInfo(UserInfo)
    Sets the R/3 user information

    Constructors

    Connection
     public Connection()
    
    The default constructor provides only default initialization.

    Connection
     public Connection(ConnectInfo aConnectInfo,
                       UserInfo aUserInfo)
    
    This method constructs a RFC connection and initializes user and connection information. The connection to a SAP R/3 System is not performed yet.

    Parameters:
    aConnectInfo - ConnectInfo
    aUserInfo - UserInfo

    Methods

    abort
     public abstract void abort(String strMessage) throws JRfcMiddlewareException
    
    Aborts the connection to R/3 with an error message.

    Parameters:
    strMessage - Error message. If you supply a text, the text is used as error message on the receiving side. If the text field is null, the connection is only closed.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    See Also:
    close
    addConnectionListener
     public void addConnectionListener(ConnectionListener newListener)
    
    Method to add a listener.

    Parameters:
    newListener - ConnectionListener
    addMethodListener
     public void addMethodListener(MethodListener newListener)
    
    Method to add a listener.

    Parameters:
    newListener - MethodListener
    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    The addPropertyChangeListener method was generated to support the propertyChange field.

    clear
     public void clear()
    
    This method clears the user and connection info in this connection.

    close
     public abstract void close() throws JRfcMiddlewareException
    
    This method closes a connection with SAP R/3 System.

    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    firePropertyChange
     public void firePropertyChange(String propertyName,
                                    Object oldValue,
                                    Object newValue)
    
    The firePropertyChange method was generated to support the propertyChange field.

    getConnectInfo
     public ConnectInfo getConnectInfo()
    
    This method returns information about the connection.

    getR3Release
     public String getR3Release() throws JRfcRemoteOutOfMemoryError, JRfcRfcConnectionException, JRfcMiddlewareException
    
    Returns the actual R/3 Release property

    Returns:
    java.lang.String
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    getRFCTraceLevel
     public abstract int getRFCTraceLevel()
    
    Returns the RFC trace level on the server side.

    Returns:
    int
    getSystemInfo
     public SystemInfo getSystemInfo() throws JRfcRemoteOutOfMemoryError, JRfcRfcConnectionException, JRfcMiddlewareException
    
    This method returns information about the R/3 system for the actual connection object. If not yet retrieved then the information is retrieved from the R/3 by calling RFC_SYSTEM_INFO.

    Returns:
    com.sap.rfc.SystemInfo
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    getUserInfo
     public UserInfo getUserInfo()
    
    This method returns information of the user of the connection

    isValid
     public abstract boolean isValid() throws JRfcMiddlewareException
    
    Checks if the connection is still valid. Returns false if not yet connected.

    open
     public abstract void open() throws JRfcRfcConnectionException, JRfcRemoteOutOfMemoryError
    
    This method opens up a connection with SAP R/3 System, according to the information contained in the ConnectInfo

    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    removeConnectionListener
     public void removeConnectionListener(ConnectionListener newListener)
    
    Method to remove a listener.

    Parameters:
    newListener - ConnectionListener
    removeMethodListener
     public void removeMethodListener(MethodListener newListener)
    
    Method to remove a listener.

    Parameters:
    newListener - MethodListener
    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    The removePropertyChangeListener method was generated to support the propertyChange field.

    setConnectInfo
     public void setConnectInfo(ConnectInfo connectInfo)
    
    Sets the R/3 connection information

    Parameters:
    connectInfo - com.sap.bapi.ConnectInfo
    setRFCTraceLevel
     public abstract void setRFCTraceLevel(int newTraceLevel) throws JRfcMiddlewareException
    
    Sets the RFC trace level on the server side.

    Parameters:
    newTraceLevel - int
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    setUserInfo
     public void setUserInfo(UserInfo userInfo)
    
    Sets the R/3 user information

    Parameters:
    userInfo - com.sap.bapi.UserInfo

    str kT$C 756$C ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.connection_mi.html_m$$ Class com.ibm.sap.bapi.ConnectionEventMulticaster

    Class com.ibm.sap.bapi.ConnectionEventMulticaster

    java.lang.Object
       |
       +----java.awt.AWTEventMulticaster
               |
               +----com.ibm.sap.bapi.ConnectionEventMulticaster
    

    public class ConnectionEventMulticaster
    extends AWTEventMulticaster
    implements ConnectionListener

    This is the event multicaster class to support the COM.ibm.sap.bapi.ConnectionListener interface.


    Method Index

    add(ConnectionListener, ConnectionListener)
    Add new listener to support multicast events.
    connected(ConnectionEvent)
    disconnected(ConnectionEvent)
    failed(ConnectionEvent)
    remove(ConnectionListener, ConnectionListener)
    Remove listener to support multicast events.

    Methods

    add
     public static ConnectionListener add(ConnectionListener a,
                                          ConnectionListener b)
    
    Add new listener to support multicast events.

    Parameters:
    a - ConnectionListener
    b - ConnectionListener
    Returns:
    ConnectionListener
    connected
     public void connected(ConnectionEvent event)
    
    Parameters:
    event - ConnectionEvent
    disconnected
     public void disconnected(ConnectionEvent event)
    
    Parameters:
    event - ConnectionEvent
    failed
     public void failed(ConnectionEvent event)
    
    Parameters:
    event - ConnectionEvent
    remove
     public static ConnectionListener remove(ConnectionListener a,
                                             ConnectionListener b)
    
    Remove listener to support multicast events.

    Parameters:
    a - ConnectionListener
    b - ConnectionListener
    Returns:
    ConnectionListener

    ng.Ob k $p756$Pp./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.connectioneventmulticaster_mi.html$$ Class com.ibm.sap.bapi.Converter

    Class com.ibm.sap.bapi.Converter

    java.lang.Object
       |
       +----com.ibm.sap.bapi.Converter
    

    public abstract class Converter
    extends Object
    implements BapiGlobals

    This class is used to perform type and value conversion operations for RFC data, JRFC parameters, Java types and JBAPI objects. It is an abstract class that should not and can not be instantiated. It only serves as provider for numerous static methods.


    Constructor Index

    Converter()

    Method Index

    abapTypeCharToRfcType(char)
    This static method returns the RFC data type representation of a given ABAP-Type character.
    convertTableOfRfc_FunIntToFieldInfos(Table, IFieldInfo[], IFieldInfo[], ComplexInfo[])
    This method was created by a SmartGuy (SG) ;-)
    reorderBytes(int)
    This static method returns the given integer value with its internal bytes reordered.
    reorderBytes(long)
    This static method returns the given long value with its internal bytes reordered.
    reorderBytes(short)
    This static method returns the given short value with its internal bytes reordered.
    rfcTypeToGenericJavaTypeString(int)
    This method is used by the wizard to find the name of the Java type to a corresponding RFC type.
    rfcTypeToJavaGetMethod(int)
    This method is used to find the name of the basic Java type to a corresponding RFC type.
    rfcTypeToJavaSetMethod(int)
    This method is used to find the name of the basic Java type to a corresponding RFC type.
    rfcTypeToJavaTypeString(int)
    This static method returns the name of the associated Java class or Java simple type for a given RFC data type.
    rfcTypeToSimpleType(int)
    This static method returns the associated Simple data type for a given RFC data type.
    rfcTypeToString(int)
    This static method returns the string representation of a given Rfc data type.
    rfcTypeToStringWithClass(int)
    This static method returns the string representation of a given Rfc data type.
    simpleFieldTypeToString(int)
    This static method returns the string representation of a given Simple data type.
    simpleFieldTypeToStringWithClass(int)
    This static method returns the string representation of a given Simple data type including the classname.
    tableOfRfc_FieldsToComplexInfo(ITable)
    This static method generates a RFC meta information object from the contents of a given table object with RFC_FIELDS-Structure and returns it.

    Constructors

    Converter
     public Converter()
    

    Methods

    abapTypeCharToRfcType
     public static int abapTypeCharToRfcType(char abapTypeChar)
    
    This static method returns the RFC data type representation of a given ABAP-Type character.

    Parameters:
    abapTypeChar - char ABAP-Type character (such as 'C', 'N', 'I', etc.)
    Returns:
    int RFC data type
    See Also:
    RfcGlobals
    convertTableOfRfc_FunIntToFieldInfos
     public static void convertTableOfRfc_FunIntToFieldInfos(Table table,
                                                             IFieldInfo importParamFieldInfos[],
                                                             IFieldInfo exportParamFieldInfos[],
                                                             ComplexInfo tableParamComplexInfos[])
    
    This method was created by a SmartGuy (SG) ;-)

    Parameters:
    table - com.ibm.sap.bapi.jrfc.Table
    importParamFieldInfos - com.ibm.sap.bapi.jrfc.FieldInfo[]
    exportParamFieldInfos - com.ibm.sap.bapi.jrfc.FieldInfo[]
    tableParamComplexInfos - com.ibm.sap.bapi.jrfc.ComplexInfo[]
    reorderBytes
     public static int reorderBytes(int number)
    
    This static method returns the given integer value with its internal bytes reordered. This method is used to convert from the big-endian representation of an integer (the most significant byte is in the [0] position) into its little-endian representation and vice versa.

    Parameters:
    number - int Integer value
    Returns:
    int Reordered integer value
    reorderBytes
     public static long reorderBytes(long number)
    
    This static method returns the given long value with its internal bytes reordered. This method is used to convert from the big-endian representation of a long (the most significant byte is in the [0] position) into its little-endian representation and vice versa.

    Parameters:
    number - long Long value
    Returns:
    long Reordered long value
    reorderBytes
     public static short reorderBytes(short number)
    
    This static method returns the given short value with its internal bytes reordered. This method is used to convert from the big-endian representation of a short (the most significant byte is in the [0] position) into its little-endian representation and vice versa.

    Parameters:
    number - long Short value
    Returns:
    long Reordered short value
    rfcTypeToGenericJavaTypeString
     public static String rfcTypeToGenericJavaTypeString(int rfcType)
    
    This method is used by the wizard to find the name of the Java type to a corresponding RFC type. Please note that this method only distinguishes between simple, structured and unknown. If you want to get the mapping of an RFC type to a basic Java type please use rfcTypeToJavaTypeString.

    Returns:
    name of the Java class / simple type as string
    See Also:
    rfcTypeToJavaTypeString
    rfcTypeToJavaGetMethod
     public static String rfcTypeToJavaGetMethod(int rfcType)
    
    This method is used to find the name of the basic Java type to a corresponding RFC type. This is needed by the wizard to generate the appropriate attribute access methods.

    Returns:
    name of the Java class / simple type as string
    rfcTypeToJavaSetMethod
     public static String rfcTypeToJavaSetMethod(int rfcType)
    
    This method is used to find the name of the basic Java type to a corresponding RFC type. This is needed by the wizard to generate the appropriate attribute access methods.

    Returns:
    name of the Java class / simple type as string
    rfcTypeToJavaTypeString
     public static String rfcTypeToJavaTypeString(int rfcType)
    
    This static method returns the name of the associated Java class or Java simple type for a given RFC data type. The method is used by the wizard for generating the appropriate attribute access methods.

    Parameters:
    int - RFC data type
    Returns:
    java.lang.String Name of the Java class / Java simple type as string
    See Also:
    RfcGlobals, rfcTypeToGenericJavaTypeString
    rfcTypeToSimpleType
     public static int rfcTypeToSimpleType(int rfcType)
    
    This static method returns the associated Simple data type for a given RFC data type.

    Parameters:
    int - RFC data type
    Returns:
    int Simple data type
    See Also:
    RfcGlobals, SimpleGlobals
    rfcTypeToString
     public static String rfcTypeToString(int rfcType)
    
    This static method returns the string representation of a given Rfc data type.

    Parameters:
    rfcType - RFC data type
    Returns:
    java.lang.String RFC data type as string
    rfcTypeToStringWithClass
     public static String rfcTypeToStringWithClass(int rfcType)
    
    This static method returns the string representation of a given Rfc data type.

    Parameters:
    rfcType - RFC data type
    Returns:
    java.lang.String RFC data type as string
    simpleFieldTypeToString
     public static String simpleFieldTypeToString(int simpleFieldType)
    
    This static method returns the string representation of a given Simple data type.

    Parameters:
    simpleFieldType - Simple data type
    Returns:
    java.lang.String Simple data type as string
    simpleFieldTypeToStringWithClass
     public static String simpleFieldTypeToStringWithClass(int simpleFieldType)
    
    This static method returns the string representation of a given Simple data type including the classname.

    Parameters:
    simpleFieldType - Simple data type
    Returns:
    java.lang.String Simple data type as string
    tableOfRfc_FieldsToComplexInfo
     public static ComplexInfo tableOfRfc_FieldsToComplexInfo(ITable tableOfRfc_Fields) throws JRfcRemoteException
    
    This static method generates a RFC meta information object from the contents of a given table object with RFC_FIELDS-Structure and returns it. The RFC_FIELDS-Structure is the R/3 standard table structure for describing an arbitrary structure or table. This method is used within the BapiControl's method getComplexInfo.

    Parameters:
    tableOfRfc_Fields - com.ibm.sap.bapi.jrfc.Table Table object with RFC_FIELDS- Struct
    Returns:
    structureInfo com.ibm.sap.bapi.jrfc.ComplexInfo Generated RFC meta information object from the contents of the given table object
    Throws: JRfcRemoteException
    unspecific error occurred when using a remote object

    eStrin k$ 756$0# ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.converter_mi.htmlica$$ Interface com.ibm.sap.bapi.ICacheable

    Interface com.ibm.sap.bapi.ICacheable

    public interface ICacheable

    An object, which should be added to a cache, must implement this interface


    Method Index

    getKey()
    Returns the key of an Object that implements ICachable

    Methods

    getKey
     public abstract String getKey()
    
    Returns the key of an Object that implements ICachable

    Returns:
    java.lang.String

    " kv$R756$pR./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.icacheable_mi.htmlca$$ Interface com.ibm.sap.bapi.IFieldListElement

    Interface com.ibm.sap.bapi.IFieldListElement

    public interface IFieldListElement
    extends IField, DataItem, DataItemChangeManager

    This interface is for internal use only.


    Method Index

    activateAsDataItem(String, InfoBusEventListener)
    This interface method is for internal use only.
    deactivateAsDataItem()
    This interface method is for internal use only.
    getFieldInfo()
    This interface method is for internal use only.
    getUserName()
    This interface method is for internal use only.
    setFieldInfo(IFieldInfo)
    This interface method is for internal use only.
    setUserName(String)
    This interface method is for internal use only.

    Methods

    activateAsDataItem
     public abstract void activateAsDataItem(String dataItemName,
                                             InfoBusEventListener dataItemSource) throws JRfcNullPointerException
    
    This interface method is for internal use only.

    Parameters:
    dataItemName - java.lang.String
    dataItemSource - InfoBusEventListener
    Throws: JRfcNullPointerException
    One of the given parameters is a null-pointer.
    deactivateAsDataItem
     public abstract void deactivateAsDataItem()
    
    This interface method is for internal use only.

    getFieldInfo
     public abstract IFieldInfo getFieldInfo()
    
    This interface method is for internal use only.

    Returns:
    IFieldInfo
    getUserName
     public abstract String getUserName()
    
    This interface method is for internal use only.

    Returns:
    java.lang.String
    setFieldInfo
     public abstract void setFieldInfo(IFieldInfo fieldInfo) throws JRfcClassCastException
    
    This interface method is for internal use only.

    Parameters:
    fieldInfo - com.sap.rfc.IFieldInfo
    setUserName
     public abstract void setUserName(String name) throws JRfcNullPointerException
    
    This interface method is for internal use only.

    Parameters:
    name - java.lang.String

    nterfac kF$0756$P{0./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.ifieldlistelement_mi.htmlmi.$$ Class com.ibm.sap.bapi.LogManager

    Class com.ibm.sap.bapi.LogManager

    java.lang.Object
       |
       +----com.ibm.sap.bapi.LogManager
    

    public class LogManager
    extends Object

    The LogManager class implements a mechanism to log exceptions to a file.


    Constructor Index

    LogManager()

    Method Index

    logException(Exception)
    Log exception message to file.
    logMessage(String, Object[])
    Log message to file

    Constructors

    LogManager
     public LogManager()
    

    Methods

    logException
     public static void logException(Exception ex)
    
    Log exception message to file.

    Parameters:
    ex - java.lang.Exception
    logMessage
     public static void logMessage(String key,
                                   Object params[])
    
    Log message to file

    Parameters:
    message - java.lang.String

     k$756$`~./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logmanager_mi.html.h$$ Class com.ibm.sap.bapi.logon.ConnectInfoEditor

    Class com.ibm.sap.bapi.logon.ConnectInfoEditor

    java.lang.Object
       |
       +----java.beans.PropertyEditorSupport
               |
               +----com.ibm.sap.bapi.logon.ConnectInfoEditor
    

    public class ConnectInfoEditor
    extends PropertyEditorSupport
    implements PropertyChangeListener

    An editor for the ConnectInfo class. The LogonView defines this class as ConnectInfo editor.

    See Also:
    ConnectInfo

    Method Index

    firePropertyChange(ConnectInfo, ConnectInfo)
    Fires the change of a property
    getAsText()
    Returns the connect info in text format
    getCustomEditor()
    Returns the editor panel If the panel does not exist yet, it is instantiated.
    getJavaInitializationString()
    Creates and returns the java initialization string
    getValue()
    Returns the connect info as ConnectInfo instance
    propertyChange(PropertyChangeEvent)
    Forwards property changes from panel into own fields All attributes are changed in total.
    setAsText(String)
    Sets the connect info with text input
    setValue(Object)
    Sets the connect info
    supportsCustomEditor()
    Returns that the CustomEditor is supported

    Methods

    firePropertyChange
     public void firePropertyChange(ConnectInfo oldValue,
                                    ConnectInfo newValue)
    
    Fires the change of a property

    Parameters:
    oldValue - value before change
    newValue - value after change
    getAsText
     public String getAsText()
    
    Returns the connect info in text format

    Returns:
    connect info in text format.
    Overrides:
    getAsText in class PropertyEditorSupport
    getCustomEditor
     public Component getCustomEditor()
    
    Returns the editor panel If the panel does not exist yet, it is instantiated.

    Returns:
    ConnectInfoPanel instance
    Overrides:
    getCustomEditor in class PropertyEditorSupport
    getJavaInitializationString
     public String getJavaInitializationString()
    
    Creates and returns the java initialization string

    Returns:
    valid Java initialization string
    Overrides:
    getJavaInitializationString in class PropertyEditorSupport
    getValue
     public Object getValue()
    
    Returns the connect info as ConnectInfo instance

    Returns:
    ConnectInfo instance
    Overrides:
    getValue in class PropertyEditorSupport
    propertyChange
     public void propertyChange(PropertyChangeEvent evt)
    
    Forwards property changes from panel into own fields All attributes are changed in total.

    Parameters:
    evt - details about changed property
    setAsText
     public void setAsText(String text)
    
    Sets the connect info with text input

    Parameters:
    text - well formatted text for connect info
    Overrides:
    setAsText in class PropertyEditorSupport
    setValue
     public void setValue(Object value)
    
    Sets the connect info

    Parameters:
    value - valid ConnectInfo instance
    Overrides:
    setValue in class PropertyEditorSupport
    supportsCustomEditor
     public boolean supportsCustomEditor()
    
    Returns that the CustomEditor is supported

    Overrides:
    supportsCustomEditor in class PropertyEditorSupport

    a k,$756$P=./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logon.connectinfoeditor_mi.htmll$$ Class com.ibm.sap.bapi.logon.ConnectInfoPanel

    Class com.ibm.sap.bapi.logon.ConnectInfoPanel

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Panel
                               |
                               +----com.ibm.sap.bapi.logon.ConnectInfoPanel
    

    public class ConnectInfoPanel
    extends Panel
    implements FocusListener, ItemListener, PropertyChangeListener

    A panel for user input for connection information in the SAP logon The connection information is stored in a com.sap.rfc.ConnectInfo instance. LogonView uses this class. ConnectInfoEditor uses this class also as editor panel.

    See Also:
    ConnectInfo, LogonView

    Constructor Index

    ConnectInfoPanel()
    Constructor
    ConnectInfoPanel(LayoutManager)
    ConnectInfoPanel constructor comment.

    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    The addPropertyChangeListener method was generated to support the propertyChange field.
    firePropertyChange(String, Object, Object)
    The firePropertyChange method was generated to support the propertyChange field.
    focusGained(FocusEvent)
    Method to handle events for the FocusListener interface.
    focusLost(FocusEvent)
    Method to handle events for the FocusListener interface.
    getConnectInfo()
    Gets the connectInfo property (com.sap.rfc.ConnectInfo) value.
    itemStateChanged(ItemEvent)
    Method to handle events for the ItemListener interface.
    main(String[])
    main entrypoint - starts the part when it is run as an application
    propertyChange(PropertyChangeEvent)
    Method to handle events for the PropertyChangeListener interface.
    removePropertyChangeListener(PropertyChangeListener)
    The removePropertyChangeListener method was generated to support the propertyChange field.
    setConnectInfo(ConnectInfo)
    Sets the connect infos in the panel
    updateAppearance()
    Updates appearance according to locale settings.

    Constructors

    ConnectInfoPanel
     public ConnectInfoPanel()
    
    Constructor

    ConnectInfoPanel
     public ConnectInfoPanel(LayoutManager layout)
    
    ConnectInfoPanel constructor comment.

    Parameters:
    layout - java.awt.LayoutManager

    Methods

    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    The addPropertyChangeListener method was generated to support the propertyChange field.

    firePropertyChange
     public void firePropertyChange(String propertyName,
                                    Object oldValue,
                                    Object newValue)
    
    The firePropertyChange method was generated to support the propertyChange field.

    focusGained
     public void focusGained(FocusEvent e)
    
    Method to handle events for the FocusListener interface.

    Parameters:
    e - java.awt.event.FocusEvent
    focusLost
     public void focusLost(FocusEvent e)
    
    Method to handle events for the FocusListener interface.

    Parameters:
    e - java.awt.event.FocusEvent
    getConnectInfo
     public ConnectInfo getConnectInfo()
    
    Gets the connectInfo property (com.sap.rfc.ConnectInfo) value.

    Returns:
    The connectInfo property value.
    See Also:
    setConnectInfo
    itemStateChanged
     public void itemStateChanged(ItemEvent e)
    
    Method to handle events for the ItemListener interface.

    Parameters:
    e - java.awt.event.ItemEvent
    main
     public static void main(String args[])
    
    main entrypoint - starts the part when it is run as an application

    Parameters:
    args - java.lang.String[]
    propertyChange
     public void propertyChange(PropertyChangeEvent evt)
    
    Method to handle events for the PropertyChangeListener interface.

    Parameters:
    evt - java.beans.PropertyChangeEvent
    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    The removePropertyChangeListener method was generated to support the propertyChange field.

    setConnectInfo
     public void setConnectInfo(ConnectInfo connectInfo) throws JRfcNullPointerException
    
    Sets the connect infos in the panel

    Parameters:
    connectInfo - new values are placed into the panel
    Throws: JRfcNullPointerException
    Thrown if connectInfo is null.
    See Also:
    getConnectInfo
    updateAppearance
     public void updateAppearance()
    
    Updates appearance according to locale settings.


     k$756$0V./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logon.connectinfopanel_mi.htmll$$ Class com.ibm.sap.bapi.logon.LogoffEvent

    Class com.ibm.sap.bapi.logon.LogoffEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.ibm.sap.bapi.logon.LogoffEvent
    

    public class LogoffEvent
    extends EventObject

    Event details about a logoff attempt Currently, no additional details are provided.


    Constructor Index

    LogoffEvent(Object)
    Constructs a LogonEvent by passing the source object.

    Constructors

    LogoffEvent
     public LogoffEvent(Object source)
    
    Constructs a LogonEvent by passing the source object.

    Parameters:
    source - java.lang.Object

    nam k*j$756$p=./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logon.logoffevent_mi.htmltml$$ Interface com.ibm.sap.bapi.logon.LogoffListener

    Interface com.ibm.sap.bapi.logon.LogoffListener

    public interface LogoffListener

    This interface must be implemented to receive LogonEvents.


    Method Index

    logoffFailed(LogoffEvent)
    Invoked when the logoff failed
    logoffSucceeded(LogoffEvent)
    Invoked when the logoff was successfully.

    Methods

    logoffFailed
     public abstract void logoffFailed(LogoffEvent event)
    
    Invoked when the logoff failed

    Parameters:
    event - details about the logoff
    logoffSucceeded
     public abstract void logoffSucceeded(LogoffEvent event)
    
    Invoked when the logoff was successfully.

    Parameters:
    event - details about the logoff

     kꬫ$C756$`ɡC./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logon.logofflistener_mi.html$$ Class com.ibm.sap.bapi.logon.LogonEvent

    Class com.ibm.sap.bapi.logon.LogonEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.ibm.sap.bapi.logon.LogonEvent
    

    public class LogonEvent
    extends EventObject

    This class is used by the LogonView to show if a logon attempt was successful or not.

    See Also:
    LogonView

    Constructor Index

    LogonEvent(Object)
    Constructs a LogonEvent by passing the source object.

    Constructors

    LogonEvent
     public LogonEvent(Object source)
    
    Constructs a LogonEvent by passing the source object.

    Parameters:
    source - the object firing the event

     knR$756$p./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logon.logonevent_mi.htmlml$$ Interface com.ibm.sap.bapi.logon.LogonListener

    Interface com.ibm.sap.bapi.logon.LogonListener

    public interface LogonListener
    extends EventListener

    This interface must be implemented to receive LogonEvents.

    See Also:
    LogonEvent, LogonListener

    Method Index

    logonCancelled(LogonEvent)
    Invoked when the logon was cancelled by the user
    logonFailed(LogonEvent)
    Invoked when the logon failed
    logonSucceeded(LogonEvent)
    Invoked when the logon was successfully.

    Methods

    logonCancelled
     public abstract void logonCancelled(LogonEvent event)
    
    Invoked when the logon was cancelled by the user

    Parameters:
    event - details about the logon
    logonFailed
     public abstract void logonFailed(LogonEvent event)
    
    Invoked when the logon failed

    Parameters:
    event - details about the logon
    logonSucceeded
     public abstract void logonSucceeded(LogonEvent event)
    
    Invoked when the logon was successfully.

    Parameters:
    event - details about the logon

     kx$756$`~./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logon.logonlistener_mi.html$$ Class com.ibm.sap.bapi.logon.LogonView

    Class com.ibm.sap.bapi.logon.LogonView

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Window
                               |
                               +----java.awt.Frame
                                       |
                                       +----com.ibm.sap.bapi.logon.LogonView
    

    public class LogonView
    extends Frame
    implements ActionListener, WindowListener, PropertyChangeListener

    The LogonView JavaBean provides a typical SAP logon panel. You can integrate this panel in your application.


    Constructor Index

    LogonView()
    Constructor
    LogonView(BapiSettings)
    LogonView constructor.

    Method Index

    actionPerformed(ActionEvent)
    Method to handle events for the ActionListener interface.
    addLogoffListener(LogoffListener)
    Add a LogoffListener.
    addLogonListener(LogonListener)
    Add a LogonListener.
    addPropertyChangeListener(PropertyChangeListener)
    The addPropertyChangeListener method was generated to support the propertyChange field.
    getBapiSettings()
    Gets the bapiSettings property (com.ibm.sap.bapi.BapiSettings) value.
    getConnectInfo()
    Gets the connectInfo property (com.sap.rfc.ConnectInfo) value.
    getConnection()
    Gets the connection property (com.sap.rfc.IRfcConnection) value.
    getUserInfo()
    Gets the userInfo property (com.sap.rfc.UserInfo) value.
    isConnected()
    Gets the connected property (boolean) value.
    logoff()
    Loggs off.
    logon()
    This method creates a connection object.
    main(String[])
    main entrypoint - starts the part when it is run as an application
    propertyChange(PropertyChangeEvent)
    Method to handle events for the PropertyChangeListener interface.
    removeLogoffListener(LogoffListener)
    This method removes a COM.ibm.sap.bapi.LogoffListener.
    removeLogonListener(LogonListener)
    This method remove a COM.ibm.sap.bapi.LogonListener.
    removePropertyChangeListener(PropertyChangeListener)
    The removePropertyChangeListener method was generated to support the propertyChange field.
    setBapiSettings(BapiSettings)
    Sets the bapiSettings property (com.ibm.sap.bapi.BapiSettings) value.
    setConnected(boolean)
    Sets the connected property (boolean) value.
    setConnectInfo(ConnectInfo)
    Sets the connectInfo property (com.sap.rfc.ConnectInfo) value.
    setUserInfo(UserInfo)
    Sets the userInfo property (com.sap.rfc.UserInfo) value.
    setVisible(boolean)
    Performs the show method.
    updateAppearance()
    Updates appearance of LogonView according to current locale.
    windowActivated(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowClosed(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowClosing(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowDeactivated(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowDeiconified(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowIconified(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowOpened(WindowEvent)
    Method to handle events for the WindowListener interface.

    Constructors

    LogonView
     public LogonView()
    
    Constructor

    LogonView
     public LogonView(BapiSettings bapiSettings)
    
    LogonView constructor.

    Parameters:
    bapiSettings - The object contains the connection type data.
    Throws: JRfcNullPointerException
    Thrown if bapiSettings is null.

    Methods

    actionPerformed
     public void actionPerformed(ActionEvent e)
    
    Method to handle events for the ActionListener interface.

    Parameters:
    e - java.awt.event.ActionEvent
    addLogoffListener
     public void addLogoffListener(LogoffListener newListener)
    
    Add a LogoffListener.

    addLogonListener
     public void addLogonListener(LogonListener newListener)
    
    Add a LogonListener.

    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    The addPropertyChangeListener method was generated to support the propertyChange field.

    Parameters:
    listener - java.beans.PropertyChangeListener
    getBapiSettings
     public BapiSettings getBapiSettings()
    
    Gets the bapiSettings property (com.ibm.sap.bapi.BapiSettings) value.

    Returns:
    The bapiSettings property value.
    See Also:
    setBapiSettings
    getConnectInfo
     public ConnectInfo getConnectInfo()
    
    Gets the connectInfo property (com.sap.rfc.ConnectInfo) value.

    Returns:
    The connectInfo property value.
    See Also:
    setConnectInfo
    getConnection
     public IRfcConnection getConnection()
    
    Gets the connection property (com.sap.rfc.IRfcConnection) value. The connection is null, if no connection is established.

    Returns:
    The connection property value.
    getUserInfo
     public UserInfo getUserInfo()
    
    Gets the userInfo property (com.sap.rfc.UserInfo) value.

    Returns:
    The userInfo property value.
    See Also:
    setUserInfo
    isConnected
     public boolean isConnected()
    
    Gets the connected property (boolean) value.

    Returns:
    The connected property value.
    See Also:
    setConnected
    logoff
     public void logoff()
    
    Loggs off.

    logon
     public void logon() throws JRfcRfcConnectionException
    
    This method creates a connection object.

    Parameters:
    aUserInfo - COM.ibm.sap.bapi.LogonUserInfo
    aConnectInfo - COM.ibm.sap.bapi.LogonConnectInfo
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    main
     public static void main(String args[])
    
    main entrypoint - starts the part when it is run as an application

    Parameters:
    args - java.lang.String[]
    propertyChange
     public void propertyChange(PropertyChangeEvent evt)
    
    Method to handle events for the PropertyChangeListener interface.

    Parameters:
    evt - java.beans.PropertyChangeEvent
    removeLogoffListener
     public void removeLogoffListener(LogoffListener newListener)
    
    This method removes a COM.ibm.sap.bapi.LogoffListener.

    removeLogonListener
     public void removeLogonListener(LogonListener newListener)
    
    This method remove a COM.ibm.sap.bapi.LogonListener.

    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    The removePropertyChangeListener method was generated to support the propertyChange field.

    Parameters:
    listener - java.beans.PropertyChangeListener
    setBapiSettings
     public void setBapiSettings(BapiSettings bapiSettings) throws JRfcNullPointerException
    
    Sets the bapiSettings property (com.ibm.sap.bapi.BapiSettings) value.

    Parameters:
    bapiSettings - The new value for the property.
    Throws: JRfcNullPointerException
    Thrown if bapiSettings is null.
    See Also:
    getBapiSettings
    setConnected
     public void setConnected(boolean connected) throws JRfcRfcConnectionException
    
    Sets the connected property (boolean) value.

    Parameters:
    connected - The new value for the property.
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    See Also:
    isConnected
    setConnectInfo
     public void setConnectInfo(ConnectInfo connectInfo) throws JRfcNullPointerException
    
    Sets the connectInfo property (com.sap.rfc.ConnectInfo) value.

    Parameters:
    connectInfo - The new value for the property.
    Throws: JRfcNullPointerException
    Thrown if connectInfo is null.
    See Also:
    getConnectInfo
    setUserInfo
     public void setUserInfo(UserInfo userInfo) throws JRfcNullPointerException
    
    Sets the userInfo property (com.sap.rfc.UserInfo) value.

    Parameters:
    userInfo - The new value for the property.
    Throws: JRfcNullPointerException
    Thrown if userInfo is null.
    See Also:
    getUserInfo
    setVisible
     public void setVisible(boolean aBoolean)
    
    Performs the show method.

    Overrides:
    setVisible in class Component
    updateAppearance
     public void updateAppearance()
    
    Updates appearance of LogonView according to current locale.

    windowActivated
     public void windowActivated(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowClosed
     public void windowClosed(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowClosing
     public void windowClosing(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowDeactivated
     public void windowDeactivated(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowDeiconified
     public void windowDeiconified(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowIconified
     public void windowIconified(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowOpened
     public void windowOpened(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent

     kdw$756$./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logon.logonview_mi.htmlml$$ Class com.ibm.sap.bapi.logon.UserInfoEditor

    Class com.ibm.sap.bapi.logon.UserInfoEditor

    java.lang.Object
       |
       +----java.beans.PropertyEditorSupport
               |
               +----com.ibm.sap.bapi.logon.UserInfoEditor
    

    public class UserInfoEditor
    extends PropertyEditorSupport
    implements PropertyChangeListener

    An editor for the UserInfo class. The LogonView defines this class as UserInfo editor.

    See Also:
    UserInfo

    Method Index

    firePropertyChange(UserInfo, UserInfo)
    Fires the change of a property
    getAsText()
    Returns the user info in text format
    getCustomEditor()
    Returns the editor panel If the panel does not exist yet, it is instantiated.
    getJavaInitializationString()
    Creates and returns the java initialization string
    getValue()
    Returns the user info as UserInfo instance
    propertyChange(PropertyChangeEvent)
    Forwards property changes from panel into own fields All attributes are changed in total.
    setAsText(String)
    Sets the user info with text input
    setValue(Object)
    Sets the user info
    supportsCustomEditor()
    Returns that the CustomEditor is supported

    Methods

    firePropertyChange
     public void firePropertyChange(UserInfo oldValue,
                                    UserInfo newValue)
    
    Fires the change of a property

    Parameters:
    oldValue - value before change
    newValue - value after change
    getAsText
     public String getAsText()
    
    Returns the user info in text format

    Returns:
    user info in text format.
    Overrides:
    getAsText in class PropertyEditorSupport
    getCustomEditor
     public Component getCustomEditor()
    
    Returns the editor panel If the panel does not exist yet, it is instantiated.

    Returns:
    UserInfoPanel instance
    Overrides:
    getCustomEditor in class PropertyEditorSupport
    getJavaInitializationString
     public String getJavaInitializationString()
    
    Creates and returns the java initialization string

    Returns:
    valid Java initialization string
    Overrides:
    getJavaInitializationString in class PropertyEditorSupport
    getValue
     public Object getValue()
    
    Returns the user info as UserInfo instance

    Returns:
    UserInfo instance
    Overrides:
    getValue in class PropertyEditorSupport
    propertyChange
     public void propertyChange(PropertyChangeEvent evt)
    
    Forwards property changes from panel into own fields All attributes are changed in total.

    Parameters:
    evt - details about changed property
    setAsText
     public void setAsText(String text)
    
    Sets the user info with text input

    Parameters:
    text - well formatted text for user info
    Overrides:
    setAsText in class PropertyEditorSupport
    setValue
     public void setValue(Object value)
    
    Sets the user info

    Parameters:
    value - valid UserInfo instance
    Overrides:
    setValue in class PropertyEditorSupport
    supportsCustomEditor
     public boolean supportsCustomEditor()
    
    Returns that the CustomEditor is supported

    Overrides:
    supportsCustomEditor in class PropertyEditorSupport

     k|$756$Pz./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logon.userinfoeditor_mi.html$$ Class com.ibm.sap.bapi.logon.UserInfoPanel

    Class com.ibm.sap.bapi.logon.UserInfoPanel

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Panel
                               |
                               +----com.ibm.sap.bapi.logon.UserInfoPanel
    

    public class UserInfoPanel
    extends Panel
    implements FocusListener, PropertyChangeListener, Customizer

    A panel for user input for SAP logon user information The user information is stored in a com.sap.rfc.UserInfo instance. LogonView uses this class. UserInfoEditor uses this class also as editor panel.

    See Also:
    UserInfo, LogonView

    Constructor Index

    UserInfoPanel()
    Constructor
    UserInfoPanel(LayoutManager)
    UserInfoPanel constructor comment.

    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    The addPropertyChangeListener method was generated to support the propertyChange field.
    firePropertyChange(String, Object, Object)
    The firePropertyChange method was generated to support the propertyChange field.
    focusGained(FocusEvent)
    Method to handle events for the FocusListener interface.
    focusLost(FocusEvent)
    Method to handle events for the FocusListener interface.
    getUserInfo()
    Gets the userInfo property (com.sap.rfc.UserInfo) value.
    main(String[])
    main entrypoint - starts the part when it is run as an application
    propertyChange(PropertyChangeEvent)
    Method to handle events for the PropertyChangeListener interface.
    removePropertyChangeListener(PropertyChangeListener)
    The removePropertyChangeListener method was generated to support the propertyChange field.
    setObject(Object)
    This method was created by a SmartGuide.
    setUserInfo(UserInfo)
    Sets the user information in the panel
    updateAppearance()
    Updates appearance according to locale settings.

    Constructors

    UserInfoPanel
     public UserInfoPanel()
    
    Constructor

    UserInfoPanel
     public UserInfoPanel(LayoutManager layout)
    
    UserInfoPanel constructor comment.

    Parameters:
    layout - java.awt.LayoutManager

    Methods

    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    The addPropertyChangeListener method was generated to support the propertyChange field.

    firePropertyChange
     public void firePropertyChange(String propertyName,
                                    Object oldValue,
                                    Object newValue)
    
    The firePropertyChange method was generated to support the propertyChange field.

    focusGained
     public void focusGained(FocusEvent e)
    
    Method to handle events for the FocusListener interface.

    Parameters:
    e - java.awt.event.FocusEvent
    focusLost
     public void focusLost(FocusEvent e)
    
    Method to handle events for the FocusListener interface.

    Parameters:
    e - java.awt.event.FocusEvent
    getUserInfo
     public UserInfo getUserInfo()
    
    Gets the userInfo property (com.sap.rfc.UserInfo) value.

    Returns:
    The userInfo property value.
    See Also:
    setUserInfo
    main
     public static void main(String args[])
    
    main entrypoint - starts the part when it is run as an application

    Parameters:
    args - java.lang.String[]
    propertyChange
     public void propertyChange(PropertyChangeEvent evt)
    
    Method to handle events for the PropertyChangeListener interface.

    Parameters:
    evt - java.beans.PropertyChangeEvent
    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    The removePropertyChangeListener method was generated to support the propertyChange field.

    setObject
     public void setObject(Object bean)
    
    This method was created by a SmartGuide.

    Parameters:
    bean - java.lang.Object
    Throws: JRfcNullPointerException
    Thrown if bean is null.
    setUserInfo
     public void setUserInfo(UserInfo userInfo) throws JRfcNullPointerException
    
    Sets the user information in the panel

    Parameters:
    userInfo - new values are placed into the panel
    Throws: JRfcNullPointerException
    Thrown if the userInfo parameter is null.
    See Also:
    getUserInfo
    updateAppearance
     public void updateAppearance()
    
    Updates appearance according to locale settings.


     k|$756$03./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.logon.userinfopanel_mi.html$$ Class com.ibm.sap.bapi.MethodEventMulticaster

    Class com.ibm.sap.bapi.MethodEventMulticaster

    java.lang.Object
       |
       +----java.awt.AWTEventMulticaster
               |
               +----com.ibm.sap.bapi.MethodEventMulticaster
    

    public class MethodEventMulticaster
    extends AWTEventMulticaster
    implements MethodListener

    This is the event multicaster class to support the MethodListener interface.


    Method Index

    add(MethodListener, MethodListener)
    Add new listener to support multicast events.
    executed(MethodEvent)
    failed(MethodEvent)
    remove(MethodListener, MethodListener)
    Remove listener to support multicast events.

    Methods

    add
     public static MethodListener add(MethodListener a,
                                      MethodListener b)
    
    Add new listener to support multicast events.

    Parameters:
    a - MethodListener
    b - MethodListener
    Returns:
    MethodListener
    executed
     public void executed(MethodEvent event)
    
    Parameters:
    event - MethodEvent
    failed
     public void failed(MethodEvent event)
    
    Parameters:
    event - MethodEvent
    remove
     public static MethodListener remove(MethodListener a,
                                         MethodListener b)
    
    Remove listener to support multicast events.

    Parameters:
    a - MethodListener
    b - MethodListener
    Returns:
    MethodListener

     k$756$`a./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.methodeventmulticaster_mi.htmll$$ Class com.ibm.sap.bapi.ObjectId

    Class com.ibm.sap.bapi.ObjectId

    java.lang.Object
       |
       +----com.ibm.sap.bapi.ObjectId
    

    public class ObjectId
    extends Object
    implements Cloneable

    This class holds concatenated key fields as object ID.


    Constructor Index

    ObjectId()
    ObjectId constructor.
    ObjectId(ISimple[])
    ObjectId construstor.

    Method Index

    clone()
    This method was created by a SmartGuide.
    equals(Object)
    This is an ObjectId specific implementation of the "equals()" method.
    getKeyField(int)
    This method gets the keyFields index property (java.lang.String) value.
    getKeyField(String)
    This method was created by a SmartGuide.
    getKeyFields()
    This method gets the keyFields property (java.lang.String[]) value.
    getObjectHandle()
    This method was gets the fieldObjectHandle property.
    getObjectKey()
    This method returns the object key as concatenated string of the single keyfields.
    setKeyField(ISimple, int)
    This method set a new keyfield as part of the object ID.
    setKeyField(ISimple, String)
    This method sets replaces an existing key value field with a new one.
    setObjectHandle(int)
    This method sets the fieldObjectHandle property.

    Constructors

    ObjectId
     public ObjectId()
    
    ObjectId constructor.

    ObjectId
     public ObjectId(ISimple keys[])
    
    ObjectId construstor.

    Parameters:
    keys - java.lang.String[]

    Methods

    clone
     public Object clone()
    
    This method was created by a SmartGuide.

    Returns:
    java.lang.Object
    Overrides:
    clone in class Object
    equals
     public boolean equals(Object obj)
    
    This is an ObjectId specific implementation of the "equals()" method.

    Parameters:
    obj - com.sap.bapi.ObjectId
    Returns:
    boolean
    Overrides:
    equals in class Object
    getKeyField
     public ISimple getKeyField(int index)
    
    This method gets the keyFields index property (java.lang.String) value.

    Parameters:
    index - The index value into the property array.
    Returns:
    The keyFields property value.
    getKeyField
     public ISimple getKeyField(String keyName)
    
    This method was created by a SmartGuide.

    Parameters:
    keyName - java.lang.String
    Returns:
    com.sap.bapi.SimpleField
    getKeyFields
     public ISimple[] getKeyFields()
    
    This method gets the keyFields property (java.lang.String[]) value.

    Returns:
    The keyFields property value.
    getObjectHandle
     public int getObjectHandle()
    
    This method was gets the fieldObjectHandle property.

    Returns:
    int The handle of the objectid object
    getObjectKey
     public String getObjectKey()
    
    This method returns the object key as concatenated string of the single keyfields.

    Returns:
    java.lang.String
    setKeyField
     public void setKeyField(ISimple keyfield,
                             int index)
    
    This method set a new keyfield as part of the object ID.

    Parameters:
    keyfield - ISimple
    index - int
    setKeyField
     public boolean setKeyField(ISimple keyField,
                                String keyName)
    
    This method sets replaces an existing key value field with a new one.

    Parameters:
    keyField - The ISimple containing the new key value.
    keyName - The name of the key field to replace.
    Returns:
    boolean The success of the operation
    setObjectHandle
     public void setObjectHandle(int objHandle)
    
    This method sets the fieldObjectHandle property.

    Parameters:
    objHandle - new object handle

    bject. kB$S756$@S./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.objectid_mi.htmlster$$ Class com.ibm.sap.bapi.PropertyMap

    Class com.ibm.sap.bapi.PropertyMap

    java.lang.Object
       |
       +----com.ibm.sap.bapi.PropertyMap
    

    public class PropertyMap
    extends Object
    implements InfoBusPropertyMap

    This class contains and manages a property map. It is specially designed for the use in conjunction with an InfoBus. It may be delivered with a DataItemChangeEvent if a DataItem wants to provide additional property information according to the specified event. For example, a Table DataItem will provide a "RowNumber" property to indicate the row number that the DataItemChangeEvent refers to.


    Constructor Index

    PropertyMap(Object, Object)
    PropertyMap constructor.
    PropertyMap(Object[], Object[])
    PropertyMap constructor.
    PropertyMap(Object[][])
    PropertyMap constructor.

    Method Index

    get(Object)
    This method returns the property Object to which the given key object is mapped.
    getKeys()
    This method returns an array of all key objects that are stored in this PropertyMap object.
    getMap()
    This method returns a two-dimensional array of all key and property objects that are stored in this PropertyMap object.

    Constructors

    PropertyMap
     public PropertyMap(Object keysAndProperties[][])
    
    PropertyMap constructor.

    Parameters:
    keysAndProperties - java.lang.Object[][]
    PropertyMap
     public PropertyMap(Object keys[],
                        Object properties[])
    
    PropertyMap constructor.

    Parameters:
    keys - java.lang.Object[]
    properties - java.lang.Object[]
    PropertyMap
     public PropertyMap(Object key,
                        Object property)
    
    PropertyMap constructor.

    Parameters:
    key - java.lang.Object
    property - java.lang.Object

    Methods

    get
     public Object get(Object key)
    
    This method returns the property Object to which the given key object is mapped.
    This method is defined in the InfoBus interface InfoBusPropertyMap.

    Parameters:
    key - java.lang.Object Key object for which the mapped property object should be returned.
    Returns:
    java.lang.Object Property object that the given key object is mapped to.
    getKeys
     public Object[] getKeys()
    
    This method returns an array of all key objects that are stored in this PropertyMap object.

    Returns:
    java.lang.Object[] Array of all key objects stored in this PropertyMap object.
    getMap
     public Object[][] getMap()
    
    This method returns a two-dimensional array of all key and property objects that are stored in this PropertyMap object.

    Returns:
    java.lang.Object[][] Array of all key and property objects stored in this PropertyMap object. Key objects are stored in the first, property objects in the second dimension of the array.

     kB$756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.propertymap_mi.htmlr$$ Class com.ibm.sap.bapi.RFCFunction

    Class com.ibm.sap.bapi.RFCFunction

    java.lang.Object
       |
       +----com.ibm.sap.bapi.RFCFunction
    

    public abstract class RFCFunction
    extends Object

    This class is an abstract base class for every generated Proxy Java bean wrapping an RFC module. It provides the abstract method execute() which will be overridden by the concrete derived bean class.
    It would be a cleaner solution to declare this class as an interface instead. But it is easier to include it into the generation process if it is a class than an interface.


    Constructor Index

    RFCFunction()

    Method Index

    execute(IRfcConnection)
    This method will be overridden by the derived Proxy Java bean classes.

    Constructors

    RFCFunction
     public RFCFunction()
    

    Methods

    execute
     public abstract void execute(IRfcConnection connection) throws JRfcMiddlewareException, JRfcRemoteException, JRfcRfcAbapException, JRfcRfcConnectionException, JRfcRfcParameterException, JRfcRemoteOutOfMemoryError
    
    This method will be overridden by the derived Proxy Java bean classes. It will be called to process the wrapped RFC module.
    All import/export/table parameters belonging to the RFC module must be initialized or set in the instance of the derived class. Also returned values can be accessed after execution from that class instance.

    Parameters:
    conn - The connection instance to be used for that instance
    Throws: JRfcMiddlewareException
    Thrown if something is wrong with the Middleware layer.
    Throws: JRfcRemoteException
    Thrown if something is wrong with the remote system.
    Throws: JRfcRfcAbapException
    Thrown if the RFC module throws an ABAP/4 exception.
    Throws: JRfcRfcConnectionException
    Thrown if the connection is not valid.
    Throws: JRfcRfcParameterException
    Thrown if something is wrong with the specified parameters.
    Throws: JRfcRemoteOutOfMemoryError
    Thrown if the remote system runs out of memory.

    >j k_$756$p?./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.rfcfunction_mi.htmlr$$ Class com.ibm.sap.bapi.Row

    Class com.ibm.sap.bapi.Row

    java.lang.Object
       |
       +----com.ibm.sap.bapi.FieldList
               |
               +----com.ibm.sap.bapi.Row
    

    public class Row
    extends FieldList
    implements IRow

    This class contains and manages a list of data fields representing a single table row. The main functionality of this class is the same as the functionality of a structure except that it may not be used separately, but always as part of a table. Therefore most of the functionality of the Row- and Structure-class is implemented in their common base class FieldList.

    See Also:
    FieldList, Table, Cursor

    Constructor Index

    Row(Table)
    Row constructor.

    Method Index

    equals(Object)
    This method checks by comparing each internal field whether the given object equals this Row object or not.
    getComplexInfo()
    This method returns the ComplexInfo-object associated with this object.
    getFieldInfo()
    This method returns the ComplexInfo-object associated with this object casted to an IFieldInfo interface object.
    getFieldName()
    This method returns the FieldName of the ComplexInfo-object associated with this object.
    getTable()
    This method returns the ITable object that this Row belongs to.
    isStructured()
    This method checks wheter this Row is structured or not.

    Constructors

    Row
     public Row(Table table)
    
    Row constructor.

    Parameters:
    table - com.sap.rfc.ITable

    Methods

    equals
     public boolean equals(Object obj)
    
    This method checks by comparing each internal field whether the given object equals this Row object or not.

    Parameters:
    obj - java.lang.Object Object to be compared with this Row.
    Returns:
    boolean Result of the equality-check.
    Overrides:
    equals in class FieldList
    getComplexInfo
     public ComplexInfo getComplexInfo()
    
    This method returns the ComplexInfo-object associated with this object.

    Returns:
    com.sap.rfc.ComplexInfo ComplexInfo-object associated with this object.
    Overrides:
    getComplexInfo in class FieldList
    getFieldInfo
     public IFieldInfo getFieldInfo()
    
    This method returns the ComplexInfo-object associated with this object casted to an IFieldInfo interface object.

    Returns:
    com.sap.rfc.IFieldInfo ComplexInfo-object associated with this object casted to an IFieldInfo interface object.
    Overrides:
    getFieldInfo in class FieldList
    getFieldName
     public String getFieldName()
    
    This method returns the FieldName of the ComplexInfo-object associated with this object.

    Returns:
    java.lang.String FieldName of the associated ComplexInfo-object.
    Overrides:
    getFieldName in class FieldList
    getTable
     public ITable getTable()
    
    This method returns the ITable object that this Row belongs to.

    Returns:
    com.sap.rfc.ITable ITable object that this Row belongs to.
    isStructured
     public boolean isStructured()
    
    This method checks wheter this Row is structured or not. The Row is structured if its associated ComplexInfo object contains no object or more than one object. Additionally it is also structured if its associated ComplexInfo object contains exactly one SimpleInfo object that is not of type RFCTYPE_BYTE.

    Returns:
    boolean Result of the isStructured-check.

    pi.tab k\$756$`Ӥ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.row_mi.htmlh$$ Class com.ibm.sap.bapi.RowsetArray

    Class com.ibm.sap.bapi.RowsetArray

    java.lang.Object
       |
       +----com.ibm.sap.bapi.RowsetArray
    

    public class RowsetArray
    extends Object
    implements DataItem, DataItemChangeListener, DataItemChangeManager, ArrayAccess

    This class contains and manages an array of rows. It is specially designed for the use as an InfoBus DataItem. It represents a Table's data in form of an InfoBus ArrayAccess item. All changes that are made to this RowsetArray will also change the referred Table object. An instance of this class cannot be created directly. It can be obtained by requesting a DataItem with the DataFlavor "x-InfoBus/ArrayAccess" from an InfoBusDataProducer providing Table objects.

    See Also:
    Table

    Method Index

    addDataItemChangeListener(DataItemChangeListener)
    The given DataItemChangeListener object is added to an internal list.
    dataItemAdded(DataItemAddedEvent)
    This method handles DataItemAddedEvents of observed DataItems.
    dataItemDeleted(DataItemDeletedEvent)
    This method handles DataItemDeletedEvents of observed DataItems.
    dataItemRevoked(DataItemRevokedEvent)
    This method handles DataItemRevokedEvents of observed DataItems.
    dataItemValueChanged(DataItemValueChangedEvent)
    This method handles DataItemValueChangedEvents of observed DataItems.
    getDimensions()
    This method returns the dimension meta information about this RowsetArray.
    getItemByCoordinates(int[])
    This method returns a RowsetArray element at the given array coordinates.
    getProperty(String)
    This method returns a property or metadata information object about this DataItem as indicated by the given key-string.
    getSource()
    This method returns the source of this DataItem that is usually an InfoBusDataProducer.
    release()
    This method does some special internal operations for releasing this DataItem.
    removeDataItemChangeListener(DataItemChangeListener)
    The given DataItemChangeListener object is removed from an internal list and will not be notified with DataItemChangeEvents any longer.
    rowsetCursorMoved(RowsetCursorMovedEvent)
    This method handles RowsetCursorMovedEvents of observed DataItems.
    setItemByCoordinates(int[], Object)
    This method sets the value of the RowsetArray element at the given array coordinates to the given new value.
    subdivide(int[], int[])
    This method returns an InfoBus ArrayAccess object which is a subset of this ArrayAccess object.

    Methods

    addDataItemChangeListener
     public void addDataItemChangeListener(DataItemChangeListener listener)
    
    The given DataItemChangeListener object is added to an internal list. Every registered DataItemChangeListener in this list will be notified with DataItemChangeEvents. Calling this method has no effect if this object has not been previously activated as a DataItem.
    This method is defined in the InfoBus interface DataItemChangeManager.

    Parameters:
    listener - javax.infobus.DataItemChangeListener Listener object to be notified with DataItemChangeEvents.
    dataItemAdded
     public void dataItemAdded(DataItemAddedEvent event)
    
    This method handles DataItemAddedEvents of observed DataItems. The RowsetArray observes the referred Table DataItem to update its contents in case of changes to the Table. This method should never be called directly by the user.
    This method is defined in the InfoBus interface DataItemChangeListener.

    Parameters:
    event - javax.infobus.DataItemAddedEvent Event object describing the added DataItem.
    dataItemDeleted
     public void dataItemDeleted(DataItemDeletedEvent event)
    
    This method handles DataItemDeletedEvents of observed DataItems. The RowsetArray observes the referred Table DataItem to update its contents in case of changes to the Table. This method should never be called directly by the user.
    This method is defined in the InfoBus interface DataItemChangeListener.

    Parameters:
    event - javax.infobus.DataItemDeletedEvent Event object describing the deleted DataItem.
    dataItemRevoked
     public void dataItemRevoked(DataItemRevokedEvent event)
    
    This method handles DataItemRevokedEvents of observed DataItems. The RowsetArray observes the referred Table DataItem to revoke itself in case of the Table being revoked. This method should never be called directly by the user.
    This method is defined in the InfoBus interface DataItemChangeListener.

    Parameters:
    event - javax.infobus.DataItemRevokedEvent Event object describing the revoked DataItem.
    dataItemValueChanged
     public void dataItemValueChanged(DataItemValueChangedEvent event)
    
    This method handles DataItemValueChangedEvents of observed DataItems. The RowsetArray observes the referred Table DataItem to update its contents in case of changes to the Table. This method should never be called directly by the user.
    This method is defined in the InfoBus interface DataItemChangeListener.

    Parameters:
    event - javax.infobus.DataItemChangedValueEvent Event object describing the changed DataItem.
    getDimensions
     public int[] getDimensions()
    
    This method returns the dimension meta information about this RowsetArray. The number of integers returned in the int[] indicates the number of dimensions in the RowsetArray, the value of each integer indicates the number of elements in the specific dimension. Since this RowsetArray refers to a Table object, this object is always two-dimensional.
    This method is defined in the InfoBus interface ArrayAccess.

    Returns:
    int[] Array indicating the dimensions and the number of elements in each dimension of this RowsetArray.
    getItemByCoordinates
     public Object getItemByCoordinates(int coordinates[]) throws ArrayIndexOutOfBoundsException
    
    This method returns a RowsetArray element at the given array coordinates. The RowsetArray element returned is usually an InfoBus ImmediateAccess item.
    This method is defined in the InfoBus interface ArrayAccess.

    Parameters:
    coordinates - int[] Array coordinates for the element to be returned.
    Returns:
    java.lang.Object RowsetArray element at the given array coordinates.
    Throws: ArrayIndexOutOfBoundsException
    The given array coordinates are out of range.
    getProperty
     public Object getProperty(String key)
    
    This method returns a property or metadata information object about this DataItem as indicated by the given key-string. The following keys are supported: "Name" - DataItem name (java.lang.String) "FieldName" - FieldName of the associated ComplexInfo-object of the referred Table (java.lang.String) "UserName" - User-defined name of the referred Table (java.lang.String) "ParameterName" - Parameter name of the referred Table (java.lang.String) "FieldInfo" - Associated ComplexInfo-object of the referred Table (com.sap.rfc.SimpleInfo)
    This method is defined in the InfoBus interface DataItem.

    Parameters:
    key - java.lang.String Key-string to indicate the property or metadata information to be returned.
    Returns:
    java.lang.Object Property or metadata information object about this DataItem.
    getSource
     public InfoBusEventListener getSource()
    
    This method returns the source of this DataItem that is usually an InfoBusDataProducer.
    This method is defined in the InfoBus interface DataItem.

    Returns:
    javax.infobus.InfoBusEventListener Source of this DataItem.
    release
     public void release()
    
    This method does some special internal operations for releasing this DataItem. Calling this method indicates that the consuming object has finished using this DataItem. Consumers are required to call it when they are about to drop their last reference to the item or anything directly or indirectly obtained from it.
    This method is defined in the InfoBus interface DataItem.

    removeDataItemChangeListener
     public void removeDataItemChangeListener(DataItemChangeListener listener)
    
    The given DataItemChangeListener object is removed from an internal list and will not be notified with DataItemChangeEvents any longer. Calling this method has no effect if this object has not been previously activated as a DataItem.
    This method is defined in the InfoBus interface DataItemChangeManager.

    Parameters:
    listener - javax.infobus.DataItemChangeListener Listener object to be notified with DataItemChangeEvents.
    rowsetCursorMoved
     public void rowsetCursorMoved(RowsetCursorMovedEvent event)
    
    This method handles RowsetCursorMovedEvents of observed DataItems. The RowsetArray does not observe any objects that fire this kind of event, so this method is never called. It is only implemented to fulfill the DataItemChangeListener interface. This method should never be called directly by the user.
    This method is defined in the InfoBus interface DataItemChangeListener.

    Parameters:
    event - javax.infobus.RowsetCursorMovedEvent Event object describing the RowsetCursor movement of the observed DataItem.
    setItemByCoordinates
     public void setItemByCoordinates(int coordinates[],
                                      Object newValue) throws InvalidDataException, ArrayIndexOutOfBoundsException
    
    This method sets the value of the RowsetArray element at the given array coordinates to the given new value. Valid object types for the new value are instances of the classes javax.infobus.ImmediateAccess, com.sap.rfc.ISimple, all java.lang.Number classes, java.lang.String, java.lang.Character, java.lang.Boolean, java.math.BigInteger, java.math.BigDecimal and java.util.Date.
    This method is defined in the InfoBus interface ArrayAccess.

    Parameters:
    coordinates - int[] Array coordinates for the element to set the value into.
    newValue - java.lang.Object Object containing the new value to be set into the specified RowsetArray element.
    Throws: InvalidDataException
    The given value cannot be assigned to the RowsetArray element.
    Throws: ArrayIndexOutOfBoundsException
    The given array coordinates are out of range.
    subdivide
     public ArrayAccess subdivide(int startCoordinates[],
                                  int endCoordinates[]) throws ArrayIndexOutOfBoundsException, IllegalArgumentException
    
    This method returns an InfoBus ArrayAccess object which is a subset of this ArrayAccess object. The new ArrayAccess is specified relative to this ArrayAccess by the given start- and end-coordinates. The array coordinates in the new ArrayAccess object are readjusted to start at index 0 again.
    This method is defined in the InfoBus interface ArrayAccess.

    Parameters:
    startCoordinates - int[] Array coordinates of this ArrayAccess object to indicate the start coordinates for the subdivision process.
    endCoordinates - int[] Array coordinates of this ArrayAccess object to indicate the end coordinates for the subdivision process.
    Returns:
    javax.infobus.ArrayAccess Subdivided ArrayAccess object.
    Throws: ArrayIndexOutOfBoundsException
    The given array coordinates are out of range.
    Throws: IllegalArgumentException
    The start coordinates are greater than the end coordinates.

     kꮽ$756$0./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.rowsetarray_mi.htmlr$$ Class com.ibm.sap.bapi.SimpleFactory

    Class com.ibm.sap.bapi.SimpleFactory

    java.lang.Object
       |
       +----com.ibm.sap.bapi.SimpleFactory
    

    public class SimpleFactory
    extends Object
    implements ISimpleFactory

    This class is the Factory for simple data types JNI and other.


    Constructor Index

    SimpleFactory()

    Method Index

    createSimple()
    Creates an empty simple object with no name and type information set.
    createSimple(SimpleInfo)
    Creates an object having the ISimple interface (representing a single-valued parameter for a function module), with the specified simple field information.
    createSimple(SimpleInfo, String)
    Creates an object having the ISimple interface (representing a single-valued parameter for a function module), with the specified parameter name and simple field information.

    Constructors

    SimpleFactory
     public SimpleFactory()
    

    Methods

    createSimple
     public ISimple createSimple() throws JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates an empty simple object with no name and type information set.

    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    See Also:
    createSimple
    createSimple
     public ISimple createSimple(SimpleInfo simpleInfo) throws JRfcSimpleDataUnknownTypeException, JRfcNullPointerException, JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates an object having the ISimple interface (representing a single-valued parameter for a function module), with the specified simple field information. The parameter name still needs to be set in order to be used by the RFC function module.

    Parameters:
    simpleInfo - Field information about the simple parameter.
    Throws: JRfcSimpleDataUnknownTypeException
    SimpleInfo object contains an unknown object type constant
    Throws: JRfcNullPointerException
    argument must not be null
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    See Also:
    createSimple
    createSimple
     public ISimple createSimple(SimpleInfo simpleInfo,
                                 String paramName) throws JRfcSimpleDataUnknownTypeException, JRfcNullPointerException, JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates an object having the ISimple interface (representing a single-valued parameter for a function module), with the specified parameter name and simple field information.

    Parameters:
    simpleInfo - Field information about the simple parameter.
    paramName - Name of the parameter in a function module.
    Throws: JRfcSimpleDataUnknownTypeException
    SimpleInfo object contains an unknown object type constant
    Throws: JRfcNullPointerException
    argument must not be null
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    See Also:
    createSimple, createSimple

    yerror kꜣ$756$`t./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.simplefactory_mi.html$$ Class com.ibm.sap.bapi.TableCache

    Class com.ibm.sap.bapi.TableCache

    java.lang.Object
       |
       +----com.ibm.sap.bapi.TableCache
    

    public class TableCache
    extends Object

    This class is for internal use only.


    Constructor Index

    TableCache(Table, int, int)
    TableCache constructor.

    Method Index

    clear()
    This method is for internal use only.
    deleteRow(int)
    This method is for internal use only.
    getBlockSize()
    This method is for internal use only.
    getRow(int)
    This method is for internal use only.
    getSize()
    This method is for internal use only.
    insertRow(int, IRow)
    This method is for internal use only.
    setBlockSize(int)
    This method is for internal use only.
    setSize(int)
    This method is for internal use only.
    toString()
    This method is for internal use only.
    updateRow(int, IRow)
    This method is for internal use only.

    Constructors

    TableCache
     public TableCache(Table table,
                       int size,
                       int blockSize)
    
    TableCache constructor.

    Parameters:
    table - com.ibm.sap.bapi.Table
    size - int
    blockSize - int

    Methods

    clear
     public void clear()
    
    This method is for internal use only.

    deleteRow
     public void deleteRow(int index)
    
    This method is for internal use only.

    Parameters:
    index - int
    getBlockSize
     public int getBlockSize()
    
    This method is for internal use only.

    Returns:
    int
    getRow
     public IRow getRow(int index) throws JRfcRemoteServerException, JRfcIndexOutOfBoundsException, JRfcIllegalStateException
    
    This method is for internal use only.

    Parameters:
    index - int Row index of the row to be returned (row index starts with 0).
    Returns:
    com.sap.rfc.IRow
    Throws: JRfcRemoteServerException
    An unspecific error occurred when using the remote Table object.
    Throws: JRfcIndexOutOfBoundsException
    The given index is out of range.
    Throws: JRfcIllegalStateException
    The Table is in an illegal state for this operation.
    getSize
     public int getSize()
    
    This method is for internal use only.

    Returns:
    int
    insertRow
     public void insertRow(int index,
                           IRow row)
    
    This method is for internal use only.

    Parameters:
    index - int
    row - com.sap.rfc.IRow
    setBlockSize
     public void setBlockSize(int blockSize)
    
    This method is for internal use only.

    Parameters:
    blockSize - int
    setSize
     public void setSize(int size)
    
    This method is for internal use only.

    Parameters:
    size - int
    toString
     public String toString()
    
    This method is for internal use only.

    Overrides:
    toString in class Object
    updateRow
     public void updateRow(int index,
                           IRow row)
    
    This method is for internal use only.

    Parameters:
    index - int
    row - com.sap.rfc.IRow

    l>  k꜊)$756$P./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.tablecache_mi.htmlht$$ Class com.ibm.sap.bapi.util.HTMLView

    Class com.ibm.sap.bapi.util.HTMLView

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Container
                       |
                       +----java.awt.Window
                               |
                               +----java.awt.Frame
                                       |
                                       +----com.ibm.sap.bapi.util.HTMLView
    

    public class HTMLView
    extends Frame
    implements ActionListener, WindowListener

    This class is a universal viewer to display any HTML documents. These documents can be normal documents as well as help files.


    Constructor Index

    HTMLView()
    Constructor

    Method Index

    actionPerformed(ActionEvent)
    Method to handle events for the ActionListener interface.
    hyperlinkUpdate(HyperlinkEvent)
    This method is called when a hyperlink is updated.
    main(String[])
    main entrypoint - starts the part when it is run as an application
    setCallingApplet(Applet)
    This method signals the HTMLView window that it is executed inside the specified applet.
    setURL(String)
    This method sets the URL for the help window.
    windowActivated(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowClosed(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowClosing(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowDeactivated(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowDeiconified(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowIconified(WindowEvent)
    Method to handle events for the WindowListener interface.
    windowOpened(WindowEvent)
    Method to handle events for the WindowListener interface.

    Constructors

    HTMLView
     public HTMLView()
    
    Constructor


    Methods

    actionPerformed
     public void actionPerformed(ActionEvent e)
    
    Method to handle events for the ActionListener interface.

    Parameters:
    e - java.awt.event.ActionEvent
    hyperlinkUpdate
     public void hyperlinkUpdate(HyperlinkEvent e)
    
    This method is called when a hyperlink is updated.

    Parameters:
    e - com.sun.java.swing.event.HyperlinkEvent
    main
     public static void main(String args[])
    
    main entrypoint - starts the part when it is run as an application

    Parameters:
    args - java.lang.String[]
    setCallingApplet
     public void setCallingApplet(Applet caller)
    
    This method signals the HTMLView window that it is executed inside the specified applet. That is required to determine the correct and fully-qualified path to the on-line help document to be displayed.

    Parameters:
    caller - The applet inside which this window is called.
    setURL
     public void setURL(String aFileName)
    
    This method sets the URL for the help window.

    Parameters:
    aFileName - java.lang.String
    windowActivated
     public void windowActivated(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowClosed
     public void windowClosed(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowClosing
     public void windowClosing(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowDeactivated
     public void windowDeactivated(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowDeiconified
     public void windowDeiconified(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowIconified
     public void windowIconified(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent
    windowOpened
     public void windowOpened(WindowEvent e)
    
    Method to handle events for the WindowListener interface.

    Parameters:
    e - java.awt.event.WindowEvent

    u k"S,$-756$0-./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.util.htmlview_mi.html$$ Class com.ibm.sap.bapi.util.JTableModel

    Class com.ibm.sap.bapi.util.JTableModel

    java.lang.Object
       |
       +----com.ibm.sap.bapi.util.JTableModel
    

    public class JTableModel
    extends Object

    This class implements a new table model to support easy usage of ITable objects in Visual Builder.

    The usage in Visual Builder is as follows:

    • Insert a JTable control in your application window where you need it.
    • Create an instance of this class
    • When the ITable object is filled connect it with this instance's table property.
    • Then connect this instance with the JTable's model property
    Now the items contained in the ITable should be displayed inside the JTable. The column headers are also read from the ITable.

    The current implementation has the following restrictions:

    Cell items cannot be changed via setValueAt (...).
    Cell items cannot be edited manually.
    Commonly tables are only retrieved from an R/3 system but not written back to the R/3 system. So it makes not much sense to support editing and changing cell items.


    Constructor Index

    JTableModel()
    The default constructor of this class.
    JTableModel(IStructure)
    Constructor for creating a new table model from the specified IStructure object.
    JTableModel(ITable)
    Constructor for creating a new table model from the specified ITable object.

    Method Index

    addTableModelListener(TableModelListener)
    Adds the specified listener to the list of table model listeners.
    getColumnClass(int)
    Returns a class object of class java.lang.Object.
    getColumnCount()
    Returns the number of columns in this model instance.
    getColumnName(int)
    Returns the name of the specified column.
    getRowCount()
    Returns the number of rows in the current model instance.
    getStructure()
    Returns the IStructure object associated with the current JTableModel instance.
    getTable()
    Returns the ITable object associated with the current JTableModel instance.
    getValueAt(int, int)
    Returns the cell content at the specified table location in a String representation.
    isCellEditable(int, int)
    Returns the editing state of the cell at the specified location.
    removeTableModelListener(TableModelListener)
    Removes the specified listener from the list of table model listeners.
    setStructure(IStructure)
    This method associates the specified IStructure object with the current JTableModel instance.
    setTable(ITable)
    This method associates the specified ITable object with the current JTableModel instance.
    setValueAt(Object, int, int)
    Sets the specified value at the given location.

    Constructors

    JTableModel
     public JTableModel()
    
    The default constructor of this class.

    JTableModel
     public JTableModel(IStructure aStructure)
    
    Constructor for creating a new table model from the specified IStructure object.

    Parameters:
    aStructure - The new IStructure object to be assigned to this instance.
    See Also:
    setTable, getTable
    JTableModel
     public JTableModel(ITable aTable)
    
    Constructor for creating a new table model from the specified ITable object.

    Parameters:
    aTable - The new ITable object to be assigned to this instance.
    See Also:
    setTable, getTable

    Methods

    addTableModelListener
     public void addTableModelListener(TableModelListener listener)
    
    Adds the specified listener to the list of table model listeners.

    Parameters:
    listener - The new listener to be added
    See Also:
    removeTableModelListener
    getColumnClass
     public Class getColumnClass(int columnIndex)
    
    Returns a class object of class java.lang.Object.

    Parameters:
    columnIndex - The index of column which class type should be returned.
    Returns:
    Class Always the class of java.lang.Object is returned.
    Throws: JRfcIndexOutOfBoundsException
    Thrown if the specified column index exceeds the valid range.
    getColumnCount
     public int getColumnCount()
    
    Returns the number of columns in this model instance.

    Returns:
    int The number of columns in the model.
    getColumnName
     public String getColumnName(int columnIndex) throws JRfcIndexOutOfBoundsException
    
    Returns the name of the specified column.

    Returns:
    java.lang.String The name of the specified column.
    Throws: JRfcIndexOutOfBoundsException
    Thrown if the specified column index exceeds the valid range.
    getRowCount
     public int getRowCount()
    
    Returns the number of rows in the current model instance.

    Returns:
    int The number of rows in the current model.
    getStructure
     public IStructure getStructure() throws JRfcIllegalStateException
    
    Returns the IStructure object associated with the current JTableModel instance.

    Returns:
    com.sap.rfc.IStructure The associated IStructure object.
    Throws: JRfcIllegalStateException
    Thrown if this instance is currently associated with an ITable object.
    See Also:
    setStructure
    getTable
     public ITable getTable() throws JRfcIllegalStateException
    
    Returns the ITable object associated with the current JTableModel instance.

    Returns:
    com.sap.rfc.ITable The associated ITable object.
    Throws: JRfcIllegalStateException
    Thrown if this instance is currently associated with an IStructure object.
    See Also:
    setTable
    getValueAt
     public Object getValueAt(int rowIndex,
                              int columnIndex) throws JRfcIndexOutOfBoundsException
    
    Returns the cell content at the specified table location in a String representation.

    Parameters:
    rowIndex - The row index of the cell
    columnIndex - The column index of the cell
    Throws: JRfcIndexOutOfBoundsException
    Thrown if any of the specified indexes exceed the valid ranges.
    isCellEditable
     public boolean isCellEditable(int rowIndex,
                                   int columnIndex) throws JRfcIndexOutOfBoundsException
    
    Returns the editing state of the cell at the specified location.
    Cell editing is currently not allowed.

    Parameters:
    rowIndex - The row index of the cell (counting starts at 0)
    columnIndex - The column index of the cell (counting starts at 0)
    Returns:
    boolean Returns always false.
    Throws: JRfcIndexOutOfBoundsException
    Thrown if any of the specified indexes exceed the valid ranges.
    removeTableModelListener
     public void removeTableModelListener(TableModelListener listener)
    
    Removes the specified listener from the list of table model listeners.

    Parameters:
    listener - The listener to be removed.
    See Also:
    addTableModelListener
    setStructure
     public synchronized void setStructure(IStructure aStructure) throws JRfcIllegalStateException
    
    This method associates the specified IStructure object with the current JTableModel instance.

    Parameters:
    aStructure - The IStructure object
    Throws: JRfcIllegalStateException
    Thrown if this instance is already associated with an ITable object.
    See Also:
    getStructure
    setTable
     public synchronized void setTable(ITable aTable) throws JRfcIllegalStateException
    
    This method associates the specified ITable object with the current JTableModel instance.

    Parameters:
    aTable - The ITable object
    Throws: JRfcIllegalStateException
    Thrown if this instance is already associated with an IStructure object.
    See Also:
    getTable
    setValueAt
     public void setValueAt(Object aObject,
                            int rowIndex,
                            int columnIndex)
    
    Sets the specified value at the given location.

    Currently setting a value in the model is not allowed!

    Parameters:
    aObject - The new value
    rowIndex - The row index (counting starts at 0)
    columnIndex - The column index (counting starts at 0)
    Throws: JRfcIndexOutOfBoundsException
    Thrown if any of the specified indexes exceed the valid ranges.
    Throws: JRfcNullPointerException
    Thrown if the specified object is not valid.

    ly k/$? 756$0@? ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.ibm.sap.bapi.util.jtablemodel_mi.htmlhtml$$ Class com.sap.rfc.ComplexInfo

    Class com.sap.rfc.ComplexInfo

    java.lang.Object
       |
       +----com.sap.rfc.ComplexInfo
    

    public class ComplexInfo
    extends Object
    implements IFieldInfo, Cloneable, Serializable

    This class implements the IFieldInfo interface and stores RFC meta information for a Structure or a Table. It is used as information provider when invoking RFC calls.
    Every Structure or Table that is intended to be used in a remote function call must hold one instance of this class.
    Note that this class contains a list of IFieldInfos (SimpleInfos and/or ComplexInfos) describing the elements of the structure. IFieldInfo is an abstract interface that is implemented by the classes SimpleInfo and ComplexInfo. Because the ComplexInfo class itself implements the IFieldInfo interface, this means that a ComplexInfo may contain nested ComplexInfos of indefinite depth.

    See Also:
    SimpleInfo

    Constructor Index

    ComplexInfo()
    Default constructor for ComplexInfo.
    ComplexInfo(IFieldInfo[], String)
    ComplexInfo constructor specifying all meta information
    ComplexInfo(int)
    ComplexInfo constructor specifying only the length of the structure or table A ComplexInfo initialized in this way can only be used for export parameters which are not intended to be utilized.

    Method Index

    clone()
    Clones the ComplexInfo object.
    equals(Object)
    Checks field by field if two ComplexInfos are the same
    getCount()
    Gets the number of meta information objects in the ComplexInfo element list.
    getFieldInfo(int)
    Gets a meta information object at a given element index The meta information object is returned as reference to the original element in the element list.
    getFieldInfo(String)
    Gets a meta information object with a given field name.
    getFieldInfos()
    Gets all meta information objects from the ComplexInfo element list.
    getFieldName()
    Gets the name of the containing structure's or table's field to which this structure or table belongs to.
    getLength()
    Gets the length of the data structure described by this meta information object.
    getType()
    Gets the data type - always RFCTYPE_STRUCTURE ComplexInfo always describes this kind of meta information.
    isFilled()
    Checks if the instantiated object is filled.
    setComplexInfo(IFieldInfo[], String)
    Sets all meta information data
    setLength(int)
    Sets the total length of the complex structure.
    toString()
    Returns a string representation of the ComplexInfo object.

    Constructors

    ComplexInfo
     public ComplexInfo()
    
    Default constructor for ComplexInfo. The meta information data is not yet defined. It has to be set later before accessing the ComplexInfo data.

    ComplexInfo
     public ComplexInfo(IFieldInfo fieldInfos[],
                        String fieldName) throws JRfcNullPointerException
    
    ComplexInfo constructor specifying all meta information

    Parameters:
    fieldInfos - Array of meta information objects describing the data fields belonging to this ComplexInfo object
    fieldName - The name of the containing structure's field to which this structure belongs to. Can be null if this is a stand-alone structure.
    Throws: JRfcNullPointerException
    arguments must not be null.
    ComplexInfo
     public ComplexInfo(int length) throws JRfcIllegalArgumentException
    
    ComplexInfo constructor specifying only the length of the structure or table A ComplexInfo initialized in this way can only be used for export parameters which are not intended to be utilized.

    Parameters:
    length - The total length of the data structure
    Throws: JRfcIllegalArgumentException
    an illegal or inappropriate argument is passed

    Methods

    clone
     public Object clone()
    
    Clones the ComplexInfo object.

    Returns:
    Cloned ComplexInfo object.
    Overrides:
    clone in class Object
    equals
     public boolean equals(Object obj)
    
    Checks field by field if two ComplexInfos are the same

    Parameters:
    obj - The ComplexInfo to check for equality.
    Returns:
    Returns true if the ComplexInfo passed into this method is exactly the same then this object.
    Overrides:
    equals in class Object
    getCount
     public int getCount()
    
    Gets the number of meta information objects in the ComplexInfo element list.

    Returns:
    Number of meta information objects in the ComplexInfo's element list
    getFieldInfo
     public IFieldInfo getFieldInfo(int index) throws JRfcIndexOutOfBoundsException
    
    Gets a meta information object at a given element index The meta information object is returned as reference to the original element in the element list. The returned object may be a SimpleInfo or ComplexInfo object.

    Parameters:
    index - Element index of the object to be returned (element index starts with 0)
    Returns:
    Meta information object at a given element index position
    Throws: JRfcIndexOutOfBoundsException
    index is out of range
    getFieldInfo
     public IFieldInfo getFieldInfo(String fieldName) throws JRfcComplexDataNoSuchFieldException
    
    Gets a meta information object with a given field name. The meta information object is returned as reference to the original element in the element list. The returned object may be a SimpleInfo or ComplexInfo object.

    Parameters:
    fieldName - The name of the field to retrieve.
    Returns:
    Meta information object at a given element index position
    Throws: JRfcComplexDataNoSuchFieldException
    the field with the given name fieldName is not included in the complex data type
    getFieldInfos
     public IFieldInfo[] getFieldInfos()
    
    Gets all meta information objects from the ComplexInfo element list. The array of IFieldInfos is returned as reference to the original element array stored in the ComplexInfo object. Each object of the array may be a SimpleInfo or a ComplexInfo object.

    Returns:
    The whole array of meta information objects from the element list
    getFieldName
     public String getFieldName()
    
    Gets the name of the containing structure's or table's field to which this structure or table belongs to.
    Null if this structure is stand-alone.

    Returns:
    The field name of the containing structure.
    getLength
     public int getLength()
    
    Gets the length of the data structure described by this meta information object.

    Returns:
    The data structure length
    getType
     public int getType()
    
    Gets the data type - always RFCTYPE_STRUCTURE ComplexInfo always describes this kind of meta information.

    Returns:
    Always returns data type RFCTYPE_STRUCTURE
    See Also:
    RFCTYPE_STRUCTURE
    isFilled
     public boolean isFilled()
    
    Checks if the instantiated object is filled.

    Returns:
    Result of the is filled check
    setComplexInfo
     public void setComplexInfo(IFieldInfo fieldInfos[],
                                String fieldName) throws JRfcIllegalStateException, JRfcNullPointerException
    
    Sets all meta information data

    Parameters:
    fieldInfos - Array of meta information objects describing the data fields and structures belonging to this ComplexInfo object
    fieldName - The name of the containing structure's field to which this structure belongs to. Can be null if this is a stand-alone structure.
    Throws: JRfcNullPointerException
    arguments must not be null.
    Throws: JRfcIllegalStateException
    it is not allowed to re-set the information in this object
    setLength
     public void setLength(int length) throws JRfcIllegalArgumentException, JRfcIllegalStateException
    
    Sets the total length of the complex structure.

    Parameters:
    length - Length of the structure.
    Throws: JRfcIllegalArgumentException
    an illegal or inappropriate argument is passed
    Throws: JRfcIllegalStateException
    it is not allowed to re-set the length
    toString
     public String toString()
    
    Returns a string representation of the ComplexInfo object.

    Returns:
    A string representation of the ComplexInfo object.
    Overrides:
    toString in class Object

     kT2$756$@b./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.complexinfo_mi.html_mi.ht$$ Class com.sap.rfc.ConnectionEvent

    Class com.sap.rfc.ConnectionEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sap.rfc.ConnectionEvent
    

    public class ConnectionEvent
    extends EventObject

    This is the event class to support the ConnectionListener interface. Currently, there are no additional information stored in ConnectionEvent. A ConnectionEvent is fired by an instance of a class implementing IRfcConnection if opening succeeded or failed or when the connection is closed.

    See Also:
    ConnectionListener, IRfcConnection

    Constructor Index

    ConnectionEvent(Object)
    Constructor for class ConnectionEvent

    Constructors

    ConnectionEvent
     public ConnectionEvent(Object source)
    
    Constructor for class ConnectionEvent

    Parameters:
    source - The instance which fired the event

    M  k8$756$p./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.connectionevent_mi.htmlht$$ Interface com.sap.rfc.ConnectionListener

    Interface com.sap.rfc.ConnectionListener

    public interface ConnectionListener
    extends EventListener

    The listener interface ConnectionListener defines the event set connection. It includes the following events

    connected
    The connected event is triggered, when a new SAP connection is established.
    disconnected
    The disconnected event is triggered, when an existing SAP connection is closed.
    failed
    This event is triggered, when a new SAP connection could not be established.

    The implementations of the Connection interface fire these events. You may subscribe to this event set by using the addConnectionListener method of the Connection interface.


    Method Index

    connected(ConnectionEvent)
    The connected event is triggered, when a new SAP connection is established.
    disconnected(ConnectionEvent)
    The disconnected event is triggered, when an existing SAP connection is closed.
    failed(ConnectionEvent)
    The connected event is triggered, when a new SAP connection could not be establised.

    Methods

    connected
     public abstract void connected(ConnectionEvent event)
    
    The connected event is triggered, when a new SAP connection is established. It is fired by a concrete implementation of IRfcConnection in the method open().

    Parameters:
    event - Contains event specific information.
    See Also:
    open
    disconnected
     public abstract void disconnected(ConnectionEvent event)
    
    The disconnected event is triggered, when an existing SAP connection is closed. It is fired by a concrete implementation of IRfcConnection in the method close().

    Parameters:
    event - Contains event specific information.
    See Also:
    close
    failed
     public abstract void failed(ConnectionEvent event)
    
    The connected event is triggered, when a new SAP connection could not be establised. It is fired by a concrete implementation of IRfcConnection in the method open().

    Parameters:
    event - Contains event specific information.
    See Also:
    open

    d> Class com.sap.rfc.exception.JRfcBaseException

    Class com.sap.rfc.exception.JRfcBaseException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sap.rfc.exception.JRfcBaseException
    

    public class JRfcBaseException
    extends Exception

    This exception class is the superclass of those exceptions that can be thrown from any objects of this framework. Exceptions of class JRfcBaseException and its child classes are declared in the throws clause of the respective methods.

    See Also:
    JRfcBaseRuntimeException

    Constructor Index

    JRfcBaseException()
    Default constructor.
    JRfcBaseException(String)
    Constructor with additional exception info.
    JRfcBaseException(String, Exception)
    Constructor with additional exception info and causing exception.

    Method Index

    getCausingException()
    Gets the exception that caused this exception.
    getClassname()
    Gets the class name of this exception
    getMessage()
    Gets the exception message
    toString()
    Returns this exception as text.

    Constructors

    JRfcBaseException
     public JRfcBaseException()
    
    Default constructor.

    JRfcBaseException
     public JRfcBaseException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcBaseException
     public JRfcBaseException(String s,
                              Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    Methods

    getCausingException
     public Exception getCausingException()
    
    Gets the exception that caused this exception.

    Returns:
    the caused exception
    getClassname
     public String getClassname()
    
    Gets the class name of this exception

    Returns:
    class name derived from this exception base class
    getMessage
     public String getMessage()
    
    Gets the exception message

    Returns:
    exception message
    Overrides:
    getMessage in class Throwable
    toString
     public String toString()
    
    Returns this exception as text.

    Returns:
    exception text
    Overrides:
    toString in class Throwable

     k.>$756$P}./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcbaseexception_mi.htmll$$ Class com.sap.rfc.exception.JRfcBaseRuntimeException

    Class com.sap.rfc.exception.JRfcBaseRuntimeException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
    

    public class JRfcBaseRuntimeException
    extends RuntimeException

    This exception class is the superclass of those exceptions that can be thrown from any object of this framework during the normal operation of the application. A method is not required to declare in its throws clause any subclasses of RuntimeException that might be thrown during the execution of the method but not caught.

    See Also:
    JRfcBaseException

    Constructor Index

    JRfcBaseRuntimeException()
    Default constructor.
    JRfcBaseRuntimeException(String)
    Constructor with additional exception info.
    JRfcBaseRuntimeException(String, Exception)
    Constructor with additional exception info and causing exception.

    Method Index

    getCausingException()
    This method was created by a SmartGuide.
    getClassname()
    This method was created by a SmartGuide.
    getMessage()
    This method was created by a SmartGuide.
    toString()
    This method was created by a SmartGuide.

    Constructors

    JRfcBaseRuntimeException
     public JRfcBaseRuntimeException()
    
    Default constructor.

    JRfcBaseRuntimeException
     public JRfcBaseRuntimeException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcBaseRuntimeException
     public JRfcBaseRuntimeException(String s,
                                     Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    Methods

    getCausingException
     public Exception getCausingException()
    
    This method was created by a SmartGuide.

    Returns:
    java.lang.Exception
    getClassname
     public String getClassname()
    
    This method was created by a SmartGuide.

    Returns:
    java.lang.String
    getMessage
     public String getMessage()
    
    This method was created by a SmartGuide.

    Returns:
    java.lang.String
    Overrides:
    getMessage in class Throwable
    toString
     public String toString()
    
    This method was created by a SmartGuide.

    Returns:
    java.lang.String
    Overrides:
    toString in class Throwable

    o k2A$756$P̨./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcbaseruntimeexception_mi.html$$ Class com.sap.rfc.exception.JRfcClassCastException

    Class com.sap.rfc.exception.JRfcClassCastException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcClassCastException
    

    public class JRfcClassCastException
    extends JRfcBaseRuntimeException

    Thrown to indicate that the code has attempted to cast an object to a subclass of which it is not an instance.


    Constructor Index

    JRfcClassCastException()
    Default constructor.
    JRfcClassCastException(String)
    Constructor with additional exception info.
    JRfcClassCastException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcClassCastException
     public JRfcClassCastException()
    
    Default constructor.

    JRfcClassCastException
     public JRfcClassCastException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcClassCastException
     public JRfcClassCastException(String s,
                                   Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    p kD$756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcclasscastexception_mi.html$$ Class com.sap.rfc.exception.JRfcComplexDataException

    Class com.sap.rfc.exception.JRfcComplexDataException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcComplexDataException
    

    public class JRfcComplexDataException
    extends JRfcBaseRuntimeException

    This exception class is is used as the base class for all exceptions related to complex data items.


    Constructor Index

    JRfcComplexDataException()
    Default constructor.
    JRfcComplexDataException(String)
    Constructor with additional exception info.
    JRfcComplexDataException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcComplexDataException
     public JRfcComplexDataException()
    
    Default constructor.

    JRfcComplexDataException
     public JRfcComplexDataException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcComplexDataException
     public JRfcComplexDataException(String s,
                                     Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    .2//en" kƦG$756$`{./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfccomplexdataexception_mi.html$$ Class com.sap.rfc.exception.JRfcComplexDataNoSuchFieldException

    Class com.sap.rfc.exception.JRfcComplexDataNoSuchFieldException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcComplexDataException
                                               |
                                               +----com.sap.rfc.exception.JRfcComplexDataNoSuchFieldException
    

    public class JRfcComplexDataNoSuchFieldException
    extends JRfcComplexDataException

    This exception class is thrown by complex data types to indicate that the object does not include a field of a specified name or at a specified index.


    Constructor Index

    JRfcComplexDataNoSuchFieldException()
    Default constructor.
    JRfcComplexDataNoSuchFieldException(String)
    Constructor with additional exception info.
    JRfcComplexDataNoSuchFieldException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcComplexDataNoSuchFieldException
     public JRfcComplexDataNoSuchFieldException()
    
    Default constructor.

    JRfcComplexDataNoSuchFieldException
     public JRfcComplexDataNoSuchFieldException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcComplexDataNoSuchFieldException
     public JRfcComplexDataNoSuchFieldException(String s,
                                                Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    on.jr k(J$ 756$`Ϩ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfccomplexdatanosuchfieldexception_mi.html.htm$$ Class com.sap.rfc.exception.JRfcIllegalArgumentException

    Class com.sap.rfc.exception.JRfcIllegalArgumentException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcIllegalArgumentException
    

    public class JRfcIllegalArgumentException
    extends JRfcBaseRuntimeException

    This exception class is thrown to indicate that a method has been passed an illegal or inappropriate argument.


    Constructor Index

    JRfcIllegalArgumentException()
    Default constructor.
    JRfcIllegalArgumentException(String)
    Constructor with additional exception info.
    JRfcIllegalArgumentException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcIllegalArgumentException
     public JRfcIllegalArgumentException()
    
    Default constructor.

    JRfcIllegalArgumentException
     public JRfcIllegalArgumentException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcIllegalArgumentException
     public JRfcIllegalArgumentException(String s,
                                         Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

     kIM$9 756$`9./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcillegalargumentexception_mi.html.ht$$ Class com.sap.rfc.exception.JRfcIllegalStateException

    Class com.sap.rfc.exception.JRfcIllegalStateException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcIllegalStateException
    

    public class JRfcIllegalStateException
    extends JRfcBaseRuntimeException

    This exception class may be thrown to indicate that an object's state does not allow the desired operation.


    Constructor Index

    JRfcIllegalStateException()
    Default constructor.
    JRfcIllegalStateException(String)
    Constructor with additional exception info.
    JRfcIllegalStateException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcIllegalStateException
     public JRfcIllegalStateException()
    
    Default constructor.

    JRfcIllegalStateException
     public JRfcIllegalStateException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcIllegalStateException
     public JRfcIllegalStateException(String s,
                                      Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

     kHP$ 756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcillegalstateexception_mi.htmll.ht$$ Class com.sap.rfc.exception.JRfcIndexOutOfBoundsException

    Class com.sap.rfc.exception.JRfcIndexOutOfBoundsException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcIndexOutOfBoundsException
    

    public class JRfcIndexOutOfBoundsException
    extends JRfcBaseRuntimeException

    This exception class is thrown to indicate that an index of some kind (such as to an array, to a string, or to a vector) is out of range. The index is either negative or greater than or equal to the number of indexed elements.


    Constructor Index

    JRfcIndexOutOfBoundsException()
    Default constructor.
    JRfcIndexOutOfBoundsException(String)
    Constructor with additional exception info.
    JRfcIndexOutOfBoundsException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcIndexOutOfBoundsException
     public JRfcIndexOutOfBoundsException()
    
    Default constructor.

    JRfcIndexOutOfBoundsException
     public JRfcIndexOutOfBoundsException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcIndexOutOfBoundsException
     public JRfcIndexOutOfBoundsException(String s,
                                          Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    s k(iS$C 756$`C./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcindexoutofboundsexception_mi.htmlht$$ Class com.sap.rfc.exception.JRfcIOException

    Class com.sap.rfc.exception.JRfcIOException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sap.rfc.exception.JRfcBaseException
                               |
                               +----com.sap.rfc.exception.JRfcIOException
    

    public class JRfcIOException
    extends JRfcBaseException

    This exception class is thrown to indicate that an input or output exception of some sort has occurred.

    See Also:
    JRfcBaseException

    Constructor Index

    JRfcIOException()
    Default constructor.
    JRfcIOException(String)
    Constructor with additional exception info.
    JRfcIOException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcIOException
     public JRfcIOException()
    
    Default constructor.

    JRfcIOException
     public JRfcIOException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcIOException
     public JRfcIOException(String s,
                            Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    ing= k0%V$ 756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcioexception_mi.html$$ Class com.sap.rfc.exception.JRfcMiddlewareException

    Class com.sap.rfc.exception.JRfcMiddlewareException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcMiddlewareException
    

    public class JRfcMiddlewareException
    extends JRfcBaseRuntimeException

    This exception class is thrown to indicate that something went wrong which is specific to the middleware implementing the Java access to RFC.


    Constructor Index

    JRfcMiddlewareException()
    Default constructor.
    JRfcMiddlewareException(String)
    Constructor with additional exception info.
    JRfcMiddlewareException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcMiddlewareException
     public JRfcMiddlewareException()
    
    Default constructor.

    JRfcMiddlewareException
     public JRfcMiddlewareException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcMiddlewareException
     public JRfcMiddlewareException(String s,
                                    Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

     kY$ 756$`@./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcmiddlewareexception_mi.html$$ Class com.sap.rfc.exception.JRfcNoSuchParameterException

    Class com.sap.rfc.exception.JRfcNoSuchParameterException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcNoSuchParameterException
    

    public class JRfcNoSuchParameterException
    extends JRfcBaseRuntimeException

    This exception is thrown if a parameter with a certain name could not be found.


    Constructor Index

    JRfcNoSuchParameterException()
    Default constructor.
    JRfcNoSuchParameterException(String)
    Constructor with additional exception info.
    JRfcNoSuchParameterException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcNoSuchParameterException
     public JRfcNoSuchParameterException()
    
    Default constructor.

    JRfcNoSuchParameterException
     public JRfcNoSuchParameterException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcNoSuchParameterException
     public JRfcNoSuchParameterException(String s,
                                         Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    t="Ref k\$9 756$`N9./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcnosuchparameterexception_mi.htmlht$$ Class com.sap.rfc.exception.JRfcNullPointerException

    Class com.sap.rfc.exception.JRfcNullPointerException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcNullPointerException
    

    public class JRfcNullPointerException
    extends JRfcBaseRuntimeException

    This exception class is thrown when an application attempts to use a null-pointer in a case where an object is required.


    Constructor Index

    JRfcNullPointerException()
    Default constructor.
    JRfcNullPointerException(String)
    Constructor with additional exception info.
    JRfcNullPointerException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcNullPointerException
     public JRfcNullPointerException()
    
    Default constructor.

    JRfcNullPointerException
     public JRfcNullPointerException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcNullPointerException
     public JRfcNullPointerException(String s,
                                     Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    -- kF_$ 756$`\./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcnullpointerexception_mi.html$$ Class com.sap.rfc.exception.JRfcRemoteAutoCreateException

    Class com.sap.rfc.exception.JRfcRemoteAutoCreateException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sap.rfc.exception.JRfcBaseException
                               |
                               +----com.sap.rfc.exception.JRfcIOException
                                       |
                                       +----com.sap.rfc.exception.JRfcRemoteException
                                               |
                                               +----com.sap.rfc.exception.JRfcRemoteAutoCreateException
    

    public class JRfcRemoteAutoCreateException
    extends JRfcRemoteException

    This exception is thrown to indicate that the automatic creation of an IRfcModule, an IStructure or an ITable failed.

    See Also:
    JRfcRemoteException

    Constructor Index

    JRfcRemoteAutoCreateException()
    Default constructor.
    JRfcRemoteAutoCreateException(String)
    Constructor with additional exception info.
    JRfcRemoteAutoCreateException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcRemoteAutoCreateException
     public JRfcRemoteAutoCreateException()
    
    Default constructor.

    JRfcRemoteAutoCreateException
     public JRfcRemoteAutoCreateException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcRemoteAutoCreateException
     public JRfcRemoteAutoCreateException(String s,
                                          Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    ta kDb$C 756$`mC./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcremoteautocreateexception_mi.htmlht$$ Class com.sap.rfc.exception.JRfcRemoteException

    Class com.sap.rfc.exception.JRfcRemoteException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sap.rfc.exception.JRfcBaseException
                               |
                               +----com.sap.rfc.exception.JRfcIOException
                                       |
                                       +----com.sap.rfc.exception.JRfcRemoteException
    

    public class JRfcRemoteException
    extends JRfcIOException

    This exception is thrown to indicate that some kind of error occurred when using a remote object.

    See Also:
    JRfcIOException

    Constructor Index

    JRfcRemoteException()
    Default constructor.
    JRfcRemoteException(String)
    Constructor with additional exception info.
    JRfcRemoteException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcRemoteException
     public JRfcRemoteException()
    
    Default constructor.

    JRfcRemoteException
     public JRfcRemoteException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcRemoteException
     public JRfcRemoteException(String s,
                                Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    2//en" kje$ 756$`{./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcremoteexception_mi.html_mi.$$ Class com.sap.rfc.exception.JRfcRemoteOutOfMemoryError

    Class com.sap.rfc.exception.JRfcRemoteOutOfMemoryError

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Error
                       |
                       +----com.sap.rfc.exception.JRfcRemoteOutOfMemoryError
    

    public class JRfcRemoteOutOfMemoryError
    extends Error

    This exception is thrown to indicate that the remote server runs out of memory.

    See Also:
    JRfcRemoteException

    Constructor Index

    JRfcRemoteOutOfMemoryError()
    Default constructor.
    JRfcRemoteOutOfMemoryError(String)
    Constructor with additional exception info.

    Constructors

    JRfcRemoteOutOfMemoryError
     public JRfcRemoteOutOfMemoryError()
    
    Default constructor.

    JRfcRemoteOutOfMemoryError
     public JRfcRemoteOutOfMemoryError(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text

    .e k8h$W 756$`W./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcremoteoutofmemoryerror_mi.htmllht$$ Class com.sap.rfc.exception.JRfcRemoteServerException

    Class com.sap.rfc.exception.JRfcRemoteServerException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sap.rfc.exception.JRfcBaseException
                               |
                               +----com.sap.rfc.exception.JRfcIOException
                                       |
                                       +----com.sap.rfc.exception.JRfcRemoteException
                                               |
                                               +----com.sap.rfc.exception.JRfcRemoteServerException
    

    public class JRfcRemoteServerException
    extends JRfcRemoteException

    This exception is thrown to indicate that some error occurred in the remote server of certain middleware.

    See Also:
    JRfcRemoteException

    Constructor Index

    JRfcRemoteServerException()
    Default constructor.
    JRfcRemoteServerException(String)
    Constructor with additional exception info.
    JRfcRemoteServerException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcRemoteServerException
     public JRfcRemoteServerException()
    
    Default constructor.

    JRfcRemoteServerException
     public JRfcRemoteServerException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcRemoteServerException
     public JRfcRemoteServerException(String s,
                                      Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    > Class com.sap.rfc.exception.JRfcRfcAbapException

    Class com.sap.rfc.exception.JRfcRfcAbapException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sap.rfc.exception.JRfcBaseException
                               |
                               +----com.sap.rfc.exception.JRfcIOException
                                       |
                                       +----com.sap.rfc.exception.JRfcRemoteException
                                               |
                                               +----com.sap.rfc.exception.JRfcRfcBaseException
                                                       |
                                                       +----com.sap.rfc.exception.JRfcRfcAbapException
    

    public class JRfcRfcAbapException
    extends JRfcRfcBaseException

    This class is used for exceptions thrown by ABAP program code when executing a remote function call module.

    See Also:
    JRfcBaseException, JRfcRfcBaseException

    Constructor Index

    JRfcRfcAbapException()
    Default constructor.
    JRfcRfcAbapException(String)
    Constructor with additional exception info.
    JRfcRfcAbapException(String, Exception)
    Constructor with additional exception info and causing exception.
    JRfcRfcAbapException(String, Exception, String)
    This method was created by a SmartGuide.
    JRfcRfcAbapException(String, String)
    This method was created by a SmartGuide.

    Method Index

    getAbapMessage()
    This method was created by a SmartGuide.
    toString()
    Describes the exception detail in a string.

    Constructors

    JRfcRfcAbapException
     public JRfcRfcAbapException()
    
    Default constructor.

    JRfcRfcAbapException
     public JRfcRfcAbapException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcRfcAbapException
     public JRfcRfcAbapException(String s,
                                 Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception
    JRfcRfcAbapException
     public JRfcRfcAbapException(String s,
                                 Exception causingExc,
                                 String abapMessage)
    
    This method was created by a SmartGuide.

    Parameters:
    s - java.lang.String
    causingExc - java.lang.Exception
    abapMessage - java.lang.String
    JRfcRfcAbapException
     public JRfcRfcAbapException(String s,
                                 String abapMessage)
    
    This method was created by a SmartGuide.

    Parameters:
    s - java.lang.String
    abapMessage - java.lang.String

    Methods

    getAbapMessage
     public String getAbapMessage()
    
    This method was created by a SmartGuide.

    Returns:
    java.lang.String
    toString
     public String toString()
    
    Describes the exception detail in a string.

    Overrides:
    toString in class JRfcBaseException

    Rfc k~}n$r 756$Pr./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcrfcabapexception_mi.htmltml$$ Class com.sap.rfc.exception.JRfcRfcBaseException

    Class com.sap.rfc.exception.JRfcRfcBaseException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sap.rfc.exception.JRfcBaseException
                               |
                               +----com.sap.rfc.exception.JRfcIOException
                                       |
                                       +----com.sap.rfc.exception.JRfcRemoteException
                                               |
                                               +----com.sap.rfc.exception.JRfcRfcBaseException
    

    public class JRfcRfcBaseException
    extends JRfcRemoteException

    This class is the base class for exceptions thrown when an attempt to communicate with a R/3 system fails. See the inherited exception classes for the various reasons to fail.

    See Also:
    JRfcRemoteException, JRfcRfcCommunicationException, JRfcRfcAuthorizationException, JRfcRfcConnectionException, JRfcRfcParameterException, JRfcRfcAbapException

    Constructor Index

    JRfcRfcBaseException()
    Default constructor.
    JRfcRfcBaseException(String)
    Constructor with additional exception info.
    JRfcRfcBaseException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcRfcBaseException
     public JRfcRfcBaseException()
    
    Default constructor.

    JRfcRfcBaseException
     public JRfcRfcBaseException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcRfcBaseException
     public JRfcRfcBaseException(String s,
                                 Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    " kzqq$ 756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcrfcbaseexception_mi.htmltml$$ Class com.sap.rfc.exception.JRfcRfcConnectionException

    Class com.sap.rfc.exception.JRfcRfcConnectionException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sap.rfc.exception.JRfcBaseException
                               |
                               +----com.sap.rfc.exception.JRfcIOException
                                       |
                                       +----com.sap.rfc.exception.JRfcRemoteException
                                               |
                                               +----com.sap.rfc.exception.JRfcRfcBaseException
                                                       |
                                                       +----com.sap.rfc.exception.JRfcRfcConnectionException
    

    public class JRfcRfcConnectionException
    extends JRfcRfcBaseException

    This exception is thrown when there is any communication problem with the R/3 system. This includes all problems concerning unreachable or unavailable servers (message server, application server, router or ORB server). The RfcConnectionException class deals with all errors based on the transport layer.

    See Also:
    JRfcRfcBaseException

    Variable Index

    strIntstat
    Internal description of the RFC connection.
    strKey
    RFC error code.
    strMessage
    Text describing the error.
    strStatus
    State of the RFC connection.

    Constructor Index

    JRfcRfcConnectionException()
    Default constructor.
    JRfcRfcConnectionException(String)
    Constructor with additional exception info.
    JRfcRfcConnectionException(String, Exception)
    Constructor with additional exception info and causing exception.
    JRfcRfcConnectionException(String, String, String, String)
    Constructor with detailed connection exception information.
    JRfcRfcConnectionException(String, String, String, String, Exception)
    Constructor with detailed connection exception information.

    Method Index

    toString()
    Describes the exception detail in a string.

    Variables

    strKey
     public String strKey
    
    RFC error code.

    strStatus
     public String strStatus
    
    State of the RFC connection.

    strMessage
     public String strMessage
    
    Text describing the error.

    strIntstat
     public String strIntstat
    
    Internal description of the RFC connection.


    Constructors

    JRfcRfcConnectionException
     public JRfcRfcConnectionException()
    
    Default constructor.

    JRfcRfcConnectionException
     public JRfcRfcConnectionException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcRfcConnectionException
     public JRfcRfcConnectionException(String s,
                                       Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception
    JRfcRfcConnectionException
     public JRfcRfcConnectionException(String strKey,
                                       String strStatus,
                                       String strMessage,
                                       String strIntstat)
    
    Constructor with detailed connection exception information.

    Parameters:
    strKey - key
    strStatus - status
    strMessage - message
    strIntstat - intstat
    JRfcRfcConnectionException
     public JRfcRfcConnectionException(String strKey,
                                       String strStatus,
                                       String strMessage,
                                       String strIntstat,
                                       Exception ex)
    
    Constructor with detailed connection exception information.

    Parameters:
    strKey - key
    strStatus - status
    strMessage - message
    strIntstat - intstat

    Methods

    toString
     public String toString()
    
    Describes the exception detail in a string.

    Overrides:
    toString in class JRfcBaseException

     k:t$ 756$@ѩ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcrfcconnectionexception_mi.htmllht$$ Class com.sap.rfc.exception.JRfcRfcParameterException

    Class com.sap.rfc.exception.JRfcRfcParameterException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.sap.rfc.exception.JRfcBaseException
                               |
                               +----com.sap.rfc.exception.JRfcIOException
                                       |
                                       +----com.sap.rfc.exception.JRfcRemoteException
                                               |
                                               +----com.sap.rfc.exception.JRfcRfcBaseException
                                                       |
                                                       +----com.sap.rfc.exception.JRfcRfcParameterException
    

    public class JRfcRfcParameterException
    extends JRfcRfcBaseException

    This exception is thrown if the interface of a remotely called function module does not fit to the parameters provided. This includes missing obligatory parameters, parameters of the wrong type or names of function modules that do not exist.

    See Also:
    JRfcBaseException, JRfcRfcBaseException

    Constructor Index

    JRfcRfcParameterException()
    Default constructor.
    JRfcRfcParameterException(String)
    Constructor with additional exception info.
    JRfcRfcParameterException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcRfcParameterException
     public JRfcRfcParameterException()
    
    Default constructor.

    JRfcRfcParameterException
     public JRfcRfcParameterException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcRfcParameterException
     public JRfcRfcParameterException(String s,
                                      Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    c. kw$ 756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcrfcparameterexception_mi.htmllht$$ Class com.sap.rfc.exception.JRfcSimpleDataAbapConversionException

    Class com.sap.rfc.exception.JRfcSimpleDataAbapConversionException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcSimpleDataException
                                               |
                                               +----com.sap.rfc.exception.JRfcSimpleDataAbapConversionException
    

    public class JRfcSimpleDataAbapConversionException
    extends JRfcSimpleDataException

    This exception class is thrown to indicate that an instance of type ISimple is not able to convert its data into the corresponding Abap data type. For example: A Simple is mapped to an Abap field of type CHAR with a length of 30. Any attempt to store a java.lang.String with a length greater than 30 would result in throwing this exception.


    Constructor Index

    JRfcSimpleDataAbapConversionException()
    Default constructor.
    JRfcSimpleDataAbapConversionException(String)
    Constructor with additional exception info.
    JRfcSimpleDataAbapConversionException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcSimpleDataAbapConversionException
     public JRfcSimpleDataAbapConversionException()
    
    Default constructor.

    JRfcSimpleDataAbapConversionException
     public JRfcSimpleDataAbapConversionException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcSimpleDataAbapConversionException
     public JRfcSimpleDataAbapConversionException(String s,
                                                  Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    > Class com.sap.rfc.exception.JRfcSimpleDataCastException

    Class com.sap.rfc.exception.JRfcSimpleDataCastException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcSimpleDataException
                                               |
                                               +----com.sap.rfc.exception.JRfcSimpleDataCastException
    

    public class JRfcSimpleDataCastException
    extends JRfcSimpleDataException

    This exception class is thrown to indicate that it was not able to cast its internal data representation to the desired type. For example: SimpleDataCastException is thrown if the method getByte() is invoked on an object of a class implementing ISimpleField and the object contains data which cannot be interpreted as a byte (e.g. 12345, "Foo", 1.2345, "19971216").

    See Also:
    JRfcBaseRuntimeException

    Constructor Index

    JRfcSimpleDataCastException()
    Default constructor.
    JRfcSimpleDataCastException(String)
    Constructor with additional exception info.
    JRfcSimpleDataCastException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcSimpleDataCastException
     public JRfcSimpleDataCastException()
    
    Default constructor.

    JRfcSimpleDataCastException
     public JRfcSimpleDataCastException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcSimpleDataCastException
     public JRfcSimpleDataCastException(String s,
                                        Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    l  k}$/756$`/./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcsimpledatacastexception_mi.html_mi.$$ Class com.sap.rfc.exception.JRfcSimpleDataDateTimeFormatException

    Class com.sap.rfc.exception.JRfcSimpleDataDateTimeFormatException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcSimpleDataException
                                               |
                                               +----com.sap.rfc.exception.JRfcSimpleDataDateTimeFormatException
    

    public class JRfcSimpleDataDateTimeFormatException
    extends JRfcSimpleDataException

    This exception is thrown to indicate that the attempt was made to convert a string to a date or time object, but the string does not have the right format.


    Constructor Index

    JRfcSimpleDataDateTimeFormatException()
    Default constructor.
    JRfcSimpleDataDateTimeFormatException(String)
    Constructor with additional exception info.
    JRfcSimpleDataDateTimeFormatException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcSimpleDataDateTimeFormatException
     public JRfcSimpleDataDateTimeFormatException()
    
    Default constructor.

    JRfcSimpleDataDateTimeFormatException
     public JRfcSimpleDataDateTimeFormatException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcSimpleDataDateTimeFormatException
     public JRfcSimpleDataDateTimeFormatException(String s,
                                                  Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    Wher kS$756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcsimpledatadatetimeformatexception_mi.htmltm$$ Class com.sap.rfc.exception.JRfcSimpleDataException

    Class com.sap.rfc.exception.JRfcSimpleDataException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcSimpleDataException
    

    public class JRfcSimpleDataException
    extends JRfcBaseRuntimeException

    This exception class is is used as the base class for all exceptions related to simple data items.


    Constructor Index

    JRfcSimpleDataException()
    Default constructor.
    JRfcSimpleDataException(String)
    Constructor with additional exception info.
    JRfcSimpleDataException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcSimpleDataException
     public JRfcSimpleDataException()
    
    Default constructor.

    JRfcSimpleDataException
     public JRfcSimpleDataException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcSimpleDataException
     public JRfcSimpleDataException(String s,
                                    Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    blic "- k겊$756$` ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcsimpledataexception_mi.html$$ Class com.sap.rfc.exception.JRfcSimpleDataNumberFormatException

    Class com.sap.rfc.exception.JRfcSimpleDataNumberFormatException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcSimpleDataException
                                               |
                                               +----com.sap.rfc.exception.JRfcSimpleDataNumberFormatException
    

    public class JRfcSimpleDataNumberFormatException
    extends JRfcSimpleDataException

    This exception is thrown to indicate that the attempt was made to convert a string to one of the numeric types, but the string does not have the right format.


    Constructor Index

    JRfcSimpleDataNumberFormatException()
    Default constructor.
    JRfcSimpleDataNumberFormatException(String)
    Constructor with additional exception info.
    JRfcSimpleDataNumberFormatException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcSimpleDataNumberFormatException
     public JRfcSimpleDataNumberFormatException()
    
    Default constructor.

    JRfcSimpleDataNumberFormatException
     public JRfcSimpleDataNumberFormatException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcSimpleDataNumberFormatException
     public JRfcSimpleDataNumberFormatException(String s,
                                                Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    csimple k$756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcsimpledatanumberformatexception_mi.htmltm$$ Class com.sap.rfc.exception.JRfcSimpleDataUnknownTypeException

    Class com.sap.rfc.exception.JRfcSimpleDataUnknownTypeException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----java.lang.RuntimeException
                               |
                               +----com.sap.rfc.exception.JRfcBaseRuntimeException
                                       |
                                       +----com.sap.rfc.exception.JRfcSimpleDataException
                                               |
                                               +----com.sap.rfc.exception.JRfcSimpleDataUnknownTypeException
    

    public class JRfcSimpleDataUnknownTypeException
    extends JRfcSimpleDataException

    This exception is thrown to indicate that the attempt was made to set a simple data item to an unknown type.

    See Also:
    JRfcBaseRuntimeException

    Constructor Index

    JRfcSimpleDataUnknownTypeException()
    Default constructor.
    JRfcSimpleDataUnknownTypeException(String)
    Constructor with additional exception info.
    JRfcSimpleDataUnknownTypeException(String, Exception)
    Constructor with additional exception info and causing exception.

    Constructors

    JRfcSimpleDataUnknownTypeException
     public JRfcSimpleDataUnknownTypeException()
    
    Default constructor.

    JRfcSimpleDataUnknownTypeException
     public JRfcSimpleDataUnknownTypeException(String s)
    
    Constructor with additional exception info.

    Parameters:
    s - additional exception text
    JRfcSimpleDataUnknownTypeException
     public JRfcSimpleDataUnknownTypeException(String s,
                                               Exception causingExc)
    
    Constructor with additional exception info and causing exception.

    Parameters:
    s - additional exception text
    causingExc - another exception that caused this exception

    n"> k$u756$`@u./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.exception.jrfcsimpledataunknowntypeexception_mi.htmltm$$ Class com.sap.rfc.FactoryManager

    Class com.sap.rfc.FactoryManager

    java.lang.Object
       |
       +----com.sap.rfc.FactoryManager
    

    public class FactoryManager
    extends Object

    This class is used to manage factories for specific middlewares. To add a new middleware the private method createFactories() has to be extended.

    See Also:
    IRfcConnectionFactory, IRfcModuleFactory, ISimpleFactory, IStructureFactory, ITableFactory

    Method Index

    getAPIRelease()
    Gets the release number of the common RFC interface for Java.
    getMiddlewareInfo()
    Gets the middlewareInfo property value.
    getRfcConnectionFactory()
    Gets a reference to a factory for IRfcConnections.
    getRfcModuleFactory()
    Gets a reference to a factory for IRfcModules.
    getSimpleFactory()
    Gets a reference to a factory for ISimples.
    getSingleInstance()
    Gets the single instance (singleton) of class FactoryManager.
    getStructureFactory()
    Gets a reference to a factory for IStructures.
    getTableFactory()
    Gets a reference to a factory for ITables.
    setMiddlewareInfo(MiddlewareInfo)
    Sets the middlewareInfo property of the FactoryManager.

    Methods

    getAPIRelease
     public String getAPIRelease()
    
    Gets the release number of the common RFC interface for Java.

    Returns:
    The release number of the RFC interface for Java.
    getMiddlewareInfo
     public synchronized MiddlewareInfo getMiddlewareInfo()
    
    Gets the middlewareInfo property value. This method can be used to find out at runtime which middleware is used.

    Returns:
    The middlewareInfo property value.
    See Also:
    setMiddlewareInfo
    getRfcConnectionFactory
     public IRfcConnectionFactory getRfcConnectionFactory()
    
    Gets a reference to a factory for IRfcConnections. This method returns null if no middleware was choosen yet.

    Returns:
    The factory for IRfcConnections.
    getRfcModuleFactory
     public IRfcModuleFactory getRfcModuleFactory()
    
    Gets a reference to a factory for IRfcModules. This method returns null if no middleware was choosen yet.

    Returns:
    The factory for IRfcModules.
    getSimpleFactory
     public ISimpleFactory getSimpleFactory()
    
    Gets a reference to a factory for ISimples. This method returns null if no middleware was choosen yet.

    Returns:
    The factory for ISimples.
    getSingleInstance
     public static synchronized FactoryManager getSingleInstance()
    
    Gets the single instance (singleton) of class FactoryManager. If the instance does not exist yet then it is created. Please use getSingleInstance() whenever you need to use the FactoryManager.

    Returns:
    The single instance of class FactoryManager.
    getStructureFactory
     public IStructureFactory getStructureFactory()
    
    Gets a reference to a factory for IStructures. This method returns null if no middleware was choosen yet.

    Returns:
    The factory for IStructures.
    getTableFactory
     public ITableFactory getTableFactory()
    
    Gets a reference to a factory for ITables. This method returns null if no middleware was choosen yet.

    Returns:
    The factory for ITables.
    setMiddlewareInfo
     public synchronized void setMiddlewareInfo(MiddlewareInfo middlewareInfo)
    
    Sets the middlewareInfo property of the FactoryManager. Note:If this property is set, the private method createFactories() is called to create the factories for the middleware that is set in the instance of MiddlewareInfo passed to this method.

    Parameters:
    middlewareInfo - The instance of class MiddlewareInfo to be used for creating the factories.
    See Also:
    getMiddlewareInfo

    a k;$756$PT./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.factorymanager_mi.htmlunk$$ Interface com.sap.rfc.IComplexParam

    Interface com.sap.rfc.IComplexParam

    public interface IComplexParam
    extends IParameter

    This interface is the base interface for complex parameters like structures and tables.

    See Also:
    IStructure, ITable

    Method Index

    getComplexInfo()
    Gets the complex info associated with this IComplexParam.
    setComplexInfo(ComplexInfo)
    Sets the complex info for this IComplexParam.

    Methods

    getComplexInfo
     public abstract ComplexInfo getComplexInfo()
    
    Gets the complex info associated with this IComplexParam.

    Returns:
    The complex info associated with this IComplexParam.
    setComplexInfo
     public abstract void setComplexInfo(ComplexInfo complexInfo) throws JRfcNullPointerException, JRfcIllegalStateException
    
    Sets the complex info for this IComplexParam.

    Parameters:
    complexInfo - The ComplexInfo for this IComplexParam.
    Throws: JRfcNullPointerException
    a null reference was passed instead of a valid ComplexInfo instance
    Throws: JRfcIllegalStateException
    it is not allowed to set the ComplexInfo again if it was set before

    XK9 kv<$756$p./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.icomplexparam_mi.htmlunk$$ Interface com.sap.rfc.ICursor

    Interface com.sap.rfc.ICursor

    public interface ICursor

    This class provides methods for cursor management with a connected ITable object. The cursor always points to one specific row of the ITable object.
    Its purpose is only to serve as a tool for table handling. Cursor offers no functionality that could not also be solved using the methods of ITable.

    See Also:
    ITable

    Method Index

    getCurrentRow()
    Gets the row that the row pointer currently points to.
    getFirstRow()
    Sets the row pointer to the first row in the connected table.
    getLastRow()
    Sets the row pointer to the last row in the connected table.
    getNextRow()
    Sets the row pointer to the next row in the connected table.
    getPosition()
    Gets the row index position of the row that the row pointer currently points to in the connected table.
    getPreviousRow()
    Sets the row pointer to the previous row in the connected table The row is returned as a clone of the original table row.
    getTable()
    Gets the table which this ICursor is associated with.
    setPosition(int)
    Sets the row pointer to the row at the given row index position in the connected table.
    toString()
    Returns a string representation of the ICursor object.

    Methods

    getCurrentRow
     public abstract IRow getCurrentRow() throws JRfcRemoteServerException, JRfcMiddlewareException, JRfcIllegalStateException
    
    Gets the row that the row pointer currently points to. The row is returned as a clone of the original table row. Any changes that will be made to the row will have no effect on the table data.

    Returns:
    Copy of the row that the row pointer currently points to. null if the current cursor position does not point to a valid row.
    Throws: JRfcRemoteServerException
    unspecific error occurred in the remote server
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcIllegalStateException
    no meta-data information has been provided to the table, thus no row can be created
    getFirstRow
     public abstract IRow getFirstRow() throws JRfcRemoteServerException, JRfcMiddlewareException, JRfcIllegalStateException
    
    Sets the row pointer to the first row in the connected table. The row is returned as a clone of the original table row. Any changes that will be made to the row will have no effect on the table data.

    Returns:
    Copy of the first row in the connected table. null if the table is empty.
    Throws: JRfcRemoteServerException
    unspecific error occurred in the remote server
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcIllegalStateException
    no meta-data information has been provided to the table, thus no row can be created
    getLastRow
     public abstract IRow getLastRow() throws JRfcRemoteServerException, JRfcMiddlewareException, JRfcIllegalStateException
    
    Sets the row pointer to the last row in the connected table. The row is returned as a clone of the original table row. Any changes that will be made to the row will have no effect on the table data.

    Returns:
    Copy of the last row in the connected table. null if the table is empty.
    Throws: JRfcRemoteServerException
    unspecific error occurred in the remote server
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcIllegalStateException
    no meta-data information has been provided to the table, thus no row can be created
    getNextRow
     public abstract IRow getNextRow() throws JRfcRemoteServerException, JRfcMiddlewareException, JRfcIllegalStateException
    
    Sets the row pointer to the next row in the connected table. The row is returned as a clone of the original table row. Any changes that will be made to the row will have no effect on the table data.

    Returns:
    Copy of the next row of the connected table. null if past the end of the table.
    Throws: JRfcRemoteServerException
    unspecific error occurred in the remote server
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcIllegalStateException
    no meta-data information has been provided to the table, thus no row can be created
    getPosition
     public abstract int getPosition()
    
    Gets the row index position of the row that the row pointer currently points to in the connected table.

    Returns:
    Index position of the current row pointer (row index starts with 0)
    getPreviousRow
     public abstract IRow getPreviousRow() throws JRfcRemoteServerException, JRfcMiddlewareException, JRfcIllegalStateException
    
    Sets the row pointer to the previous row in the connected table The row is returned as a clone of the original table row. Any changes that will be made to the row will have no effect on the table data.

    Returns:
    Copy of the previous row of the connected table. null if past the beginning of the table.
    Throws: JRfcRemoteServerException
    unspecific error occurred in the remote server
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcIllegalStateException
    no meta-data information has been provided to the table, thus no row can be created
    getTable
     public abstract ITable getTable()
    
    Gets the table which this ICursor is associated with.

    Returns:
    The table which this ICursor is associated with.
    setPosition
     public abstract void setPosition(int position) throws JRfcRemoteServerException, JRfcIndexOutOfBoundsException, JRfcIllegalStateException
    
    Sets the row pointer to the row at the given row index position in the connected table.

    Parameters:
    position - IRow index position for the row pointer (row index starts with 0)
    Throws: JRfcRemoteServerException
    unspecific error occurred in the remote server
    Throws: JRfcIndexOutOfBoundsException
    there is no valid row at the given position
    Throws: JRfcIllegalStateException
    object's state does not allow this operation
    toString
     public abstract String toString()
    
    Returns a string representation of the ICursor object.

    Returns:
    A string representation of the ICursor object.
    Overrides:
    toString in class Object

    wi k$4756$P24./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.icursor_mi.htmlht$$ Interface com.sap.rfc.IField

    Interface com.sap.rfc.IField

    public interface IField
    extends Cloneable, Serializable

    This interface is the base interface for all field interfaces.

    See Also:
    ISimpleField, IComplexField

    Method Index

    clear()
    Clears the content of this field
    clone()
    Clones the field.
    getFieldInfo()
    Gets the field info object describing this field.
    getFieldName()
    Gets the name of this field.

    Methods

    clear
     public abstract void clear()
    
    Clears the content of this field

    clone
     public abstract Object clone() throws CloneNotSupportedException
    
    Clones the field. Creates a new object of the class implementing this interface. It then initializes each of the new object's fields by assigning it the same value as the corresponding field in this object. No constructor is called.

    Returns:
    A copy of the original object.
    Throws: CloneNotSupportedException
    this field can not be cloned.
    Overrides:
    clone in class Object
    getFieldInfo
     public abstract IFieldInfo getFieldInfo()
    
    Gets the field info object describing this field.

    Returns:
    The field info object containing the meta information of this field.
    See Also:
    IFieldInfo
    getFieldName
     public abstract String getFieldName()
    
    Gets the name of this field.

    Returns:
    The field name of this field.

    fcIn k07$J756$`J./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.ifield_mi.htmlht$$ Interface com.sap.rfc.IFieldInfo

    Interface com.sap.rfc.IFieldInfo

    public interface IFieldInfo
    extends Cloneable, Serializable

    This interface sets the base interface for field infos. The implementing classes will store RFC meta information for Java objects representing a RFC parameter These information are required for identifying and converting the Java object data into RFC data and vice versa.

    See Also:
    SimpleInfo, ComplexInfo

    Variable Index

    INVALID_TYPE
    The field info does not contain a valid RFC type
    RFCTYPE_ABAP4OBJECT
    ABAP/4 object (internal use)
    RFCTYPE_BCD
    Packed number:BCD number, any length between 1 and 16 bytes
    RFCTYPE_BYTE
    Raw data, binary, fixed length, zero padded.
    RFCTYPE_CHAR
    1-byte or multibyte character.Fixed sized, blank padded
    RFCTYPE_DATE
    Date ( YYYYYMMDD )
    RFCTYPE_DATE_1
    Old fashioned date, obsolete, not directly supported by ABAP/4.
    RFCTYPE_DATE_2
    Old fashioned date, obsolete, not directly supported by ABAP/4.
    RFCTYPE_FLOAT
    Floating point,double precission
    RFCTYPE_INT
    4-byte integer
    RFCTYPE_INT1
    1-byte integer, obsolete, not directly supported by ABAP/4.
    RFCTYPE_INT2
    2-byte integer, obsolete, not directly supported by ABAP/4.
    RFCTYPE_ITAB
    Internal table
    RFCTYPE_IUNKNOWN
    An IUnknown object can only be used in a COM/OLE environment.
    RFCTYPE_NULL
    Not supported data type
    RFCTYPE_NUM
    Digits, fixed size,'0' padded.
    RFCTYPE_SAPAUTOMATION
    SAP automation object, SAPGUI only, internal use.
    RFCTYPE_STRUCTURE
    A structure (internal use)
    RFCTYPE_STUB
    Remote object's stub (internal use)
    RFCTYPE_TIME
    Time (HHMMSS)
    RFCTYPE_WCHAR
    Wide character string, blank padded.
    RFCTYPE_WIDE_2
    Wide character 2 byte (internal use)
    RFCTYPE_WIDE_4
    Wide character 4 byte (internal use)
    RFCTYPE_WSTRING
    A wide character string zero terminated, if given size is big enough.
    UNINITIALIZED
    The field info was not initialized yet

    Method Index

    clone()
    Clones the field information.
    getFieldName()
    Gets field name This abstract method requires the interface implementing classes to provide a method which returns the field name of the RFC data field or structure described by the instantiated object.
    getLength()
    Gets the length of the RFC data field/structure This abstract method requires the interface implementing classes to provide a method which returns the length of the RFC data field or structure described by the instantiated object.
    getType()
    get RFC data type This abstract method requires the interface implementing classes to provide a method which returns the RFC data type of the RFC data field or structure described by the instantiated object.
    isFilled()
    Checks if the instantiated object is filled

    Variables

    UNINITIALIZED
     public static final int UNINITIALIZED
    
    The field info was not initialized yet

    INVALID_TYPE
     public static final int INVALID_TYPE
    
    The field info does not contain a valid RFC type

    RFCTYPE_CHAR
     public static final int RFCTYPE_CHAR
    
    1-byte or multibyte character.Fixed sized, blank padded

    RFCTYPE_DATE
     public static final int RFCTYPE_DATE
    
    Date ( YYYYYMMDD )

    RFCTYPE_BCD
     public static final int RFCTYPE_BCD
    
    Packed number:BCD number, any length between 1 and 16 bytes

    RFCTYPE_TIME
     public static final int RFCTYPE_TIME
    
    Time (HHMMSS)

    RFCTYPE_BYTE
     public static final int RFCTYPE_BYTE
    
    Raw data, binary, fixed length, zero padded.

    RFCTYPE_ITAB
     public static final int RFCTYPE_ITAB
    
    Internal table

    RFCTYPE_NUM
     public static final int RFCTYPE_NUM
    
    Digits, fixed size,'0' padded.

    RFCTYPE_FLOAT
     public static final int RFCTYPE_FLOAT
    
    Floating point,double precission

    RFCTYPE_INT
     public static final int RFCTYPE_INT
    
    4-byte integer

    RFCTYPE_INT2
     public static final int RFCTYPE_INT2
    
    2-byte integer, obsolete, not directly supported by ABAP/4.

    RFCTYPE_INT1
     public static final int RFCTYPE_INT1
    
    1-byte integer, obsolete, not directly supported by ABAP/4.

    RFCTYPE_DATE_1
     public static final int RFCTYPE_DATE_1
    
    Old fashioned date, obsolete, not directly supported by ABAP/4.

    RFCTYPE_DATE_2
     public static final int RFCTYPE_DATE_2
    
    Old fashioned date, obsolete, not directly supported by ABAP/4.

    RFCTYPE_NULL
     public static final int RFCTYPE_NULL
    
    Not supported data type

    RFCTYPE_WIDE_2
     public static final int RFCTYPE_WIDE_2
    
    Wide character 2 byte (internal use)

    RFCTYPE_WIDE_4
     public static final int RFCTYPE_WIDE_4
    
    Wide character 4 byte (internal use)

    RFCTYPE_STRUCTURE
     public static final int RFCTYPE_STRUCTURE
    
    A structure (internal use)

    RFCTYPE_ABAP4OBJECT
     public static final int RFCTYPE_ABAP4OBJECT
    
    ABAP/4 object (internal use)

    RFCTYPE_IUNKNOWN
     public static final int RFCTYPE_IUNKNOWN
    
    An IUnknown object can only be used in a COM/OLE environment.

    RFCTYPE_WSTRING
     public static final int RFCTYPE_WSTRING
    
    A wide character string zero terminated, if given size is big enough.

    RFCTYPE_SAPAUTOMATION
     public static final int RFCTYPE_SAPAUTOMATION
    
    SAP automation object, SAPGUI only, internal use.

    RFCTYPE_STUB
     public static final int RFCTYPE_STUB
    
    Remote object's stub (internal use)

    RFCTYPE_WCHAR
     public static final int RFCTYPE_WCHAR
    
    Wide character string, blank padded.


    Methods

    clone
     public abstract Object clone()
    
    Clones the field information. Creates a new object of the class implementing this interface. It then initializes each of the new object's fields by assigning it the same value as the corresponding field in this object. No constructor is called.

    Returns:
    A copy of the original object.
    Overrides:
    clone in class Object
    getFieldName
     public abstract String getFieldName()
    
    Gets field name This abstract method requires the interface implementing classes to provide a method which returns the field name of the RFC data field or structure described by the instantiated object.

    Returns:
    The field name of the data field described by this meta information object.
    getLength
     public abstract int getLength()
    
    Gets the length of the RFC data field/structure This abstract method requires the interface implementing classes to provide a method which returns the length of the RFC data field or structure described by the instantiated object.

    Returns:
    The length of the RFC data field/structure
    getType
     public abstract int getType()
    
    get RFC data type This abstract method requires the interface implementing classes to provide a method which returns the RFC data type of the RFC data field or structure described by the instantiated object.

    Returns:
    The RFC data type
    isFilled
     public abstract boolean isFilled()
    
    Checks if the instantiated object is filled

    Returns:
    Returns false if the field info is not set yet

    al k:$C 756$تC ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.ifieldinfo_mi.html$$ Interface com.sap.rfc.IImpExpParam

    Interface com.sap.rfc.IImpExpParam

    public interface IImpExpParam
    extends IParameter

    This interface is the base interface for classes used as import and/or export parameters in RFC functions.

    See Also:
    ISimpleParam, IStructure

    ef kX$756$p./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.iimpexpparam_mi.htmlunk$$ Interface com.sap.rfc.IParameter

    Interface com.sap.rfc.IParameter

    public interface IParameter
    extends Cloneable

    This interface is the base interface for classes used as parameters in RFC functions.

    See Also:
    IImpExpParam, IComplexParam

    Method Index

    clone()
    Clones the given parameter.
    getFieldInfo()
    Gets the field info object of this parameter.
    getParameterName()
    Gets the name of this parameter used during an RFC call.
    isShareable()
    The isShareable method returns false if this parameter can only be used with one instance of IRfcModule.
    setFieldInfo(IFieldInfo)
    Sets the field info containing the meta information for this parameter.
    setParameterName(String)
    Sets the parameter name for this parameter.

    Methods

    clone
     public abstract Object clone() throws CloneNotSupportedException
    
    Clones the given parameter. Creates a new object of the class implementing this interface. It then initializes each of the new object's fields by assigning it the same value as the corresponding field in this object. No constructor is called.

    Returns:
    A copy of the original object.
    Throws: CloneNotSupportedException
    this parameter can not be cloned.
    Overrides:
    clone in class Object
    getFieldInfo
     public abstract IFieldInfo getFieldInfo()
    
    Gets the field info object of this parameter. Depending if this parameter is a simple or a complex data type an instance of class SimpleInfo or ComplexInfo is returned.

    Returns:
    The field info object
    See Also:
    SimpleInfo, ComplexInfo
    getParameterName
     public abstract String getParameterName()
    
    Gets the name of this parameter used during an RFC call.

    Returns:
    The parameter name.
    isShareable
     public abstract boolean isShareable()
    
    The isShareable method returns false if this parameter can only be used with one instance of IRfcModule. If the parameter accepts to be added to multiple IRfcModule instances the client program has to make sure that there are no concurrent invokations of different IRfcModule instances with the same output parameters.

    Returns:
    Returns true if this parameter can be used by multiple IRfcModules.
    setFieldInfo
     public abstract void setFieldInfo(IFieldInfo fieldInfo) throws JRfcNullPointerException, JRfcIllegalStateException, JRfcIllegalArgumentException
    
    Sets the field info containing the meta information for this parameter.

    Parameters:
    fieldInfo - The IFieldInfo instance containing the meta information for this parameter.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcIllegalStateException
    the field info of this object was set before and cannot be reset.
    Throws: JRfcIllegalArgumentException
    an illegal or inappropriate argument is passed, such as when the passed in fieldInfo is in fact a ComplexInfo but the parameter is a simple paramater.
    setParameterName
     public abstract void setParameterName(String name) throws JRfcNullPointerException, JRfcIllegalStateException
    
    Sets the parameter name for this parameter. Note: it is not allowed to change the parameter name when once set.

    Parameters:
    name - The parameter name for this parameter.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcIllegalStateException
    the parameter name of this object was set before and cannot be reset.

     k"y$t756$`t./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.iparameter_mi.html$$ Interface com.sap.rfc.IRfcConnection

    Interface com.sap.rfc.IRfcConnection

    public interface IRfcConnection

    Interface for the RFC connection, this interface is responsible for managing all R/3 connection-related information. An object with this interface can be created by IRfcConnectionFactory.

    See Also:
    IRfcConnectionFactory

    Method Index

    abort(String)
    Actively shuts down the connection to R/3 with an error message.
    addConnectionListener(ConnectionListener)
    Adds a new connection listener.
    addPropertyChangeListener(PropertyChangeListener)
    Adds a property change listener.
    clear()
    Clears the user and connection info in this connection.
    close()
    Closes a connection with SAP R/3 System.
    getConnectInfo()
    Gets the the information about the connection to the R/3 system.
    getR3Release()
    Gets the actual R/3 Release property.
    getRFCTraceLevel()
    Gets the RFC trace level on the server side.
    getSystemInfo()
    Retrieves the system information from the R/3 system The RFC_SYSTEM_INFO call is used to retrieve the information
    getUserInfo()
    Gets the user information about the connection to the R/3 system.
    isValid()
    Checks if the connection is still valid.
    open()
    Opens up a connection with SAP R/3 System The information contained in the UserInfo and ConnectInfo is used.
    removeConnectionListener(ConnectionListener)
    Removes a connection listener.
    removePropertyChangeListener(PropertyChangeListener)
    Removes a property change listener.
    setConnectInfo(ConnectInfo)
    Sets the information about the connection to the R/3 system.
    setRFCTraceLevel(int)
    Sets the RFC trace level on the server side.
    setUserInfo(UserInfo)
    Sets the information about the connection to the R/3 system.
    toString()
    Returns a string representation of the IRfcConnection object.

    Methods

    abort
     public abstract void abort(String strMessage) throws JRfcMiddlewareException
    
    Actively shuts down the connection to R/3 with an error message. This method is mainly intended for server RFC programming.

    Parameters:
    strMessage - Error message. If you supply a text, the text is used as error message on the receiving side. If the text field is null, the connection is only closed.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    See Also:
    close
    addConnectionListener
     public abstract void addConnectionListener(ConnectionListener connectionListener)
    
    Adds a new connection listener.

    Parameters:
    connectionListener - An instance implementing ConnectionListener which is interested in receiving ConnectionEvents.
    See Also:
    ConnectionEvent
    addPropertyChangeListener
     public abstract void addPropertyChangeListener(PropertyChangeListener propertyChangeListener)
    
    Adds a property change listener.

    Parameters:
    propertyChangeListener - An instance implementing PropertyChangeListener which is interested in receiving PropertyChangeEvents.
    See Also:
    PropertyChangeEvent
    clear
     public abstract void clear()
    
    Clears the user and connection info in this connection.

    See Also:
    UserInfo, ConnectInfo
    close
     public abstract void close() throws JRfcMiddlewareException
    
    Closes a connection with SAP R/3 System.

    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    getConnectInfo
     public abstract ConnectInfo getConnectInfo()
    
    Gets the the information about the connection to the R/3 system.

    Returns:
    ConnectInfo The instance holding the information about the connection to the R/3 system.
    getR3Release
     public abstract String getR3Release() throws JRfcRemoteOutOfMemoryError, JRfcRfcConnectionException, JRfcMiddlewareException
    
    Gets the actual R/3 Release property. This property is part of the information retrieved by the method getSystemInfo().

    Returns:
    The actual R/3 Release.
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    See Also:
    getSystemInfo
    getRFCTraceLevel
     public abstract int getRFCTraceLevel()
    
    Gets the RFC trace level on the server side.

    Returns:
    The RFC trace level.
    getSystemInfo
     public abstract SystemInfo getSystemInfo() throws JRfcRemoteOutOfMemoryError, JRfcRfcConnectionException, JRfcMiddlewareException
    
    Retrieves the system information from the R/3 system The RFC_SYSTEM_INFO call is used to retrieve the information

    Returns:
    An instance of class SystemInfo containing the information about the R/3 system logged on with the actual connection object.
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    See Also:
    getR3Release
    getUserInfo
     public abstract UserInfo getUserInfo()
    
    Gets the user information about the connection to the R/3 system.

    Returns:
    UserInfo The instance holding the user information about the connection to the R/3 system.
    isValid
     public abstract boolean isValid() throws JRfcMiddlewareException
    
    Checks if the connection is still valid. Returns false if not yet connected.

    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    open
     public abstract void open() throws JRfcRfcConnectionException, JRfcRemoteOutOfMemoryError
    
    Opens up a connection with SAP R/3 System The information contained in the UserInfo and ConnectInfo is used.

    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    See Also:
    UserInfo, ConnectInfo
    removeConnectionListener
     public abstract void removeConnectionListener(ConnectionListener connectionListener)
    
    Removes a connection listener.

    Parameters:
    connectionListener - A reference to the listener object which wants itself to be removed from the connections list of ConnectionListeners
    removePropertyChangeListener
     public abstract void removePropertyChangeListener(PropertyChangeListener propertyChangeListener)
    
    Removes a property change listener.

    Parameters:
    propertyChangeListener - A reference to the listener object which wants itself to be removed from the connections list of PropertyChangeListeners
    setConnectInfo
     public abstract void setConnectInfo(ConnectInfo connectInfo)
    
    Sets the information about the connection to the R/3 system.

    Parameters:
    connectInfo - The ConnectInfo instance holding the information about the connection to the R/3 system.
    setRFCTraceLevel
     public abstract void setRFCTraceLevel(int newTraceLevel) throws JRfcMiddlewareException
    
    Sets the RFC trace level on the server side.

    Parameters:
    newTraceLevel - The new RFC trace level
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    setUserInfo
     public abstract void setUserInfo(UserInfo userInfo)
    
    Sets the information about the connection to the R/3 system.

    Parameters:
    userInfo - The UserInfo instance holding the information about the connection to the R/3 system.
    toString
     public abstract String toString()
    
    Returns a string representation of the IRfcConnection object.

    Returns:
    A string representation of the IRfcConnection object.
    Overrides:
    toString in class Object

    ce kh3$x 756$0x ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.irfcconnection_mi.htmlunk$$ Interface com.sap.rfc.IRfcConnectionFactory

    Interface com.sap.rfc.IRfcConnectionFactory

    public interface IRfcConnectionFactory

    This interface is implemented by factories which create instances of classes implementing the IRfcConnection interface. All factories are managed by the FactoryManager.

    See Also:
    IRfcConnection, FactoryManager

    Method Index

    createRfcConnection()
    Creates an empty IRfcConnection.
    createRfcConnection(ConnectInfo, UserInfo)
    Creates an IRfcConnection with the specified user and connection information.

    Methods

    createRfcConnection
     public abstract IRfcConnection createRfcConnection() throws JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates an empty IRfcConnection. Before being able to open this connection the user is in charge of setting the UserInfo and ConnectInfo properties to the appropriate values.

    Returns:
    Returns an empty connection object.
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    createRfcConnection
     public abstract IRfcConnection createRfcConnection(ConnectInfo aConnectInfo,
                                                        UserInfo aUserInfo) throws JRfcNullPointerException, JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates an IRfcConnection with the specified user and connection information.

    Parameters:
    aConnectInfo - Object containing target R/3's system info.
    aUserInfo - Object containing user logon info.
    Returns:
    Returns a fully initialized connection object.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details

    ged by  kZ$5756$`.5./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.irfcconnectionfactory_mi.htmltype$$ Interface com.sap.rfc.IRfcModuleFactory

    Interface com.sap.rfc.IRfcModuleFactory

    public interface IRfcModuleFactory

    This interface is implemented by factories which create instances of classes implementing the IRfcModule interface. All factories are managed by the FactoryManager.

    See Also:
    IRfcModule, FactoryManager

    Method Index

    autoCreateRfcModule(IRfcConnection, String)
    Creates a IRfcModule instance with the specified name and conneciton to a R/3 system.
    createRfcModule()
    Creates an empty IRfcModule instance.
    createRfcModule(IRfcConnection, String)
    Creates a IRfcModule instance with the specified name and connection to an R/3 system.
    createRfcModule(IRfcConnection, String, IImpExpParam[], IImpExpParam[], ITable[])
    Creates a IRfcModule instance with the name, connection and all parameters fully specified.

    Methods

    autoCreateRfcModule
     public abstract IRfcModule autoCreateRfcModule(IRfcConnection connection,
                                                    String rfcModuleName) throws JRfcNullPointerException, JRfcMiddlewareException, JRfcRfcConnectionException, JRfcRemoteOutOfMemoryError, JRfcRemoteAutoCreateException
    
    Creates a IRfcModule instance with the specified name and conneciton to a R/3 system. IRfcModule interface represents a function module in R/3 The parameters for this function are automatically created and added in. This may involve an overhead of several round-trip calls to R/3, depending on how many structure/table parameters the function module has. To create an RFC module object without parameters being implicitly generated, use the other createRfcModule methods.

    Parameters:
    connection - The connection object linking to the R/3 system where this function module is located.
    rfcModuleName - Name of the function module.
    Returns:
    Returns a fully initialized IRfcModule object.
    Throws: JRfcRemoteAutoCreateException
    automatic creation failed.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    createRfcModule
     public abstract IRfcModule createRfcModule() throws JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates an empty IRfcModule instance.

    Returns:
    Returns an empty IRfcModule object.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    createRfcModule
     public abstract IRfcModule createRfcModule(IRfcConnection connection,
                                                String rfcModuleName) throws JRfcNullPointerException, JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates a IRfcModule instance with the specified name and connection to an R/3 system. The IRfcModule interface represents a function module in R/3. The parameters for this function need to be manually created and added in explicitly using methods provided in IRfcFunction. To create an IRfcModule with parameters implicitly generated, use the autoCreateRfcModule method.

    Parameters:
    connection - The connectin object linking to the R/3 system where this function module is located.
    rfcModuleName - Name of the function module.
    Returns:
    Returns a fully initialized IRfcModule object. Import, export and table parameters have to be added seperately.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    createRfcModule
     public abstract IRfcModule createRfcModule(IRfcConnection connection,
                                                String rfcModuleName,
                                                IImpExpParam importParams[],
                                                IImpExpParam exportParams[],
                                                ITable tableParams[]) throws JRfcNullPointerException, JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates a IRfcModule instance with the name, connection and all parameters fully specified.

    Parameters:
    connection - The connection object linking to the R/3 system where this function module is located.
    rfcModuleName - Name of the function module.
    importParams - The import parameters for the RFC function call.
    exportParams - The export parameters for the RFC function call.
    tableParams - The table parameters for the RFC function call.
    Returns:
    Returns a fully initialized IRfcModule object.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory

    cre k $756$`٫./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.irfcmodulefactory_mi.html$$ Interface com.sap.rfc.IRow

    Interface com.sap.rfc.IRow

    public interface IRow
    extends IComplexField

    This class contains and manages a list of data fields representing a single table row. The main functionality of this class is the same as the functionality of a structure except that it may not be used separately, but always as part of a table.

    See Also:
    ITable

    Method Index

    getTable()
    Accesses the ITable object associated with this row.

    Methods

    getTable
     public abstract ITable getTable()
    
    Accesses the ITable object associated with this row.

    Returns:
    The ITable object associated with this row.

    here Am kTF$@756$p@./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.irow_mi.htmlory_m$$ Interface com.sap.rfc.ISimple

    Interface com.sap.rfc.ISimple

    public interface ISimple
    extends ISimpleField, ISimpleParam

    This interface is implemented by classes which are used for containing and managing data of variant types. It supports all primitive java types and some fundamental java classes such as byte arrays, dates, times or BigIntegers and BigDecimals.
    An object with this interface can be created by ISimpleFactory.

    See Also:
    ISimpleFactory

    /usr/I k$756$p./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.isimple_mi.html_m$$ Interface com.sap.rfc.ISimpleFactory

    Interface com.sap.rfc.ISimpleFactory

    public interface ISimpleFactory

    This interface is implemented by factories which create instances of classes implementing the ISimple interface. All factories are managed by the FactoryManager.

    See Also:
    ISimple, FactoryManager

    Method Index

    createSimple()
    Creates an empty simple field with no name and type information set.
    createSimple(SimpleInfo)
    Creates a simple field with the specified field information.
    createSimple(SimpleInfo, String)
    Creates a simple field with the specified name and field information.

    Methods

    createSimple
     public abstract ISimple createSimple() throws JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates an empty simple field with no name and type information set.

    Returns:
    Returns an empty ISimple object.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    createSimple
     public abstract ISimple createSimple(SimpleInfo simpleInfo) throws JRfcNullPointerException, JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates a simple field with the specified field information. The ISimple interface represents a single-valued parameter for a function module The parameter name still needs to be set in order to be used by the RFC function module.

    Parameters:
    simpleInfo - Field information about the simple parameter.
    Returns:
    Returns an ISimple object. The parameter name still needs to be set in order to be used by the RFC function module.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    See Also:
    createSimple, createSimple
    createSimple
     public abstract ISimple createSimple(SimpleInfo simpleInfo,
                                          String paramName) throws JRfcNullPointerException, JRfcRemoteOutOfMemoryError, JRfcMiddlewareException
    
    Creates a simple field with the specified name and field information.

    Parameters:
    simpleInfo - Field information about the simple parameter.
    paramName - Name of the parameter in a function module.
    Returns:
    Returns a fully initialized ISimple object.
    Throws: JRfcNullPointerException
    arguments must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory

     k $756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.isimplefactory_mi.htmll$$ Interface com.sap.rfc.ISimpleParam

    Interface com.sap.rfc.ISimpleParam

    public interface ISimpleParam
    extends IImpExpParam

    This interface is implemented by simple parameters.

    See Also:
    ISimple

    Method Index

    getSimpleInfo()
    Gets the simple info associated with this param.
    setSimpleInfo(SimpleInfo)
    Sets the simple info for this simple param.

    Methods

    getSimpleInfo
     public abstract SimpleInfo getSimpleInfo()
    
    Gets the simple info associated with this param.

    Returns:
    SimpleInfo The SimpleInfo object
    setSimpleInfo
     public abstract void setSimpleInfo(SimpleInfo simpleInfo) throws JRfcNullPointerException, JRfcIllegalStateException
    
    Sets the simple info for this simple param.

    Parameters:
    simpleInfo - The SimpleInfo for this ISimpleParam.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcIllegalStateException
    the SimpleInfo cannot be set again

    ng)" ta kg$756$p?./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.isimpleparam_mi.htmll$$ Interface com.sap.rfc.IStructure

    Interface com.sap.rfc.IStructure

    public interface IStructure
    extends IComplexField, IImpExpParam, IComplexParam

    Classes implementing this interface contain and manage a list of data fields representing a structure to be used as import or export parameter for remote function calls.
    An object with this interface can be created by IStructureFactory.

    See Also:
    IStructureFactory

    l/ent k<$756$p'./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.istructure_mi.html$$ Interface com.sap.rfc.IStructureFactory

    Interface com.sap.rfc.IStructureFactory

    public interface IStructureFactory

    This interface is implemented by factories which create instances of classes implementing the IStructure interface. All factories are managed by the FactoryManager.

    See Also:
    IStructure, FactoryManager

    Method Index

    autoCreateStructure(String, IRfcConnection, String)
    Creates a structure parameter retrieving the meta information from the R/3 system.
    createStructure()
    Creates a structure parameter with uninitialized meta information
    createStructure(ComplexInfo)
    Creates a structure parameter specifying meta information as ComplexInfo instance The parameter name still needs to be set in order to be used by the RFC function module.
    createStructure(ComplexInfo, String)
    Creates a structure parameter specifying all meta information To create a structre parameter with field information implicitly generated, use the autoCreateStructure method.

    Methods

    autoCreateStructure
     public abstract IStructure autoCreateStructure(String paramName,
                                                    IRfcConnection connection,
                                                    String structureName) throws JRfcNullPointerException, JRfcMiddlewareException, JRfcRfcConnectionException, JRfcRemoteOutOfMemoryError, JRfcRemoteAutoCreateException
    
    Creates a structure parameter retrieving the meta information from the R/3 system. The IStructure interface represents a structure-valued parameter for a function module. The fields for this parameter are automatically generated and added in. This involves an overhead of one round-trip call to R/3. To create a structure parameter without field information being implicitly generated, use the createStructure methods.

    Parameters:
    paramName - Name of the structure parameter in a function module.
    connection - The connectin object linking to the R/3 system where this structure definition is located.
    structureName - The R/3 structure name referenced by this structure.
    Returns:
    Returns a fully initialized structure object.
    Throws: JRfcNullPointerException
    arguments must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcRemoteAutoCreateException
    automatic creation failed.
    createStructure
     public abstract IStructure createStructure() throws JRfcMiddlewareException, JRfcRemoteOutOfMemoryError
    
    Creates a structure parameter with uninitialized meta information

    Returns:
    Returns an empty structure object.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    createStructure
     public abstract IStructure createStructure(ComplexInfo complexInfo) throws JRfcNullPointerException, JRfcMiddlewareException, JRfcRemoteOutOfMemoryError
    
    Creates a structure parameter specifying meta information as ComplexInfo instance The parameter name still needs to be set in order to be used by the RFC function module. To create a structre parameter with field information implicitly generated, use the autoCreateStructure method.

    Parameters:
    complexInfo - Field information for this structure.
    Returns:
    Returns an initialized structure object. The parameter name still needs to be set in order to be used by the RFC function module.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    createStructure
     public abstract IStructure createStructure(ComplexInfo complexInfo,
                                                String paramName) throws JRfcNullPointerException, JRfcMiddlewareException, JRfcRemoteOutOfMemoryError
    
    Creates a structure parameter specifying all meta information To create a structre parameter with field information implicitly generated, use the autoCreateStructure method.

    Parameters:
    complexInfo - Field information for this structure.
    paramName - Name of the structure parameter in a function module.
    Returns:
    Returns an initialized structure object.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory

    dd> < k$w756$`3w./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.istructurefactory_mi.html$$ Interface com.sap.rfc.ITableFactory

    Interface com.sap.rfc.ITableFactory

    public interface ITableFactory

    This interface is implemented by factories which create instances of classes implementing the ITable interface. All factories are managed by the FactoryManager.

    See Also:
    ITable, FactoryManager

    Method Index

    autoCreateTable(String, IRfcConnection, String)
    Creates an object having the ITable interface (representing a table parameter for a function module), with the specified information.
    createTable()
    Creates an empty object having the ITable interface, with no name and length information set.
    createTable(ComplexInfo)
    Creates an object having the ITable interface (representing a table parameter for a function module), with the specified complex field information.
    createTable(ComplexInfo, String)
    Creates an object having the ITable interface (representing a table parameter for a function module), with the specified name and complex field information.

    Methods

    autoCreateTable
     public abstract ITable autoCreateTable(String paramName,
                                            IRfcConnection connection,
                                            String tableName) throws JRfcNullPointerException, JRfcMiddlewareException, JRfcRfcConnectionException, JRfcRemoteOutOfMemoryError, JRfcRemoteAutoCreateException
    
    Creates an object having the ITable interface (representing a table parameter for a function module), with the specified information. The fields for this parameter are automatically generated and added in. This involves an overhead of one round-trip call to R/3. To create a table parameter without field information being implicitly generated, use the createTable methods.

    Parameters:
    paramName - Name of the table parameter in a function module.
    connection - The connection object linking to the R/3 system where this table definition is located.
    tableName - The R/3 table name referenced by this parameter.
    Returns:
    Returns a fully initialized ITable object.
    Throws: JRfcNullPointerException
    arguments must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    Throws: JRfcRfcConnectionException
    communication problem with the R/3 system
    Throws: JRfcRemoteAutoCreateException
    automatic creation failed.
    createTable
     public abstract ITable createTable() throws JRfcMiddlewareException, JRfcRemoteOutOfMemoryError
    
    Creates an empty object having the ITable interface, with no name and length information set.

    Returns:
    Returns an empty ITable object.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    createTable
     public abstract ITable createTable(ComplexInfo complexInfo) throws JRfcNullPointerException, JRfcMiddlewareException, JRfcRemoteOutOfMemoryError
    
    Creates an object having the ITable interface (representing a table parameter for a function module), with the specified complex field information. The table parameter name still needs to be set in order to be used by the RFC function module. To create a table parameter with field information implicitly generated, use the autoCreateTable method.

    Parameters:
    complexInfo - Field information for this table.
    Returns:
    Returns an ITable object. The table parameter name still needs to be set in order to be used by the RFC function module.
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory
    createTable
     public abstract ITable createTable(ComplexInfo complexInfo,
                                        String paramName) throws JRfcNullPointerException, JRfcMiddlewareException, JRfcRemoteOutOfMemoryError
    
    Creates an object having the ITable interface (representing a table parameter for a function module), with the specified name and complex field information. To create a table parameter with field information implicitly generated, use the autoCreateTable method.

    Parameters:
    complexInfo - Field information for this table.
    paramName - Name of the table parameter in a function module.
    Returns:
    Returns a fully initialized ITable object.
    Throws: JRfcNullPointerException
    arguments must not be null.
    Throws: JRfcMiddlewareException
    a problem occurred in the specific middleware implementation consult the documentation of this middleware implementation for details
    Throws: JRfcRemoteOutOfMemoryError
    remote server runs out of memory

    >  kP$C756$`C./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.itablefactory_mi.htmlml$$ Class com.sap.rfc.MethodEvent

    Class com.sap.rfc.MethodEvent

    java.lang.Object
       |
       +----java.util.EventObject
               |
               +----com.sap.rfc.MethodEvent
    

    public class MethodEvent
    extends EventObject

    This is the event class to support the MethodListener interface. This event may contain the information about the RfcModule used to perform the method call.

    See Also:
    MethodListener

    Constructor Index

    MethodEvent(Object)
    Constructor for ConnectionEvent
    MethodEvent(Object, IRfcModule)
    Constructor for ConnectionEvent

    Method Index

    getRfcModule()
    Gets the rfcModule property value.
    setRfcModule(IRfcModule)
    Sets the rfcModule property value.

    Constructors

    MethodEvent
     public MethodEvent(Object source)
    
    Constructor for ConnectionEvent

    Parameters:
    source - The object firing the event.
    MethodEvent
     public MethodEvent(Object source,
                        IRfcModule rfcModule)
    
    Constructor for ConnectionEvent

    Parameters:
    source - The object firing the event.
    rfcModule - The RfcModule used to perform the method call.

    Methods

    getRfcModule
     public IRfcModule getRfcModule()
    
    Gets the rfcModule property value.

    Returns:
    The rfcModule property value.
    See Also:
    setRfcModule
    setRfcModule
     public void setRfcModule(IRfcModule rfcModule)
    
    Sets the rfcModule property value.

    Parameters:
    rfcModule - The new value for the property.
    See Also:
    getRfcModule

    Jun 18 k$756$`./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.methodevent_mi.htmlml$$ Interface com.sap.rfc.MethodListener

    Interface com.sap.rfc.MethodListener

    public interface MethodListener
    extends EventListener

    The listener interface MethodListener defines the event set method. It includes the following events :

    executed
    The executed event is triggered, when a SAP function call received successfully.
    failed
    The failed event is triggered, when a SAP function call failed.

    See Also:
    MethodEvent

    Method Index

    executed(MethodEvent)
    This event is triggered, when a synchronous RFC call has ended successfully.
    failed(MethodEvent)
    This event is triggered, when a synchronous RFC call has failed.

    Methods

    executed
     public abstract void executed(MethodEvent event)
    
    This event is triggered, when a synchronous RFC call has ended successfully.

    Parameters:
    event - The incoming event
    See Also:
    callReceive, receive
    failed
     public abstract void failed(MethodEvent event)
    
    This event is triggered, when a synchronous RFC call has failed.

    Parameters:
    event - The incoming event
    See Also:
    callReceive, receive

     kvU$756$p./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.methodlistener_mi.htmll$$ Class com.sap.rfc.SimpleInfo

    Class com.sap.rfc.SimpleInfo

    java.lang.Object
       |
       +----com.sap.rfc.SimpleInfo
    

    public class SimpleInfo
    extends Object
    implements IFieldInfo, Cloneable, Serializable

    This java bean class implements the IFieldInfo interface and stores meta information for a simple type. It is used as information provider when converting a simple type to a ABAP data field and vice versa.
    Every simple type that is intended to be used in a remote function call must hold one instance of this class.

    See Also:
    ISimple, ComplexInfo

    Constructor Index

    SimpleInfo()
    Default SimpleInfo constructor.
    SimpleInfo(String, int, int, int)
    SimpleInfo constructor specifying all meta information

    Method Index

    clone()
    Clones the SimpleInfo object.
    equals(Object)
    Checks if two SimpleInfos are the same.
    getDecimals()
    Gets the number of decimals of the RFC data field Decimals are only necessary for the RFC data types TYPP and TYPFLOAT.
    getFieldName()
    Gets the field name of the data field The field name is used for identfying a field in a structure or table row.
    getLength()
    Gets the length of the RFC data field
    getOffset()
    Gets the offset of the RFC data field
    getType()
    Gets the RFC data type of the RFC data field
    isFilled()
    Checks if the instantiated object is filled.
    setOffset(int)
    Sets the offset of the RFC data field Typically called from the alignment facility in ComplexInfo.
    setSimpleInfo(String, int, int, int)
    Sets all meta information of the SimpleInfo instance.
    toString()
    Returns a string representation of the SimpleInfo object.

    Constructors

    SimpleInfo
     public SimpleInfo()
    
    Default SimpleInfo constructor. The meta information data is not yet defined. It has to be set later before accessing the SimpleInfo data.

    SimpleInfo
     public SimpleInfo(String name,
                       int type,
                       int length,
                       int decimals) throws JRfcIllegalArgumentException, JRfcNullPointerException
    
    SimpleInfo constructor specifying all meta information

    Parameters:
    name - Field name for identifying this data field if contained in a structured parameter (structure or table row)
    type - Data field type (for a list of possible types see IFieldInfo)
    length - Data field length in bytes
    decimals - Data field number of decimals (only necessary for the data types TYPP and TYPFLOAT)
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcIllegalArgumentException
    an illegal or inappropriate argument is passed
    See Also:
    IFieldInfo

    Methods

    clone
     public Object clone()
    
    Clones the SimpleInfo object.

    Returns:
    A clone of this SimpleInfo object.
    Overrides:
    clone in class Object
    equals
     public boolean equals(Object obj)
    
    Checks if two SimpleInfos are the same.

    Parameters:
    obj - The SimpleInfo object to compare.
    Returns:
    Returns true if all fields of the SimpleInfo passed into this method contain exactly the same data as this object.
    Overrides:
    equals in class Object
    getDecimals
     public int getDecimals()
    
    Gets the number of decimals of the RFC data field Decimals are only necessary for the RFC data types TYPP and TYPFLOAT.

    Returns:
    RFC data field number of decimals.
    getFieldName
     public String getFieldName()
    
    Gets the field name of the data field The field name is used for identfying a field in a structure or table row.

    Returns:
    The field name of the data field described by this meta information object.
    getLength
     public int getLength()
    
    Gets the length of the RFC data field

    Returns:
    RFC data field length
    getOffset
     public int getOffset()
    
    Gets the offset of the RFC data field

    Returns:
    RFC data field offset
    getType
     public int getType()
    
    Gets the RFC data type of the RFC data field

    Returns:
    RFC data type
    isFilled
     public boolean isFilled()
    
    Checks if the instantiated object is filled.

    Returns:
    Result of the is filled check (true or false)
    setOffset
     public void setOffset(int offset)
    
    Sets the offset of the RFC data field Typically called from the alignment facility in ComplexInfo.

    Parameters:
    offset - The new value for the offset property
    setSimpleInfo
     public void setSimpleInfo(String name,
                               int type,
                               int length,
                               int decimals) throws JRfcIllegalArgumentException, JRfcIllegalStateException, JRfcNullPointerException
    
    Sets all meta information of the SimpleInfo instance.

    Parameters:
    name - Field name for identifying this data field if contained in a structured parameter (structure or table row)
    type - Data field type (for a list of possible types see IFieldInfo)
    length - Data field length in bytes
    decimals - Data field number of decimals (only necessary for the data types TYPP and TYPFLOAT)
    Throws: JRfcNullPointerException
    argument must not be null.
    Throws: JRfcIllegalArgumentException
    an illegal or inappropriate argument is passed
    Throws: JRfcIllegalStateException
    the information for the SimpleInfo can only be filled in once
    toString
     public String toString()
    
    Returns a string representation of the SimpleInfo object.

    Returns:
    A string representation of the SimpleInfo object.
    Overrides:
    toString in class Object

     k&$<756$@0<./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.simpleinfo_mi.html$$ Class com.sap.rfc.SystemInfo

    Class com.sap.rfc.SystemInfo

    java.lang.Object
       |
       +----com.sap.rfc.SystemInfo
    

    public class SystemInfo
    extends Object
    implements Cloneable, Serializable

    This class is a holder of all R/3 system related information.


    Constructor Index

    SystemInfo(IField[])
    Creates a SystemInfo instance from an array of system parameters.

    Method Index

    clone()
    Clones the SystemInfo object.
    getItem(int)
    Obtains a system parameter by index
    getItem(String)
    Obtains a system parameter by name.
    getItemCount()
    Gets the number of items stored in this SystemInfo instance.
    toString()
    Returns a string representation of the SystemInfo object.

    Constructors

    SystemInfo
     public SystemInfo(IField systemParams[])
    
    Creates a SystemInfo instance from an array of system parameters.

    Parameters:
    systemParams - Array of system parameters retrieved using "RFC_SYSTEM_INFO"

    Methods

    clone
     public Object clone()
    
    Clones the SystemInfo object.

    Returns:
    Cloned SystemInfo object.
    Overrides:
    clone in class Object
    getItem
     public ISimple getItem(int index) throws JRfcIndexOutOfBoundsException
    
    Obtains a system parameter by index

    Parameters:
    index - index of the parameter
    Returns:
    An ISimple object that contains the value of the parameter.
    getItem
     public ISimple getItem(String name) throws JRfcNoSuchParameterException
    
    Obtains a system parameter by name.

    Parameters:
    name - parameter name or field name of the system parameter
    Returns:
    An ISimple object that contains the value of the parameter.
    getItemCount
     public int getItemCount()
    
    Gets the number of items stored in this SystemInfo instance.

    Returns:
    The number of items
    toString
     public String toString()
    
    Returns a string representation of the SystemInfo object.

    Returns:
    A string representation of the SystemInfo object.
    Overrides:
    toString in class Object

    > Class com.sap.rfc.UserInfo

    Class com.sap.rfc.UserInfo

    java.lang.Object
       |
       +----com.sap.rfc.UserInfo
    

    public class UserInfo
    extends Object
    implements Cloneable, Serializable

    The UserInfo class contains user logon information.
    UserInfo is used together with ConnectInfo to provide the necessary information for creating an IRfcConnection to an R/3 system.

    See Also:
    UserInfo, IRfcConnection, IRfcConnectionFactory

    Constructor Index

    UserInfo()
    Default constuctor.
    UserInfo(String, String, String, String)
    Creates a UserInfo instance an initializes it with the specified parameters
    UserInfo(String, String, String, String, int)
    Constructs a UserInfo instance and initializes it with the specified parameters

    Method Index

    addPropertyChangeListener(PropertyChangeListener)
    Subscribes to changes to any of the UserInfo properties.
    clone()
    Clones the UserInfo instance.
    equals(Object)
    Checks if the passed UserInfo instance is equal to this UserInfo instance.
    getClient()
    This method gets the client property value.
    getCodePage()
    Gets the code page.
    getLanguage()
    Gets the language used for R/3 connection.
    getPassword()
    Gets the password.
    getUserName()
    Gets the user name.
    removePropertyChangeListener(PropertyChangeListener)
    Unsubscribes from any property changes.
    setClient(String)
    Sets the client.
    setCodePage(int)
    Sets the code page.
    setLanguage(String)
    Sets the language.
    setPassword(String)
    Sets the password.
    setUserName(String)
    Sets the user name.
    toString()
    Returns a string representation of the UserInfo object.

    Constructors

    UserInfo
     public UserInfo()
    
    Default constuctor. The properties of the newly created instance of class UserInfo must be set afterwards using the respective set-methods if this constructor is used.

    UserInfo
     public UserInfo(String aUserName,
                     String aPassword,
                     String aClient,
                     String aLanguage)
    
    Creates a UserInfo instance an initializes it with the specified parameters

    Parameters:
    aUserName - The name of the R/3 user
    aPassword - The R/3 user's password
    aClient - The client number
    aLanguage - The desired language
    UserInfo
     public UserInfo(String aUserName,
                     String aPassword,
                     String aClient,
                     String aLanguage,
                     int aCodePage)
    
    Constructs a UserInfo instance and initializes it with the specified parameters

    Parameters:
    aUserName - The name of the R/3 user
    aPassword - The R/3 user's password
    aClient - The client number
    aLanguage - The desired language
    aCodePage - The desired code page

    Methods

    addPropertyChangeListener
     public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
    
    Subscribes to changes to any of the UserInfo properties.

    Parameters:
    listener - An instance implementing PropertyChangeListener which is interested in receiving PropertyChangeEvents.
    See Also:
    PropertyChangeListener, PropertyChangeEvent
    clone
     public Object clone()
    
    Clones the UserInfo instance.

    Returns:
    A copy of this UserInfo
    Overrides:
    clone in class Object
    equals
     public boolean equals(Object obj)
    
    Checks if the passed UserInfo instance is equal to this UserInfo instance.

    Parameters:
    obj - The UserInfo to compare with.
    Returns:
    Returns true if the UserInfo object passed into the method is exactly the same as this object.
    Overrides:
    equals in class Object
    getClient
     public String getClient()
    
    This method gets the client property value.

    Returns:
    The client property value.
    See Also:
    setClient
    getCodePage
     public int getCodePage()
    
    Gets the code page.

    Returns:
    code page
    See Also:
    setCodePage
    getLanguage
     public String getLanguage()
    
    Gets the language used for R/3 connection.

    Returns:
    language used for R/3 connection.
    See Also:
    setLanguage
    getPassword
     public String getPassword()
    
    Gets the password.

    Returns:
    The password.
    See Also:
    setPassword
    getUserName
     public String getUserName()
    
    Gets the user name.

    Returns:
    The user name.
    See Also:
    setUserName
    removePropertyChangeListener
     public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
    
    Unsubscribes from any property changes.

    Parameters:
    listener - A reference to the listener object which wants itself to be removed from the connections list of PropertyChangeListeners
    See Also:
    PropertyChangeListener
    setClient
     public void setClient(String client)
    
    Sets the client.

    Parameters:
    client - The new value for the property.
    See Also:
    getClient
    setCodePage
     public void setCodePage(int CodePage)
    
    Sets the code page.

    Parameters:
    CodePage - The new value for the code page.
    See Also:
    getCodePage
    setLanguage
     public void setLanguage(String language)
    
    Sets the language.

    Parameters:
    language - The new value for the property.
    See Also:
    getLanguage
    setPassword
     public void setPassword(String password)
    
    Sets the password.

    Parameters:
    password - The new value for the property.
    See Also:
    getPassword
    setUserName
     public void setUserName(String userName)
    
    Sets the user name.

    Parameters:
    userName - The new value for the property.
    See Also:
    getUserName
    toString
     public String toString()
    
    Returns a string representation of the UserInfo object.

    Returns:
    A string representation of the UserInfo object.
    Overrides:
    toString in class Object

    p k$b 756$0wb ./usr/IBMVJava/html/enterp/en_US/sap/ref/com.sap.rfc.userinfo_mi.html$$ Package <Package>

    All Packages

    package <Package>

    Class Index

    <Class>
    <Class><method>Params
    <FieldType>
    <ParameterType>
    <Structure>
    <Table>
    <Table>Row
    .User kJ$Q 7,I66$ Q ./usr/IBMVJava/html/enterp/en_US/sap/ref/package-com.ibm.sap.bapi.bor.htmll$$ Package com.ibm.sap.bapi.bor

    All Packages

    package com.ibm.sap.bapi.bor

    Class Index

    ABAPNamesTable
    AttributeDescriptor
    BapiControl
    ElementDescriptor
    EventDescriptor
    FeatureDescriptor
    KeyDescriptor
    MethodDescriptor
    ParameterDescriptor
    RPYTable
    RfcFunctionInfo
    RfcFunctionInfoCacheable
    SAPObjectInfo
    StructureDescriptor
    TableDescriptor
    TypeInfoTable
    J  kf$X72I66$X./usr/IBMVJava/html/enterp/en_US/sap/ref/package-com.ibm.sap.bapi.htmlt$$ Package com.ibm.sap.bapi

    All Packages

    package com.ibm.sap.bapi

    Interface Index

    BapiGlobals
    BapiMethodEventListener
    ICacheable
    IFieldListElement

    Class Index

    BapiMethodEvent
    BapiSettings
    Cache
    ComplexInfoCacheable
    Connection
    ConnectionEventMulticaster
    Converter
    Cursor
    FieldList
    LogManager
    MethodEventMulticaster
    ObjectId
    PropertyMap
    RFCFunction
    RfcModule
    Row
    RowsetArray
    RowsetCursor
    SAPObject
    Simple
    SimpleFactory
    Structure
    StructureFactory
    Table
    TableCache
     k$976I66$@!9./usr/IBMVJava/html/enterp/en_US/sap/ref/package-com.ibm.sap.bapi.logon.htmll$$ Package com.ibm.sap.bapi.logon

    All Packages

    package com.ibm.sap.bapi.logon

    Interface Index

    LogoffListener
    LogonListener

    Class Index

    ConnectInfoEditor
    ConnectInfoPanel
    LogoffEvent
    LogonEvent
    LogonView
    LogonViewBeanInfo
    UserInfoEditor
    UserInfoPanel
    pi.c k$76I66$`|./usr/IBMVJava/html/enterp/en_US/sap/ref/package-com.ibm.sap.bapi.util.htmll$$ Package com.ibm.sap.bapi.util

    All Packages

    package com.ibm.sap.bapi.util

    Class Index

    HTMLView
    JTableModel
     k$7.I66$./usr/IBMVJava/html/enterp/en_US/sap/ref/package-com.sap.rfc.exception.htmll$$ Package com.sap.rfc.exception

    All Packages

    package com.sap.rfc.exception

    Exception Index

    JRfcBaseException
    JRfcBaseRuntimeException
    JRfcClassCastException
    JRfcComplexDataException
    JRfcComplexDataNoSuchFieldException
    JRfcIOException
    JRfcIllegalArgumentException
    JRfcIllegalStateException
    JRfcIndexOutOfBoundsException
    JRfcMiddlewareException
    JRfcNoSuchParameterException
    JRfcNullPointerException
    JRfcRemoteAutoCreateException
    JRfcRemoteException
    JRfcRemoteServerException
    JRfcRfcAbapException
    JRfcRfcBaseException
    JRfcRfcConnectionException
    JRfcRfcParameterException
    JRfcSimpleDataAbapConversionException
    JRfcSimpleDataCastException
    JRfcSimpleDataDateTimeFormatException
    JRfcSimpleDataException
    JRfcSimpleDataNumberFormatException
    JRfcSimpleDataUnknownTypeException

    Error Index

    JRfcRemoteOutOfMemoryError
    meexce kJ$7.I66$./usr/IBMVJava/html/enterp/en_US/sap/ref/package-com.sap.rfc.htmltion.h$$ Package com.sap.rfc

    All Packages

    package com.sap.rfc

    Interface Index

    ConnectionListener
    IComplexField
    IComplexParam
    ICursor
    IField
    IFieldInfo
    IImpExpParam
    IParameter
    IRfcConnection
    IRfcConnectionFactory
    IRfcModule
    IRfcModuleFactory
    IRow
    ISimple
    ISimpleFactory
    ISimpleField
    ISimpleParam
    IStructure
    IStructureFactory
    ITable
    ITableFactory
    MethodListener

    Class Index

    ComplexInfo
    ConnectInfo
    ConnectionEvent
    FactoryManager
    MethodEvent
    MiddlewareInfo
    SimpleInfo
    SystemInfo
    UserInfo
    A  k$L 76I66$ʭL ./usr/IBMVJava/html/enterp/en_US/sap/ref/r5sdtyp.htmsap$$ Map ABAP/4 and Java Data Types

    ABAP/4 and Java data types

    The R/3 Access Classes automatically map ABAP/4 to Java data types. When you use the generated beans you simply work with native Java types and you do not need to be aware of the mapped ABAP/4 data types. When you dynamically use some R/3 Access Classes by yourself, you must specify the appropriate ABAP/4 data types for any Simple, Structure or Table within the corresponding SimpleInfo and ComplexInfo classes.

    The following table shows the mapping of ABAP/4 to Java data types:

    RFCTYPE_CHAR java.lang.String
    RFCTYPE_DATE java.util.Date
    RFCTYPE_BCD java.math.BigDecimal
    RFCTYPE_TIME java.util.Date
    RFCTYPE_BYTE byte []
    RFCTYPE_ITAB com.sap.rfc.ITable*
    RFCTYPE_NUM java.math.BigInteger
    RFCTYPE_FLOAT float
    RFCTYPE_INT int
    RFCTYPE_INT2 short
    RFCTYPE_INT1 byte
    RFCTYPE_STRUCTURE com.sap.rfc.IStructure*
    RFCTYPE_ABAP4OBJECT com.ibm.sap.bapi.ObjectId*
    Table: Map ABAP/4 and Java data types

    * Tables, structures and ABAP/4 objects are complex data types, and are mapped to instances of classes that adhere to the interfaces ITable, IStructure and the class ObjectId.

    The data types RFCTYPE_DATE_1, RFCTYPE_DATE_2, RFCTYPE_NULL, RFCTYPE_WIDE_2, RFCTYPE_WIDE_4 and RFCTYPE_IUNKNOWN, RFCTYPE_WSTRING, RFCTYPE_SAPAUTOMATION, RFCTYPE_STUB and RFCTYPE_WCHAR are not supported.

    [Related tasks]
    Trace the SAP connection of your application

    [Related references]
    Common RFC Interface for Java
    R/3 Access Classes

    tm'  kvf$+76I66$0ѭ+./usr/IBMVJava/html/enterp/en_US/sap/ref/r5snconv.htmap$$ Naming Conventions for Generated Classes

    Naming Conventions for Generated Classes

    The rules for Java identifiers and names used in the R/3 system for business objects, RFC modules, tables and structures are different. The following conversions are made to comply to Java identifier specification:

    • If a R/3 name starts with a digit, the name is prefixed with an underscore.
    • If the R/3 name is CLASS, the set and get method names are named set_Class and get_Class to avoid compile error due to the final definition of the getClass method in java.lang.Object.

    The following list describes the conventions used to map the names of business objects, BAPI methods and parameters of BAPI methods into Java:

    BO proxy bean
    Mixed case name of the corresponding business object, as defined in the R/3 system.
    BO proxy bean methods
    Name of the corresponding BAPI method converted to lowercase.
    Parameter access methods in the parameter container class
    The name of the access methods start with either get or set followed by the capitalized parameter name. Underscores are removed and the character following an underscore is converted to uppercase.

    [Related concepts]
    Proxy Beans to Access SAP Systems

    [Related tasks]
    Generate Proxy Beans

    [Related references]
    BO and RFC Proxy Beans

    ap/re lf$|U7,I66$֭N5./usr/IBMVJava/html/enterp/en_US/sap/ref/tree.htmltmap$$     .aceiot<>_flmnprs"bdh #/=juvx(),CISgDEFLMPRwyABJTz-0O 138GHNUVW!59:k24;KYQ0kr 4mP`XEyP_PX 9;0  9 9 `  P @W3kpg)@'<)G0Ws @p0U0q㘰9M^ "C胈{wNǾaRys , 9ZxS(uJIj Z ( *(aQ2jP|c<5_Otڬ^3(uM>pv3+f3c`eg|s>FCh󃱟 ~k :8;&Ac`eg|xkf8&P|g'=k :8;¸3(uM>pv3`#_pL 4 ϐł5S@ϜJ5g5S@Ϝ05a8V-TI\$vMP["Ⱦ\+dnX~?)%%A 3/H~?G}[U{rl7&-ؑd_._M&+_r }~ GPA¹5U @x+O{s_Mi&-ؑd_.tM7eyX;ۧ9>Z 0gF0<ڬ^3˗eɹ5Anċ"rl7+/Vj栃sc* Z 57@!\M)G" ƳɫȾ\+dnɪ v$Y˝%rlM&/Vj栃c<f8¨DZxS˝%rlM5Anċ"s_Mi$u z }~ GPAjng5G}[U{eސvҴ UDZxS˝%rlM5Anċ"s_Mi7V^ ܗP5*08V-TrnMP["Ⱦ\.MڬO ܗP5+`'*rnMP["Ⱦ\.MΧqEk)%%A ('*(uJfQ*Cw3h`@V-TI\$vMP["Ⱦ\+dnڬO]YyDSKJ?jx[Ue0<ڬ^3˝%rlM5Anċ"s_Mi;ueAO/֡(j8XUYyD * Z p[f(¨jx| 4 ϐ?Xׂ5RNS sq .102TP/@p@5G""" ŪCh¸ @ڬ^3(uM>A8\ϭf8 @x Q2j/:J&7Rj݉EI\$vFKv1>Z A 0<ڬ^3(uM>pv3`#_pL 4 ϐ F""""" pv3up0f8&Pr;hQtk"""" †DDDP@x aCTq" Z aC\qQ`eU06B%X Z 0gU@x eiO|_._M&,ܦ(7r_BQp=_󁠚e* ݭqQVbCw3h`@eiO|_.tM7dtbE|W/4ݒy_Fkr_BQpH.>ݭqQVbCw3h`@eiO|_.tM7dtbE|W/4ݒy|kr_BQp0۵0<ڬ^3(uNcM"""" Tq""""" ݭqQVbCw3h`@eiO|_.tM7dtbE|W/4ݒyJ}[j栃J kaTxյXgP m+@%X ݭqQVbCw3h`@V-TI\$vII v$Y˝%rlM'+/+n9>Z .>ݭqQVbCw3h`@5G" Ū\+dnɪ v$Y˝%rlMNVSKJ?Q@UmV/ܚbE|}6\[UӸSKJ?jxqEU&P:#_!lO^ œ :α0<\.Mɪ v$Y˗eɹ(j栃QQ2rj//˓rj݉ErnvmVm:r_BQp[UTYQ0rnMP["Ⱦ\.MζK ܗP5,N* PSd)\̢U02THf;iZ*" 08L >uF@C|č|k/aEpLp@V5M^ErnMP["Ⱦ\.Mۃu->Z akh{ATYQ0rnMP["Ⱦ\.MζK ܗP5,N* aO:T W3(`@V5M^ErnMP["Ⱦ\.Mι7|eSKJ? Ms08V5M^ErnMP["Ⱦ\.Mι7|eWj }~ GPAic2yzL* //˓rj݉ErnvmVNAO/֡(j8XW-}aTp" 08L_._M&,mV6KAO/֡(j8XfU:aTp" //˓rj݉ErnvmVNAO/֡(j8XW-}aTp\.Mɪ v$Y˗eɹ[p{[NܗP5,-mh*K08L_._M&,ڬu->Z a\Գ eiY_._M&,oƻWj }~ GPA=oƻU@x+O&"rl7&-ؑd_._M&~V ܗP5,UG|Ÿ˗eɹ5Anċ"rl7;|KAO/֡(j8XW-u,¨DZx~95y˗eɹ5Anċ"rl7;J5ܗP5,UzL* Z (7aTq" =2T)wB#_p@V-TI\$vU5Anċ"s_Mi*d~;X·)%%A؞0<ڬ^3(uI9L|x4(`n5aCTq" =2P'_`eO5ŅL FC|č|k/aEpLpL >uF@W:-=DZxS˝%rlM5Anċ"s_Mi.ckAO/֡(j8/ *CX$k _A :αuFB؞ _@qCo(ubx-},&P:#_ Z XQt(7(ubx n :%W׺u1Q*Cw3h`@V-TRNS!l=RNS 6S؞" Tq"" =|}6\TH//˓sQZ }~ GPA(- R`l+J&P m+@%X uF@選 Pn8 @x+O{s_Mi&-ؑd_.tM7ge՗)%%A(`UYxaTq" Z 8-6S > a8V-Trnp}yj݉Ernp}y1ɽxb }~ GPApZl,7aTq"""" 5G""""" Ū\.Mo2MP["Ⱦ\.Mo2F96_~`SKJ?`_~7aTq""""" 5G"""""" Ū\.Mo2MP["Ⱦ\.Mo2F96_~PvWo1>Z 8-6 7)_aU@x+O{rl78>5Anċ"rl78>۱}pvo1>Z 8-6 f8v8 > eiO|_._M&7&-ؑd_._M&7#rl~`SKJ?` O0 * j栃-6Mo0¨DDDDDDDZxS˗eɹI v$Y˗eɹH&ܛc2y>j栃-6f_0 > eiO|_._M&7&-ؑd_._M&7#rm^~;7r_BQpT^~8 > aCTq""""" (j Z 8-6S50 * 5Anċ"rl78>ڬU}36N ܗP5¹mVp`,085G""""" Ū\.Mo2MP["Ⱦ\.Mo2F97VҩWxb }~ GPApZl-JP ѫx}yG""""" Ū\.Mo2MP["Ⱦ\.Mo2F97VҟAO/֡(j8 MXJ o0¨DDDDDZxS˗eɹI v$Y˗eɹH&`xk ~o1>Z 8-6°x % 7 aOo0¨DDDDDZxS˗eɹI v$Y˗eɹH&ץS7r_BQpE+o0¨DDDDDZxS˗eɹI v$Y˗eɹH&eK`SKJ?`lU:o0¨DDDDDZxS˗eɹI v$Y˗eɹH&5Jok?AO/֡(j8 MP(7aTq""""" 5Anċ"rl78>mV_TM6fo1>Z 8-6j _@)4Ю`sxaQ2j//˓s̓TH//˓s̑MVaUt ܗP55mVk*aU@x+O{rl78>5Anċ"rl78>mV_EW<SKJ?a#W~r08V-Trnp}yj݉Ernp}y1ɷڬ*5d]~o1>Z 8-6j _@5dׁ7aTq"""""" aCTq"""" (j ,ְT*yQ,RK~N BXAU*)L*9O09=t¼W!}9 9N 9QCo k8$o756$S o./usr/IBMVJava/html/enterp/en_US/sap/samples/absatttype.htmlhtm$$ SAP Business Object AbsAttType

    SAP Business Object AbsAttType (BUS1049)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- AbsAttType
    

    The business object Absence/attendance type contains absence/attendance types, absence/attendance quota types, availability types, substitution types and overtime compensation types.

    The absence/attendance quota types determine the nature of employee absence and attendance quotas.
    The absence quotas represent the time restricted entitlements of employees to absence (such as entitlement to standard annual leave) while the attendance quotas represent attendance approvals (such as approval of overtime).

    An absence/attendance, availability or substitution type is a dividing up of employee absences/attendances, availabilities for duty, and/or substitutions.
    Each absence/attendance type uses a group of rules to check the relevance of absence/attendance days and/or hours to quota deduction and to check their relevance to valuation.
    The absences/attendances of an absence/attendance type can lead to absence/attendance quota deduction for an absence/attendance quota type.
    The overtime compensation types determine whether overtime is remunerated and/or compensated by time in lieu.


    Keys
    Type Name Size Released since
    java.math.BigInteger PERSSUBAREAGRPG 2 bytes Version 30A
    java.lang.String ABSATTENDANCETYPE 4 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus3018Table TIMEQUOTA ??? (see below) Version 30C
    Bus2079Table PERSTIMERECORDING ??? (see below) Version 30C
    java.lang.String DESCRIPTION 25 bytes Version 30D

    The size of this attribute must be determined at runtime.

    Methods
    AbsAttType ()


    AbsAttType (com.ibm.sap.bapi.ObjectId objectId)
    AbsAttType (java.math.BigInteger PERSSUBAREAGRPG,java.lang.String ABSATTENDANCETYPE)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     k$Y 756$ \ Y ./usr/IBMVJava/html/enterp/en_US/sap/samples/account.htmlmlhtm$$ SAP Business Object Account

    SAP Business Object Account (BUS3014)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Account
    

    A business object Account is a structure for the recording of value movements within an accounting area (here: company code) with regard to a value category.
    The account can relate to an object to which the value movements are to be assigned.
    It comprises transaction figures that contain the value movements in condensed form per posting period.


    Keys
    ---

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2068Table ACCOUNTINGDOC ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    Account ()


    Account (com.ibm.sap.bapi.ObjectId objectId)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     kP$S 756$b S ./usr/IBMVJava/html/enterp/en_US/sap/samples/accountingdocument.htmln.h$$ SAP Business Object AccountingDocument

    SAP Business Object AccountingDocument (BKPF)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- AccountingDocument
    

    The business object Accounting document contains records of changes in value terms within a company code as a result of accounting transactions.
    It consist of several items (postings) that show the individual movements in relation to accounts.


    Keys
    Type Name Size Released since
    java.lang.String COMPANYCODE 4 bytes Version 30F
    java.lang.String DOCUMENTNO 10 bytes Version 30F
    java.math.BigInteger FISCALYEAR 4 bytes Version 30F

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESOUTBOUND 78 bytes Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    AccountingDocument ()


    AccountingDocument (com.ibm.sap.bapi.ObjectId objectId)
    AccountingDocument (java.lang.String COMPANYCODE,java.lang.String DOCUMENTNO,java.math.BigInteger FISCALYEAR)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    Type  l\$ii756$ C./usr/IBMVJava/html/enterp/en_US/sap/samples/activitytype.html.$$  <>et"/adilnor =bcfghpsvy.AEINRSTmu 013:CDFGOPw(),2LMUVY_j-BHxz%'458#69?JX+7Kkq!;QW|*]#T&lwX ;]Pb fEvYTU#uUoIa8Q{NٽS55vY_%bi8|D~YU,P@($,( YTb!vYTU#;,JyejB&,,I M 5ҎO9M.: M7󛯔@G󤞀4ok~ws>S%~Idۯ[9$>;LW9vG>s{ܚ\ to=7|v]k~T>󤞀;QnoyҊovMG2?eI=ɝO9vG1^;^_;y<8Mϊe|a iP?slcE#vG~yқ~ػ ˴7>(}G5=F;$>l!#rql;NרT5a |F˷$ܟOɶk~T>sczs>&Gz|Ǜ,,w|~'zJŝQR͏7;ݎSyOICOCNiI(e7dXRݨvYUt)  ]Uk҂i6&,* ʦk;,P:PX/]Wovb wFRaLYeZ&j&,UcK)3]ekݨWtmxnMLXP61oL6,f+P:PX/]W{Th6( !|Pku "4444He3]eky'LYeZd|E5Y_6vY_Ϛ҄b~첿uڣEA@Q 3]ek4Dq HnjLYeZwku2iQa",;,feU%eZakbA4s⁋ _6SvLŅ/ډ`We[>jJ@eV(&bb:첨7Oq:aYTuU3ge[>jJEMLX $"YL6,]Dŀ lsIe0ۦkw{*rm5Y_ֻډ wF5jJEF@4̙NyLYeZ `i !uWpT9 ,]`̚oxXHf+f+P:PX/]W-6LYeZ @X !Ad@aXf+XO5],]`̚oxXHf+f+P:PX/]W-6LYeZ @X !Ac,]`jJEjD6ouWC),]`j5Y_ֺ4(tuW͝Wt)4_,]`PlPCfLYeZ@4x"#DGS5Y_ֺ8O5],]`̚oxXH}3]e3gel(Jf,M.+X=4Tپ(S5Y_ֺņ D 43]ek/tuWfM7<,$>ʦkMYeRVY_G:os>ټ{4ٹ2O;|^KWUkMsIs⁋ _;!iϊ,%|M3&j&,($$*|%3ᡫʭw:PM&Ņ.*Vj2rtl,f*6en7ŤŸ1,zHp(tuU#;,v-%-.鍱gk~ETN!O4ڐZôk5jf5YT첿ۦ]bרTgڣEA@Q Dh0iih8=4Tپ(pGA#G 0XtuU#;,v-%,H%wLm"Bi!I!F'4ht3DM5 neLYeR3nXbĂtzyI M 5ރ5P?t%z{l!vGUKS@k~TvQR7$9:oܛ+ѳlܟs7MO 6>LlK7'DG"  ,x``?j}ܚ| "8H$hc 틸h#A ,DD Sri%y'"ޞ6g#پ(q7=S3MRF |`a\9I<k~T>M7OfX}ؙzZE1\n==O;^_Ց>x~Gr}Wټ|FƟ*.{eh{L'k8D,px,ppLlЉ$GB&.~HP$e3QX6DcO|;NרWb}J;9B𐐐ػwg"h#Β{K#BBBBBy9d+ѳq;_(Rq8g94=;DXgDh0iihp$i<48 ,HhPHXP8CCAcp ? ?F+ѳ`O "4Dw0!aF  " @l0DG8C"i%y'9I<MOr}ttvQM{EqdO^2ߑܟ'yE0?s;Pjk~T>{_>rohFş16ɁN'I))pz6v4isٴnO,xh@QJN' #0?i}#zy ;_(9k~TQΚ2pt >`"bI.] ?WΔI1`~m5LeL֛ NӶ 8h aNu6m%|PvQRΣ`O<'Fy;^_ܚF>JS)nQiU,Ls9iJ.|Pn0G{q2YnQ vG꼊e1+Ӷ,paNu<|٫oR P0Nۣl8`xX$0ۧ:Ki8hLt.ʦl첫glL^%eZFb7 f+X#AHHDE "<LYeZi,IwZ=al tuֻB&.~¹'L]3ge[>`"bI.] ?WtmcSt2m5Z=ad|„)l첂+glL^%k`"b҂i6&,li$=6m%Nm5LeVϨ=KvDlLX!wFߦtu6vY_5,kuӡt6C8BmӝbMIf2>k~T%5zӵ?UXF>JS)nQiU,7q MJsҔ\oa,Hd:|,zyR%5i^FcS s9k^~pX=xdPxPWmѶ0`"bI.] ?WtmcSt2m5Z=ad|„)l첂+glL^%k`"b҂i6&,li$=6m%Nm5LeVϨ=KvDlLX!wFߦtu6vY_5,kuӡt6C8BmӝbMIf2>'Fy;^_ܚF>JS)nQiU,Ls9iJ.|Pn0G{q2YnQ vG꼊e1+Ӷ,paNu<|٫oR P0Nۣl8`xX$0ۧ:Ki8hLt.ʦl첫glL^%eZFb7 f+X#AHHDckuִePElЉ$wlL\0]ѶANS f] ?Wa|wkQz1{$uЉ61oL6wlL\0]2iQaBu6vYA6B&/dݰz1p|A4]Ѷ4R6ɧL6l첂+glL^%k`"b҂i6&,o f;,aY_5Y_ֺкv` !L6α&ͤr}AϊQӵ?UYl #k~T;QE#q OpO3iU,LWga%)|O7_(Gz~rq~}G9Ҝ4>(w7[K#8,_(z};^^ET>zvcŎL6ΰ睯[5{X@qcCQ`a^Fp`IaNuvp^]3]eLeVϨ=KjD6ouWaF  ""#LYeZi,IwZ=al tuֻB&.~'L]3ge[>`"bI.] ?WtmcSt2m5Z=ad|„)l첂+glL^%k`"b҂i6&,li$=6m%Nm5LeVϨ=KvDlLX!wFߦtu6vY_5,kuӡt6C8BmӝbMIf2>'Fy;^__ܚ|x/9 ,K`_ {xٜ'ϔNרWbb;)O;|IG=k~T0?O39Δ牥(CߐYduD3Y*1+Ӷ,paNu<|٫oR   6ÆH stB,f*}FD]W{Th6( !|PkuDCE"8"@HPi,]u6e[>`"bI.] ?WtmxnvDPO5]l첂+glL^%k`"b jxvS f] ?W`̚oxXP3]t͝PElЉ$wlL\0_:PM&łtm$&ͤri f;,IwZ=atM.nf+feWuWt.F(`GS sIi,ܟFPss<'!;ϔk~TQ |vGUK|Jy2M>Q$su:Ia,}G9Ҝ4>(w7[K#8,_(z}$su {C dvtm8@e0ۧ:ÞvQln`g ŏSߐwE Gzvał$i9:]{IEzctuU3ge[>`"bI.+X=4Tپ(S5Y_ֺłA"!ȍ  D`$`(` "4uW֛ Qz1{$uЉ6< aL]k`"b('tu6vYA6B&/dݰz1pwF5ӵ?UXF>JS)nQl!#yO~C du0?O39Δ牥(CߐYduD3\!#xl2K#دNۣlx)9fsuUK8h,2(j<($ +Ӷ, #L6αN+ k;,IvY_ֺQؠ(B"8H$hc kuִePElЉ$wlL\0]ѶANS f] ?W`tu6vYA6B&/dݰz1pwF5S$|t S$|t |vGUK|Jy2M>Qw7ps9iJ.|Pn0G{q2YnQ pS}wpSb;n tXs-U, ȐSߐwE G7mѶ0`"bI.] ?WΔI1`~m5LeL֛ NӶ 8h aNu6m%|PvQJo;;ݔӵ?UXF>JS)nQi.yM0?O39Δ牥(CߐYduD3Y)bݔ+Ӷ,paNu<|٫oR   6ÆH stB,f*}FD]W{Th6( !|Pku,xh@),]u6e[>`"bI.] ?WtmxnvD 櫸3]t͝PElЉ$wlL\0]Ѷ?!O|NaL]k`"bM kQz1{$uЉJ ؘBٴnM:aL]3ge[>`"bI.] ?WΔI1`~m5LeL֛ NӶ 8h aNu6m%|Pto)C츚/9 ,K`_ {xٜ'ϔ-%SΛ>GG;NרW`Nۣlx)9fsuUK8h,2(j<;n`4n.=ᢽ1кf*ʭQz1{$ekjO e3]ekXiAAC5Y_ֺZl2("}FD]ֻB&.~ ')3]uЉUNf("}FD]ֻB&.~Ƨ'`e0ۦkݰz1pv ɦGS5LeVϨ=KvDlLX!wFIJzBR6ɧL6l첂+glL^%k`"b҂i6&,o f;,aY_5Y_ֺкv` !L6α6єSS{bӵ?UYƇl!Β{M>|~J(q7?QŤ>G<$ؠMg A"z6v)RwLuy90?O39Δ牥(CߐYduD3Y*l]e.x}B,f*6e1вk?l첂?kMYeS ,FvY_|ZK Y 1jSy؟"BjBy†(}G:Sy؟l2=s2^Gi7>FCS@k~T +ѳlܟs$ܚ|zQC 6CDH 8Q`?l{5  D4`#4Dу""O9J;9BU>G<r(:Q|P5?#y<÷vo&lIsl:7:Qt 6ΖMwl]zg6\l{2gi9bG9OQ=|M2xsv%xh8XÄHc +ѳ6ć C.:݉'ӵ?UYΑ#_|PtGõ:oܛk|_QtSI=dw'ćnj G?dnF|I l8Yah8DACpH0!A!a@?gp( ;  X#DGp  Dh0iihp"CƆ ;`"4p$D`a@qaѳȋ# `iph8DACz6wHxф?3 0F3gu6B&/d=aƎ"Bk^sa-(QJo;9́|s`_ {4?J ixϪ$( Ϝu2iQ"3]t͝5.vYAZ`"bI.Ii$)3]eZ,кsZl3)&b—e[;,Q*F+lsIe3Q"YLu3Q "Yj6YT͝UlЉ$,]`PlPCfLYeZ  D4`#5Y_ֺZl2("}FD]ֻB&.~ ')3]uЉj5LeVϨ=KvDc7 tuֻB&.~4( f;,IwZ=atM.I)OzMIfӦtu6vYA6B&/dݰz1p|A4]ѷ3]t͝Wi,,]t];nPctXfY>Q'GG9OyO9!NxR; %LG[C=>d܎鏱^FcS s9k^~pX=xdPxPHӶ, #L6αN+ k;,IvY_ֺQؠ(B"@hFkuִePElЉ$wlL\0]ѶANS f] ?WaA|vGUK:SyؘF>JS)nQ:I;#4<Ϩ:S&~C dwG%O'7#:cWmѶS$|{Ls9iJ.|Pn0G{q2YnQ vG꼊e1z};9B\دLt.ʦl첫glL^%eZ‚BMS5Y_ֺć BZaYA6B&/dݰz1pwF8L6wlL\0]0櫸3]t͝PElЉ$wlL\0]Ѷ?!O|NaL]k`"bM kQz1{$uЉJ ؘB=6m%Nm5LeVϨ=KvDlLX!wFߦtu6vY_5,kuӡt6C8BmӝcI?Zl3(9C9vGUK:Sy؟>S>k~T>|½1кf*ʦkMYeLt,,;,aYAB*U%eZakbA4s⁋ _6SvLŅ/ډ`We[>jJ@eV(&bb ʣlbNmU3]eLeV*A4]U:NX B*ʦl첩aYTQeRVYTތ(S b(Cl#C4ŝ(GWtHtq)1䚆&ȠIynɘXP` .鍲ʦ%eL6NV*P lr$q756$ E./usr/IBMVJava/html/enterp/en_US/sap/samples/apaccount.htmlml.$$   >t ^{&ķ i^3JJ\V$ؖJf=uM{)bH-2:D #׎A\fXi\fA\f)b$aJ2j0a"BMqxfdj :y%' zԯz]l{u+A^u9j{䔝^oq/hL"e4.Jܭ"ӄJ\V$ؖJf<Jf<[_L+c%.+olK 3M]Ȧ唱N|`A`"e NAk 3,I3 3Y1_q0q5q0!&Ҹ̃Ҽr3^25oq^+ 1F"Ru{@tu3Ym-кS5+ޯr_N 6%H(J^91^25oq<ܭ"өiLԯz{ԯԮ=5+A^uޫ~[+ޥxW[JyWA]l{u*ߐzU VAdrEdb)whr`` 000(!048"L<]`-%Jfb[<]`xnm&tdoM]c۫F"Ruq_N p0 \fxDcaX &$M^{kad%6"~W$8ka h@2BY28 0'ݢEȥVɖ6Kk+Y1qe=b`DҼuxս@tJN2V Xm+M+W[DO$%oq/hÄD)\fzi^:dj :y%'W+{{Ep" hx`hP" ÁԮ3W4z]l{u*ߐy ~i$Q1R&İS4A뭏lkYK:Ai9$&XLm frj0rěJ2j0M|% WsW l=+<+ 5#V)95{ǷWx0"046Ru+n{9ޮ=1^25oq<ܭ"өDLҙ^{@tp`bbRWAcW[DO$+{{EfpкS5+ޯr_NY`itzs#V): :^}:ܖ h])W[DK/L$ Rrcdj :y%'W[DK/S4ҙ^{J^91]l{rjWc۫WVJWJԮ= 4׌[DO$W[^: A!z]l{u+A^u9j{䔝^oq/hL"e4.Jܭ"Ӂ& h4{ԯƯIIV =tjW^oq/hK{ԯƯIIV׵e@SBLԯz :^}8$ؖa @m+ޥx5xս@tJNr_Ni3RRrcRԯy5{ǷWzoԯz]l{u+Ai^9II9ޮ=u{h^+ 1F"Ru{@tu3Ym-кS5+ޯr_N 6%H(M+ޥx5xս@tJNr_Ni3RRrcRԯy5{ǷWzoԯz]l{u+Ai^9uԫ~AjտU4&>J\V$ؖJf=uM{)bH-2:D #׎A\fXi\fA\f)b$aJ2j0a"BMqxfdj :y%' zԯz]l{u+A^u9j{䔝^oq/hL"e4.Jܭ"ӄJ\V$ؖJf<Jf<[_L+c%.+olK 3M]Ȧ唱N|`A`"e NAk 3,I3 3Y1_q0q5q0!&Ҹ̃Ҽr3^25oq^+ 1F"Ru{@tu3Ym-кS5+ޯr_N 6%H(J^91^25oq<ܭ"өiLԯz{ԯԮ=5+A^uޫ~[+ޥxW[JyWA]l{u*ߐzU VAdrEdbl<€0( 8h0D4 "RyL{V[nKt4.!&ķ PyLKLL9ߪǷW[DO$%oq/hCA` Ҹ^"°L$H ˞1Q%@IvkadV(Q!Xyt%rCSblx$+% s{n]$\\%o,cex{䔝\d"Ӄ@$WޚWIIJ :^}8 R^Ҽuxս@tJN2V4^+ 1F"Ru{@tu3Ym-кS5+ޯr_N 6%H(M+ޥx5xս@tJNr_Ni3RRrcRԯy5{ǷWzoԯz]l{u+Ai^9II9ޮ=u{`hPRWuԯy5{Ƿ 1F"Ru{@tu3кS5+ޯr_N@PL&Rrcdj :y%'W[DK/S0ҙ^{@tp,.Rrcdj :y%'W[DK/S0{^ՖےM 3R+{{Eb[zs#V): :^}:JޚWJ9JcېsRW[^:URWuԯyxfdj :y%' zA!A+ޥxW[JsW]l{rcdj :y%'W[DK/S0M 3R+{{Ejd a0@ ^+ 1F"Ru{@tu38h])W[DK/2>^+ 1F"Ru{@tu3Ym-кS5+ޯr_N 6%H(J^91^25oq<ܭ"өiLԯz{ԯԮ=5+A^uޫ~[+ޥxW[JyWAkF"Rrjn^pDD4 RWuԯy5{Ƿ 1F"Ru{@tu3кS5+ޯr_N Wl@RjWJ9j{䔝^oq/hLJf{V`itzs#V): :^}:ܖ h])W[DK/L$ {ԯƯIIV+-jW^ҽWAjW[܃ zURRu+n{<+ 5#V)95{ǷWx$ ҽWuԯy5{Ƿ 1F"Ru{@tu3кS5+ޯr_N Wl@RjWJ9j{䔝^oq/hLJf{VDOWJ9j{䔝^oq/hL{V[nKt4.Jܭ"ӂMn& SJ^91^25oq<ܭ"өiLԯz{ԯԮ=5+A^uޫ~[+ޥxW[JyWA]l{u*ߐy 5oM3r7%ҙ]l{dS^X@ Lξ0t 2cm 5sW$WsWDl,/R̃Ha\fAi^9II9ޮ=u{ hxu+ޥxW[JsW]l{rcdj :y%'W[DK/S0M 3R+{{ET"=zs#V): :^}:.Jܭ"Ӏ(,K{ԯƯIIV׵e@SBLԯz :^}8$ؖa @m+ޥx5xս@tJNr_Ni3RRrcRԯy5{ǷWzoԯz]l{u+Ai^9uԫ~AjտU4(r7%ҙ2<ҭ3VW0KěLWy=)ye,S@@_:@Xa1tSy9m+9"e6ALDL)\fA\f $HI3 4׌[DO$W[^:, RWuԯy5{Ƿ 1F"Ru{@tu3кS5+ޯr_N XB+cJ^91^25oq<ܭ"өA{BLԯz :^}8 LOWJ9j{䔝^oq/hL{V[nKt4.Jܭ"ӂMn& ҽWAcW[DO$+{{EfS5+ޯzi^+ 5+nAJsW]l{uxߩVJ^:ǷRfzW[Jo=zY~AAiNŽp@00 `Pp A!@jS23Wzi=jmnҙ$ؖa @j3Wzi 0ib⻉])5[_Wz{䔝\d"Ӂhp`<" !:WXVaWJ#]m.W#[ & .y=o-뀦0HZ'6"DF8X"[\2K녮7+e4S!lV{l|W+H<\ɐ9ŌI=..E.L xVrOz)D#F6X..mŔ|W+Hb $.D d$-뀦ȥXdI+a6H MSE9oolgp-b4^25oq<@tph`J5{J#V):[DK/@ WޚWIIJ :^}8AA u+M+ޥxW[Jf9ߪfL|I,.5wzc"R:Zdu lGH%9&Ҹ̃"&SddI}•d`DJ23J^+ 1F"Ru{@tu3Ym-кS5+ޯr_N 6%H(J^91^25oq<ܭ"ө"Wq0[Lԯz{ԯԮ=5+A^uޫ~[+ޥxW[JyWAkF"Rrjn^`D ahm+ޥxW[JsW]l{rcdj :y%'W[DK/S0M 3R+{{Ev,{ԯƯIIV =tjW^oq/h>^+ 1F"Ru{@tu3Ym-кS5+ޯr_N 6%H(M+ޥx5xս@tJNr_Ni3RRrcRԯy5{ǷWzoԯz]l{u+Ai^9II9ޮ=u{Ci^+RWcېs#V): :^}:Dh])W[DK/W (L& h J^91^25oq<ܭ"өA{BLԯz :^}8 J^91^25oq<ܭ"ө=jmnҙ^{@tpI-A@WJ9j{䔝^oq/hLJf{M+ޥxƥu9^jn^[*ߩ^+RWҼr3^25oqRu+n{9ޮ=1^25oq<ܭ"өDLҙ^{@tp`bbRWAcW[DO$+{{EfpкS5+ޯr_N%}ҽWAcW[DO$+{{Efkڲr[)tjW^oq/hlKq0P$ WJ9j{䔝^oq/hLJf{M+ޥxƥu9^jn^[*ߩ^+RWҼrJc۩VWy~i4L|I,.5wzc"R:Zdu lGH%9&Ҹ̃"&SddI}•d`DJ23JɈ+9 6dfy{䔜c۫W`DJ^:ǷRW[܃ƯIIV"&SBLԯz :^}80b]K^+ 1F"Ru{@tu38h])W[DK/,OWJ9j{䔝^oq/hL{V[nKt4.Jܭ"ӂMn& SJ^91^25oq<ܭ"өiLԯz{ԯԮ=5+A^uޫ~[+ޥxW[JyWAkF"Rrjn^H48{ԯJc۩^jnAcW[DO$+{{Ef)tjW^oq/h1qX؀ԯzs#V): :^}:.Jܭ"Ӂ `itzs#V): :^}:ܖ h])W[DK/L$ Rrcdj :y%'W[DK/S4ҙ^{J^91]l{rjWc۫WVJWJԮ= 4ҺU 5UAjߪf %.+olK 3M]Ȧ唱N|`A`"e NAk 3,I3 3Y1_q0q5q0!&Ҹ̃Ҽr3^25oqJ\V$ؖJf<Jf<[_L+c%.+olK 3M]Ȧ唱N|`A`"e NAk 3,I3 3Y1_q0q5q0!&Ҹ̃Ҽr3^25oqadet"/ilnor =bcfgps ARhmv.2:BCDEINPSTuwy()0134FGHMVj,5LOU_z'8WYkx%6?JX#-9K7+;Qq|! q.qASz@ Ro ࠐ+(%J&fm " 8zynt 1DLͮ?uAU-!ntbbyntP \sKZ.0 LLͮ!@D q \icdcW(ƉpTVEwA,nL+W(Pbs `0 N@ ( 9u` ?G5fd%Q[qx`G 5iDqѢ"r‡a ((A%4i A7J'+0J4IDƉp(`$j1fv$aH?$`{a TVE8n\A,n—=hcsxqTqM Ys~ A=m~#mǭ]9#Z5C7 Z:Ŝߌ[&J&6fsqBH)%mȐx0 DD<A[rQ?܀^`0(nBVP l+nJ'VJ'5sH&J'ېSO ׭¶"a[rQ?܅smDrǢ7a[rQ?µQ?ƿycZEq2Q?܄hxHm>%mȈx|+nJ'ېX#/+nJ'ې= ے5s,={6#Dh%Di(n@x8&(4P mDr # ے6!Eno¶k0\<^d e4=z|+nJ'ېh mDr # ے6!Eno¶k0\<^d e4=z|+nJ'ۑ@$ ے6+/+nJ'ې= ے5s,={6#Dh$hŞ (nD"cƉ0(nB¶c[@(Z(_<1-"׸(nB4FYM<$O^ ے6" FC[rQ?܂y¶c[@(Z(_<1-"׸(nB4FYM<$O^ ے6hxᢀ@VܔO `0(nBVP l+nJ'VJ'5sH&J'ېCxw¶(  "[rQ?܀^`0(nBVP l+nJ'VJ&c2J&P~tVqG[Y;y n_nOLm]Ry"ZA 9- eޏ- @ %a湎yihh0(湈M- DFdL+nJ&m̒7f+aiA UHbͦ[ ے7f+aiA)UHbͦ+0J4I@8n_q7D, ݘVܔL|O1]C MTA,n0FI !#Ч@(lm̒kFmY87V{U 2a[rQ#?60h4HH "(@ b!(µQ#?|HgHfR9} 0(rǢ7 VܔHZ(5Q#?6\,C,r 2A~^5nh\(ɅmDۘ11i=\f4,aڙ"!@@P´|܀w iU=h],?4~?} m7{EHVH śMB |ƿ,r ZYjd "(' rQOδQor8

    " 2a[rQ#FܔHŲbJ&6fsǖJdc_%hC!Z>J'#D2"giy չ%h q݅h(VJ&51gLO!#A$+G,mDr0xh  ے66fID#LY-:1=v`Xp&1=v@/0_qVµQ##_{KNmbiif2Gc2警\(Ʌmmbiif= xVµQ##_{KNmbiif湈M-!I2D BD3qŒVµQ##_{KNmbiif湈M-!I2|(Ʌm+_%+hdO(nb1{0dƈaFL]1iy չ}71fwT@^2;G9ca nq1Z4/A6 —>/f DA&.h`%rչu] H<7^21@lVܔL+_%FZu&J'ېSO ׭¶(mDsF3$FF,r Ş;S0d Q ۘŞ;S!\}a[s D#LY-:1=v`G/p&1=vBVP$ ۘVJ$dkbii LY-,õ<1))3Hx Aޅ>fх0kFF,r Ş;SsBZB0dQ ۘVJ'Vь([rQ?Ųb`4D 2bF P/,[O[_E;^21cP~s8Ym?4UO΃Ef3VL1r Y f? Z:.@ $9~A6 v#VUa[rQ0|L+hdH­Q?(µQ#?m̒ IDDD0aU$\揦R(9ƸJ4K4$@qƆuno5ns@^5i>~!H,ؕ>#Ч@(lm̒kFmY87V{U 2a[rQ#?60h4HH "(CĆ` pt+nJ$g|H_%0dmY;_Em7FL+nJ$g܄1H"%3VJ'|H >i=\f ~h_D׭ [ 2a[rQ#?66fLkbii =vAHh"41 ¼oG>ZfpaG~hqOM,>2[s +hd¶F D5Q#?6bii % }D.d¶F (?dܔLm9- DƾJ'(.B|OFd+GD>E ӜsaZ>J'1 Q0|Lkbii (nB4FYM<$O^ ے6D<BCD08:%mm̒FZu&co{KK0L&/FL+nco{KK0L@/+naZ(i=\f61g#HVp.d¶61gC ![s D#LY-:1=v"4&` }ǣ 2a[s D#LY-:1=v"4&`&0|OQ?¶d8h4>d܍ $_Y6/|44wecO L+nJ&#LY-:%mFI !d܍ $_Y6/|44wecO>|*0(VJ&51gLO!#A,'[OmDr P10 mDsF3$FF,r Ş;S0d Q ۘŞ;S  # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2D BD3qŒVµQ##_{KNmbiif湈M-!I2|(Ʌm+_%+hdO(nb1{0d" 1w#C(Önͧ`_  /}  L+nJ&#LY-:%mFK)[rQ?܎G¶Q##_{KNmbiif2D\(Ʌmmbiif`0kFF,r Ş;S0de#[MQ ۘŞ;S! z+sx(m+_%251gLߦ,aڞk$<BD3qŒVµQ##_{KNmbiif湈M-!I2|(Ʌm+_%+hdO(nb1{0d" 1w#C(Önͧ`_  /} 1(?9c,ߚ*]xAȢ~ |&@ YR(9ũhi~wh#LB m7z"}\*v3>~_[&% D¶fID*% ے+_%3Vь(dL|O1]C I*|hBDYϾ5Q^q"45nsykp[ śMhBDYϱ*}GO[Q#"1{1w%31%3Dp $p07ZnX0.d¶Fm`!(h 4DP HhBF D5Q#FkHL#HVp.d¶FmC ![rQ#?kDpFZu&`uMzչp&%3nchdƿ,r ZYjd#@q@ r+ͦTsfuw4~>΅"~Eg/71ft'΅"}huoƚt7/o7}0h& kbii =vA"p1 E?E\#0BD3qJ'(.q琭[ Q?Ə!Vkc_{KNDr4BxHbnVܔO @`BЭ(nchdH4ŞӮA3~ZYjf 5x 2a[s~ZYjdm+_%251gLߦ,aڙ$v3)nŒVߦ,aڙc[@wm+_%251gLߦ,aڞk$@~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H</f DA&.h`%rչu] H<7^21@lVܔL+_%FZu&J'ېSO ׭¶&&Э(nchdH4ŞӮA3~ZYjf 5x 2a[s~ZYjd}a[s D#LY-:1=v`G/p&1=vBVP$ ۘVJ$dkbii LY-,õ<1))3HSn=Q ۘVJ$dkbii LY-,õ<1))3O0km̒%m[&/f DA&.h`%rչu] ᣸/~Ua[rQ0|Lkbii (nB4FYM<$O^ ے6px8F%mm̒FZu&co{KK0L&/FL+nco{KK0Lsm+_%251gLߦ,aڙ$v3)nŒVߦ,aڙc[@D+naZ(i=\f61g\P!%?z!Fd¶FZu&co{KK0O5E ii LFL+naZ([F3$mDsɋك$ph|(ɋ4I@unm<_m}Ch8h9xƟPAseW}?:E cY0 _bͦBDYϾ-HG#/#Xi_bͦBDYϾkY}fsG#/­ ےka[F3$F lmD+hdHUJ&J'ݘ!)3 "[WR(9ƸJ4K4$@qƆuno5ns@^5i "}S= }D ݒɋً(ь(ƾJ$gkHL#*unoYp&%3nCCDqѢ"P10 mDkF >2Gc2警\(ɅmDې= BF D񯒉g1gLsBFL+nJ$gьɍ#LY-:11g0  F6WMGWLXGBDYϿHۗޛiƷ:"}ߚ*AФQs}m^.muϴc3 D0 Z#LY-:11g8@DPN6G>h+ߣpx8FSn<'3)ñ]~{q1Z7G>fpaG~hqOM,>2υm+_0 ے+_%3Di=\f )AQ ے26F -rQ1c3{0d" 1w#C(Önͧ`_A rٍ?G d¶aZ(4ŞӮA2Q?܄hxHm>%mȐ10 mDsF3$FF,r Ş;S0d Q ۘŞ;S  # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2CJ~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H Qr40h|9fx.p rٍ?GH*0(VJ&51gLO!#A,'[OmDr8

    d܍ $_Y6/|44wecO(Ƞ9p~hu>"f1b/1fwH,zڽ]1`^_.F?qH śMޅ"| ]jtŁy~lVܔL+_% 1%0gdO+nJ$g|H[F3$FBQ0=Q?v -$iUI.BDYϾ5Q^q"45nsykp[ śMn!H,ؕ>#Ч@(lm̒kFmY87V{U 2a[rQ#?60h4HH "(( `(px6%3VJ$g񯒉26\,B`G/p&%3nBVP$ ے+_%ƾJ$gkHr4ŞӮA3H?4{"kֆ 0(sF3&51gLƏŞ;S $D4P@ xVې^m7GC4{빯ߍ׋M Yo1"` z"}1fwo? |ƿ,r ZYjd "(' rQOδQor8

    E ӜsaZ>J'1 Q0|Lkbii (nB4FHV Y ? ے6 `@(@:%mm̒FZu&co{KK0L&/FL+nco{KK0L^`0kFF,r Ş;S0de#[MQ ۘŞ;S! z+sx(𭹅kFF,r Ş;SsBZB0dAޅ>fх0kFF,r Ş;SsBZB0dQ ۘVJ'Vь([rQ?Ųb`ŒcӜs{Ňobͦh1he#v?뾏s -EHcvnh_ m7{EH.|^#CFL]J囫sik@xoecO*0(VJ&51gLO!#A,'[OmDr8

    d܍ $_Y6/|44wecO(Ƞ9p~hu>"f1b/uZ+rbͦBDYϿ \c;~? !9A6 Eg>ey~V1VɅmDµQ0Q# ID¶F Dc2J$d*%%nWm@LªHwR(9ƸJ4K4$@qƆuno5ns@^5i)Ez %2-rQ#?Q#?|H >2Gx0UuFL+nJ$g܆  DEi=\f ~h_D׭ [ 2a[rQ#?66fLkbii =vAHh"41 ¼oG>Z{0d" 1w#C(Önͧ`_A rٍ?G d¶aZ(4ŞӮA2Q?܄hxHm>%m@$p+nJ'ۘ1%251gLߦ,aڙ$M`^ŒVߦ,aڙ # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2CJ~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H Qr40h|9fx.p rٍ?G?"1io5׈~t+1 a@׋jG37/A,n)E3G`"~siФQsV_ka> |Ua[rQ0|L+hdH­Q?(µQ#?m̒ IDDD0D*|)Ec\@%@% 8C\ặ7 չ/ YH,ؕ>#Ч@(lm̒kFmY87V{U 2a[rQ#?60h4HH "(C ¶F D5Q#FkHL#HVp.d¶FmC ![rQ#?kDpFZu&`uMzչp&%3nchdƿ,r ZYjd#@q@ r+ͦTsfuw~UvU琭[M Y=>ь4H@ HOk51gLƏŞ;S A8Vې~"~u_[~ HRO$̤swƊjz!r}»Ňo#L}?=6ߣ_hOm+_0 ے+_%3Di=\f )AQ ے26F -rQ1c3{0d" 1w#C(Önͧ`_A rٍ?G d¶aZ(4ŞӮA2Q?܄hxHm>%m@$p+nJ'ۘ1%251gLߦ,aڙ$M`^ŒVߦ,aڙ # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2CJ~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H Qr40h|9fx.p rٍ?G?"1io5׈~t+1 a@׋jG*bͦBDYϿ \c;~? !9A6 Eg>eyߕ~ |Ua[rQ0|Lkbii (nC),Х̅mDr&(4P (nchdH4ŞӮA3~ZYjf 5x 2a[s~ZYjd # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2D J~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H?)i|0W;(ɋVL1r0"4J囫sikAGp1_f4 ?0 a>F P/,[O[_E;^21  |"c | $_Y6/|@DP/}.@1A | $_Y6/|44wecOcp$F P/,[O[_E4PO^21@ |0p$C!K>F P/,[O[_E4PO^21@ | @h#C(Önͧ`_1_f4@>a@pᢁ | $_Y6/|8hecO.@  | $_Y6/|P@'/}@?0!E<4I@unm<_m}CpA>9xƟUa[rQ0|L+hdH­Q?(µQ#?m̒ IDDD0 3 "?5GqihH s[k7V怼j1ft֊%O)A<+vJ$d[&/f.FF3$F(}}!0d`MչfŒVܔH $  F@A1AH+nJ$g|H_%0dmY;_Em7FL+nJ$g܄1H"%3VJ'|H >i=\f ~h_D׭ [ 2a[rQ#?66fLkbii =vAHh"41 ¼oG>Z%mᢀPt+nJ'ۘ1%251gLߦ,aڙ$M`^ŒVߦ,aڙ}a[s D#LY-:1=v`G/p&1=vBVP$[s D#LY-:1=v"4&` }ǣ 2a[s D#LY-:1=v"4&`&0|OQ?¶d" " 1w ?9+V7H śMRcz G;}1[O[_1Ɗjп A,n3 \2G ŒD 7Vt0/ 9xƟUa[rQ0|Lkbii (nB4FYM<$O^ ے6h&(4P mDsF3$FF,r Ş;S0d Q ۘŞ;S!@`0kFF,r Ş;S0de#[MQ ۘŞ;S! z+sx(m+_%251gLߦ,aڞk$<BD3qŒVµQ##_{KNmbiif湈M-!I2|(Ʌm+_%+hdO(nb1{0d" 1w#C(Önͧ`_  /} *0(VJ&51gLO!#A,'[OmDr (h4PR%mm̒FZu&co{KK0L&/FL+nco{KK0L9¶FZu&co{KK0L;_Em7FL+nco{KK0L1H"0|H4ŞӮA3~ZYjyb(SKHRf  }ǣ 2a[s D#LY-:1=v"4&`&0|OQ?¶d8h4>d܍ $_Y6/|44wecO(d¶aZ(4ŞӮA2Q?܄hxHm>%mȈx|+nJ'ۘ1%251gLߦ,aڙ$M`^ŒVߦ,aڙ9¶FZu&co{KK0L;_Em7FL+nco{KK0L1H"0|H4ŞӮA3~ZYjyb(SKHRf  }ǣ 2a[s D#LY-:1=v"4&`&0|OQ?¶d8h4>d܍ $_Y6/|44wecOUa[rQ0|Lkbii (nB4FYM<$O^ ے6px8F%mm̒FZu&co{KK0L&/FL+nco{KK0Lsm+_%251gLߦ,aڙ$v3)nŒVߦ,aڙc[@D+naZ(i=\f61g\P!%?z!Fd¶FZu&co{KK0O5E ii LFL+naZ([F3$mDsɋك$ph|(ɋ4I@unm<_m}Ch8h9xƟPAseW}?:E cY0'/  '/1fw۱ow­ ےkc_{KNDr4i"zVܔO"bE8VܔO1c2J$dkbii LY-,õ3H 0LY-,õ2 # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2CJ~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H<#3w?9c,3cwۍ!չ~ A}1F{0d" 1w#C(Önͧ`_  /}*0(VJ&51gLO!;Bc2%m@hh D[rQ?ь(i=\f61g"k.d¶61g``0kFF,r Ş;S0de#[MQ ۘŞ;S! z+sx(m+_%251gLߦ,aڞk$@~<BD3qŒVµQ##_{KNmbiif湈M-!I2|(Ʌm+_%+hdO(nb1{0dƈaFL] a\q RD 7Vt0/ci?.ar  \140h|9fx.$/}>a\8)sJ囫sikAGp1_f4`?0.F !K>F P/,[O[_E;^21 1 \ >F P/,[O[_E;^21P& |1VɅmDµQ0Q# ID¶F Dc2J$d*%%nWm@aU(j\+p縅(/8Б չ5nxbͦk{]m S= }D ݒɋً(ь(ƾJ$gkHL#*unoYp&%3nCCDqѢ"Ph(µQ#?|HgHfR9} 0(rǢ7 VܔHZ(5Q#?6\,C,r 2A~^5nh\(ɅmDۘ11i=\f4,aڙ"!@@P´|܀w iU=h]~VA,n1(?:"޼GW}1G5Eh4~h4#ǜH śMuQ[O?8sQ [i֏sX/~VaLg4~s3ǜ芚n"¬`Otww抽A6 HEܿM]o5ׁ>4ŞӮA3?{KK0LEZ>cnC m7ppDs*C:&17^]¼o[M~R9~v3wqYxBD3q1cmm?X~hA,ngsxQsj/1f֭~"y]뢆o#գ1^ }\""cDPs΅>f.F B=hşZ狄1QOδQor8

    J'(.q琭[ Q?Ə!Vkc_{KNDr4BxHbnVܔO#C![rQ?ь(i=\f61g"k.d¶61g # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2D BD3qŒVµQ##_{KNmbiif湈M-!I2|(Ʌm+_%+hdO(nb1{0dƈaFL]1iy չ}pdqp7zz G;}1[O[_1Ɗjп dqp7aKH Qr40h|9fx.$/} L+nJ&#LY-:%mFK)[rQ?܍%mm̒FZu&co{KK0L&/FL+nco{KK0L@n`0kFF,r Ş;S0de#[MQ ۘŞ;S! z+sx(m+_%251gLߦ,aڞk$@~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H<mGֈ fR9߇c9p!n4T7kV\gX .|^#CFL]J囫sikAGp1_f4 0­ ےkc_{KNDr4i"zVܔO#Dh mDsF3$FF,r Ş;S0d Q ۘŞ;S `0kFF,r Ş;S0de#[MQ ۘŞ;S! z+sx(m+_%251gLߦ,aڞk$@~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H<} m7yphe#v?뾏s -EHcvnh_ m7ypOك$ph|(ɋ4I@unm<_m}Ch8h9xƟ$VɅmDµQ1i=\d e4=z|+nJ'ۑ@P % ے66fID#LY-:1=v`Xp&1=vB¶FZu&co{KK0L;_Em7FL+nco{KK0L1H"0|H4ŞӮA3~ZYjyb(SKHRf 9Ч z0&0|H4ŞӮA3~ZYjyb(SKHRf 2a[s D 1%+nJ'ۘL^ " Qr ssBnosxM Y烈he#v?뾏s -EHcvnh_0bͦ}4.|^#CFL]J囫sikAGp1_f4€lVܔL+_%FZu&J'ېSO ׭¶8@ [rQ?ь(i=\f61g"k.d¶61g$ # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2D BD3qŒVµQ##_{KNmbiif湈M-!I2|(Ʌm+_%+hdO(nb1{0dƈaFL]1iy չ}7֎֬߫gZ /AH~1ik07}Rݭ[sOZ:_Z~Y{0d" 1w#C(Önͧ`_  /} L+nJ&#LY-:%mFH!չ ے60 ( ے66fID#LY-:1=v`Xp&1=v@/0_qVµQ##_{KNmbiif2Gc2警\(Ʌmmbiif= BFZu&co{KK0O5E ii L A?z!Fd¶FZu&co{KK0O5E ii LFL+naZ([F3$mDsɋك$4D@D 2bA[NsVo[nw[Z /AH~1ik07}Rݭ[r[s \2G ŒD 7Vt0/ ci?P?[&% Dƿ,r 6#Dh%Di(nC F[rQ?ь(i=\f61g"k.d¶61gP F0|H4ŞӮA3~ZYjf ̤r+i 2a[s~ZYjd!EnoAkFF,r Ş;SsBZB0dAޅ>fх0kFF,r Ş;SsBZB0dQ ۘVJ'Vь([rQ?Ųb`4D 2bF P/,[O[_E;^21d¶aZ(4ŞӮA2Q?܄hxHm>%m`@p44>%mm̒FZu&co{KK0L&/FL+nco{KK0L}a[s D#LY-:1=v`G/p&1=vBVP$ ۘVJ$dkbii LY-,õ<1))3HSn=Q ۘVJ$dkbii LY-,õ<1))3O0km̒%m[&/f DA&.h`%rչu] ᣸/~@0­ ےkc_{KNDr4i"zVܔO!P ے66fID#LY-:1=v`Xp&1=vBn`0kFF,r Ş;S0de#[MQ ۘŞ;S! z+sx(m+_%251gLߦ,aڞk$@~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H<5Nֈ fR9߇c9p!n4T7kV\ \2G ŒD 7Vt0/ci? L+nJ&#LY-:%mFK)[rQ?܆ xVܔO1c2J$dkbii LY-,õ3H 0LY-,õ2sm+_%251gLߦ,aڙ$v3)nŒVߦ,aڙc[@D+naZ(i=\f61g\P"sOaFL+naZ(i=\f61g\P>d¶c2J'VܔO1l2G ŒD 7Vt0/ci? L+nJ&#LY-:%mFK)[rQ?܆(nchdH4ŞӮA3~ZYjf 5x 2a[s~ZYjdF0|H4ŞӮA3~ZYjf ̤r+i 2a[s~ZYjd!EnoAkFF,r Ş;SsBZB0dAޅ>fх0kFF,r Ş;SsBZB0dQ ۘVJ'Vь([rQ?Ųb`ŒcӜs{Ň ^/F w?9c,3cwۍ!չ~&U~0^{0d" 1w#C(Önͧ`_  /}*0(VJ&51gLO!#A,'[OmDr &(8@4R%mm̒FZu&co{KK0L&/FL+nco{KK0L}a[s D#LY-:1=v`G/p&1=vBVP$ ۘVJ$dkbii LY-,õ<1))3HSn=Q ۘVJ$dkbii LY-,õ<1))3O0km̒%m[&/f DA&.h`%rչu] ᣸/~@0­ ےkc_{KNDr4i"zVܔO (Dh<>%mm̒FZu&co{KK0L&/FL+nco{KK0L}a[s D#LY-:1=v`G/p&1=vBVP$ ۘVJ$dkbii LY-,õ<1))3HSn=Q ۘVJ$dkbii LY-,õ<1))3O0km̒%m[&/f DA&.h`%rչu] ᣸/~@0­ ےkc_{KNDr4i"zVܔO hP ے66fID#LY-:1=v`Xp&1=vA<}a[s D#LY-:1=v`G/p&1=vBVP$ ۘVJ$dkbii LY-,õ<1))3HSn=Q ۘVJ$dkbii LY-,õ<1))3O0km̒%m[&/f xxl(ɋ9m9!Z7X}osw=he#v?뾏s -EHcvnh_y]F{0d" 1w#C(Önͧ`_  /}*0(VJ&51gLO!#A,'[OmDr  ے66fID#LY-:1=v`Xp&1=vA<}a[s D#LY-:1=v`G/p&1=vBVP$ ۘVJ$dkbii LY-,õ<1))3HSn=Q ۘVJ$dkbii LY-,õ<1))3O0km̒%m[&/f xxl(ɋ9m9!Z7X}o?D3)ñ]~s8Ym?m|f*CsB.O?.|^#CFL]J囫sikAGp1_f4  L+nJ&#LY-:%mFK)[rQ?܈  [rQ?ь(i=\f61g"k.d¶61g$F0|H4ŞӮA3~ZYjf ̤r+i 2a[s~ZYjd!EnoAkFF,r Ş;SsBZB0dAޅ>fх0kFF,r Ş;SsBZB0dQ ۘVJ'Vь([rQ?Ųb`4D 2bF P/,[O[_E;^21 *0(VJ&51gLO!#A,'[OmDrQ CD[rQ?ь(i=\f61g"k.d¶61gP F0|H4ŞӮA3~ZYjf ̤r+i 2a[s~ZYjd!EnoAkFF,r Ş;SsBZB0dAޅ>fх0kFF,r Ş;SsBZB0dQ ۘVJ'Vь([rQ?Ųb`ŒcӜs{Ňcsz!o@^2;G9ca nq1Z4/5)s`4D 2bF P/,[O[_E;^21*0(VJ&51gLO!#A,'[OmDrB#A(nchdH4ŞӮA3~ZYjf 5x 2a[s~ZYjd( # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2D BD3qŒVµQ##_{KNmbiif湈M-!I2|(Ʌm+_%+hdO(nb1{0d" 1w#C(Önͧ`_  /} lVܔL+_%FZu&J'ېSO ׭¶ƈ@VܔO1c2J$dkbii LY-,õ3H 0LY-,õ2 # ۘVJ$dkbii LY-,õ3HfR9} 0LY-,õ2Ǣ7 VµQ##_{KNmbiif湈M-!I2D BD3qŒVµQ##_{KNmbiif湈M-!I2|(Ʌm+_%+hdO(nb1{0d" 1w#C(Önͧ`_ƈx/~?[&% Dƿ,r 6#Dh%Di(nAGBbE![rQ?ь(i=\f61g"k.d¶61g'/+naZ(i=\f61g#HVp.d¶61gC ![s D#LY-:1=v"4&` }ǣ 2a[s D#LY-:1=v"4&`&0|OQ?¶d8h4>d܍ $_Y6/|44wecOd¶aZ(4ŞӮA2Q?܄h~>%m<<8@ ¶Q##_{KNmbiif2D\(Ʌmmbiif`0kFF,r Ş;S0de#[MQ ۘŞ;S! z+sx(m+_%251gLߦ,aڞk$@~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H<!Rhe#v?뾏s -EHcvnh_?-b!KH Qr40h|9fx.$/} Ua[rQ0|Lkbii (nB4FYM<$O^ ے6Dh# ے66fID#LY-:1=v`Xp&1=vA\}a[s D#LY-:1=v`G/p&1=vBVP$ ۘVJ$dkbii LY-,õ<1))3HSn=Q ۘVJ$dkbii LY-,õ<1))3O0km̒%m[&/f xxl(ɋ9m9!Z7X}omjb_̤swseuCh n֭ mjb^{0d" 1w#C(Önͧ`_  /}*0(VJ&51gLO!#A,'[OmDr$ !GmDsF3$FF,r Ş;S0d Q ۘŞ;S `0kFF,r Ş;S0de#[MQ ۘŞ;S! z+sx(m+_%251gLߦ,aڞk$@~)C7(Ʌm+_%251gLߦ,aڞk'ŒVµQ?¶fID ے6-H<CgDT~WZ /AH~1ik07}Rݭ[r=5ΈR8h4>d܍ $_Y6/|44wecOd¶aZ(4ŞӮA2Q?܄hxHm>%mȐhp ([rQ?ь(i=\f61g"k.d¶61g$F0|H4ŞӮA3~ZYjf ̤r+i 2a[s~ZYjd!EnoAkFF,r Ş;SsBZB0dAޅ>fх0kFF,r Ş;SsBZB0dQ ۘVJ'Vь([rQ?Ųb`4D 2bF P/,[O[_E;^21 *0(VJ&51gLO!#A,'[OmDr$8L 8d¶c2J'VܔO1l2ADDA&./f DA&.h`%rչu] ᣸/~?[&% Dƿ,r 6#Dh%Di(nD "!<+nJ'ۘ1%251gLߦ,aڙ$M`^ŒVߦ,aڙsm+_%251gLߦ,aڙ$v3)nŒVߦ,aڙc[@D+naZ(i=\f61g\P"sOaFL+naZ(i=\f61g\P>d¶c2J'VܔO1l2ADDA&.~7̤swseuCh n֭ ͅ.|^#CFL]J囫sikAGp1_f4@ L+nJ&#LY-:%mFK)[rQ?܉¶Q##_{KNmbiif2D\(ɅmmbiifG0_qVµQ##_{KNmbiif2Gc2警\(Ʌmmbiif= BFZu&co{KK0O5E ii L A?z!Fd¶FZu&co{KK0O5E ii LFL+naZ([F3$mDsɋك$4D@D 2bA[NsVo[WLj" w?9c,3cwۍ!չ~(:ڈh1{0d" 1w#C(Önͧ`_  /} *0(VJ&51gLO!#A,'[OmDr&(8<d܍ $_Y6/|44wecO Ua[rQ0|Lkbii (nB4FYM<$O^ ے6P@PmDsF3$FF,r Ş;S0d Q ۘŞ;S /+naZ(i=\f61g#HVp.d¶61gC ![s D#LY-:1=v"4&` }ǣ 2a[s D#LY-:1=v"4&`&0|OQ?¶d" " 1w ?9+V7zD3)ñ]~s8Ym?m|f*CsB.uz̅.|^#CFL]J囫sikAGp1_f4 0­ ےkc_{KNDr4BxHbnVܔO H! h+nJ'ۘ1%251gLߦ,aڙ$M`^ŒVߦ,aڙsm+_%251gLߦ,aڙ$v3)nŒVߦ,aڙc[@D+naZ(i=\f61g\P"sOaFL+naZ(i=\f61g\P>d¶c2J'VܔO1l2ADDA&.d܍ $_Y6/|D 1_f4@ L+nJ&#LY-:%mFK)[rQ?܅CCF%mm̒FZu&co{KK0L&/FL+nco{KK0L}a[s D#LY-:1=v`G/p&1=vBVP$ ۘVJ$dkbii LY-,õ<1))3HSn=Q ۘVJ$dkbii LY-,õ<1))3O0km̒%m[&/f DA&.h`%rչu] ᣸/~@­ ےkc_{KNDr4i"zVܔO!B!P ے66fID#LY-:1=v`Xp&1=vA 70_qVµQ##_{KNmbiif2Gc2警\(Ʌmmbiif= BFZu&co{KK0O5E ii L A?z!Fd¶FZu&co{KK0O5E ii LFL+naZ([F3$mDsɋك$ph|(ɋ4I@unm<_m}Ch8h9xƟ$Ua[rQ0|Lkbii (nB4FYM<$O^ ے6

    fх0kFF,r Ş;SsBZB0dQ ۘVJ'Vь([rQ?Ųb`4D 2bF P/,[O[_E;^21(VɅmDµQ1i=\d !Z<$1g7p|+nJ'ې 0EVܔO1c2J$dkbii LY-,õ3H 0LY-,õ2y¶FZu&co{KK0L;_Em7FL+nco{KK0L1H;¶FZu&co{KK0O5E ii LPsOaFL+naZ(i=\f61g\P>d¶c2J'VܔO1l2ADDA&.F P/,[O[_E4PO^21@ |0Ǝ.|4I@unm<_m}Ch8h9xƟPb""bσ#C(Önͧ`_  /}  |0ƈaK>F P/,[O[_E;^21 1 \L' \140h|9fx.p rٍ?G?0.ACARD 7Vt0/ 9xƟ c0hh8*ch`%rչu] H<7^21*0(VJ&51gLO! p̅mDr$8< "`Pxfх0kFF,r Ş;SsBZB0dQ ۘVJ'Vь([rQ?Ųb`5m?o }41w>Y0.CaK>F P/,[O[_E4PO^21@ |0 \140h|9fx.ᢂ| rٍ?G c@4 \140h|9fx.p rٍ?G@b(140h|9fx.p rٍ?G1s hp&ch`%rչu] ᣸/~?0.C K>F P/,[O[_E;^21 1 \Phx|)sJ囫sik@xoecO*0(VJ&51gLO! )F3![rQ?܀FѢ@+nJ'ۘ1%251gLߦ,aڙ$M`^ŒVߦ,aڙ'0_qVµQ##_{KNmbiif2Gc2警\(Ʌmmbiif= BFZu&co{KK0O5E ii L A?TPsOaFL+naZ(i=\f61g\P>d¶c2J'VܔO1l2AM[OiM?!FL]ρVL1s `HBch`%rչu] H<7^21@ |0  6ch`%rչu] H<7^21 Ua[rQ0|Lkbii (nC)iE(d+nJ'ېѢ! && BQ##_{KNmbiif2D\(ɅmmbiifH F0|H4ŞӮA3~ZYjf ̤r+i 2a[s~ZYjd!EnoAkFF,r Ş;SsBZB0dASn=Q ۘVJ$dkbii LY-,õ<1))3O0km̒%m[&/f ~SV6`wOQsU \ 44@:ch`%rչu] H<7^21@ |0$&(.|4I@unm<_m}Ch8h9xƟ$1s 1AaK>F P/,[O[_E"x/~@>a\!   \140h|9fx.p rٍ?GX­ ےka[F3$F lmD+hdHUJ&J&c O7PVH!<>,0J&5s `0452Q1sBZB%Hyn 2J&% Da湎yiD 4P<:%26v3)np= ے5s,={r0xhxt+nJ$dmfR9} z+sx(6%+_%k9Xz%26@DHp&& " mDG/!Eno¶k0\<^dFF܁ mDG/!Eno¶k0\<^dFF܆"`xVܔHۑ̤r+iVP l+nJ'VJ'5sH&J$dm8@pxt+nJ$dmfR9} z+sx(6%+_%k9Xz%26P  BFF܎e#[MǢ7(Z(_<1-"׸(#<4P<:%26v3)np= ے5s,={r4HH ( ( ےr;_Em78C Bk0\<^dFF܍EGmDG/!Eno![rQ?µQ0Q0IDQ1\{=}0$~Oy7q?KHHJBT~"I9<>Ť@<  HRfRQ0$aF:aC$@@ې 0 kT$756$q ./usr/IBMVJava/html/enterp/en_US/sap/samples/application.html.$$ SAP Business Object Application

    SAP Business Object Application (APPLICATIO)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Application
    

    The business object Application contains interest expressed formally by persons in entering into a work relationship or changing an existing work relationship. Applications can relate to a job advertisement. Unsolicited applications are applications that do not relate to a job advertisement. An unsolicited application must be assigned to an unsolicited application group. An unsolicited application can refer to a recruitment instrument, a medium, or an employee as a reference.


    Keys
    Type Name Size Released since
    java.math.BigInteger APPLICANTNUMBER 8 bytes Version 30A
    java.util.Date ENTRYDATE 8 bytes Version 30A
    java.math.BigInteger NUMBER 3 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    ApplicantStructure AGGREGATE ??? (see below) Version 30A
    ActivityTable ACTIVITIES ??? (see below) Version 30A
    java.math.BigInteger ADVERTISEMENT 8 bytes Version 30A
    java.math.BigInteger UNSOLICITED 3 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    Application ()


    Application (com.ibm.sap.bapi.ObjectId objectId)
    Application (java.math.BigInteger APPLICANTNUMBER,java.util.Date ENTRYDATE,java.math.BigInteger NUMBER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    CREATED Released since Version 30A
    DELETED Released since Version 30F

    d l@$q756$E./usr/IBMVJava/html/enterp/en_US/sap/samples/araccount.htmll.$$   d "/abeilnr=gopscfhv:CEIRSTmy0135ADFMNOVY_u%()-.8HLPUwz2Bx#,4?GKX'6k79j!;JWq,\L$(*ǸTRP*$JlH>ğH> Is4tL;aHhXOiiM둟 UGHa0DjdQ0=gx1q-wH pJiM,I8 Ȣa:C-l542 $KtYr` (:A5wH>a6', Q/&#p8L~:@  &ESGJ5[)id@H 4"Z+0<(Q!Xy@0 |dPU lb:A)9H &}, Q/&#Ȣ^YK|AH>W[A[׼) t s @ Lb:A)x3|`DAbM)dξ0tP@)\e ;9H,M8nWH<$u A{V[nKt7++ƐyHA&ķ r3H>W[AT=cm@_:A @AD H>"ye.A(\iyL+ ^4uuM{)bH-2: D #A ;9X M$ܮ2yHH2R3|`DЃq2@_:A 4׵e@SrAi4tCDB``nWC*+bnW-56W$ؖa @3+ 9^4Aw@Ѐp@̯uЇTW Ū[ܯu0H [[,kluI-A@̯txǶ|U "#%l.x+.`WDcf'A+; 8A[a1tS s @ M X@^LGH{D M oMAH>W[AT} 9Cy%6.@P 000(!04 "H<λ̠-%ʐb[<λ̠{xnm&yLZNǶ[DO$%oq/h@DcaX &$M^{PTHb2䒛 whr+5Nm}D 2BY28 0'ݢEȥVɖ6mŔ#V)5[DK/@$ܮ225oq<[@th eqx{䔚d"@4W 1[DO$+{{EeYm-мVWoq/h 6%H(i1dj :y%&[DK/*rY^{Y^4]l{i6WAͽc[ƷʷW񬮶=yAw[DO$m[5` "{cY^6[m 1[DO$+{{EeмVWoq/h Wl@RluH9m#V)5 :^}5B[ܭ"@DOuH9m#V)5 :^}5A{V[nKt4/)[DK/Mn& {AcoIIVʜVWrW 6W[A͕souk+me{g+Ɛy#V)4{Ƕot0h0D7+exW[H9l{i1dj :y%&[DK/(DL2+{{E5}a0< ^+ƐsF"Rk{@tk2/)[DK/`iy^+ƐsF"Rk{@tk2ܖ h^S++or_ML$ Y^425oq<[ܭ"Y9Lu{Al=+ u[k}e[+exW[HWHU|U diRQ [Mv (@`xPp hph<@e :2ܖ h^S*BMn& :2 *.+2sk}k:[25oq<[@thC!`"+{.E`+H6{e/J\V$ؖʝwH>c"R:Zdu lGH%4A͸,I\e eb$aRmPa"BM)gxս@tJM u[A`0  CrWeut{ǶsF"Rk{@tk2Dh^S++or_M \V+ )`6W6{䔚oq/h̡ ee{V i1dj :y%&[DK/(=jmn2+{{EI-A@*rW 1[DO$+{{EeNS++ou9^+Ɛs+m H9l{kxZYVY^5Ƕ3H<{䔚Aͽc[Ʒ DB uY]l{k+ u6{䔚oq/h̡2[ܭ"A X i1dj :y%&[DK/(A{BY^{@th i1dj :y%&[DK/(=jmn2+{{EI-A@*rW 1[DO$+{{EeNS++ou9^+Ɛs+m H9l{kxZYVY^5Ƕ3H<{䔚Aͽc[ƷCB?+exW[H9l{i1dj :y%&[DK/(DL2+{{E5}a0< ^+ƐsF"Rk{@tk2/)[DK/`iy^+ƐsF"Rk{@tk2ܖ h^S++or_ML$ Y^425oq<[ܭ"Y9Lu{Al=+ u[k}e[+exW[Hc"R:Zdu lGH%4A͸,I\e eb$aRmPa"BM)gxս@tJM u[axW񬮶=soucxս@tJMor_MfPM ee{VT"=^+ƐsF"Rk{@tk2/)[DK/ $,/+excxս@tJMor_MfP{^ՖےM ee{V頓b[^+ƐsF"Rk{@tk2)uH9Ƕse{n=k{o}e{cY^+me[ʷ A}~y!& `pP4D@D" Lg]P{^ՖےM eHI-A@g]P=a76EwRmo~]c[F"Rkq_MЀ`pD ÄBy\eot"1Ȱw &¯llI} ]y2/$ $+.HpJl\M.D d$ۗv" [&X-hۑdmŔ[F"Rkq_MH0a\eou9^5dj :y%&+{{E+{#V)5[DK/hxၢ@8(eq{cYVAut[_̠"7%2]Ȧ唱N|`A`"e M ;Ɛsn2 nWH9B"e6C,/eqqHaAri25oqW 1[DO$+{{EeYm-мVWoq/h 6%H(i1dj :y%&[DK/("Wq0[Y^{Y^4]l{i6WAͽc[ƷʷW񬮶=yAUy~ :ZNer7%2]Ȧ唱N|`A`"e M ;Ɛsn2 nWH9B"e6C,/eqqHaAri25oq3D7ظb޸ ir``@ C )뺜kڲr[)yL 6%H(뺜&X`Aͭl{kxս@tJMn2Vp XpO+F8a"DU헸\EK6 .EcSdY11(+EK|qI19d&rZJl\M\ [jir,e4S!lV{l|W++eo,S&ۗBW=l{@#V)5[DK/@$ܮ225oq<[@th eqx{䔚d"@4W 1[DO$+{{EeYm-мVWoq/h 6%H(NW6{䔚oq/h̩ee{+exceu^6[mo[*Y^+ƲWAri25oqW 1[DO$+{{EeYm-мVWoq/h 6%H(NW6{䔚oq/h̩ee{+exceu^6[mo[*Y^+ƲWAricYVAut}k9&>J\V$ؖʝwH>c"R:Zdu lGH%4A͸,I\e eb$aRmPa"BM)gxս@tJM u[@`, Y^5Ƕm[AcoIIV)yLu :^}4!±jVǷ+excxս@tJMor_MfP2+{{E,,/+excxս@tJMor_MfP{^ՖےM ee{V頓b[^+ƐsF"Rk{@tk2)uH9Ƕse{n=k{o}e{cY^gxս@tJM u[ uY]l{k+ u6{䔚oq/h̡2[ܭ"B!Q\+El{rW 1[DO$+{{Ee8h^S++or_MPX i1dj :y%&[DK/(=jmn2+{{EI-A@ܯuH9m#V)5 :^}5S[NWcH9m[5ַUWeutxǶs(8Hc&>J\V$ؖʝwH<og_wH<ηֿSB+c%.+olK eNuM{)bH-2:D #Aw e$ܮ2sn2Dl@Y1_q0)6(0!&qx3dj :y%&sou8D", Y^5Ƕm[AcoIIV)yLu :^}4!±jVǷ+excxս@tJMor_MfP2+{{E``iy^+ƐsF"Rk{@tk2ܖ h^S++or_ML$ Y^425oq<[ܭ"Y9Lu{Al=+ u[k}e[+exW[H*|24AAs(AXŰ[M0<( 8h`, H<λ̠-%ʐb[<λ̠{xnm&yLZNǶ[DO$%oq/h@DcaX &$M^*$u\ l@\o\6E"a[țW"s#AmŔ,'1Žp$\ \n|W++X$kϊZwp[%N[[\ X`X9^5dj :y%&+{{Eh`VS[F"Rkq_MA 225oq<[@thAA vW[NW񬮶=og_wH9()qX{bX^S*u lkYK:Ai9$&XLm 3i6( &qq"&Sd:ɈWH9A 6+g+Ɛy#V)4{ǶotL0" Y^5Ƕm[AcoIIV)yLu :^}41qX؀^+ƐsF"Rk{@tk2/)[DK/X'^W6{䔚oq/h̠-%[ܭ"A&ķ @Y^425oq<[ܭ"Y9Lu{Al=+ u[k}e[+exW[HW 1[DO$+{{EeYm-мVWoq/h 6%H(i1dj :y%&[DK/*rY^{Y^4]l{i6WAͽc[ƷʷW񬮶=yAUy~ :ZNe Lz@9DKěSprs(El{dbMayLt̀89VA#H>*}o_g2o+D}[M0<( 8h )뺜kڲr[)yL 6%H(뺜&X`Aͭl{kxս@tJMn2Vp XpO+F8a"DU¥4\ l@\z,[M\᭄sk$Dcgb޸ l,'krYMHl^!&.D d$ۗv" [&Xt<+mt'qrŽp"s#B#,[M6zrSc>+kL$PV1l E.)p6Ec62ȒVl:Sc%N[[\ X`NWoIIJ :^}4 xqx{䔚d"@Pp@DC++Ʒ[DO$%oq/h PhxP@" p@VSk+me[]mo~2&>J\V$ؖʝwH>c"R:Zdu lGH%4A͸,I\e eb$aRmPa"BM)gxս@tJM u[`` e{cY^6[m 1[DO$+{{EeмVWoq/h Wl@RluH9m#V)5 :^}5B[ܭ"@`iy^+ƐsF"Rk{@tk2ܖ h^S++or_ML$ Y^425oq<[ܭ"Y+-Lu{Al=+ u[k}e[+exW[HW 1[DO$+{{EeYm-мVWoq/h 6%H(i1dj :y%&[DK/("Wq0[Y^{Y^4]l{i6WAͽc[ƷʷW񬮶=yAUy~ :ZNer7%2]Ȧ唱N|`A`"e M ;Ɛsn2 nWH9B"e6C,/eqqHaAri25oqU|U diʷ #|`"i2b:@ 00 M ܊%唸Ji̠ѭ/){+Ɛ|==)ye,S@}o~]VAR#"c CB I:Etp\E P)K!9Bp # H$@Zd p(Dt@*k)tH>S :Aq'n= lP$@7RI66$d./usr/IBMVJava/html/enterp/en_US/sap/samples/borimage.htmll.$$   <>aeilnt corsudgmp/ACDIPSfhy"-BEFMORTbkvw.=GLNWjx()QUVqz12HJ,034:KY!&'9;XZ_58#76@3myCq.(PP%k8|(< #L.Px%lJA~,8c*88P67me9/B, n +ɛ`wxygI*[/@ֺ) JW8.p&@0  P "PxA -fu YfzMP_(< %tT iV`ppAaaaaa` 88 ```yA⟨'hATjPwx$"*b^f**FK <wMyZD4(9c%ζ1Dp5LRɸ  (yA( #EWVMM~+/6؃T}"m+vPxܐI.ָMM~+M5K7$%ζ1Śnk\i_ݔ7$2.b֭A(frE1hz✎mArG R\T:YYŠ#r*[]qv7$pюEKttb8hh"nnkv}~3,r*[~ttb8hh"p #r*[.gX1ȩn3k\-Ӵ?mhWV&؃1ȩoEN[S]U I*44cRK* P8jTeKne3nJR8hh"=mOvQwІxܑCF9-ҮcRCm#~Q44cO#~Q44cO#~Q5Ics-B#DxܑQ5IcR݄s~WM~+xܑQ5Ics-CF 䏤ߺQv$[E3m†AA#~Q44cO#~"ㆩ,q#~"ㆆct-a 6ӄq.e]#"7.8hh8y'2.ɛn  ArGDoD\pьq#~"ㆆcs-zN ­v #}~e'\-bV)  !+Aì/zbcxݔ7$ZR)-2܊c7}Z&ϳxܐn8ZR\ZK>]<7e i%M$z4gy魾*vPxܑvPxܑf2xܑMQ7ekbU_{Z@XMVw}h< nZ ArCvYf_x-Ȯ7eMArbMKMļZ"2p*oփvPxܐZ"[Kd7eɊrK pq:iְ1/3A%ζ0}/\!Zc_1NIvDUz%h<RUK8ƳeɊrK ptRļԸR1NIvDe Kyzqg[LZd@W)`b^f|R\!┷27)n}krtkTUU MJ[Z\z֭$ź]vurArG Mup&-MASvPxܐ:6k{0Q;7&).ȁ͵\%h<]\!خA(sWzջZ=vm.| k2/6_>s )(< n1F\M(q+pW #e~+6}9%89wֺݲRy ]h&.-)S{UK8 P%)S{xݔ7$eָsU~+xnLĸ[y? ݔ7$b*=jMxܐgm} #/uN6+dxn۝n6+dxܑm_qaZW1[W+2xn6=u#kpvzW1[W}-kpW8V7eծ$=uW #-kJ6n_7$+pW:=j#(1w _zM 3:΢.8cZ|]se82qLbupjIWhArb+԰1/3Ab.TC7)h},,M)_lpw%Fg )(#e9JKL7e+=+2xܑEK2@>Arb, KybqgZd@JT1/3AXpMU.QMASvPxܑleJTxnLĸ[y? ݔ7$[~ᕝɴ7$&p&pA(}ArCve]szű!f_{s}" b\k[n,cY_z=LmNWOֺExܐ& sxݔ7$fŸiW1MArHi8k[_ ݔ7$:k"m9ZlrASvPxܘ$"#*1/3A/P2TC6zc/xܘ$"#*JT1/3A/P2ZRpOLeR1NIvDGU1)-2ļBKLR-r}< n@NV2ekA(6؃lhkݜZiR-ŧZ8fyMkmArG\A~)(q]Šݔ7$b?k8%n 䆉Z]lArCVUEKqP2ASvPxܑP2ҋ-!-( iE߸iU7$%~׷L7$XfІny7Pxݔ7$Z}1L #x.=jZ}jZ ArGEb\=u#kArCDdr ZIR˶ #vqn->/lASvPxܑg"_ Mf )(׊( +qg$ kcR+λX@zVU#{gRɸ3ArHa߮51LxܑQA\S387eT+\ Y_ Oȩn=j)~qh3sɸ&b ArCJ[f_{JTxܒǮ)ǭDs~vqhArbFJ64CM1\_@pmuźz]9%8:U޵nK4F+j,ZUK8w[Ž.ɊrK ptͰ1/3Ab͸R1L/ɊrK p|jU KykՕkU.}ZYV7eV22/#(V2؃vPxܑ+g}/I䌣s\w [/lArEֶ< n*Yrb ArGEqZsArG@Ow[Š!*޵nc/b֭xܑj9_!7k\)(< nk5xqZsA(A(p5Kxܐ5Kn)MArbըzo%hkPEۄ-![lpՕkp7$7h;]~+xݔ7$+λ^qn0qv]}<7eJpg2/# Wne3h< n 4@i ݔ7$a* Y_%\]%_{xܑ+vU "IWlu%&m#lW:톫nEKu->%\]E1 KwR̯s&ϳ  ݔ7$:R87$~vqhLc~%<7eդ38-jikOp:6kt< n;fWgو<7eT-ݜZ;FopJ~%;fW8 Y7A# 26bm?7$*K܁6}![i.6w}$䆷)-ǭI387$w)S[EۏZlfqh< nW]EٗރvPxܑ44)wgvPxܑ44)wg+.޵q7$b,W8wZ(,48W !׷LEj%Z ݔ7$:"`8W !׷LQ)W1eksŖ/ArbJ, j˰)%h<7)`;U)\!┷&9%89ZIS-K*%hp6V#r*Yrb ArGi%L-q,W9l1!jŠ#ArFӌV\T^3,qEK2 ɠ!T&_g 7eWޥqZsA(v%ӎﵤqvvPxܐ8e]6g7pc(qRm-MArB(fUK/MAr@vp.̾&A(ASvPxܑi[M+j&ArF+jJAr@JQoR(JASvPxݔ7$mny7k# ݔ7$&qTk# #-q5uASvPxܐ8W1#uŸn WM~+Zlfqn} rUT3ɸ3؃9%88|8Wy ;ksɂG_R<k\X)(}X!ɷ YV #(Ny7)íjn?k87$b,W1 ᆴMzMɊrK ps+;䀘jYV1/3A26p*26YV7e ᆴMi ݔ7$z >ۀ26 5,Ep Zp.̾Gweg}rlASvPxܒ,Meuf_z ArGs>l [WQve$-bXqeb ArHZı6޺O)(֜6xnd@S>ֻN`b^fe3a֜6UK8v6xݔ7e& YV䆬[ZlfqhYN RPxܒ\U, ͶzxܑKL ArF-2zԛc3ASvPxܑQMOíjlkxݔ7$4]~ [>xn=jZ}W ,EWt"Rzڟj Y}\ArH4@ըi )(Up=jZ|mt p->YW 1NIvDjX R`UK8*MKArbMK]ЉJzڟ4AjXJJP?\!jX.D Wh< n>w^޸bW4A(w^3~vqh<7ekb]*g}K9kSMArGخJn;}K )(w^Q_z Ar@vM~+8uMٗ7$e.o\SjSlf+~vqhw^z\8&nM-#lWu(g<7e [xܑ+\m} ݔ7$(uDފ)v !F'vخrMArCV]vuqWz>׮))fu]ٗ7$}Z\m} ݔ7$}2؃vPxܐR!vyŹLArB7TN)6!F'v봵k-͢f_{e5? )([-)S{A([=jMŠݔ7$}kArFӆYX(U> PxܑMJArC\68oMM~+)([-)S{xܑMjpPxܐ0Nn,w_ )([=jMŠݔ7$m}8e1%\]#)%wB%(O7$:oZ\>̾7$=u#kS+[4⹈[-)S{xܑMjpPxܐ0Nn,w_ )(< n21 ]j/xܑb Mvͷk[_7e_ݔ7$}kArBo{w}W?5ue5? ! ArGBYxͯr0ރ!yծ>[=jMŠݔ7$}kArG_q5bKP@_p3?h̾ )(< n@O< qH<7e-Lb ArE\b,Aɶ .[-)S{xܑMjpPxܐ0Nn,w_ #)%wB%(O7e jì/A( $>̾ )(܁6}H #kjEj1bq& Aj uk5uɴ7$Ka#/MArB\}Z\zԛc3A([Tj|Śnk\7$e0D q!m_uqh<7e,PCb$ 1"M xܐ]nLp&ArH_bMMArAW<7ej ArA6]kkbY< n uk5uɴWz>Rr&܁Oy7+^@ArGDmukRɹk9 9ҮZ\"+?ծ>}z✇K)t]eg}rm6]e8*Ř< nZպ֤Z ArFӆYX(Uf7ur_f_z>[-)S{xܑMjpPxܐ0Nn,w_ #)%wB%(O7$e0f_{Zlfqh< n@NV[y?9-kXvPxܑݴ [-wf_{R&E< n+[Y_vPxܐ*Q~%< n䅮6vPxܐB ݔ7$_Uɶ "|b ɛnֶ̾7$}Z\ZR#պ%M_V!aY&ASvPxܐZ:R84@x[=jMŠݔ7$:ҮNnW⹈[<7ej uk5uɴ7e MDԃvPxܐ WVcW\ASvPxܐR }V&Q5 ݔ7$>̾7$}Z\ZR#պ%M_V!aY&ASvPxݔ7$~J׵1 A(pN3xݔ7$-VT-!BUp_Kxݔ7e)btM A([Tj䅵~JjŠݔ7$psxܒ_f_{xݔ7e!] ArA SvPxܐE|Urm[=jMŠݔ7$}kArFӆYX(Uf7ur_f_z>[-)S{xܑMjpPxܐ0Nn,w_ )(pN3xܐ1ks2xܑMjpPxܐ0Nn,w_ )(̾7$}Z\ZR#պ%M_V!aY&ASvPxܐZ:R8 Vˆ}~3,ArH}}}ASvPxݔ7&).ȁ͢kV%*o}. KyD֭iJ-wP*}Z^78 ݔ7$xph$,X %MArbN&my .ɛp*E3mMArGخcD)wH<7ekb^t6ӄq5ryXkb^t6ӄq5rrn۱M5ɊrK p{0Q;֦%h<n!ji*(uDܵ#lWuxܘ$" 4B7TNTCn ArCvi8W:nۀkWV<7e 0Q;2݆p&ry]kArB7TN a#sXPP %@P`Hh)(< nawoEK2<7e 0Q;"_+~WN MvPxܑł,`7$(uD;}ZWzծU} @pP7$(uD܀xk➊+?Υzc02xܐ smlWVUnې{\SIcW\ArB7TNؤk1Mk9P2awn@O< qN'Hnۉb9ſᖃnۥF\MҮPxݔ7$(uD8e~+,Lz❍f ArB7TNAɴ7$]^qnm2xܐ z(nUɴ7$(uDBshd@X}y!eW p-!F'v ہMWӑRnMArB7TNfW }vPxܐ q f%͢of !F'v ہMWЕf~+xݔ7$(uD܍LRk6r U\nې{\SS1.U}87$(uD܀xk88km<- 0Q;]^qnm2()W1 0Q; 'g׵.f|smfg   `7eMArGخQ8Z11F ݔ7$}zab ArFn_x+[IrEArE(9eW b_z R\w}&xݔ7$&r,M$ R "G` ֒X%`(TeYŹJKL !HmRZe!HmȫJ$bW능`ASvPxܑkI,Np ArE$J9/u->LArE$J9/KI,P2ArE$J9/,SK xܑkI,NpK)IiރZI`s\0s&m)(P$SVrCP*wހnٗ_MArFӆ(Z ArFӘPxݔ7$%ζ1Dp5LRɠݔ7$4@ifۉZvPxܐeɛnm.ݔ7$4@ifۛK/h<7e Z}%}m.!O6J)ͥї7e Z} MASvPxܐeɛn%kA(Lq&r7$4@ifۙ~IE )(< nֺ&mݔ7$w}&ɛh|KW)ArAaou->&KW)ASvPxܐ+XT*مqn& 1k8"GT&䀊T2.R_>b RHg& ,EԱϳO{/Hݔ7$P$,pxP`xj)(ASvPxݔ7eb/f8y%7ܫ:vzZ ArAjXُLzR܊Wӥ]kArAjXَEKrb R_>r*[Fs-MASvPxݔ7$5e`_ A(S{M̮KSK$rѪ]< nըA(wmJ"Z}IArF. 6BO#qu->Z} [Z}J" }mEBO!y:ArAֺu->`k#I7$p%)Zlfqh7$4@iJ֭|ﵑ@X$EFh7$qLr*[@i:5jMbArG;BO ;mdBO [#P2ArCu->=R|ﵑC2/!j}P2@i$a}e=}xܐgArC\Tu->)(:d@`00Q"˭e߁Ү v- pp0P + 킸1&AAK*`w pp T(AP'(< %l`@ kF$5756$X5./usr/IBMVJava/html/enterp/en_US/sap/samples/businessarea.html.$$ SAP Business Object BusinessArea

    SAP Business Object BusinessArea (BUS0003)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- BusinessArea
    

    The business object Business area is the organizational unit of external accounting that corresponds to a delimited area of activity or an area of responsiblity in the enterprise to which recorded value movements can be assigned in financial accounting.


    Keys
    Type Name Size Released since
    java.lang.String BUSINESSAREAID 4 bytes Version 30A

    Attributes
    Type Name Size Released since
    Table AGENTS 14 bytes Version 31G
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus0012Structure COSTCENTER ??? (see below) Version 30C
    Bus0006Structure SALESANDDISTRORGAN ??? (see below) Version 30C
    Bus0008Structure PLANT ??? (see below) Version 30C
    Bus1024Structure CONSOLIDATIONUNIT ??? (see below) Version 30C
    java.lang.String DESCRIPTION 30 bytes Version 310

    The size of this attribute must be determined at runtime.

    Methods
    BusinessArea ()


    BusinessArea (com.ibm.sap.bapi.ObjectId objectId)
    BusinessArea (java.lang.String BUSINESSAREAID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()
    static void getlist (com.sap.rfc.IRfcConnection connection, BusinessAreaGetlistParams params)
    RFC Function Module: BAPI_BUSINESSAREA_GETLIST
    Released since: Version 30E
    Method description:
    FUNCTIONALITYThis method provides the user with a list of available business areas and their description.
    HINTSThe same authorization checks are carried out under this method as take place when displaying information within an R/3 transaction.
    Depending upon the LANGUAGE parameter, any description, in so far as it exists, is returned in the desired language. Where no description exists in the desired language for the business area in question, nothing will be returned. The LANGUAGE parameter is optional and in the absence of any langauge being entered, the user's logon language is used.
    Messages are returned within the RETURN parameter. This parameter documentation contains the return codes and their meaning.
    params:
    Type Name Type Information Comment
    java.lang.String LANGUAGE
    Size:1 bytes
    Released since:Version 30E
    Import parameters
    You can find the definition of language in the data element documentation:
    Language
    RANGE
    Dictionary data type (field length 1)
    DEFAULT
    The system uses the user's logon language if none is specified.
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns the return code of this method in one structure with five fields. You can find definitions of these fields in the respective data element documentation.
    Structure Layout
    TYPE Message type
    CODE Message code
    MESSAGE Message text
    LOG_NO Application log: log number
    LOG_MSG_NO Application log: sequence number of message
    RANGE
    TYPE Dictionary data type: CHAR(field length 1)
    CODE Dictionary data type: CHAR(field length 5)
    MESSAGE Dictionary data type: CHAR(field length 220)
    LOG_NO Dictionary data type: CHAR(field length 20)
    LOG_MSG_NO Dictionary data type: CHAR(field length 6)
    DEFAULT
    Bapi0003_1Table BUSINESSAREA_LIST
    Size:34 bytes
    Released since:Version 30E
    Import/Export parameters
    MEANING
    The system returns the list of business areas in one table with two fields. See the data element documentation for the definition of the parameters.
    Table Layout
    BUS_AREA Business area
    BUS_AR_DES Business area name
    RANGE
    BUS_AREA Dictionary data type: CHAR (field length 4)
    BUS_AR_DES Dictionary data type: CHAR (field length 30)
    DEFAULT

    void getdetail (com.sap.rfc.IRfcConnection connection, BusinessAreaGetdetailParams params)
    RFC Function Module: BAPI_BUSINESSAREA_GETDETAIL
    Released since: Version 30E
    Method description:
    FUNCTIONALITYThis method enables the user to access further information about a business area. A return code and details determined by the system are returned.
    HINTSThe same authorization checks are carried out under this method as take place when displaying information within an R/3 transaction.
    The system does not convert the input parameter BUSINESSAREAID, meaning that leading blank characters within this parameter are not cleared.
    Depending upon the LANGUAGE parameter, any description, in so far as it exists, appears in the desired language. Where no description exists in the desired language for the business area in question, nothing will be returned. The LANGUAGE parameter is optional. In the absence of any langauge being entered, the user's logon language is used.
    Messages are returned within the RETURN parameter. This parameter documentation contains the return codes and their meaning.
    FURTHER_SOURCES_OF_INF
    params:
    Type Name Type Information Comment
    java.lang.String BUSINESSAREAID
    Size:4 bytes
    Released since:Version 30A
    Import parameters
    MEANING
    You can find the definition of business area in the data element documentation:
    Business Area
    RANGE
    Dictionary data type: CHAR(field length 4)
    DEFAULT
    java.lang.String LANGUAGE
    Size:1 bytes
    Released since:Version 30E
    Import parameters
    MEANING
    You can find the definition of language in the data element documentation:
    Language
    RANGE
    Dictionary data type (field length 1)
    DEFAULT
    The system uses the user's logon language if none is specified.
    Bapi0003_2Structure BUSINESSAREA_DETAIL
    Size:42 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns business area details in one structure. You can find definitions of the individual parameters in their respective data element documentation.
    Structure Layout
    BUS_AREA Business area
    BUS_AR_DES Business area name
    CONS_BA Consolidation business area
    X_SYSBUSAR Globally defined business area
    RANGE
    BUS_AREA Dictionary data type: CHAR (field length 4)
    BUS_AR_DES Dictionary data type: CHAR (field length 30)
    CONS_BA Dictionary data type: CHAR (field length 4)
    X_SYSBUSAR Dictionary data type: CHAR (field length 4)
    DEFAULT
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns the return code of this method in one structure with five fields. You can find definitions of these fields in the respective data element documentation.
    Structure Layout
    TYPE Message type
    CODE Message code
    MESSAGE Message text
    LOG_NO Application log: log number
    LOG_MSG_NO Application log: sequence number of message
    RANGE
    TYPE Dictionary data type: CHAR(field length 1)
    CODE Dictionary data type: CHAR(field length 5)
    MESSAGE Dictionary data type: CHAR(field length 220)
    LOG_NO Dictionary data type: CHAR(field length 20)
    LOG_MSG_NO Dictionary data type: CHAR(field length 6)
    DEFAULT

    Events
    ---

    left" k $756$ ./usr/IBMVJava/html/enterp/en_US/sap/samples/businesspartner.htmlmln.h$$ SAP Business Object BusinessPartner

    SAP Business Object BusinessPartner (BUS1006)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- BusinessPartner
    

    The business object Business partner contains information concerning legal or natural persons in whom a business interest exists.
    Depending on the amount of information required for the business relationship, a business partner is managed as an individual business partner or as a collective business partner.
    In addition, a business partner is differentiated according to his type (e.g. customer, vendor) and his role (e.g. receiver of goods, debtor, creditor).

    With a vendor, business relations can exist with regard to the purchase of materials and/or services. Purchasing organization-specific information is recorded in the purchasing organization vendor. For a vendor, information relevant to purchasing can be recorded per material in the purchasing information.

    A customer is a business partner with whom business relations can exist with regard to the sale of materials and/or services. To a customer can be assigned other business partners, employees, or customer employees.
    A customer can be serviced by a sales and distribution area. In the sales and distribution area customer, information relevant to sales and distribution is recorded that is related to a sales and distribution area and to a customer.

    For finance, the business partner is mainly of interest as a debtor, a creditor, or a bank, since in finance the flow of goods and services or the flow of money to/from the sales and procurement markets as well as the money and capital markets is recorded in terms of value.
    From the debtor, receivables are due for goods delivered and services rendered. To the creditor, payables are due for goods and services received.
    To an individual business partner, banks can be assigned through which the money transactions with the individual business partner can be handled.
    To a debtor, an alternative payer can be assigned who effects payment for this debtor. In the same way, an alternative payee to whom the company codes make the payments can be specified for a creditor.
    A debtor or a creditor can designate a dunning letter recipient to whom dunning letters are to be addressed if the debtor/creditor fails to pay on the due date.


    Keys
    ---

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2032Table CUSTOMERORDER ??? (see below) Version 30A
    Bus2012Table PURCHASEORDER ??? (see below) Version 30A
    Bus2052Table PURCHOUTLINEAGREEMT ??? (see below) Version 30A
    Bus2036Table CUSTOMERDELIVERY ??? (see below) Version 30A
    Bus1051Table DIRCTMAILINGCOMPAIGN ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    BusinessPartner ()


    BusinessPartner (com.ibm.sap.bapi.ObjectId objectId)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    mer, ve k|$756$s./usr/IBMVJava/html/enterp/en_US/sap/samples/businessprocess.htmlmln.h$$ SAP Business Object BusinessProcess

    SAP Business Object BusinessProcess (BUS1036)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- BusinessProcess
    

    The business object Business process describes a cross-department, resource-consuming business process within the enterprise.
    When a business process is performed, activities can be made use of in several cost centers of a controlling area.


    Keys
    Type Name Size Released since
    java.lang.String CONTROLLINGAREA 4 bytes Version 30A
    java.lang.String BUSINESSPROCESSID 12 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus0002Structure COMPANYCODE ??? (see below) Version 30F
    Bus0003Structure BUSINESSAREA ??? (see below) Version 30F
    Bus0004Structure CONTROLLINGAREAID ??? (see below) Version 30F
    java.lang.String NAME 20 bytes Version 30A
    java.lang.String DESCRIPTION 40 bytes Version 30F
    java.lang.String PROCESSMANAGER 20 bytes Version 30F
    java.lang.String OBJECTCURRENCY 5 bytes Version 30F
    java.lang.String HIERARCHYAREA 12 bytes Version 30F

    The size of this attribute must be determined at runtime.

    Methods
    BusinessProcess ()


    BusinessProcess (com.ibm.sap.bapi.ObjectId objectId)
    BusinessProcess (java.lang.String CONTROLLINGAREA,java.lang.String BUSINESSPROCESSID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     k:$( 756$ y ( ./usr/IBMVJava/html/enterp/en_US/sap/samples/buspartnercontact.htmln.h$$ SAP Business Object BusPartnerContact

    SAP Business Object BusPartnerContact (VBKA)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- BusPartnerContact
    

    The business object Business partner contact is a communication with a &IM16001&, a &IM16096& or a &IM16400&.


    Keys
    Type Name Size Released since
    java.lang.String SALESACTIVITY 10 bytes Version 21A
    java.lang.String SALESDOCUMENT 10 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    BusPartnerContact ()


    BusPartnerContact (com.ibm.sap.bapi.ObjectId objectId)
    BusPartnerContact (java.lang.String SALESACTIVITY,java.lang.String SALESDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

     k$/756$/./usr/IBMVJava/html/enterp/en_US/sap/samples/company.htmltact.h$$ SAP Business Object Company

    SAP Business Object Company (BUS0014)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Company
    

    The business object Company is the smallest organizational unit for which individual financial statements are to be drawn up according to the commercial law of the particular country.


    Keys
    Type Name Size Released since
    java.lang.String COMPANYID 6 bytes Version 30C

    Attributes
    Type Name Size Released since
    Table AGENTS 14 bytes Version 31G
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus0002Structure COMPANYCODE ??? (see below) Version 30C
    Bus1027Structure CONSOLIDATIONAREA ??? (see below) Version 30C
    Bus1024Structure CONSOLIDATIONUNIT ??? (see below) Version 30C
    Bus1033Table LEDGER ??? (see below) Version 30C
    java.lang.String DESCRIPTION 30 bytes Version 310

    The size of this attribute must be determined at runtime.

    Methods
    Company ()


    Company (com.ibm.sap.bapi.ObjectId objectId)
    Company (java.lang.String COMPANYID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()
    static void getlist (com.sap.rfc.IRfcConnection connection, CompanyGetlistParams params)
    RFC Function Module: BAPI_COMPANY_GETLIST
    Released since: Version 30E
    Method description:
    FUNCTIONALITYThis method provides the user with a list of companies. The system returns both the keys and the names of the companies, in so far as they exist in the system. Problems arising are returned as a return code message.
    HINTSThe same authorization checks are carried out under this method as take place when displaying information within an R/3 transaction.
    Messages are returned within the RETURN parameter. The return codes and their meaning are contained within this pararmeter documentation.
    FURTHER_SOURCES_OF_INF
    params:
    Type Name Type Information Comment
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns the return code of this method in one structure with five fields. You can find definitions of these fields in their respective data element documentation.
    Structure Layout
    TYPE Message type
    CODE Message code
    MESSAGE Message text
    LOG_NO Application log: log number
    LOG_MSG_NO Application log: sequence number of message
    RANGE
    TYPE Dictionary data type: CHAR(field length 1)
    CODE Dictionary data type: CHAR(field length 5)
    MESSAGE Dictionary data type: CHAR(field length 220)
    LOG_NO Dictionary data type: CHAR(field length 20)
    LOG_MSG_NO Dictionary data type: CHAR(field length 6)
    DEFAULT
    Bapi0014_1Table COMPANY_LIST
    Size:36 bytes
    Released since:Version 30E
    Import/Export parameters
    MEANING
    The system returns the list of companies in one table with two fields. You can find the definition of company in the respective parameter documentation.
    Table Layout
    COMPANY Company
    NAME Company name
    RANGE
    COMPANY Dictionary data type: CHAR (field length 6)
    NAME Dictionary data type: CHAR (field length 30)
    DEFAULT

    void getdetail (com.sap.rfc.IRfcConnection connection, CompanyGetdetailParams params)
    RFC Function Module: BAPI_COMPANY_GETDETAIL
    Released since: Version 30E
    Method description:
    FUNCTIONALITYThis method enables the user to access further information about a company. The company's detailed data as determined by the system is returned. Any problems arising are returned as a return code message.
    HINTSThe same authorization checks are carried out under this method as take place when displaying information within an R/3 transaction.
    The system does not convert the input parameter COMPANYID, meaning that leading blank characters within this parameter are not cleared.
    Messages are returned within the RETURN parameter. This parameter documentation contains the return codes and their meaning.
    FURTHER_SOURCES_OF_INF
    params:
    Type Name Type Information Comment
    java.lang.String COMPANYID
    Size:6 bytes
    Released since:Version 30C
    Import parameters
    MEANING
    You can find the definition of company in the data element documentation.
    Company
    RANGE
    Dictionary data element: CHAR (field length 6)
    DEFAULT
    Bapi0014_2Structure COMPANY_DETAIL
    Size:155 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns details of a company in one structure. You can find definitions of the various parameters in their respective data element documentation.
    Structure Layout
    COMPANY Company
    NAME1 Company name
    NAME2 Company name 2
    COUNTRY Country of company
    LANGU Language key
    STREET Company street
    PO_BOX Company P.O. box
    POSTL_COD1 Company postal code
    CITY Company city
    CURRENCY Local currency
    RANGE
    COMPANY Dictionary data type: CHAR (field length 6)
    NAME1 Dictionary data type: CHAR (field length 30)
    NAME2 Dictionary data type: CHAR (field length 30)
    COUNTRY Dictionary data type: CHAR (field length 3)
    LANGU Dictionary data type: CHAR (field length 1)
    STREET Dictionary data type: CHAR (field length 30)
    PO_BOX Dictionary data type: CHAR (field length 10)
    POSTL_COD1 Dictionary data type: CHAR (field length 10)
    CITY Dictionary data type: CHAR (field length 30)
    CURRENCY Dictionary data type: CHAR (field length 5)
    DEFAULT
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns the return code of this method in one structure with five fields. You can find definitions of these fields in their respective data element documentation.
    Structure Layout
    TYPE Message type
    CODE Message code
    MESSAGE Message text
    LOG_NO Application log: log number
    LOG_MSG_NO Application log: sequence number of message
    RANGE
    TYPE Dictionary data type: CHAR(field length 1)
    CODE Dictionary data type: CHAR(field length 5)
    MESSAGE Dictionary data type: CHAR(field length 220)
    LOG_NO Dictionary data type: CHAR(field length 20)
    LOG_MSG_NO Dictionary data type: CHAR(field length 6)
    DEFAULT

    Events
    ---

    ang.Str k $O756$O./usr/IBMVJava/html/enterp/en_US/sap/samples/companycode.html.h$$ SAP Business Object CompanyCode

    SAP Business Object CompanyCode (BUS0002)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CompanyCode
    

    The business object Company code is the smallest organizational unit of financial accounting for which a complete, self-contained accounting can be represented. This contains the recording of all accountable events and the drawing up of all statements for individual accounts as required by law, such as balance sheets as well as profit and loss statements.

    For financial accounting a specific organizational division of the enterprise can be required. For this purpose the enterprise is divided up into units in which a self-contained accounting can be carried out in each case and for which separate annual financial statements as required by law can be drawn up in each case. These units are the company codes.

    Company codes can be linked with other organizational units of the enterprise. For example, to a sales organization or a plant (through the material valuation area) is assigned exactly one company code respectively in which the accounting transactions of the sales organization or the plant are to be recorded in accounting terms.

    A company code possesses specific information that is of importance for the performance of accounting. For example, each company code is assigned to exactly one country. This provides the (country-specific) tax calculation rules to be applied.
    For each company code is specified exactly one operative chart of accounts that can be used for accounting within the company code.
    In addition to the operative chart of accounts a country chart of accounts can be specified that has the structure required by the law of the particular country.


    Keys
    Type Name Size Released since
    java.lang.String COMPANYCODEID 4 bytes Version 30A

    Attributes
    Type Name Size Released since
    Table AGENTS 14 bytes Version 31G
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus1024Structure CONSOLIDATIONUNIT ??? (see below) Version 30C
    Sap_12113Structure DUNNINGAREA ??? (see below) Version 30C
    Bus0012Structure COSTCENTER ??? (see below) Version 30C
    Bus0006Structure SALESANDDISTRORGAN ??? (see below) Version 30C
    Bus0007Structure PURCHORGANIZATION ??? (see below) Version 30C
    Bus0013Structure MATVALUATIONAREA ??? (see below) Version 30C
    Bus0019Structure PERSONNELAREA ??? (see below) Version 30C
    Bus1022Table ASSET ??? (see below) Version 30C
    Bus1033Table LEDGER ??? (see below) Version 30C
    Bus2068Table ACCOUNTINGDOCUMENT ??? (see below) Version 30C
    Bus3006Table ACCOUNT ??? (see below) Version 30C
    java.lang.String DESCRIPTION 25 bytes Version 310
    java.lang.String CITY 25 bytes Version 310
    java.lang.String COUNTRYKEY 3 bytes Version 310
    java.lang.String CURRENCY 5 bytes Version 310
    java.lang.String LANGUAGE 1 bytes Version 310

    The size of this attribute must be determined at runtime.

    Methods
    CompanyCode ()


    CompanyCode (com.ibm.sap.bapi.ObjectId objectId)
    CompanyCode (java.lang.String COMPANYCODEID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()
    static void getlist (com.sap.rfc.IRfcConnection connection, CompanyCodeGetlistParams params)
    RFC Function Module: BAPI_COMPANYCODE_GETLIST
    Released since: Version 30E
    Method description:
    FUNCTIONALITYThis method provides the user with a list of company codes. The system returns both the keys and the names of the company codes, in so far as the latter exist in the system. Problems arising are returned as a return code message.
    HINTSThe same authorization checks are carried out as take place when displaying information within an R/3 transaction.
    Texts for the company code are returned only if these exist in the system.
    Messages are returned in the RETURN parameter. This parameter documentation contains the return codes and their meaning.
    FURTHER_SOURCES_OF_INF
    params:
    Type Name Type Information Comment
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns the return code of this method in one structure with five fields. You can find definitions of these fields in their respective data element documentation.
    Structure Layout
    TYPE Message type
    CODE Message code
    MESSAGE Message text
    LOG_NO Application log: log number
    LOG_MSG_NO Application log: sequence number of message
    RANGE
    TYPE Dictionary data type: CHAR(field length 1)
    CODE Dictionary data type: CHAR(field length 5)
    MESSAGE Dictionary data type: CHAR(field length 220)
    LOG_NO Dictionary data type: CHAR(field length 20)
    LOG_MSG_NO Dictionary data type: CHAR(field length 6)
    DEFAULT
    Bapi0002_1Table COMPANYCODE_LIST
    Size:29 bytes
    Released since:Version 30E
    Import/Export parameters
    MEANING
    The system returns the list of company codes in one table with two fields. You can find the definition of company code in the data element documentation.
    Table Layout
    COMP_CODE Company code
    COMP_NAME Company code or company name
    RANGE
    COMP_CODE: Dictionary data type: CHAR(field length 4)
    COMP_NAME: Dicitinary data type: CHAR(field length 25)
    DEFAULT

    void getdetail (com.sap.rfc.IRfcConnection connection, CompanyCodeGetdetailParams params)
    RFC Function Module: BAPI_COMPANYCODE_GETDETAIL
    Released since: Version 30E
    Method description:
    FUNCTIONALITYThis method enables the user to access further information for a company code. The system returns the detail data and address data for the company code. Problems arising are retured as a return code message.
    HINTSThe same authorization checks are carried out as take place when displaying displaying information within an R/3 transaction.
    The system does not convert the input parameter COMPANYID, meaning that leading blank characters within this parameter are not cleared.
    Where no address data is found for a company code, a warning message is returned by the return parameter. This does not however prevent other detail from being returned.
    Messages are returned under the RETURN parameter. This parameter documentation contains the return codes and their meaning.
    FURTHER_SOURCES_OF_INF
    params:
    Type Name Type Information Comment
    java.lang.String COMPANYCODEID
    Size:4 bytes
    Released since:Version 30A
    Import parameters
    MEANING
    You can find out what a company code is in the data element documentation
    Company Code
    RANGE
    Dictionary data type: CHAR (field length 4)
    DEFAULT
    Bapi0002_3Structure COMPANYCODE_ADDRESS
    Size:827 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns company code address details in one structure.
    Structure Layout
    ADDR_NO Address number
    FORMOFADDR Title
    NAME Name 1
    NAME_2 Name 2
    NAME_3 Name 3
    NAME_4 Name 4
    C_O_NAME c/o name
    CITY City
    DISTRICT District
    CITY_NO City code for city and street file
    POSTL_COD1 Postal code of city
    POSTL_COD2 Postal code of P.O. box
    POSTL_COD3 Postal code of company (for major customers)
    PO_BOX P.O. box
    PO_BOX_CIT City of P.O. box
    DELIV_DIS Postal delivery district
    STREET Street
    STREET_NO Code for city and street file
    STR_ABBR Abbreviation of street name (Spain)
    HOUSE_NO House number
    STR_SUPPL1 Supplement 1 for street
    STR_SUPPL2 Supplement 2 for street
    LOCATION Building and location description
    BUILDING Building
    FLOOR Floor
    ROOM_NO Room number
    COUNTRY Country key
    LANGU Language key
    REGION Region (state, county, province)
    SORT1 Search term 1
    SORT2 Search term 2
    TIME_ZONE Time zone of address
    TAXJURCODE Jurisdiction for taxation - tax jurisdiction code
    ADR_NOTES Notes to address
    COMM_TYPE Communication type (key)
    TEL1_NUMBR First telephone no.: area code + number
    TEL1_EXT First telephone no.: extension
    FAX_NUMBER First fax no.: area code + number
    FAX_EXTENS First fax no.: extension
    RANGE
    ADDR_NO Dictionary data type: CHAR(field length 10)
    FORMOFADDR Dictionary data type: CHAR(field length 15)
    NAME Dictionary data type: CHAR(field length 40)
    NAME_2 Dictionary data type: CHAR(field length 40)
    NAME_3 Dictionary data type: CHAR(field length 40)
    NAME_4 Dictionary data type: CHAR(field length 40)
    C_O_NAME Dictionary data type: CHAR(field length 40)
    CITY Dictionary data type: CHAR(field length 40)
    DISTRICT Dictionary data type: CHAR(field length 40)
    CITY_NO Dictionary data type: CHAR(field length 12)
    POSTL_COD1 Dictionary data type: CHAR(field length 10)
    POSTL_COD2 Dictionary data type: CHAR(field length 10)
    POSTL_COD3 Dictionary data type: CHAR(field length 10)
    PO_BOX Dictionary data type: CHAR(field length 10)
    PO_BOX_CIT Dictionary data type: CHAR(field length 40)
    DELIV_DIS Dictionary data type: CHAR(field length 15)
    STREET Dictionary data type: CHAR(field length 40)
    STREET_NO Dictionary data type: CHAR(field length 12)
    STR_ABBR Dictionary data type: CHAR(field length 2)
    HOUSE_NO Dictionary data type: CHAR(field length 10)
    STR_SUPPL1 Dictionary data type: CHAR(field length 40)
    STR_SUPPL2 Dictionary data type: CHAR(field length 40)
    LOCATION Dictionary data type: CHAR(field length 40)
    BUILDING Dictionary data type: CHAR(field length 10)
    FLOOR Dictionary data type: CHAR(field length 10)
    ROOM_NO Dictionary data type: CHAR(field length 10)
    COUNTRY Dictionary data type: CHAR(field length 3)
    LANGU Dictionary data type: CHAR(field length 1)
    REGION Dictionary data type: CHAR(field length 3)
    SORT1 Dictionary data type: CHAR(field length 20)
    SORT2 Dictionary data type: CHAR(field length 20)
    TIME_ZONE Dictionary data type: CHAR(field length 6)
    TAXJURCODE Dictionary data type: CHAR(field length 15)
    ADR_NOTES Dictionary data type: CHAR(field length 50)
    COMM_TYPE Dictionary data type: CHAR(field length 3)
    TEL1_NUMBR Dictionary data type: CHAR(field length 30)
    TEL1_EXT Dictionary data type: CHAR(field length 10)
    FAX_NUMBER Dictionary data type: CHAR(field length 30)
    FAX_EXTENS Dictionary data type: CHAR(field length 10)
    DEFAULT
    Bapi0002_2Structure COMPANYCODE_DETAIL
    Size:105 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns company code detials in one structure with twelve fields. You can find a definition of these parameters in the respective data element documentation.
    Structure Layout
    COMP_CODE Company code
    COMP_NAME Company code or company name
    CITY1 City
    COUNTRY1 Country key
    CURRENCY Currency key
    LANGU1 Language key
    CHRT_ACCTS Chart of accounts
    FY_VARIANT Fiscal year variant
    VAT_REG_NO VAT registration number
    COMPANY Company
    ADDR_NO Address number
    RANGE
    COMP_CODE Dictionary data type: CHAR(field length 4)
    COMP_NAME Dictionary data type: CHAR(field length 25)
    CITY1 Dictionary data type: CHAR(field length 25)
    COUNTRY1 Dictionary data type: CHAR(field length 3)
    CURRENCY Dictionary data type: CHAR(field length 5)
    LANGU1 Dictionary data type: CHAR(field length 1)
    CHRT_ACCTS Dictionary data type: CHAR(field length 4)
    FY_VARIANT Dictionary data type: CHAR(field length 2)
    VAT_REG_NO Dictionary data type: CHAR(field length 20)
    COMPANY Dictionary data type: CHAR(field length 6)
    ADDR_NO Dictionary data type: CHAR(field length 10)
    DEFAULT
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The system returns the return code of this method in one structure with five fields. You can find definitions of these fields in the respective data element documentation.
    Structure Layout
    TYPE Message type
    CODE Message code
    MESSAGE Message text
    LOG_NO Application log: log number
    LOG_MSG_NO Application log: sequence number of message
    RANGE
    TYPE Dictionary data type: CHAR(field length 1)
    CODE Dictionary data type: CHAR(field length 5)
    MESSAGE Dictionary data type: CHAR(field length 220)
    LOG_NO Dictionary data type: CHAR(field length 20)
    LOG_MSG_NO Dictionary data type: CHAR(field length 6)
    DEFAULT

    Events
    ---

    type: k?$C-756$C-./usr/IBMVJava/html/enterp/en_US/sap/samples/controllingarea.htmlln.h$$ SAP Business Object ControllingArea

    SAP Business Object ControllingArea (BUS0004)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- ControllingArea
    

    The business object Controlling area is the organizational unit within the enterprise for which a complete, self-contained cost accounting can be carried out.

    Company codes and controlling areas are assigned to one another. For the implementation of cross-company code cost accounting, a controlling area can group together several company codes. It can also be identical with a company code.

    For the purposes of a common profitability analysis several controlling areas can be assigned to an operating result area.


    Keys
    Type Name Size Released since
    java.lang.String CONTROLLINGAREAID 4 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Sap_10161Structure COSTCENTERGROUPING ??? (see below) Version 30C
    Bus0012Table COSTCENTER ??? (see below) Version 30C
    Sap_10162Structure PROFITCENTERGROUPING ??? (see below) Version 30C
    Bus0015Table PROFITCENTER ??? (see below) Version 30C
    Bus0002Table COMPANYCODE ??? (see below) Version 30C
    Bus1059Table SALESREVENUETYPE ??? (see below) Version 30C
    Bus1030Table COSTTYPE ??? (see below) Version 30C
    Bus1031Table ACTITVITYTYPE ??? (see below) Version 30C
    Bus2075Table INTERNALORDER ??? (see below) Version 30C
    Bus1029Structure CHARTOFACCOUNTS ??? (see below) Version 30E
    java.lang.String DESCRIPTION 25 bytes Version 30A
    java.lang.String CURRENCY 5 bytes Version 30E
    java.lang.String CURRENCYTYPE 2 bytes Version 30E
    java.lang.String LOGICALSYSTEM 10 bytes Version 30E
    java.lang.String OTHERCOMPCDECURRENCY 1 bytes Version 30E

    The size of this attribute must be determined at runtime.

    Methods
    ControllingArea ()


    ControllingArea (com.ibm.sap.bapi.ObjectId objectId)
    ControllingArea (java.lang.String CONTROLLINGAREAID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()
    void getdetail (com.sap.rfc.IRfcConnection connection, ControllingAreaGetdetailParams params)
    RFC Function Module: BAPI_CONTROLLINGAREA_GETDETAIL
    Released since: Version 30E
    Method description:
    FUNCTIONALITYSupplies the following details about a controlling area:
    • Name
    • Currency
    • Chart of accounts
    • Fiscal year variant
    EXAMPLE
    HINTSYou require authorization for object S_TABU_DIS and table class KC.
    Messages are returned in parameter RETURN. You can find the return values and their meanings in the parameter documentation.
    FURTHER_SOURCES_OF_INF
    params:
    Type Name Type Information Comment
    java.lang.String CONTROLLINGAREAID
    Size:4 bytes
    Released since:Version 30A
    Import parameters
    MEANING
    Key for controlling area for which the R/3 System is to determine detailed information.
    Bapi0004_2Structure CONTROLLINGAREA_DETAIL
    Size:40 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The parameter structure holds selected information on the controlling area, such as the currency or chart of accounts.
    RANGE
    You can find existing keys with the method ControllingArea.Getlist (BAPI_CONTROLLINGAREA_GETLIST).
    DEFAULT
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    Method return codes.
    RANGE
    00 = OK
    10 = Controlling area does not exist
    19 = No authorization for this action
    You require authorization for object S_TABU_DIS and table class KC.
    DEFAULT

    void getlist (com.sap.rfc.IRfcConnection connection, ControllingAreaGetlistParams params)
    RFC Function Module: BAPI_CONTROLLINGAREA_GETLIST
    Released since: Version 30E
    Method description:
    FUNCTIONALITYMethod offering a list of existing controlling areas.
    EXAMPLEDATA: RETURN LIKE BAPIRETURN ,
    CONTROLLINGAREA_LIST LIKE BAPI0004_1 OCCURS 0 WITH HEADER LINE.

    CALL FUNCTION 'BAPI_CONTROLLINGAREA_GETLIST'
    IMPORTING
    RETURN = RETURN
    TABLES
    CONTROLLINGAREA_LIST = CONTROLLINGAREA_LIST
    EXCEPTIONS
    OTHERS = 1 .
    HINTSYou require authorization for object S_TABU_DIS and table class KC.
    Messages send via parameter RETURN. See the parameter documentation for more information on return values and their uses.
    You can find additional information for an individual controlling area with the method ControllingArea.GetDetail (BAPI_CONTROLLINGAREA_GETDETAIL).
    params:
    Type Name Type Information Comment
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    Return code for the method.
    RANGEType Code Description E(rror) KZ600 No controlling area display authorization E(rror) KZ602 No controlling areas exist Blank Blank Method successfully ended
    Bapi0004_1Table CONTROLLINGAREA_LIST
    Size:29 bytes
    Released since:Version 30E
    Import/Export parameters
    MEANING
    Table with all controlling areas (key, name) from the current client, as long as the RETURN parameter has the value "00".

    Events
    ---

    ign=" lxO$S756$5./usr/IBMVJava/html/enterp/en_US/sap/samples/costcenter.htmlhtm$$   <>et "/abdilnor =cgps .ACEINORSTfhmv02:DP_uwy(,13BFGLMUVj)-4?HYxz#%'589JKX+7q!;WZ|k]#E t:VI[ܮ Z*Et-&Q\c&Qlxd !UΔw#hCUęEYC\ w#)11\Gr:jY]-Y4sMz2@ 8ZL٬al5CCF(GMQ)ȝZZL EQ÷:3#4K2e,1֓)piJX, Zj HHHHHJ&QPMIGyF{ +/IA8{E_sYDG'gd\)|EQ0WIVv+Xg;!>'J"|O5A*ݓ5@qJV+gy҄j XZt i2` (i2KLiJ*ZLAҦ($LE zIֻ=Tp [nkݥMP U]6< [nkݥMP U]61/Km֓){;Iϴ L~&ZAizIֺ4_(HH^ggy҄j qV?u %;C甽u]cEF KZL?#ې KZLɢGBF֓?&[>Δ%3T UkHHH$<R֓?uH#E֓?u8v$ R֓?u2hQu{;Iϴ L~&Zah|򗮴k4Xc&4/]i3X gnBB%/]i3XC& KZLlO:PPW*gPz!!! 1-y<&Z@y2$ȍ82k~G3!!k!E&KL}(Jf@i3XE* lzIֺNj &Z Fk!E&KL}(Jf@i3XE* lzIֺF$@xdAizIֺ‚{Dw&Zd|!#izIv?iJ*ZLav "x[7^g$F֓?u~izIֺ4_(HH^ggy҄j qV?uX]Ȟ(>k0i!G@}/]i3X #/]i3XC& ֓?&[>Δ%3T Uk"DDou]`@E"ȍKZL Fk!EzIv)z-&R?&W:/ȧүGvoh~,vnL0`!i2sAsy(0TM3TW{UZLiJc*ek҂(2&Ife/]i2K6i3ݺg aq*[,dљ0 Kݺ^ev,-tX#2;cXSXR,@SXhGhG){KZLn3Ņ8]-2H̎"DDoaȐG "4X"DDoaD Li%/vzIVv?ۦx*[, DôsôsLEgi3ݺg a,Uh5sXSXR,@SXhG,hG`i3^ev,-JGY;̓:E"L‡(pF8vQJ1õ:3#0fll,Aad@J^4];nIca[;I2mx:Ntu?Z 0"c&4p0i0hDzI& vw&.drq zIɢGBF֓KLgi0OֻBb jH*+'wb'Mk[n']ul2g˲>&dd|MT0` 084X$a L   < @0od] 48>~?~0c!6v8te#>Ȉɽ~# Cwȧd!Β;M^;S\V Q->.G]Csv!xɋ {;.< ҽy5PšѴ+u&AAE;!tvGrhǝ(>'OBBAw:EdDyvpRS'0D#MvQg9z~;0Y1a|pp]y5[$i3XE* lzIֺ 6kZL[>]y5[$uω]6< [nvAC jF^`ω wd|MT0G!G|N[nvAC j!E뮗&| jH*]U )JȚ]6BSރ&ٹ4im^{;Ikg˲>&dݐy5Pšt Uotuv? /]i3]:Nۦ8h㇃)ms5alܟ+(9?\)sYDG'g b;˲S\H :NL! UW9!a<;8ɜW%>tvGrh.SkaphHC&Zcaϗd|MV]k j5WMO.ۥ뮵ݐy5PšDw뮗&| jH*]U )mct_.ۥ뮵ݐy5Pšd|!#iz& .< vAC j҂(2&)WMŐɰnM[n^`ω wd|MT0(""jt/]tz-&KZLNӶ,x[n d[7'|OW9WW]"J:EdDyvwre8ҹ V Q-L⸏));DWr-)|JJe|Αdt9J:S"k>C dwG5_A$쥾zv6ȋ Kmӝa;_(b=}C Y(2'^M`i:[n.(hKt.KL.< k"DDou]c&D48x0YzIֺXe5UAWZ&dݐy5Pšt Ulqd%=2l-Fۥ뮗&| jH*]U )JȚ]6-K]/gi3^I֓?uӡtm8x2ۧ:Y6򲃟]"J:Q|O3J焄1)s;2|xWW\䅆+B(&q\GGyɢ+g`O%%2>QW9ҎPd~gҹΔ爡(?ϐ:|2Q|O猥zv6ȋ Kmӝa;_(b=}C Y(2'^M`i:[n.(hKt.KL.< k"DDou]c&D48x0YÉ&Zcaϗd|MV]k j5WMO.ۥ뮵ݐy5PšDw뮗&| jH*]U )mct_.ۥ뮵ݐy5Pšd|!#iz& .< vAC j҂(2&)WMŐɰnM[n^`ω wd|MT0(""jt/]tz-&KZLNӶ,x[n d[7'|OW9WW]"J:Q|O3;.wLjy~HXo"O$"n2gyIO$wܚ"6v iO;RS,|s(>'O}+Nx -[#!~c%.x[Wml9&#g0/b;"~0 t  αŒBzIω Iֺ,.PdOKfKZL0"c&4/]i3]k &| jH*]U )mxt/]uωX 'Gq^{;Ikg˲>&dݐy5Pš1wE;m^]U )M<6^`ω wd|MT0(""jtY Oz fѥz& .< vAC j҂(2&)WMKmKLl2gu]t];n`ǎ ΰMr|sdȧҹΒ;OJ焄1)s;˲6v iO;RS,|tvGrh9J:S"k>C dwG5_#fGrtدNۦcims1kLGϢ(`_ #wD+ 'ml0h,X<Nۧ:˻ 0>+ &Rv+g˲>&d&ZA&dݐy5Pš'xKmZL +g`O%%2>QIdw&s9(J.|Of0G{pyl_(};dw'K}m<6ۧ:vQd{"@< QxdOҼzv6Ńms|ᢽ-к^e/gi2| jH*g P~KZL,^g6i0MlvAlUֻ>&SUt$/m^]U )F^`ω wd|MT0G!G|N[nvAC j!E뮗&| jH*]U )JȚ]6BSރ&ٹ4im^{;Ikg˲>&dݐy5Pšt UlEz&K6i3^gt.MpcRtXc7*+E`HEd+:H;#4Ezl)ҞwĤYG?Js7ϥs)BQss5!;#duD/9ܥ"Orܥzv6ȋ Kmӝa;_(b=}C`dȟxM`i:[n Œ㸃ҹ;Gps78 &-к^e/gi2| jH*g Tپ'֓?u"HÆȃ֓?uֱIkg˲>&dݐy5Pš'xKmZ&SUt##'`]-K]k j5VɢGBFKL[>]y5[$uωsPdMPRc!)Aalܚ4/]t5UAWZSW<$!"J:H;#>Ya>L! UW9!a<;8ɜW%>tvGrhm<6ۧ:vQd{"@< QxdOҼ($m ItXwaFEz[tu^elvAlU]a`2'%|O&Z DÇ  &BkZL[>]y5[$uω]6< [nvAC j('Gq^{;Ikg˲>&dݐy5Pš1wE;m^]U )M<6^`ω wd|MT0(""jtY Oz fѥz& .< vAC j҂(2&)WMKmKLl2gu]t];n`ǎ ΰMr|syr~_!S\Idw'2,?'ɗd; J$,7X'GpG3<Β;M^M"ǃtXc,s5DP0G? WM`i:[n.(hKt.KL.< k  &)zIֺ$L`Ƒ$NkZL[>]y5[$uω]6< [nvAC jv#K]/gi0MlvAlUֻ>&SUt##'`]-K]k j5VɢGBFKL[>]y5[$uωsPdMPRc!)ƁHJ{d[7&-K]/gi0MlvAlUֻ>&SUΔA5AJm[n^gca?&ZBt QdOa (4X`'sSWKZL&RZL'[i3'^`z-& (&[Lal5E [,~kXp1,) *e8CJ1õ:Q@dљɃ3]5adz "Rm& BtZLk 'L؅l,g|p|0.ۥ& X(Xh 4y1CI &,p6'^`gi0HxBlBG!G|N[n']a /x$$m/]i0Ovkd!6!˲>&d`Ҳwv"tކQ zIZ.| jH*JAC j0ŃGizV]`yi8>BG Hɍ" L0i1c>Idw&+gd-'<#sJ:H;#0?d]^;&W9i8>y|G\Idw'2,?'}+y΄;싾1xnOȧ:H;#>D`'OBBA6v GBldŅ@ 4a0o  6w88X`a8P! Hgテ Lq8P! W6w0padFx a^;pqPL8p` 0"c&47`$ < ߦ, x0(Xh 4y1CI &,p4zlƀ8i$r0px0pMɍo$Ƀޛ;I $KxaF%鳿ap8&SUt##'`]-K]k j5VɢGA^{;Ikg˲>&dݐy5Pšt Ulqd%=2l-Fۥ뮗&| jH*]U )JȚ]6-K]/gi3^I֓?uӡtBzIω Iֺ,.PdOKfKZL0"c&4/]i3]k &| jH*]U )mxt/]uωX 'Gq^{;Ikg˲>&dݐy5Pš1wE;m^]U )M<RKL[>]y5[$uωsPdMPRc!)Aalܚ4/]t5UAWZ]y5[$uω]61/KmZ&SUΔA5AJmC_(/]tz-&KZLN &Rv+g˲>&d&Z1$ah|򗮴kX`aR֓?uֱIkg˲>&dݐy5Pš'xKmZ&dݐy5Pšt UlhMrhtuvϗd|MV]k j5\ATߥz&K6i3^gt.MpcRtX.Sro"[ddE8i K}l`|—K}lc$-鳺}(~;7$ߥKZL&Vϗd|MVZL b Ķah|򗮴kap8&SUΔA5AJm[n^gca?&ZBt ZS3_(G\]d9Gs9(J.|Of0G{pyl_(l`DߦO!s)oMC+( X+r(Q6wOy l[gt >=>0 7'K}ldQWY:[gt'+,ܝ-鳺}3YJ1õY:[ &Rv+g˲>&d&ZA&SUt$/m^]U )'Gq^{;Ikg˲>&dݐy5Pš1wE;m^]U )M<6^`ω wd|MT0(""jt!)Aalܚ4/]t5UAWZ&d&ZA&SUaA=;KL[>]y5[$uω]61/KmZ&dݐy5Pš'xKmZ&SUt##'`]-K]k j5VɢGBFKL[>]y5[$uωsPdMPRc@%=2l-Fۥ뮗&| jH*]U )JȚ]6-K]/gi3^I֓?uӡtm8x2ۧ:Y6򲃟"J:H;#>Ya1^M"ǃtXc,s5DP0G? W]/]i2K6i0Hn^`{;I &ZLHZLcacj*d 9<SvL*jUZLiJc*ek҂(2&)V)4GQe/]i2[;IJȚZLB~@PZL&Rv)z-&Re!i2 B(Rʟ =WK+&~i:Q܎T(R [0Eq=,r"yEvnɚp P :4p0&jJ[-&RдKl#i2WKB`t{ ln$!X756$ \8./usr/IBMVJava/html/enterp/en_US/sap/samples/costestimate.htmlm$$  t <>de"/abilnor =cgps .ACEINTfhmuv12GMORSy03:BDFKLPUV_jwz,8Yx#%()-59H&47Jq?W!+;XZ|'6Qq6Irn 1:R+>I.MkfD7Y-^Y=뗬AhR4 Y4,/TԌ(jd?$IqGyF H I {/Y=5#ѩ?Hujl뷻lDdQQFCӼ`H:{Im~Fy-kϞ"ߓl{^|[/V*irt_9ol\0|u4K@ibܘ>t j=>@eo*GġܤuDĥh#0#$-[oɌ v@ifPӚE/FsHJ#4ع:{Iz32حߤўI~Ns~ě_'A'@~ #:IZIGJ`#ѕ%LH(y-8G@iGΣMe.fXP\G4as5[( Jf3J aAЉ oم9o.fX2foؓk%~bQQaulr k5 d"k5 T!ؚI(.eB&   0'AȠم,7y(b4YҾYҼl]lvمK8 .A5k ҿW0%0rS&KGG:5"1h4Ps:wt;=+| Q /Y=58pZnx{I`ʬQN  8x`$Y0EeV(!@9OX-kϑ FXkx?c# 88x YUrx%#4#Q6Aן.Z٧6Aן%WiͰV 7@plfr# P4jūt@@plfr# P4dlI+l^|Gr`itt Msl'rN=6Ct( RckJ[$`@$ן8bܘ>y-M?_+~J[_4::Ѓuӛ`;t9BnFiEt*4uJj]zlhAJ^7^2Uni5>&뒕ԻH <+a'Fy&$:ͰKQAFA;#SlR`iͰD33lJ4   4@d!Jmo%!"M8[4G!-:; QG]26\vc_-|[!H ؊"ߓkc:}z2r,#kj2{38=_l*i^7^2Uni5>&뒕ԻH(@ \ RN[_Dy-ak寞KfcaC>A[ןJm278=_l*i_.t;n,L+,LxمUni5>&閂hLW0"kX35̳ ;elMHRl.f+ "ҹ+0z+ J9ak\\rV2+ xم׌[{O YUrxW0cC@ ҾYˮ;l׌[{O +sOyve4'zS.=G?Q|WXsOyA7_%ni5.=7LvE;@]+[{KM(0Pe+Ҽl׌[{O +sOyv铠P[HZncAqY=iLW˥xم*4uVR#'AȠ2˥|W\+0W0ut ,xᔦ]fX(O_8i=mm)*k=,&=Gգ(h˥|+sOyv~ |WXsOyA7_%ni5.=2t y M,q4!(.+'b)Jt05%VSnJj]zd9R\ҙtJ uf3Jf3_.YaE<2ˬݜ `:'M,)*k=,&=Gգ(h˥|+sOyv~ Ҿ]+,MxU 4i:Eԅ8߱F˥|WXsOyA7_%ni5.=2t y M.iLW˥xمҺ | XLѢǎJeen@}|vX@P\VO~S.^6abkJ=|ԻHr(--7L2_.f3Jc.f.f]c2F8xe)Y!9/uO_caSlT{XxiL̹LHPp0)Y4uҾYҼlJ=م9oP\VO~S.^6abkJ=|ԻHr(--7L2_.f3Jc.f.f]c2F8xe)Y!9/uO_caX,`tةLcҙusY``a S..iX| xم׌[{O YUrxW0aACCƏ48F| ]lvم*4uVR#thO@]+[{KMK~Jt05%VSnJj]znaZ;^vLW˯4iQl `-+Ҽl׌[{O +sOyv铠P[HZncAqY=iLW˥xم*4uVR#'AȠ2˥|W\+0W0ut ,xᔦ]fX~ك:wKd#Q&2ŏ JeegeF)L̹c.f^2Uni5>&.fXEeV)y&=Gգ(h˥|+sOyv~ Ҿ]+,MxU 4i:Eԅ8߱F˥|WXsOyA7_%ni5.=2t y M.iLW˥xمҺ | XLѢǎJeen@}|vX@PxSlT{XxiL̹LHPp0)Y4uҾYҼlJ=م-Cġܤv.fX 4 Ƌ| ]lvم*4uVR#thO@]+[{KMX#W˥xم*4uVR#tjܔZJeҾ]|ԻH?b`R]+,MxU 4i:Eԅ4 B{(ҙtJ ^2Uni5>&=GNAo5!ie)Jt0W[as4as5u4X)Ḻ[^حӋ>y-Gt<0m)Y5  22敎W0W]xU 0`)x;ҾY@>.f]uf&dj|M[{KM,A=ҙt_%ni5.=6B?Q|WXsOyA7_%ni5.=7LvE;@]+[{KM(0Pe+Ҽl׌[{O +sOyv铠P[HZnc@!(.+'b)Jt05%VSnJj]zd9R\ҙtJ uf3Jf3_.YaE<2ˬZl"rOQEg ysl`.@p(H#Q&Z2CQ"Qiͺm4܌>N4 ДT5|<|ӛt  ۑG&|`Q 0j2y%60 8iM Kd#Q&eKQNml`.@p(Jm[0{Bk(d#(9oaRANml`.@p( 6|%e9(E5Fj(9b-y5:{Iӛt ( Jm#Br`S(6s~ě_5,x`S..k=,4, !Jee+tat0sOyA6as5 AAlvҾY @ 084ukdūr2%4FG]v`UȌ HI[$`@$ן8x4#iͱG]-Uūsl5o(IGΣMf|=Jsldy_(ӛao% ~4F@@iͰV 7O ~4F@`iEt*4uJj]zl@B]|T#(<lvqrPBk# dy ƂéM*idF' uc+xӻ`:-Ke~\G]y['A:i5DT#`D I|m|)Kc-yD`[ S%|=`ӻ^|[$M6  84Y#H  6M268[(y_# #M6#%&=noFWF:wY:wܓG!&yf:; GΣMQI~WȑӾFy-a\vQipT#a+?Qf;E%48<|R/_\<3J['-͒0(y&(.+'c9⦕u%VSn)[{KMXp8<`p( 8x*]|"$`ζH%"M}|):{Ill`tc (wG5{MP4JW[Jf&ff&fl*4tAqY4@]+X5,H]fY[G6&)6auf3\Ci\\rV=dY%dP05J.f+dYҼlJ=م_$(?W0c,W0umXsOyA7_%ni5.=7LJeҾ]|ԻH\G4J ^2Uni5>&=Gգ(h˥|+sOyv~ |WXsOyA7_%ni5.=2t y M,q4!(.+'b)Jt05%VSnJj]zd9RXrzJeҾ]+.fm\+\|]ge&=GNAo5!ie)Jt0W[as4as5u4X)L̰lEv"('$V~(6d|'cF`q# :;GΣMQsncrBM :{If:;M9Mt܏|=HBM䧒vQiݰ|W46M YNJhM}|gX^||=60 8PU)# GFIZHK_(9oart ;%͔uwܚsncrқr>t_:͔uwܚt<0m)Y5  22敎W0W]xU 0`Ӡ-W0c,Ѐ0p W0umXsOyA7_%ni5.=7LJeҾ]|ԻH`i_.f&dj|M[{KM,?]GrQk=)JuVR#`- Jt05%VSnJj]zd9RXhB=C@!(.+'b)Jt05%VSnJj]zd9R\ҙtJ uf3Jf3_.YaE<2ˬ50#'A:i5Fy% lvQirBM䧒'2i  @h   B5,x`S..k=,4, !Jee+tat0sOyA6as5 A#G[as5<0 @Yp+\|c,MxU 4iXBz2_.Jj]zle?Q|WXsOyA7_%ni5.=7LvE;@]+[{KM(0Pe+Ҽl׌[{O +sOyv铠P[HZnc P|4]+Ҽl׌[{O +sOyv铠P[HZnsJeҾ]+.fm\+\|]ge&.fX!h4yVAlvҾY @p&.fX!h4Ťm+\|d | ]lvم*4uVR#thO@]+[{KMTG4J ^2Uni5>&=Gգ(h˥|+sOyv~ |WXsOyA7_%ni5.=2t y M,q4!J߱F˥|WXsOyA7_%ni5.=2t y M.iLW˥xمҺ | XLѢǎJeen@}|vhMSYadž 222#AB]fX3l%V⚈ +s#Q&ItevM+tat0sOyA6as5 A9om+\|h0Xas5뭎05%VSnJj]znb ˥|+sOyv鰠`i_.f&dj|M[{KM,?]GrQk=)JuVR#`- Jt05%VSnJj]zd9RXhB=C@!(.+'b)Jt05%VSnJj]zd9R\ҙtJ uf3Jf3_.YaE<2ˬݜ `:'MRb2ŏ JeegeF)ḺgAqY=:kїJ5VIGΣMQ\f:; V:_,^6au%VSlkJƐ[as5#Pxpm+\|c,MxU 4iXBz2_.Jj]zl(K~Jt05%VSnJj]znaZ;^vLW˯4iQl `W˥xم*4uVR#'AȠ2BAqY=iLW˥xم*4uVR#'AȠ2˥|W\+0W0ut ,xᔦ]fX%d`NBDq)\|=Z[2ŏ JeegeF)ḺgAqY=:kїJ5VIGΣMQ\f:; V:_,^6at;lĉcfffi_,ҼlҺ JY(مaulr k5 d"k5 T!ؚI@*lXyt"j@ P t y M]2ƕiL | xم׍]|P[HZlu,JYҾYҼl]lvمafHYt)B(D4\OjNϔbq)B)~9GelMH2Q,ԅcG(-7J]]) 0S!6at\[ k}$,756$,./usr/IBMVJava/html/enterp/en_US/sap/samples/costtype.htmltmlm$$ SAP Business Object CostType

    SAP Business Object CostType (BUS1030)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CostType
    

    The business object Cost type classifies the valuated consumption of economic goods in operational activities (costs) within a controlling area.

    It relates to a chart of accounts item, by which the cost type is defined as a value category.
    The totality of the cost types of a controlling area define its cost type master. For these cost types costs can be recorded within the controlling area.


    Keys
    Type Name Size Released since
    java.lang.String COSTELEMENT 10 bytes Version 30A
    java.lang.String CONTROLLINGAREA 4 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESOUTBOUND 78 bytes Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A
    Bus0004Structure CONTROLLINGAREAID ??? (see below) Version 30E
    java.lang.String COSTELEMENTTYPE 2 bytes Version 30A
    java.lang.String NAME 20 bytes Version 30E
    java.lang.String DESCRIPTION 40 bytes Version 30F

    The size of this attribute must be determined at runtime.

    Methods
    CostType ()


    CostType (com.ibm.sap.bapi.ObjectId objectId)
    CostType (java.lang.String COSTELEMENT,java.lang.String CONTROLLINGAREA)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    CHANGED Released since Version 30E

    G[ lꆷ$i756$@B./usr/IBMVJava/html/enterp/en_US/sap/samples/creditor.htmltmlm$$  t <>de "/ailnor =bcfgpsRhmuv.02:CEIOSTwy13ABDFMNPUV_()5?HLWjxz%,-6GXYk#&489K7!+J|';qSFq*X$>H5 Z괢qk2Ҋ T z?*4i괡(#?8h!JLTT%_@kc@ZQCw^J0T%B͎UݶL {_"%_7)E/m(eT0VJ4:%@ AjPҊ 2c Tȵ5*҉ PBAckD7KF@`XDH:QK2K FҊ:;i@ shP@n҉R04) =Ú$ }(( iaoiz6ҊYJ(dm(LfCk_mGq$@X0 sXSdv`)&B2l!k?c06;RPQ];dsfc^i*K8[^i* Tĕ"00iExFB$ZQ_$8TSeZQKiE/Ҋ.IPU5Ea* *NYWKiD|FJK*-(( P *Ě,fHs%@ *',iDxFB$Pc~҉`k)yB^-yL  fX .J}/5[$,KiD/Ҋ_aNJ(J+lqk%@Izs k%AjؒBQ"((Dpp4J+sJVQV -(weZQKiE/Ҋ.IPU5Ea* *NYWKiD|FJK*-(( P *Ě,fHs%@ *',iDxFB$Pc~҉bpyB^#㣴L&&L@&@cdtz_J&k儶'HX*҉_5%\AJ&k aN_J&kDAEZQ3_, @ݒ-(؞>A!`_J&i~6L׌ipt"J7( x`X 0M;i-(BA"-( LZ L lOl U/4J&kJ4:%BVL<0, aN_J&k"À a:_J&k H 1V=/5[$,KiD/҉.IPU5c q6fXpDHLD,ŀ_J&k H 1V=/5[$,KiD/҉.IPU5c6fX0@Xp8 @p8 _J&k H 1V=/5[$,:҉_5%\AJ&k Q6fXp`(88D"fX2%k(ZQ3_,%=|Bé-(QK)iEiDȘ͓|dh#Zgh J&hJ+lqk%@Izs k%AjؒBQ@XXU%\CiE|cP!VQV2},J)-(QK)iDt{*tXtwz_KiE 5% *l72M(hQ8(С/d7K_J(dm(/`%XXb|# 0 shP^l  ҊJ&kK7IP`е]-\4G࢘sBJt!n/d=/J&i-(fdt *l;K4) =Ú"P w;|C$Q3KiE 5%hZ,f.BaQ0fK=_ld:;x,f '2,xK҂+u2҂&kmL׍L|"î`y}|҂&fkAp`p$@HL<KiA4JJ"K)tUkܓ6UZPD| ZPD/҉񴠉/XtckWʺ*C'4ӻ`YWKiA35밧m׌ckWʺ%i%N: @X _,LcO<>F;g^8NSxfY#O``͎$ 9->OXfc{`:Ki5Eo3d~!i\urZ|1\3Bu#UrckSΫ p@ _.i~7^2=i%^*댖9;L(@&%K.\nd{^JU,sMy*v`Ј0(҉uS҂+G5]|9;L*Ěm,,sMy*v` % >~6^2=i%^*5gUV/]?rOkYWKuXT3[$).iA#UrK^JuIpq11WEXӡ'2,b},_WckWʺ,sMy*v%ǜǒ]sK*.iD/m4LˬuKiE/ҊsMy*9VLX=Nc kͥfXp`e/5밧mWckWʺ,sMy*vtU4YWKuXT3rP.iA#UrK^Ju]b$ t_%i%N:%=|BTK񴠊sMy*9W_%i%N:8T@iЏ ߱>U]/҂+G5]|9;LcPbtKfS҉_J&k:xiEx9xJ&ksct^%8:;KiD|aa`_J&kaNJ4גuXT3h5gUP.iA#UrK^Ju]b$ t_%i%N:%=|A"~6^2=i%^*5gTsJtUB>NdX7~YWKtJ4גuXT3K9%A*U]/҉_aNJ&i-(X㮗Ҋ_D/iD/Lm("fS҂)xJ(dm(/`%CA [,|X<9)hQ8*& ,à}|K,GqǛ0!2,|Ȱi=/Ju{J3^633_%*ŃC9vʺ_J ab"aP(! 0DX2҂&i~63^6E|R,:'m,a-KiA4J&ffk҂&fka=i%^*o ˋNie]/Lˮ^2=i%^*댖9;LhD& "b`*]|1>L` { vsLk%3dkTQ1'0!'GrZחSKSA`DH Mx9x2XT3b`PxDXpxLDi|e˚_˥/mZPD/҂&k҂&fkckWʺ*dX4YWKiAWJ"fYWaN*͉**Ҋf;i|e5X=vZQ3\e !|e5Xt_iE/ҊsMy*9VLX=Nc kͥfXp`e/5밧mWckWʺ,sMy*vtU4YWKuXT3rP.iA#UrK^Ju]b$ t_%i%N:%=|AT]/҂+G5]|9;LcPbB>NdX7~YWKtJ4גuXT3K9%A*U]/҉_aNJ&i-(X㮗Ҋ_#Ur({ǚ%כKiD|xx`_J&kaNJ4גuXT3h5gU<+_˥PEx9x4גiWEXv=/Cie]/ckSΫ lOl _˥PEx9x4גiR\yy* UV 4G̋؟K*.iA#UrK^JuIpq11WE\ʺ_˥Q3K)iD/5tuZQK񴢼d{^JU5`SBZi-( "Lˮ^2=i%^*5gUV$?Cie]/ckSΫy(WK񴠊sMy*9W_%i%N:za{^^ʺ_˯4גiV؞>A!aK񴠊sMy*9W_%i%N:8T@iЏ ߱>U]/҂+G5]|9;LcPbtKfS҉_J&k:xiEx9xJ&k偬1 xZQ3_,$,@aP",KiD|)iA#UrK^Ju]bM6U]|9;L@~KtJ4גuXT3'm,,sMy*va-KtJ4גuXT3K9%A*9`e]/m("d{^JUckSΩ.<<*諚YWKtJ&i};m(f]c_J)~6WckWʴfX-6;E^#㣴L&f]vsMy*9W_%i%N:&K*.K^JuX`% >~6^2=i%^*5gUV/]?rOkYWKuXT3[$,>~6^2=i%^*5gTsJtUB>NdX7~YWKtJ4גuXT3K9%A*U]/҉_aNJ&i-(X㮗Ҋ_D/iD/Lm("fS҂)xJ(dm(/`%CCtX7$X 9)hQ8*& ,à}|K,Gqy␎ >NdX4V:=eLaNJJ E]b `C;Cie]/L0a1a0(<8! 0DX2҂&i~63^6E|R,:'m,a-KiA4J&ffk҂&fka=i%^*o ˋNie]/Lˮ^2=i%^*댖9;L0hD& "b`(|e/װi9)$~!Kx9x2XT3H(|e˚_׌ckWʺ%i%N: R˯ !Ny%ΑO``lt3KsEFy6GVZ|K_x͚*6?_pҶ24ƿrZ6FpMs҉uS҂+G5]|9;L*Ěm,,sMy*va@d+_˥PEx9x4גiWEXv=/Cie]/ckSΫ lOl _˥PEx9x4גiR\yy* UV9`e]/m("d{^JUckSΩ.<<*諚YWKtJ&i};m(f]c_J)~6R vPA4u33343K񴠉_aNJ(fdt lnIq}9)hQ8*& ,à}|K,Gq:Y2H~B2xy-|<:G~6^2=i%^*5gUV/]?rOkYWKuXT3[$,>~6^2=i%^*5gTsJtUB>NdX7~YWKtJ4גuXT3K9%A*U]/҉_aNJ&i-(X㮗Ҋ_D/iD/Lm("fS҂)xJ(dm(/`%C@WKers]NaB9 1p{  0=_l%` !oAsx͚*6?_pҶ24ƿrZ6FpM9߹&Fd=;d D@Tnd{^JU,sMy*v`Ј0(A *i.iA#UrK^JuIpq11WEXӡ'2,b},_WckWʺ,sMy*v%ǜǒ]sK*.iD/m4LˬuKiE/ҊsMy*9VLxKq|tv҉b"Lˮ^2=i%^*5gUV$?Cie]/ckSΫ $_]/҂+G5]|9;L*뵇IyzK*.K^JuXKb{`]/҂+G5]|9;LcPb8G̋؟K*.iA#UrK^JuIpq11WE\ʺ_˥Q3K)iD/5tuZQK񴢗S҂(_L vPE/iE 5%h&9)hQ8*& ,à}|K,GqaB8dX49`z_XY3];m("fm("ffK)tUH4s  t33_, ÅE@xL Ň_JPDxPA_H뢬^X~ח҂&fk儶'HX}/Lm(J EH9xd2sO.-; t33_. vx9x2XT3xp< _u40sl0su)|-yv\^yssLk%3d~!c84TlCɐs(|l969%Kc#v|4Tl~!xlei~lac1 *6%-yvK_%X) P@@"$u#UrckSΫEAbB!aA1hL@ _.i.tKiA4JJ=i%^*9`ie]/_-( ]fZQ];dG6$J+҉,LTL` _iDq&*vȃ̄FLa7_|eJ+G5ZQ3_, `94(Ků6҉ab"Lˮ^2=i%^*5gUV$?Cie]/ckSΫBO_WckWʺ,sMy*vtUkܓ6U]|9;L갖 SKtJ4גuXT3K9%A*9`e]/m("d{^JUckSΩ.<<*諚YWKtJ&i};m(f]c_J)~6WckWʴfX-6;E^#㣴L&f]vsMy*9W_%i%N:&K*.K^JuX`% >~6^2=i%^*5gUV/]?rOkYWKuXT3[$,>~6^2=i%^*5gTsJtUB>NdX7~YWKtJ4גuXT3K9%A*U]/҉_aNJ&i-(X㮗Ҋ_#Ur( axl)KiD|!0PDH@ f]vsMy*9W_%i%N:&K*.K^JuX+_˥PEx9x4גiWEXv=/Cie]/ckSΫ lOl _˥PEx9x4גiR\yy* UV 4G<:s"'ʺ_˥PEx9x4גiR\yy* UW4~6L vQ3KiD|]/tRm(&ixJ&fffi-("fiA4KZQC#iDt{*tX7%o9)hQ8*& ,à}|K,Gq{yA!a3Kfffm("ffK)#Urv<<6UZPD|)u#UrckSΫAb P &|e/װiFNaB9>V^9~T4Tmok'0!1:/ _׌ckWʺ%i%N:<,>]|x9x2XT3x/`2g4כ>[t&y}|vȬH1?c44Tog3d~!xlei~l##XtGy2t1x͓<>F;d=Vls$q9Ϟ3f#/41ܖx͑?f:\#SEFlrZ|k^\ENd"6Z/_OaN 0,4Tni~7^2=i%^*댖9;LhDX,&$"$_u~7K)t3K񴠉񴠉#Ur <6UZPA҂ueSJsbJ m(2N_iDq`ݥLbblU]/҂+G5]|9;LcPbtKfS҉_J&k:xiEx9xJ&k偬1 xZQ3_, E)-(];m("d{^JUckSΫI~ʺ_˯4גiVP.iA#UrK^Ju]b$ t_%i%N:%=|B.iA#UrK^JuIpq11WEXxt#EwOtK񴠊sMy*9W_%i%N:8Tie]/m(f҉u^:-(Q^2=i%^*҉`x/ZQ3_,XxDX>҉uS҂+G5]|9;L*Ěm,,sMy*va@d+_˥PEx9x4גiWEXv=/Cie]/ckSΫ lOl _˥PEx9x4גiR\yy* UV9`e]/m("d{^JUckSΩ.<<*諚YWKtJ&i};m(f]c_J)~6R vPA4u33343K񴠉_aNJ(fdt 䛿7 =D„Xt/}x7 #~oc\dX49`z_XY3];m("fm("ffK)tUH4s  t33_, ÅE@x0~6^2=i%^*5gUV/]?rOkYWKuXT3[$,>~6^2=i%^*5gTsJtUB>NdX7~YWKtJ4גuXT3K9%A*U]/҉_aNJ&i-(X㮗Ҋ_#Ur( a(Lm/5ÅE`x`.҉uS҂+G5]|9;L*Ěm,,sMy*v`BO_WckWʺ,sMy*vtUkܓ6U]|9;L갖 _WckWʺ,sMy*v%ǜǒ]bNz'2,b},_WckWʺ,sMy*v%ǜǒ]sK*.iD/m4LˬuKiE/Ҋ_aNJ"fffff҂&i~63K)iAu26Q֔WaN/\㙘ךJ*<ךJ%B9%@Hs%@ EZQ^2QЉ* h489VW.<<*Ҋ*(iExQ_$8TJ+u,` KZQKiE/Ҋ_aNJ(J:ҊdJMcqțUF'IJTk ZP 5*JsbJ `0L %@ PxP 1WKe( 3u l $k756$[C./usr/IBMVJava/html/enterp/en_US/sap/samples/creditsaccount.htmlln.h$$  t "<>d /abeilnor =cgpsEfhmv.02:ACINORSTu13DFMV_jwyz58BHLPUY%(),-4Gx#9?KXk6+7|!;JWq@H9`ҦBR:A!iKX9؃+qꗨs P*&16As:ohh:RTMvsCUYi8 9Ra4 @u%AГ2,yLAﷹ̉r װdE`:,CJ*=F[=T@ @UO` V 421E0TZqpvdL4 Tֽ"+0!fQP ` HF f 68ّf PKDVa] *Z&Ƅb+0̀ ̀D`tY憔T_,=ȳ{AX{ 6`s m[͕T_-i7T+HFxLXT#ys=Ndcʤ8D" AB?q3~2ʃh5J»`!fQPLShqbƀkOz{3}Ks1"fq"ff^ *`E\Jr&foXx48HX$*3-x$1FdּZW33pȚ>AB?q"f<D#k^gXiQixeyi937/nf_S[ɯ+/9szP (" 7/ i0Uv:*I 5*k# sM:xINbח>*y+6xy,0ʤc{*-|Jdz1l4&CE.X ,&LP@sҧ񬒜E-lH8zb3i8ߌS[ɯ+yPKDZ?q  f-sKy5ee9sz^ "J/-Ә3¥am?r9#k*sKy4 cYk^S-+Oܿ4N`X dMl visKy5ee9szLSɠ^2b쉶Z|q"dzMxYeNio&8h.דi^Z~yORAm?qz{O #kfqXOT+Z~3pHX$!i<[9#k*sKy4 hE_S[ɧ0g am?r9#k*sKy4 cYk^S-+Oܿ4N`X dMl visKy5ee9szLSɠ^ fB>LTT96ҼO _S[ɯ+/-Ә3ԕbMZm+Oܴ3i[<ͧ 7/]vZ~idzMxXcAA@84,QKs-?q  f-sKy5ee9sz^ "J/-Ә3`8~2=Nio& 4N`RTiy4YkB="YgdM-?r9#k*sKy4 %AƘAuJ->8zb3i83~8EcYk^S-+OAș dMl v3ifffq"ffsKy5eela4<2ҼԷ3/G-ׁʜM9=`(  O*` s${u5{xY016FB24эf?aQE@U`Tc hƳdW`LCeJl%lX١3isKy5ee4N`X,A`X.ɴ92S[ɧ0gC8zb3i8~2=Nio& 4N`RTiy4YkB>LTT96ҼO _S[ɯ+/-Ә3ԕbMZD=N-?r<ͧnf 6ܽvZui={sKy5eb3p rXH^] 7""Vܾ~2=Nio& 4N`Yk6Xi^Z~9sz8T!mZ|q"dzMxYeNio&ׂLsk6Mk`eyiTif->8~2=Nio& 4N`RTiy4YkB>LTT96ҼO _S[ɯ+/-Ә3ԕbMZm+Oܴ3i[<ͧ 7/]vZ~idzMxXcb+bOAo -?q}Ks1"dzMxYeNio&ׂm2Ҽ*sKy4 `0\!mZ|q"dzMxYeNio&ׂLsk6Mk`eyiTi.->8~2=Nio& 4N`RTiy4Yk`,GɊ3&WisKy5ee9szLSɠ^MyiAm=Ks1fӮOA>8ߌS[ɯ+yBh (()ne 7abvܾ~2=Nio& 4N`Yk6Xi^Z~9sz8,; O _S[ɯ+/-Ә3ZIbfɭyL -?rʜM9=`15|~r/G-ׁTiJ1O&-x8GX 2b쉶Z|q"dzMxYeNio&8h.דi^Z~yORAm?qz{O Dͧ]<ͧ L|q"fԷ3r-:Alq/PC-*nlvcR8$ (:{ =+kyWoW`?j&**h9ߗ97Է3r&or&fo̵(:AB+\4U -?q"ffCCD(XhXKOAșDA_|TfZIbfɭyL -?q"ff15|~Dͧy/>*2G-ׁΰҢ;`Jr&fo_R̿4^V_*sKy4 0@8P9~2=Nio& 6TiA;O&#keNio& "āb `p0h( rm?r㖞i96AșAș=Nio& ኊi^Z~Arv^ Է2W"M{fO< ̴!Wliq78sAp&m?r9#k*sKy4 %AƘAud#ECm+OܴE92ʜM9=IPq)]e&ҼO 6~3rie AG-ׁ8~2=Nio& 4N`RTiy4YkB>LTT96ҼO _S[ɯ+/-Ә3ԕbMZm+Oܴ3i[<ͧ 7/]vZ~idzMxX(z\'חi<A`A`;OAo_RAȿ4^V_S[ɧ0gB, -?rʜM9=`V6->8~2=Nio& 4N`Yk&95&02Ҽ*sKy4 D iAȿ4^V_S[ɧ0g*4< x!&**ți^Z~r/G-ׁTiJ1O&-x"glZWifԷ3yOAo^-:=92PO,$Oů.yb+OAo_RAȿ4^V_S[ɧ0gB, -?rʜM9=`*V6->8~2=Nio& 4N`Yk&95&02Ҽ*sKy4 D3iAȿ4^V_S[ɧ0g*4< x!&**ți^Z~r/G-ׁTiJ1O&-y6Z|q-fyN-?q~2=Nio& Ao 1gEJe 7Bܾ~2=Nio& 4N`Yk6Xi^Z~9sz.V6->8~2=Nio& 4N`Yk&95&02Ҽ*sKy4 D iAȿ4^V_S[ɧ0g*4< d#ECm+OܴE92ʜM9=IPq)]e&ҼO 6~3rie AG-ׁAB?r9#k*sKy4 %AƘAud#,1QPvDJ->8~2=Nio& 4N`RTiy4Ykɴ-?r<ͧnf 6ܽvZui={ORA"fӮffffr&m>83i[9v 68js J|[8!Z@pI0&# PtP{Wl:,CJ*)v-NS`qbƀkOz{3}Ks1"fq"ff^ *`E\Jr&foXx48HX$*y+4&D!ٲ%N6K^Su6xZl>Zl6ƲV)2Zl0v>vʊ*ּ<BSXhL5*k# 5Z0V9~2=Nio& 6TiA;O&#keNio& "āb `p0h( rm?r㖞i96AșAș=Nio& ኊi^Z~Arv^ Է2W"M{fO< ̴!Wliq78s8zb3i8ߌS[ɯ+yBlYb?RYi8~2=Nio& 4N`RTiy4Ykɴ-?r<ͧnf 6ܽvZui={sKy5eb3pQ@Z~3pE@h .yԷ3r/G-ׁTi-x&Ћ-+Oܿ4N`X!mZ|q"dzMxYeNio&ׂLsk6Mk`eyiTi.->8~2=Nio& 4N`RTiy4YkB="YgdM-?r9#k*sKy4 %AƘAuJ->8zb3iGCE\20a*k"lZɀT|cxIBcM)NqƲV)2FB2oSQSQ]ydTJ8zb3iAp&m?r9#k*sKy4 %AƘAud#ECm+OܴE92ʜM9=IPq)]e&ҼO 6~3rie AG-ׁLTT96ҼO _S[ɯ+/-Ә3ԕbMZm+Oܴ3i[<ͧ 7/]vZ~idzMxXcb+bOAo -?q}Ks1"dzMxYeNio&ׂm2Ҽ*sKy4 `0\!mZ|q"dzMxYeNio&ׂLsk6Mk`eyiTi.->8~2=Nio& 4N`RTiy4Yk`,GɊ3&WisKy5ee9szLSɠ^MyiAm=Ks1fӮOA>8zbA6v 33363iORAȴfTCM-*nlSlR8$ (:{ =+kyWε9O)j&**h9ߗ97Է3r&or&fo̵(:AB+\4U -?q"ffCCD(X  ?q"f979_|Qk&95&02ҼD i96Affor&fo4^VZ6:JL-+OAș}Ks2dzMxY|l-Ә3@(

    *y+6T56LddEЙ*old7tŜV/6xJU:G¬6FB2i)tS⧚`eOR92S[ɧ0g, ir|rdzMxY|l-Ә3!v7/M/G-ׁʜM9=`( ED@ b`P4<@ir~-=Ks2r&m>83~833dzMxYk42Ҽ/ 3zAndD <(17ypACiq72C2>3|n@p?xA>8ߌS[ɯ+yPKDZ?q" DHOAo_RAȿ4^V_S[ɧ0gB, -?rʜM9=` ; O _S[ɯ+/-Ә3ZIbfɭyL -?rʜM9=`15|L~r/G-ׁTiJ1O&-x8GɊ3&WisKy5ee9szLSɠ^MyiAm=Ks1fӮOA>8ߌS[ɯ+yPKDZ?q  f-sKy5ee9sz^ "J/-Ә3¥am?r9#k*sKy4 cYk^S-+Oܿ4N`X dMl 86isKy5ee9szLSɠ^2b쉶Z|q"dzMxYeNio&8h.דi^Z~yORAm?qz{O #kf '*W-?q(@ 4 i<[9#k*sKy4 hE_S[ɧ0gaisKy5ee9sz^ 1Q5)_S[ɧ0g2&@POܴE92ʜM9=IPq)]e!&**ți^Z~r/G-ׁTiJ1O&-y6Z|q-fyN-?q~2=Nio& Ao 1gEJe 7Bܾ~2=Nio& 4N`Yk6Xi^Z~9sz.V6->8~2=Nio& 4N`Yk&95&02Ҽ*sKy4 D iAȿ4^V_S[ɧ0g*4< d#ECm+OܴE92ʜM9=IPq)]e&ҼO 6~3rie AG-ׁ8~2=Nio& 4N`RTiy4YkB="YgdM-?r9#k*sKy4 %AƘAuJ->8zb3i8zbfb٘ڤlX0 HHJFz[94TYm\[ Kj`@$\#4R <(@p@a( &ubi3{J A#xbi9 kꠜ$ 756$ ./usr/IBMVJava/html/enterp/en_US/sap/samples/custcomplaintorder.htmln.h$$ SAP Business Object CustComplaintOrder

    SAP Business Object CustComplaintOrder (BUS2033)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CustComplaintOrder
    

    The business object Customer complaint order represents orders for the clarification of discrepancies that have resulted from the handling of previous business transactions within sales and distribution.
    A customer complaint order can take the following forms:
    - Credit memo request
    - Debit memo request
    - Return
    - Subsequent delivery free of charge

    Credit and debit memo requests do not have any schedule lines since they are not relevant to delivery.


    Keys
    Type Name Size Released since
    java.lang.String SALESDOCUMENT 10 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    VbapTable ITEMS ??? (see below) Version 30A
    Kna1Structure ORDERINGPARTY ??? (see below) Version 30A
    java.util.Date DOCUMENTDATE 8 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    CustComplaintOrder ()


    CustComplaintOrder (com.ibm.sap.bapi.ObjectId objectId)
    CustComplaintOrder (java.lang.String SALESDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    { lꔞ$li756$|./usr/IBMVJava/html/enterp/en_US/sap/samples/customer.htmlrder.$$   <>det"/abilnor =cfghps EITmuv.2:ACMNORSUy,13BDFGLPV_qw'()0HQjxz-5XYk78?KWZ#%*469+J&;|! *s{T$*=cE'QDX-#D#@#`(R(>4Q2?;"(0 7h8;Skhx `mL _^Gt9q~vxEr=oB?O}Z HD+L(ձ9ݵJy"k- B{!ȖBxM`&v=B%A`prhgo"Z@ (e> *eLn&UaAЉi D;|&HX4Բ Tn'6ޞZ@04Բ?%LVOm<0RhTn'6ޞZAie chZ2TʕmDʶ4Q?ǰ DnhEaN[ صJ"0H@FUE FUEC"` mD*DʵlvQDQ3cr k- 1EלZ@B7- oO- ML{2KHD2E4Q2 ݋XCqS(e[tQ2L{2KHL&'6ޞZB8U 2[tQ?  *eJmP@ܕ2[tQ? MK(KG/יTn&Uv=B%&{wEz=4rUEЈ(1ÇxVO@ ds;1 (n[H*ۢUv=B%&{wE*ۢv<`h4`&"(8"( mD;t +n'۠EʶlhaAЉi D;t9lvJ&& 8 [tQ?  #*ۢv!E([(cqt"ZBgq4Q?"B-VOA‚cC  J`n#َLmD;tȢ?@VOO8:-!3۸(nD cdn'۠xp&0DH0JUE0pt`4Q?J? Hx.xR+@)AB,|xf([tQ2|hڕ~XBjTGW3M`VSBX6٣,|[Q?ʶdD;+X-#ԩtF vhH|5Er<2‘ZQ4F =fA" stU֚׹ȃGz ncr >'AcUD:}C8כ^iQ?ΟA?>&U"4疝 v Y9o8(Obם*ۢv8PLpx!VOSc$\y<MN[sKMK(MnJR4疗aʶU;Eni-;S7SRb`d*۩sNyivE,*۩VƊ$\y<MN[sKO2E4zȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuMK(<`hl7t @{2>?9~q܋V棡^Y ׹ſטsQ?i|xEwk̈́G[ᐍǭյ}~{j;芣?=܋V0;d^ {R 2ԲcҦTЄ^UnVLcE;Eni-;E+ rpPů:UE84@)*ۢvulvQD"4疝 sNyive S*US7S@]e[u*D"4疝 sNyive chZ02Tʕm< C"` lhEǑ[sN< P[HZjYCGAqX܊2Tn[(sVӰA5;}ni-.u<9P=n2[u*D*ձEn'۩TԲ ʙSw@ ;3aO={j>߸oDug9q^ojYBAђTכږP,`04P:Tʛ~t[x{|7X η~T芣?G~w@?o8*Tn&U"4疝 vxāB9*ۢvH`A! VOSc$\y<MN[sKMK(MnJR4疗a }ʶU;Eni-;S7SRb`d*۩sNyivEʶU;Eni-;S7S̃Ao-!ie w~nES*URH+sNyi 4疗ad yi MK+ʙRlhj좉UE۪ojYADeL@XPh2-C[JR(;u:;*v<ӞZv&OsNyiv`p"ᣀDOۡǵiYgGj?O 7E{5/[֊-9a ~D+#@"9 }?9sk_6~tqfEjſ8/O 7E{5/[yshq i1z?&~G+}>|5`zv`* ׼ϧEc:~x?8|~r^}p+ʈ:Gn_ [֚{j(9ba\5֘l\s7,1~GW l![82vn_|5`yGk`*y<MN7S@Hr>ncrUD:}@x~ʴ(VƊ&v<ӞZv&'۠-dV=^tn'۠x8`ᒭ(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4FURH+sNyi 4疗aP;_E3%LVN[sKM2(@*۩VƊ$\y<MN[sKO2E4zȣ*eJU;Eni-;S7S̃Ao-!ieS*URO[Q?ʶuMK(<`hl7t8\V?7#iG?#̀ i1z= do#<[y?W~t[ԲD%L7,X`h8t7t8.+G dܾkMi:܌:83r¼R(VƊ&v<ӞZv&'۠-dV=^tn'۠A1!e[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]hv #*۩VƊ$\y<MN[sKMK(KG/יTno9n[H 򭺕lhEǑ[sN< P[HZjYCGAqX܊2Tn[(sVӰA5;}ni-.u<9W2[u*D*ձEn'۩TԲ ʙSwCj=cr<~#oA  u|5`棡^Y ֘l[^y!y}~w5G`?#ڏV?#^ojYBAђTכږP,`04P:Tʛ+ʭ*ۢlhgcȭ9`hEaD5 rUEЀAaJ[Q"cȭ9`jvӞZ]jYBmp2Tʕm<  #*۩VƊ$\y<MN[sKMK(KG/יTno9n[H mԫcE.v<ӞZv&o9n"ZBR=Gz Q2[u*D"4疝 sNyivAȠԲPt*۩VƊ'V([tQ?M04@h6Tʛ{Q.+4#?60gTw [y{5/[̈́~8 5 ΂|pWږPh4d7t8.+G9an: .yeEåLXooGp #qGpyU[tQ2Ly<MO@搋$ VOBC J[Q"cȭ9`jvӞZ]jYBmp2Tʕm< X FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*e  pxxDpAB"C qPcpXq8e FJSw^ojY@@pS*nʭ*ۢlhgcȭ9`h-cUEЀJ[Q"cȭ9`jvӞZ]jYBmp2Tʕm< X FURH+sNyi 4疗aP;_E3%LVN[sKM2(@*۩VƊ$\y<MN[sKO2E4z`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*eM=[9"zwZkL^Gފ+l̋w"Յye FJSw^ojY@@pS*nʭ*ۢlheZ;(EUnmDUVeHU&OOR<-5*]oDLZkL^G@xR+@*&4H? ~A75֘l=qXz ǢʷhEͺ$_c$_󱢉VK(HfS*UE/nAA1!"#ADJE*Dv4Q"|qZ,,v-^fJR(;tȢ?AVH[(v4Q"vVӰA5,~"5xd*ۢSccȭ9`jt4疗a " 8J{QOqfȑi i1z=Qiav!\t=D΀M;52-܋WzyruZ;Q^|#~uϏ܎XWuK#@"9#O5k~tqfk.:4öWFv}֚{j(9ba\5֘l\s7,1~GW ΂9}֚- 1//~tqf7 Q\EBcSVӰA5:[sKM#D ʴ֘l\s4_AqX܏8PH@+ʶUVʕmDUhE+sNyi R Ǣ*eJE(buMLo"ZA OT2UD:},~J(O¨ga>':UDʶ4Q3VӰA4Q?k"- Z[tQ? mD;u:;(EǑ[sN< Բd*۩sNyivG`2lhEǑ[sN< Բشr-y*eJvӞZ]h!ElhEǑ[sN< P[HZjYCGAqX܊2Tn[(sVӰA5;}ni-.u<9P=n2[u*D*ձEn'۩TԲ ʙSwCj=cr=xL<Aٹ}h9h!֘lDug2E ΂|pWږP,`04P:Tʛ~{VAڏ@8 x[z̀ i1z=[2E _Z8~G p֘l}^;;_lVmDʶ4Q3VӰA4Q?k"- Z[tQ? $ #*ۢvulvQD"4疝 sNyive S*US7S@#WqVJ4Q"cȭ9`jvӞZ]jYBXZ9} 2[u;}ni-.u4Ȣ?AOmԫcE.v<ӞZv&o9n"ZBR=Gz Q2[u*D"4疝 sNyivAȠԲ*۩VƊ'V([tQ?M04@h6Tʛ{Q.+}# =~y O棾ZkL^G|:37,+#A֚pfv?;B1P;A=h8V?#^ojY@@pS*nB*Tn&U"4疝 v Yָ(VOB#" *ۢvulvQD"4疝 sNyive S*US7S@ +n[(sVӰA5;}ni-.u5,,v-^fJR4疗adQl ln[(sVӰA5;}ni-.u<9PB;\V?7"*۩VƊ$\y<MN[sKO2E"[LVJ4Q?ʵlvQD*ۢvm7,DTڏAqX܏k/ql`?^^|5`y"5A9a\q\V?7#ڏ=n {Rwp2Tʛ{Q.+r(u(<;OϫcA^ojY@@pS*nq Yoj?OΈ;sȊ[^x[z~wZkL^Gߧ0cks [y*Tn&U"4疝 v Y^ i_vFUE<4Hp)VOSc$\y<MN[sKMK(MnJR4疗aʶU;Eni-;S7SRb`d*۩sNyivEʶU;Eni-;S7S̃Ao-!ie #cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*eM=Pkqa|5`~ó:83r¸󠸬~nG5z  2 uJe[(+sNyi (nXS-yҭ(nC  mD;u:;(EǑ[sN< Բd*۩sNyiv]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲBނeLVJ4Q"cȭ9`jvӞZ]yr(--5,*eJUUc'VOSne  2z z(a5_Aqyf?OkMiftqfqAqX܏j>k`+K(0(*eMAVmDʶ4Q3VӰA4Q?cB/ؐ3HG%[tQ? ($!*ۢvulvQD"4疝 sNyive S*US7SA`/WqVJ4Q"cȭ9`jvӞZ]jYBXZ9} 2[u;}ni-.u4Ȣ?AVJ4Q"cȭ9`jvӞZ]yr(--5,bȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuMK(<`hl4@8( "  ($!A@b )ƂVmDʶ4Q3VӰA4Q?B cUEЀJ[Q"cȭ9`jvӞZ]jYBmp2Tʕm< $]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲB w~nES*URH+sNyi 4疗ad yi MK+ʙRlhj좉UE۪ojYADeLǵcQAGw޷;Zbz?O^WD_Gk`d[+ʭ*ۢlheZ;(EUnmDUVeHU&OOR<.EnWZ<2‘ZQ4F =fA؊Dz=c[Q"S{SwE/ձE/DN+B$ 3[Y`d*ۢ@xЈpA0p0!ahҭ(ʶ4Q"HsVK(KG/יTn$_2(@6UE/VƊ'H9<MK(?4_Dȵ l*eJE+sNyi ?9nÆ>nyfd8G~tVG8y_0;*y<MN7SC8hx<2Uוljv<ӞZv&OsNyiv$h9VSB֚{j(9b}.+ 8PHBTbkB/BokGOj=cr>a^ NǑ[sNni-.u4   #D>nn[jVH[(Ɗ$_"4疝 e z!Tn$Xۢ/TDέF%(D:}C%Z}OЂOt*q6l*><~?eZ}LcE;Eni-;E+ rpPů:UEpB2(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4;wmԫcE.v<ӞZv&o9n%ţkS*US7SA -$VJ4Q"cȭ9`jvӞZ]yr(--5,Єw~nES*URH+sNyi 4疗ad yi MK+ʙRlhj좉UE۪ojYADeL{fGO$ODU^ojYBAђTAk`>A|7~~ƣ3ߧ0;ّ*7,X`h8t7uVmDʶ4Q3VӰA4Q?cB/ؐ3HG%[tQ? ($!*ۢvulvQD"4疝 sNyive S*US7SA`/WqVJ4Q"cȭ9`jvӞZ]jYBXZ9} 2[u;}ni-.u4Ȣ?AVJ4Q"cȭ9`jvӞZ]yr(--5,bȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuMK(<`hl7t8B/.+A#3O?8=Tw`A[Ẅ́~0ƚܾav!^ojYBAђTOHg a<~",񜾑 (8`!!B/|&y {RJSw^UnVLcE;Eni-;E)h4*9lvJ   '*ۢvulvQD"4疝 sNyive S*US7S@FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(h!P1Gz Q2[u*D"4疝 sNyivAȠԲ*۩VƊ'V([tQ?M04@h6Tʛ;< ؏\qh= ~Gxk_/=wVG'-WڎŬ!uQl呡ձ̃j:OlZ!H:ͩm %*mp8qv=#ͩm eM8[ ^ԶcD ! j;ͩmƄ6p8-EږPh4d7u  2R(VƊ&Uc$XV(VH[(ʵlvQD[dD;+X-# .EnWXEr<2‘ZQ4F =fA؊ȵnDz=c[Q"S{SwE/ձE/DN+B$ 3[Y`d*ۢ@xЈph0xhCCAahҭ(ʶ4Q"HsVK(KG/יTn$_2(@6UE/VƊ'H9<MK(?4_Dȵ l*eJE+sNyi ?9nÆ>nyfdoj;oȵnG# 2յ׹[3aOavֿ,+-~w56OΎ; ȷr-_׼V>?r<&~?1nwAk`>A["4疝 ӞZ]h` JNǑ[sNni-.u4'*vq\V?7#$0p劣 i1z=,-־9"d/}??{_\V?7#`,, A.m 7o6솟[ Q`ACADTA"ZgEn|"r5z<[  $ p0ƚ<ڎŬ!?4_6%~TAav=#ܾl#[ ^}j;[ߎ ᰎ`C|:'tȣ6Sku;G>͠n n(8@ qX-=ElpsG|#=o;>G| ܋V@X![>av 0ƚY![}ݷ[ݯ6ll*msa=o3+T4+ ܋Vt`A_7k?:83[QPX  Ό֏* ljv<ӞZv&OsNyiv`$`DLDPH8`DD i;u-=o3A@"T6OlC >'AcUD:}C8כ^iQ?ΟA?>&U"4疝 v Y9o8(Obם*ۢv8PLpx!VOSc$\y<MN[sKMK(MnJR4疗aʶU;Eni-;S7SRb`d*۩sNyivE|n[(sVӰA5;}ni-.u<9PB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm7,DTqv=#P'*7, hS*nq 5 G? ?OπcQyoAyGpxWFԲcҦTו[UE*DǑ[sND;tœ'kΕmD;t8`pD$"(mD;u:;(EǑ[sN< Բd*۩sNyiv #*۩VƊ$\y<MN[sKMK(KG/יTno9n[H *۩VƊ$\y<MN[sKO2E4zȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuMK(<`hl7t -t`A?8=Twydh@1oϧ:yс>ùۿOΎ; ܋VBԲD%L4|,1o00?>GqgOt!hvGpxWږP,`04P:TʛuJe[(+sNyi (nXS-yҭ(nAcD CVOSc$\y<MN[sKMK(MnJR4疗a FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(h!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6ږPxS*n@1oϧAqX܏  &8H8 ٧xMAqX܏ &&"$ w4{wa?={j܏uPkLv-a l=o~;C i3b>9ohl$ *eM?9fdy' j;3< ~{j;P'*7,X`h8t7uVmDʶ4Q3VӰA4Q?k"- Z[tQ?    CD"!*ۢvulvQD"4疝 sNyive S*US7S@FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(h!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6ږPxS*n@1oϧAqX܏ &&"$ ٧xMAqX܏  &8H8 w4{wa?={j܏uPkL؏N[[(a5{j;$ *eM?9fdy' j;3< ~tVG'-W_JEQ  2R(VƊ&v<ӞZv&'۠-dV=^tn'ۡ8ph4P42UE좉;Eni-;S7SRhTno9nʶU;Eni-;S7SRb`d*۩sNyivEʶU;Eni-;S7S̃Ao-!ie #cr(ʙRlhEǑ[sN< P[HZjYB(k`TʕmԫcEVeO(nS{R 4@*eM?:"~Pj?OϏ؊m  6_[ ߧȵn4+?9Z>[C@hSh&06~[B`H8SkO ;oEܾ9ye FJSwA$֎Z haA5v-y\5[@J]G*=wGVGZ7,4<'*eMIT4+-؎T![}?9sk5.m$v#z"չ>\HG}l, 7Ghv#6C׹aٟqOj>[Oʛ\}yshiV>?r>[@GeMEw6^r{Q+#CM!&;*m}?9skf|6T3˛IȵnO6ȵnZ|4+-n6sk_~[KsMp`A l X_vl,zΝv", 7Ghh%M+Žk_OovE ~ {RJSwC΂z$Ў-΁ܿЯ*Tn&U"4疝 v Y9o8(Obם*ۢv@Dph8"r(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*eM?<j7~nG @ `/QAG?#a?aǯr-[G΀O/~Wk׭ {R 2^@'呠p8ib(Ƿ,+K(0(*eMyU[tQ2Ly<MO@搋$ VOBC J[Q"cȭ9`jvӞZ]jYBmp2Tʕm< X FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*eM?4Q?J? H .?H`P#L߆k`d3[qv jyk+AqX@yVHTDulvQDv4Q"vЩe 0>A*eJE(44"(&8D<`D`(40@pD0phtn$_HcE,\'Rb`d*ۢA -$ mDUcE/o8Eni-;R>2-C[JR(;u:;*v<ӞZv&OsNyiv`p"ᣀDOۡǵ?4_.z 3߁" @~?y_Aq֘Aˏ0;,?: 3߁" @~?yfv?Zkr7O ?>5 = #+̀5܋Vّ}r-[fGᣆ u!+#C΃p7HP~{|qwo#"s#0pB ?=h8V[kՅqAqX܏ 8"(&8׫0(Pho3<  T0 8hx* F$ dk󾟜+;:0(P@~o?H:͡P8* F$ dk󾟝faP ~tgD~ 6BA!yQT4' fs [^ם׫0pho3<  T0 &'DRОāB9̃m{^wb>׫0pho3<  T0 $$* F$ dk󾟜W_C@`( ?O΃p7#X ʶ5;Eni-;S< 4@pOۡkMio0;xf bA|/߁" @~?|B@GmyOyk7dV-ףyf`W}o?8WmԫcR[*ۢcE/DVӰA5,D2TʕmD;tQ"6꛺(ձDE;(O¨dOtXiQ?ΟCP5#׭Z}OtOlhgcȭ9`hEaN[ صJ"0H@FUE좉;Eni-;S7SRhTno9nG`2lhEǑ[sN< Բشr-y*eJvӞZ]h!E*۩VƊ$\y<MN[sKO2E4zȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuMK(<`hl7t8\V?7#C i~{fD̈́xL3<  |:3a^Y~| jڏp.M~s!(Aם ~Gz]f?[_k_؏¸u\sG/W+o2\ZA9}O΂4@pD8PLpx,`WږP,`04P:Tʛ+ʭ*ۢlhgcȭ9`hEaN[ صJ *ۢvulvQD"4疝 sNyive S*US7S@FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(h!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6ږPxS*nqG~nG[?>5 =_O΃p7HP߰]=qYh="^_ԲcҦTЄ^UnVLcE;Eni-;E+ rpPů:UEA1 (nVeH+sNyi 4疗aP@ 2[u;}ni-.u4FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(h!.+FTʕmԫcE.v<ӞZv&o9n"ZBRC[ҦTn[(Z;(mD;u6ږPxS*nqG~nGnD{_~}މ# =?: xpB=Aٝ܊6HP$R 5B9}h# 0k"srG`?#͠5B9}h!^>TA,WOfGEPx 呡ڏ002~vr(G5z??#r1G`?#@{2=km~_k?9skh ;3aH:͡PCPA1!0 8hx 0@(&8D?˛CA ADY~{[p7HPb gGn_iOj=?9GԲcҦT/ Yoj<~?0;ّGB9}h!^!^UnVLcE;Eni-;E+ rpPů:UExhCCAҭ(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4^]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲBނeLVJ4Q"cȭ9`jvӞZ]yr(--5,*eJUUc'VOSne  2z xAW>D~̏zN#۽"Xbi ?Zh3<  ;3a_OΎEwy޷#衆4ǢB9 A1E7,X`h8t7t!W[UE*DǑ[sND;tœ'kΕmD;t&0Hhh8@FUE좉;Eni-;S7SRhTno9n +n[(sVӰA5;}ni-.u5,,v-^fJR4疗adQl ln[(sVӰA5;}ni-.u<9PB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm7,DTڏAqX܏?bHPّX {wQkaxi~tgD~fx+?8Ewy|xG#aٝ0ƚܿHG>~97EBԲcҦTЄ^UnVLcE;Eni-;E)h4##' fJ F @Dn'۩ձE.v<ӞZv&o9n&7%LVN[sKM`]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm7,DTڏGb@!A;HP{r+^bٜ/E;Ays}7z-;A!o0 7,X`h8t7t!W[UE*DǑ[sND;t Z XāB9*ۢv`(4"8hn'۩ձE.v<ӞZv&o9n&7%LVN[sKM #WqVJ4Q"cȭ9`jvӞZ]jYBXZ9} 2[u;}ni-.u4Ȣ?AVJ4Q"cȭ9`jvӞZ]yr(--5,bȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuMK(<`hl7t8ؐ3HG9~G /[^bٜ/E;Ays}7z#Vg Զ!*mydhqؐ3HG8(44"4"|76tmy׫ A.mb9l;8phWؐ3HG8(44"0 DQF[y|G/[^+˛Bkv#zl`?A!\Ob@!xЈ(LڏB0"=XWږP,`04P:Tʛ+ʭ*ۢlhgcȭ9`h-p$A{in'ۡP1[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]h`G`2lhEǑ[sN< Բشr-y*eJvӞZ]h!ElhEǑ[sN< P[HZjYC!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6ږPxS*nqG fs [^[$Aw#z{3^uPh9ztb> j̈́zȅydhq b> j̃mrO9̈́xLVM/Ay8PLpx!{3ǭյ}~tVGa\q\V?7#ƈ A9=ouu9rxMb =Ũ^Y!Y~x! 搎h^w5` ^wHPߢgBGx;Aȵn =G"ջdx 8`p0DH<G "cAB!~&0Hhh8@Dp呡+n$Avgi/Oϫcs7,|l#gsG:i@`Pr}V["4疝 ӞZ]h  8NUЄ5`z9"?: x‚B^URJlvTn$_HcE/o[sNԲ\V=S*UE,\D۪ngVgd#yMLh> >'AcUD:}C8כ^iQ?ΟA?>&U"4疝 v Y9o8(Obם*ۢv8PLpx!VOSc$\y<MN[sKMK(MnJR4疗aʶU;Eni-;S7SRb`d*۩sNyivE|n[(sVӰA5;}ni-.u<9PB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm7,DTڏAqX܏E 1~w̏Oav?;_m" tb> j䃪\ H0A1 ?6BChpX_F?6BCx 4@pD8PLpx,g/dk?>5-pfv?:83[57G1hWږP,`04P:Tʛ~{VAڏA(W{QoGߧ0;ّGB9}h?<ȯa*Tn&U"4疝 v Y9o8(Obם*ۢv<4p!`|n'۩ձE.v<ӞZv&o9n&7%LVN[sKMWqVJ4Q"cȭ9`jvӞZ]jYBXZ9} 2[u;}ni-.u4Ȣ?AVJ4Q"cȭ9`jvӞZ]yr(--5,Єw~nES*URH+sNyi 4疗ad yi MK+ʙRlhj좉UE۪ojYADeLǵA lcr=xLty܉|:A¼Gǯr-[fE~ᘏD~ftqfydhq GGk"EnG}O΂8`p4ߧ{?A ֏DڏG7" w}?;?ԲcҦTЄ^UnVLcE;Eni-;E+ rpPů:UExhCCAÄe[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]hʶU;Eni-;S7SRb`d*۩sNyivEʶU;Eni-;S7S̃Ao-!ie #cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*eM=k`.+}#gh~HAւ?O={j@{2(7 |  ;37,+#C?Z?;_+wj=~tB!\iOj=cr=9o ty܉oZ?D~r!~yeEåL?R(VƊ&v<ӞZv&'۠-dV=^tn'ۡ1CCA !VOSc$\y<MN[sKMK(MnJR4疗a/`2lhEǑ[sN< Բشr-y*eJvӞZ]h!ElhEǑ[sN< P[HZjYCGAqX܊2Tn[(sVӰA5;}ni-.u<9W2[u*D*ձEn'۩TR(VƊ&v<ӞZv&'۠-dV=^tn'ۡ1CCA#e[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]hʶU;Eni-;S7SRb`d*۩sNyivEʶU;Eni-;S7S̃Ao-!ie #cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*eM=k`.+}#gh~HAւ?OΎEwyȣo37HP߰Ύ; ܰ,?;h~Hݨb/W\V?7# C¸~z {Qr@O?Z?;_+wj=޴~-aC# {RJSwB~yU[tQ2Ly<MO@搋$ VOBC J[Q"cȭ9`jvӞZ]jYBmp2Tʕm< X FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*eM s޷aāB9̃mz ~l# X6tmyݯ6l䃪\QYU 1_.m(BƷ|8D0~"ϸon:x10hʈ:~sx a ڏG78 &q?"j8~tv$ {*Tn&U"4疝 v dn'ۡPxxҭ(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4 +n[(sVӰA5;}ni-.u5,,v-^fJR4疗adQl ln[(sVӰA5;}ni-.u<9PB:bȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuMK(<`hl7t8lv{j(9b?;}?: 1~5zj&?:83["ȵa^UnVLcE*ձE,_uOn$_HZ;(EʭQ2|hڕ~.? 85Ǚ2‘ZQ4F =fCNGq`=qXz ǢʷhEͺ$_c$_󱢉VK(HfS*UE/nAA1!!HD *ۢcE/D;} hTشr-y*eJEC"` e[tQ"lhDN+C[sNԲOLPᒦTn$_P e[tQ"lhE;(;|ӞZv&JR(bn$XSwE:;;!ȖBhgcE8U iQ?ΟB >'pƼDz|OtiQ2Ly<MO@ZȬ)yB{VOA‚cC ʶ[Q"cȭ9`jvӞZ]jYBmp2Tʕm< FURH+sNyi 4疗aP;_E3%LVN[sKM2(@[u*D"4疝 sNyivAȠԲBނeLVJ4Q"cȭ9`jvӞZ]yr(--5,*eJUUc'VOSnU[tQ2Ly<MO@ZȬ)yB{VO@c !ҭ(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4+n[(sVӰA5;}ni-.u5,,v-^fJR4疗adQl ln[(sVӰA5;}ni-.u<9PB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm*Tn&U"4疝 v Y9o8(Obם*ۢv4 4Lhn'۩ձE.v<ӞZv&o9n&7%LVN[sKM #*۩VƊ$\y<MN[sKMK(KG/יTno9n[H *۩VƊ$\y<MN[sKO2E4zȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuJ*ۢlhgcȭ9`hEaN[ صJ  CDHh"(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4^]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲBނeLVJ4Q"cȭ9`jvӞZ]yr(--5,*eJUUc'VOSnU[tQ2Ly<MO@$ VOA‚cC Aae[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]h7`2lhEǑ[sN< Բشr-y*eJvӞZ]h!ElhEǑ[sN< P[HZjYC!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6[UE*DǑ[sND;tœ'kΕmD;t(&8D<`D@P<0H""(:UE좉;Eni-;S7SRhTno9nG`2lhEǑ[sN< Բشr-y*eJvӞZ]h!ElhEǑ[sN< P[HZjYC!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6[UE*DǑ[sND;t Z iOb@!mD;t$0pn'۩ձE.v<ӞZv&o9n&7%LVN[sKM`]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm*Tn&Uj좉/U'UE/VƊ$_[Q"V(>4Q?J? HMJD`!8F d"iCD0:~{lȇ!8Fǣ\V=UE.m77tQ"[Q"H*YB@ 5vJR(;t  $F8<4LLDr(ʶ4Q"HsVK(KG/יTn$_2(@6UE/VƊ'H9<MK(?4_Dȵ l*eJE+sNyi ?9nÆ>nk{Qy?vsa` G`?"Z( Q 7ڏǙT7/Of?b}[(&@ +#Cl󹐼G9B/ rdhrE}xA0Y 9|Qj='/#@#E#}yp9|:EiyǙT5ljv<ӞZv&OsNyiv4<*vŹ3["0H"pxh_,1GZ5/ Ћo|[~Y-Bp>YB:ם呯~&B+#^U+sNyi ?9nZ}N#l#[םy?vv5Ǚ?<4av=#0;=hG l+#CiYg^ofseM~s# =p{Y1kx2*۩VƥZ;*UE/VƊ$_󱢉ȭ9`jYH.+d*ۢ.vEm7tQ3ci&&v4Q?ΟCPVE *> k̈́G[ʴ(OVE*DǑ[sND;tœ'kΕmD;t(&8D<`n'۩ձE.v<ӞZv&o9n&7%LVN[sKM]e[u*D"4疝 sNyive chZ02Tʕm< C"` >URH+sNyi 4疗ad yi MK(h!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6[UE*DǑ[sND;tœ'kΕmD;t &8Hh(Ppp 0*ۢvulvQD"4疝 sNyive S*US7SA}ʶU;Eni-;S7SRb`d*۩sNyivEʶU;Eni-;S7S̃Ao-!ie #cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nRuJe[(+sNyi (nXS-yҭ(ncBDƈJ[Q"cȭ9`jvӞZ]jYBmp2Tʕm< _`2lhEǑ[sN< Բشr-y*eJvӞZ]h!ElhEǑ[sN< P[HZjYCGAqX܊2Tn[(sVӰA5;}ni-.u<9W2[u*D*ձEn'۩TR(VƊ&v<ӞZv&'۠-dV=^tn'۠xh[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]hn]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲBނeLVJ4Q"cȭ9`jvӞZ]yr(--5,*eJUUc'VOSnU[tQ2Ly<MO@ZȬ)yB{VOBaa hh 4DBUE좉;Eni-;S7SRhTno9n +n[(sVӰA5;}ni-.u5,,v-^fJR4疗adQl ln[(sVӰA5;}ni-.u<9PB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm*Tn&U"4疝 vް@āB9*ۢv8PLpx ,4pln'۩ձE.v<ӞZv&o9n&7%LVN[sKM@FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nRuJe[(+sNyi (nXS-yҭ(n  DEJ[Q"cȭ9`jvӞZ]jYBmp2Tʕm< FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nRuJe[(+sNyi (nKA!H#(nmD;u:;(EǑ[sN< Բd*۩sNyiv +n[(sVӰA5;}ni-.u5,,v-^fJR4疗adQl ln[(sVӰA5;}ni-.u<9P1Gz Q2[u*D"4疝 sNyivAȠԲ*۩VƊ'V([tQ?MVmDʶ4Q3VӰA4Q?k"- Z[tQ? ($ " *ۢvulvQD"4疝 sNyive S*US7SA}ʶU;Eni-;S7SRb`d*۩sNyivE|n[(sVӰA5;}ni-.u<9P1Gz Q2[u*D"4疝 sNyivAȠԲ*۩VƊ'V([tQ?MVmDʶ4Q2[Q"*QDʶE*DUc$\E'Ɗ'ݩ_zitԩtF ay؂D'VTM0(hA52~8;NzDnDuMMHVeHcE/o8 P0; >'AcUD:}C8כ^iQ?ΟA?>&U"4疝 v Y9o8(Obם*ۢv8PLpx!VOSc$\y<MN[sKMK(MnJR4疗aʶU;Eni-;S7SRb`d*۩sNyivE|n[(sVӰA5;}ni-.u<9PB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm*Tn&U"4疝 v Y9o8(Obם*ۢv@`Ab`"$ mD;u:;(EǑ[sN< Բd*۩sNyiv@wmԫcE.v<ӞZv&o9n%ţkS*US7SA -$ mԫcE.v<ӞZv&o9n"ZBR=Gz Q2[u*D"4疝 sNyivAȠԲ*۩VƊ'V([tQ?MVmDʶ4Q3VӰA4Q?k"- Z[tQ?D DH*ۢvulvQD"4疝 sNyive S*US7S@v #*۩VƊ$\y<MN[sKMK(KG/יTno9n[H *۩VƊ$\y<MN[sKO2E4zȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuJ*ۢlhgcȭ9`hEaN[ صJ  xh[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]hn]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲBނeLVJ4Q"cȭ9`jvӞZ]yr(--5,*eJUUc'VOSnU[tQ2Ly<MO@搋$ VOBC J[Q"cȭ9`jvӞZ]jYBmp2Tʕm< X FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nRuJe[(V(b[[tQ"lhE*ձE.UnEԯc R|Z(1  4=fA5xG`?"^ E#`c.+*ݢ6ڛ(έ(Ɗ$_|qZ, `wy?;%LVHƄC 0"ln$_HcE,\'Rb`d*ۢA -$ mDUcE/o8Eni-;R>2-C[JR(;t@(mDUhE+sNyi R Ǣ*eJE(buMLo"ZA OT2UD:},~J(O¨ga>':UDʶ4Q3VӰA4Q?k"- Z[tQ? $ #*ۢvulvQD"4疝 sNyive S*US7S@#WqVJ4Q"cȭ9`jvӞZ]jYBXZ9} 2[u;}ni-.u4Ȣ?AOmԫcE.v<ӞZv&o9n"ZBR=Gz Q2[u*D"4疝 sNyivAȠԲ*۩VƊ'V([tQ?MVmDʶ4Q3VӰA4Q?cB/ؐ3HG%[tQ? ($!*ۢvulvQD"4疝 sNyive S*US7SA`/WqVJ4Q"cȭ9`jvӞZ]jYBXZ9} 2[u;}ni-.u4Ȣ?AVJ4Q"cȭ9`jvӞZ]yr(--5,bȣ*eJU;Eni-;S7S̃Ao-!ieyS*URO[Q?ʶuJ*ۢlheZ;(EUnmDUVeHU&OOR<MJD`!8F d"iCD0:~{lȂٸD'=qXz ǢʷhEͺ$_c$_󱢉VK(HfS*UE/nAA1! ჆A mDUhE*YBXZ9} 2[tQ"v!E(ʶ4Q?hE'ȭ9`jYA&Ek`S*UE/n((ʶ4Q"HEni-;RAqXC%LVHsE,_n[KH!4Q3t*J(OVE8U ^l"=z>UD:}@x~ʴ(VƊ&v<ӞZv&'۠-dV=^tn'۠A1!e[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]hv #*۩VƊ$\y<MN[sKMK(KG/יTno9n[H 򭺕lhEǑ[sN< P[HZjYCGAqX܊2Tn[(sVӰA5;}ni-.u<9W2[u*D*ձEn'۩TR(VƊ&v<ӞZv&'۠RlsHE{in'ۡ!%[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]h, #*۩VƊ$\y<MN[sKMK(KG/יTno9n[H *۩VƊ$\y<MN[sKO2E0 BނeLVJ4Q"cȭ9`jvӞZ]yr(--5,*eJUUc'VOSnU[tQ2LVeHʭQ?(ʶ4Q"j좉*QDwjWޱZGR6٨-Bp EhD`t3[ <È#栴Q 6\V=(sn좉hE'Rpa|,2TʕmD۠Ph k̈́G[ʴ(OVE*DǑ[sND;tœ'kΕmD;t(&8D<`n'۩ձE.v<ӞZv&o9n&7%LVN[sKM]e[u*D"4疝 sNyive chZ02Tʕm< C"` >URH+sNyi 4疗ad yi MK(h!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6[UE*DǑ[sND;t Z iOb@!mD;t$0pn'۩ձE.v<ӞZv&o9n&7%LVN[sKM`]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm*Tn&U"4疝 vA:cUEИ‚cD2(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4`FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(h!P1Gz Q2[u*D"4疝 sNyivAȠԲ*۩VƊ'V([tQ?MVmDʶ4Q2[Q"*QDʶE*DUc$\E'Ɗ'ݩ_ziK0m#?2‘ZQ4F =fC?c.+*ݢ6ڛ(έ(Ɗ$_|qZ, `wy?;%LVHƄC 2UE/VƊ$_󱢉.vЩe chZ02TʕmD۠EʶE*D󱢉V"4疝 e %LVH[;Eni-;S< 0P@8pp"U7O{QOs#7 ~5=}Za.<Bkzl#7 ~5G|ſ9 :6āB8gsh`(4<4Lp/* F$ dk󾟜z܏ 0 7 ~5A.m 3ʈ:=4s ΆEx 0 ߧAfx$Ash`(4p;ʈ:=4sDG~`~o?H:͡Ppph"TA, H#?V׵}?;b 4"7 ~5A.m  QT4' fs [^ם؏ 4"7 ~5~㯌 fqP1Qr@Oρ" @~?{fGQi~^8TBmG>D~̏E 1/OkqڏZ(yVƧcȭ9`jt4疗aFi;t! i1z=i/O΂$0pWFƠ= G`?#/ ?b=z[!O$A3x(Ph#ּ [4+ 7 ~5¸>-~DG`?#@{2= r̄c^w57"l,+ʶUVʕmDUhE+sNyi R Ǣ*eJE(buMLo"ZA OT2UD:},~J(O¨ga>':UDʶ4Q3VӰA4Q?k"- Z[tQ? $ #*ۢvulvQD"4疝 sNyive S*US7S@#WqVJ4Q"cȭ9`jvӞZ]jYBXZ9} 2[u;}ni-.u4Ȣ?AOmԫcE.v<ӞZv&o9n"ZBR=Gz Q2[u*D"4疝 sNyivAȠԲ*۩VƊ'V([tQ?M04@h6Tʛ{Q.+}# =~y ~| j>}̎/r¼4 a~| jڏ28?;fGdn_k~yZ<&=~| jcrsh3~Pn_Z>dWuK#A=ٻGB9}hydh4!kk"sWOϱ[7#av=#ڏ27/<?9skhaAfx$A~c+ܰ$R(Ph(p^\ 4<` "͡PCQx "^ojY@@pS*nP?{^wAyȡܾ|ȯa*Tn&U"4疝 vxāB9*ۢvH`A! VOSc$\y<MN[sKMK(MnJR4疗a }ʶU;Eni-;S7SRb`d*۩sNyivEʶU;Eni-;S7S̃Ao-!ie w~nES*URH+sNyi 4疗ad yi MK+ʙRlhj좉UE۪ojYADeL@XPh0   2 uJe[(+sNyi (nKA #b{in'ۡP0p9VOSc$\y<MN[sKMK(MnJR4疗a^]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲB w~nES*URH+sNyi 4疗ad yi MK+ʙRlhj좉UE۪ojYADeLǵāB9̃mz=nw?_׼ſ9_ ^w_qQ.;oشsA!^ojY@@pS*nB*Tn&U"4疝 v =4rUE(Phtn'۩ձE.v<ӞZv&o9n&7%LVN[sKMFURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(h!P1Gz Q2[u*D"4疝 sNyivAȠԲ*۩VƊ'V([tQ?M04@h6Tʛ{QH#?Vף| j_׼ſ9_ ^w_qQ.;oشs  2 uJe[(+sNyi (nKA D$ VOCAmD;u:;(EǑ[sN< Բd*۩sNyivHv #*۩VƊ$\y<MN[sKMK(KG/יTno9n[H *۩VƊ$\y<MN[sKO2E4z`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*eM=v$ dks5Yȶzyfs#ܾA - k\wkձhձB呩mCrT fpPhy~~sۑ\L_΀M; f"䃪\  0Kʈ:=4sw#z ?: 3߁" @~?|uKCAdhOb@!A;"l- $7n j䃪\ 0dhOb@!A;>߸j<8ߧAfx$Ash`(4"8huK#B{i2յyOlz ?: 3߁" @~?|uKCAa~TA, H#?V׵}?:+v#z ?: 3߁" @~?|48}#ƈֿ3OOkqֈ< >灿OΎāB8׽qocA9a^Y~tgD~+=o;/ߧZFEG`?#`A1!@~ztqv+٘=m~b>׫ ΂4@pD8PLpx,g20~s9#+k7.-F NǑ[sNni-.u4'*vBZbz=q~_kcr@Oav=#ڏ27/>F8}s[~+;:¼n[jVH[(Ɗ$_"4疝 e z!Tn$Xۢ/TDέF%(D:}C%Z}OЂOt*q6l*><~?eZ}LcE;Eni-;E+ rpPů:UEpB2(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4;wmԫcE.v<ӞZv&o9n%ţkS*US7SA -$VJ4Q"cȭ9`jvӞZ]yr(--5,Єw~nES*URH+sNyi 4疗ad yi MK+ʙRlhj좉UE۪ojYADeLǵL^?Oّ7 ~G0?Aٜ¼ԲD%L?? [7㈡kH0;ztqv+٘=m~b>׫ ΂4@pD8PLpx,g20~sA^XAqj0xW2\Z  2 uJe[(+sNyi (nXS-yҭ(nҭ(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4FURH+sNyi 4疗aP;_E3%LVN[sKM2(@6URH+sNyi 4疗ad yi MK(h!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6ږPxS*nqG~nG<&~i;u͌?>oD܌r;i>YwG>笎vf?[_k';_#呡?: yGrykq֏\sB9a\qGŽy[~CEyZ?O΄p`AEn!=r¼ԲcҦT/ Yoj<(Ž;Wu=ds1z[_~PnXW[UE*DǑ[sND;tœ'kΕmD;t4@pD8PLpx,dn'۩ձE.v<ӞZv&o9n&7%LVN[sKM;wmԫcE.v<ӞZv&o9n%ţkS*US7SA -$ mԫcE.v<ӞZv&o9n"ZBR=Gz Q2[u*D"4疝 sNyivAȠԲPt*۩VƊ'V([tQ?M04@h6Tʛ{Q.+>?ح蛑_0;ّAqX܏"0H@GEtn j䃪\C^ƿr(G7/av>\F3~Pn_Z?||^ƿr(G7/2+Gʈ:׊iȡܾx B47{Q m;>܊^~bnF9|{fG=m~ߧ6tmy~o?aٜdWW[UE*DǑ[sND;t Z iOb@!mD;t$0pn'۩ձE.v<ӞZv&o9n&7%LVN[sKM`]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm7,DPp,gGp(44"$0p08w8 ?[UE*DǑ[sND;t Z XāB9*ۢv`(4"8hn'۩ձE.v<ӞZv&o9n&7%LVN[sKM #WqVJ4Q"cȭ9`jvӞZ]jYBXZ9} 2[u;}ni-.u4Ȣ?AVJ4Q"cȭ9`jvӞZ]yr(--5,ЄuC!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6ږPxS*nqG fs [^[$At ^_׼ſ9_ ^w_qQ.;oشsA!^YЄ7%M,?8(44"4"ؐ3HG=~s`@&םz$R:/[^;8phWؐ3HG8(44"0 DQF[y|G/[^+˛Bkv#zl`?A!\Ob@!xЈ(LڏB0"=XWږP,`04P:Tʛ+ʭ*ۢlhgcȭ9`h-p$A{in'ۡP1[tQ?N(sVӰA5;}ni-.u5,6*eJvӞZ]h`G`2lhEǑ[sN< Բشr-y*eJvӞZ]h!ElhEǑ[sN< P[HZjYCGB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm7,DTڏGb@!A;HP=hG|G3>-̎/rZ(478+?=WڏAq}VţVg {RJSwB~yU[tQ2Ly<MO@Ў=4rUE(Phh8`n'۩ձE.v<ӞZv&o9n&7%LVN[sKM/`2lhEǑ[sN< Բشr-y*eJvӞZ]h!ElhEǑ[sN< P[HZjYCGB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm7,DTڏGb@!A;HPފ݈^bٜ/E;Ays}7lZ9lvqЯ7,X`h8t7t!W[UE*DǑ[sND;t Z HāB9*ۢv`(4p:UE좉;Eni-;S7SRhTno9n v #*۩VƊ$\y<MN[sKMK(KG/יTno9n[H *۩VƊ$\y<MN[sKO2E4z`#cr(ʙRlhEǑ[sN< P[HZjY^TʕmԫcEVeO(nS{R 4@*eM=v$ dks5f^bٜ/E;Ays}7lZ9lvqP {RJSwB~yU[tQ2Ly<MO@Ў{in'ۡPCJ[Q"cȭ9`jvӞZ]jYBmp2Tʕm< $;wmԫcE.v<ӞZv&o9n%ţkS*US7SA -$ mԫcE.v<ӞZv&o9n"ZBR=GT0 BނeLVJ4Q"cȭ9`jvӞZ]yr(--5,*eJUUc'VOSne  2z;i2յD~_׼ſ9_ ^w_qQ.;olZ9lvqPydj[Bܕ648H# Ob=טO{r+^;8(PBāB9AP%ڏB0"?OjA*eJE(44"(&8D<`Dh10ʶE*Dv4Q"|qZ,,v-^fJR(;tȢ?AVH[(v4Q"vVӰA5,~"5xd*ۢ@YVH[(Ɗ$_"4疝 e z!Tn$Xۢ/TDέF%(D:}C%Z}OЂOt*q6l*><~?eZ}LcE;Eni-;E+ rpPů:UEpB2(nVeH+sNyi 4疗aP@ 2[u;}ni-.u4;wmԫcE.v<ӞZv&o9n%ţkS*US7SA -$VJ4Q"cȭ9`jvӞZ]yr(--5,Єw~nES*URH+sNyi 4疗ad yi MK+ʙRlhj좉UE۪UnVLcE;Eni-;E+ rpPů:UE<4LLDr(nVeH+sNyi 4疗aP@ 2[u;}ni-.u47`2lhEǑ[sN< Բشr-y*eJvӞZ]h!ElhEǑ[sN< P[HZjYC!.+FTʕmԫcE.v<ӞZv&o9n"ZBRTn[(Z;(mD;u6[UE*DǑ[sND;t Z iOb@!mD;t$0pn'۩ձE.v<ӞZv&o9n&7%LVN[sKM`]e[u*D"4疝 sNyive chZ02Tʕm< C"` e[u*D"4疝 sNyivAȠԲB;\V?7"*۩VƊ$\y<MN[sKO2ELVJ4Q?ʵlvQD*ۢvm*Tn&Uj좉/U'UE/VƊ$_[Q"V(>4Q2LcH% SAP Business Object CustomerBillingDoc

    SAP Business Object CustomerBillingDoc (BUS2037)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CustomerBillingDoc
    

    The business object Customer billing document contains the breakdown of the payment due as a result of a business transaction.
    A customer related billing document (customer billing document) is differentiated in itemized customer billing document and customer billing document list. A Customer billing document list groups together several itemized customer billing documents that are to be settled collectively by a payer.
    The itemized customer billing document takes the form of an invoice, a debit memo, a credit memo, a pro forma invoice, or the cancellation of a billing document.
    A customer billing document must always relate to a preceding business transaction. It is the basis for preparation of the notification, addressed to the customer, concerning the payment due.
    An invoice, a debit memo, or a credit memo is represented, in accounting terms, by the debtor invoice.


    Keys
    Type Name Size Released since
    java.lang.String BILLINGDOCUMENT 10 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESOUTBOUND 78 bytes Version 30A
    Bus2019Table ACCRECEIVABLEDOC ??? (see below) Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    CustomerBillingDoc ()


    CustomerBillingDoc (com.ibm.sap.bapi.ObjectId objectId)
    CustomerBillingDoc (java.lang.String BILLINGDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

     kD%$756$u./usr/IBMVJava/html/enterp/en_US/sap/samples/customercontract.htmlln.h$$ SAP Business Object CustomerContract

    SAP Business Object CustomerContract (BUS2034)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CustomerContract
    

    The business object Customer contract is a &IM16005& on the purchase of &IM16066& in a certain period, whereby only the total quantity and/or the total value of the &IM16066& to be purchased, but not delivery dates and delivery quantities, are agreed.
    Delivery quantities of Customer contracts are called of in customer orders.


    Keys
    Type Name Size Released since
    java.lang.String SALESDOCUMENT 10 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    VbapTable ITEMS ??? (see below) Version 30A
    Kna1Structure ORDERINGPARTY ??? (see below) Version 30A
    java.util.Date DOCUMENTDATE 8 bytes Version 30A
    Bus2033Structure CUSTOMERCOMPLORDER ??? (see below) Version 30C
    Bus1020Table SERVICINGPLAN ??? (see below) Version 30C
    Bus2088Table SERVICEORDER ??? (see below) Version 30C
    Bus2080Table SERVICENOTIFICATION ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    CustomerContract ()


    CustomerContract (com.ibm.sap.bapi.ObjectId objectId)
    CustomerContract (java.lang.String SALESDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    R( k$ 756$ ./usr/IBMVJava/html/enterp/en_US/sap/samples/customerdelivery.htmlln.h$$ SAP Business Object CustomerDelivery

    SAP Business Object CustomerDelivery (LIKP)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CustomerDelivery
    

    The business object Customer delivery contains the information that is required for shipping.
    A customer delivery is a combination of sales materials that are delivered together. It is the basis for the organization of the shipping activities within the enterprise.
    The customer delivery represents the shipping of the material and/or the rendering of services as well as the return of materials by a customer.


    Keys
    Type Name Size Released since
    java.lang.String DELIVERY 10 bytes Version 21A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESOUTBOUND 78 bytes Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    CustomerDelivery ()


    CustomerDelivery (com.ibm.sap.bapi.ObjectId objectId)
    CustomerDelivery (java.lang.String DELIVERY)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    SALESD kr$/ 756$/ ./usr/IBMVJava/html/enterp/en_US/sap/samples/customerinquiry.htmlln.h$$ SAP Business Object CustomerInquiry

    SAP Business Object CustomerInquiry (BUS2030)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CustomerInquiry
    

    The business object Customer inquiry contains an inquiry, made by a customer, concerning sales material, conditions, and if necessary, delivery dates. At the same time, a customer inquiry is the request, addressed to a sales organization, to submit a customer quotation.


    Keys
    Type Name Size Released since
    java.lang.String SALESDOCUMENT 10 bytes Version 21A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    VbapTable ITEMS ??? (see below) Version 30A
    Kna1Structure ORDERINGPARTY ??? (see below) Version 30A
    java.util.Date DOCUMENTDATE 8 bytes Version 30A
    Bus2031Table CUSTOMERQUOTATION ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    CustomerInquiry ()


    CustomerInquiry (com.ibm.sap.bapi.ObjectId objectId)
    CustomerInquiry (java.lang.String SALESDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    " lꤼ$p756$F./usr/IBMVJava/html/enterp/en_US/sap/samples/customerorder.html$$  t <>d "/=abeilnorcgps ERSTfhmv.23:ACDINO_uy01BFGLMPUVwz()?HYjx%,-458#679XJq+;KWZk|!"<(FR@2 )JߴG)Nq<1.fdQa'-" !H4bhG=iqN?QGZC 0-, E&Ah(kM&N+pD1)@( 8(  QAA&A`LD85"A/i X`KXcGD8UUUUUU5[`pD1)jq,AFM؃f`.jMW~ IөO];Sm2|Wd)"[:>sLYRl,ie(o'NJt\]tjD(;@ڔuMM.BtɼOk>.(#igqFM8dvͧƻ8&C|:u)m2nyTuRuLq$7:JzZjSL {lE:1kHZhBŸ֐2ikH4~+HAΚYRpp$A(c"tm*mھj饕(JkH@=UZB9m:ܵ}Aȭ a'Z_?y"rۃuj=UZ@ '-5s vѯN7-_qyU~tʔ%5 El "XH7ĻWA $ j=U8+m Wh(j=U{Wc`AAﱰu@n%!ic |KZ@ɦz tAȭ "q:ieJaHprqTiӈ=)mھj饕(JkH@=UZB9m:ܵ}Aȭ a'Z_?y"rۃuj=UZ@ '-5s vѯN7-_qyU~tʔ%5 E] u W/i"DÁÇ 0hpсQH(.yS+Qd@-A0 O6z]F6E t}<ڌ#{&"h Z)wt>.ĄIJ4l|V&hM"kYO6Fm5 DlBCC 08LH<&ʵy6Ai19|2.+LC8h0 jrZ F!Ӏ@֮G/U/Ή.+OiyqZ`8   &8H48`1 H&ʵ}WZe ^xF'-c&FZq.{c`lN =U8F'/2.+LC-9ZiyqZ`8ھqwDAita5)_d\V8N3_(XjF'/2.+LC-5s vѯN 7-_r :pFWܵy. <0q*P4Ei N[p`dM3mMWܵy. <0q*P4Ei N[rMWܵyUjl=U W/aZj AL&2%|K}XA`_ܾ؃:&<>F'/2.+LC-9ZiyqZ`8SE{}W Ή.+OLˊn t]kS-MWܿ<0qfQ8Vj]6Ai19iyqZ`4Ti,Oь ;fڛj]6Ai19iyqZ`4TiZj;zWA^-[ }=6Ai18_0ǚEy+M֯_Dlj CFm_q}~tMyqZ|N_d\V8N[ps. 7-_r :pھqwDAita5)_d\V8N3_(Xj&c`WA 4L8 & "8} W/v Ή.+OLˊnxE_d\V8N*+mZ~tMyqZ|N_d\V8N[pk_jnZAit=5Vj]6Ai19iyqZ`4Ti#%>Y6wt͵7-_r8lˊbr :h@)9mʵ7-_r=Uv V_ܽZj={lˊbqa(Plj=U!ACGm_q}~tMyqZ|N_d\V8N[ps. 7-_r :p54WWܵy. <0qA5F%82ܵ}Lˊ{k _r8lˊbr :h@)9mFJ}C%?F2l$jnZqwDAitR2+HRrەjnZzWc`A_q{ l2{W DUpPD ֯_0hp$8LhM W/v Ή.+OLˊnxE_d\V8NھqwDAita5)_d\V8N3_(XjF'/2.+LC 1ZBܫSr-^xZbUj=Ueaڼ:&<>F'z :zCC  A`ᖯ_ܾ؃:&<>F'/2.+LC-9ZiyqZ`8颽ھqwDAita5)_d\V8N3_(XjF'/2.+LC 1ZBܫSr-^xZbUj=Ueaڼ:&<>F'z|Gu W& <`0p W/v Ή.+OLˊnxE_d\V8Nphqj]6Ai19iyqZ`9mk|Jpej!ӀL4ZqwDAitR2+HRrۂfJ~dI6ܵ}W Ή.+OLˊ颥LdV*ܵ}W V؃ZUrje F'/2.+LC 1ZB$d0 2Sc&NZ~tMyqZ|N_d\V8M(c"'-VZv6zV-_qyjl8uV UUUVy.;qv Fx_lӖ`pD1)@)R$k D(:QhF.+Q(o'LJzM!9vY66dH a/wquW;quW8QBl3-4@H(2Z)Z   $4<`0G}]UquW8w f[pk_jnZ.=5VyUUU~x&( 1܌ƕ7(Z} F!Ӏpp!X&&BS#B@hyQSs;AȡBN4&]D%OdI67W"Ӣ.fuF&0h04<`1Ec'ֳRoev6!C j<d)Ntu?k;(]Hhxb Ё ]O$m2n,RllhVBHPNtu(ybg|Z|kq$4<`0H(pр BCC  hHhxaP0hhb@dv& (&ӣE )ƚ@RT\AȡBN+!Jsɺ.FVȡBNk@)B@ & S#ȺݏS"1tͧĜM@)7QbqI$ $& < 8#AB`ѣ&b+N3kgLPuMJ}Or.F 0VS]Ll^TI:M-ĝmJ5Ⱥu2;L&|jD)+!J)];i!)g|Ov6! &$Ujlˊbrd\V8N p`42ʵy6Ai19|2.+LC\_ܫW_d\V# :p<4Lp8hpb@1MjF'/2.+LC 1ZB$dM3mMWܵy. <0q*P4Ei N[rMWܵyUjl=U W/aZj Ac`;P)7ZUp G6_ܾ؃:&<>F'/2.+LC-9ZiyqZ`8SE{}W Ή.+OLˊn t]kS-MWܿ<0qfQ8*-^x:&<>F'/2.+LC 1ZB)1a'wLSr-^x:&<>F'/2.+LC 1ZBܫSr-^xZbUj=Ueaڼ:&<>F'zN# u W#j=Ul8lˊbr :rۃpej!Ӂ@ *+mZ~tMyqZ|N_d\V8N[pk_jnZAit=5Vj]6Ai19iyqZ`4Ti,Oь ;fڛj]6Ai19iyqZ`4TiZj;zWA^-[ }=6Ai18_M0dK j=Uă#_q}~tMyqZ|N_d\V8N[ps. 7-_r :pjF'/2.+LC 1ZB)1a'wLSr-^x:&<>F'/2.+LC 1ZBܫSr-^xZbUj=Ueaڼ:&<>F'ze (W_q8H&F'/2.+LC-5s vѯN 7-_r :pFWܵy. <0q*P4Ei N[p`dM3mMWܵy. <0q*P4Ei N[rMWܵyUjl=U W/aZj Ac|M֯_0hp$8L@DpWA_c`Aߝd\V#!Ӗ-MWܿ<0q U4WWܵy. <0qA5F%82ܵ}Lˊ{k _r8lˊbr :h@)9mFJ}C%?F2l$jnZqwDAitR2+HRrەjnZzWc`A_q{ l2{W DUpP:zCC  CFھUrb. <0q\jnZAit jhqj]6Ai19iyqZ`9mk|Jpej!ӀL4ZqwDAitR2+HRrۂfJ~dI6ܵ}W Ή.+OLˊ颥LdV*ܵ}W V؃ZUrje F'/2.+LC 1ZB$d0 2Sc&NZ~tMyqZ|N_d\V8M(c"'-VZv6zV-_qy~tMyqZ|N W 1 du W& -_q}~tMyqZ|N_d\V8N[ps. 7-_r :p(,E{}W Ή.+OLˊn t]kS-MWܿ<0qfQ8*-^x:&<>F'/2.+LC 1ZB$d0 2Sc&NZ~tMyqZ|N_d\V8M(c"'-VZv6zV-_qy~tMyqZ|N W 1$c`WA 4L@x`1WA_c`Aߝd\V#!Ӗ-MWܿ<0q t^m_r8lˊbr :rۃ]0mSr/2.+LCh, }W Ή.+OLˊ颥LdV ) ̔ɰmjF'/2.+LC-9ZiyqZ`8^m_r8lˊbr :rۃ]0mSr/2.+LCh, }W Ή.+OLˊ颥LdV ) ̔ɰmjF'/2.+LC-9ZiyqZ`8 j k*hȧk] %ֺ&ѽPEdS W_d\V# :p`G/U/Ή.+OiyqZ`8jrZ F!Ӏp@cCm\_ܫWܵy嫱vZ.8]UUlˊbrۆ2l$hej8wqba=6z t~x_#Lua'ZAꯑ:"BS$FU|H'GڹA^xߝd\V#=U)Dov_ 8z;qwDAit<"Sr/2.+LCjhqj]6Ai19iyqZ`9mk|Jpej!ӀL4 }W Ή.+OLˊ颥LdV )1a'wLSr-^x:&<>F'/2.+LC 1ZBܫSr-^xZbUj=Ueaڼ:&<>F'zN# u W#j=Ul8lˊbr :rۃpej!Ӂ@ *+mZ~tMyqZ|N_d\V8N[pk_jnZAit=5Vj]6Ai19iyqZ`4Ti,Oь ;fڛj]6Ai19iyqZ`4TiZj;zWA^-[ }=6Ai18_0Ǜqlj=UGD_q}~tMyqZ|N_d\V8N[ps. 7-_r :p( ^m_r8lˊbr :rۃ]0mSr/2.+LCh, }W Ή.+OLˊ颥LdV ) ̔ɰmjn(P"NDP]:&Q ;t$ br.dmJe/QoeɰCAc  <@HD&]F+Qkn7wm4V1F'/Ait Ac-\_ܫW_d\V# :p:ʵy6Ai19|2.+LC D  &$ ڹVjWc`}]UquW8D dHSrqb ^/w{lMZ@GW#=U8"Nr8_#LuDI򍫑"Nr8ڼ:&<>F'zS & a#_qF'/2.+LC 1ZBܫSr-^xZbUj=Ueaڼ:&<>F'zS $S!}xp80Dxxhcĭ_q}~tMyqZ|N_d\V8N[ps. 7-_r :pE{}W Ή.+OLˊn t]kS-MWܿ<0qfQ8*-^x:&<>F'/2.+LC 1ZB$dM3mMWܵy. <0q*P4Ei N[rMWܵyUjl=U W/aZj AL&2%|K}04xWA_c`Aߝd\V#!Ӗ-MWܿ<0qhqj]6Ai19iyqZ`9mk|Jpej!ӀL4ZqwDAitR2+HRrۂɰmjF'/2.+LC 1ZBܫSr-^xZbUj=Ueaڼ:&<>F'zS & a#_q840pPhm_q}~tMyqZ|N_d\V8N[ps. 7-_r :pE{}W Ή.+OLˊn t]kS-MWܿ<0qfQ8*-^x:&<>F'/2.+LC 1ZB$dM3mMWܵy. <0q*P4Ei N[rMWܵyUjl=U W/aZj Ac)8+M֯_0x8h W/v Ή.+OLˊnxE_d\V8Nhqj]6Ai19iyqZ`9mk|Jpej!ӀL4ZqwDAitR2+HRrۃ%?F2l$jnZqwDAitR2+HRrەjnZzWc`A_q{ l2{W DUp)h6}XbCC j=Ul8lˊbr :rۃpej!Ӂ``M6-^x:&<>F'/2.+LC-5s vѯN 7-_r :pFWܵy. <0q*P4Ei N[p@P,Oь ;fڛj]6Ai19iyqZ`4TiZj;zWA^-[ }=v ZUUUZ.8Wc`Aڶfb}B3u-i M@SZM6SMiEi`=K*P֐C=LdVmmھj饕(JkH@8Fھ.A5F%:h, j=UzT)!/N Ac}]k|Ju3_(X6zW WM,BSZB_ܜA 04xWA9hħP=5m_qyU~tʔ%5 E]F DAB h8hWA9hħP=5m_qyU~tʔ%5 E]F 04x($4>qwa5)t|A``WA^x_4 Mirqp408  }]k|Ju3_(X6zW ؃٘f #7ZBBT%Ų$y$dwZJ{ӖEѳ)i PHJIDF z d!4 ֐8RrAFbjlW{QJ) ̔ kT$' 756$' ./usr/IBMVJava/html/enterp/en_US/sap/samples/customerquotation.htmln.h$$ SAP Business Object CustomerQuotation

    SAP Business Object CustomerQuotation (BUS2031)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CustomerQuotation
    

    The business object Customer quotation contains an offer made by a sales organization to a customer for the delivery of materials and/or the rendering of services according to fixed conditions. A customer quotation can relate to an inquiry of a customer.


    Keys
    Type Name Size Released since
    java.lang.String SALESDOCUMENT 10 bytes Version 21A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    VbapTable ITEMS ??? (see below) Version 30A
    Kna1Structure ORDERINGPARTY ??? (see below) Version 30A
    java.util.Date DOCUMENTDATE 8 bytes Version 30A
    Bus2032Table CUSTOMERORDER ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    CustomerQuotation ()


    CustomerQuotation (com.ibm.sap.bapi.ObjectId objectId)
    CustomerQuotation (java.lang.String SALESDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

     kd{$756$./usr/IBMVJava/html/enterp/en_US/sap/samples/custoutlineagreement.htmlh$$ SAP Business Object CustOutlineAgreement

    SAP Business Object CustOutlineAgreement (BUS2051)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CustOutlineAgreement
    

    The business object Customer outline agreement contains long-term agreements with a customer such as a contract and a scheduling agreement. A customer outline agreement is an agreement between the enterprise, which is represented by a sales and distribution area, and a customer on the delivery of materials or the rendering of services according to fixed conditions. The conditions can be valid for the entire customer outline agreement or only for individual items. To a customer outline agreement can be assigned business partners, employees and customer employees, whereby it is determined via the partner role what role they assume in the business transaction. The customer outline agreement can take the form of a customer contract or a customer scheduling agreement. Whereas the contract is fulfilled through customer orders and does not have any schedule lines, divisions according to time are characteristic for the scheduling agreement. The scheduling agreement is fulfilled through customer deliveries.


    Keys
    Type Name Size Released since
    java.lang.String SALESDOCUMENT 10 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    VbapTable ITEMS ??? (see below) Version 30A
    Kna1Structure ORDERINGPARTY ??? (see below) Version 30A
    java.util.Date DOCUMENTDATE 8 bytes Version 30A
    Bus2033Structure CUSTOMERCOMPLORDER ??? (see below) Version 30C
    Bus1020Table SERVICINGPLAN ??? (see below) Version 30C
    Bus2088Table SERVICEORDER ??? (see below) Version 30C
    Bus2080Table SERVICENOTIFICATION ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    CustOutlineAgreement ()


    CustOutlineAgreement (com.ibm.sap.bapi.ObjectId objectId)
    CustOutlineAgreement (java.lang.String SALESDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    an k$-756$-./usr/IBMVJava/html/enterp/en_US/sap/samples/custschedulagreement.htmlh$$ SAP Business Object CustSchedulAgreement

    SAP Business Object CustSchedulAgreement (BUS2035)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- CustSchedulAgreement
    

    The business object Customer scheduling agreement is a &IM16005& that specifies the points in time at which, and the quantities in which, &IM16006&s are to be delivered.
    A &IM16205& has several items.


    Keys
    Type Name Size Released since
    java.lang.String SALESDOCUMENT 10 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A
    VbapTable ITEMS ??? (see below) Version 30A
    Kna1Structure ORDERINGPARTY ??? (see below) Version 30A
    java.util.Date DOCUMENTDATE 8 bytes Version 30A
    Bus2033Structure CUSTOMERCOMPLORDER ??? (see below) Version 30C
    Bus1020Table SERVICINGPLAN ??? (see below) Version 30C
    Bus2088Table SERVICEORDER ??? (see below) Version 30C
    Bus2080Table SERVICENOTIFICATION ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    CustSchedulAgreement ()


    CustSchedulAgreement (com.ibm.sap.bapi.ObjectId objectId)
    CustSchedulAgreement (java.lang.String SALESDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    < l꒖$k756$;C./usr/IBMVJava/html/enterp/en_US/sap/samples/debitsaccount.html$$   t "<>d /abeilnor =cgpsEfhmv.02:ACIORSTuy13BDFMNV_jw5HLPUYz%(),-478Gx#9?KXk6+;|!'JWqsEM"))߲7tBҖ>sVc/PAX *&16As:ohh:b2?#x % TMg% 9Ra4  PhE3|n@p?xA>8ߌS[ɯ+yPKDZ?q A`p(] 7/nf _S[ɯ+/-Ә3ZIk-+Oܿ4N`Xeb~r/G-ׁTi-x"1FdּZWeNio&Ț>AB?r9#k*sKy4 %AƘAud#ECm+OܴE92ʜM9=IPq)]e&ҼO 6~3rie AG-ׁ<%ya"^-yvĄm?q}Ks1"dzMxYeNio&ׂMXi^Z~9sz8TWOܴE92ʜM9=eX(lהJ/-Ә3[ (]Z|q"dzMxYeNio&8h.ׁ㌄|s;"myiAȿ4^V_S[ɧ0g*4< WifԷ3yOAo^-:=92Pv$OAo(0&.yԷ3r/G-ׁTi-x$5_S[ɧ0gr^m?r9#k*sKy4 cYk^S-+Oܿ4N`XdMl visKy5ee9szLSɠ^2b쉶Z|q"dzMxYeNio&8h.דi^Z~yORAm?qz{O #kfACLTT96ҼO _S[ɯ+/-Ә3ԕbMZm+Oܴ3i[<ͧ 7/]vZ~idzMxXƂP<,MKs-?qE Z~3rbE92ʜM9=e2Ҽ*sKy4 p+6->8~2=Nio& 4N`Yk95&02Ҽ*sKy4 D iAȿ4^V_S[ɧ0g*4< x!`4GɊ3&WisKy5ee9szLSɠ^MyiAm=Ks1fӮOA>8zbA6v 33363iORAȴfTCMZUݒ֧)3[8@pI0&# PtP{WlŷQPShqbƀkOz{3}Ks1"fq"ff^ä(`CEJr&foC@x(X$AB?q"f<D##k^gXiQixeyi937/nf_S[ɯ+/9szX !`ecZly]|9d`=gdEl\|dΞ5Sϊj͞5^B,$F-f<1Q(Qʌ(oFTQPx־U%2=M|c hƳgs%8&CE.X ,&LP?OY%96[8֔6x XvH`Ia2׏JaJ5G0t Ҩu gqL|rdzMxY|l-Ә3 ``rm>9~2=Nio& 6TihisKy5ee4N`X Db !,D8X<@8~2=Nio& 4N`RTiy4Ykɴ-?r<ͧnf 6ܽvZui={sKy5eb3p rXH^] 7!1`OAo_RAȿ4^V_S[ɧ0g@ZWeNio&+6->8~2=Nio& 4N`Yk95&02Ҽ*sKy4 DiAȿ4^V_S[ɧ0g*4< x!&**ți^Z~r/G-ׁTiJ1O&-y6Z|q-fyN-?q~2=Nio& Ao=A" +y1`X2yԷ3r/G-ׁTi-x$5_S[ɧ0gr^m?r9#k*sKy4 cYk^S-+Oܿ4N`XdMl visKy5ee9szLSɠ^2b쉶Z|q"dzMxYeNio&8h.דi^Z~yORAm?qz{O #kfAC)R-?q f-sKy5ee9sz^ 4 `eyiTi\WOܴE92ʜM9=eX(lהJ/-Ә3[ (]Z|q"dzMxYeNio&8h.ׁ㌄|s;"myiAȿ4^V_S[ɧ0g*4< WifԷ3yOAo^-:=92 Q8^%(W-?q",L ~3rbE92ʜM9=e2Ҽ*sKy4 `8\WOܴE92ʜM9=eX(lהJ/-Ә3[ (]Z|q"dzMxYeNio&8h.ׂigdM-?r9#k*sKy4 %AƘAuJ->8zb3i8zb3i8~2=Nio& 4N`Yk95&02Ҽ*sKy4 D iAȿ4^V_S[ɧ0g*4< x!&**ți^Z~r/G-ׁTiJ1O&-y6Z|q-fyN-?q~2=Nio& Ao=A" +y1`1 OAo_RAȿ4^V_S[ɧ0g@ZWeNio&{ O _S[ɯ+/-Ә3ZEbfɭyL -?rʜM9=`95|~r/G-ׁTiJ1O&-x8GɊ3&WisKy5ee9szLSɠ^MyiAm=Ks1fӮOA>8ߌS[ɯ+yPKDZ?q   f-sKy5ee9sz^ 4 `eyiTi^m?r9#k*sKy4 cYk^S-+Oܿ4N`XdMl visKy5ee9szLSɠ^2b쉶Z|q"dzMxYeNio&8h.ׂvuyiAm=Ks1fӮOA>8ߌS[ɯ+yسE^"qHy"m 7/nf _S[ɯ+/-Ә3ZIk-+Oܿ4N`X{ O _S[ɯ+/-Ә3ZEbfɭyL -?rʜM9=`95|~r/G-ׁTiJ1O&-x,1QPvDJ->8~2=Nio& 4N`RTiy4Ykɴ-?r<ͧnf 6ܽvZui={sKy5eb3p @5-̴f &,%i<[9#k*sKy4 hJ/-Ә3€XTWOܴE92ʜM9=eX(lהJ/-Ә3[ (]Z|q"dzMxYeNio&8h.ׁ㌄zE!&**ți^Z~r/G-ׁTiJ1O&-y6Z|q-fyN-?qi[9Lu؃~Dͧr&m=Ks1"Ӯy-Ra48YiVvKgZd&($8zb3i8~2=Nio& 4N`Yk95&02Ҽ*sKy4 D iAȿ4^V_S[ɧ0g*4< d#ECm+OܴE92ʜM9=IPq)]e&ҼO 6~3rie AG-ׁ -EqE9jrS$&($9~2=Nio& 6Ti0h0 Exܿ64^V_*sKy4 @x4LJɴ92S[ɧ0gb"`@x",H Av7/MZ|rԷ3-?q"f97937G-ׁ1QPC-+OA"A7JdI=b~8b23|nT97ypLTH{B#xAoO={sKy5eb3p rXH^] 7Ph4  f-sKy5ee9sz^ 4 `eyiTiLWOܴE92ʜM9=eX(lהJ/-Ә3[ MZ|q"dzMxYeNio&8h.ׁ㌄|s;"myiAȿ4^V_S[ɧ0g*4< WifԷ3yOAo^-:=92PO,$Ků.yX0X 7/nf _S[ɯ+/-Ә3ZIk-+Oܿ4N`X iAȿ4^V_S[ɧ0g͓Zi^Z~9szs"k`O _S[ɯ+/-Ә3ԕbMZ8zb3i8~2=Nio& 4N`RTiy4Ykɴ-?r<ͧnf 6ܽvZui={sKy5eb3pqHKP)Z~3pDX" f-sKy5ee9sz^ 4 `eyiTipXaisKy5ee9sz^Q5)_S[ɧ0g2&@POܴE92ʜM9=IPq)]e!&**ți^Z~r/G-ׁTiJ1O&-y6Z|q-fyN-?qi[9Lu؃~Dͧr&m=Ks1"Ӯy-Ra48%;u]S  5FaA!# »`*{ Ta+d8SYZiCdY+S-6u eqTQPτ樮>JXBdLk$PFG(VTa+ƲV)2vH񬌨k˟ 4:Kc:\-<64^V_*sKy4 4"3|n@p?xA>8ߌS[ɯ+yPKDZ?q CAĀ~3rbE92ʜM9=e2Ҽ*sKy4 yXaisKy5ee9sz^Q5)_S[ɧ0g2&@POܴE92ʜM9=IPq)]e1QPvDJ->8~2=Nio& 4N`RTiy4Yk;`:ҼO 6~3rie AG-ׁ<%ya"^-yvA08@.yԷ3r/G-ׁTi-x$5_S[ɧ0g2^m?r9#k*sKy4 cYk^S-+Oܿ4N`XdMl 86isKy5ee9szLSɠ^2b쉶Z|q"dzMxYeNio&8h.דi^Z~yORAm?qz{O #kfAC8~2=Nio& 4N`RTiy4YkB>LTT96ҼO _S[ɯ+/-Ә3ԕbMZm+Oܴ3i[<ͧ 7/]vZ~idzMxX(zE;\ We 7X i<[9#k*sKy4 hJ/-Ә3XaisKy5ee9sz^Q5)_S[ɧ0g2&@POܴE92ʜM9=IPq)]e1QPvDJ->8~2=Nio& 4N`RTiy4Ykɴ-?r<ͧnf 6ܽvZui={sKy5eb3p rXH^] 7bAbVܾ~2=Nio& 4N`Yk& -?rʜM9=`V+mZ|q"dzMxYeNio&ׂ,sk6Mk`eyiTỉ.->8~2=Nio& 4N`RTiy4YkB>LTT96ҼO _S[ɯ+/-Ә3ԕbMZ@=N-?r<ͧnf 6ܽvZui={sKy5eb3pqHKP)Z~3pDX" f-sKy5ee9sz^ 4 `eyiTipXaisKy5ee9sz^Q5)_S[ɧ0g2&@POܴE92ʜM9=IPq)]e!&**ți^Z~r/G-ׁTiJ1O&-y6Z|q-fyN-?q~2=Nio& AoTcAA@(ROAo(0C~3rbE92ʜM9=e2Ҽ*sKy4 { O _S[ɯ+/-Ә3ZEbfɭyL -?rʜM9=`95|~r/G-ׁTiJ1O&-x8GX 2b쉶Z|q"dzMxYeNio&8h.דi^Z~yORAm?qz{O Dͧ]<ͧ L|q"fԷ3r-:Alq1SזM*Jci), \#4xhp XߌD X,8:Tiy4XX?i^ |qAbM ߓ{@=nf f ==FŃ inajpH:%EAɱ( HHJZ9EԼqF ѕ+u&@h`=H,<d.ҬA&bi\4W{H9؃4 lΔ$ i756$IB./usr/IBMVJava/html/enterp/en_US/sap/samples/debtor.htmlt.html$$   t<> "/abdeilnor =cgpsfhmuv.02:CEIORSTw13ABDFNPUV_y()5?HLMWjxz%,-GYk#4679XK&8|!+;Jq'-\&c6̃P$)g RC8ZCC]ע%"h(G9cLM= w^G`~5q+c<`zPG(`&z2z;Aɺp5cİ+ lT=BYLY X S1)m7ZC'h=b8ƛ5}Oc:S<ܼ 9 £$7/M9;<<\s]t)]1)-tЬ]lN [ZJA):4ŔJBә)% W% D^y(Jd]@Ri`pLS-vJ *PH&} a) eu)Jj¯oJ@pX9c]Jeһmڻp@txS.h>ۅ^0pX_JeһmyyT)QMWm.% %һmڻl Rmڻl6h>aL8 v+zW[ AA뭐v)Ёk_H%8BHZs%6d*pA0 Lpp4A(bJ@ 6,ҙh=+zWYRJEF?6]U H`XM,P&cLWmWn{xRD2S.h>ۅ^0pXRtA*D2ĝ,7S.h=+}0 LrmڻlR@o`麕h>b ‚ Jj 0 kHTvvE5]Jj,BS%"ܛA40,(AԮA aB"@*WmWm@S\BB5+}.p$,JjWWaeJ)v,q`Evv< $DTA#َ@jWmWm]3_(HX*h>ԯ;A<ʔ%2R*1ɴjXCpEvv< $px(bA#َ@jWmWm]3_(HX*h>ԯ;A<ʔ%2R*1ɴjXC (AԮA a@(@"$)]]FMs ԮAfQU+}^v^y(JdTch>`Ƃp@Rmڻl $(pvv5t$*Rmڻl"GBé]Jj,BS%"ܛA4dJj`x,@PL"vv5t$*Rmڻl"GBé]J:z2};=Br; ovk5srpRh=u:1mkY)@SY) NdL^0"m<ʔ%2RAhprmTi)&zen$iLh=+zW[ A%-(-7J])tAdڿ^ƸBn9S)R 5f1f<(Ek `⸃@jWJN}kKJ Mҗ`3xV=aP\K |KX0tAdڿ^ƸFK4)j bxPw`⸃p RjWm2v_/Ec\J@ A R޾R 5f1f<(Ek Ż3X ԯڕh= WKXiR|9D1!F((@HYAҌ\W|b gPAƛ\4SattF:r6;Ajѐe,HW|4tJeһm#m`xH  !q1@pp}+r6yFh9Wnf.bNk|Jpm)JfQ@vFԯ;Aj faˉ)17L-dJCiLWmmvuSbn̸<8_MBAp( 2<,tJp4t7;yb8F;tC72v tݗ*MvytrֿQ\1CP 7 []n£:{v(qC]F&˃ˉ) q]^w^xzJ|MS h@HP  B А8J.oRntAJ^vyFWn<#t1sXCiLWm]F]5[ M)&zj,P&c\eW`u+j,P&cEcW(ҸA2ä4k\e;A\\IOj5cİ?7ĺWmWm`P8]]]l"Ĕܸ<8_M,M{iLWmn\\IL/0'm+^v^xzJ|Mn\\IL/$9fħҙtۮܸ<8_M]3_(H һnh9燮.$vĔqR.$17LJkm)JWW<#uۗS J2)JWRZ+}鰺SatA^vמ<#h>`jǬ* aB~otADAۮAփ^xzJ|Mn\\IL/&=]+..$`qۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t|!`WmҼ"Ĕܸ<8_N*P4Ĕ& 4O5wtͥ2]JSbnrJ`}8@R^2]JjW[ Avv6Jl.h=+zSbmڻl7qӈ麕h>bA u+}뭐uW<#uۗS epm)J˃ˉ)`6t;Aȯ<=pyq%>F&..$tt\kSiLWmn\\IL/.p$]JSbnrJ`}8@RXxdƻfҙtۥyEyˉ)17]pyq%0pTi) M/Rtۥy+uRmڻn 6Jh=+u)mڕh9R#jW[ Aȥ6tq)Mҗc.%Śh!F((@HYAҌ\W|b gÆ.%Śhz汦54h9]75ur6ڻtd+5t`h(.MҙtAjX( DAH(100DHJ^vyAۣ!Y˦X_Jeһm#m.p$,>h9Rmr6ڻtd+5.$2qnk*o3Q 2]u:\\IO2J`}6 A(@PRˮp+QdvtV8P|xŚhwcCЭ^w^xzJ|MS `(>]vޥyyˉ)17\f\\IL/p+[nL{C3q7 6M\4q |(d_cCO< |\1ء t՛=7)+S'b !!SwǛɣR|b9qt`Mc2vP|z#757>;v{6jdMn\ݍ򛛟01:>kd`x@L mJSbn̸<8_MBBHxHLD $&Wuzt;uWmmJr6ڻpĔYƚJeһm 6魴fJmtH!6םWb3J-ڸ,k\eWb3".SFZq!]J-y^xzJ|MWm.% %һmڻl RmڻnZEyˉ)17]pyq%0pXҙtۮܸ<8_M}һnh9燮.$vĔnbNk|Jpm)J˃ˉ)E5JWW<#uۗS J2)b汮]+^v^xzJ|Mn\\IL/(bJCtԦ]+^vJdh>ԮAۦMһmy^xzJ|MWm.% %һmڻl100DHJjdh9燮.$vĔnboJeһnrJ`}6LqۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t|!aۥyEyˉ)17]pyq%0pTi) M,@i.kJeһnh9燮.$vĔqR.$17LJeһnh>ԮAփJjl.]+zW燮.$v XP]+}100DHJjdh9燮.$vĔnboJeһnrJ`}6LqۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t|!aۥyEyˉ)17]pyq%0pTi) M,@i.kJeһnh9燮.$vĔqR.$17LJeһnh>ԮAփJjl.]+zW燮.$v XP]+}!B e+}뭐uW<#uۗS epm)J˃ˉ) 3}һnh9燮.$vĔnbNk|Jpm)J˃ˉ)E5һnh9燮.$vĔqR.$17LJkm)JWW<#uۗS J2)JWRZ+}鰺SatA^vמ<#h>`DMԮA ]]]l"Ĕܸ<8_M,M{iLWmn\\IL/pqۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t|!aۥyEyˉ)17]pyq%0pTi) M,<2Sc]3iLWmҼ"Ĕܸ<8_N*P4Ĕ&闩LWmҼڕ:}]]Mқ vJ:rڔZmJ^v+uR Adڿ^Ƹ Mҗc8b4VSnJУV`TŔ $,F.+QJ1q]3aP 1f+)icM_E6MMmm]l#j f]2ā:%w8 GA]+r6ڻl A p0x(LL Rm#jWm^vEvVk2$9fħҙtAjk vFԯ;Aj faˉ)17L-dJCiLWmmvuSbn̸<8_MBAp( 2<,tJp4t7/8!1f+)yf;14+jWמ<#ueĔl<@X< q]^w^xzJ|MS $@('J.lrp;^.ÌcDG GA; o3~(c:;P|z#757>;v(qC]<5fOMJm ؇HT/ban1h;ivNoODp:y[qVotTЭL v1f+)F&..$txS.uۗS @^`OWmҼ"Ĕܸ<8_M,IrsqN 2]]pyq%0pfQ@]JSbnrJ`}8@RX%?\56˥v+r+\\IO˃ˉ)L\IHbnz˥v+}]lڕh>t])Wm;A\\IOj5cİ?7ĺWmWmBb``2h>u:r+\\IO˃ˉ)26˥vvĔl>i]JSbnrJ`}7L'A5ƾ%86˥vvĔl"GB]JSbnrJ`}8@RX%?\56˥v+r+\\IO˃ˉ)L\IHbnz˥v+}]lڕh>t])Wm;A\\IOjZ|N"~cWmWmԮAۮAփ^xzJ|Mn\\IL/&=]+..$a8f`OWmҼ"Ĕܸ<8_M,IrsqN 2]]pyq%0pfQWmҼ"Ĕܸ<8_N*P4Ĕ&)b汮]+^v^xzJ|Mn\\IL/(bJCtԦ]+^vJdh>ԮAۦMһmyJdh9mJl-mvFԯ;Aڕ:r)M2v_/Ec\JFSt=},Ee6 5fLYABBbT(\ s<7/Śhz汦54h9]75ur6ڻtd+5t`h(.MҙtAjX( DAA@< zWmmJr f]2ĝ,7S.h9m]t|!aAڕh>m^vۣ!Y=pyq%>F&s\iSym)JۮA^xzJ|MS h@( "B"]vؠǛ]&Ísw*n_v\s;v(qC]<5fOMJm ؇HT/1h;_1إnf8wL8!tpώ鸩MZ;n\݆ώ)\7[ ``X +RĔ3..$`Ѐ$ A!p6]vޥv+]lh9R#j=pyq%>F&b汦ҙtA"m kmAْ]2RMh>XLRA2Wh>XLaƯQq\eHhGҸA^vמ<#h>`jǬ* aB~otADAۮAփ^xzJ|Mn\\IL/&=]+..$`qۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t| 'Rnh9燮.$vĔqR.$17LJkm)JWW<#uۗS J2)JWRZ+}鰺SatA^vמ<#h>`DMԮA ]]]l"Ĕܸ<8_M,M{iLWmn\\IL/pqۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t|!aۥyEyˉ)17]pyq%0pTi) M,<2Sc]3iLWmҼ"Ĕܸ<8_N*P4Ĕ&闩LWmҼڕ:}]]Mқ vJ:rڔZmJ^v+uR Adڿ^Ƹ4)v>Onkip T,!eJ1q]*Q@.9S:1f+)icM_E6MMmm]l#j f]2ā:%w8 GA]+r6ڻl A 0<  xvFԯ;Aڼ ѐe,IrsqN 2]aL8J^vh9m]2Sbn`[75ƕ7(ҙtAjdu燮.$qpyq%0p‚ P ()\em yX(h;5wqqΏO CMۆ+-]^w^xzJ|MS `(>]vޥyyˉ)17\f\\IL/p+[nL{C3q7 6M\4q |(d_cCO< |\1ء t՛=7)+S'b !!SwǛɣR|b9qt`Mc2vP|z#757>;v{6jd>>oqsvksSnA @Vԯ;<=pyq%>F&˃ˉ)4 $(BAa!hH@ q]]JW[ vFԯ;Aڼ#m\\IOei]+rA#jl.A뭐vdLh=yq(1Ԯ2}rƺZq(1B"1i\eWa52zW燮.$v XP]+}A!e+}뭐uW<#uۗS epm)J˃ˉ) /0'm+^v^xzJ|Mn\\IL/$9fħҙtۮܸ<8_M]3_(H ԮۥyEyˉ)17]pyq%0pTi) M,@i.kJeһnh9燮.$vĔqR.$17LJeһnh>ԮAփJjl.]+zW燮.$v-f>n?1qu+}ă@WmWm[ Aȯ<=pyq%>F&..$txS.uۗS 30'm+^v^xzJ|Mn\\IL/$9fħҙtۮܸ<8_M]3_(HX}+^v^xzJ|Mn\\IL/(bJCt1sXwLS.t;Aȯ<=pyq%>F&..$ӊ 1q%!eS.t;AujWmWmat]Ҽu66Rm#jWmJdh9z;A%#@t)v>On-Śh!F((@HYAҌ\W|b g;4YMcM.kh Jr)okm#jdh9WmvVk2$ +Q\: 2]`P<@$  8xH=+r6yFh9Wnf.bNk|Jpm)JfQWmmJm;Ajѐf<#tI4D6˥vFWm[ <=pyq%>F&˃ˉ)4 @J.lPcDG GA[ q|q)_|b4VSn t~)5Yr^w^xzJ|MS `(>]+\\IO2J`}6\em.Sv_g|KXqyX(h8a[o q@'S'|boODp:y[q7k鸩MZ;\ <6Mb;AÌãn55yc՛=7)+S'b}|q)_|n7nn|qN`X( [RĔ3..$`Ѐ$ A!p6]vޥv+]lh9R#j=pyq%>F&b汦ҙtA"m kmAْ]2RMh>XLRA2Wh>XLaƯQq\eHhGҸA^vמ<#h>`jǬ* aB~otADAۮAփ^xzJ|Mn\\IL/&=]+..$`qۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t| 'Rnh9燮.$vĔqR.$17LJkm)JWW<#uۗS J2)JWRZ+}鰺SatA^vמ<#h>`DMԮA ]]]l"Ĕܸ<8_M,M{iLWmn\\IL/pqۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t|!aۥyEyˉ)17]pyq%0pTi) M,<2Sc]3iLWmҼ"Ĕܸ<8_N*P4Ĕ&闩LWmҼڕ:}]]Mқ vJĔAǎ4TޱEvvؘ(P & һmڻnZEyˉ)17]pyq%0pXҙtۮܸ<8_M v+r+\\IO˃ˉ)2ĝ,7S.uۗS 鰋k v+r+\\IO˃ˉ)L\IHbnbL%?\56˥v+r+\\IO˃ˉ)L\IHbnz˥v+}]lڕh>t])Wm;A]l MmԮAڕh9RZE)N}kHMҗcŚh!F((@HYAҌ\W|b g"b4VSh=sXqƚRl.AںZFh9m]2̺eC4tJp&iLWmmv, b"A!p<&&)]+r6;A"td+5tt\kSiLWmmvE5һm#jWmyFWnf0ĔX2MqMw!]+r6ڻn]yˉ)17\f\\IL/pp8 Wubn:%w8l:Ίr{CiB2v |_޸cisw8Zu燮.$qpyq%0ppP\emWמ<#ueĔl  Ҹˮ\4K07p+Qdp9GߊNN;8!tpώoO YqRB2v!B7qyl:.1v)pF4;S'e7k8kZJĔAV=aP\K |Kvv0<("$ vvuSbnrJ`}7L7 2]]pyq%0pv+r+\\IO˃ˉ)2ĝ,7S.uۗS 鰋k :t;Aȯ<=pyq%>F&..$ӊ 1q%!e 2Sc]3iLWmҼ"Ĕܸ<8_N*P4Ĕ&闩LWmҼڕ:}]]Mқ vJĔAV=aP\K |Kvv<&&)]]]l"Ĕܸ<8_M,M{iLWmn\\IL/ 6t;Aȯ<=pyq%>F&..$tt\kSiLWmn\\IL/.p$,>t;Aȯ<=pyq%>F&..$ӊ 1q%!eJkm)JWW<#uۗS J2)JWRZ+}鰺SatA^vמ<#h>`DMԮA ]]]l"Ĕܸ<8_M,M{iLWmn\\IL/pqۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t|!aۥyEyˉ)17]pyq%0pTi) M,<2Sc]3iLWmҼ"Ĕܸ<8_N*P4Ĕ&闩LWmҼڕ:}]]Mқ vJ:rڔZmJ^v+uR Adڿ^ƸT)v>On-ݮ|0 T,!eJ1q]*Q@.9Sw[\4b汦ԯ" r6AփyFWnf.b@ ɣS.h9m] @XHBU+r6yFh9Wnf.bNk|Jpm)JfQWmmJm;Ajѐf<#tI4D6˥vFWm[ <=pyq%>F&˃ˉ)4 @J.lPcDG GA[ rC_^v)p7kj.^d/1q9ˋ@./!.!F&b汦ҙtA"m kmAْ]2RMh>XLRA2Wh>XLaƯQq\eHhGҸA^vמ<#h>`jǬ* aB~otApһmڻnZEyˉ)17]pyq%0pXҙtۮܸ<8_M`OWmҼ"Ĕܸ<8_M,IrsqN 2]]pyq%0pfQWmҼ"Ĕܸ<8_N*P4Ĕ& 4O5wtͥ2]JSbnrJ`}8@R^2]JjW[ Avv6Jl.h=+zSbmڻl XAq,(O.h>`X2h>u:r+\\IO˃ˉ)26˥vvĔl6t;Aȯ<=pyq%>F&..$tt\kSiLWmn\\IL/.p$WmҼ"Ĕܸ<8_N*P4Ĕ& 4O5wtͥ2]JSbnrJ`}8@R^2]JjW[ Avv6Jl.h=+zSbmڻl P'8:nvv0< ("$p BU+}뭐uW<#uۗS epm)J˃ˉ)`6`OWmҼ"Ĕܸ<8_M,IrsqN 2]]pyq%0pfQWmҼ"Ĕܸ<8_N*P4Ĕ&)b汮]+^v^xzJ|Mn\\IL/(bJCtԦ]+^vJdh>ԮAۦMһmy^xzJ|MWmca` 1?1qu+}A 0bA u+}뭐uW<#uۗS epm)J˃ˉ)`6t;Aȯ<=pyq%>F&..$tt\kSiLWmn\\IL/.p$,>t;Aȯ<=pyq%>F&..$ӊ 1q%!eJkm)JWW<#uۗS J2)JWRZ+}鰺SatA^vמ<#h>`@XXQl]]  `p@@PJjdh9燮.$vĔnboJeһnrJ`}6qۥyEyˉ)17]pyq%0pX_JeһnrJ`}6t|!aۥyEyˉ)17]pyq%0pTi) M,@iPxdƻfҙtۥyEyˉ)17]pyq%0pTi) M/Rtۥy+uRmڻn 6Jh=+u)mڕh9R#jW[ Aȥ6FZ]lN [ZJA):4ŔJBә)% W% D^y(Jd]@RA=ҙh=+zWh=vL\IHbm506һmyJdh=h:FZK&d()AAJ\Z3Nn䤩G=7O^6e)V[TK{`L(NdL@$NC8(JARh=)hNzP6Ĕl  k$U756$U./usr/IBMVJava/html/enterp/en_US/sap/samples/document.htmlhtml$$ SAP Business Object Document

    SAP Business Object Document (DRAW)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Document
    

    The business object Document contains documents and describes their composition.
    A document presents information. The information contained in a document relates to documentation objects.
    Information relating to objects of a certain documentation object type can be presented by documents of certain document types (for example, for materials, in the form of technical drawings, among other things; for patients, in the form of medical files, among other things).
    A document can consist of other documents and/or it can itself be a component of a document. For this purpose, documents can be hierarchically superordinate or subordinate to one another.


    Keys
    Type Name Size Released since
    java.lang.String DOCUMENTTYPE 3 bytes Version 30A
    java.lang.String DOCUMENTNUMBER 25 bytes Version 30A
    java.lang.String DOCUMENTVERSION 2 bytes Version 30A
    java.lang.String DOCUMENTPART 3 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESOUTBOUND 78 bytes Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A
    T024lStructure LABORATORY ??? (see below) Version 30B
    DrawTable DOCUMENTVERSIONS ??? (see below) Version 30C
    DrawStructure HIGHERLEVELDOCUMENT ??? (see below) Version 30C
    DrawTable LOWERLEVELDOCUMENTS ??? (see below) Version 30C
    DrawTable DOCUMENTPARTS ??? (see below) Version 30C
    java.lang.String DOCUMENTSTATUS 2 bytes Version 30A
    java.lang.String USER 12 bytes Version 30A
    java.lang.String DESCRIPTION 40 bytes Version 30D

    The size of this attribute must be determined at runtime.

    Methods
    Document ()


    Document (com.ibm.sap.bapi.ObjectId objectId)
    Document (java.lang.String DOCUMENTTYPE,java.lang.String DOCUMENTNUMBER,java.lang.String DOCUMENTVERSION,java.lang.String DOCUMENTPART)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    DMS_OBJECT_LINK_CHK Released since Version 30A
    CHANGED Released since Version 30A
    CREATED Released since Version 30A

    nen lr$756$U./usr/IBMVJava/html/enterp/en_US/sap/samples/employee.htmlhtml$$    <>det"/abilnor =cfgps :ADRhmvy().12CEHINSTu03BFGMOPUVw,58LY_jz'46?JKWXx%-k#79ZQ|+;q! M 4sME("5JCHTzhuTT_zEpzy~ćA؊h*H毐@0I?q`zEsLj0@ ʒ9Y1""@hO6~vGn&*uLh;EQkx5f<<ʕkuE*!,d,aЉ( I/LHp8MTT9f\Z1ijZjEw(k7xyy$ P(GAR,B*HF*PQe$-煃XaY_Y_@[XD-Šб1k7K+2 yy#E*B9E$#E(P EQ`yyj=} 06صGZ E@`_,!,ձ9ݵ瘐By"k1 tB71!ސ1  4YS<:1 E;|9E,ѕ2*UE*eNǰ`DĄH7q4Y_ jYBS*UEoHie ,JR,o[z@ĆP@ܕ2[tY_  5,Z9}ܕ2[tYRW<:1! MW@b,,X%pn+۠h$ b#[tY_me;tȢ?UE/VƋ(_.vЩebS*UE/n[@`UE/VƋ+Pb9%MK(B6-C[2[tYBvulvTy%MNsOyvP~~UnVTcE*ձE,_uWn(_PZ;(ʭYRB4Y_JG IԩtZo%?5GxI" ƅ8=nux Ƞ湨9qYz Ȣ*ݢ6ڛ,έ,Ƌ(_|1Z, y?!bTn(_F@`8 AX,UE@0Dn+۩ձE.vHʛ^ojYCƉL7[$W3 Nn:VmeJ4YSA4Y_$-煉Z[tY_P@@e[tY_N,sA5;}ni1.õ5,62TʕmĻh2lhǒ[{NĻԲhZpd*۩sOyvEmԫcE.vH3w܈ d~ a%}WGh~[67SkK(x X|7t9`ğCpI_vUE$4%[tY_N,sA5;}ni1.õ5,62TʕmĻh'n[,sA5;}ni1.õ5,Z9}*eJvb]jh!E[u*e $4 sOyvȠԲHAqY܊2Tn[,sA5;}ni1.õ<9W2[u*e*ձEn+۩TԲDDrT*yЉ`!-y}!\M!"G!G{G8H^V8vG>v[qx-qq4܉t#w-Y !z[*mye$ 24l_h` 4 9ǟ8h uJ貥[,KsOy ,nŒX[-y,n!,nVePKsOy 4aښP@*eJvb]jh4vFURPKsOy 4aښPv-^n 2[u;}ni1.õ4Ȣ?򭺕lhǒ[{NĻ`P[HjjYB$PwnES*URPKsOy 4aڞl y MK+ʙRlhjUE۪ojY@B"@S*nDGΎ.&#΄~壽#$| hP d~ a%}WGh~[GH}ȑB=G{G8HXЩSkK(x X|7t9`ğCpI_vTʛuzOI8p$㯻~8W[UE*eNǒ[{Ne;t,ܷ'kϕme;t  Ə,nVePKsOy 4aښP@*eJvb]jh072lhǒ[{NĻԲhZpd*۩sOyvEmԫcE.vUE@x)VWSc(\y%MN[{KMK(Mn 2[u;}ni1.õ4OqVJ4YBc-='`jvb]jjYCشr-y2TʕmĻC"` ʶU;Ini1;S;S̓Ao1!e!.+#FTʕmԫcE.vg~^?8wj=޳u/˛@ >1| 4V9|"CkR8M B>kM[i,$^8H @PE@g8U5C:87[bȵa~\`p 8:87[`nGr9 WT4"wG dVsci!aw$ =q{Ic_x^dhoh_ͅH}!+[A{呩uKO(:9ugG_6C;_|W3B9oڏ|7i,}o>+!^ջ&i, uJ貥[,KsOy ,n+A-VWCG *ۢvulvQe $4 sOyve Tno=%vp2lhǒ[{NĻԲhZpd*۩sOyvEmԫcE.vsqݏ?Hp +#RԶ!eM,i=q'zpA>sqݏ?Hp +#RԶ*mydhsM?k& @`w 9ǟ8 +#RԶ)*mydhsM?k& ㆊ 𓛎yC^Y64T曭~׫M pyC+#RԶ@( ySk#Cn\I^40g?uc4呩sj[@$hx9Sk#Cn\I^40g+uc Թ-@HSk#Cn\I^40g?uc4呩sj[@HSk#Cn\I^40g?ucydj\ږDACM,i=q'z8@hsqݏ?Hp 呩sj[BH呡7[$W3 Nn:ydj\ږp4Sk#Cn\I^40g?ucydj\dhsM?k& G𓛎yC¼R,VƋ*v{ʶU;Ini1;S;SRţkTno=%v[@`URPKsOy 4aڞl y MK(D<AqY܊2Tn[,sA5;}ni1.õ<9W2[u*e*ձEn+۩TԲ-¹FTʛWT-px!זF4l_h`$pyC^Y6"$ M,i=q'z8@hsqݏ?Hp呩sj[B`H*mydhsM?k& G𓛎yC@,KR@88NT曭~׫M Ä'7} Թ-0pp呡7[$W3 Nn:呩sj[AC 649`ğCqEI_vT曭~׫M āsqݏ?Hp@WFͩm 4RT曭~׫M  '7}5.mKhhxd呡7[$W3 Nn:呩sj[B"bSk#Cn\I^40g?uc0+#RЈ ^YuzOI8p$㯻~^Y6A+#Cn\I^40g?uc0+#R4x呡7[$W3 Nn:呩shDP曭~׫M Ä'7} Թ4O#Cn\I^40g?uc4+#RԶaM,i=q'z8@hsqݏ?Hp,KR 649`ğCpI_vj[CĥM(Aql̓mz?Hgh_ͅ=o1qokD/ʶUVʕme UhKsOy R Ȣ2Tʕme ;tYB6꛺,ձDĆ&*v4Y_ΐBhdHQe:BG%ZB+(M /:"l*Y_ΐ#Vʕlhc-='`hIadW-sqݏ?Hp +#RԶP<2זF4l_h`8h 9ǟ8呩shhpF4l_h`"$(Nn: ԹHᢁYuzOI8ᢂ|$㯻~@WF͠EAYuzOI80Oucydj\@HpᢞYuzOI8ᢂ|$㯻~@W[UE*eJlvQe E*ۢcE/V,ruTWRDKPmD# 6BZq8б =nyy/nQ6\VE(Jhͺ(_c(_VK(x(;^nXd*ۢ@,<APxx"$"(&&AJ貅*e v4YB|1Z,Z9}*eJ貅C"` ʶ貅*eV$4 e3HB&Ũk`Tn(_Nʝ$4 ni1.õ4  D""THT$E?搅ܜykۭ[_Ahoy|k^jZ(aGX(C9D#j=r_sqx VƧc-='`jt[{KM ʴN1V~#Z3nGhxx..knquWg5a.Ϧ m2>./[0pg/ +ՇA@>$ :nxp<r6ƂXXƂpϦs=6˽!_; h9B ,DO<,hP0@LK <ՇA@1(cIDuy^9ǝerdIP\QIPJ'c0:%@4h$4j(g.WP7"{` )(WWS:)8c P!\s:k%A B,Ȓ:Y TNǔapt"J hH$hRQ:\yTIDA{iD7IDYIDcIDyFB$P*Y4ETBbd)(uQIP *,~Jʩ^Y4HUIT$~Jʩ^Y4HUIT#?kYU+RQ+QyFB$P*YBp-rWP(4LL J:p~Oc(zJ?er'^{J?(D RQ(NvJ:CCX`(&#y^\8㇐vnr1g(Wߎi`+ysLy*7ۚcSv1)^S3sc 6h>,, ?sqq7l sv5rvt">nX#mz{ݖƼSg,ۍtֿ?qqo-q 0Q \G"{`wCxGθ܏  4Lg XˁydOMG9YqFM5p~F p@  Th ϳ0q~3M"& \l~nDg56?7#`\ן!?lx þD0L"!θ܏i9"gnϳ3px}`78j\?~?O{#ni%[SsLy*vP$"&@@P$ :eJ5+)Re%i(i(m1`rJ6W^ƒsm1`ruJU%P;,g=/eTYSTnD*W\ysLy*g4ǒ`W.W6U9U:o4ǒ`UbR6YBf>l"}`YX.<oYy 4bylVy^Є9pye7;^q \l~nG (h( x}6-y[Y/r'FZ:cr>[`OW^ƒsm1`ruJU%P;,g=/eTYSTnD+TcI@6U9U:ni%Nڮ\yT0 :uOReJ4 #ni%[STǝo%A***W^NJ?)(u,uJ)(i(줠Xlu%e%i(le%lu%li(wjo*YͲ􅸫u}2#"8{l˃߅`6aˁnm-[.c\lyWI@cY,e% v4 wR6uIT" $^LA+*zJ( CcFC`A" P`XYI@{J;Jg|#gTB8 Re%u Ȟ?%zJ+Qƒ: Fm1`rJ'43.-;[Jʩ^:ʝ;FJ*MTH0@hp(@,<8L :59"@U^xVAB?MYsO.r3Q3s?#˷̈́(ni*o/;O!;_y^同qGˀ⼸39d#yb8 /r995a.34p?~}d#ymG{~:+˃3B1ǖ+د+9<79d#ybϦ*o/=ٛ9BMx<.#=0sk!덏$  /Ϧe3x6eD(5kO\l~nGsv\q8{@i×Ȟ?]-x:ns6?7#CƍVA@yYr8:V|~qQos-yp8<p?s4_Z s6?7"79dCZY?m?B/okcSm1`rtni%NڪDp("40H 26Y^W^ƥ{e;*W_%%uW^ƒsm1`ruJU%P;,g=/eTYSTnD+TcI@6U9U:ni%Nڮ\yT0 :uOReJ4 #ni%[STǝo%A***W^NJ?)(u,uJ)(i(#ni%[IGlsHE[YIG0`YIG)I@6U9U:ni%NڪI ReNۚcSv@HO(Wp^{JǑ4ǒʩ{sLy*vTB8 ReNۚcSv@@dYR%cۚcVT=<;jpq[PJJ4Gy>VUJ+P.v<89pye7;^q \l~nG (h( x}6-y[Y/r'FZ:cr>[`O+RQ(  "" e%βle%cۚcVT=<;jJ&*VUJ:ni%Nڪw*W\ysLy*g4ǒ`UIT#?kYU+T=<;j=J+P.v<W^ƒsm1`ruJU%P;,g=/eTYSTnD+TcI@6U9U:ni%Nڮ\yT0 :uOReJ4 #ni%[STǝo%A***W^NJ?)(u,uJ)(i(#ni%[IGh  NvJ: 4 abCzJ?eNNJǑ4ǒʩ{sLy*vTBMT*uJT0G(Wp^{JǑ4ǒʩ{sLy*vTB8 ReNۚcSv@@dYR%cۚcVT=<;jpq[PJJB:4Gy>VUJ+P.v<}y*4&nsO ?˃wo:crW6U9U:o4ǒ`UA"`@`8H $A^S+TcR+RP/^ƒƒ:FJ*:c Re%βb:vvrdIPTNƒM1SWQ!cWQ&*vp玄G޶鴔:m 鴔J4NǑ4ǒʤPdlc صJ: AabPP+RQ*vvRP.v<W^ƒsm1`ruJU%P;,g=/eTYSTnDVUJ+P.v<ŌX=^x qp~0̈Ye75?Aw:cҽJRͩc)(줠_󱤠_γJH `YU+RP/Y@0X,8 4&$'+RP/^ƒƒbYH%P;,g=/eTYI@er'^4󱤠_γsLy* 6 ˋNRW_βleNǑ4ǒʩ}<;j &  zmNi~ig:0"a~Yp ?}}y*4&nsO ?˃wo:crVUJ+P.v<W^ƒsm1`ruJU%P;,g=/eTYSTnD+TcI@6U9U:ni%Nڮ\yT8yЎ0 :uOReJ4 #ni%[STǝo%A***W^NJ?)(u,uJ)(i(줠Xlu%e%i(le%lu%li((s108󬶼TT"̉*5i*`IDyFB$ƍFU%ǝo%A*J8>VU%e%%u8%TKRͯ,eplu%e%%IԔ%u%|T0b Y; 7GT\UKGωd`Ō0Ɣ SAP Business Object GoodsMovement

    SAP Business Object GoodsMovement (BUS2017)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- GoodsMovement
    

    The business object Goods movement comprises physical and logical movements of plant materials as well as the representation of these goods movement in the company codes concerned.

    A goods movement can be a goods receipt, a goods issue, or a transfer of materials. A transfer of materials from one plant storage area to another plant storage area is a restorage. This restorage can occur both within a plant and between two plants.
    The goods movement item contains the quantity and, if required, the value of the material. The stock of this material in the plant or the plant storage area can be changed as a result of this goods movement. If the stock is valuated, the transaction figure in the related material stock account is updated. A goods receipt involving material that is to be immediately consumed does not lead to an updating of the stock quantity and the stock value. An item of a goods receipt need not signify an inward movement of materials, since it can also represent the cancellation of the corresponding goods movement.
    A goods movement can occur on the basis of preceding business transactions. A goods movement item can therefore result directly from an accounting transaction, such as, for example, a purchase order or a production order.

    A goods movement is represented as a company code - goods movement in the company codes that it concerns. Several company codes are concerned by a goods movement if its items contain materials of different plants and these plants belong in turn to different company codes. The company code - goods movement comprises several postings that represent the goods movement in value terms.


    Keys
    Type Name Size Released since
    java.lang.String MATERIALDOCUMENT 10 bytes Version 30A
    java.math.BigInteger MATDOCUMENTYEAR 4 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A
    Bus2045Table INSPECTIONLOT ??? (see below) Version 30A
    Bus2065Table TRANSFERREQUEST ??? (see below) Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    GoodsMovement ()


    GoodsMovement (com.ibm.sap.bapi.ObjectId objectId)
    GoodsMovement (java.lang.String MATERIALDOCUMENT,java.math.BigInteger MATDOCUMENTYEAR)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    ese  l"$ 7RI66$Z./usr/IBMVJava/html/enterp/en_US/sap/samples/ides31h.html.html$$   crsudfgmp/CDIPShy"-ABEMORTbkvw.=FLNWjx()GVqz12HJQU!,034:KY&9;XZ_58#'67'M!c 88@B`B\`(Uh:Px@3dwtCĠBe|ɔ XwWo,&t<_.CЊb@pq}[MwWoyGQ [+ 0҃;%W,=uO% 7H0`` %w9šc4@Jy.< (I)AC"@;|(X"Xq(CmSijMi k/ipMTo/xn%S%Ӌ JiKS%ɦ~PxH,,\5k}PxJi !FOڧWkxH[KpLzD,J2I+1'd2xH5&Vq(C{8(~9\&ʽi3rr[ aݘ_v.ZF9\6H[$ZW&ĩdPxHсܮ[rr̟a}z%֪bi04[{ҹj&~^!:] 񖑣9NW-dCErnXgtY(:\XZB3DroaTޖFrțLA-!Rc"m9\ΰZKq9NW,&xHќ&ӕoIt]S|\fASq(;'\2vK+}MĠk\n2~\+R Ġk\n2~\+RA-!€Ǒgя:KxKp]8-sڃq(2;'v2U8ehbA-#tYȳA-!ϥW^Ϊd+8\_Kbi<A-1.AtPXBˁRqmg2Eɡ J0#(B*W7~J\!ŵRTnA-!,e{\xn%K-Nn﵈<7ZBX ߭U 񖐩ekb Ġ񖑔jW?} 񖑔\eUk%N*q.nw؃ZGmbV2' p 2:|K! 7(ASq('MĠqU.7Y?}7ZCVM-Ǵ%vjA-!T$2AḔ2,[A-#tY. ZAaC2o~uTZGpNteo)29| {{ݽ-PxHg8,(zi %ǵj!+.ZCVM-W-/bA-#WSI.A-!M$ Oji i%׸ 4bi i%׸ueK)M^_q}7ZBUq|biK&W^q(2:|H@^zZA-#ͥ\cqՓK\rPxHY./cskxH]!zKeh< n%6sn﵎W-ڥ@jɥJi2VE>2>n|sXzZiK$ /Iqy̽-MĠ񖑺W,qYb Ġ7>rr_3KA-!o/}e+T4@JxHuYJrnV_34@J 7>rrT8dJ{WzZiy~)_}W-è iRjKA-!o/}e+jɥVO.9|KUڃZC_WkqՓK\rQq+z]R?VM-MĠ񖘗 (g>̟13/l2~T_3ޙd )29|U^_p"b Ġm8^Q*W7~2>rW;'v2>rM$8*D//ȸ,A-#_ȅ ,8 ZWkxHX7I\Wk[HP_}񖐰o֓D!9\ Y4%/jPxHX7I\Wk[WhZ@yn,ZA-!W2~s<7ZC'w8A< n%゚`-uT'h>uTo/؃PxH#Jz ĠG., kZC8YJA- ]*Y9|% &;ow*Zp]=9tg)2w_iV[W?}<7ZEer!Wdn2~PxHo ]8TxHc[ Meܒ(PxH&Fpe+؃q(A2swe},ASq(rl 22Mi9L~YshA6%lז2+}<Ĺ@pu5R@ȁymg񔱺6FJ\!ŵR mir k?M13-2?}*R-2S{PxHсcJ~)ŵR7~PxJir k?ɥymgՓKRqKA-1.AtPMg7&d<HjɥK8[KQKA-1.AtPMg/jK]Q!`:E -uFV Ck?7K]Qq(rih[=.Sш< n%P8򩌽-\ c,2xLK]SYe,B/K'!`:ER¯2)pKq ̽-4p{Rxn%lJl㩬0^BpЕbiK*ULA-#)U5ᓲ][r̟؂dPxH\.W,1MĠ񖑺%[./ٗJiyzZizZi?./)_}r̟؂dPxH\.W,1MĠ&[N6~PxJi W'BtAḔ2.LdN9|c/KA-#tCe1]8򩌽-MĠLrdEqEZ幓ASq(%jwVA-#bVpՓKA-1.AtP+Uo}j13>%jW}j)pKS}j2,bASq(ASq(ru_}A-#-okP][q;)2,[ݽ-PxHd.˥K='Ip.2,[_}[OiavNn)2.M_pk+};'vA-#Bn^ZEɲ. %ᓲ][XA- >XyLASq(̧rɽ-PxHYyejnqgUḨ R l『j:&7ZBIU V o|6xn%2TS{RASq(AAAqCxHq)|c~EǑgю8(zijiOl5s2J@ASq(AAA}~)LkUNm,2`Р  )7ZGR۵j)2,80b Ġ c Ji[ĩnJ!Y28P8swp[tY/ 7ZBV%@A-!+Q M3߄"m 񖐕P&Ej!bT {xHJBĨz"z"yZX?)^2*ވ<[A-!k}XxHq|i7ZCMޖȳrb Ġ񖑡A4%KA-#;p MĠB~KSxn% HZweJ HZZFSqZ2\2vK)2_o֒|YAḔ2 'L7)CZS/@S{ZA|t<7ZEܕae]XYngYzZiSYew/"VpxH;&ZV7%hXьA- XYn^ULxH/"b Ġ_,E ԓvKAḔ2 刽w}ݵOj Ġ_,E ,|AḔ2 刽w_}<7ZA|MA-!!'p)rnd][q;jUDMĠ:L刽rܛݟFPxH/"crnsv}{VPxJi^q;vK}Ji^rn!*-|%kxH/"cpb%g MĠ)2 刽w9,|AḔ2 刽rNoݟF)7PxH/"cߐRN^ә˽-PxH/"cuD9nW-ɟWo-b/F9\& _,E+ s)MĠ)7ZCV\s8ᓲ][<7ZG[i忐`i+WctA-")o2 刕&FZG2_(7@:A-!m_H<7ZB\!Z]i p .bi!lj߁t%p)fNA-#)ei2=yzZAΪxH.)wzZ@@ p dPxHq8E.%r^eJ)^2<$s˝.~gbi9e?}W%W-@J?Bs829w ziM~R9][ SAP Business Object Index
      SAP Business Object Repository (BOR)
    

    SAP Business Object Index

  • AbsAttType
  • Account
  • AccountingDocument
  • ActivityType
  • Applicant
  • Application
  • BusinessArea
  • BusinessPartner
  • BusinessProcess
  • BusPartnerContact
  • Company
  • CompanyCode
  • ControllingArea
  • CostCenter
  • CostEstimate
  • CostType
  • Creditor
  • CreditsAccount
  • CustComplaintOrder
  • Customer
  • CustomerBillingDoc
  • CustomerContract
  • CustomerDelivery
  • CustomerInquiry
  • CustomerOrder
  • CustomerQuotation
  • CustOutlineAgreement
  • CustSchedulAgreement
  • DebitsAccount
  • Debtor
  • Document
  • Employee
  • EmployeeGroup
  • FixedAsset
  • FixedAssetAccount
  • FixedAssetDocument
  • FunctionalArea
  • FunctionalLocation
  • GeneralLedgerAccount
  • GoodsMovement
  • InspectionLot
  • InspectionPlan
  • InternalOrder
  • Job
  • MaintenanceNotific
  • MaintenanceOrder
  • ManufacturingOrder
  • MasterRecipe
  • Material
  • Network
  • OperatingResultArea
  • OrganizationalUnit
  • PayrollAccountArea
  • Person
  • PieceOfEquipment
  • Plant
  • Position
  • ProductCatalog
  • ProductionOrder
  • ProfitCenter
  • ProjectDefinition
  • PurchaseOrder
  • PurchaseRequisition
  • PurchasingContract
  • PurchOrganization
  • PurchOutlineAgreemnt
  • PurchSchedAgreement
  • Qualification
  • QualityNotification
  • SalesOrganization
  • ServiceNotification
  • Shipment
  • ShippingPoint
  • TimeQuota
  • TranspPlanningPoint
  • Vendor
  • VendorQuotationReqst
  • WageType
  • WarehouseComplex
  • WorkBreakdownStruct
  • WorkCenter
  • >  k$$756$$./usr/IBMVJava/html/enterp/en_US/sap/samples/inspectionlot.html$$ SAP Business Object InspectionLot

    SAP Business Object InspectionLot (BUS2045)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- InspectionLot
    

    The business object Inspection lot is an instruction to subject a quantity of objects to an inspection (inspection request - inspection lot).
    An inspection operation describes activities that are to be performed for an inspection request - inspection lot.
    An inspection operation characteristic is an inspection method characteristic that is defined within an inspection operation and for which target figures are specified.
    An inspection operation sample specifies, for the case in which a sampling method is to be used during the inspection of an inspection operation characteristic, the size of the sample and the values used for deciding whether the quantity named in the inspection request - inspection lot is to be accepted or rejected.


    Keys
    Type Name Size Released since
    java.math.BigInteger NUMBER 12 bytes Version 30A

    Attributes
    Type Name Size Released since
    java.lang.String STATUSPROFILE 8 bytes Version 30E
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    java.lang.String STATUSOBJNUMBER 22 bytes Version 30A
    java.lang.String STATUSOBJTYPE 3 bytes Version 30A
    java.lang.String PLANT 4 bytes Version 30A
    java.lang.String ORIGIN 2 bytes Version 30A
    java.lang.String PARTIALLOTSEXIST 1 bytes Version 30A
    java.lang.String INSPDURINGPROD 1 bytes Version 30A
    java.lang.String MATERIAL 18 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    InspectionLot ()


    InspectionLot (com.ibm.sap.bapi.ObjectId objectId)
    InspectionLot (java.math.BigInteger NUMBER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    CERTIFICATE Released since Version 30C
    PLANNOTFOUND Released since Version 30A
    SAMPLENOTCALCULATED Released since Version 30A
    STOCKPOSTINGNOTCOMPL Released since Version 30A
    INSPECCLOSENOTCOMPLT Released since Version 30A
    INSPECCLOSECOMPLETED Released since Version 30A
    STOCKPOSTINGCOMPLT Released since Version 30A
    USAGEDECISIONMADE Released since Version 30A
    CHARACTERISCREATED Released since Version 30A
    LONGTERMINSPECTION Released since Version 30A
    USAGEDECISIONMISSING Released since Version 30A
    CERTIFICATEMISSING Released since Version 30A
    PLANASSIGNED Released since Version 30A
    BATCHCLASSIFNOTCOMPL Released since Version 30A

    d wi k$756$ ./usr/IBMVJava/html/enterp/en_US/sap/samples/inspectionplan.html.htmlh$$ SAP Business Object InspectionPlan

    SAP Business Object InspectionPlan (BUS1023)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- InspectionPlan
    

    The business object Inspection plan contains activities for the quality inspection of plant material.

    An inspection plan can describe a flow of activities for the quality inspection of a plant material, or a part of such a flow that can be used repeatedly in identical form during the performance of the quality inspection of plant material.
    An inspection plan groups together the activities performed during the quality inspection.
    Through an inspection plan, complex relationships between activities of the quality inspection can be represented.
    An inspection plan is order-neutral, that is, the activities described therein are not carried out directly.
    To an inspection plan are assigned the characteristics of the plant material that are to be tested.
    Through a plant material - inspection plan - assignment is assigned, to a plant material, an inspection plan according to which it can be inspected.

    An inspection plan operation describes an activity for assuring the quality of a plant material.

    An inspection plan sequence is a grouping together of inspection plan operations that are arranged in a sequence.

    In inspection plan sequence operations are assigned, to the inspection plan sequences, the relevant inspection plan operations.


    Keys
    Type Name Size Released since
    java.lang.String GROUP 8 bytes Version 30A
    java.lang.String GROUPCOUNTER 2 bytes Version 30A
    java.util.Date DATEVALIDFROM 8 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2045Structure INSPECTIONLOT ??? (see below) Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    InspectionPlan ()


    InspectionPlan (com.ibm.sap.bapi.ObjectId objectId)
    InspectionPlan (java.lang.String GROUP,java.lang.String GROUPCOUNTER,java.util.Date DATEVALIDFROM)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    l; char l$/E756$-./usr/IBMVJava/html/enterp/en_US/sap/samples/internalorder.html$$    <>det "/abilnor,=cgps AEORSTfhmuv.0123:CDGIMNP_wy5BFLUVjxz%()-47HJXY#69?KW8q+;|!6GxE<)΃Υ`afO+  c:+&yXbe9MmExՈGE.p9P"RT+)YXt ˣ{ yX (٣kѐ@8RI0H@hҏ|Ր}>ܼRoRjAd_Eo#Ű=6ñI)6h8 LՀ H$ W_5`$$$$$%x@̲r6ƭ{`aN~TDh "(xN-NP@,XHa9GP3C){Ӷq\RmOI&E:YǑFooN-J{Ӷ?(GRѯ(ߦϨtt+(7))|e>*Ht>D>/M>-4$"V:Q|OOztscNliGXG蜧^SD`[Ǝc{^]YKO\iT!Th)=2;;}P$LSliFTʊ/NS~r;iAo̢rp9P^SEe9GIFNl^oQl(_I~Cny ]Ђ(4Vt3V~CV"I8 LՀ H$89x("bjn Mgӏ:PXG/g5aa "݄cMUг8H`Jl&hY XP^[lv[?qI~CV!H'ul&&tΔ%3V,Q&pbxA}~UNFMU3 l&&t;CGt w_XbA>'ӥ=隰гMǝ(JfA!&hAV/v [cI~l:qJ(U,,$^[lv[?qI~CV i^;-_ ?| vx?g)5WB(j€"݄:{i;->x_Μy҄jŊ?x_7GX->~U<$H l&pP @*=kg)5WΚ/h0$mgӏ:PXG/AdB@ ]~U/-Њ-fPQR>'@A_>2ϟ yBŰOzh/*Z#p|t]y5$)y5p~DyL$S=:*Y/ڟ7i{}uo"ԧ:t:[Ⱦ}"B$=z5}yN^SGeeE4^QҜ%|OOzhUxFEz%BSG{|]D"ד'"|[Q!ӦjUj5:}q2|wC a *Hy&O"(48q:P&PyW}q2|wPX`fDPhp =PX`tC  8L0l!RѧwwF8 0h,00&qDE0  T4iѠ0 lv8in r(F{iͥ{t@q Y0#^Sͥ{u8^(9N}O9L}J5>Ӎl r4yN|&O׀E8_g[>xl|M_`jynj=wܿl|M\84_(`P-&iy5p~:PEՅ-"U Oͥ{hܶ|I:.< ÉAVe[ܶ|I{]&MU2݂C[~rlegv^)5W֗hDퟸ_ 8Hv^_6>&Oז"ܿl|M\8?r$e`jH//W'vsQ_6~`jx F-l2t]y5$Mω҂(6&-ynJH6m+F~Hv^_6>&OGJؚ*~MUv)5VRj/a4LDLBܷNXv[6l&&t]y5$MU5?7g)5W *8 $8Pg)5Wt;ω l|M\8-E ;-&Oז!H'pmlÉE[?r$e`jH//W'룥PlMXZ݂%PlWlgω l|M\8A5akvUlggRj_^/-$8h{oŰOzu]Ӷ?*ٰg)6Ϟ)7ω Rj.Ј6''?qI@xl|M_`jtt ^[D JѶ;-l2t]y5$Mω҂(6&-ynʶ;-lUlMUe ;/w JŰOzu]Ӷ?*ٰg)6Ϟ)7ω Rj.Ј6''?qI@&iy5p~a6~`jxNFϞ)#/EWAy&iy5p~:PEՅ-Ve-x΋>&IB ؞Gl&pyI__RF_΋>&iy5p~a6~`jxS~Hv^_6>&Oז!H'pmlÉE[?r$e`jH//W'룥PlMXZ݂%PlWlgω l|M\8A5akvUlggRj_^/-$8h{oޝxl~UaRm&Oז"ܿl|M\8i?r$e`jH//W'vsQ_6~`jx F-l2t]y5$Mω҂(6&-ynJH6m+F~Hv^_6>&OGJؚ*~MUv)5VRj/a4LDLBܷE EGI?Ӷ?*ٰg)6Ϟ)7ω Rj~U & H  %l&rb2t]y5$Mωe/W'"/-&iy5p~a5E;mg_6>&O׀Κ/h0(BϞ)#/EWAy&iy5p~:PEՅ-Ve-&Oז"ܿl|M\8tml2t]y5$Mωt9/lv[?riy5p~t|ABܶ|I:.< ÉAV`r JѶ;-l2t]y5$Mω҂(6&-ynʶ;-lUlMUe ;/w  8,#,wQF^S >'ַ]+Cham))'M{$0~E[%Ȣ]2߀"? 0KE-Do@AQ"" r(w(x d{hO<@TH d{hOٰg)6Ϟ)7ω Rj Aa HT(]~U&iy5p~a6~`jx8_g[>xl|M_`jynj=wܿl|M\84_(`P-&iy5p~:PEՅ-"U O8fҽ4mg[>xl|M_`jtt ^[g[>x[=bUl&r{n!DD-E:@"D{]FQ9B|OoW% 0#E(=+ "RSN4,Y#șMӋ"(ͱE{ih^SNKT5Ux#J{F:|t)Ml/z(Al`jH//S`jx#lHQdztT?E_>nKyIM')ה^.V/m>5:y~#ȄP:FF_^SWr5}kB )t>E G_Sޚ!n r(Fm/ТmyN6ād(uyN6z>4NSh`[ksEB*Ϟ[=eVϞ)#*Hʪω b Jlv[?qI2qI2{ߵt3VRoMUL$.[<)5W0Mz1I)9L}bU~STGSgv^)5W֗hDퟸ_ƈ~U~CI:.< É݄^cMωU8_g[>xl|M_`jynj=wܿl|M\84_(`P-&iy5p~:PEՅ-"U Oͥ{hܶ|I:.< ÉAVe[ܶ|I{]&MU2݂C[Tה4?*DoFbN5B*ٰg)6Ϟ)7ω Rj.Ј6''?qI@&Oז!H'pmlÉE~Hv^_6>&OGJؚJ) ٴMcϞ)#/EWAy&OGJؚlWlgω l|M\8A5akvUlggRj_^/-$8h{HP$Hm#,wQF^S >'ַ]+Cham))'M{@m 0~q1c  $*H[Pq" NDwGt@q@D 2߃A` < ea9%^u$~N8 P# QB"C 5f->x΋>&I5ϼGX->~U@q Y;g)5Wt;ω l|M\8-E ;-FQ9B|OoW% 0#E(=+ "RSN4H a $? 0KExAeEEHl~`"O:[$82߀"DD- Qi_PQ1'/NP(xQ1'/NUaRm&OׁE8_g[>xl|M_`jynj=wܿl|M\84_(`P-&iy5p~:PEՅ-"U O8fҽ4mg[>xl|M_`jtt ^[g[>x[=bUl&r{n!DD-E:C8P@,"CW(ku!!gkz>m_ "4R0%%?D|D "aA ? 0YǑFm-;(x!E a!a J';ٰg)6Ϟ)7ω Rj Aa HT0]~UD "HpCI?qIܿkؤl|M_`jyn/mlÉ0S~Hv^_6>&Oז!H'pmlÉE[?r$e`jH//W'룥PlMXZ݂%PJH6m+F~Hv^_6>&OGJؚ*~MUv)5VRj/a4LDLB$SD!R$kQה'(BBωC}DhCz>aJJAzFEHHD-$4aE+H|4D "HT0[ $ - aH|5"tԜ 㾈I  aX 0`I^]Y}Y} ~l:.< &p@Mt:MU,I $ #l&rb2t]y5$Mωe/W' S~Hv^_6>&Oז!H'pmlÉE[?r$e`jH//W'룥PlMXZ݂%PJH6m+F~Hv^_6>&OGJؚ*~MUv)5VRj/a4LDLB$SDqR$kQה'(BBωC}DhCz>aJJAzFHTPI[ "Hc|4M *D@&o,TqCI[ GH|4 "*D,HaH&B0Z=:G周*Ȋ$*HpH- ^]Y}Y:ljN@"I  aX 0`I^]Y8}BQ>V͆[?qI|I{]$`ʫfg)#*'ӥ=隰гMǝ(JfA!&hAVRm8GѶ;g)6Ϟ)7&hAVRoa{=aMggRm RTCm5a aCǶ<3Yҏ}yo*}#3X@C?dO{A&t3V!䀣V(pHՅ-&؆)6KEI$h k(W$ 756$  ./usr/IBMVJava/html/enterp/en_US/sap/samples/job.htmlrd$$ SAP Business Object Job

    SAP Business Object Job (PDOTYPE_C)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Job
    

    The business object Job is a description of a grouping together of tasks, duties, and responsibilities that is tailored to potential performance with regard to a certain level of training. Jobs are usually defined on the basis of generally accepted descriptions of professional activities.


    Keys
    Type Name Size Released since
    java.lang.String PLVAR 2 bytes Version 30D
    java.math.BigInteger OBJID 8 bytes Version 30D

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    java.lang.String DESCRIPTION 40 bytes Version 30D

    The size of this attribute must be determined at runtime.

    Methods
    Job ()


    Job (com.ibm.sap.bapi.ObjectId objectId)
    Job (java.lang.String PLVAR,java.math.BigInteger OBJID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     lt$~0756$8'./usr/IBMVJava/html/enterp/en_US/sap/samples/kanban.htmlr.html$$  t <>de"/abilnor =cghpsAENTfmuv.1:CFIRSwy%05BDGKLMOPU_k-23VYxz#(),68H'?j9WX!7;Jq4r46O(clRsT'(RʣYeQʡ/X1!@ɰ, X(~DĆ_Qhjd?uǸ945 *\cćB&_HeWoveLH$-~obż]eJ?WYT``DĀ0+p:ltrniMTȈH"(= -[B"!`pCt{,cYąDe^2ÍCCCSe_$9,e4MS,_,^6YT;l7\PYy$nsHXL͉ MUxeL>Dc?i\,ȓsb@`864M s첦k"My b-ϲʙ|79$,MkhJ-yJeRlk*fX0PHࡁp$X+@~Ŧ4fלi_.XXX'W˯lQl 8X.*feJc*ʮ;elLHZdI1!`p86YU,8:1 4488456YUMAo1!iʦX)YTYT,W[YUlr(,ּL79$,&Yą*lk"Myɱ}TsI1 0 &ҹYS5ϑ&<ąɱ{JeL>D&5ڴw%ݥs첩^6YS5e3_, XhѠH@]+ o!PձJu@";t-+6(**feJc*ʙ~-`:yFWZdy|g7G1 YS4Uu,sbbB"My ɲʯaЉaʯl y MU2φ#JeU+U+*mU!eX,e3LЊ$AE ōBhx JeTf\,C]GrQkS.@- Tf\,dlZlJeQ5sY]lvx< |9%;Â#F i\4# ]V C"K^:>GF矲i|@ DMt#+H #9i2t!τT~M E:AE # o`8*iC أ9k0|Q n^@{6!SL?d(`$PkB#Qj(9b{?dt">`:yݞ;Q 6cDϕlIfQЌO~$Au湤v-Bgo>VO?e 9\uhτO~Vj3M9~[$|Ξ~_" HMobތ<~ɰ4Dv4W׌[sO Ӟb]lXEt}˚W׌[sO Ӟb]l#J|xx< |9%;Â"@H<" ,D$ s\Ҿ]+]lv+e3Y,u{eB(RsYYUlr(,ּL79$ɖB91!iʙ,kc?i\,kcDxDz`W>(lW>*fe3^2Eni1>&(um׍)_.t;n(umQ$^2Eni1>&9%;4M 2_.JӞb]l4fDҾ]+(I"4瘟uVth]+[sKwMQ|WQ$^2Eni1>&9%;!գ(e)JuV`FW˥xeI5$VnJӞb]nsJeҾ]||WQ$Һ&(um׍ˬu{X8Xt]fXA{Q-6Bz'>lugG_\#-|T~M (xT#cO#DѐžM`4Lj2죮~E:yFH͈T{Xt]f\{X(Xp4m)Y4uҾ]+]lv+T+*mұYS52*fYi, B(RsYYUlr(,ּL79$ɖB91!iʙ,kc?i\,kcDxDz`W>(lW>*fe3^2Eni1>&(um׍4" 2^7Jc_,]lveI5$VnJӞb]ncDS.9%;|HGT5lvҾ]+(I"4瘟uVth]+[sKwMX'W˥xeI5$VnJӞb]nbZ;^nRt_%ni1.6lQl 8X.^6YDMx< 4瘗h\ҙt_.i_.eI4;l|&]uuuu(`x])Y41B/6kѝah|'"KFcLCbL̰Ḱeo63]SQL`<FZVEmrdlX@4HMob&0t&kD䎄gG_{X(Xp4m)Y4uҾ]+]lv+T+*mұYS52*fYi=GX#cQ 2,@PV:*ffYeL:=2ƭAqXC)L,cM9k^q&Dd!ؘeL׍Q5ϱ}Q5ϱhlt"=}}+eMs6+e3Jʙ"4瘟eM|c冃 BAHh4]+ҼnmҾYe_.$kH9'|<ĻGt2Ɖ]+[sKwM7j|WQ$^2Eni1>&9%;"/C)LW˯4瘗h8X'W˥xeI5$VnJӞb]nbZ;^nRt_%ni1.6lQl 8X.^6YDMx< 4瘗h\ҙt_.i_.eI4;l|&]uuuu(`x])Y4=lvɰ[^Ξ~/GB363]H63]l#<AxVkrp:(Gs~{_/ = [іk``:M55 (`,])Y5 (" Jee+tJW[Je3Jʙ"4瘟eM|c #JtutYDˮ;l$+sNyA7_%ni1.7Lhhe)JuVb>$ #;i_.eI$׌[sO +sNyve S.9%;8\O4J$kH9'|<ĻGt25ڴw% 2_.JӞb]lآ>@p]+Ҽl$+sNyA7_%ni1.7L2_.\Ҿ]+(i]lveJeM|c:=,,PS.,iFz`t#<EAnŽGb'!5|]J?DvMge  Jeege FҙusJ]+ҼnmҾYeLҼlkH9'e_.b!@ JtutYDˮ;l$+sNyA7_%ni1.7Lhhe)JuVb>$ #;i_.eI$׌[sO +sNyve S.9%;%Q|WQ$^2Eni1>&9%;!գ(e)JuV`F_.eI$׌[sO +sNyve)Ju^6YDJc(W,k[^7_.Y`bҙucOj3llZFy(A FDs\;j-FQ;r`|΄#0+ҼnmұYS52(]gXx!(.+be)5e2,ұYS52*fYi, B(RsYYUlr(,ּL79$ɖB91!iʙ,kc?i\,kcDxDz`W>(lW>*fe3^2Eni1>&(um׍4" 2^7Jc_,]lveI5$VnJӞb]ncDS.9%;|HGT5lvҾ]+(I"4瘟uVth]+[sKwMX'W˥xeI5$VnJӞb]nbZ;^nRt_%ni1.6lQl 8X.^6YDMx< 4瘗h\ҙt_.i_.eI4;l|&]uuuu(`x])Y4!ɰ͜j(9bhȑ鎛2l;%(A5 (`,])Y2)Θ鰎#"[ ܚdnffffdj`CBCBA(P`j3sLffffFC鎛2l;%(A4ձ C"Ƅ!PRlף+Z>`鰎Mge FҙusJ]+ҼnmҾYeLҼl]lv+e3Y,kuaЄzHB>P\V?~S.k2*d@Yck=eTc,j߱D2˚̲ʮ;dsAfBdI1 L͉ MTxe\Je\&{B#ҹYD>`<~ҹYS4,+sNyA6YDˮ;nnX0PH4JW[JeM|c(I"4瘟uVt&Rt_%ni1.6#@B:c^6YDMx< 4瘗hX@ 2_.JӞb]lJt,I&dӞb|M[sKwM,C]GrQkS.9%;- Ҿ]+(I"4瘟uVt˚S.+Ҽl&mQ4YDˮ;nn]c2  22ƞgA,;rD7QE:y#<>G;Blף<Ž,G|=|2,τ#!$  ""4\3  0Fz휄OY fɰTj2ÚkuZ:y#@4 i  CBC dA*k=,@PXS..k=,,8PD6ˬ˚V:_.t;n*fe3^2Eni1>&(um׍  0D$04$  |WҺW,k[YDMx< 4瘗hX442˥|+sNyv [J$kH9'|<ĻGt2Ze)JuV`.X'W˥xeI5$VnJӞb]nbZ;^nRt_%ni1.6lQl 8X.^6YDMx< 4瘗h\ҙt_.i_.eI4;l|&]uuuu(`x])Y4=lvQs%sA>A!Ment[|z`Cg"[;Q t0.ˬ˚t 22敎W˥x+ۥ|ʙxeL׌[sO &]uuuE  BCE_.t;n(umQ$^2Eni1>&9%;4M 2_.JӞb]lGāuCVm+Ҽl$+sNyA7_%ni1.7LzJeҾ]|<ĻGt F^6YDMx< 4瘗hXVכ]+[sKwM[ |WQ$^2Eni1>&9%;4]+˚W˥xeM+,i_,]lvx|]ge0Jee=[ds\`Gy|vH`[:2:0<;d(`$PȖe8'( #!$  ""5 (`,])Y5 (" Jee+tJW[Je3JʥutuU+eHYeQʥcd#nsHXMUx6LH  MU|`P[HZl,JeU+U+*mUu&뜊 58ĂeX5`( ұYT;l ,ʤ,r|tq PPR9rI4yҌM1!AJ SGEO9jaG4relLH2@PbBLa4ąɺR첩HYeR ʥǺ( kD$'756$Q'./usr/IBMVJava/html/enterp/en_US/sap/samples/maintenancenotific.htmllh$$ SAP Business Object MaintenanceNotific

    SAP Business Object MaintenanceNotific (BUS2038)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- MaintenanceNotific
    

    The business object Maintenance notification contains the maintenance notification, that is, the description of a situation relevant to maintenance and, if required, the request to react to this situation.
    A maintenance notification can be a malfunction report, a maintenance request, or an activity report.
    A malfunction report describes a malfunction in a maintenance object and requests its repair.
    A maintenance request describes a maintenance activity and requests that this be carried out. However, this maintenance activity does not relate to a malfunction.
    An activity report describes maintenance activities that have been carried out and that were not based on a malfunction report or a maintenance request.
    A maintenance notification consists of several items that contain a description of the damage that has occurred or of the maintenance activity requested or performed.
    For a maintenance notification item there can also be a cause description and a detailed description of the activities already performed.
    In a maintenance notification measure additional measures can be specified for the maintenance notification that are to be planned and documented and whose status is to be followed.
    To a maintenance notification different maintenance partners can be assigned in dependence upon their respective partner role.


    Keys
    Type Name Size Released since
    java.lang.String NUMBER 12 bytes Version 30A

    Attributes
    Type Name Size Released since
    java.lang.String STATUSPROFILE 8 bytes Version 30E
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2007Structure MAINTENANCEORDER ??? (see below) Version 30C
    Bus0008Structure MAINTENANCEPLANT ??? (see below) Version 30C
    Bus0003Structure BUSINESSAREA ??? (see below) Version 30C
    Bus0002Structure COMPANYCODE ??? (see below) Version 30C
    java.lang.String STATUSOBJTYPE 3 bytes Version 30A
    java.lang.String STATUSOBJNUMBER 22 bytes Version 30A
    java.lang.String TYPE 2 bytes Version 30A
    java.lang.String DESCRIPTION 40 bytes Version 30A
    java.lang.String PRIORITY 1 bytes Version 30A
    java.lang.String EQUIPMENT 18 bytes Version 30A
    java.lang.String LOCATION 30 bytes Version 30A
    java.lang.String ASSEMBLY 18 bytes Version 30C
    java.lang.String BREAKDOWN 1 bytes Version 30C
    java.util.Date MALFUNCTSTART 8 bytes Version 30C
    java.util.Date MALFUNCTIONEND 8 bytes Version 30C
    java.util.Date STRTMALFUNCTNT 6 bytes Version 30C
    java.util.Date ENDMALFUNCTNT 6 bytes Version 30C
    java.lang.String FUNCTLOCAFFECTED 30 bytes Version 30C
    java.lang.String EQUIPMENTAFFECTED 18 bytes Version 30C
    java.lang.String EFFECT 1 bytes Version 30C
    java.lang.String TECHINSPECTION 12 bytes Version 30C
    java.util.Date TECHINSPECON 8 bytes Version 30C
    java.lang.String MAINTPLANNERGROUP 3 bytes Version 30C
    java.util.Date NOTIFICATIONDATE 8 bytes Version 30C
    java.lang.String REPORTEDBY 12 bytes Version 30C
    java.util.Date DESIREDSTARTDATE 8 bytes Version 30C
    java.util.Date DESIREDTIME 6 bytes Version 30C
    java.util.Date DESIREDEND 8 bytes Version 30C
    java.util.Date DESIREDTIME1 6 bytes Version 30C
    java.lang.String ORDER 12 bytes Version 30C
    java.util.Date COMPLETIONBYDATE 8 bytes Version 30C
    java.util.Date COMPLETIONTIME 6 bytes Version 30C
    java.lang.String CATALOGPROFILE 9 bytes Version 30C
    java.util.Date REFERENCEDATE 8 bytes Version 30C
    java.util.Date REFERENCETIME 6 bytes Version 30C
    java.lang.String ABCINDICATOR 1 bytes Version 30C
    java.lang.String SORTFIELD 30 bytes Version 30C
    java.lang.String LOCATION1 10 bytes Version 30C
    java.lang.String ROOM 8 bytes Version 30C
    java.lang.String COMPANYAREA 3 bytes Version 30C
    java.lang.String COSTCENTER 10 bytes Version 30C
    java.lang.String ASSET 12 bytes Version 30C
    java.lang.String SUBNUMBER 4 bytes Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    MaintenanceNotific ()


    MaintenanceNotific (com.ibm.sap.bapi.ObjectId objectId)
    MaintenanceNotific (java.lang.String NUMBER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A
    INPROCESS Released since Version 30A
    CREATED Released since Version 30A
    OUTSTANDTASKSEXIST Released since Version 30A
    ALLTASKSCOMPLETED Released since Version 30A
    CLOSED Released since Version 30A

     k$756$e./usr/IBMVJava/html/enterp/en_US/sap/samples/maintenanceorder.htmlllh$$ SAP Business Object MaintenanceOrder

    SAP Business Object MaintenanceOrder (BUS2007)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- MaintenanceOrder
    

    The business object Maintenance order contains the maintenance order, that is, an instruction to carry out a maintenance activity on a maintenance object.
    It consists of several operations in which is described the manner in which this maintenance activity is to be carried out. Operations can be subdivided in their turn into sub-operations, thus allowing a finer specification of the operation (for example, separated according to work centers).
    In the event that this subdivision is not sufficient, e.g. in the case of complex and extensive orders, an order that functions as a hierarchically superordinate order can be assigned several sub-orders.
    Operations or sub-operations can be differentiated according to whether they are to be performed by the enterprise itself or by an outside contractor.
    To an operation can be assigned the auxiliary resources required for its performance.
    In a further assignment a maintenance object is assigned a maintenance order that orders a maintenance activity to be carried out for this maintenance object.
    The maintenance notification - maintenance order - assignment assigns to a notification an order that orders the performance of the maintenance activities requested in the notification.
    To a maintenance order can be assigned different maintenance partners in dependence upon their respective partner role.


    Keys
    Type Name Size Released since
    java.lang.String NUMBER 12 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2044Table COST ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    MaintenanceOrder ()


    MaintenanceOrder (com.ibm.sap.bapi.ObjectId objectId)
    MaintenanceOrder (java.lang.String NUMBER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    .  k27$756$m./usr/IBMVJava/html/enterp/en_US/sap/samples/manufacturingorder.htmllh$$ SAP Business Object ManufacturingOrder

    SAP Business Object ManufacturingOrder (BUS2005)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- ManufacturingOrder
    

    The business object Manufacturing order describes the ordered production runs.
    In the item of the manufacturing order, the object on which the work is to be carried out is recorded. In some cases (for example, in joint-product production), the production of several plant materials may be aimed at.
    With regard to its structure, the manufacturing order is a network of sequences that consist of individual operations. Thus, it is very similar to the routing. The individual operations can be subdivided more finely according to any viewpoints. Furthermore, production tools can be assigned to them.
    At this particularization level (that is, the level represented by operations, operation elements and production tools) are recorded the activity types of which use is to be made, the quantities of them that are expected to be required, and their consumption as reported during continuing production.


    Keys
    Type Name Size Released since
    java.lang.String NUMBER 12 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2017Table GOODSMOVEMENT ??? (see below) Version 30A
    Bus2044Table COSTESTIMATE ??? (see below) Version 30A
    java.lang.String ORDERTYPE 4 bytes Version 30A
    java.lang.String CREATEDBY 12 bytes Version 30A
    java.util.Date CREATEDON 8 bytes Version 30A
    java.lang.String LASTCHANGEDBY 12 bytes Version 30A
    java.util.Date CHANGEDATE 8 bytes Version 30A
    java.lang.String SHORTTEXT 40 bytes Version 30A
    java.lang.String PLANT 4 bytes Version 30A
    java.lang.String OBJECTNUMBER 22 bytes Version 30A
    java.util.Date SCHEDULEDFINISH 8 bytes Version 30A
    java.util.Date SCHEDULEDSTART 8 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    ManufacturingOrder ()


    ManufacturingOrder (com.ibm.sap.bapi.ObjectId objectId)
    ManufacturingOrder (java.lang.String NUMBER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    ure k,$756$w./usr/IBMVJava/html/enterp/en_US/sap/samples/masterrecipe.html.$$ SAP Business Object MasterRecipe

    SAP Business Object MasterRecipe (BUS1041)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- MasterRecipe
    

    The business object Master recipe describes the flow of operations in the manufacture of plant materials using the process engineering methods of process industries.
    The master recipe consists of master recipe operations whose order of execution is described by a succession. For its execution, a master recipe operation occupies a single production unit.
    In a master recipe operation several master recipe phases can be distinguished whose order of execution is also described by a succession. A master recipe phase is characterized by a uniform process-related situation.
    For a master recipe phase several instructions can be defined in which process parameters to be set or process values to be retrieved can be specified.


    Keys
    Type Name Size Released since
    java.lang.String TASKLISTTYPE 1 bytes Version 30E
    java.lang.String RECIPEGROUP 8 bytes Version 30E
    java.lang.String RECIPE 2 bytes Version 30E

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2003Table PROCESSORDER ??? (see below) Version 30C
    java.lang.String DESCRIPTION 40 bytes Version 30E

    The size of this attribute must be determined at runtime.

    Methods
    MasterRecipe ()


    MasterRecipe (com.ibm.sap.bapi.ObjectId objectId)
    MasterRecipe (java.lang.String TASKLISTTYPE,java.lang.String RECIPEGROUP,java.lang.String RECIPE)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     lꮻ$756$t./usr/IBMVJava/html/enterp/en_US/sap/samples/material.htmltml.$$   <>aet"/bdilnor =cghps AETfmuv,.02CDIMNORSwy(13:?BFGLPUVY)45H_jkxz-89QWXq%'7K#6J!+;Z|&,.sԡ`IS5" Rʓ􋨲QeI8bDca8 (;MQeIi3?@t1ldBѴh4,Th@M`V0ЍEVʕ!ʓE(P-~"7|or-J\?mGۻ^B#z?zםOF"p_(o#{mm5nm5nt ϧ !$_i6_G?}9\8#7[s`IxG!f(GﱤƼIE{_i~7۾>b܍Eஎh ׵+i^#C#{ms}܋@gߑ=ȶڏ>c;_ȡPZA<{ #9GdPvsO-6܈W#f6GbHl=ȶ׎Gۑ>אq,y#o~GXnϷ?>?r(E_ƁF"pWcH{uZ$qͷ'nkX!O!J8Gy<- 7a{0_!GȢ?]۾9IG/acm`OF"pWJ0C-lu8"+ȣqC~HAOIZ$qͷȶql#ȶ/,?:i^pWf"ӟȵ{{:;E 5o![nac;_:߼E #"G0?{uBuy܋mOj(:6b;Ђ(nƐ!ǛVW[ngkw\ho#{m>^spj>܋mOi:8. moF $n%k{#{mm9с$1`vi!=t`I~{9yul7ZO. >8ku󑷒!f({F $n[{=#7[y[[n5(PB$o[f8uşaȶ|qN߼#ѷb>ƣjk`y~_ny܋m|pG9" hMyD`u^w}?9܋mݨ@gkZ9́g|EYR|hmnn9[לbA)㜊k^q O\"̉'5y8&*v=gB&$AhprhY̓Bb@deJp]R貥Z,VƋ*v=gB&$X&+qfO1!t2Tk(gk4jWBVG%KV+qfO1 RhԫYE8Y@I] ctZrTk([,cqt"bEnheVNo8,Wbם*Qe:k(e"@Qb%Z,Y@X/@Xk(e(eWW8:1"Ƿq4Y_βGݒeW󬠀DP8* $ʵY_β`_׎ *Qe: dQl!eZ,[,cqt"bEnhe " kvJY_β"G k(e`G3`UuȢ?CʵY_ʶ4Y_Ǭ`Dċe:D>k(e0hZ,Y@X/@Xk(e(eWW8:1"Ƿq4Y_β>k(eq0Qa *Qe:|g^:,YE(%E k(lhYЉ=u $ 04>k(e ƉJY_β`_׎ *Qe: dQl!eZ,[,cqt"bEnhe "%Z,YAp&4(8pV+P, ts:eZ,YA,-$0lYEcEz6LHMWذ[Uu&$>Uu μtYV+PK"` *Qe*e;,{wE(I@` 4}*Qe:JY_β`_׎ *Qe: dQl!eZ,[,cqt"bEnhe " [Uu&"8Pk(eDk(e`G3`UuȢ?CʵY_ʶ4Y_Ǭ`Dċe:D40ݒeW1QG:Uu μtYV+PK"` *Qe*e;,{wE(I%Z,YAA0p1!1@’eWX,u,ʵY_βY[H`V+VƋ+lc۸,Y@HCqdYE(8LH<@xYE( :9x eW󬠖E6UUv=gB&$X&+P0 @ IeWA  "8H|YE( :9x eW󬠖E*Qe*e;,{wE(I@` %Z,YAÄ0D@ "8H|YE( :9x eW󬠖E*Qe*e;,{wE(IݒeWAFAC JY_β`_׎ *Qe: dQl!ҭeWW8:1"Ƿq4Y_β #nV+P@PL8"(8DpQ0pV+P, ts:eZ,YA,-$0:UUv=gB&$X&+P0 >k(e8PPpp@tYE( :9x eW󬠖E*Qe*e;,{wE( vybV+PDŽZ,Y@7X2eW󬠖E6UUv=gB&$X&+Pd-v-yҭeW @YE(/YE(%E k(lhYЉ=uY; u]^tYE(Dh‚AA0BUuzk(e(eWW8:1"Ƿq4Y_β'an+kΕk(e**Qe:#*Qe: dQl!eZ,[,cqt"bEnheVNo8,Wbם*Qe:  JY_βzk(e(eWW8:1"Ƿq4Y_β'an+kΕk(e8P@h<4Y_M1 aBjUt޴ldBѴh4,M`V f" tAʷhk(e;7dpđ MJf{nFs`D-@.$  ht7[`<+[nf{nF\l= Dne :RQe vh;-Bt( O7[0*]JYC?u DF( 4J,OgyD`VE$q*貥[,vA4Y_β'an+kΕk(eƉ2eW[(dy;sNy g4瘗a MJUnKVY9%CS@}eZʕlhNǓ4瘝 {sNyvԮ1h:-y .Zʝg4瘗a M(ҭeJ4YC'cۚsN=<Ļjyr([HjjWBPwq9eKV[,9'`juӞb]5<9-$55+45}Tk*UUeWeWcY+DҥԱ/c?;{n]~Y+A@ҥԱu}_$pkqǝG4/6t84"*]K^TTYE*eNǓ4瘝 uY; u]^tYE(Dh‚AeW[(dy;sNy g4瘗a MJUnKVY9%CS@ /YRPvA5:ni1.Ц;-gE7RԫYS!E6UVƋ(dy;sNy g4瘗a O6E y MJ@.6G7"u*TcE2v<<MNۚsK"ĆuKV[,[kvQe*Qe:ʖ:R4H@H*]KC\Dr-7x/c?9܋m~Y+A@ҥԱu}_ pkqǝ@qw" R .*cUʕlhcۚsNe:pXů:Uu$&<@ 4x@tYE*v;NӞbv&Y9%CSRhRU{sNyvoX2eJ4YC'cۚsN=<ĻjjWBqJReNۚsKY[H`V[,9'`juӞb]5<9-$55+(B;и܊2ԫYRPvA5:ni1.lו.ZʕlhmEYE*XmJDp! tu,e. >7"E~E[qs<7E o[fԮJRP{M~.p4S3vylȢfԮFAKc+ʘk([,vA4Y_βAF IeWƃH@PL *Qe:ʝ(NǓ4瘝 {sNyvԮZ*Tk*uӞb]54=bʵ*e 'ni1;S!] ctZp*]J:ni1. dQl!ZʕlhNǓ4瘝 {sNyv`PԮB;и܊2ԫYRPvA5:ni1.lו.ZʕlhmEYE*XmJDp! tu,e. {n]_O!(?:B=[qsI+st_ 6z!~Y+A@ҥԱu}_ pkqǝ >fE6t84"*]K^TTYE*eNǓ4瘝 u QxđJ9*Qe:<"(%*Qe:ʝ(NǓ4瘝 {sNyvԮZ*Tk*uӞb]54#*TcE2v<<MNۚsKt)GkTu*T=<Ļjh%EҭeJ4YC'cۚsN=<Ļjyr([HjjWC!\lnERUVƋ(dy;sNy g4瘗a O6E y MJʗReJ4Y_ʶUu,uK6t"8h:TCp "H0h@@ <"(%#R$*]K^Y+ѡxRX:Z,VƋ*v<<MWe@`` nV+PpxYV+TE2v<<MNۚsKt*7RԫYS!@`FUVƋ(dy;sNy g4瘗a MJS3כRU{sNyvK"` *TcE2v<<MNۚsK"Ćt EGT8 BޅQ.ZʕlhNǓ4瘝 {sNyv`PԮu*TcEmn,Z,YRTjWB# Kc(yGq9Qz?Omt# vi(b>q쀳ÛgvfԮJRP/]F@/ͷ;G$nv6k~rs,ם$Ru}CÆG(Sn^t0À n9|g:0$s8px$(&Li>/{EW3v ͠3Ä]7[E/o @@85wc shTG{1b5l n9T< ]7[E/o @@85wc >fE˛B;وsHs`G3bǀ(WcM~.p4S3v`i7r(~TI+#ڏfnϧGbH%G4\/6t84"*]K^TTYE*eJ3SE*Qe Umn,:*OWS}G IBjUtN gvZ!hq hXC? \F"pvZBdQ\l ,v(d,ږ2(gePcE3Yh+@hwy?RU`Ѐ"4xA$hHhYAZyO7[0a'`W.m7"EϧCx %oGZ{'muB>iqor-v7#of;8xDP \hy익ֶ/? Qbg-!^wȶH!_O΃~v[p"(_~tMC? ¾{ڈW=P}Ky$gk/ :[_z?44 kFr7۹Gr /~my$|AO@I苣GG~sO@N ;_m؏GbՒ4 8 bI? I;:$Z󽿵!f}H@1h8X``H``  z-"\zQ}rv泐~[q9BIy"+#x7yߧAlͷ6rm4;9 C[q9}9'OD_OΈ;y$qBdsr<8F;_Ȁ<@g'n%\hy㈒vC익ֶ/? z$Am$󐃝fWNsh:o_ %o6Pvn8_;kn.m?~[n$[]kvxG익ַgN\ksuK@$mq܋mךLv익ֶ/? W#{mvvZ44 |4<苣GۑcQA.C;O#}iqACLjB5['ni1;SsNyv4D *u['ni1;SsNyv $>+JOt.qH޶iY_ΟA"G>*Uʝ'ni1;E( vybV+P0h"Uu;kvQe 'ni1;S!] Tu*T=<Ļjh/YRPvA5:ni1.Ц;-gE7RԫYS!E k*U;NӞbv&Y9%CS̓BbCSR"# ȣ*]J*e 'ni1;S!ȡo1!]yRUVƋ+VݔY_ʵY_βSReTcE;NӞbv&+Pd-v-yҭeW pp"xV+TE2v<<MNۚsKt*7RԫYS!ޱ}eZʕlhNǓ4瘝 {sNyvԮ1h:-y .Zʝg4瘗a M(@dYRPvA5:ni1.lЁ!\lnERUVƋ(dy;sNy g4瘗a O6E y MJʗReJ4Y_ʶUu,uJk([,vA4Y_β'an+kΕk(eEGk(eNݔYC'cۚsN=<ĻjjWBp*]J:ni1.u#*TcE2v<<MNۚsKt)GkTu*T=<Ļjh%E%ZʕlhNǓ4瘝 {sNyv`PԮBdsr(ʗReJ4YC'cۚsN=<Ļjyr([HjjW^Tk*UUeWeWcTTYE*eNǓ4瘝 uY; u]^tYE(Dh‚AeW[(dy;sNy g4瘗a MJUnKVY9%CS@ /YRPvA5:ni1.Ц;-gE7RԫYS!E k*U;NӞbv&Y9%CS̓BbCSR"# ȣ*]J*e 'ni1;S!ȡo1!]yRUVƋ+VݔY_ʵY_βSReTcE;NӞbv&+Pd-v-yҭeW󬠀$i$ 9\^H^{%-qaPu7۹Gr=qE;%;_\lnG 8sOQ'n%{>#{_и܏d $GcS9'`jtni1.EQ0pP$L eZ}NYRJV(gPcE3YۚsNԮARԫYE0d( X2*vY1 eNƋ+x*貿>J,OgyD`VE$q*貥[,vA4Y_β'an+kΕk(e8P@h>Uu;kvQe 'ni1;S!] Tu*T=<Ļjh:k*U;NӞbv&Y9%CSRe*Tk*uӞb]54Ȣ?AGk*U;NӞbv&Y9%CS̓BbCSR"# ȣ*]J*e 'ni1;S!ȡo1!]yRUVƋ+VݔY_ʵY_βfԮG JRP6yD`?9x~r7ۻ^D+1Pם{qI`WƥF"wy"+ʛ^Y+A@ҥԱR .*cUʕlhcۚsNe:Z #zXđJ9*Qe:4_%`6`tl_ƁkB$o[?彯;i6n9ؒ7IG9Ol#E=yݗG4~޶ ͩ] .u PPEl 9y,e"HqHsࠡHhBor-s`I[8ࠡH$0 ~r7ۻ!~GxࠡH!ABPKOZ޶Ƣ_AAAAZ~r7۸ࠡH`hPP=ñPPPPEF܏eAB P({%-o[AAAAVKOZ޶F!PPPQ܋mpPP$ABPKOZ޶!+ȶΌ !@  Z|"6!=\h((((EgƄ{ j:WQڏ6k~r 3R .*cUʕlh[kvQe k(*e UePSE'Ƌ+ݩ#$%5*'Ox F B =n 7ہ٫4D!q(.6EUE2XmKE3[(gm Р4;I܋m|'\sH~{H}?>?b/и܊!~W?"+6͎^棾:M?!|E,|πb `=޼ f0/ʶ5;NӞbv&O! h@:U+ʶ5;NӞbv&O! @HxOPq9-A"R9kH4\h'\ ׳J/a==.6G7#I`+Ko~t.6G7"0$+:HUeJ4YS9'`heVNk\{eW󬡡!x$]!\X#]kk]ᰋ9 sCr>:(a `_mJPh8tu,eyfԮFAKc(yGq9}Y'oe{sm3;t/ʘk([,vA4Y_β'ad V+PАx`T2z#?O@X 4,P zsm3;t/ʘk([,vA4Y_β'an+kΕk(e" ’eW[(dy;sNy g4瘗a MJUnKVY9%CS@α}eZʕlhNǓ4瘝 {sNyvԮ1h:-y .Zʝg4瘗a M(@:UVƋ(dy;sNy g4瘗a O6E y MJ@.6G7"u*TcE2v<<MNۚsK"ĆuKV[,[kvQe*Qe:ʖ:R4H@H*]KA{Y֐n#4+%~B{Q\lnD+4G7O{Q$EyqƢ_R$*]K^Y+ѡxRX:Z,VƋ*v<<MW*Y-krUu8`Hx【hYE*v;NӞbv&Y9%CSRhRU{sNyvFUVƋ(dy;sNy g4瘗a MJS3כRU{sNyvK"` ZʕlhNǓ4瘝 {sNyv`PԮBdsr(ʗReJ4YC'cۚsN=<Ļjyr([HjjW^Tk*UUeWeWcY+DҥԱ C#`^{EGGq9/\/a#wf#{}{0֐n0/6t(4H:T2jWAっB Ա5n{#@g}=.6G7"LuJYRTy;sNy ,Y@UZYE(p #Z,YSePvA5:ni1.Ы@JReNۚsK'X2eJ4YC'cۚsN=<ĻjjWBqJReNۚsKY[H *TcE2v<<MNۚsK"Ćt EGz#FTk*U;NӞbv&Y9%CS̓BbCSRC[ۥKV[,[kvQe*Qe:ʖ:R4H@H*]KA8~; ߧ4G7O ޶z#:(a `_mJPh8tu,eyfԮFAKc(y{ P @/j=:>Gq9*cUʕlhcۚsNe:pXů:Uu"4xAV+TE2v<<MNۚsKt*7RԫYS!@FUVƋ(dy;sNy g4瘗a MJS3כRU{sNyvK"` UVƋ(dy;sNy g4瘗a O6E y MJ@.6G7"u*TcE2v<<MNۚsK"ĆuKV[,[kvQe*Qe:ʖ:R4H@H*]KC\Dr-7x/c?9܋mX.\M?zM? ͩ] .F $# 柆OπcQyC[n$Ey?:" ͩ]ʗRW1*QeJ4YS9'`heVNo8,Wbם*Qe:Ɖk(eNݔYC'cۚsN=<ĻjjWBp*]J:ni1.k*U;NӞbv&Y9%CSRe*Tk*uӞb]54Ȣ?AV[,9'`juӞb]5<9-$55+(B;и܊2ԫYRPvA5:ni1.lו.ZʕlhmEYE*XmJDp! tu,e4Fga~/:{u{8+6#Oj= sH~vîB0#uB4 C}q G:{u{8+Gq9{N|# ͩ] .,ڕxhЈ<|u,eySReTcE;NӞbv&+P2lsIEF(YE(PpYE*v;NӞbv&Y9%CSRhRU{sNyvh/YRPvA5:ni1.Ц;-gE7RԫYS!EJ*e 'ni1;S!ȡo1!]wq9eKV[,9'`juӞb]5<9-$55+*]J*e*[+V+T,ڕЈB@RX~x撋#(cO?8k(e ʵY_βmn,9'`juӞb]55+V .Zʝg4瘗a Mn}eZʕlhNǓ4瘝 {sNyvԮ1h:-y .Zʝg4瘗a M(@:UVƋ(dy;sNy g4瘗a O6E y MJ@p# ȣ*]J*e 'ni1;S!ȡo1!]yRUVƋ+VݔY_ʵY_βfԮG JRP[]< =bO(B;и܈_~}9~^fmאH޶!]6|pEtv}!lq G󐃝fA" I.mKhDh‚A((F"wy"+sj[Ax!u|-`D/M?|-xDh0Skį[C<-A£6PP2_Zn9$s4 ԶGQ9Skev< .mKhhHhT2V*UʕmE0g:+UcE3VݔYC%LuT,v 2jUtN g;5wnGZA!hq hXC? \F"p;5wnGZABdQ\l ,v(d,ږ2(gePcE3Yh+@hwy?RU`Ѐ"4xA$4xp BV(gPcE0d;-Bt)GkTu*Qe PK"` Z,ʶ4Y_h;-C4瘝 ]vb&Ũk`Tu*Qe TS9'`jtni1.D  ʴe=n`Nlr?f6оMY^UVƥ[kvTYE3VƋ(g9'`jWH\l RU2uYC,uKE;kvu,ȘBhcE<] iY_ΟBVG%Z}Wt3<"F|Ot8iYRTy;sNy ,Y@U[ صJY_βĥZ,YSePvA5:ni1.Ы@JReNۚsK_qV[,9'`juӞb]55+LvZ8΋^nKVY9%CSA,-$k*U;NӞbv&Y9%CS̓BbCSR"# ȣ*]J*e 'ni1;S!ȡo1!] ҥԫYRW򭵻(k(eKRͩ]$ $. z?}ۺѲ!\# (;>q9,ڕР pRX%^ph  6k M{-8TlȀ"FMGI!fԮFAKc(yۉgՠm` j=:>и܈_1*QeJ4YS9'`heVNo8,Wbם*Qe:  DA%Z,YSePvA5:ni1.Ы@JReNۚsKbʵ*e 'ni1;S!] ctZp*]J:ni1. dQl tYRPvA5:ni1.lЁ!\lnERUVƋ(dy;sNy g4瘗a O6E y MJʗReJ4Y_ʶUu,uK6t"8h:T2{~q] 苣D+x4|7Ei{IlrR$*]K^Y+ѡxRX:Z,VƋ*v<<MW*[ZZ,YAQb#%Z,YSePvA5:ni1.Ы@JReNۚsKbʵ*e 'ni1;S!] ctZp*]J:ni1. dQl tYRPvA5:ni1.lЁ!\lnERUVƋ(dy;sNy g4瘗a O6E y MJʗReJ4Y_ʶUu,uK6t"8h:T2##$Ey?8=twfԮJRP$u#vvCO@1{2?p |umfԮJRWmJT2V*Uʝ'ni1;E)V+P4@8T@ V+TE2v<<MNۚsKt*7RԫYS!_qV[,9'`juӞb]55+LvZ8΋^nKVY9%CSA,-$k*U;NӞbv&Y9%CS̓BbCSR!Bdsr(ʗReJ4YC'cۚsN=<Ļjyr([HjjW^Tk*UUeWeWcY+DҥԱ  OsI`_mJPh8tu,eyfԮFAKc+ʘk([,vA4Y_βcJ/ؒ7IG%Z,YBEZ,YSePvA5:ni1.Ы@JReNۚsK@pޱ}eZʕlhNǓ4瘝 {sNyvԮ1h:-y .Zʝg4瘗a M(@:UVƋ(dy;sNy g4瘗a O6E y MJp# ȣ*]J*e 'ni1;S!ȡo1!]yRUVƋ+VݔY_ʵY_βfԮG JRP4_и܏6 ؑG~G 苣Go/s7# os~0֐n3ER$*]KCaΑT0ΟqRF(q0gH0ΐ "A\J܎M-hc,ڕxhЈ<|u,eySReTcE;NӞbv&+P2lsIEnV+PQQƃZ,YSePvA5:ni1.Ы@JReNۚsK@pޱ}eZʕlhNǓ4瘝 {sNyvԮ1h:-y .Zʝg4瘗a M(@:UVƋ(dy;sNy g4瘗a O6E y MJ@p# ȣ*]J*e 'ni1;S!ȡo1!]yRUVƋ+VݔY_ʵY_βfԮG JRPso!_Oj?mnlףٛmv3!7X|7Ei{s;y͎^jWBDåKc*[B7D't#qA^TЃy}?>ݝ"\j[CG'M+?Gh̓{ o[q!:y֐ikgym.Y֐iMWƇ#Äs:@0p ((yu{v /4+ s:G' t`@$((zi#or-wy{;_:ߡ~WtOHPP2G[n$\hxL ;9<8Lߎ#i?MQB4<&a㹝 80%ע\uh_Ƈ <8LfEM @w3 t` HPP-\jW~rs,ם iz=Ƣ_i`I"D] + s:@:xpxgH tG`Ek^w @w3 t`i $@ּ"q0gHO8$((8;-ZF0_Ƈ <8Lxގh_Ƈ <8L8@ą,-G:~Oۉ٦$?q;LHXZ6v"Ց5pA=p2&$1< H @p<ĂSRʕ!E*\/E*?H( kp$756$./usr/IBMVJava/html/enterp/en_US/sap/samples/network.htmltml.$$ SAP Business Object Network

    SAP Business Object Network (BUS2002)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Network
    

    The business object Network describes the flow of activities of a project to be implemented, that is, how and in what order the tasks required for implementation of a project are to be carried out.
    A network consists of activities that in turn can be subdivided by activity elements. The activities of a network are arranged in a net pattern on the basis of technical, content-related or time-related dependencies between the activities.
    Activities and activity elements can represent different aspects of the processing. It is possible to distinguish accordingly between activities and activity elements that are processed internally and those that are processed externally. Independently of the type of processing, there are also activities and activity elements that represent cost aspects solely.
    To activities can be assigned production tools that are required for their performance.
    The tasks described in activities or activity elements can be explained in more detail in standardized project information.


    Keys
    Type Name Size Released since
    java.lang.String NUMBER 12 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2044Table COST ??? (see below) Version 30C
    Bus2007Table MAINTENANCEORDER ??? (see below) Version 30C
    java.lang.String ORDERTYPE 4 bytes Version 30A
    java.lang.String CREATEDBY 12 bytes Version 30A
    java.util.Date CREATEDON 8 bytes Version 30A
    java.lang.String LASTCHANGEDBY 12 bytes Version 30A
    java.util.Date CHANGEDATE 8 bytes Version 30A
    java.lang.String SHORTTEXT 40 bytes Version 30A
    java.lang.String PLANT 4 bytes Version 30A
    java.lang.String OBJECTNUMBER 22 bytes Version 30A
    java.util.Date SCHEDULEDFINISH 8 bytes Version 30A
    java.util.Date SCHEDULEDSTART 8 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    Network ()


    Network (com.ibm.sap.bapi.ObjectId objectId)
    Network (java.lang.String NUMBER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    encie kR$Y756$0{Y./usr/IBMVJava/html/enterp/en_US/sap/samples/operatingconcern.htmlllh$$ SAP Business Object OperatingConcern

    SAP Business Object OperatingConcern (BUS0017)

    Keys
    Name Type Size Released since
    OPERATINGCONCERNCharacter(s)4 bytesVersion 30C

    Attributes
    Name Type Size Released since
    OBJECTTYPEStructure/Table??? (see below)Version 30A
    COSTACCOUNTINGAREAStructure/Table??? (see below)Version 30C
    OPERATINGRESULTOBJStructure/Table??? (see below)Version 30C
    DESCRIPTIONCharacter(s)30 bytesVersion 310

    The size of this attribute must be determined at runtime.

    Methods

    Events
    ---

    C"> SAP Business Object OperatingResultArea

    SAP Business Object OperatingResultArea (BUS0017)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- OperatingResultArea
    

    The business object Operating result area is an organizational unit formed for the purposes of accounting that subdivides the &IM11000& from the viewpoint of profitability analysis.
    The operating result area represents a part of the enterprise for which a uniform segmentation of the sales market exists. For individual market segments, which are described by classifying characteristics (e.g. article group, customer group, country, distribution channel), an operating result is shown by setting costs against sales revenues.
    The market segments of an operating result area are represented as operating result objects.
    Several cost accounting areas can be assigned to an operating result area.
    Moreover, for an operating result area it is specified whether profitability analysis is to be carried out as costing-based and/or account-based profitability analysis.


    Keys
    Type Name Size Released since
    java.lang.String OPERATINGCONCERN 4 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus0004Table COSTACCOUNTINGAREA ??? (see below) Version 30C
    Bus2077Table OPERATINGRESULTOBJ ??? (see below) Version 30C
    java.lang.String DESCRIPTION 30 bytes Version 310

    The size of this attribute must be determined at runtime.

    Methods
    OperatingResultArea ()


    OperatingResultArea (com.ibm.sap.bapi.ObjectId objectId)
    OperatingResultArea (java.lang.String OPERATINGCONCERN)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    EDULEDF k$.756$../usr/IBMVJava/html/enterp/en_US/sap/samples/organizationalunit.htmlh$$ SAP Business Object OrganizationalUnit

    SAP Business Object OrganizationalUnit (PDOTYPE_O)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- OrganizationalUnit
    

    The business object Organizational plan unit is an organizational unit that represents a division of the enterprise that is defined according to its responsibility for fulfilling specific work related tasks at the enterprise. Organizational plan units are structurally integrated within an assignment hierarchy and interlinked through a reporting hierarchy. In this way, a department, for example, can belong to a central department but still report to the executive board.
    The manner in which organizational plan units are defined and linked determines the form of the organizational plan unit (such as a line organizational structure, a matrix organization, a functional organization, a regional organization, divisional organization).

    Positions are assigned to organizational plan units.


    Keys
    Type Name Size Released since
    java.lang.String PLVAR 2 bytes Version 30D
    java.math.BigInteger OBJID 8 bytes Version 30D

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    java.lang.String DESCRIPTION 40 bytes Version 30D

    The size of this attribute must be determined at runtime.

    Methods
    OrganizationalUnit ()


    OrganizationalUnit (com.ibm.sap.bapi.ObjectId objectId)
    OrganizationalUnit (java.lang.String PLVAR,java.math.BigInteger OBJID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    tr k$x756$x./usr/IBMVJava/html/enterp/en_US/sap/samples/payrollaccountarea.htmlh$$ SAP Business Object PayrollAccountArea

    SAP Business Object PayrollAccountArea (BUS0020)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- PayrollAccountArea
    

    The business object Payroll accounting area contains the organizational unit "payroll accounting area", for which uniform specifications relevant to payroll accounting can be defined.

    A payroll accounting area specifies the dates on which payroll accounting is performed, the retroactive accounting limit (that is, the payroll accounting period furthest back in the past for which retroactive accounting can be performed) and retroactive accounting recognition.
    The payroll accounting area "non payroll relevant" is an exception. Payroll accounting is not performed for the employees assigned to this payroll accounting area.


    Keys
    Type Name Size Released since
    java.lang.String ID 2 bytes Version 31G

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    java.math.BigInteger PERIODPARAMETER 2 bytes Version 31G
    java.lang.String PAYROLLFORPAYAREA 1 bytes Version 31G
    java.math.BigInteger DATEMODIFIER 2 bytes Version 31G
    java.lang.String TEXT 20 bytes Version 31G

    The size of this attribute must be determined at runtime.

    Methods
    PayrollAccountArea ()


    PayrollAccountArea (com.ibm.sap.bapi.ObjectId objectId)
    PayrollAccountArea (java.lang.String ID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     k@$? 756$ 9? ./usr/IBMVJava/html/enterp/en_US/sap/samples/person.htmlntarea.$$ SAP Business Object Person

    SAP Business Object Person (BUS1009)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Person
    

    The business object Person is concerned with natural persons in the role of an employee and in the role of an applicant.

    Employees are natural persons who contribute or have contributed to the creation of goods and services within the enterprise. As a rule, this occurs on the basis of a work contract or a contract for services.

    The employee constitutes the main focus of interest for the majority of human resource subareas (personnel administration, time management, payroll accounting, etc.). All business processes within these areas relate to the employee.

    Applicants are natural persons who use an application to express interest in entering into a work relationship or changing an existing work relationship.


    Keys
    ---

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    Person ()


    Person (com.ibm.sap.bapi.ObjectId objectId)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     l $R756$[./usr/IBMVJava/html/enterp/en_US/sap/samples/pieceofequipment.htmllh$$  t<>e"/adilnor =bcfgps EIThmuv.ANRSUy,0123:BCDFGLMOPQV_jqw()xz%-58HKY#'4XZk679?JW+;|! M ød曒$)w )VD=Q2:(}ye`x8$4ŧ-"A֊hJ&G^D ohl:q 9qFmF@ ML0<bӍ :o6E=EpO"({7l ,0Av]LuQ2d'<:- rw#`04Q28Rt6Jո :FMZhv YZE0/fma#5aaA!9DʎJhe ((B7EYo<4$`^e c`<5 Eh" yDQ;m` Mm DʐDD4u"(~Mm0ASk: o@a @}壖ױZ v@p-5n0/f/棼1kAq_ 24mzk j, u  }rߖ@k0!l #!a @}t# >tkͼl;X`Poտx646+G5lE;v.oÖ5lc{`|m.`p t#X`\?1}`\(Aƹr6E}9.7f,fqאmzk jlCW24mzk jmc/Afu 6;X`Poh棚F<>tu jmq4pn#CGF׀K^~ٶ:c o@a @},q7 sQ#B:A~Yq6l{@~[0%?[ {`@"LuVAG5f:k j G[[ןhJ \Gb#k^~Amv>eC-掶hvim&efށi\m[_y\{(Ve墋O}5oBu:6oi.=:qDDYm-k- mEמZ@B,:peH8ML6KHp0(ȠML@*ѕE*좉xDώ0`DG7hvk8TԙCDйQ*좉{0eHTԙAr*UE`Y82ZܨʕvQD=2qŤ*jL ufE6FT&UE6KHds}'i젺Ȭ5y>-y("ʻ(v`e]Q;Oen(8t'iWL]LE=f: 1UEP!$vQD=?hʻ(v Ql `d'iWN<:-!("-熈ʻ(v %]Q;Oe?hʻ(v Ql `d'iWN<:-!("-熈ʻ(vDJ(v~ѕvQD=?@WeNү(yt"ZC#4Q;OeEa[ kϕvQD=BAD\'iN0O2([H*좉UE6KHds}'i젺Ȭ5y>-y(!Ƌ ʻ(vl`e]Q;Oen(02UEƊ'ilMNAuXkD|Z]Q;Oe@A(l`e]Q;Oen(02UEƊ'ilMNAuXkD|Z]Q;OeĄF*좉{(~ѕvQD=?@WeNү(yt"ZC#4Q;OeEa[ kϕvQD=  ,BUEP 'i젭J(vxD>8̓i{(.+ rxh^|'i`H"`4\'i FUEPV` %]Q;JhvaЉi oD=Yo<4Gů>UEP4X0@`Lh|'ic*좉{(+qE~(^4Q;O0`DG7hv \#ן*좉{(& 4 ʿWeLNJ>K Kl ,0A0xj+@4ŠБ{7f{7`*]Q2:4Q;O+X-,4.ml$p> Yo<4Gů? E_ԫ&GF'iyeBjT Ͱ1 Ɔ8d7{`. ͰF{\V=EKRRQDzuD|hEmg3ReA#uFT$VOeÂc``]Q"xD|hE b*L ufE6R*UE+m[H*좉Ɗ'm([m= hb+sOyiA5&PF326-CJWeHʞu>8Z|MO;AA@\sQN16ͽ5^Am0Aጼlm~ٍ[񗎁5tZ>$ #huKB‚C!#EiQT o!m{^~Z>㘾 ufށA.m 0"/J:Џy6kx+>XPH}yٷv>uKB‚CqTA&F|HF[^ןȎ~tp ,(n: o@a @} 6@ATA&F|HF[^ן΁׀apv 6 shXPH`p@XuIl׵:+u }yٷv>vs0DXx:>$ #xXPH`D8Dh q[$  y\sQEfksu2oq׬0A̸PZsmunfj9hl үEni->&sOyiu@$`xWSA9G.7|_l~ }4H@<7I|tvo‚C3QƭζbqЎ!cuqр^|tv4>:߀Pxp -dsM 66h:ǣn;/ 6 nvTƥ]f:UE+iWHƊ$VOf"4Re z Q*좉*{(E X2&zu!\KH4Q3E4M qQ;OAr:'ihUEPDXxWeNSc$T+sOyiA5=ni-.jL6 Rʞ̷4Y4?hʻ*UE*|q ̷4Y5&P֍"כ`Q*sOyiuA[-$t^4Q"[{O sOyiuӍAo- ԙB!\V>Q*WHVj{2Z]gt`P[H!5&VRʕxD*1E'icYLQ,e ;q׼VN٘qz-Gqא\V>1剣 <ˎێ}l6ͽ5'`ZD .+~㚎q0*cUE*񢉟Eni->&'iZlo|HF]Q;Oe $ *좉{*zuDEni->&-=wMI"&R*USٖ;^4Q"[{O sOyiuRe[h2-y Rʞ̷4Y4?@WeJhEO"4Sٖ;"ZA 2B? }2*UR(S㈭=eȠBjL*2]*Uc'iWeNRTԙAa(`x0 $ a ÂcƉ,p4$nTT&UE>8Z|MN@г]7ʻ(v  ʻ(vʞtQ"[{O sOyiuRe TʕvTe~ѕvTƊ$T+sOyiA5=ni-.jL ufE6R*USٖ;[H*WHVj{2Z]gt`P[H!5&PB=B!\V>Q*WHVj{2Z]gt`P[H!5&VRʕxD*1E'icYLQ,e r>$ #x?G- t _l/VeckA  ƭ G^bQ.?@ou &Fr֓#CG^GāoÂc Z9?u@2ןVsh!W/f:H877XpL`XXPft#W/7KB+ut`?u #@B7a1aaAnj9YlB9_Xnz(,$*2>tWeLƊ&|q (kAk hyܫ'iaA!%]Q;OeOY(S㈭=e2Z*TeJ*{2Z]gt@|`e]*>8Z|MOf[{K(BkFّkͰTʕvTe頭ʻ*UE*|q ̷4Y89MI0zP!GqFTeJ*UE*|q ̷4Y89MIFT^4Q;JuD*좉{*Xz(",8<`x>TeKCG5y6ks5q_^~2f ^~^cVᣯ1}yvbZ7uaA!YLhpp@lʖ2 Ҧ:]Q2(Vhv0|HF]Q;Oe  vQD==f:EO"4Sٖ;h`Q*sOyiu@#'WeJhEO"4Sٖ;ZѶdZl*2]=ni-.h+qE~ʕxDEni->&-=wN6ERe #,BcQRʕxDEni->&-=wN6EReiQ*WNҮtQ;J(vʖ:RPG#@B7ra @}VG1}{_ƭ혂-yx[棐\~ً1h1׆AYLhpp@lʖ2 Ҧ:]Q2(Vhv0&-=wMI!nlȵ*TeJ*{2Z]gtV` ]*>8Z|MOf[{Kl yi&=GX# ߸*2]*>8Z|MOf[{Kl yi&ң*UR(]f:vvQD=,uK=I0<*2Gāo/VeckA  ƭ G^bQ.?@^bFY,(g2A*X7JvQDʼhg[{O {($GānUEP"]Q;OeOY(S㈭=e2Z*TeJ*{2Z]gt$x?hʻ*UE*|q ̷4Y5&P֍"כ`Q*sOyiuA[-$vTƊ$T+sOyiA5=ni-.qr(-(`!`B.+~⌨ʕvTƊ$T+sOyiA5=ni-.qr(-+JWeJhvu뢉UET,&PDXpx|ʖ2j9lףk jEgb[񗍍1Z,8&387 yG bѽc @n#RSkI#@B7a1aaA ̅^ۊh<^#@B7a1aa@!B0"[1Ў㚎ۊhH0x5*]#n6Z`ViA#o}ca#ovvQDD?ԯ=c촏&K0k1_[zu EhCFh2}`ٽxfHa @}@# +AqX@yWQ"gc(Em=f:Em>4Q"{3Щ2 {`:R*UE+ma1aa@а$ B\:u<=n΁ iyٷv>Qz=nuKP:`|H&tLq׍_[~B09/棖-=χi5}~h^j86*Vjx4Y4Fq=Ӛj`rz7E: ߸cDt^5*1R([JhEm>4Q"{1 )cJWeHSE(VTQ3cZ@颉(h\xXqQ;OCDм1B#ʸ(dWE*񢉟Eni->&'i젺Ȭ5y>-y("ʻ(vʞtQ"[{O sOyiuRe TʕvTe8 FUR(S㈭=e2-ִmJWeOf[{K QlpWeJhEO"4Sٖ;"ZA 2BcQRʕxDEni->&-=wN6EReiQ*WNҮtQ;J(vʖ:RPG }E 56u j<.!h6ͽ0ASkxc/FsG<[Nm' ʌc(>*cUE*񢉟Eni->&'i젺Ȭ5y>-y( xWeNSc$T+sOyiA5=ni-.jL6 Rʞ̷4Y4 FUR(S㈭=e2-ִmJWeOf[{K Ql arʕxDEni->&-=wN6ERe # ߸*2]*>8Z|MOf[{Kl yi& !ң*UR(]f:vvQD=,uK=I0<*2AqXkNm[ 529uWDt9ѵ7K=I  RPBy}SR(WL+sOyiA4Q;OeEa[ kϕvQD=004`H8Z|MOf[{K(BkFّkͰTʕvTe頭*WHVj{2Z]gt`P[H!5&PB? }2*UR(S㈭=eȠBjL*2]*Uc'iWeNRTԙAa*X9q{jχi5}~hX;q׍ch?@`s]xY,ki| ky>Dt9ѵ7K=I  RP|aTT&UE>8Z|MN@8 ؏yܫ'i`pH ]Q;OeOY(S㈭=e2Z*TeJ*{2Z]gtq~ѕvTƊ$T+sOyiA5=ni-.jL ufE6R*USٖ;[H\^4Q"[{O sOyiuӍAo- ԙB!\V>Q*WHVj{2Z]gt`P[H!5&VRʕxD*1E'icYLQ,e r ߸PZsm^5}n/G*cUE*񢉟Eni->&'i젺Ȭ5y>-y(E%]Q;OeOY(S㈭=e2Z*TeJ*{2Z]gt~ѕvTƊ$T+sOyiA5=ni-.jL ufE6R*USٖ;[H *WHVj{2Z]gt`P[H!5&P!GqFTeJ*UE*|q ̷4Y89MIFT^4Q;JuD*좉{*Xz(",8<`x>TeKCG59,֜Gqבn: o@a @}SR(WL+sOyiA4Q;Oeփc|^#@B7*좉{(@X!WeNSc$T+sOyiA5=ni-.jL6 Rʞ̷4Y4`e]*>8Z|MOf[{K(BkFّkͰTʕvTe頭ʻ*UE*|q ̷4Y89MI,BcQRʕxDEni->&-=wN6EReiQ*WNҮtQ;J(vʖ:C h8X4H@?`  %pҦ:]Q2(Vhv`8YWeN@4X'i1E*|q ̷4Y5&P@JWeOf[{KF0O2ʕxDEni->&-=wMI!nlȵ*TeJ*{2Z]gtV`  vTƊ$T+sOyiA5=ni-.qr(-(`!`B.+~⌨ʕvTƊ$T+sOyiA5=ni-.qr(-+JWeJhvu뢉UET,&PDXpx|ʖ2j;^cQAGqל~nv6 wEfufށ4Eyq׍_[~B09*cUE*񢉕u뢉+iSEm*좉Ɗ$VҮtQ"LuLNJ>H:jT#}` EhCFh2}`ٽxfHa @}DE*Xz2$Vc$VE+m> (@ 70*2]Q"{( EvQDUE+i*{3Щ2-ִmJWeH Ql p|$Vү(|hEmg3=ԙADص<*2]Q"{*zu+sOyiA5pאmzk j/5ӛl:u j<.8G'aq{27q0D8h  L ;qאmzk j"ӛl5[لCY!B-W Ƣ'_Xqׇf[F2w,.ߣkfkx9 |HFi 6CFҢ24#@B7^}1}x6ͽ5\4`D^uIl׵:V}.-0n: o@a @} 6 tL7`?qבXP ufށA.m FL7`?qםW/ @^Am0A$Rа* #B>$ #x?kuVG1}x n: o@a @} 6$QT o!m{^~mq4pb 0 aA ufށLX`PoUS㈭=ni-.h#*{(>4o홯uqƉ244sQ4 {7aA!V[1GX:=^|tv4>:߀Pxp -dsMƐG}ٸ_^mAmv>t^5*1R([JhEm>4Q"{1 )cJWeHSE(VTQ3cZ@颉(h\xXqQ;OCDм1B#ʸ(dWE*񢉟Eni->&'i젺Ȭ5y>-y("ʻ(vʞtQ"[{O sOyiuRe TʕvTe8 FUR(S㈭=e2-ִmJWeOf[{K Ql p]*>8Z|MOf[{Kl yi&=GqFTeJ*UE*|q ̷4Y89MIFT^4Q;JuD*좉{*Xz(",8<`x>TeKCG59,֜Gq׬0A̸אmzk jxc/Fwok{Yo9`㚈nz(,$*2>tWeLƊ&|q ("-熈ʻ(v4,  Eʻ(vʞtQ"[{O sOyiuRe TʕvTe>0O2ʕxDEni->&-=wMI!nlȵ*TeJ*{2Z]gtV` ]*>8Z|MOf[{Kl yi&=GqFTeJ*UE*|q ̷4Y89MIC[FT^4Q;JuD*좉{*X1*좉xDώ"4EP]dVWeNCƅB#BAb(]HVj{2Z]gtԙB-l*2]=ni-.h FUR(S㈭=e2-ִmJWeOf[{K Ql p|^4Q"[{O sOyiuӍAo- ԙC(ʌWeJhEO"4Sٖ;"ZA 2ʕvTƊ'iWY(]Q;OeKR:]Q2(Vhv \#ן*좉{(`xаD8h WeNSc$T+sOyiA5=ni-.jL6 Rʞ̷4Y4?hʻ*UE*|q ̷4Y5&P֍"כ`Q*sOyiuA[-$vTƊ$T+sOyiA5=ni-.qr(-(`!\V>Q*WHVj{2Z]gt`P[H!5&VRʕxD*1E'icTT&UE>8Z|MNAuXkD|Z]Q;Oe  08 vQD==f:EO"4Sٖ;h`Q*sOyiu@p^4Q"[{O sOyiuRe[h2-y Rʞ̷4Y4?@WeJhEO"4Sٖ;"ZA 2BcQRʕxDEni->&-=wN6EReiQ*WNҮtQ;J(vʖ:LuJ(e^4Q3㈭=D= Z X`tD|HF]Q;Oe #H vQD==f:EO"4Sٖ;h`Q*sOyiu@^4Q"[{O sOyiuRe[h2-y Rʞ̷4Y4?@WeJhEO"4Sٖ;"ZA 2B? }2*UR(S㈭=eȠBjL*2]*Uc'iWeNRTԙAa*X9|HF[^[0A9yr5o^66l XpLf5npn:ךAqn:bѽc0 {0g2A*X7JvQDʼhg[{O {(kWeNB‚C `pс WeNSc$T+sOyiA5=ni-.jL6 Rʞ̷4Y40>0O2ʕxDEni->&-=wMI!nlȵ*TeJ*{2Z]gtV` ]*>8Z|MOf[{Kl yi&!(ʌWeJhEO"4Sٖ;"ZA 2ʕvTƊ'iWY(]Q;OeKRReEʌc(h棑 o!mz9nv>j`9/_bXpLf5npn:ךAqn:bѽc t|=ʛZL y  !h`q׎^~bZH:͠ _lt`?q׺upn o! G!k-GqםW/7KB+ut`?q׺upn o!75`Ec^Ens ʌc(>*cUE*񢉟Eni->&'iZhZ#@B7*좉{(XPH`D8Dh WeNSc$T+sOyiA5=ni-.jL6 Rʞ̷4Y4'WeJhEO"4Sٖ;ZѶdZl*2]=ni-.h+qE~ʕxDEni->&-=wN6ERe ~AqXeFT^4Q"[{O sOyiuӍAo- ԙZTeJ*UE]NҮ(g2"ÃFT4sQ7`;X`Poz9/_bXpLf5npn:ךAqn:bѽc ReEeFTn1*좉xDώ"4EP-h4-aX#@B7*좉{(XPH`p@X'i1E*|q ̷4Y5&P@JWeOf[{K?hʻ*UE*|q ̷4Y5&P֍"כ`Q*sOyiuA[-$vTƊ$T+sOyiA5=ni-.qr(-(X# ߸*2]*>8Z|MOf[{Kl yi&ң*UR(]f:vvQD=,uK=I0<*2Gāoȭ֎b[񗍍1Z,8&387 yG y1h1׆AYLhpp@lʖ2 Ҧ:]Q2(Vhv0&-=wMI!nlȵ*TeJ*{2Z]gtV` ]*>8Z|MOf[{Kl yi&!(ʌWeJhEO"4Sٖ;"ZA 2ʕvTƊ'iWY(]Q;OeKR:]Q2(Vhv0@  o!vQD=,($0hWeNSc$T+sOyiA5=ni-.jL6 Rʞ̷4Y4 0O2ʕxDEni->&-=wMI!nlȵ*TeJ*{2Z]gtV` ]*>8Z|MOf[{Kl yi&!(ʌWeJhEO"4Sٖ;"ZA 2ʕvTƊ'iWY(]Q;OeKR:]Q2(VhvGānUEPB(]HVj{2Z]gtԙB-l*2]=ni-.h?hʻ*UE*|q ̷4Y5&P֍"כ`Q*sOyiuA[-$vTƊ$T+sOyiA5=ni-.qr(-(X# ߸*2]*>8Z|MOf[{Kl yi&ң*UR(]f:vvQD=,uJvQDʼhe]f:E TQDJ(Em*]HSE#ER<.b EhCFh2}`ٽxfHa @} +AqX@yWQ"gc(Em=f:Em>4Q"{3Щ2 {`:R*UE+ma1aa@аD$ r([JhEm>4Q"Of|1Z&P֍"כ`Q*좉A[-$vQDUEOHb1 (#|thFT$VOeOYEni->&sOyiu@ `с .UTPn9A\'ymzk j79ًB;l;X`Poxyjߌt=u@2ן o!D\,CJ:Џy6kxzXPH`v 6 shXPH`сzTA&F|HF[^ןY G‚@6ͽ5\4XҢ24#@B7^Dt##aa@4;qאmzk jIT,($0  Ң24#@B7^t _l }yٷv>uKB‚CCtL7`?qב[`@$6ͽ5ך4G 3,\r^9"Ў G:ށێy;_ˍH":e`Zˍ7Jj|q ;-=wMDe\uOeô暾=ލ}58@X!&Fj8}f> ٽ,($35jf =XuAcH#>`^xGeH#>h:נv@[cmh0A*WJuԫ$Vү([OHEni->&AqXAR*UE(TQD,eLB,:hgƊ'ih*㨢v:>\uNP4/ yЈ:'iUQDʼhg[{O {(.+ rxh^|'iaA!0(]HVj{2Z]gtԙB-l*2]=ni-.h1~ѕvTƊ$T+sOyiA5=ni-.jL ufE6R*USٖ;[HWeJhEO"4Sٖ;"ZA 2BcQRʕxDEni->&-=wN6EReiQ*WNҮtQ;J(vʖ:RPy\w=4 sm^Ama @}ʛ[xy,&P4X88H 6TeKA}SR(WL+sOyiA4Q;OeEa[ kϕvQD=08Z|MOf[{K(BkFّkͰTʕvTe頭ʻ*UE*|q ̷4Y89MI0z.+~⌨ʕvTƊ$T+sOyiA5=ni-.qr(-+JWeJhvu뢉UET,&PDXpx|ʖ2j9cs,\rsmD  t/#x˷kf:0+z'\cl7Ȏ3y#~÷ycp壗cN".[m\eP`n9t#zOs1@l`AEn!h-큺YLhpp@lʖ2r;检(?Aukf9#*cUE*񢉟Eni->&'i젺Ȭ5y>-y( FB@r(]HVj{2Z]gtԙB-l*2]=ni-.h^4Q"[{O sOyiuRe[h2-y Rʞ̷4Y4?@WeJhEO"4Sٖ;"ZA 2BcQRʕxDEni->&-=wN6EReQ*WNҮtQ;J(vʖ:RPG }e8t;ⷢu6i|s2^lcp``АDXj;y#~ك-^Am0AVshA Xc߶e 6XVqB7h{1qlGA #DRdh9zu:棚qB7h (n#CG^DMc D i5o;A=npVNٍ y\sQ>u@2ןmyٷv>2퀭$Rа"00HDhH",CKB‚C! 6 A1bBBTA&FEcG-5o{񗐸f棚l7 xh棇@3dn:p5qm>ixeV[:`nz(,$*2m (?q׍ y\sQ̴t!TT&UE>8Z|MNAuXkD|Z]Q;Oe   EJ(vʞtQ"[{O sOyiuRe TʕvTe8'WeJhEO"4Sٖ;ZѶdZl*2]=ni-.h+qE~ʕxDEni->&-=wN6ERe # ߸*2]*>8Z|MOf[{Kl yi&ң*UR(]f:vvQD=,uK=I0<*2<.:eH#>[BiͶ`x5!L ; E 5 e 6ͽ5p4r}4^ZFE r[o:+u4uqƅB#B! hl##hsmG\oFٌg2A*X7JvQDʼhg[{O {("WeNBƉʻ(vʞtQ"[{O sOyiuRe TʕvTe@c*WHVj{2Z]gtԙBZ6̋^mFT-=wMn(8>UR(S㈭=eȠBjL`B.+~⌨ʕvTƊ$T+sOyiA5=ni-.qr(-+JWeJhvu뢉UET,&PDXpx|  ED,4B$ 0` ,0>1*좉xDώ"4EP-h4,Ab>$ #r(@A(]HVj{2Z]gtԙB-l*2]=ni-.h`|`e]*>8Z|MOf[{K(BkFّkͰTʕvTe頭ʻ*UE*|q ̷4Y89MI0zP!GqFTeJ*UE*|q ̷4Y89MIFT^4Q;JuD*좉{*Xz(",8<`x>TeKCG5y6ks5W/qտxE?/Âc1spטr ;qטx`@$ԶTdhh7XpL`X`@$ G>5渃/q׎^~bZH:͠ _lt`?u #@B7a1aa@!B0"[1Ўt _l.m֎bрc,#@B7a1aaAnj9YlB9_Xnz(,$*2>tWeLƊ&|q (kAk hyܫ'iaA!%]Q;OeOY(S㈭=e2Z*TeJ*{2Z]gt@|`e]*>8Z|MOf[{K(BkFّkͰTʕvTe頭ʻ*UE*|q ̷4Y89MI0zP!GqFTeJ*UE*|q ̷4Y89MIFT^4Q;JuD*좉{*Xz(",8<`x>TeKCG5y6ks5q_^~2f ^~^cVᣯ1}yv1}f-f:𰠐,&P4X88H 6TeKA}SR(WL+sOyiA4Q;OeփBE>$ #r(ʻ(vʞtQ"[{O sOyiuRe TʕvTe^4Q"[{O sOyiuRe[h2-y Rʞ̷4Y4?@WeJhEO"4Sٖ;"ZA 2B!(ʌWeJhEO"4Sٖ;"ZA 2ʕvTƊ'iWY(]Q;OeKRReEʌc(h棑 o!mz9nv>+u/VeckA  ƭ G^bQ.?@ou ,&P4X88H 6TeKA}SR(WL+sOyiA4Q;OeփB#@B7*좉{(XPH``6UET뢉>8Z|MOf[{K(EMFT-=wM0'WeJhEO"4Sٖ;ZѶdZl*2]=ni-.h+qE~ʕxDEni->&-=wN6ERe #,BcQRʕxDEni->&-=wN6EReiQ*WNҮtQ;J(vʖ:RPG#@B7ra @}r5o^66lkj4u/5u/ţ{^CCtԙ@` Q,eLuJ(e^4Q3㈭=D= Z X`#@B7*좉{(XPH`сr(]HVj{2Z]gtԙB-l*2]=ni-.h<`e]*>8Z|MOf[{K(BkFّkͰTʕvTe頭ʻ*UE*|q ̷4Y89MI0zP!GqFTeJ*UE*|q ̷4Y89MIFT^4Q;JuD*좉{*Xz(",8<`x>TeKCG5y6ks5"1}{_ƭ혂-yx[棐\~ێou‚@ԶTdhh7XpL`XXPH3!h`qׇ6⸚8O1}x~1ׅ 77XpL`XXPft#棇6⸚8O1}aYLhpp@lʖ2 Ҧ:]Q2(WY(B1Q;mҮ([JhEm*1E*TQDDQ3cnr cH%8sAf疐2q.%k8@SE>8̓`8 &&{1r(-(2eFQDʻ(e^4Q;O0`DG7hEOe  vQDZѶdZon(06UEƊ'ilMH` ʻ(EOe[h2-y[H*좉UE*1E(QDLE+ãgqzw\OZM4zϴT`P ='Z@ KH8#KH.&TL0N&T;uH kjS$4 756$h4./usr/IBMVJava/html/enterp/en_US/sap/samples/plant.html$$ SAP Business Object Plant

    SAP Business Object Plant (BUS0008)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Plant
    

    The business object Plant is an organizational unit of logistics that subdivides the enterprise from the viewpoint of production, inventory management, material requirements planning and plant maintenance. In the plant, materials are produced or materials and/or services are made available.

    A plant can occur in different roles. As a maintenance site plant, it contains the maintenance objects that are located spatially in this plant. The maintenance tasks to be carried out are specified within a maintenance planning plant. As a retail site, the plant is used for the provision of goods for distribution and sale.

    A plant can be subdivided into plant storage areas that structure the plant from the viewpoint of the theoretical and physical division of material stocks according to fixed criteria and, if required, in a differentiated manner according to the location and materials requirements planning.
    Furthermore, a plant can be subdivided into locations and operation areas. The subdivision into locations is carried out according to spatial criteria, whereas the subdivision into operation areas is carried out according to the responsibility for production within the enterprise.


    Comment:

    In the shipping point proposal is specified for the plant the preferred shipping point in dependence upon the shipping condition and the loading condition. For the placement of materials in storage a plant is assigned a plant storage area in dependence upon the storage condition and the storing situation.

    The business area determination specifies for a plant the responsible business area in dependence upon the division.


    Keys
    Type Name Size Released since
    java.lang.String PLANT 4 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus3012Table PLANTSTOCK ??? (see below) Version 30A
    Bus0011Structure WORKCENTER ??? (see below) Version 30C
    Sap_70113Structure SUPPLYAREA ??? (see below) Version 30C
    T024fStructure PRODSCHEDULERGROUP ??? (see below) Version 30C
    Bus0007Structure PURCHASEORGANIZATION ??? (see below) Version 30C
    Bus0006Structure SALESANDDISTRORGAN ??? (see below) Version 30C
    Bus0005Structure SHIPPINGPOINT ??? (see below) Version 30C
    Bus0009Structure WAREHOUSECOMPLEX ??? (see below) Version 30C
    Bus0010Structure FUNCTIONALLOCATION ??? (see below) Version 30C
    T024iStructure MAINTENPLANNERGROUP ??? (see below) Version 30C
    T024aStructure WORKSCHEDULERGROUP ??? (see below) Version 30C
    T024dStructure MRPCONTROLLERGROUP ??? (see below) Version 30C
    Sap_70117Structure PRODRESPONSIBGROUP ??? (see below) Version 30C
    Bus1001Structure MATERIAL ??? (see below) Version 30C
    Bus1019Table MAINTANCETASKLIST ??? (see below) Version 30C
    Bus2038Table MAINTENANCENOTIFICAT ??? (see below) Version 30C
    Bus2007Table MAINTENANCEORDER ??? (see below) Version 30C
    Bus0008001Table PLANTSTORAGEAREA ??? (see below) Version 30E
    Bus0008002Table PLANTSUBDIVLOCATION ??? (see below) Version 30E
    java.lang.String DESCRIPTION 30 bytes Version 30F
    java.lang.String NAME2 30 bytes Version 30F
    java.lang.String COUNTRYKEY 3 bytes Version 30F
    java.lang.String REGION 3 bytes Version 30F
    java.lang.String LANGUAGE 1 bytes Version 30F

    The size of this attribute must be determined at runtime.

    Methods
    Plant ()


    Plant (com.ibm.sap.bapi.ObjectId objectId)
    Plant (java.lang.String PLANT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    low) k,%$@ 756$w@ ./usr/IBMVJava/html/enterp/en_US/sap/samples/position.htmlnt.ht$$ SAP Business Object Position

    SAP Business Object Position (PDOTYPE_S)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Position
    

    The business object Position is an organizational unit that represents an area of responsibility within an &IM11050&. Its tasks, duties and responsibilities can be discharged by a suitable &IM11011&. The definition of a position can refer to a job, in which respect the contents of the job are adopted by the position. A work center can be assigned to a position.


    Keys
    Type Name Size Released since
    java.lang.String PLVAR 2 bytes Version 30D
    java.math.BigInteger OBJID 8 bytes Version 30D

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    java.lang.String DESCRIPTION 40 bytes Version 30D

    The size of this attribute must be determined at runtime.

    Methods
    Position ()


    Position (com.ibm.sap.bapi.ObjectId objectId)
    Position (java.lang.String PLVAR,java.math.BigInteger OBJID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     l$ 756$e./usr/IBMVJava/html/enterp/en_US/sap/samples/productcatalog.htmlllh$$   <>det"/abilnor =cfgps AEIRThmuv.02:CDLNSy,-13FGMOPUVwx(4BHWY_jz&')+5X%89?|#Jkq67K;Z!C9 "&9(* " RʒEYRCtYRG5}#$h,< O6~5A؊h*H毐@$f$:~. cQ ( ,#4D'?LH;#7E:vQe~$,rH<3 ,[yeJʕT'yt"b@ `Z~OLHE$U'AYbWry5iHX?kx9fY#t9z@ HX@ YRQUTE$#E(G(œXS0,G6B!H- aY_Y_hY#t9z@Vʕ!ʒʔ(y $_3 -vO#E?i*mvB=vO#E?>0$?`~i ]QkqV~"B?k"iJ8=}"p̓Ƚ?^Z"呩dh[GZ^&si(N;#MqjߨkܷIg[ 撌q!Z8呩djYtl呩dhy Wfu<B8?r_ܱ8Я,K#BGZ^&qjٞt#ЌYHF!d:ZHh"_5z@@8<8 ?vj-C85, Y:GZ^&s\Z5oxs_֏[GZ^"ȵnA{[3G/ A,5-5A*mydhk/[\o#^?! "G# :P%jnp8[2N$#E:;9  O7PYy$-=LH%<$$@@*v=B&$AXprho"b@deK(<FT,VTcE;̓ e;|$$0,R&JR,oz@ĀMK(EdrTʕme;|$$ 5,&*eJ貿m Pv-^nJR,VƋ+l&+۠1d-^|n+۠cň,n!}{ʶ貿QlA`UEcE{6LHHwEk rxPů>UEЀ(*ۢv'n+۠E*ۢUv=B&$$Av Y5ָ(={,n"J貿N=e[tY_r(࠰VWW<:1!" MW@bɬ)yB[VWA!hҭ,n!}{ʶ貿QlAa,[,cyt"bBD,nœXQ-k׹*ۢvH``Tn+۠FUEG"` me*e;̓ e;t,‰k\VWAbCcVW@ 'n+۠E*ۢUʕjʔ(C:-s^Z[$w=H}{I8Y_YScr k1 qEמbBDĂSM bA!a`,laɢʝl y*Y@eLʕmeJ4YR[Y_JG M.7Ct(nԫn*HF+ݩ_zታA)RY#t9z@!MaVSB0~ 0`UR,!,v}#& MJ@պ Y59o<(KbןÅ iVJ貤hڕYԩtl5BZLZ 0 tmA0|ҭ,[tYRB4Y_JG H%5*]#֛́R+@)A@n~h(h9foUEn*HF+ݩ_z".M湨MVTN4(h߆`l7[>0Frn5+"AqY@4v(T۪ojn貅:;(;,_;} EhTø, $ 2[tYBv`сX0`,@hVP[,_Ƌ(PJ+B;G/כTn(Wr(࠱,_ʶ4Y_h%ɭ='`jY@xj<6Tʕme ۩ձSA5:C=%vaA"ZBnjTʛuJ貥[,ksOy ,nu*ۢv8Xb`n+۩ձE*vTʛuJ貥[,ksOy ,nu;%[tY_GJ貿[YBcɭ='`jvb]jjYBMp6TʕmĻ #*۩VƋ(Ty5MN[{KMK(v;_E7eLVN[{KMr(࠱lhNǓ[{NĻ`P[HbjYCHЄwnES*URPksOy 4aڞl y MK+ʙRlhjUE۪ojY@тF%Lձ̓mz?HgD#p'3u9m_i(/8Xb`WF6E>}!$RԶAM.m xy%}! "9_6",2T{R,D2Tʛ{R *eMyU[tYRTVeP_ʭY_,_ʶ4YBj*QeIe;+Y1$A)R|kVGR+@*'4qƇAu6~Y#t9z@fi5ū~\VE(iVPTe ulvQe v4YBvЩepY'6I*eJ貅,4 `XDXGbDʶ貅*e v4YBN|QZ,Z9} 2[tYBv#Eme UcE+o(Mni1;R搅MPᲦTn(WNʝ&4 ni1.õ4  4x*;tG~OQK?8Iwfx撋¼4/zq ?;,}IF8DQAZg:呠n"z9!p=dsr!\y I:A`[^J/8[&4 ni1.õ4   `X4D*;u[u*ԫVeJ貅*e v4YBv5MK)dQ 2[tYBNP_ͺ*ulvvB71 eNƋ+TԶ" ">Tp@p(4%; yj-y[Wɮ-[K(p`S*nK(<`,X@@|7uVmeJ4YSA4Y_A$=lvJ貿"   me;u:;(NǓ[{NĻԲl*۩sOyvH 'n[,SA5;}ni1.õ5,Z9} 2[u;}ni1.õ4Ȣ?JU;Mni1;S;S̓Ao1!e "#Bނ9eLVJ4YBcɭ='`jvb]jyr(-$15,*eJUUc+VWSneF " 2C [$3u9m_&o|sIEa^Y=sC|uKR6-E6 ,D ,; yj-y[Wɮ-[K(p`S*nK(<`,X@@|7uVmeJ4YSA4Y_A$zme;t<` %*ۢvulvQe &4 sOyve 4 S*US;S@ FURPksOy 4aښPv-^nʙR4aښQlAc%[u*e &4 sOyvȠԲB AqY܊2Tn[,SA5;}ni1.õ<9W2[u*e*ձEn+۩TԲJSwC5c~xj=Q~_:C:GZ^#kVD+#Cw~tZ!I:ͩmÅ6-E6 ,D ,; 6-C[shDX4`hЏ]QkrھMqj߾ojYCJSw^ojYAbL*Tn*Uʝ&4 vZ ]&;%[tY_E,Dxn+۩ձE*v9?3&, lQ|C9Z!I:ͩmÅ6-E6Բ  2ԲńʙSw^UnVTcE*ձE(WuWn(WPZ;(JYRB4Y_JG IԩtN ~k'[S`D) 8C? ~,[x35-+"AqY@4v(T۪ojn貅:;(;,_;} EhTø, $ 2[tYBv`сX0`,@Xme Uh *YCشr-y*eJ貅G"` *ۢcEƋ(W|QZbv& ! eLVP[;Mni1;S:b]jh4",@h*U*vy搅V]D:C;'[w[GZ^#DB4ϸ{_nj#ĺHg4c4O$AC:ik_tz<+VƧcɭ='`jt[{KMb@@X8ʴJ5*ձR,_ʶ4YBPMni1;RAqYCeLVPSE(Wnʝ[LH%4YStC%ZB+"9*Y_ΐhg+!E 8i ,VƋ*v-^㰎?}Dql*mye" *eMye2R,VƋ*vTԶ" ">TЀ`@7-Y8X0d7u0, >TʛuJ貥[,ksOy ,nu=lvJ貿0JUE;Mni1;S;SRhTno=%v`O`2lhNǓ[{NĻԲchZp6TʕmĻG"` *۩VƋ(Ty5MN[{KO6EĆ&4`MGz Q2[u*e &4 sOyvȠԲ*۩VƋ+V,[tY_MVmeJ4YSA4Y_AXǭVWCR,nVePksOy 4aښP@ 2[u;}ni1.õ4 =e[u*e &4 sOyvebl*۩sOyvE2URPksOy 4aڞl y MK(i!Pȣ*eJU;Mni1;S;S̓Ao1!eyS*URW[Y_ʶ貿uJ*ۢʕlhZ;( Unme UVePU*HF+ݩ_z" MJDp<6BZQ8С4:~{lպ3[Ez(DJhM(Wc(WVK(p,;T 2 b K*Tʛb'[UE*eNǓ[{Ne;t,œ%kϕme;t`C J貿[YBcɭ='`jvb]jjYBMp6TʕmĻ'OqVJ4YBcɭ='`jvb]jjYCشr-y*eJvb]jh#EmԫcE*vTʛuJ貥[,ksOy ,nu,M=lvJ貿<`4JUE;Mni1;S;SRhTno=%v #*۩VƋ(Ty5MN[{KMK(v;_E7eLVN[{KMr(࠱lhNǓ[{NĻ`P[HbjYCHЄwnES*URPksOy 4aڞl y MK+ʙRlhjUE۪ojY@hb#DATʛA[?Vףx撋'[_nB47yz-GQ; 7h$6@8Abp%u<G-shXxKzԶ 6-h !*mysh "4xh{wG(6$í1qG ,|~r_r+kbux ""IΌ#}|H8x!-/!i_j<չa_K(p`S*nK(<`,X@@|7uVmeJ4YSA4Y_A-@zme;t48`n+۩ձE*v\8`8Abp%qsj[CGʛ^\"ģy~}!-rp8D<",@4ŦHgrKz#DR6\s_`́ ~Ŏ,Ə |8 8pp8X0d7u0, >TʛuJ貥[,ksOy ,nu,OBcdn+ۡH)VWSc(Ty5MN[{KMK(InʙR4aښO`2lhNǓ[{NĻԲchZp6TʕmĻG"` *۩VƋ(Ty5MN[{KO6EĆ&4`MGz Q2[u*e &4 sOyvȠԲ*۩VƋ+V,[tY_M ,Dh2Tʛձ! Ah!9 5`E?$6@8Abp%}!vO#E?i">\8`8Abp%qsj[CGʛ^\"  y~x}",3Ǎ 3˛B"@pj"ջB߸t`GP+˛CƏn9с'֢ן|ǭuK#Cgi(/ mFܾ?3(AG0X0A7,A%L7,aTו[UE*eJlvQe E*ۢcE+V,RuTWRDMJD EhDB8=nux $n/V B-7+"AqY@4v(T۪ojn貅:;(;,_;} EhTø, $ 2[tYBv`сX0`,8hp)VP[,_Ƌ(PJ+B;G/כTn(Wr(࠱,_ʶ4Y_h%ɭ='`jY@xj<6Tʕme ۩ձSA5:C=%vaA"ZBnj<,4^B-7B=Q[GZ^#ՅyVƧcɭ='`jt[{KM "!S^UksOy !;S@@R!SCg&onG" "<{ÚG 撌q4HgB-70K9J/ 7Eg=qQ~_k8`9<{z? z y~G %ax[ ly[ NǓ[{N4aښāp, " i 򭺕ljUc[tYBlh;,_;|bv&(ʙR,Bn(PSwE:;;!ȘJhcE &JW(EdrU(!C5B$WZB+$q*YRTy5MW@bɬ)yB[VWANj%[tY_N,SA5;}ni1.õ5,&*eJvb]jh'n[,SA5;}ni1.õ5,Z9} 2[u;}ni1.õ4Ȣ? GmԫcE*vT {R,D2Tʛ{R *eMyU[tYRTy5MW@:lsIE[F(n+ۡʶ貿[YBcɭ='`jvb]jjYBMp6TʕmĻ` FURPksOy 4aښPv-^nʙR4aښQlAc%[u*e &4 sOyvȠԲЄwnES*URPksOy 4aڞl y MK+ʙRlhjUE۪ojY@тF%L٤l/9ЏGK(p`S*nx@8 <G-# j;呡PTʛuJ貥[,ksOy ,nu#dn+۠h  %*ۢvulvQe &4 sOyve 4 S*US;S@O`2lhNǓ[{NĻԲchZp6TʕmĻG"` *۩VƋ(Ty5MN[{KO6EĆ&4`MGz Q2[u*e &4 sOyvȠԲ*۩VƋ+V,[tY_M ,Dh2TʛA[?Vףȯr-[&I|qhs Ht"qvg܉,+#CwusqֈoNsj[B сח6 <`%M.mF |qhye" *eMye2R,VƋ*v_tz<+VƧcɭ='`jt[{KMb@@X8ʴNyVJ5*ձR,_ʶ4YBPMni1;RAqYCeLVPSE(Wnʝ[LH%4YStC%ZB+"9*Y_ΐhg+!E 8i ,VƋ*vUEpVWSc(Ty5MN[{KMK(InʙR4aښ #*۩VƋ(Ty5MN[{KMK(v;_E7eLVN[{KMr(H[u*e &4 sOyvȠԲBނ9eLVJ4YBcɭ='`jvb]jyr(-$15,*eJUUc+VWSneF " 2p8tGB$WbΎgkvH?WM7,A%L7,aTו[UE*eNǓ[{Ne;t,ˆH7,mZq#`Sh*TʛO7,S*nUnVTcE;Mni1;EQxđJ9*ۢvp2,nVePksOy 4aښP@ 2[u;}ni1.õ4;mԫcE*vI),pm !-,+K(p`S*nK(<`,X@@|7uVmeJ4YSA4Y_&- lZ[tY_ 8hX(2UE;Mni1;S;SRhTno=%v;mԫcE*vkW#M 6C:"hFxHM!i=fr+ gAqYc 8xk3|-CԲ  2ԲńʙSw^UnVTcE;Mni1;Ek rxPů>UEpVWSc(Ty5MN[{KMK(InʙR4aښ #*۩VƋ(Ty5MN[{KMK(v;_E7eLVN[{KMr(H[u*e &4 sOyvȠԲBނ9eLVJ4YBcɭ='`jvb]jyr(-$15,*eJUUc+VWSneF " 2p8tGB$WţϤ3j׫#p4~[ʛA^ojYCJSw^ojYAbL*Tn*Uʝ&4 v Y5^ xme;t4xln+۩ձE*vojYCJSwCxgHpxgH`vO#E?i">~ڎdhx@8  O-[1oQ,9#Á9 H!iW#M G&w#CxgHpxgH`JxA|O>ojYAbL*Tn*Uʝ&4 vZ rzme;tFme;u:;(NǓ[{NĻԲl*۩sOyvP(3OqVJ4YBcɭ='`jvb]jjYCشr-y*eJvb]jh#EmԫcE*vI:͠P<`oDqM x@87i"8$E.mF H?y<-8xoI6ćZ$i"8xx<@7DZ9[.mŏgAzC.m ٤l/9Џ9 xx<@a#h 暽lkysh<,x /Hss]3˛C!٤l/9Џ9DRn:cy~C9"s!΄~s]<܋¸ G!ڏ܉/t NC<#ם6Sk1o6յ~׫1nG!9ylG3׭7}C=Dq7ڏ67,+; yas]-ȁ΂j<9$9с3'B ~=7`'C95|~r'G-=[zjy~ jv"1-^ŹhdZ(?8XFǁ@^YC9ZE?gAzCnD^lǐtsIEK撌q?6I:͠a1| F ?zkOt#x㰚߾׫1nGzjD΂G/0p<  {R,D2Tʛ{R *eMyU[tYRTVeP_ʭY_,_ʶ4YBj*QeIe;+Y1$@MJD梷b+/R+@*'4qƇAu6~Y#t9z@fj+v"ȣ\VE *ݢ6ڛ,_έ,_Ƌ(W|QZ, $u;eLVPŃƁb X4`x <  0H 8`VP[,_Ƌ(PJ+B;G/כTn(Wr(H\n(WW;,_;} EhrksOy P74/"lZ 2[tYBvulvTy5MNsOyvX@D8xpVۡ# $%tVG8t#'֢ן崑,yVƧcɭ='`jt[{KM "!S^UksOy !;S@@R!S@ETʛuJ貥[,ksOy ,nœXS„-y,nƉe[tY_N,SA5;}ni1.õ5,&*eJvb]jh3OqVJ4YBcɭ='`jvb]jjYCشr-y*eJvb]jh#EB[u*e &4 sOyvȠԲЄwnES*URPksOy 4aڞl y MK+ʙRlhjUE۪ojY@тF%L*Iw9q( k΄H[ ڵ; $GWږPb TכږPxXS*nʭ*ۢʕlhcɭ='`hMaN[ صʶ貿$4#*ۢvulvQe &4 sOyve 4 S*US;SA{ʶU;Mni1;S;SRţkS*US;SA-(*۩VƋ(Ty5MN[{KO6EĆ&0&#dsr(ʙRlhNǓ[{NĻ`P[HbjY^TʕmԫcEVeW,nS{R"4D*eMP%Ms}GHd{^t"Ez?HgկWGi"8^6Բ  2ԲńʙSw^UnVTcE;Mni1;EQxđJ9*ۢvp2,nVePksOy 4aښP@ 2[u;}ni1.õ4;mԫcE*v SAP Business Object ProductionOrder

    SAP Business Object ProductionOrder (BUS2048)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- ProductionOrder
    

    The business object Production order describes the orders existing in production. These take the form of manufacturing orders or process orders.
    A production order has for object the production of one or several plant materials. These are recorded in production order items. Other order-describing relationships, such as reference to a customer order or to a project, are also shown in the order item.


    Keys
    ---

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2017Table GOODSMOVEMENT ??? (see below) Version 30A
    Bus2044Table COSTESTIMATE ??? (see below) Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    ProductionOrder ()


    ProductionOrder (com.ibm.sap.bapi.ObjectId objectId)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    / k$8 756$8./usr/IBMVJava/html/enterp/en_US/sap/samples/profitcenter.htmlm$$ SAP Business Object ProfitCenter

    SAP Business Object ProfitCenter (BUS0015)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- ProfitCenter
    

    The business object Profit center contains organizational units formed for the purposes of accounting that subdivide the enterprise in a management-oriented manner, that is, for the purpose of internal control.
    For a profit center operating results can be shown that are determined according to cost-of-sales accounting and/or the "total cost" type of accounting.
    Through showing of the restricted assets the profit center can be extended to form the investment center.

    Profitability analysis at profit center level is based on costs and sales revenues. These are statisically assigned through parallel updating of all logical transactions relevant for a profit center and other allocations.

    The valuation of the deliveries and services performed between the profit centers can correspond with the valuation base in accounting or deviate from this base (valuation using transfer prices after 3.0).


    Keys
    Type Name Size Released since
    java.lang.String PROFITCENTER 10 bytes Version 30C
    java.lang.String CONTROLLINGAREA 4 bytes Version 30F

    Attributes
    Type Name Size Released since
    Table AGENTS 14 bytes Version 31G
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESOUTBOUND 78 bytes Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A
    Bus0012Structure COSTCENTER ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    ProfitCenter ()


    ProfitCenter (com.ibm.sap.bapi.ObjectId objectId)
    ProfitCenter (java.lang.String PROFITCENTER,java.lang.String CONTROLLINGAREA)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()
    static void getlist (com.sap.rfc.IRfcConnection connection, ProfitCenterGetlistParams params)
    RFC Function Module: BAPI_PROFITCENTER_GETLIST
    Released since: Version 30E
    Method description:
    FUNCTIONALITYThis method supplies a list of profit centers sorted by controlling area and person in charge within each controlling area.
    HINTSYou need authorization for the activity "03" (Display) for the object "K_PCAS_PRC" (Maintain profit centers) in the current controlling area. You also need authorization for the activity "03" (Display) for the object "K_PCAS_REP" (Summary and line item reports) for the relevant profit center.
    Messages are returned in the parameter RETURN. The documentation for this parameter explains the return values and their meanings.
    params:
    Type Name Type Information Comment
    java.lang.String CO_AREA
    Size:4 bytes
    Released since:Version 30E
    Import parameters
    MEANING
    For information on what a controlling area is, see the data element documentation controlling area.
    java.util.Date DATE
    Size:8 bytes
    Released since:Version 30E
    Import parameters
    Optional
    MEANING
    You can submit a date as a parameter. The system finds the master data that is valid for that date.
    DEFAULT
    If you do not submit a date, the system uses the today's date.
    java.lang.String PERSONINCHARGE
    Size:20 bytes
    Released since:Version 30E
    Import parameters
    Optional
    MEANING
    For information about the person in charge, see the data element documentation person in charge of profit center.
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The following messages can be returned: KM025 (error) ,,Controlling area Y does not exist KM000 ,,No values selected KM076 (error) ,,You are not authorized to display profit center X in ,,controlling area Y KM077 ,,BAPI completed
    Bapi0015_1Table PROFITCENTER_LIST
    Size:62 bytes
    Released since:Version 30E
    Import/Export parameters
    MEANING
    The list contains the following fields: CO_AREA,,Controlling area PROFIT_CTR,,Profit center VALID_TO,,Date valid through SHORT_TEXT,,General description IN_CHARGE,,Person in charge

    void getdetail (com.sap.rfc.IRfcConnection connection, ProfitCenterGetdetailParams params)
    RFC Function Module: BAPI_PROFITCENTER_GETDETAIL
    Released since: Version 30E
    Method description:
    FUNCTIONALITYThis method supplies detailed information on the profit center master record.
    HINTSYou need authorization for the activity "03" (Display) for the object "K_PCAS_PRC" (Maintain profit centers) in the current controlling area. You also need authorization for the activity "03" (Display) for the object "K_PCAS_REP" (Summary and line item reports) for the relevant profit center.
    Messages are returned in the parameter RETURN. The documentation for this parameter explains the return values and their meanings.
    params:
    Type Name Type Information Comment
    java.lang.String CO_AREA
    Size:4 bytes
    Released since:Version 31G
    Import parameters
    MEANING
    For information on what a controlling area is, see the data element documentation controlling area.
    java.util.Date DATE
    Size:8 bytes
    Released since:Version 30E
    Import parameters
    Optional
    MEANING
    You can submit a date as a parameter. The system finds the master data that is valid for that date.
    DEFAULT
    If you do not submit a date, the system uses the today's date.
    java.lang.String PROFIT_CTR
    Size:10 bytes
    Released since:Version 31G
    Import parameters
    MEANING
    For information about profit centers, see the data element documentation profit center.
    Bapi0002_3Structure ADDRESS
    Size:827 bytes
    Released since:Version 31G
    Export parameters
    Bapi0015_2Structure PROFITCENTER_DETAIL
    Size:114 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The following fields are displayed: CO_AREA,,controlling area PROFIT_CTR,,Profit center VALID_TO,,Date valid through DEPARTMENT,,Department IN_CHARGE,,Person in charge COUNTRY,,Country code TITLE,,Title NAME,,Name 1 NAME_2,,Name 2 NAME_3,,Name 3 NAME_4,,Name 4 CITY,,City DISTRICT,,District STREET,,Street and house number PO_BOX,,Post office box ZIP_POCODE,,Postal code POBX_Z_PCD,,Postal code of P.O. box LANGU,,Language key TELEPHONE1,,1. Telephone number TELEPHONE2,,2. Telefophone number FAX_NUMBER,,Telefax number SHORT_TEXT,,General description LONG_TEXT,,Long text
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 30E
    Export parameters
    MEANING
    The following messages can be returned: KM076 (error),,You are not authorized to display profit center X in ,,controlling area Y KM004 (error),,Profit center X does not exist in controlling area Y KM077 ,,BAPI completed

    Events
    ---

    d> < k$e 756$e ./usr/IBMVJava/html/enterp/en_US/sap/samples/projectdefinition.htmlh$$ SAP Business Object ProjectDefinition

    SAP Business Object ProjectDefinition (BUS2001)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- ProjectDefinition
    

    The business object Project definition is a corporate project with a fixed objective that is to be achieved with set amounts of money, with the planned resources, and to an agreed level of quality in a given time.
    A corporate project is distinguished by its uniqueness, the risk it entails, and its importance within the organization. In the work breakdown structure it is structured according to the hierarchy of tasks and in the NETWORK according to the flow of activities.


    Keys
    Type Name Size Released since
    java.lang.String CURRENTEXTERNALPROJE 24 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2054Table WBS ??? (see below) Version 30C
    Bus2002Table NETWORK ??? (see below) Version 30C
    java.lang.String NAME 40 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    ProjectDefinition ()


    ProjectDefinition (com.ibm.sap.bapi.ObjectId objectId)
    ProjectDefinition (java.lang.String CURRENTEXTERNALPROJE)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    , s k\$O 756$O./usr/IBMVJava/html/enterp/en_US/sap/samples/purchaseorder.html$$ SAP Business Object PurchaseOrder

    SAP Business Object PurchaseOrder (BUS2012)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- PurchaseOrder
    

    The business object Purchase order is the request, addressed by a purchasing organization to a plant (stock transport purchase order) or a vendor (vendor purchase order), to deliver a certain quantity of materials at a point in time and/or to render services at a point in time.

    A purchase order consists of purchase order items for which a purchase order type is specified in each case. Thus, a vendor can be requested to replenish his consignment store, to process a material as a subcontractor, to deliver a material to a third party, or to deliver material to be provided for a customer order.

    The total quantity of the material to be delivered or of the service to be rendered that is specified in the purchase order item can be divided up in the purchase order item - schedule lines into different partial quantities with the related delivery dates. For purchase orders that are given for subcontracting work the material components to be provided can be specified for each delivery date.

    If the purchase order item contains service specifications, then service lines specify the quantity and service specification outline levels the structure of the individual services to be rendered. For services that cannot be exactly defined, values limits are specified instead of service lines. These unplanned services can result from a purchase contract, whereby special contract-specific value limits can be specified.

    At item level are recorded the conditions for the material to be delivered or the total service to be rendered. The total service is differentiated in service lines for which service line conditions can be specified. In addition to this, conditions for the entire purchase order can be recorded.

    The costs accruing within the framework of a purchase order can be distributed among different controlling objects in the account assignment.

    The delivery dates or alternative delivery dates can be confirmed in the purchase order acknowledgment, which can be, for example, an order acknowledgment or a shipping notification.

    The business transactions that have resulted from a purchase order
    are documented in an item-related manner in a purchase order history.


    Comment:

    As an alternative to the vendor as an order recipient, other business partners in different partner roles (for example, goods vendor) can be specified.

    In the purchase order the items for plants of exactly one company code are determined, so that the related creditor invoice is prepared for a company code. If, to the purchasing organization initiating the purchase order, no company code is assigned, then the company code required for the purchase order is obtained from the plant of the purchase order item.


    Keys
    Type Name Size Released since
    java.lang.String PURCHASEORDER 10 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESOUTBOUND 78 bytes Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A
    Bus2015Table SHIPPINGNOTIFICATION ??? (see below) Version 30A
    Bus2017Table GOODSMOVEMENT ??? (see below) Version 30A
    Bus2081Table VENDORBILLINGDOC ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    PurchaseOrder ()


    PurchaseOrder (com.ibm.sap.bapi.ObjectId objectId)
    PurchaseOrder (java.lang.String PURCHASEORDER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()
    void release (com.sap.rfc.IRfcConnection connection, PurchaseOrderReleaseParams params)
    RFC Function Module: BAPI_PO_RELEASE
    Released since: Version 31G
    Method description:
    FUNCTIONALITYYou can use this method to release (approve) purchase orders. The PO number and the release code must be passed on. The new release status and the new release indicator are returned.
    HINTSThe authorization object M_EINK_FRG is checked.
    FURTHER_SOURCES_OF_INF
    params:
    Type Name Type Information Comment
    java.lang.String PO_REL_CODE
    Size:2 bytes
    Released since:Version 31G
    Import parameters
    MEANING
    You will find information on the meaning of the release code in the relevant data element documentation:
    Release code
    RANGE
    Dictionary data type: CHAR (field length 2).
    DEFAULT
    java.lang.String PURCHASEORDER
    Size:10 bytes
    Released since:Version 30A
    Import parameters
    MEANING
    You will find information on the meaning of the document number in the relevant data element documentation:
    Document number
    RANGE
    Dictionary data type: CHAR (field length 10).
    DEFAULT
    java.lang.String REL_INDICATOR_NEW
    Size:1 bytes
    Released since:Version 31G
    Export parameters
    MEANING
    In this parameter the new release indicator is returned (i.e. the release indicator after release has been effected).
    You will find information on the meaning of the release indicator in the relevant data element documentation:
    Release indicator
    RANGE
    Dictionary data type: CHAR (field length 1).
    DEFAULT
    java.lang.String REL_STATUS_NEW
    Size:8 bytes
    Released since:Version 31G
    Export parameters
    MEANING
    In this parameter the new release status is returned (i.e. the release status after release has been effected).
    You will find information on the meaning of the release status in the relevant data element documentation:
    Release status
    RANGE
    Dictionary data type: CHAR (field length 8).
    DEFAULT

    void resetrelease (com.sap.rfc.IRfcConnection connection, PurchaseOrderResetreleaseParams params)
    RFC Function Module: BAPI_PO_RESET_RELEASE
    Released since: Version 31G
    Method description:
    FUNCTIONALITYYou can use this method to cancel or revoke (reset) already effected releases of purchase orders. The PO number and the release code must be passed on. The release status and release indicator valid prior to the release are returned.
    HINTSThe authorization object M_EINK_FRG is checked.
    FURTHER_SOURCES_OF_INF
    params:
    Type Name Type Information Comment
    java.lang.String PO_REL_CODE
    Size:2 bytes
    Released since:Version 31G
    Import parameters
    MEANING
    You will find information on the meaning of the release code in the relevant data element documentation:
    Release code
    RANGE
    Dictionary data type: CHAR (field length 2).
    DEFAULT
    java.lang.String PURCHASEORDER
    Size:10 bytes
    Released since:Version 31H
    Import parameters
    MEANING
    You will find information on the meaning of the document number in the relevant data element documentation:
    Document number
    RANGE
    Dictionary data type: CHAR (field length 10).
    DEFAULT
    java.lang.String REL_INDICATOR_NEW
    Size:1 bytes
    Released since:Version 31G
    Export parameters
    MEANING
    In this parameter the original release indicator is returned (i.e. the release indicator that was set prior to release).
    You will find information on the meaning of the release indicator in the relevant data element documentation:
    Release indicator
    RANGE
    Dictionary data type: CHAR (field length 1).
    DEFAULT
    java.lang.String REL_STATUS_NEW
    Size:8 bytes
    Released since:Version 31G
    Export parameters
    MEANING
    In this parameter the original release status is returned (i.e. the status that was valid prior to release).
    You will find information on the meaning of the release status in the relevant data element documentation:
    Release status
    RANGE
    Dictionary data type: CHAR (field length 8).
    DEFAULT

    static void getlist (com.sap.rfc.IRfcConnection connection, PurchaseOrderGetlistParams params)
    RFC Function Module: BAPI_PO_GET_LIST
    Released since: Version 31G
    Method description:
    FUNCTIONALITYYou can use this method to list all purchase orders that have to be released (approved) with a certain release code and group (collective release).
    EXAMPLE
    HINTSAuthorization object M_EINK_FRG is checked.
    The release code (RelCode) and the release group (RelGroup) have to be passed on.
    The parameter ItemsForRelease determines:
    • whether purchase orders awaiting release are selected, or
    • whether already-released purchase orders are selected

    This is useful, for example, if a list is to be generated for the cancellation (revokation) of previously effected releases.
    The results are returned in the table parameters Headers, Addresses and Items.
    FURTHER_SOURCES_OF_INF
    params:
    Type Name Type Information Comment
    java.lang.String ITEMS_FOR_RELEASE
    Size:1 bytes
    Released since:Version 31G
    Import parameters
    Optional
    MEANING
    If the indicator has been set, only POs that can be released are listed.
    If the indicator is not set, only POs that have already been released are listed.
    RANGE
    Dictionary data type: CHAR (field length 1).
    DEFAULT
    java.lang.String REL_CODE
    Size:2 bytes
    Released since:Version 31G
    Import parameters
    MEANING
    You will find iformation on the meaning of the release codes in the relevant data element documentation:
    Release code
    RANGE
    Dictionary data type: CHAR (field length 2).
    DEFAULT
    java.lang.String REL_GROUP
    Size:2 bytes
    Released since:Version 31G
    Import parameters
    MEANING
    You will find information on the meaning of the release group in the relevant data element documentation:
    Release group
    RANGE
    Dictionary data type: CHAR (field length 2).
    DEFAULT
    BapiekanTable PO_ADDRESSES
    Size:391 bytes
    Released since:Version 31G
    Import/Export parameters
    MEANING
    This table contains the vendor's address.
    RANGE
    DEFAULT
    BapiekkoTable PO_HEADERS
    Size:428 bytes
    Released since:Version 31G
    Import/Export parameters
    MEANING
    This table contains the PO header data.
    RANGE
    DEFAULT
    BapiekpoTable PO_ITEMS
    Size:962 bytes
    Released since:Version 31G
    Import/Export parameters
    MEANING
    This table contains all PO items.
    RANGE
    DEFAULT

    Events
    CHANGED Released since Version 30C

    n="2 l`k$6 756$Hce./usr/IBMVJava/html/enterp/en_US/sap/samples/purchasereqitem.htmllh$$   t <>de"/abilnors =ghERTcfmpuv(.:ACDIMNSy),013FGLOPUVY_qw-5BHxz%289?QWjk#'KX6$4;J!*7Td%2RJs6AA)".fG.oTD4B@hwsP, Q-آ,I(I@{*GQ# $qwȼ0%atCz!DLD{?a ݳ J,v2X A8GFhPG v]$VY߂= X, ?@jYૡwPb?ZO{)as" EAZ;< !!`@@P atwI0[vVfQ!Vg<A09| @a 98QfKXWfIfI -f]KnkbEC@ 94J J,.ffs@h5O>.ffs@4XR;Iم>By (/i<0U5kuQܘöϳ Yׅ\|ĩ?.X"ji-Ǫ 85'bcIu;P :.ff3^as5@@_,as5f3_,  2xCR5Kn~]|as5f3_,0DTP`xpp4DhJϺcOddߒXȫO|+GxU:Z.4IMe; kf$i w'Q0С-%Ǫ;0С&EteNɤmc&Ǻ i WܕʤvéQM$n Mk,=QPz dYFyzaGrBʦI;aL5~l'AX絺;52i$t &(ʚÜj, )I.DtXz I&|Ɵ=k¬qҢ\ZzVCdq8.4IMe,H& `@u%^헏~=њe~%/,=(^wHFTؾH1b۲=𕿟=!S8yt#L4(I#O`aB[T6cp2ipbIYk 7%~R۳LIeM.DtXzfIK.4 Kweň L0Ie##/p2ip?gNTC~3b$a#Lw%kw$E?fTvG?6HzcEPQ Xn:K,*vO?fTvN:H !a4GAy"4XdcO"(,GTv˜߰ ld*~4Vy0С&Etg*{[|vyz쩰`u n;l42J:<@=@t,*>Y읮+Hy$I@9Nkt[2ipbIYk 7%~R۳LIeM'I9ƣ.@hO>'I9ƣ.DDƊRy_.i>^MMa5Quϕ587GX, 0h,`LP,P&Dt}˚Oˤ]'mۤlk=eYUsK_$U߰m%w5f]KnkbEC@ 9 60 *&Iم\*GdE {<0a C]<0O\xI558wEYUmۯ    $)It -taeWˮl(jkq"R:I]~]|587GXyꂇ}\@ԟI (I9ƣ.JÜj.b6*kqnLWi?.fQEWSXsGy]|587G].kuQܘô6*kqn谎,{ R~]', &(*kqn]%wIu>aeI[v,O0R۷^_.YbBÄDfX2c+wB !9 ;f%4(I!BJwgF[|'B~Pe͆g? PDT+5v08L.`ǹPWTR:!Hp nKus t FWusI'|.Զ~Y|,kI9ƣ,ʯ]Knx]|ą`p`a‚?.tn,uԶYE^MMa5QuTPt*GCi+O˯=PP >aeUxI558wESXsCtEQ^Wt_%Ma5  '|,(jkq"n;8vWt_%Ma5 Et OˤYQU$QE_%Ma5 KqǹM?.\~]',=KnمIfU|[v6=HXp2aeUxI558wESXsCtEQ^Wt_%Ma5  '|,(jkq"n;8vWt_%Ma5 Et OˤYQU$QE_%Ma5 K?.\~]',=KnمIfU|[v6=HXp22=ن 2C](INⳠP܌B+/l7%9]*Y5v08L.`ǹPWTR:!Hp nKus t FWusI'|.Զ~Y|,kI9ƣ,ʯ]Knx]|x` & 4]'|.Զ~Y_.ݳ (I9ƣ.JÜj.cEHm%wIuTPb !a H$$$ OYE^MMa5QuTPt`'SXsCtEYX~]', &(*kqn]꣹1chm%wIuTPaXH(OYE^MMa5QuTPtJ'|,*ԶYTaeWˮn.]cn.ą )+̰HUlcXv=O?dqن 2,{ }:y05;+uC]8 wWc4]2hP"ǹ0С-WK.k=`p0]%wY ݏr+8t6DHXkr[;  5v ,2操Oˤ]'mۤ YׄSXsGyY_.ݺ`@LL8H]'|.Զ~Y_.ݳ (I9ƣ.JÜj.cEHm%wIuTPa qR~]', &(*kqn]0 J䩬9ơ? V+4I (I9ƣ.JÜj.c5LXI]~]|587GXGa= )?.fQEWSXsGy]|587G].撻sIt 0-fU'YUmۯ X۬K!ab"`J,$Rc[#8{A]t!st|aBL;aB[:y05;+uC]8 wWc4]2hP"ǻ`hP),K`tfXv=ʀ⺧CHXkr[;  t FWusI'|.Զ~Y|,kI9ƣ,ʯ]Knx]|0pOˤ]'mۤ *]u-fQEWSXsGy]|587G].ƊJ䩬9ơ?T;OYE^MMa5QuTPt`'SXsCtEIX~]', &(*kqn]꣹1chm%wIuTPaXH(OYE^MMa5QuTPtJ'|,*ԶYTaeWˮn.]cn.ą )+̰HUlcXv=O?dqنU͖:y05;+uC]8 wWc4]2kuQK.k=`p0]%wY ݏr+8t6C=ܖMg] i+̹n>I[v?,i>as5$QEaeWˮn.X`И0`8 OzݺO0R۶aeUxI558wESXsCtEh ?.JÜj,@yas4 0jkq"0R۷^_,`,HXИbBIOR۷IfU|[v, &(*kqn]#'SXsCtExCR5Kn~]', &(*kqn]0 J䩬9ơ?pr_OYE^MMa5QuTPtGrbJ䩬9ơ?;P$It 0*$Üj;Ȣ䩬9ơ?w4'˚OˤYU'm0?,ʯ]Knx]|g] RWucO[vG=LteMlB !9 ;f%"JTvaBL;gz]+#ٱ~FsGےJTvc௧ !A[pdb" 5DBv=Ϥ#!VsRMM%Pc 8 {0꣹!j"F'g9N1%4XaBL;q" JϤ%N[Q*w%{2F 5ǫ J { ,HJA8E:i,ǎ$C]H\twc/t[as5$QEaeWˮn.XbTIOR۷IfU|[v, &(*kqn]#'SXsCtE!`& za1cR~]', &(*kqn]0 J䩬9ơ?yX~]', &(*kqn]꣹1chm%wIuTPaXH(It 0*$Üj;Ȣ䩬9ơ?w4'˚OˤYU'm0?,ʯ]Knx]|g] RWubd/a/<$8Gf$ȳ} 4XI*ƶG,p{CT8x%Ǫ;0С&Et c nS⺧[5quv=K,G q" RYsYc+̱{YuO#&\w>@p0d{؀Xp@6˚N6?.tn.ff3^MMa5QfU|[v剄c)?.tn,uԶYE^MMa5QuTPt*GCi+O˯=PP >aeUxI558wESXsCtEQ^Wt_%Ma5  J~Ɠ>aeUxI558wESXsCtEfUɋ;Ci+O˯"ǺA@OˤYQU$QE_%Ma5 K?.\~]',=KnمIfU|[v6=HXp2$A{ x%Ǫ;0С&Epda'd {~ S矲DBv=D:y05;+uC]8 wWc4]28Gf$ȳ %5v08L.`ǹPWTR:!Hp nKusMg] i+̹n>I[v?,i>as5$QEaeWˮn.X`Иx8@]'|.Զ~Y_.ݳ (I9ƣ.JÜj.cEHm%wIuTPa qR~]', &(*kqn]0 J䩬9ơ?$Wi?.fQEWSXsGy]|587G].kuQܘô6*kqn谎,{ i?.fQEWSXsGy]|587G].撻sIt 0-fU'YUmۯ X۬K!ab"`J,$Rc[#8{A]t!st|aGdse~5MNnyǎ$C].LTvG?6˚t& I]e0wcܨ +x $8df%YbahJ.i8ۤOzݺO0O]'mۤlk=e\cnXEEPQ WsYauԶֶ$T98萫3j(+|3`j( 0bj!}YUϱvD\= Ǻϳ *5ޓϳ YׄSXsGyY_.ݺcBb"b!AbbM'|.Զ~Y_.ݳ (I9ƣ.JÜj.cEHm%wIuTPa qR~]', &(*kqn]0 J䩬9ơ?2_OYE^MMa5QuTPtGrbJ䩬9ơ?;P$It 0*$Üj;Ȣ䩬9ơ?w4'˚OˤYU'm0?,ʯ]Knx]|g] RWub.{#$U߰~˴+0ꣲc+7$-A `ɬK`4m%wY4m~]'=Kn'\'.f$Üj;Ȣ,uԶׅ,4 (i?.tn,uԶYE^MMa5QuTPt*GCi+O˯=PP >aeUxI558wESXsCtEQ^Wt_%Ma5 ebcIt 0*$Üj;Ȣ䩬9ơ?v3[Ŏ'SXsCtEvc H2>aeUxI558wESXsCtEi+O˯4I (OR۶aeR~Y_.ݺut&"& 2]TPb8H I|]xI558wE>TP`HJO> Kweň L0Ie##/p2i>^MMa5Quϕ587GX, 0h,`LP,P&Dt}<9 c?a=٦X@qu%8ĈkɤOzݺN6.ffYX۬4 EEPQ WsYauԶֶ$T98萫3j(+|3`j( 0bj!}YUϱvD\= Ǻϳ *5ޓϳ YׄSXsGyY_.ݺb#ER~]'=Kn'YUm0*$Üj;Ȣ䩬9ơ?v4TWt_%Ma5 &HKd,qꂇ}8 It 0*$Üj;Ȣ䩬9ơ?v(/Ci+O˯bcIt 0*$Üj;Ȣ䩬9ơ?v3[Ŏ'SXsCtEvc H4I (I9ƣ.JÜj.sI]~]|OYERzݳ *,uԶׅˬme!/<$8Gf$ȳ \. Bdz[qYbahJ.i8ۤOzݺO0O\xI558wEYUmۯ &OzݺO0R۶aeUxI558wESXsCtEh ?.JÜj,I[v?,i>as5$QEaeWˮn.X`Иx8@]'|.Զ~Y_.ݳ (I9ƣ.JÜj.cEHm%wIuTPa qR~]', &(*kqn]0 J䩬9ơ?$Wi?.fQEWSXsGy]|587G].kuQܘô6*kqn谎,{ R~]', &(*kqn]%wIu>aeI[v,O0R۷^_.YbBÄDfXI*ƶG,p{CT8x[Ci<0cEH숸{A]u'fUs=k'f3I &( *]u-uu DCÆŀOˤ]'mۤ *]u-fQEWSXsGy]|587G].ƊJ䩬9ơ?T;OYE^MMa5QuTPt`'SXsCtEebcIt 0*$Üj;Ȣ䩬9ơ?v3[Ŏ'SXsCtEvc H2>aeUxI558wESXsCtEi+O˯4I (OR۶aeR~Y_.ݺut&"& 2]A `ɬK`4m%wY4m~]'=Kn'\'.f$Üj;Ȣ,uԶׅ,4 (i?.tn,uԶYE^MMa5QuTPt*GCi+O˯=PP >aeUxI558wESXsCtEQ^Wt_%Ma5 ebcIt 0*$Üj;Ȣ䩬9ơ?v3[Ŏ'SXsCtEvc H2>aeUxI558wESXsCtEi+O˯4I (OR۶aeR~Y_.ݺut&"& 2]U$I@q4(Igc,Bbȏfy#gcnK*kuQُ+,tylqK@t6TPz dYK>YϕI54΁Cq:@@"H[䅨<W ~:WĖdcOن 2,{Ĉ/a*vK>;' n;#$ GH1ܗ{矲Cy~˴+0ꣳJ2d]YU;9]CfAہIjkq"|9ơ?ŀ(p<.ϺsIjkq"|9ơ?1}%|h4 @,`2˖FG^d|.$Üj;Ȣ*kqnX@`$X8 0Bdz[qYbahJ.i8ۤOzݺO0O\xI558wEYUmۯ &OzݺO0R۶aeUxI558wESXsCtEh ?.JÜj,I[v?,i>atn Yas5sK`QAD7"I]fYR۲;ZؑP8PBy8D́.f,ʮ}yaeW>ƊpO>,{zO>.ff3^MMa5QfU|[v   4IOR۷IfU|[v, &(*kqn]#'SXsCtE(w It 0*$Üj;Ȣ䩬9ơ?v(/Ci+O˯~Ɠ>aeUxI558wESXsCtEfUɋ;Ci+O˯"ǺA@e'|,(jkq"Wt_.i?.fQTlʤ *]u-uuuv$,8LDLI]ey쌑TC~y.Ь[K#0JܐhdaGeW|%CaGdFWwM.y) vK= Ǻ^9:^>y0ꣲc+O?f&yuNHk!{f Xn;,v0rIeg] 2;Tgy0С&CHkS+ي"=O?g6,g@GL{',tBQ|&=؁\.6鬵L6;j{I$ۥ>U$.2lzIjkq"|9ơ?1}~ Jsj{Z;U 4\&5L & ԖX ĈkR;,tBv=Me,H& bIePz'A0С&EtYt `RY`p8<Kpd dYM5L & IeX醅 2,{˦XL`@C,8f`M]tCdI#Me,H&$0XLK,WcNI$ۤ]xI558wE>TPb :#}˦Xꤲ ~>WT|aBLy{ dd{~R۳L$i wB4XB5b-G?d{ׅX,Glb .DtX9=ܐx` &"4Xi%}q" HXkrD" M$n ~ H:TؾWs Q:T߰r ?dlf6鬱%}:$FBdz[$4& JMeyy ؎=i nH4&4XJMe/$5Q% FNɦ`퐱䇄ÄxTk,JTX< nH< 0& I$ۥG?dl%*w%?dl"yy82U y W1M L4sၓDtX  S8 &4DhH 4X } BbE<y A!!!48HI6dz[ ,4 4M\,D|G5q_e*w%?gx{  0o9]x B».GHB=W '6{`L@8h J>WEQO?d{A^BA ,ҬD%C>Y dHBDtX9`+GyvBdz[0XL`M$n *$8Gf$ȳF{{#y2=ܒsH(H9QxTc&ǺY(^ 2ip{Ztf#*ʛ˴v*d~ʡ"r^cCyϏﰑ䇃ƌtd{~ς [vi3BÇ^MMa5Quϕ587GXO>?dߓL7<h.$A{ "(cIٰ|aBLy{  2:#O"(%,]{?GSfѕ;%4*X7$*|Xv)MM%K'ÉByvU 𫥎~R۳LAԖXdt$A{ TbÜC],G˟:}zVD$UK!}Kn2hP!5GY`ynH<`q" K#*Xs%)?d߁$agc# cl%Qq wFyq" L^(H\6;j{FU(~% z1q=w|dINQC]s{^>y# AX!*{ZCf Mk,<8~ < 3 @ L  ` 4YaْvejlYϞ~ˉ^A @ @ 0` &IKJG)ALwS< N;e~ȉ-ǺA!b"@0ltvˉ^UyL6;j{Lƞʰ!˴v*G(vXǩبdV?HO?f*!}56OTeM{}O?g@r*Xsk|%Ǫ;0С&Et"#Oddўz*vO?f*!DteQv|&5v=ѕ;$(=Qن 2,{ t Q-ƊpO>,{zO>.ff3^MMa5QfU|[v刍%It -taeWˮl(jkq"R:I]~]|587GX"ji-Ǫ 85'|,(jkq"أ ?.JÜj,'|,(jkq"n;8vWt_%Ma5 Et L~]', &(*kqn]%wIu>aeI[v,O0R۷^_.YbBÄDfX"(3 d7${?GSfїgDFsGےO?d%;c,h#4 ʣ*=ܑ^,JTtf 2,{,4,U H1ܗB,R;".WcIم\yIم|,kI9ƣ,ʯ]Knx]|@@D`!bcBaИp0LHXOˤ]'mۤ *]u-fQEWSXsGy]|587G].ƊJ䩬9ơ?< 䡩i?.fQEWSXsGy]|587G].m%wIuTP`P"V+4I (I9ƣ.JÜj.c5LXI]~]|587GXGa= 4I (I9ƣ.JÜj.sI]~]|OYERzݳ *,uԶׅˬm{ؐ10e%wY4FzݑwSpwF,95q]S jtʦ$i w'Q0С-} 5v08L.˚t FWusI'|.Զ~Y|,kI9ƣ,ʯ]Knx]|@@D`!bcBb#E R~]'=Kn'YUm0*$Üj;Ȣ䩬9ơ?v4TWt_%Ma5 )Hw% H-It 0*$Üj;Ȣ䩬9ơ?v(/Ci+O˯p~Ɠ>aeUxI558wESXsCtEfUɋ;Ci+O˯"ǺA@&>aeUxI558wESXsCtEi+O˯4I (OR۶aeR~Y_.ݺut&"& 2ƞR۲9c<}!8xTB !9 ;f%Yc+̹K`4m%wY4m~]'=Kn'\'.f$Üj;Ȣ,uԶׅ,F &4&"4XLhIt -taeWˮl(jkq"R:I]~]|587GX!ܔ5#T'|,(jkq"أ ?.JÜj,bcIt 0*$Üj;Ȣ䩬9ơ?v3[Ŏ'SXsCtEvc HIt 0*$Üj;Ȣ䩬9ơ?w4'˚OˤYU'm0?,ʯ]Knx]|g] RWub.~R۳L$i w@n^ˑW*eW|'DBv=Ϥ$$R9N*e~ .4IMe=ܑhLD@<5 O+# 82Y + 4[#٭,F`@yT: #{A^@^5HkrFQ0hI[v?,ʯ]KnمQU$QE_%Ma5 Kt6*kqnOC(jFmOˤYQU$QE_%Ma5 KFzI]~]|587GXX~]', &(*kqn]꣹1chm%wIuTPaXH(~]', &(*kqn]%wIu>aeI[v,O0R۷^_.YbBÄDfX[vG=LteMl I TvY t& I]eg] i+̹n>I[v?,i>atn l荘] 0N6.ݕ5HU5@ .%g{_PAXxz,{bEN5YY=w%vatat 0OR۶auԶֶ$T98 0 (,B,s3IfU|Tw&,p퐎,{ YׅYU 6,s3IfU|Tw&,p퐎,{ YׅYU XxbaeW˙O0꣹1clvc @u'\'.f,ʯ0X4XpA !IfU| *Xn;8vGa= R~Y|,k,b 1XxphH<   *\~Y_,fUɋ;d#?,i>atl荘Y0T jn"zvP9:cƠ01!aKb"*sVf $D@hj D"AHP J$l+~ مOf U l $ 756$Sa./usr/IBMVJava/html/enterp/en_US/sap/samples/purchaserequisition.htmlh$$   <>et"/abdilnors =cfghpu .AEIRmv:CDNSTqwy(),0123FGLMOPUV_jBHYz589?QWkx#%'-K46JX+|!7; &s3 YSu  R h[lhjC H`@@O20܆-d~M6Q%D3W@E-!4# iizs\[`&fd0# iiblk](x A\3xEzEMiZ~YDҏŶ&d_`1?pi0@ eG70N[Ŧ'#7C'>`W FFEv0P$ 0iFtvQ4M+(BYeYzpfOO0s"@[@\ր- 0+iDQ?0zFFEv0a (R(>VQ4Ł\3}:(<]7k Sj ?VQ5cz k]H-<{t- FMJx 6Q58Ⱦ2-  &&Ⱦh.IXLkli[+(vd_#ݸ([Ĝ<XJeҵQ?ַ9yiM,9d2˥klost X{2Z([Ĝ<@ &?73)LV&]EHn&'UdV,`3 òTmOAmO ':V'O%7FJDJYD[.Ì"${ekl*+a'@V'pH JDZ;'JDZ Â)Z([+(V(B&l~s1Amkqi|YŤɹ" Ost &&]EDַ 6Q4'1ҙeJDҶVQ58Ⱦ2-"Gq6Q?ַ9yi7L42˥klostXre)JDZ$7L9JeҵQ?ַ9yi@M,~?"@jV'O%7F kllaEi=ۉ#0@ CH)Z([ap V'gُMчiZ([+(eq|dZDvlmVEb޸,?dJDZ44`xҵQ?ֶ={klmSta`mOO8Ⱦ2-"Gq6Q?ֶ«"o\tklm0 v NMчiZ([+(eq|dZDvlmVEb޸,?dJDZ 9r{37$A0e!eZ?98Ǿh,@Oddܑi9yi(vd_ eZd_4 MM2ų2&liZ?,ۥ,Mҗada]7kRnen/d0Jn#\~]p) - .k@[4s|X4s@ԭۥklhYD[KY --0.(<(nF Y [b|io[)?9|EKd79%X"Of/],!dHvy`9=.钺EOu=s,Ev0R/d?Ir^{d2]"^0R/dQ^>g9EVeȭ:bnẛҴmؽtGO]x+l __tX<( `p8lLDC~##\Qtݮ== A (7@t##\Qtݮ== A(7@8 ^0AzX"taxP ^ot:<]7kOu€C€0 䈯]L/Gd7xPk# [ /牽~Y<gP Ed@w5ϮY rxGz 0>-?<k^0\VC(~ycr^XddArY ܗ" z'#=޷ϳ:ȭ[2WHؘ C9AzX"ta>5Ѐ`P@zR/d",nK 0xH Pf=" _tXErY ܗHgg|L^0S]oޔ+K!x8`7%taF9lNL0ȣ td7zlef(XC!ȑ,r{ݸCLܗ5xP0@1p΂g\㡍23fCr^{c{%.{#&* f t%F v0_Ot"7sq!bc   z}xwO;#X~fas td'?As7~20NXLӬ9 un:2Judq%Ł\3| ̗\ 0][cEKd4v ҝ`~k@@P8 ?< ̗t7 ot7%}OC4_Ж5ÛwCrP[ ̗\C!zdŁ\3x7'"ta07tF{#=.՘DM~q96/|D钺EOuOnHĝ?< ̗~ǂ@ ?cH` =1.nHĝ?< ̗9`@ c 0a~+"1pj$\}?8?d5zÃQssG`LӬ7 t3 un:2͌y"+F_JtFzC!2s\0ţdz>p)c{?=:.h:Veȭ:bnẛG!C`Ppp2koҵJ]+VҵQ"lE[+(_ZEoq-;tArY ҙtmHU+k(ձ7$ZA)O؀J>ÖC)Z}O؀@Ȃх+O  iQ4Ml@PMOȬYg:dZ([cZ([uc$Ul@PMַ:n'LV[7S`OrtmҶVQ"eȭ:bnoq-/u7L\nJeҵZ޷ẛ  ?kn[.Eoq-;u{i~EAp- 2ƀ#-.K!)J+ee*\Zv(&[7S̋ZAIeS.V'V(Z([t)V&" Yzpu+[ekl8$klm֭(UVӱA7Z޷ẛX{ 2Zۭo[t KMA{kn[.Eoq-;u{i~et S.@ O%7F +[tHr+{iؠo[t KO2/ i&4oArY ܔLV[+(UVӱA7Z޷ẞd_4 M/ҙtmҶVQ?ҵl~YDJDZۦM}ҵQ4Ml@PMOh; ?)Z([cƀAC x V'j[.Eoq-;u{i~e S.@ ,ܝ+[tHr+{iؠo[t KM,~?VQ?C IBn\g#7OxȐ5.F,pL !kda 3]EzEMOB+O,ԭ(T7n(_֭(_$Wַ"RZL FkQ~ҙtmHm#ƀACѢ@p V$WHee(Uk|"%%tt]+[e+[a<pX$JDee+[)-Eoq-;t̓Ft]+[e+[uceȭ:bnẛ>[b|io[)?9 чOl^:w{0LEOu.y!|c(XC!ȑ,r{>AzX"ta>7ґ}'"ta072X 2ZCdz2WH8$/ґ}ֶ2V ~sbI;>2ptasV4/%~}` 081 &wC=s,Ev0X<( 84#\Ҋ(wC=s,Ev0X<( 8@#\dr%zúday`.ч@`p0(G8z##\Qtݮ== Ǎ $`?'"ta0B$pC~ƇH 䈯]L/})2W钱NۄW:d}apP_"J2V ~uNWa` Ƌ_J|}?>p.)̓.bfs\EО~ycsd[38CO΂/N\2-S?<:QEt%zuE)N|@.K!B`~?<:srD ?4']7k ={,=cٞX\2|gO^G:,[D3!,t/wO<5?{?vC$c/A!牼{d@ɢ( c{?=:n ^[+" Z_lhF ᴭ>[~r+{iؠ?:nq>[~r+{iؠ?:n!8@Hx`@ iZmҶWJձtmH[+(_$Wַ[t N2\Bat]+[e(UklE &l~vFMJlkeei &R(OVei &q62 taJ>"@CiZ}M+ee[.Eoq-;ekl*+a'@V'`8 44(8@h<>Z?,EVˑ[t NkzZ_nap.˥knoq-/u6 ܝ+[tHr+{iؠo[t KM,~?5/c.zٙ3,E (~NO\Z?,EVˑ[t NkzZ_nap.˥knoq-/u6 ܝ+[tHr+{iؠo[t KM,~?5/c.zٙ3,E (lE]~2nK.$=X:En2nj2魰!>|0?Mv=  ݺe )LkoҚkli[+(r+{iؠ([aUXuV'Dx  6Z?,EVˑ[t NkzZ_nap.˥knoq-/u6{'J+ee*\Zv(&[7Stt]+[u{i~Jn8,kn[.Eoq-;u{i~EAp- 2B2ނ)ҙtmҶVQ"eȭ:bnoq-/u<Ⱦh._2ZۥljM}v08pp6˦Ĝ]@Ȃч>.&?X"oj2!~+XEv0R~LiLkl5kOzh`_ S]o~@?A@a~LѠ p)MmS_tmM+ee[.Eoq-;ekl*+a'@V'`@4m+[eknl~YD" @ 2])JkzZ_l':V[+(UVӱA7Z޷ẛX~.x7@ 2Zۭo[t KMSta`E+[tHr+{iؠo[t KO2/ i&8%N˥kn[.Eoq-;u{i~EAp- 2)J+ee+VOmOkLxсÃ]5E$翚7DX\(t>X"oj2!LӬ~?|0?Mv=  ݺe )LkoҚkli[+(r+{iؠ([`2v1p[mO@@HpAAmOձe*\Zv(&[7Stpt]+[u{i~':V[+(UVӱA7Z޷ẛX~.x7@ 2Zۭo[t KMSta`E+[tHr+{iؠo[t KO2/ i&8h B2ނ)ҙtmҶVQ"eȭ:bnoq-/u<Ⱦh._2ZۥljM}v08pp6˦ϫcj X"2̉,G'AzX"taݸBO^]3Dx3]s$9b7ncFҙtߦ,4h0`H!Je[~+[eJYDҵl~YD)klEJYDc$U)en/d0K1s|i0tǎ!k?#\~]d'\B`jVHkMmHVHee+[)- X`g#5чŨLV$WֶaA@@HpxҵQ"lE[+(B[)- X~.x7@ 2Z(_Z  V$WO[+(_ZIhr+{iؠX?4&d0 2Z(_Zۭ[[.Eoq-;u@ 0$ 8 08@iZ=3O~Al~O 7'ւ7AzX"ta1|@]7kH3$n~X\ : 0 zF}pot\5C/ҶW[.Eoq-;u@ AiZ}ֶ+euVӱA7Z[t KMツZ}ֶ#NWa` Ƌˑ[t Nioq-/u6 Ə Ce+OߥknV˥klEJYDVQ"Zv(&閂 2Z(B[e(W5Q5c2nHSe[+(O42DZ},R(O43 Vei2Ji[+(r+{iؠ([aUX ŀ8t7RQ?ֶ ҵQ?ֶVHr+{iؠo[t KM,=Nҙtmַ:n'`ZۥlEVˑ[t NkzZ_nc|0.˥knoq-/u6MчRJYD" @ "Rnc!oArY ܔLV[+(UVӱA7Z޷ẞd_4 M/ҙtmҶVQ?ҵl~YDJDZۦt88Je[aȐfKߧAzX"taݸ@_JĜ]@Ȃч>.&?:<]7k~ycὫ~olLDCW2WHu!dNMۦXѴ]55т'ڽ_40/ kt  Rtߥ5JDҶVQ5VӱA6Q?ֶ«"o\tklm0mOձe*\Zv(&[7Stpt]+[u{i~H#OrtmҶVQ"eȭ:bnoq-/u7L\nJeҵZ޷ẛ Â)ZۥlEVˑ[t NkzZ_y|\ H)7L,nJt]+[tHr+{iؠo[t KO2/ i&LV[+(Z?,klm_tݺeƌ 2魰H3%o󠌌=s,Ev0钰"('=A62 ta!wO΂20n0LG9 }?9 \M~ycs5/c.}?|0?Mv=  ݺe )LkoҚkli[+(r+{iؠ([aUX :RQ?ֶǍ@M+[eknl~YD" @ 2])JkzZ_l NV$Ul@PMַ:n?73LV[7Sa<pX$J+ee*\Zv(&[7S̋ZAIehF[\C7%:S.V$Ul@PMַ:nt]+[tO[Q?ҵQ?ֶ鯺n2Fҙt}=.K!~x`?<3j27\/?<瞯QYϳ2 7 h_JĜ]@Ȃч>.&?<瞯Qt>X"oj2!LӬ~?<3:7ncFҙtkF jDa~+[eJYDҵl~YD)klEJYDc$U)en/d0&K1s|y dH #L8yF5ч20"=s"t`?',~.x\B}d&nDtDl~YDVQ"кepb03]p|Z.˥klEkl4 4@(-ə'!LV$WֶVˑ[t Nioq-/u6  )Z}ֶt bٝ~ǘYd@O,~.y'iĺBQ"M##\Qtݮ&/X"tadpos"gAs7[~r+{iؠ?:nq>[c'+F, A(  00cEVeȭ:bnẛG!C`Ppp2koҵJ]+VҵQ"lE[+(_ZEoq-;tArY ҙtmHU+k(ձ7$ZA)O؀J>ÖC)Z}O؀@Ȃх+O  iQ4Ml@PMOȬYg:dZ([cZ([uc$Ul@PMַ:n'LV[7S`OrtmҶVQ"eȭ:bnoq-/u7L\nJeҵZ޷ẛ  ?kn[.Eoq-;u{i~EAp- 2B2ނ)ҙtmҶVQ"eȭ:bnoq-/u<Ⱦh._2ZۥljM}[cx##\Qtݮd+"stc" F0~r:x]7k~ycὫ~olLDCW2WHu!dNMۦXѴ]55т'ڽ_40/%tXDx 4 kt  Rtߥ5JDҶVQ5VӱA6Q?ֶ«"o\tklm0mOձe*\Zv(&[7Stpt]+[u{i~H#OrtmҶVQ"eȭ:bnoq-/u7L\nJeҵZ޷ẛ  ?kn[.Eoq-;u{i~EAp- 2B2ނ)ҙtmҶVQ"eȭ:bnoq-/u<Ⱦh._2ZۥljM}[aȐfKߧAzX"t`/%tXxk^0;ߧ]x"A.}?~+#ƀp@,qcߐ;O@_,4h0`H!Je[~+[eJYDˑ[t NDZ Žp8X~:%}?a` Ƌˑ[t Nioq-/u6 Ə Ce+OߥknV˥klEJYDVQ"Zv(&閂 2Z(B[e(W5Q5c2nHSe[+(O42DZ},R(O43 Vei2Ji[+(r+{iؠ([aUX ŀ8t7RQ?ֶ ҵQ?ֶVHr+{iؠo[t KM,=Nҙtmַ:n'`ZۥlEVˑ[t NkzZ_nc|0.˥knoq-/u6MчRJYD" @ "Rnc!oArY ܔLV[+(UVӱA7Z޷ẞd_4 M/ҙtmҶVQ?ҵl~YDJDZۦt88Je[aȐfKߧAzX"taݸ@_JĜ]@Ȃч>.&?:<]7k~ycὫ~olLDCW2WHu!dNMۦXѴ]55т'ڽ_40/ kt  Rtߥ5JDҶVQ5VӱA6Q?ֶ«"o\tklm0mOձe*\Zv(&[7Stpt]+[u{i~H#OrtmҶVQ"eȭ:bnoq-/u7L\nJeҵZ޷ẛ Â)ZۥlEVˑ[t NkzZ_y|\ H)7L,nJt]+[tHr+{iؠo[t KO2/ i&LV[+(Z?,klm_tݺeƌ 2魰H3%o󠌌=s,Ev0钰"('=A62 ta!wO΂20n0LG9 }?9 \M~ycs5/c.}?|0?Mv=  ݺe )LkoҚkli[+(r+{iؠ([aUX :RQ?ֶǍ@M+[eknl~YD" @ 2])JkzZ_l NV$Ul@PMַ:n?73LV[7Sa<pX$J+ee*\Zv(&[7S̋ZAIehF[\C7%:S.V$Ul@PMַ:nt]+[tO[Q?ҵQ?ֶ鯺n2Fҙt}=.K!~x`?<3j27\/?<瞯QYϳ2 7 h_JĜ]@Ȃч>.&?<瞯Qt>X"oj2!LӬ~?<3:7ncFҙtkF jDa~+[eJYDҵl~YD)klEJYDc$U)eHYD֭f=-t- 1 187$ZA)NnZ@0DD˰"ȴ``0("Rli4CgJeM+[eJYD[.Ì"${e* SAP Business Object PurchasingContract

    SAP Business Object PurchasingContract (BUS2014)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- PurchasingContract
    

    The business object Purchase contract is a &IM15037& that is fulfilled through the issuing of release orders at certain points in time. A purchase contract consists of items that can define a material or contain service specifications. In service specifications service lines specify the quantity and service specification outline levels the structure of the service to be performed. Materials of a purchase contract can be released at item level and services at line level.


    Keys
    Type Name Size Released since
    java.lang.String PURCHASINGDOCUMENT 10 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESOUTBOUND 78 bytes Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A
    Bus2012Table PURCHASEORDER ??? (see below) Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    PurchasingContract ()


    PurchasingContract (com.ibm.sap.bapi.ObjectId objectId)
    PurchasingContract (java.lang.String PURCHASINGDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     kL$!756$./usr/IBMVJava/html/enterp/en_US/sap/samples/purchorganization.htmlh$$ SAP Business Object PurchOrganization

    SAP Business Object PurchOrganization (BUS0007)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- PurchOrganization
    

    The business object Purchasing organization contains the purchasing organization, that is, the organizational unit within logistics that subdivides the &IM11000& according to the requirements of purchasing. A &IM15031& is responsible for the handling of purchasing deals with vendors, it purchases materials or services and negotiates purchase terms.


    Keys
    Type Name Size Released since
    java.lang.String PURCHORGANIZATION 4 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2012Table PURCHASEORDER ??? (see below) Version 30A
    Bus2052Table PURCHOUTLINEAGREEMT ??? (see below) Version 30A
    T024Structure BUYERGROUP ??? (see below) Version 30C
    Bus0006Structure SALESANDDISTRORGAN ??? (see below) Version 30C
    Bus0002Structure COMPANYCODE ??? (see below) Version 30E
    java.lang.String DESCRIPTION 20 bytes Version 310

    The size of this attribute must be determined at runtime.

    Methods
    PurchOrganization ()


    PurchOrganization (com.ibm.sap.bapi.ObjectId objectId)
    PurchOrganization (java.lang.String PURCHORGANIZATION)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    Ȃ kpe$ !756$ ./usr/IBMVJava/html/enterp/en_US/sap/samples/purchoutlineagreemnt.htmlh$$ SAP Business Object PurchOutlineAgreemnt

    SAP Business Object PurchOutlineAgreemnt (BUS2052)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- PurchOutlineAgreemnt
    

    The business object Purchasing outline agreement contains long-term agreements with a vendor or a plant. These long-term agreements are differentiated according to whether they are purchasing scheduling agreements or purchasing contracts.
    A purchasing scheduling agreement is an agreement between a purchasing organization and a vendor or a plant concerning the delivery of materials or the rendering of services according to fixed conditions. Whereas the purchasing contract is fulfilled through purchase orders and does not have any schedule lines, schedule lines in which ordered materials are subdivided according to delivery dates and the quantities to be delivered on these delivery dates is characteristic for the purchasing scheduling agreement. These delivery dates or alternative delivery dates can be confirmed in the purchasing scheduling agreement acceptance/fulfillment confirmation, which can be, for example, an order acknowledgment or a shipping notification.


    Keys
    Type Name Size Released since
    java.lang.String PURCHASINGDOCUMENT 10 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    PurchOutlineAgreemnt ()


    PurchOutlineAgreemnt (com.ibm.sap.bapi.ObjectId objectId)
    PurchOutlineAgreemnt (java.lang.String PURCHASINGDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    > k:*$! !756$! ./usr/IBMVJava/html/enterp/en_US/sap/samples/purchschedagreement.htmlh$$ SAP Business Object PurchSchedAgreement

    SAP Business Object PurchSchedAgreement (BUS2013)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- PurchSchedAgreement
    

    The business object Purchasing scheduling agreement is a &IM15037& in which the particular delivery dates and corresponding delivery quantities are specified. It has several items. For each &IM15096& several divisions according to &IM19001& can exist.


    Keys
    Type Name Size Released since
    java.lang.String PURCHASINGDOCUMENT 10 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2081Table VENDORBILLINGDOC ??? (see below) Version 30C
    Bus2017Table GOODSMOVEMENT ??? (see below) Version 30D

    The size of this attribute must be determined at runtime.

    Methods
    PurchSchedAgreement ()


    PurchSchedAgreement (com.ibm.sap.bapi.ObjectId objectId)
    PurchSchedAgreement (java.lang.String PURCHASINGDOCUMENT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    BMVJava kꪉ$ !756$ ./usr/IBMVJava/html/enterp/en_US/sap/samples/qualification.html$$ SAP Business Object Qualification

    SAP Business Object Qualification (PDOTYPE_Q)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Qualification
    

    The business object Qualification contains school types, certificate types, branches of study and performance appraisal criteria as well as qualifications and their structures.
    A qualification represents a skill or knowledge that is of interest to the enterprise such as language skills or EDP skills. Qualifications can be as general or specific as required. A qualification can comprise several other qualifications.


    Keys
    Type Name Size Released since
    java.lang.String PLVAR 2 bytes Version 30D
    java.math.BigInteger OBJID 8 bytes Version 30D

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    java.lang.String DESCRIPTION 40 bytes Version 30D

    The size of this attribute must be determined at runtime.

    Methods
    Qualification ()


    Qualification (com.ibm.sap.bapi.ObjectId objectId)
    Qualification (java.lang.String PLVAR,java.math.BigInteger OBJID)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    lspacin l$0!756$$r./usr/IBMVJava/html/enterp/en_US/sap/samples/qualitynotification.htmlh$$   <>et "/adilnor=bcfghps .AENTmuvy023CFIORSw1:BDGLMPUVjq%(),-5HQ_xz#89?JXY4Kk+67|!;W#4.3 c cpalfEvBZD3[R J;Җ4i!ԕ&f2/$Re<d){v!yhd@P$Rhk|ZC Xx$5|Gr:RpܞD]5e? Q_E XK lK^knQRiZL?Rh8,% L0;JX ]4xeѲZf~@kjIH`?(Xf0`&:Z^cuA @I( &&4ԐI4\5IO@d yd,H`<@OT O!`aLtf&Ԛ>v2ך|oQM#_O"?IL2;͔ydQ|q| a6S!oo l3|e57_(\g l3|e57_(\~se2F!HkGo%t݆-y1G} ȸaCEg{8;1GavD2|B |wE ~|Л#{{3{7rol>{QC|.3|e57_(?>GrhM猵~rYJ~FafǷn}={QC|NEr-;8Ű=!) $O3k~;7 ܛY>Ob B'ߧ?Oϑܚz8/s&E~NE|L2;͔ydQ|q| aޏF \g lpƑG;&cHOȶ} ȸa~2-voiG$'z= wyrQƙ~˷ȶ}n2ך|d[>\01Q~2-vo!DBS D& G_Lג~~xBD#{xL`'݆z= wj=x5vO 7Z^cuxL`'М48/4|IipfB5|N)ad 18/)&R ovR(Ԛ2PX  ]5Jؔ]4]&F]4u4͝5d)3߸Rw{M tu?ֻyKUcC)3]jOovRP I~S fԟ]<wE؎C;&'2PX]?ֺM$plN%|NkI8  kI F'XG&2'fԚfe45.Aω,1|̄A>'7dX!|MXUړ[>YJKa&Ak&ydwjM3]jM3gjMlg(Je,L.ԟ]<.ǓC)3]jOovRwEawLZkݧ@x'q7O)`(]v#ƣ&e0kIlI|%2&{jOI4\lRu< $kI9dkIɢG kI'2PX]?ֺ%lșgu?ֺ@hh$6'XrRurhQC)RlI|%2&{jOsf-4򙮵'X8`!u?ֺ0G3LZk#E LZ3gjOd)3߸RuI؜,KfLZkHx!P5֤Z F'XG&2'fԟg8BS)bgqvZ 4E8X:'XB<5֤Z F'XG&2'fԟg8BS)bgqvZ 4E8X:'XLZk/Oqfԟ]a/x`Pfԟ;R,% Lړk$Mb[7fԟ]`A!RuW,4u?ֺ94_(u?6v[>YJK='XI. Ķou?ֺ!!M3]jOG,4u?ֺ94_(u?6v[>YJK='XI. Ķou?ֺCFkI'3]jOM<0(e3]jO͝?ϖqR~Ii&bp-u3]jOx4` ƈ5֤Z>Y=iRurhQC)RlI|%2&{jOI4YO8>;dRu  8 >'X /Oqfԟ]a/x`Pfԟ;Riᖤ<#~{wfrQ^wf>8#y HZZ̄kRAcqK _.SvL<Uړ[>YJKa&A]4]OjM3]jM3gjM3Z\2ԟv-!-.鍰0`&:Z^cuzf5֤'ݺoHaKq1lK^knQ1 -P[PxXfȰ雷LZGԟv-!-鍰0`&:Z^cuM$plN%|NPtu4|InR ]`aLt"jiM06Qyp|p0`&:Z^culDh=iz H"7mINӶε$W.jHgjHw.F&k4$WֺCh8@xxpxhhhу5֤$W$PxNmBcQt_0L.REk#E LZ+fԟvxNmCltJ^`Dɽ | tu"Z[>Iy){$uD p@phM3OXޏ4L&?l"(^knQ EHy0#ccO-y1El-y1G41Qy}o9GdC'̑ }1/6w[>Iy){$uD 0iZ͝ϒltJ^iy)puv%LAi ܟk|Qƣϧ猵p4x y9[ GnɀCDXyG=Iy){$uD p@Dx4D D>]~fLZ+fԑ_ԑ_ZIy){$t]ٴ awLZ(UkI+t.RkZ\3)&R &vZ}&S4R>4S4R>ǓC8|M7_(4R>d@Gi}4͝5AvZ 4E8X:'XIy){$uΉK.Ğ&]5Z<蔸a#L]3gjHMΉK wltJ\0]v#ƣ&`&]5Z<蔸a|f;REVϒltJ^k`R(6%,-wEy%=6m!F]5Lڒ*|`RH.] 7W̔A)ak.0k'fe?5֤ZBt]8L.αH8&{?#tZK>w-y1D_c'ޏEyK[4s?#&v ^OQywrql L_mv"0p0m0:;nXhawNup_:LZLړ[>Iy){$jOI4\lRuF)Ruִe"g6:%/dݰy)puwEؓ f] 7W`Y=ilI[>Iy){$uΉK.rq f] 7Wa/x`Pf;REVϒltJ^k`R(6%,-wEy%=6m!F]5Lڒ*|`RH.] 7W̔A)ak.-0k'fe?5֤ZBt]8L.ΰkbqgplט|ޏ2x .F t_mv 0 L.ΰy9w'؜E`lC7'ޏG7쾟:QlN"Ӱ_:LZLړ[>Iy){$jOSPxXP ̉FyLZkp4 04F']kKZ*|`RH.] 7Wt]<M0kݰy)puv {5Lڒ*|`RH.] 7Wt]1/ tuֻ:%.n94_(u6v$<蔽 vD %PlJXZJ{lC7&0k$Ul&D]ֻ:%.n("bRt]awL]3gjOipRkINӶ 8Iy){$jOI4\lRuCDiRuִe"g6:%/dݰy)puwEؓ f] 7W`Y=ilI[>Iy){$uΉK.rq f] 7Wa/x`Pf;REVϒltJ^k`R(6%,-wE9 Oz HfѦtu6v$<蔽 vD %PlJXZL.lI.jOu?ֺкv`S sq&?~tICIy){$jOSP|H"[2&i3]jO#Ruִe"g6:%/dݰy)puwEؓ f] 7Wa`P_,4u6v$<蔽 vD b9 j8fi3]uΉKM<0 k$Ul&D]ֻ:%.n("bRt]ٴnMawL]3gjHMΉK wltJ\0_2PEĥfԟᖤLZk mv0pxe0 x8 Pxx"4x@Dwq,@<ǀNۢD``awNuv`BRi;Rkg6:%/dI j 7e3]jOÀAu?ֺZ\2ԑUAwZ<蔸aI~i3]uΉKOqf;REVϒltJ^k`R5wE34vD G&6fԑUAwZ<蔸ad K ]vA OX4BSރf4i3]t͝"g6:%/dݰy)pu|A f;RkKZ3]jOt.E8hご{GZoA]yz o֗ `8h4_mv"0p0m0:;nXhawNuctu4͝5AvZ5̃\2'Xh }3]jO֗ $Ul&D]ֻ:%.nxawL]k`R'3]t͝"g6:%/dݰy)puwE؎C;awL]k`R#E L]3gjHMΉK wltJ\0_2PEĥ !)Ai ܚ4fԑUAwZ<蔸ad K ]w3]t͝?5-I']:Nۢ4`awNu=ipd|QNveט|ƻ&/Ӷ86]ӝ~E,hp4}0:1кfԚfԚfe"Lt-IkI3gjHᖤ:'ݺoHaKn 6̑o,Zڃň4=Xf=3vԟRhړn7Ť07.鍴u9 -P[PxXf4L@0Lݵ'fԚ>vִg3!>'2ER—˔ݓ)`7O)` WjMlg(Je,Ԛs%PlJXZIi,L.ԚfԚfԟg8BS)bgqvu kIZcQt_3rhQC)RlI|%2&{jHXxxh!*fԑU5wE38G&2'fԟg8BS)bgqvu Sample: View Documentation of Business Objects in IDES 3.1h

    Sample: View Documentation of Business Objects in IDES 3.1h

    Objectives
    To understand the typical features of business objects in a SAP R/3 system.
    To see generated reference documentation.

    Time Required
    It might take you some time to understand all 82 business objects available in IDES 3.1h. If you just want to see the documentation structure and the features provided by a business object, you will probably want to allow about 5 to 10 minutes.

    Description
    The sample IDES 3.1h system provides 82 business objects. The documentation you see is fully generated by the Access Builder. In addition to the documentation file for each of these business objects, two other files are generated. The index file contains links to all business objects in alphabetical order. The BOR file contains a hierarchy of business objects by problem domain.

    Instructions for viewing the sample documentation of business objects
    You can directly view the documentation from the following links.

    1. Hierarchy of business objects ordered by problem domain
    2. Index of business objects ordered alphabetically
    3. Employee provided as a business object with typical features
     

    t] l$+i!756$6@./usr/IBMVJava/html/enterp/en_US/sap/samples/salesorder.htmlion$$  <>td "/abeilr=gnoTcfpsv1:ERShmuy035ACDHINOV_z%()-28?FGLMPUYw.Bx#4679Wj!,;JKZq$|Lk!`Mť@2s"F 0kqJ=0=s' E݉).!AH+ pd.H@gx , (LkeW!]CE2#x`   VA苻S\B($(TeW!A踡nVAA!)Ç$$\/=peAz2rZ\.ą@P)=A H%YFWH q d^t[t<$ yN9!& }!샇.@@Pc +VAc`䴸ˢBԐEPX$ -$Yp.$(( U{"ˀ( #U ~rWz-Ѐ!@$| jKK$(-Y9JoH"( Ղ,u_:SxA!@8$V&5|C M _<@5`]W2 EPX,VtΔyBW2Wt)px0 xW_8 Ȱ_t@A-_|JZ':ξpMH t }F6KK$(-I_<@A |REB h5YR,ˆPZ[V܃=_Ad6HB[$ԐEPX$-.2萠d)A X$VE|C M _<@ XPU 7$| Ճu_:SxA!A` X9s:R9 u_=_Aқt  4(P Ģc`:H%` W_8&ye$ U:SWt)p EphxH@xDW_8 Ȱ_t@A-_|>~unRA@e_5~9JoAқ,4P  $A~u DP!-W_8&ye$ U:SWt)p@PhW_8?H_) Hs -_|9唐P$W M_Aқt php@"@_|!|J.X6 J@ArZ~unRA@e_5~9JoAқ@< 3 -_|!-W_8&ye$ U:SWt)p4CC`@&UĢc`:H%` W_8&ye$ U:SWt)pAD$ $/E~u$ H9K]ξpMH( t M:S|h($@ X8$ $/E~u$ H9K]ξpMH( t M:S|hH~u_Ac_dID+5ZK J!Ppέ[0s#PUUYQ u`9唐,WU5HABcU$ չ5m~uWUƫlsU9{k㯝faW;U:SWt{ J!\9{k㯜AA  U~:vs_:69k(rƫ_)dID*իp1 n󯔲$ "B\LlWU5HABcU$ ո=WUUYQ u`X(rc{ J!\YQ uj9)2ξRΫ}_ױvAc_dID+5ZK J!Ppέ[ pe[u_|y%8gVĢc`: 1G$|y%8gV 2ξR SAP Business Object SalesOrganization

    SAP Business Object SalesOrganization (BUS0006)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- SalesOrganization
    

    The business object Sales organization contains the sales organization, that is, the organizational unit within logisitics that subdivides the enterprise from the viewpoint of sales and distribution. It is responsible for the sale and distribution of sales materials that reach the customer via a distribution channel. It is assigned to a company code.
    The sales and distribution area defines the particular distribution channel via which products of a division can be sold by a sales organization.


    Keys
    Type Name Size Released since
    java.lang.String SALESORGANIZATION 4 bytes Version 30C

    Attributes
    Type Name Size Released since
    Table AGENTS 14 bytes Version 31G
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2032Table CUSTOMERORDER ??? (see below) Version 30A
    Bus2051Table CUSTOUTLINEAGREEMENT ??? (see below) Version 30C
    Bus2031Table CUSTOMERQUOTATION ??? (see below) Version 30C
    Bus2030Table CUSTUMERINQUIRY ??? (see below) Version 30C
    Bus2033Table CUSTCOMPLAINTORDER ??? (see below) Version 30C
    Bus1051Table DIRCTMAILINGCOMPAIGN ??? (see below) Version 30C
    java.lang.String STATISTICSCURRENCY 5 bytes Version 30F
    java.lang.String DESCRIPTION 20 bytes Version 30F

    The size of this attribute must be determined at runtime.

    Methods
    SalesOrganization ()


    SalesOrganization (com.ibm.sap.bapi.ObjectId objectId)
    SalesOrganization (java.lang.String SALESORGANIZATION)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    ame="IN k$8"756$8./usr/IBMVJava/html/enterp/en_US/sap/samples/servicenotification.htmlh$$ SAP Business Object ServiceNotification

    SAP Business Object ServiceNotification (BUS2080)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- ServiceNotification
    

    The business object Service notification is the description of a service-relevant situation that has occurred and, if required, the request to react to this situation.

    A service notification can be a customer notification, a service request or a service activity notification.

    A customer notification describes a malfunction in a service object at a customer's and requests its repair.

    A service request describes a service activity desired by the customer and requests that this be carried out. This service activity does not relate to a malfunction.

    A service activity notification describes service activities that have been carried out and that were not based on a customer notification or a service request.

    A service notification consists of several items that contain a description of the damage that has occurred at a customer's or of the service activity requested or performed.

    For a service notification item there can also be a cause description and a detailed description of the activity already performed.

    In a service notification task can be specified for the service notification additional tasks that are to be planned and documented and whose status is to be followed.

    To a service notification can be assigned different partners in dependence upon their respective partner role.


    Keys
    Type Name Size Released since
    java.lang.String NUMBER 12 bytes Version 30A

    Attributes
    Type Name Size Released since
    java.lang.String STATUSPROFILE 8 bytes Version 30E
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus0008Structure MAINTENANCEPLANT ??? (see below) Version 30C
    Bus0006Structure SALESORGANIZATION ??? (see below) Version 30C
    Bus2088Structure SERVICEORDER ??? (see below) Version 30C
    java.lang.String STATUSOBJNUMBER 22 bytes Version 30A
    java.lang.String STATUSOBJTYPE 3 bytes Version 30A
    java.lang.String TYPE 2 bytes Version 30A
    java.lang.String DESCRIPTION 40 bytes Version 30A
    java.lang.String PRIORITY 1 bytes Version 30A
    java.lang.String EQUIPMENT 18 bytes Version 30A
    java.lang.String LOCATION 30 bytes Version 30A
    java.lang.String CUSTOMER 10 bytes Version 30A
    java.lang.String PLANNINGPLANT 4 bytes Version 30C
    java.lang.String BREAKDOWN 1 bytes Version 30C
    java.util.Date MALFUNCTSTART 8 bytes Version 30C
    java.util.Date MALFUNCTIONEND 8 bytes Version 30C
    java.util.Date STRTMALFUNCTNT 6 bytes Version 30C
    java.util.Date ENDMALFUNCTNT 6 bytes Version 30C
    java.lang.String FUNCTLOCAFFECTED 30 bytes Version 30C
    java.lang.String EQUIPMENTAFFECTED 18 bytes Version 30C
    java.lang.String EFFECT 1 bytes Version 30C
    java.lang.String MAINTPLANNERGROUP 3 bytes Version 30C
    java.util.Date DESIREDSTARTDATE 8 bytes Version 30C
    java.util.Date DESIREDTIME 6 bytes Version 30C
    java.util.Date DESIREDEND 8 bytes Version 30C
    java.util.Date DESIREDTIME1 6 bytes Version 30C
    java.lang.String ORDER 12 bytes Version 30C
    java.lang.String CATALOGPROFILE 9 bytes Version 30C
    java.lang.String ABCINDICATOR 1 bytes Version 30C
    java.lang.String LOCATION1 10 bytes Version 30C
    java.lang.String COMPANYAREA 3 bytes Version 30C
    java.lang.String ASSET 12 bytes Version 30C
    java.lang.String SUBNUMBER 4 bytes Version 30C
    java.lang.String SALESORDER 10 bytes Version 30C
    java.lang.String DIVISION 2 bytes Version 30C
    java.lang.String DISTRIBUTIONCHANNEL 2 bytes Version 30C
    java.lang.String SALESDOCUMENT 10 bytes Version 30C
    java.math.BigInteger ITEM 6 bytes Version 30C
    java.lang.String ASSEMBLY 18 bytes Version 30C
    java.lang.String ROOM 8 bytes Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    ServiceNotification ()


    ServiceNotification (com.ibm.sap.bapi.ObjectId objectId)
    ServiceNotification (java.lang.String NUMBER)
    ServiceNotification (com.sap.rfc.IRfcConnection connection, ServiceNotificationCreatefromdataParams params)
    RFC Function Module: BAPI_SERVICENOTIFICAT_CREATE
    Released since: Version 30E
    Method description:
    FUNCTIONALITYYou can use this method to create service notifications. This allows you to create certain fields from the notification header, the long text for the notification header and several notification items.
    HINTSNotifications are returned in the parameter RETURN.
    Technical noteThe following authorizations are checked:
    • I_QMEL
    • I_TCODE
    • I_BEGRP
    • I_IWERK
    • I_INGRP
    • I_SWERK
    • I_KOSTL
    params:
    Type Name Type Information Comment
    java.lang.String EXTERNAL_NUMBER
    Size:12 bytes
    Released since:Version 31G
    Import parameters
    MEANING
    Number under which the notification to be created should be saved. If you do not specify the parameter, the number is assigned internally.
    DEFAULT
    None.
    Bapi2080Structure NOTIF_HEADER
    Size:150 bytes
    Released since:Version 30E
    Import parameters
    MEANING
    This structure contains data about the notification header. The data is a part of the database tables QMEL and QMIH.
    DEFAULT
    None.
    java.lang.String NUMBER
    Size:12 bytes
    Released since:Version 30A
    Export parameters
    MEANING
    Number under which the notification was created in the system.
    BapireturnStructure RETURN
    Size:252 bytes
    Released since:Version 31G
    Export parameters
    MEANINGINCLUDE PM_TX_BAPI_RETURN OBJECT DOKU ID TX
    BapiqmfeTable NOTIF_ITEM
    Size:66 bytes
    Released since:Version 30E
    Import/Export parameters
    MEANING
    This table contains the data of all the notification items. The data is part of the database table QMFE.
    BapiqclineTable NOTIF_TEXT
    Size:132 bytes
    Released since:Version 30E
    Import/Export parameters
    MEANING
    This table contains the long text for the notification header.

    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A
    INPROCESS Released since Version 30A
    CREATED Released since Version 30A
    OUTSTANDTASKSEXIST Released since Version 30A
    ALLTASKSCOMPLETED Released since Version 30A
    CLOSED Released since Version 30A

    < k$ "756$p ./usr/IBMVJava/html/enterp/en_US/sap/samples/shipment.htmlation$$ SAP Business Object Shipment

    SAP Business Object Shipment (VTTK)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Shipment
    

    The business object Shipment contains information that is required for the control and monitoring of the transportation of goods from the departure points to the destinations.

    A shipment is the grouping together of goods that are transported together from the respective departure points to the respective destinations. A distinction is made between shipments for the forwarding of goods from vendors to the enterprise (inbound shipments) and shipments for the forwarding of goods from the enterprise to customers (outbound shipments).
    A shipment is the basis for the planning, performance and monitoring of the transportation.
    The geographical details of the itinerary as well as the activities that require to be performed during transportation are described in shipment stages.
    For the monitoring of transportation the particular event (for example, arrival at destination station) and the date it is to occur (transportation milestone) can be recorded.


    Keys
    Type Name Size Released since
    java.lang.String TRANSPORT 10 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    Shipment ()


    Shipment (com.ibm.sap.bapi.ObjectId objectId)
    Shipment (java.lang.String TRANSPORT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ASSIGNED Released since Version 30A

    SAP Business Object ShippingPoint

    SAP Business Object ShippingPoint (BUS0005)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- ShippingPoint
    

    The business object Shipping point contains the organizational units within Shipping.
    A &IM16031& is an organizational unit within logistics that subdivides the &IM11000& according to the type of shipping or the necessary &IM16233&s and means of tranport. It carries out shipping processing. Shipping points are subdivided more finely into loading points. Loading points are locations within a shipping point at which the goods are loaded.
    Through the shipping point proposal is assigned to a plant a shipping point possible for this plant. This occurs in dependence upon a loading condition and a shipping condition.
    For determination of the place at which the goods are to be picked, the picking plant storage area determination is used.


    Keys
    Type Name Size Released since
    java.lang.String SHIPPINGPOINT 4 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2036Table CUSTOMERDELIVERY ??? (see below) Version 30A
    java.lang.String DESCRIPTION 30 bytes Version 30E
    java.lang.String ADDRESS 10 bytes Version 30E

    The size of this attribute must be determined at runtime.

    Methods
    ShippingPoint ()


    ShippingPoint (com.ibm.sap.bapi.ObjectId objectId)
    ShippingPoint (java.lang.String SHIPPINGPOINT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    t k'$"756$./usr/IBMVJava/html/enterp/en_US/sap/samples/timequota.htmltml$$ SAP Business Object TimeQuota

    SAP Business Object TimeQuota (BUS3018)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- TimeQuota
    

    The business object Time quota contains the employee absence and attendance quotas.
    The absence quotas represent the time restricted entitlements of employees to absence (such as entitlement to standard annual leave), while the attendance quotas represent approved amounts of time that are used for a specified purpose (such as approval of 10 hours overtime, approval of 4 workdays for attending courses).
    The absences or attendances can lead to time quota deduction. Vacation quotas can also be reduced by payments in lieu.
    Employee attendances can also lead to absence quota increases (such as time in lieu of overtime).


    Keys
    Type Name Size Released since
    java.math.BigInteger EMPLOYEENUMBER 8 bytes Version 30D
    java.lang.String SUBTYPE 4 bytes Version 30D
    java.lang.String OBJECTID 2 bytes Version 30D
    java.lang.String LOCKINDICATOR 1 bytes Version 30D
    java.util.Date VALIDITYEND 8 bytes Version 30D
    java.util.Date VALIDITYBEGIN 8 bytes Version 30D
    java.math.BigInteger RECORDNUMBER 3 bytes Version 30D

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    EmployeetStructure AGGREGATE ??? (see below) Version 30D
    java.lang.String INFOTYPENUMBER 4 bytes Version 30D
    java.lang.String DESCRIPTION 40 bytes Version 30D

    The size of this attribute must be determined at runtime.

    Methods
    TimeQuota ()


    TimeQuota (com.ibm.sap.bapi.ObjectId objectId)
    TimeQuota (java.math.BigInteger EMPLOYEENUMBER,java.lang.String SUBTYPE,java.lang.String OBJECTID,java.lang.String LOCKINDICATOR,java.util.Date VALIDITYEND,java.util.Date VALIDITYBEGIN,java.math.BigInteger RECORDNUMBER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    CREATED Released since Version 30D
    DELETED Released since Version 30D

    Ti kX$ "756$  ./usr/IBMVJava/html/enterp/en_US/sap/samples/transpplanningpoint.htmlh$$ SAP Business Object TranspPlanningPoint

    SAP Business Object TranspPlanningPoint (BUS0021)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- TranspPlanningPoint
    

    The business object Transportation planning point is an organizational unit within logistics that subdivides the &IM11000& according to the type of &IM16252&, the &IM16340& or according to regional departments.


    Keys
    Type Name Size Released since
    java.lang.String TRANSPORTPLANNINGPT 4 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    VttkTable TRANSPORT ??? (see below) Version 30A
    java.lang.String DESCRIPTION 20 bytes Version 30E

    The size of this attribute must be determined at runtime.

    Methods
    TranspPlanningPoint ()


    TranspPlanningPoint (com.ibm.sap.bapi.ObjectId objectId)
    TranspPlanningPoint (java.lang.String TRANSPORTPLANNINGPT)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    -r <  k$"756$./usr/IBMVJava/html/enterp/en_US/sap/samples/vendor.htmlngpoint$$ SAP Business Object Vendor

    SAP Business Object Vendor (LFA1)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- Vendor
    

    The business object Vendor is a &IM11057& with whom business relations can exist with regard to the purchase of material and/or services.


    Keys
    Type Name Size Released since
    java.lang.String VENDORNO 10 bytes Version 21A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Table MESSAGETYPESOUTBOUND 78 bytes Version 30A
    Table MESSAGETYPESINBOUND 78 bytes Version 30A
    Bus2032Table CUSTOMERORDER ??? (see below) Version 30A
    Bus2012Table PURCHASEORDER ??? (see below) Version 30A
    Bus2052Table PURCHOUTLINEAGREEMT ??? (see below) Version 30A
    Bus2036Table CUSTOMERDELIVERY ??? (see below) Version 30A
    Bus1051Table DIRCTMAILINGCOMPAIGN ??? (see below) Version 30C
    java.lang.String COUNTRY 3 bytes Version 30A
    java.lang.String NAME 35 bytes Version 30A
    java.lang.String CITY 35 bytes Version 30A
    java.lang.String POSTALCODE 10 bytes Version 30A
    java.lang.String STREET 35 bytes Version 30A
    java.lang.String TELEPHONE 16 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    Vendor ()


    Vendor (com.ibm.sap.bapi.ObjectId objectId)
    Vendor (java.lang.String VENDORNO)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    SAP Business Object VendorQuotationReqst

    SAP Business Object VendorQuotationReqst (BUS2010)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- VendorQuotationReqst
    

    The business object Vendor quotation request contains the invitation, issued by a purchasing organization to a vendor, to submit a quotation.
    A vendor quotation request consists of items. For the material or service specifications contained in the item a quotation is to be obtained. Per item can be specified the receiving plant for which the quotation request is carried out. If the item contains a material in the desired quantity, then this quantity can be divided up into different partial quantities with the related delivery dates. If the item contains service specifications, then service lines specify the quantity and service specification outline levels the structure of the desired service.
    Responsible for the entire business transaction in the case of a vendor quotation request is a buyer group.


    Keys
    Type Name Size Released since
    java.lang.String VENDORINQUIRY 10 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2011Table VENDORQUOTATION ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    VendorQuotationReqst ()


    VendorQuotationReqst (com.ibm.sap.bapi.ObjectId objectId)
    VendorQuotationReqst (java.lang.String VENDORINQUIRY)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    b> SAP Business Object WageType

    SAP Business Object WageType (BUS1050)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- WageType
    

    The business object Wage type contains the dividing up of payments or deductions. They are divided up according to the reason for the payment or deduction and, if necessary, other criteria concerning personnel administration, payroll accounting, or cost accounting (such as several wage types for different types of hazardous or unpleasant work).
    Payments represent remuneration for work performed by an employee (for example, standard pay, standard bonus) or guaranteed benefits granted by the employer (for example, company pension, rent allowance).
    Deductions reduce the amount of agreed payments effected to an employee. Deductions can be made on the basis of official regulations (such as tax laws and social insurance regulations) or on the basis of contractual agreements (such as deductions for the use of a company car, savings schemes, capital formation savings plans). Deductions can also be made on a voluntary basis (such as union dues).


    Keys
    Type Name Size Released since
    java.math.BigInteger COUNTRYGROUPING 2 bytes Version 30D
    java.lang.String WAGETYPE 4 bytes Version 30D
    java.util.Date VALIDITYEND 8 bytes Version 30D

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    java.lang.String DESCRIPTION 25 bytes Version 30D

    The size of this attribute must be determined at runtime.

    Methods
    WageType ()


    WageType (com.ibm.sap.bapi.ObjectId objectId)
    WageType (java.math.BigInteger COUNTRYGROUPING,java.lang.String WAGETYPE,java.util.Date VALIDITYEND)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     k7$ "756$ ./usr/IBMVJava/html/enterp/en_US/sap/samples/warehousecomplex.htmltmlh$$ SAP Business Object WarehouseComplex

    SAP Business Object WarehouseComplex (BUS0009)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- WarehouseComplex
    

    The business object Warehouse complex is an organizational unit that is formed according to spatial, technical or other criteria in order to group together &IM15369&s.


    Keys
    Type Name Size Released since
    java.lang.String WHSENUMBER 3 bytes Version 30C

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus3016Table WAREHOUSESTOCK ??? (see below) Version 30A
    Bus2065Table TRANSFERREQUEST ??? (see below) Version 30C
    Bus3021Table WAREHOUSEPHYSINVDOC ??? (see below) Version 30C
    java.lang.String DESCRIPTION 25 bytes Version 30E

    The size of this attribute must be determined at runtime.

    Methods
    WarehouseComplex ()


    WarehouseComplex (com.ibm.sap.bapi.ObjectId objectId)
    WarehouseComplex (java.lang.String WHSENUMBER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    gInteg kJg$y"756$y./usr/IBMVJava/html/enterp/en_US/sap/samples/workbreakdownstruct.htmlh$$ SAP Business Object WorkBreakdownStruct

    SAP Business Object WorkBreakdownStruct (BUS2054)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- WorkBreakdownStruct
    

    The business object Work breakdown structure contains the work breakdown structure element and the work breakdown structure element - hierarchy.

    The structure of a project specified by a project definition is described in the work breakdown structure. This work breakdown structure represents a hierarchical structuring of the project in different work breakdown structure elements, whereby the structuring is generally multi-level. A work breakdown structure element can be a specific task that describes an activity necessary to achieve the objective connected with the project.
    The work breakdown structure forms the basis for organization and coordination in the project.
    On the basis of the work breakdown structure elements of a work breakdown structure the costs of a project and the related expenditure of work and time can be planned and the accumulated expenditure of work and time as well as the accrued costs can be shown in the course of project implementation.
    Work breakdown structure elements can be explained in standardized project information.


    Keys
    Type Name Size Released since
    java.math.BigInteger INTERNALITEMNUMBER 8 bytes Version 30A
    java.lang.String EXTERNALITEMNUMBER 24 bytes Version 30A

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus2002Table NETWORK ??? (see below) Version 30C
    Bus2044Table COST ??? (see below) Version 30C
    java.lang.String NAME 40 bytes Version 30A

    The size of this attribute must be determined at runtime.

    Methods
    WorkBreakdownStruct ()


    WorkBreakdownStruct (com.ibm.sap.bapi.ObjectId objectId)
    WorkBreakdownStruct (java.math.BigInteger INTERNALITEMNUMBER,java.lang.String EXTERNALITEMNUMBER)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

    p-equiv k꺁$ #756$  ./usr/IBMVJava/html/enterp/en_US/sap/samples/workcenter.htmluct$$ SAP Business Object WorkCenter

    SAP Business Object WorkCenter (BUS0011)


    java.lang.Object
      |
      +-- com.ibm.sap.bapi.SAPObject
            |
            +-- WorkCenter
    

    The business object Work center describes organizational units in which work can be performed, and the capacity available there.
    A work center is assigned to a cost center to which the accruing costs are charged. Work center activity types divide up all the activities that can be carried out at a work center.
    A work center can comprise other work centers in a work center hierarchy.


    Keys
    ---

    Attributes
    Type Name Size Released since
    TojtbStructure OBJECTTYPE ??? (see below) Version 30A
    Bus0010Structure FUNCTIONALLOCATION ??? (see below) Version 30C

    The size of this attribute must be determined at runtime.

    Methods
    WorkCenter ()


    WorkCenter (com.ibm.sap.bapi.ObjectId objectId)
    com.ibm.sap.bapi.ObjectId getObjectId ()
    static com.ibm.sap.bapi.ObjectId getEmptyObjectId ()

    Events
    ---

     k.P $ #76I66$$ ./usr/IBMVJava/html/enterp/en_US/sap/tasks/t5sbbrws.htm$$ Browse the Business Object Repository

    Browsing the Business Object Repository

    The Business Object Repository (BOR) contains information on the business objects defined in the R/3 system. The Access Builder provides two views of a Business Object Repository: a BOR hierarchy and a business object (BO) list.

    The BOR hierarchy is organized with the business domains as a first level. To browse through a domain, click the branch open symbol inside the Tree view, double-click the domain name itself, select Expand from the View menu, or use the + button in the toolbar.

    To select a business object in the BO list, click it. This business object will also appear as selected in the BOR hierarchy.

    To find specific information in the Business Object Repository (for example, a business object or any describing text part), you can use the Search facility.

    1. To open the Search window, select Search in the View menu, or click the search button in the toolbar.
    2. Type a text string in the Search for field.
    3. Click radio buttons to specify search options.
    4. Click the Search button to start a new search operation with the specified search expression and options. If the expression was found it will be displayed in both views, if that is possible.
    5. Click the Search next button to continue the current search operation. If you change the expression and/or any option after starting/continuing a search operation, you can use the Search next button to start a new search operation.

    Operations on a Business Object
    There are several operations available on selected business objects:

    • Generating documentation
    • Displaying generated documentation
    • Generating Java Proxy beans
    • Displaying source code of generated Java Proxy beans

    Generate any information before you try to display it. Generating under the covers is not implemented.

    Displaying generated documentation of a business object may take some moments for parsing and rendering the HTML code if you use the internal viewer.

    [Related concepts]
    The Access Builder for SAP R/3
    Local Business Object Repository
    Proxy Beans to Access Business Objects and RFC Modules

    [Related tasks]
    Generate Proxy Beans for Business Objects and RFC Modules
    Create a Local Business Object Repository
    Browse the RFC Module List
    Customize the Access Builder

    [Related references]
    BO and RFC Proxy Beans

    j kD $#76I66$+./usr/IBMVJava/html/enterp/en_US/sap/tasks/t5sbgen.htm$$ Generate Proxy Beans for SAP Business Objects and RFC modules

    Generating Proxy Beans for SAP Business Objects and RFC Modules

    There are several ways to generate proxy beans for SAP business objects and RFC modules. Using the Access Builder for SAP R/3 is the most convenient way. The BorInfoBuilder command offers a command-line interface for business objects. The Access Builder also provides straightforward generation for known business objects or RFC modules.

    With the Access Builder, you can generate proxy beans for a set of selected business objects or RFC modules, or you can generate beans for all business objects in the BOR.

    To create proxy beans for business objects or RFC modules:

    1. Navigate to a business object or RFC module and select it. You can select more than one object or module at a time.
    2. Click the J button . (Or you can select Selected Java Proxy bean(s) from the Build menu.)
    Nodes that do not represent business objects or RFC modules are ignored in the creation process when multiple objects are selected. If only one node is selected which is neither a business object nor an RFC module, the creation option is disabled.

    To create proxy beans for all business objects at once:

    • Select All Java Proxy beans from the Build menu.
      A progress bar indicates the progress of the generation process.
    To create a proxy bean manually:
    1. Select Advanced Generation ... from the Build menu. The Access Builder's Advanced Generation dialog box opens.
    2. Indicate whether you want to generate a SAP object or an RFC module.
    3. Enter the name of the object or module you want to generate.
    4. If you are generating a SAP business object, enter the object type in the Type of SAP object field.
    5. Click the Generate Java proxy bean button.
    If a connection to an R/3 system already exists, the requested information is retrieved directly. Otherwise the SAP Logon window appears, and you have to log onto the R/3 system. The information retrieval is done immediately after a connection is successfully established.

    If you need a Java proxy bean of a business object with a different name than that stored in the BOR, you can provide the required name and a valid SAP object type. For example, you may need a Java proxy bean of a business object named CustomerOrder, but in the BOR it is stored as SalesOrder. Enter CustomerOrder as the name and BUS2032 (the object type of SalesOrder) as the type.

    The Generated Source Files
    The Java source files are generated in the directory that is specified in the settings. See "Customizing the Access Builder" for information on how to view and change these settings.

    The package name of the generated source files is also specified in the settings. The default package name is com.ibm.sap.bapi.generated .

    For a given business object, several source files are generated:

    BO Proxy class
    The BO Proxy class is the BO proxy bean for the business object. It provides all BAPI methods.
    Parameter container classes
    For each BAPI method of the business object, a parameter container class is generated. The parameter container class provides a container mechanism for all parameters used in a BAPI method. A container is needed because BAPI methods can have many parameters.
    Structure classes
    For each structure parameter of a BAPI method, a specific structure class is generated
    Table classes and table row classes
    For each table parameter of a BAPI method, specific table class and table row classes are generated.
    For a given RFC module several source files are generated:
    RFC Proxy class
    The RFC Proxy class is the RFC proxy bean for the RFC module. It provides a container mechanism for all parameters used by this RFC module.
    Structure classes
    For each structure parameter of a RFC module, a specific structure class is generated.
    Table classes and table row classes
    For each table parameter of a RFC module, specific table class and table row classes are generated.
    [Related concepts]
    Proxy Beans to Access SAP Systems

    [Related tasks]
    Create a Local Business Object Repository
    Browse the Business Object Repository
    Browse the RFC Modules
    Customize the Access Builder
    Integrate Generated Proxy Beans
    Use the Proxy Beans to Access Business Objects
    Call RFC Modules

    [Related references]
    Naming Conventions for Generated Classes
    BO and RFC Proxy Beans

    / k $ #76I66$ @ ./usr/IBMVJava/html/enterp/en_US/sap/tasks/t5sibean.htm$$ Integrate the Generated Proxy Beans

    Integrating Generated Proxy Beans

    The Access Builder for SAP R/3 generates the proxy beans in the package from which you invoked it. You can directly use them in VisualAge for Java.

    Before you can use the proxy beans outside of VisualAge for Java, you first have to export them from VisualAge for Java. The following steps explain how to export the generated proxy beans from VisualAge for Java and use in a pure JDK environment. For another development environment, refer to the documentation that accompanies that development environment.

    Export Proxy Beans from VisualAge for Java
    To use proxy beans outside of VisualAge for Java, export the Java source files.

    1. In the VisualAge for Java Workbench, select the package that contains the generated proxy beans.
    2. Select Export from the File menu. A SmartGuide opens.
    3. Enter the project name where the generated proxy beans are located. Choose the Java file type. Then, click Next to see the next page of the SmartGuide.
    4. Select the directory where you want to export the generated proxy beans.
    5. Click Finish to export the selected files from VisualAge for Java.

    Use Proxy Beans with Java Development Kit (JDK)
    To use generated proxy beans with the JDK, you have to compile them first. Perform the following steps:

    1. Add the current directory to your classpath environment variable:
      set classpath=.;%classpath%
    2. Change to the subdirectory that holds the source files
    3. Compile them with the Java compiler provided with the JDK
      javac -d <compiledir> *.java

      Specify with -d <compiledir> where you want the generated class files to be located.

    Now,  you can access the proxy beans from your own code.

    [Related concepts]
    The Access Builder for SAP R/3
    Proxy Beans to Access SAP Systems

    [Related tasks]
    Generate Proxy Beans for SAP Business Objects and RFC Modules
    Use the Proxy Beans to Access Business Objects

    [Related references]
    BO and RFC Proxy Beans

    build/ kt&$ %#76I66$F %./usr/IBMVJava/html/enterp/en_US/sap/tasks/t5slconn.htm$$ Connect to the R/3 system

    Connecting to an R/3 System

    The classes generated by the Access Builder for SAP R/3 help you access and manipulate the information in an R/3 system through business objects and BAPIs. Before you can work with this information, you must connect to the R/3 system. To do this, you must prepare the middleware you use to access the R/3 server.

    1. Select and Prepare Middleware Access Method
    The Common RFC Interface for Java enables you to choose from a set of different middleware types at run time. The Common RFC Interface for Java classes and interfaces are packaged in com.sap.rfc. This common interface supplies a set of base classes for various types of middleware. In addition, every middleware implementation comes with its own set of factory classes that are used to create instances of the base classes.

    Select a set of factory classes through the factory manager. There is one global FactoryManager instance, and you can not create further instances. Access this FactoryManager instance through a static method:

    FactoryManager aFactoryManager = FactoryManager.getSingleInstance();

    Define the middleware type with a MiddlewareInfo instance. For example, to select the JNI middleware type, your code might look like this:

    MiddlewareInfo aMiddlewareInfo = new MiddlewareInfo();
    aMiddlewareInfo.setMiddlewareType( MiddlewareInfo.middlewareTypeJNI);

    You can use the MiddleWareInfo( String[] args) constructor to simply pass in command-line arguments. This constructor allows you to select the middleware type through command-line parameters:

    MiddlewareInfo aMiddlewareInfo = new MiddlewareInfo(args);

    This constructor is typically invoked in the main() method of a program to pass the command line parameters in. Currently, the middleware type parameter passed into this constructor must be:

    • -conn "JNI"

    The quotes may be omitted. Any other data passed on the command line is ignored by this constructor.

    Finally, you globally set the middleware type in the factory manager. This ensures, that all subsequent requests get the factory classes of the selected middleware type.

    • aFactoryManager.setMiddlewareInfo( aMiddlewareInfo);

    Important note: The call to setMiddlewareInfo() under the covers creates the factory instances for the IRfcConnectionFactory, IRfcModuleFactory, ISimpleFactory, IStructureFactory, and ITableFactory. Therefore, setMiddlewareInfo() must be called before attempting to retrieve a factory instance from the factory manager.

    2. Provide User and Connection Information
    R/3 provides different ways to connect to a specific R/3 system. You can specifiy the system's host name and system number directly, or you can use load-balancing, providing the name of a message server. If the connection is routed through a gateway server, you also have to specify the host name and service number of the gateway.

    Define the connection and user information in ConnectInfo and UserInfo instances. The code below gives you an example how this might look:

    ConnectInfo aConnectInfo = new ConnectInfo(
                  3,                      // Rfc mode 3, requires R/3 system
                  null,                   // aDestination
                  "your.r3.host",         // TCP/IP name of R/3 host
                  21,                     // number of R/3 system 
                  null,                   // TCP/IP name of gateway host
                  null,                   // number of gateway host service
                  null,                   // system name
                  null,                   // name of R/3 system group
                  null,                   // name of R/3 message server
                  false,                  // true: use load balancing
                  true ) ;                // true: check authorization immediately
            
    UserInfo aUserInfo = new UserInfo ( 
                  "userid",               // R/3 user name
                  "password",             // R/3 password 
                  "800",                  // R/3 client number 
                  "e" ) ;                 // national language used by R/3)

    3. Connect to the R/3 System
    To establish the R/3 connection using a selected middleware, retrieve the connection factory from the factory manager and create a connection instance from this connection factory.

    // retrieve factory for connections (using current middleware type)
    IRfcConnectionFactory aConnectionFactory = 
       FactoryManager.getSingleInstance().getRfcConnectionFactory();
    // establish a new R/3 connection with the given user and system information
    IRfcConnection aConnection = 
       aConnectionFactory.createRfcConnection( aConnectInfo, aUserInfo);
    aConnection.open() ;

    If your program or applet uses multiple threads, make sure that each thread that calls a business objects method or an RFC method uses its own connection. You are now ready to retrieve and manipulate information in the R/3 system.

    When you have finished working with the R/3 system, you can close the connection at any time using the following method:

    aConnection.close();

    To reopen the connection with the same user and connection information, type:

    aConnection.open();

    [Related concepts]
    R/3 Access Classes

    [Related tasks]
    Integrate the Logon Bean in Your Application
    Use the Proxy Beans to Access Business Objects
    Call RFC Modules
    Trace the SAP Connection of Your Application
    Run Applets with JNI Code in AppletViewer
    Run Applets with JNI Code in Netscape Communicator
    Run Applets with JNI Code in Java Plug-In

    [Related references]
    Common RFC Interface for Java
    R/3 Access Classes

     kꆤ$#78I66$Y./usr/IBMVJava/html/enterp/en_US/sap/tasks/t5sllogn.htm$$ Integrate the Logon bean in your application

    Integrating the LogonView Bean into Your Application

    An R/3 application must connect to an R/3 system before certain actions can be processed. For that reason, you often want the user to log on to the R/3 system.

    The LogonView bean provides a SAP logon panel where the user can provide logon information. You can use it in any visual development environment that supports JavaBeans. In VisualAge for Java, you can simply drop it on the surface of the visual composition editor and integrate it into your application. The interface of the LogonView bean provides events, properties, and methods, which you can connect visually.

    Adding the LogonView Bean
    In VisualAge for Java, you can visually develop your class or bean in the Visual Composition Editor. To add the LogonView bean in the Visual Composition Editor:

    1. Select the Add Bean choice from the Options menu.
    2. Click the Browse button to choose a valid class.
    3. Type in logonview until the correct class and package name are selected and click OK.
    4. Provide an appropriate name like SAPLogon and click OK.
    5. Click the left mouse button on the free-form surface to create a new LogonView instance.
    6. To make the logon panel visible when the Logon button is pressed, create a new connection from the actionPerformed() event of the Logon button to the setVisible() method of the SAPLogon bean, and set the parameter to true.
    7. To automatically dispose of the logon panel when the logon is successful, create a new connection from the SAPLogon bean logonSucceeded() event to its dispose() method.


    Figure: Adding the LogonView bean in the Visual Composition Editor

    Setting Default Properties
    To preset connection information that will never change:

    1. Double-click the SAPLogon bean. The Properties dialog box opens.
    2. Select the logonConnectInfo property and click the ... button. The ConnectInfo Prompter opens.
    3. In the ConnectInfo prompter you can preset all connection information. The same panel is available to the user to change this settings in the logon dialog.


    Figure: LogonView properties

     


    Figure: ConnectInfo prompter in the Visual Composition Editor

    In the same way you preset the user information.

    Selecting and Preparing the Middleware Access Method
    Before you can use the LogonView bean, you must select and prepare the middleware access method. For example, you could add the required code to the main method of your application. See "Connecting to the R/3 System" for details.

    [Related tasks]
    Connect to the R/3 System
    Support Different National Languages

    [Related references]
    Logon Bean

     k$"#76I66$a"./usr/IBMVJava/html/enterp/en_US/sap/tasks/t5srbrws.htm$$ Browse the RFC modules

    Browsing the RFC Modules

    Besides the Business Object Repository, which contains information about the business objects defined in an R/3 system, the Access Builder also provides a large set of RFC modules. These RFC modules are bound together in logical groups.

    The Access Builder provides two views of the RFC module list: a Tree view of RFC groups and an alphabetical List view.

    The Tree view represents the structure of how RFC modules are organized in logical groups. To browse through a group, click the branch open symbol inside the Tree view, double-click the domain name itself, select Expand from the View menu, or use the + button in the toolbar.

    The List view is alphabetically sorted to make it easier to find a specific RFC module. Select an RFC module by clicking it once. This RFC module will be marked as selected in the RFC groups as well.

    To find a specific RCF module, you can also use the Search facility.

    1. To open the Search window, select Search in the View menu, or click the search button in the toolbar.
    2. Type a text string in the Search for field.
    3. Click radio buttons to specify search options.
    4. Click the Search button to start a new search operation with the specified search expression and options. If the expression was found it will be displayed in both views, if that is possible.
    5. Click the Search next button to continue the current search operation. If you change the expression and/or any option after starting/continuing a search operation the Search next button will also start a new search operation.

    Operations on an RFC Module
    There are several operations available on an RFC module:

    • Generating documentation for selected RFC modules
    • Displaying generated documentation for selected RFC modules
    • Generating Java proxy beans for selected RFC modules
    • Displaying source code of generated Java proxy beans for selected RFC modules

    Generate any information before you try to display it. Generating under the covers is not implemented.

    Displaying generated documentation of an RFC module may take some moments for parsing and rendering the HTML code if you use the internal viewer.

    [Related concepts]
    The Access Builder for SAP R/3
    Proxy Beans to Access SAP Systems

    [Related tasks]
    Generate Proxy Beans
    Browse the Business Object Repository
    Create a Local Business Object Repository
    Customize the Access Builder

    [Related references]
    BO and RFC Proxy Beans

    ../ref k2$#76I66$i./usr/IBMVJava/html/enterp/en_US/sap/tasks/t5srcall.htm$$ Call RFC modules

    Calling RFC Modules

    Besides accessing SAP business objects and BAPI methods, the Access Builder for SAP R/3 enables you to call common RFC modules in any R/3 or R/2 system. The RFC module is called from Java with the help of a RFC proxy bean.

    You generate the RFC proxy bean with the Access Builder. The name of the generated RFC proxy bean class is the same as the name of the encapsulated RFC module. All parameters used by the RFC module are accessed as attributes of the RFC proxy bean.

    Additional classes are generated for table or structure parameters. For example, the RFC_SYSTEM_INFO RFC module uses one structure, so two classes are generated:

    • RFC_SYSTEM_INFO
    • RfcsiStructure

    Using a RFC Proxy Bean in Your Code
    Typically, you perform the following steps:

    1. You might want to include an import statement to the package of generated classes at the beginning of your code. The following line refers to the default package name for generated classes.
      import com.ibm.sap.bapi.generated.*;
    2. Create an instance of the RFC proxy bean for further use:
      RFC_SYSTEM_INFO rfcSystemInfo = new RFC_SYSTEM_INFO();
    3. Instantiate the import parameters and pass them to the RFC proxy with the set methods. With RFC_SYSTEM_INFO, there is no import parameter.
    4. Execute the RFC module with the execute() method:
      rfcSystemInfo.execute();
    5. Use the get methods to retrieve the export parameters. In this case, you are probably interested in the system information structure RfcsiStructure:
      RfcsiStructure si = rfcSystemInfo.getRfcsiStructure();
    6. Retrieve the data in this structure with the appropriate get methods and write the SAP system information to the screen:
      System.out.println( "SAP Information");
      System.out.println( "---------------");
      RfcsiStructure si = rfcSystemInfo.getRfcsi_export();
      System.out.println( "Destination : " + si.getRfcdest() + "\n");
      System.out.println( "Host        : " + si.getRfchost());
      System.out.println( "System ID   : " + si.getRfcsysid());
      System.out.println( "Database    : " + si.getRfcdatabs());
      System.out.println( "DB host     : " + si.getRfcdatabs());
      System.out.println( "DB system   : " + si.getRfcdbsys() + "\n");
      System.out.println( "SAP release : " + si.getRfcsaprl() + "\n");
      System.out.println( "RFC Protocol: " + si.getRfcproto());
      System.out.println( "Characters  : " + si.getRfcchartyp());
      System.out.println( "Integers    : " + si.getRfcinttyp());
      System.out.println( "Floating P. : " + si.getRfcflotyp());
      System.out.println( "SAP mach id : " + si.getRfcmach());
      System.out.println( "Timezone    : " + si.getRfctzone() + si.getRfcdayst());

    [Related concepts]
    Proxy Beans to Access SAP Systems

    [Related tasks]
    Browse the RFC Module List
    Generate Proxy Beans for SAP Business Objects and RFC Modules
    Integrate Generated Proxy Beans
    Connect to the R/3 System
    Use the Proxy Beans to Access Business Objects

    [Related references]
    BO and RFC Proxy Beans

     k&$-#76I66$-./usr/IBMVJava/html/enterp/en_US/sap/tasks/t5sxbean.htm$$ Use Proxy Beans to Access Business Objects

    Using Proxy Beans to Access Business Objects

    Before you can use the proxy beans, you must know which business object you want to use in your Java program, and you must have created the proxy beans for that business object.

    The BO Proxy bean represents the business object. It contains constructors to instantiate the bean, methods that allow the invocation of BAPI methods, and methods for handling the object identifier.

    The Business Framework defines three categories of BAPI methods:

    Instance methods
    Instance methods are invoked on a concrete business object instance.
    Class methods
    Class methods can be invoked without a relationship to any concrete SAP business object instance.
    Factory methods
    Factory methods are used to create new business object instances.

    The generated proxy beans use the respective Java concepts of instance methods, static methods and constructors for these categories. Note that you have to pass a connection to an R/3 system when calling any BAPI method of the business object. This connection must be valid in the context of the thread calling the method.

    In the following instructions, the BO Proxy bean for the SAP business object CustomerOrder (object type BUS2032) is used as an example.


    Figure: Business Object CustomerOrder - Class Window in VisualAge for Java

    Invoke a class method

    Class methods are mapped to Java static methods. So, you do not need to create an instance of a BO Proxy bean to invoke a class method.

    A parameter container class is generated for each BAPI method of a business object. This class is used as a container for the method parameters. Before you invoke the BAPI method, you create an instance of the corresponding parameter container class. The following code shows how to invoke the getlist BAPI method on the CustomerOrder business object:

    CustomerOrderGetlistParams getlistParams = new CustomerOrderGetlistParams() ;
    CustomerOrder.getlist(connection, getlistParams) ;

    The results of the method call are passed back in the parameter container.

    Set the import parameters
    To set any required or optional import parameters before invoking the method getlist, provide the following code:

    // Create parameter container
    CustomerOrderGetlistParams getlistParams = new CustomerOrderGetlistParams() ;
    // Fill import parameters
    getlistParams.setCustomerNumber("1234567890");
    getlistParams.setSalesOrganization("0001");
    ...

    The getlist method does not require any tables or structures as import parameters.

    Get information from a structure parameter
    If a parameter container class contains a structure parameter, an instance of the corresponding structure class is created with an instance of the parameter container class. Get and set access methods are provided to retrieve and set the data in the structure.

    The getlist method returns information about the successful completion in the BapireturnStructure parameter. You access the structure parameter with the following statement:

    BapireturnStructure returnStructure = getlistParams.getReturn();

    To retrieve the message from the Bapireturn structure, use the following code:

    String message = returnStructure.getMessage();

    Get information from a table parameter
    The table class represents an R/3 table that is used as parameter in a BAPI method. Access methods are provided to access rows in the table. The table row class represents one row in the table. Table row classes are handled exactly the same way as structure classes: get and set access methods are provided to retrieve and set the columns in the row.

    If a parameter container class contains a table parameter, an instance of the corresponding table class is created with an instance of the parameter container class.

    The getlist method returns information about the list of sales orders in the BapiordersTable parameter. You access the table parameter with access methods:

    BapiordersTable ordersTable = getlistParams.getSalesOrders();

    The BapiordersTable is shown in the picture below.


    Figure: BapiordersTable - Class Window in VisualAge for Java

    The following code outlines how to iterate over the whole table and retrieve the rows stored in the table:

    int rowCount = ordersTable.getRowCount();
    BapiordersTableRow row = null;
    for (int i=0; i<rowCount; i++) 
    {
        row = ordersTable.getRow(i);
        // retrieve data elements from row
    }

    Invoke an instance method

    BAPI instance methods are mapped to instance method of a BO proxy bean. Therefore, you must first create an instance of a BO proxy bean. As instances of SAP business objects are identified by one or more object keys, you must also set the key(s) of the business object instance.

    1. Create an instance of a BO Proxy bean.
    Each proxy bean has a constructor with a parameter list that contains a single key of the corresponding business object. For example, the business object CustomerOrder has only one key field, the field SALESDOCUMENT. So the easiest way of creating a new instance of class SalesOrder with a well-known key is to use the following syntax:

    CustomerOrder aCustomerOrder = new CustomerOrder("0005000001") ;

    After this line of code, the variable aCustomerOrder contains a reference to the business object with the key 0005000001.

    An instance method of the Business Object Proxy bean can now be invoked.

    Set the key(s) using ObjectIdThe class ObjectId represents the set of keys that identify a SAP business object instance. The ObjectId class provides methods to get and set the keys that identify a business object instance. Each BO Proxy bean has exactly one ObjectId instance. When you use the constructor with the key parameter(s) to create the instance, the objectId instance is created and initialized under the covers.

    As an alternative, you might want to use the constructor with the ObjectId parameter. The code below is provided as sample code in the class definition comment of the BO Proxy bean.

    ObjectId objectId = CustomerOrder.getEmptyObjectId() ;
    objectId.getKeyField("SALESDOCUMENT").setString(-- YOUR KEY VALUE --) ;
    CustomerOrder aCustomerOrder = new CustomerOrder(objectId) ;

    In the code snippet above, the key "SALESDOCUMENT" is set to "0005000001". The business object CustomerOrder has only one key, so setting this key is sufficient.

    You can also set the key(s) explicitly after creation. You could even reuse the proxy bean instance for another business object by resetting the key(s). To set the ObjectId, use the following syntax:

    ObjectId objectId = CustomerOrder.getEmptyObjectId() ; 
    objectId.getKeyField("SALESDOCUMENT").setString("0005000001") ; 
    aCustomerOrder.setObjectId(objectId) ;

    2. Invoke the instance method.
    As the keys are retrieved from the previously defined object identifier, they are passed implicitly. Key(s) are not included in the parameter container and you do not need to pass them explicitly. You might set required or optional import parameters as you do with a class method.

    The following code shows how to invoke the getstatus method of the CustomerOrder business object:

    CustomerOrderGetstatusParams getstatusParams = new CustomerOrderGetstatusParams();
    aCustomerOrder.getstatus(connection, getstatusParams);

    As with class methods, the results of the above method call are passed back in the parameter container.

    Invoke a factory method

    In the R/3 system, a factory method takes as input all the data necessary for creating the persistent data representation of a business object in the R/3 database. Factory methods are mapped to constructors of BO Proxy beans. The constructor invokes the corresponding BAPI factory method under the covers and constructs an instance of the specified BO Proxy bean. If an error occurs, an exception describing the error condition is passed back to the caller. If no error occurs, the object's keys are filled according to the return values of the BAPI method and a completely initialized instance of the BO Proxy bean is returned to the caller.

    The following code example shows you how to create an instance of a BO Proxy bean. You have to provide a valid connection to an R/3 system for calling this constructor, as you did when calling an instance method.

    CustomerOrderCreatefromdataParams createfromdataParams = 
            new CustomerOrderCreatefromdataParams();
    // Fill the data for your new CustomerOrder 
    // into createfromdataParams
    CustomerOrder aSalesOrder = new CustomerOrder(connection, ioParams);

    Providing the data in the parameter container class can be a somewhat lengthy undertaking, because the data structures of SAP business objects are relatively complex.

    [Related concepts]

    Proxy Beans to Access SAP Systems
    Parameter Container Classes

    [Related tasks]
    Browse the Business Object Repository
    Generate Proxy Beans for SAP Business Objects and RFC modules
    Integrate Generated Proxy Beans
    Connect to the R/3 System
    Call RFC Modules
    Develop R/3 Applications Using the InfoBus Technology
    Trace the SAP Connection of Your Application

    [Related references]
    Naming Conventions for Generated Classes
    BO and RFC Proxy Beans

    > Invoke BAPI Methods Dynamically

    Invoking BAPI Methods Dynamically

    You can access SAP business objects and BAPI methods from Java dynamically without using the Proxy classes. You may want to dynamically invoke BAPI methods if you intend to develop a generic BAPI invoke mechanism.

    Use the R/3 Access Classes to implement dynamic invocation. The base class for SAP business objects is SAPObject. It provides two call methods:

    • call - invokes a method of an instantiated SAP business object
    • callClassMethod - invokes a static class or factory method of a SAP business object

    This feature enables you to access business objects without having the corresponding wrapper classes. Because all generated wrapper classes are based on the SAPObject class, you can also use this base class to access the business object you want. Accessing business objects always requires an established connection to an R/3 system. Dynamic access also requires very detailed information about the business objects you are interested in. This information can be retrieved from the generated HTML documentation (see "Browsing the Business Object Repository" for details).

    To access business objects dynamically:

    1. Instantiate a SAPObject
    2. Call a BAPI method
    3. Optionally, trigger on completion of a BAPI method

    Instantiating a SAPObject
    To call some methods, you have to instantiate an appropriate SAPObject first. (This step is not necessary to call a static class or factory method.) Create a new instance of the class SAPObject by using its constructor with the name of the business object as a parameter. Creation was successful when the object handle is greater than 0. After a successful creation, you can get and set attribute values and calling methods provided by the business object.

    Calling a BAPI Method
    If you know the name and the exact parameters of a BAPI method, you can execute it by calling one of the following methods of the SAPObject :

    call(connection, "BAPI-method", importParams[], exportParams[], tableParams[])
    callClassMethod(connection, "BAPI-method", importParams[], exportParams[], tableParams[])

    All required import, export and table parameters must be created before calling the BAPI method.

    If this method does not throw any exception, the call to the BAPI method was successful. In other words, the RFC module that represents the BAPI method has been executed, and all return values have been passed back by filling the corresponding parameter arrays (exportParams / tableParams). In case of an error, the thrown exception will give you information on the kind of the error.

    Triggering on completion of a BAPI method
    If you are using an instantiated SAPObject, you can register yourself for receiving events fired when the execution of a BAPI method has been terminated, whether execution succeeded or failed. These events are only fired by the call method, not by the callClassMethod method.

    [Related concepts]
    R/3 Access Classes

    [Related tasks]
    Connect to the R/3 System
    Call RFC Modules
    Trace the SAP Connection of Your Application

    [Related references]
    R/3 Access Classes

    t l$-T$76I66$4./usr/IBMVJava/html/enterp/en_US/sap/tasks/t5sxibus.htm$$    aeinstbchlopr &/;<>dfmu.Igvwy",ABCDT()=EFPRSjqx-3:JMNOk'01VY5HLU[]_z{}89W|!#+24GQ61z r1s@!; ``x z{77M r1 p !hX$$5zt6oA!;!)z \?'A5@( BM s6ht5 2MX&hb9Tk(imk$0i9izE)k! `X,B: @ 4ŀ{oy`T"w<9̥Fo:9V+牳}.ƊaG Xi90R 0)rs 4--G~p험Q4–@c]gR/{6v}oBj=>-ru#<%Le+viW$&hb9}__24ÜTm6"tVS/ pi@8'y͜j:WiW<ئI>*iҪ̎(| SP)3UԣcEU! h="I*Q5H707oo k"¸7Q"r{Z{XƌB:@`߰>"lG1/4m=m2c'OoiҪ̎(| SP)3Uԣ&hb9%*L* *CpƵ}Yϫr3UΘgZz7ub_t>6x }[QWMិ]7ѝ(p3du|ox)Ɛ9DSo_[㩶.oi j#tmΌ_< p1}MA͹ϫg1JX錓o7>qͼNqB/iYK蹷ѳgUҪ>\ѕb:UGҺL( w Zع30.&/: :Ys^|*sڱ]3p.H[2WН[N+jvߋ\\6{Cϔ7'x1'{OgC{/>9USW=nMa\r{O =C<}K 5wSo_ ޙѓ7sֺ_V(1yTm\'Vӳŝ\\dW=Sjt^ p-^ti; >Ng}\=|C<|DpB/iY:64gLd~e|Xvs΍|ݢW C ~s< ϸBsBv_CP98 sa¤`RiPh("Ŋw€tlvg10zi,4阼+WW=9mE:w[~ṭNsr*Q\4m(K¨w2:6:z04G2U/ H3Qztl|s/l#\4m(K¨ r@M eM{X~UҪPMA͹ϫI?W=gHj8@3}iȪ_,"p2mޙV);ō\_"8z[h~ ; VT1w2:6=lFHq eb_g1*M70.:s{۹Vog1@(MXe&hb8J U^|*BSWV+6{CWguD{jh dO\ozg6{CWے@P#Ёtx==H _Ƶ s)U5eHqe|_jA:e&hb8{SB:Qm>M2PڱDe&hb8ǴU/07ŜS_ṣD G`5/07Te&hb8E yQTйmF(Ms{w2L# d=~yh=tlӑT¨|h\:6; 7#yѱڧBi7r3[(g*j0pЮ">5tls;ӑTrociUsz9>,p.Fս_tl wA|:6;ӑTŝsPoOMAߛSNkHB*\X;8z{_?W9k}5 |سxR3֩gF4-J {_̣AjTU.IZ@|:6=lej Tv\s G=g=FSoB_4񝕺UC(/͋:WiFne%#P uE|E3kv`\v*=sʷ<>~u*ʴ>~s.yѱk>"e&EK*͋TiS_$FdṬCZJfFຸcFSoB_vPvoRO FHc#}osr*o=Tk)C{o\,knz*HW<)Ɛ9C'(ϫtlyqb֩g}\c•9e§>x=cH>s71ϡs} Rk_V+qb>P-JkΫ΍":7EVl ϶Rwcz*s:6=l#"8~9ѱe\1\X _||Pm>Z4:6R 7FtV+OiK>,﫞tlzCHK'HXi HL>K @Il#s|-J0=gQ4–@c\*s8b4åP9l#?*Qψ~J`sn}_@= 8H|@x q@8'E-J07/8,ʹbAXw:rqJѱVW/阼 2w;_e*6yW=l@>3G]"8:SsMds&88,ʹbA=p6q̑쁲o:* {Es G=^υNq=s G=^υNx|K'E/1*tR4SY|򎟫nOLE?21&F#!A̓ L)&iJ_BosFpAԃ&F?T )ic(ijJ2!0עEaTi$m8bK(M}\(5 H;^ɅQ{/> e@4Ěe"L:Y&FRM&ӎ/.H92SP=BY&F?T )iR,4ڏAިc{O錞tlz ԃ[W<\>sZFɋϭ𖋟6; VΙ=c*x\trqw#dv럫|S#2sLAԃ&FRM $(vj/ L)&K @I}M>v~BdQ4–@c\cE|J scb G:gFLэL 9m\sJy466@*d’ogG${Fd[ڈ pcr*cEvbN罨x (76Pgs0+_dd[(aU bh*me*6|$1Kmzx ϫbMt>0@df}o:́W=H{0(GTjd͝'t@G5KY/Ջm*}e[8zw:6=g\wB.Iޯ1&FY&FRM v*߫ȥo6{C=rΧʷ:ŵQ3W$e*6xfu5Tm6g9= G:!98 sh.0+j=p.~?W=1bM2L*0ڐ|Dq7sca@9}g9&ӎ,N8m8M@E%uA ּhN2DlZ*t>µ rm8ɴ&ӎ/!H܌A̐=|עg yK$+RÄ GăZ)ϓHqlյK dϛLgBo8or|YW/!1Lo:r\lFǭ=k V]Tl#8z:[>,Y[g:6;ӑT~x=LϭvmSs\S!4ѽ\yѰ@H99q/qϑtq}^l^ltܝ xsJ\gN3(6{C*PL¨=U26~T}\ih|%aTi$S#3ŝs۫O:6:h:~5 Ng=QrKx4:6aThQ(6{C="yQ,̣D GA2 ~Rbj,;Hrwս_momBum;ϭ$({j G / iȪ^aTi$W   ԰6{C1 V 0>M r1ƇYy44>04’ojAy{Qb_g1+Wr@O3tXp= 4+ubo;WV+e&hb8J U#o瘓LC, L)&;Ro|~zܖUhaN4 dO|(&_qWYН[Nh:N /eK9=\6{CI5s|V)e#x֢іka2zePOxȽ~ҩѲ@W_YO:6=lZZ@sk;;k;o4`W|>ys~4G\Ok2HdfNsih:s$¨ I\ĚeעEaTi$w1&FY&FRM{E@経hʱ] մJ_SEyyr?}}^ȧl@5?2\O:6:FReFs(6{C="yQ,evP04)Yrq@ e@ɮE,qm=bl#xJ ǴU/p| 3D697:OYHQiMY6q|΍;(p )ϓHhz:iI7s+o7/sΓo 罨s7MSPsnoAmxtC. 47m^Ü@)Ɛ?9kK)\[hmX=^Revp19KҎppvW:60>M qNtrsǸBNl#ejxO3tԣ\!" +tb^iM_0@4=soD GA2 7 Vw>EQ 9y6q|œic(LdcU# `߫mXe&hb8ǴU/04 œiSXi942o 4WA̐# 2W1&FV&hb8Tx] {NER @c IN>y44>04’ojAW<4Mp:6iȪ^aToj xM2oiW<Ěe dUaI7 VevP07ŝQl#ѰPQY;\6{C2Tй|4MpNb dQ8ᱰƊ |M uEXwL\hI$ԃ[.Yh=tl%F>73.0oNOg1LSV+hmk^#1@[sys#x$%{ (F#b LUg(XQUgHDB&hb8@$@ JTm6R(Mm6* ާle&hb8E yQ, ug{jx=aN4l#vP K$.o|w$1K, I944XBY&FRM[N q/j=Q&zs q@9kK)\[htl @,\S!,g1XBY s{@@qœiM_D ;(p$ 3԰6{CK$ rm8ɴ&ӎ/aiMY6qdqœiMY6q|D Fƾ/[ [^<:6lm~pIiMY6qdqœiMY6qdqœiMY6q|=p"hc_F--EXDg1(AjTEXQiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiM_$ t &hb8P9Ok dZ3'Bԩ$ tGN8m8ɴ&ӎ,N8m8ɴ&ӎ,ɴ&ӎ,N8m8ɴ&ӎ,N8$*tl C||WX<:6lm~ rm8ɴ&ӎ,N8m8ɴ&ӎ,N8&ӎ,N8m8ɴ&ӎ,N8m8s`N ?tl CŪZ)c!,kFdZ9AiMY6qdqœiMY6qdqœiMY6qV#8k#063AAK`rBK\6{CU/Q۽rBK96qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiM_$ tr2fNJtlz@A![ rm8ɴ&ӎ,N8m8ɴ&ӎ,N8m8ɴ&ӎ,N8m8ɴ&ӎ,N8m8ɴ&ӎ,N8m8ɴ&ӎ,N8&ӎ,N8m8ɴ&ӎ,N8m8F=^lZjH&ӎ,N8m8ɴ&ӎ,N8m8ɴ&ӎ,N8m8vP \XT΍;(AFW*@f}]` &ӎ,N8m8ɴ&ӎ,N8m8ɴ rm8ɴ&ӎ,N8m8ɴ&ӎ/RÄ GQ~5=d% h̝ R0΍;(MY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMYiMY6q|HL)ϓHq~oiϫ_6߫#9bh=tl%F*ЯSl|!;/9h>|^/@$¨2|bKm(KҪU0sj_ΥF}\oSoB_lsT3ס# 4WA̟bMt>0sݫFH52t-J He¤+W/Y?Vㆲ3c4Tie&hb8ǴU/07|/iWYڳpc&2{\}*| ^뀂؅51xUYJ8V:TUYA&p sT}*6dsT{M yN:qOm6OQ=d% h̝ R0¨y)Ɛ9B|h]XtlzC瘓@ǝ/L)&.TWoc~"5W<4:6RExy04AꌟtlzC.s_ϧՊQѰ'eŊP07p$1K, Iԃ[H92;(,T5f*{/>>,Y_9w xK9:6=l|vzܖ;+6n_ΥŊ"9;oPup $1K, I5'?[΍[(z A2K'_=œi942瘓CcaFK)&|mk_|3"6_%e&hb8E yQs G 2)c!,kFdZ9Fc,%evP \Xj͛U@߫tlz@ef+4G{hu.,T\(r2fNSaTiPth\o1&FY&FRMH>Ue1POKu|4:6R՛7/04ڐ|s{SB2;(,TQ89W<Ě hR2^aI7ŝsIcΗY&H>ދR3;ow:6=^QsO3'sc98 sh.:>_74:6R 7aToSQa3ϧbscK8r saLC`Ng'Q41ihtl @:Y;'Q41ihtl @"szaTi2 eevPPd5qbP04™F?22fNkB¨4)@c QѰ'eŊٹyQ05U߫]=7Wڥ"ɌmW=7ΥFՊ'_.,TobM2L*0@H>UW/Yum6k7;EX5PL-k_'znOs{1sr._}gss),=s_}YԨϫ@dI/߫Ŋs{;呲wֈ඿Fs$+j=Q&~z9=]gs~gFo\hI$bM2:6,*0!:._?W<-en9tF3>HA2{3z:fo,s q@9kK)\[htl @:Y;'ã`N8.o|AaiMY6q| H>Ue\ވ: {]/ѼHA`֌A2BKMYiMY6qdqŐ96qdqœi{Fh0MYiMY6q| rm8ɴ&ӎ,N8m8ɴ&ӎ/W=mas/h 8ΐiW=5b8ɴ&ӎ,N8m8ɴ&ӎ,N8WO.2,P7*^h-/ F@MY6qdqœiMY6qdqœiMY6qdqœiMY6qdqœiMYiMY6qdqœiMY6q|dZ3 m8N8m8ɴ@aN|@c2s(6E B¨):6:xϭLdc|mS[sҪ>tlzCŝ_C=:~R&zmިc*x մ?P7s΍[(zܖG|hM"3zFǭ>s(&2@ @d'VӺdzΖNuvFo|/Totlz@G0@c ߫6wiE6{C~ҩѴ|4Mp:6iȪ^aTo;(6{C m(K* |[Qaݓŝ\6{C Tdsԩ|錞tl:Ěe04’hW1&FQ|UaI7ŝIQIQzfWQl#Ѱ {NER HW#{tt\ik&ț=Q@d'Vӹ9bG `FF * }\ii !xvP04’h wŵ=PI8z':l:>V+Ü<"0(\Bڱ_W=M{:WjAmm< d%WSʹbA LK s#x$'@0!zIo̝2| ֝>̝U#%@G[HN&bBA s;ej:}_qPAnטTb^io!:{BA s;ej:}_`\pc L)Ɛ9L|z!"H@¬S* @6Y'wNHI%9< AOt( R)#! h4SYS r1ƙo!" AK @' Support different national languages

    Supporting a National Language

    You may want to adapt your application to a specific national language. If you integrate the LogonView bean into your application, you probably want the logon panel to use the same national language.

    The default language for the LogonView bean is English. To use another language, set the default locale to the appropriate localization information. For example, to set the localization to German, specify:

    java.util.Locale.setDefault( new java.util.Locale( de,DE)) 

    Perform this task before you create an instance of the LogonView bean; otherwise, you may invoke the updateAppearance() method of the LogonView after setting the locale.

    [Related tasks]
    Integrate the LogonView Bean in Your Application

    [Related references]
    Logon Bean

     kiE$ $7:I6ƿ6$  ./usr/IBMVJava/html/enterp/en_US/team/concepts/ctscnbas.htmuct$$ Team Development - Basic Class Development Pattern

    Team Development - Basic Class Development Pattern

    As a class developer, you move through a cycle of creating an open edition, making changes to it, and versioning it.

    tmscen1.GIF (16212 bytes)

    Basic development pattern for classes

    This basic pattern forms the core of all the work you do in VisualAge for Java. You may enter the cycle at different points, depending on the context in which you are working. You leave the cycle having created a new version of the class.

    The frequency with which you version your classes depends on personal style and on your team's established practices. One guideline is to version whenever you reach a known state that you may wish to return to. Versioning classes at least once a day would be typical. This pattern naturally supports an incremental development style that is usual in object-oriented programming. When you are working as part of a team, there may also be a requirement to version your classes at defined intervals. Versioning allows your classes to be seen by other developers or to be released by the class owner for the creation of a package baseline.

    ngrelc.gif (533 bytes)
    Team Development Scenarios - Introduction
    Team Development Scenario - Single Package, Single Developer
    Team Development Scenario - Single Package, Multiple Developers
    Team Development Scenario - Multiple Packages, Multiple Developers
    Team Development Scenario - Project Wrap-Up and Delivery
    Team Development - Overview
    Sample Life Cycle of an Application
    Editions and Versioning
    Baselines, Releasing, and Reloading

    ngrelt.gif (466 bytes)
    Creating an Open Edition
    Versioning a Program Element

    n0 k}F$1$7:I6ƿ6$ 1./usr/IBMVJava/html/enterp/en_US/team/concepts/ctscnmm.htmuct$$ Team Development Scenario - Multiple Packages, Multiple Developers

    Team Development Scenario - Multiple Packages, Multiple Developers

    This scenario is typical of team development on a large-scale project. In this environment, a number of people work together on an application that includes multiple packages. This scenario extends the other team development scenarios included in this documentation.

    Set-Up and Basic Development Pattern
    A large development project includes many distinct subsystems, partitioned into separate packages. The project team is divided into smaller teams; each team is responsible for a particular package. The project owner, who is perhaps the chief architect, creates the packages and assigns ownership of each package to the corresponding team leader. Each team leader adds the team members to the package group.

    As in the previous team development scenarios, developers in this environment follow the basic class development pattern: they create open editions, make changes, and version their open editions. As in the scenario with multiple developers working on a single package, package baselines are established on a regular basis, and class owners reconcile other developers' changes to their classes. Change reconciliation sometimes occurs across package boundaries, when a developer working in one package has to change a class that is in another package. The process for merging changes across packages is exactly the same as it is within a single package.

    Standard Project Baseline
    There are two approaches to establishing a project baseline for the team. One is the standard project baseline, which is static; the other is the rolling baseline, which is dynamic.

    The standard project baseline is analogous to the package baseline that was described in the scenario with multiple developers working on a single package. To establish a standard project baseline, you start by creating a baseline for each package in the project. Next, the versioned packages are released into the project, either by the individual package owners or by the project owner. Once all the packages are versioned and released, the project owner creates a new baseline by versioning the project.

    The new version represents an immutable state of the project, its packages and all their classes. This frozen state distinguishes the standard baseline from the rolling baseline that is described below. With a standard project baseline, if work is to continue, the project owner must create an open edition of the project so the package owners can create open editions of their packages and the class developers can recommence releasing changes into the packages.

    The following figure illustrates the process of establishing and loading a standard project baseline.

    tmscen6.GIF (85171 bytes)

    Establishing a standard project baseline

    Rolling Project Baseline
    You are most likely to create a standard project baseline at major project milestones and at the end of a project. For ongoing development, it can be quite a burdensome process. It is often difficult for the team to produce a baseline for all packages at the same time. VisualAge for Java provides a more flexible way for the team to synchronize with the current state of the application. The alternative is to establish a rolling project baseline.

    The main difference in this approach is that packages are released into the project while they are still open editions. Unlike classes, packages do not have to be versioned before they can be released. As a result, the project baseline is dynamic: when a class is released into a package, the configuration of the containing project is simultaneously updated. Any time a developer reloads the project (by selecting Replace with > Released Contents from the project's pop-up menu in the Workbench), the class editions that are in the workspace are all replaced with the editions that the class owners have most recently released.

    The following figure illustrates the process of establishing and loading a rolling project baseline.

    tmscen7.GIF (80948 bytes)

    Establishing a rolling project baseline

    Combining Baseline Approaches
    Caution should be exercised with the rolling baseline technique. Releasing a class straight into the project has the effect of bypassing any integration testing that, in a standard baseline environment, would occur at the package level. The release of a defective class could seriously affect the productivity of any programmer who loads it. For that reason, you might want to restrict the rolling baseline technique to packages where the class owners are senior programmers who always test their classes prior to release.

    ngrelc.gif (533 bytes)
    Team Development Scenarios - Introduction
    Team Development - Basic Class Development Pattern
    Team Development Scenario - Single Package, Single Developer
    Team Development Scenario - Single Package, Multiple Developers
    Team Development Scenario - Project Wrap-Up and Delivery
    Team Development - Overview
    Sample Life Cycle of an Application
    Editions and Versioning
    Ownership and Team Roles - Overview
    Baselines, Releasing, and Reloading

    ngrelt.gif (466 bytes)
    Creating an Open Edition
    Creating a Package
    Creating a Class
    Versioning a Program Element
    Releasing a Program Element
    Building a Team Baseline
    Comparing Editions of a Program Element
    Merging Editions of a Class or Interface
    Replacing Editions in the Workspace (Reloading)

    ishing  ksH$$7:I6ƿ6$@./usr/IBMVJava/html/enterp/en_US/team/concepts/ctscnsm.htmuct$$ Team Development Scenario - Single Package, Multiple Developers

    Team Development Scenario - Single Package, Multiple Developers

    In this team development scenario, multiple developers work on an application that consists of a single package. This scenario highlights the cooperative nature of VisualAge for Java team development, and introduces the concept of a package baseline.

    Project Set-Up
    Typically, in this situation, the lead developer acts as the package owner. The project owner creates the package and assigns ownership to the lead developer.

    After some analysis of the problem and after an initial design, the set of classes and interfaces that make up the application are known. The lead developer allocates responsibility to each of the other developers, for a number of classes. As the package owner, the lead developer also adds team members to the package group so that they can create classes and interfaces within the package.

    Basic Development Pattern
    As with the other team scenarios, the development process in this environment is built on the basic class development pattern. As the following figure illustrates, each developer follows the basic pattern independently.

    tmscen3.GIF (56575 bytes)

    Developers working independently on their own classes

    The developer who creates a class or interface automatically becomes its owner. Other developers may make changes to a class they do not own but, as described later, the owner must accept or reject those changes and make them available to the rest of the team. The owner is responsible for the class.

    Merging Changes Made by Different Team Developers
    In practice, team development is not always as simple as suggested above, since developers are often dependent on each other's work. For example, a developer working on one class may need new function in another class, or may be affected by a bug in another class. And, the owner of that class may be too busy to make the required changes immediately. In the VisualAge for Java team environment, the developer who needs the change can create an open edition of the relevant class, make the changes there, and use that edition to continue working productively.

    The person who creates an open edition of a class is the only person who can version that particular edition, but the class owner is the only person who can release the class into the team baseline. As the next step in this scenario, the developer versions the edition to make the changes visible to the class owner, and then consults with the class owner to get approval. The class owner may release the versioned edition immediately, but it is quite likely that the class has been further developed by the owner in the meantime, in which case the owner would merge the two sets of changes in a single open edition. This process is shown in the following illustration.

    tmscen5.GIF (58167 bytes)

    Class owner reconciles changes made by another team member

    Change reconciliation is easy to do with the comparison browser in VisualAge for Java; the owner views class and method definitions side-by-side, and selectively loads from other developer's version into the open edition in the workspace. Reconciliation of class changes should occur on a regular basis. Fewer errors occur when reconciliations are small and frequent.

    Once the changes have been merged, the normal development pattern resumes.

    Establishing a Package Baseline
    The project manager has established a plan that identifies milestones in the application development process. Milestones generally represent the achievement of a certain level of functionality within the application. They also provide an opportunity for all developers to synchronize with each other and get a common view of the current state of the application. This process is called establishing a baseline. Baselines help the team to find inconsistencies early in the development process, before they become entrenched.

    When a deadline is approaching, the lead developer expects programmers to have all their classes in a working state, and instructs the class owners to release. The lead developer, who is the package owner, establishes a new baseline by versioning the package. The lead developer then opens a new edition of the package, so the team can resume work on it. Before continuing with their development work, the team developers synchronize with the new baseline by reloading the package. To reload, they select Replace with > Another Edition from the package's pop-up menu in the Workbench, and choose the new open edition.

    The following figure illustrates the process of establishing a baseline for a package.

    tmscen4.GIF (73853 bytes)

    Establishing a package baseline

    At this point, the class owners resume the normal development pattern until the next project milestone and the production of a new baseline.

    The next team scenario describes a more complex environment, where multiple developers work on multiple packages.

    ngrelc.gif (533 bytes)
    Team Development Scenarios - Introduction
    Team Development - Basic Class Development Pattern
    Team Development Scenario - Single Package, Single Developer
    Team Development Scenario - Multiple Packages, Multiple Developers
    Team Development Scenario - Project Wrap-Up and Delivery
    Team Development - Overview
    Sample Life Cycle of an Application
    Editions and Versioning
    Ownership and Team Roles - Overview
    Baselines, Releasing, and Reloading

    ngrelt.gif (466 bytes)
    Creating an Open Edition
    Creating a Package
    Creating a Class
    Versioning a Program Element
    Releasing a Program Element
    Building a Team Baseline
    Comparing Editions of a Program Element
    Merging Editions of a Class or Interface
    Replacing Editions in the Workspace (Reloading)

    r

     k Team Development Scenario - Single Package, Single Developer

    Team Development Scenario - Single Package, Single Developer

    This scenario describes the simplest way of working with VisualAge for Java, Enterprise Edition. This is a situation where one person on the team does all of the work for a small application, which consists of a single package. The application may use classes from other packages, but the developer does not need to change them.

    The overall process is shown in the following illustration. It builds on the basic class development pattern that is described as a separate topic in this documentation.

    tmscen2.GIF (86596 bytes)

    Single developer working in a single package

    As the developer in this scenario, you play the roles of package owner, class owner, and class developer. A project owner creates a package and transfers ownership of the package to you. You create the classes and interfaces required for the application. You follow the basic class development pattern by creating an open edition, making changes, debugging, and versioning.

    When you have finished testing, you release your classes into the package, version the package, and release it. (If you work in an environment that uses rolling baselines, you would have released the package when you created the open edition. Rolling baselines are described in the team development scenario with multiple developers working on multiple packages.)

    Although this is a simple scenario, many small applications will be developed this way using VisualAge for Java, Enterprise Edition.

    The next team scenario describes an environment where multiple developers work together on a single package.

    ngrelc.gif (533 bytes)
    Team Development Scenarios - Introduction
    Team Development - Basic Class Development Pattern
    Team Development Scenario - Single Package, Multiple Developers
    Team Development Scenario - Multiple Packages, Multiple Developers
    Team Development Scenario - Project Wrap-Up and Delivery
    Team Development - Overview
    Sample Life Cycle of an Application
    Editions and Versioning
    Ownership and Team Roles - Overview
    Baselines, Releasing, and Reloading

    ngrelt.gif (466 bytes)
    Creating an Open Edition
    Creating a Package
    Creating a Class
    Versioning a Program Element
    Releasing a Program Element
    Building a Team Baseline

    t k]$T?$75ƿ6$T?./usr/IBMVJava/html/enterp/en_US/team/images/tmscen1.gifmuct$$GIF89aΜ{k籠RsBc!Z9J{scZsB)J{B{BB!s9c1k1Z)J!s1k)R!JRZ19B19BBJJR1s9Z)k1k)c!k!R9ZBcRZZ{1JRs)9BRRֽR9)kJ1!ބJc1J!k9s1k)1c1RcBcJRs1Bƥ﵌ZތR{J)Z1{Bs9k1J!c!Js9c)ֽޥ{cB)sB΄Jk9Z){BB!{9έ{RsJޜc֔Z{JsBk9R)k1Z1J!R9!ޔR)ތkJZƔccJ1ޥk֜cRΔZc9sBsJ!{ޭsZ֥kε޵{{cB֭ssZ9kR1޽έ{kskRB)ƌc{c9{ZsRƭ{sֽƌZ{RνkƔ֜Δƽ֥ƽν筭ޜֽ֔{sƭ{{k991sscֵkkZccR{Ƶk))!RRBƜ{ƜssZ絔sJJ9֥kkRkΜccJcƔBB1{ZZB{{Z!!99)RR911!JJ1ckRRZBJR9ƭ{kRZJ!,@ H*\ȰÇ#J萛ŋ3jȱǏ CIɓ\ɲ8^ƜI͘ԸٲO*a ItѡG"]L4e&64ia2†UpCY7҂Bo qFn&џ; Ll&M ?^XoA¹s A,:E(R8#py{gaf)o5D_. @#d  S,U -/ߘon4Musc%[B0Z Dz hAi6 &P0F 4lsN^}H(RLSycAq_%[:qM0 xHY@C5  `TZ ".C|cN7ғ!HGP#.DqZ}@XeeFZgZra$ya'jݹ/@M7Km;*Ar4,Ȕ4M7舁qȁut:h82jR`)ph{Ƈj'XߪCҬԂ 0|C,SLL08C7`N5wpqZ7P:w"9';bЇc16\N7ҔÎ~K/"L9(LQH0,c0Yk Gɤ(5;{*=lW^+o 6lN5%,D :0%`1F#o9\c~u^k>{M- 4 33}3S|2$A`!Cl +\ haHCɠg6A9d8V u#ZCY;ӢgQ,R˃*}٠_@R@$`L@ x, Zg4EtJTLP.INru]pb& ]#%@2Q-L qB5xK_HBV6h qA`&IٌE!<'¦-Tͱ>Yұ ':L*!1Їc$ dDiVK !зc'sA`3ǔ),q,j:, .I T_ axDHȖ:tc p%A#}0@&,Ahdt@%'}BA2Qm4QP Z?^'QrԀ* YDsYn8wsbPp#/`Z/"4)U[[8e&ht_"+/` PXuàߠ0` s r ,) g[E_+&1&b)[$)0)T2'6fdU3? +ѐKfb ` pv @ 4bS6vX6Ȁ n -2pWKc"=43~P u P Rp_`0 >%qg0' 6<io@ @T7mFhճ3Ff44Sp sGD P p  0 ȎSa pB$^!zg"!b:0B#B)P .>7-R%jA70Di!C Ǡ wqRGJ'aV\Egf)cA$7y&d'REZGY$QTp0ƺ Ш(?:S"!:$Q8"J7UJhٓDZJ/T!K 0^4H)]zY=FЍڐ60 U|GA"2ZZ[ZCʮ4i(AeU 6"A .И\␭RpP f# p;P _`DĘV!hbU8fЍL6iTU}~$œ<Ր fer5+8P n0p &&/Ms5;_ z@t7x7c{ZWzd/SdS#xkz67t<51P8;d6ff39ra|91 K C ˀ堎@ t7ʃo5;=<`&*ٻ`sF㙙VCOv<OYv;#tsIxJA &BN>O<(DCTx]Ǜ?LDHQF|HJLNPRA\V|u>|Zť\/Y:s_^|axA>p#t6njz{CtF]O@q0 "GOR6ucv]@ OL7)g7RG|Y\$%bBM A7^*sG G|t BIA}'F)4a˩A1,4'wDy7ʘ `WDK4g*h)4VI}:'$PiaExպ(R v0WA$$ؐYcKX҅k=W9c=$`pvKv}(RJ)[ Z%h'%2&[cV S8_^ߚ$p|5$v# 0=9ja0P`)7:0!PM[%Mbֳ'@+@ WӖ_p `ZFhi)ϩN ep. @tY7 `fCߧk**X&:.M̀M%kS+pJs,:^P cQɶ,IBp2QBZ$ C: (S]".L0 3NDlB P 0  6`b,UAT !}q%A)@0)[i҉\3XPP +Is,9Q35 A(0 9`pP#5c9p l`8ˢˀs_Ԑ?38L8p P fËcP   Ӏ 6dc < qTcx!|7}ɕ3ch=>S 렑0 ۞4;lk 1 Ŷ>, )f >Ay7C68.CVk ` / @, nN/1 X2] @N7lՐojV.K8{d3>4g>cّt1G & 疃 c?@ \ JTa5x]@ vB2MioooYi o "@fL /^p{0 w k  7 }r3j4Rm6|@GőɉXMBWMy\ j7P`t…۶ 6kMP46Є#d$yC 'Q\e 6JF/[6q9qOA#ZP?wRyT Q'PՂ DTpW=@! g56HAPࠓ.sּy{EϦl~)8ߛ'%iaa_D+H TFW^~%kÝt3k3)PF_))9r&T*$RdhcKv-BR\O`V޼ynLs˶$9n hLN"˺á;$,'fj[/G* n>"H+0:x:2k-L0Eơqеrixз< v#θK,t0K,ҺҎrY'&<5ȡ4*0;i N:@SEcmb%'5l'ã&(>&Ө4%QP,? U-rmlm 'Jy80NA Ia!,@&€@ !(: +9f3k|ȣ22JgJ w @cHa8`и]xX`zb)DMz଄ B !(VpĀh@@7c$N+&B{L 8_C?@,@Z48ؠjV@oyfES5xK(arI}U^س\m Ҭ&&8PxL VaJ_.kxkI"^y68Uaڒ@A@o}٧k]ا;+qQ wp6U6z s/;m :Utq:Mp :r;NG=ްF6A6ZAC- gA@PzpӂP= B744;/b 4@:\`p̩30Prx 8Tj^ %l\jY-#,nttЅ.\$w@V4BܟҪdph oBlڪ50O3#k=J.=aȞ U@41 ]t#ݐ;KC(8rZF`z}17neB>JYd58H` 2A(xp+$Av#: CXG'w Ǽo7'duG>V@1hg$hZC  @=@|d$=eExCF4Q t:"zY~5!fsuLmo N`03Ig\F8PN 7 bpn)=B&licJ3 ڣE.f^4C]^?q Zbzu.ыXC7j)P!y'|_Q U'gZPِtX%@<80*ǖk vw|^c.6FBac|,(89Q::g]G\wPr|AN?. 8asC27فyhDa: 2ˆ窈_ͣǏhH8(/t{ #)_~~+%=Lkc?O1S?C;3@l@d@\@ @ jC l @A,AC?C@-?DC,DD ?lI3I.0ëvwâ4BV @p c ,x-4!Sup1`ñ B G MFhLː8!pAi, xAln1r3rz1x Dj 6l z8`T!&bR H9@$yx)etk0DI%i 4}Bq-Wt=Z-מ`q58тђ(=e`EajY-NyXΛ=@ XE֎U )8@șQhR4ŵ"T~X@oQS5#lk#F-zpW1[#5F/'`RxYo(~ꆏ}9=p0T60ESz@XN(f_HcR7vzMwHEbT*yOhȋڳ=ǽc H,Eh ҈8  o(CɄ qFNHjq+i$JV\%Lj Af7) &,XhCe8aԨBz$ "ĩҥOԸ.6l2j7Κضz5YdjM`гg E>< "F"4r8s$L-[FidA)M1yDZFMԗ&X(p &amcJ${Hr Kl8aJYRLYghjRV`8Ñw$IveeJL. ^uԻ UR| lZq@T!6:ɲO'I+eRUfkptKw(ykM˝|wg|&R'/ZLmm @I8klr{!3AV@~x w੄r#arNM@: M\Tnhf%nN3,8kΎ^OJysvïO%DN`!jf%[?2ٷmx"SVԎ\sYh Iؚx+*JjT~!zXȟםdz Br=T @5aj(j}:P췀##!DI ;`Q@,$Z &4H A!AA   @(@@w2|`0w@X ?C;MH j؄@4O)Bk7B 'Y"JWq$4R}@`2`e:(`@LlN88ШF呚Du 9(H \j 0<,h@N/z^0':׿Iq'7J$EG>2!S=ۀ &`@MBh!~АMt8yP*4(UST E@ Q4A^8m#D A? 0+]1Y!z%B948<-LAGXRVY*`C &`g" 0P͡yE PH#n  @ "A09Ht$. !0Bx@ FϪKi=E`*;qd] Bվ>`J3ث5J_R A m@SۭQ}?1XMҁ$DN4/T_AtvDŒk[ GҤV%M%y6|Z/.h*fEރ{<ʽ8F?VTzX׺H7  JJnp d<Ӿ{G9a/;!)hHT{Y*DtZKK`DN`ܥ8%'H^`|`Pf\_A`sڶbs V%rMey .@/V{>j7nӔhaH^՗YAӸp}c H$싅[_#m U쓁;xtև`UKPskZy(;Of p*o   "v5`GpfRr 2ة Rp\`8*zp2r6:|h h$p@`@[ĀF! )8W QqLA䠃cuvql`7 Myߜ *2"%bl M <6 5ϫ v/ZW3XaB:@!dxB r Bf`.TʏX s a /8 '\tNɵ nIӨ` $*yR&7I -M1@ Ȁ`A,Q]u:P@0чQ<@T_ @53`I3 Ԑ4׀7M@#ݏI 2vIMX"WMdU_ud` ge65 dȁ ` emR A[ 0=U:칓@_@ 0*%SQ=Qp tAA 1^yĉLaC\xLXɋzJuL @=3B/(Cn6@\Gipͻ$!W+j_&b1<` dhW5#a^mɼ lP ዻf" %C-1C-c as@(ۺ N5bc>bحpXʸ6/ʩX EYȣE@./-B7 /3B/؃2H1T2H, DW-J$ÎS:mtQGc#9**喠d K#K>A;1,:tC747:CNPE I6dz eE-@=@>R-m1Q" #)Hy!] Z DW-*D" ă,1C];Hof>$:tXq@ #BFD T>Tޢd>rxGcMc8ciƴlY," kJg Af7B-C1e744]f1Ax%rؔGUbKS0{C72@ p-i'G C8|%O&4''VC<|?]~Co;g11^A ~g((6(A&¨dE9 8v(3$U2RA@j@W'JA|C;,,2e7(;fN; RI$zgE)J'PhwFu[`C8T< p@ @HڻI%[Fh&ҩlFC4:B/ئ4~⃏ C1<- DRid&έ֣ A1XfÉFxGDng`6)AP@@iiЪV٭10:-Ђ.440í݂-̂1`4%?\00/ C0Ԃ=̂2C.h@A+4H-tZklnm׾?|;4 Q WbHPV6 A9A @ |L}NJ8l25Q؆P5L1..2.C0B/LJ/ .~0 (>:lT |k Ђ4%,Ā .tB~9iLlL5B M-GX/ D @-UbdlCCb;w0g的jJfC:h81\7%\ `‰Ѐ\@e&>^.;8$vJdH0LCq0p/1;|_BTL` |]EVp{vnoXk:;\3C()2{rCW#c#H@$cX2k9';=20^5*Lz03{YqMX`r&WC3h7+7ws5UE[dry-167{{8r9gV36 ;4L_HnW`X4EVp ,;3A{nTn|Ů9CC4Wn:rE2Tsp 4A|DfLtpTcഺίQK.uKk 88v&Ug4u׫:|ale[,۲e?f62ef1ӆ3˛=c4ϟOzԝc&۸sYfɔ% Nxǎ+f-Ûg34Fߋ%`˯|w0D*")٧:Y^ _mud]by@rH#:>sm)j;j=ۦԑt YgLȢ{ͧx\y/>x>|淃](,0#;,nn6a+K9>oo=~_WO~ßy_5jTyg^骇q=-bH8~_0P8g"ʅ y8 KHaDIdCPXoFшFD0BьM8jp8Gu8oxfŃ~dOS65B`"؅,XaE$}AJZ򒘤+va V㓠 '[S#L*WV򕰌,_NhE*NY +1 Xȳ@.dSjі#i~ܧ=*Ђ3APӡg9OqN`质*L1xγ Mh6L'$JWza *G1Ҟĥ0)MkzӜң>MKTԕ=O!7{1V5)V&UUUh]+[#Iµta KYR֪}Tצ^Mɨ&Tk MXⵐm&F@Dnm6 n[I4¸#+ D psRmr;].v8D^A$"@wSR)!-&0aZDlFvM:>ny'\Npy+a7x!!7oS6Hŀ- ÖƱE%&( A"D& 2>$9ɒ8 d*OXrPdBH`β$+?ɄHs<|3^<"i+Lx6/]~ *OАv4'M<̘tNb}Dݜ8vƳxh8qT#fKQ>,d+K~2!AR9ZP=mECV9Jn6ljSل6v h4<:|:S1N`F${ 򑥼nqKy6dms@9{_u{͢}?jHm14Cb@߭tykd+N6.q[NG%ne='\+\oSӜQϓ$u_ja"fFcN= 5׽NKYW>uz zx.: =iܲw޻ ca|ġ`}^co;^/Qz2s~v?sy_t*}kSoz tC>c_/nֹ~^َHB){@{pF b#j t Pb%*ɒ`ɒ_fv`ig"&wЎtvMbR_s<z @  p ) ٘P p 9 HݡGM}6pQ|1 HٛY9Йyɛ!zZٗqWmڹIMMA 555Nn5 ɝٞ칞ٗK1 PHpGڞֹT|y @Ĕ 0 R: 0LHC% 1S6 z@HI0S5% S8Hp 1 4E`'QH) U| @aD@UJXZjZ\za߁g)WK%}Sz]\:^JFac*e:gzizJyMLC U0CBVFPFF0KS0HjH *&hTqCШ:J*ڪ>rZ,q@ A@BZL W:D@`Hc@Sc@Sc0D SX@K@ɺJ[W bi0JcتJjZj麮:z*+Z :B_;gA j@{B ƚĺڴkTVPg &^=ߡ Ҥi[B:ξl{h *6`{kB;^ =Z.R jj~$E6>8^=?[*Q EG~I#Y- T^:YZ.Ec|f0  J:剚p g[ L\#5siSSN !̩e/7 v|q鵞= ޸QF :)~$밞:鼺\ĹK,¿ ;Cr=𦻍vj@TXj+yN2Xb}>aVە [J`XA<г;LKnn^/o L?L{0Gݥ?N@*O,0/4o6L@?s[i>z`-;ꥻ?0Ϩ -s딏vT,PdoO꫒_.tRc{ m./ϲOy oJo ~JX``p?:Aдl@f L1c TKC%W$?Y`KW&QDBI?FaBS0Y"Ȕ%= ps? \2CIHBK ^IBjfk\j%[YiբeW+W;wla"=$0,؂d %8I@~*L X`… >Xb֌;~ #HxQd%3k̹sIρ@9 J0]jZzkׯan?{'_~{[v]{Q < 忿qL " _aeXJcR֛EP"ˆ 냬 DTO@N:%J"#A~nQ^lRHc=RRCX??@dq@2pF\#E.$K:I8ϾO?cE*mQG}R! N< UTȰj& /LRI7J;E=#O.wcZ%S^ŗW)ZguW@R&;\J`9eOIh "YnXlq,BնFɄTR"xW2oE;UQ,TWmYm5V_pEpI6մ?}Q"=eTYgZkv b #%2@$-4#Hy $R:RtwF+@u[UFZi&hUbF4狂oE~0 x):"kwkŠ/ &W]X¦lETP!Wj˭g)=`h%ea3֛{e)^#Z8GkEzWKttZw'nvSקx#} 쇿}x TJV׫|R qz[WՎA?r- iYPTe&E1DU$L"dHV@"AIMjRT+eiKU:T0M)Li:;iOuS3iP{:Ԝ&UKM*Qw Ԣ u1*OjԫVT%jjU:@]X:֝r4m)LJTokJW:Ugk_WVd) p \~#D-J>QoaHE Rˮp`X:H״ 4>-kn{?Yϻnj!'bޱ 8^GSw*p <J=)}v~IQ/elR]}ޓaצf ?D' }u#wW@wu=/ouw/3GV?oi qs< z wO8.v{+6 #x@YK5uS<+AC{c= d7Dӳ+BS=kAd>AX?AUB!D4k[p@@, Ӆ0);|B0 C1D[1<14C2Dj/T|C0C62dC:Y'%㉍Ycwu^0\ەc:Yd]hui].d ݸ%--O- YJYdK}5|eNNbYNX]]dҵ[e&&enL[FbL>aLNaKUcUa؅Vcڵ5]lVi 0OAT deVM=xy׵gef=zg}gxYfg h=xgnvhׅh6=6cnVyif@8H&ą̎kLfA@`PI7P Xui>jNj^jnj~jjꨎݓ  ɛ " [@2:#6#nk~kkkkkkUU$~"I>Nl^lnl>lJ 6#E"k(d!TalܥfWiNlnmiU8Q#Ϧ[0UPtmޞ%n빣"z*n>nNn^nuQPij"nnn,튱i.I쁋5PPHv @ F4ހEEoOpFUp_popgp  oo _>p o'Ejƀ pppqq7 o#π((W"Mm^v`Vosq(/r4Os5_s6os7s8s95 s5s=s>=":osA9/t:OtE_ F H耕ݯkrC.YP1FǀFsi~uXuYui6hu?\u\]j]uavb/a?vb^v^vgovhhd_fumvivunFi66sGtfADs2Ou_VX 8vdu`[/7x?iǀ(_/;wxOG^xxuaxyd?x?iGigHytyvF훆wa]xoj7po[wZKZh6[ZfZ;hx Xxx~Xx p {hzzix[/ZhZv 5(v|?iM{Ov|RXh|}p`v;Wh /7Ywwmayu17zVZuZ|7y}?10Qhvux~ҏx {R0~8|~[?O 8A@b q̄5xQ@Ed0"SA %A"j$E@h`lA"(p$P ᄉL-Kl1an%o;wjѭk.޼z/Z0ĊeW+W;wb9 `s κtByFm4ԲWϮM[ܶYwOgq6Էsڴkc6ՠX@=vRso>pӯd]1g 3eWa]9]_=WۉUwbQBy!!Fbvet؍[]b 8V`w4cj]B'cDrax$Jd"&yxA X%,}eyX|&Adh 脝"Yg(xu}&j:(xJW饓Z).覎f:j 驜e$:+ @+IK,p3cm f {,t9N., -.?t+ ;.{.骻..;/~뭷". -b)L_,F,'X,g!)$<2%;1~+S2'_ܲ5 s&*3o3Bl=1 ;mfOK=5U[}5Ykp]{5a=6e}6i6m6q=7u5y7}u >8~x߁#>G˳N:T `y6{9衋>:饛~˨:뭻:˾紫;PK,"-ί*9d cO؈L3s>0>o>񿿾???o'?ftC}$ HnX#(:6hAO~C(B+! S6 g0PE[b<=zgŬ328qxcL|b8n@wB["pg8Qe`|>OY*2$Bm,7xӘה?J^N3yPl8(jQ(61~F6OD^Ԡ+?K9\2`a˕)IPu&8yG>Yaq@G- =&4_h4 \58q@N]ĹƮJc^ ׾զACaf }+[ď8`e&QHغ64kg IKZRUsd䡺ρ\/fd.Zzt6DtSfWm5*pB-=ݒ[߲e pmaJ$OOLx\owPm>5 ot+Y,L설TjUu^4mu")u$h#{BrO1i :1,!D>md Dod$S9׸2m7\jӠƗ~IpᤉI4a+/-pIZY3g W~F< >4t7hK Zэ~#-Kғ4-F3Z}C-ϖ mACӛOYk9԰iv/`!d/ͣT#_<3> M`& a H`D&PF4=c/hs=/#?#я/y)w߳v3Js=/!C\ʧvg}O/y{}$$8$, 6>$B.V`JZ`n^ b n  Z !H!! >B"$A|X0/lU Đ 牞}*`z BNa^rJ!f!r^!B `#A a"ܠ N؟9 " $  """^<"(` ] F$Jb!A($Aá*NJ"!L"""#!"ʢ> ` UiR] ;` $( &b.^#B-%$j"'':)F$9*),֢.!7"#"c0$1J&!ė.444J-.-v#-n#>У+)j5>"?c!d-$rbGJKc"VdFbF/c0d Rn!dS;| >1`!bEb76"U.Fvd:HH"I$!d!d` @~QbUBj{19$TFN#7^"$dR]ڥ5^]OvfeZd"Z=RdV%^>0 $``(e~!Bm"4!$Of&7fUN%d6"q^]J&o#hҥ-ne#- f`RFBFb>d&n""d֥@3(By*b<3?eRge!>f7:=KFd6'i"'u#0%kvXzYv21.dm21xncthNJ"-g| ԧi6ggi'.h-f/ ?02hUWaو!&^x6&rҢO''s! !'*#*B^d$I~#}ghVgcޖz=(|!Zh14NsgAnc76?!J)$V)"^pniN')))!dt:*:ehZ' ©Q)aROw.pC^4J"ne#%jΪΪj#*j>zj+?@8֠X)Qh ikʪk긖?%>+:hra&~R9\B]  B"au(0A.,*FF 0e^,Ǯk"P ,˶,>\lB"_ uZ'Jn,-rv^lvl-*mզբ,>0ad.-C-ɢl­վmݦ-mʾݶ. ЁծAB銰\,a N ՚lRBn:+ꢮ疬놮®...Ʈn.oZ-> "\.(A(,-D<`lv/ro,/oB)}/ίofo(O\0СHo\@K]گ/*/&/( 'E_ֵۥ·CΕ 0| +*p_))*.J*ܰ)й0 P -*O_ЩB.=,k1b, QB1/q1(dߙ{cϱ!q3O@#7 A')2*2rȕ#;2HrP%c&s''r*s)2+s+2,-ӟ- $p㌒!'g\l0(r)/,3;;3=/سHA(/qp4#K55k3's780 A;D3ES4:gt==+A>3s-Oc!'3K@K2@:LK@;3,4;rNotG{$dnq@IGFJJtL'дM=NtPuQ+AS?uT$ qI֛.tC3*_EKt;K:3c_tF3F3v={4e7S'-rU_6992EsDOtj?6'];[>,/~6?vp;pqrww:77E?7EGt|_wvk7w/3ó(I?C/~?>䛲Sg~/p/x>w ۯ~>뜮~0>5i.g2U)zzk.WZ&ֲxcF9vQ?#E4yI"sPBlcL";w)HL1ztѤH$] 3hֻYv^ g1|k+ 4ot+\={!.^? #f`VYwsULrd+[9͜ry5thѣJI34T\baՊkXcݕm0Z!L7ow9‡dXr$IJb\.™sK1׳MKgtJ(-)"*Żvb0SKϧ)jJ@(P k,L)^#o<I=so) p5yl:Ex1 1 cB2OT#23n$3լ(" B<"`*1$Q ? b ~hQ~ DC|+&E?֚c̥^҈"{uvs&b"FU0LO RB,,S\܄ӷx<4?C`F]"RPtK3ݔOUTR C!TTU8NY["0`1%]cIKeuh:4K:]% Wvψʨ*q8Br^%PBav{ǖ6B Cj)#/c1W+H7d'i%92kK:WƗEmY{ޠ=h~ZV>6JkFF4xlC=;nD'Xv]"X,~-P,[G Uh%8k(:j)f&'ƒ6$vY9}[Gd:m]w1Gs=ِyMBx[Η}KDX( iPL 0, f4̑0@@ES_*)3^ ab-l!^hrvuXK@) e( 0a H}0MIȚw8m% ݑNr/ d`ӡRx8 QxB$DQ.1WM|b7,*ZZȋ,zR*&(kl#(% ^@t-a}\9j^<KGB} Չ6URVfwQ|sdE*JQ?y+``Ze7jl3x<;B+Xp_iGOyVwg& F)?iYqZa=hB}PXBM*@Utrl5~vx HK/JD+; ?X),@/UyUPR; c(*ZWxb[  @eڙ)&4WiVS. b FŤA+a-Jխc˖0Sgͷ׾5UhcXdY]9 FRnoZE0Vw49=y݁^׽/}8Tq@XFLp/ wK|0QB4qcK?BVB_ȎG,xAU 0Z1 K(.8}c}. ZMf.]XԞn/wE[cӟuUxAԇ^igVUӪt)}fgzGG-_'wjSE7zfi]ksGuCykSYؑ1tՄ Q0.qXľb( 2zsDa^ ۑK" oxõpi'?тaTB0 YP9* =z??/]sӜ6ǹw^,He1IaaW0`he0̀q^w}p{gv}}]oó}{x='9ygo?{=_zӟ_A kk&Exd+{ V>e7/W~o0?ϗ _}_4}@>ɯ_G?o_O~0 P&ihpp@TP j/@TdaoTk\`]miPgouq0m]o0 0 P a P P sP Ͱ  p YZ^[ &JuM,b0\] ^@#*Qq931C)E+7QS]CQ1/ѾjgQS{oM{wAqqpsq51!U̾0r@[p"iN;PH/Odp1yQ9!!R)1$ dn`ca@$RC b`o$8&e&bd@c f&@"c@QR%a%[]`$2$.r"#q$R/ U#U **q)')"˚`"1,q)Ւ-2}R-|ȀCrrR2r!!r3YQ1^Q9 &"nkm!OOn ga!I!$`(.I$+( "] &2p)W#Os*%57w1,k$r&SQ)%Rsz tGtKtOuSWuW7u{0xAvhvsEWwq7vewoxkwp7ww7 wy!Lve7tWtYz{W{{GzC7vyWzs|+Fk/g+}w`.MN ~VA$~Xr؀8:D7^"l+؂/x SP6dCGK؄OS؊-1_؅cYx npwfXaX؈K6^N6Lfp/X" $ )@*%+@٘*؎X؏Yxx-XX㘒3y! `*`Fy+qq 鉧1*#`gX*@z1YY5Yٙ=y9YYŹٜ׹ٝ9y99y󙟱y<\V9`6 zf1^2\٢m"l(s}yy<`F@PWzOZY:Qzkڦa_]Zq=ुz}zeZZZE`[ZکZy]:ګm:ڪioZUzQZ:Z\:BڡA @pTDd125C@^4)  }yuڭ @"{:G$2RZ:-`ZQ۴Y[[Z") zZoڴq{U[O;3;I{m9@B`c{Orñ;ZBZ+ۗ9Z=ܥ5@"`%ҿYZ"-`(5$@fZT:yz聾~޼AY^a#d߉4p'. ]6_e]'+/3_7Q?A_GO>> p̴(ڽ^MHE*)ƍn ݂___dҜMNv_ܤ-~0#1"waon_aRW^*5]\:|1ĉ+Z1ƅ #6Uȑ$K<2ʕ,[|/̘/kڼ3Ν<{2(Qd )TD 4ԩTZrL\N 6ذdǚ-ڴl׺m m-zR:*lR UT.Čz} V+w^kphJOp4 08׳Yp;ݸy pă6|8p009tpo:zrh6taywW7oz׻o~{;n,i*'~˧[n掋n겻n / Ϋ믾on+0'j &t w\ B dB˦,졄\  < B?A@&@ϤAEG $PXk@PKM5 L10 `b =o a cwτ+dcpn7}4^8 km<}s'|̱!\r(g13368VJByϝM T?&p> ^,Nkon+ ԿF}`ia;),\6.mrN8|Mg }`a Yd72d){z!M.G@[U@ V, c s$/HOlH12lËk(-J[u#t,KSW;1 vL14&1v|#8MdD1qv x[9 y ߹3)٠7x=i%nﰜk}izُ-W& ) jHڡ#| m6wZDX'>>J踣ҹP9[RzZZXj:gQj4ɎY YE:Gz&{ ꨨYʞ5ڦc? ꨗ,X?ʩ6:6 :6옧髵y~j6 6x܀*Jz ՊzGȭGhFح*H*: ʮ JʮZڭ0 kwWvj*!q t7{ˎx %[')k &˲9!۲!*[t[;˳ ۲ᐲB[t 0 Jkyu{&.ԧĺ K uY A[JC[B;i{jheDqo;ytkm >b{c[g}r˸;kPt[Z P y% {u .4!ƩFڰ3Ch np @k E1 뻿; ` Njɫ˼뼷 +{ xE+[{ ~!KgS iaX5[ %b L̹0 b" ̿ ,Llܿe < l%,  XfKbB&a Ȱ5\  AAD< 0 ;O Q,SAqIKTl%Aپ8@ Jq iL f|&hlzƢr|!eFоu}9=1mږP 9Tɭ- 0Mm߹]Nf xٽJnRMڪ9ވ L- ~p(N+n)^߅36;=MC Px{ ,h תmޫ-$}^N6N^dfc`oqrnCnDxIKM O=CGȪ |UOlnc>z'u.rnΉ^D^y}2e,b>.#Nd~@jߜ.^N.n>^0`ꚎC}x`&ܭ뺃3ӓ ]]~@f턀sN1Af.; }P|`@lfπu{nO?&.M}|pL,"^>O=,nlE.% ?N _ N*_^~ .Nn2M0Dԯڔ~.co)Ospc ω,郰Go{|fNz?o+~/HK$I*Y #~-*o?(s 4?_,_eioHK|:5q"ԍSm۹ g_(_n\t~c?iP!E >SDHο9 >&0)G B6fF;B>_XEK-wrbWKPEE(\͊ TF5Bȏ$I[;fcX`͖?9tHѣBi+5I"> e(AfE,qX*Yē(&L<5e9gJ=:ڵMFhSwtejT֬J:ȁy3 RX#EnZ21bcS|L61 Txr5K"F֊{ Gwx?]D7r8𳯱k)b2'CHCG5bkĪ A3P:C 91˒N S"ţH$\[=j+IL$ı <YP2,|')4 ٰǷ#n09|sIA(H2 p&/) <މJ˪q$>8r03R4UP i92o9P 6Wss= IFѣ$=0"YPk=kgj6x!N ˗:sX>+ݤL\_lm#f.;J`^ ,^061\i; g V?m5tdwDQEڄ52N627$!awSG!;u@*5\C6wp_*nPb=A9Ԫ|ŊP4 lvcl(;#Ӑg@e*z$A Hwh#U\cG<{D]5F 1)r"# ~ȼAMN< l6Pd(E9JRҔD%,o;d9;CrOהLnR*<"9ҘDf2Ga,iY["oy.!CxUKlΨɝg<9Oz:=]B%ؒd5K;tA j!XD2%.!LrӜ:Ό擣ݧGEEcsI?CNȸR/!HK$15`_2 59mP-b AMmj"ܐ5jVTUv\*25,jAСB׹5. ^آ0.׈(zMTzժ2vW!{C 9ֲU+KSvuj$N ЂUy -WШ)k^[!nZ:AEnrԹA֜J-(BJWu /^ZX"<l`J[yD>׬o~_X׿*%yP٢& &QPty.daþ(/D14@DA\E4SF$DGDIj[CL 7Ť1!!A^܂!؂*<@LT<%fdgth\DGtD$P5XڡKR2]E_`FbC_ RLEDlSSdFxjl?FE64A<T"Tȅd elHIh I%M4@̸mR@T"PѻC*yR!EB*MA=dF1F#"x1(`e/5gDI)-M@݁HSPU\BD%YCZEB,SU2}V_G`E$0O}JXVVtVtSVkVmV*n|;\X7(lDχЯtQFPLݬVcaxTzH]cCt]ymGmĆM ύْ݁ؐm+sWX1*.MPMR&ƊϳL+ax*Y;Y\9ڤ%3%$ٚ%ڛOQڏZ[T 6LtQ1'UC$D UWHt+[kZ[>S-\Ӹ]\ECT\Dy]P ۳ѴZH+ D:4ۅlU04-Kd,8-JȅHj-H*8]،M#]Z /;3z EM0 2u^5Jީ^fޫ _GS2ȋ2ڴ\_l_߫{V%>W@?(UHUV;RV17L1*ޫSt8bTXE?X#b́#8`m-8;^M vaab$(V%ppbH(&b F m./1V23n4.5=8Tf;;7^6ZmY%@}d-Qu]V#0&b)Up=nwkQ9ccc;SYPeVveQtOY`I#e`fY 8dWXfNᲣ@WXKu |~<&h/lTLYu\\>e_h/'hig+NksӍ[jUdQ& S#(pQ|#PkG~҇]n_/`D[x(4zFQ0Nf7=6ᬆƤ[P<F'%g؉k144 .;˺d>)2-[<[@TnVc=1Fn^>.QVH'\of5ooyobEŦ$#7C8ѓlZ]PB\e#63`U#r^`07 ۰(` >rUK50'B6΃&B80&ۉmAlO@?E(XYSOVW7XYfu[?I3^'_v!b~d_vd^|g@7MnQw)s@q !;At<ƧImw͋FlD/9+/8L"q߂ 7F-Ÿinf?mD$FSþ0x^*yF%ǥO ],.9yGGWxes'PG2:x\Q2 G |GlT#ܩ&I.p ֘X^ | |g{4f@$}5uwFƗ{wxEoYw[zW%p|N5_ո>||!U^o]Շ|{b4Cp|?g?ZM.hKڄ+}1DH n! @#K`qE7. )rJ V,[ܵŮZ6o̩s'Ϟ>w]B 1j[]+kJ\n\Z9g-trD0\Da^aGqWR Y摨dO3HrFV=4@!JF6FC@FadDQ1~X[pW]nТKa0aF QSv?PU1X1DU`vpPA!6(T/.c(9AJG2H4dM9I_e% eHdٙhB&H`kq9xɧ*(^axxcbi 1dA .<`BTŃtShD I(7.Am*D /2K/Q]9Ec`QSELikHEF/G leI&? 5ܒؙ{nH.;oD;' " ĹyeqS@ aj)WXQ[4یK:LbZزE@ItTfGZxW)sIG(q ^"I\OyK~s^+awx8_V)?yW5瞃5馣~{l{-nsx@BU ]B<]dx?2jd19#v>!yDBG8IBH2D0)WO'"Qz*Y*X-q)Ҍ%09p񡒡<: RD$0!!G>Vd B&;"$#$ N8Xx ]#ح(V1FDIN*~0&:E诎ܫ_)B3FJmS_0Y(N(jaTW%RQrVP/EL4;J| TӨ+E0ԯ>5XU:TتH  Xu&kek-"J|Qo%##GEg\E<#(Mhv8QhIl1hv)| Q!^%S!Da$0BvӱVX`Cc%-u6w! It0]h؅[?Se#/h6\V$W/Y2-mm `Fdpe["-WƷ!+^q3SAU>*.Xb+y$\yLjJF İrJ`!I3> ,b3{ V"<(3R8-'WpAmǼ(C9 rl1K [Ă~n / eΪ]nަ00XQS(F1^lg'8gM|xM0g8V FC߱Z'>i$ ӹkĆ{&fn%İv흵 %7;'>xNEhᅕ*m{wEsT4kw`9 {(*]e\о/$u{i]I/茨Yvu/ r{f6=(ع{yg^e/[Vs!3 EͿf9ӝ%E]NF^eڸ~kǗϪAZJ|I Uhzӟ-*^W/+ɨ9gPJ-}!B5 j!gSt>zϚ#{s~؞IG^Wquͼ g%9|H&[eZB0YdEA   ]\i0Ȃ*B*5U*B꩞ B[P*B,PZ=^@D8`IUY,ab_`F* > k]`n`BN)` j)5o .`:"PrשƭZ0B0-Ȃ=b$Nb0Z2nb''b,x Lεb*b+b!<".B0."c0Vb12*c':4.W5;!,b*. H$i߰})'-"l<Ģid,",B0C?+A3`50d:#LJdMMZdFn$-IXB*B 6%zeL>$;Rde$W""eQd11e3:% TMU(bDJV**^a+@Z)Jg;zMTbBP&]&ffB)|Ch6 b&pb5E/gkft&mmF&oZobzV#*B*Se}'?)`i&gZJU(^{Y.|2 ܳ='+*B_ ŀhh*dT(BH>||=ƥ&v(^0+ƨʖ hDN())?-J(Ñb&钊B|BiIiVfi>i-$),.B)^~G)ij*oj4) *D66ZjNRr*ii otꩪj* j*;\e*~nB k"k*.n+δJkB+ZkZ^kv<*/Xz빢k+6Ð"zjpFe$@ @k ,@ ",. 42F,R&b@&ln,~ @,ȚȊ,lz,ȲnɖȺ,lrmbl m*2m2-6"( wZ5*f,+kl,̒m͚-ڞ,ڒ-Κۺmҭ mގ-m .m"n*2n:BnJ@ZnvAd)iaEn -n. .. Ѐ  o/:/o @N/B/j@jJ/J/./"/Bob/o/ʯ. . p0+ۮ;0/P"X|)E~. -ת0"zo ˰ Wo #:#0? 1 p+3#>17Sq[q1{qqo1q1c11qp ϱ 0q q@ h!\\Y !E$v_q&K{ 2 )r***+2) *2--r-,r*/2+/1.+s,#1r2+q+C'3&G5w2'w&g3[35/1'c37 * sh@ ;#$!BB o's+,,t)+(3C3*2D.2 rDB[,2C'A_CGtG_t,4IC-GӲG/t/D2K432Hò(ϲN2BMo(gtL/t*t3#5GLrR;tKr3?uU/uSOtVsl;3/A 5i">o,­t4#Mw4L2PI˴B.2su_(@Q\ 0J4Nr13sFJ+tMAG61ӲaE@ TtcEs6<6e{O4dOCI'igM6OlJ\r:o3W/TDY>?ɺ0'vj]Owuvh?)3G $/w7d@ 6CcL Q, XxP P){@\{3 tu _wz2fvgg7*7.vL@1Gv чG@1@h ( u  6n[te33dTgwoO;3W{upqP9TYa<&1+`_kxSu_9a#rv2ft@ *shx @Bw2sRÀ ,-9Eyf/K 4g7-6l2 0t l lx{rQQo,-/-ƚ2=@\9Ȁ `6xet^S\$ tp3kX03&2w [O6;KwF_6sȀwEk2{7s [ ;s{5 _9KG8صM |PC/Bh0sl$-|u 0]ܵŮVM7qԹgOhQG{rnV,Oΐz *\p+ł3V\hDg5M+QلɎu;1ڸ %!ݴpٖ] hc^,+8/brf9!f[H1cdI-S%Lh"սP?iPeHqêZYp}lzti맩g.o1nX;]cis//?~v㯿_YY0+T#LaHi^i&0ͷ2C:N\@?aQ@h@ |@~G!Qs\Q%U[r&J%?2pJ+͂, #DP0Uˡ3_I4 iތ5||W\j7 iá MT\E"I-0X|L6 OCEL3ӔTRAmUT5UuUX_E[GUWWiV\t$8%v$NedpAb_SsMf[ؐ3cIv9 Ng٬[9ѭ5ע]]Fs`A v Pyz07E=&vz&t'p@Yhmm6ێLZQxdY99V9KzfkֶeyeneWfsg֙cN:w7饇Vh[;aV Xl„ 5sb8[b (l't@tg=fyެ)g<ɋi8=f%:䮿Fs$A{1p—Wm饝C&Fe]`n 8@|H wb}g_~}7/``cu+`L1^X`ӷ/ث0 A 21l`>\> Co}?D!>aHD!<_M}8Tү_ЂxRUJeڑw-.``1uG=}HAw,d!HEQwT)JVL %[ H6d?9HQ4)Fr \`;0P4.ӞfLe.t3MiNSǜ2iMl2ڼ7MjV,J1T(;N>\6ǙO}?Ig TL1&1"0eC!E )P1Qh`GAQVB%-))\aZ- MrACMqSb`BRasX(H.MݍMUN&(FqU* KjYњֆc*H!U"ҩTb?G/{~핏lo^onO/OMi/ )]f/.p sIo,>`0D@A 6/|P8O$j`Xp#k+ /WF -`p0p o0 +P9P [pfnlXA]m'4(0 n `100O Ð pPQ")u1 U ]/  1pPYeqcPk0{qQFKR 5`1q&\qqoa`noP-` LǠF=`< E*/ a o\*@,`v4O#S2 rPRQ k"m /O$Q#jr4'C_pokp̑*$ڱ'8-w%F.&QW/ && &)`&3/or S so"G(/301 42140104O2qG`U?rb# %Q2 4 RgoE1.nϷn@)05R6 ]QG@*RuS>)22?eq4OP2/O@Ր@0M/63W&rG/ r( =tRq/6%_=`N*sQR+_*1T\Tp,!1煉:F3;q;f)'mrpQgqL 0 Q6pKOQSKm3AOS  1N6ONw1PR }4s-2T;&@dt./ $4PTjtPL4pK/`=հOO M P{W]/-` pQ O-%3+&(u[/5&8U֎Y/7p] V7P kT _ߐה9P`YQ }t/IQ]5Q/Z4QT-Hm[uI=V'>ѷtBUe˒,+f[a_bgfe6gkbQg/_cgs\9govh6b_f]ViH/c%jؒTRy.$K:j:emnoQVRoeoEo,oHbRqqWiYier7svsompoCWtvt!QQ@O>uO@6&$[Ūk5k@Vm!jQjQ7zQWzyzWwZbW{7HWyzzzŷ}ݷ}3Zua>~_$uRA6d_jS6xLMy!8%x)-185Xj:!y%blwsn@DpvAg}8xX_a|؉[ᑄ!8x}e_`BPZc팋b@Q䡍`a(~!x8y  i.[/ ) -91y5Xhj))vI7PY7nb"bym9kyiqٗuYy)'ʸٚe9nfjoBwə'TR1ʤJʣꝁF`Py'&*ٜyAjꨒ Ҹ!Z8 j⹫*"zyß91OJJ FA>z}£Q9zfhmq:uzy +*9|:-ڥ'Z!ta:zɺz@X::z麮zaت)RxQr҈@  ڨ.6 7Dhh4۳1EI;K{M;Q{O9{8"۲i{m[%{% h?۷%[/4۷a;7C[);H75;[;Y(H0  ໽;`.Z[ܰ{{{{w\!;;/)<+71\C<<9[G\I/$Q|y}w<{2 4P:[y | \ %\ȱ\|R(ܺȉ|ϼ˻|ͽX(Ή\\[<} \ <з? *~-H_ ʫ\|X`ke}g}$iqkjm}c׃=ֱkyes]؇w]أ֝ڭگ]{ٳ]ڻջבviwf=6ϏQGJ-s>~ ߧ=٭]$11L->ecY)}S[^?k[A`~?8_ui~g=]oq~uy烞w]>^_~Q 恞m~> >v_/~/R? k@SՁ}^{>~^~{ u!_Q@[7v^3:~[;M=}a ^\q~Q\ `*__)_#-~þM 1W.W_?!Oՙm @HE0a 2 Ԇ@ 'tQc,p(NpA 1 6.Dh@!K 2@XC,p)Nq83Ջ(P0G'8$%0#U% n\xṕ"pΔo"$ 'N|0yg=&/Zfk]װc˞M۸s޻ N\zҥ&H 4(LaHnW tp _} `$z'PT m][0Z `  ~ C1{TP2 $0[1†pTeuffgb0زZ.fܓPF9oIiXr9et`ua]wB!XP1 E`NYLn C0TьygUAZ(!#""ĕnQc tQLn "9xv&`KNҟHA+ fA fC~0Zi%YVkpTvK;آ_F'\gvid,P@& &p/֊0#wA1p/noh`ӾISY@j_7 Mkr3ጦ84Mfj9sʩd=)A? $heBE0p [/ˍz6f,p0\f>ҧϝ,(5A3Ӏj75g*P :'?Sru%jԎS5EfhPW$*VK_ -*}4=GcY#E0n V(sp^*SէJ}*L X&5AS Xթ*T ԥQ=ꐨPV,[L2*k/m!nM{ pKMr:Ѝqu[Xj݁Q{-x7ɖəzW{:W~7;X> ;8 Ջ^Iͥ2hïAJ#6Q|x.q]-^s?c"ƯqF; 3PLeՉXβ_`LjhN6pL:xγ>πMBЈNF;ѐ'MJ[*7N{˞GM곂ԨNWSհgY5F]w^׾6-bN6f3Ύ6mԺڵQrtn{MrNv[`R\ھp; NO;7kXz6k̻ ׮<䡋(OW0gN89˵ r6mY[;c 6lX=Ⱥַ{`Nh_pǺN=uumІ?x]_w_q:t8Tuw^_ߙ!z0=3F_~W=SAΛ>O'}ڋ=sw;ws]}AmlbETcˡz8~~ɣCg?dh||g|W|8ǀ8|'(xW˷|{u'~vk)xW~ Ztkjt'TWuǁ N؄PRT8VXXx۰\؅^ȅMb8a8fU[lx|Ç{G$H{sȇ|v؀qڰ3 `Zإ]bփxryp AXyo'|_XkT M艞 ݰ 8xHH芲PXXXȋ(X(xhȄxdxKȄ Ѝΐ H~BNvqtPQOH8](ʈƸ)Yy ِ 9 ` Q4k8jG0u((Uu2P5i 9ɓ;599 A@i< 9CNiM I9NIDٓXIGɔZ^ɋC9b97 f l!QZe6xEuِ ~~iu ȓɕٕ5iJ铎)\AɔUIɔif陠 >iBiyi隮)y yɘ™T )k i QuPVǃ騎(˱y[G|ȋٙٚYY쩛멞y䉟yi:ʚy *ȉɜY V@ y:Wjxizuȅ@ 署 j1 48 ɣB @=ꟸ:JLH?z М E`ق \/ɚ7ڤhZRC:pJm*)jz8+x:zsvo::6̤rLoIK+{; Һ)uĽ@K? ,! UlKzP8WI ˼ |޺* |Zܻytq\{٥Ne--ҭͨS"I&[>c|?RS7~.9:~a<~<} &y/ 쮋jL}nf\Mc^~Y Fj]fLi ,>1y-nꩾ./N\ݡ~ޫBӾ*i]vdV*nX.ΞΦ깞՞ ..~Ϙ ꨞP N >۟\m~Xʣggi~ N _C??*NC_햒.._ $~&~qz<ʓ>j. LFO?L_DBP_N?FXK_%/WTboY.0o[lʢ jz|U~ZVj/+Oհ0 0{U[Jq?6?Ar[xk|_Ϩ߫ ݺTREǏ__ʿ¿ϑ k_ 9QuQrGG ߍɖџ…XA TC #NXE)2Lh5!E NA(BTqKe^͛Q64VL[hŚ]ZjMZUYnaņZYin<^@s-?ץƚl3p͛-FďFqp3/6Xa!< 2a3s5 ٶՕU@+iz=sjǎ^Rss ֯@x7Y1vn۶u|Sz8Gƹ{>%'~=(:ϳpӏ>oAI' {7dW%iꩨ3Ĵ E[|-f%Z` 扨0VS-"LpHcl/ݪ̲ɉ&'|пv{e=%\E9sqO>kQ>t*ja˩wfTnEYTaRJ34SL5GSXƘaJ5QI%M[uUO9Y+V\sVL;N}uX`AeTdGUTUC gij+8Y> 9`)Jt\\t]n;wzQXo|w_~MUZx`~Uxava#xb%W3n+~mE);e3]Se[]we^^fgZgZh`LCb%餕&FzjjzkaZi}yb[[1Oqc+sֻ:rݚg{ /'RpRT)fr9ܰ_X)=t/]MWSg}uco}viga1 _W4quQ;O= {zf[evvrbTRjwx)-~%O# $P @Ѐk)ҷQCXA?R00 2+Sa F=L }X(FQ>p*B4 8#KTb$BRtb8(Z* 9 R>UHE*,Tc$ QBբ+TBXx"8ʱw#?&;lTd#Czc%ea Q#=HJ< &ȎN~R^a*]zb)RWX*6׎W+e-o)?]җ?f32gH*,5YMl^Sfb>a08-%_f;ͮS) r(`4qַ-q+ Gq#qc;ƱsCqolcX` A2:oވ}`be| \*W2&sdkVs L`!H=r Orun+qC:Ž]c놷h>3UZu;p'\ 7pZoM]jB,Lu"<މ9 W)V9['Ǡv'~q:y sɅ8!q Jx"<r`9T$.W@&mJp`~KMkOKvIryvpw{nb}x=<-Лm>bjcoi;}w>ugUB>}e/(ᛎ/+L+E6擝ǟ߻_z_?gzدo~ 'XtkD v ຼ.7}l}3؃@<@\@l@,K?+<K>xB\kKa<\< [3㿗[Aj;\|Dh\B9C%|@;CTCD'G`?@a`+B3>C]7#B\o{A?9?@94hgP>=>A<|@B90KtW9>ă?D< @-ܛEFp,AIdAJ5K=ܫYNPR[L)Eo)U:W7ЅcT2DBDm,>xg,<S,Aԃ7\>=CBh=H5ăA(Aȃ8lCCD:4&t'u@5w(#cFGId"X\BÂ=E@H I9ăgA,ÔlL H9M><  L_pEaX/2<LeDĽlLL=0LdL&BL|LM<ͰT,E$Ld¥46U/ԅ/7lFM|OdBPgʐ4ͬL: HK4JVJ̬Ѕ\YO Ns@O$Λ#9)BF<@t?M=ST@KDwGs9 س<9N,Q9RRQ4%˔:J90hoLdMERR4ZTބQuϚe⌼aQesNe|ǾWB@Z HeBZ%Ů]BT}½M|ϵ[N5YQu.j[ƉmYTU[|%Vb!`ѭgyXX5M^ bU[;`mQVI 㳴O4K5Qth$)PJ+60EMՅN5κu QUaD`cBv1ZO6eb%aQMM$\4⹥:EzdGYvbl`MO< cL^m>d1]E9Ce.eLacSeAc?6g =sdXFQGF>Tm}H8\œbVfO &A^T^gufh@qSFJCfhHn ӄa Q6hcOu\G#~ehE:Xw֍;re?NJ9̩eZ?|!EQeI*kӶ_vv>I]`A6K[2e4ȱ]LDneiUia*nu߂ud%n&YS$̐$ JtHʊA:8ڔʋ|%i=0BLhϷg ]|i3[T5PiTS\6փږikL惯6PMD}çn.a}оCes}%j4Hs-ԅ|ߥJC-M|pdE \̴==v̴ML}۸=Y囆NCnWPrVhsTET:HR g&vROk(wfe{e>eL]uXvcKe7HVlvjviwT=S6H^n[nWh`1s/=TLU0Nă{U>RWfBx?km' ִg7MX?HLeʼLrO;KnIgѵ`k)OGEnc%r&H q\ewDH q7|wƢ$Ma-x='ߘefuF*{?U[~VR3} H0`B i#ȍ9^G}%ɺYrbW'РB-j(R2])ԨRdӝ-]eBC~$,ɑdƌ3cµ #KnIϊvnڒ>eK06YNzR g.w ,m 7!S]گ~MҦcmڇ<ӛeiނd3Gڴiҧl+kF`%vn_o^bgoaB&;|wl;;Rr5wu "܁EX{Yx!jh!BK~MD-VS.(UYer!A a$ҷd.1vDq- 8ei]]X?y!Bg—aIo!x PbdZrs0(]Ҏ;rɎ;(9)!'ob)Kҹod~Pq*Se<X(Tbh&Q8 馜꺫n*ª)}jvZS* :hYfrr!B* }$n"+,ヒ,/&o%o}*%ўJ ۱G#K0V#e~[Uk& "/} p۽˒0'7AGW ~j OK-T#%hu"u=6e3f="m 6L{m7ż.b;5PUsIYkj8K>lܩA{ /MJQł['z"yGL]^;+;/g6o ~ }wuQϴŒd[TBQ4<}-?6o0UAŃ# P03 sX00xXȣvū hfEAӸ ^p KlXĀt*JLӊeԺ.Yl˳((TQ1+V1Ud\2e9tS;eqp*~5Zs3:(̯0Ѭf6'΋6tGDuѻp *R,J zz()4Qα3A9㍔/8}q/޲CpR) ?S.K)ns! RX)vaН G*pnSA9ҙL1ME{sM'+.ڗk@)RoGeAWvwSC*^ձ}Qjv?|'ܡ YS7*N3Y]U}yDk~jtnx|SO QB᪗o-z쪰wQ?~-Qe)Xώ#jԸW0TUUH>Ubr- UV/#,¸,ٟep[* 療)4T M ;p}adHuY j)-+|` `T &r ~)୑٣՚ `+`1|-aNr -A}!~aA*E!ha]&~B-+ ڠ Rm"&".b"@satbu #"fA@%% ֈ b A"(A./.FN*"&,^W/,""#."/c/ #1F1U2.PZ;LB4!J""6"<##,B|X%ci#:Ң:N#5&;ƣA=2 ?9ui?|Eb"fc<Σ$L ,7crCD,Z$F^d@5Gzd/dP$J$K1$e(#E$!:nlTe@""rGLIWNWeY$ZJ.8CS$@T UZ%VVn<%Y$YdI~H&ZZeP)%SVfl:V`&U^F<_XXa Ehť\NGdjdV&Ubfd;g&`dYiafQC՗>E&-bdeA^;fhhi(x*k.ffl2tt:Vmb'ejVbg w 'izgqy'C:$cF^P`0Ag"iXtgx&y&R82g{2fEX(/fzXJ艦aY!Ԣ|EAV0A`BA*0X2(*%YhyR|5(,&Bvvݽ§dGv%HHna'ڮmjĭt]o{n!t/o/o&pr(Jo&/f,0FrGJn(w0'X,q .K$pp [ ^SSHRnzfP^panjp 0T1LVW-/;10-[1cn90Apv~dg7bly^0x앨R S1<$J/p3ow rV1!O\n樚~*.*, +h)*#22nV.Po?d(/-V)iª)2,Ӳ:j׊.fy/0/g1'gb++v?A@%PAْ%B7o;4D+'9\4(2#AT"t̎% AhJƬRtRA5Ll*t&#p7D[Rt<( u-Uw?%.͖=?u T3ȳLBk,p50xDCf^;n/(X2T]<&XkB`mfC,U5~3Vg/.eevD%6.6cCZ@fe_dbAg gGJuFij1aJ;(dA*v/Vpnn.Av>oBm_1+$^)N9tSuI1xx77qJ^&{g{÷|a*)%2w%~wF"U+=`kWt.Tg8Y.xinךxW)x׷I)?Q=8W2'4tb׃)B8RH9[91%n*yyy6B/4&v6#ohx湞vi\ y+A#k'Or'`B?簞륟s_ۙ"[+5*f0_֍P-/{ghW+5.?{KqR{_ gݠC7{0CXcKu뫎/^[ۯ#A ˆ=={cr/ne{z{#YQB.)0(x_㋢/,xGxĢ<>dAA|ߛ9ʇ3l./ _7v 2{Q7Ē%!*IrJ$G&bذaUW#d֭TPrfL3iִy;yhP?]B%(QJJk+VDzՙDJ#D""v #cLY `K  [`(!s0!^+hRXbBV~US\ thE&]iԩUfkرFʊ]v Xd($*RxbĊ;,2H/k,|={7>+QNS%_zUk{ 2 $ \pA%lB$zh+;/(SŔ]^̲N]H]DO=܃O>g+" $@#lA$8 J9,Ll? qďJ/W|L)2r%Jf5|?H)eYhYDp6 Db,N ={("8|Ԋ8(gS*;lӔԚT6O<193= tr0а0I+-7-QB]V1aZHQF7]FAYb2sOYEV\uч 2JWYLߴVSDY΢=iET̴[p%7sTV EwUT^|ї_ ` 6af}6fhk|QHeyx嗉\te՘iw- 5#IeŔ?ROvIk^;7ՙz=z6 \&M4J)#PJs0ë~:lFQNmPgTRR\ܙŖoa ƌqK陋p7QEڊ{Aj``zH9ScX~SH<}rF/e@%f=j &"y'x䕗L\Q VHnb0dQt-V5 h|yW! w&IN~E,1 w#*X"?,*j$ [mAtIx(M | 6 ^6z۠pv ԐbOx+l c80$a(DЍqJ"hy*㕮;F \nxB lc)v0Q"d@G}!0N`-zBw2^;)FSȂ3*W vızsEMG= I9^ Iȡ2l w#DR}%-y`R'C9RPeZXBKnKѝBe;]a ~h2yd?tkuG){ABC#Z>ܰ7<F@8t %Qk@ (`.l1Y|suׄ1W*i\粄Zz޳G PԠ@BHB@ ѝ5Q-КؤJ*/5%Ag9T<'~r?g^mԟCJ1'<Q-d! dP.t! Y[>o@("6C`LzdJJɎ. 6d! =PXPp @C<[U O5-G {.d+{njhѠJ]jj ,@ɋVo+s1ָU.s[FuuiW ; i:8|?/, gp2b @K@1Tb31" X#IGN{4'G1S2 rP5TzM_X堔y/;J] žxsD'ё>S2/=H]'3; (qkz2x=Ku{^y|n]Z؈7Mc0pu`@m:MOW 5K>ȟ,ybv.m)fE_ћAxxGZ޿=ګ=_ o [zP!la W^Pj"OA@ pNɔg o/.ml#܌ΪoU:OpA 2/p 1ee? D]NpoN  0 -6.spP  !o ɐ* HP) Mg0 0 @.pHf3/P - QP$ܸO"1&Qp !p 6 `GpqtA@ uҌ c ̐bmq@mP@ ]( QːQ61k%Jpoqc8D> qQ G3_( COf@@C uA 'Xj!z! 0"6Q#i<Q@!z/(j\[R`ReaP rwrc+$q&%5c 1 e*Ӧ2IR+2Rm.܁( q m2-߰)o'E daTp$7q)3j !FV!03"Sz2c233<.r0Fӓ|4M.2B,RnC $9nn sV4:91k1}2 2*3Vlk  o;73'9uRA!ԤpAs3(N?iN,CC1CrC t"B>+1 soЅFB SeP CotAQ3aDGCL7YA\1$]][S۾"[6` @CM\ɕ\k_$kVk$H"<b,~ h#  P`ea 7D b |'9 (I U"g! Zn `  a` j6gǠfjvl%o""@iAIbfcOc-d`ddQVeYeaVfifgUgg6h@mvcdW2nqiǥ2lj@`kkvlw tlWk3Cq`2YxVlx@Xbx v\ FmBz d7W N"B o9A ǀgȀ , h` w  7vgm%{K JZrWAV Uxy@ym yUzQz Wo{|,)jח6gq7xm7f0؄ HwC^h.6^bt6 ,wkayF Fa 6x B98nAttꮁf a`z @u7rU0=gVG‰X 7̊ "ź?8ԲwFh8.K\jg8 {֏mn]~&7uQYܨ %pWsW l;4,kn\Vlr!&bW9O_tOcHX׹,ܸf0l;#u{@u;wz|0LAO$a_]G qbnw:Fz8WxM څ1ӻ>CI3 ˿{9ks R\h\i<|zLT0hwכO{oP[@HyOҜ҇j "x5V=Ԩxuyzu6x@ y ڶ Wx E}}oĵ682Yh{zEٟBl v |~?'~_ _n?#+CCQ )eYHb9M kK_O Rńv 8`l^yxB,wr0… :|ĉ!Z\z%H"!{1 H,?0%42e tNd%L\\BS e(HUʕ$I߮`gK0(Qښ 9&0.ѤKcBp 0SPI$=h1B3 n5XZl"+7vWdɓDRl2̚73м{2uJHԩU9g5XfѪeŤFֽ˄J GNyu Y2e˘hv3$G>]k HE( ;V0I=,F`@AX`"*,VD2@ iV_#,BZKmeEl#D\NX0XĔ}fb"Rx^;"fA5<~;|KC6 y0"AHZnᇌ4b'f/8#5ޘ]Db$mЖrNDDDx9-qe[v`CtN<^"ykr&Fxg 82TGKڑqT8({OJd;*gV5-C, /ZD1ҪUnoQHOcR]U\yuhd"j]kml!E8.nìn[/WoKl.Q3 1*qGX cX"-f7Fqoox<} ȪE.v/) 6$Ƶy/"3S NB |w\Ʈ°k` c%_qNtÏ<!r:1MDl15XhGy-rqՄ瓰.nJhV3pDG_Nv c ;ӧsO+cA Bfę:eM0^" dwIbU\#11E0E9[Kjգv1xryS*0/T&aV7PG 2]OWSwuE}ImLSթVwLVhǯoO2.'GXEl][׹ 5˼Exj(ehWDHf0W=ĺQ8dXa]%HV4pyHI̜k:1ijZn\f6w[?uGXem{p$6gqҘW{bwO+gDA8,G_`'Yʅ 8Xg=˟9s`Eiu׾eW8"N#񣕵s܁f;j(la kÄbۇ!L^J_N,v1(c W-1p<>tY̖ch5!xYE>1605R ]hƆ+muFsٙ +3V< E}Af㗝oC6[bYJ4lކYFG cvoA n`p[Vӎ)NGTm7;.6 ,6hb/%T}3ddF\g#2 VOA?3q_tǷSw5ocrX 3ym#x%.; !z4[ [R .Lk3X{]@vvZ>.nQUԫ;(R@ [֙ik{ :ѯ/|['@v$7ɿ*0yZv"_Kԯ}ګ~tT|Ǘ{' a2%p QP({. /wXWqy33$ed @ GK  fa g501W{z[Du;7hS- .@xQ9X}!xz@D+؂/uO4P7x6 ;O.sGF#0Ed[A]L78 ؆?7hVHV' `g8 {scxGЁ3_k D2PX AP 6-8| o`/ qψ}&'V vRz$uG @|e|8tF8\Sk8G G | \׌6uhxz؍Bo(7:o~ _VRV6q I|EKv8eWF! ) zhLxJIV@_P1jٵ ?-֑H9' K pzVGT_ [ٓx'8E' 8"ɃhMPysTIWiȗ]i _)h99ȶ xIIN bĐ iizVw ◥-F>EM "h$ WpGLG:98H!cWY I?YɝpyٜAЩEy6 p z4iɆ̉Ι-)wF oF  p)E]ٟC>''ÛpIɃ lGz  Az-ڞr$ V XwMPά|נQU-xRڣ\էձ-۳M۵m۷_ ۹۽}۰2<Yڥ ݣ-a@Շ}f@ٝژLݥ$ )ӛBM%mڮm70m} .Nn}V  .n ٍ3 le1wFB0 )?]M@~ANC>**H~JN* SNUVY^QZ>\4M.MJ^EknLeL.A~Fnl~Fztn=v40PPO:oPfQo(-oaan~NNJmRS^U^H붎빎,P..ǎN쿎^8* ^R~>^Q.]~嫞qm,::0(BylZnlp A-KN.ͮ``"?O o"(/#,')o;O?A??'GI,N,aSOh$-A @lKn5D60>/sO`v_yu }?xi9onOo?%?__P,5`+M$cY}.CO0P//OǯO0ԯo-oq e!u]o M0X]Iᢆ Y,PB _"C-C;Vq#F/B($I/QbL&mv'M.A%Ɠ5YnDZ2cF"kP!^UjC]~/Zȁ6m;Z,`f˕^}X 6LXbƍ,]1b̸yU8`+5ItĞ+':'J&{);7u&jͧǭz6pAa~}Jݳ|}Ʊ/7˖-Z .iG/vC0CLA\&Ldlh3 71֞mb'k)%g\Nlq&v+Ψb'i4E{l|8LیDc,I 9*BOZ!3AN;#,0 =p |(ۢCNHl ?$tRbQʛaR oQG?%*TEH=K`M#Zm< u.(C;X+i)2U\)xE+$9)7]$̅>/PCUPA AjبD){"NahTuhDF^}|U_gAbRᠤ&dSc}e|eeׇsR'nLko-^/\+qU\t0<ߑ]?9CҘwEYMylbi|CQsT؎dd[WmUT:;T" V\BUG/bu[YiۮL[oٔky:v=v kw=ݺp!w['WEMz&^81fnjej`y G )Wd̟G~VǥP|ӈ7$p~? ׼ls{1@ ZZ`uҋ;2 0$?mCH Ose320Ј3X(D.P:R8~ @(,B& '+I#ɦDF~҈&Ҹa)QV=!?б63smHAّ LX,bĦ,!*seet0t&0N,%wB瑱g(%\`2?M&1 Ef1Md5ۦ{/h-{ZT6sCeb bF,LDAܰi8~Q2ܠG֞et" .2K'[TfB3(Tf|C1MTh'F ̺Sb0Sa)ھ@oa*STql HmBE/e|s>d xFe$zY3)0#dHQ\INܣhh1],gɴ11vi;Iw:Rɱd HQSU8$d6%/b %zJYH dxƅ> nm Gk2*spKAB2Twp 1hBbom*<~AKǶhc ҡG"jAJc9VAupCnMCO%9 l%Ld{&HECu"@.اD5"tD~ 7NqQ_cx6g~+D:zmm\(3P$ۤLFBrcHMPKF}vclLJ+XZޏ4F06v#Zk9,H,!EXQ`* |Q[@zU5YpU^5{de96P]#4-hKO8@%l]TKg)asp4o)iJ4coԦ LJX@3VmI;#8J;Άa 8}02x30 by$GFK)MZ4.mpy1˓ٻpxNe|YY6Ռ)mQhv<(% YA›Eq /wSRLVtޝB }W 5 #S=4swŃy'E~җ`5_iFUߍ+߂p΅g,-8();JGKܥ߁ ׀eLYG$f7w⒙=hx`_"JXF^ HS8;KJBwٴe^0B;L 7G(:ף`<#1U(JcI 'P?3,[qA@ {AAU,;A, 3¾:Œx0Ck? ?++DĿx9c?B=-4T*ACl|9jq@7= >?CAjthh (!wc0KB$L½<%'Щ<8|64ER<*8${TE9t@@>?D^ _^\_D+cDbefkyF?9@sD!FH9$,DEEA DaE`GwEadvGj!|G| A|G}TƁLƂ4H-Tae:5VdS8EF=iF%RBK@]>TioTN=V-RjgTRD\' Y+ՙ.] yZp4_5L:MP ONTjV>XUieXaeE$։hm!wuc]WeٓUėm }ٕ-ٙ=׎VhTuF\/W+һ WY`UZ|3 `_UؓUYMϰEL]YYm۲]ّYՖۘMۛeYk[T۳-Yܸۑ=[H[lUTuQAU8]lYoXr\Ԕ}p'b@Z7Z|--RZ0[XZ`7~]aW%5ᅋb]]^]^m^ޝ^ ^}=n]U0V0a0a0T8V^=_)(]^,m)]9ic YՀ_P| ]7 ޅ &aWY8]W^aVaF FnT(Yha6W8Ra F$V%f&v%` `b\`;`~U^`yЅX3b4ƅ5f6v789:cX<=>^c>?c<d6dB&;^cS V GH&W`BKLMNd}cPN3>c,b-ԭ~Z>ˋ 0Ywx[]^_`a&b6f_`yPfd]eN]Ngefgfjj~ffe^QP_b5g_`UlcvwxyzwIXWOhLj iTVv`v臆舖艦芶hVӍ鐖 [Tx}eRiɸ虦隶霮T~hhՂb.4@jVfv꧆ꨖꩦvjRQ T^miR^e6FV봦nk^,ku9vZvWRXS8U0]ޅl~H6!FQh&l&6FVvmhT X]mɖt~զ&UݾȆn?8v0n`R?plSnV@zQmUh݅R8lFofDp~XlSmUUR A Qɾ>l]Yppg / q% NqpuWhQHG$Wqr D,-..?%sM4W5g6#W]#9ghձ^^f]?@A'B7CGDWtCurtH0EKLMׅee[gL9rp )wJ05h` [u ^_^^v c7dGbgvbwdf`u\]vklm[pvnv^ow\t'w]v^^xx?P{w{w|~x~}'7\Ws^ uxs ڑ JpWHu8ku avo?ywy @y Hyyy_ygO'zy_y\Wz_Wkzm]{u'xw|{zuu{`{s((fZU0fv`h8ulGy?yz_}wׇؗ٧g_zOs77z'|c7~WgGwvG7|? ?_XbRooYvHoywzħzPa` Lp!Æ 5 XA"Ċ/Z#ǍJt(r$ɒ:Dhr%K*La„3i:0yܹ˕ZF"Mt)ӦNB*ֿVNͪu+׮Ps ̒mAJ@A$ň=jȫF};7#Nlpὄ2~p%+q֌b̙iBIvL-Bzͭ{ԫWy.)\ag5QVyK@Aς_Ϭ};1WϣO~=g5s[Y Up(oVZ N/VZ tE^fxyq8"x+Ȣ)¨b.-Ƙ;6XbAG7b"SRY-Kmᶠ ՘gYqDМ1@mJ8xw.hwX 袏(J茗N'f韇&j䔆z!lp_lmYnece;s @'')6ڨ:۩R[bSn B1ȢSO[j q喜,B*B*#xppl0/ clp+c1"{@q'\1|&w3,l0""  _PaR:T⎽0`atF!*Lqk۬%7ir @D0J:Ue;S`Y[Dˎ7]xssq[gv?7;\-kO},.>S8G|<ڳ硇NB.?JvN _"Nz( {6.W5 m[w8A|sƶaoy 1Bʱ!h=..zӛ²эapȠ1G1~s,_ F̚]$pa!y?$St2d%Ŵx 8'PJN\j ׀Hj?D ļY?,sX@Gf0͌9VW"S:Uo 8k^ ³8=@r pHS b W N@+<|t\Hn\NmjrKޑhI}@Kr j"p2f$h@-u E\Wpp:ҹkej^W{%:Y8|_98pFG@1 x Ejm0 `,^\bsg:+bzxO bEILDM`.FFFZT̓d9LP.#,F.Z Z^T+$:C!T7][1=nT-R4Ab56ZMUeV6VR&T| dl&K%hZI݈&-bTݐ+#Ϙ dkJJejf1RrQؠ85eLtFܩ^fopbvzEGb֌(njʫ!K)yT8'nzaM|{g~ʧ~"&٧B~'z|gz6ezrΐ 8& Tg]bq'TXf*ET;C(JYHFDM$˨It΃6e(|gh֨樏r&MShOτ uZ)Blh#vS|h&Es \$ajL|x,I$B_5֏~KyΩ4#Ϟi **igi"RSzN f*cnS>|@"EienJ˜)D^@}ʩJ֥jj*j꯺*9IT:+)Ag2k5B_r+"kk tyikX)u|@,J`dꗪ'=.KĬRIHOcS.l25&&,Ħ+ŖӮ^z,vnf*챒Ȋl>V訆 B.xI/`MQʚ,BHVVl`*BmJ2Țl՞lłb,R:~m>&~ ü2UӤj~E<-@t<jHn"n*2nNb`)*t/-B,*m-ʓ-BH,JɩnҮtN xf.PRhk-:̂-..-<|PRoZ&.d@BͶ~l .Vvon0B*,Ȃ, Coop p0)00p;0C*(0?p[cpg0/ƆƂ+QTP.0.B0- ppq B** C+(3q+)KSq[0 BD,ІҔo, mU;؂s?3??s@t;(+BB3+@S4@W@[tFcFFw4Gs:9nQ tLLL4MMtNM4:q)BQ,*ЃOCSKNG5UOO[uVcJ4osWuS(*))0[BuBZ)*9^gW_B;)5[#[a/``C6tdSv(*\+v['v[u;Tvidvj#E.(.ug/?Bkj㶗vn6=( *ĵBB)o6o+rSA3,)P**o)Br;7ouws.BQ-6Y?(Ro7x+woQ7nw}}w~~ww4y55{ x3;xC;iw T3:xxxx.tB7tǸBDs(_9w:%@t؀8@:MHSz[czks:{zz}Ak:O:}zsz_@ʪzzkzLt".ȃ&;^eRMX\`;:Cx|L@;{˻{;{}<{{z+G|8c|k{{og{ȣ;|C<KS|}ۇ}dgΣA/抳'ps=0`{7GD纩z_؋ד}ؗ؛}ڣڟ}뻼{={W|ί:ͯ=ן:Gg{_=jo|̻<<΋Λ~N;oQB8=(g;O=ǻ;:ͻ|?#'߇?~|ʫʷ}|‡;{Ss˛K||}~ī~~Ά-84@8P`-&TaC!F1W.z(и@0$40L@eK \̕6eRgO'ynZs'MF֌hSOF2fպ5î[hŲ5]\MTm[|;n]h+qc_@$T1VjOG>,9Æ`bj3ʛ'UXOs.sԯ{vUm 4gZ?duಾ]EwGwtݬ.~)rq[-u{|~ ?J >~E9J 9L: QąŖI$& t f=mFrl}QHt!AHRʔܱF'D2'i*l2,rK) \G&l0%A_g`pEp=>PfE#V\q020+2J1'JtR-#R.4T*;S0%.?rTW3R4S=U%E%uG[M69o]<+eg˥tA4EYZK o Wq-sE]XYTwyQ^V1}uA~ 6c2KOh nق^iy'v0u1X㍽T E.yMdѥ.WW|4AM|+e>Z8^lVEKz1M$AFUzkze{J>llκmYOq+Ew?\qu8bSJI3n{dүvQQ:מ=uWRvOMw&<9]l ^mzCEasM}a>vG>/5vŖ}~u{x}f!d%nh T xqGrO["-d,?,>v_ l0eSRn QpP4LP? /p2@%Yd"ҋYb^N Cx0] @.o}9T 8kY0޵aćÑ(4L(= 'f#pzDLBkab,Ge(2RֺXa taCtI2;w>? H$^܀Xⓠ#(>pzc'`I2 !cgE[z`G+$-wBt$4h<".OQ6'usr8QfH xk>FH <[)vwX+c $@(Zֶ~ wÚudʸOR`u */scD.3(XiL5.:`>fX$Xi1ci?GDNgq}7֑սFuU'صw K) {>66zJU1 4RYz)^%+HJEƏv!+2[ 05,l˕}'|[]YOHN,+R@J;R$ 2s!nlMk*4ʰ;G1j;RFٝc2K=niVt8yĪ`iXް]+ح}ʗ*C^-5n׎,Mgm@z ݚch%5 .K۵ڙկUHuyV$oAnbmqs >6QREvwIqmTv> j2 `k'*dQq3 swǗ{V"Ht\'>`Pc`lgFg榕SG#b9\/kOi+E54s  <<; Xu! wI mKD^Ϋ@\_0|e;%BdyM1 2_FO.(%9Uqu­/(i}2 v:.agged]U?/^q;[_ /fuoռg:,RfoȈ ')(.i@Σ0coLvk'lSȖROkBObk8gsB*h 4to>lINh. CiPnbShIdi k̖HG `\p֧G{&J0sxӠ0","/&|c闺 m{i~| edhJzGfpIЈ:ƔǪO"eq":i obN%GaldFѬD߄11łq跚w:hvkڪhHg퐰1g4M&%"2E%$S ҬQ0 $!+L0r##B&c [0Y$B#'1& 2%߀1r&([o:"1)bP с%dJ+R(rRfrEG!"r!+*CR"1.rk2$k[R!g${j S" & $ o|*xg;%) 5sE9 n"*Ӯ%+S,ҧ\1!X3is-1Mh6'+)7s87(T3-55{$#R6 _55!9!:g(+,;; < %Q`D3Q|W>b:YUQxz@ >}?,@A:!A:'B 1(C'Ag?C+DGxH4x,M2Gt;M;;I2ÓB`8F!l C43H+WS?oCAD EQԑHvFdltxIJOIFtLJCpK@4 IO4IttM4rEaEI2IP;!Nd!``)u SGC/l @43ᜠHA~ePTǔTklTNWuLLTYTVq5h OVO_UO2W]U2gP gNÒ"U!&RZ sS +fiT]UWt]UEULUUUU^u^]X^_qF[tPP5NQ(q[sb)`B\U+M$D]_wYt`U_QVXeu^S`Yve5fwuf_fueߕEY}^AQ!f"16[u"㓀Ra+F8\gVe6UamVf]gӖg 6]_5nnqg˶`pYF6i}aiNx!b1C.qM$vAX^s||!tGWtEtMtQwuSuYwuU7u_ugtkuewcvuwout}7wy7xwwxvxxGwu;p)+iCrZa.` jH v])Jk g4qͥG%׹4e`—0w!# 3FsTCQTk1\c}A|q-a EJ4mk/~1^ @І^c=5|A{@GE T*WԫJi r cX 2 YQ,2λT7?pqRr%+^ΔFcqȂeO,4Y5Pm*6Yi_*5Am֧w^97;>vf[o)AI w_Y ع/3/TN]`δ~sow{eϽ~ 7H-ZT"F0^Q3\ !*!߂&2֚F蘼(NS+\! 0aΆCa*9w!Вs!\Y  ԧNuL#WַQ\`<5FQ]TCPOt۫g?f`"A5w[3 ɘ8f09sd0p B8Bg!~(<28  Ё570}-(1(1Ђ1181؂(('.چ77ng+{J7HSgW[؅Z Pgx0`*4 2G8v>%kPw}%}#&p}+C"+( 1`17'hG{#DFx+ PR8@X`@Sȅ @pb8Ќ͸Ј qY7s/}$%(,h0(2..H580Љ&_0_e`bWgqd ` V؊T[ȅ9ihYe# 0`Y~[ RppK}{(~(}+>.C-H"C` .(/P;h<q0gq7DxW ` 7 ha\  H_ 9 _ ) &p -u1q_wvpPi "4x//X8X:^&PbIiw [ȖXR py7 JRWYY +ɝ p 39 PVQ0WzgYpX9 (MقOi >2( :%ƙ`SgМp7j{W/p  0 p 0 P w  P @HZ( y )` ﰗ  PIYp G|ɝ Y k/[uwHwlpQ Z`''j{h:(yĹ;j'У&PZ9LfX YpI:Cf)/I!0 yy 0 pV8[8晋"I&IݰZ X7e Ujְ ^zG p 2Q3ɚvٚipU }o4$['r ]+@%@.J4K?j& fyYu7{7%[A]G]`iwQ Ӏ$@ fb8u  ݀ٯ vk܀ pB XHXM7 w 0|9 "b+/'4Tpp"ɇx(/J`\#w~K?_K+'Ar[:= !!0㗼$@ rV0t0f52J8 ` ݀t9+S((a  {g 萦܊{݀ @ Ҡ8OSSWVe<7qLPp'܁}hi؛혉9h`~˕qq?pPK*썡'()8樂H9>H?~TV[t8à8\^XijL ń;W8 F٠ pmZtLjex 7E`e/$4kɹ##x–0قH2xj9 ?|7|CwʜkL#C@  3l<7]IzG<ŤcΉ Y(ǁ)̑鞈 wSBhǮ@l` \'j,I*>3}?}+" ~W|<+͎ )9 'b5?q}ë}P ˲L2͈#p4-- 0mÿʣ|7&?2qH2 p97&# d  ʅzjwlיXHgAa&%-2̂(V\3,V> 41ެ頯^_a-{| ^,4. cG@+%'P\iF{mK?RX0 zY`Z0Gwlc%X` c GpDoh*sBGt@8U?g+ i Pܰqzpw 0 Yz ) Gyܩ& ? @ ׀ ܺu[Wp=d=uŊB)a`"fT-ZD"YI)Ocْedb #&M9qӋ2Aɘ1J)i(4MӦgpiQf~ Wa{ufP/YX*q岽JT ѭf͒O@RYòbI˱hBEye̳FU6#Hnj#&]zbюiժaaÖthѦuvot'.pY<9s.gTIkpٵo]{ŏ%Ni&g~ht)&_}{:?OO4@$C !<-n &9pC;H$DLD[PD;rDI]$*OQ&2o+L1&OOUz&ӰlRG.K諾nsF2T06) "$p$@:@NO@8b Mʨ(j .cRjXP:NC& UTSSUuUV[uUXcSUQ^xe#f "KG:qM@MfN;` jv[햂opu[tMqeW]r]\=s7з *Р 0-.% Ra S#G}ꩇ~QG|:cCydK6dE^e4b棐 d|vN<v Nh@i`N zkzk`l+Up“1ԐB1KgNՆzo{48}gW\qkX||qG^,|9Os=Kp=guYek2ų"Ygxc "nF/@ >  ^zz釧>瓖:v>z>?~} .0l-P pL0mGi07u##675q>!cӸ\.=@C>J nPt;]P:׍bl,&zl h ^Җ'OZK_hEeQX Ԟx-jPKf]P7EuI0bo T=>V8Qt3d!7B"3$NֽnaͺD!ƄFS)&myvRJXE` @ $c 6>nxXGܱ?S`1Hs.a ] `h`pg>Ad9/ILjr-E<❄6.Pv Y*H`U~ԥLV |/~5%#&l5Q&Mm摛{=6C>),{>N 8\Z?ZzlqZCFB2:l%2Lݤ|gPLhD#dسYefYU%-ڎzZ]m 0ln{jf)fB8.urM^:7D ['^v}!Qi:?I/fntT$ghQ H;|X QaG~y  $']z:'{[{iBڹG&޳߁9C3AHCCvW{+^w|{]W,N{azH]<99s:9T(]b 3 [`C8  ABB*ָ2ظ2G H|DIDJDKDLDMDNFdQ̭wLxU__ `&W(`W H.ԍW߀cI%/1.;a&a68Na^an(Ȃ6a),paa6H b>aOȂ.OCF1I,͑;b0L^RT@b0c18/FCcjk8c9Y(c<6c=&=4cX0bHSzB-3t2 XT KdL /(.8HQ&) dX@R+݊)UeJe_f`^6]Qikhg~6dh bfaaeQ,4R؄+S+*gq\0Zgjzg`wQ4,+HNh~ EY2qDGg~F nVE j Ȍ)Odn+.H6Õ~d&,A\CJ~ jpp%8p \Au+cl jst(k.kp@pxXfNptHptx~.KZ]/cd)i!!^͎Fφ@>fmD +jwjf#҆6tގqq qwwPfnwhvvVv랇vvnf`0dD- l~iNdAʮlh !lxp@Nm8 gm ȟv~=dlH>prqonsF]@vn׆pqsnvhn[HU_E=Ƶ *i~ s>s4/m5?sl~^>m p8+* 74j87GnHnItIJtnfrvXO7HP ihTr:S H%0젖lVXxl s>< 6P@hQ..EBϳR8i(ɨEGnqwhrwqJq膇ph0%bnQOLP8P[=V7-9p6,)0`XO0졞s9hv8vFm OmԦpծsmnpw.wP)N! u w70HfɐYzwnKttwxpxLM&XuOx汇h3L:|ɯ N90gS^/NM u!h@jG %[hmv<@~ 80(ȂS~.صבRpCg!Sa(Vvt榅qwxqpoZ`cWuS萞uBBLhv#Qt$ʔ*Wl2ֿ2ci&Μ:w .l J4hPOW^b3f6)˗1;Hڕ+ %^@ hמ0ܸr/`0QC e/k4$Ռ2dX*Rdelt3h*4(KYk&EMXh /aɂ ]ʗלvЧ'\Wau!*Vȋ`1#V-Yt&Jnh9% ęV?L36gd[Hqp`K !0#x zH:(!`khWq`х's!D9X`AP9`D lgx_c؉k1OC!p! ]iaX%`i q(؁h7K&Nk̲瞡L: :Z98 /̤Bڋ*5-p w)D7 L1P4JE]$L/DZihj.jh:gR8G'0HSMyVm*6UUIpnɡ 1C C 0/ 0@jp2Xmba +U: 7`ZnqW/pn@/ K׾YEz63#4C tqI;!\sIZ)rִdW2o` 9dM9٠cΈF'Ic\s5x3)9sKR2NF " ¹~>q֋oڛj Be [oιVH!a8LJj6=昣K34=}C;sQn3᫴m ~c vH:ݸE'gp^RdH&4Lx! >A >0^ ! !P<7̗ |P:-'V lVD S׆ Cܠ a @@Dx؁xA3@FW:9:,6RZ"b+-a;q. |pM8(X?ݰ5)bTkh6I-id8w袕(vxbGPOӉH0H X3 g5p'3Gx+tYyuN0X^"O(D& -s]˼Uωs3^DE-p9C׺Mhaz Dd"HXgt3f>45mC$$!E.&)gq;_1%J`3 ^;,488:q!TRЋ"X<vwb=w@(@k=| >Fࠣh @@H ;`5s5XA |t6mfAN*-bTYRՌE6|嫠}CPIN'݁iBC ,FvdCE9u@խxATEm,;J.JW%rP9N>7ˍ]$c<\NA Lh^ BܹxzXs(h 'P CR׺䉂yJt(%Xp@ ΐ F f(i! Df{+q@#Pݐ@6PM3?T(DJpE9z5,idn*Tc꾧2G/Dk0c*W gH,F*VԠK6J=Y-v⊍   m(`) HP_c ⷨzgZ2p[3Dy52Oa8xE:ݍpcpN]umln3y#SH(vW#|2q.{9vީxozȣ%/?@:’v%;M\E c@c%pYf'\8: Spk ֶvt`#`9˻r-̦y\x3eIЛ6bZ`;ۊ# ^-#o?͉~>}o|bOE4o 1rwc~p7s'ѬԲZSYcW)<+AOZp4"HS;bSd aOp UxO|kU¢ORt2&9;¯f?b85TпA RCU/IB 8D|P. J8h/`3pEm`2 z lKxl@H ]]MAX^ PnDW̚! G)TX4T5kPCN|X~O͈!f 2lTtQE`A!B|B~GG\}4".bXTXLA8 Apa(REa"))"*("++","U)΢ !!Z#IĜ,K4x3j 4fh3>c5z 5R4f6vc7j5 .#$H;;<##>>#??@?$$ (B2h ʘ".00C2>C2H?$?:I=IdJ$J:ФMΤL$NM$OOdPP %NKڃR.e>G89PE(<|>>f>܃hhjig~jifil&nfifnfho'ph=gkfE9%tutZgu၀U#>NWze^\'zg I$p$d|'}gL|e~ggge}>hX@"&bވ @EVo]= Jk¦m5'hkC5Dj/샌mhb&m=4&?FÊhl&rf'E\=a h >'XB}盾g)Bʩi)Υg̥HZ(vHlhE/j͘BgdL*%h:imFhl:Fij*q"'EV9_tfb'^v&i>'X%[\ҩp (&k*zR+\\aȍ(j2J]j"fm>(P4hmj:jr jj:RE%[Z~&zr @|v @8ɢ.p,z*a獈ZB !q(ȥeJ֤=+@/+>=jhD/(/f?L44C4HCjVA5C/0Fƪު)l.NÞ)>&x``*gF.aNn-oΦԦj./6*&J-m2W рC/T@x/,+o,/o*̮p/H""mVgkmg/jb{0g0 .ĜtN /nY%aw0 1g#w{B1- x߆mJN`odtʧ111.y<>T0uŽ 2!!2"'"2(O#%W%_2&g&o2'w/12)(Gr*2z+2,Dz,2-ײ-2..2//20031132'2/3373?(4O35OZC*6o37'V3885gs73:3jD8;Ks<:;3>5=?AqĄ'B3,CnC-CODWtC["?,x,0äBL<*6'?{ @CAMD\LA'@NׄLSDDu L]RAMD>3>FGID1D(-,IBLJ$CLIJDŽ?JHD/C]LCUcsc``HC/BLLgt}3NRۄAL@4ωKPALA?lBjItL'up܄uDn}ALoCvR'uqroKu[#`Z0a?B,`BJau,((RhdBL{?}D~)p6zv gtvd_&Ȅ'XDd״Mv$5kpU FRHjL趈DcXk7ȥ5G'b#IL1JDC\zFd?D}xB3?c 6FLWyx5K?|C'iusviyz /:?:D<3:W:h;Ml !NXċ< V'?zMxt&tjjzGM$K0D-$D5J9KPdKKHBGB{,ijD5WT 4dzLDO{tX n#&ATuLvtN'n|Mp߄ MLK൴ww0'?9Jt4,xLt}DgKJxKI-BUZc.B1L93;MAl:v\RR ҩ-1xK38$S2IL'N*l.J,$Sd0@OMSF/FʏqdY%eFeeyyAlnyzAy zzo^^l&ڳ8chKwί3ZЂ%0UxW#_ Od9 "РSin2(uT B20d`6( c.vݦL!M~j8Oʞ׾,k&@l|P =="!'4HHS!|Qy0k̐G5mZղԦ/,@ĉnJIIo $ ,NetH?ZY #,'^Or$!IAI ˆ agbL,1x  ! :9G+-=ieqL4XMoqL^D:TW6=: }vdNԈJ CE(D&*-'YK\ l!%'ρ?JK~-5|9q c@<;Re6KK̞8:,)RzӤM6ɖs:[j_0R0A|$TV AjԪMjVs0^RTFiȍԣDw]ay┙2Q"pDWT4Ll{TzS*\Aj=|Njlex,3B4*T4(v!VzʬzlGK@"2IMͥ3eֈS͠K,,${Ғ5fM,00د=(P%HSg#gچ>0ZE\i![梴 װ$ bq,Dui ͶaFwVՈekn-K9w$ 7 Eʱ;#)I[{W#ƫұds7ԢmIVNN%w XU(܄%l>l9톉[vim %(x'F1a!Q^UyY!䏟O rt b\Us߼.n/=+߄)R:Ä}WЍB/zө^;0윁;|-=1C`qDlpOGkzZt8ީwZN|Hۙ5yL'~ uaÈeޫ{PտN[}˄b=qWF9Pakb0-FkxBj]_7mn~0% l1[x[u( p( Pu~q^!t(S:E|N d O !Y[cY -k_P[oPm@( mE, m. "OTO1!zraph [ _ ap _g prpAjK*涘L =@f(<ԀIL.3Q7@ @GE1 >SQW)< K'< nhxzAQHq!1RrA!1q1QSXEzS60 ' !R! 6 `"+"# 8 rR!CR$G,d 5Q!p %#EL&k&o's2'?AtBA(ga(2FA|a)u))ar%UMR+ע+2'Le: #r"R-Ւ @ +,.Rݢ m/s.% s01etAFA(#S2's2GaN!03r34Q+G  `--OS J bw>4W AS7Yt(S2G|Sv9+B4o6 "` `,4 @;BԒS[?88 (2rA#0>RCAw5>TbC( 2 t`B`^FG`V& "=b[@/D+<=t>C?!x0#0F/5S @@nD`4F[N^ OOH@$) LA4Ft/&R/!J7UJ8JJӁToAEX$0N>4Q ,N%UpjVmNNIO{b XWa \`PDvaG NEk9@ruNg@<:4`d`|DUm`P p96 Rje"6!f7USe6Ju<\vؖx6F!owdwik֡, CU[؃j@NFTOv> mK@vXl_ :`nQ zX!o5pOL~ !qbN$f9~=ta]wsÁu{`hahva؁l!jg}j'@p4txJWXb+vXuzax_8cŗ|6@mCiZ7H7x&>~]MgA}X؊gxvgvkWׁPO|5xMXambcW#-V)VY6pw˷R- [%yXJsgX3hvx2,Fw; ` BkN`n @v<@nzu:Xϖxp9VMx Ҁ@;!  }Aa!S]QWxឡߡhYh7E@faAw=tos :: xk ~naW@wX9:$:`c9ML9 Ҡ` }UJt*4R\a ۡȡga{Vat̡hŁ vCY)ڢg(2OUr ` 0")kN{X!amX |kXY5W  q=038)Saىظ}xX#ذ%p,Z2A̸_C4#`5`6;F۸aԆ{+vq8cS;Yp_[i" pjz<{;S2oVs:w/y+܊Vx?= R:; . 4[gEMp`9a@|:Zn@W<{vY{` --W" r[A99{3Da~Sa1wa(gAZ]uguz6Z`t!!@ׁ1{2w3誥 {_1 @ @Di9na;`اPdd @w:@p@1 ~#3-|- `r6՝]w%OA(!SA!Ρ\ugE.t AAA6+v:|(XrBI2LaB /B $O|S`1FzlzUjR!µ>yjn֎kaMJo,q&Дt:8,plsF!MuD)vh;D8aF{A^A0ja$(a/L_8F5ĸ,P!E6MaNsZ>} W?O 80)HJ .XdS^ tз!LBO GG:'M :>nSŌWEẍ́fOZ u0GOlc@?&8 r Z.D u:sì'[5q…94z%^OuT:0-AZ0Z!p@@A0@ $b!T p! tUo "@o=@X1>Q:$ R# r9&2wy濠; ZC8 A08,Zl8hƉ+2C^鬧Dqx" #vDŽᡋp;( =qYkTM0T ߭62@p; 6@l2oo9(/}Pn''<9i!Ep$xd -( :y0m p V$$ɿD3uM1`NGa8f_ A ](;q ÉސEia O|b#3 m 0K,uBv9~cx"}>%.uĻ_╴xxIs:i%"0&/j#\@\{@/0gi2*[-[0ohuPs+z"y x*fB2^@j1P\$g>0" \1 ek0@(!F]v>uWp2 f @ :MWb@:}!6e0nà  {b&r~1/ˆ:  Іm @n bސXm%fCd q"'fNCs>xhR*lV*2@ Hj#Z1pZeg4^[/@!igE(P9Y:-Z78 ^[g[%^.&Vuʗ9LAwkmNpDMILbEp Van pr%p!`3SMoІTb&谇ok%pp %F =PxB G8iHcrz{dk6bsb!LlE0{f<tB?IC jLW6%T2%l`Ǒ//Fd}֧O~VZnlɖ`q% 0ÔdsDV|G PAŰ G7)u-QAhAp*ʈ7x5{{kLIfQAg`TP j`jF*v8V+9II6,uzOw]"UA ~pg='})wq=\۹' Ѡ :63A*=kF߷wj}*'' nIwP'~D3QhD7HZ?GB26e#@$u (5LnaUgP#Y,`0yzYsQZBD@M5)`7w|TUƚP:0O0*xA) 9(1 Ԡ ` 03㢡KJku9fUPW;@Z{).skk npU 2R#&q"#nF{jBr\vz l`b@Z|jUy`\~ ک=Iaj7c8܉ ! 3@R( !ꚽ*3&E2V@ RU#t94p, @*GQ·"q_PS(!%:i`.q`+`U{H[ *h`Jl*X;ԡ1 ; ɛlDZk9p P%S Ԑ 긑+Wڤz'  A ͡G4iCIc4-+@+%Pɯ[M0{"a{.1S UgjѮ2H S',kZ*\,Kg|f$ EI  ~˳ W Ҳ(SB A A|+%ఏ+=™˖ [xB{Nb96DlGAg78Qc0Qq <)EO 8#04D@陞.n^ꢾ.N UY)v ɀ P.Nn׎ٮ`dBo4ȑ#O>. >@nO O?  / @ @H`| 9%.XҎπn լ=< CoCoGIKMOn %xZ)=3  _  Ogom frqvpO{so{?wP90U|ђN ɠ2/֬<=?oolɠ\ 6%WJѪ.> /w0oӟ0 0OO 0?a*xeM1f< QD-NT,=~RHYL c֫?,W/|lęs/=}f͛pϨNKyԥN^ {]*jT2a` EKV#݊Wn܋uV$ㅌMe4)9A`)0ࠁ ? 9 (1 9{,:О9 8 `6yAʽ+WHPA `PM no_'ir,U]SbY^ֆRg8/}@^ixa@ɩCPZ-쬛k.Vh/3K  [L4z DŽ` %$lI&`X+-"gi)\G3}D2K@ #HX! b1ό6:Ϸd)$XTi& &i(ƨRO)UizgSQRK/tC[?$EDϷR+Oak1oTL++83zѺL`[м-rn%@vm}jU6߄SNdME`a Phڇ(Fq2ܫƦ| IO*{BdAH}ҥcF ,<e\GD?YEcFfs|V~jߢ6jڷʶN1z^69rϣsh6.ʣub5p3 JZmG,u%W.mRXsL jߨް1lW[G(D;9_-h { /QEpN~yyqyW@x.i4OVYfkֽ2 oGu󿞺e쳋!0twWts(Dy8!P/r{BĚ'+g`x8]π낹1skbB7`5ޒ]d 1RbMD$qzL.0 ![;_&ǹs0Vw'SF<4xclB2SJ>A&2~#y[P4.<=Ez#^7v"[h$>͐Ind7)aGzLNfG7 H1N7]1N{BHA7$pK{rR9l@ GԔXֈf$,Ae#y) |MDǬ钪s䘲]`b, STgByMLTmt._^G =̘<Ф}` 7J*"gX 9tQCHY `P٫?s/(A- lQMvժǫU*X%:ѱ*gh;^ vUFQ*#Bĉ^W q*HafD7ũ Y/H8 4+ dzaWEUM_%hKZɵ$ѱ>g}0|Aeĝp*OJ`a|u){艰C=, Sv8k(ˈL ECe5 09l_׿pe;8Mtg]֜jtn5[J\f=rqEaF7Eb ^0zlyl{N k$AgPlGFrd&*rpSzGxp7wx%뀧A+Q9rh}"`m=r\$w[Iyeљ-yus?ze~sG"t7={Fzԥ>WzA=w_{>vgG{վvo{>ww{w|?xkzd$Z|NtWS)$y}UHThG?/zַEO}eoջ?J?{O}]ou~AxGx? :а? oH*܌l)` S\OPw!.]<3Ȉ1 f]]Tdz_:ȿ@ 071O??3?M/.P@p0#80. A>0@A)@ѽ fd@T Z?^Bap(3Dd?/dXBTpC4?a@ t ?PC3(80/h@12@`Q DIN8N,O ` Y\ºD6a0D(I> [\d@b@ŹXXC),Ģ* DƢY5l0@D#5؄p /K @W\Du6J||{D}~Gl ZE@B)gFTda > X腸_olXh^^hD_ƞ|ɘ 4o 2ǭ+GL\ĉ( l$3@8P0HPYQ4ʢ ˨#E[hBYP㈛:ɚqJnȼȢ1XFƦsL~A| M􂈰D0PE,}̋tE/pE׌.M|Kˊ`>LL5lI]2 4aT5X`iLX\XH  SF̐PDႉ)E~ W3`DZ@V30E}L|4ТIPL{K`YOHhlO5C)i|!F-LỌ[L41+4{M?ЍjŽllηCmsJ̶,QQ(չӦ+MtDӝ[Φ4mӚ{9<T>%ԣ@EԘBeԪDTCQt 4Q Ў#SOx C LA,D9ZT> 3MC?{G3HHĸϨ,MM9ŊPTǹX@݄4H1PV284>^OHRM|EOpWR}TY\hADhɐeWIQ@ι`UYfIlXNb8Y{=W숓Q,}>'@́|HK yR ԈES^2?XtwtMuGta0.+pD;ԑ;T8DlɓdLh A[Yp ͫX 6 SBS؅e;+L]X @/|?Y`X(\  Lɖ߬V#E7H dָJ CPM.ȿR] حߕV 40a8y8肩,ۉ`l+UݝD_ 8o,IiDhZY@×]ȈU\—Q؅K܅<@Dɤ 룼3&Utҷ1(M@Aѱ$ _Ә0.< ɄO. f َ)ґ.1TGzh.8a;[HOH]f[>2msufsFw.fyE{Jݣ}{wf~gDC>6FhVnh#h(W ~n{&ifvӄ~^|޽^ɸ&1~H:jjjjjjk;9d:5뺶븾K]T`ٹ)102@lք-fl~lnǮȦlɾɶlmNl613ι_v1_٦ڶm&{S$QTwff41`JHpH؃=@>nD^>nDnnnn.o>^nK@'x4U#lmbx6ZW_opp p p p Z0oa(8tkp#7σ<0C8=8DDr gD!'r"7"Or$r&?rFXr(or)()*oEHE`V>Gc鎓g~YYX8sV:_hV=>?@AB'C7tAs?cha˶8A5nJ3qσHqD@ G!/'SW/RwVguXUu[[uZZu\/u.VDPFP;5X5c+: 7v9g9g_=gpw=wr7qrOwtWv?wrgxuE?_8Wwm6E7 .lCNtPQor-g"Gr)WrrrrxTGubWco@0G[53iR5_sv8U9Usop_t=>z/zWmj`Uʕz5٨OƝ5վUf-wgCtXlJaAN.yJ޿/&5u)M^i"FNyB((P GVWR "|kU B<]<^sx2aa^wmFx6ݠ$ujOyBRAmS%Q JedticRɐvj(ANJe434j(*\ x_~Ӟl Oy9+]:~*EL('[Z֡Y%gQ}U Ԟtkw[~Kۙ6N`AX *obP'9M.Jl)'}[BP뒤eEfSi7cyuFjiKZlD.wΉ7w_N-}CT8sU]ℾ uҭp0ܪڕҲ](G;!ċb,~j|k{o֧Η=Srf ƍXrS@@i $2Aq1DQԍVCXejhPNv,Y/ e(f;oju,gRÇ ~-mX0hX'+\?,ː&0RQt@4ǻ20RaNҙ$R!: .\muDHF2c5WÔHe:9"b9^sK;>̠s{WvKn Gi]GBȭs2 S3՜,Վ/p ֚(Q7iU_C\@oD-끵iboPaM/o-n/FqOv t܂X)MBtOx_3 9%JKnfSr֨D΋ux|AC0^*qj~l6L{rծ"nWaDzW.T2= B/ ~ԟ$6m]Uث- 16b1# I8 # ɐAM6:C^#kVe_rHdEN$D0DLS.8+B.xch|%*|I<{G>#!M$MdNdO#^<@#!F$)HDf$TZTTUREʘedUJteWʘ!WZdH$H~K f9x $|Hd^^LRQP @a&ڨx.4GBUJ1pW2Fer$sdCWMrp&fX2fz湄M 0͹|hVڄkRD9eo$1I#+Nx&(B]aJtRguZ'a`^vrguP"&b`&1#}BByi&ӨD`&~4 }6r4(n'Estdkݦ:G)+|$HÅ03BtXG`\nAЅvvwt:<苾(PYHh"!x'%%%4,Vc5̔FkBh E4 mf)"Yriizi-^*$J!I6xahj *E!1*"JAhdR6b'34C/짘&zvi9樊᨞3*ZRo+(82CGeެjh2:&6kBBF$Hiy&8f!-',*h*ˁ*z$E*+jΫ)G~H,HHH*eR(*g[B(܈'}jO(,r$lɚɢlʪlHl,RBˮRzAtA&F`SU*Hk-CB05\3-<.hrmzm.B0Cז-ژ0 --ۺmC/(-ٖ~mmmFl bq„7yHOǂlPnZbnj.@AAA莮nHnf.^f0 L"ک@a0id)<-,B/&E\*:6/*H.P:oFN/R/5D5|B/(@5`oZoBR/&0%JCŶ ".MѮZjr~A;3>Sp;`pp{p[p W.0$pR ?5VHeԂ)gB//B/q*111q/5H)B,H1Gq(H4q{1'q+10/4.PX0)0qqqpA!!Dh;2 C#$S񪵰+ 0}y 0f0Ӫp*r*++4D5.r/(TC4L+s13-,s12u|nwqxxN&ss7{7TA'ls'Lp3;3;gA A9s'l38s>s7pu2*%(ŶXA#tB+B3GD.@CDC45B(BEcEW40GtG74tHH4{ cx\sKKtLtatLptOsO3NsA<6tR+RӋ2V@Sµ'U3TuVcVgDB(WcX5Xu(8pUV_u\[uVTJDZ H'N u``As%S'ud8D4uYcvE_C5@Gdc,;hd`va e+R6\LlvNvnoL|2hv)D4Bf(PDq6^vTtv'@A9[Am۶bnOK'tKv4DCg_WX4gwhpyw3|N TDX=wSWT׷]4Bge_zW)7}7߷?KkHAMKNgtBz6do@(TtsC4LD[WBϸ@K7t&TtQKA:p?̖nשc1x[Ru5XC57FBD\k8ː9XsA!sA!+rXOh2tSϹy0U\+-7EE[.u0K1V_/wQ9&۱&X,2@@A#Jʴ#勏. v԰ )2EB1,C1 C180G 'fT,4ύtysoɥD@ ; ܀,c +i{(2,460<9Û:HK|o~:C:-s9׏ڻ}޿@ ݣ} @40N>x {g/3h;>C6CSs~s~8C8C:CC?L(3H~~~;@E/\P :FE(`pD͗5ldL0'QTeK/al/U,7qԹgO?{ʊ%KZÈf)9r洙{]ժం Uk8_zn޼vev{&,XLբET(PwޘKKI2"0! ׀|cD `gct}4 '4"Q$M ='ֽ&]ZLk*ӥLS;Ew]͢ǎ]7\lP%~ǿ}fn1 |@j!ȴN;h2\QɶkE2jft9qEx‘ȯk'i,㮛kcfrQ˼+/Ot$36IG(5oa6oz(B@@O2MPO00Xc ,^# >0!mTpҼb4ecⱪN$KUUW5%au,vډu%UxeSȫasүHuIL2,5Gx2BA<2p^!8!|8H`!\ 12 5La CİG X&-'j1m@j)Or#]weSiqWpѥ&mn[I+3`cXJ}pۡG"FH>ࠦ:D!!S^|MȡF@9+h1p< G:jwh|D ?]Rڂ Kg. @Vh/F(a On^MHl- w^a4Jam*!9ptpy'qtqiU/}''e1kX5212ۺLtwR`D^5i Z !EU䙀]k M*nӒo9`aJJC&J*dI9rj2\-˜\|N_* ʄ A\1By`:4j(#alЅ}}5#M!5))n7GEWCUj>\!uX~Kzuk"Q$2ig^2ᴖ_@9i,M΂6 \H+^w9.1Pdw{̡8Ɖ$nᘴ>XGL8r5 Mzq#qEuu( $y˅5ZCZdͯk !#@0w7p8z^ >)zdODF~I@̓RB ş9<ë 9}sNZ\8CmnQ8ţdjq:'Rfۅ+\dn YPA2`9CcفtB nѳ<̅8s cBY'8E5vgqs8 #K*ҍ|FC5ԣ!SZT|^( wx!p?%֪eu|z}45ip)D8)#{hn7P^ZՆfҏK1FjQPEwn `ī3X5^SeM겯gigiAv) Xb.:kAWe+]2!reǮ}|(v!pkS$qNKx]o]'SeπxN7wB4Pgm{j _};9޶FOoY =]YzU .I怇Vݤ|_]G>>!Vϣ.N!,Z ` @ :a >Ith"̉^Zx_`.y6 `@ ` ` ??~0}QmJ!vav*qa-Œ$J&V@!ڠm I DA'Hk ` ` ֫J ENdP ʀH@@N[Ho 2. O~.daϼMPu!aa p@! qba|GNLŶ!AAaDON-`@ ` ` ` F ǿ @PD!.4 .āt&DL8 b ` jWJ]oHmQgPTC<P9EUTÈ~nE²Pa  0pX (q8ڮ DHzfs7p}|{Y{ڧI:ʓ!<}Rtk$;bagMXVn{0C6=cZ4B*B?ڳ?<= Zءu oѫ宒U|6 DhitUn(8M[ܸb+bna-PyzuUaA)am{He[t;HSzA #Xۚ庌g c2L("*Ɲ3>hBڑcc|5 1t1DL/]3 & aƤ]-`=,bf]WI>a"cAu$*{aBmb{J̗s'q A@2&>)X|M30B*[M 8#ޕ1]h=L ^IXJ0\3YnWFFp$*9PW8o8(()F3^_CwcA|<ڼ%=Ι1 d@PGH܉݃45`mu_)pf_-݁3ËIP2P$@}Ƒ-n$9~H:IaD#|#"Z i#GΜAtСp! 箢EQ ׮y؉L,XÆѢ%X0cʜIs濛8oɳϟ?5I"@QNk(!ň-^h}_دcoO82F͚5b6m2#Lɘ!Z&ɍ :a"D5k֭/J`ެk `ۺ{'0_hW_c/UsvI0f 7͜… J\>c'knǎځL/*Y73e e#HpAs:T|D[~]HvM?0n ʔSNES`mRU)֔S6UYdeZ( m\64'kk VHO9RAFYeqYWZnuv#`fm4eM.b 1ưGqsٷQ~]_us]vd *x`- Ro%qq y_I~uVQ0|J ~ۃ8i)^fe I%&kT} YyYjZ(\&W_}e-cN%YiW1p;Y%.XPEcV^ڻƻQm* ci:ʜrLuڙ)BI&o ӌ _frw []Gw̘K 8q9ܬ^F*?"V"z"X& kڥl7LF 2 ZQm b%hĞ`C8fo23soK\A ;k9|0N])-yry P8k3E0Τ`桛2)éṔ̤AGVԋ0D(@ 2 l Bx_~ گMQ&[&Z ,:AF#j2 @/@ 2>0Aܠjfgn/qldq2cE)dP7hp{ߠ8hq;| qt@wPТb(8s?|; q4}C!Guaa;\<Ƃf5S!OR#1!4Z0Иp1ox#pt:=Cߘ;ap,;H'uN$@Ew Z7`HDd"ngяMN٭o]2qU!#52p[{nb$B]Ts\o/_T#Z.rϘƑ[.Sٱh'1`aܑ2D9 .u~miнho2$"=|pޜuO9-Ca!b|p(ZC}X[[tͫ!RԺ@P8@iwCci|3/m"yF.mGV+*y cd/qr4 AܡFt^RՖ:z(3V/ypBԥ@*,!|I°xu'Ⓣd1 ?  0Ec0dhfP4[y9Gu6Q@7oz°E ΐtD&{Cems$nSEm@uo]h#e vLKu>F3A2->SM!$6#`:J !prdKBx|!W0AU>tC>2 ?T5SXWVY$8B3lF4{D0[8D Gt rDdD; PGTTuWx ؁{0[PO8R$GP S0E9I&W'|[W|^r|Zi50Vi4\}`1 g!Kr1fPnk RPD'TuP 0}Dn0吊VP c'ȁ:%   8LTPWDT[&Q;&l[I[G .uA%3h*`huBȃA7)VMrf!>mhVZu`nAPxl`rO|~JF3dUPx`c'R? y?g\HN8BTǒ_4 1A 3;+3`u[pOiy @: pNx ŀ w' @nh90;nZeUc $2p@zO hUPIeqt>'U%A r&Pp qQ*;&/ @n UddN6'e;`( dKFEC0x[|vf8$fbt z 4I'LdZ%e<G8 k:GdP ,huSð:<*@#Ed^$k#2r w}0:.16w$YtwSJzIWK"r wx \U&7{a^fuEh vs#3m{)Ew   pfĀf/ym&7whBY)*ث .2}闎3,3.*j:^'4wx[0i"gr5jYPRcEKRPfhdzњnWIlWrlȶ,/0sPگS0 :Ehe :̠ucΠ*srKK Ky9u%Ŋ^k^qig},"t5jꦚPUA@6۬ΪvU[W.Yۏ[[.q*Y p逼p $g' G2 0D0&ȯzf9seY ']D#Kk"Akv+VM YFvAPKV ^hw87p wk"qp lxKs p6ϫ:4L}Ga$,@WNw|l_ip=z]mq ɮR~'~p0$oBr.(1g >%tA" ׀̻`{ꡀ꡾ >EzE<Z]^r`++@+.Ϯ)-q }S VpiO|mn.)`~ʮϾn{ ` ʂBt?aN  ݐ-ջ!~h & == ,N.Ԡ ?P9o!%_ y E)A|=-OT?EQ`Hp+:\|^~W|<]`h R`ھ~hE;M@ nm~.c.m ` /#˻L`{ l ԰ B Z4]FZXaAuMԴjun;<\'RdH%CVlkɄ 0Shɒg,A%Z?IaSQŌ-6)f5`t  48a[*8"6gx2f/O4a *V| )[t¦re6l<2(XbEӚ`DȆ 0[Fw kh*d*OR2Zuةd_14+&Uc1\y҆Q3 4D.S|s 骝gTS ohei^:iW`!jSvԡ *h] kkmS6Y7ngQ6Xzy2 P,8" .pqـ(hY≑ >TsDY ҹ2Sׄt/9= ?vF%TSfQfmqiG}WcuٺyҺ/n?fpFygv)F + 8觿~"O+g9bʚB&GZ蒄$19ԙ> f'm5 B1 Z߆A zr,Ok*< > lpB{qAC "΀` C\>CnMUW2U,j  m(hQ !%0Jϋ(QTFq@Nla v:G@VlߛDJPZd"HGNpS;)X q^@(21F.F(MRM}jT:իfuG}R:֭ndFglJwWG=d`vlu@;Ѧ]ml_[mp;{G=lk|Vt kYZߩoVOZiui/+fNF2b:ۃ@6a+gy]r\1GQ~|$?6YwRn _(2]o oO@(`uKZչ^N 0 `0JwYGGa03bk| Ǖ#~(';.sّx)O~72챌τYknN}IE4; S_h8کnϞ=}{_~o`NKd^-1G+Og@qns'8O۟s^wy_G=*+ɚc?ي'@:[>C;{=h @@ @A=, =,A@xAS ؀O3-^˻gb;ɋf7&$7'lBB)B*B+{|{ a982Kz3p5P:{c@{ |p|A9C;CC? p ,D8.>+ێZ`^D$8fk}{pNOM',EM4ErT\SlETtEX{EfErė U` *@3%H:548xf|FxFjFhihfiooFjpFrL$D۰x<.2z-ㅍG~ظ#?RPEDTDHTņ-tȄ4ȇLHPDTE-OH-EZ /, ӵj$a,%3UK:t 18rL Ǜ,JLJD Fw x3،zd8s}ļt9ć KN8]uhHHQHN˅H˺dB˹lːPTБ42"a!T:ClLʜ,ʡX*(˜ G -(p+(8L\ʤlJvdwJxTh*&)XJ[%K} KķTX~Nu@h·~M |@NK4YOE´0J-:D5\FI8 IkF do!%J iiP,pM H޴ՙFTʚ+[ΉKNh{hNDR^0jDd0hdMtRN8_ sQ8 @g Jɝi >-JS?@ PLBC- KUQMUҬGj*ݼk+EtN|β4K|!$KBhK\-]zhՄU^]mO1O2$@6 ʊ'SQ=[ƣԢs<LTzˌWT iL @xUW}XK dN>Q$BH<՛ZKWMHl}Ї܇^{@نX`YV4HR} jKm @5 `ԙ|S:fJ5PtW = I !ZfWc] (Ʈ]5oԇ[NPᔦz8ǫUJ܌JAeR%N_ū9{lUj`ubb&W}buտ -1_:1P8#rhE9.J6NQm ) ٙ>aߏ9kPZ,VHK% 6k`_to5cL35ޫ:ocF_mXne7vcZ~Lч]QNc5\}%&S5ӼHffGn *nf)fgfb/` a6eN^e_utFw:;se\M0pݢ_EMUifjYSM舾&dI>Z d ee3n@Ux>ǜ ɔLug:steW[VvJ=a f !V"J߃^΄fbliP}HU`ЅIhhH~dS fd0VI1~%2>eMe5Ǘs oW,TLE}Vkׄxn 8L%liiiN@~%Bhя;sPflI%}\VhQO\ϒ^݉֌VZgN2&aS;t JvgekTi\! W inn^GcXF身5d^UVl~{@gR]oxDh0Oꅆb2p&gQ84>e[ڛ^aD]ThȀ|wT k& WpV v|lȞcoA&dQr#V9VHV*eFYUbfN&Sn n65 C;M9`Q XuP=_?}wvgVW rȖ_.d3+En)io҆KjuuaY}˞+f|8RHi.s`PS:̜o pThvXx`[wI@ ۦ[L}~V~0rNBETe|f_ixKVю[|-Umx]-%5ּh]}F̲R5P / \kg(v8`G(y{yo W۴MMMM}XGz]|tiiL2fe#LD~r#6bSnH r`gfOn 'j2cr5sMywv/饿T=V_oz=xgGǷ||[z}T@g(Jr^菉E'f6?&}j.{p7/{|}-W P;AOQwˏwgG tJ|\gc_\)t;NO&O꼷'}} $( T!Ã#R|ƌuMX/XLђ%+ʔ*Wl̘0Ьi&Μ8bF&""`` 6ThZ!R-T4jV^MP5լ^mJ,XjӲ]K-۶Y-е@ݻw}pӘ/kʈ1CĊq%ȒWU^S^ QԨFxb ebۥ5vKd''O)Si E5MʔS`ǚ[YםVsͧU_7x ř.`)0^(7M8VJq g, ,3je[iaE![n h)r303p w\LXsflRDHw0Twɥ$\k-IyI9%UZye^z&b b;hc6a/̅uۆy!#JʚFJ22#-%)3#sU'S9^a*RyW 'y!5 -<K2!-"yyZ*0CºT?4񺮺Ss>F / |%ZjZk fFv˭^DžR2|rLF-=jJ-FHbc [<4E/]*gdߗaeZMad56jVV001m6qj.K22np2m\6HfO9?`1Fd{ONy_~k^癋4gN:陗.:Wn``b6wւTfhIY/r.]L1H?=[=k=k}1vo3$pãTNF:?'<??Pq\NS4h?ڗ_M} `a6U8ɸ ].|! c(Ұ6 CM!yԸ"eXσ`rx3G&H V"-rY ;4c #8,jm Eˆ1A l8zE2|$$#)IRDoD b$8"<Nk=j*U|%,c)YҲPD3(x$I 8!HN2|&4)iRּ&6)m*әȬ'?9LSO%<)yҳ'>vjͩ፳(a"Ѕ2}(D#*щR-^A[rD*痿hG{$=I{5$]b8ad8Ż(Nsӝ>)Peљ0MQԥ&gD}*T*U5mV*Vr^jU*ֱ}*ZӪֈn}+\u"ӵҵvըQ׽թw+`VIj`X},d#+R,f3r,hC+ђ=-jSղ=N@;s k`$} %75ǿ6$} ./usr/IBMVJava/html/enterp/en_US/team/images/tmscen4.gifmuct$$GIF89aε{11)ZZJ{ƜssZޭƭΜccJ筥{{{ZssRRR9ccB֌ssJsR{ZBZZ99)99))!99ccssRB)!skZ){){RZts!ƥƽތk{)kJ9JBRsc1{ZJ)Μֽ{9sZ9c!kc9ބ{ZscJ֜!sR)Ƅ)Ό!Ƅ{Z)R1RkR{s޵BkZ֥9ΔkJƄss޽)B9c֭cBkZ9cc{sޔƵBZR{Rkcs!!)99Rks9RZk)BJZ޽sBRZZ{{筽ƥޭkJcs{Όބ9Rck{Z{Zk{9kJ!)1RkkZZ)Jk9k1J)sR9s!Z!cRJJJB1{1)RRcBJBB){!k!s9sZ!BckkZ9BJRc眭cBRk)k1R)J!B{9s!ZRkBZ9{1s1J!kBZcs,@ H*\ȰÇ#JHŋ3jȱǏ !>Iɓ(S\ɲ˗0cʜI͛8sɳϟ@D(ёFX BC)b† -ׯ`ÊKٳ_[(B$4hdR}%Th5TVfE˸bh6nu7)` >X1ӨS1\'؍(QNR@%pԨ Dj ¼ 5jXqEw}wٱ|yͣ}o^}q 5A^C(Ig Թ`xUH{zR8| Z]}F\ g $s 2t+@(·va݅Fx_~(b` eP@%@ 7(@ 5pfQKU u BAO A?? P 0 * D/?2rji/  : jk4 YPHJLЀ6gFi):袍 1* Ni kۚ뭈뮾  `X ^0@*86 (j鵱j[n覺ZLnnZq 1 `hSTeq8פD`7wKN?0@P̀/IqKKtPKM]K Ygʂ 241 @lv 엲$,di'ZmG'MhM?u_z5[ Uvcxc@[II) Dj4ECX3suN9ٹ xl FYA=|PD [cHTtOk@@f$H4<=sO߄^"Mkh[qղ|MXreB ԟ2I TJ ΅&t9c|cg-p| $Pe*3 (yU겪me+Z` k hMԧ{!?X* 겼U{`+VuiMl$xK@]ULSY_*V򕰠h,z@4c3mr3)h$X gR@([ -p[W%o[\2Wmr[ DȮvK(@ (JRbJ7 Uj{KM}((b0J׹5~_ʗXhdc7tf KM Za n'q)(mp |&W,.(/䒙E LW%H>u$/PN2Le'x6 ]s\P$@O2\(?` Yp rP@L6R. u>W*On@ !ȴ7N{ӠGMRԨNu -(B$ AC肪w^gOīY nD:f;;]x(2"g{V5Mrܤ@Ґ< ko7wNO#\mކ=7Άo< 7۰6W6/w@1| eHu@?}Lَ{瀠ԥnp[zعv>h]n8{ﵫpWN|>v:nvgmG|o3s:'vӽg'| ACB w8rsu;ZQD"Xt'Jh=r{mq|G8@}D |Ny{OO׿9?!Ј3 ;7j_e=LsWnr٧r}0~ ^0s` p zqЁx^pw8( u#\pr>'xr r@h2HJEH?xs00wChMh}0}[pЁ=!؃VNh.0ȂׁgG`iig?>iY ePiȧazXH o o}GZwr j8!uEz3pur0T0uh}qXPcwfux7h*h%(@'h8z>!}8oѳ`*XxvhׁsЇ'zsit ei {V{izw )guד>@B9~&h` `GRY`q2ow bc)^ eiyptYvysyozٗ~ِF)}XIiِА٘؏XrKyvVTi@pninbGYyٛ¹iYyʙo@YCxGvT(C̷= twtYv@ f V)e ig| =ʗ)s |zڡ p%j(Y!ڢ.0G:s t>R) 0ڦvmLڤ I iV9GE=+pstٝfsvzxz|ڧ~=6nlIz:Z|)M0j`ζ]apwPw[jPzpګ:ZzȚ:z0Ί P= n\`eٟ޺y޺| ڣooJ٪j^Pگj:c0[0c ۰ ;[!˱'K {-(2K6[ZpN֚mBi?ګ;+L+#MSK"Pk[X`˴_e˵Y _+M˴6[q0tY9@|zpG{&wmK ~@J[gP]˹K;Pff J{2hкe`[໎ ;`;;ckw0;K +r[r[v[Йz~;F;;P+g,Op e0~p$+۶%!<ŒP KO& +O;A,P e5̻cÐ ;[Pu;Ō۾   Tw kۿXyxPIK kV]̶ȋȐa\Qslx˙>ǦǨl>Ь͚jp˻k.<ʺ˺Ȟa;K̡ 5;3nkZqp{3{ڼ Y:[=ʨ䬩`W,u+s,ϼ\| ,ì\0ڜZ@mgw\<{\>l~P~Pѐ*,.0/ lǖ!%md >@FU 9W@ 6-k*=jvMja XZ\^`b=d]f}hַP p ` ֡ z|km ` r p }؎ ַ@ p p ڢ=i}դ}ڨ-֧` p ۱Pۢp۸ۺۼ۾ۣ@ }]۱0ۜ ګڰ-۰ @ ߝ-ݨ@ݬڱ Mޑ@ -=ݭߩզ!= 0՞  P0.14568~:;@Bn11~4@  ]]᱀  '*/3j^CA;AtH~)n )^O 0 P_ڰ Z^b>dgkn>~rNwMN@ P ~਽]=  [- 1 PpᦠT ` ڵ >է.Þ '>0P > 0 P0N@־N n0` >. խ N.N nN,o.o.7.0_ @oĞ '>/ -ncbO/^E. ާ~` 8NS?O~> >p pO.ޮ0 _`  R^LN6Vn?On>~Xo K d~/ ^փǯ{x^ph">:I0!̗y< %JԘ,K)SQNZժYfU_hYJ)*(EպTLl+,piսk VJPK_ܮM=u|#Wy`Æ 6d`0Z\pt0M:dңYlsТB]jj(XR|!ӣly״ڦ$ӭ3fm4lc}(Q@ڄ pSr% ׼Uw|jר p I;ն4R:PJjSlCJ1Tdj\LZ-Sh Rd+Y++OBF5P>`ȔkϠf@!EKO,}VK-3Ot)"xE^x"M(m0$38ǔK9x:`'"32L:L2Ms͆ڤ͂S' QZT"ڞQ)e,2$47^>f'$Sx!US4 D/V bʩ!Cu]xJW[IRI<egJz10!٧`!HXE[GpȞ)Ij#63CM(7Zn%n;Q&1YfNfa`=3z&3޸c:Avu6cmZ T\ lfs>Ng4^6_:gW\]ycW|qO1N}cz.Z *֡J|ܨA3_%]XD`6DX'qXDGs)?\tO}BFlF9 b /[`cJX6WP5 {_u#\hFW]Ӆ6{rBt4 M/x7%}+l"%7[:ыۀ|g wJN螸\L3ކV}W)vů~ewÿEP_W3/(yfp_lgٰ{޳3<#y~I45} Vp9hU _6"zE)ց Hi  t:ܑsPPD%zqN+fE2 RtH:Vmzimk\>E6aǦ/2^,S6/!Ldbnˡ R~ qֹz[[1&aHB4NjOE/poLs6R]u83#a)puE}MDtpP$G$ 9jpRf89s/d/kc@[&W$TQ@宼0xQV-Qk]І]+SYˀ݆7 KlX0JQ Pd"cKA J0`3ͳ E+< ybk]WSpi [v,RX"{rvӾ`,0C^F㩷z+.ӻچ/k :=1;vXC>!瓅EP'b uC Kb"\9 +u\V;tۄ儥#OSƆ^#/,SMRkm.XaꬻaPFab+ c ^*SFJ|`28qб }aZ6*d,/1KJ;eK%ckb6帳!(D-ZDOAq,)тy;d >zd Sa]do dCFd_-U&>~Ųܐr)N􇞆i:jzcCx_psMH vĥJno &:H D*%P*ԦfGrVeAFT0mN\.pRp $/q?qOq_qoqqqqqqqqWq r!r"/r#?r$Or%_r&or'r(r)r*r+r,r-r. $/s17xPHs5_X4w6s9s:s;;sA aAI`@mWwP㱘#R.BCI^ x _WEY݀r0Wo{ԟڧ jVWAéP~Y@'֙(aZB "9w(x-k 9]Z{vVp^(K?,_@IyTj ܺ1M*y:~`-꟣iZ0J垛OKSq^O;_mE*iӵI5ON|>ﻫ_#? мGwY׋^B+|8zw>}K"Qpp(xd#B(‰("k\"J .l! B1 kBp;! m ^Q < b &Z{N /p/a}XCpE<5%@8D81S@X \LF$bA!8G2Rs<HG1Y3 $(?)Pr,%*OT'aY %.o\ a S[rl&4Y_2$'t|&8)[J p5وCe8yʳ$}'@*Ё=(BO:0]p#z F3F"HC*ґ&=)JSRV }iQҴ6Iӗ^ ^hH?:Q@t]xhCI2N}> թRV@/^ 4!khܰ>nukZֶn+^׻5|_z[ZW2v}\650fvլgC+ڽ"E,jZƊ [4 CT?3MG$pd!ȂSH`ie`rHTB>>7ӭ#G޵p[e~ٰqek,>݀! Ã#+x 03 k0C|9s0!bCh#J!JC ^p %JHG?]PDv.)Pz 4B D -[!)? b !s!ùw Akx>S E?1# UKҖPfҵ!f*TP=q0 8+X^q=>X}m}s8~ljY xv `TZ39*FPрMPJɍg4p!z&-DIDrG0/{-ᣣfBs1?NPS^=Nns#zfӼ9sNquçE.^y+H'0W~詛Xʼn!hpD"[d?;;fֵ|CNbD)kTLwQk?_ SLٟ”f!"@NNLDBn `r`m2 j%%<]|URęnQA R"4TR!2!"a6>!Ja^@)85S:IIA)hV!&aN!.a¡n֜:$tAyQ#t u5t{e 4|!&fbU!D@B09I@Bh*UU:W Q#A/0n11#2&2.#36#21Bc1Jc4:c46f6Z#7v7~#8rA%n-J+W!:I5)" ?BIQ"u$BcS)#|D d#eFn$GvG~$HH$H $JJJF$IƤL$M~I Ndh Xn)d5 QQ*}=B"T4B#6fdKU$VBVfVWvVeWWr%Y%WZ^XUY\%[[%Z][ʥ[W]`A!b*&cf:.e+dVfBSfEb$Ue ad$^f_e`v%0[j&]]mfkm&mY@]~`flN.fb.fcXZS vn>W"`fjFdVkU>Arjkgn$ gqkj%~_|2B}fr*'O[2$\Χ',^gr$~{f}#y.V~h!N#&V>$䇺>gt2bfurgBi'nwgxN_`\f(_.'mfzeR_Jh~6'%^ƥs敢sft莲ۋ=iS )V&f)g*Vn)s&))ꖦ)&ji%B>V^jpAchuۏQ&VmU't&fB祪**j***jb檎ڪ**֪+Ϊ2&ƪ>+D::G=̍*B٩JVIsEyb/Pkt\++櫾+\Ak,A[R®+%B>,FlFB0"jl#tB$Dǒk09 u˶˾,Ƭ,֬̾S?,Q\(*Bq,6>F-NV-^2J$!0Zڦ-ۮN푀2iюmњ$@ ΢n.&.".6nߞ)T^.fn.v~.膮螂).Ɪ.뮮.쾮BX,%Ȃ%n./늮n)+\%C2,*f.'TF/0XB%D/^//n/~./֯)*,=;>><<=070=D?0Cp_g0o0=x0p08C$&x(Ă+B, 0>0C/C10 0 S/q371+1,',p*0=Cpcs1 1K0+`.d1,Bjn'҂SCf!&?)-̂wU$S%3=>r˃><2++2<2,,˲**r+r.-˲/21_<3 q'_n wn*"?t,L,r%Ă岴ttFsn -4?q63?<?$B/tB/C=<;4??P5)tP,H5V 5$pOCU T>@?5$CWu-@P7;>tuS_`%Pt(`-3_Mp0OPQ'R7SGuSSU5?luW)BS5Ygu=uWUwPu\W6e5^K^C`t`v=dEo.b˰F+.KB*\#Q+5S;5TKg_54h4iPuSju=6[7[O5]Z^wno1(&+8qgF484+pBN;t+ uPhK8tzuK_SC7{7uPÆg8K8e6o/ +64B G?2wKxwtSt8ls8~׃1B+&7 x/bGAxtxOxy/yv7`%c48t+\.*)t+'?[.H#H-xBW'C_n*X%-įǂ-KC8x{8kxWx(::zy=<#vqc.?2[yO8z:?ܺS:9{wnyOy;cryWS3Cg8+z9eo8`?뮞s'|MkyZ*?[5[>)Z55Ck=@u'duųo'w>lC)B)y| ;g=.BC>C9(pq3<{9v{~{ 70w='7M'#7,s7D= ,8aB&daD2ɲT XP2$SPq5jV=x+ "L)̗. ӨX: $'Q0SNSoNzU!1Y~GcɖmZfٶun\cGDXD%jT` * qbř4uErdɓ)Sܷo,X89W]Wxa<ʫ%W"lql?X׮9͝;m]WVm9rv"e)bPJ1geQy[Zɗ7)UzYu,PW~{>d^VN|EEIe M/- =- US*eP)e0ZPKLREEq4QYH8\,EXhmfn6r):$OrfkaMf Jϴ<4e15l7N;ԳqѥA7DM\FGd5MIݴ833O>Se+8XiSR5ռmڼŗ;YuֱF[mv[lv[kQsYwtiEPO,XdJ%Zmn\r[s]vmPHzTKfUinZ?.O5`l!ݖixjԩ&WFb-XQW՗RL\gOV4O^sr9zeutVw&`d6hIoN.觻eiUvչڙVBQ(kА*JZ:MSmv;i۹VjE@9C喱)NR|AlцlɁd_dd\ixy&f4doZDqeMwֳؑ%8%HYwltfQn9ulyge梨[bc';}[t;UpHxMD"(`^@G(s t CuK+ F7I$& J & X/\dž)G۔a!8FsM-]U_ݑp0щPl;XEGy!b=& d D) cq '>1DB;D(4 =Ab&'S`'.mmu@5di ddBF*]d;&R4 V<ؙ/J5MT9U(/rD(l6VV/j% \\%0{9 X$eJh>yf+4!iX6{e&΀e dsڭӝfh%W"JEMWHQ@lطH9}~#V3QK. {ju7V&g!& _TF$ĽE$,B1Mo}KT\ 'jE8]͉SŌ"#*/gG3 iDdچNg)GYSxRtJHAU,! 5VoNle+2G1ui4~3=zUfբ6ѣ5UҤ؀ӳX#6&:YhַX-9QuR[bu Þ9*B){!!s&Clõ,aNeX<6gW;#rE.x V]g .HQ] (-FʴI dG#$<hé'f[+6y+-us&wUrڸe^9&sg8/ 5 \S]cpco}6t2'Xv-Q^ /^qu@'2n рH9\B5f%r"4i \4^-a%}:[<W֚2^xc|;AymE~o6Q]5:C rf{5 q-_Оw=wK_ja+"$ڏ *eZ" O/&|a\h)gAHk(J0E`\ipv񀯩DakC#HVNhnEɺܡ"~P(D~mBo^0F ep ǐ A+,Dޏ*eHjiwPVjF )nhN/ gj!D/hA6 쎈Gkͅ0GLAҁ$KrUK`+.3bK$F)j UtY'"y"d5f#Bz*@5azaŒ[[!5P.=/N)T[UX d! ÆH]^Y4^+lf5Y_.̙ZmPӊFC֔6cЂZAH/vJgvfgh,~v٘vDEgvhzﴄK4VhMiHjmMlǶHbjɃXVnnnoVooopWpp pqnqqr#Wr'r+r/s3Ws7s;s?tCWtGtKtOuSWuXVu_s#qehvgwk7woWw{wwwwxvxxxyyx7zz{7{wz%u|IWv#|#` & *}~W~~~W}`|7vk||ӗ}X+v7w|x&`}7;3%Xw{5 >Aj`Tnrr{؇X؈yxqvtG $}+|ѷ*?D intxXq u J`w{+xؗ_M@،ؐ{؍؉縎W &uOXr'cwRt'|DAcXm@VskYw vv`tq`xrI`S@k`rؖYsؗz @% )yͷLYZ؅ۙgٞٛ} `Sג!7- `>BC/Z-$v'l`GW8w@pYsYr_ez[ڦkosW:w aZ|`90 :&9L`BIqy{sYoڥ]UڦڧڨڨwyZ "w 4ZGZOzSzڭݚ/۲zڬ:{9ٟi:`,8ytq-^r!Z% ba@<7Wnع[Z:Za}z[}:[A{;[[۲;;i Pۯy@(``\۪%@źg[;Uڼ1;??K;Q{^;|}Z!E%ܧ[;C|?f`aѫң;g 87}w;C]A{']ē =e ;A={Uݯ]\]W @@sɳЉG]]2=%}E=އ]ӝ=}`I{SŁ`2 ,`@\!#ބD/~r=Z]ȏԃE:{P^ԅ 䩛M>;[ɥ\1 }k=;ާO}#We>k>ySYs>w}ډ qw˽W٫>]  ^~~'%^+C0y ڷ󙭕=|Q_{M >MM =Ӌ#}k]}Sk9Y^Om\`|}v=/O?U?k }[M]o5@ޜ/3-rHx a  0 * BB '8oC /e" ^`3̙J",i G;t!!A=Z(ҡJ25 uiRNF}ZԬX6 6 4@,!fM& $B^!9>jSWN8a[ /5LXeiVBqcd ]>sT K ;6a[?V,Y 46dpb!j>P̗;WAˁ3a.P(s t`,[9pAL ߳MkEF0?2vmbɆTXQvVZ\e^XaE 9X%TfXV^U)t` 6# & ~u#ei[pt͉ܘM0-AD ALz !Q}K| -H*_M75OǘIQ2 c 1?? ꨥ a06XUZH 3[v\0N&AfiJZ-`R@c5neYA9Z;Xm>쓘jʩEQ굪Z#  mX] Gqd>lfh_q5A];.',DPp` !?0 +ClKT7 M^cnrauPɚhF Dr-@8l<P D4$SIeOCxeխ#7'; |Qrg>Ѭ}ӶdQn,t?a`>8n$,L4; W Ead萆5ixʘi⢷d?JBuT@#:}Es ]bŌp@N.vvh{߫H@ ->bp4 X,՝ azW xw0y=|^G-pryD uzg0P@ .FdpAD1Cl"O׹N~prf.ql$&K57c.@f2ybV3& R)p<@^C&.@ 6p?Uz޳AWzԤ>3 :uJ(Ț{>,Ҕ.{`oI5l'3^vn6JMkk;ƶm({vm*$vk[ `Hn8Ͻ{d@uup h$xO>T ޹y^ok=D/э+}LoӟK}Tկg # +(B$pHtAloۓN' fGدPHHj.7߅.<xHC< mpϏ6a o gG㇀W~~x^|t|ǁn'}!|v`^` ~l~{nP~0HnP{9ȃ;HWU] 8}HڡPmMk}Οtl2Й^0TPȈjP؀`.N^Wڕ.~TH7TgP^w[jzNnǎɮюN׎X ) NHPt,tɊ׀ hN> Π /O%&o/0/1O$?o _ H~a.%Zнd467.ܓY c;_egoikmh_qn;?bw:j: }O}x/vt*y*jO__d_Qp^|Vhnkx= iPRn>k]~E/o/ݯ__|o؟~?OY ɑG]PB >QD]xF#qH%;|H=+[d9H1c ,Μ6}Ο8yJTѠE6M*(SL>t(R\tU,ШYrm'8m ěWoČX`*a9Oe *'͵f,'6i6㲝| 4DXĦғt1?8, 񷵂,@9.9.IHI'R!N~ͽ*N:02Xdci:pv뒑^c1p.\7@Kfj6vMB8s-xL2s6ta/$Z@SR/=5(ނH3(wx6.1d*j 3B[*^8ZHd1#UiEG ]U 9PKTڝ tu'C0( _t/rc-d7+ysZ2(uVU96e|Ue+"n#X;&{Rgy6֊49@pj k=䂐|X&?D,1j-hOkmJ[ni6CKMD.떛hR䑻UWqɅE[EiP;jn w;tE;EG]7ǻ'ɕvݟD c)b@ݫ}}; @JYrߪv7@ 0d!Ž, *ocAvP93a E%` І7agя}A2fT!J5nGJd&>* p#)ha4c#pCu9Y,Җ$ADrE/x1pDAHb3.Up0Lf6әτf4dT&5R\TD^9MrӜf2?|ӘW@f6չ^ L,oZӟ&A$aJTԠ$K*6ԡhD%:шC@;1Gv.JQԤ'u( PxԣPi.ϖх0tSԧ?jP:TըGEjRC%:UYhE+,Tvիg/*1U*ZU%(qV_dmE%zRBnl`T_°ElbX6ֱld%;YVֲU/,! Y|⪾&8k ^ⲧEmj { _D"@Sٴֶu*|V⪼]e ^Enr/[X6׹5)+]Tnv]v׻ovaQK\¼Eo#5E{{֗B(л_b} w (޳r"p;`>w̵pr;@qUy/qeQc)7j}Уԣ65U-jQլve kZֵCkUԬG1dzE,|Zy(twRz^mӮA^,jnx+, 3ٹV/.bR"0'."T1B&kr#6tQ yn&c~5"6G=M=D{= 0x,hƷGajE-ZbD+JѪa \yuۜ{ϣ~_bW>5Q~lȄ>lWp]E{Qg?ևw><5h=S9>#߫?;> ??jcus0-뺖ukâ3JZOHQ0,`P"4#Z9[۳|:N -x}>{᳇} 2ćv1CC.`Ӈ^^@DzPD L ?;x5+7: C/C.C24C~@C5H:C9??>ECV\b<&oLCQHX4HzxW쾊>.ܾ{Hď{TDJVYD$Y7j۾EsHlIYEQHfH~HldwXBtH?4ő [Yd[I~E]F˲L` I\MþnTLՄ2|͌MȀ>VMpMTŋ\4Ka;tKgNʓ4͐DMdMPO^M>d:tOD}đ$N]EG~dLs=YJ0IU9S}SVEs=,ThM8V3LR*!H)LKnWRIBB2B1 4S3 QȜɚ|DǮPY#5SR?}0R/-LILS4 7%S?%DKb:lKθF^DP4FNlSB]>@ʄ?U1M>E,ǴN3YY8%5]ڪk‹@RrY&Dj?V?I0mT#R]T/U$Ջ]C5@eE}ؒUȤVpXXwT 7Tv=TU=׳D\Ӕ|[,DYTc.NKhTU@HWDĽCFS=~|^ =]^.l^3^m[.ǝԻS,%JpG _S^0^4>`.3u[E$=\HcB*gq޽4x(Q~x@T*`HؤP`:Di2N` ?N^Q^NT^NW6ihh霎7 H+uc:囅h[&H{p>f_hGYkaUx|DZ[gXy6lŷ6F2i8hV؄-_C}lݣ:TÎȶWue,`ȵپ&HQTfkzCdއvfxnI~ܺJ}̎QH_&_n ۺFчm;%OLtۄFVOJGpRZ pG\X2k7v,$op[o fVF/(_q?tS8A+2c\QO6qFq?Lqr tACs&D"6O7'2RR-RKKs_@wAB'Ct7. k/BH7t89s )r$ɒ&OLS8 Lhôimn>}#(TA 6|h21jq%ժVly `۸L&4n_m-СUpRffa%SԎX'x`#ܒixncA #y]9k>Y5ꬩ3.jgiĶo\*׶Ǔw[ۃ7zGzQ,}⶗ -v긣 큦rr/<Ư,q3暬VyMr՜q&yeJm_DKA' s/tj,<_` KzltjӼ|Sӌ,ԂFw㭘KE4<51l+B]בN6Ctl 6@:t6@ćz;6t{ib HQ^=/4쑾;6M?|;3js7&#M ﵂QqwKg%v+75QV;@f`P+dqb-2Wʴu|ciM7rpeQN8c%( v"u)4/1 0 !q0Í0b --{UGkcȄ,4ŁM%Є pLc2C!1#(ts: &fvbvP.}Op,}gcHͬ9o;kPa/1(~$XE+.Af\`L=3m)]f" *L% EAvQ3$b&NE%<9f& M0e) ,Bsl܂y:)qÌRRD dK-K (D( _H2"6"q̂2j6xC(9(:ce|h30PI^a,B(2I31C)'B.,6xC80C<ȃU`65*V`|*p^&T&Cae]-!2a4H 6<C&\!*ĬI_lE׉B1 qQE)Y 5(;L&!B,(_. ,Ă/0l6HCd40bZ 7 7TC-TB}np*N7q [,퐃7 ",..`,&1# 2" AC1LEXGT`a,>l(b9):3*C+ .-m$Gڣ"0c? dy4#92Ђbl~D&VtW@JK$EEQŰ:<}D5raT+0 C;hV&6|1 uy E*RG(utaF,ʁ(pe%AMI50͂Z>T TB.VVW~8GAC8CZ:5^TlE*Ă0\M] X%f4YAE`+X%bbO]d҅.TJIh&I*$XDdE&Q GӨt|TË4EeH0l30@b GDqyz,yj^ 6d܄Y@JVOM^>yftsC<uLBr'B4f҄Y(#^ +}Ft.륈Y6é'[gOM.N@hZАy jgrvj4EuFpK3lw66edng4mZjTyŒbp֘nXă#UX; N\(ɇj8þ9vb0 cPh4Q4i_BbnB2Xc r@L4mD})tw1]F>(͙|')'JZx2)()x peIF|%C((ټȭ $H0?0gmh74/h7B;I;tÅ ÅF;RR(88 L~/`0d0J xjz6E Ng@t:lûj74@+#~ Bjtǐ¤@gn 20k72뻭Cvb.<ODRN,* 24xF:1k;<ƪp嚍␺j4ά[x+GV8 e )/t|휂؏t 6LCi:pL`g hFk96B9BWNz.J+`E$Ce-ޚ-4خ"6mƨɂK z&KnU// I.mk(Lvįܖ)ծW|鎧 Y2V8.ׅ+H&QU~~LB9k0o_mufx*dfF+ӕ 3 ‚( ٔMqD:0 0 :{m'@*^M+Y):$o5!b+TfP+=H|Z䃩1%h.8nL$T:C\/98A<+ 7Gs`EDOV7:'*w1m=EȪ\qgszJ _LK nBbO3W" @:()2:|Pz,pf 5j6i,8x\^0{3Z1eq.? 2;$[΁*r MNoRPʩX/~7gC0|j57*0C%3P.s2w4|@4h~`H 9-Tq`V>0aӃ<*vLG AG})pCQLA4BmJ[84Dj ڨ%l0j[4gNS,t-54MM7񝝃N+?~>cC6x/p5P4g :5v~C0DC%:TM+9{34XCIc T /QCZ\NJ_A&Fsu+0WTЇB)+JY$ 4L܎9xÀN5ӨC1/Z<\ނZTY5VItC܎d76I2Wt 6m&7&rr5dH;Lu_C>p{B aCr3m x4HLt˷79I5_wH(Y(,qC*$k[TW򈔓AY&t^0WGO|( /x7|cC7*w~YILn붤7Zڬ3Ӱ^nT@$)_P_NhZ.w8txeQfpI0'0px{6&NzICv릯 7O^B rz=Y[dƂ't6#3v;'z,5,2033)2|:HYu#ܸ{5:z/*_nÞ Ѹ;/{ r-ډ/L1\A'\AeS '-ѫ|IgM(B Kj劓( bիKFMdJ@U"UiV zJL̈́ 5\-]5;nL2\KXɕpQAYsJ2KX!K0 8LkSn9Ao>gDMX$br QhŖb3!ds.,Xe /<΢!J$$=©ot'%``l)j 7pS9yI'cyLfEey-T$əfZSHPd?UFR KVᥒV4ŒP4OQ_Pb\fDba=B՝kGZa4FQfM:1@WvtMԱl ^]tLpqH#]H,i^ `#UHS1e'F)V?q=IWtmmcMv6۳O`tiAv*kij\q5)tϠPߕחzMq%\峖ZAu``G\?޼᧡Se9e|=yznG،%UӉ8%k\pnnel6k1jV~Zo*6|᥊yf6qnɚ{mU:s7vdb)V6H-ZpW?|Y[g_Ǧs+]so΋yg_>N^z_o|mB_N__@4@. t!A N1A nA%4 QB-t aCΐ5 qC=OE4D%.MtC"FUE-n;$bFa4XF4QmLG7Ƒs,c*x [nw.w;Z@E T*&[Fw&m3]pnKZ(%xUlP ]~_ &,y 8eB'6TJ `mi5+0j]A { y;.yu=kRt|?\ha"FxxQnJ|*q 02?0a6&kMf3:QFcKhS F`)cskVLxi%-zVuu;XYZֳu{[dҖ7Ʌ0`Dw$AM jR*ȯ˜kW:՞i-܆A{@' m@qOllwN6D0[jvլ6Zck&`CHP Y'<@.*N %qh% A%6}MddX\yx@'z]s7=h^ <V-V_׵XRJLjEE __u>MeSf_Q25`QecvaɓfQfXX5M59u9[ͮf+5Sds|R`` mVn 23 (n<|UmX?1 PL(cKu@qqonnc`j6toIt7t:wqvbYkY`E3s9C@VSnWwto5yEoK7p_7v HVum_7KkU1l(Rhq(#To?@dg}q%~7s,7k]3 2vr9^1wkbvv>C~1#w׶1qցwM4LJsmm0ׂWσ8$TwMIV||ʮ7w}ցE7DXbgXmCӊ)Vg#Wc)?iT9OuX77IոwZX:xwI8| xj@j؉،UkS|呈``v `z/3@Nt0:2 !ytw0# YxCԏ]v8gv؀r1X{9[?xvgOr#R̖hٙ ٍ8+82Ikt|SH a > tnP5@9v6`2`t:89."  8*v5+8wIT9X@Q][XQsx9Vw8yΗyϹqXW؋$6( ƨ P&9l⸔fl0 8 f|hYy ;Sczc?m8?[y:E8c)0hS*م#3ym{Yإ1!왫*6Ihʔ0$-)6ZkЄ*^hHTZ?R@~wryسy{byaei:x /vyxxY{C][tAٴ0‰SJ^y n(HhK1` @7:8kZ&y p_J%kaV13Sw3){GS:xDr\˖չ@}CRͼty t&ue@(YzsQM9 X[nc۪#|3,[OٵYSS }"-lc(* c8M(8:ڄ:_cGۖ2H`:TCWd_ ˅2<[rr =!|;uG?ڱڧn/W'\gZ/Å/8i]ѓ3Hӱ=M\SS]yՍܦE_ὐaaI[4R#W_AI$<Z}q\KޏS>VY;]c^Ria}3Bې}QS$}(r7QIU^V[^ɓo}YطU[kqjAO S]@OVj,n`!;w_z)Řݳ^86aW6`%;9^uAE)wYZˏ+_%?]_}i8W^XЖ ]a }zW2Hp(c sC/sSs@_q_n `" !A^ſ%! ('VǁB89dǏKY˗@4P`aK"(yg $PcHsٱeʓ Ibb LÌ-b "1,G1mەPђD%L @XРBΞ Æ +^̸ǐ\ҠAMdGhM9 )gl*N>I%]-[œh&7'D  D1v鴣>5:j]v>ǿͥ{%L@bf&#0LQ/U4xRYWuevM\TK@yEbi XKe}E巃gşx)y 6b9Gnɛo5 p=)Ab%Ŕ:_m4ʸ.ږ%yw[jLلOGrO20bxv\gye'azŗ_H(HFNjiR饛f)$XTqh#坊*ꪫ4AhvSN4q*0E*Sd cb2;̀W`KL@ߓ"czn[B*ZkjN&j(0^M wmJ`Ó+gJh[U_C,Z,LB~2w#t|ݷZ`8v} ޠv39ne+г?ҳ yWu9)@M+ _=yַ>)P6U8s*}Þk@A^%>`6 / `1&H H=.w ` a- V :@ѹKډ`p׋ _x%pP0 î :z #J`ǚH00HPt71H,`= -@(8!6VT| uyR@aꈣ%G 8GF5ceYI'Fjti2NfNXX_r"NS2E4S LA 0M$X̦6nz$r3HA5yh{R3(I1DL9'HS (8S0s# @ #P 0?SPHT'AtВzdJWm: &+̩ėuDIԢHMRT 0TJU DG@?)5$S@sM5jLjLTTV5Zu ʜnq*TҬ\J(kd'KٶSߑZSz2?)aP}^E-_WQնlg [@( Vno ^` MpQ^=aͬLaK\ͮuq`rEJ[ 5%Ȥ no{h yL"W~QRh㌶2ΰ7{ n@@H ȯ\;O|{ ZHD /&@b &~BL2y @P`0:pph'9(w B.P_R|c^Yy^B0xS&$hLu4Δ@d'4xFuskT:`ubNl@kރ5=y%2z 8ϸ$v@ЇNHOҗtR` E4~D){`9H To"Pv/Ta܇ ?^Pa*DstO;񐏼'O[$3;eD"cO Gf$ Q? Ͻψ*0!O tؽ|Џz:X?tм+x!{_OOkX#q[}Ͽ3h~ا׀x8yg}]}][~hZ^%H&('؂*,246OvY;UP %A8$HBXHxJhLMNKU;z4 bXf؀]ߗp{Y0tX|~؇8XxXP8~8X(R WPy(pn'x}gG؊h ] xylmm0mnpȘʸ،XHxøҨXlk0Ƹȍ舎knXH|by^p`ȊYx^` iّ "$َ&9X'X 8h#2'(9-yHb|  fewHTyА Y:'yԘ;cgّ8yIsIgٖȒ&َؑ8@i(y(DbbfXYVIɧ$bIҨ8ybHɚik9ٌYbp^ؙaw:{`gX}p y}}󩚺i嘟Y(؟9|0ИLjKJI gpWH0T`ezY z9yH<Z}pB>I?=]dЎԌ}W J=PLTlT0s-D r(u̹axڙ'ޅ ;"(#JEnKˆL_b\=+=]{[y"PxWpx;u;xTtP' >獷*l޼Z-9jnۋ rNs.twx`|$ل>^R;tmDŽxl_+Lם}tоnyɫ>ɺljh~yMt۞*^n^/r bK~e^Wv?Ml@C.[ /9?>89_<@?D;ONɺLMo,M\ol3\xEj>jIoDCMN쇏ܱT_rM#(_^詂َ|Y /O?_߽̈́_+o׈_M_zu?׆ypIOoO H`\aB BXE5n(  dEZ"}I :dΤYM9uٳ?AꤓOI.eԩRtxI>bmWaŎ%[Y| )Ǥ oNBs:ࡇ/flfh&3jg̞7 iӢӂm65jدM^Z!MHљ+v[m\8me&adG#:RIKr@g(wI]}P6l^˟D@)qDXČ:p[+$"|A B '԰ b07=R7E\K =E!0cl3 [,QCetq)ܰA ]T1$5丣E@92r &09jCdb.d G.LG/đH8d2/ G4 @#.Fds>(tJEJ*R*G̈+BFTRKMTUMuuWYVYguUTkյU\o5S]b P~Xc'Q\wQeWlw5W`O[pS 3%.uw1*:r&J (4͓| (견Su:lʷ:3@a/L, ƢlD,Pye[vecyfkN$@v@f6h]^&I dH"ӿ3"&zgZ(E1>3 b3 G -Ek¶W^J;<*a8ʸŢ@"j+r3|s;\O" E0I[wuc|Szjsgj'iyj3G)׽jǫDzJ{{'Ȩ!7}|7G^;'Ld`@ _ 5 R:A04Nx%BP+fIX.QLG)^FdANYvK92pBKڒa ^5yMlfSf7م'D~gF:zSdg; LA8| p:C3i򢃜 }ulxg_)@&/(Q#iIIzR'hG;R>UxoH%yQiOaSCN7U1J"I:I&f&(R".@d(zVUkek[jtsVU{ De^} SkIe$E:lpY5dV zlg=YІV%miMknemk]Zؒvɜ.RN*K`bJQۛ< usZVmu{]fW 2=K]Oz&r,1zB瘷yB"@:@a2Նֻp \`X^p;X¥eg ¢n a71Gr }Zn+ߝVNAOϓ2NR(;XؠALR*^PeKbEq|e,gY[re0Yc& Q@̶8J&AE2b}S2v'Es^–4mRE{YHCZa1dZӛt=iPӗ5/}jSoc(jXӤN5W]jPԧ[״l kdm.p`C9İť.y=LS„|L9?寽죧;ԯfu-{wo{wgyȮi3<}5_k7=˺7P8<0 ]mi6慹'E w}wx[!3ZD0Dlg3Ts䛩G$"p]o|[z׳uaˎ;%gڽ>vh8^:(Gy㐅e 킹M<Ѷtpkk=>s=D=@>4˾L?s?=iƋ3;,;*s9+BD<5H5 1PK+;؂128EC20S4BPAWl\W^7`]E=l550^EKBx5E\LE@VAG$2hDFD3F|;7p\[|B;J$B-%:?P CQ y4C){FSTytV^3ۂ5D_D?x_\33` I,ER8;x~s_,2`AdCFHpz[FyBFX2-40C ,J_'h2t3JG4A,ĖDiūtGJS9* A;LHt OCt}$W3ˀDH F',:PKVz+8h-xT;'|1XLB$DVN֔KsN̷-P9]EDt8l-c1BL@XH(u!A-,OBpHLLRǀܤOD7 YlQ7=6[X Y|D87M;Xڋ;ο,HpTWä |C CB $B;XkR;վ=ACQ*3$W<Chڮu5@C=5xW$>B;;K[},,>}[SO sC\ "TZ# %]J[ ]WfQ\ H}@Ӆ!@[]%[EFԻJ\—»\ޕM1mZ٫",_u^߫C}e[O2B_~DY BJ `` ``B`Q=^?ゔca.ܠWh=`O,_c3= _".b#;Ka 5 N6#b)Dtc&I Y*ta.8xK]:\2td>DݻV9~Z)"v7D9˽'c=.d*`%>VE/~df9{9,Z4 0X4 лWa:aRe96dT FbE FeX6]?cBv0/΄@Ep6.`KdơT8:Y[`P.eg6XNf6[?jfld|ej_/e.@-h`F.& @VC&bBfz.d8?ǭg~ed.n\e.$Dau61+8$9F_chc0)h^ini~i>yiQ)Ȃ鏖ijj^i>))_j΂L}3n3~h+NE4CЂC(d96,Hkkn+xk_(+k>lkS>(oYY4E/J.t)))EP6PY؎mٞmڮm۾mܦm3HݾmmQi)mNn^nm6nC~naEyvQljzF2 NxF+j'FɡufqR*?Po_Fo+x難@ȋoX# *qIz'g 2!/q)Zqq!J7Fzxq#?r$Or%'2ps񔈣 _r*ߦ&q o'*rlbF("(??Hq0Os5_xis7s8s9s:s;s<&K?>K^VsDOt:OMtHs4 URtKȂ*`@?H tR/uSsST_uUouVuWuXuYuZu[u\u]u^u_YdžN^pYYYOR Svjvkv]U ^V`vfGvRk?wlGw`W^^XpOvKXhuOw|w}`Swxx/x?xOx_xox^Y(^XV8lJKNxyx^Y^KhNRhKU(yKvK`cׄsy?zxOzoz_xeׄhKwz,HRe_y_fWvv ^dVg{{_z?S8/|?|O|_|oWOvo|w|{V|_*X/|7U }g7}ٟ}g|7}Wx7|T@WHWpN~/~?~O~G~_o~~՗LτKQH~|}'R~KRRqJA*l!Ç&BeFSLq#H1ZDԥKTl)Ug: &Λ:m4HŌC-j㿤Jm)ԨRCx(Q+ذbǒ-k,Xv[H+,NGJH+XXnEklHʂحNZ̖7c9lQYND7SVgUc"|6ܸ kS.n8r${}ͫNoڷs;Ǔ7 .yMuZ50-I^;;>'z=,>c}I8Zxv^&gqJ}8"$e,=@Wuv4H#=ؘ#;#? $C8r=2'aQ?58%Y$F~$a j䠅Z&wr'vXbH!2e*H*KG$ Z,t٧#JO>LiwJb^zg =&PWp .ܳ,9ٹ*Ӷ ָwOvržQ$≨5K}.;2#r$Z,ĴS '1>Ek)+I+2<<ԜN%; Q:j:[/{k޻1#K+{[ ?K#髫o?h=ؑL|G<\? (%¸GZO")H-<I!%V&ǃrx̋z>!(!P+bC1|G= Y<P O0P(1qfD"@AQ,!N]#T2BT"Hl4^=! Q`H8Ѱ\qR0 ę&8Or-dCՋzG/ Y-oW%/hH\3e.`br-{ 23" E~D Xb~j%KZʒc$M |?jȲ$MozxsgCÉBF(7̀"dGlu(=x32JCXS1''G0(g=+-ҕUU+QK2sMk{+X굦|UJwK6-]]F&8 NRG'CqVJI( IQa# zD=۽˰xg>ؓS@r%.GsiŭYIykv,>@9Þ>@$U֢Ma u-\/_=П_=_?.d=iBM`՞%W\`-= G `< _/2 2=$]"_OW!TeGˈv}+⮅2ٖ_}\\">C=V=։c<$bʜ%OEOmD¶Sm! " !{).#$JU.]$v]di* m_>"> R+Wc"#"%B$a. \Mya!9DBÅ ^"їIA!Ur5#<[Zݕ1<7BޔBiN(IQAaljdF ӺeY:r#EN_?7ڞA^߈)(jN$%];n;qd&!I <h (䠙%d[ebb"&-#C*@ܯ#!Q`Ru0$,B&8(Q&TaV'PyR&PP0Ȃ !e>B&^k&`i\i#z]"aE(^ BbAYwx&w.$h&6!V&j8&4:=b<2x'~Ikjd2fx}$O&HR$,(U-,rnelcVqč.%q]:JK`|=}G&?"#jgGBY{ReL)Ƥd~bvF]R$ 9)ݑERrd'>TFFfzN>]&(Hx$xDC-1(T&ur])l)WzSGĂRh_R~`Ni]-=QJ]%&%$i"@z"|n:=zTax*?BMd5W`,E]gL6iZhW6*$i"Oơ~*hq )(esjjPIqmvUHhX1fF3A5Zڻ9*y-y"Vb+ZYIBa+镹j,v]ZBi4*2^U&b0n0IilxlBY_FyZ?8"*Չ9+dr#^(&۱MWD[xBAcpB$TA#C$٬qܗ)HB`o-ڒ*''N_A"<@)R!FFBتinY+xcA$,,(#Zt+y2= 6G6f׮l'v0~p:A$4׃45[n ry8 ?s٤@a G6Z܏G]3?56B-94:`$ԭxvGZt++2ۡm1(w-oԚW$kY-Ίr,bt)["&>C³&V8d*} Qsm-5bM=u2$NuUu.^Gٛ"Ңr4(%RYS57F[v$[.&$OO4,oA _NaCbzjxY-!dG2k'Ց:!r+zUBk*2&!u~aʩmmoivj7;v-vYe0m11k6Po'^p;wjr0bu7!69y:W)T_B~Kxr_Eɑf-3-3AU>0dxcZN٫7qw -vh "1}7k+N0bsOQ ^c&'CwC0~qw3v,b qRZh'yy﷉vC+m7j `}Ofy{9!Cٓi"z7w}%dB#0~ Jy95+zsKzzB芆#iĂ'hǧ 95:~^V1PdV!)K,̂Og3:[B[)+'=|KQCS3z+B93;)s{o{zNo>_6f ݴ(B7_߼#{T7<9B+=0{z[U[X'Vjp +=8=3=0U=c&h.+׃37:1=ÓgL Y '`'&B(0X%GO%h$`g~G'8䇾>~;S} LP*{&B/>꛾~(DA#o+<??~0ǼwE'>>gO~$D"O%0B$h7~(BC) gH~,dWz.LXާRf"%M V,x`F1nQ .py5J,X\ri fL3atXN$iOGCbPÇK!hGQ3 -*]Befؚls'Zt*ܷH5bx7bLɭzUڭ{/Nrdɓ)#%'N*9w W/RWedZiԟFvlٳ=f)c^Ixf;וS_:4q5kn޹OdszxV|KU/+=)R];oލ@OM.Yln1 -eҍC =4З^,aAG|Q $+? 7tmROdGOJ ;w2C&12^x*A+d_nq0lx!%,/qEOx1I3I$6DђRO tDUZy7ŗE-41RxN-=%BIRgEH>P|ES<YmMԸ3CaCd[N4-5LR1o\^Xeh'p5TV5TB5B}wSHY[de ~C|uXUЅCr׼RH)}gB VDHNbeTnuL8e\%ЫUJ;,ZL*6y" n9vRIZ#8!Ԋ{URqnxkhN>abn$ DE%p3E;Nv"YӜ: Xǚ qxbqE'FLD*,hs֜Է%`ImنiieEaP,\IFh߅iA^Xy$9=W={}^%w^Op0t N =<&fQQ\NiP owa@EP-i?NNbAPh9x+DZ v+R i/{ȡC^ 9q#3I,$F7# 4XxbE/*b`wFE' *򐎉bq=dpFĔ$@FF9FIJQnP*1kCa-DQJBf 7BZ)KYT3dIK[217I.a@ CS#0M9arh5Ort9 jf(D#꒜{d'9Rӣ5JàF(XQ2vj'K+sT$3=Pӟ]VR4$%: uT`,ɘ6Jݫ(Mub\jWUfU2:KݡѻwbVZYn>F`!e(m$Ԧ$҈\;S4UViH}ulf:ъ0"%s' w-* \c0,1tj ]V^kYӧl:ƆCZiqao/~Ol̓@ixU@7^1[jj8:7:X0mKnp&G/md9cdlַo:Vl"@l9QDxa7:ʡ 4ఇOHqe*%0qj@ENa2b@!a6 Mikp.A KP%ew_vVu(ǼpV\Jج:9;Աu%b6xH5yDgcht; Oڪ )49wvHs7A ~P4O{^Ȑ4 m{Hr,N[" ]qRVlЊFV y0!ב}߆7vø $5HjQ6v )n̖󆴾+q{:7I^˙OƄыr{&. a >QW* Rxy.ƨHjOcNк*}t&;CLS"Gd)9Z[-!qlY0;Ҏ h0JϵKɏ 0ԁnaMK v"bn* p$!0gG/00@VŚjO~*2p Pٮ@ɐ .ςPo{c03nҡʡmIP Z oVOz`A ,bb6JĐȡA , R.I OzȣEl6AqavKl,0 0 NZ UXQ klnqu0j(O?z각<'a`J!(ց-(B zTN P!⨺yJJcoAMr !4wPı!̣Q"wKy#Q#qF2z- ;MJA- d!'q.+ ԑACnnHR&aV HS2R+kR|"iM,,+wq- (@TXc| $ȣs++/& 1,wr(-Ӂ2.)YjE6aA2*Kx!1PS|AxÐUN* GR a(!NHA3SP8"0sNs#R);~a$IR\P4@88>S4Ls:S-n@5@t?2Mt<O´Pi3ns@"Za*mMsbrIhtn0r< tEs6MFb!'FԾO y4@T/dA7U*J\AP IXJa@hP$HH=!Y4OJ ӯ $~Hi|ARAAA/e˴F50 JA.U/JDH5Lzӏ|QR\5F=Jmڡ] P6SKMJe3{AfHbOGFڨ!UGP!D"X&*SM4䡄ƴې^qa2PNMD6ADXahEEUD3q0+R5 q ul;)JQ/Gd!z_%*ӄUAMCYUjUvY+ f (afJa; _fx`aOFV5`]KVeWPjױVx2kCfaQ\^S.caA|hen$*iʡh1ORD-),bSDTA44ZxDZ">6{dԶx!tAHw`t ͠^wb6ulg$CV|JDxC!*"!i[uyϏ>QzIMWR(vK/mۖQcLtU(ABAN$8#hAuJ9c*T 0{_׾PgU/_Xea$Z&4@J`*!_k}း+5Jׅg0A@46Wg݁ǖWWYA8ZX*>Ae,*0Px7΄0?oMú\g{al5VK:ATF"xkd>AX!!cnNDUjWնK9N|o9KSX&$'9Z yk^JmHJXDxeYBTa]z;,FA!֛ܛo(ݡyMz~ETmE* KHsIyo'6v4|C:x댬KXOx%[!%A,M+&6c0a s?0)v5ȉaoHaZX[e5跿m/aN<}iv l74pnTKHG#P$BZ"%Qc0A7}9WR0*}?!&m[AH Pɵ$pF.U)mkXe!=`tLJ@r[?|X_M XAH8^!Օ5Я}V7hLMyҍ~P|Af dE(R TYXa=`!m/ಝg=< ½=536k}}yѧ?/MY1Jp kBӵL3:㌀ȳnXL-',D!bD{7MyÌX t'bd C+ԆGnꐇ7sP`: 0@vTmg3`ȱ ^zRFBPE]#aNaхP>ƞ%2ˉO! 懙ѕPqaqsS"(AU3 xЋ\axĭpe\\ D5x[dVu J!%Uԭ{O<(E)ZhPF Lpe'L9ǽts7`B pY|-'4QFnL5(KlP .LZJ ,U> >ӕ7d-)N`ucWvh3\X)_F5;+V߼_lҁ61,{)NNw{'j҄F{.MQQuh{v%=-v7̡wjr > lTStguG^6v.wGqq>+gH?r'smo|? 1RA۪:1v?e')ȸځ kٸ/ȡ P Ux` ր :g~|7+ GuBaА x؀ ٠x@ Pt +H s:7yPD4 ZXZPP h 2 8x  xg~zkؗ#77"H , ZX `g 5xx{8FlVu^RpWLHXZ7 R EA}YRf\B&“4%ؐ.0(4hyra8'~,2`QVu3W ׄ ܀{'` ȸK'{`Aذ )W jEwQ#Dx 07xy*xxfz{`}Z 890 * ~MxE҈ m8q!` =e {$7c討ȎxA0Gw0 U 9?,H ɐɈ i{gxc@i<& 6h w({mx{,RE(mxwm?ghG/ 2rj}ІHw  g p 7 (fٸ |S( 1ɲbE {E Q`g0x6tБ!fZ~׋:@ Ex)WΨ|py _& D85T @ْe` rAq@uTQx({Syz_ l;ST`){ 䩊ٚYKIuuApɇsItJf<'z'`e3~ꖍQ PR6A. 7r w#zքvufo楢ܐg갑@Rl*Qejp]6w ,ڢ܁@!DuJ|7X * d ! jUgˇsorRXS|9 Nnǚa:8># P*1\znIٚ%u1*rxQr3{g*WAat1Tk؊6gn巬~0+ّO%juz^vwgxѬ1q\yMUeJr6ǧJp |66XWqW{jdW>{qgzNt5+7k6 .Z;ʮIC skGǰuGrkJiI" hD؆aN mگѬa?tK|Nb('$AHR@!Bax&ra'waH);,GjKQHzJwZ'˹0 +i#c&g9J7!+KouQK ,Q+rx& 3EI F og'. [R`3 Q kvk ІKP{2K]эfL 39۾XxA$\/ȠXPp@/0r@G]+29P-@L px @d™K Xsr Ǿ xÐ09V> DL. "Qc R&j;Wx?Ɛ8lb[ OckkuQ X ĸg\  r%%;1S:PÜ Xxz,{p 0} ƃk3h$Ӡ0K,̌ ɣ̮ w:ͯ@ FdĂE,H w Α@o<0SI9ܐwm̷p `ό{1ygA o:,s;Рy< < ڔ<ʯ\70@YgK EkE x   Pό_W4 lN{~mi wІPs p 2NՉ37P Ը~YgQ!  `A ӓHΰ9:O݄8'׌&ٟڐ0څ7ڰ F6-u۶ ܾ۞g4csAʀjl@S˭ϼi&鴐ltFokȣ.i@DIK\Atĕΐ8 P t"_vod^` W@F_{/__ P$vf?'+֊ /Qփ(\ J9k C*Z0Fk:.t%ݝD%KJ}bGԩScyM6iӾuF\9/f5TQc^Xi&R*'=Һps]Pm7@,d檬e+\Zl1SVuvw!IyiQWa!c&?AvSwq%.+-jX(^&DXr7&xϾws-I&ɤRe)4eXcwy*'# voƻq57=w Uq8C]Q'Arnn u9̔VjimGs\p5JoHxϊ_F9cZ޵sTdD \P& 88H VbkۗDز~e>Qj!r1Uhue+(< eL&k0O P(A RX_cZ9JPS펩IL.|B8t:584^ ab̘:!DM )g JXU8װI=2f~G8j(ӜUT=fD $E`H&?kOTg͇j”`:B+5VjD(iL6Vt,=!Y$WQ!'Q(32YΕ6 3BJ )z2rԩ!Cb G5YQYj74tU, m;AR"5YE/H lNN5n%VW o;T6)R$,j_],C31V*JQ77RE),/m:깎&V RT.}e3AcAzX{{򔪜iULbG<ьf8LZn< {BɂB򐩤 C:1#'`a3;* B2/, TDH&L6P:9F 9\6hu_r aYfflp^rig-ҏrʟ䲋,:ˡBˢ6裐F*餔Vj5`i:^i2J,ˑ/eՖ`vfprG! "0#<"k&&;#4H6&v؁Ek*~b 覛r)-+of:ohK[/(j54,0D ¾ܲH,$4mӕ@Go`'ID O+ 3ڞӌ7pc0x 64#ڶc765o{L/w05}/jM>x-dpjK0P*,ze'fdz{B,% /|PO% "|_??  }o|ċo!CmeP[ҶuI]+4&qF@01ocl@&X ~.Р:x6`-mn Nt0ZPc%Ŭy{WJT[g+/}^8F.zQb?~RNd$)4N9<`6K IB65a"mxHDR򑤋yC 1PDtNdת$XK<5rZ"EV}JiOÃp"y~} k#/6 p(AKrӛ1>w11t ƹQӚt\9iR=a[ʍcBAbp MXmK0|^ XOEK@(!wҔ(/Jtsld*O :GL* /IIK":Aa)_LTJXz Z@.$P H@æH;Uv5#Xk91\B<>wx{,z؝+W O|xc<% ljA:w*V' ChG5T:}db,ַ4d!9ҟb.zO}}=P;c@,sG?s ՏyG^3 =4QVk-pzhz. FPz{{`W{00005Us5ndv8| | m|!s'6x86(y<8yPyw*wP]DPz8 )g{:-{- xz؁ (0@flY-ç6!n/ns5( ~P~0kЀw `}`0kHwЈPt `wWfx=8[7'gq[,DŽHa{cHe7bZW(2!%ogyX} h W~wgx W0wHw}   ~~΀ :ȃ7PA{Em_m/M؄Y\腺HW{(:Ѕ5cH$0r s0md ||Wsx(w:X7wGGwJYPViY0 ?h& _tlatdXfis Iz鄹{:( ~){+)%P0$ 1)m&mVX`^F8U|'0G9YIyW V YdhymlYl^ Ky){50P,d Y% R d9u\Phvc@W`^gvI!  ' `z  &( @ڡ24j! 01'ÜqlmtiФY_tfpo=z1ib꘎I%`I`mt@sT]HvhY\VdPmeFX7"W! V p pE80&V>xYzT89,{RZopWڤqPe@zltPC֤EvmpK8Kֺh04iit&)LdUr$'G캮ڮGРZkې Fo;II7BJJ+k'z?@z9㙋X*{6Yur]Ut?;+zk׺9 {9-jna CR.݀ P 0V{U\\ST[ d۵e۵\ fKjnK@e{ ga:daS;C-W:h}dhxPde'&p)K|!T—&,Qq0[a{yٛ+ǻȻ {˕kЛ;ӛk+C@y;x'`W58; 9|׿ gf\{!_%D@tkyY68.*(``P '|"(q?W5;I$~Z{+KNܠ FY {P   x|e̼ep0D+&I5lMXXȸ  >@iXͪyܑ8ɅY0PfHav\PGC|/xiq{<ŬOxɼMz;ԬwVp9*i P<Xø 7YHF@;0<{?@@?e*a?T Yǿ)`'(\;p±*P , IЦZydJIl9d|`纕a Ӑm|\]<Ӽdc.^N`kS, y{5` Z~c\0|"=`v:A^pVapUdvyX0s^zd2|.| >^몐 P 0.̀#p> `;jt ) Q!ɖl*I mcp%iYpW`|$~N>$7 *f f6 Ր_F~$TR!!  P 3 vi ^`P_ ,]U`X0ld Fdʾ(B?D_`WJ̦JpW F?(+TtVZFvcYNYoKg FM?Ypm3``P_?oOOO/_! u~˳1pp?^n~Sp3?!!!?O!8 $XC;Lȁ@%"[R: @@0o8 nq+{oeX G2ް~W@|:WNE@7H.# SW}u[wuUB9hvAB{w~x7u( WCK 11آ1Zǁ n|7|OJ[}0 ,F~H+o?}} h 0T @2P 7>ESgL?jUghUu98 \Bư3^ b+d5iBJ ^H ahD0GT"D(2QKh*F1WS*6[ȷ$F;!0D S0@<*@{d@?Q$C "yHH:RLd%IKNRd'7IN~ғ$%(M9Sdd!]Wr}e-[H@Β|K ,@ ЂҸa}jTu3>xM豑d@-}N,cY8YNpӜL Nt2'9!0{2>{3'>O~ \>P|n-h@+zЇ&(>=ZЋNg?Q A-ґ:T-i7 8rʳLy*S~3Cz,\3˂hpf6hS]T@WUUc%kWZֱ8Z PU\ukX Wzzk_Zֹxuk`zظ~EDVuMlW%>@pg5 С d2gsX:ɞ]=@ ϰk]leX(X{X" ([7=cZ[}2׹aenb%g;YA(#iςܸspcUnի pOtU(.kXH髟X >!  nUH`W5wu_0l ' io bثqq!`# ^E, %0hl8$pX3lcH`039M~.^-y! mԨv m6Sw%.X`Vwe@sI 6ӛ9iPZ㭳 Z:5 "A~= {Yz׹5r{a';3-lg_u;gk_,gMo {nVH_r,R{o|[7o\'x5o'\ gxjj h@)nq&SMEwo6} ZHwO+gy]r\39N2yo 1sܸZ]$_) "FWzәC}QԭcRzӉGN ݄c'{~v]d.v]s{~w]{{>wSh'|3'^g|x^򓧼Tx]k7'c-Ȇ6Q"_6FX}m/W5sXKa-bȰ4 kC0Aw>!}>K"pۏ]B@.pf%x;Os?Gϖ9X9PX5ch?C@ @ |@@پ |j@=mX[ [hUXj]p \ UA"dR0lԆh$A@l k[98288`2<3C6xX 3` $7Cc9x-B\@d(?ۅc8SDFtD\!tXD\UD?\?ABèX=t 5`9@h(C= d E V|FhF-dFjF˳@Ǔ\\o<p Sqs<D@@FFxJ KK,KOi5@8kl;m=In}fkP=UZXPEZ]PUY]PS !-|W[WsyR)ʵLGS_5VfRA AgA묄7ۿ%,NCPA(\ɥܒ->?ϕ 񞗭=ГLNQm]=yם]QaI܍yEUW Wbb }Xu?c@\]TNSS_,ޓ\g\^5_h^\:X*t PF4Gk]_`% =`.U`F`~`F `[`Vf^[,[^MZu6XK??a?aaa bb!_JHb%^@H03xe2_smq10M~Am8Jo;8H#!OdPPfQ.eQ. 1XeVnUF,R6OeOf.eZee-KҽbbI\dgnfh~eVhfI~Q(TQfofpfc Qxhftt^g,ƅv~M;Qg{&/P.,200g,Ȃ1{N{;bfhhh|fUQpT@QHjm[f^i^iwμJF-/ЂR*phwptHjrpjrPjjjjjv`ujjk&N.pHG>JT[Cn[z +Ȃ:Ȋkk!bȺn#+;fSq&ȶrrp˾lllll̞.mӞyHi(=ܔU݌úk%H8`pmnf>89ijPpԆqnXyph(msyxg mgx xs WxyOoҾ&m{Xn/pԮDkIFa%hH mnȁЁ?qO'fi;YŎr`ʾl?r$x@{popho_&Or*ny@+o+'plXlpkam߮ Os<#Ёt߁PtHqhxxPB!hcGF'HU9@4(0/vlkWll6u?[z@z@Tp/pvsWR6/!SyO^s?qDv`'wqqE_Xv'y4 ),0׽i/K׆dX{X˷|W+rT|,||-O}-Gm-'o|h}}V/|.+.,2(60O(O8݆n B?@t`toeH@1a)h0:[i!Ĉ'Rl"Ƌ6r#\"w:K۪l'%LfҬi&Μ:wΔg'Ϡ6G4߾}3v,XViuj׮\!A @Űb%~ShňNf̬i& 8G:ta0a0nF $lD 7ꄡF˛6kxr2aV T6L*\”e,3f7G³b-~8ȗ+oWTU(]ٷo^ujP9snWϵKp࿽m3_ ,XG- FVl ҵoCE& "AeMRtViHhGm\5x[lAƀcE}IZěF9$Q- =ZP*Έ*"ey&G)Q~j\upg 5W` '1θƌ1ţJ(&xiS @䕗 y'z'&X43I'ofEL6FZDId 6,RJ -.{-jN>TbUIYjf^)٦rG @po )-9_} ` : =)yD^/ *\2/lfn:RIS,=sl? =4E}4HߓH AE'wC5_~h' *'b=F.AF]? \sg A8@ @ k]چ܌OdsX <6A>$;^;ܠr|{R>;O|+=G}5NOHPb["859*@2ܙ7Y >ZN w?Fv6 86A$ wY(fё.$$9B,=3O̮@Fn$^6qfx0BRHN2@\ ,mAܨ61ِ@CA KxA G8=Oi$&> h8H4mf+!twHBO|b)qU S= i1{O3K#ɧB-}k r =2",EU b$cL `@aZ,Q Xh 0Il3oT7N~RuZZ+w} C43bT >DnJ<> |@JLgZ[҉͋^aK{Zet]!B *F-*!G + Xz9s1{b#):o~d6C.3b2Y@IB(}H^{C)'TnI44 RKO+Z|LR 5c [I׬ޑ2ш>0"@ btp, IZ9*7jUV٭yXHA2Q/P =t[老'şxn{P*[VBd$4s'@4`ED h$H3t>,`a VP [Yd쮆6iBc,d Z(q$ z_,o`jpL4ì.ACdJV c°3l-AІ>t'6lc.SiK;;ک+nes.t o`$5nP*`yZ0 U_5z*! u}It }`gv=c1һG=듯3BO8gA B] \pKa ?Bzs@5_`>)F&" 26 BN vFv@| %m{]Ap%ϥ}|Q'l^_AH!J`J fj!Fv!nJaaZ^!ơhޡ tƓ]W񛬕[ 0 ߴAj^_:!aj(jfTq(j`h`|(j h`b,@0_.+,b2΢jA"P/b fa@+8")*((r3] cb'a'ba !   @BM )ܽ=b^2%*atF#HHH-fUA9c$)F2 Rinz")b" uŒJʫHĈ1)ީ靂xBv P`%-26*NVj^*bf*nj*~)ʢcC[p]#b)T+knfk`A謞_ъn] V^+V+x HչՑ']+++'F|k۹+SX/m#C#߯Nt/% 0ƻ&?Nm24¯JrK4LtkoKtJ۴mCmF$;E0^FF,>5bm6OU74B4W4BOO5W5DXk5v5[T[5[_u[oZguW׵[5W_Y[^ӵ`˵_kuaVS_6`۵];rd b7v^/aW5dcVs]Vh 4i7jvD@Z2brZL. ARbb5Dw$uP/$Kr$#D77P3wsSqGtr3tW7vKPS7wsuStviuq/ww{u#t i7j7|7{ w*w}gw|w}7kjcI 6]Lk]~jGO8SW8_[8gxox"ɊU֌+8Ǹ׸8縎8899'/97?9GO_9g[)ܖ9&m99tyR9ng)TC(\D3.t21Ĺ_oKA\ā: *\D(xDå..C3Xz5BGEx19G?O::;\@D\D4y'āzC7C gw?oP{GB61?. F1L)p#zǺyWD?4:E{?;F[1`5C;sEd.B;.TE9.Bw|<'ȺF\D'UAEA~t@?=G;?=C3=ՇG=gO}w=_}y69k=sׯ}yB5PM3do4P7x|2D4p,pݟ6pħ{{޿:5D_.X}}2 Cڷy'(zCt-͟@WGzAA>;ETCGdFPM(9S;׹gEBk:E:,\D)tD)\DSه?_g|y\?A}3gGf2Ic0  93Ǡ9vdH#=4iWJ+Yt.pi01N.mR?> M*e)a fU•tϠV4mZ)M$n\r 🜄eL9ǤŁIHޜQEr)W ɵ9wyMУIl;rjիYvdfi׶}wnnaxg6~yrҧ qtӥW~zv۵w{upӝ ʵ ~|vѷ_} seR#DN, 5ܐ=A0B+6ګSbiњSqeluܑ} rGkbYImby>[{B 0K=cL$0sF<4,s6|N8Id6s<BC[1Y -TYfQtYxyH%J-L5ݔSJӡŗkef&d3)]NZk>9^aGmdb!Xc]Vf}YhZg=vcF"Hx5ܠO$YeDUFk"~WS~+PCFXA\r-WYUV3t=D>puWL_AG]YY~aYi9攅ͶF&Vo5JH60]u}4AOQkjH+5P6XǯsWTQly$[1ia[mQIMX_fZ+ NI{%q@eڕ/K4D=G,9/Q_9dsewK,DK"ݐ{#-Ptf7|ZTQm`u{{i?_{_{RVxaѩcFp+UҰ&7gMbvl9j(!HT!Ab9BBBs(B 1BہP l)92v% CUe@ħjQ^&)}IklA*]11"{[A=O{\b4|el"5C|v'?o}1 j)e08.XSYphC> /2((G94 D9PT)g(C[B!yX CTB e`PD 'q"|j=ǤJѼ*>Z t? @Y <(Bz:ZCkR2k']טp>0L8 nӺd3eRZYhJUL]SJOSUg>yW)DehAyյ{+nJW4uu_oSw lp 5 =cODJ=-g7YfN'F5FQsR4VZ/Tlͺ꡶)kmI|( W7Tx5 +XҁD\btj31x/`&b?b GNz"= |xyfbsdqGLG5>-WAN$+}z+ @~a_Vse!ZY" s`լ96FIL;ֹelfFGډ^i ߦK3 !iv#oZiOq>%<Aì~=f(%0;v􂶄6\z454 62_)^C0Ijj0zF bDMb8@5za6T4ލ1Xenecvmg{JP)Am*o`Q>[{>nKn橅̉s;Xz)?Qԩ^1 fy)Ҝu T8/|{w{A39MwbaeLpFܛ!5 O;y߳<+ox=_zVy׉ b؂hEfЕh2"w'߉|?Mɩ_ /A/E^e z;~? ճ`+ fJa'UU*`cwt͇&xI/{zw,9P@pAARPS gif4ñ=ZH!oag-}0ToT0 p  'n coV/ J^DNTcB "0JЗ0Op1qU"i)º]lEd` {KOSQKHpZiqaZ`]^qMQkj !p$AZ u 7qaˑq6Aꑔq۱q ifie5$ÖDIU2R##;Q=r#Ar#3W!AtA%^R%Aa\$o$=R$s#{r$?2IIj*ON$ ** *r***++`,Ӳ, ++R.r.r.)˹D"i#A$f0W@131_aFS2u1)2"sPA4C3>A(i#p HBZSD^C ` ns r`7ˀ ` :A6p`91D!#0#jA2S;nAASà޳>? #=3$s<nRAA2UD%s@4C= @7>3 3CO4@6ԣ0[E_Fc0!;$U!;ABPFHA<EO @ 6 8?CtܨEb"-"VLLMTM۔MMRRN&MMOtLtITep(SK:63 R7Ǡ K#QOKBjҁSρS9UBƁԡTUSUUWUYԡP5V_5VkVo5VSvVgaWUXXVWuWuY!N.R_e59J U\5\À i3]%K552%k!TU_UUuvu`__V``Ya`!6bbb/b3b#6cca@dfî]V:`~jdjpfspVfY` 尖/K:Rv55^/LuTMiuuY?djjkjvjVdClE`CvlVj6k6kamdE4h9Jq \\@pkvg wgsquq7qWqu@^`^Pb/n;i]aUKTeuW?VkOkcj^NAvOVvi7rwv_PxjVmǐ_D  [3=q RoowpoprǗ|˷|c@b@}s (WO]$6w%LITA7UXVmtUw`xa^hw8a?kV˜wHqHw[K`po`V p 7||rX}c@!똊5WEsv aVtwu$xvw8uݖ۶mG %Wz1 pwxpgV@pg@ r`L`g)@ tvqMtr39pd`}`G1]W%$>WX9yaװ%i { |w6p)@9 xrQtR@q)`t` W9aJ uʖS~tGWW6ڡy! ЙY12 ~fqpqׇ|Ǘa` Y8=\{U5`Z#ژI0p hw fAp٤SZ[yQZ8I< /Q4 Wai_O-x|7?!8V ۰[6j x XV!Zy-dW8 "@ru@@eW`Mo;)tuq ٕ]aH@  &?(=vyاz:k38\%x xx;z{ջx!/A[yEy:Ut7 dvfpYTyU W!Wm\`gG<}AwPڬ[ rĵ ໧X񌎮zUUAA7j|W,k?;ہ["]C}u"yyqrWܫ9eJa<@ n Ѡ7}3 |=u]gZWe|Z]Zi| R\3ѯ 6Eƛ_Ak 8ܽ=#:}˷E[Aa=yٴOT [  < =`7R ؼͯ>Wf T@(Y<^ܶ׹ ,ba@g=q<\}3Dmќ <ȻE*=!\7˕ZFE{ \9~ꭾ^볾?apK}ݓ?^> q \wvRP;b@cv r J9XX_ #l 4 rmS ` uuza˓^齾y}雾뇿ꉿ~Ӄ??^ޱ |Lԅ CtDB`fv­c?_CFIꄉ 0W1ᘈc*> c #Z|92ȑ$KmZ H!N5ftR؋*^d!E6WyHG̛d鸤e3Xܹ3<˃n?|\g Zd']E`vluq0se\_Xx&fp4=C-bChj}`i9dCQFmf$^`FD]`qWD)_-`"A^NWMb5fֹud&.J*ԌBgvI1| 4li]*hd:ha~9)4%sjtEisHB .0* ?\XFXcoh]FB$|@  "$!AGBjBVbkC CLs[Gp8F-1o >W l ~p: )#MbyF>.lB GVe:C&,XY3cfaG:FϦ6/q9KvNO}؍>(3\O~kw +]B,1N { ;NkmN\gb`dZ9^ՙ RANcI{e|?s3 z-,kYK^60E/ ^c 1A,D!0J<"6D!1SG,qKD"#*Բ-l.TT'hlvYFdIG468H~1C*;/|A ;$dt^h/]G'a/zXK-o[qH$.8`JїD"/)Fd2D, |-ܗLA6>荝X8!&TY&JpClV1Č8Aة-\ dN' JЀ ͑LB0a>z8KZGIKjR",=R}t4Mk ӜTD)Oӟ/-KjTjchQK[֧ SAS1p32UA t+0:t+  jzFF4(ț{VUL`(؁ HfP`Wa( 8<9S ))}i'Kt1{2=Kܚ>צ>{SN45M]:>wm={j,hTs QȪ}oGxP2%3 |׹XѪUր l@PDmAc]1.N@@ `ĘB \ q.,V_O6AE%ջۍnrX>[Y.7 }bD* ֥)+>+u2y{^8,ثFubώWCQ包a lZpX BbUz'<]@xhآms'@r0myRڼ̖>q}7qmh 2A[i^uwt}D'轌խ-p:1-kK8dg[%}êN4SZҘ\g Pk~-7qb$!n!nS"kps쎻G* +Xܠ6M[?ιKzޥ)MƷ94ou5HL!cuY3WV! PL˘m} b`ã^-Vxdd`A-xN#u_|&Ppcp~ n@  %s՛|77\z ކf{{S8]2[2.H=Uw5p*9 @C#5ja 1`3Py4"fv&3W9w*W9z@~J7#9r#uPB#bJBs;1sƦDaLuSl||B|MZuT٧Md#v}Ze_NG Itr[6RDr:&jI#YjG;(9Wk+70gqE5k3Hd5Hl8HE=Ń9v&AH\|DdhYGhh_}aoPH&6iG#ptr&#8aЂ SR^GShjGi!G ri6ru{H{Bf7XsSxSgFgWgm6ՈQG]bS &Sdͅn tWh5Co5}oLxM:8VȀ#2oPHk:#qEl[`WeQYВY"aƀS9IxrF5B,0IЇdpX`p5C/(lŷl42n6p6mn ]p Ў5 e6]mf|f|hZwovbd8oGl#$X&2*Pr bp.Z$Q!r.>plD5)39,#eOB0D%EFCG\փ7]giNLJ|i7ք}"wO1/?6yk*8,:y{A gYa)2H;"0R%Й# dHʳ<С0 |QdK3^l ږwl>xhXglXoouq)bʓO"x"w6z(+pR&a.)^`ZY25aY65+q,H0@"$gQAI yj4SٛZmu*}zrjơ{ʧTӐ iq zSIu?*p iE )h\qye$d_WÓPAZ!\[_`"$R"'b3h0I\:j@`9R̈́oq**}ڛ^۠TuQ *0ڟ$1Zaa$@4/Xj^`ۇ:+!Z \p: j[Rc9a> @@ -/ 1+1 Q 79{0? A[ p DLguU *!fdg^RW!1Q+_:!~>:%(ѳ o q+sKu ΐ Z{ P bf˸r hJ`r bg^PYCA`а5]PtUBjY0%+<2A6} P s"0 }" k(2 *AA\pWk[XҽnVUAW0鋶^˿\Bۿ* 1 c]0 Kހ8; p 9 M t p`U`cVP\P5W*ljV$bk9OB;^ù?-ȣ5PQSi๼T,V\O q>-4 @BRVJAGm!\Wp(Tk0Z-м;םٟڣz-pڣڦ٫Mڪ]گMڧڳڬڲ}۸Mۺ ۻ۵ |@-"# 7qHDBj0ؑ%Z،Ιۨ -MM" "0>7ğ-DM3٢!.#N%n]## kp<)G[NMsNΘա$pJL]K~!pp!Q\M._pT^l>n.-e>v>f^-N㹸4rd{{A[>>@U%KpFMw%00M pY'!0`~\npX0彾>B JO`hXٮ%0np.&P N\n}.^|$Cԭ?Z,AF\M>Q>!x\ "'(' "2?1ͽz?P`;,_M,?-m. 0naemw/ȇC\ /QHb  .BPP WP^A$ o[j&ޭW$0LQF`pdcHWȐy?j̐ݭ4՚ c/mZ䇯WOQB@ `P dP‡#V!Ƌ=RED|0)bʕcʤyg7jԜyFN=}K1uŒ9:Fi0YlUTS]zjTj̬i$X!̆VC#uQnېZȹIňw*8aG EA#Dd9C2lYcS9(RJnzŊӵm̚ң̈́%-Zl!|.`>{灭[|0v8(y!ğG^(Sb<dtTxQ זj- Cжܰ77n20kԢ#bHذ<;Ѽ@LH#OEP\ZY$G'[g\/H EK$;)J'|0`,=rb m4ITKj)5r 2ߴj 32ؠ>?(rJ)$*MJB)tQCE2"u'4C7eICK% 3VU2W35VDR3.K$ˆC 0E '8{ˆ-hm@5raI93~{ >@ZuU_=7rUݕ5rm^yw{W_~_5`f)<5]ɀI&`i38 -xوZ 88][ fgfo9gwgd )Y* #ТXxؐʷ;ۀÎ7B4F;mf" 9n ,;,vpG6 +8JY8Z.8s؜RcNkgvo݌-"0>x> ,=ygy矇>zkwuOϩ c ]cH 0‹*Nok߯4=!c|4^}/t`w OY Zm `1x+\! uȂ:A NB+k eCІ5 uCЇsQqT?)O5ZԨ$*.X&;RYiКrO(*1Iº ҶrM+m&L`WU"y%_*u-,`X|c끾V=d!jVma)[Xrִ-i;B]mjQZ6i*Y^W+[*m-X%<@}r@4%M400@)nּ5oni{^u{1[[wy[_w};` x>o~ We lٛa6.+s;:@tU0FK cRsl_nar/90Y3/pkL#yI` 3  |see3qPY:wfj`6k]۽v/;W SWiLH@#ory%0` V7KfS}x x4l\ xqܼ@қEuA>ښx 0@I.7}MZo)f+`VFkI߬WS>EtH.:K[Ҏ r'z͛mmS޾28-NS3IS޸+>.‘;X7pFu+ go{y[ `@!\魼 y(֭/W{?l^deccK^/ၭzMFU۞4n@=7W))H}=l[> 3#sT#R>󺼣[# 6+H5.SS5?W84/? @݃5T3t/ x<[;i۬W{8@@CAAW+}SK5t:t+jKnS?c r s?o?`J]ӯ\];2A#*@AK28D(ӳ];B@jC?68|4Bo#3q3 4ʩsBO|EE&˯El4R; 7LQ,+B5e;DQLC:5Q?S\A%B5CEDUEeFuGHTDe+KEiMNOUPTL%R PTUUeVT0XUNW[\MQ^TM`aT^cR`%VO-9dTPeVF5VS}9 5؉9UdQeVI 8S\hAՅix-k%U9 :1WiWymTc c0TmXmpWxŅw]UX]جX}TzT2 2 i~~ 8YŊͮGuXUTR]PX\ȅ\ A݅=ŅՅYkVSW~Չ79Y986,-3[ [Z}ZFETjȊrm۷]T04 : {=0H\} EYAX=\(c0XAo}]\]\C5\+Z@=ٓ 33x2ث HEWͥU]E[9AhWXXŅX0X^BÕ7VXՂ3X _9^FM_E=E=U8D-`mCMC]_L 8308hY`n``u1}%~Z!  F\+qu&b#ay[\ ڝ H"q;x[ m(P`݅uXެhmfTZA-c8c cPZ\x㫈U0WT%'^NgI޽ ;U486C ɥ_ =/ \X~@nUfp%ƅ[Buv=Z[veXX@e%$5}03h^IX}E3J ]} J08aQUm(XBMb\R=>A+c&wgAhgXFAb+=Eޫpu}ׇmhRe\f[e5&ZA^RXX-=`AMiS>喖cEY&]`Uؙ^i.h!^*P`l_ is0Y;hHii[1[u]ƊTu]dS[MVkFh^LM`3psމn8ۭVubbEXFTHFM6Bmf&i Z(,NՁNmX@,vؖm~lnQ=6Uͅfvn[m $N" MHi`ntMF) ogj p?'oOppgo% :F5eޅ S '7 YYT.#) Ѱ;7 O _ X rm0#Gm%g&w'()r*GrTƔ f"eZ06P5g6w5O8?P:;<PC胊xWe{H0C(kqyI!gEywk wsttOʏI~ɿGkaVR?' =uYuI yx$p Nzp 'M$1R$H &8ktR3&OLr._%s&͚6su4^~)T(/^^NBTjԪUYͪ׵tMikS׮&LدÆ2kժXves̗,6)RM'3zB&D'b$Q#/]JYaf]hˤMf3!I$YbJxhfM"# &3IYf=}Y\#Y\7O^}ݧϞ{㧟vm_os ,uNd_1(Rqnֈd$ I6YCMf~bRRLT"#[b[v֙mYoG4G\L6StevS"{(Ü7pYc L3͐kw{ş[ s 5Ɣ6;}d`fad8YA%4^h=h%2E b>a Jj#J%bQ%HQƐ`ᆑ2N$ENyM3txe-2 6 ͙06/e+Gn/pVin3J3+)Zl1wNS]}`4Xq#]\Ye8NY\rȃ!H\Rʅ-S)r 2%-s{h2EK:=ڛt q%A{SNO*;Weq%/0cY+o37O+h0i"7Zgvs=. Lހ&g-y0z.| V@%SVPk!ǘQ s"_>jH"3n;fz ҵڊIMh]uNX]լd yܭgӊ.h^.c[#>ũ?mAGlh#s~b1=9bn}h("y8 Oڬʔ0dŃ4C0Mw]%ճMdu,5Be8Kap;%0QsO?._ԟXXn`8DBP9xءu@ Ku XֺJHu4t!$%)J y&U>< Wp$dLą*mGxF!s  ftFaYް/esqμ4FPT a@DPaIdP<D/!j1B?%Sh,ЃN<)O4<#A;Q"K&k'S. ĈW}xy_"LOa 4どLyS^证̜v\Sb\S*:JҐX) IiNӕІ#gB&uiNW,fq`jL5|=jj;bZ,ˑ|nRwve!WCVh!*+ kGZ]<)Yɺ%SMsWmC .p;*auG@H.ks=E 2XebZ6Wu댩VgXP1R~ rnhY- .[gE/~nƻfl|N7>[pVdIS\uzYNsxVmO:g5D`BRַCAB$t7իe۷u_eK71 [%2 \qfI r`,߸A29ZHs q{0K;pa:eF娐0ޅL%zguduLB|ges(Ι8:>~[ل6/}?M^Ox0]ԛ>>bcc' YPV~w:Ap>nxFP%eP%k7>j/#͢RJƳ3n=3MY:hQg$1Wɿ9pG5?s \Siw_T]UhM%eu?<ܣ( 됌 ̥TzȥzըZZmZ~q{CO0QJ)ST0 /ՍxxϹ߳P)ZР0U9EY1IMOf\ֱH}VT͘%MBAPATBDC!^=-ZX[a-UNGwT8܂%&L &JKNK·TQea91PMEjaTzyVeU=jъ К ֘-)"P) n`c^E68fc=Wc)"^^G Xf}.L0z`h' ԝ!9A#^6DRdEZEb$9!G1 -~2d fA GhppD G p00 Ax q+1(BqCK1G ưnoo8gY.mꉞtñ1ϱvC,ts'.r 2 W+8+q17#1$)Ffn4(-ei*R\)pxӶr*2r+r+sr2Ap`[20 +s1r(2oc&o͓q5[5c5;=B*x7(.399*|p*B6s|+HCubu]g\g'oIPAoffs6ggvPxAd5vV`AApf7XpAn;լ4nK7܂(B)(lw4pv;POx7S?yg5tpfAXA\A|en6yOw.8Cv>*5B)\uo~O}_T{wX'v~3,uuxQs5uc7>l6(x&/ƏwA0wWAH8\AxJVNP]Xyckys9O8>9 .Oo)4lywc 8x1\dpgT`AVcw5gl-U2z;CzK; s3{z5c&3392~777Ƣ58:ïC ::#{+;C94{9@{KC;;{;C{O{{{8[]+B6:XsvX5E{A'dGw8dC:ﺯ:9 3|;Cgk[|{7;?;{c78祖zf9YDG{S>_soO;>B)CSB}rfW @@ ~ p@L20Z3i{E9}{=>o{~<-~&}ef#0@pQc A5pT!/fDyf:eTQ͙3=9dI'Q4eK`Ɣ9f\Nܸ䀪#'T]rG%UiSO΋ jUOf+Wy[Q36mժXvEmKoƍۑcF3p6#GaÅu k0v\˗1qmjqJn8A=ZiWw]av xox;ݯg}u]kksyϫ,Zcr{t7v2c |[`Ć??c!"+N@6k ;@I|RǴYֆ;n 1]͜O y|Mln;fN@\ q+f+8<Lӹ}Nj\,뺤,1 _TЭvh!EYlImR;kŴ.7̠ COH *Ne?'}r`rJX@\kLU'X7ceCS[N1iIW4ފ6Xb }nEqgҴ*.aSG&#R= v0Bd{ /&tTwUV{HC 3xLfX&pzA2#◻x@x:N4O6*@1ܙiϽk}!|/(0ajp0Od!jۡj 1ѫ@T`V581XǓ5 R^_ Vawjz> w; w=uT 6g&Haqkk  Ásj Ё LLu:SvbU ,#6<\W ʡY|-t!@j\99܌jgnXZ?'t&hsJ2 ĠL/ lLzwf&ûIٌ LyH4J!2ڷ.HcDɦՆo ] @|T@ 1A*@Fp] "9GUW N:1qGQl$|PaőeHCIP3,UR@ 9Ӡ/RbEd`%4;d INnL,;{`f<1YMub PXO3+JsU& :M-ގ 0tЃ$D8Фx9 ;g* %=0gR#Ĭ>-d"@ z*5-Pl Efӓ3W*V| I:㥔 )(H` Z sd{Ǵ8a 0)(!,:,NT>q DAxE`Rq1'v~d#^@B t(atC0%``(R$V䠔[ A s 1֯a`cՎsZM&늳Ŧۍh)n\5{D8QsUcv_ʀ$D.0DF)i (@FOwWP&1Пv$z;9 F}I.RhK C:",Ǫmqzievp?epY=!Y[-Wi=X&BАyb}8_XLI9$`lz+DFr}  KUo.U שW-+Ԛ6Y9EvgNgL F0Dϡ/Yj*h¦Tiy!eI+8nj'@` MTGycC`/Z3 4Kװ'G,7S{ճ`c'E!'v*߉UyKO#p F7iTNI))&ϻ!shǐOL?S a+`Qx~mc0E0} uø}pn+_Oݺ%3Y'p4tȂV#o vC^UҜ?(TRAc_0pFH Zj"Ae'w83.ʦ_W׬sBG;a轏 oN g!/$b\@H-0p`!4/ܺo ljtaԏaQopbhk! ap<#oq ʀ  `6/r (@H(@ I k`G +oOFX&p2b4dFόp=Q҇popLQHU1m۠-оO۬ Ɛ` #x LȞXv( D` ؠmՈǠ / PPˌv!aA8f/f'aQ!utNfRr"o nb::v-  @ p1&À @ g>3 &9  `>⪂nA-7}@ʀ6 %%t3 eiD˯da`aR)R-R15S/T @5TETu! \a45UURGZu`U'5R#51aIG-JC2x3KrXgB4Ӏ eJA!| $ T3t0 DP[u"Q!J`__6`v`6HAva`U`%vb)_a1-WW 2]tOn PYYT_* 7K[e<UO^ Ϗv5 LA"kvkkVk]ĖA@Atlm!lʂ:nkjc,nf1;$x@`, O,Bi@n xO Xiwn9 vlYTMˠ8cq99WD!aR*y8g:A BHOcX`1cj 1x9 Ҁ 4:8Z;Z1r1 4[y (Jx-yA`DΗZly+a".^%^=i I$Z?"##.&/LS>z1J tQ^75xJmU]mvQ\Å7{xқ3׀ >~ R J#9EjCE]@ܕ0Uz \F;^k:|<|ͳAؖۖmߖV<\kۢ;<6ƣK;e/tSwҪϔ8&k{]I^o{3>L%Zewbe(:-lBt]{=؅= ] ؇}ُ]رA؃=ڇ]ڕ0٫ډۗ]ٕ}ګ=cbc9c/cG:]уs|]ԥvjJ"{y ѕ@=$C%=H=R;U? :N3֣S:c!o=w|AE۵ہץ=I>]~K>ASR1[|.٫]TrUFr$1C]ƅʍI[a`#ӏ\Y୥Ae޾Uv0]ɨ›ʖr;mq?u_ 1&3% /= ;GfS_$Pޯ"J7={ (`BPGNE((~Ê)jǾ7jg?^ H|)\ȰÇ#JHQ|]h VUNڕ+(S 30cʜyFMM5:iÅϟ.\QF ;da'9tPBȈ@ 9VCGRm oaȕ#͛,m֘ə̚(5 Q M]++QSHglΕK]8zsikbˎ풹v ~`A%sƍotn\A̩#`5]<{7Gشlbm˗wH`@@X`F`<C PV HED}傃^Z:@(aY(Z[vaц,, .ԍE8hROu*0`36l;hm#5 0CƵ{6eӏipo*u3 2tӍ@p )O%>x6k )pK pGGIkv,`K4`-h_w݊\6H*FQ 5vzbHBi‘W'Y p$7A7:lC 郊rp&<rl(7P! hS>~"r7'?aآJѨuyMXҳ5){ݭ|(- Za9/iѻJ=n{cҶC|Tȧ%moK_JW~ vc>@|@:'}Ȇ@:~s` BItX)Bu'( ;fCaωQtRJCU  vY2d)q7T{T䡸uы`s#f[F~`@?"G<D :? <#)I#2 &Sla!5BH(f$׼JVJɕV,_`4 nHRnOw:0PJ<&ے̓}DBA la@FVEn\pp'}ɚݐcR@H" NdVnc;i P@wk'91hARЂԪ-qYZ\ Z 2`\Y )uMMGֽ~1/P &sg=++1?15.Eo(Cfh'SЩ^24MS]6UKAvCL|zυ߽nrբc;O_Vv9wC#Dz/Vu8/fB* sHLjFNx/zCGGyYE'; lN6kB{n>p>ikD @'U& ݀Aǁ ' &'0|1f>;.=}ICtzzgy7XT%```@i_"T;gunJb3<&oFdW\C{.\\8S':HǷ8AGr/p(F5'o74Aaor? u XeAS:$}aV}Roef,DD6;;yXp?zVZ([a0c^W`[`0GuMsvWQ7vG67zjg\g>7 (wqH^AHpGvN U (x Y1΀ X kUOsl_Q?<u!jvHyhg%vAiCEi7sxQӕ !TwD Mw? @B5 8e5gOlDdfdBM0 60Yy5)E9eV`"ycpɘ*s@EbXEczdㅭgvyWB)h\pw Ae1ܕrU܅kS>]^Q9&6?}P H}i}ooFc_UW5z"З쩟]0cxaNژ-Iz(6aA~(ofEy&, my>*rkHr ?WV|twq*yG|y*珇׉1P,MR/Ř0AZ: i`W@Nʓ !99D)5bGa^ZȓeA:׈1 {Iw|uj|ǍSfϊ(e'nBgZGa16Yc ٞhX@MZRjOKH ڥʙ`ʙ"4vQI ak 1ΪkJOjV*벤ӺrdǖyDdd@x!60`^"\l;i`F&IY\)Zʳa4X0- {ֿ Z.pͰ  njlj!.:f?:E`{Z`_I7J ,cpȞ<Z Ȏ\_) p o<˴\˶PNJb fА ] _Yݛ)y|;|4qȕVa;| "bLP  Ơ\|ϵ p @ PI. o6j̊R:hW`ܱ^d!ɬWe=Yp[ʉ{Iـ | 6}8:<Ơ  @F]  P=P0QBaFĪ A 1x^ Fe{^_^]h]ҝo]b$  }؆؈؊ Wp F] }٘ 0 p W ،]ڊ}ڄ=تڥ 2DZy_@` [QMFPNLv8|k(a ޺ٷ !}ݰ ` jĶhgзX``m]" }XPa^Mᦩ|=Fa<(*,., pP 8@ V />BtIl͉ ep ^p`Ջ9a@O^p p < p^-  G-H ހ.atN)x@C|u@[Pxݎ\_gp~~A ݜnOP1ܽ﴾ ʾ׎]^WpU cUWҥMz t@g%8֝'9!oB<]aхLNO\oUC\+R_%_ .Oy'敬`k<۱op҅vk|PdE?yzɒ[O]9Kw p[}ָpmM||Q}V-\;ɯ?|ğ8xq[)9?s/~+DSdh80`YC%NXE5JEE Ìf֘qɥ0̤YM9t̘0u:f,^ӧN iL5.Uieƌ Q& fӞeÂ[o@x&;aC^ sӝ[W᳄cBbOfL2 0s给EgŒS 8m1R&Si¼¥ PC tniR|LܨB` 3,|\!'|yßW/w/>y1?/@3ԻA,x V+߂+j(‹ +)榪:Q34ϾۣOqGyH4#C m̚lnĜ7˛JD[, &̂끻#sN:N;fnmNi`ff2x x6[,5JNE0,j8i{l :H}uW]ouavg}Svy{'ؑ>vu/^y܃?^vډ~woOz5@ ?\F0p\b.V8h1֥j]w@&{ @>P^)@ w_'||AF0OgC(II~Pt"a I\vA QC$bxD$Q! OD J M8_fHC0Ӫz0kdcF8ro@xGM5"1Bh X`2W40"GVaw'U $H %5`IL.d'5YO^2(MꑒT(J8Zޫc xBPvؙ}Ha F002a̟T@.喕v]]Qu?6'"".ǡ F1p%wؔ-KD]T(ʐL:d8N2\#|a:jU;e KU"sW)ѱv@Ys54\(E bL{-hKj@qqi':rUg/Jۀ *"#IEqZl]esFʳ-=Nf33jD_I Uޑ_׹Zx5ijԙh* 7@D}ٔmrye# ý2M ܣ3vwWӉOo  O[Jdǥ+x).35oS#m/p[ӏ~u VOݖ_wVwT5먎t 55aNBHj|M]+骍1] | iKf' b|bl>z'>сTw՛? X(bᲩ-(qf CE]Y6LǼsq11Jmf+ ݇9LK{ u;cvQRǠpqK9OB:FPH[8Ʊgt{=w}o+?٣k+uKJ\ľD ừ):/<*#ਲ਼.q?Ы̲*G$*5:@DBc<4BMj%wJ=JZȎȩG)JHK˯$ȤHJtdLId Mj%*DIDtάM& ҤLΜ͕쾿lBlBlN(GrL TL iLx3Fxiـ˾NKOϠˠO-I|<$PtN[*'% PN@:PInQLow$OyJS5jـh PNݼP Q! %5R Q$RR$&"CR-bї\:#Q3,A"-lIl,X hQ,-} =S>P?TBPC=TE]TFTN=3{^Bt"a"&cB̹] Ji,x&hFmUW}UXUYUYmEr>Q=T|$~'Ȃ"(OT7 U?}7H#@HITZVnVoġUH6p3`R*:K1HulV.?kؐV-H6 .(=XMX]X= 91XXET2(؆XX YYX:(-م%4H٣@GY+h,9ytVSu;V]ZmZ}ڥ+xGMPZ1Z+(U[-[=[M[][MZ;a lY40 }#7eDH ڇ@p]\m]1@%˽\E0-x܍\ ]]ҵ0\ȝȱ*p383";˂*D[ \Xm p ^-^=^5^7X7/\*{"e^^^^ __-_=_M^mhg ai]k]|e0]``M@n`~`` ` `fV5(٠T%0EL nӝx+H2gۂl!6aaaa a!b"b#."fVBNٟW)Nb,HA*c2!@f#c$❸, -bc@cAdBdC.dD>dEP`-E^b?=NNNOOΊP-%,"QeX~eYXYe\\e]e^e[]f_&f`PVRg cVaxc]U ggq.p>g8-,^( +pNgt&z6gzg{g|ggghNhVhsٕxw,p^h՝[% mSՇh~ 8@>i ^inƂHZ\ni鞎ijjjN^jf~jnjjjjƂ-^j4HAjkE\pfݎ ɜ0@FkP`kk&l6lln~lɾllllϮllN^n^Վmm^YKhxkkVl^flfk~nnn^nnn˶m>nlVڞmno~ニئofFۖ^7n7nH~k빾ovop p o?qo'qpqo Ӯڞ$_$:slB%0n,'qq s06q_q'g!7q9?2s76"/7s#/">UoFXr 8u=,3p&r-kq5wq=GsR?QsCO@I\lIWXoVWX][7@[WWtYuD_@ougOvX?vVvWvEudɼUYvivV_wqgt%tnrm[k66^qnd|}w}w}ww~wwmOxq_xr'w|'gx7y_yw]x'x'xwoɖjGyGxx~O7yoGz$ z_1BvE8`tk[mwmy7x{xx|{O_yG|x||˧zOɿʗ{Ɵ{{Ưx'wǗzxŸywԯGGgƱmwDžtx7}{'ۯ~ȧ|?||/}?Ogo}w'w~| x lX D 0C %<ȱハIc3Ԩ9%̗fҜ&3-Yv2B- >\hS >thU r8U*XUÎ kvk²gײ%+k[jЫEDU6Q#Ȑ09aVa#߅af (bLg"i(*TRK%YE h䚷I#eߍc5!uavZdeTd%W^"jyUК$ t䙥im P $ppzsn*:l1bexPJɒN(LZChPF( \ B8k.+ VEi`oI4!e(Ѫuy-5\aC ^0'& F `'\/<@X@"l2r#nBB G!$4[,}Br:fU=AW)>1 >/BU@Xk-nޖ kY $]K6akJuOق6RYp%F]f ^@흆A%įǽB13C{o(T)C2:wB&1|-vo5 +$@tsTCp|em;4 x'u=rAc= փX5491"c ܋r]1:5aꑘ(Hdݷ2ֻpe! a'r R`jZZx2q!7偡UT 9O~@NX)!̊뒣6 27 !ؒJxѕ.K>}[ZC͊V /6][ E^tDbc]Ɏo#ObW'-X`HBeĕBAlfcX6vv9~泜 ;džN3"AEC -> \a(čϘ*"0,)40%oPC]fzԄ.sӜOce:Z̭NRk7صܠ<'vh'GʼenDFt|d$Szu404ϳJFô`7r;ٜ oQ4W3ﷲMk{5qzAw8&?y;SS)o'%>6'efDkɒ^;Fw"u+F@w-[O=ȝ^\KgǷN0#RN7{Ƌ=_ٗD_ι#/yO{/oy }P=/sz};~G/NH8eopЯ?>ҫM(}z^Ӣ_w"I#[? ?$ɤEϟI6Ol bT ` . __m]=V iɡAIFWĶIRi,aL_6-` *!aaaJ_` !f!nJ!n A_Ё)|^IZ_`OL ^A8@! bvx!av `!Nq!.^$bv #jb.& "(V. ޹^AʱAw J}hAA363>#4F4N#5V5^#6f6n#7v7~#88Fc cItA¨#" /^a0>>#??#@@$AA$B&B.$C6$@A#eV^/^pI$JJ$KK$LƤL$M֤M$NNdIH%;;Mex4%xA'@TF%UNUV%V^Vf%WnWv%X~X%YY%ZZ%[[%[:L^!eNPR.%__%``&aa&b&b.&c6c>bf ^D NDKff&gngv&h~h&ii&jj&kk&ll&meDeަn&oo&pp'qAn'r&r.'s6s>q>tN'uVu^gpF'vn'wvw~'sZx'yy'zz'{{'|Ƨ|'}֧}'~~''h@; kXb$L%75ǿ6$ L./usr/IBMVJava/html/enterp/en_US/team/images/tmscen6.gifmuct$$GIF89a֔έ޽1))έ޵絵ΜcJJƔ筭ޥsskksRRR99kJJZZƄ{JJR11kkkkZZJJRRBB{99)BBR!!kZcޭs֥kΜ﵄cޥ{{ZΌssR19!1kk99ccssZ9B1)!ssZB!RZJ{1ksRckRJR9csJkZ9JB)sRZ1ֽ9{c{J1)ckޭR{Zs޵k֭k1sZ)k9!ޔ{kBRZ{޽ZR֥Ƶ!kR1֜)!ƌ9RJRRskkZ{9RZs{Jcsc{Όk!)1s19B){skBccB{B!c)scRR9BJcR{1k9{J1sRs1R)J!B1sJcBc)B{Rk{!ΜJBc眄kJJ1ޜssJB!RJcJBZ罜{ޭ{ZsJZ1R)J!νƵ祔ƄZ{Jc9k9c1cZskJZ1{k,@ H*\ȰÇ#JHŋ3jȱ CIɓ(S\ɲ˗0cʜI͛8sYCx  z!GHw/Hq@uhҥM"Í97q;xT6?j LÈ+6ܗolWHuoūFŠCMGΑ'ۥsf<L!?Qapkzqw>$'VʄB@"*e]Q(lt|p 7pxRl1319T,1'-f,A+d_Fo+^|sp*x/ϳju<()_چ˰hۧC6o=7>zUWgfm).(-R ?\XpmHL]Pn !T5< ?6 5#ؘ}BfR')~Bw')LbedkkW{q' Ch?P'l>o|a'LP_IEʂ]3]QwՍD*oҽP}P_xY r0O N D)hӢ'|f@/Eo'CF׵@)Lf:h3KQ 0dgC$8;NMq%B~ȷ`QR+̖d(E¥r! e{"@B.l) EkMq^4Jo k忲YĿyj=߮orXZS6vNAY2jf1dոJ~˜9q3 ](wpTJ 2'8lP,]0tB)҅t0LgJӚԝRȩ/ mhl/4(Iԙ4eOTJUT"0Edьx'MJ[Ҙt3iIwҠ3iF0b*Q<4oigWt)K4ZєAMjb t=Q3Ѣlg#Ԧ%RV:X3e!M;+JiId6toG/NO8@0x"G$P-1b=È*{'ԥNuc]V`k:ϻ^hQFp?0>pDUPAuho@Gě%q7vֳ ۜDNx{_ŷ1_~~E7AtXpOX}}~ztw=Byr7b[x@7~:ysz zz{6o66wP{*r 8zWzG 8|X$hq s j1~%Fn7ba R qu v'vu $vIXnMtP 0_ugbV Gj4m3l؆nȆz؃{Pkp8~8s8u}?x*& cxe ](b症|f47GWq 8| ~@xuyxzzW 8?7;hr~rx~8qȊ(hww0Wq}btx D{u5p%rYRٕxYqc fgt.KYI){} x p9Yy }cBm&+Y 阠yɗyqjyeiy\gjfYgwڙ܉YpIdsPs剞_X I p99Y))wjy&{)9Zid?v陞iE YIיdN֟Y":;#JUq  A-d )z!4ʢ02J6ʣFJLڤNPR:TZVz ZХ] b:dZfz ЅЅnmJ ؀tZvzxz|ڧelZ m*~Z^ڥ[ Y:Z\*0 Щʩ jϐڪ*А:z ꪺ:Z ʺʠ p PX Kz q Z0 j zگ Ь;Z{j۰;[{[k̠    !;%K +;--k ۰"K( &[ @ 0ժ ѴP:T ʬ&#>k;c{ek* ?[_ Ϊrb[)f[e|˶r{d۷h w $;۸o{y۷py @D[ p ZZG! a p@tSk Q `0 U J UJʥ ku[_ 0  ck  @+ ೧` [ a+ + = P P0vk` 0  $ʐ"{  `&ۿ  ր  u[{˹CkH+ZP{P Zp ʼXLp K ۷f+A측p><݋ $ik n<̰ ; q @ ${ ,C\~ бl " m$۽p0 c+ n-O|@GmIYWMKC{=C[  M2=WZͯ` VLG|Dր-h}Є g]؃؋ݹ>k؝H؅~}ede}`؊סٓ٦-ڛ{٫M=0i=۶mۢL J]U!PPү0; M * [ Mt=ק0  ݮP}  p߂ >^>`Ůmſ-]X̨[Z  ">$^&~!*,.02[Ld ۹8;9 ZF>H~JLN*ΤUI `K VШ X岛SlN@ 8 D GKd 8N m.UN_zR ް>^~阞难 pꢮn蜞ꪾ Ӻ P ;腾T   . 0nў~^NnԎ.nnn>~N_ /N ` ͠j̫뼞Oj]l n췀 Ȏ (ʾ@  p ) Ǡ ;< -o @J'= Ko 0 V P5 > = U_d = ];9RO;W0? 9Q@r?]_  Pޡ{ K~񞟤.` p ! 0@Ew? 1 \0'o O (oUH/ {o ? .'` pߏӏp2VX,ʠ1Wx=Xb3*GX jWTJK1e|M4uOAdJիWn-\%̪0cX+nWaŎ%[Yij̸#ȏ"IDP8q߿-"=eӨtQU\Ŋ5kbAS_fc$%(֫}͢jXWS$~YvfլcRXpu^Q>ViP7d\ۺR'Sl Xޛŏ'WѤBM}2TP`У A0?c!E.2 J 4辇RY.A)PR*CQDN EME"fFaF'e)ަkfcycIdfYw6'givizjjxkygl6lӖ}Q>ǜmdrnV{oﯻ:k±:qv|90mN;O/h&rMp[6;@D'BqdHzc0NbF|80r;x Vj|Za" ]) ci+\ ѵXβ0^hB~0AغG #= 1Ppt!ER"8IN0]9I.jg؁@ȧ<.Zs =yF|nc)h;ncyܣq̏dBmv8yq ;[ Oqᰧ=3ßh< zP:hC% c80zGlkXc%3UrM GHg@Ckek[HlzH6zWs+^#JѢh6uؘ72U}=JW1ux+_7ſRU խGQM^A? ^i 2beZ9 ~ckző5g:ԟn~qC>Mgwé^1O-)KiZr4G8Bgv])zoyxsCuw,Q~2)Avj]}nM ]Ӆ"d/Ft8ƞe_VE 83Q+6uycqx1,Ezx;q byj$>q4u~׻^W 9Ohyfm#f;vG9Hz>Iа|ݜfHyj)KWÆE,زNhMfs9ݘskhy{-fHUtá I˗͓dž+}C96R_yFQ[㞪sFcw[40 r[~Ǧǰkf=rx /7ѽwwKIwv7M|;GaSZM+;l̬aGͫjʪ:s\;>D~t}AyC?y|C%oq7Jh{1oO@O{}^t#v;lugznzVU5\%v9׾8E^Ue^e);(d*yMq[%aؿrq{~'統񦷠.{_'~|'_g~|?@h`d? @_'@H ~O  L@\@l@l(XZ @@4 @ ?@@ AA@ \ @ AA$A@HA?#> Y?Z  kFb4$ܿ%&|D+D+8FlC(Em,EIm[Fs `.x  kXYIIB$CFNNN$OlH|tKǸ4{K- CK J4n\̱ P$OmlʤPRTG<DI 5?-C(K<ʊSe$O)&N(xӶR, ҬP߻Q@NOѭ!-Ed̆ m\`TJUplT`pToTMRJRt+uOф>5AO6}DE%FQE˥TTLPU^TP$UƼLU)SxRl}-U> ToYMþG LrCSLеD"=Wj5;\t%W{]\vE}|]UuP8=X-%tC XxTW<4xWsXu]Kw}mWrΒ]אW؁=XuUTI?oY@ \UY-I<́-ځM5Z+%ImڦR-{LZZڪ}DEXT C >٧]Z-{?s]]^^_5N_^_%_>}?^v^Mn_`S+쓀;X?h^@þ6aVa. a! @.]>bà^ ־ t)Ea+cA/$c1c`3>cpX5V79cABb=  cAFc4Vc`c69cфb=Yh(cA3nEe(eS>eTPeS^x A#d;\/&NO.B^QT.RvcfWGEZ^KejAdB&xE6pRfoFPg t>WVy^e %Mj6!lt`dw.S>t^g8qVNf{G Pb(X>pVgvvfhSg`He8UV磶g\@`~jCVcRvSk6kv.F~븞k k*T~}@ >c`VFede\.ZdVm^@jCtڶm팶HƜ.^`EN0 ub (8B.ln S0lfpvmގ_}l t^_&a.Nf_{p&B64Nc@lg6ekGpU. XWnkր ĜNp@P>P ׾+׾ ]e\hqPf4we5n{nǽ]A<-8 rfm 8a -'+OnD./׀0w4t24mLgsn.= =gn@r)GBn,'M^tG]8kMwe8n huG3n> kuZ@AќeB'uyu)\hdit}sviukќ,|mvKq'sW'Y0&3t6vcE~8Vd9~6fCEFL@hAw?AFjaa&eTn@Řdg]nžfH4_doDytygwyT5VuEM ,Z!CTڑ $+ ZBlE  8DDБ$YQ|:IJMT2٤089pQb6f JF$Ia5v.I}!% J}p¡bi'@ (k :g9QdP+ +}T !̆aLdZ]X(niB+-j T0ȫ_aA_:1?;*C ׺WB02 )8qM O|3spPK ,B *vںI'` ǰ¨5 den$1׺@ޕtk)[t)s8\ >Zg}F+S- _4_E@Z<9宆z`[ۂ !0A-0Mפpo P6́:K`~=/\駣} KYuY nk ݃<z˭׎= ?<{o25\D; _eU#MP؀2 v塠eU*8pW1 g% VĠ=XADXS GY[M C zp@?HADG%.0ЅA @qjqЃ@bz} RH&Ex00LaFxH@̑<&IIV?dF4HHrr@d)J7BL+ b)YҲ%.s]򲗾%0)a<&2e2Ӗe boh&6ls&7 Nq9ˉNr~sdg:۩yʳ&>M^n'<΁(A*Pڳ'2ibrK(6PL b !7X?k"F;@] }Rl`C p4E%`+,a Y*թRV*Vխr5 Q/t DAhԀ =g3 T ըGRB~+`WU^8Yu@=xC)QRi p+$ RzZ5 [iSZԦV*j65ki{[ض}mnj ]r!@ku+DdvG,vC;Z,`^uZ޺=mы[w xܬ5 =.r6Wm}d#wK!(f n0B@I4(C#D3dbZ֖ޤ.0UJaËa,a5!Q OPc # /jY D?^6~<08N 8f1u ^w cYK^2uc3y1r\ ;`d+ZN Me&3Ό4n xJxlH1jKU"Ӏ5iL]X׷k`w~~򧓫\5ٿ^/ 9cusomk?ۿllq_Ȇqf=@5ti kZ2kۚ.8wo9 t-4N7bVۻ8cNq/; F͍ntZ`Jwr$pMopuN}@6 (*nxDm0T4@1Ji1v5>me$=wIݡw]Ʋe09&7>@p_޾3P7>y֯up+\ih|㏼Mj 紋yƖµǓaH[ߘrp_/È}, bR $,Հ[5 daDpWﵠ Ơ `Z & !JYcEt_} VR &[`v\NA2WA-A  @ @5iE abI YԁNq5@4!2X,`fޫ T~)'v'~'N()*()*b+ᣥ,b,|$AH@Z60@@&"36'")Fc)b-",Zc,b55f.@ #cH".,-S[P>#??@ AdBC2@) ?^$FcPOA:S6ۉ=cF?@$)0d A6dCBJVE$NFUGBSP%QQ%R&R.%S6S>%TFT"T́Vn%'(< 4 L%YY%ZJ UfVW]eA^%__%``&aa&_b* 4PdBf%L&eVe^&ffeB-A-|g~hz&$hf&jfdBP6 ,^bΦ^.&c:fTnopfhz&qf-o&grfk6&l&_%tN'uVu&c$(twv"A\B,%d"0#dz'{'|||'}g}'{'}'~}''#` ( $'&fl^gmBBvn'w~'x*y^",zgg}槉ާz((|(( 0 ,hJlJ_BŁ^ւbL(('( @‚$D5 8i&|\be>^F?LÄRXځ!((h)i#J)?A&*&*.*>j>#"AjDbRhv!({'#B*)Bꡪ*.(^jnj:a)?°&+tfv鈪'&j#´nhf+jkfk4#j6BTԷC檥%ȁ'Nu2f$hV?\+"r븺k+*úFҫ֫#+b k_).'X)$|,$(v)ͪ)c?́^ʁ|)%hl6>-i(ꪽl) ,.mԆ؎v#&ha,_i-bp~ւ(*Bm*bbA5|"?n@+B8^+٢#ܫ'ҩ׺2-~.vk>jn.V*F(m\Nou2nnn:.&깪. P, .ֶizm*jo/ ?oº/i**V.mpF_BEq^ KI.$T@BC^l?-$?A^BB61VV-Rjqq.oq1Ǻ:Bn0^mv.ӎqwq11o˫1"q'o.o&F%_rZVB$d62Z(+)+(+o#r*򮪲2,2,r:-߲#k#r#< 끯:$j&|2(*)+3*?s(3,24[36-2/r B`9sbfnN|>{=<\,AtA4>?4DGt>ES4<&fs eT&;dz=׳DD@ABtCJtDW40_4jr0:PGۦQ5R'5crrS?5TGuT%0k*5Vc8aNrQg5X# \e%HY5T\⿺kӽ4DëO+C3ᏂýKkgC:KŸ:̫:{;3x{οB6_?a*h=OǺsƃ9?z{_;_;z}ŏ;z3fѢIpJ` .daÁ*0aʼn)*՘UX(VZrJTPմygN6sgZ-OQK6uzfN9Ygи*5G=n(,Ʋ5^,Cr?VB{Wb؄kٲ}[#bf}ؘl⼌'}Ft+4$J,]”Iҟ?JjsթVIըSkƶT7ÕFU6֭\}Xd+SiuO|x+˓w[79tj 딗b*E8tZͧNI'?XQXakh( k SZ, %CV \E 9WNii1)u̱3<#2,RH&A3r3)2(H"J+$,N6M$/$324(OZfj1(ɕZZI_j*^1SW<PERM%uWRuOS]W=mVVmUZiXxXR|Tu͕emgiUNg4R!RGB\TX t1IQPA5{k\Wp )RH EZԿZ!A㌟W=~jCnM;yS]nfe~yK&XNmR1i>:gFZ香YP)`?3뮻l`\6l\1{~[Fm\N[W<l]5Ϝ9t]D=tу][iU `=i_]F]7x)ycxX%?^ꋧޘ^Sv!~S/Y??ٿ\%^wɎv ,L t{s\Y^  L^2x ̂xx!Rx ca7fh &#7 a m#ryPaFXB8Cx?$X'vxR !A6q!Ҽ!;G1pS]%(Nx"HG>2D#$)YIK>瘋:⎆GST '6 bpx%}*Л,k]m4I~2eJyJg'XevHXLa2Fc|'>/ڰ!/vSHH^9║Oa׉E-VO0f63NΑMKt="%N4mAHtTarԣiYR~"E)IWL})dҘФ-LGZ b LyRHUPԣEe*1J b( 3Ҝf,jDZGF/1 a ;\ZWy^H\ }ͅ_X.Vmd)+Yh;$1X! i[S{Zڥl*9(h ]H%li[[bnybܰp[\Ur (V$.o+a Ѵ5P)[^-FQ NWx;߆  z_ o 앯|g0:콜ȯ6 L"?8a!I\b)VY,pG?rģA\dC؆asCqd#_G7ʁ lcPlq\mX\> ]Byh6s7 f+{Î3͌5#o6g>~^ NzӈVhy8zZibIw#XǮyqZG=Qc{DZz,^6-me+ֶmh7{Nݎv=wp36G_9b.G{k`C}n7v]7f~ntcnwy+5|x`OpWޓy6Q-󟜼pt7b ~=z0LW|'ݸG{~w.;>- 8,lmmRҍ0ElMԏ0 p P ݐ0",>P,A,X!ź K,< 4Q !@1%oRr$.PAF@QЁH!qo AF90!Áڲ-A/ԑ |/q!1ļwPǁܜ)R)Aݞ)*)r+2+a&2-ײ2 {R)O*./2a+r,ǒ&R-ג-N1''3 ތ!Aq:3?4CS4G4&M3N ,^6͡gް q2 4{78KS5S85[0ӒfjSt2S  ղ >;@@дS pƅ@ @ATA@kABeH68Cm CpLǜ BGDANESEKEW#& ACA0CktF?t,ZGA.@HHHITIIIJ/4 JKTKKK3 ʔ<̴LNTNNtJOINtNOL`֔MOPNTOt\"R+R/H3 *&`, T->TGF@UG@XUZVcUgUiUVWVYUWU5W[UW}uW}XyuUW]5VIUY1>@T#(N1H4"TITM5USWcWeVU]WUWqX^^wVuYEUZ'Z[tRT%*@HCB [Ub'v[!S?UT͵XYYYYUdKYMVYMdMd?Vd?vecdgdidUdMLJg{gO@Z#R5S'U\Ucyeee[vf_fCfk6kaVkf[lGlH`L``vIH]B.aC*'4z*Tjuq+q{"(r/i\ksTgAYCYHw`tkpBG9YsM VY{vqw@G[wNYEsggY}gg6zT0@`R37R]I`Vt7|GyItQWu?v]a?WvUv}}xy7jxAx{N||Ag %zIrK_wfw|MkgIjnUv?j.t{'VzBeQ'awIgӶ7z$`4䖁-U{? ^OVkGtsxv9؃Uv}F7{bgׅ7ak77tO}mրz'{ԁzH,oa*p/vo!aa' t?uk|EtwGQYwC99XmVz8i4{UsWC9OyaIٍ?wmXXsn43YYH7y8^I7RxWyYBWKgsc7L ytٟxORڞY8R-icMלٝS`y6m!ٌyAy78@7ڠ?׀zXXQ٨ٛ-sנZyؔI|uU|՘:ګ{x O@TS}ZګṟWUyz7XeP'%!x5WY؇W)1g7m9{gm+h:CA{րQ_h @`5u{?VxzggVCO=6K>[aۺQ`බJSS#T1׀՛ɚ׻ [;; ;z`{)\-Zֽ x+{cZoOܱ7[=S#_c\gcB@w|kA9  `jȋSu TWŏ\ʍɔǯDž|ʷYZm[SӺă)P@jLk9@@ @P\Z=>g <-[<՟ GJE@]\~bfYh>w]腞c$)J^q_g?~ ?BI]s=+__0_~4Zx- m~>,I?b ?@lL Q @D@ 6 \#G?3FYd`n?we _|~?bB 2\80… 61" Vh1#ƍ;jȐ$Ay$ʕ*9>(`B`3'/\)CƌD5Aѥ1d4}#ԩ0bbfJP@˔dYk"L4mЩb' t]hҼDT)jY+װ;v,Qɔ+[9× 6 a(%af(ttӧ 8E>pBʠ 'QVZX֙o@N=@ 9z#lvmݹ.H.PBn)Po Gq)'CsEuRYWaqWq y桧BEb&bB/xa ^X U -eS `h@r bآWS @hksiW .#C GR19]EMRrh%Z4D.h4M)a]@Tgf>ZtwF`-dhxuJPAdhph0_&p P jd)F)BA(U`ٹڬzk+@fb8KpAk(P~ ,D1OP»}`|"̊r*g~,B  [O0C>0A+0.,A 73=1!s'd,|@B\S&qϠu-h%4ѸkfLg{ *,TS ֒LyC W1F#, s::;>qx[^PE(x~4_v|: ?/_;^B[PDO⭻kW-{K76xȫB?/ h*arҸDn<]/$sI0-lu1$x6RWZ^Lvwi.rŋgtB-D$!-ҴvLbb8Wc^ܚ*JvKmVvQsΥ_w 8ƐL8b0Y{Wi]3Ll! 5As `4{~hsHf:~:WɹUt҂$w4 *NLCa^AhLv!Ūu6oZ0+Y:YF\+41`9;"<ю. y$8c14ag%]v4s3y:N0UlC+ЅΚ2]rn[f.P;] ݄sGqgx. 8i =prwO$k|?|$/O|,o_|4;<ys }D +}LoӟK}Tկk}\׿ώkA]pw{;^#~mPy'HA`!8zVÃc"kؠ h+ ^s߁wa/+o6v߽ާ|?|쯽[<(#< |0W" P:% ߿`}H{n'|5P88E0cpxW WhȁxC:@48P? }wvoW ؀9;ȃ!8%x)-8Xg~I@47~w{DŽNmp==y{m`<w %n)}h{y~XNɔSɔ7)_S `NP)@O bQS79Mp` NP)I9fi9_B<؉(9ɗ|Yiz扞ɞ ISi*M@Nɠ ʤ:Nf`BD!:~(MzRl@{HwlL'yXx5p7w[@[gIKGuV0J[Kskڵa+Q*fۡnir uI۴;u:R+\;rbʵw`;tZi}5hz[wkS۹}˺@kenЖt{o0būsIjj 0;z{UR{SeK;ukw글'{iN෇C+h\:"NGGPgyG7"8z7AH'G'OAZw Z˼+ړ#RӪOɔj9*j0 L:Iz˭+Vj*7,š(3 ĔY8L:l=@BLIH0z9pǻ9Gǩ> y< ) Ivh] \Wў\՜{R<+ WǶ[S\YcW]P|um:;h]I ~s5my 7 7P `DsmOXRX=,Iсm۷۶Mۿ 䫖S@R`ܼ|< ⸓ =ݻ ֽM٭M-Sp{KsziG9ɭt'@p6YdB.-^ NSmR_m:ַv(9G >+... 79~mlٖ~W|J u ^Թ4PWY[]==~Hnj}4UW^^y=a>c~>H  ^}M ,msZ!,L~ӖVhyQx8pt7#K%H9ggNn>밮JIPM N^벾g 콞gKͻBo豝ik켮^.캮.پ&DFO*4@ Igju /|O%=p2ȩ%%o')%s P 02o3_;<_Ap(xގ}|!@MP1?5?3pN='(**cw&wڽw'WLW7 :{}~{?#7`'|DnWqOs?}lz|?|?}}Z~Eg's@焧/0p@#B |/{?B)~<8q/ɿmos Oo׏ٯ/؟ x P r @ z0oo!@RpB(Rz:ID-^ĘQF}H%MD1ĕ\SL5mis8gORvpE˖+StԥRUcVC*ӗO' iVZm'ǎJ QKL}b Xp 6[<+P@ILoLL@ @ftqEg2F!+& IN$dn=BR랂 C주A0u1M5Lss3A?L=4M!&A$O-,/\QG4RI#G;|A4ܨ2Brԉj1rT]M @j IH>NHP)^E+VTeu,/˃K0JwkV[oW[l-Eq?=>SeK< ahUoLu=7\qE\:ɽ6ۃ<[=?}GczԩD%#Hى0R"b5DU' ZdCZ>aTz^[bdlttkN9S'̷J;ځ:G:1&[=֖UP,gT(@df WH?<&G؟Iˍ.JfHGx:Gsw5?n~[y#d{N=iG9^w'^_{7C&DaH\8{<v;Y}ZC*XO~Zk?&?Gl}FU"dC \B ȁߋ&h'0< C-# Bp[[YF&@uU#=Ћ_cS8xPW5jvac.M/c xHL UhhE* BBD&W HxyoE {UJ5Q;c'*Ԛ+u˭/ldeg9)G@, "$Ic! ̏#@HAXĎ AvtՁ~W(2ll$< Gԁwl/=/{{DKɔ΋#~@# Qָvݳݤ:mitw7?8y^G5@E|ʾys#A|lTsjKә"Ϧ;#tUաC^QzT~D1eFaJ#$i^/v\ZMA5]~<[Ͱ]`y7ػ~-r1D eWU^j^mlaMVvj'Y>jY!ؚ(QUF:,XɊetXNU@n++&hh^R39M\kb)d{ۅ&F/|?..Upt0uL)`W.5^@4x|!oLQpEd0g-XOV#|Ꜥ,g;[<]M:C+rYJu2NwjiQ`)v\qjiʅlKٕc\f+?,g*Y$e\"(w>ӏAr >an"v 7q|@/5PvT|QUԮ^a@'fCg%#YޕsSjVԳ66\lf'ԲF6i]b['g pIENw[-D&lrelot3nԮ#DBq.dqv5ك+~>qo,nD>]vQ@MlUqUs`uo9^{pxƘe'oySno+Oo^m>7\UC#b%*a@%a o{vD [^?gCP8դJD}<뎇[{3?zpH6ǫ_J׈{~{PTsX@ΐ47?}W/i@&S\l{W33ˇ?~b?21 X !q(@=Rx N@ @ <@A@, bX@ Ԁ @9 RlYj<!$"4#D$T%d&tXH8+L L{.@1,)B,TC`.$7|CT9:;<=>?@D<RQQ`DQR m <JKLBHLElGDR4ETSTUdLLTHXYEUH[EU]E]TZaXxlaFC^tghi_Eklm_ FEbtvD-^3^<eE&mu\ghYfݜKҍ"ezSHR$/U+>VHRl_,`)vuc?[(nxRi[&kRXbShfFP/Rh^d[&5`gf읇e\fQfƆP/[H5dԹMVa%dVE#>\Rm]\|SF܅V5[m]\nHXauY=)%\H`8(ۉU@Ei~in%igU9DCUO%Fe-ޏ^_Vg؄=YW'VJ6anX0׬iM['>XF^:WL5]S]{)UZpŬPX5NETOMl$1fzΏHk5j\%X}.ܪꦞ|>܈.VnFԳEYIh֖>ܰ6YX}ehj~iNhY~d<Ϥ89_nwΝY}i.pp OW ܑ px8hWiqm4?s5/s%Wr-1O:j`QPHU.şn٭V S6urnrgLt ?TLtHtNtytOQtQt6o+o54wpFa4T q3uQWKtMUwr;w;k{>7nm^]T:$B/үǃlP *tJJSSZ*TTZZu+VZ*֫Բfϒ X޾WZڲ]UӪ{Wp|FLXĎ?mjjң $:4gN͞? ҤzNk^%{l\oέ[7n\w[o}qiN qlbv,B_[QGfAU)W>h[Q$39j^3fk3Lkfv3?zi. C#:ъN'@ ;CzІ4>W#%jY\feej:ժVJ,8B m<p5kXs$5{_;6QX:.˲] dFKe%Q6o;7sR^7-CEmos;7;v Q|NG0"x"8+~`<8;<"9Kn8? #98 CH9{=a#!C=pԫn<:׷b;Q =(ӆ?Hqs8@<^=z;߷u~; w~`1Gass>[>bԛσ>xgZ&\>/|GA>v雏ԫ~-?E/G}S=^c_8/z=`" =C2B`8C;C6lC69؃!zՂlϽb-3;C>a6$aQ."/"!2#08C=992:c:cc;#7(:3;>Pc*b5!ǽ?d\65`5,h]>D+"67dCB$?H?P?,@7ă9-M֩dd#ٟC8;' P9 :'Q*e:%Q2eS eTNeQJUe;0#3c4;9P^i#aC8 QdPOSb%;$<:U.S2\eUe^%Qne3#4~eXAbuMƵ?dC?C7C>FbC2dgReNd-di>!6̃P :%:R~"RjTR86eR Fe78&'j: %: 'b=o&'w'=l='a&>c?&XVcYΤ6`8¥SfofRpq~p6sv'wN=Tuf=lt~]xfgy=0#)vzb$Ń5z\(=P >e>e;;;(]6%2t҃w zVr%zzz5z(m#m V)b(:#b钪i\ީPVZVzvW%{a\jّi!ʠ$RjZb*]'W"v@infꩢjn;&ꗺg)A7p&++`\?6hd-T&6f\?JfC65ТH:?+j!*v.he n)6C80" r뤎+k"u*| J01;oփjqo%.c2#nƥV2=2m%2>040<072"2&b˰ja1>.1=h_/(2>r*< 2+k! #90-29@\1a>"(f2s3;sz3? *5C4Ks6/:29x7sXC5/0ac;s;(<_s=s<dzs>߳6t ,#38/Jq0-*<ġ>r?'E{%jFkFstG{Gwt.tAt>n9x5*D+Z?ZL_L4F{4NN4..2II*JC+u);aOKulU/UcUk5VguUVwOOH{>{'J"n]bSNOGo]u^p^5WVu.2#ZQ0R%m|b8fe[ecvfkvfo\gg_Chg(lvjjS#5bf: vBKFd6kjwh6ihjqdaJ'b/4c3c_a76w?ZxBuwwm`zgz6V^Rc'{6xޫyڷﭟ{÷J\?48㜄?x[_xckxSg8s{xx;Kc8A\kËxǸ60@^#]Ax8xc8KyOk8S'y3x'9۵8(@9ùo9c_8cT@z z#z+3z0]>HL:ܥksz{z0S:CzW`z˺;zz{ {C@k@H8{x?;{ks{{cCys{{{;d@;@8@;{| |:#|4;C<;{@;ӻ㻾G?#3<ȣůg|_|{D@O|@|c#';=cP=OՓ}{3{}XL@;|<Ϋ=|=؋7}ߏ@g#~+|گ}Kk;c~|{><Џ> 雾~~ѣГ> Փ  `@[O~;;Σ}݃~={?~~s>>c=/Dz}?@\8`A3PCCG41q$D#FA~$12G!Ep ydI,aIƒ %Lx(s ,L@A&BB~Hƍ,WH%׮/a:V,X #s, &TP҂ś4p&@@qv1g֬9B JULӧQVukרs޼ɳĉ7+fMVbOC)ݬW/R x=$7@ !pr2l}|cS*I$Y@MH! |n I + O3 1C IPk6j@ 2/?R( ,*n+$pLpqC m2CdPo*j;AE]QF̸K) LȻ K 2p3QSN:z =/гO> A,TPCT3 p*dD&%,L!!AzNS IHЦ LLM+ GmکVڰrş !JYpR,t;BF0 |u$Ue9W- qE۶ER`y5>(6@HY AVM[! C5F2%4JlN|j]څ7F M"H %-UY &bb.ׄ#icmeV@ ]MʬW뭹a~ GYIT6$Gȍ)5\'ͅZ:ۨekYedyD{Y禵mۦN:] [` ғ b/1k<4 8sPs ^uk ߰=-9f)[z5t1ߛޯh}L O|gNl˧){w6h/]_2ou! Ck0)J@ tMa @:_+48Mqz%-zKXf0̳rF*+c ERc#Hr›aԠ*=/$h>sIIz|%WP^%s9qSR_:8J̝@Kz$b w(1xAj&fLN6p"eɕb9\@%ѪiZ*N@/RtzUe[ψ,RN\)SJ6*n},Fn!6J&\T$+jrVӎDGn~]BY{C'i9ˠ66Pʖ3cn_Z!d"2T%/OV1w6܌{Z׽P+u+wjmiѺb7Y4hx,V'jme "8T,բ ߪYo~QW)wrg!(Y4+簡qcnj~Cd! Q~2QgMLVOUQ y[X"E*6ּ6XZ<\g-Sw{s`3tʼn3͉  m\r{`:dnӱl xǾ&mti@ֵ~7@e'3qb$zAiS6 l_Oɶ=liy6ueEB_Ɯ2*Kt^( 9ǀ1~qg8 |y`w+w9 `d E(/-s@|=br 'я}/gzeNIxv#pZEQHBܙ% N옝 h@8w@o{ ]{{w'D:OS ×3|}N9|(Wuկ>).]|\zo}g˃\Oꍟ@1?{ ʷ~~/A~BQ'ǿ'_f;yx$B ĺ .Obn-/" +E>oXF dVXpN `j̮>pb^0 nBp)tP>T` Y@X X _ ]\X"(P s)VodP P P P _H@jN.Wm p? g*q01q7Q<b X p 0'/Q9e`dP` O[q/qg=11bd  %1 ]Qmq=oqw>EYq?  U `?@Fӑ`RQatCoze>@ #1 I` GŐg۱!#"[۲#F YLeQT\@~(RdX@\ ( K)"#2"[`w q!?D#y2 ()2**e`.%#rLM,&ǒ:!|'%Mo<( P@,@6S\)+2Q!]+0gJ0qΒ'}rg1 1=FK353=SH 4G2-7Q5RCຊb00ukb-$;$s;r+]r9+#̲&ռU)pQ)3>%!>+/'|<0s#:S> ;T9bm&r Y@1t>>T7A9S?.@:`B) g.e 2w @<>2bFk@ R>>3"a`8@?/F@S1p #`!{FFsP|tHK@CtJNHDq2# jAY' `3Cr*/G @3WN I1IbOI$J-PnBPC`B0 1VR2˴&2-5T5S=S!pIRSFTHPU.OVg50 _3Cݱ>II5Tn\UdX p >@SYK]_<@^%Z^DP8Py `N 3'd,`;QCGI5nZՌbdVfbU6D_+B+_/c=Qc9cAVC\ T`moZVZ[fiae/,s|.Ҳ_g oTTH?N?`*@tcSI%2@6YUlo614qضBpsBmYn)> `"N<pOq2=jV3R viw4 @J 7+3`mG`IU@#3b@7ru^N uzw0Ry%g7eqS7KWne{Q7|R7p4V0 ]Wdo3 ~Eww73\ WqiblgYrdVI`bm5$@Z8qUxET6S=}9x*&P 77 _oq>u5ևSXSXVi͸+x m.O9ٓC؎U `./m^>'4`^k1xx mN2 v7 .E96X:NYZoT5ٖa|/. 玂߹##CgiVK@D fnA-<`: PZ` )lM4_E yS __wZdapp?F:^϶B_ Y`[ڨ_N:r w:UXiZQgVbWpz?ْ62\Yd4Q$>iN(6;_1Beq^Fk); A7[)(5;|ݓ6ѱ5zPL{33KS[13񷳓],c]P&@빿=$N'k{3:_1I2Q/{[[q6; 2Ao0@x{/.jqTqQ\!u?F\q\5< ""[lck$Q;c"PFXLȫ0Vrq|ɿI ; <#&۳<`7Tǹ<\M^|9i1 \'5RvJX|_4sI\7D(BQrK@y;|\);9"c)ρ| -QGM`\76Ǹ+,R# tG.$U>m1]ӯ| `X{=3[Pd_bY{x!19+\S xc1q_d)R.B@)='ѝRv{+;gp3•R!AS!^4jFl}`m~..ed-'fFGr/'E3^n9=^@Wλ&c8=ϕ~Gd'ilqmuE+K~&a$e > 7'u8Mꗔ4W4)3RNc@yrW 3޷k=Q]2|Hi^7{`Q%XC:-bбZ &KB] ;s-b,§Bʘ9uj{_?h`jծ[]μ`=R0bZ, ,!?X !D1TiuDP4hh 0J*`Zwɠj,2D@ߑ@3X BNUZ x Pxށ#y桧zx^|w UB , 脁Rd]b7Π Q*'HH2`!x~+lQ%t*s8H.  02iP ( ie0* ,0) D0 EHဨH)2")Ш$P1zV+ a EhdZ~ :<(%Tzivi2Zꩩjb[+SqQ(n,n`, *>+CӺj íW+n~0{YX`` +u[kǗmNQ<]J3 IZD)o|JW6Թ0^}-0|sfW3< 8Ib09'18%*xGJR gR)8߬cjV@ |lJC&!BL (6 ~Bd2B"𙀔tYNd'qNg@+oQlA6jgJП d2 jXJl'W`(:_Y ΢Ѣ4\F5J-d~7Ѓ" pP5@~U(0@ QO]xB LJkԕ6H@l+4`` WxF,M O~J2 HkW1uWXj`6*RmU}\ITBE QJܣ"5Pl3Թ2ǻtU Xձf96@s kH8g4N(u.z!+6aDea^S.YCž*L~_7,ʌsS p;C706pYzi(Neb1Ur|⏔PvS`p1BŀꟖ.{`L2hN6pL:a?>9+zƳMBЈN4=яv'Mi0Ҙδ7N{ӠGMRԨNWVհ9ݿYָεw^.uMbN asz~zCX 0;t}n{Mq>l_w-z뎵7=>ȊU]kށp60|o#p+%oGmnֶQ򔳜 /ANs<7Ǹ?n;Kr}ihBm6\sbD=9ArKO6hڋ=gk@w;|{G<5B.w3ܽy0y=Gxї?SK~?Mg:]{9F?ʎi>?l6AVtlϽ< ?O?A^v+rqy8~W~׀  wvmiNG~Jsb|_iKwi'#H%iu 0'diyq'xhd@T@G`KHJ[YЄOP8RXQxTV\^`8KYG:`~@ B*kx i̖p=wh5yFHhȝZjfJaMpb  %dz*M078*J 0? aL :prX[05iSiKP"驒ʨ :%ʬ::z< ?`jryf[=pfio#9XZwx[!F5cHx8R(J_ɚP aO_ _`P _i0Z`O'+Qi*/'{*꘯Fl[i+۬k,'۱b04k2b벞\0i@\p׊ʳʪI'|׉Y|^7twiVvwhNn:7HȘ ˩N /Ki/NPN6 @OQPS %N +`iЬl/? ݪS9@Ǡs:q(O {n+O[[ۻ*ۺ+kkLۻ [7`мmɈ7jp {vbW gҷ{ֶtP|&4 @1i=*p qx7(ꬠ+P@0ۺQPQ KNi'Q Þb6O{L jWU8{,1,Cl5:6N?껱;kH|hL;N̿*9G);gx#|7gN}jgnp|XwIt܂|)hlcZ<]ܽj3LwĢ 8BCH\O{n0oyJXcʺ n+ˠJ`oNGt KKk@kTj&v}{{i'n|tZK7p!|ݖ,^w ˰jJa ˬK˧iV;Đd\o|}ϐ9͌'쌌*6ݬ "%mn,+Q;b v,ȫpLϰϜfv*jrDΡ{\omR0vMђڿ/+L{_Gj&w[|{TJmY=%A.5R:<ޙVɮ*䟶&MʹC<y8lg}s n>E|>jY}4ҐK>.ܲ|Xض  Q6K,.n᥮i9Hw|֐i Зgx@wK'|~jgɘv}!|Tt馁+m.1a';{շ[[ǏnkI7 !mL`ig˪;dldjNz^=dO>j` #L'O"&ʿb LQ!Ĉb~R EbȈe &L$ɡlzqQH-e4)Rlű%!1:p/Ǎ[q\c&F}qÆD.Աci\Ǝlp/3N(Kxaf1R>qb憝~0N'E6Aܘ쾉 NBz J0aF,Rv˙)h"Ks7z^埓ʱ7/ThQÐk)€TpAtn:b-#( vb!(Rȶ)*h$ԓ0>'D";1 ͦ6 )tڏ k a(C6dEGN|-8|C%J#(Fp4h0hB )S i7|+Rjb(Ö\TG#mбɪo)v(nO% U>' O-HY߂+Tp朻t 1U>tUUQw+v[NQajeiՖn 74QuJ ]vۅJØ0b356дr>2# 8JS7`5rz]Ƙұ|=2 7w 'ZbANv[apܭ 6xo], zHk7A,x7pab.24XmUB|xfP\է$עlȌB_nϷ[UÎ[~cG|Ⱦo:pސˬ||kt (d l(wݰ#\H7׭>ݴn==P_ /[bƾw{Ʒi¿?al0q!\Qu> h (gZ σ4^wB'A^go{2bHІ8a`E@ b!݂nl Cuka! ( !O&npZ`PLViCnP`Eiu’lYn@L턑Uj@&zZdd#HH0P\"43PhD5 ^ITR"Nh/l 'RLpFBrCS $oF3qRi>?%,6A@R'#)ƌ1Lf͚#IOjN49@=uO\PC87YNZq0fCB*\fOܧQ~b4%iI))X L`H@OpP3tK1<(1_hыS;?MS\yC-+;y\B"k蓖 ӟ*QzV=Vq-Ծ a!G}3ִVDZSV*U$g<Л){W%DRY,  |&AlVu3;V+<Ё:Xࢵ*`u&?\.M2B0\T才4Wex;^ҕRX& \Mר vwrk*`x'{Le8ږ ^$bqɋ޵~EpaM7s,ް+;,b&2'Yf1^cјWv|HP~b;T%H)-loI5@kdIbnB7tƃ&t }hD R 8Zנt @#Zӛ4g@p<9'SnWDsg@ ӳFtkDѺtd޴A A"/%K'٤*zYRڨ:ᵥh^YJPnRfsa:x>`}o|[6_>'}'\ ߤtZtt $6fxnnpx\ tj#˩|2enw˃'B'zэ~tp`: Z x~'AMozҽˎPF<;уv#}\7.u[:w/{6]D y-yg^gC uЃ>}^z@Blg}7ϜG*n#yo}?Ozӏ^}W{>(f=x+I~}/Gh89 e>J]~R6a@O~+Kk?;듘##i@|@@ @ l a @ YkГ?36@A@@ ADLpAC?C@ DADB,DC<JB<9H RȃCDMDNCRXDRhDGD7QDO\EViEXEY@ZEHE]E^E_\TRNR 7B8HPE>XELELO PP-P=PMPPF`LXMMlJI0O Q%PLpP5DQ]mQ}LxŃL \OnD̥C(CLem(R(R=QRńE`QRRme@IQMPF[<(#= URmE,S1e.EQSBS)R-E%3%<QM[$K`R<TEMDW& ԕmZ}ZڔU^%WMtU 8]MZإY=[M[mYHeت}?Z=KvCnCYZHY0k;n 9D;Y;9<ă}ACýC\ZBhK[-[5Seۅu֍]ם]٭]ڽ}݅e]mY?xGxG==Ma%Vye\R&-Ym[e[u[Zm]U^^޷}G@O䵃ћüCM07;|kOLԄ\HH9` \YZ` ;>_ -}^t^_U_5u}aW^e_╃U^N;0@e.Maٍa&^(~?^G_nDÜm =Ѕ Cܽ 68h=<^ 8ZhN]J#v)pEvGh]FdJdKbt[YC".YE_JFEVdGJK~eXL.aZX>[H=5;ԃ8Cc̓8Lb>fHHf@GAXp}bKF::?H.q=tGp:xmtG?pguYMbŃ=YP.@JXYdq^r6gtg@vhxgzU{|g~e}^Z~Kp6e=e_C`C \Ʌ l^ Yx4^ fc<67Yinf;G^@@ghjH}fqhjHEgqkv~h=Q>hxn^,kjkf^kUN]U~kXa&^imEǴoTGpFXp^hdOpakݽWm|p GldDpSd&kHkw%?^.g?l~r.Fw"]&Np#Wl.qVr^erHr*o+sr=r/󔮄'JqJ0bG}?`dYh6j6t}t&@qqDUh4ٍJt]tGtEvqBMC^V\Oou9Pm;ܢCmփ$fHpܥ`vg=k5`;v݃fio .o M 9N4mvtuy{bv̓Fw{wM6qC;掿Cft8,Hy4yH iҴPȏ! ısXDi&N dQ&ѤJPӤSҩU%*QVJzWIkDGOT^:#;̹0OG"-:wnԥukW?_V&#Ib- rUw/_7Dxĉ6/f,CO1nΞ?md1'@]ԍlt:V[Ǯ|ӽ{5]=s[~{j>^1,QG=ǔSMuwxQhv?E8{OOvK9h]_ VNQ5xa)GTP9wQM92%VETU#zvdUIVWMq#.ځ%ޕ~8P`/Bq ȜsH U|D:b$eH*UdQ޹TaIv5@@~lȆmf)x)vB;؛I-ԃn7sRxiԩ$*@rɚZ(昀񧐍'!&H&f! ZW2쬚:zt*{9⯓R*M{\Ortx'Q C 1q8oDshP|rMoĄSb˱Xʪa#R'# zf`u8RG^'y+]i8 cF!{vLʔyܞ! '^,iri"('qo,ihQH ɌD$vvD " 5|b?t"5i%Ll|jxZYM]ٚy[h6}3(n^^^|nK碌6."1#Ck3p-x?q tC}- C G$K*~Ӱ=9cg-;z#6H~L<LB@ۖd7藫I[A#,ѵI 7 A/!"!7yO&5 '̈́!كF0gb뚃5 o;QA):H≮8E/kq&!dg'[҈ fLô/6 QC C8N0$I M{lȐ@8\1i(E;.Jkm).[ۣZSJ8Ģ,9d*T-?K" 4prR":#F^J с?1μR;$yҳ6F $p' ʞgډV34(D#O}[evqr8 ˈ&%}h􃞻V/rЃ+a2!I*T*]iKa*M̔irjMb37*V2jbUgJ]җ9kYViUaRϹTNhZl݈SWi԰t[ؽ5k]*c#+WNjwEK#G3i4YlGGY=Lƒm+c;טR}-lc[}:m3Ht]5iz.v=.rT>%@QRgY%6;M.xË\QtUꔳjK>Vlϙ/5sq݆Tz <,~#_1Qx \1Z7p__ $|5 ~k[a/Ï0=!by=0uƗzC(L1yJp l*QI^rg+~51d^2 6b6h)p#]#$q`qӞ4CiPX%QmjS~5q NxioCJ_: iYӤ>5jY:ز3laЀa`HKV-g9%.) ӭuv5A Yޠ9Ԃw~.8]n Ļ#GoC{68w7C9G8n |n{;թP={J ґ90MI!'}A:a~u< t]ff:ױ~tN!1u+]h?Γ◢o1?<<#/yNAE3y<7/O1c/Ӿ 8<Gy{JQֿ>k?IGWDo?H9 8X/ÿ܏察? &. 6> FN * 6}9p(p ((6T V+ fv VB ` !!&.! !6()@6pC-p`,d(B9B~!!>(lVB'l!6!* !*a*!  "!"B-+ ]7p`A!N"%V%^"&f&n"' !^"B#$>_)t"%&+",*"-֢-".'&,8"z"11#2&2.#36-'q/rzR$:1 b!,`+v#8#+9B:**B;;;=V)X#>0V=?#@@$AA$B&B=#>Z5B# :" b7~8vGa b:)($JB+,B+K¤K$M$(²天dM$PP%QQ%R&RMNO*%L$J$=^*d$7"G~Wzd9,2LC3YJ43L48\ƥ\%]֥]%^^%__%`f\>]&\a%a.33(54I)+bFbW~gb99"4%2Z[ ]2c6&l&k&d֦m&nn&oo&pfm6bnBrB2H5)9fVag'MD-rO+gH΂[yZemB3gr'|g{Χc'}'rg~g|{'''~h& >6~'~'Z}^h&("2H*C4HC(d;ffVj$V'*MIB()BBDg+Zgj\bhi*Cr***)>NiVBif)~Z6闆i))in)jFC40C3(tr '`(FDD-) G~ppuxh,ezJ镂)*'bV)*)ꪶ*ꫦjj58C(sfN'hF~(D( r'^CF?h'z?H)d343j4(뼶i⫽++2Û22,.6鿺꽪j ^lf2l5P+ k+\ffn'( w `~+*D,,,BaϚ+H[:&*蛊:,"6,>-B,B&"l~-ٲF,>l6&úײզm-ۂmھmي-2--nJmR-vFC505("t"*k *$ɟ**`DD*, Њ*`>jlVFٶ-m6.rm&/2zmN*Zm>-&.b2J/>lnZ/J/j>,til +5LuJDn#%pB)q꧚:^-o"jomzmVڲo - +2foW/*{Bnoi7ˆ|nah֧jװ ޒl r pw # -.3l.n߰ DZ r!/q5V4<1t!ޡ'BО*X0*m p!pގp : 1 r0ΰnpq# k,s2.0/134qJ9lRq&W"j~p.r޲Z/װ s:q!0 o)2 {p!1q*1#CrtN2%S5/*da~+r6Cy,?<2*c!O-4HӞH/+'۲ӒJ.;lKCE(.:34NĠBjD(+H+ΚOWsun.(CBtqg3:s?1LF300M(3C6Ĵ´Ls7o`p)OgC\s1023#?u$h*kuDjWcknhin+X;kZhB4mr_s,33:-6(N68<|4(@7$8>Brkw3L?743u7z<z_{5xsyg/|Á6t;I'7uA94e/sGw9-4h}ǂ73Tw|?x 3 3*q~l3iTO5BauVFvƨ,(̚mFO裢nno.6wa^0|f9s?3@>w+,)b&,OcF5BI ?3G9K36yV>+O_wd6ls7s'eioyOy9~3)pt2ǎ4?p>2hiiVg0nzln -p+pSMu)yǷ_L:C<x,(F8prr4|{4 6>gG/x-bw,Պfo2ӽSxSg2wj,&ԺE'rBC>.캞7<_/'[3̢1S6gҜ < 3p)c cĈ .648Fs& Jv0bˏ`Xn)p%H՘&UVVz**SVz?[blXcɖ5K5U*ULb 3UvAzsr̫3hΟ=9 ࿇1 zL 8+g ă5e& kWJæ7wM'¢!U:ʕӴ˕q˙7wvm۷Ϝ}VW4!IaFs}sg&R<ʏg_z҄n<6 @F{m0Bm*9*=9:.,S* F/6[%Q?۾@ {Lo?hB$d 0pîz%S>W2/[;S2$'# ?l*m>'B?+=U #2i4/3pJ(-r 5Q 1iE*UDJWP2Qa%u^]CYVY{ةpmWQTAmPP4g}EU|38QNps6eo>1A|QQ Iރ ',i_BG uK/d+\zQ%W5k9QB>dUp5ZT@P^uU`w*n]ۛs~UYL6U +\DCGk-G{m2Ui!! ({>{$bt0 sjr7 %TS/Tc7fT1{?Qx)SƯZXSz'Sne8\Uef*S\c+iVj1.v DV$4qYu":$:MO7agBJ+ LJ90R wlHNLa A+^-i)B4w2G1ьdD#h%2HGQۍyºܣ BBАDX3䎆S_ V$p'E,~XL!hx" FDEDc3,W)*X:rJ+oZF%-4’|T/]\[-eR=l&H"ILQ@'r T gM_ȂPZq\,T32}D(*юjP8GsB66C O>:acCoQc⑏oFGJQMLb2 M>%UP̐:a-\uE\?dIfF)9(O7VPcD&JQ:*QUê#UѣvjTQXUBu$2{Ӫ<#X*WⲮD7%V5X=kZM.7Ȥ"є*cBA4vbKuxժ42L"+`T.5NmE(LWli[[ny؆)KX ԓWT0K4 X]U2W\9=ҢU8Xm(BqIUz^/{= l K wzq\H~P-X\*gi0dR)v;ʩ})/yYb1i\cc\d#M1,\R¸ F2̊$p\f3iV|&eqvLfdCS=bu ]hCy̮0])7[4<~)9iOԡIX EIgWׂXUX׹yiKC%Ĺ"dB4e+ P6iD%Qrkk_mo[{ՠ(jAr'͉Q*ߖ]oyv;-V(*$cWENFרV@;9qwWE^r(E,V rR@97usAɷoTXV*}E(N !HgWru"S2faX eEم=vo:fTn@4٧ylMv,FV v\hy9_OƝiZ*a+c`*ު?NZ&ny׿* ($/Uܱy(DA<scW| GqZx}x>We|7} <ݲ?F,ҼPp^Pײv|P7=Ѣ(  kVTZɌ,YPlв*p^P,S, 9HMlhz 0 a  ua  0 P P pP 0Ð   uA'+/3qv!LU/ pL0v! WqnAqismQ ow}qoQuQqQ}QyqQQǑua\JjJIfX]   R  q!"#R" "72#QPCR$'$'1A$SR̥6;iٺ)va ]q 0'%W%Q2%r(SR()$)U(((5)R%*+r+'R,,R+(RQr$C*(./bRf&%m\\l'$Sr(/2#S2'2+2+1%33r333+4O$2!s3[.]S26s*_6W.A7wS7%a r sҘn!1 p6%p:s:::r:7s!8A/Vaq1;t4X`SB';}|B34<3AsS7SCC;AtC;TD4Sv3xa=WD9CsF9TFITBraGy4rA&ɏ?? ڢC@ o933B]4]9wKH!N7tc1}-4uEB/T>%E]pyTAYc٘us׸t XBј7xMÓsEu8GWsXqRsVt05R7;yB%דCY3u\v}KDDuפQQwkٖŔwٖuGQi7ht-9w(ٙ״}X}M%cXH%K,:HW0-3ٜ˘37}Y޵,\;D~VӹL;5Q XLs9չ7sW9j~ zL7aWytw1:<17ѕ4g95 73EZR!vm!k7U}AAfSXOӵG;yK)^K8YS^74a|c<;IW"5R\E^C~c^꧞^~ymH7,8wX&4!㣞|[~? ?>>}^ #3_ I ߅>FiF!rae~c_gk+s_w9mq~a7IzM90Tp)a>^ {____Ϲ| !,)ZaݕӚj  2'@ ?0da81ƍkY1ȑ$GtXζ%/Z$J+VZuիWTJ*ҥL:m/ԨOZ5֭\>MPSN*PJ2k^yCvejtQUccU-HѶP2Z~!M(+qa,")f+RH&b:"~&2H6֘b6"e!ܨ*_i!USRdRN``iɥDra% dI-eifY6(grevzg~ g5$&@(tU灎> id^ini~ @<9" 92(jVJ뭺zZ ( j.l> m )hcN-h{N~k<rҊnC R k X 9m[nfOLpp /p? q ?99Lr&,q<rpLsTO:s> tBMtFt?C 6 bS1(tZouIk4Ae3nrMwvC,'M> 6wx?s))󷇂#@ۊosܜO馟zꪯzm63-M{Nz|ph#.߻ܞN棟.OM{ϽO~-m}Oog=マN:{3X?v}Vx(}櫠/?kӫ&( m 4,aYo( =g:Τ Zbʌ@9{^shHAjҏ'>cIo0U'6":7wb4=&G%]iICzMs/5S էJ5TmAaʔpGMיˣMdOCji2=ҫԠr] ˩u|_Rtp;яt ׮'lyTⵯskTԩֳR+BqcaBƶEk-Typ(6 tSzervmsJ׫6W }6L׍p }+rC>Wm{qV]5;ޡ]t.4X#*{ۤO/̸^p/L cxa =\m;컏|mۂ`vT.1? ?0,b$wEU\׾ZI@?v#WR)0?|䌷g1f՘~XOԗ}Fq"cXІ$79>&1Id|coя.Vˏ$S@ thJnU#?ִ Gʄ= P}%m+fCF?lmelcp j徆mX/{!%|$@x@ݸ @` .do01qm Žaq@64+mtc=Hv>{SnM7+\'!p|P8p/::'N^Zx8&NrHM4͓tڳCy203/Kk p."&ޘuD0;@kunG>5=8gط{A 77rr6Ʈ@I d ֝+zD>Z^¯o|Qݎl7cYsA_Q3`n nFm0:f o xm hn@`tggmw8_t-D׳e=J^i㉷ msq?匮Xt-8[@4^HBـNΊp.4覮W4#c>B|4D:鞾 11CSĎn/͗.{ ~î.qNƩ ޒ pn`']}I~럳IuGij/Oo&/#ON׳~=D'$/2 933QK{vVP'tEK@E!EM/WdDHeBo@NBSA49paAtB%4wWIY\;أ.?By{}Q<0X ->_ (0 6~Aѧu/@w~PH/S-/DZcso= HÏSp/-ܒsOp/׏,+2gs/i!@fگ+. -S2@ +@ DPB >Qĉ)^Ĩ$pܹIW_-]@j֜N8z5ҤȑR @Sҁ>UTU^ŚUV]N@A>6 W\a5cڏkA FXbƍ?Ydʕ`-6A@MFZue2o+3ѤWMn޽}p7-d U !dҿ?8#|t ^/= 4K? EB tAw/A[< E *`E_1F_/lFG`EO?~xM|gM\2 $aBN<ܫd/h /~A7.g:Sw ΂3A 7Bz䅛 { ̗uAF0~Ġo~}T~.!p#4f !@` 8@)@@{[eȼЌgDӸ3$$ @ (.yGIld ͈CFXGᯉQ@ 8̢ <@'?iPvu_X.Aҕd'B8N' pơ^ |KbӘa"mY\~xda hm>6]$'ME_B3zh$ N}n1,6@>ϞDg= JEA P)3<(8S*ɕ;dSŧ>yԥD$hDτ3  ':K8]WG̓暝,L 9q TG^ []:Ƿym|DDeJDtDA R \gм  \Cզ;-"O{ьPqERyi,DVޕ'+]atu{ \_Z4,c8@},15&p \(?!@MTqU cFӕX C|ZlPР%$Pnw5[I0@syޟ}2&C*Qҳd&cqkc9wQF2==[`{#v(CBD xz6$#!I1 `"!@BF5arAdnna{a.Gu?@WQ]\a$]V1y"Ң)۳92d2pgaybV\.iW0fl> \CXAғ3!yjcƞ |^a*V;ne!x Tpt 8=kK:X (^/FYԧ]WkAkƠpM5s4+|MO` @ۢ.dCi}a:Q "ՉA}rU߬ 6hqY6MOQ'>} 3 2}>6xjײo K`2.`>u=~8yn]wz*?vYz&Kj-n֜'Q{w,LM?| ФQ h&pMbIGs`0Q$Fjѿ~_oE0>x_>jGֻ1[0Y-<̿ϳ@ ԻCk6$KP>؀"*A .*k8*h8'r7@! T<=CLB6C:)eJ*+S@pSBRBK;=):26:(Q,z-@Po: j說+Aj2" U>B*!\6CC0ӳ:'0%RK䋻94 .BD ܻI JܽL3F#R-c'Fk  @*"x @ADR'T061H' 5,(,ÄӵB{qCBzù;/3nkǗ=ZYtdCY=~ܼ[<}{C5{l y4 h%!+ Lj* +*H(#)TdEvz9к}*`k4 T46[ !@ 7ICIXkI;ƻ;B%.Y |9Ӓkx\cJ촥4/{RN+KBDԳ18\]^\5Wk5qR9Bn+K43Xɀ4"'5Gn3,d@ns:c˳C5s=Lb84Bk0 !|{t!M{~,D(*J:cL.Lz̨5Bd4ג{6",zO2| 8x Xs"(&d9d]aZ^e8d[eDfdfvde~/e5\E-D dU0sfZuFggfH:mӟ  bHTRfNevFV譔 Y"'eNgރf=vsd^ngs=gIc|: 0!؀ h֋iif_8BNk8pj֋i%#%(&e6鬮jNkV긖+v&jn묾j6uiy`6ip Ȗl~~ʦ@VlC9Pplplldž^mnlŹyYR`iflfm&^Vm 0φnnӖnmYv>-(i!`9AVfV'V@)WInV4laOW o.HppVpYp9fi`nV%1xQgq`qqZHZ!oq72g q*Ohh'.q%0(pQ5g5?7'78/6=7ʞq฀Fr>7t7ss)K3StOt *8UtT @WjH  ugvc/d]Ov]vXv Xkטlvbvop7Xkw R؏F9Pv_w uzwfw|7ػ 8c gg0w PxuJ{x'7yGO(hxgyHg|x @ g(gu┱Xt 8zt ?^{LGQ xI{#i@ c?rPI @hX> ? $_8BLB9oi_22PW0?`P~@px!}\7+o"/G~wo~;~Grbz ~`rP Bp!ÆB(q"ŊB8F)r %YLb%˕3^DA tŞ>' *4ϢF"MTbF=4aBT&StJ.a!v IagK{0C ILJdɓ)ЪU,رdM`ysZqx2ʖ3} rު" stXÆeFis:,{F>/V-lzF(4^쟑6.}¦u'I[x 0`ZkUzw~x2Bkh)sAQ2 |U0WuWG\p&TH 6~q87 YDAA%Y'UP@way߇ #l^|R_$} Hٕ(Wߍ1dЁ I-A%,Fgj'PwpޟVu~ #,ꛣ,(28Za8A 7_}a .*@.P2D R 1P , `r{ 鯡D{nB;0 ,HK6k2tm!ȥUO&qgW$}¶2@ ryba]re.Vf40-l2ܲZlk 0\[+xIK*\bE+2 j 22eZ:aI H[CƊ2 l-f3MAk DsSvֿҜUŠ:׎f-hNԟNј~!q3BwFclFnǦU`u^~Q;5Ц? nfRcԽ!0$[4Ќ C`DF0pՇ; NZ s@OTvYY)规:Ph<0Fr?'F$a;[ a ρBMh=`  ̊Q G&pD aE9\b- jj ^rV8XU}2 d hK3پ4V+0טCq Nm X L@d,6hN J$T4` -Ne)1<@j4(@>6'HV0 PpO ™ XAAwb,͝x"0Ƒ⑮J ;L˟*yk, ͯiN%U  {rZG@R3GI?;ݭTX*W @EW(8+&S^ym'^ju;a.o+F J}K 46E$EƬqNM=]*QV=R`ܬ]{ S|nbH /18.rCXF`0|ZWJ`6z׋f*SpU"o@z6(0yϛS+9 O)^=y;(^8966STªٗ½}  bY,RcW rxcP`9Fnl!tܤ,eK1`aˆmNֆ3EyUӚY֚K=!5=:߹bBN .lKؖaH~U;s O~M8 0(^vDX*D eRTjJj k@ L(Z:(CP#㹱85||[!; [پ^g m\fp( >pm 66Js͂ p2;o ۰+99{sB:OY$n ((M(ǹ:9[Z 8:ޚ&:/6dd uw.[i=5z@NU,10= $mOn;k. ԈuZ`n. pZ}ê|]/.wƀSf+y=iM=>z9xu鮁`^ F?A~W xw6ܡWe^ @_b݆`@]HK ַĎ U9YrY9SI8 F1:!m X.@ ?MN /!` =[DX `@@Z폌x@%Ӵ@ ,@?A!lmD\)ևXGLE ٤ a* !ra(^R']jb-P"nJZMZH !4@ax-ؑi_b8]F#@ ja$"!5;0n_n1_2V!bek9uWЅ4BlVB 6h_U|c ӽϦ8x$]yPjcqa=r=棊|`56VY7 "CJc:A4]]dFR[;EMF6  YxمG \j# &7Lrz b8&@@q lRn4e]aTU!KddLB~e,G%[RPDM1XQ6%<lDAԅ>$M_fKjx:ib jX8[=rqF2HMY@5ua&ovD.x XB.J0or8"q6qB;jf\<|syDHCDhG"B `'k"qgWm"&ZŀZ(^=XjIht'F6gg46 .z h`~wBaNT> hh9rهBgDfDd8ɣ=V @ phm z@ VLr@ty@kŖfd˂^cȤi=ػ՛N̅{`<rN]i(ial!FhRbh"~T)B"q^.)FEAe")#D Mҽ`۱"k,z6}M?Ad,l`ilQZ+K@J]~>Λ$6kb@+k.DK\Kʂlmk6 9}jOhH+E ,kRJj鋆lDvz( ڹFiE, @,d^N*}pr~)+ɒΩ@ Ѕ딜F&4d:jmQ+TXɛl,Ωj(g9y`PֹtJX.E-FXmI hʎmDl"ݪ&WdߘzBfmLUԞ GGln2A.rz^P}iKl˴Y,DXX̙`-in/yI#p<Zo-ᥠ1E Ǭrm0Ew/9QGbVC1UgpE?IГ@AS tdytLqfN\O4V^M,H30uBė8N RRSRM048̧tbD2JDXFϵXONlEBka$ T$j5*c3I\PX헖sY;^,XPs_ @ȅ7ae-oqsqK$w07 7tQ d%`zt,Dxywڬڨ{M|@ѷVY5C _LЌ @Thȶape bk3Br>p1N@::QE!ޤe$t`C7ɐvV$A6PNZ̀T-D&u DZ PpH_dOi5JDKs>Hkz`Lb:{C^ a~#w'&5s]lTq:;hU}-wCAv+Dqt5y`dl*h@Fq׬1LDT$lpnG|@v n֒C0̦ğ< P߬s}"Gd vSstJB0;:s7$YפOP=WJ|Qԃ}-ǃT_@RKi(`2F @b|ׄWA8;3%޷ o |W5N;@0a~.ZѱYJX>>x0PQ ԾFSYܫѥӴVtvʌC`7~ng K,Qu$@hт,$EC_D1q ddԸcGeC$I&ClЀ„2d0_M5gԹgO?:( *D!̸A ,b0  !BdD8 E 2HpB DĘPd_W"Th!ӇO p!ŭVYY,\zⲌ T+"d-70Pf($iç^8z5.([+Yjٺ+]zn!p,6~ћE':xS&\ХL/uxAwJ%._DuMP >p T@XNZL*0U1H;PMX[P8$N$Q[#\`` 6s+jB󨡌n:a@Z: l(QsAaH뎺Ψیl%R~B7ڛY$oTAQGUUqZ-(a.Ƌ9/OڞIٖO7z$ oA > "+>r}[ں󝠅O|S(2@멏}!l[.Pьv䍐@iDЭ(< `$("FgC[Ng SL`D :D dD,<%6V.y$ǁ( a4Hu"(Ӎ?p6&ְg,aAp3Ll!Xc>U b>W8Y=iИ?yT>Hm$I5䐀*`t% Ji!6-G[&FuϜ<:jS)"PzYsJ֗T :!ZSTNoSϴ`JK兔0ϛV3bRTG?_z (keݺ<.{WnT+$_9p- HqyDSۤ9n`0i;c,`>ѽ6/]zguufjDM1'͋7~$Wk*2.(4K.ꖷn^M[cא0=h-8LװԈ[}6֘8A;>xC/QE@7`. R.H@t-{27 x 80{4mZӝ(6M m{΅ݭJC205r50cK \E9W Aj63'RONR_# FI;ӹ^s9`c͆ËGx'LYi!akK[h'z͕1f3;y-T_D"WEge3(óJ6v ,_3+t>PĘ&75c'z;%@96CձlZ3oEVzے X5;i -ͽ\4 ;%e(y ̬ca~H@|حo [0Fx 2ˑx3 K`9A /7'_N mUKYojP uktt 2,ߗ:Yښ;Սr9Bivmd@-6,aVys@p6 5( nK@P>0j @`Y`@%m˷ȡ7 ?O;&J XzwQO5w^6@s@O.((_Gn|eR%.9zh7PDxp7jV %6ThõDI@mzh= zDP j6M"0 o$:B[mJ^?-f/i8<4Hp6{pf0$ =d`LLMPP-LƄd@IPpynud%p0dph(JmP qP!000q@A PPn@1pc`bqZ pubF q!pǏm|_'1'>a1gCFBGRQ4Q9GőQd' 1PdD!fpI&uqq4 ""O###ӑ"I"-N6!D1$$1$ri"ii'q%lr%gZ-q#/q#)&Ȓ+ńD"P,r)͐(r.y@G'n*.`R.Җ`020Q01!32%s2)2-21335s393=3A34Es4I4M4Q35Us5Y5]5as4;9Q kc$4<%75ǿ6$4<./usr/IBMVJava/html/enterp/en_US/team/images/tmscen7.gifmuct$$GIF89aƵքkRRB{{c|{ޭsJJ9֥ΜccJBB1{{{Z11!skssB{Zs{99JJ!!ss99ccsscJ9B1)!!sckBB1!)!RZRZΜ答sksR1B9֥csk!{9JBZ{kֵέsZ1kZ{RsJk9sZ1kR)cJc9c{cJƔB1!ZBB91Ό1΄kk֥sƥcΥR)kB1ƌ!{)!ޔ΄B)RZ{ޭƽJcZ)B9k޵9{cB{cR֥)c)s)ƌscssJνƵ{{ƭcZBsJ9sRs9RJBscc{Z{ss!!֌sZs{9RZ1JR)BJBZc޵cJk{BcsRs!19)9BskcZscބ9Rc{Z{RsBk9JZ1BR֥csBRcJk1JRsBc9R{1Z!1!9c)cBBZ1c!RJ)B{1k)cZkJZ!9s{,@ H*\ȰÇ#JHŋ3jȱǏ !NIɓ(S\ɲ˗0cʜI͛8sɳϟ@D(ѣ,/LРA X TʕX>+ׯ^Â+,ٳfӢ֬W0LKJTSRZ}uÆ#^vkc nZK/^yjvITe Jj=[=hP2:d,6h)}:j: $P/֛a9N8};:AH 9^=㷟? C AĀD@Ng@|I` w`a+x>g^z$h(,z.HGEI^ b&:CZhI0 +F$z o鬢&q+j"pH[GhH xegtCn%U]v8D'+ n*r, -4//3ˣC?l,A4`ОAW\+5+},eBIG֗HkZRV,Fȫ^׾yu$] :B8@Y p%.$cZQd@*U+e B(,bWK}drAS]"V D pK2ȍtKZ.0` xtnvnw^tBN;'L?Pp7@tELā_+cA `Hw\2/t"O B sp+F1 AXe Q 3΅s hA/қmL Nv!jeo}`$H j:@J RЁMye, ĢtDIc-B%, x˛6p 0Xa0+$kplEA "FkFڐ<ېv(b4!3ywW[8gt\Hy>O@!G<E-qG%LNr'_Ur[[j_zpsK$0s=;DxC~QGd (a2ch>w/I.E@ O"œ((0)zǂ@\A{zhA_ayhgDNt;>ahqlG*CDFp04"0~WG~7 ~g}'7yVgu0 eu`a_wajtm4x{} ~ws~r~w' =h'*hr 耑G7V 8n^|\8aׅV0`؅ Fh mV}PPsHpHs(xh}wX h}R op)&a`%X|}yX}x~؉sSXyV XH ne F 1 F `wf9&|poF!{q _ `a `·&}xqiP 8ׄiO׎O'ȉP'ThG؈~W}wPWHWwǎ6tw}X~g(qY7j6i`Hngznxa}W>wzMy},)QXyXj(ЈqTw( hL造 1yȁ@i9`$7G|7ppG  ` Afp` | ``H 闤haC)}#w+iPrhs@Y6~i>ti@ u@u}B(rI | v(wg8o)'r*}  uSHpP\Y{Y`z${Q@vpn{G I j0x|BIfـ'yh4蒓G$zV',)~';*-:rB@E 2y5uJ vpM 4(O*z4Ug**_ju6<ʢ/9A*E* q nP[yzڧ) s0 ڨV'ZTHjC _2mg|a j Zz*ګ ` m]y~Ѭ a)qv&]0/֭/6 ںyVz蚮꺮ڮzZAg گ:gʭ:encaV`70 cPZcRc[0 $[\H; Rֱ˱!;&[jaV ȏ\,, t b0m1o,`g  Ñe $ 0<>|]ZMw 'f_M\L @| =| < j0l0( p͒xkpkϺ7Ȫ +Vm=דL< ˏkƣ P k l =|hѐ\>LηTts -ͶM]b $\ М%ӠMjmP , };w<ڥ|݅lȋ"22\jm<N=-ڗm9.ƌ5/n޺C7.=]]6<=nΗ=~ڱ0 ~n x Ǧ}~^ڮ >c ޞ^/ / _ ?>N~ _>иl ;e>  .cze+"KRc03;gd dc/dfehjprtu?vxwg @ 0    c@ 0 \z_/oRbd?_ʀ ?ߏOͯ?ԏ/ޟPP ߰ߠ bP Ȕ)HA"Å#:d8ć+fG;B rCdT\_^x}9M^93ύA} %ITPEcڔ@N-HjUWf5׭]~Y)U6kZ5lͥK^zyϞ_ʻg^sԠ=ö/*l2ɘ5\eΡ=L2nm{f\]xl-~q5VZ[q.̩SUc @fL){Tg0Mm~v5&?^}նu- @Tp{9Awgy9' ND,3?q4HLh"'/"A 1 #[F9""#zj>v&Æ)fʦ)l~aʖmlL3Ѵ*"#`hśo"E\йh GW񶯽0 ^ OWPv-uGzNxioz}}^p vC8d剚tfq|pnnq[!]oT]Yw=v w҃kǕa}_0F-f YZJ#7'-aDt8` A`8āmO7G> |.TY#G>yv_ʱ ad*!W/xa8| ]0V8ּ/D+F0wI-x7\|+|ZBpB q Їjx6G; D':7j l<hG"$( B)JMj߸$XRôj,agdC*j1bWiE-6aF6*\U`*uy?2RUhU^}W򵯴K$6w01F4!tk41ʪ6aԡ%6u`QJ,QcBvF[lWWuJvft)Wjh:fٯ&&ĎrĤz'g}3fC,r6^DvP Ԭ{a(1րn)E߷@Q<jVxb,_-v-q\ m0{-w*0~5SųkQi,FRֱsT7Zg,Sehn>h&HBЎ]HiR4]lVRVұ 6b8xcBPvt %SH'Yc?VT`<ѮIKqƠ.q= x;q 6hi꾠#u[1ǯmym"CjNlpZQ:d{Ԕ6>]tѕp;.lW<x<(>W+/8^_H䔉 B`^C?t6R:A jZюMok]Q!eBtw:|t9{qTRTkR]#(k LЧUe?{0ԞE5*E)͡}^M>ׂ/я2b R4!ʓܼ֚*G?{~ct"q~c8̕{H}&ئw`${=Z5ID+&7C._ >:I >>C?iAy?p?y`6~f a$Ģ4 <’ 7ek8(@Ap?|x uPCy8uP>l<4*>3d)tr5yptw }`H3$v؇t " Ba؇Z& c>a K` r!#x0?#C3DC:\6|CpCyFl*o8 #̣8SB܋EADEFlGсIDJM?{Oī|HuĖ=VF3)9=+<9dR&m۶h!nKFD2l,h$0k:k{r?QHW9)&BE {.KCAjۆJ; ׁ*#.e ,mJ=iګb:&̬ CɅ J 0lZGSs &gpC\ȕ+<\{kPM4SBdHp+c4τ/a CrI Ӱqc8g:1{*=ӼBTj2ˆcMlO w8[[x\ةgU x{b&NwwH Oa 3xjJ"A"żK SaTa+"O[/I Y=ĺAL`Tg@ƙo~pؠWPaQ[ v{%mϫD$UFH9M[-ta:Qi=%L椽bơq gZ;!4Ns":5|NllhFbXz,Nm]:]U<(ډKǩڳ!A]NS) ʩt[\˹8(zhVkpXŔ4SRWTghVXup\t"JK*颳TO1UiXp\wVKt`PS WjTs,lUNMKBeefU r=(Pg~papW4a݅a~D/mmTҪSbE#‰o^®A,qami1PFd8Ԃ҇5Zy0Y)I]b \Jԋ) 4MRm}t흈(|z_R{e`J,0= 50[ڄ\uuۆao~\%ߑyUTrٛM3mU|ouHU-Q ˑG3d ̂j 2oK"Fa^h6# t[<l ^o 3ږskI44M ܭdCɫ6 I]tQW,Z؄X2OuMz}+h@ @߭6[="F8??`l W_aգ#a;`Nt+^I JqͶ֛ ka:24bdL ^zpva^+K"]`W<5M^|pj赈|ȹ~puq[c|+c=McsZ(K?ԡx!y s~ 7TL #k8dLIӱ9j^qc8cc;c0A"rh ?FN3d买{dMNοO0\"3#\]nH/^ mN]YPXU#I &@+p#!Ni}DcxgE|2Da`ޜQ+k|\V=$ƾ{d~^a h=iI6ဈl4GfF߉Jy,Sv@h}?|緝U *ip^cXAuPP,"N[Hqt }x\n\q؅v g ":Y&Sj~yh|h Q H ˦sf 8^ ԶbVnD𫐤bšQa2ЅZtHŅbͩLobb -L #ڊy|‚&|.vt^@5`.SׅEѶӜ0$NRNʎJ^3B6\̓(1hW߁^dKIb6#e+,rtoEoltVN#%1lP&hMhx2+PrI3\ʏ|{j?kor(btxWopwX%]=ibR57Ljmq_"wHo;ٺa/bC_| iO0m8a`0+ lxo ϒBQ/FLv'_^3c8*Rv3zKu؏۳1M3*.KM z^&7ӧVeu%?o%kӦwg7L cԀ%Xzؐk]{/#Evz/]*a>^ hQgTuJcO5&v`<;fȧUd?}O}_}o}}؏}ٟ}گ}ۿ}}}}}~~G})~O~ o~~~~~ π?W h~wo? $8p2paĈ'Rh"ƌ7NG:0 iGJL%̘>l@ @ĉ9V( Iat)ԦQJJԬVbmtHR CpA$< B/:4>O0!T="j0Ċ3n`ɞ%c  -P&Т#Ci$Bp@C &`PlZxD@6dnAzձBu A0A$r՗?d ӟ?>z՛/X! yH7A1p/0Z%F ݔt=Gs7$Tz07ypFs %eqMr Rr S;4-F@Ѧ5jJBƭkUЧ  r3i_vi=baՈfέ~}s!Dfk8*șh0(29L{B򅏍j S4@z{: 0`]J? 1,!F>2"x!AЁ)-sˮ(Ŗ0yf,\n~3̅IHBeNsg3{r\)ʔhd(GYT2I.Ζ>, \`Fl . bs)Uz|rI!h:"~];+ a1mc3ټ^\M>D=A"ч>0bw"t>7uw"nr!oC"]pH0!.P$"c(h]\R%kc{|"q 78//yop7i>soxÉMo:$ ?P]x1WBv6_ Y =YLB7Dl!dW#2v=>GM"eGd!vfCtX9[r7oDF~xDGqa^TwD^~ڿ>/}|FiC{GN?_}(+0N[Ȉ2IA|oGIozAT?=$A#ꏐC(A( B(TB-} ,%BFB9_A_FZ^` Fa a  yV$+l]M=}!=*a"a*2NZU^\u a-$A !%\ @ M%C2,XG$ *`)#a5Z6!F#?Q@9#^2R]xD#8a0_ b0A(01acV\uvܡEY_z1!a/65r?c2.c4?N]44^]#jcuc@F=V=/ŕn,~d!?L n"G$Cx冱INyXxdlX%eIIAOz"H* •ԉc=cʁ#x^: =:2Xr%D`VE#:ry$c X<`aVrW`X%Ye_&cڞ^f%>%fHf&gv( .>_cfj a?`fjY:]*:"YQ l"j&6*&=Jca2?ctf[Nn^+hX&]z&Hn&GdсQx(BI"z 4QLO,*G0&~-LB,yZI(c:f Wv @/tAL_(p(d cdJnvE%YZ_]!UN&c-fj(V臆A_^Zfڦ(^u%F#ڂ).h$BE>d橞i!*((4j!\_,׍B)e,R>a類*&*6#e+d iy*~ RY}Y)+ $0@2xF+N+x$kfn+v~+뷲 Z%5[HZ) kA։+櫾,L>%@kYk~>B$Aef,EN,ȆlfVnɮNJ˾B}ɪA$̂{,lɬ$lMEzTԮkVf՞֒)h)tz|؎l ,-ڶ-v ޭ .&.>n*..V..:B.冮>n..fj.mڮۢmZ.޺ o BRbj.o)b)moAv)x~)įAz///)0 po/#?pKp;gon~_poz0o oo0 pB/A*//0/,1*AB,:/Hb-r0*o_pq1*A1$pco0 2!rB{1#Gp۱1%?%/ p0'۰ 1q+271* 7J/0*qT+(8)?)K%+?t)p(C+Ad0{16Aʶ$3?DB 3;ӂD?p16w8믕Ձ>G-x(D?+q ,AF(3- 8~(6+9w(H_g)TNO oDBHu0-,sr,Hq,4?ؙ6$36q,Ӳ,˲-rZoz$Ww)s+3*?0)@$L1.U4ܭZ6܋[Rz-J")rI RJ߰I&Xi˫1_ܚk"VYZ<Ιۭ^z@ w=yǗw{ [T ܺ-O^-Ϸg~l˼1mx‰׼99uQʩj~ɥĚ-6$,lgb&=AHFoF[DERXt' Gs_{#$sgܙ'yJ(gZAϽ<22njjQg"$.9%|N{n*r`ڒAnC/{…:$K < '11rH:;NpkzQt@ypIG|Gt {'Gdsz%/nb(3MM0v[o׌GkOP2&IuV_uZou^ vbg V*qj%jqRM3M5F+jj00h m!lmB'jFaIaHf}XiqpśyWFHt$I$Z&tĖNJf={wla'.^en^v&Znqi[q-\׬ognGk~^zi3=:;}YٵWFpٻ￁kkQeQ& dA&t!o7}SeGمn痟IgoΜ8Xy  sa#qfuxcbAOU2 k8{dw?pvhE88u+qW itg?"6-@/#ȏ.8 t%H]0@?flT7, ChD#F'=t)~4< xPNG:tUb &yN>XXeJHU| 9剦TRk-CRz5Tkٞ8cς*a(q4!zC(t;ӎtѠ5He[M>aF*#?p"oĶ\rn ꠖZzv5GǩG: :gԺ:7:XcXzgzCA M\Eu'W͹KYz#B%jW?|W}IsF,M>~5jyKRY[S5כ~_+c7Vr`) O@.^C=Gʅ ;>,te_|! YaH<{Hͧ>鶇~ ?2hCVP:-N:᎖CL%p;dSgaVP``{^/ 'bW==.2甌0#&!\b4OO@oB(aO!ZT Yu.hbAlԄ<k]L94(D!>p/O0hV!a :lHY6>o=..j@I^pY&kPlloĨذ2NT0 L ݁ pA1O)I4k C 'PkbJlF6+ b/գȊ;jikFaOD  n{q(e<"/4(8%#O!!.9D#Flpt* `".k1"ᓒcϔ@nl/zA !j6pTQڄPQ(A edV73PEJUaA s 3kk$"M21%1\K\@QYKĺKyRa:$*+N!jќBdAʒmo$jk1."/dл3Ar!N*#*w%5, %/52g#! @r n-d*RBS aJ8lЦrJ6=3uʲ`d) Q+ҌԁKNd3mra$jA r0Pj.k Q9s9ij,:S"S%z-2Lԁ2`RlJ mRlF2*37{sA1; 4̌t0,aujF`,PAkm/HJ7s =v̚Bì*Al| plKFg¬:[;bܪpfFktmֆ ҡL>G9)c4%Q-p"kt,چa|aK3umjtFw!067mBhwISHMa~id!h~!AWY<֐ؔWEn!`iiU~zɤ2F1i'&p!"EJX)Y43 Ȏ5I^%WlB*ZvuaoDE> y0IOHŽI" paon#âƞh(Aa$lK^UU/8dks~beǦEzid5h~vUOVuȌVhnơDJdU4"]!K\V;bj4Oj>C$vʶAeafi^hra(栔TbJ+vT%R,f&jHTֽ*?ἨP%n#7#ttK7hj0UhġUA2Mcj^nr%o9ƺp8"[8U0azo!ʏJ WZDb!ԥ7ǸS+l!8#Q2Kن^A`U&'j#Hxdʡ 9030ߡ.k"24{IM0'[ϽX 9KWv!ɑv鍠rR6(0s>[!cSu8rUMrߵ4HG޸/9wKWux!8Zpf\?l" rd3ZX7gƓ5.h2G 7QJzA90Zv ;V~(r#A|ƗIܻ*a" Z5u7B #a0Ah4>RƗnaj P*a' /=u~bZn)4H~JA,豪t;f[! )BB~>>^YavX9ŷcZjE]6ʳۦUl12>jEZxY%_3zX752s7=0&2xZ_c_gkos_w{_____ǟ_ן_„  A؊뭺*]THG@HUxK D$m=ڪk -z\+kފ4pD(ܨ]W l:5R D?iHO(<lO7L?Q*?r~,'6a$CʹoTPAȜD5PI IO IT!H@E1P3TA3P5 It3 C CC0  T I@ A|?V#q6ˈ  daű%RW A޵<\TV|3>Bm4HT A5~w[wwb14Mtn`I!15ؾ]6@ᇏA^aoL>R*hqR t$45قfT[X|PyV5+BȆ 6Zem8\ N JA tI 0i 6)aZh4)c: .1mg]mhҵ6Uf8Q^<踑:ŁcLBJZtɼ(^iW`s\-:YrX>7RuBI%J@ oMZZ;'^aC_29ME6Pvq+r;Su`b;̬ ݖG(3t! w6zН~ -Sq^'S[9ǾihuY] {P%zš9i=I{EaB펗T\(XHiP(  7܍t1C 4\٤;Snpr4#2(&^1piũ'_hv@bUlMa%7LƮvHe+ 22I/y5sky= gqç0\cz2ٿ u9\ٽn1#,մ,:6l'dpT}HVνli3(6A"#L |왾P2嬩jÆHYd37ѥۘN0qR"pV4P?\i:]^'PVB IAjxC%֌iOV0@=޿Qڳ=>x+6ocQ;r+i*)o7 29{ɗ}`Zh@)i 9)IyZ`əə=QQ1& )Ii9& c PY^0  ѩ0Ɖ9 \ )9`牞驞ɞ )Ii晟ɟڟ ^`0 `e jzj  `_ ɠ 9"J379Jc=? 90 @JJMO Q*S`0@Y[: bT a*O`D?DjGK:q`[jd0 rʧcIڦhAJAʣYGJP p y|{}੟ *J`jڪJJP 0 Kz1BEʤ`zz Z zҊ꩐ ʫ =:F*Z Z :  а c0J`jPjꯨ:;J.+0}Э-7{6ڳ?˭A{ =D 0ګfjɮ) i 9 ?QW+I zz0۲GtKG[w[D;Dks|F}KwKK w˴Lr r`lgЫZꨗொKzжn1xz뺭I+wk+뺹ۻ+~K~0c{Y@j@ k@ cP ?1Pp)` +@@ @еڤL a a@rJqa J#i`( ki@i`(0 #JDl˴6r0 J깁-<źkr| P\(a!qP(&K:w\n3q L\No+řܼ**J@A˻Jlfڜ ߜ<9l{9,̺> =ު] a|9=w/4]~` =Ng@O9<1]l{X^;_nP 9`` ?ѭY{Y [}ު-P^>~*-OM #~y$ ^ ? ADFߣHO?crγA=)Eoo~=Ǭ#_&pENOϿ>}.娯ݟAīk|'#9,>Z 9F%%M'QA &L?|0‡a L'9 6sDGa _4?FcIڈRդXsJ)^}X^ -c0Y)W \(#sRCA2<2?T~c=3LMd("5cM܄39E&rs 7$15tByF,/+I >'4J',H I& $բ$)m6XsO:F1cK3"4Êл6Z_}-x Q%Cio]WjY%.h|V8a~QNC ~9na)1J9#|=7h,5HhFZtY2͎Pd:j-*b76:seDVmn{=9mqgEr4i#'+i35X%2pI&E/lF-7f@߈8A VЂB mp( |' RPBv 8"1WІ7$FЇ?b8D"oD&6щOfC*e`x!IB_c_Z1Y@h.XC2L"W ؊0юJcH5d$EҐ'6ҍ9f-ҒR"`G2ҍ|E,$IIL΋D%ЅI,gATҖ(+P P>2d-vJargD2W 30 ;C4M!MjN3g5YMl*I [p `c9Mks4EiOԠf>P6T (Di 4nE8I1œhc\1Qa#= J1:TҖ, Leԙg06I!MS "0IMRu>h)6թLm9}:թ§V*VӭnU]*X V^g +ZU5o*\jկb?+^ռ1K}j`aAΕ5iUJѰX4s0CL)Snϙ,fuS2vEgA Zzv]TZ֪ jpiP mt[ַ)n \=nq6mntm\>wp;v׻ox{R}ml;[ 85!lrzzNխv]|7 ~GPqxߛ 70Ca '.qQ b[Fnbw/1ѐcxnp)g@xp-fF#9^nI"s%iZӁtC]hK:Р^[YsnCe=Wԃ>--ok9f2i7iJٷ.*9k;9¶n1gWvLc++^v'iQ;ў.unfoqU)O3k=gs:ԧ5ᾅ,6x:v͸6Oq!0 D"ֳP-Fnn?zߛ@+lnߊyp]!e/:)0 yZ.+@J] mtvӧhiʳ@ :>x-5|9QVĵwM7w:G}I&T^x@a峘hR7upb麥[@~9Ӄz0ȴ?0 |n?X:Cqq ?ݞLJ{u=?oTHu:f[gĽm?\B"=*8. m>R4߳-4S 3*6JC?;Gw0Sw2@J;vJ|/&DBT HeDYX=ÁdƃV09.C<7p9 <.qDBA\AE6E1kRC˴~585@6`J5Wt0lGf;*1OʭC4;;m0D˧- ˵ID_ATIsŹ64X6<>:2;ʤɅ벻ɼIcc'7x䴱,;SԳò|DȠĸ4`̶J3KTsK6+ŌXMBL-7ѴMRAZd8a&bLs٦;eMĺML ͳCZNSKL5l$ٴJ̵M$Ƥ44h˵TPDܵJM8N8Ӳ;;\3Π1K60W;-PJS8 5E^#۲$WC1}O,5TP'P^ø]]L8^K8QR.25йJXP7S f@8X;*ѺJ*%_6`5ƙ[$5RxQJ5Q5S.+2@h |;T9=R/GR=ǜTT-RUR Q]SVUS]XU[XU5eՅ#VY\8_2TQdMVb2b%A_V;@Vp7mSU8`ȄV2@TYaQ0ԢAԣ r/iSKi]hi-s~EXnEXU pV?je6Ȝ_{XY؀N׏~_V؀%Y%YXjL}٘%>}XŜEWqS%ڕmWX;;VeZ<Y?ZA5X`m1y @:ӓYZ=[?e[mIۺ[2Z5W=YZZeىMۨe8}[?Z}m}\E۾-Au\[Uܿڵ\EW\@=ڹU;\ATw ԡ#T@"9%r2$ߥEsVߝ5?9J^aQꭥV8#Eb$6 ^Ir)%_$OzH%uT VV^7R #0m/&] Vfv .HPW?$tnIHj[fva`5\#b.~P!fQe@$V$f%v&'()*+,-b.to263[(cX(789:;eUNeJFeehYȅ^^`\f]q ~j _YXnPnbIvf'vIgnifhffmjnfmqrfsWVXFfZ6p(\x\^WoH5e$nU&eV&h6V#donh臖肎hmVbvn_ fkh0x鑮xևVn{Vrgxl؆m(dloFg>jfg.FjFWew&曆l0s iVi~i{hv(d`^ pb>fevh뷖NgeXg늞iv6f6jflyǖ{Ȏlɖahmcfvj&g~6jNm&mNgO_ >l퓮jŞl˖ukh&O#f؅c$koNl0钮mNlߦlˆ{voul>6^ppnGp/oYj^և oci^fVFnHfe`Ud#lxmP jh$r!"Goe&n߆xHi.+op o˞.pwvj?6Vpn?p8_8?mk0+6 iɮ-o01's?vk&t'i~k0jq?b qe8#^lK7_gTWuLHOqIe&vpَݮpNB..1/OylFg먮hijskws(j*u^u{-v rFcO_lyor^JoqMM/ЅH~qaHbkȆhqe+1f`ugxqpwYOf\ܶ𯾇xm}vXwsr7wpȇ'svOrFmllyyv[_mrxy7y' opnwzpZlOfhxZ{uoq7qhiecskoߖ|XxppGyxK|@zzg[`]Hxv`Mz;g}iyrcrx@ׇt/|G|guw|ȗ|ʗſzdg~'k^\@[(}`fgXfs&WVi0}gt]orXl|7ݽWpyP95t)ҥE*tQ` W.^)'X}.LQAl:(1EHld/, w˙Uw>ʐ/'o3͒4l6h,?f69VОLͽ֭L4l_l 3e{*٭ݜuÊ+Ivy װeŞ _| ^RxG0".RSMR(ՄV]uSba׍$ WMJy㞌W~3VF!'H% X$#/˜sO~esR>ǔlq%dl6 Pl- [r%Na?(.Y'6m d" 3X2ux^.LK7 X/:O:#P81l?䓏#@=<#?#>|C;&a.h84raM}KMtU8i-Y**j:*j++CL ^}5[(tX7PN2ֆ?ZJfS3tf 4HnʌY69p7]cMsdj+tΠ35&J-M.* fyBܣ?1cBNO:b=b8Β<S@30=O8xQ82a]E7T:TGꭇ4R FK1B.>jĶp]vǝ*@BG4:,܇/:q" 3S 0Ӝ\OF˞zfVZ vbYPF5^%kF1[#3~ jE,.JόfTj>BG[7|q`ՠLq"Y[xqptc[3 !2[dC]#PKbJ5 cLQ@"bȄ)cͰ 6}h-c(jd {Iqc31[(Y?Q p@i}%- qS8,Ò-ђisE:-U[,#F4O.xN\9BaʑVuHό-A[t1$1D/j)(dgofrg5m`㧷7chH+ L ',&+q r0-5G?+|YA. FiQb^:Tuq|#B+R1 Z=/ Kfd2 '9cΩRe) uʫ'1 1Ƣt: T3XM@Yː4vG Bjɱ`k ͧx<@"L:O乨vHtOOP#IBT5 s#Uo="/%,ZG9Qpt$R [lC1Ҫ 7[d$;Yˊ܎cـ[؝w<^7emDq̯~s660Ͱdm/Yy809v\%PA:KW ] epYaMO JBpz 7,8G6nb0Nu[ڿm7)9'Yq<,(X1zVvp`L8Fdģ+c9 m͚[ c+k_* qF U:cKDPXя4Iw؛vktM zN:bs$$14R'4&/4aG7fcu;pu }%ڍxM:A;hopY:!}ґzc۾Mr*l&G#<-Uoyh}7;aH#)}kl8Yr Wbqђ;xu=m`3Pώ2 rv[I m %7leGE>CW4:F\EhHT|gocCU3ԃyXE G  DH\C0 [MSИa4`!5h!5C0dia4DUa:@Ó=8DC܃=$=<:(K]%RiƝY!|@^\6@ 1\2N>Cra6d884آ-΢,j!QPMў95pM&(C>Bb(D!b :éIX"ˡ bJ xy^8C=<G{Fx݃/4Ȑ$t+bI1tS5RmC<&>B?PC,|d8>8CPC;tC5@H*_7\*S4dX=C?ܣ#'C#~]CPMMtXBNIUN`G6%HI @8dJ$H$LdHM%5$F5A9"R: dZYCCRRҍTl]U9Lb9`,fvG&"Ci5jLk~ᐧ.)=nՔv%:XdeBCRr ҍL ^@O}f<&on^~n^Zj ]E4ۨ$7<^$e(?z,!4mP!xKe&<+كiG?Nc:dA<>h4g=jCzzD>C0>C MB݅i]39؏ f(uP}`bZQh/ݎV'L##16=kD2rʽ ]kZ뿾N#l$7b:4lH@Vg̠lr~2n'C=C<<|C{ꖪaHFO'><ڃ^DN|Y*^عcuW\R>ؽ<.kIr"X mt>]dj؊m>+^뮤CX6d,QChPj9z 5>7z:?"%C.+Xp˅熮փPǎ]ClW9\mC@$#R~hVCClG=4%kpq]%Xsk:-$UV/w̕ފĻ֊8C9JK Jav{^Q07񝕢D-0TxmC՞ e7.]Wt4_9KMS _)yQ~|7,H6LXh3bog 3p-[,$C2<˳FY= ;<7қ.nM^$TBvni*wiM;G zY;`h-!Y#2C[A{׻Y|7:F KLNd=0D|ͩZ`;;ÝY]Go xpkE&3_D^ ƻ'B8^YuD՝ia:{S+!4xA:I[ID 3y*|vWPd08`V//0'%7x:l.bWCKvd,亻",f>.3`3֌ko[}[^kpJG8 Ku9C8PC10Y܏M\Uv^o=&?Jx$r!'@L2 Dpa„ !t"n+]uW0\ŚRٌeKc`.C(ĈiVCm*y(Кc.32eJz[ao[PUζB<{.ݜwy:_Imao l3cL 2Nlbge徝3ɕ1_2)2npFą k4,YiG n3iuˣa܄Il,\5[fuvvnֳR{ve##ú"?n)Z<򄋯p1 p %ƚmh!sQ's!'hyƚWnr@J_BDQf_FFmĆmbI)FGI7s0ȽvJ,®k K4hPBJwG ?#=ʎLr!PCIT+dxet#ӛI gN:0/ЎU^#4J'醖a]t_m1'kͶmvGqŽuIW b3LTlgz[{!stra^grIƊ Y2x}_u\>sV6zݷ_o7`ǞvΡuղ5.\SIl9'_lefYt™Da\qFlZpE{MqGJlsHu9N4iٌl]֖͙{ f\!UK7#!] Ik)<c\#|)'goqf?8KF4L͊*5im=#g[g|zҵr-7h#. feu볏|ٓYy &jm\m|W& Iඥ_7{xOcAIo@PP9n0\0`~/6S@tnjIM ~4*:pV<ڡŒ$E^|)㪎X7p G>!K0!=(ZRg ? 2n3k}\ 49ڇRKڠ@exZ.iﲙlg8J3bWJZC ر-$^ a3<:MWvkY1P- Zw͇j\zc`rW7sf jԃ=@8M_WDD1 .vA^KdH~&?pC ` ~%A Sب=-bta#DC{edl(Yb˘6Ʊ ,m\҃\CHut! a)4}JL56+tәyXZ]>aְE!W C _$ljcC*?wЇ`/ztZآ&DQێa鍔 [$3Ĕ ~ђD"X|6joYb.5mse!$!\-[ߤ}-%joXȕy4@W—j{LKV\{K좳(c!NIP)ɣX](Ɂ P9(a"jxlJL\ ǹy=ж7hmk:VS?س4;'!^|Y$iBR|!3]>P.5Az@ ~(x8‘VX@;b`.>tlN; /y3yGG h /8m$VxNJPN|j| y8lGӞX.Uuֹ2!Ώl/rv4OA /& -B.*⒬ "6 iulfArj` ,(/anapal J!Xn)a!wFfĠ%v|7(B+qpahP!@(ޡv!AcpȬsr}pP 0 E Q@p!AltAtj,h ! q@P ϰ 0AikznF).kxeLP0!r qnB\gxl!y!@J1a1f(m!Dzq QaKc X/צ䑆6 AadA6!jcYb+Ar.!"6# | @p<ʱα%pD*HjNಪ,|Qے1tj6.>#+2j.-٪̘O"ݒ~.C2ɪJTrn%M-m^aha? gkp n6"$(*Ұ )O2, sF /#/;QVU\Y/!,[2FӸ-S1!8˄ҥ'^JYҤK-M/115JAx=3bY+/Dk0 +r֮3329w%$͑9GrQ&rMT16hJ0:.ꍌB%ͬ>2e B7&jJs0&#hA\ ++0.> MT 4T1c'Ng$a#tb8RJh ahdKGoN$EH`1X]}KZrCP9q.MRdDjA`r V]q u#M̫J^B(.$&"PN$hd\ >`ȞAr]vvjzt@߂kUbDL_KP% 6&UaGN^J@bcKOQĕ)ߍ46jF7VoEfVk6+o9Ts͔F(!AaxwC*$O!xuw!rJGX2r)kbZ&S!vswwy~xǁwAju{joGn#H2r7okPzq7w7xc{ٶmxCJrGDNqcJI)2k7vww&!|7D%yfy:0pFkn9xO7ɮFdDhX{倷}HWDb؆mDQdJ%{)mAPwi"0%zmjI]X5hnHgFT=Q8c,vVs^s8l2^}U)C8kt@f&6;^"y2:'xU׉3͈X4#y8c¥c5Z18KwV1SGx|+pvR^]W),+aёnU!^8W(׎7N6} ɖgǸ4Y+9nnnuM3<gWWuRYXOz!:%z)-1:5z9=A:EzIMQ:UzY]a:ezimq:uzyb:z:z:z:zZzɺ:zٺ::'::zۯz ;){{1[:9[D{IMQ;U{Y]ZaimqAy7۬?[ ;{;{`Cz/ {ɻڲ%;{᛾廾;;3 * + 0 |%<)-|1 |9\;< ;;[=3\ik|m\5|ǯ9Fđ{ȕܪ]@@ `Tz˽<|ɼ]\0 ȉ{I{+@ H`ʫ<˵<| Ӽ H\/{ɭ:)ҟzCCL L@tzP`Y]a=e}ieVׇ `\p` >@$ {Zŕ[+<N r`tx [m۽}{}׉`D`\#}1=-]l޽:@ڣHu`xԵýaۇ}~ 8$0`Η7===کگ=չ]!a۹+1M\ݩ= ߉=HN  ڭԵg>>_ׇm>b"@獽3^^>wm =E:z>}2 $25W<`^1 -la/W47@< -흷S^W= Շ??~]܉  8`ݞ;S~I@ QY}?_? Hp(\hpC B1#8 .L9ɓ(S\ɲ˗*ɜ)%6 0-:3  2! „2xIN (JKڒ`VLg۷-/mK|! 1$QdIFV̘ ǔ1kygƠ#7̐aB)&8b t@C޾|MჇ #m<г;}CW9c|TӤiN |̰ L +A5_[_TCI7SV`|$uAA=:6q B!1C 6@?I$ P@DP!ӋI 4CTUADcوca5P\VA4I0 8΀Dc^Cc4cME詗H[T@=X"^<-b/8b7Xb=CD&ATpYE=6lnL )AacoS;TֲCUHԬ\,fR!Xppim ƨ}ғ/щ2a"=ũKs"|G09ς;1HIrizjZTo:I$?}f>u8WPlAY|ԟ5"i3L,X *K|(A])*p3yA9s>լsc)Wg=E2$*icZB[gG*կԤKW ׺ί۩z!NNB%*d'KYݎr%X:ث|*aJ֩Ӵ"Z4*`Xy&K`LTbcteUwkU:ӿ4-UFT3Z٠J.S6-fኖr^E*]klT;pLr]`i}[׸&%-\*׼E,L;IuUDTe(JI'-DGln&(I 8BފmnM@1&0j[Ble1 aZsr/X~85$)! o{`v5?~~L\xGNyHx&lNc @ ,*۲eÈ\O5,` 3nX3 D;x`  {FR<ɲ#2Pzǫ~O|j_?%!YeZ#uL"#zQejZ֢Xl5kh] {`LC&1ЅL2 `вS.F׻$2CBxW]u42;-eE2dI a(# \zNM10e$C\–`s FCV^њͿt%p($a4> 6GeƲl?idrׯ =kN*Ij  ew4<-{D܋i|u:{D$ْIz%Ă'Ƀmz6..!-¡.+x$,e(C{%+4V5Qre[s˥KG0~~B72&B7yZCuK{f X&g}3|'ADrMPDng7wWQP4=OrDW~OI=EN?h7 H~u?IfYq_6RGЃ$U54 NFd:8dd:ngs2(rw':'^I8Zz_XyxńNlEe wYx}zHc:l}5yiͥo6SsCq?}g[{etzr'CiI'8z&[6d|芏H8x|Ix؉uWpX!x8xXHS؃hzX\_HӨ!"z{XXV8Wn%dY#qvUci>mHL☏W2NZl?nx8glG3))xC&y޸(Ն(ؓ2MYx(0 Y6,3jN9)U G2b%")cG2G8_!Y#y[6ÏHyrF0NIQcS jI[Y#]#/seÌfnu90|5JX`<)=td*Sx0s>I0Am3mH0 3fCL799F`2e4~c蔙#)B9Cr0YdHÚI0UJmSd`H LC59BY@Ӄd4A3uQ&=j>>AKx4mFpYx&ዽ)@wcjVGKߙJLZztQu58$XJfӤpjSgu`ڠbZCXȣ!}Rwʦl ZzzC zFEw7K>8F04At**6fSFPFPNt̄Rh_kʍ3Ί`FqS1/ĪNJF_CS(Ck gvrjhoH/+A<*CzH#* +SZN1ºɋhIA~ 0 " P *n .3^nN:724~)*0CR>V~X~\^`b>d^f`  ]oJ g^v~x>0  [ c~舞`N>^~阞难]0 0 P_  ]>N > P et >^^C ʾ>^~؞ھ eP > e@  0 bP> b>_O~ ??_^멾c d_&P .  릞0?+?DHL/P/R?T_VRO O^^e `fhoL/nO.OvO]. ]p/Z>Inoq/u/> 0 ?_/ \O b`/SMot̯͏?d\0 ^@ οͯN/oup v{ $XР@D&ba"{ HŁ+N 'vL)Qt J1eΤY˖eҥMAٳQBOAdڔчQ]ƫK)&5ǭpEDhPɓ>QDSq,VtEadiF!?Bc h >"S/"Trn3 }PQ.nM7.K3MR;HSNBяGB ]"I\:r/[H1==sL,54sDHe1NŔSGEuS5%nU 7q|S] EGEC2ae2 @1CE}68iNm;TM˵VUTǵkxx9VHxcW_CG`d gk%dc׸dK\ 9l#e&escMXEQ呧޸cAx+ZNJU:y]uutY7%I'3YKiOL{QU y5v#zr)-g\W.eXbO7zIXfZ@vV/@bdjuR؏=&KK/WbCx3N蠌2,~jo$# h5FϚGwUW+>w5mM6ene@:ť-:% ]{L} ^-~"˹f'k|#`IO:TMU0)MmGԤߋۊ*/$OY*ԥ餡::~PXhY6-xIL:JJ Y&,^ZG($Ƀh08͚T1tdH XpW8*G){䈜ԚC1]TpK6X s$ 7r[%H˩1q\0K[=Te\%/pɘkJWή}ut}*`)G6jupy^d?1/1P3mL4PHjm^QDG\|# Z8,e$0\aix;ߦu{d[( et E%gJ\v0iy^0{~ː%,2K\ST.YNPf֔d66[5p ]H'+h@u)cʤ 1a< -lSlZNLvj攉Wsz!:]ke Lac[>vle[ӄ7 wNu 5|F]T=7\<\Sk)n{V8nv6eyN&3|vB-E2l', >luYZ=y¶NQP}$g:Mx :ONb&|; a=0x׽m*4 '\xC܄iFr[b7ʗթykWt>1O'R׶l&spo} sS{??Z˫|,㑉RP1=%ҿ •ۉ U9#=O+撃2.ZG +sF!@2eҮhU<ċ=ijˡ6{C+=b.MR*0XArAUz$AJ'CAQB #W #˺K]2 -2((T&Ґл(S+H)*Hi7&T?)r) TBP|&LsW/5Cs?8%3'7|鸴AB%<;NDDA'3E28HEWdEQ({6k4ܫ7 DGs1DIĘ9;ʤP抶OBƻB)+Q`*'3@(+4: 鸮3W|"!t.:,WITs7ܴl\CFA ʒ"xDG@12"Bˢ(,,IGd)5sH2EHEB$ ? &cG:ŋ:#ŋȭ:9,6LG2T**킲tIu%뤘K\ A‘?I@(3=$'@5ڕyʽ̋>>DN['5|QQQOPXQT|GSG6*=\BRr "`"Q =Mf TԐdݰmN3Օ8U 2#&+-{T+G8+AM =T56sņΔ{tPcUZPY[IB=LZ\4՚@SmJt/lVQ֓/WI(MDRUvݣJ %WaV jBPQպ1d3Ѧ-,3jUxmpzu$SWo'Nj$~}2,uQ n# ċhQ Uħ~@xS@"VZ%~% $Z3TZ[]n0>+"4ԙ~{RRm$UDZZZB%ޚS)~-g2*ҫi&6 UQ:1sJb,Jhxt 0 )ؙ*,l1IQضBX*ZxmaڣD|Zw*Eu"/Glm]1N3hk]ڣ)$2=:n]B4݅6j-Syc@~d(FQ(^I]HG?Z,b,F(]AM` լW{?~$JV]7%S4Y\Y>*f9߭v^RI_GzgP0 #¥3G#oeWgbp34hrvk%^[SzgzNZbd_ev \T3(iɉ ’%w~g^ҙvhuiiFᅬgz^XX9R#SHB鉮nhrjujje80|vhe>YV`u4.ixhkk6yӰ{ hR+DZ^lnkGpKNk~[iM.l5@XS.m_hҎg&mzvP kb(&RTYn~mfmnkSCvR,%ޞ15NX^&|ᄤMoQHLUoooo焢XX I 'm@:sR@5p op qNoI[Xr&o%' X(*r+r,r-r.-/X`! P ޞp5"GpY(9r;s3 cs(J9p`tNdx/\ R0uTT?uUouVT/uW_uYuVJuJ7 W8E?!:q]uZueeOvfuhXvhZMOP\0 6DFgF?Q .|wzx |w}w~wwx3P ɍm"u߉vxxxwyw.H8!9Tkﹶ?xA9 Wxgo2H`yyyy y,y?zO oy/1yܶs7-?.{/O{_{o{{z0{{{ZW(HpRnHHxIp|OCZo7|G|ş9|П2V|f׽V~/pد9}WY8~h/ /{w7~~z0H{w|I쟄~h~֗/X~V|J,h „ 2\,I_&H"FXuOÐ"G,ʔ(Ml%̘"!bFf͊$'РB%85Y)ԁ*UFj$Ȭ+ذbRDc9e&5 +1"3.޼z/Ca1k۾;A^<5e̚s%3G)miSgTniWDԩ\*զM)RJÆ8ĕ37mЧ'g-:ڷ.-޹kߞ󻔫᭧V?=3d7>~A63Jzι)8jh k6 )1\zVjj!1j$x&x1("9:#=y߹  ,nP8ȈU7{W ̗_L&2 g)fX W9'n9y[GQzhY'%vy)j6:(啘f y%W凚j)zjis*j)bQ z K:XV[ƮPVKbB;-Vfv)$ʙz 2+\~ \r)"֋ko/·%\,0 <#⫱!;k')9Dzr*3l)qJ)P˒; n:i 4|w\J)k1nL հ,v4a=6e}6i6mq=7^s- 3^GM5lJ)|j3I=C>9AnBu[oԁ53{ u:ꪷ>;.{׾;;Ǿ뫷N='>ByH?nvK$6/{Cl1|KNQ N}u(E- rP`C( V$TaX= zlOBu=t]< l ߠŭ' ETCEM@s Wuf Q1#"|xx wp#m=uyG>}, !1#!QG])pMTL\+Ԕ6 N3NX%Zj?Fr7DOd>Qґ2ohNUtkQљg>Yֽʵ)^ֶ2,dTh&TT\h)JjV3aVhztLjIݺUM]c ۻ"6}8[-,e.Kuh4Rղ jg^5 &+^#gq~(8Tl{-/^:3+РLW@k[bڜ jۺT8 ("F JvXUpYTdӥnUL(%װ=?Kb3dz*_ ⽀}0VdlQHTSVn9zwr˂8+Wצ懁X , PkݡTPV2YY /8cu,^$?̂84xgHB&Ex#G *գ@3=:\ZU5E]MS {KAcZr$phZD wYMS 8ٻi^Wb3^hZ@>)ԑ.KSZĸ(BP9| )QLyP#C%< PʷǍ#8 u05+Q4l;m[-Au`p7 :z K%1n::Ytrn-;}_ϲ2vTlyt .,*L= E ؿ6C4ome=:01`n,HmXS!~Ɛį5Xf(Ju${^MoT(vaG(o}>Mpw,6,V×Ŧ6-GWﯱ[Ra6QsP3w M]tz|TՖB`4\_x,Ib:TeUf r Zݗ^1Z[AvAAћ%ZΙ]YӶI)F2o\A͏BRz5LP͂2QvT٭IQS ЛA PMa֡R)H, S(8,Tp`m]PU]Uu ŀLQ\ݘ 6]51, -A,0X?Rd—[R2̚qSxř+(\#]-tJC۾Q2­)~BE’㎭#m?A42 pK Eoq3?5)AA l§ε %U*^+^J` DGu҇ ,Ȃ(R@VJJAFUeӷM`ڳ^P5m%]ٔMӨlNAS5 &ao%-5)RQʁz#~bU-UX N.dM͂A&, SqW`A )x]e6`U%s%:Ug6)m%ASoa {usHfmRNnBeE9g`sQ譁hv+fLȘ0)d\Zy&?r֕v!vof5E'&gjӃVo&P^gOQvc}TpD!ՁAB)AV_ud*^~j~K,ǡ(̽ЁSTb1՛I'}]>i%v6tU Ꟈz(iY]uޞnI5Ӂ0{Mg2Ԑ]Ƙ\WnRrjY)փF՗ޖv6j] )vfV%5^vZUwcUcr9XGQsh' YR,Bi[Ʀ?oryq)`剮TZB~(lաn(B:_品,魆jlsb}bNű" M ՙm׻"ުfj阙r묾(ȖZRl.'o+#1,MuQg#+Yn!-*>>失6,QL x 0A\,+\5Uq4Ve(6%Tڮmڶ-پ_zW­޾* BY n!UbXeQ^,^MjR,ٯ&N):m蝂2,V)jT٦BS6_J\䚢 :n&"Uds-nά&oBoBo,v:v~BXo.,Pn[QZdnڤ$,0.,UP|붮g>&SojuoB6oV0./"⒯>.^0 +vڢb {q/ . {U /Ӣ*XpoU e..1,B+pPJj-%>~10/ ױeqeq )1)e1M&#Sч[U"m0'd^Bm})RqPT#aT`UQ&#.^o'sq&K&.Sg/^[226Kr,%srs2%Wgs9{s.4+4^$;6s*f$XB?s?,G׽2H>O}ӽg>ok~s>{~郾>g~+1C:|CӾ7x/2~鷾>'+7?/?;=2~1~g?ڷ=/3G?_>???2e4xP`A&lpA(Rlv_^67_lvYel ̂2]K7a3&ЙBk4ڳDQb+Sˤ[#:dؕ+McŖ:_ZiƜVgܞpukݺ{\UDYZ8p5nqInvZf')*[v4(衢"%-thӫUԱie3ę3؋߯_oңvйS>|uǣvXϢ3~=g?zQ lF3kmQ{pA $jB) 72li|ӧ)rIƱqŚ㌢1{/?.fɋkA8%tA:|%tm=*RK/ܒzLL!tRK=T$2 m TP+gB3Lz@gdn6}8Wa%0 TSUhmp]?5TNURL5}-q]Su?">*Ͳ䑇~_Zݱm \ncTNl8؄2(e4>hY2V}~a)Q:[p۽4.s7Ev2 luԄH]61V~GYݹg{ܑg,xkc%VOtzmZUv`36}~7LťJh"')Z>2f騣ڝχ MU+b~uzM)fllr\g|ytzrb O|qeǎ_g3'Yڝ|&V+WuA郛w:t }y1n336j\;l,Cէۭ/UHR(9]0^ 5No?Ô!HKXL"-p;\Xc5B$=0GTDB)~OeA/5((u rbU6hiJT#>w?I1T<٣7pG#Nk~!pن-Bmn{Қe^ R*:pO⚔[I)`"@"H;֑N|{!"Q m{Z>|j= yC ]у؅.Ab8}*IeWm6i*R{,x ~0]%| [Ip?b׼(f+|!tHΘOC=ea frUq-F1niq,dS`*Y5Օ1G>Dpw-ya v#F-Qn+Ws.FSs m3<@_64h%>-=PldH*F:nOٯю|enBe8\}1u{=a`~\tYf1-^xc]FGA=j^Ԥ>4@tHc(Llo|{7NppX2{EA=no$c&ք5+nпuzZsV]iOb;87a"wIK]܌c\80 a\:3J3 4 \Y&ދob8=- >5d|$;Gĺ0 HZlAf>2k#{".Pzt1 __:v$r\/9o'69σ[;į!(F_ֿ_6OƢ!tAO8~LCs2ƏoOL҆/w!r!hLO%f)%Ax!Aa^ɛghh aAlb#A~+h`lp!aa ̢&/6)$-vk.OpannRO"Ft~<!ܼ A$cаPFiְ(NnVVb Β$]{ "-)zI\4 e dp-a ta@p|at!a-Z`a>!H+&lQDҁ>Ia! vĈz.ZQoMvFAeAJ! !QadQK2c> -!! B&"[1HL-kl! 'špOSt&b%v dv&-cJpjSP+'A@P0!^>fR+@ DFH+!hK!$ ڎ"YBrt35%_o*}a\R1213P2 l9 35337I444lM5m|.n.0na%qsC+٢y#\bԢ k \›g|/-a%d"|/qa2esrw8ʡ1VR3/, !fn.DRi5Ǔ ja"%pw!pA͢vSJ!rBr|>k#ܜsɲDmEg%>E]tLMFC+jFs4v<=rHN04uh9jdG.q XFR+!KGdad!*z!l>fMa 3FUR)h2.*/I!. >m#'Bs$W1f"L]MSKV]VVUWgW}XEKXXYYo p0PoMHIrPެB/̃͆!&Z1TW sEncwijg#AdtYɳAġt~B/APy#&u$I!N .g!Oz~VnAhʴjAiIG@~ kAj]EnT>duKkڢr,P6TV!A*r"Ctj%!8*Q7:BJodta38EjoAT782JU/OKYСӊOo줪v*ωnvwyw|j}zgS0IELrɅBDBƪ<֤0Ap*U]ahO5xG'pLI6NEhpSZPġAtA&NqxjqFzzքayUtJ*'PsWwףzZfdպjqX! w!ܕ[1fښ>A;v Xxrr=c)r$b"&98܆~Oa|-hA'wwAiCʫӜ!nb*̜aq$!B%X潔 Cy`,$Y"'.8"A4x5JITxwV\٠> iinƜ!v$9eyZy( Ay0R3DC7a488#"%H|!f峞dZYL'4OS9Dʕ,r:^HEAFcFu+yIbOpb2a⺁AJA8"866_vCqn΍"6WQaz~.>"`,#42܏.ø [Ff\&YI۸+6[*>a%-Y>YC2%DxVYVzU*;dVHu7{@xsc9S {#x5;luY壏TE4 vo~X~Ri͜ǽ$Kb]Z>vE>&;L8\%DŽFz!$<>c.|_AXF"-B\Ď_/ЬwӚA$wcBɕcU>!E@R*#n#Y$g#w D]KD FWKɡ!&F9S!~b7$QzNLt[j0)h,_%Va^aлĿ6U]űVS`\K-+=2ChxKE?` Rc \s;/ ;AO&YvUc`d[B[o̊[.x\YWczpgٕE&ʥ޹>3å4qrHcU_V_T׻ݗ<ݣͥw|$3Le׆ Vbdԁ鈨1>;}/Am#?#m}ԡ*ԩ8R ]ę:\Zƻ~'A&nfdH<..I5WܞӃCA$S\ x}Mei>![ `FxfNe_sFu}mo荨==aݽy ;0(1bm0m|5%ޮ=3GtؘpӞПծ.mtIJ{F8ă_Ū8r[3YghdƳS t{Վl]o '\U#:Wqo*Gm&]K䴢M.Oxm09b]Sd|QCMôScE4YTM" G T&MOYR; bifhP!b8!'gx3"f(y09Vͱ5R|}Q1ܷ$=cj6V{J%4ZWvZg\tlʴ[IL1zymJ_eGV9f(Qm;y^*]B }#8`MB 72Le BVXbc=i#]>LfDh3ٰ]hZmm) _cz351昀FҎJlMN`}*z%wbm2l2a*& 1owYc ?{(nCwvZ{>G%^ -4OK'@|}E6H#14ڈL04Hhb5(vD"{P項?aHG=j#HG?᝟H0H<<t@NrLթ+=&]`2!D/teRBK>%-sIb19 _$1<7+&pp=1~A8?nv`ۙr7V'92¼LW"z;!p3 IDhRB+C4jL4r"zPɇ=Ӂc#5-cK? Aiό&8NhycG9q&}NtE̝P˓D%[Ƅi?IIg]t%p>L}eBBy=/A6ƆȔ2f*Ҽ5aMljsLݔ Ny߭sM$%#&C+8%I{!~V>+*UupQ!@EqddhG?t&<{㭋J^7tspRCΙ0T.y}چ:4Y7C'-?@1t%.o?\5w ͐_bVkmfWc?aؽNӯU:׶$/=bvuCOȝoS$7xƨ91}@ ֗l,]ʬ$뜘p)DI\^ZdNAauJQjB8 ViOD {Z%Gtl< #PgPN6*hkɪN4*8)/X dؘ63#O=<]T]T6SNHUB?-rh c:u[jWC2atHAB#X IrNK;~GN|NNݚ@Q2Q&joD"Bv$pJ^ F..iF;-*}L/ڞnt]6p$O¯U:y_6V k'8 `piiۣ1 Dbs;/^ dtTȷ_=|p7bn.aV;|uwƳ<{k(:(vhkabA0h!%95(䖁e|k'1F!A0 h h_vL@pPM 6G@WrLwN)ioC[#C(|3i3x+-(0Xc$5 3R <>j#seF)#DŽNrSla]HM`X@逅щS p51jt|$YofBFs;pÓssgAgPiAL.vds5@>AM''b@NRS;xsfLYEY%zcGP6u Gy1˓ ;ҍh_rqU{s4hR]|G񎎆wgՃg>^7aY\u2gGi=1H0 n09@U1U.im(d(@ zQz(~p\p q cӀWi퀆 M's.WF@5q$hYtJkҗ0W<jXI< ו}ydikCnypI rIv 蠊} }) q_q2*qgҨUiypؐlHE`xdFW6ft2iv{ 08VgVpZh: O xfzs-Q2&בoR`kM0 pu&+VWahxt+¥e09lrkV;!.OTFGJw6)_顑1ٜ?ɋU J>@P!im+vr${TAp5(p:\P) 1F`y0IИQ.*o2B#A}搻Сpx I-Kڤ&PLbvHQ#[2g#E>Ihsx| txg(k(,5&xʈTB=*L DbZ$N$56Pbz-XЌf ZVadܑ_|1Nlꐒ,iɘp*Mj ztjʰK {ڙBȦ$NTTwZJ`X<ًizyHN*"t~`ĕ0v9 P Kث=5+az 7A!_rdtAюֳt{ڧM7rH/Oȳ>BwWA\E{ǴN M˩(Y[ۓV³awYB1eY>yJXNRUuHYC:_DtD*8fGbl&ft0b ފ"{'4 &D'w@PuG!{5sm6HbjHhrP:5x& f%xfp^,f5KQ0ă 7|Q:ّr{qUA݋XHi%L'ľk0 /NU^ɮА !> "VUl5\1rq׷D}V} +~k>3齱=5-1] dC6$K29qD*H0m4?CND)N9k}z@w6צAwt)p )/;?.$έ۵{Km_@UO2e ɠ6( M0 gk47(s ?'^߈ɞ oԕbr 78}z *_uw̱D>-.ԧP , `&hu[Y3W1X`BT9ĊU}7X6jϞ,yrϖ:U.϶@k޽oNv{SYJ&ZCZ6qKxd)Nܻ^߮qK ZmՊ63^|ִ&j)VC˙![dgK\ȎyZ(L6k]hRjڄk\adW8s/oㆍ tZ1+[oK.K\6Y[ Šf;x)v2;rѨ=0mNS KlCq/נl); &a\$Ѹm!3qAG#M @taƋʼxr4ƽ 3XT|TJO 'ɭNnK#Bz'92m%jm#[D q7ɛfEyܪ_I&dn4Tvjɥ]Nl)4Dǵ W(5Nr &KiGo|Sd'Yqn[bŏJr4_^f{ѥ i=lц[/ܿN4HMW7sr0+]ݍ`9Fkigr "vJYv%l6LK7ѭɍ!ׅkZ 7cɥ^!ےdVv\ &˶ BbZ@]uҬq' %ƥtl'}1rFfUlfxAVr^y՛1&c"mo|}9FfՑInMvKOWsEڍ,q=\r1ifF[֭'e]y|_Iuw&^etelg|JR29o/k.Kogg+Z,ib+0b̀B`&eЈ1\Cs\E(U! L-}) OزS xd`7҆yPl3x$(jS+"8U-/q2A ^x-b+Ɓ ρoMCx9}ƣrE5.0"-!0! x1Hg jQ+բҸk px/^ ]$1$L6QR\J$$%:\;؜#ҁLJ3ȉlF1n2v0QJ-2 `]p,(,8 [:G PL5/V# kr0c<uLG:rpxU>4OeS'JG!H qE. a%L4WՈ]`$ ǽ6cZnc[ Wi(_iD5sx-zp>135^C̲CM_b[֢Ф.@ZZ47I/jjoR*0‘ Itcud*&FLCQ{[ do0Seo.xVOl2Oh%-F֭' UU{1*7F5<|܄;m2g{uXW]8 nh߮μ3( ,k"Ͱ*.( E,$xI ,`d_uHuc.2 _Ԣhi`q$MXMƬz)xcoL?41Y;w\~3(,%:`EN.͟tE=L# F7*)6|tyWt3!q GYtoTI[sqzЈ9x|;Gqt.Y-}/aA%X>c8R0HL]B(8)|;muCE:8{7xKd hdc7]|{d>,M54*?^肄.,I^z"#MٽZDW:v;8Y:Asq]G; 5\+uU-'=χ9Z㓯$Ʊ Y >nQL㉿3!\I H뽍gdۏcpC|= n$ûmLؼ{l|zϠ t4ha0؊mdٯhO6w^[h>o<;;˳v8uC#"ƫ;@o>7s˓zhdѦW@-~)IHaYr2;;٧4A#-|}pmȆ@,>9 4#:3i7h=K@ rC˃@}d!oY(]`,?y#2uQ0Bk{ W(t(тX $# >$d4{(Ft y"y&%b<CTDtDH|DHYo# `D31@e)kqs/*DC> EQluD0pR1@` %t@EFI:S:څ\c $6{Eð +$삩a㷻`$b4QFz>9ZxbyBǀ{D Ȁ4mF%o( ;&K˭>A-b/&026t@oUpQ@FYvu-v .Qy ->1}tpxȇ~xp~HpYvV)RRZuxx dpxa1{IEYsVG;۫]Ea(dVffvfhfjdkchZHc͊@q8p7ʽܡyf{g}^M~h h#^\euMg)UtCUv<[9! d}i[؇pxkf槨 T[-{~$n_iӕWaߟ-upen~e>1^R;fNa .·flknv|krnDžR WZ|X~lAl~6D6^_ījeD~ݐeM>[-b(뵶p|yPbo8g._]zEwn@EָF~{^~@.gtb n@rmjN^}v4j#ypooco pܮk>)cjԔv\Qt5&jUVlnHiv-K3mQV塈gXo?jTuj3Evdc/8/QSs^~Ht(c fsxyq竵ȵV}xdUuL'}k^{p+oDw'Ӗ/lgw&^HyMcBn +ve4 t-xcg{p-a`F4ekyx4a ~yxy$vV~rG׾tĿ ~vhofazdFdt p{ωņlχt0| VHL}ʧ~D gZ'n}7}geth{xؗfx{ }(XFوwiPL4h!:P"‰/b̨0aF zE5 7{^lgO޽޼~s7{գ6^ yuGOXzc:Fj-8͙_ֶ SL5%]@{J)'=J4ԑ5+w S-\7-r$ɑ˖-^fĩOBsT)SPWuvӿ%z^]òA{esr۳˽6 9y-0/yB&e7;u6O>v&Zmry APlixkRl t[np4t8?O>HߓUeYf3wmKq L7Š/^ϐD>U=G&O?9< U<;rtN0#XV;| [^Zt"m+*tۙux(fZoa b%m!X/a*^|m$*5#@8<<?:?r?S֕}#(l1N180ޔY )3oBq L25{N87R11O?cVkV8rIӖ vaA6\#o|T<9ͱsT,5l<߸ X5s-ŀ^LtCK.3T:yOg0n5 ɵ7Y<a]k/6ּuѽ}h#wۉ{7LǞ~$uc̓<:c-$L/"?8]\HG.&vH(ҊtFbhL}x.EQzG9"4!H_XM7r " Č~Rء?-TI.p!I\CMjZ)E =v倔&=0{"?/mzw ؿv)`{ȡ4N("2BvdoyS)a7z f㐥"s??]Pi, iԦ6-VӏKl G"HEB3~,׫*qc+dc(IiJTFfCpD$ZF7o{T|x"LTQ3)j%K@?(PHQJS/1Jt\-M(zmِT/!p qs&Pc+CƳD^h|# _?qt$(_adc|_SSHWMNS/TyrzjPgcS%؀7j(/[I֒Q+p"XjҳrKR4lUo;'ħ; 3D{߬֩t;#i+J(;Qc )w_]Rh!K٪wrSX?OOcA_m%HلCӌmDhn(ò@]ҊԀe='3QPفE=آ۴ nHpېʄ`3L6׃h||5OzdS½EWs so2ʱTSRR rjMEҢ0!) K{͛YcaO$V٨LIM.XljI-qViONVȂ2{˛2j)|nz壥ReEπ0WRTi*4F3i:Ƥ Ic4)!$~SIH/F4ߦk/u`n7ԏ= IMKu+MZXOGCټԓ[pev˞&浶vtk4vCz,0, 8:2Q]z՞mym5p 非a~u|Yȋ,5UeE9xWjTy,P©N"1C5lRe5XIy_U b6UkїݍD C囉 i$7\èXHD100Cn b͚ CvThl$C/bx@ץ\~э4C!4P4\s퟊Yv/1Ù͍m%0_bY"5d0PƴY[Wx5,UIb6_E"P͗Xb%Q0|ʖ7M\E 0Hn Z $F ]\b6#/NѾa%<2AxBa>^ z>3DC0.r7^tiw$Qn"2a vC7L0!J6X(Ol#UteA!*6ȵ>㉀JX`ͣqmĚ܅SR47UQuǕ$U] %z%b6%^ ] %d9JHݺh-]6djwO1d19/&lj~R6&r?fe)i1z[(XKdb#YHc%4'Idc ]5VjD' N'J2Lb e]5?f|1$4xfc)f hp$.1 /\C;%sg}zfOMhjAM=^!kjz7h"|ޱ1ܧW_>@%Yz'<e4.&Jb zf00jCnRC4n&#hUo 1  جa0CØ)i)$&~'bv6:垶4hji4g*aB#CѕSJ8%.R×)j6j"*uNhגvgɭ#ΨוKQ&=bי܅AhZkJΗ%IXQd^+if+bZH=;~gO"v)V뺲kPgZ=SZ꿪kBR'%ݜ#6)?Y #벂IULZn\|k (,V5\lJho,ib(ʡylcd,-&Ҧ$;6mD\n]l¬b1j^(ٵY:](6|MĸR⸪:¾^)m iّ,T#9E6nV-Y-!wҒ+vk&bgK.n/-B2oA. )ov-Zo٭2*n*keJ]Zn5.bof2F0k˛)'mfoUz[ +bn!knobii2.®J/מ00깰/qЩ6pir']۫1nܦqmNS2<6q.k,/ [믦 n0!!">hO&,1ϋDQ**r++r,,r--r..r//s0 0s11#s2+23s3;/;uGO k $%75ǿ6$p ./usr/IBMVJava/html/enterp/en_US/tivoli/images/appstart.gifuct$$GIF89a 3!, @kNI`(~Xi(ul n| ͅbN8"_ YIZجv[xbrRqUfxh(oe\X ;(I k>$ %7DI6ȿ6$  ./usr/IBMVJava/html/enterp/en_US/tivoli/ref/r5jevtbn.htmifuct$$ Tivoli Event Beans

    Tivoli Event Beans

    Use a Tivoli Event bean to send application status information to a Tivoli Enterprise Console.

    Palette category

    Tivoli Connection

    Palette bean

    Project

    Tivoli Connection

    Package

    com.ibm.ivj.tivoli.events

    The Tivoli Event bean has the following properties:

    databaseName

    If the event is an SQL Error, this property defines the name of the database being accessed when the error occurred.

    databaseServerName

    If the event is an SQL Error, this property defines the name of the server for the database being accessed when the error occurred.

    errorNumber

    This is a number (in String format) used to identify the error.

    message

    Textual description of the event condition.

    name

    Name of the application event. Valid values are:
    Application_startup 			
    Application_shutdown			
    Application_System_error		
    Application_idle			
    Application_SQL_error	

    severity

    Describes the severity of the event. Valid values are:
    Application_startup 			HARMLESS
    Application_shutdown			HARMLESS
    Application_System_error		CRITICAL
    Application_idle			HARMLESS
    Application_SQL_error			HARMLESS

    sqlCode

    If the event is an SQL Error, this property defines the SQL code for the error.

    tableName

    If the event is an SQL Error, this property defines the name of the database table being accessed when the error occurred.



    Adding Tivoli events to your application
    Testing your application
    Setting up the Tivoli Enterprise Console

     k:$%75ȿ6$@ ./usr/IBMVJava/html/enterp/en_US/toolint/ref/allclasses.htmluct$$ Class com.ibm.ivj.util.base.ExportInterchangeSpec

    Class com.ibm.ivj.util.base.ExportInterchangeSpec

    java.lang.Object
       |
       +----com.ibm.ivj.util.base.ExportInterchangeSpec
    

    public class ExportInterchangeSpec
    extends Object
    implements Serializable

    This is a "helper" class used to encapsulate the export selections. It is used for interchange file export


    Constructor Index

    ExportInterchangeSpec()
    Default constructor

    Method Index

    allowRepositoryCreation()
    Indicates whether a new repository will be created if the repository supplied by setRepository(...) does not already exist
    allowRepositoryCreation(boolean)
    Specifies whether a new repository will be created if the repository supplied by setRepository(...) does not already exist
    getPackageEditions()
    Returns the selected package editions.
    getProjectEditions()
    Returns the selected project editions.
    getRepository()
    Returns the selected repository for the operation.
    setPackageEditions(PackageEdition[])
    Set the selected package editions.
    setProjectEditions(ProjectEdition[])
    Set the selected project editions.
    setRepository(Repository)
    Sets the repository for the operation.

    Constructors

    ExportInterchangeSpec
     public ExportInterchangeSpec()
    
    Default constructor


    Methods

    allowRepositoryCreation
     public boolean allowRepositoryCreation()
    
    Indicates whether a new repository will be created if the repository supplied by setRepository(...) does not already exist

    Returns:
    boolean
    allowRepositoryCreation
     public void allowRepositoryCreation(boolean setting)
    
    Specifies whether a new repository will be created if the repository supplied by setRepository(...) does not already exist

    Parameters:
    setting - boolean
    getPackageEditions
     public PackageEdition[] getPackageEditions()
    
    Returns the selected package editions.

    Returns:
    com.ibm.ivj.util.base.PackageEdition[]
    getProjectEditions
     public ProjectEdition[] getProjectEditions()
    
    Returns the selected project editions.

    Returns:
    com.ibm.ivj.util.base.ProjectEdition[]
    getRepository
     public Repository getRepository()
    
    Returns the selected repository for the operation.

    Returns:
    com.ibm.ivj.util.base.Repository
    setPackageEditions
     public void setPackageEditions(PackageEdition packages[])
    
    Set the selected package editions. Note, that the project and package edition selections are independent (for example, one does not qualify the other). The total set of items in the specified project and package editions is exported

    Parameters:
    packages - com.ibm.ivj.util.base.PackageEdition[]
    setProjectEditions
     public void setProjectEditions(ProjectEdition projects[])
    
    Set the selected project editions. Note, that the project and package edition selections are independent (ie. one does not qualify the other). The total set of items in the specified project and package editions is exported

    Parameters:
    projects - com.ibm.ivj.util.base.ProjectEdition[]
    setRepository
     public void setRepository(Repository repository)
    
    Sets the repository for the operation.

    Parameters:
    repository - com.ibm.ivj.util.base.Repository

    r k\$f&75ȿ6$@!f./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.exportinterchangespec_mi.htmlmi.htm$$ Class com.ibm.ivj.util.base.ImportCodeSpec

    Class com.ibm.ivj.util.base.ImportCodeSpec

    java.lang.Object
       |
       +----com.ibm.ivj.util.base.ImportCodeSpec
    

    public class ImportCodeSpec
    extends Object
    implements Serializable

    This is a "helper" class used to encapsulate the import selections. It is used for base code-level import (.java, .class, resources).


    Constructor Index

    ImportCodeSpec()
    Default constructor

    Method Index

    getClassFiles()
    Returns a list of .class files that are to be imported.
    getDefaultProject()
    Returns an existing project to be used for any new packages and types that are created during import.
    getJavaFiles()
    Returns a list of .java files that are to be imported.
    getResourceFiles()
    Return a list of resource files (eg.
    getResourcePath()
    Return an absolute file path to the root of the resource files to be imported (including the trailing file path separator).
    setClassFiles(String[])
    Specify a list of .class files that are to be imported.
    setDefaultProject(Project)
    Specify an existing project to be used for any new packages and types that are created during import.
    setJavaFiles(String[])
    Specify a list of .java files that are to be imported.
    setResourceFiles(String[])
    Specify a list of resource files (eg.
    setResourcePath(String)
    Specify an absolute file path to the root of the resource files to be imported (including the trailing file path separator).

    Constructors

    ImportCodeSpec
     public ImportCodeSpec()
    
    Default constructor


    Methods

    getClassFiles
     public String[] getClassFiles()
    
    Returns a list of .class files that are to be imported. Each entry represents a fully-qualified file name.

    Returns:
    java.lang.String[]
    getDefaultProject
     public Project getDefaultProject()
    
    Returns an existing project to be used for any new packages and types that are created during import.

    Returns:
    com.ibm.ivj.util.base.Project
    getJavaFiles
     public String[] getJavaFiles()
    
    Returns a list of .java files that are to be imported. Each entry represents a fully-qualified file name.

    Returns:
    java.lang.String[]
    getResourceFiles
     public String[] getResourceFiles()
    
    Return a list of resource files (eg. .gif) that are to be imported. Each entry represents a resource file name relative to the resource file path (getResourcePath()). The resource file names must properly reflect the subdirectory structure needed by the using Java code. Typically, this will result in the resource file names starting with the "com" subdirectory, and the path being set to the local file system path up to, but not including the "com" subdirectory. For example, if an image file C:\mywork\com\xyz\images\splash.gif is used by Java classes in package com.xyz.app1 (referenced in code as ..\images\splash.gif), then the resource path should be set to "C:\mywork" and the resource file name to "com\xyz\images\splash.gif". The imported resource files are associated with the specified default project. To import resources for classes contained in multiple project multiple import calls must be made.

    Returns:
    java.lang.String[]
    getResourcePath
     public String getResourcePath()
    
    Return an absolute file path to the root of the resource files to be imported (including the trailing file path separator). The resource file names (getResourceFiles()) are specified relative to this path. Note, that the resource file names must properly reflect the subdirectory structure needed by the using Java code. Typically, this will result in the resource file names starting with the "com" subdirectory, and the path being set to the local file system path up to, but not including the "com" subdirectory. For example, if an image file C:\mywork\com\xyz\images\splash.gif is used by Java classes in package com.xyz.app1 (referenced in code as ..\images\splash.gif), then the resource path should be set to "C:\mywork\" and the resource file name to "com\xyz\images\splash.gif".

    Returns:
    java.lang.String
    setClassFiles
     public void setClassFiles(String files[])
    
    Specify a list of .class files that are to be imported. Each entry represents a fully-qualified file name.

    Parameters:
    files - java.lang.String[]
    setDefaultProject
     public void setDefaultProject(Project project)
    
    Specify an existing project to be used for any new packages and types that are created during import.

    Parameters:
    project - com.ibm.ivj.util.base.Project
    setJavaFiles
     public void setJavaFiles(String files[])
    
    Specify a list of .java files that are to be imported. Each entry represents a fully-qualified file name.

    Parameters:
    files - java.lang.String[]
    setResourceFiles
     public void setResourceFiles(String files[])
    
    Specify a list of resource files (eg. .gif) that are to be imported. Each entry represents a resource file name relative to the resource file path (setResourcePath(String)). The resource file names must properly reflect the subdirectory structure needed by the using Java code. Typically, this will result in the resource file names starting with the "com" subdirectory, and the path being set to the local file system path up to, but not including the "com" subdirectory. For example, if an image file C:\mywork\com\xyz\images\splash.gif is used by Java classes in package com.xyz.app1 (referenced in code as ..\images\splash.gif), then the resource path should be set to "C:\mywork" and the resource file name to "com\xyz\images\splash.gif". The imported resource files are associated with the specified default project. To import resources for classes contained in multiple project multiple import calls must be made.

    Parameters:
    files - java.lang.String[]
    setResourcePath
     public void setResourcePath(String root)
    
    Specify an absolute file path to the root of the resource files to be imported (including the trailing file path separator). The resource file names (setResourceFiles(String[])) are specified relative to this path. Note, that the resource file names must properly reflect the subdirectory structure needed by the using Java code. Typically, this will result in the resource file names starting with the "com" subdirectory, and the path being set to the local file system path up to, but not including the "com" subdirectory. For example, if an image file C:\mywork\com\xyz\images\splash.gif is used by Java classes in package com.xyz.app1 (referenced in code as ..\images\splash.gif), then the resource path should be set to "C:\mywork\" and the resource file name to "com\xyz\images\splash.gif".

    Parameters:
    root - java.lang.String

    ma kL$&75ȿ6$@-!./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.importcodespec_mi.html.html$$ Class com.ibm.ivj.util.base.ImportInterchangeSpec

    Class com.ibm.ivj.util.base.ImportInterchangeSpec

    java.lang.Object
       |
       +----com.ibm.ivj.util.base.ImportInterchangeSpec
    

    public class ImportInterchangeSpec
    extends Object
    implements Serializable

    This is a "helper" class used to encapsulate the import selections. It is used for interchange file import


    Constructor Index

    ImportInterchangeSpec()
    Default constructor

    Method Index

    getPackageEditions()
    Returns the selected package editions.
    getProjectEditions()
    Returns the selected project editions.
    getRepository()
    Returns the selected repository for the operation.
    setPackageEditions(PackageEdition[])
    Set the selected package editions.
    setProjectEditions(ProjectEdition[])
    Set the selected project editions.
    setRepository(Repository)
    Sets the repository for the operation.

    Constructors

    ImportInterchangeSpec
     public ImportInterchangeSpec()
    
    Default constructor


    Methods

    getPackageEditions
     public PackageEdition[] getPackageEditions()
    
    Returns the selected package editions.

    Returns:
    com.ibm.ivj.util.base.PackageEdition[]
    getProjectEditions
     public ProjectEdition[] getProjectEditions()
    
    Returns the selected project editions.

    Returns:
    com.ibm.ivj.util.base.ProjectEdition[]
    getRepository
     public Repository getRepository()
    
    Returns the selected repository for the operation.

    Returns:
    com.ibm.ivj.util.base.Repository
    setPackageEditions
     public void setPackageEditions(PackageEdition packages[])
    
    Set the selected package editions. Note, that the project and package edition selections are independent (ie. one does not qualify the other). The total set of items in the specified project and package editions is exported

    Parameters:
    packages - com.ibm.ivj.util.base.PackageEdition[]
    setProjectEditions
     public void setProjectEditions(ProjectEdition projects[])
    
    Set the selected project editions. Note, that the project and package edition selections are independent (ie. one does not qualify the other). The total set of items in the specified project and package editions is exported

    Parameters:
    projects - com.ibm.ivj.util.base.ProjectEdition[]
    setRepository
     public void setRepository(Repository repository)
    
    Sets the repository for the operation.

    Parameters:
    repository - com.ibm.ivj.util.base.Repository

    )">get k$>'75ȿ6$P@!>./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.importinterchangespec_mi.htmlmi.htm$$ Class com.ibm.ivj.util.base.IvjException

    Class com.ibm.ivj.util.base.IvjException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.ibm.ivj.util.base.IvjException
    

    public class IvjException
    extends Exception

    IBM VisualAge for Java exception. The exception will always contain a message and may contain additional error detail (as Strings)


    Constructor Index

    IvjException(String)
    Construct an IvjException with an array of errors strings.
    IvjException(String, String[])
    Construct an IvjException with an array of errors strings.

    Method Index

    getErrors()
    Return the error messages that caused the exception to be thrown.

    Constructors

    IvjException
     public IvjException(String message)
    
    Construct an IvjException with an array of errors strings.

    Parameters:
    message - java.lang.String error message
    IvjException
     public IvjException(String message,
                         String errors[])
    
    Construct an IvjException with an array of errors strings.

    Parameters:
    message - java.lang.String error message
    errors - java.lang.String[] error details

    Methods

    getErrors
     public String[] getErrors()
    
    Return the error messages that caused the exception to be thrown.

    Returns:
    java.lang.String[] The error messages.

    a k^$'75ȿ6$`N!./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.ivjexception_mi.html$$ Class com.ibm.ivj.util.base.IvjExportException

    Class com.ibm.ivj.util.base.IvjExportException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.ibm.ivj.util.base.IvjException
                               |
                               +----com.ibm.ivj.util.base.IvjExportException
    

    public class IvjExportException
    extends IvjException

    This exception is thrown on export operations.


    Constructor Index

    IvjExportException(String)
    IvjExportException constructor.
    IvjExportException(String, String[])
    IvjExportException constructor.

    Constructors

    IvjExportException
     public IvjExportException(String message)
    
    IvjExportException constructor.

    Parameters:
    message - java.lang.String error message
    IvjExportException
     public IvjExportException(String message,
                               String errors[])
    
    IvjExportException constructor.

    Parameters:
    message - java.lang.String error message
    errors - java.lang.String[] error details

    e k^$S'75ȿ6$`!S./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.ivjexportexception_mi.htmll$$ Class com.ibm.ivj.util.base.IvjImportException

    Class com.ibm.ivj.util.base.IvjImportException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.ibm.ivj.util.base.IvjException
                               |
                               +----com.ibm.ivj.util.base.IvjImportException
    

    public class IvjImportException
    extends IvjException

    This exception is thrown on import operations. In addition to the exception error messages, it also contains a partial result of the import (ie. a list of any types that were successfully imported)


    Constructor Index

    IvjImportException(String)
    IvjImportException constructor.
    IvjImportException(String, String[])
    IvjImportException constructor.
    IvjImportException(String, String[], Type[])
    IvjImportException constructor.

    Method Index

    getImportedTypes()
    Returns partial result of the import operation.

    Constructors

    IvjImportException
     public IvjImportException(String message)
    
    IvjImportException constructor.

    Parameters:
    message - java.lang.String error message
    IvjImportException
     public IvjImportException(String message,
                               String errors[])
    
    IvjImportException constructor.

    Parameters:
    message - java.lang.String error message
    errors - java.lang.String[] error details
    IvjImportException
     public IvjImportException(String message,
                               String errors[],
                               Type types[])
    
    IvjImportException constructor.

    Parameters:
    message - java.lang.String error message
    errors - java.lang.String[] error details
    types - com.ibm.ivj.util.base.Type[] imported types (partial result)

    Methods

    getImportedTypes
     public Type[] getImportedTypes()
    
    Returns partial result of the import operation.

    Returns:
    com.ibm.ivj.util.base.Type[] types successfully imported

    o k$(75ȿ6$`j!./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.ivjimportexception_mi.htmll$$ Class com.ibm.ivj.util.base.IvjInvalidStateException

    Class com.ibm.ivj.util.base.IvjInvalidStateException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.ibm.ivj.util.base.IvjException
                               |
                               +----com.ibm.ivj.util.base.IvjInvalidStateException
    

    public class IvjInvalidStateException
    extends IvjException

    This exception is thrown whenever an API model is in an incorrect version state for the operation. For example, an attempt to update a versioned model will typically fail with this exception.


    Constructor Index

    IvjInvalidStateException(String)
    IvjInvalidStateException constructor.
    IvjInvalidStateException(String, String[])
    IvjInvalidStateException constructor.

    Constructors

    IvjInvalidStateException
     public IvjInvalidStateException(String message)
    
    IvjInvalidStateException constructor.

    Parameters:
    message - java.lang.String error message
    IvjInvalidStateException
     public IvjInvalidStateException(String message,
                                     String errors[])
    
    IvjInvalidStateException constructor.

    Parameters:
    message - java.lang.String error message
    errors - java.lang.String[] error details

    es[])  k $}(75ȿ6$`w!}./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.ivjinvalidstateexception_mi.htmlhtm$$ Class com.ibm.ivj.util.base.IvjUnresolvedException

    Class com.ibm.ivj.util.base.IvjUnresolvedException

    java.lang.Object
       |
       +----java.lang.Throwable
               |
               +----java.lang.Exception
                       |
                       +----com.ibm.ivj.util.base.IvjException
                               |
                               +----com.ibm.ivj.util.base.IvjUnresolvedException
    

    public class IvjUnresolvedException
    extends IvjException

    This exception is thrown whenever an API model object cannot be resolved to the corresponding workspace or repository object. Typically, this indicates the API object is stale and the state of the workspace or repository has changed since the API object was obtained


    Constructor Index

    IvjUnresolvedException(String)
    IvjUnresolvedException constructor.
    IvjUnresolvedException(String, String[])
    IvjUnresolvedException constructor.

    Constructors

    IvjUnresolvedException
     public IvjUnresolvedException(String message)
    
    IvjUnresolvedException constructor.

    Parameters:
    message - java.lang.String error message
    IvjUnresolvedException
     public IvjUnresolvedException(String message,
                                   String errors[])
    
    IvjUnresolvedException constructor.

    Parameters:
    message - java.lang.String error message
    errors - java.lang.String[] error details

    ortE kn{$o(75ȿ6$`}!o./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.ivjunresolvedexception_mi.htmlhtm$$ Interface com.ibm.ivj.util.base.Model

    Interface com.ibm.ivj.util.base.Model

    public interface Model

    This interface defines the base type used as the root in the inheritance tree for all VisualAge for Java "models". A model is a project, package or type in the workspace, or in the repository. The various models are expressed in terms of interfaces as follows:

       Model                    ... base model identity behavior
       |
       +--- RepositoryModel     ... common edition behavior in repository
       |    | 
       |    +--- ProjectEdition ... project edition in repository 
       |    +--- PackageEdition ... package edition in repository
       |    +--- TypeEdition    ... type edition in repository
       |
       +--- WorkspaceModel      ... common workspace behavior
            |
            +--- Project        ... project loaded in workspace
            +--- Package        ... package loaded in workspace
            +--- Type           ... type loaded in workspace
     


    Method Index

    getName()
    Returns the model (project, package, type) name.
    getOwnerName()
    Return the name of the person designated as the owner of the model
    getVersionName()
    Returns the version name string for this model.
    getVersionStamp()
    Returns the version time stamp for this model.
    isEdition()
    Returns true if this model is an open edition (note, that a scratch edition is NOT considered an open edition, see isScratchEdition() )
    isPackage()
    Returns true if the model is a package
    isProject()
    Returns true if this model is a project
    isType()
    Returns true if this model is a type.
    isVersion()
    Returns true if this model is a version

    Methods

    getName
     public abstract String getName()
    
    Returns the model (project, package, type) name. For types this is the fully qualified name of the type.

    Returns:
    String
    getOwnerName
     public abstract String getOwnerName() throws IvjException
    
    Return the name of the person designated as the owner of the model

    Returns:
    java.lang.String
    getVersionName
     public abstract String getVersionName() throws IvjException
    
    Returns the version name string for this model. The returned value will depend on the current version state of the model object:
    • if version, the return value is the version string
    • if open edition, the return value is null (no version name)
    • if scratch edition, the return value is the version string the scratch edition is based on

    Returns:
    String
    getVersionStamp
     public abstract Date getVersionStamp() throws IvjException
    
    Returns the version time stamp for this model. The returned value will depend on the current version state of the model object:
    • if version, the return value is stamp when versioned
    • if open edition, the return value is stamp when created
    • if scratch edition, the return value is the version stamp of the version the scratch edition is based on

    Returns:
    java.util.Date
    isEdition
     public abstract boolean isEdition() throws IvjException
    
    Returns true if this model is an open edition (note, that a scratch edition is NOT considered an open edition, see isScratchEdition() )

    Returns:
    boolean
    isPackage
     public abstract boolean isPackage()
    
    Returns true if the model is a package

    Returns:
    boolean
    isProject
     public abstract boolean isProject()
    
    Returns true if this model is a project

    Returns:
    boolean
    isType
     public abstract boolean isType()
    
    Returns true if this model is a type.

    Returns:
    boolean
    isVersion
     public abstract boolean isVersion() throws IvjException
    
    Returns true if this model is a version

    Returns:
    boolean

    Versio k$r)75ȿ6$P!r./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.model_mi.htmlceptio$$ Interface com.ibm.ivj.util.base.Package

    Interface com.ibm.ivj.util.base.Package

    public interface Package
    extends WorkspaceModel

    This interface defines the behavior of a package loaded into the workspace


    Method Index

    createVersion(String, boolean)
    Create new version of this package.
    getAllEditions()
    Returns all editions of this package in the repository
    getComment()
    Returns the comment associated with the package in VisualAge for Java
    getEdition()
    Returns the repository package edition corresponding to this workspace package
    getProject()
    Returns the project containing this package
    getTypes()
    Returns all types defined in this package
    isDefaultPackage()
    Returns true if this is a default package
    isReleased()
    Returns true if this package is released
    isScratchEdition()
    Returns true if this model is a scratch edition
    openBrowser()
    Opens the package browser against this package
    release()
    Release this package into its project
    setComment(String)
    Sets the comment associated with the package in VisualAge for Java

    Methods

    createVersion
     public abstract void createVersion(String name,
                                        boolean release) throws IvjException
    
    Create new version of this package.

    Parameters:
    name - java.lang.String version or null (automatic versioning)
    release - boolean automatically release package
    getAllEditions
     public abstract PackageEdition[] getAllEditions() throws IvjException
    
    Returns all editions of this package in the repository

    Returns:
    com.ibm.ivj.util.base.PackageEdition[]
    getComment
     public abstract String getComment() throws IvjException
    
    Returns the comment associated with the package in VisualAge for Java

    Returns:
    java.lang.String
    getEdition
     public abstract PackageEdition getEdition() throws IvjException
    
    Returns the repository package edition corresponding to this workspace package

    Returns:
    com.ibm.ivj.util.base.PackageEdition
    getProject
     public abstract Project getProject() throws IvjException
    
    Returns the project containing this package

    Returns:
    com.ibm.ivj.util.base.Project
    getTypes
     public abstract Type[] getTypes() throws IvjException
    
    Returns all types defined in this package

    Returns:
    com.ibm.ivj.util.base.Type[]
    isDefaultPackage
     public abstract boolean isDefaultPackage()
    
    Returns true if this is a default package

    Returns:
    boolean
    isReleased
     public abstract boolean isReleased() throws IvjException
    
    Returns true if this package is released

    Returns:
    boolean
    isScratchEdition
     public abstract boolean isScratchEdition() throws IvjException
    
    Returns true if this model is a scratch edition

    Returns:
    boolean
    openBrowser
     public abstract void openBrowser() throws IvjException
    
    Opens the package browser against this package

    release
     public abstract void release() throws IvjException
    
    Release this package into its project

    setComment
     public abstract void setComment(String comment) throws IvjException
    
    Sets the comment associated with the package in VisualAge for Java

    Parameters:
    comment - java.lang.String

    ngrelc.gif (533 bytes)
    Tivoli Connection

    < k>P$)75ȿ6$@!./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.package_mi.htmlptio$$ Interface com.ibm.ivj.util.base.PackageEdition

    Interface com.ibm.ivj.util.base.PackageEdition

    public interface PackageEdition
    extends RepositoryModel

    This interface defines the behavior of a package edition in the repository


    Method Index

    getAllEditions()
    Returns all editions of this package in the repository
    getComment()
    Returns the comment associated with the package in VisualAge for Java
    getLoaded()
    Returns the workspace package corresponding to this repository package, if it is loaded.
    getTypeEditions()
    Returns all type editions defined in this edition of the package
    isDefaultPackage()
    Returns true if this is a default package
    loadIntoWorkspace(Project)
    Load this package edition into the workspace and associate it with the loaded project.

    Methods

    getAllEditions
     public abstract PackageEdition[] getAllEditions() throws IvjException
    
    Returns all editions of this package in the repository

    Returns:
    com.ibm.ivj.util.base.PackageEdition[]
    getComment
     public abstract String getComment() throws IvjException
    
    Returns the comment associated with the package in VisualAge for Java

    Returns:
    java.lang.String
    getLoaded
     public abstract Package getLoaded() throws IvjException
    
    Returns the workspace package corresponding to this repository package, if it is loaded.

    Returns:
    com.ibm.ivj.util.base.Package or null (if not loaded)
    getTypeEditions
     public abstract TypeEdition[] getTypeEditions() throws IvjException
    
    Returns all type editions defined in this edition of the package

    Returns:
    com.ibm.ivj.util.base.TypeEdition[]
    isDefaultPackage
     public abstract boolean isDefaultPackage()
    
    Returns true if this is a default package

    Returns:
    boolean
    loadIntoWorkspace
     public abstract void loadIntoWorkspace(Project intoProject) throws IvjException
    
    Load this package edition into the workspace and associate it with the loaded project. If another edition of this package is already loaded it is replaced


    ml#_t kP$)75ȿ6$`!./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.packageedition_mi.htmli.htm$$ Interface com.ibm.ivj.util.base.Project

    Interface com.ibm.ivj.util.base.Project

    public interface Project
    extends WorkspaceModel

    This interface defines the behavior of a project loaded into the workspace


    Method Index

    createDefaultPackage(boolean)
    Creates a new default package in this project if one does not already exist in the workspace.
    createPackage(String, boolean)
    Creates a new package with the specified name if it does not already exist in the workspace.
    getAllEditions()
    Returns all editions of this project in the repository
    getComment()
    Returns the comment associated with the project in VisualAge for Java
    getDefaultPackage()
    Return the default package for the project if it exists
    getEdition()
    Returns the repository project edition corresponding to this workspace project
    getPackages()
    Returns all packages defined in this project
    getTypes()
    Returns all types defined in this project
    isScratchEdition()
    Returns true if this model is a scratch edition
    openBrowser()
    Opens the project browser against this project
    setComment(String)
    Sets the comment associated with the project in VisualAge for Java

    Methods

    createDefaultPackage
     public abstract Package createDefaultPackage(boolean ignoreRepository) throws IvjException
    
    Creates a new default package in this project if one does not already exist in the workspace.

    Parameters:
    ignoreRepository - boolean If true, create new default package even if another default package edition with for the project exists in the repository
    Returns:
    com.ibm.ivj.util.base.Package or null
    createPackage
     public abstract Package createPackage(String name,
                                           boolean ignoreRepository) throws IvjException
    
    Creates a new package with the specified name if it does not already exist in the workspace.

    Parameters:
    name - java.lang.String
    ignoreRepository - boolean If true, create new package even if another package edition with the same name exists in the repository
    Returns:
    com.ibm.ivj.util.base.Package
    getAllEditions
     public abstract ProjectEdition[] getAllEditions() throws IvjException
    
    Returns all editions of this project in the repository

    Returns:
    com.ibm.ivj.util.base.ProjectEdition[]
    getComment
     public abstract String getComment() throws IvjException
    
    Returns the comment associated with the project in VisualAge for Java

    Returns:
    java.lang.String
    getDefaultPackage
     public abstract Package getDefaultPackage() throws IvjException
    
    Return the default package for the project if it exists

    Returns:
    com.ibm.ivj.util.base.Package or null if does not exist
    getEdition
     public abstract ProjectEdition getEdition() throws IvjException
    
    Returns the repository project edition corresponding to this workspace project

    Returns:
    com.ibm.ivj.util.base.ProjectEdition
    getPackages
     public abstract Package[] getPackages() throws IvjException
    
    Returns all packages defined in this project

    Returns:
    com.ibm.ivj.util.base.Package[]
    getTypes
     public abstract Type[] getTypes() throws IvjException
    
    Returns all types defined in this project

    Returns:
    com.ibm.ivj.util.base.Type[]
    isScratchEdition
     public abstract boolean isScratchEdition() throws IvjException
    
    Returns true if this model is a scratch edition

    Returns:
    boolean
    openBrowser
     public abstract void openBrowser() throws IvjException
    
    Opens the project browser against this project

    setComment
     public abstract void setComment(String comment) throws IvjException
    
    Sets the comment associated with the project in VisualAge for Java

    Parameters:
    comment - java.lang.String

    name= k$*75ȿ6$P!./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.project_mi.html.htm$$ Interface com.ibm.ivj.util.base.ProjectEdition

    Interface com.ibm.ivj.util.base.ProjectEdition

    public interface ProjectEdition
    extends RepositoryModel

    This interface defines the behavior of a project edition in the repository


    Method Index

    getAllEditions()
    Returns all editions of this project in the repository
    getComment()
    Returns the comment associated with the project in VisualAge for Java
    getLoaded()
    Returns the workspace project corresponding to this repository project, if it is loaded.
    getPackageEditions()
    Returns all package editions defined in this edition of the project
    getTypeEditions()
    Returns all type editions s defined in this edition of the project
    loadIntoWorkspace()
    Load this project edition into the workspace.

    Methods

    getAllEditions
     public abstract ProjectEdition[] getAllEditions() throws IvjException
    
    Returns all editions of this project in the repository

    Returns:
    com.ibm.ivj.util.base.ProjectEdition[]
    getComment
     public abstract String getComment() throws IvjException
    
    Returns the comment associated with the project in VisualAge for Java

    Returns:
    java.lang.String
    getLoaded
     public abstract Project getLoaded() throws IvjException
    
    Returns the workspace project corresponding to this repository project, if it is loaded.

    Returns:
    com.ibm.ivj.util.base.Project or null (not loaded)
    getPackageEditions
     public abstract PackageEdition[] getPackageEditions() throws IvjException
    
    Returns all package editions defined in this edition of the project

    Returns:
    com.ibm.ivj.util.base.PackageEdition[]
    getTypeEditions
     public abstract TypeEdition[] getTypeEditions() throws IvjException
    
    Returns all type editions s defined in this edition of the project

    Returns:
    com.ibm.ivj.util.base.TypeEdition[]
    loadIntoWorkspace
     public abstract void loadIntoWorkspace() throws IvjException
    
    Load this project edition into the workspace. If another edition of this project is already loaded it is replaced


  • < kZ$*75ȿ6$`!./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.projectedition_mi.htmli.htm$$ Interface com.ibm.ivj.util.base.Repository

    Interface com.ibm.ivj.util.base.Repository

    public interface Repository

    This interface defines the behavior of a VisualAge for Java repository. Typically, a repository reference is obtained by calling Workspace.getCurrentRepository()


    Method Index

    getName()
    Returns the repository name.
    getPackageCount()
    Returns the number of packages contained in the repository.
    getPackageEditions(String)
    Returns all editions of the named package
    getPackageNames()
    Returns the names of packages stored in the repository.
    getProjectCount()
    Returns the number of projects contained in the repository.
    getProjectEditions(String)
    Returns all editions of the named project
    getProjectNames()
    Returns the names of projects stored in the repository.
    isCurrentRepository()
    Indicates this is a current repository associated with a workspace

    Methods

    getName
     public abstract String getName()
    
    Returns the repository name. The format of the string name is not specified, although typically it will be a concatenation of the server name and repository file name on the server. For the current repository a null string is returned.

    Returns:
    java.lang.String string name of the repository library, or null for current repository
    getPackageCount
     public abstract long getPackageCount() throws IvjException
    
    Returns the number of packages contained in the repository. Note, this number does not represent the total of all the editions of all the packages

    Returns:
    long package count
    getPackageEditions
     public abstract PackageEdition[] getPackageEditions(String name) throws IvjException
    
    Returns all editions of the named package

    Parameters:
    name - java.lang.String
    Returns:
    com.ibm.ivj.util.base.PackageEdition[] or null if none found
    getPackageNames
     public abstract String[] getPackageNames() throws IvjException
    
    Returns the names of packages stored in the repository. A name is returned if at least one edition of the named package exists in the repository.

    Returns:
    java.lang.String[]
    getProjectCount
     public abstract long getProjectCount() throws IvjException
    
    Returns the number of projects contained in the repository. Note, this number does NOT represent the total of all the editions of all the projects

    Returns:
    long
    getProjectEditions
     public abstract ProjectEdition[] getProjectEditions(String name) throws IvjException
    
    Returns all editions of the named project

    Parameters:
    name - java.lang.String
    Returns:
    com.ibm.ivj.util.base.ProjectEdition[] or null if none found
    getProjectNames
     public abstract String[] getProjectNames() throws IvjException
    
    Returns the names of projects stored in the repository. A name is returned if at least one edition of the named project exists in the repository.

    Returns:
    java.lang.String[]
    isCurrentRepository
     public abstract boolean isCurrentRepository() throws IvjException
    
    Indicates this is a current repository associated with a workspace

    Returns:
    boolean

    server k6$*75ȿ6$P!./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.repository_mi.htmlm$$ Interface com.ibm.ivj.util.base.RepositoryModel

    Interface com.ibm.ivj.util.base.RepositoryModel

    public interface RepositoryModel
    extends Model

    This interface defines the behavior common to model editions in the repository


    Method Index

    isLoaded()
    Indicates if this edition of the model is loaded into the workspace

    Methods

    isLoaded
     public abstract boolean isLoaded() throws IvjException
    
    Indicates if this edition of the model is loaded into the workspace

    Returns:
    boolean

    r k$j+75ȿ6$pj./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.repositorymodel_mi.html.htm$$ Class com.ibm.ivj.util.base.ToolData

    Class com.ibm.ivj.util.base.ToolData

    java.lang.Object
       |
       +----com.ibm.ivj.util.base.ToolData
    

    public class ToolData
    extends Object
    implements Serializable

    This is a wrapper class for tool data. Tool data is essentially a serialized Java object with an associated string key (selected by the tool)


    Constructor Index

    ToolData(String, Serializable)
    Create "keyed" tool data

    Method Index

    getData()
    Returns tool data as a Java object
    getKey()
    Returns the tool data key
    setData(Serializable)
    Sets the tool data (as a serializable object)
    setKey(String)
    Sets the tool data key

    Constructors

    ToolData
     public ToolData(String key,
                     Serializable data) throws IllegalArgumentException
    
    Create "keyed" tool data

    Parameters:
    key - java.lang.String
    data - java.io.Serializable

    Methods

    getData
     public Serializable getData()
    
    Returns tool data as a Java object

    Returns:
    jaa.io.Serializable
    getKey
     public String getKey()
    
    Returns the tool data key

    Returns:
    java.lang.String
    setData
     public void setData(Serializable data) throws IllegalArgumentException
    
    Sets the tool data (as a serializable object)

    Parameters:
    data - java.io.Serializable
    setKey
     public void setKey(String key) throws IllegalArgumentException
    
    Sets the tool data key

    Parameters:
    key - java.lang.String

     k^$b+75ȿ6$`!b./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.tooldata_mi.html.ht$$ Class com.ibm.ivj.util.base.ToolEnv

    Class com.ibm.ivj.util.base.ToolEnv

    java.lang.Object
       |
       +----com.ibm.ivj.util.base.ToolEnv
    

    public class ToolEnv
    extends Object

    This is a "bootstrap" class used by a tool to gain access to the VisualAge for Java API services. If successful loading the native library provided within VisualAge for Java, the caller is assumed to be running "inside" the IDE.


    Constructor Index

    ToolEnv()

    Method Index

    connectToWorkspace()
    Establish a "connection" to the VisualAge for Java workspace.
    hostedByVAJava()
    Determine whether the caller is executing within the VisualAge for Java IDE environment, or in a external process

    Constructors

    ToolEnv
     public ToolEnv()
    

    Methods

    connectToWorkspace
     public static Workspace connectToWorkspace()
    
    Establish a "connection" to the VisualAge for Java workspace. This is typically the first API call made by a tool.

    Returns:
    com.ibm.ivj.util.base.Workspace or null (unable to connect)
    hostedByVAJava
     public static boolean hostedByVAJava()
    
    Determine whether the caller is executing within the VisualAge for Java IDE environment, or in a external process

    Returns:
    boolean

    Sets t k&$T+75ɿ6$`!T./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.toolenv_mi.html.ht$$ Interface com.ibm.ivj.util.base.Type

    Interface com.ibm.ivj.util.base.Type

    public interface Type
    extends WorkspaceModel

    This interface defines the behavior of a type loaded into the workspace


    Method Index

    createVersion(String, boolean)
    Create new version of this type
    getAllEditions()
    Returns all editions of this type in the repository
    getAllSubtypes()
    Returns all subtypes of this type.
    getDeveloperName()
    Return the name of the person designated as the developer of this type
    getEdition()
    Returns the repository type edition corresponding to this workspace type
    getPackage()
    Returns the package containing this type
    getProject()
    Returns the project containing this type
    getQualifiedName()
    Returns the fully qualified name of this type
    isApplet()
    Returns true if type is an applet
    isApplication()
    Returns true if the type is an application (has main()).
    isClass()
    Returns true if the type defines a Java class
    isInDefaultPackage()
    Returns true if this type is defined in a default package
    isInterface()
    Returns true if the type defines a Java interface
    isReleased()
    Returns true if this type is released
    openBrowser()
    Opens the class or interface browser against this type
    release()
    Release this type into its package

    Methods

    createVersion
     public abstract void createVersion(String name,
                                        boolean release) throws IvjException
    
    Create new version of this type

    Parameters:
    name - java.lang.String version or null (automatic versioning)
    release - boolean automatically release type
    getAllEditions
     public abstract TypeEdition[] getAllEditions() throws IvjException
    
    Returns all editions of this type in the repository

    Returns:
    com.ibm.ivj.util.base.TypeEdition[]
    getAllSubtypes
     public abstract Type[] getAllSubtypes()
    
    Returns all subtypes of this type. If this type is a class, than the result represents all classes that directly or indirectly extend this class. If this type is an interface, than the result represents all classes that directly or indirectly implement this interface *and* all interfaces that directly or indirectly extend this interface.

    Returns:
    com.ibm.ivj.util.base.Type[]
    getDeveloperName
     public abstract String getDeveloperName() throws IvjException
    
    Return the name of the person designated as the developer of this type

    Returns:
    java.lang.String
    getEdition
     public abstract TypeEdition getEdition() throws IvjException
    
    Returns the repository type edition corresponding to this workspace type

    Returns:
    com.ibm.ivj.util.base.TypeEdition
    getPackage
     public abstract Package getPackage() throws IvjException
    
    Returns the package containing this type

    Returns:
    com.ibm.ivj.util.base.Package
    getProject
     public abstract Project getProject() throws IvjException
    
    Returns the project containing this type

    Returns:
    com.ibm.ivj.util.base.Project
    getQualifiedName
     public abstract String getQualifiedName()
    
    Returns the fully qualified name of this type

    Returns:
    java.lang.String
    isApplet
     public abstract boolean isApplet() throws IvjException
    
    Returns true if type is an applet

    Returns:
    boolean
    isApplication
     public abstract boolean isApplication() throws IvjException
    
    Returns true if the type is an application (has main()).

    Returns:
    boolean
    isClass
     public abstract boolean isClass() throws IvjException
    
    Returns true if the type defines a Java class

    Returns:
    boolean
    isInDefaultPackage
     public abstract boolean isInDefaultPackage()
    
    Returns true if this type is defined in a default package

    Returns:
    boolean
    isInterface
     public abstract boolean isInterface() throws IvjException
    
    Returns true if the type defines a Java interface

    Returns:
    boolean
    isReleased
     public abstract boolean isReleased() throws IvjException
    
    Returns true if this type is released

    Returns:
    boolean
    openBrowser
     public abstract void openBrowser() throws IvjException
    
    Opens the class or interface browser against this type

    release
     public abstract void release() throws IvjException
    
    Release this type into its package


     k$v+75ɿ6$@9"v./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.type_mi.html$$ Interface com.ibm.ivj.util.base.TypeEdition

    Interface com.ibm.ivj.util.base.TypeEdition

    public interface TypeEdition
    extends RepositoryModel

    This interface defines the behavior of a type edition in the repository


    Method Index

    getAllEditions()
    Returns all editions of this type in the repository
    getDeveloperName()
    Return the name of the person designated as the developer of this type
    getLoaded()
    Returns the workspace type corresponding to this repository type, if it is loaded.
    getSimpleName()
    Returns the simple unqualified name of this type
    loadIntoWorkspace()
    Load this type edition into the workspace.

    Methods

    getAllEditions
     public abstract TypeEdition[] getAllEditions() throws IvjException
    
    Returns all editions of this type in the repository

    Returns:
    com.ibm.ivj.util.base.TypeEdition[]
    getDeveloperName
     public abstract String getDeveloperName() throws IvjException
    
    Return the name of the person designated as the developer of this type

    Returns:
    java.lang.String
    getLoaded
     public abstract Type getLoaded() throws IvjException
    
    Returns the workspace type corresponding to this repository type, if it is loaded.

    Returns:
    com.ibm.ivj.util.base.Type
    getSimpleName
     public abstract String getSimpleName()
    
    Returns the simple unqualified name of this type

    Returns:
    java.lang.String
    loadIntoWorkspace
     public abstract void loadIntoWorkspace() throws IvjException
    
    Load this type edition into the workspace. If another edition of this type is already loaded it is replaced.


    o k<$0,75ɿ6$`I"0./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.typeedition_mi.html$$ Class com.ibm.ivj.util.base.WorkspaceLog

    Class com.ibm.ivj.util.base.WorkspaceLog

    java.lang.Object
       |
       +----java.io.OutputStream
               |
               +----com.ibm.ivj.util.base.WorkspaceLog
    

    public class WorkspaceLog
    extends OutputStream

    Output stream associated with the workspace log


    Constructor Index

    WorkspaceLog(Workspace)
    Construct the workspace log stream

    Method Index

    bringToFront()
    Force log to front.
    flush()
    Flush buffered output to log
    write(int)
    Write a character to log.

    Constructors

    WorkspaceLog
     public WorkspaceLog(Workspace ws)
    
    Construct the workspace log stream

    Parameters:
    ws_ - com.ibm.ivj.util.base.Workspace

    Methods

    bringToFront
     public void bringToFront() throws IOException
    
    Force log to front.

    flush
     public void flush() throws IOException
    
    Flush buffered output to log

    Overrides:
    flush in class OutputStream
    write
     public void write(int b) throws IOException
    
    Write a character to log.

    Overrides:
    write in class OutputStream

    ptions k$$,75ɿ6$`"./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.base.workspacelog_mi.html$$ Interface com.ibm.ivj.util.base.WorkspaceModel

    Interface com.ibm.ivj.util.base.WorkspaceModel

    public interface WorkspaceModel
    extends Model

    This interface defines the behavior common to models loaded into the workspace


    Method Index

    clearToolRepositoryData(String)
    Resets the tool repository data with the specified key for this model
    clearToolWorkspaceData(String)
    Resets the workspace tool data with the specified key for this model
    createNewEdition()
    Creates a new edition of this model
    createVersion(String)
    Create new version of this model.
    delete()
    Delete this model.
    getToolRepositoryData(String)
    Retrieves the tool repository data with the specified key for this model
    getToolWorkspaceData(String)
    Retrieves the workspace tool data with the specified key for this model
    setToolRepositoryData(ToolData)
    Associates the tool repository data with this model
    setToolWorkspaceData(ToolData)
    Associates the workspace tool data with this model
    testToolRepositoryData(String)
    Test for existence of tool repository data with the specified key for this model
    testToolWorkspaceData(String)
    Test for existence of workspace tool data with the specified key for this model

    Methods

    clearToolRepositoryData
     public abstract void clearToolRepositoryData(String key) throws IvjException
    
    Resets the tool repository data with the specified key for this model

    Parameters:
    key - java.lang.String
    clearToolWorkspaceData
     public abstract void clearToolWorkspaceData(String key) throws IvjException
    
    Resets the workspace tool data with the specified key for this model

    Parameters:
    key - java.lang.String
    createNewEdition
     public abstract void createNewEdition() throws IvjException
    
    Creates a new edition of this model

    createVersion
     public abstract void createVersion(String name) throws IvjException
    
    Create new version of this model.

    Parameters:
    name - java.lang.String version or null (automatic versioning)
    delete
     public abstract void delete() throws IvjException
    
    Delete this model. Note, that this only deletes the model from the workspace. It is not deleted from the repository and can be subsequently reloaded back into the workspace (IRepositoryModel.loadIntoWorkspace()).

    getToolRepositoryData
     public abstract ToolData getToolRepositoryData(String key) throws IvjException, OptionalDataException, ClassNotFoundException, IOException, StreamCorruptedException
    
    Retrieves the tool repository data with the specified key for this model

    Parameters:
    key - java.lang.String
    Returns:
    com.ibm.ivj.util.base.ToolData
    getToolWorkspaceData
     public abstract ToolData getToolWorkspaceData(String key) throws IvjException, OptionalDataException, ClassNotFoundException, IOException, StreamCorruptedException
    
    Retrieves the workspace tool data with the specified key for this model

    Parameters:
    key - java.lang.String
    Returns:
    com.ibm.ivj.util.base.ToolData
    setToolRepositoryData
     public abstract void setToolRepositoryData(ToolData data) throws IvjException, IOException
    
    Associates the tool repository data with this model

    Parameters:
    data - com.ibm.ivj.util.base.ToolData
    setToolWorkspaceData
     public abstract void setToolWorkspaceData(ToolData data) throws IvjException, IOException
    
    Associates the workspace tool data with this model

    Parameters:
    data - com.ibm.ivj.util.base.ToolData
    testToolRepositoryData
     public abstract boolean testToolRepositoryData(String key) throws IvjException
    
    Test for existence of tool repository data with the specified key for this model

    Parameters:
    key - java.lang.String
    Returns:
    boolean
    testToolWorkspaceData
     public abstract boolean testToolWorkspaceData(String key) throws IvjException
    
    Test for existence of workspace tool data with the specified key for this model

    Parameters:
    key - java.lang.String
    Returns:
    boolean

    Interface com.ibm.ivj.util.builders.BuilderFactory

    Interface com.ibm.ivj.util.builders.BuilderFactory

    public interface BuilderFactory


    Method Index

    createMethodBuilder(String)
    Construct a Method builder
    createTypeBuilder(String, Package)
    Construct a Type builder for a new type.
    createTypeBuilder(Type)
    Construct a Type builder for an existing Type.
    createUserCodeBlock(String, String)
    This is a convenience method.

    Methods

    createMethodBuilder
     public abstract MethodBuilder createMethodBuilder(String builderName) throws IllegalArgumentException
    
    Construct a Method builder

    Parameters:
    name - java.lang.String For method builders constructed using this factory method, the supplied name is strictly used for programmer convenience in identifying the individual method builders. The actual method name used in TypeBuilder calls (eg. save(), getExistingMethodSource(...)) is determined based on the supplied method source (setSource(...)). It is recommended that name be in fact specified in the form of a unique Java method signature.
    builderName - java.lang.String
    Returns:
    com.ibm.ivj.util.builders.MethodBuilder
    createTypeBuilder
     public abstract TypeBuilder createTypeBuilder(Type type) throws IvjException, IllegalArgumentException
    
    Construct a Type builder for an existing Type. The specified type must be loaded in the workspace.

    Parameters:
    type - com.ibm.ivj.util.base.Type
    Returns:
    com.ibm.ivj.util.builders.TypeBuilder
    createTypeBuilder
     public abstract TypeBuilder createTypeBuilder(String name,
                                                   Package parent) throws IvjException, IllegalArgumentException
    
    Construct a Type builder for a new type. The specified type must not exist in the workspace.

    Parameters:
    name - java.lang.String
    parent - com.ibm.ivj.util.base.Package
    Returns:
    com.ibm.ivj.util.builders.TypeBuilder
    createUserCodeBlock
     public abstract String createUserCodeBlock(String identifier,
                                                String indent)
    
    This is a convenience method. It returns a code block marked as a user block. This method can be used when generating code that is expected to be augmented by the users, but will also be subsequently regenerated. A user block defines a segment of the generated code where users can safely make changes that will not be lost when the method is regenerated. In the generated source code a user block appears as a section of code delimited by structured comments. User blocks are associated with an identifier. The identifier is used during source merging to determine which user modification are to be inserted at what point in the new code. A typical use scenario in defining method source would be
     String code;
     Workspace ws;
     BuilderFactory bf;
     ws = ToolEnv.connectToWorkspace();
     bf = ws.createBuilderFactory;
     code =        "public static void main(String args[]) {\n";
     code = code + "\t... generated code ...\n";
     code = code + bf.createUserCodeBlock("1","\t");
     code = code + "}";
     
    Note, that source code containing user blocks is only merged with user changes when TypeBuilder.saveMerge() is called. Calling TypeBuilder.save() will only save the code and any empty user blocks.

    Parameters:
    identifier - java.lang.String block user block identifier. This is a unique identifier for the block.
    indent - java.lang.String indentation string. The supplied string (if any) is prepended to the user block comment markers. This allows the markers to be aligned with respect to the rest of the generated code. Typically the string will contain some number of spaces or tabs.
    Returns:
    java.lang.String

    Interface com.ibm.ivj.util.builders.MethodBuilder

    Interface com.ibm.ivj.util.builders.MethodBuilder

    public interface MethodBuilder


    Method Index

    getBuilderName()
    Return the name of the method builder.
    getSource()
    Returns any source code set into the builder by the caller.
    isMarkedForDeletion()
    Indicate whether method is marked for deletion
    markForDeletion(boolean)
    Mark the method for deletion.
    setSource(String)
    Sets the source code into the builder.

    Methods

    getBuilderName
     public abstract String getBuilderName()
    
    Return the name of the method builder. The returned name is the one supplied on the BuilderFactory.createMethodBuilder() call, or one computed from an existing method as a result of TypeBuilder.getExistingMethods(). Note, that this name is strictly used for programmer convenience in identifying the individual method builders. The actual method name used in TypeBuilder calls (eg. save(), getExistingMethodSource(...)) is determined based on the supplied method source (setSource(...)).

    Returns:
    java.lang.String
    getSource
     public abstract String getSource()
    
    Returns any source code set into the builder by the caller. Note, that for existing methods this is not the source code for the method currently loaded in the workspace

    Returns:
    java.lang.String
    isMarkedForDeletion
     public abstract boolean isMarkedForDeletion()
    
    Indicate whether method is marked for deletion

    Returns:
    boolean
    markForDeletion
     public abstract void markForDeletion(boolean setting)
    
    Mark the method for deletion. Note, that this does not immediately delete the method in the repository. The method is deleted when the TypeBuilder.save() is called

    Parameters:
    setting - boolean
    setSource
     public abstract void setSource(String sourceCode)
    
    Sets the source code into the builder. Note, that this does *not* immediately replace the source code for the method currently loaded in the workspace. The method is saved when the TypeBuilder.save() is called

    Parameters:
    sourceCode - java.lang.String

     ktx$r-75ɿ6$`"r./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.builders.methodbuilder_mi.htmlm$$ Interface com.ibm.ivj.util.builders.TypeBuilder

    Interface com.ibm.ivj.util.builders.TypeBuilder

    public interface TypeBuilder


    Method Index

    addMethodBuilder(MethodBuilder)
    Add a method builder to the type builder.
    checkMethodExists(MethodBuilder)
    Checks if the method defined by source already exists for the type in the workspace.
    getBuilderName()
    Return the name of this type builder.The returned name is computed from the arguments supplied on the BuilderFactory.createTypeBuilder(...) call.
    getExistingMethods()
    Returns an array of MethodBuilder containing method builders for methods defined for the type in the Workspace
    getExistingMethodSource(MethodBuilder)
    Returns any source code for the specified method builder that is defined for this type currently loaded in the workspace.
    getExistingSource()
    Returns any source code for the type currently loaded in the workspace.
    getMethodBuilders()
    Returns an enumeration of MethodBuilder for any methods that have been added to the builder using TypeBuilder.addMethod(...)
    getSource()
    Returns any source code set into the builder by the caller.
    removeAllMethodBuilders()
    Removes all method builders from the type builder
    removeMethodBuilder(MethodBuilder)
    Remove a MethodBuilder previously added to the type builder.
    save()
    Save the builder source into the repository.
    saveMerge()
    Save the builder source into the repository.
    setSource(String)
    Sets the source code into the builder.

    Methods

    addMethodBuilder
     public abstract void addMethodBuilder(MethodBuilder method)
    
    Add a method builder to the type builder. The method builder can represent a new method, replacement for an existing method or a deletion "request" for an existing method

    Parameters:
    method - com.ibm.ivj.util.builders.MethodBuilder
    checkMethodExists
     public abstract boolean checkMethodExists(MethodBuilder method) throws IvjException
    
    Checks if the method defined by source already exists for the type in the workspace. Returns false if this is a builder for a new type

    Parameters:
    method - com.ibm.ivj.util.builders.MethodBuilder
    Returns:
    boolean
    getBuilderName
     public abstract String getBuilderName()
    
    Return the name of this type builder.The returned name is computed from the arguments supplied on the BuilderFactory.createTypeBuilder(...) call. It is returned in the form of a qualified Java type name. Note, that this name is strictly used for programmer convenience in identifying the individual type builders. The actual type name used is determined based on the supplied type source (setSource(...)).

    Returns:
    java.lang.String
    getExistingMethods
     public abstract MethodBuilder[] getExistingMethods() throws IvjException
    
    Returns an array of MethodBuilder containing method builders for methods defined for the type in the Workspace

    Returns:
    com.ibm.ivj.util.builders.MethodBuilder[]
    getExistingMethodSource
     public abstract String getExistingMethodSource(MethodBuilder method) throws IvjException
    
    Returns any source code for the specified method builder that is defined for this type currently loaded in the workspace. Returns null if there is no corresponding method, or this is a type builder for a new type

    Parameters:
    method - com.ibm.ivj.util.builders.MethodBuilder
    Returns:
    java.lang.String
    getExistingSource
     public abstract String getExistingSource() throws IvjException
    
    Returns any source code for the type currently loaded in the workspace. Returns null if this is a builder for a new type

    Returns:
    java.lang.String
    getMethodBuilders
     public abstract Enumeration getMethodBuilders()
    
    Returns an enumeration of MethodBuilder for any methods that have been added to the builder using TypeBuilder.addMethod(...)

    Returns:
    java.util.Enumeration
    getSource
     public abstract String getSource()
    
    Returns any source code set into the builder by the caller. Note, that for existing types this is not the source code for the type currently loaded in the workspace

    Returns:
    java.lang.String
    removeAllMethodBuilders
     public abstract void removeAllMethodBuilders()
    
    Removes all method builders from the type builder

    removeMethodBuilder
     public abstract void removeMethodBuilder(MethodBuilder method)
    
    Remove a MethodBuilder previously added to the type builder.

    Parameters:
    method - com.ibm.ivj.util.builders.MethodBuilder
    save
     public abstract void save() throws IvjException
    
    Save the builder source into the repository. All provided source is used as full replacement source for any existing source

    saveMerge
     public abstract void saveMerge() throws IvjException
    
    Save the builder source into the repository. Merge any user code defined in "user blocks" from the original code into the replacement code. "User blocks" are designated in source using TypeBuilder.userCodeBlock(...)

    setSource
     public abstract void setSource(String sourceCode)
    
    Sets the source code into the builder. Note, that this does not immediately replace the source code for the type currently loaded in the workspace. The source is saved when the TypeBuilder.save() is called

    Parameters:
    sourceCode - java.lang.String

    ="com. kN$.75ɿ6$@ #./usr/IBMVJava/html/enterp/en_US/toolint/ref/com.ibm.ivj.util.builders.typebuilder_mi.htmlm$$ Package com.ibm.ivj.util.base

    All Packages

    package com.ibm.ivj.util.base

    Interface Index

    Model
    Package
    PackageEdition
    Project
    ProjectEdition
    Repository
    RepositoryModel
    Type
    TypeEdition
    Workspace
    WorkspaceModel

    Class Index

    ExportCodeSpec
    ExportInterchangeSpec
    ImportCodeSpec
    ImportInterchangeSpec
    ToolData
    ToolEnv
    WorkspaceLog

    Exception Index

    IvjException
    IvjExportException
    IvjImportException
    IvjInvalidStateException
    IvjUnresolvedException
    AllM k2Z$.78I6ɿ6$`"./usr/IBMVJava/html/enterp/en_US/toolint/ref/package-com.ibm.ivj.util.builders.htmli.ht$$ Package com.ibm.ivj.util.builders

    All Packages

    package com.ibm.ivj.util.builders

    Interface Index

    BuilderFactory
    MethodBuilder
    TypeBuilder
    t k꠱$W.78I6ȿ6$+#W./usr/IBMVJava/html/enterp/en_US/toolint/ref/tree.htmlm$$ Class Hierarchy (Tool Integrators)

    Class Hierarchy (Tool Integrators)


    j kq$'.7NI6ɿ6$@#'./usr/IBMVJava/html/enterp/en_US/visbuild/html/c5ejcomp.htm.ivj$$ The main components of the framework

    The main components of the framework

    Persistence Builder provides a runtime system for application developers. It is supported by a rich set of tools that are used to provide input to transparent frameworks which generate the persistent layer for object models. As a developer, you will primarily use the tools, especially, if your object model is to persist in a relational data store. It is helpful, however, to be acquainted with the main frameworks, particularly if you want to create your own data services layer for non-relational data stores, or, if you want to do some performance tuning. Framework highlights are provided here; further details are in the reference sections.

    Model framework

    The model framework supports describing the state and behavior of persistent objects. The result is the runnable implementation of the object model.

    The model framework provides a pure object interface to your application supporting the description of model attributes and associations and implementing accessors to the model data. It supports the concept of defining attributes for uniquely identifying an object, that is, key attributes map to relational keys or key transaction data tying models into relationships and transactions.

    Relationship framework

    Relationships are a missing feature of OO languages but an essential feature of real-world applications and data. Relationships between persistent objects are implemented using first-class link objects. The link objects manage:

    • Object referential integrity
    • Database key referential integrity
    • Persistent state of the relationship

    The relationship framework provides key to object-based user interfaces. It automatically manages the following relationship semantics:

    • Requiredness. Consider a relationship between a Person object and a Car object. Person has a collection of Cars. Requiredness on this relationship might specify that a Person requires at least one Car.

    • Cardinality. Cardinality specifies how many objects may participate in the relationship (one-to-one, or one-to-many). For example, the cardinality of the Person-Car relationship could be defined as "one-to-many". That is, one Person owns a collection of Cars.

    • Inverse maintenance. Continuing with the one-to-many relationship, Person-Car, the framework requires that one-to-many relationships be defined as two-way (bi-directional) relationships. Thus, a Car object would have a one-to-one relationship with a Person. If a Car is added to a Person's collection, then the framework ensures that the Car's owner is set to that Person. Likewise, if a new Car object were instantiated, the framework ensures the addition of the instance to the collection belonging to Person.

    • Ownership. In the Person-Car relationship, if the Person object were deleted, the framework would manage the deletion of Cars as well in a cascaded delete operation.

    Transaction framework

    Operations on persistent objects have transaction semantics similar to the data stores in which they persist. The transaction framework provides that all operations within a transaction are either committed or rolled back together so that a consistency is maintained within the OO environment. Transactions are introduced into the persistence binding through a set of synchronization and collision management schemes.

    Synchronization schemes

    Synchronization between application and data memory spaces is achieved by various synchronization shemes. These schemes define when modified objects in the application memory are sent to the database and when objects are refreshed in the database. For example, a deferred write scheme would imply that modified objects are first recorded within a transaction, then, when the transaction is committed, the modified objects are automatically written to the database all at once.

    Collision management schemes

    Collision management schemes provide different approaches according to the different types of transactions defined. Transactions with a high penalty for failure, for example, could have a pessimistic collision prevention scheme, whereas transactions with a low penalty for failure, that is, it is worth the risk of failure to gain the efficiency, could have an optimistic collision detection scheme.

    A flexible collision management scheme is based on the properties of the transaction, the domain class, and the data store. For example, within a transaction there may be participating objects that are not candidates for collision. When the transaction directs its participants to lock their resources, the non-collision candidates will do nothing since they have no resources that require locking.

    The net effect of collision management strategies depend entirely on what the underlying data store supports.

    Mapping framework

    The mapping framework enables you to map flat data to object inheritance hierarchies. It can generate queries to retrieve appropriate data, determine the appropriate object class for data based on discriminating fields, and resolve relationships of abstract classes to existing subclasses. In addition, it implements the conversion between data and objects. This is done by mapping the data schema elements to object attributes. Object relationships can be populated from data relationships (foreign keys) as well. Object queries are converted to data store queries so that the appropriate objects can be retrieved.

    Several kinds of mapping strategies are available.

    Attribute mapping

    Attributes of a class can be mapped to one or more columns in a table as well as across many tables.

    Figure 2. . Left to right: Attributes in ClassA map to one database table. Attributes in ClassB map across columns in two database tables.
    Figure pgmappng not displayed.

    Inheritance mapping

    Class hierarchies can map to single or multiple tables. Two kinds of partitioning are supported:

    • Typed partitioning. A class hierarchy maps to a single database table.

      Figure 3. .
      Figure pgtypinh not displayed.

    • Vertical partitioning. A class hierarchy maps to root and leaf database tables.

      Figure 4. .
      Figure pgverinh not displayed.

    Relationship mapping

    Objects can be mapped as one-to-one or one-to-many relationships.

    • One-to-one relationships. One-to-one relationships can be mapped a couple of ways:

    • One-to-many relationships.

      Figure 7. .
      Figure pg1tomny not displayed.

    Data store framework

    The data store framework implements the underlying data store for the persistence system.

    This is achieved by capturing a sufficient amount of database meta-information. A logical structure of the data store is specified by the data store schema that represents the structural relationships between schema elements. The logical structure presents a more user-friendly specification for your object model since often the physical schema of data stores have naming restrictions and other contraints.

    The data store framework presents interfaces for

    • Connecting to a data store
    • Executing database queries
    • Managing transactions

    Multiple data store types may be used in a single application.

    A data store schema can be defined from scratch or imported from an existing database.

    data s k$!*.7NI6ɿ6$T#!*./usr/IBMVJava/html/enterp/en_US/visbuild/html/c5ejieta.htm.ivj$$ Persistence Builder Overview

    Persistence Builder Overview

    VisualAge Persistence Builder is an extensive and powerful persistence framework providing a complete solution for building robust, scalable persistence support for object models. Object models, represented by class hierarchies, are said to be persistent when instances created from these classes can be stored to an external data store such as a relational database.

    Persistence Builder enables you to map objects, and relationships between objects, to information stored in relational databases. It also provides linkages to legacy data on a number of other systems. As a feature of VisualAge for Java , Persistence Builder is especially designed for UI-intensive, nested transaction-type applications. This tight integration with the VisualAge family enables you to leverage your current VisualAge investment and expertise.

    A rich set of integrated tools make the persistence effort minimal by providing:

    • Automated code-generation services for underlying frameworks
    • Import and export facilities for working with database schemas
    • Debug and monitoring tools for performance tuning where desired

    As object-oriented technology has matured in the industry, it has proven to be an excellent solution for modeling problems, building prototypes, and rapidly deploying applications. Though object models for these applications are often reused in other applications, one of the costlier tasks of development has been that of translating between object-oriented and non-object-oriented representations of business models. Given that the majority of databases in use today are non object-oriented, the task of mapping objects to relational database tables and legacy data from various sources has been the missing piece in object persistence standards. On a small scale, object persistence is not difficult to solve. However, large scale applications introduce new requirements to frameworks that support object persistence.

    Underlying Persistence Builder is a framework that delivers on requirements that apply to large scale applications. As with any good design, trade-offs and compromises must be made. The better you understand your object model and your data model, the better you will be prepared to take advantage of the powerful function that Persistence Builder offers. Persistence Builder provides this support in the following ways:

    Key elements managed by the framework

    The primary elements managed by Persistence Builder are:

    • Business objects. Business objects are typically the objects in your application domain that you want to persist in a data store, a bank application's Customer and Account objects, for example.

    • Relationships. Objects and relationships are very similar to the entities and relationships of extended entity-relationship modeling. A primary responsibility of Persistence Builder is to maintain the integrity of objects in the run-time image and the corresponding persistent data store through the support of atomic transactions. For example, a Customer object could have a one-to-many relationship with a collection of Account objects such that each Customer knows its set of Accounts, and each Account knows its Customer. The transactions necessary to manage this relationship are transparent to you.

    • Transactions. Transactions represent paths of code execution. For example, a bank application might have a transaction that updates a customer account. The code activity necessary to manipulate the persistent objects would take place in the transaction.

    Key tasks you develop

    Building your object models on the Persistence Builder framework can be done in several ways. How you begin depends upon whether your data store already exists. Whether you are starting from scratch, or creating an application to persist to a legacy database, it is best to separate your application domain into three programming tasks:

    • Object modeling
    • Application programming
    • Data access programming

    These tasks can be implemented by a team of programmers or by one. In either case, the framework addresses all of the details required for persistent object behavior. For each task, browsers, tools, and code generation services are provided.

    Object modeling involves defining the application domain in terms of objects and the relationships between them. Persistence Builder facilitates the task of mapping object models to a range of back-end storage and processing technologies, most notably new and existing relational databases and transaction processing monitors.

    Application programming comprises implementing scripts on the model objects, relationships objects and other application objects that implement the functions, business rules and user-interface of the application.

    Data access programming implements the individual services that map objects and relationships in the object model to the underlying data store using such mechanisms as SQL and transaction processing monitor based calls. For relational databases, Persistence Builder provides a code generation services that create an implementation of a data access service layer from a higher-level mapping specification. The generated code is complete. Enhancement to the generated code is only needed in special cases, for example, tuning the performance of special SQL queries because of special knowledge of underlying data or application access patterns, or because of unusual table structures in existing database schemas.

    Organizing your application

    Persistence Builder helps you organize your application into three main components in the following ways:

    • Object Model. Using the Model Browser, you define the basic shape of your persistent objects. In UML terms, you describe their attributes and associations. Code generation services are used for creating the domain classes that will contain the persistence support for your business objects.

    • Transactions. Transactions represent paths of code execution. Transactions guarantee the consistency of data in the image. You create transactions that access and manipulate persistent objects. Any dialogs necessary for interaction with the application user are implemented by you as well.

    • Services. Services are classes that implement the low-level functionality required to store and retrieve objects from the data store. Each persistent class has a corresponding service class. Service classes can be generated automatically from meta-information you provide by mapping your object model to a data schema. The Schema Browser is used to define new or import existing database schemas, and the Map Browser is used to map the object model and data schema.

    The persistence framework coupled with the robust development tool set provide everything you need to produce a relatively lightweight, industrial strength runtime framework for any application. As an OO developer, your main concern can be the object model understood as a set of business objects with attributes individually and relationships communally. This understanding is described using the development tools which create meta-information that the persistence framework uses to produce the persistence constructs that support your runtime application.

    The following illustration encapsulates what Persistence Builder offers both in terms of development and runtime environments.

    Figure 1. The development and runtime environment perspectives. Implementing your application with Persistence Builder involves using browsers at each level of abstraction during development. Each abstraction describes a particular aspect of your business objects to the transparent framework . Each layer of the framework generates the necessary code and services for the object model to persist in the runtime environment.
    Figure shown of development and runtime environments.


    Related concepts
    The main components of the framework
    Key Benefits of Using Persistence Builder


    Related procedures
    Using code generation services


    Related references
    Persistence Builder Tools
    The business object layer
    Transaction overview
    The persistence layer

    chanism k|$E.785ɿ6$j#E./usr/IBMVJava/html/enterp/en_US/visbuild/html/c5ejkeya.htm.ivj$$ Key Benefits of Using Persistence Builder

    Key Benefits of Using Persistence Builder

    Minimal intrusion to object and database design

    Close coupling between the two models, object and database, is history. Object models only need to represent their application domain, not the database design. This enables you to maintain an object-centric view of persistence rather than a data-centric view of data stores. The number of persistence constructs required in the application code is very low, keeping the persistence application model relatively lightweight. Separating objects and database concepts is done by employing meta-information. The loose connection between object model and database is preserved through a rich set of mapping schemes.

    Persistence Builder supports this meta-information layer through UML object models, mapping models, and data models (schemas).

    Persistence Builder is integrated with the visual aspects of programming as well such that existing view components can work with framework.

    High performance

    System performance depends on many factors: server load, network throughput, client application response time, and so on. Database access can be optimized according to these performance factors.

    To optimize the number of database round trips and path length to data, a cache and preload framework enables you to define your working set of data for any task. This working set determines the amount of data that will be retrieved for a given task.

    When the set of objects you want to retrieve is very large, performance degradation occurs when instantiating the objects all at once. A cache framework prevents this problem by keeping objects in their native format as long as possible.

    The set of data required to perform a task is often known ahead of time, or can be derived from application hints. Minimizing the number of database round trips is achieved by retrieving as much data as possible. The preload framework enables you to tune performance in this manner. One example of this would be joining the relational tables that form a composition tree.

    Advanced transaction support

    The transaction framework enables you to support multiple users executing concurrent and nested transactions that update the same objects. You can manage multiple versions of objects in your image, and determine appropriate policies for handling collisions and commits to the database.

    The transaction framework treats the application and database memory spaces as if they were one memory space synchronizing them and managing collisions.

    Advanced query support

    You can define very complex object models and relationships easily using the powerful Persistence Builder tool set. The underlying query model is expressed in object terms rather than on database-specific native terms. Several kinds of mapping strategies encourage this loose coupling.

    The code-generation function produces sophisticated SQL statements customized for your object model. The SQL statements are consumed by service classes that manage your data. Because the code-generation is done at development time, you can benefit from the advantages of static SQL or tune them as desired rather than having them generated at runtime.

    The query generator supports:

    • Equi-joins for loading chains of objects (no branches).
    • Unions and set differences for loading complex composition trees.
    • Left-outer-joins for loading trees that allow missing leaves.

    Relationship support

    Relationships between persistent objects are implemented using first-class link objects. Links are hidden behind the generated accessors. Links automatically manage

    • Object referential integrity
    • Database key referential integrity
    • Persistent state of the relationship (lazy retrieval).

    Seamless support for various database paradigms

    Large scale commercial applications typically need to access data from multiple data stores.

    The relational and procedure-call generation embedded in the framework provides the linkages between the object model and the data store. These linkages are established through generated service classes and include generated queries or data access statements.

    The service classes execute the generated SQL to map the object model to the following relational data stores:

    • DB2
    • ORACLE
    • ODBC
    • JDBC

    Table definitions can be read from an existing database schema. The service classes also invoke the generated record mappings to access transactional data in CICS/IMS or other legacy datastores.

    For each business object class there is a set of pluggable data access services. There can be more than one services set per business object class, for example, a relational service set and a procedure call service set. Activation of the data store determines which service set a business object class is currently using.

    u t k$k(.7BI6ɿ6$#k(./usr/IBMVJava/html/enterp/en_US/visbuild/html/chdabrda.htm.ivj$$ About Relational Database Access

    About Relational Database Access

    VisualAge for Java supports access to relational databases through JDBC. You can access relational data in an applet or application by using the Data Access beans on the Visual Composition Editor beans palette. (If you have VisualAge for Java, Enterprise Edition, you can also access relational data through the Data Access Builder, see When to use Data Access Builder.)

    The Data Access beans are a feature of Visual Age for Java, and comprise a Select bean and a DBNavigator bean. To use the Data Access beans, you must first add the Data Access beans feature to Visual Age for Java.

    Select bean

    The Select bean is a non-visual bean. Using the Select bean you can query a relational database. You can also insert, update or delete a row in the result set and commit the changes in the database.

    When you use a Select bean, you specify properties pertinent to relational database access, for example, when a lock should be acquired for a row in a table. You also specify a query property that contains a connection alias and an SQL specification for the Select bean.

    • A connection alias specifies the database connection characteristics for the Select bean, for example, the URL for the connection, and the user ID and password to be passed with the connection request.

    • An SQL specification specifies an SQL statement for the Select bean. You can enter the SQL statement manually (an SQL editor is provided to do this) or you can use the SQL Assist SmartGuide, to help you visually compose the SQL statement.

    When you create a connection alias or an SQL specification, you identify a database access class to hold the definition. The connection alias and SQL specification for a Select bean can be in the same database access class, but this is not a requirement. In addition, different Select beans can identify the same database connection alias or SQL specification. If different Select beans specify the same connection alias, they share the database connection associated with that connection alias. If one Select bean commits updates to a database, it commits all uncommitted updates made by any Select bean sharing the database connection.

    Accessing relational data

    The Select bean provides a set of methods for relational database access. For example it provides an execute method to execute the SQL statement, and an updateRow method to update a row in the database based on data in the current row of the result set. To access relational data using a Select bean, you connect an interface component to the Select bean. For example, you can make an event-to-method connection between the actionPerformed event for a button and the execute method of the Select bean. When the button is selected, the SQL statement associated with the Select bean is executed.

    When you execute an SQL statement using a Select bean, it returns a result set. However, the actual number of rows fetched into memory (cache) is controlled by various properties of the Select bean. You can set the value of these properties and thus control how many rows are fetched. The properties determine:

    • The maximum number of rows that can be fetched into the cache

    • The size of a packet, that is, a set of rows

    • The maximum number of packets allowed in the cache

    • Whether all the rows in the result set are to be fetched into the cache, or only a subset of the result set. "All the rows" means the lesser of:

      • The maximum number of rows

      • The product of the packet size times the maximum number of packets allowed in the cache.

      A "subset of the result set" means only the number of rows needed to satisfy a request. For example, if the result set is 100 rows, but the application only displays 10 rows, only 10 rows are fetched into the cache.

    You can display data in the result set by making a property-to-property connection between the appropriate source property of the Select bean and an appropriate target property of an interface component such as a text field. If you use the SQL Assist SmartGuide to compose the SQL statement, VisualAge for Java generates two bound properties for each data column in the SQL specification. One property is the data column in its specified data type, another is a String representation of the data column. So, for example, you can make a property-to-property connection between the String representation of a data column in the result set and the text property of a text field.

    Many of the Select bean methods are designed to operate on the current row of the result set. When an SQL statement is executed using a Select bean, the first row of the result set is the current row. If a column value of the result set is connected to an interface component such as a text field, the column value in the current row is displayed in the text field.

    The Select bean includes methods to change the current row, for example, one method makes the next row in the result set the current row. Furthermore, each column value property for the Select bean is a bound property, so that if the current row is changed, it changes the data displayed in any interface component connected to the bound property.

    Inserting, updating and deleting data

    The Select bean also provides methods that you can use to insert, update, and delete relational data. To perform these operations you must first use a Select bean to retrieve a result set. You then apply the changes to the current row of the result set.

    There are various ways to use these methods. For example, one way to implement updates in an application is to make an event-to-script connection between an appropriate interface component, such as a button, and a script. The script accesses the value in another interface component such as a text field, and uses a Select bean method to set the value of the column in the current row of the result set based on the accessed value. The script also uses a Select bean method to update the database with the reset value in the current row.

    DBNavigator bean

    The DBNavigator bean is a visual bean that is used with a Select bean. The DBNavigator bean provides a set of buttons that execute the SQL statement for the associated Select bean; perform other relational database operations, such as commit updates to the database; and navigate rows in the result set.

    The DBNavigator bean is customizable. You can specify which of the buttons in the set you want displayed (however you cannot control the order of buttons in the display). You do this by setting properties in the DBNavigator bean.

    To use the DBNavigator bean you create a property-to-property connection between the this property of the Select bean and the model property of the DBNavigator bean. The this property refers to the whole object of the Select bean. The model property specifies that the DBNavigator bean will navigate the associated Select bean.

    When to use Data Access Builder

    The Enterprise version of VisualAge for Java includes an Enterprise Access tool called Data Access Builder. It lets you generate beans that perform operations beyond the scope of the data access beans. For example, using Data Access Builder, an applet or application can access rows returned by DB2 stored procedures. You can also use Data Access Builder to generate methods that will perform any action you want on the database contents.

    Using Data Access beans at run time

    After you develop an application that contains the Data Access beans you can deploy it for use. VisualAge for Java provides several files that are used with these applications at run time. These files, which are in root/eab/runtime20, where root is the VisualAge for Java root directory, contain the class files, in several formats, for the classes in the IBM Data Access Beans project. The classpath should be modified to contain one of these files when an application is deployed.

    The files are:

    • ivjdab.jar. A compressed JAR file for use in network applications

    • ivjdab.zip. An uncompressed ZIP file for use in local applications

    In addition, VisualAge for Java provides two run time directories. These directories contain the same classes that are in the JAR or ZIP file. The directories are automatically added to the classpath when VisualAge for Java is installed. This allows applications that use the Data Access beans to run on the machine in which VisualAge for Java is installed without further modification to the classpath.

    The directories are:

    • com.ibm.db

    • com.ibm.ivj.db.uibeans


    Related procedures
    Accessing Relational Data

    chang k $v/785ɿ6$P6#v./usr/IBMVJava/html/enterp/en_US/visbuild/html/chdcncpt.htm.ivj$$ Concepts

    Concepts

    e  k  $/7:I6ɿ6$#./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjbascs.htm.ivj$$ Visual Programming Fundamentals

    Visual Programming Fundamentals

    VisualAge for Java includes a state-of-the-art object-oriented visual composition editor for assembling program elements visually from JavaBeans components.

    Object-oriented programming facilitates development of complex software systems by breaking them up into a number of much smaller, simpler program elements called objects. Objects work together by sending each other messages, that is, by requesting behavior that is implemented by the target object. Taken as a group, these behaviors comprise a class interface.

    Using an object-oriented approach for complex systems provides the following benefits:

    • Individual classes are much easier to create and understand.
    • Systems are much easier to maintain and enhance. Object implementations can be modified individually without modifying the rest of the system, as long as the objects continue to respond appropriately to messages sent to them by other objects.

    Despite these benefits, implementing large systems can still be expensive. One way to reduce the cost is to reuse object implementations. Many companies would prefer to buy reliable reusable classes, creating classes only for functions specific to their business. This vision of constructing custom software using standard building blocks has been called construction from parts. The building blocks themselves have popularly been called parts or components.

    However, reuse is hard to achieve when the class interfaces are too specific to the application for which they were originally developed. To promote wider reuse, class interface conventions called component models have been defined, such as ActiveX, OpenDoc, and JavaBeans.

    JavaBeans is the standard component model for the Java language and is the component model used by VisualAge. JavaBeans includes the following definitions:

    An event model. Event models specify how a component sends messages to other objects without knowing the exact methods that the other object implements. This enables a component to be reused with a range of objects that have different interfaces

    Events, properties, and methods. JavaBeans defines a component interface in terms of the events it can signal, the property values that can be read and set, and the methods it implements. This definition provides more structure to the interface of a component compared with a simple class interface, facilitating the use of tools such as the VisualAge Visual Composition Editor.

    Introspection. Introspection refers to the ability to discover programmatically the component interface for instances of a particular component class. The reason to provide introspection is that it enables the use of programs such as the Visual Composition Editor that can work with component instances at run time without having the details of these components programmed into them.

    The Visual Composition Editor enables you to create programs graphically from existing beans. Beans are simply Java classes that comply with the JavaBeans specification. JavaBeans is the component model supported and used throughout VisualAge, so this documentation will refer to VisualAge components as beans.

    VisualAge provides user interface beans based on Java classes in the Abstract Windowing Toolkit (AWT) and Swing packages. The Visual Composition Editor is also extensible. It allows you to work with beans you create yourself, and it allows you to include beans imported into the environment from other sources. You can even create your own beans graphically using the Visual Composition Editor and then reuse these beans again within another program being created with the Visual Composition Editor.

    To build a program with the Visual Composition Editor, you draw a picture using a canvas and palette of icons representing reusable beans. This picture specifies the set of beans that implements the function of the larger program (or bean) you are creating. For beans like user interface controls, the position of the controls relative to each other in the picture specifies how the controls will appear in the final program. For beans such as database components, the position of the bean in the picture generally has no significance.

    The Visual Composition Editor provides a very sophisticated connection capability to specify how components of the picture will interact to implement functions of the program. Using connections, much of the behavior of an application can be specified graphically. Connections also allow you to integrate custom code written in the Java language.

    See the JavaBeans Home Page for links to detailed information on JavaBeans and BeanInfo.


    Related concepts
    How Classes and Beans Are Related
    Visual Composition Editor Overview
    Bean Design for Visual Composition

    m softw le $J/7:I6ɿ6$#*/./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjcgen.htm.ivj$$   eaintcdhlors <>bfgmpu",./=vy()ABIw#&-1;CDEFPRSTVjx358GHLMNOk09:JWqz!26U[]_KXY\4{}7(>]̂&2S fV] IdRR(H(qD8(@ .OhѣF4hѣF4hѣF4hѣF4hѣF4hѣp(Y$4HQHh`$AdRb5xO&0KSK*5Ah( @x$'t_V\YC mYe X Y$`&mzV^3Zz |ܶ=Smp=@oI:\)Ytɣ˴Bn[Y.NX)wfKjn[D{U/ڎ|{QvKOAЬ ;wE%kֹ~9Ђ0\\Z:SZz Wj4R"ۭDk;µwi/mhf5~ֿ|w辬`H цvTowå2Zz |ܶ, @Oo]}Y ͵?Cw;t_V㻇HAR)}6ݜtU(/|wzͦnI!p;Jbe#y=Y0,^ڋ /?Z;swEa㻵"oI㢯%qG}iR`IYRyH"Ō񔰷ŝ&$ Ie 0Hkr4kkjEY$pc9e[*աu A8t2NBpDIeXPQeZ2N@x@('I4HP,(|W~ֿa|_6-W;\I-p4vTQz2Zp얫%,d=kA$,E]dPQe P˃$, X YF Dæ)}`IeF?@H< D j}wEc\V^15`Ae 5e1`1dRڎKOA{Qv3aa+e]}z)^i/Wl'_aD^ /䶫=g⟡4gnW6k:t/9'x@Hج=nJxjH)+B7-m͵i{޻v3%Yz0;t_y$Z5cDfj5ђk3 EZ]}XE~ {QρZ3 Q(]ZP ƹ_+I"V^3Zz |ܶ=Smpgt$,<$hbIwx8,cgIt2Ɖ #ZR YC ,1FFa`@ XY$e2KbY53]X+Rp5?Z$T;ֶ_x"ZoZV^3Zz |ܶ ^ ._i~WK!ZtQ>@_6\ !-c%~3؏M߭w辬cwEcgZH}ïͯ%C$dR,; cZ+:ՌB+~~?\EA#kng+?)A5e05hkEa3`&^}'ZI// ..[BV^08ߐDJqRy$k_?=|~LV3yֹ?>H Ow$w]զַ5&m$sO 04X36ݦqIզAi눔2;nMxPI\YVʵhdCD`PN hYF(a2YV h, áu "K @aw>h3]XkkM9w\$:#/V^08x]EhJ{cָΕwH_tV?ڬft~B.XkjAC-E2YC. g, @%+9-qZ2N;ފVB!4V7Ţ Pkk7Z3i"JA-|Wx ;wE_xH g[T$14r|Y$e2K7Ex}˕+)+K/?aM0-xg$oku/\msOָu{aq$p8#`kOA׆Yz0㾆=]} ,a08&>sM +;Ÿ>}4HH 4MeM[tV}'vWt$, @%d#?ڬk]%xkj]|tܶ]%du[AH9wXtܶ1Y[;Mⵈ޻:ݒڮ iy$?pcf55t3%]7-dRA4k-mczSkZ|r[Urډ$)"/,ZAGdzmi~*KKjЀ\X"I [7wy[U}Z)X/+M+"yIF#Qrn{"շZ5cDf5!-<ɨm<a$2Zz, d`/Z6\w[AG[UڮSFI IimP>_˟{`h)-WmWMk)#AS$#m); lsPh)5ڮSFCÎsOֿ\I2KKj6Ј-mE2ACǂ;~Kjn[YNIsGk_j.Oƹ_;i$1I X _=ztܶ``q+~{-mAhcwEqaT%&3_$ \GTŒAHS$]%{y[U}Zۄf5%YݏIeֿ/]jH =s\\ F]o q$qޭkZk勺?ȿV ц޻I I YLë%M[Urx`&z҆IxkjaWڸ~c58rlgpn;䶫5%gIEi~;t_VuwܖtܶBZz | vx=qZMڋ+%q4-mc\AR\&5?^^i=,Vd&| `$H)rh.ܶ} AP$,IaB3hT56 04^?ڡdR, jmB3hT570|0F=`iC$B )XvKiSmv^qȟ+R`l"Ɇ1C,ڷ"kR⤹H ယ1J%I EAH ;cێ߭13Gc~uny}A8 $fKOBeALʒωl8XN4vpMP,^7j$ACV?ڧv[Œ@QoEۭM_q+"gì FUߠtK |k~(֒BwI XQ13Gi{;wEcZ+])]X4k?Q$ , EAHS$]%y5+e]}c#4p$H)d!6Y$,;+mcZPl"˚;[r>#S$u;~xT+F;?ڢH)Xj?KqZ3$% cM+kn*n[POƵ{Q O{"iR:T3vs[ H)d nͯsP_j4ZRZj<C$zHso @0 E-=MI2K*KACǃWw(d+F6{nrH*K @gxu(E(d++$龭n|H)YR\)A5 \Q ߮fxwXj\w2KIDJqALʒ͗pu(-G ۦIhp8Mhp8M2KDJqALʒhsP} @gxu(piC$DLdmQ$1I YL yyj?K[ODPk,w%GR=Ldӝ~|w辠H R,iBlH)YRXm;2K=7X9$%t 3S$z,L>Y~ֿ$$,:-}5%<۪o dDJt)@\whgs;rݏkZK!yTQ$1I EAH!Zm Yz0K_~("X{QХk_˟doE^6,V ц(*/ZBkrY~sYd+]WwV5?ZBkrwI Y$m^6ƉL0R{ʍP$ x $'t_VBkp;.-֫ȭ mBRP,,, @!F%\ٮkLdM_qn]ZkA$>VM4|?Qj3j.xm| Fmz(~Wz Ib*;e⵮/=kICMh^3k(BnKUd+zխcb G~$R~i{Qv3cZ4k\|\oMM_q+;S;ߚi$#J`9.[B ц޻[{ZWV5}y$+K:d 5;Z=t`!F{ߩ^_xֻZ3 Yz0Ej{ߚi$%ΛC$Xh5}~7ŢD]uEd_xmwYx n(آH ц޻[|`k]OݜVlVHqx(~rHi,S\|1[WO㻡JK kߚnggdZ/[TI 1-°x`ʕE`(XP$҆Ib H)dk =VЂ !F"ctmv?ڬ&kփ_Ip !F^ACNj$,IaxJc|Z.kZ3c<4EBd1H*K?ڠ6 kjtmv?ڭ5C_VBkI!,^ ._ޗJc|~[DtѭqrcQkZ_xgP$6nG6z +E+FWz](\!_xx@=k_x5aqZBH?ڬk:m7-G r73ڬh@Lu(ʸH)dT3\:(aE0c8iC$Z3 kjvEMes8飅AHS$]%y5+FA)Ih9wX6 .j<ޗJAikb[{ AH% IbG5 dҵ;~zZ/[U c -ڍ(2܏ (d, d nq?ZAC~t;VdH*Kx] #J%$%|8ֿsPw7B_&ǒAR[a(;"{Z,(`xiC$dS$pZj?C\iCæZ!5E#Z+Zkjay$%V #:wX"{Z,  ŒACadR,@_ ciBZ4FhOp I"̖&$%%”sP}=w҅1J%ѐDJI kjֵ{S1}X?Qd=S$s;\;x5qGp._~kjtmp`&z҆Ibd1H?ڭ5C_VBkrYy$1I YL v ⤳`P, ޗJhǠ $Z=L`!F%G5 ܹW־I[T+ZWz]([]&⤷JnG2K *YV h, áu "K( 0Z*աu A8t2NBpDIb(BnK!xPx ;7So/!FޗJ?c~+柭?!qdPQe P˃$,IaxJ"c%;y]tmv?ڧkb ?Qd=0ֻp8T mzwz]([\ 04^Q$%n[PGָ @Xrn[@ެ ;ՄBM 4 @%+s%V&2SWޗJcZ=L@[{avx=qX-飀ƪMxVK k 0F=`iC$DTtcU&PNN`ImH5Oh1g;Ձzwz]([\ 04XHQ$%4pI5Rl.[@ȣ6{[Ttmp`&z҆Ia H) Ŕkj4L:a;ܦTj P8$  PpP , h}wE`kU5//p(n`kU0ՖPŀŒAHj6nkXƈka$I)EeXߎ՛Lk򛩷^_bax(U , @ȣG82KIIkS8<.h0-["[#32KIIg{A{Z 04XF]7û-渒j]}Xwsf ц߇d\Y$Rab~w;t_V5V\R]7~Wwx^j$45}1jۭrs\<^ /~KjkZ$;4얞]C@hA8 @(@'xP `^@HxH8( (ez)Zҥ1}X 0ܑE')an?:M4H)m@adiW>N]w}曭r$+.;#a|3ZǡMzjH(bY$b a|w(Ew%qGwn2)d=䐮CZkA8 $adR,-HrIz)X.OAIyo3Մf׭|{ŒAHS$䧽)XZcک6{kdR,BO~g?d~0~\RAHS$HcgO?ZTߔM^Y$%C$x?Yz0E.G%n>wEAاˊP6{\Fmx.G%c1+VHrYz0;t_~KUvC/eM$;PT_~J{ߏj~ A:/"c%"mPnz$gOI YL#?TՏX.iV^08wpHEEnM#&2R+ Mw辬O$7ZEEzWvJnGqdR, PKO?տMcwEcxH(b,, @5 Vd~i-WY]uEhw曎Տ +/FwJ_Z޻Zfגy]>Ykֱ8a$c"얫9X Xd0b/jH(bAH nw辬YMIb*- Connections

    Connections

    When you make a connection in the Visual Composition Editor, you define the interaction between components. For example, if you want a data value to change when an event occurs, you would make an event-to-property connection. The following table summarizes the types of connections that the Visual Composition Editor provides. The return value is supplied by the connection's normalResult event.

    Table 1. Connection Type Summary
    If you want to... Use this connection type Color Does connection have a return value?
    Cause one data value to change another property-to-property Dark blue No
    Change a data value whenever an event occurs event-to-method Dark green Yes
    Call a public behavior whenever an event occurs event-to-method Dark green Yes
    Call a behavior whenever an event occurs event-to-code Dark green Yes
    Supply a value to a parameter parameter-from-property, parameter-from-code, or parameter-from-method Violet No

    The Source and Target of a Connection

    A connection is directional; it has a source and a target. The direction in which you draw the connection determines the source and target. The bean on which the connection begins is the source; the bean on which it ends is the target.

    Often, it does not matter which bean you choose as the source or target, but there are connections where direction is important.

    • In an event connection, the event is always the source.

    • For property-to-property connections, if only one of the properties has a public set method, VisualAge makes that property the target. This is done so that the property that has the public set method can be initialized at run time.

    • When you make property-to-property connections, the order in which you choose the source and target is important. The source and target property values may be different when the bean is first initialized. If they are, VisualAge resolves the difference by changing the value of the target to match that of the source if the properties are bound. Thereafter, if both properties have public set methods, the connection updates either property if the other changes.

    The target of a connection can have a return value. If it does, you can treat the return value as a feature of the connection and use it as the source of another connection. This return value appears in the connection menu for the connection as normalResult.

    Property-to-Property Connections

    A property-to-property connection links two property values together. This causes the value of one property to change when the value of the other changes, except as noted in the table below. A connection of this type appears as a bidirectional dark blue line Property-to-Property Connection with dots at either end. The solid dot indicates the target, and the hollow dot indicates the source.

    When your bean is constructed at run time, the target property is set to the value of the source property. These connections never take parameters.

    For indexed properties,VisualAge generates two get/set method pairs--one for the array and one for accessing elements within the array. When you connect indexed properties, VisualAge uses the accessors for the entire array. If you want to access an individual element, make a method connection to the specific accessor.

    To achieve the behavior that you anticipate, you must know something about the properties you are connecting. The following table shows the results of connecting properties of different types.

    Table 2. Behavioral Considerations for Connections

    TARGET HAS...
    SOURCE HAS... Set method and Event Event only Set method only
    Set method and Event Source and target values are fully synchronized. This connection is not valid. The source initializes the target. The target updates whenever the source's value changes.
    Event only The source initializes the target. The target updates whenever the source's value changes. This connection is not valid. The source initializes the target. The target updates whenever the source's value changes.
    Set method only The source initializes the target only. The source updates whenever the target's value changes. This connection is not valid. The source initializes the target. No further updates occur.

    A bound property is a property whose value changes as the result of an event. For example, when a deposit or withdrawal event occurs from a bank account, the balance property is said to be bound to the event.

    Properties in a property-to-property connection do not synchronize if:

    • The property is not bound and has no associated event.
    • At least one property is constrained, or prevented from changing under certain conditions, and a change is vetoed.
    • The event to which the properties are bound is asynchronous. See the bean information for details on selecting another event.

    Because most of the properties in this version of AWT are not bound, the source initializes the target when constructed and performs no further updates. If you want the property values to synchronize when an event occurs, you must associate an event with the property. You can do this by opening the property sheet for that connection and selecting an event from the source or target event fields. For example, the text property in AWT components is unbound. You can force this property to fire by selecting the textChanged event from the event field.

    Event-to-Property Connections

    An event-to-property connection updates the target property whenever the source event occurs. An event-to-property connection appears as a unidirectional dark green arrow Event-to-Property Connection Line with the arrowhead pointing to the target.

    The property must have a public set method known to VisualAge; otherwise, you cannot make the connection. If you open properties on a connection of this type, the target of the connection appears as a method with the same name as that of the target property.

    Event-to-Method Connections

    An event-to-method connection calls the specified method of the target object whenever the source event occurs. An event-to-method connection appears as a unidirectional dark green arrow Event-to-Method Connection Line with the arrowhead pointing to the target.

    Often much of an application's behavior can be specified visually by causing a method of one bean to be invoked whenever an event is signalled by another bean. For example, you might invoke the dispose method on a Frame bean when the actionPerformed event is signalled by a button (this happens when the user clicks the button).

    A connection with a dashed line requires parameters. You can provide parameters through a parameter connection, by passing event data (an option in the connection window), or through a return value. For more information, see the Task information on connections.

    To access behavior that is not part of the bean interface, use code connections.

    Code Connections

    A code connection calls code of the composite bean whenever the source event occurs. This type of connection appears as a unidirectional dark green arrow Connection Line with the arrowhead pointing to a moveable text box on the free-formsurface.

    If you want processing to occur when a bean in your composition signals an event, but no available bean has a public method to accomplish that process, you can write and connect to a custom private method of the class you are editing. These methods are called code to distinguish them from the public methods for the composite class that you create and publish as bean methods. Technically, your code does not need to be private, and it is not different from other Java methods.
    Note:You might notice that in VisualAge Java, the word method is used in two subtly different ways. In the Java language, method refers to a callable function of any class. In JavaBeans, method refers to a subset of the Java class methods that are exported as bean features. The set of JavaBeans method features is often the same as the set of Java public methods. However, the bean provider may further restrict the set of Java methods that show up as JavaBeans features.

    You can use a code connection for the bean you are developing to connect to:

    • Private methods
    • Public methods
    • Protected methods
    • Package-private methods
    • Public methods of any of its embedded beans

    You cannot, however, connect to private or protected methods of embedded beans.

    You might want to create a code connection to:

    • Reduced the number of connections in a bean.
    • Encapsulate repeated tasks that are specific to the bean being developed.
    • Keep an operation internal to the class, such as a composite bean performing a calculation the user does not need to be aware of whenever a value changes.

    Parameter Connections

    In most cases, when a connection needs a parameter, the connection line appears dashed. Connection Needing a Parameter A parameter connection supplies an input value to the target of aconnection by passing either the value from a property or the returnvalue from a method. In a parameter-from-method connection, the connection appears as a unidirectional violet arrow Parameter Connection Line with the arrowhead pointing from the parameter of the original connectionto the method providing the value. In a parameter-from-property connection, the connection appears as a bidirectional violet line with dots at either end. The solid dot indicates the target, and the hollow dot indicates the source.

    The original connection is always the source of a parameter connection; the source feature is the parameter itself. If you select the parameter as the target, VisualAge reverses the direction of the parameter connection automatically.

    If the target of the original connection takes parameters and the same event provides parameters by default, the connection line might appear solid. This is true even if the target takes one input parameter and you have not otherwise provided one. VisualAge can use any of the following means to supply parameters with values:

    • If the parameter is connected to a property, the connection calls the get method for the property to get the value for the property and return it to the parameter.

    • If the parameter is connected to a method, the connection code calls the method and passes the return value for the method to the parameter.

    • If the source of the original connection passes event data in the connection code, VisualAge applies it to the parameter. If several values are required, event data is applied to the first parameter only.

    • If you specify a constant parameter value in the original connection, VisualAge passes it in the connection code.


    Related concepts
    Generated Feature Code

    Related procedures
    Connecting Beans
    Changing the Source and Target of Connections
    Supplying a Parameter Value Using a Constant

    Related references
    Beans for Visual Composition
    Property-to-Property Connection Window
    Event-to-Method Connection Window
    Event-to-Code Connection Window
    Constant Parameter Value Properties Window
    Parameter-from-Code Connection Window

    JavaB k $/7 Bean Interfaces and BeanInfo

    Bean Interfaces and BeanInfo

    The bean interface defines the property, event, and method features of your bean. These features can be used in visual composition when your bean is added to another bean. A BeanInfo class describes the bean and features that you add to the bean. Other features are inherited from the superclass of your bean unless you choose not to inherit features.

    You can define a bean interface in the following ways:

    • In the Workbench window, create a new bean class based on a class with features you need. By default, the new bean inherits the features of the class it extends. You can control feature inheritance by setting the Inherit BeanInfo of bean superclass option in the Design Time pane of the Options window. Open the Options window from the Window menu of the Workbench.

    • In the BeanInfo page, add new features to a bean. You can add features to extend the inherited feature set, to override inherited features, or both. When you add a feature to a bean, VisualAge generates code that describes the feature in the BeanInfo class for the bean.

    • In the Visual Composition Editor, promote features of embedded beans to the interface of a composite bean. When you promote a feature of an embedded bean, VisualAge generates code that describes the promoted feature in the BeanInfo class for the composite bean.

    When you create a new bean, it does not initially have a BeanInfo class. VisualAge creates a BeanInfo class when you add or promote the first feature that is not inherited, or when you explicitly direct VisualAge to create a BeanInfo class. You can create a BeanInfo class in the BeanInfo page.


    Related concepts
    Promotion of Bean Features
    Default Promoted Feature Names
    Feature Naming Guidelines
    How Classes and Beans Are Related
    Bean Design for Visual Composition
    Generated Code

    Related procedures
    Defining Bean Interfaces for Visual Composition

    Promotion of Bean Features

    When you create a composite bean, you might want some features of beans that are embedded within it to appear in the interface of the composite bean. For example, suppose you create a composite bean named ButtonSet containing a set of buttons that you want to reuse. When you add the ButtonSet composite bean to another composite, you want to be able to connect to each of the buttons.

    To add features of embedded beans to the interface of a composite bean, you must promote them to the composite's interface. To add an entire embedded bean as a property of the composite bean, promote the this property of the embedded bean.

    When you promote a feature of an embedded bean, VisualAge generates code that describes the promoted feature in the BeanInfo class for the composite bean. After the feature is promoted, you can manage the feature in the BeanInfo page the same as you manage features that you add there.

    When you add a bean with promoted features to another bean, you can use the promoted features the same as you use other features of the bean. If you add a bean that has an embedded bean as a property, you can tear off the property as a Variable. Then, you can access the features of the embedded bean referenced by the Variable.


    Related concepts
    Bean Interfaces and BeanInfo
    Default Promoted Feature Names
    Tearing Off Properties

    Related procedures
    Promoting Features of Embedded Beans

    Default Promoted Feature Names

    When you promote a feature of an embedded bean in the Promote Features window, you can use a default feature name produced by VisualAge. If you do not want to use the default feature name, you can change the name.

    The default feature name is a combination of the name of the embedded bean and the name of the feature you are promoting. This identifies the bean that implements the feature, which is helpful if the composite bean contains more than one bean with the same feature. Then, when you connect to the feature, you can tell which embedded bean it belongs to.

    For example, if you promote the enabled property for a bean named YesButton, the default composite bean feature name is yesButtonEnabled).


    Related concepts
    Bean Interfaces and BeanInfo
    Promotion of Bean Features

    Related procedures
    Promoting Features of Embedded Beans

    Feature Naming Guidelines

    When you add or promote a feature, use these naming guidelines:

    • Begin the feature name with a lowercase character. Features represent methods, which typically have names that begin with a lowercase character. By contrast, class names typically begin with an uppercase character.

    • Do not use blanks in the feature name.


    Related concepts
    Bean Interfaces and BeanInfo

    Related procedures
    Adding Property Features
    Adding Method Features
    Adding Event Features
    Promoting Features of Embedded Beans

    = k$_/7:I6ɿ6$w#_./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjdezyn.htm.ivj$$ Bean Design for Visual Composition

    Bean Design for Visual Composition

    Designing a good bean is very similar to designing a good class: it must be usable. In fact, making a bean usable for visual composition improves its use in handcoding as well. Consider the following:

    • Implement a null constructor.

    • Keep your bean small. Minimize dependencies on other beans and classes.

    • Implement the java.io.Serializable interface.

    • For visual beans, subclass from java.awt.Component or one of its subclasses.

    • Make important functions available through settable properties. If necessary, provide a custom editor to make setting properties easier. Avoid dependencies upon the order in which properties are set.

    • Mark interface features in BeanInfo to optimize clarity:
      • Set preferred to true for those features that most people will use.
      • Set expert to true for those properties that most people will never use.
      • Set hidden to true for those properties that must not be used in connections.
      • Set Design time property to false for those properties that you do not want surfaced in the beans property sheet.

    • To take advantage of reflection, follow standard design patterns for methods, events, and properties. Do not use the same set method names for different properties. Provide a BeanInfo class with meaningful display names and descriptions.

    • Set up bound properties where appropriate. However, be careful not to overdo it, because property events are multicast through PropertyChangeEvent, which can affect performance.

    • Have your bean signal events for significant state changes. Use unique event classes instead of a single event class with a flag in eventData.

    • Provide .gif files so that the bean can be represented in the Visual Composition Editor. Include both 16x16 and 32x32 versions, with transparent backgrounds.

    • To minimize the number of connections during visual composition, specify several methods with a small number of parameters rather than a single method with many parameters.


    Related concepts
    How Classes and Beans Are Related
    Use of Visual Beans Created in Other Tools

    Related procedures
    Defining Bean Interfaces for Visual Composition
    Enabling Custom Edit Support for Your Bean

    Related references
    JavaBeans specification

    e k<7$q /7 Free-Form Surface

    Free-Form Surface

    The free-form surface is the large open area in the Visual Composition Editor. It is like a blank sheet of paper or a work area where you can add, manipulate, and connect the beans that you use to create your composite bean.

    Some of the functions you can perform on the free-form surface include:

    • Add visual beans.
    • Add nonvisual beans to build the application logic for a composite bean.
    • Delete beans.
    • Connect beans to define behavior.

    You cannot edit on the free-form surface if the bean you are attempting to edit meets any of the following conditions:

    • The class is in a system package.
    • An exception occurred during the creation of the bean.
    • The class is a Java AWT lightweight component.


    Related concepts
    Visual Composition Editor Overview
    Visual Programming Fundamentals
    How Classes and Beans Are Related
    Visual, Nonvisual, and Composite Beans

    Related procedures
    Working with Beans Visually
    Composing Beans Visually
    Adding the IBM Java Examples project

    Related references
    Visual Composition Editor
    The Menu Bar in Visual Composition
    Properties
    Pop-Up Menus for the Visual Composition Editor

    / kA$ /7 Adding Beans in the Visual Composition Editor

    Adding Beans in the Visual Composition Editor

    When you place beans in the Visual Composition Editor:

    • Avoid overlaying beans

      It is not good interface design for one bean to overlay another bean. Completely or partially overlaying a bean can result in focus problems, causing users to see but be unable to select the bean.

    • Embed composite beans into other composites

      By embedding composite beans into other composites, you minimize the confusing spider effect of connection lines. For example, you can create a composite bean that consists of a panel on which you have placed buttons and check boxes, and make connections. When you embed this bean in your main interface, you cannot see the connection lines. You place and work with the composite as one bean--not as a panel and separate buttons and check boxes.

      If you need to edit the composite or its internal connections, you simply select Open from the pop-up and the Visual Composition Editor for the composite appears, as described in Editing Beans within a Composite Bean.


    Related concepts
    Visual Composition Editor Overview
    Visual Programming Fundamentals
    How Classes and Beans Are Related
    Visual, Nonvisual, and Composite Beans

    Related procedures
    Working with Beans Visually
    Composing Beans Visually
    Adding the IBM Java Examples project

    Related references
    Visual Composition Editor
    The Menu Bar in Visual Composition
    Properties
    Pop-Up Menus for the Visual Composition Editor

    G">Use kp$Y#07>I6ɿ6$#Y#./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjlout.htm.ivj$$ Layout Managers in Visual Composition

    Layout Managers in Visual Composition

    Many container components support the use of layout managers. A layout manager is a class that implements the java.awt.LayoutManager or java.awt.LayoutManager2 interface.

    You assign a layout manager to the container. In most layouts, you can then define properties for the layout that govern the specifics of the sizing and resizing behavior for the components.

    Visual composition makes it easy to try different layouts. If you prefer to lay beans out individually, you can use the null layout setting (that is, no layout) and the Visual Composition Editor alignment tools. For examples of using layout managers, see the com.ibm.ivj.examples.vc.layoutmanagers classes shipped in the IBM Java Examples project.

    Supported Layouts

    VisualAge supports the use of layout managers in container beans, as follows. For several of these layouts, VisualAge sets layout properties by default.

    • BorderLayout arranges components along each edge of the container (North, South, East, and West), and one component in the center.

      If the container bean uses a layout other than border and has more than 5 components, changing the container layout to border could result in overlaid components. The beans list allows you to easily perform tasks on the covered components.

    • BoxLayout arranges components vertically or horizontally without wrapping. You can nest multiple panels with different combinations of horizontal and vertical BoxLayout to achieve an effect similar to GridBagLayout, without the complexity. If you are using the vertical alignment, BoxLayout attempts to make all components the same width. With horizontal alignment, BoxLayout attempts to match component height.

    • CardLayout arranges components in a linear depth sequence similar to a deck of cards, notebook, or tabbed dialog box. Each component is called a card.

      You can use Switch To on the pop-up menu to move through the deck, or perform tasks on the covered cards in the beans list.

    • FlowLayout arranges components in horizontal lines. The alignment property in the layout manager enables you to specify where you want the flow to begin.

    • GridLayout arranges components in a table, all cells having the same size.

    • GridBagLayout enables you to arrange components in a highly complex grid. As you add or move beans, the free space shuffles so that beans are centered on the interface, while retaining your arrangement. Grid cells are not necessarily identical in size and components can span multiple cells. You can customize grid sizing behavior down to each individual component.

    • Null layout means that no layout manager is assigned. Without a layout manager, resizing the container at run time does not affect the size and position of the components.

      You can customize components within the null layout by means of dragging the beans, using Tool Bar options, or through the constraints option in Properties.

    Alignment tools are disabled for all but null layout.

    For examples of using layout managers, see the com.ibm.ivj.examples.vc.layoutmanagers classes shipped in the IBM Java Examples project.

    Setting Layout Properties during Visual Composition

    • BorderLayout--you can specify the spacing between adjacent components.

    • BoxLayout--you can specify whether components are layout out vertically or horizontally

    • CardLayout--you can specify the spacing between adjacent components.

    • FlowLayout--you can specify the spacing between adjacent components, and the alignment to start at center, left, or right.

    • GridBagLayout--you do not specify additional layout properties for a container that uses GridBagLayout. However, you can specify constraints for the components within the container.

    • GridLayout--you can specify the spacing between adjacent components, and the number of rows and columns.

    For layout manager details, see the Java API documentation.

    Consider waiting to set layout properties until you have settled on a layout manager. Many values are lost when you switch layouts or move the component to another container on the free-form surface.

    Dropping Beans into the Layout

    Once you have assigned a layout, the Visual Composition Editor provides visual cues to help you place beans in the correct position. These cues appear when you place the loaded mouse pointer in position and then press and hold mouse button 1:

    • For FlowLayout and GridLayout, a bold vertical bar appears. If you release the mouse, VisualAge places the bean to the right of the vertical bar.

    • For BorderLayout and null layouts, an outline of the placement options for the bean appears: for BorderLayout the regions (North, South, etc.), for null layout the container. When you release the mouse, VisualAge places the bean within the outline under the crosshair.

    • For GridBagLayout, a bold grid appears that is based on the beans dropped so far. VisualAge attempts to place the bean as indicated by the pointer. If the pointed-to cell is empty, all borders of the cell are highlighted. If the pointer rests on a row or column boundary, a new row or column is inserted. New rows appear below the pointer; new columns appear to the right.

    For CardLayout, the container is outlined. VisualAge adds beans to the top of the card deck, making the first bean you dropped the bottom card. You can use Switch To on the pop-up menu to move through the deck, or perform tasks on the covered cards in the beans list.

    To get access to the layout interface directly, drop a Variable bean on the free-form surface to the right of the container. Change the type of the Variable bean to that of the class implementing the layout manager interface (for example, CardLayout). Connect the layout property of the container bean to the this property of the Variable bean. Then connect to features of the Variable bean.

    If you use a layout that allows for a bean to completely cover another bean, the beans list enables you to easily perform tasks on the covered components. To modify bean placement on the Visual Composition Editor from within the beans list, open the Properties for the bean and modify the Constraints.


    Related concepts
    Visual Composition Editor Overview
    Visual Programming Fundamentals
    How Classes and Beans Are Related
    Visual, Nonvisual, and Composite Beans

    Related procedures
    Working with Beans Visually
    Composing Beans Visually
    Adding the IBM Java Examples project
    Setting a Layout Manager during Visual Composition
    Setting Layout Properties during Visual Composition
    GridBag Layout Constraints
    Creating a GUI Using GridBagLayout

    Related references
    Visual Composition Editor
    The Menu Bar in Visual Composition
    Properties
    Pop-Up Menus for the Visual Composition Editor

    cing be k$w07:I6ɿ6$#w./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjmorph.htm.ivj$$ Morphing

    Morphing

    In the Visual Composition Editor, morphing enables you to change the class or type of a component without significantly reworking property or connection settings. This capability can be very helpful in tasks like the following:

    • Changing AWT components to Swing components

    • Repairing breakage caused by renaming a class or moving it to a different package

    • Changing class beans to Variables (or the reverse)

    However, you cannot change the superclass of a composite through morphing.

    If renaming or moving a class has introduced a referencing error into a composite, VisualAge alerts you when you attempt to open the composite. If you know that a class has been moved or renamed and you already have the composite open, you can select Resolve Class References from the Bean menu. In either situation, VisualAge searches the repository for a like-named class and presents the first candidate it finds. You can choose to proceed with the candidate VisualAge suggests, ignore the problem for now, or specify an alternative class.

    In situations other than breakage, you change the class or type of a component by selecting Morph Into from the bean's pop-up menu. In this case, you must specify the name of the replacement class or bean type.

    Common property settings and connection endpoints are preserved in the new component. To determine feature commonality, VisualAge compares both name and type; both must match. For example, suppose you change a component from java.awt.TextField to com.sun.java.swing.JTextField. The background color for the original TextField happens to be gray. The gray setting is propagated into the new JTextField.

    Conversely, VisualAge discards property settings that cannot be used in the new class. This includes torn-off properties but does NOT include promoted properties. You must delete obsoleted promotions manually from the BeanInfo page of the class browser.

    Connection endpoints are handled similarly. Connections to features that are no longer valid in the new class remain until code is regenerated for the composite. To delete such connections instead, select Delete invalid connections before you select OK to start the morphing process. Because components vary in their use of like-named features, make sure that the updated composite behaves as you expect it to.


    Related references
    Morph Into
    Resolve Class References

    t kK$n 07>I6ɿ6$ #n ./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjnls.htmm.ivj$$ Internationalization in VisualAge

    Internationalization in VisualAge

    VisualAge supports two means of text separation by locale: list bundles and property files. A list bundle is a persistent form of java.util.ListResourceBundle. A property file is a persistent form of java.util.PropertyResourceBundle.

    Both types of resource bundle contain key-value pairs. ListResourceBundle.getContents( ) returns an array of key-value pairs. The key-value pairs stored as static strings in a property file are used to initialize the corresponding bean when it is loaded. Each resource bundle contains values for one (or a default) locale. The name of the bundle can be keyed by locale so that the virtual machine loads the appropriate resources for the current locale setting.

    VisualAge supports the creation, editing, and use of resource bundles for all text found in a class. You can separate String property values as you set them from the Visual Composition Editor, or you can separate all text at once from the Workbench.

    You can use your own resource bundles, or you can create them using VisualAge. You can edit existing resource bundles by hand or from within VisualAge. Multiple resource sources can be referenced within a single bean. VisualAge generates the appropriate code the next time you save the bean.

    VisualAge does not separate text located in user code fields. To take advantage of programmatic string separation, move the user code into a separate method and call the method from within the user code block.


    Related procedures
    Separating Strings for Translation

    Related references
    java.util package

     k$07 Beans Palette

    Beans Palette

    The beans palette, located on the left side of the Visual Composition Editor, provides building blocks you can use to construct a program element. It consists of categories in a drop-down list, each one containing groups of beans.

    You can add a bean to your program element by first selecting the category, then a bean, and then dropping it on the free-form surface, a container bean, or the beans list.

    To add multiple instances of the same bean, enable Sticky by holding Ctrl while selecting the bean. Selecting a new bean or the Selection tool disables Sticky.

    The status area displays the name of the selected category and bean.

    The beans palette initially contains the following:

    • Categories (including AWT, Swing, and Other) and the option to load Available installed features to the workspace image.
    • Beans provided with VisualAge
    • Selection Tool
    • Choose Bean Tool
    • A pop-up menu

    You can modify the palette by resizing it, changing the icon size, adding categories, adding separators, adding beans you have constructed yourself or beans supplied by a vendor, or removing separators, categories, or beans. In addition, the Available feature in the category menu button, loads installed features to the workspace. This may include the addition of categories and beans to the palette. Modifying the palette can increase your productivity in the following ways:

    • Reduce the time and effort required to place beans that you have created and that you use often in the Visual Composition Editor.
    • Reduce the time and effort required to place vendor beans or beans from another project.
    • Eliminate the need for manually placing beans through the Choose Bean tool, which requires that you use the exact class name of the bean.

    When you add a new bean to the palette, the entire visual or nonvisual bean is represented with the default puzzle icon Default Puzzle Icon unless you designate another icon in the BeanInfo Class. Once you add beans to the palette, you can place them in the free-form surfaceVisual Composition Editor in the same way you place beans that VisualAge provides.

    Selection Tool

    Select Selection Tool the Selection tool to unload the mouse pointer and return it to the selection pointer. The loaded mouse pointer appears as a crosshair and carries a bean that can be added to the free-form surface, the beans list, or to an existing container bean. When unloaded, the mouse pointer reverts to an arrow that you use to select and perform actions on beans. If the mouse pointer is not loaded, this tool is not enabled..

    Choose Bean Tool

    Select Choose Bean Tool the Choose Bean tool to retrieve a bean that is not on the palette and drop it on the beans list, free-form surface, or an existing container bean.
    Related procedures
    Managing the Beans Palette

    Related references
    Modify Palette Window
    Modify Palette
    Selection Tool
    Choose Bean Window

     k$07>I6ɿ6$)$./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjprop.htm.ivj$$ Property Sheets

    Property Sheets

    The bean property sheet provides options for changing the initial appearance and state of beans. You can open the property sheet from the pop-up menu of a selected bean either in the Visual Composition Editor or Beans List window. You can also select Properties from the Tools pull-down menu or select Properties from the tool bar.

    The left column of the bean property sheet contains a list of properties and the right column contains the editable values. An expansion icon Expansion Icon to the left of the property indicates that the property has moreeditable values. For example, when you expand the constraints, sizing properties, such as x, y, width, and height, appear for editing. When you select the value column of a property, you are provided with an editing option. For example, if you want to modify the property for a label, select the value field for label and enter the new label in the entry field. If you want to change the background color for the same bean, a small button Small Button appears when you select the value column for background. When you select this button, a dialog window appears with color options.

    You can specify the type of property editor to associate with the property by setting the propertyEditor field in the BeanInfo. For more information, see "Enabling Custom Edit Support for Your Bean."

    Once you open a property sheet, you can modify properties for most beans in Visual Composition Editor. To edit another bean select it in the Visual Composition Editor or from within the property sheet by selecting the bean from the drop-down list at the top of the property sheet. If you open a property sheet after selecting multiple beans, the property sheet provides editing options for only the common values of the selected beans. For example, you can use this feature to set the left and top inset of several beans in a GridBagLayout at once.
    Property Sheet


    Related concepts
    Visual Composition Editor Overview
    Visual Programming Fundamentals
    How Classes and Beans Are Related
    Visual, Nonvisual, and Composite Beans

    Related procedures
    Working with Beans Visually
    Composing Beans Visually
    Adding the IBM Java Examples project
    Opening the Property Sheet for a Bean

    Related references
    Visual Composition Editor
    The Menu Bar in Visual Composition
    Properties
    Pop-Up Menus for the Visual Composition Editor

    ====  kB$07:I6ɿ6$2$./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjptcls.htm.ivj$$ How Classes and Beans Are Related

    How Classes and Beans Are Related

    VisualAge beans are Java classes that conform to the JavaBeans component architecture. Composite beans are made up of embedded beans. We use the term bean to refer to both a class and its instances, as follows:

    • When we refer to beans on a palette or to beans that you create by writing code, we mean bean classes.

    • When we refer to beans on the free-form surface or to beans that are connected, we mean bean instances. Sometimes, beans represent instances that have not yet been created.

    During visual composition, you interact with bean interfaces. The most useful bean interfaces contain the following features:

    Access to data, or properties. A complete property interface includes methods to return the value of the property, to set the value of the property, and to notify other beans when the value of the property changes. The interface for a property does not have to be complete. For example, a property might be read-only, in which case the interface would not support the ability to set the value of a property. A property can be any of the following:

    • An actual data object stored within the bean, such as the street in an address bean

    • A computed data, such as the sum of all numbers in an array or the profit that is computed by subtracting dealer cost from the retail price

    Access to the behavior of a bean, or methods. These represent tasks you can ask a bean to perform, such as open a window or add an object to a collection of objects.

    Event notification. By signaling events, a bean can notify other beans that its state has changed. For example, a push button can signal an event to notify other objects when it is clicked, or a window can signal an event when it is opened, or a bank account can signal an event when the balance becomes negative.

    Events can also be signaled when the value of a bean property changes, such as when money is deposited into or withdrawn from a bank account. In this case, the balance property is said to be bound to an event.


    Related concepts
    Visual Programming Fundamentals
    Visual Composition Editor Overview
    Bean Design for Visual Composition

    Related references
    Factory and Variable Beans

    t  kV$07:I6ɿ6$@$./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjrveng.htm.ivj$$ Use of Visual Beans Created in Other Tools

    Use of Visual Beans Created in Other Tools

    VisualAge can generate visual composites from GUI beans created outside the VisualAge development environment. This can save you editing time if the bean contains a large number of visual components. VisualAge constructs the composite by querying an instance of your GUI bean about its contents. This is what you can expect from this reverse-engineering process:

    • VisualAge constructs only those controls that ultimately inherit from java.awt.Component.

    • Each component must have a null constructor; VisualAge writes over the null constructor of the class being edited to make it consistent with that for other visual components. Be sure that all visuals embedded within a component also have null constructors.

    • VisualAge also generates its own names for visual components, so any handwritten code referring to the previous component names must be updated with the new names. If you want VisualAge to use the names you assigned in the original bean, explicitly set the name of each component using the setName( ) method before you proceed with reverse-engineering. An example follows:
      if (myBean == null) {
         myBean = new JTextField();
         myBean.setName("myBean");
      }
      

    • VisualAge writes over methods and fields whose names collide with those it typically generates. This most commonly occurs with get and set accessor methods. For a complete list, read Generated Code.

    • Layout and property settings for visual components are preserved whenever possible. Custom layout managers are not supported.

    • No attempt is made to construct connections from method calls, but you can draw new connections as soon as VisualAge has constructed the composite. In most cases, you will have to draw event connections to get the bean to behave as it did before the reverse-engineering.

    • Embedded composites are constructed as primitives. Reverse-engineer the embedded composites first.

    • Serialized instances are constructed from the class, not from a serialization file. As with nonserialized components, VisualAge sets properties from BeanInfo queries.

    • When VisualAge does not have enough information to set a property, the property is not set. (One example of this is the icon property of JButton and other Swing components.)

    Undo is not supported for reverse-engineering visual composites. If you are not satisfied with the results, close the class browser without saving the newly engineered composite. In any case, version the bean before you reverse-engineer it.

    To proceed with reverse-engineering, open the bean in the Visual Composition Editor. From the Bean menu, select Construct Visuals from Source.


    Related concepts
    Visual, Nonvisual, and Composite Beans

    Related procedures
    Importing Classes from the File System

    set kd$07 Object Serialization in VisualAge

    Object Serialization in VisualAge

    Object serialization is a means that the Java language provides to save state information about a class instance between runs of a program element.

    • Serializable classes support the java.io.Serializable interface, which provides a protocol for writing self-contained instance state information to a binary file.

    • Externalizable classes support the java.io.Externalizable interface, which provides a protocol for writing identity information about an instance to a binary file. This protocol is not complete; it depends on other state information being preserved within the class itself.

    To experiment with serialization, start with examples:

    • The com.ibm.ivj.examples.vc.propertyeditors package of the IBM Java Examples project contains one simple serializable class, called Name. To have VisualAge write a serialization file for you, run the main() method of the NameWriter class.

    • The Sun BDK Examples project shipped with VisualAge includes additional examples of both serializable and externalizable classes. The sunw.demo.buttons package contains a serializable class (ExplicitButton), an externalizable class (ExternalizableButton), and sample classes (OrangeButtonWriter and BlueButtonWriter, respectively) that can be used to save a sample instance.

    Marking a class serializable does not require that it be serialized. It simply gives you the flexibility to do so. For more information about object serialization issues in general, see Sun's Object Serialization site and the JavaBeans specification .

    VisualAge supports two different aspects of serialization:

    • Direct consumption of serialization (.ser) files within the IDE. Wherever serialized beans are supported, you can enter the name of an .ser file instead of a class name. This includes adding the serialized bean to the beans palette and dropping it into a composite. You can add serialization files to the beans palette in the Visual Composition Editor just as you would bean classes present in your workspace. Once a serialized bean has been dropped, you interact with it as you would any other type of bean.

      Before using a serialized bean, make sure that all classes referenced by the serialized bean exist in your workspace. Otherwise, VisualAge cannot deserialize the bean.

    • Enforcement of required serialization. You can require that all instances of a serializable bean be saved and restored through serialization by setting its Hidden-state attribute to true in its associated BeanInfo class. VisualAge writes all hidden-state beans found within a class to a single serialized-object file (.sos) associated with the class.

    VisualAge also uses serialization internally to preserve property settings, so it is important that property values be serializable. By default, primitive types, arrays, strings, and any bean that inherits from java.awt.Component are serializable.


    Related concepts
    Generated Code

    Related procedures
    Managing the Beans Palette
    Creating and Modifying a BeanInfo Class

    Related references
    Choose Bean Window

    ecords  k $&07BI6ɿ6$S$&./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjsintr.htm.ivj$$ Servlet Overview

    Servlet Overview

    The VisualAge for Java Servlet Builder enables you to easily build applications that are accessible through the World Wide Web. With Servlet Builder, you use the VisualAge Visual Composition Editor to build dynamic Web pages using HTML components, much as you would use java.awt components to build windows for an ordinary graphical user interface. The Web pages you build provide the user interface for your application, and you implement program logic by making connections and writing scripts using Java.

    Servlet Builder provides a set of visual and nonvisual beans designed for building Web applications. The beans are in the Servlets category.

    Servlet Builder Beans

    The visual beans in the Servlets category represent the various HTML elements that can be displayed by a Web browser. Because you are building an HTML page, you cannot use java.awt and other VisualAge visual beans in the user interface of a Web application. The full power of Java programming, including nonvisual beans such as the VisualAge database access beans, are still available to you when creating your Servlet Builder application.

    The Servlet Builder beans have the ability to render themselves as HTML elements. At run time, instead of creating windows and user-interface controls on your screen, the beans generate HTML elements that re-create your user interface in a Web browser. Incoming requests from Web browsers trigger the generation of HTML code by the application.

    Most of the Servlet Builder bean properties correspond to attributes of HTML elements. To find out how the property of a Servlet Builder HTML bean is used, refer to an HTML reference.

    When you build a Web page, you will find that the editing behavior of the Visual Composition Editor automatically flows the HTML elements so they appear about as they will when viewed in a Web browser. This is somewhat different than if you were building a VisualAge application. Again, this is because the architecture of HTML does not support as many options for customization and layout as java.awt components do. Servlet Builder supports only what HTML supports, and it will not let you build a user interface that will not work on the Web.

    What are Servlets?

    VisualAge for Java Servlet Builder is implemented using the Sun Microsystems Servlet architecture. Java servlets are protocol- and platform-independent server-side Java applications that will help you build scalable, robust Web applications. Because servlets are written in Java, they are also portable across platforms, so you can "write once, run anywhere."

    VisualAge for Java Servlet Builder makes creating servlets easy. Using the Visual Composition Editor, you create a servlet, referred to as a visual servlet, which you can then connect to any Java bean to implement business logic or connect to enterprise resources, such as Database queries.

    You can find more information about Java servlets on the Sun Microsystems Java Servlets Web page.

    Application Flow

    When the HTTP server receives a request for a servlet with a URL such as http://myserver/servlet/MyServlet, an instance of the servlet will be created and a service request is sent to it. Normally, the HTTP server will cache and reuse a single instance of the servlet, therefore, the servlet must be re-entrant. However, when visual servlets are used (by creating a subclass of VisualServlet), a new instance of the servlet is created for each request. This means that you don't have to worry about your visual servlet being re-entrant.

    A request from a Web browser follows this process:

    1. The client Web browser submits an HTTP request that specifies a VisualAge Servlet Builder servlet, for example http://MyServer/servlet/MyServlet.

    2. The HTTP server receives the request from the client. The server parses the request and forwards it to the visual servlet.

    3. An instance of the visual servlet is created to process the request.

    4. The visual servlet processes any form input data and generates an HTML response. This response is relayed back through the HTTP server to the client browser, which displays the page.

    Most of this process is completely invisible to the client Web browser. From the client's perspective, the pages generated by the VisualAge application are like any other Web pages.

    Visual servlets implement an interface called ServiceHandler. Within the Servlet Builder, visual servlets are sometimes referred to as service handlers.

    Order of Events

    The events relating to beans on the free-form surface occur in the following order:

    1. Form data properties are initialized.

    2. Attribute-to-attribute connections are executed.

    3. Servlet requestReceived events are executed. A requestReceived event represents the receipt of a message sent to the servlet requesting a response.

    4. Servlet AboutToGenerateOrTransfer events are executed. The AboutToGenerateOrTransfer event is right before the servlet generates HTML or transfers to another servlet.

    5. Form data input events (button pressed) are executed.

      1. The anyInputReceived event is executed.

      2. The button pressed or enterKeyPressed event is executed.

    6. The servlet generates HTML, or transfers to another servlet to generate HTML.

    7. Servlet GenerationComplete events are executed. The GenerationComplete event signals the servlet is ready to be displayed in a Web browser.

    URL Format

    To access a VisualAge Servlet Builder application, the client Web browser sends an HTTP request. A user can generate such a request in any of five ways:

    • Directly specifying the uniform resource locator (URL) for the servlet

    • Selecting a link in an HTML document that specifies the URL for the servlet

    • Clicking the Submit button on an HTML form that specifies the servlet as the action to take

    • Clicking Run Run on the Visual Composition Editor of a Servlet Builder servlet

    • Specifying a <servlet> tag in an HTML document

    The request sent by the Web browser takes the form of a URL containing the HTTP request and any data that goes along with it. The actual URL to a VisualAge Servlet Builder servlet may differ by HTTP server. However, the URL is usually of the following form:

    http://MyServer/servlet/MyServlet
    

    The parts of the URL are as follows:

    MyServer
    The TCP/IP host name or IP address of the HTTP server. The server name or address may optionally be followed by the port number. For example, MyServer:8081 specifies port 8081.

    servlet
    The keyword which causes the HTTP server to direct the request to the specified servlet. This keyword is used for all servlet-based applications.

    MyServlet
    The fully qualified name of the VisualAge bean that is a subclass of VisualServlet. This is what you think of as your servlet. It processes the request and renders an HTML response. A unique name is required for each servlet you write.

    You can simplify the URLs your clients use to access your servlets by specifying routing paths in your HTTP server configuration.


    Related concepts
    Servlet Builder Visual Beans
    Servlet Builder Nonvisual Beans

    Related procedures
    Adding Servlet Builder to your Workspace
    Building Static HTML Pages for Servlets
    Building Interactive Pages with Servlet Builder
    Building Servlet Examples
    Testing Servlets
    Deploying Servlets

    Related references
    Beans for Visual Composition

    Buil kh$7%17BI6ɿ6$g$7%./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjsnvbn.htm.ivj$$ Servlet Builder Nonvisual Beans

    Servlet Builder Nonvisual Beans

    Generally speaking, the program logic of a Web application consists of receiving and processing the data from a form, generating a result, and then returning an HTML data stream to the browser. The browser parses the HTML in order to display the result to the user.

    Servlet Builder provides nonvisual beans that you use to implement the function of your application. These beans make it possible for you to retrieve the data from a form, and also to conditionally route requests to different pages.

    The nonvisual beans are:

    • FormData FormData
    • CookieWrapper CookieWrapper
    • SessionDataWrapper Session Data Wrapper

    Visual Servlets

    When you are creating a Servlet Builder servlet, you are creating a bean which is a subclass of com.ibm.ivj.servlet.http.VisualServlet. Beans inherit properties from their superclass. Several properties of visual servlets can be used to control the flow in your application. These properties are accessed by using the Tear-Off Property action from the pop-up menu accessed when the mouse is over the Visual Composition Editor free-form surface for a visual servlet.

    These include:

    servlet, request, response
    The servlet object can be used to access the properties of the servlet itself. The request is the HTTP request object sent to the servlet. You can use the request object to access data passed in the request header fields. The response is the response object passed back to the HTTP server. The servlet generates the HTML source placed in the HTTP response.

    transferToServiceHandler, isTransfering
    If you wish to have a different service handler provide the response to the request, you can set it as the transferToServiceHandler property and set the isTransfering property to true. This approach is often used when building service handlers which do not generate HTML but rather which evaluate input and route the request to another service handler depending on the state of the request. You can assign a value to the transferToServiceHandler property by dropping a visual servlet, or another class that implements the ServiceHandler interface, on the work surface. You can add a bean to the work surface using the Add Bean tool.

    htmlGenerator, primaryPage, htmlPageBeans
    The htmlGenerator property specifies which bean to call to generate HTML. If the htmlGenerator property is not set, then the primary page is used. If a servlet has multiple pages, one page can be set as the htmlGenerator and that is the page that will be used to generate HTML. Unless you are doing advanced programming, you normally would not need to worry about these properties.

    Another way to choose which page to use is to change the page's isPrimaryPage property to true. The default setting for the isPrimaryPage property is true for new pages. If more than one page claims to be the primary page, then the first one found will be used. In most cases, we have found that one page per servlet is easier to maintain than multiple pages per servlet.

    The htmlPageBeans property is generated when the servlet is saved. It is a vector of all page beans in the servlet. This property can be used to manipulate the pages in a visual servlet.

    FormData

    A form data bean is a subclass of FormData and is a nonvisual bean that holds the values entered by the user in an HTML form and submitted as part of a request. These fields appear as attributes on the FormData bean ( FormData ). When a Servlet Builder bean is accessed by a request that includes form data, these properties provide your application with a way of accessing the data for processing.

    When a visual servlet which contains a form is saved, a FormData bean is generated. To access a FormData bean, drop the bean on the free-form surface. This opens a dialog which provides a list of valid form data beans. The user selects the class name of the form data bean to be added. The FormData bean has the same name as the servlet from which it was generated, followed by the suffix FormData. For example, MyVisualServlet would have a FormData bean named MyVisualServletFormData.

    The properties of the FormData bean will include entries for all form parts on its visual servlet. For example, if you have an entry field named myEntryField, then the FormData bean for its visual servlet will have a property called myEntryFieldString. This property represents the contents of the entry field passed in with the request.

    If more than one form is present in the visual servlet, either on a single page or multiple pages, then all the properties will appear on the FormData. However, only those properties which were on the form from which the HTTP action request (e.g., button pressed event) will be available at run time.

    When making connections, FormData value properties, such as entry field strings and list items, will always appear in the properties list for the FormData bean. Button pressed events are found in the event list. Note that each button has a value property name myButtonNameState which is true or false indicating whether that button was pressed. This state change does not represent an event firing, so you must use the button events, named like myButtonNamePressed, to trigger events at run time.

    At run time, when a user fills in a form on a page and presses a submit button, the browser sends data specified in the form to the server. On the server, the visual servlet receives the form data as part of the request object sent to the servlet by the HTTP server. When the visual servlet receives the request, it handles the specified request. The data and events from the forms headers in the input requests is parsed and processed so it appears to come from the FormData bean.

    By connecting to these attributes and events, you have access to all of the values that the user specified when submitting the request. In addition, FormData provides the button pressed events which you can use to trigger actions in your bean.

    Cookies

    A cookie is a named data value stored on a client and sent to the server by the web browser with an HTTP request. In VisualAge, cookies are managed by cookie wrappers as name/value pairs. When set or changed, the cookies are sent back to the web browser to be stored on the client.

    Cookies can be used in many different ways, from helping a Web site identify a specific person or client that has accessed the site before, to holding a set of information across several Web pages, such as a shopping cart for a catalog Web site.
    Note:The usefulness of cookies is dependent on how a user's Web browser is set up. Most Web browsers give the user the option to refuse saving cookies. It is important to keep this in mind when using cookies in your Web applications.


    Related concepts
    Servlet Overview
    Servlet Builder Visual Beans

    Related procedures
    Building Static HTML Pages for Servlets
    Building Interactive Pages with Servlet Builder
    Building Servlet Examples
    Testing Servlets
    Deploying Servlets

    Related references
    Beans for Visual Composition

    o kp.$17BI6ɿ6$$./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjsvsbn.htm.ivj$$ Servlet Builder Visual Beans

    Servlet Builder Visual Beans

    You can use the VisualAge Visual Composition Editor to build visual servlets in the same basic way you use the Visual Composition Editor to build user interfaces. However, there are a few key differences. These differences fall into four categories, discussed below.

    A Smaller Set of Visual Beans

    In a visual servlet, you can use only the visual beans in the Servlet category. These beans represent the HTML user-interface controls and other page elements that are supported by most Web browsers.

    Different Placement Behavior in the Visual Composition Editor

    The placement and alignment of the elements on a Web page are handled by the Web browser and are not directly placed at the coordinates specified by the developer. The visual beans in the Servlet category reflect this by arranging themselves in approximately the way they would appear when rendered in a Web browser. However, many of the HTML alignment properties may be set but are not displayed when you edit a Web page using the Visual Composition Editor. In addition, most of the HTML beans are not resizable since their size is determined by the browser based upon the element content.

    Placement of the beans within the page mirror the linear way in which HTML elements are flowed whey they are displayed by a Web browser. This is also similar, but not identical, to how an AWT flowed layout will flow widgets. In the Servlet Builder flowed layout, visual beans are always arranged from upper left to lower right, as they would be displayed in a Web browser. This arrangement provides an approximation of how your page will be arranged, but remember that what you see in the Visual Composition Editor may not be the same as what your users see in their browsers. Furthermore, different browsers may show the layout differently.

    Differences in Application Flow

    In a widget-based VisualAge user interface, events driving application execution (such as button clicks or other user actions) can happen at any time and can dynamically change what appears on the screen. A Web application, however, consists of a series of static pages, each processing the input from the previous page. In a servlet application, a request is received from the client with information stored in HTTP header information. This information includes cookie data, input information from HTML form elements, and other information about the client, session, and request. In a servlet, this information is used as input to process the HTTP request and then generate the next page of HTML to send to the client. This model is much more transaction-based than the event model of windowed user interfaces.

    Differences in Testing

    To test a visual servlet, you must be running an HTTP server that supports Java servlets. At development time, VisualAge for Java Servlet Builder launches an HTTP server within the development environment and lets you test using that HTTP server. If you have the IBM WebSphere Application Server installed, Servlet Builder will find and use that. If you do not have WebSphere installed and configured with VisualAge, Servlet Builder will use the Sun Java Servlet Development Kit (JSDK) HTTP server (servlet runner).

    At run time, you may use IBM WebSphere Application Server or any other HTTP server that supports servlets. The Sun Servlet Development Kit should not be used at run time.


    Related concepts
    Servlet Builder Nonvisual Beans

    Related procedures
    Building Static HTML Pages for Servlets
    Building Interactive Pages with Servlet Builder
    Building Servlet Examples
    Testing Servlets
    Deploying Servlets

    Related references
    Beans for Visual Composition

    leme kj$K17:I6ɿ6$$K./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjtabs.htm.ivj$$ Setting Tabbing Order

    Setting Tabbing Order

    The tabbing order is the order in which the input focus moves from bean to bean as the user presses the Tab key. The initial tabbing order is determined by the order in which you drop the beans. The first bean in the tabbing order receives the initial input focus. For example, if the first bean in the tabbing order is a button, that button receives the initial input focus when the application starts.

    The tabbing order can be set or displayed only for beans that are placed within a composite bean. For example, if you place a row of buttons in a frame window, you can set the tabbing order for the buttons.

    If the tabbing order includes each entry field in which a user can type, the user can move the input focus from one entry field to another. Arrow keys only move the cursor within an entry field; only the Tab key, backtab key, and mouse can change the input focus from one entry field to another. Read-only fields do not need to be included in the tabbing order.

    Because the order in which beans are placed on a composite bean determines the tabbing order, you will probably need to change the order as you add or rearrange beans.

    For example, drop three buttons and then rearrange them so that Button3 is between Button1 and Button2. The tabbing order of these buttons is Button1, Button2, Button3, even though Button3 is now between Button1 and Button2. You must change the order to have the focus move from Button1, Button3, and Button2.

    The color of the tab tags reflect information about the beans that you use. Yellow tab tags represent simple beans, such as entry fields and buttons. Blue tab tags represent composite beans and container beans.


    Related concepts
    Visual Composition Editor Overview
    Visual Programming Fundamentals
    How Classes and Beans Are Related
    Visual, Nonvisual, and Composite Beans

    Related procedures
    Working with Beans Visually
    Composing Beans Visually
    Adding the IBM Java Examples project
    Setting the Tabbing Order

    Related references
    Visual Composition Editor
    The Menu Bar in Visual Composition
    Properties
    Pop-Up Menus for the Visual Composition Editor

    / kz$V 17 Tearing Off Properties

    Tearing Off Properties

    You tear off a property to gain access to the encapsulated features of a bean. This can be necessary when a property is in itself a bean and you want to connect to one of its features. The torn-off property is not actually a separate bean but a variable that represents the property itself or points to it.

    For example, in an address book application you might tear off properties as follows:

    • You might have a Person bean that contains both homeAddress and workAddress properties, both of which, in turn, could contain street, city, and state properties.

    • Tearing off a homeAddress or workAddress property makes the nested street, city, and state properties directly accessible. Now that the nested properties are directly accessible, you can make connections to and from them, as well as to their associated events and methods.


    Related concepts
    Visual Composition Editor Overview
    Visual Programming Fundamentals
    How Classes and Beans Are Related
    Visual, Nonvisual, and Composite Beans

    Related procedures
    Working with Beans Visually
    Composing Beans Visually
    Adding the IBM Java Examples project
    Tearing Off Properties

    Related references
    Visual Composition Editor
    The Menu Bar in Visual Composition
    Properties
    Pop-Up Menus for the Visual Composition Editor

    2> k$ 17:I6ɿ6$$ ./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjtypes.htm.ivj$$ Visual, Nonvisual, and Composite Beans

    Visual, Nonvisual, and Composite Beans

    You can use many kinds of beans to construct program elements. All beans exist as either primitives or composites. Primitive beans are the basic building blocks from which composites are constructed. You must construct new primitive beans using a programming language because there are no similar beans to use in building them. Primitive beans can be either visual or nonvisual.

    Visual beans are elements of the program that the user can see at run time. The development-time representations of visual beans in the Visual Composition Editor closely match their runtime visual forms. Users can edit these beans in the Visual Composition Editor in their visual runtime forms. Examples include windows, entry fields, and push buttons. In general, visual beans are subclasses of java.awt.Component.

    Nonvisual beans are elements of the program that are not necessarily seen by the user at run time. On the Visual Composition Editor's free-form surface, users can manipulate these beans only as icons. Examples include business logic, database queries, and communication access protocol beans.

    Beans that have a visual representation at run time but do not support visual editing are treated as nonvisual. Examples of this kind of nonvisual bean include message boxes and file selection dialogs.

    Composite beans can contain both visual and nonvisual components. In general, composite beans are based on one of these classes, but you are by no means limited to these:

    • Applet or JApplet, for Web applets
    • Frame or JFrame, for GUI applications
    • Panel or JPanel, for reusable GUI surfaces embedded in either applets or applications
    • VisualServlet, for servlets


    Related concepts
    How Classes and Beans Are Related
    Visual Composition Editor Overview

    Related procedures
    Incorporating User-Written Code into Visual Composites

    ng Orde kNY$317:I6ɿ6$$3./usr/IBMVJava/html/enterp/en_US/visbuild/html/chjvcon.htm.ivj$$ Visual Composition Editor Overview

    Visual Composition Editor Overview

    Visual composition is the creation of object-oriented program elements by manipulating graphical representations of components. VisualAge provides a powerful tool, the Visual Composition Editor, that enables you to visually construct applications, applets, and reusable beans.

    In the Visual Composition Editor, you select and place beans to create graphical user interfaces (GUIs). These GUIs can include VisualAge beans, imported beans, and beans you create yourself. By following a few guidelines, you can design versatile beans that you can reuse in many compositions. VisualAge also enables you to use nonvisual beans to perform the business logic and data access.

    Development using visual composition can include the following steps:

    1. Design your program elements. Determine what you can compose visually and what you must write by hand.
    2. Create nonvisual beans.
    3. Using the Visual Composition Editor, enhance these classes by dropping beans and setting initial values for properties. Extend the behavior of VisualAge beans by writing code.
    4. For business logic, add code to the appropriate class stubs.
    5. Connect beans to define the program element's behavior and flow.
    6. Save your work. VisualAge generates and compiles the code for visually composed beans. Select Run Run in the Visual Composition Editor to try out the finished product.


    Related concepts
    Visual Programming Fundamentals
    How Classes and Beans Are Related
    Visual, Nonvisual, and Composite Beans
    Free-Form Surface
    Beans Palette
    Adding Beans in the Visual Composition Editor
    Property Sheets
    Setting Tabbing Order
    Tearing Off Properties
    Layout Managers in Visual Composition

    Related procedures
    Working with Beans Visually
    Composing Beans Visually
    Adding the IBM Java Examples project
    Setting a Layout Manager during Visual Composition
    Managing the Beans Palette
    Setting the Tabbing Order
    Tearing Off Properties
    Opening the Property Sheet for a Bean

    Related references
    Visual Composition Editor
    The Menu Bar in Visual Composition
    Properties
    Pop-Up Menus for the Visual Composition Editor

    -->  kx $O/17l5ɿ6$$O/./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejblda.htm.ivj$$ Managing business objects

    Managing business objects

    Once you have created your model, schema, data store map, and generated their supporting code, you can then create the application layer that will manage the business objects. If you plan to create a user interface, you can use the beans in the Persistence Builder palette category on the Visual Builder. These beans are transaction-aware, that is, they understand transaction semantics such as begin("aTransaction"), aTransaction.commit().

    Depending on your requirements, you can build nearly all of your application using VisualAge tools with very little scripting; you can build the persistence layer using the Persistence Builder tool set, and the user interface using the Visual Builder using the Persistence Builder beans as well as the other beans available for building user interfaces.

    If your application will not utilize a user interface, there are some details you will need to code in the code to manage your business objects, such as activating the data store, beginning transactions, creating business objects, and so on.

    This section collects some of the details useful for programmers who are applying business rules and application logic to the model domain..

    Using the data store

    Activating the data store. Before attempting to read or write any business objects, you must activate the appropriate data store. This will associate the appropriate service classes to the home collections, and initialize any required database connections. A sample data store activation would be similar to the following:

         yourBusObjDataStore.singleton().activate();
    

    When testing out your code, you can also activate a data store using the Status Tool.

    Creating, retrieving, deleting instances

    Creating business objects. You can create persistent instances a couple of ways. You can use the home.create() protocol in which case you would need to initialize the key for the business object once you create it, for example,

         pkg.yourBusObj bo = (yourBOHomeImpl.singleton().create();
         bo.setBusObj(theObjectIdentifier);
    

    You can create a persistent instance of a class with a key.

         yourBusObjHomeImpl.singleton().createFromKey(new yourBOKey("B00001"));
    

    You can create transient instances of a class as follows:

          yourBusObjHomeImpl.singleton().createTransient();
    

    Retrieving business objects. Instances of business objects can be retrieved by creating an instance of the appropriate key class and asking a home collection to find the corresponding instance.

          yourBusObjHomeImpl.singleton().findByPrimaryKey(new busObjKey(keyID));
    

    Asking for all instances. All instances of a persistent class can be retrieved by sending a message to the home collection for the business object.

         yourBusObjHomeImpl.singleton().allInstances();
    

    Deleting business objects. Send the remove() message to primary objects to delete them, and secondaryRemove() for deleting cascaded objects.

    Creating beans within transactions. If you need to operate a home within a transaction, for example to create new beans, using the Visual Builder, you should add a Home as a transacted variable and connect #this from the Home to #this on the transaction variable.

    Accessing relationships of a business object

    You can access the relationships of a business object instance by invoking the generated relationship accessors. When the relationship is many-valued, the result will be a specialized collection, which provides transactional support for relationship collections. It responds to most collection protocol, and will return the correct relationship value for the current transaction.

    Restriction. A restriction currently exists for attributes for yourBusObjImpl objects. In a scenario where say you had a BankBranchImpl bean and attempted to tear off BranchAccount, the other bean in its association, you would only get the Interface for the BranchAccount. The solution is to drop a variable (or transacted variable), type it as the Impl class, and connect the torn-off attribute.

    Coding transactions manually and visually

    Following Transaction protocol. You should never use "new Transaction()" to get a transaction. You should always use one of Transaction.begin()/beginReadOnly(), aTransaction.beginChild()/beginReadOnlyChild

    Creating transactions.Objects can be read outside of transactions, but a transaction must be started before you modify a persistent object. You can begin a new independent transaction with:

         aTransaction.begin("myTransaction");
    

    Creating nested transactions. You can begin a new nested transaction by sending beginChild() to an existing transaction.

    For example,

         aTransaction.beginChild();
    

    Creating named transactions.Transactions can also have names to identify them in debugging and to aid in collision management. For example, Refer to for more details.

         aTransaction.beginChild("customerTransaction");
    

    Commit and rollback strategies Transactions can be ended with a variety of commit and rollback methods which allow the specification of success and failure actions.

    Transaction isolation policies. Transaction isolation policies can be specified for each HomeCollection. These policies control the behavior of transaction view version copying, merging, and promotion to the shared view.

    Following Transaction protocol. You should never use "new Transaction()" to get a transaction. You should always use one of Transaction.begin()/beginReadOnly(), aTransaction.beginChild()/beginReadOnlyChild

    Persistence Builder beans. Several beans are available in the Visual Builder to enable you to work with transactions: SharedTransaction, Top-Level Transaction, TransactedVariable, and BusinessTransaction.

    SharedTransaction. This bean is a readOnly child of the SharedTransaction. The transaction is created early in the view creation so it ensures that any EJB objects that are created by being read from the database have a valid transaction to work within.

    TopLevelTransaction. A TopLevelTransaction is created early in the view creation with the same protocol that a TopLevelTransaction would be created in Java using the method Transaction.begin(). The difference between the TopLevelTransaction ahd the SharedTransaction is that the former allows objects to be modified, whereas the first is readOnly.

    TransactedVariable. A TransactedVariable is like the standard variable supplied with VisualAge. The variable has a property of 'this' which can be set to any object that is typed correctly to have the same interface as or be the same type or a subtype of the variable's type. The transacted variable part has an additional attribute of transaction which can be given a transaction. This could be the 'this' attribute of the SharedTransaction or TopLevelTransaction parts. The transacted variable will ensure that all access through connections to the object it is a variable for are done within the context of the specified transaction.

    BusinessTransaction. The business transaction has two important attributes - transaction ( which is readable ) and parentTransaction ( which is writeable ). When the bean is asked for its transaction it will, if it has not already done so, create a new transaction. If a parent transaction has been specified to the bean the new transaction will be a child of this parent transaction. If no parent has been specified the new transaction will be a TopLevelTransaction. Whereas for TopLevelTransaction and SharedTransaction the 'this' property was connected to the 'transaction' property of a Transacted variable, for BusinessTransaction the 'transaction' property should be connected to the 'transaction' property of a Transacted Variable. The advantage that BusinessTransaction has over the TopLevelTransaction part is that when it is committed it will re-generate a fresh transaction at the same level ( i.e. from its specified parent ). The TopLevelTransaction part, once committed cannot be resumed without raising an exception. To create a nested transaction scenario the transaction property of one BusinessTransaction can be connected to the parentTransaction property of another. The transaction of the latter will always be a child of the transaction of the former. If the parent is committed fresh transactions are generated for both business transaction parts. By default the TopLevelTransaction that is generated for a BusinessTransaction is a child of a readOnly child of the SharedTransaction. This way once the transaction is committed and its parent is resumed, the parent will be a readOnly child of the SharedTransaction into which objects can be created without raising exceptions. The property generateReadOnlyParent can be set to False on a Business Transaction to override this behavior and ensure that if the BusinessTransaction has no parent it will create a TopLevelTransaction that is a child directly from the SharedTransaction.

    Use the Choose Bean option. Add variables via the 'Choose Bean' palette item, and select variable type. If you change the type of a variable, you may need to compute the class path from the applet's properties dialog

    Analyzing performance

    There are different ways you can analyze and tune performance for persistence. The Status Tool can be used to monitor the transactions, views, and caches in the system. You can use it to reset the state of various components as you unit test and get your code working.

    Executing SQL. The SQL Query Tool can be used to execute SQL code against the data store connection.

    Tracing code paths. The Trace class provides a singleton trace object that has a defaultoutput stream and switches for trace levels. Usually you would insert Trace.traceOn, Trace.traceOff in your methods. The code sample shows there are other useful messages as well. Refer to the com.ibm.vap.RuntimeTools.Trace class.

       com.ibm.vap.RuntimeTools.Trace t = new com.ibm.vap.RuntimeTools.Trace();
       t.traceOn();
       t.useSystemOut();
       t.show("testing one, two, three..");
       t.traceOff;
    

    Catching exceptions. You can also take advantage of the Workbench->Window->Debugger->Caught Exceptions dialog to get better debugging for exceptions thrown within try/catch or synchronized blocks.

    v k+!$ 17HI6ɿ6$$ ./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejbolr.htm.ivj$$ The business object layer

    The business object layer

    The business object layer is implemented in part by a small runtime and in part by a small set of interface and behavior requirements for business objects. Code generation support is supplied (in the Persistence Builder tool set) to generate code (and selectively update previously-generated code) for business object and relationship classes from a high-level description of the classes and their relationships.

    Business objects and their relationships are described using an extended entity relationship model using a UML vocabulary. Supported features include business object inheritance and relationship cardinality, navigability and inverses. Business objects are not required to inherit from a common root, although an abstract class with suitable behaviors is provided for convenience. Separate classes are generated for relationships to allow business rules to be written governing relationships. In addition to the business object classes that are generated, Key classes and HomeCollection classes are generated for each business object.

    New methods can be freely added to business objects using normal browsers without any need to regenerate any part of the runtime system. Only when structural changes are made to objects (adding, deleting or changing an attribute or relationship definition) is there any requirement to regenerate. Non-managed fields can also be added without regeneration.


    Related references
    HomeCollections
    Enterprise JavaBeans
    Transaction overview
    Transaction isololation policies
    Object uniqueness
    The
    BOManagers, Versions, and VersionStates

    ion kΩ"$;17l5ɿ6$$;./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejdobj.htm.ivj$$ DataObjects

    DataObjects

    Data objects contain the data for a business object in the form in which it was retrieved from the persistent store. Each persistent business object points to a data object, and there is a direct correspondence between the managed fields of the business object and the fields of the data object. DataObjects are the principle entries in the cache (discussed later).

    ServiceObjects

    Service objects implement the Create/Read/Update/Delete (CRUD) operations and other navigation methods required to map data objects to and from the persistent store.

    Persistence Builder can generate stubs for these services if it does not understand the backend.

    For SQL, Persistence Builder can generate full service implementations.

    The SQL statements executed are all pre-calculated and stored in methods. Currently, dynamic SQL is used. In addition, at code generation time, you have the option of generating queries using parameter binding.

    The ServiceObjects have a couple of generated helper classes that understand the shape of the data objects, the shape of the SQL result rows (which may contain data for several objects) and how to map between them.

    For some cases, it is necessary to execute sequences of SQL statements (for example, to update, insert an object that spans multiple tables), and to extract multiple objects from a result set. This is handled transparently.

    For fetch-ahead, BOs are made immediately for the main object being fetched. For the fetch-ahead objects, only DOs are created and are entered in the cache for future use.

    Modification of generated code is supported, even encourated. This may be necessary or desirable for performance tuning, to handle complex legacy data cases.

    Why have both service objects and data objects? Mostly for inheritance. It should be obvious that these are quite separate interfaces. DataObjects understand mapping data to and from business objects. They understand a lot about caching as well, particularly how to cache data for relationships. ServiceObjects understand how to manipulate the backing store. Having separate objects allows service objects to inherit alternately from a superclass with default RDBMS behaviors or default CICS behaviors, while the DataObjects inherit from a superclass that understands data conversion, caching and so on.

    Mapping

    Persistence Builder generates service implementations for relational databases from a set of mapping specifications. The things you can specify include:

    • Mapping object attributes to table columns
      • Map object attributes to one table
      • Map object attributes to multiple tables
    • Mapping relationships to foreign keys
      • One-to-one
      • One-to-many
    • Mapping inheritance
      • Map all subclasses to the same table with discriminator field
      • Map all subclasses to separate tables with duplicate columns for inherited attributes (requires union queries for superclass extents)
      • Map each subclass to a supplementary table containing subclass-specific attributes only (requires join queries)

    Caching

    To enhance performance, Persistence Builder manages a cache. Entries in the cache are (wrappers around) DataObjects(DOs) and special cache entries for relationships.

    The cache should not be confused with the transaction registries:

    • Transaction registries ensure correct object uniqueness within a transaction scope, whereas the cache is a simple optimization technique to prevent redundant access to the backend data store.
    • Transaction registries are NEVER emptied until the transaction completes (although they may be weak for transactions whose isolation policy is not Repeatable Read), whereas the cache may be emptied arbitrarily often according to installed policies (LRU, time-expiration, and so on) without altering transaction semantics.

    The cache is only used for pre-fetch objects. DOs are removed from the cache as soon as a BO is made for the DO. This is because the BO is being installed in a transaction registry of a transaction (and all its ancestors) and all future sharing will happen through the BOs in the registry.

    There are no implemented mechanisms for flushing or controlling the size of the cache. This is a potential problem, because aggressive pre-fetch of DOs that are not subsequently converted to BOs will cause the cache to grow in an unmanaged manner. This will be fixed in a future release by providing pluggable cache management policies (for example, size limits with LRU, sweeps hunting for overage DOs, and so on.)

    There is no implemented policy for controlling the staleness of DO data. This is a potential problem, because arbitrarily stale data in DOs can be used for an arbitrary length of time. This problem only exists for optimistic (non-locking) transaction isolation. The following are the two scenarios that can cause problems:

    • A BO gets stuck in the shared transaction for an arbitrarily long period of time without getting refreshed. This can happen so long as someone keeps a strong reference to the BO.
    • A DO gets stuck in the cache for an arbitrarily long period of time. This is discussed above. These problems will be fixed in the next release, probably by allowing an age limit for DOs to be specified on a type-by-type basis. DOs in the cache that are past their sell-by date will not be used to create new BOs. BOs in transactions that do not specify Repeatable Read (for example, the shared transaction) whose DOs are past their sell-by date will have their DOs refreshed from the database on the next DO access.

    Implementation note: The cache is a distributed structure. The cache for the DOs for a particular BO type is hung off of the HomeCollection for the BO. Each Relationship type also has its own cache. In Persistence Builder, related HomeCollections know about each other, and each network of HomeCollection instances include objects that represent the relationship types (these are currently instances of the generated relationship class, but this may change after the first release). If you will, the HomeCollection instance represents a particular BO type in the context of a data store, and these relationship objects perform the same role for the Relationship types. The cache for a relationship is keyed by the primary key of the BO that owns the relationship. The relationship cache entry for a BO key consists of a collection of BO primary keys for the target BO type of the relationship. Relationship cache entries get filled indirectly. For example, if there is a single-valued relationship from Faculty to Department, and a FacultyHome allInstances() query is performed, we already have all the information needed to completely fill the cache for the Department-to-Faculty inverse relationship. Only queries that return complete relationship information like this one will cause the relationship cache to get loaded.

    Preload

    You can specify the depth to which data for an object should be retrieved from the database in a single query.

    Preload is specified in Persistence Builder by defining paths. An example of a path is invoices.lineItems. A path is relative to an existing object or relationship, and can be thought of as a sequence of relationship names to navigate through. So for a Customer object (or for a relationship collection of Customer objects), invoices.lineItems would be a path to all lineItems for that Customer (or those Customers).

    Persistence Builder allows paths to be defined as part of the map for an object. Thus invoices.lineItems would be a reasonable path for the Customer object.

    You can define a default preload path for a class. This does not generate extra services or protocol, but modifies the default retrieve services used by and by relationships that point to the class.

    Restrictions. The following restrictions apply:

    • When preloading trees of objects (across relationships), pessimistic locking is supported only for the root object of the tree.
    • Application control of preload paths is not supported.

    Custom queries

    Persistence Builder provides a simple framework that allows you to add your own custom query methods to HomeCollections with associated service implementations.

    Persistence Builder does not support static or dynamic queries on relationship collections, nor does it automatically generate custom queries on HomeCollections.

    DataStore

    The class, DataStore, is responsible for owning and managing a pool of database connections. For each database connnection, it registers a home collection.

    ODBC restriction: The ODBC spec does not include the types BLOB and CLOB which are IBM CLI extensions to the spec. When using the JDBC-ODBC Bridge, this type is not supported. The DB2 JDBC Drivers work well with these types.

    ResourceManagers

    Each top-level transaction has a ResourceManager instance. The resource manager instance for a top-level transaction will create a Resource instance for each Resource used by the transaction.

    Resources

    A Resource instance manages a resource, for example, a database connection, for a single transaction instance.

    External collision management

    When using optimistic (non-locking) transaction isolation, Persistence Builder detects collisions on the database by overqualifying the update SQL query. You can specify which columns of the table should be included in the overqualified query in the map for the class.

    Lite collections

    Consider lite collections as being a way to filter an object.. It is an optimization feature. Creating lite collections are useful when building views to display different parts of an object model.

    Suppose you are building a view to display specific, not all, data from Course objects for a University. A lite collection for Course would only retrieve the attributes: name, credit, and courseNumber from the data store.

    Lite collections, therefore, read only a subset of attributes for an object. In this respect, they are very useful for displaying a choice in a list, for example.

    Lite collections support the "drill down" data access approach often seen in GUI intensive applications. GUI applications that open a series of nested dialogs on a set of data are prime candidates for using lite collections.

    Lite collections have protocol to instantiate persistent objects. The message getBusinessObject() can be sent to an element of the collection to instantiate it, for example, say you have a lite collection with twenty objects and you want to instantiate the last one, you could do the following:

         aLiteCollection.lastElement().getMyBusinessObject();
     
    

    Use the Model Browser, to create lite collections when defining a class.

    Defining complex mappings

    Persistence Builder supports defining complex mappings of object attributes to column values.

    Complex mappings of a single attribute to a single column

    Persistence Builder supports the notion of a converter.

    A converter is an object that converts a column value to and from a corresponding object format. The conversion performed by a converter may be arbitrarily complex. You can code your own converter classes.

    Converters are associated with columns in a schema definition, and are used wherever that schema is used. Converters encode the "real meaning" of a database column in object terms. An example of a converter is one that interprets a Y or an N in a CHAR field of a database as a Boolean object.

    You likely will need to create your own converters from time to time. For example, you might have to convert a database integer to an IP address object. To create your own converters, subclass under VapConverter. There is a simple protocol which converters implement.

    Date typing: It is a recommended that you type date properties as Calendar, you then can map them to String or DATE fields in the database and use an appropriate converter. We are making this recommendation because much of java.util.Date is deprecated, meaning that it may go away in the future. You can continue to use Date, but you will see warnings regarding the deprecated status.

    Complex mappings of multiple attributes to a single column

    Persistence Builder also supports the notion of a composer.

    A composer is responsible for mapping a number of separate DataObject attribute values as a single complex BusinessObject attribute value.

    The aggregation performed by a composer may be arbitrarily complex, and you can code your own converter classes.

    Composers are associated with maps: composers define how schema values are mapped into a particular object model. An example of a composer would be one that mapped street, city and zip columns into an Address object.

    Composers are used to create attribute values that are complex objects. These attributes do not have unique keys, and so cannot be referenced from other objects and cannot be modeled as separate top-level objects with relationships to their owners.

    verq kެ#$27l5ɿ6$$./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejhomc.htm.ivj$$ HomeCollections

    HomeCollections

    Persistence Builder generates a HomeCollection class for each business object class. The protocol on HomeCollection classes is the one defined by Component Broker (, createFromKey(Key) , findByPrimaryKey(Key)).

    Persistence Builder does not prescribe how the HomeCollections are located by the application code. A default mechanism is supplied that will store a singleton HomeCollection instance in a static variable of each HomeCollection class, and this mechanism may be used by application code to locate appropriate HomeCollection instances. However, the Persistence Builder framework never uses this access path, and application programmers are free to store and locate HomeCollection instances in other ways.

    HomeCollections also have the following responsibilities:

    • Knowing the DataStore they are attached to.

      This is a responsibility of HomeCollections for persistent business objects only. A DataStore represents a particular backend store (for example, a database or a set of CICS TPs) that stores objects from a model. The HomeCollection provides the mapping of a set of classes to a data store.

    • Knowing the service implementation to be used for all instances from this home.

      In fact, the HomeCollection is the object that maps the business object layer to a particular DataStore and service object implementation. HomeCollection classes for persistent objects subclass from a different class from HomeCollection classes for non-persistent classes. The persistent HomeCollection classes have extra protocol for dealing with this mapping of objects to a backend.

    • Knowing the isolation policy implementation for the BusinessObject class.

      This means understanding whether objects in this home use optimistic (non-locking) or pessimistic (locking) transaction isolation, and providing an appropriate implementation object for the same.

    • Knowing about other related homes for the same object model on the same data store.

      A HomeCollection knows about the home for its business object's superclass and also about the homes for its business object's subclasses. It also knows about the homes for all of the relationships from its business object. (Relationships have homes as well).

    Enterprise JavaBeans

    Persistence Builder implements key parts of the of the Enterprise JavaBeans (EJB) specification. Movement toward full compliancy to the EJB specification will continue in subsequent product releases.

    Enterprise beans are specialized, non-visual JavaBeans that run on a server. The Enterprise JavaBeans component model is based on a multitier, distributed object architecture, and is a core component of the Java Platform for the Enterprise. Enterprise JavaBeans provide a core set of system services applicable to enterprise-scale applications.

    Enterprise beans are managed by containers. Containers are responsible for the life cycle of the bean, its security, coordination of transactions, and naming contexts.

    Clients access EJBs through interfaces provided by containers: a Factory interface creates new instances of entity beans, a Finder interface locates existing instances of entity beans, and an EJBObject interface is the client view of the enterprise bean. For example, if you define a Customer object with Persistence Builder, and then generate its domain classes, some of the classes created are: a Customer interface, a CustomerImpl class (the EJBObject), and a CustomerBean (the entity bean). Your interface to the enterprise bean is the CustomerImpl object.

    EJBs can be either transient (SessionBean) or persistent (EntityBean). The container generates an instance context (SessionContext or EntityContext) for maintaining information about the current context of each active enterprise bean. The context object is used for coordinating transactions, security, persistence, and other system services.

    The Persistence Builder implementation can be found in the following project, VisualAge Persistence EJB libraries, in the folllowing packages:

    • javax.ejb. Contains the interfaces for controlling EJBs.
    • javax.ejb.deployment. Contains the DeploymentDescriptor classes responsible for defining the rules which manage transactions, security, and persistence for an EJB.
    • javax.jts. Contains the Java Transaction Services support.
    • javax.naming, javax.naming.directory, and javax.naming.spi. Contains the JNDI API for locating containers for enterprise beans.

    > they kH$$M-27HI6ɿ6$%M-./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejmapb.htm.ivj$$ The Map Browser

    The Map Browser

    The Map Browser is used to logically connect the object model description with the data store schema description. This enables the framework to generate the necessary service code for such things as SQL queries and other supporting code needed for persisting the model objects.

    Browser use

    Mapping an object model to a data store is done by creating table maps and property maps. A table map is required for the classes in your model that you want to persist in the data store. The property maps are defined for each table map by mapping object attributes to database columns.

    Browser description

    The Map Browser presents several views:

    • Datastore Maps. Displays the names of your data store maps.

    • Persistent Classes. Displays the names of your model classes which you will map to database tables.

    • Table Maps. Displays the names of the table maps. These are the maps between your persistent classes and database tables.

    • Property Maps. Displays the name of the property maps that are defined for each table map. The property maps included are the class attribute to database column mappings as well as class relationship to table relationship (connection) mappings.

    • Information. This view is not labeled as such, but it is a read-only view that provides descriptive information in a given context. For example, if you select a map it will provide certain statistics about the map.

    In the Map Browser, you describe the mapping of each persistent class. A map is required for each persistent model class.

    For each attribute, you specify the columns which should be read to populate that instance variable.

    For each relationship, you specify the foreign key relationship which is its persistent representation.

    The first step in defining the mapping for a class if to define a table map to contain the column and relationship maps. A class must have at least one table map specifying the table to which the class will be mapped. Table maps contain attribute and relationship maps which refer to columns and keys within the mapped table.

    Browser menu-bar choices

    Most of the menu-bar choices for the Map Browser are described below.

    • Datastore_Maps.

      The following choices are available:

      New Datastore Map
      This launches the New Data Store Map dialog. Give your map a name, and select the model and schema to map.

      Delete Datastore Map
      Deletes the selected map from the browser.

      Save Datastore Map
      Saves the map to an application and storage class that you supply.

      Save Datastore Map
      For saving maps. A SmartGuide prompts you for a Project, Package, and Class name. If the package or project do not exist, they will be created for you.

      If you edit a model for which you have already generated service classes, remember to regenerate the service classes as well.

      Load Available Maps
      This loads all available maps in your image.

      Revert Selected Map
      Loads the previously saved version of the map selected. Use this option if you have made changes but want to discard them and go back to the original.

      Generate Services
      Launches a SmartGuide to create the domain or data service classes and interfaces for a model. A default package name is provided, but you must provide a project name. You can select all or individual model elements for code generation. This is an expert feature intended for regeneratingclasses when making incremental changes. This SmartGuide can be launched from the Model Browser or the Map Browser.You must generate your domain classes and interfaces before you generate data services. The first time you generate domain classes for a model, the data service classes option is not selectable.

      You can generate a stub schema, a Workspace schema, or a schema for relational SQL.

      Stub schemas must be filled out further by coding them manually after the data service classes and interfaces have been generated.

      Workspace schemas are for doing local persistence work, that is, your data is persistent in your Workspace. This is useful for prototyping or when you are working on a team wherein the domain model, user interface, and data store coding responsibilities are being developed in parallel but by separate members of your team. For example, if you are the model domain developer you can test out your code before the data store layer is delivered.

      Relational SQL is for use with a relational data store.

      You are prompted for database connection information. When using JDBC, you will need to know which JDBC drivers you have installed so that you can specify the information appropriately. For example, you might specify

         sun.jdbc.odbc.JdbcOdbcDriver(jdbc.DB2:VASAMPLE)
       
      

      In addition, you have the option of generating queries using parameter binding. This option is for improving database query performance. Binding your parameters at code generation time improves performance because the shape of the parameters are "burned-in" to the query. You do not need to rely on the data store to prepare the statements for you each time a query to the database is made.

    • Persistent_Classes.

      Enable pessimistic locking
      This is a toggle setting that enables pessimistic locking for the classes you are mapping to the data store.

      Disable pessimistic locking
      This is a toggle setting that disables pessimistic locking for the classes you are mapping to the data store.

    • Table_Maps.

      New Table Map
      Several kinds of maps are supported from this option as follows.

      Add Table Map with no inheritance
      This maps a single class to a single table.

      Add Distinct Table Table Map
      This is not supported yet.

      Add Single Table Inheritance Table Map
      Known as typed partitioning, this maps a class hierarchy to a single database table.

      Add Root/Leaf Inheritance Table Map
      Known as vertical partitioning, this maps a class hierarchy to a hierarchy of database tables.

      Add Secondary Table Map
      Secondary maps are used when a single persistent class is mapped to more than one database table. For example, a persistent class Department may have name, courses, and staff mapped to the primary table (DEPT) and have other attributes such as phoneNumber mapped to a secondary table(DEPT_EXTRAS).

      Edit Property Maps
      Launches the Property Map Editor for modifications to property maps.

      The Property Map Editor provides the means to map persistent class attributes and relationships to database columns and foreign key relationships. The editor contains two pages (tabbed dialog boxes): one for mapping attributes and one for mapping relationships.

      The attributes page allows the user to choose between a simple mapping of an attribute (one attribute to one column) and a complex mapping (one attribute to one or more columns).

      If you choose the simple map type option, you are prompted with a choice of columns and must pick one. If you choose a complex mapping then the Complex Attribute Editor is used to map the attribute. With the Complex Attribute Editor, you must complete two tasks:

      1. Choose a Composer class.
      2. Map each attribute of the complex attribute class to a database column.

      Example: Suppose a model class has an attribute address of type Address and you wish to map the number , street, and zip attributes of the Address to three separate columns in the database. You would select the complex map type option from the Property Map Editor, then launch the Complex Attribute Editor. The editor requires you to choose a composer class (AddressComposer). When the composer has been selected, provide the associated column for each of the Address attributes (number, street, zip).

      The relationships page allows you to map class relationships to database foreign key relationships. This is a straightforward mapping along the lines of simple attribute mapping. You select a foreign key relationship for each class relationship.

    • Property_Maps.

      Show inherited properties
      Gives visibility to inherited properties when mapping tables with inheritance.

      Do not show inherited properties
      Turns off visibility to inherited properties for inheritance table maps.


    Related procedures
    Creating relationships
    Creating one-to-one (1-1) relationships
    Creating one-to-many (1-M) relationships
    Creating many-to-many (M-M) relationships
    Creating table mappings
    Creating a single table map with no inheritance
    Creating a secondary table map
    Creating single table inheritance maps
    Creating root/leaf inheritance maps
    Using a composer for mapping an attribute to multiple database fields
    Using converters
    Performance tuning
    Changing the locking type on a table
    Setting preload paths
    Creating Lite collections

    b>< k6%$-27l5ɿ6$%-./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejmeta.htm.ivj$$ Metadata storage model

    Metadata storage model

    When defining your object model, schema, and maps with the Persistence Builder browsers, in effect, you are describing metadata. The metadata is used by the framework to create the domain classes that will instantiate and service your business objects. When compared to typical class browsers, the Model, Schema, and Map browsers can be thought of as metadata browsers. That is, when browsing a class with a typical class browser, you are browsing the real class definition with all of its state and behavior. The metadata browsers are used to describe your object model to the Persistence Builder framework so that it can build a persistent layer for your business objects. Therefore, the metadata browsers are only concerned with the pertinent details to make your business objects persist. However, like the typical class browsers, Persistence Builder metadata browsers are integrated with the Envy features so that you can save editions of your object model in the repository.

    The Persistence Builder framework makes use of Envy features to store networks of objects such as Model or Schema into a private field of a User-Defined classes. Each entity (Model, Schema or Map) is associated with and stored to a unique class. This gives you the flexibility to store and save different versions of the entity by maintaining different versions of the associated storage class.

    The hierarchy of storage classes is as follows:

    VapStorage
      ModelStorageClass
        UserDefinedModelStorageClass-1
        UserDefinedModelStorageClass-2
        UserDefinedModelStorageClass-n
      SchemaStorageClass
        UserDefinedSchemaStorageClass-1
        UserDefinedSchemaStorageClass-2
        UserDefinedSchemaStorageClass-n
      MapStorageClass
        UserDefinedMapStorageClass-1
        UserDefinedMapStorageClass-2
        UserDefinedMapStorageClass-n
    

    The browsers recognize new entities that you create as well as entities that are stored in storage classes. For example, if you open a Model Browser and select Load Available Models, the image is scanned for subclasses of ModelStorageClass. For each subclass found, a model is reconstructed from the saved format. The model is then cached and displayed in the browser. This operation will not write over models which are currently cached and displayed in the browser. If you change and save the model, it will be stored back to its associated storage class. If the storage class is an open edition, then the new model, the one that you have just changed, will overwrite the previously stored copy. If the storage class was not an open edition then a new edition will be created and the new model will be saved there.

    When you create a new model and save it for the first time, the Model Browser prompts you for a class and application name. If the application does not exist then it will be created.

    The Model Browser also provides a way to restore the copy you are currently browsing to the match the stored copy. If you make changes and decide you want to restore the original, you can do so by choosing the Revert model option.

    To maintain consistent sets of associated models, schemas, and maps, it is assumed that you will use these Envy features just as you would when developing applications outside the Persistence Builder framework.

    For example, suppose you want to use the application named WizBangProjectPersistenceApp which contains the three storage classes: WizBangModelStorage, WizBangSchemaStorage, and WizBangMapStorage to store other versions of models, schemas, and maps.

    Envy versioning could be employed to do something like this:

    WizBangProjectPersistenceApp ProjectMilestone 1
       WizBangModelStorageClass 1.0
       WizBangSchemaStorageClass 1.0
       WizBangMapStorageClass 1.0
    

    Loading this version of WizBangProjectPersistenceApp would make its associated storage classes (and therefore their stored metadata entities) available to the Model, Schema, and Map Browsers.

    wor kd&$l627HI6ɿ6$"%l6./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejmodb.htm.ivj$$ The Model Browser

    The Model Browser

    The Model Browser is used to define the classes in an object model. The object model consists of the classes that represent the business objects in your application that will persist in a data store.

    Browser use

    Business objects are described through class descriptions. For example, in an object model for a University you might describe: a Student class, a Faculty class, a Course class, a Schedule class, and so on.

    Describing a class with the Model Browser is similar to defining a class using a SmartGuide. Each class consists of attributes (instance variables) and relationships. Attributes typically describe the granularity of the objects you wish to persist. Relationships describe how objects in your model are associated with one another. In the University model, your Student and Faculty classes might have attributes such as studentNumber and facultyNumber, respectively. In addition, there might be a relationship between the two classes, a relationship between Faculty and Student, for example. A Faculty object, for example, could have an advisedStudents relationship, or role, with several Student objects.

    There is a difference between describing a class in the Model Browser and defining a class using other tools. Describing a class does not create an instance of the class. It creates metadata for the class. The metadata is used later to generate the class instance. The instance of the class is created when you use the Generate function under the Models menu. Generating the code for your model is typically done after you have described all the classes. If you need to make changes to your model after you have generated the code, you need to generate the code again.

    Browser description

    The Model Browser presents several views:

    • Models. Displays the names of your models.

    • Model Classes. Displays the names of the classes for a selected model.

    • Attributes. Displays the names of the attributes for a selected class.

    • Class Associations. Displays the associations or relationships defined between the classes in the selected model.

    • Information. This view is not labeled as such, but it is a read-only view that provides descriptive information in a given context. For example, if you select only the name of a given model, it will provide certain statistics about a model.

    Each view is used successively to describe your model, its classes, and its associations. It is easy to verify your design when complete by browsing the contents and associations for each class. When your model definition is complete, you can save it in the Workspace. Models are stored as versions of the class ModelStorageClass.

    In addition to creating models with the Model Browser, you can also edit models, and load other models into your Workspace from the Repository.

    After you have designed your object model, you describe it using the Model Browser, and then generate the code for it.

    Creating a model involves giving it a name and then creating its classes and associations. Creating classes for the model involves giving each class a name, attributes, relationships, and key properties. Creating associations for the model involves giving each association a name and defining the classes involved in the association as well as naming the role each class plays in the association.

    You create a model by selecting New Model from the Models menu, and supplying a name for the model.

    You create a class in your model by selecting New Class from the Classes menu. This launches the Class Editor where you fill out the characteristics of the class such as class name, superclass name, class attributes, or instance variables, relationships the class might have with other classes, and key properties which will uniquely identify the class from other classes.

    Browser menu-bar choices

    Most of the menu-bar choices for the Model Browser are described below.

    • Models.

      The following choices are available.

      New Model
      Start here when creating a new model. A dialog prompts you to provide a model name. If you have an existing database there is a shortcut for creating a new model. Using the Schema Browser you could import the schema, then you could generate the model from the schema.

      Delete Model
      When you delete models, you are deleting them from your browser, not the Workspace.

      Save Model
      For saving model descriptions. A SmartGuide prompts you for a Project, Package, and Class name. If the package or project do not exist, they will be created for you.

      If you edit a model for which you have already generated domain classes, remember to regenerate the code again for the model to pick up your changes.

      Load Available Models
      Loads all the available models from the storage classes in your Workspace.

      Revert Selected Model
      Reverts back to the previously saved version of the model.

      Generate
      Launches a SmartGuide to create the domain or data service classes and interfaces for a model. A default package name is provided, but you must provide a project name. You can select all or individual model elements for code generation. This is an expert feature intended for regenerating classes when making incremental changes. This SmartGuide can be launched from the Model Browser or the Map Browser.You must generate your domain classes and interfaces before you generate data services. The first time you generate domain classes for a model, the data service classes option is not selectable.

      Generate Schema From Model
      Generates a database schema from the selected model. This is a shortcut when you are creating an application from scratch. In like manner, you can generate a model from an existing database schema using the Schema Browser .

    • Classes.

      Assuming you have created a model, you can then create classes for it. This menu provides the choices for creating, editing, and deleting the classes for your model. The choices are as follows:

      New Class
      Launches a Class Editor. Be sure to have the model selected first when you select this. Fill in the following fields to complete your class description:

      • Name. The class name must be unique.

      • Superclass. Provide the name of the superclass or use the default.

      • Attributes. This tabbed dialog box is where you define your instance variables. To define a new attribute, Click New. This launches the Attribute Editor where you fill in the attribute name and the attribute type, and whether the attribute requires a value.

      • Association Roles. This tabbed dialog box gives you visibility to all of the roles that have been defined for the class. Class roles are defined when you create Associations using the Association Editor. Be sure to have the model selected for which you want to display and define associations.

      • Lite Collections. This tabbed dialog box enables you to define a subset of attributes that you wish to collect and use in your application in some way. To create a lite collection, click New, and type a name. The name will appear in the list of Lite collections, and the class attributes (properties) will display in the Class properties view. Next, choose the class properties to include in the collection and click Apply. Filter is optional.

      • Object ID Specify one or more attributes to be the identifying attributes for the class. Select an attribute and click >> to add it as an object identifier.

    • Attributes Launches the Attribute Editor. You can use this to create, edit, or delete attributes for a selected class.

    • Associations You can create, edit, and delete associations between classes in your object model using this option. Be sure to have the model selected.

      New Association
      Launches the Association Editor. Use this option to define a new association between two classes in your object model. You must fill in the following to create the association between the classes.

      • Associated classes. Supply a name for the association that has semantic meaning for your model. For example, an association name of Student-Advisor indicates a relationship where one object is a Student, the other object is an Advisor. This naming convention also hints at the roles that each object will play in the relationship. You must supply the names of the two classes that are in the association. In this example, VapStudent, and VapFaculty.

      • Association between classes. In an association, each class plays a role, that is, each class plays a role in or for the other class.

        In the Student-Advisor association, the VapFaculty plays the role of advisor forVapStudent. The only role that VapStudent will play in the VapFaculty class is that of advisedStudents, one of many advised students.

        The last part of definition for the association has to do with navigability and cardinality (how many).

        • Navigable. Marking the object navigable means that the role is reachable from its counterpart class in the association. For example, in the Student-Advisor association, checking the advisor role would mean that VapStudent could ask the VapFaculty instance for its advisor.

        • Many. Specifying cardinality is done with this choice and the Required choice.

          You can specify the cardinality of the roles between the two classes as follows:

          • Required unchecked, Many unchecked. This defines a zero-to-one (0:1) cardinality for the role in the association that is played by this object.

            When Required is unchecked it means that zero instances of this object is valid in the association. When Many is unchecked, it means that only one instance is allowed for the object to fulfill its role in the association.

          • Required checked. Many unchecked. This defines a one-to-one (1:1) cardinality for the role.

          • Required unchecked. Many checked. This defines zero-to-many (0:many) cardinality for the role.

          • Required checked. Many checked. This defines a one-to-many (1:many) cardinality for the role.

          In the illustration of the Student-Advisor association, the advisor role played by VapFaculty could have a 0:1 cardinality in the VapStudent object meaning that the VapStudent may or may not have an advisor. The cardinality of the advisedStudents role played by the VapStudent could be 0:many meaning that the VapFaculty object may have no students to advise or many.


    Related procedures
    Creating relationships
    Creating one-to-one (1-1) relationships
    Creating one-to-many (1-M) relationships
    Creating many-to-many (M-M) relationships
    Creating table mappings
    Creating a single table map with no inheritance
    Creating a secondary table map
    Creating single table inheritance maps
    Creating root/leaf inheritance maps
    Using a composer for mapping an attribute to multiple database fields
    Using converters
    Performance tuning
    Changing the locking type on a table
    Setting preload paths
    Creating Lite collections

    odel kd'$27l5ɿ6$@%./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejobju.htm.ivj$$ Object uniqueness

    Object uniqueness

    Every business object defined to Persistence Builder must be identifiable by a unique key. One of the features of Persistence Builder is that it guarantees that only one instance of an object will exist within a transaction scope for a particular unique key. Each transaction keeps a registry of objects that have been read or written within that transaction. Whenever an object is requested, either in a query or by navigating a relationship, Persistence Builder will check if this object is already in the registry of this transaction or one of its parents. If it is, the object in the registry will be used.

    The "shell" business object

    Within the scope of a single transaction, all references to a business object of a particular key value are guaranteed to point to the same business object instance. Since the transaction may have numerous nested transactions, and since Persistence Builder supports optimistic (non-locking) transaction isolation, this means that Persistence Builder has to manage different values of the data of this business object in different nested transaction scopes.

    In fact, because of the outer shared transaction, each top-level transaction is in fact a nested transaction for this purpose. This means that the same business object (BO) key value is resolved to reference the same BO instance, even across top-level transactions, so this mechanism is required for the simple non-nested top-level transaction case as well as for the nested case.

    Persistence Builder implements this capability of having different values for the data of a single instance of an object in different transactions by generating special get and set methods that must be used to access the fields of an object. When an object is first touched within a transaction, a copy of the values of all the managed fields of the object is taken and stored associated with the transaction. The generated get and set methods will always return the value of the fields from the copy held in the transaction.

    Some important characteristics of the way this works follow:

    • There is no requirement that the class of the hidden copies of the data for business objects be the same as the class for the business objects themselves (by default they are, currently). The only protocol on the hidden copies of the state for business objects is primGetSomeAttribute and primSetSomeAttribute:.

    • The hidden copies of the data for business objects used for optimistic (non-locking) transaction isolation are completely transparent to the application programmer and the business object programmer.

    • Pointers in the hidden copies of the data for business objects never point to copies of data. They always point back to the original business object instance.

    • We call the original business object instance the "shell" business object , to distinguish it from the copies whose sole purpose is to store the field values for a particular transaction.

    • All business object methods are executed on shell business objects. User logic never executes on the hidden copies of the state for business objects.

    • All access to managed instance variables for a business object is required to go through generated get and set methods. Currently there is no check for violations of this rule. The reasons for this rule are:

      • The generated get and set methods contain special logic to get and set values into the correct copy for the current transaction.

      • The generated set methods contain special logic to register the object as modified in the current transaction.

      • The generated get and set methods contain special logic to update and de-reference relationships.

    • The special variable, this , can be used without special consideration because it always (correctly) points to a shell business object.

    BOManagers, Versions, and VersionStates

    Persistence Builder requires each business object (BO) to be able to return a BOManager object. There is a BOManager for each "shell" BO, but the special hidden copies of BO state do not have their own BOManager (the "shell" and all copies share the same BOManager).

    The BOManager object has the following responsibilities:

    • Remember the HomeCollection for the BO.
    • Remember the key for the BO.
    • Create a temporary key for new objects that do not yet have one.
    • Return the read or write version for the BO in the current transaction, creating it if it does not already exist.
    • Hold the lock object for a BO.
    • Cache the most recently used transaction version for rapid access.

    In order to track the state and data values of an object within a particular transaction, Persistence Builder creates Version and VersionState objects for each object that is read or updated within a transaction. The Version objects are the objects that are actually stored in the transaction registries, keyed by BO key. (Recall that it is the transaction registries that are used to implement object uniqueness within a transaction and to track which objects are "dirty" in a transaction). Version objects are also cached by BOManagers for rapid repeat access within the same transaction.

    A Version object has the following responsibilities:

    • Remember the transaction the version is in.
    • Remember the "shell" BO for the version.
    • Remember the hidden copy of the data for the BO.
    • Remember the last modification count of the version. This count is bumped every time the version is updated.
    • Remember the last modification count of the parent version at the time the version was made This value is used to know whether the version of the BO in the parent transaction has been modified subsequent to this version being created. This is used to collect optimistic (non-locking) transaction isolation collisions.
    • Remember the state of the version. This is encapsulated in a separate state object. The basic states are
      • initial
      • new
      • retrieved
      • deleted.
    • Handle state transitions. For example, objects may go from retrieved to modified or deleted.
    • Detect transaction isolation collisions (delegated to the state objects and isolation policies).
    • Acquire and release locks (requested by transaction isolation policy, performed when a version is first created for read or write, delegated to isolation implementor).
    • Register version in transaction registry.
    • For persistent BO versions perform the appropriate Create/Read/Update/Delete (CRUD) on the database based on version state to reflect changes. This is driven by the resource object during transaction commit, and is interpreted by the versions helper state object.

    VersionState objects are helper objects for version objects.

    e s kb($ 27HI6ɿ6$0:$ ./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejpl.htmm.ivj$$ The persistence layer

    The persistence layer

    In addition to the support for objects, relationships and transactions provided by the business object layer, Persistence Builder provides support for persistence by mapping objects to a database or "function call" backend.

    The persistence layer is implemented by generating parallel class hierarchies of classes to the business object hierarchy. Instances of these parallel classes are responsible for mapping the business objects and relationships to and from the backend store.

    Two of these hierarchies are:

    • DataObject
    • ServiceObject.

    Related references
    DataObjects
    ServiceObjects
    Mapping
    Caching
    Custom queries
    DataStore
    ResourceManagers
    Resources
    BOManagers, Versions, and VersionStates
    External collision management
    Lite collections
    Defining complex mappings

     k)$27l5ɿ6$$./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejpm.htmm.ivj$$ Programming model overview

    Programming model overview

    Persistence Builder offers a single-level store model. Tracking which objects are created, deleted or modified in a transaction is done by Persistence Builder. Thus, at the highest level, the program flow is:

    1. Start a transaction.
    2. Create, Retrieve, Update and Delete objects, Navigate, Add and Remove from relationships.
    3. Commit or roll back the transaction.

    Persistence Builder offers support for both optimistic (non-locking) and pessimistic (locking) policies for managing transactions. In the case of optimistic management, Persistence Builder defers all locking and updates on the backend store to the commit phase of the Persistence Builder transaction. This means that, at least in the case of optimistic transaction management, it is feasible to have long-running Persistence Builder transactions that have good concurrency characteristics on the backing store, because they do not consume locks or other significant backend resources. In this case, the programming model looks more like:

    1. Start a transaction.
    2. Repeatedly interact with a user and Create, Retrieve, Update and Delete objects, Navigate, Add and Remove from relationships.
    3. Commit the transaction.

    Persistence Builder also supports read-only access outside of transaction scope, so a more complete model would be:

    1. Repeatedly interact with a user and Retrieve objects, Navigate relationships.
    2. Start a transaction.
    3. Repeatedly interact with a user and Create, Retrieve, Update and Delete objects, Navigate, Add and Remove from relationships.
    4. Commit the transaction.
    5. Repeatedly interact with a user and Retrieve objects, Navigate relationships.

    Persistence Builder supports nested transactions, so an even more complete model would be:

    1. Repeatedly interact with a user and Retrieve objects, Navigate relationships.
    2. Start a transaction, t1.
    3. Repeatedly interact with a user and Create, Retrieve, Update and Delete objects, Navigate, Add and Remove from relationships.
    4. Create a nested transaction, t2.
    5. Repeatedly interact with a user and Create, Retrieve, Update and Delete objects, Navigate, Add and Remove from relationships.
    6. Commit or roll back the nested transaction t2.
    7. Repeatedly interact with a user and Create, Retrieve, Update and Delete objects, Navigate, Add and Remove from relationships.
    8. Commit the top-level transaction t1.
    9. Repeatedly interact with a user and Retrieve objects, Navigate relationships.

    There is no requirement that a transaction complete before a thread creates a new sibling transaction. For example, a thread may start a transaction, modify some objects, suspend the transaction and create another, modify more objects, resume and commit the first transaction and so on. There is also no requirement that nested transaction complete before its parent resumes. Within a transaction, modifications made in a parent transaction are visible, but modifications made in uncommitted sibling or child transactions are not.

    Persistence Builder also supports independent Transactions executing simultaneously on separate threads, so the above program flows can be running simultaneously on multiple threads of execution within the same Java program. Nested transactions must always run on the same thread as their parent.

    d"  kx*$27HI6ɿ6$0z$./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejruna.htm.ivj$$ Persistence Builder runtime architecture

    Persistence Builder runtime architecture

    Persistence Builder provides transactional support and backend store mapping for objects and relationships. The runtime system is separated into two major layers:

    • Business object layer. The business object layer provides support for business objects and the management of relationships between them. It also provides transaction isolation (including support for nested transactions) for changes made to business objects and relationships. The entire business object layer including transaction and relationship support can run without the persistence layer.

    • Persistence layer. The persistence layer provides support for mapping objects to and from legacy backends. Backends supported include relational databases and "function call" backends.


    Related references
    Programming model overview
    Metadata storage model

     lB+$127HI6ɿ6$P%q./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejschb.htm.ivj$$     aeiot<>bdhlnrs ./cfgmpuy"=Dvw,-2STkx#15CEFHIPRj&03689:;BGKLMNWY!()4AJOU_q7Q\VHf]s-_QWZaE3Yۧ;OKt)-b'V|B0B`<~PPBT@gthXBA`z'О^?i(NЎ9o-֊`@`:vԠ-t:65:@`gmjYPJ/ (PB (PB (PB (PB (PB (W Q< 0PA0  ` 0$8T6֏,5( p @AL巀@' :, `၊ t[=P B 읦 !a|p0  $ * t[=P B  t4O/$:t/w`X0@%DgthXBhDDO/$Dž :8`0  `QԱI^1Kd @ ' pH {5,pd(PB (PB (PB (PB (PB (PL(H~A('&Е$Q:Z)&c%С3 2ˑ*L(HDXP $ D=Ëm< A%JQRJhImpGOcPis\-u[hg;xwdc^߹ƶo>j>a^;@=DU&{$",(Hp))j'F?[\r?N2|i^enH'.%jd*)N>-⒖xcU!H<)ӷl2 tԕ$2N=%-Dxˡߛ+S<ֆq y`f=C~w lTK2́ӷ<O rB:Od=Ǻ$:OQI:  @%@t0ljzrۖ]E%JS@*'>0,3!Ëm< C(Q.g];(9DԗZ:bJJZBwy> .;A~z@vSkĶx+r]q #qy%!wQZ$\ƢOy%\ƽdz\a[Qu=6x{kv nYu0#&+u@c@=If+RJZ,b$zRV@ Ŷ:JZ(;f޷n?q0\*voG-t!qLd>2_[]ro3 t`X4 zVv=^?}$/j;<;tJcP$/ҵ1bJZ tT+Pv8qm!qs$RԖ1A#:8ltmQ_F|Km?[;;desC/ z?!!˗B-jqL`ey x:I!۝?is l\ƹx{x:v0,+P;/o>Rҵ @IKPYj1[RZs1%-D:ORYJԕ"~CxqmQ\cI)j t%PHΎ!匷C~Qn;o7vW1mx6V읕k:ORYJԕ"~Cxqm~;+JZ%-Ic3yyc-!H}mvN4s߭̇G$zRVBGŎ4IKRXa^g[m̆vW1?o۝ ?h3! tT+Pa8 FKk9@#qпxs s2@IK5IZ9,dۥn[hJZ%-Ic>\#&+ux:cF[hBM[1Gm@=If+RV oQ{LŶ:JZ()C*υ B.GFS8ʄoΎ!GI$Ԗj%j ł<8YpGOBoIKRXG.?2PkĸYfCЍ==mY/g- kiC+¥H',%jJË̇-tt*v)j t%PON|Kd=hmo졔<~xˆ<~6PGOmvN4Omx ?cO߹@2N?[]p\CskЍ5!R~.;_[^%o읕hIK5IZpJ28ЩǤRԖ1@}>;Q.~#*?[G}P c)! ;:RR@)jK SǛON;.^d0ﭯuGI$:OR]jJԕ>VJZR'!§meоumп/go7vW1TBsm[r˨y6[@4(zRV:X%jIKQ%IZ'7QIKQ,bq~?nq;Q{c+B?Vꏗ)@c@=If+RJZ,b$zRV@é^8|4IKRX>,T~I%IZ'7Sp[|.vNdHs+uvQǒ@=A+up{/raz89f96o:v0,IKIZ9:ROm|)O6˗wODvG{'esl:v=˗wa\Nq ySl9WeDYc+NfCkI%֤A6.]'RJZ=˗w}m}c;+nw~ :'esl:v|]u:OR]jJHK˨$ WЗY }^O2̇[gT^<޷k'W~وm} tԕ>V9IKQ<=q[P!F[k@Ǚ }m}F[} 9|Yb+P'CRRO t !φ~ǣs2[\sm @A tԕ%-D}ve˻NBS띑\ƣ#+ν|~?jj1uD,6˗w>yx(|0eQ.~ }mrH'.%j r:ROm~F6\NfCk@xG -BwBDmt@[;-g/2{۝T/g=._]9JQ%֤AI)j'!}mvN5ϨD/lemF¾}DWmvN5{*{"I%֤@xʆROCBN}B'{c(/n>@T6mބh6K읕kFgv}sk´^ >~<IH9Dԕ97:))j'E|A嶋gzt|¼]W3 @9:JA tԕ' :`RROF[k :`yWZ$u|Qg/;ꏗ,Bomy0lI t@=If+RV>P,X"IKRXGk.?2Pk+us2ӵB5H%1 tԕ@%-D{o7N s@Cۏ:_3o7ܲ>a^FMV$(zRV:X%jIKQ%IZ|RR@)jK}ܲypg4WQ'Өm?+u3{{,佱I%IZxvCx;ϊJZ%-Icۏ}rۖ]|3>n z[j$Quz@\en}oe;^|2 tT+PON,IKQ,bq~?ON8}#/5 6,evBx|~vo[ł>O߹dt7 v٭uݷ#Ex*X$:OR]jJUR1IKW tC 闶|y̅Y:vmx{h;,Wn`X4 H,r',%jIKQRV:ORYJԕ!5xR;xIKQ,bq~?PymmpBBJt?{'eofB D/r?[\smo3 t`X4 y(zRVNNq=m.̨B;+$ԗZڌlw|I)j'F6\NT}kvW1O|kz읕hIKIZ&߾n;o읕i%-D:OR]jJ0GR?en\Yx#VQ}d0ﭮfB G[\̅Y:vmI%֤A Y[%-D3!Vk#Vc>Yx#VGyy _)5%WhK>t~υ0GR?enx{k5B+u{eOe?~?hυ0GR?enFN|[g@)(zRV@}>;\XE%-D ڏ;<]oe&3!˅Nd*c\Ɖ,X#>4[^f@Cy5[H^B4Zo7m?¥@)Q%֤\'Pi2RRFuv]p9 s*65u(<9þΧII t tIbIVtQ)f $)NsDJR@\(H6 ["0 %@T t>)*T@\(H6 ["08JЩyA  Ŷ|RTҸ)3 0Pmb$NEa*Bm}n/G0``$<)ӷlQpRg`" 6In  ÃEP:;o7/D3p0z<AN>-⒥DIQh+%p,",( P:;o7ΓϷ* t LŒ$DAX-Ӂaa@ph@JЩy|m溾\?o~{{j%J+= V!KtXDXP&P:;o7ύdW:OIRJl(BDAm8 D o5V/e:OJ:W&{aF " ChL84$%@T )&{{j'%J+= V!KtXDXP&Ĩo^~FsZ{vW1eә* t LŒ$DAX-Ӂaa@ph %@&6yx E%J+= V!%p,",( D'P3 t椩QpRg`" 5ķNEa/6ov!o7'+u$QpRg`" 5ķNEaV|),ζ)*T@\(H6 q-Ӂaa@pht*vookuJ:W:gNB@ A96%Jz= $$6\Kt?f֊^?i%IbIDU&Jy=MP$@ ,'A <"(H04JT%IK"9 pǤR kR,$ 37HI6ɿ6$ i% ./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejsqst.htm.ivj$$ The SQL Query Tool

    The SQL Query Tool

    The SQL Query Tool can be used to execute SQL code against the connection used by a generated DataStore.

    The SQL Query Tool presents two views:

    • Text entry view. In this view you can enter and execute SQL commands.

    • Results view. This is a read-only view which displays the results of the SQL commands that you execute in the text entry view.

    When you open the SQL Query Tool, you are prompted to supply the name of a data store and then a connection to the database is made. The name of the data store will be displayed on the window title.

    SQL commands are entered in the text view.

    To execute the command you must highlight the command, and then choose the Execute SQL menu item from the text view's pop-up menu.

    The Status Tool

    The Status Tool can be used to monitor the transactions, views, and caches in the systems, and to reset the state of various components. It is intended to alert you to trouble-spots in your design such as performance problems and so on.

    The Status Tool presents a single view where results of various system interrogations are supplied. For example, you can interrogate the state of your database connection, or analyze statistics on persistent objects, or home collections.

    When you launch the browser, a dialog prompts you to select an execution context within which you can collect status


    Related procedures
    Performance tuning

     l-$E337l5ɿ6$%./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejtiso.htm.ivj$$  eainostchlr >bdmpu.<=fgwy",-/Tjkv()1359IRqx#&;ABCFHLNW_02468:DEJOPU!KSY\z7MGQVFJ,y&V8A`hifM Q$ M'@}7  p P²&/ŋ ~Š$Hoɻ83qa@lpb¯56jط   I\S"cHXƒm\HAlqg^J̭,Xbŋ,Xbŋ,Xbŋ,Xbŋ,Xbŋ@ `@  08 0@A` X"@$ЎD]1cXND Ax00HAlX u`P @  0``<3^H0hm00Hoɻ83qaGc_0+"bX9nV#$H4I7gp",)|Eଉb€/A   A(Hoɻ83qa\&sVDa@ fP&H0h ( .LTXPpZNŅ@ QD(6g^J̭,Xbŋ,Xbŋ,Xbŋ,Xbŋ,Xbŋ/ICŅI  Š@$I m o  (9mȷ#"p(Pj@1D(⃓3Q+‹)=kbK+4I*=_0Piek[E2-(I$ 8/Gk[E2-3mkHkhE .d4b$ S^|khE ]O3+[E2-+2$ SX3zFkOִֿ(N Wֶd[ ,+2IiQeQ)o1BK(NH U_3J!Z~aEs/Ŋ ,+6˵S"c5Ow#Q$=f‹) u(4/Q)o1ѻz$^.T[ @ $ȓM{ÝJ7>tX^>굧~/Z)o1&BI 9=|d.Ly1ᔡizaC֟N W$[E2-2$^NO˕(@x?Z$12Q)o1Z.T[ @I$ 84׽#3j<[E2-1!=_uNZPs<ekhEZK3?69 I2ꜵ}sQ)o1BpgŏIyvd[f_7^}sS2IA_P$(⃓eaU鏙?Z)o0fU%0khE^BsC)\iQeRY|khE$I`R9o|N Wֶd[g`^{Id%f"k[E2-I>5_ƞs<kyi{SC{ÒNHpkOɎ1uϧU}9 Qe [E2-PHq@-khEKV{#'xELHڏ."FkOqt5AUbϧUɝBp d'}=V/^WƴIPY$4?=Q$IaxZԡ89?Rz kuf֞I=kxGcF_PiekسDbI QBu-Y_=h+1V(4Rz!+1VxY~-?=k_֖i1:bg$ix֟mȷIOW!sU=V+֏Xֿ䐿Rz&Vc\!& 7OU~,NIG$".gi B+;+͎e۠2&#c\5$UHq@62$^k[E2- cy=9"Ly$/`U듃z7uK/_ "٠i~eC \À?0N/iid?ՅOֶd[a~u_hoXftI2XAUagǪ-ykO%^KQ$cdN9A u_iEh_$zi^Ϊ ֟mȷÝJR@H ֟= ֟mȷ#]g'"ef<5$PBW0AIG89?/Ԟ|+5WHy?sdJ֎''LdžY$Z|cedIִ u֏Bp+khEOșY rg0~ִ`NY<YkCz1'}c?WNP`i_Z9AhE(I$ 8HqBCŅ`QAhETBR(P맫FuZo*ky#27/-mȷ8!R3!-}b5-d'9Z~IHLy c>iLy9ԢH_cZit$P맫FuNPǃ9nk,xb\X^֟{ByKHVKiߚnY([pBִ&|̄ uϧU< $[E2-(Nw 36-Ouiu%Zy$ [E2-75Z~-Oq?&"i䐃ֿmȷSR7Hi Ԭ*طS*ky#$Q$ H8M€u`p ( TAnr-4wkbG_cbXAI(9/Y4g4s|[[iPGص|`wC~fI<Xwŵ=kK^>dI^D?Hiƶ3vBI i,?) <ǁUJkm%X/u+g֟:"ߞ_c0紼fֶd[ ^5Z)o0IyuGi^ZZ~,/J0kys?Iad?~_u,?R \/Yp$( RA m o3E3< NW7ŵƑݭW`P'r,Pk(5 Q%=f朮oky#0wkbGK+Q1`Xac,y-x'x'yp#5H $ϧU(U(vf1`9Ԭ_ƱZ~$s~{XkaixͭmȷAL(~d#cs<:9Ԭ}}idI֟kl2W?4H/Oix$KֵS"`/Q xrd#kiK谽+.5 "Z~,/JH~\< ֟ÝJ֗8xD5c/pr^8јkyVh$,?AM}y|1}iK mW+e~δH,?W hv,E8!ZY$9+`/8>O/u,??u+L(~! h|XNZI3Z)o1Z׸Os^5cy$G4N_\OXE笞?!iwŏֶd[V>nxi.Q |=axwI$D9} <ϭ?5N[~%okc9jxmȷIi.QaΥbzrƴ0=qf:#i%^z0I$ 8HqBCŅP!(xoky#0Gص|f 1X(PjA@Kz9\FaEv-_{(43E;<2ǝmOZ׏YRpKqIe2#|1!8i,?Ꮊnoy/s^3Epj<#^kiZ2Ghǜc_ʔiiz$,?ƛO^S"b+μֶd[VZY$Z)o0 ÝJc(xyp9p@f%^z$<#Z1=Z~S"`/Z~TCu+ [98ƿ(?OW)U ʔVVeT$2GcZ~> Pƶrqji{ qd0/f_c:f%^KVeTy5zOs9$Z~A_.QIאыq%yR"o\(=6TC5Rgct2?\9>3z#--z!}qZFkOqt5_ _7*P! !m=zK1V'ҽliySx-_\;$@19@_6YkO 0s8SD:.^Dk޷7AnZׇ}gt^$L SĒ@$I)1XPΰLQ@Anr-4>lZ3 @ÖbXAI(9/Y4g4s|[[iP[=YZqǝ cik׬@8 ʔg i $ϧU֟:=y50紼fֶd[ ZIyuG|ӮdurTCLkK֒/$@+η?OW)J+u+2q|#|1?u{c[j_8J4zh3/tI}әrNFֿӕmo0f'$:#iK谼>OÝJ  c>,~-Or$^Id[V>iߎ\ '/I"y'>Oư_%o4׻b[E2-+pA7<Dz˔zBp#X^og֟-?ZZ! h|XNZ[E2-+_GqοZ~/=d'N֖H/;?3 JzA2'%=E9P}s0yDik֟X3Z~cS !|${(=|fl@iXEᎺ8cNW dkM:j}s?DJ)8B(53Z~PH\NP ͡AVz֕S?HxIˣ rt'f/J98׭/YD$Z~7< Ja-xw&wEL SLCF,/}Υc=^h3/ԨGO01Nב&I < ZZL9$)1XP6 рa(AQ$@+ $HjFe M7ذL_ (S7R,(H"C\6fF\αa@+A Xaa@ P(Pi@ M 0P knE.$ 37HI6ɿ6$ o% ./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejtul.htm.ivj$$ Persistence Builder Tools

    Persistence Builder Tools

    The Persistence Builder tools are a collection of development browsers, tools, and code generation services that help you build persistence support for your application. They are available from the Persistence Builder Tools option under the Workspace menu.

    The browsers are your main resources for building your application on the Persistence Builder framework.

    The browsers are used to describe your object model, database schema, and data store mapping , as well as generate the code the framework needs to manage your business objects. Using the Status and SQL Query tools, you can collect and study information to ensure that your business objects are exhibiting the behavior you expect.

    The browsers and tools are briefly outlined below:

    • Model Browser. For defining your object model, its classes and associations and generating schemas from a defined model.

    • Schema Browser. For defining a logical description of your data store to which your object model will persist. Existing database schemas can be imported, and models can be generated from schemas.

    • Map Browser. For mapping your object model, or persistent classes, to your logical (or database) schema. Each persistent class needs a map which associates the attributes of the class with their corresponding columns (or fields) in the database tables (or record) and also associates class associations with table connections. You must first define your object model and schema before you can map them.

    • SQL Query Tool. For occasional use, when you need to query the database directly.

    • Status Tool. For collecting various kinds of statistics during development, such as looking at persistent object, data store, and transaction statistics.

    2 k갯/$} 37l5ɿ6$0u%} ./usr/IBMVJava/html/enterp/en_US/visbuild/html/r5ejusrc.htm.ivj$$ User code sections

    User code sections

    In addition to providing code generation services, Persistence Builder also provides a way for you to insert your own code into methods created by these services. This open path into the generated code is provided in the event that you have special application requirements that may call for unique processing. In this way, you can take advantage of the services that Persistence Builder provides as well as add your own processing.

    All generated methods are assumed to have user code.

    Using the user code sections in the generated methods guarantees that your code will remain intact across regenerations of your model. When you regenerate existing code, the code generator will merge the lines you added into the regenerated version of the method.

    User code sections in Persistence Builder are delimited in the methods using comments.

    User code sections are generated in the business object, key, and data object classes.

    In some cases specific methods are noted. In other cases the generic getter/setter terminology is used indicating attribute accessor methods. In parentheses, the names of the user code sections are given. These names are found in the comments of the user code section. Think of them as labels for the user code suggesting what is to done at a particular linear section in the code.

    ass kx&0$37BI6ɿ6$@z%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhdabns.htm.ivj$$ Data Access Beans

    Data Access Beans

    The following beans provide access to relational data:


    Bean Description
    Select A non-visual bean used to access relational data
    DBNavigator A visual bean that provides a set of buttons used with a Select bean


    Related procedures
    Accessing Relational Data

    Related references
    Beans for Visual Composition

    g k@1$|#37BI6ɿ6$%|#./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhddbn.htm.ivj$$ DBNavigator

    DBNavigator

    Use the DBNavigator bean with a Select bean to access relational data. The DBNavigator bean provides a set of Buttons that execute the SQL statement for the associated Select bean; perform other relational database operations, such as commit updates to the database; and navigate rows in the result set. The DBNavigator bean is a Swing component, and requires the Java Foundation Classes (JFC) library.

    Palette category
    Database
    Palette bean
    DBNavigator
    Project
    IBM Data Access Beans
    Package
    com.ibm.ivj.db.uibeans
    Type
    DBNavigator

    Properties

    The DBNavigator bean has the following properties:

    beanName
    Specifies the name of the DBNavigator bean instance. It must follow standard naming rules for beans. The default name is DBNavigatorn, where n is the number of DBNavigator beans with default names; for example, the first default name isDBNavigator1.

    model
    Used to associate the DBNavigator bean with the Select bean. The default is a null value.

    showCommit
    Specifies if the Commit button is displayed.

    A value of True means that the Commit button is displayed. A False value means that the Commit button is not displayed. The default value is True.

    showDelete
    Specifies if the Delete button is displayed.

    A value of True means that the Delete button is displayed. A False value means that the Delete button is not displayed. The default value is True.

    showExecute
    Specifies if the Execute button is displayed.

    A value of True means that the Execute button is displayed. A False value means that the Execute button is not displayed. The default value is True.

    showFirst
    Specifies if the First button is displayed.

    A value of True means that the First button is displayed. A False value means that the First button is not displayed. The default value is True.

    showInsert
    Specifies if the Insert button is displayed.

    A value of True means that the Insert button is displayed. A False value means that the Insert button is not displayed. The default value is True.

    showLast
    Specifies if the Last button is displayed.

    A value of True means that the Last button is displayed. A False value means that the Last button is not displayed. The default value is True.

    showNext
    Specifies if the Next button is displayed.

    A value of True means that the Next button is displayed. A False value means that the Next button is not displayed. The default value is True.

    showPrevious
    Specifies if the Previous button is displayed.

    A value of True means that the Previous button is displayed. A False value means that the Previous button is not displayed. The default value is True.

    showRefresh
    Specifies if the Refresh button is displayed.

    A value of True means that the Refresh button is displayed. A False value means that the Refresh button is not displayed. The default value is True.

    showRollback
    Specifies if the Rollback button is displayed.

    A value of True means that the Rollback button is displayed. A False value means that the Rollback button is not displayed. The default value is True.

    toolTipsEnabled
    Specifies if tool tips are enabled for the buttons. Tool tips are short descriptions of an interface element, such as a button.

    A value of True means that tool tips are enabled for the buttons. A False value means that tool tips are not enabled for the buttons. The default value is True.

    Buttons

    The buttons that can be displayed with the DBNavigator bean are as follows:


    Commit button
    Commit. Commits any uncommitted changes to the database made by the associated Select bean or made by any other Select bean that shares the connection alias with the associated Select bean.


    Delete button
    Delete. Deletes the current row of the associated Select bean. If the control that displays the data is connected to the bound column properties of the Select bean, its display changes to reflect the deleted row.


    Execute button
    Execute. Connects to the database, if necessary, using the connection specified in the connection alias for the associated Select bean, and executes the SQL statement for the associated Select bean.


    First button
    First. Sets the currentRow property of the associated Select bean to the first row in the result set. If the control that displays the data is connected to the bound column properties of the Select bean, its displays data from the first row in the result set.


    Insert button
    Insert. Inserts a new, blank row in the result set at the position specified by the currentRow property of the associated Select bean. If the control that displays the data is connected to the bound column properties of the Select bean, it displays blanks.


    Last button
    Last. Sets the currentRow property of the associated Select bean to the last row in the result set. If the control that displays the data is connected to the bound column properties of the Select bean, it displays data from the last row in the result set.


    Next button
    Next. Sets the currentRow property of the associated Select bean to the next row in the result set. If the control that displays the data is connected to the bound column properties of the Select bean, it displays data from the next row in the result set.


    Previous button
    Previous. Sets the currentRow property of the associated Select bean to the previous row in the result set. If the control that displays the data is connected to the bound column properties of the Select bean, it displays data from the previous row in the result set.


    Refresh button
    Refresh. Executes the SQL statement for the associated Select bean. It is designed to reexecute an SQL statement that was previously executed. The button does not reconnect to the database. If the SQL statement is changed after its initial invocation, the initial version of the query is executed.


    Rollback button
    Rollback. Rolls back any uncommitted changes to the database made by the associated Select bean or made by any other Select bean that shares the connection alias with the associated Select bean.


    Related procedures
    Accessing Relational Data

    Related references
    Select

    r th k2$37BI6ʿ6$%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhdsel.htm.ivj$$ Select

    Select

    Use a Select bean to access relational data.

    Palette category
    Database
    Palette bean
    Select
    Project
    IBM Data Access Beans
    Package
    com.ibm.ivj.db.uibeans
    Type
    Select

    The Select bean has the following properties:

    beanName
    Specifies the name of the Select bean instance. It must follow standard naming rules for beans. The default name is Selectn, where n is the number of Select beans with default names; for example, the first default name is Select1.

    currentRow
    Specifies the current row of the result set. A value of -1 indicates that there is no current row, that is, an SQL statement has not yet been executed or the result set is empty.

    currentRowInCache
    Specifies the current row in cache. A value of -1 indicates that there is no current row, that is, an SQL statement has not yet been executed or the result set is empty.

    fillCacheOnExecute
    Specifies whether all the rows of the result set are fetched into memory (cache) or only a subset of the result set. A value of True means that all the rows of the result set are fetched, up to a maximum number of rows. The maximum number of rows is the maximumRows value, or the product of the packetSize value multiplied by the maximumPacketsInCache value--whichever is smaller. Suppose a result set is 1000 rows, fillCacheOnExecute is True, maximumRows is 100, packetSize is 10, and maximumPacketsInCache is 50. Executing an SQL statement fetches 100 rows into the cache, that is, the value of maximumRows.

    A False value means that only the number of rows in the result set needed to satisfy the SQL statement are fetched into the cache. For example, if a result set is 1000 rows, but the application only displays 10 rows, only 10 rows are fetched into the cache.

    The default value is True.

    lockRows
    Specifies whether a lock is immediately acquired for the row. A value of True means a lock is immediately acquired for the current row. A False value means a lock is not acquired for the row until an update request is issued. The default value is False.

    maximumPacketsInCache
    Specifies the maximum number of packets allowed in the cache. A packet is a set of rows. A value of 0 means that there is no maximum. The default value is 0.

    maximumRows
    Specifies the maximum number of rows that can be fetched into the cache. A value of 0 means that there is no maximum. The default value is 0.

    packetSize
    Specifies the number of rows in a packet. A value of 0 means that there is no maximum. The default value is 0.

    query
    Specifies the connection alias and SQL specification for the Select bean. See Specifying a Connection Alias and Making an SQL Specification for further information.

    readOnly
    Specifies whether updates to the data are allowed. A True value means that updates are disallowed even if the database manager would permit them. A False value means that updates are allowed, provided that the database manager permits them. he default value is False.


    Related procedures
    Accessing Relational Data

    Related references
    DBNavigator

    se
     k@)3$37>I6ʿ6$@%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjaaplt.htm.ivj$$ Applet

    Applet

    Palette category
    None
    Palette bean
    None
    Project
    Java class libraries
    Package
    java.applet
    Type
    Applet

    An Applet-based bean provides the foundation for a program that can be downloaded and run in a Java-enabled web browser. To use this bean, specify Applet as the superclass for a new applet bean.

    Use a JApplet bean, rather than an Applet bean, if you want to use Swing components in the applet. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Composing an Applet

    Related references
    Applet Beans
    Beans for Visual Composition

     k54$'37@I6ʿ6$0%'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjabutn.htm.ivj$$ Button

    Button

    Palette category
    AWT
    Palette bean
    Button
    Project
    Java class libraries
    Package
    java.awt
    Type
    Button

    Use a Button bean to provide a push button that the user can select to perform an action. For example, you can define an OK button to let the user save changes and close a window.

    Use a JButton bean, rather than a Button bean, if you want to use it in a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Button Component

    Related references
    Button Beans
    Beans for Visual Composition

    U k5$@37@I6ʿ6$0%@./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjachce.htm.ivj$$ Choice

    Choice

    Palette category
    AWT
    Palette bean
    Choice
    Project
    Java class libraries
    Package
    java.awt
    Type
    Choice

    Use a Choice bean to provide a drop-down list that lets the user select a single choice. The current choice is always displayed. The user can open the list by selecting the drop-down button.

    Use a JComboBox bean, rather than a Choice bean, if you want to use it in a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a List or Slider Component

    Related references
    List and Slider Beans
    Beans for Visual Composition

     k6$ 47@I6ʿ6$0% ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjachkb.htm.ivj$$ Checkbox

    Checkbox

    Palette category
    AWT
    Palette bean
    Checkbox
    Project
    Java class libraries
    Package
    java.awt
    Type
    Checkbox

    Use a Checkbox bean to provide a settings choice that has two states, such as on and off. A mark in the check box indicates that the choice is selected.

    Check boxes are independently selectable, unless they are defined in a group. Use check boxes in a group to provide a set of mutually exclusive choices that appear as radio buttons. To define a group, associate each Checkbox bean with a CheckboxGroup bean.

    Use a JCheckBox bean, rather than a Checkbox bean, if you want to use it in a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Button Component

    Related references
    Button Beans
    Beans for Visual Composition

    row k^7$47@I6ʿ6$0%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjachkg.htm.ivj$$ CheckboxGroup

    CheckboxGroup

    Palette category
    AWT
    Palette bean
    CheckboxGroup
    Project
    Java class libraries
    Package
    java.awt
    Type
    CheckboxGroup

    Use a CheckboxGroup bean to provide a set of mutually exclusive choices that appear as radio buttons. Each choice in the group is a Checkbox bean that you associate with the CheckboxGroup bean.

    Use JRadioButton beans with a Swing ButtonGroup, rather than Checkbox beans with a CheckboxGroup, if you want to use them in a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Button Component

    Related references
    Button Beans
    Beans for Visual Composition

     k>U8$47@I6ʿ6$0%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjachkm.htm.ivj$$ CheckboxMenuItem

    CheckboxMenuItem

    Palette category
    AWT
    Palette bean
    CheckboxMenuItem
    Project
    Java class libraries
    Package
    java.awt
    Type
    CheckboxMenuItem

    Use a CheckboxMenuItem bean to provide a menu setting choice that the user can toggle on and off.

    Use a JCheckBoxMenuItem bean, rather than a CheckboxMenuItem bean, if you want to use it in a Swing menu. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    l/ent k9$47>I6ʿ6$0%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjadial.htm.ivj$$ Dialog

    Dialog

    Palette category
    AWT
    Palette bean
    Dialog
    Project
    Java class libraries
    Package
    java.awt
    Type
    Dialog

    Use a Dialog bean to provide a custom dialog. A dialog is typically used to display or gather information for a single purpose.

    The Dialog bean supports a client component in which to place other components. The default client component is a Panel bean named ContentsPane. You can delete the default client and replace it with another container component.

    Use a JDialog bean, rather than a Dialog bean, if you want to use Swing components in the dialog. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Composing a Window

    Related references
    Window Beans
    Beans for Visual Composition

     k.:$i47>I6ʿ6$0%i./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjafild.htm.ivj$$ FileDialog

    FileDialog

    Palette category
    AWT
    Palette bean
    FileDialog
    Project
    Java class libraries
    Package
    java.awt
    Type
    FileDialog

    Use a FileDialog bean to provide a dialog for accessing the file system. The user can open or save files using this dialog. File dialogs are useful in stand-alone applications. File dialogs are typically not used in applets due to security constraints.

    The FileDialog bean represents a system file dialog. The bean appears on the free-form surface as an icon because it cannot be composed.


    Related procedures
    Composing a Window

    Related references
    Window Beans
    Beans for Visual Composition

    et="con kX;$ 47>I6ʿ6$0% ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjafrme.htm.ivj$$ Frame

    Frame

    Palette category
    AWT
    Palette bean
    Frame
    Project
    Java class libraries
    Package
    java.awt
    Type
    Frame

    Use a Frame bean to provide a desktop window with a title bar, sizing borders, and sizing buttons. You can add beans to the frame to define menus and other user interface components.

    The Frame bean supports a client component in which to place other components. The default client component is a Panel bean named ContentsPane. You can delete the default client and replace it with another container component.

    Use a JFrame bean, rather than a Frame bean, if you want to use Swing components in the frame. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Composing a Window

    Related references
    Window Beans
    Beans for Visual Composition

    /p k<$47@I6ʿ6$@%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjalabl.htm.ivj$$ Label

    Label

    Palette category
    AWT
    Palette bean
    Label
    Project
    Java class libraries
    Package
    java.awt
    Type
    Label

    Use a Label bean to provide a text label for your user interface.

    Use a JLabel bean, rather than a Label bean, if you want to use it in a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Text Component

    Related references
    Text Beans
    Beans for Visual Composition

    ages/n ks=$47@I6ʿ6$0%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjalist.htm.ivj$$ List

    List

    Palette category
    AWT
    Palette bean
    List
    Project
    Java class libraries
    Package
    java.awt
    Type
    List

    Use a List bean to provide a list of choices from which the user can make one or more selections. Your program can add or remove choices from the list.

    By default, the user can select one choice from the list. When the user selects a choice, any previously selected choice is no longer selected. You can change the behavior of the list to allow multiple selection.

    Use a JList bean, rather than a List bean, if you want to use it in a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a List or Slider Component

    Related references
    List and Slider Beans
    Beans for Visual Composition

    GHT=" k>$X47@I6ʿ6$0%X./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjambar.htm.ivj$$ MenuBar

    MenuBar

    Palette category
    AWT
    Palette bean
    MenuBar
    Project
    Java class libraries
    Package
    java.awt
    Type
    MenuBar

    Use a MenuBar bean to provide a set of pull-down menus for a window. When you add a MenuBar bean, one menu is automatically added to the menu bar. You can modify this menu and add other menus that you need.

    Use a JMenuBar bean, rather than a MenuBar bean, if you want to use it with a Swing window or applet. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

     k@?$ 57@I6ʿ6$0% ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjamenu.htm.ivj$$ Menu

    Menu

    Palette category
    AWT
    Palette bean
    Menu
    Project
    Java class libraries
    Package
    java.awt
    Type
    Menu

    Use a Menu bean to provide a set of related choices for a window or component. You can add the menu either as a pull-down menu for a menu bar or as a cascade menu for another menu.

    Use a JMenu bean, rather than a Menu bean, if you want to use it with a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

     k@$57@I6ʿ6$@%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjamitm.htm.ivj$$ MenuItem

    MenuItem

    Palette category
    AWT
    Palette bean
    MenuItem
    Project
    Java class libraries
    Package
    java.awt
    Type
    MenuItem

    Use a MenuItem bean to provide a functional choice for a menu.

    Use a JMenuItem bean, rather than a MenuItem bean, if you want to use it in a Swing menu. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    i kp[A$57@I6ʿ6$@%./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjamsep.htm.ivj$$ MenuSeparator

    MenuSeparator

    Palette category
    AWT
    Palette bean
    MenuSeparator
    Project
    Java class libraries
    Package
    java.awt
    Type
    MenuSeparator

    Use a MenuSeparator bean to provide a horizontal line between groups of related menu choices.

    Use a JSeparator bean, rather than a MenuSeparator bean, if you want to use it in a Swing menu. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    < k B$57@I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjapanl.htm.ivj$$ Panel

    Panel

    Palette category
    AWT
    Palette bean
    Panel
    Project
    Java class libraries
    Package
    java.awt
    Type
    Panel

    Use a Panel bean as a composition surface for other user interface components, such as buttons, lists, and text. You can add a panel to a window, an applet, or another panel. In an AWT window, a Panel can either serve as the client component, or be added to the client component.

    Use a JPanel bean, rather than a Panel bean, if you want to use Swing components in the panel. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

    ../.. k(C$057@I6ʿ6$0&0./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjapopm.htm.ivj$$ PopupMenu

    PopupMenu

    Palette category
    AWT
    Palette bean
    PopupMenu
    Project
    Java class libraries
    Package
    java.awt
    Type
    PopupMenu

    Use a PopupMenu bean to provide a pop-up list of choices for window components. The user can display the menu by clicking a pop-up mouse button on a component.

    Use a JPopupMenu bean, rather than a PopupMenu bean, if you want to use it with a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

     kF#D$57@I6ʿ6$0 &./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjascrb.htm.ivj$$ Scrollbar

    Scrollbar

    Palette category
    AWT
    Palette bean
    Scrollbar
    Project
    Java class libraries
    Package
    java.awt
    Type
    Scrollbar

    Use a Scrollbar bean to provide a slider that the user can manipulate to select a value from a range of values. A scroll bar consists of a scroll shaft that represents the range of values, a scroll box within the range, and scroll arrows at the ends of the range. A scroll bar can be either horizontal or vertical.

    Use a Scrollbar bean, rather than a JScrollBar bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a List or Slider Component

    Related references
    List and Slider Beans
    Beans for Visual Composition

    bod k^E$57@I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjascrp.htm.ivj$$ ScrollPane

    ScrollPane

    Palette category
    AWT
    Palette bean
    ScrollPane
    Project
    Java class libraries
    Package
    java.awt
    Type
    ScrollPane

    Use a ScrollPane bean to provide a pane with scroll bars. This enables you to define a pane that is not always completely within view. You can place one component in the scroll pane. If you want multiple components within the scroll pane, add a Panel bean to the scroll pane and place the components on the panel.

    Use a JScrollPane bean, rather than a ScrollPane bean, if you want to use Swing components in the pane. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

     kF$57@I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjatxta.htm.ivj$$ TextArea

    TextArea

    Palette category
    AWT
    Palette bean
    TextArea
    Project
    Java class libraries
    Package
    java.awt
    Type
    TextArea

    Use a TextArea bean to provide a large area for text entry or presentation. A text area can contain multiple lines, and is vertically and horizontally scrollable.

    Use a JTextArea bean, rather than a TextArea bean, if you want to use it in a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Text Component

    Related references
    Text Beans
    Beans for Visual Composition

    ml/ent k6G$57@I6ʿ6$@&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjatxtf.htm.ivj$$ TextField

    TextField

    Palette category
    AWT
    Palette bean
    TextField
    Project
    Java class libraries
    Package
    java.awt
    Type
    TextField

    Use a TextField bean to provide a field for text entry or presentation. A text field consists of a single line.

    Use a JTextField bean, rather than a TextField bean, if you want to use it in a Swing container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Text Component

    Related references
    Text Beans
    Beans for Visual Composition

    "1 kꨬH$57>I6ʿ6$@!&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjawndw.htm.ivj$$ Window

    Window

    Palette category
    None
    Palette bean
    None
    Project
    Java class libraries
    Package
    java.awt
    Type
    Window

    Use a Window bean to add a window without a title bar, sizing borders, and sizing buttons. This bean is suitable for a splash window that your application displays briefly at startup.

    Use a JWindow bean, rather than a Window bean, if you want to use Swing components in the window. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Composing a Window

    Related references
    Window Beans
    Beans for Visual Composition

    "1 kI$ 67>I6ʿ6$0%& ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjbaplt.htm.ivj$$ Applet Beans

    Applet Beans

    Applets are programs that can be downloaded and run by a Java-enabled web browser. These programs are generally small and specialized. An applet runs in a web page on a client system, within bounds specified by the page markup. A Java applet operates within constraints that provide security from remote system intrusion.

    VisualAge provides applet beans from Swing and AWT packages. A basic applet bean from the Abstract Windowing Toolkit (AWT) is provided in the Java class libraries project, in the java.applet package. An enhanced applet bean from the Java Foundation Classes (JFC) library is provided in the JFC class libraries project, in the com.sun.java.swing package. Although Swing and AWT beans can be mixed, it is inadvisable.

    The following beans provide applets:


    Bean Description
    JApplet or Applet A program that can run in a web browser


    Related procedures
    Composing an Applet

    Related references
    Beans for Visual Composition

     kKJ$^ 67@I6ʿ6$ *&^ ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjbbutn.htm.ivj$$ Button Beans

    Button Beans

    VisualAge provides button beans from Swing and AWT packages. Basic button beans from the Abstract Windowing Toolkit (AWT) are provided in the Java class libraries project, in the java.awt package. Enhanced button beans from the Java Foundation Classes (JFC) library are provided in the JFC class libraries project, in the com.sun.java.swing package. Although Swing and AWT beans can be mixed, it is inadvisable.

    The following beans provide button components:


    Bean Description
    JButton or Button A push button, generally used to perform a function
    JCheckBox or Checkbox A setting button that is checked when selected
    JRadioButton or CheckboxGroup A radio button or group for mutually exclusive settings
    JToggleButton A two-state push button that appears to be pushed in when selected


    Related procedures
    Adding a Button Component

    Related references
    Beans for Visual Composition

     klK$67>I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjbcntr.htm.ivj$$ Pane and Panel Beans

    Pane and Panel Beans

    A pane or panel is a container for other components. It is used within another pane or panel, within a window, or within an applet. VisualAge provides pane and panel beans from Swing and AWT packages. Basic pane and panel beans from the Abstract Windowing Toolkit (AWT) are provided in the Java class libraries project, in the java.awt package. Enhanced pane and panel beans from the Java Foundation Classes (JFC) library are provided in the JFC class libraries project, in the com.sun.java.swing package. Although Swing and AWT beans can be mixed, it is inadvisable.

    The following beans provide panes and panels:


    Bean Description
    JDesktopPane A pane for a desktop within another Swing container
    JEditorPane A pane for editing defined text types, such as HTML
    JOptionPane A simple dialog pane
    JPanel or Panel A composition surface for user interface components
    JScrollPane or ScrollPane A scrollable view for another component
    JSplitPane A split view for other components
    JTabbedPane A tabbed view for other components
    JTextPane A pane for editing text with visible styles and embedded objects


    Related procedures
    Adding a Pane or Panel

    Related references
    Beans for Visual Composition
    Applet Beans
    Window Beans

    e kf7L$X67>I6ʿ6$8&X./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjbeans.htm.ivj$$ Beans for Visual Composition

    Beans for Visual Composition

    VisualAge provides a wide range of beans that you can use to visually compose your own program elements. These include the following:

    The following topics describe beans provided by IBM. When you create your own beans, you can add them to the palette. See the related task topic on modifying the palette.

    User Interface Beans

    VisualAge provides a set of user interface beans that you can use to compose an applet or application. Basic user interface beans from the Abstract Windowing Toolkit (AWT) are provided in the Java class libraries project. AWT beans are in the java.awt and java.applet packages. Enhanced user interface beans from the Java Foundation Classes (JFC) library are provided in the JFC class libraries project. Swing beans are in com.sun.java.swing and related packages.

    Although Swing and AWT components can be mixed, it is inadvisable. For this reason, VisualAge does not allow you to drop AWT beans on Swing beans. Because you might want to add Swing beans to AWT beans that you created before Swing was available, VisualAge does allow you to drop Swing beans on AWT beans. You can morph the AWT beans to Swing beans when you are ready to convert completely to Swing.

    The problem with mixing AWT and Swing beans arises from the fact that all AWT components have peer classes that are specific to the operating system, while most Swing components do not. Components with system peers are known as heavyweight components. Components without system peers are known as lightweight components. The only Swing heavyweight components are JApplet, JDialog, JFrame, and JWindow. Painting problems occur if heavyweight components are children of lightweight parents, because the heavyweight components always paint over lightweight components.

    VisualAge provides its own BeanInfo classes for Swing and AWT beans. These BeanInfo classes are tailored for visual composition.

    Swing beans have a LookAndFeel (L&F) architecture that specifies how Swing components appear and behave. On the Visual Composition Editor, Swing beans appear in the default, cross-platform Metal L&F implementation. To change the runtime appearance to the System L&F of the current platform, execute the following code in your main method before you construct your components:

    String myLookAndFeel = com.sun.java.swing.UIManager.getSystemLookAndFeelClassName();
    	com.sun.java.swing.UIManager.setLookAndFeel(myLookAndFeel);
    

    The myLookAndFeel can be the name of any class that implements com.sun.java.swing.LookAndFeel and is available on the current platform. This code changes only the runtime L&F implementation and not the images on the Visual Composition Editor.

    VisualAge information about Swing and AWT beans supplements class information from JavaSoft. VisualAge reference topics for these beans provide links to JavaSoft class information. The following topics describe these beans:

    Servlet Builder Beans

    VisualAge provides a set of web interface beans that you can use to compose a web page or a servlet (an applet that runs on a web server). The following topics describe these beans:

    Data Access Beans

    VisualAge provides a set of data access beans that you can use for querying relational databases. The following topics describe these beans:

    Factory and Variable Beans

    VisualAge provides Factory and Variable beans that you can use to dynamically create and reference bean instances. The following topic describes these beans:


    Related concepts
    How Classes and Beans Are Related

    Related procedures
    Using VisualAge Beans in Visual Composition
    Managing the Beans Palette

     kBM$" 67BI6ʿ6$0H&" ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjbinst.htm.ivj$$ Factory and Variable Beans

    Factory and Variable Beans

    VisualAge provides beans that enable you to dynamically create and reference bean instances visually. These beans are not Java classes. A Factory creates new instances of a bean type. A Variable references any instance of a bean type that you assign to it. With either a Factory or a Variable, you specify the bean type that it can create or reference.

    The following beans provide support for bean instances:


    Bean Description
    Factory A bean that dynamically creates instances of Java beans
    Variable A bean that provides access to instances of Java beans


    Related procedures
    Dynamically Creating and Accessing a Bean Instance

    Related references
    Beans for Visual Composition

    ndow Menu and Tool Bar Beans

    Menu and Tool Bar Beans

    VisualAge provides menu beans from Swing and AWT packages and tool bar beans from Swing and IBM packages. Basic menu beans from the Abstract Windowing Toolkit (AWT) are provided in the Java class libraries project, in the java.awt package. Enhanced menu and tool bar beans from the Java Foundation Classes (JFC) library are provided in the JFC class libraries project, in the com.sun.java.swing package. Visual composition implementation beans are provided in the IBM Java Implementation project, in the com.ibm.uvm.abt.edit package. Although Swing and AWT beans can be mixed, it is inadvisable.

    The following beans provide menu and tool bar components:


    Bean Description
    JCheckBoxMenuItem or CheckboxMenuItem A menu choice that toggles a setting on and off
    JMenu or Menu A cascade menu for another menu
    JMenuBar or MenuBar A menu bar for a window
    JMenuItem or MenuItem A menu choice that calls a method
    JPopupMenu or PopupMenu A pop-up menu for window components
    JRadioButtonMenuItem A menu choice that provides one of a set of mutually exclusive setting values
    JSeparator or MenuSeparator A horizontal line that separates groups of related choices
    JToolBar A graphical set of tool choices
    JToolBarButton A button for a tool bar
    JToolBarSeparator A visual separator between components in a tool bar


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Beans for Visual Composition

    l Bar kAO${ 67@I6ʿ6$V&{ ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjbslct.htm.ivj$$ List and Slider Beans

    List and Slider Beans

    List components provide a list of items for the user to select. Slider components show a range of selection values or show progress for the duration of an operation. VisualAge provides list and slider beans from Swing and AWT packages. Basic list and slider beans from the Abstract Windowing Toolkit (AWT) are provided in the Java class libraries project, in the java.awt package. Enhanced list and slider beans from the Java Foundation Classes (JFC) library are provided in the JFC class libraries project, in the com.sun.java.swing package. Although Swing and AWT beans can be mixed, it is inadvisable.

    The following beans provide visual list and slider components:


    Bean Description
    JComboBox or Choice A selectable list with an entry field
    JList or List A selectable list of choices
    JProgressBar A progress indicator
    JScrollBar or Scrollbar A scrolling component
    JSlider A selection component for a range of values


    Related procedures
    Adding a List or Slider Component

    Related references
    Beans for Visual Composition

    > Table and Tree Beans

    Table and Tree Beans

    A table or tree provides a view of objects from a data model that organizes objects in a tabular or expandable tree format. VisualAge provides table and tree beans from Swing packages in the JFC class libraries project, in the com.sun.java.swing and com.sun.java.swing.table packages. You should not use these beans with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.

    The following beans provide tables and trees:


    Bean Description
    JTable A table view of objects from a table data model
    TableColumn A view of objects from a table data model column
    JTree A tree view of objects from a tree data model


    Related procedures
    Adding a Table or Tree View

    Related references
    Beans for Visual Composition

    d> Text Beans

    Text Beans

    Text components are available for simple text and for enhanced text and editing panes. VisualAge provides text beans from Swing and AWT packages. Basic text beans from the Abstract Windowing Toolkit (AWT) are provided in the Java class libraries project, in the java.awt package. Enhanced text beans from the Java Foundation Classes (JFC) library are provided in the JFC class libraries project, in the com.sun.java.swing and com.sun.java.swing.text packages. Although Swing and AWT beans can be mixed, it is inadvisable.

    The following beans provide simple text components:


    Bean Description
    JLabel or Label A label, usually to identify another component
    JPasswordField A text field for sensitive data
    JTextArea or TextArea A multiline text area
    JTextField or TextField A single-line text field


    Related procedures
    Adding a Text Component

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

    Vis ktR$C 77>I6ʿ6$h&C ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjbwndw.htm.ivj$$ Window Beans

    Window Beans

    Windows beans are the primary visual context for other user interface components. VisualAge provides window beans from Swing and AWT packages. Basic window beans from the Abstract Windowing Toolkit (AWT) are provided in the Java class libraries project, in the java.awt package. Enhanced window beans from the Java Foundation Classes (JFC) library are provided in the JFC class libraries project, in the com.sun.java.swing package. Although Swing and AWT beans can be mixed, it is inadvisable.

    The following beans provide windows:


    Bean Description
    JDialog or Dialog A custom dialog, typically a secondary window
    FileDialog A dialog for accessing the file system
    JFrame or Frame A desktop window with a title bar, sizing borders, and sizing buttons
    JInternalFrame A frame that is a child of another Swing component
    JWindow or Window A window without a title bar, sizing borders, and sizing buttons


    Related procedures
    Composing a Window

    Related references
    Beans for Visual Composition

    /html kS$ 77>I6ʿ6$ o& ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjaplt.htm.ivj$$ JApplet

    JApplet

    Palette category
    Swing
    Palette bean
    JApplet
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JApplet

    A JApplet-based bean provides the foundation for a program that can be downloaded and run in a Java-enabled web browser. To use this bean, specify com.sun.java.swing.JApplet as the superclass for a new applet bean.

    The JApplet bean provides a content pane in which to place other components. The content pane provides logical separation of the applet from its child components. With the exception of a JMenuBar, user interface components are added to the content pane, which completely covers the JApplet bean in the Visual Composition Editor. The JApplet bean can be accessed from the Beans List. The default content pane, a JAppletContentPane, is represented in the Beans List as the child of the JApplet bean. You can delete the default content pane and replace it with another container component.

    Use an Applet bean, rather than a JApplet bean, if you want to use AWT components in the applet. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Composing an Applet

    Related references
    Applet Beans
    Beans for Visual Composition

     k0=T$A77@I6ʿ6$0u&A./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjbutn.htm.ivj$$ JButton

    JButton

    Palette category
    Swing
    Palette bean
    JButton
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JButton

    Use a JButton bean to provide a push button that the user can select to perform an action. For example, you can define an OK button to let the user save changes and close a window.

    Use a Button bean, rather than a JButton bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Button Component

    Related references
    Button Beans
    Beans for Visual Composition

    htmwa k0 U$y77@I6ʿ6$0z&y./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjchkb.htm.ivj$$ JCheckBox

    JCheckBox

    Palette category
    Swing
    Palette bean
    JCheckBox
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JCheckBox

    Use a JCheckBox bean to provide a settings choice that has two states, such as on and off. A mark in the check box indicates that the choice is selected. You can customize the images used for unselected and selected check boxes.

    Use a Checkbox bean, rather than a JCheckBox bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Button Component

    Related references
    Button Beans
    Beans for Visual Composition

    Swing  k-V$577@I6ʿ6$0&5./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjchkm.htm.ivj$$ JCheckBoxMenuItem

    JCheckBoxMenuItem

    Palette category
    Swing
    Palette bean
    JCheckBoxMenuItem
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JCheckBoxMenuItem

    Use a JCheckBoxMenuItem bean to provide a menu setting choice that the user can toggle on and off.

    Use a CheckboxMenuItem bean, rather than a JCheckBoxMenuItem bean, if you want to use it in an AWT menu. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    ml/ kDW$.77@I6ʿ6$0&../usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjcomb.htm.ivj$$ JComboBox

    JComboBox

    Palette category
    Swing
    Palette bean
    JComboBox
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JComboBox

    Use a JComboBox bean to provide a selectable drop-down list. You can choose to allow direct text entry as well as selection from the list.

    Use a Choice bean, rather than a JComboBox bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a List or Slider Component

    Related references
    List and Slider Beans
    Beans for Visual Composition

    ui kX$1 77>I6ʿ6$ &1 ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjdial.htm.ivj$$ JDialog

    JDialog

    Palette category
    Swing
    Palette bean
    JDialog
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JDialog

    Use a JDialog bean to provide a custom dialog. A dialog is typically used to display or gather information for a single purpose.

    The JDialog bean provides a content pane in which to place other components. The content pane provides logical separation of the dialog from its child components. With the exception of a JMenuBar, user interface components are added to the content pane. The default content pane, a JDialogContentPane, is represented in the Beans List as the child of the JDialog bean. You can delete the default content pane and replace it with another container component.

    Use a Dialog bean, rather than a JDialog bean, if you want to use AWT components in the dialog. Although Swing and AWT beans can be mixed, it is inadvisable. Alternatively, use a JOptionPane bean to create any of a variety of standard dialogs.


    Related procedures
    Composing a Window

    Related references
    Window Beans
    Beans for Visual Composition

    ; Sp kY$ 77>I6ʿ6$0& ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjdskp.htm.ivj$$ JDesktopPane

    JDesktopPane

    Palette category
    Swing
    Palette bean
    JDesktopPane
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JDesktopPane

    Use a JDesktopPane bean to provide a desktop within another Swing container. Add one or more JInternalFrame beans to the desktop pane.

    You should not use a JDesktopPane bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

    sr/I kL;Z$77>I6ʿ6$@&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjedtp.htm.ivj$$ JEditorPane

    JEditorPane

    Palette category
    Swing
    Palette bean
    JEditorPane
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JEditorPane

    Use a JEditorPane bean for editing defined text types, such as HTML.

    You should not use a JEditorPane bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

    ibmcp kD[$S 77>I6ʿ6$ &S ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjfrme.htm.ivj$$ JFrame

    JFrame

    Palette category
    Swing
    Palette bean
    JFrame
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JFrame

    Use a JFrame bean to provide a desktop window with a title bar, sizing borders, and sizing buttons. You can add beans to the frame and its content pane to define menus and other user interface components.

    The JFrame bean provides a content pane in which to place other components. The content pane provides logical separation of the frame from its child components. With the exception of a JMenuBar, user interface components are added to the content pane. The default content pane, a JFrameContentPane, is represented in the Beans List as the child of the JFrame bean. You can delete the default content pane and replace it with another container component.

    Use a Frame bean, rather than a JFrame bean, if you want to use AWT components in the frame. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Composing a Window

    Related references
    JInternalFrame
    Window Beans
    Beans for Visual Composition

    ;  k*\$E 87>I6ʿ6$ &E ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjifrm.htm.ivj$$ JInternalFrame

    JInternalFrame

    Palette category
    Swing
    Palette bean
    JInternalFrame
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JInternalFrame

    Use a JInternalFrame bean to provide a frame that is a child of a JDesktopPane bean. By contrast, a JFrame bean is a child of the desktop. The user can manipulate an internal frame within a desktop pane. For example, the user can maximize, minimize, resize, move, or close the internal frame.

    The JInternalFrame bean provides a content pane in which to place other components. The content pane provides logical separation of the frame from its child components. With the exception of a JMenuBar, user interface components are added to the content pane. The default content pane, a JInternalFrameContentPane, is represented in the Beans List as the child of the JInternalFrame bean. You can delete the default content pane and replace it with another container component.


    Related procedures
    Composing a Window

    Related references
    JFrame
    Window Beans
    Beans for Visual Composition

     kJ ]$Q87@I6ʿ6$0&Q./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjlabl.htm.ivj$$ JLabel

    JLabel

    Palette category
    Swing
    Palette bean
    JLabel
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JLabel

    Use a JLabel bean to provide a text label for your user interface. You can add a graphic to the label as well as text. You can also define a mnemonic in the label as a means of quick access to a text input field.

    Use a Label bean, rather than a JLabel bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Text Component

    Related references
    Text Beans
    Beans for Visual Composition

    b> JList

    JList

    Palette category
    Swing
    Palette bean
    JList
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JList

    Use a JList bean to provide a list of choices from which the user can make one or more selections. Your program can add or remove choices from the list. If you want the list to be scrollable, you should place it in a JScrollPane.

    By default, the user can select one choice from the list. When the user selects a choice, any previously selected choice is no longer selected. You can change the behavior of the list to allow multiple selection.

    Use a List bean, rather than a JList bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a List or Slider Component

    Related references
    List and Slider Beans
    Beans for Visual Composition

    > JMenuBar

    JMenuBar

    Palette category
    Swing
    Palette bean
    JMenuBar
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JMenuBar

    Use a JMenuBar bean to provide a set of pull-down menus for a window. When you add a JMenuBar bean, one menu is automatically added to the menu bar. You can modify this menu and add other menus that you need.

    Use a MenuBar bean, rather than a JMenuBar bean, if you want to use it with an AWT window or applet. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    eans kK`$87@I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjmenu.htm.ivj$$ JMenu

    JMenu

    Palette category
    Swing
    Palette bean
    JMenu
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JMenu

    Use a JMenu bean to provide a set of related choices for a window or component. You can add the menu either as a pull-down menu for a menu bar or as a cascade menu for another menu. You can also add subclasses of AbstractAction to the free-form surface and add them to the menu in the menu get method.

    Use a Menu bean, rather than a JMenu bean, if you want to use it with an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    >  k| a$87@I6ʿ6$@&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjmitm.htm.ivj$$ JMenuItem

    JMenuItem

    Palette category
    Swing
    Palette bean
    JMenuItem
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JMenuItem

    Use a JMenuItem bean to provide a functional choice for a menu.

    Use a MenuItem bean, rather than a JMenuItem bean, if you want to use it in an AWT menu. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    S">Bean k+b$887>I6ʿ6$0&8./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjoptp.htm.ivj$$ JOptionPane

    JOptionPane

    Palette category
    Swing
    Palette bean
    JOptionPane
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JOptionPane

    Use a JOptionPane bean to provide a simple dialog for an input prompt, a message, or user confirmation. The dialog is modal, so the thread is held until the user dismisses the dialog.

    You should not use a JOptionPane bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

     kc$87>I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjpanl.htm.ivj$$ JPanel

    JPanel

    Palette category
    Swing
    Palette bean
    JPanel
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JPanel

    Use a JPanel bean as a composition surface for other user interface components, such as buttons, lists, and text. You can add a panel to a window, an applet, or another panel. In a Swing window or JApplet, a JPanel can either serve as the contentPane, or be added to the contentPane.

    Use a Panel bean, rather than a JPanel bean, if you want to use AWT components in the panel. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

    o kd$87@I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjpasf.htm.ivj$$ JPasswordField

    JPasswordField

    Palette category
    Swing
    Palette bean
    JPasswordField
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JPasswordField

    Use a JPasswordField bean to provide a text field for sensitive data. A JPasswordField is a text field that always uses an echo character to mask characters that are entered. The echo character can be specified in the property sheet for the JPasswordField. You can use a focus accelerator to provide quick accessability to the password field.

    You should not use a JPasswordField bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Text Component

    Related references
    Text Beans
    Beans for Visual Composition

    tent" kꦠe$97@I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjpopm.htm.ivj$$ JPopupMenu

    JPopupMenu

    Palette category
    Swing
    Palette bean
    JPopupMenu
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JPopupMenu

    Use a JPopupMenu bean to provide a pop-up list of choices for window components. The user can display the menu by clicking a pop-up mouse button on a component. You can also add subclasses of AbstractAction to the free-form surface and add them to the menu in the menu get method.

    Use a PopupMenu bean, rather than a JPopupMenu bean, if you want to use it with an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    ="12" k&Ff$97@I6ʿ6$@&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjprgb.htm.ivj$$ JProgressBar

    JProgressBar

    Palette category
    Swing
    Palette bean
    JProgressBar
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JProgressBar

    Use a JProgressBar bean to provide a progress indicator for an operation.

    You should not use a JProgressBar bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a List or Slider Component

    Related references
    List and Slider Beans
    Beans for Visual Composition

    s.htm# k@0g$]97@I6ʿ6$0&]./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjradb.htm.ivj$$ JRadioButton

    JRadioButton

    Palette category
    Swing
    Palette bean
    JRadioButton
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JRadioButton

    Use a JRadioButton bean to provide one of a group of mutually exclusive settings choices. A mark on the radio button indicates that the choice is selected.

    Use a Checkbox bean with a CheckboxGroup bean, rather than a JRadioButton bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Button Component

    Related references
    Button Beans
    Beans for Visual Composition

    nt" k h$"97@I6ʿ6$0&"./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjradm.htm.ivj$$ JRadioButtonMenuItem

    JRadioButtonMenuItem

    Palette category
    Swing
    Palette bean
    JRadioButtonMenuItem
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JRadioButtonMenuItem

    Use a JRadioButtonMenuItem bean to provide a menu setting choice for a group of mutually exclusive choices.

    You should not use a JRadioButtonMenuItem bean in an AWT menu. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    p/en_U ki$>97@I6ʿ6$0&>./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjscrb.htm.ivj$$ JScrollBar

    JScrollBar

    Palette category
    Swing
    Palette bean
    JScrollBar
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JScrollBar

    Use a JScrollBar bean to provide a scrolling component. Generally, a JScrollPane is a suitable alternative for a scrollable view with scroll bars.

    Use a Scrollbar bean, rather than a JScrollBar bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a List or Slider Component

    Related references
    List and Slider Beans
    Beans for Visual Composition

    rb k_j$97@I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjscrp.htm.ivj$$ JScrollPane

    JScrollPane

    Palette category
    Swing
    Palette bean
    JScrollPane
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JScrollPane

    Use a JScrollPane bean to provide a pane with scroll bars. This enables you to define a pane that is not always completely within view. You can place one component in the scroll pane. If you want multiple components within the scroll pane, add a JPanel bean to the scroll pane and place the components on the panel.

    Use a ScrollPane bean, rather than a JScrollPane bean, if you want to use AWT components in the pane. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

    img sr k9k$v97@I6ʿ6$0&v./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjsepr.htm.ivj$$ JSeparator

    JSeparator

    Palette category
    Swing
    Palette bean
    JSeparator
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JSeparator

    Use a JSeparator bean to visually separate other components. It is commonly used to draw a horizontal line between groups of related choices in a menu, but can also be used to separate components on a panel.

    Use a MenuSeparator bean, rather than a JSeparator bean, if you want to use it in an AWT menu. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    t kX[l$97@I6ʿ6$@&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjsldr.htm.ivj$$ JSlider

    JSlider

    Palette category
    Swing
    Palette bean
    JSlider
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JSlider

    Use a JSlider bean to provide a selection component for a range of values.

    You should not use a JSlider bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a List or Slider Component

    Related references
    List and Slider Beans
    Beans for Visual Composition

     k)m$]97@I6ʿ6$0&]./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjsplp.htm.ivj$$ JSplitPane

    JSplitPane

    Palette category
    Swing
    Palette bean
    JSplitPane
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JSplitPane

    Use a JSplitPane bean to provide a split view for other components. You can place one component on each pane. If you want multiple components within a pane, add a JPanel bean to the pane and place the components on the panel.

    You should not use a JSplitPane bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

    /a> k.{n$:7@I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtabp.htm.ivj$$ JTabbedPane

    JTabbedPane

    Palette category
    Swing
    Palette bean
    JTabbedPane
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JTabbedPane

    Use a JTabbedPane bean to provide a tabbed view for other components. Each component you drop on a JTabbedPane becomes a new page with a separate tab. If you want multiple components within a page, add a JPanel bean to the scroll pane and place the components on the panel. When you add a JTabbedPane bean, a JPanel bean is automatically added as the first page.

    You should not use a JTabbedPane bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

    sr kꌶo$:7@I6ʿ6$0&./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtblc.htm.ivj$$ TableColumn

    TableColumn

    Palette category
    Swing
    Palette bean
    TableColumn
    Project
    JFC class libraries
    Package
    com.sun.java.swing.table
    Type
    TableColumn

    Use a TableColumn bean to provide a view of objects from a table data model column. This bean enables you to map a column in a JTable bean to a column in the table data model. You can also use it to define visual properties of a table column. If you want a default table view of each column in the data model, do not add any TableColumn beans to a JTable bean.


    Related procedures
    Adding a Table or Tree View

    Related references
    Table and Tree Beans
    Beans for Visual Composition

    e kdp$:7@I6ʿ6$0'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtble.htm.ivj$$ JTable

    JTable

    Palette category
    Swing
    Palette bean
    JTable
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JTable

    Use a JTable bean to provide a view of objects from a table data model. Use the table model to define or derive the objects for the table. You can do this either by coding the model or by using a tool such as the database builder to create the data model.

    The user can select objects from the table, manipulate columns, and directly edit table cells.

    You should not use a JTable bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Table or Tree View

    Related references
    Table and Tree Beans
    Beans for Visual Composition

    HT=" kq$:7@I6ʿ6$0 './usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtglb.htm.ivj$$ JToggleButton

    JToggleButton

    Palette category
    Swing
    Palette bean
    JToggleButton
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JToggleButton

    Use a JToggleButton bean to provide a two-state push button. The button appears to be pushed in when selected, and popped out when not selected. Use JToggleButton beans in a button group for a set of mutually exclusive functions. When the user selects an unselected button in the group, the previously selected button is popped out.

    You should not use a JToggleButton bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Button Component

    Related references
    Button Beans
    Beans for Visual Composition

    a> kd r$ :7@I6ʿ6$ ' ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtlbb.htm.ivj$$ JToolBarButton

    JToolBarButton

    Palette category
    Swing
    Palette bean
    JToolBarButton
    Project
    IBM Java Implementation
    Package
    com.ibm.uvm.abt.edit
    Type
    JToolBarButton

    Use a JToolBarButton bean to provide a JButton bean for a tool bar. VisualAge customizes the JButton bean for a tool bar by presetting certain properties as follows:
    Property Setting
    icon question mark
    text null
    margin 0,0,0,0
    horizontalTextPosition CENTER
    verticalTextPosition BOTTOM

    The JToolBarButton bean is provided as a convenience. VisualAge generates code for a JButton bean.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

     kd s$:7@I6ʿ6$0'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtlbr.htm.ivj$$ JToolBar

    JToolBar

    Palette category
    Swing
    Palette bean
    JToolBar
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JToolBar

    Use a JToolBar bean to provide a graphical set of tool choices. When you add a JToolBar bean, a JToolBarButton bean is automatically added as the first component. Add JToolBarButtons and other components to the tool bar. You can also add subclasses of AbstractAction to the free-form surface and add them to the tool bar in the tool bar get method.

    You should not use a JToolBar bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    m#HDR kt$B:7@I6ʿ6$0'B./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtlbs.htm.ivj$$ JToolBarSeparator

    JToolBarSeparator

    Palette category
    Swing
    Palette bean
    JToolBarSeparator
    Java class
    com.ibm.uvm.abt.edit.JToolBarSeparator
    Project
    IBM Java Implementation
    Package
    com.ibm.uvm.abt.edit
    Type
    JToolBarSeparator

    Use a JToolBarSeparator bean to provide visual separation between other components on a tool bar. You can drop a JToolBarSeparator bean only on a JToolBar bean. The JToolBarSeparator bean is provided as a convenience. VisualAge generates code for the addSeparator() method of the JToolBar bean.


    Related procedures
    Adding a Menu or Tool Bar

    Related references
    Menu and Tool Bar Beans
    Beans for Visual Composition

    tm h ku$:7@I6ʿ6$@ './usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtree.htm.ivj$$ JTree

    JTree

    Palette category
    Swing
    Palette bean
    JTree
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JTree

    Use a JTree bean to provide a view of objects from a tree data model. Use the tree model to define or derive the objects for the tree.

    You should not use a JTree bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Table or Tree View

    Related references
    Table and Tree Beans
    Beans for Visual Composition

    c kFcv$:7@I6ʿ6$0$'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtxta.htm.ivj$$ JTextArea

    JTextArea

    Palette category
    Swing
    Palette bean
    JTextArea
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JTextArea

    Use a JTextArea bean to provide a large area for text entry or presentation. A text area can contain multiple lines of text. To make a JTextArea bean scrollable, drop it in a JScrollPane. You can use a focus accelerator to provide quick accessability to the text area.

    Use a TextArea bean, rather than a JTextArea bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Text Component

    Related references
    Text Beans
    Beans for Visual Composition

    0" kTw$\:7@I6ʿ6$0)'\./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtxtf.htm.ivj$$ JTextField

    JTextField

    Palette category
    Swing
    Palette bean
    JTextField
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JTextField

    Use a JTextField bean to provide a field for text entry or presentation. A text field consists of a single line. You can use a focus accelerator to provide quick accessability to the text field.

    Use a TextField bean, rather than a JTextField bean, if you want to use it in an AWT container. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Text Component

    Related references
    Text Beans
    Beans for Visual Composition

    gif" k\=x$;7@I6ʿ6$@.'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjtxtp.htm.ivj$$ JTextPane

    JTextPane

    Palette category
    Swing
    Palette bean
    JTextPane
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JTextPane

    Use a JTextPane bean to provide a pane for editing text with visible styles and embedded objects.

    You should not use a JTextPane bean with AWT components. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Adding a Pane or Panel

    Related references
    Pane and Panel Beans
    Beans for Visual Composition

    ".. ky$ ;7>I6ʿ6$ 2' ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjjwndw.htm.ivj$$ JWindow

    JWindow

    Palette category
    Swing
    Palette bean
    JWindow
    Project
    JFC class libraries
    Package
    com.sun.java.swing
    Type
    JWindow

    Use a JWindow bean to add a window without a title bar, sizing borders, and sizing buttons. This bean is suitable for a splash window that your application displays briefly at startup.

    The JWindow bean provides a content pane in which to place other components. The content pane provides logical separation of the window from its child components. With the exception of a JMenuBar, user interface components are added to the content pane, which completely covers the JWindow bean in the Visual Composition Editor. The JWindow bean can be accessed from the Beans List. The default content pane, a JWindowContentPane, is represented in the Beans List as the child of the JWindow bean. You can delete the default content pane and replace it with another container component.

    Use a Window bean, rather than a JWindow bean, if you want to use AWT components in the window. Although Swing and AWT beans can be mixed, it is inadvisable.


    Related procedures
    Composing a Window

    Related references
    Window Beans
    Beans for Visual Composition

    / kz$8;7BI6ʿ6$@8'8./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjrest.htm.ivj$$ Result Table Beans

    Result Table Beans

    The Servlet Builder result table beans are used to present data from a database.
    Bean Description Requires HtmlForm
    HtmlResultTable A table displaying database query results or Swing table model results Yes
    HtmlResultColumn A column in a table displaying database query results or Swing table model results Yes

     kn {$;7BI6ʿ6$@'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsaplt.htm.ivj$$ HtmlApplet

    HtmlApplet

    Palette category
    Servlet
    Palette bean
    HtmlApplet
    Java class
    HtmlApplet
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlApplet bean to insert a Java applet on your Web page. The HtmlApplet bean generates the HTML element applet. (Java applets might not be supported by all browsers.)

    TheHtmlApplet bean has the following properties:

    align
    Use the align property to specify how you want the element to be aligned on the Web page. You can select any of the following values from the drop-down list:

    AbsMiddle
    Aligns the absolute middle of the image to the absolute middle of the current line.

    AbsBottom
    Aligns the absolute bottom of the image with the true bottom of the current line of text. The true bottom is the lowest point in the text taking into account descenders, even if there are no descenders in the current line. An example of a descender is the tail of a "y".

    Baseline
    In Netscape and earlier versions of Internet Explorer (Version 2.0 and earlier) aligns the bottom of the image in the same horizontal plane as the baseline of the text.

    Bottom
    In Netscape and earlier versions of Internet Explorer (Version 2.0 and earlier), acts the same as Baseline. In Internet Explorer 3.0 and later, acts the same as AbsBottom.

    Center
    Aligns the middle of the image to the middle of the current line.

    Middle
    When using Netscape, aligns the middle of the image to the baseline of the text, regardless of other inline elements. When using Internet Explorer, aligns the middle of the image to the middle of the tallest item in the current line, either text or another image.

    Left
    Aligns the image to the left margin and flows any text around the image.

    Right
    Aligns the image to the right margin and flows any text around the image.

    TextTop
    Aligns the top of the image with the top of the tallest text item in the current line. If there are no other images in the current line, TextTop and Top have the same effect.

    Top
    Aligns the image with the top edge of the tallest item in the current line of text. If there are no other images in the current line, the top of the image is aligned with the top of the text.

    This property is equivalent to the align property of the appropriate HTML element.

    alternateText
    Use the alternateText property to specify the text you want displayed if the element does not display (for example, if the browser cannot load an image or cannot run a Java applet). Alternate text can indicate what is intended to appear even if something prevents the page from loading properly, or if a user interrupts transmission before loading is complete.

    This property is equivalent to the alt property of the appropriate HTML element.

    archive
    Use the archive property to specify a URL identifying the archive file. The archive file may have a suffix of .zip or .jar. The .zip suffix indicates the format of PKZIP or other utilities. The .jar suffix indicates the Java archive format.

    The archive property lets you collect common Java classes into a single library that is cached on the user's local disk. Once the classes are cached, the browser can retrieve applets locally, instead of over the network.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    code
    The code property specifies the filename of the Java class to be executed by the browser.

    codeBase
    The codeBase property specifies an alternate base URL from which your web browser will receive a servlet. Specify a URL that points to the directory containing the class defined by the code property.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    height
    Use the height property to specify the height of the area you want the applet or embed to appear in. Use this property in conjunction with the width property to specify the dimensions of the applet or embed on the page.

    hSpace
    The hSpace property specifies the amount of horizontal space between a floating or inline image and the surrounding text.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs

    parameters
    Use the parameters property to specify the parameters you want to pass to the applet. The parameters are written in the literal HTML form, for example <param name="PhoneNumber" value="555-1212">.

    vSpace
    The vSpace property specifies the amount of vertical space between a floating or inline image and the surrounding text.

    width
    Use the width property to specify the width of the area you want the applet or embed to appear in. Use this property in conjunction with the height property to specify the dimensions in pixels of the applet or embed on the page.

    ext.  k%|$;7BI6ʿ6$@<'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsbtns.htm.ivj$$ Button Beans

    Button Beans

    The Servlet Builder button beans are used to provide a mechanism for rendering button elements.
    Bean Description Requires HtmlForm
    HtmlPushButton A push button Yes
    HtmlCheckBox A toggle button that is checked when selected Yes
    HtmlRadioButtonSet A radio button group for mutually exclusive settings Yes

    ar in.  k V}$;7BI6ʿ6$O'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsbutn.htm.ivj$$ HtmlPushButton

    HtmlPushButton

    Palette category
    Servlet Builder
    Palette bean
    HtmlPushButton
    Java class
    HtmlPushButton
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlPushButton bean to add a push button users can select in order to submit the data from a form or to reset the form to its initial values. The HtmlPushButton bean generates the HTML element input with the type property set to reset, submit, button, or image.

    The HtmlPushButton bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    buttonType
    Use the buttonType property to specify what you want to happen when the user selects the push button at run time. Select one of the following choices:

    <Default>
    The browser's default button type.

    Button
    Used to execute a JavaScript.

    Image
    Works like a Submit button, but with a graphic label.

    Reset
    Resets the values of the form to their initial settings without submitting any data to the server.

    Submit
    Sends the form data to the server for processing.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    imageURL
    Use the imageURL property to specify the location of the image to use for the push button label at run time. You can specify any image file that is supported by the Web browser used at run time, provided the image is in a location accessible to the browser. This property is used only if you have set the buttonType property to Image.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    string
    Use the string property to override the default textual label for the HtmlPushButton. If you do not specify anything for the string property, the default label will be used.

    ds === k`~$ ;7BI6ʿ6$X' ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjschkb.htm.ivj$$ HtmlCheckBox

    HtmlCheckBox

    Palette category
    Servlet Builder
    Palette bean
    HtmlCheckBox
    Java class
    HtmlCheckBox
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlCheckBox bean to add a control that has two distinguishable states: on and off. This bean generates the HTML element input with the type property set to checkbox.

    Use the HtmlCheckBox bean in combination with an HtmlText bean to provide a label for the check box.

    The HtmlCheckBox bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    checked
    Use the checked property to indicate whether the check box is initially selected.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    value
    Use the value property to specify a value to be passed to the server if the check box is selected.

    the loc ko$;7BI6ʿ6$0_'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsclie.htm.ivj$$ Embedded Logic Beans

    Embedded Logic Beans

    The Servlet Builder embedded logic beans are used to include or reference different types of program logic in your HtmlPage.
    Bean Description Requires HtmlForm
    HtmlScript An embed to a Java script or a reference to a Java script file No
    HtmlApplet A reference to a Java applet No
    HtmlServlet A reference to a Java servlet No
    HtmlEmbed A plug-in program No

     k@$ ;7BI6ʿ6$0d' ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjscoki.htm.ivj$$ CookieWrapper

    CookieWrapper

    Palette category
    Servlet Builder
    Palette bean
    CookieWrapper
    Java class
    CookieWrapper
    Java superclass
    com.ibm.ivj.servlet.http.Wrapper

    Use the CookieWrapper bean to add a cookie to your Web page. Cookies are persistent bits of data, information you obtain on a Web page that you want to save and use again.

    The CookieWrapper bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    cookieName
    Use the cookieName property to specify a string as the name of the cookie. If no name is specified, the beanName is used.

    cookieValue
    Use the cookieValue property to set an initial value for the cookie.

    bea ka$<7BI6ʿ6$0i'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjscont.htm.ivj$$ Data Container Beans

    Data Container Beans

    The Servlet Builder Data Container beans are used to hold data used by your servlet.
    Bean Description Requires HtmlForm
    CookieWrapper Persistent data saved on a client. Yes
    SessionDataWrapper Data stored on a server for the duration of an HTTP session Yes
    FormData A container for data collected from the HTML Form Yes
    HtmlHiddenInput Input to the server that is hidden from the user Yes

    ini kP%$ <7BI6ʿ6$n' ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsddls.htm.ivj$$ HtmlDropDownList

    HtmlDropDownList

    Palette category
    Servlet Builder
    Palette bean
    HtmlDropDownList
    Java class
    HtmlDropDownList
    Java superclass
    com.ibm.ivj.servlet.html.HtmlAbstractList

    Use the HtmlDropDownList bean to add a control that displays a list of items from the which the user can select a single item. The selected item is then displayed in the field. The user cannot type new items directly into the field. The HtmlDropDownList bean generates the HTML element select.

    The HtmlDropDownList bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    items
    Use the items to specify the initial items you want displayed by the bean when it appears.

    selectionIndex
    Use the selectionIndex property to specify the index of the item you want initially selected when the bean first appears.

    visibleItemCount
    Use the visibleItemCount property to specify the number of items you want to be visible in the bean at any one time. This property determines the height of the list on the page.

    33887  k$<7BI6ʿ6$'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsembd.htm.ivj$$ HtmlEmbed

    HtmlEmbed

    Palette category
    Servlet Builder
    Palette bean
    HtmlEmbed
    Java class
    HtmlEmbed
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlEmbed bean to add a plug-in program to your Web page. The HtmlEmbed bean generates the HTML element embed. (Plug-ins might not be supported by all browsers.)

    The HtmlEmbed bean has the following properties:

    align
    Use the align property to specify how you want the element to be aligned on the Web page. You can select any of the following values from the drop-down list:

    AbsMiddle
    Aligns the absolute middle of the image to the absolute middle of the current line.

    AbsBottom
    Aligns the absolute bottom of the image with the true bottom of the current line of text. The true bottom is the lowest point in the text taking into account descenders, even if there are no descenders in the current line. An example of a descender is the tail of a "y".

    BaseLine
    In Netscape and earlier versions of Internet Explorer (Version 2.0 and earlier) aligns the bottom of the image in the same horizontal plane as the baseline of the text.

    Bottom
    In Netscape and earlier versions of Internet Explorer (Version 2.0 and earlier), acts the same as Baseline. In Internet Explorer 3.0 and later, acts the same as AbsBottom.

    Center
    Aligns the middle of the image to the middle of the current line.

    Middle
    When using Netscape, aligns the middle of the image to the baseline of the text, regardless of other inline elements. When using Internet Explorer, aligns the middle of the image to the middle of the tallest item in the current line, either text or another image.

    Left
    Aligns the image to the left margin and flows any text around the image.

    Right
    Aligns the image to the right margin and flows any text around the image.

    TextTop
    Aligns the top of the image with the top of the tallest text item in the current line. If there are no other images in the current line, TextTop and Top have the same effect.

    Top
    Aligns the image with the top edge of the tallest item in the current line of text. If there are no other images in the current line, the top of the image is aligned with the top of the text.

    This property is equivalent to the align property of the appropriate HTML element.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    border
    Use the border property to specify the width of the border around the embed region.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    height
    Use the height property to specify the height of the area you want the applet or embed to appear in. Use this property in conjunction with the width property to specify the dimensions of the applet or embed on the page.

    hidden
    Use the hidden property to make an embed invisible in a document. The browser will completely remove the embed from the text stream. It will not leave a blank space. This property is useful for placing audio streams on a Web page.

    horizontal space
    Use the hSpace property to specify the horizontal margin, in pixels, around the embedded object.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    parameters
    Use the parameters property to specify any parameters required for the embedded object to function correctly.

    plugins page
    Use the plugins page property to specify the URL of a Web page that provides information on installing plug-ins required for an embedded object.

    source
    Use the source property to specify the location of the embed. Make sure that the URL points to a location that your client's Web browsers will have access to.

    The source property maps to the HTML src property.

    type
    Use the type property to indicate the MIME type of the embedded object. The MIMe type determines which plug-in the browser uses to process the embedded object.

    vertical space
    Use the vertical space property to specify the vertical margin, in pixels, around the embedded object.

    width
    Use the width property to specify the width of the area you want the applet or embed to appear in. Use this property in conjunction with the height property to specify the dimensions of the applet or embed on the page.

     k\p$<7BI6ʿ6$u'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsentf.htm.ivj$$ HtmlEntryField

    HtmlEntryField

    Palette category
    Servlet Builder
    Palette bean
    HtmlEntryField
    Java class
    HtmlEntryField
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlEntryField bean to add a field into which users can enter information. The HtmlEntryField bean generates the HTML element input with the type property set to text.

    The HtmlEntryField bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    maxLength
    Use the maxLength property to specify the maximum number of characters the field can contain. The default is no limit.

    passwordProtected
    Use the passwordProtected property to specify whether the entry field is used to contain a password. If this property is set to true, the browser will display an asterisk for any key entered in the field.

    This property is equivalent to the password values of the type property of the HTML input element.

    size
    Use the size property to specify the width, in characters, of the entry field. This setting is equivalent to the size property of the HTML input element.

    If the value you specify in this field is less than the value you specify in the maxLength field, then the entry field is scrollable.

    string
    Use the string property to specify textual contents that will appear in the HtmlEntryField when the page opens in a browser.

    / kD}$D<7BI6ʿ6$'D./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsform.htm.ivj$$ HtmlForm

    HtmlForm

    Palette category
    Servlet Builder
    Palette bean
    HtmlForm
    Java class
    HtmlForm
    Java superclass
    com.ibm.ivj.servlet.html.HtmlContainer

    Use the HtmlForm bean to contain a set of elements that provide an interface for user interaction. This bean generates the HTML form element.

    The HtmlForm bean has the following properties:

    action
    Use the action property to specify the URL of the program or script that accepts and processes the contents of the form. This property is equivalent to the action property of the HTML form element.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    method
    Use the method property to specify how you want the form to be submitted:

    Get
    Specifies that you do not want to make any changes to the existing page or database. Essentially, you use Get to retrieve information to present to the user.

    Post
    Specifies that you want to make changes to the existing page or database.

    This property is equivalent to the method property of the HTML form element.

    the kf$. <7BI6ʿ6$'. ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsfrmd.htm.ivj$$ FormData

    FormData

    Palette category
    Servlet Builder
    Palette bean
    FormData
    Java class
    FormData
    Java superclass
    java.lang.Object

    Use a subclass the FormData bean to access data provided from an HtmlForm. FormData beans are generated by the Servlet Builder.

    The FormData bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    When you use a form in your servlet, you have two events available to you by default, even if you have no beans in the form. The events are:

    anyInputReceived
    The anyInputReceived event is used to send data to the server for processing when any event (push button pressed, enter key pressed) occurs on the form. This event is useful if you have several push buttons on a form, and you want the form data sent to the server if any of the buttons or the enter key is pressed. You can do this with one connection instead of connecting every push button.

    enterKeyPressed
    The enterKeyPressed event is used to send data to the server for processing when the user presses the Enter key. This event is similar to the MyButtonPressed event for a submit button. This event can be useful when you are using an HtmlEntryField or an HtmlDropDownList, for example. This allows the user to simply press the Enter key to submit the data that they have entered to the server.

    en kh[$ <7BI6˿6$' ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjshidi.htm.ivj$$ HtmlHiddenInput

    HtmlHiddenInput

    Palette category
    Servlet Builder
    Palette bean
    HtmlHiddenInput
    Java class
    HtmlHiddenInput
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlHiddenInput bean to include hidden input fields in a form. HtmlHiddenInput fields are not displayed to the user, but are submitted to the server along with other form data. The HtmlHiddenInput bean generates the HTML element input with the type property set to hidden. You can use HtmlHiddenInput to simulate state data for a shopping cart application.

    The HtmlHiddenInput bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    string
    Use the string property to specify the contents of the hidden input field.

    b>Po kA$-<7BI6˿6$'-./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsimag.htm.ivj$$ HtmlImage

    HtmlImage

    Palette category
    Servlet Builder
    Palette bean
    HtmlImage
    Java class
    HtmlImage
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlImage bean to add a graphic to a Web page.

    The HtmlImage bean has the following properties:

    align
    Use the align property to specify how you want the element to be aligned on the Web page. You can select any of the following values from the drop-down list (the default is Bottom):

    Bottom
    Aligns the image in the same horizontal plane as the baseline of the text, or aligns the absolute bottom of the image with the true bottom of the current line of text. The true bottom is the lowest point in the text taking into account descenders, even if there are no descenders in the current line. An example of a descender is the tail of a "y".

    Middle
    When using Netscape, aligns the middle of the image to the baseline of the text, regardless of other inline elements. When using Internet Explorer, aligns the middle of the image to the middle of the tallest item in the current line, either text or another image.

    Top
    Aligns the image with the top edge of the tallest item in the current line of text. If there are no other images in the current line, the top of the image is aligned with the top of the text.

    This property is equivalent to the align property of the appropriate HTML element.

    alternateText
    Use the alternateText property to specify the text you want displayed if the element does not display (for example, if the browser cannot load an image or cannot run a Java applet). Alternate text can indicate what is intended to appear even if something prevents the page from loading properly, or if a user interrupts transmission before loading is complete.

    This property is equivalent to the alt property of the appropriate HTML element.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    border
    Use the border property to specify the width of the border around the image. The default border width is 0 for no border.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    height
    Use the height property to specify the height of the graphic image.

    hSpace
    Use the hspace property to specify the size, in pixels, of the horizontal margin around the image.

    isMap
    Use the isMap property to indicate whether the graphic is an image map with hypertext links.

    This property is equivalent to the ismap property of the HTML img element.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    link
    Use the link property to specify where you want to link to from a text or image. If you do not want to place a link on the text or image, leave this property blank.

    This property is equivalent to the href property of the HTML a (anchor) element.

    localFileName
    Use the localFileName property to specify the name of the file for the graphic you want to display at edit time. You can use any graphic file type supported by VisualAge.
    Note:The localFileName property affects only the appearance of the page in the Visual Composition Editor at edit time. It has no effect on the generated HTML and will not cause a graphic to appear in Web browsers at run time. In order to display a runtime graphic, you must specify a location for a graphic using the source property.

    sendSize
    Use the sendSize property to indicate whether you want to send the size of the image to the browser at run time.

    source
    Use the source property to specify the image file's URL. The image URL can either be an absolute path or a path relative to the to the HTML document.

    This field is required.

    vSpace
    Use the vSpace property to specify the size, in pixels, of the vertical margin around the image.

    width
    Use the width property to specify the width of the graphic image.

    t  k$( <7BI6˿6$ '( ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjslinb.htm.ivj$$ HtmlLineBreak

    HtmlLineBreak

    Palette category
    Servlet Builder
    Palette bean
    HtmlLineBreak
    Java class
    HtmlLineBreak
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlLineBreak bean to cause the following HTML element to appear on the next line. This bean generates the HTML br element.

    The HtmlLineBreak bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

     k$=7BI6˿6$'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjslist.htm.ivj$$ HtmlList

    HtmlList

    Palette category
    Servlet Builder
    Palette bean
    HtmlList
    Java class
    HtmlList
    Java superclass
    com.ibm.ivj.servlet.html.HtmlAbstractList

    Use the HtmlList bean to add a control that allows the user to select a single item from a displayed list of choices. The HtmlList bean generates the HTML element select, with the items in the list represented by option elements.

    The HtmlList bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    items
    Use the items to specify the initial items you want displayed by the bean when it appears.

    multipleSelect
    Use the multipleSelect property to specify whether the list is a single select list or a multiple select list. For a single select list, set the property to False.

    selectionIndex
    Use the selectionIndex property to specify the index of the item you want initially selected when the bean first appears.

    selectionIndices
    Use the selectionIndices property to specify the indices of the items you want initially selected when the bean first appears.

    visibleItemCount
    Use the visibleItemCount property to specify the number of items you want to be visible in the bean at any one time. This property determines the height of the list on the page.

    add kD$=7BI6˿6$@'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjslsts.htm.ivj$$ List Beans

    List Beans

    The Servlet Builder list beans are used to present information in lists.
    Bean Description Requires HtmlForm
    HtmlList A list of choices, either single-select or multiple-select Yes
    HtmlDropDownList A compacted list of choices Yes

    . k&C$ =7BI6˿6$ ' ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjslyot.htm.ivj$$ Layout Beans

    Layout Beans

    The Servlet Builder layout beans are used to enhance the presentation of information in a Web browser.
    Bean Description Requires HtmlForm
    HtmlTable A table, usually for page layout No
    HtmlTableColumn A vertical column in a table No
    HtmlTableRow A horizontal row in a table No
    HtmlTableCell A cell in a table (intersection of row and column) No
    HtmlLineBreak A break between HTML elements No
    HtmlParagraph A paragraph break No
    HtmlRule A horizontal line No
    HtmlStyleSheet A reference to a style definition No

     kꮆ$=7BI6˿6$'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjspage.htm.ivj$$ HtmlPage

    HtmlPage

    Palette category
    Servlet Builder
    Palette bean
    HtmlPage
    Java class
    HtmlPage
    Java superclass
    com.ibm.ivj.servlet.http.HtmlContainer

    Use the HtmlPage bean to add an HTML page that contains the other HTML beans. This bean optionally generates the following HTML elements: html, title, and body.

    The HtmlPage bean has the following properties:

    activeLinkColor
    Use the activeLinkColor property to specify the color of link currently selected by the user.

    backgroundColor
    Use the backgroundColor property to set the background color of the page.

    backgroundImage
    Use the backgroundImage property to specify the image you want to use at run time for the background, or wallpaper, of the page. You can specify any image file that is supported by the Web browser used at run time, provided the image is in a location accessible to the browser.

    This property is equivalent to the background property of the HTML body element.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    generateBodyElement
    Use the generateBodyElement property to specify whether you want to include the header and body elements within the HTML generated by the page. The body element delimits the actual content of the page, separating it from the header information such as the title element.

    isPrimaryPage
    Use the isPrimaryPage property to specify which HtmlPage your applet opens on.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    linkColor
    Use the linkColor property to specify the color of linked text on the page.

    This property is equivalent to the link property of the HTML body element.

    localBackgroundImage
    Use the localBackgroundImage property to specify the file containing the graphic you want to use for the page background at edit time. You can use any graphic file type supported by VisualAge.
    Note:The localBackgroundImage property affects only the appearance of the page in the Visual Composition Editor at edit time. It has no effect on the generated HTML and will not cause a graphic to appear in Web browsers at run time. In order to display a runtime graphic, you must specify a location for a graphic using the backgroundImage property.

    metaTags
    Use the metaTags property to add any special fields to the header of your HTML page.

    scripts
    Connect to the scripts property to specify Java code to be used on the HtmlPage. The Java is usually included in the header of the HtmlPage.

    styleSheets
    Connect to the styleSheets property to specify styles to be included in the header of the HtmlPage.

    textColor
    Use the textColor property to specify the color of the text on the page.

    This property is equivalent to the text property of the HTML body element.

    title
    Use the title property to specify the title of the page. The title appears in the title bar of the Web browser at run time.

    visitedLinkColor
    Use the visitedLinkColor property to specify the text color of links the user has previously selected.

    This property is equivalent to the vlink property of the HTML body tag.

    color k$ =7BI6˿6$' ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjspara.htm.ivj$$ HtmlParagraph

    HtmlParagraph

    Palette category
    Servlet Builder
    Palette bean
    HtmlParagraph
    Java class
    HtmlParagraph
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlParagraph bean to specify the beginning of a new paragraph. Paragraphs are separated with vertical spacing. The HtmlParagraph bean generates the HTML p element.

    The HtmlParagraph bean has the following properties:

    align
    Use the align property to specify the alignment for the new paragraph. The valid values are center alignment, right alignment, or left alignment.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    va- k$0=7BI6˿6$@'0./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjspgfm.htm.ivj$$ HtmlPage and HtmlForm Beans

    HtmlPage and HtmlForm Beans

    The Servlet Builder HtmlPage and HtmlForm beans are used to create Web pages that contain HTML elements.
    Bean Description Requires HtmlForm
    HtmlPage An HTML Page to hold HTML elements No
    HtmlForm An HTML form to hold a set of elements that provide an interface for user interaction N/A

     k $K =7BI6˿6$'K ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsradb.htm.ivj$$ HtmlRadioButtonSet

    HtmlRadioButtonSet

    Palette category
    Servlet Builder
    Palette bean
    HtmlRadioButtonSet
    Java class
    HtmlRadioButtonSet
    Java superclass
    com.ibm.ivj.servlet.html.HtmlAbstractList

    Use the HtmlRadioButtonSet bean to add radio buttons that represent mutually exclusive choices. The HtmlRadioButtonSet bean generates the HTML element input with the type property set to radio.

    The HtmlRadioButtonSet bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    items
    Use the items to specify the initial items you want displayed by the bean when it appears.

    selectionIndex
    Use the selectionIndex property to specify the index of the item you want initially selected when the bean first appears.

    vertical
    Use the vertical property to specify whether the bean has a vertical or horizontal orientation.

    ets y k*,$=7BI6˿6$'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsrule.htm.ivj$$ HtmlRule

    HtmlRule

    Palette category
    Servlet Builder
    Palette bean
    HtmlRule
    Java class
    HtmlRule
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlRule bean to add a horizontal line to a Web page. You can use this bean to divide your page into distinct sections. The HtmlRule bean generates the HTML hr element.

    The HtmlRule bean has the following properties:

    align
    Use the align property to specify how you want the element to be aligned on the Web page. You can select any of the following values from the drop-down list:

    Center
    Aligns the HtmlRule horizontally in the center of the page within the left and right text boundary margins.

    Left
    Aligns the HtmlRule against the left margin of the page.

    Right
    Aligns the HtmlRule against the right margin of the page.

    This property is equivalent to the align property of the appropriate HTML element.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    color
    Use the color property to specify the color that the HtmlRule will be rendered in the browser. If you do not specify a color, the HtmlRule will be the same color as the document background.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    height (size)
    Use the height property to specify the thickness, in pixels, of the horizontal rule.

    This property is equivalent to the size property of the HTML hr element.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    noShade
    Use the noShade property to get a two dimensional rule. By default, HtmlRules are three dimensional.

    width
    Use the width property to specify the width of the line as a percentage of the width of the page. For example, if you specify 50 in this field, the rule will appear half the width of the page, even if the user resizes the size of the browser window.

    widthUnits
    Use the widthUnits property to specify the units used by the width property. Select either Percent and Pixels. The default is Pixels.

    , 31 J kI$ =7BI6˿6$' ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsscrp.htm.ivj$$ HtmlScript

    HtmlScript

    Palette category
    Servlet Builder
    Palette bean
    HtmlScript
    Java class
    HtmlScript
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlScript bean to add a Script, or a bit of code, to your servlet. This bean generates the HTML element input.

    The HtmlScript bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    language
    Use the language property to specify what programming language the script is written in, for example JavaScript.

    string
    Use the string property to specify the code to add to your page. You can type the code directly in VisualAge.

    url
    Use the url property to specify the URL of the page that contains the code to add to your page.

    /b> kG$ =7BI6˿6$0( ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjssesd.htm.ivj$$ SessionDataWrapper

    SessionDataWrapper

    Palette category
    Servlet Builder
    Palette bean
    SessionDataWrapper
    Java class
    SessionDataWrapper
    Java superclass
    com.ibm.ivj.servlet.http.Wrapper

    Use the SessionDataWrapper bean to collect data during an HTTP session. Session data is in the form of a key/value pair.

    The SessionDataWrapper bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    propertyName
    Use propertyName to specify a name for the key/value pair that the session data represents. The propertyName must be a string.

    propertyValue
    Use propertyValue to specify a value for the key/value pair that session data represents.

    re k$>7BI6˿6$(./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjssqlc.htm.ivj$$ HtmlResultColumn

    HtmlResultColumn

    Palette category
    Servlet Builder
    Palette bean
    HtmlResultColumn
    Java class
    HtmlResultColumn
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlResultColumn bean to add a column to a Table bean. This bean generates the appropriate HTML tr and td elements.

    The HtmlResultColumn bean has the following properties:

    align
    Use the align property to specify how you want the contents of the cells in the column to be aligned. The values are:

    Center
    Aligns the contents of each cell in the column to the center of the cell.

    Left
    Aligns the contents of each cell in the column to the left edge of the cell.

    Right
    Aligns the contents of each cell in the column to the right edge of the cell.

    This property is equivalent to the align property of the appropriate HTML element.

    alignVertical
    Use the alignVertical property to specify how the contents in the data cell is aligned vertically.

    This property is equivalent to the valign property of the HTML td tag.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    columnName
    Use the columnName property to specify the name of a column generated from the table model or the result table. When the columnName value matches a column in the data, the properties of the column will be applied to the column of data.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    heading
    Use the heading property to specify the heading to be displayed at the top of the column. The height of the heading is determined by the maximum height of all column headings.

    literal
    Use the literal property to indicate whether the text of the bean is to be passed to the Web browser exactly as you typed it. Set literal to true if you want to include HTML tagging in the text. The Web browser must be able to interpret and display the text at run time.

    Use this property if you want to use HTML tagging that is not directly supported by VisualAge.

    At edit time, literal text is displayed in a monospaced font by default. You can specify a different font using the Preferences window.

    selectedItems
    Use the selectedItems property to specify what items in the list are selected by default.

    selectionType
    Use the selectionType property to specify whether you want the column to be a selection column, and what type of selection you want to use. You can specify either CheckBox or RadioButton as the selection type. When you specify a selection type, each row in the column will be prefixed with either a check box or radio button.

    The FormData bean for a form with an HtmlResultColumn with a selection type has connections for items in the selection columns in the form.

    tcol k$>7BI6˿6$(./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjssqlt.htm.ivj$$ HtmlResultTable

    HtmlResultTable

    Palette category
    Servlet Builder
    Palette bean
    HtmlResultTable
    Java class
    HtmlResultTable
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlResultTable bean to present data from a database query in tabular format, in a series of columns with each item occupying a row. This bean generates the HTML element table.
    Note:The HtmlResultTable bean is used in conjunction with the VisualAge database query beans to present the results of database queries. If you want to use table tagging to control the layout of the elements on your page, use the HtmlTable bean.

    The HtmlResultTable bean has the following properties:

    align
    Use the align property to specify how you want the element to be aligned on the Web page. You can select any of the following values from the drop-down list:

    Center
    Aligns the table in the center between the left and right margin of the text flow on the page.

    Left
    Aligns the table flush against the left margin of the text flow on the page. This will cause text to flow around the right side of the table.

    Right
    Aligns the table flush against the right margin of the text flow on the page. This will cause text to flow around the left side of the table.

    This property is equivalent to the align property of the appropriate HTML element.

    alignVertical
    Use the alignVertical property to specify how the material in the data cell is aligned vertically.

    This property is equivalent to the valign property of the HTML td tag.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    border
    Use the border property to specify how wide the table border will be.

    cellPadding
    Use the cellPadding property to specify the amount of space you want to appear around the data in the cells.

    This property is equivalent to the cellpadding property of the HTML table element.

    cellSpacing
    Use the cellSpacing property to specify the amount of space around the cells themselves.

    This property is equivalent to the cellspacing property of the HTML table tag.

    drawBorder
    Use the drawBorder property to specify whether you want a border around the HtmlResultTable.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    showHeadings
    Use the showHeadings property to specify whether or not you want the column headings to be visible.

    tableModel
    Use the tableModel property to specify a source for the HtmlResultTable. The HtmlResultTable can either be populated with data from an SQL JDBC query result or a Swing TableModel object. A Swing TableModel (java.swing.TableModel) is a standard object that can be used to fill in the table columns and rows.

    EFT" v k#$ >7BI6˿6$( ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjsstyl.htm.ivj$$ HtmlStyleSheet

    HtmlStyleSheet

    Palette category
    Servlet Builder
    Palette bean
    HtmlStyleSheet
    Java class
    HtmlStyleSheet
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlStyleSheet bean to add a call to a pre-defined style for an HTML page or element. The pre-defined style can be stored either in a file or on a web page. This bean generates the HTML element .

    The HtmlStyleSheet bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    styles
    Use the styles property to specify the name of the style you want to apply to the element.

    type
    Use the type property to specify the type of style you want to apply to the element.

    url
    Use the url property to specify the URL of the page that contains the style you want to apply to the element.

    specif kNp$`>7BI6˿6$!(`./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjssvlt.htm.ivj$$ HtmlServlet

    HtmlServlet

    Palette category
    Servlet
    Palette bean
    HtmlServlet
    Java class
    HtmlServlet
    Java superclass
    com.ibm.ivj.servlet.html.HtmlServlet

    Use the HtmlServlet bean to insert a Java servlet on your Web page. The HtmlServlet bean generates the HTML element servlet.

    TheHtmlServlet bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    code
    The code property specifies the URL of the servlet to be executed by the browser.

    codeBase
    The codeBase property specifies an alternate base URL from which your web browser will receive a servlet. Specify a URL that points to the directory containing the class defined by the code property.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs

    parameters
    Use the parameters property to specify the parameters you want to pass to the servlet. The parameters are written in the literal HTML form, for example <param name="PhoneNumber" value="555-1212">.

    renderImmediately
    Use the renderImmediately property to specify whether you want the servlet to execute the imbedded servlet when the parent servlet is rendered in a Web browser. If the URL is a service handler (visual servlet) and renderImmediately is true, then the tag will be rendered out without returning the tag to the HTTP server. You can use this property to place the HTML generated by another visual servlet inline with code in the visual servlet.

     k$$>7BI6˿6$)($./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjstabl.htm.ivj$$ HtmlTable

    HtmlTable

    Palette category
    Servlet Builder
    Palette bean
    HtmlTable
    Java class
    HtmlTable
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlTable bean to arrange the information on your page in a tabular format. The HtmlTable bean generates the HTML element table. After you have added an HtmlTable bean to your page, you can modify it to add or remove rows or columns, and you can place other Web Connection beans inside the cells of the table.
    Note:The HtmlResultTable bean also generates HTML table elements. However, HtmlResultTable is intended specifically for presenting the results of database queries, while HtmlTable is intended for page layout.

    The HtmlTable bean has the following properties:

    align
    Use the align property to specify how you want the element to be aligned on the Web page. You can select any of the following values from the drop-down list:

    Left
    Aligns the table flush against the left margin of the text flow on the page. This will cause text to flow around the right side of the table.

    Right
    Aligns the table flush against the right margin of the text flow on the page. This will cause text to flow around the left side of the table.

    This property is equivalent to the align property of the appropriate HTML element.

    alignVertical (VALIGN)
    Use the alignVertical property to specify how the material in the data cell is aligned vertically. Valid values are:
    • Baseline
    • Bottom
    • Center
    • Top

    This property is equivalent to the valign property of the HTML td tag.

    background
    Use the background property to specify the URL of an image to displayed in tiled format as the background of the HtmlTable. If the image is larger than the HtmlTable, the image will be clipped to fit inside the HtmlTable.

    backgroundColor
    Use the backgroundColor property to specify a color for the background of the HtmlTable.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    border
    Use the border property to specify how wide the table border will be.

    borderColorDark
    Use the borderColorDark property to specify the color for the dark highlighted edges of the border. Table borders use light and dark shadows to convey a 3D effect. To maintain the 3D effect, the dark shade for the border color (borderColorDark) should be about 25 percent darker than the borderColor.

    borderColorLight
    Use the borderColorLight property to specify the color for the light highlighted edges of the border. Table borders use light and dark shadows to convey a 3D effect. To maintain the 3D effect, the light shade for the border color (borderColorLight) should be about 25 percent lighter than the borderColor.

    cellPadding
    Use the cellPadding property to specify the amount of space you want to appear around the data in the cells.

    This property is equivalent to the cellpadding property of the HTML table element.

    cellSpacing
    Use the cellSpacing property to specify the amount of space around the cells themselves.

    This property is equivalent to the cellspacing property of the HTML table tag.

    columns
    Use the columns property to specify the number of columns the HtmlTable will contain. The Web browser uses this property to optimize table creation to determine how much space the table needs on the page. If you add a different number of HtmlTableColumns than you specified using the columns property, the browser will ignore the columns property.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    frame
    Use the frame property to specify what type of frame you want your browser to display around the HtmlTable. The frame property modifies the border of the HtmlTable. The values are:

    Default
    Displays the HtmlTable the border as four frame segments forming a box.

    Above
    Displays a frame segment at the top of the HtmlTable.

    Below
    Displays a frame segment at the bottom of the HtmlTable.

    LHS
    Displays a frame segment on the left side of the HtmlTable.

    RHS
    Displays a frame segment on the right side of the HtmlTable.

    HSides
    Displays frame segments at the top and bottom of the HtmlTable.

    VSides
    Displays frame segments on the left and right sides of the HtmlTable.

    height
    Use the height property to specify a minimum height for the table. If the contents of the table dictate that it should be longer than the value specified for the height property, the browser will increase the height of the table.

    hSpace
    Use the hSpace property to specify for the browser to leave extra space to the left and right sides of a table. This can set the table away from the edge of the browser and any other content surrounding the table.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    noWrap
    Use the noWrap property to specify for the browser to not wrap the contents of any cell within the table. If the noWrap property is specified, the browser displays all of the content of each cell in one line, unless an HtmlParagraph or HtmlLineBreak is used.

    rules
    Use the rules property to specify the thickness of a table's internal cell borders, or rules. The values are:

    Rows
    Draws thicker rule lines between every row in the table.

    Cols
    Draws thicker rule lines between every column in the table.

    All
    Draws thicker rule lines around every cell in the table.

    Groups
    Draws thicker rule lines between header rows, body rows, and footer rows, or any columns defined as a group.

    vSpace
    Use the vSpace property to specify for the browser to leave extra space at the top and bottom of a table. This can set the table away from the edge of the browser and any other content surrounding the table.

    width
    Use the width property to specify the width of the table. The units used are determined by the widthUnit property.

    widthUnits
    Use the widthUnits property to specify the units used by the width property. Select either Percent and Pixels. The default is Pixels.

    umns7r5˿6$@(./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjstblc.htm.ivj$$ HtmlTableColumn

    HtmlTableColumn

    The HtmlTableColumn bean represents a column in a table. This bean is accessible only from the table bean. The HtmlTableColumn does not correlate to a specific HTML element. The HtmlTableColumn bean applies to all properties specified to the beans within the specified column.

    The HtmlTableColumn bean has the following properties:

    align
    Use the align property to specify the type of alignment the browser should apply to the contents of the cells in the column. The values are:

    Center
    Aligns the contents of each cell in the column to the center of the cell.

    Left
    Aligns the contents of each cell in the column to the left edge of the cell.

    Right
    Aligns the contents of each cell in the column to the right edge of the cell.

    alignVertical
    Use the alignVertical property to specify the type of vertical alignment the browser should apply to the contents of the cells in the column. The values are:

    Baseline
    Aligns the text in each cell in the column to the baseline of the top line of text in the other cells in the row.

    Bottom
    Aligns the text in each cell in the column to the bottom of the cell.

    Center
    Aligns the text in each cell in the column to the vertical center of the cell.

    Top
    Aligns the text in each cell in the column to the top of the cell.

    areHeaderCells
    Use the areHeaderCells property to specify that the HtmlTableCells in this HtmlTableColumn are treated as header cells.

    background
    Use the background property to specify the URL of an image to displayed as the background of all HtmlTableCells in the HtmlTableColumn. If the image is larger than the cells, the image will be clipped to fit inside the cells.

    backgroundColor
    Use the backgroundColor property to specify a color for the background of the HtmlTableColumn.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    height
    Use the height property to specify a minimum height for the column. If the contents of the column dictate that it should be longer than the value specified for the height property, the browser will increase the height.

    noWrap
    Use the noWrap property to specify for the browser to not wrap the contents of any cell within the table. If the noWrap property is specified, the browser displays all of the content of each cell in one line, unless an HtmlParagraph or HtmlLineBreak is used.

    width
    Use the width property to specify the width of the column. The units used are determined by the widthUnits property.

    widthUnits
    Use the widthUnits property to specify the units used by the width property. Select either Percent and Pixels. The default is Pixels.

    a kBm$0>7r5˿6$R(0./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjstblr.htm.ivj$$ HtmlTableRow

    HtmlTableRow

    The HtmlTableRow bean represents a row in an HtmlTable. This bean is accessible only from the HtmlTable bean.

    The HtmlTableRow bean has the following properties:

    align
    Use the align property to specify the type of horizontal alignment the browser should apply to the contents of the cells in the column. The values are:

    Center
    Aligns the contents of each cell in the row to the center of the cell.

    Left
    Aligns the contents of each cell in the row to the left edge of the cell.

    Right
    Aligns the contents of each cell in the row to the right edge of the cell.

    alignVertical
    Use the alignVertical property to specify the type of vertical alignment the browser should apply to the contents of the cells in the column. The values are:

    Baseline
    Aligns the text in each cell in the row to the baseline of the top line of text in the other cells in the row.

    Bottom
    Aligns the text in each cell in the row to the bottom of the cell.

    Center
    Aligns the text in each cell in the row to the vertical center of the cell.

    Top
    Aligns the text in each cell in the row to the top of the cell.

    areHeaderCells
    Use the areHeaderCells property to specify that the HtmlTableCells in this HtmlTableRow are treated as header cells.

    background
    Use the background property to specify the URL of an image to displayed as the background of all HtmlTableCells in the HtmlTableRow. If the image is larger than the cells, the image will be clipped to fit inside the cells.

    backgroundColor
    Use the backgroundColor property to specify a color for the background of the HtmlTable.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    borderColor
    Use the borderColor property to specify a color for the border of the HtmlTable.

    borderColorDark
    Use the borderColorDark property to specify the color for the dark highlighted edges of the border. Table borders use light and dark shadows to convey a 3D effect. To maintain the 3D effect, the dark shade for the border color (borderColorDark) should be about 25 percent darker than the borderColor.

    borderColorLight
    Use the borderColorLight property to specify the color for the light highlighted edges of the border. Table borders use light and dark shadows to convey a 3D effect. To maintain the 3D effect, the light shade for the border color (borderColorLight) should be about 25 percent lighter than the borderColor.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    height
    Use the height property to specify a minimum height for the row. If the contents of the row dictate that it should be longer than the value specified for the height property, the browser will increase the height.

    noWrap
    Use the noWrap property to specify for the browser to not wrap the contents of any cell within the table. If the noWrap property is specified, the browser displays all of the content of each cell in one line, unless an HtmlParagraph or HtmlLineBreak is used.

    width
    Use the width property to specify the width of the row. The units used are determined by the widthUnits property.

    widthUnits
    Use the widthUnits property to specify the units used by the width property. Select either Percent and Pixels. The default is Pixels.

     k²$>7r5˿6$^(./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjstcel.htm.ivj$$ HtmlTableCell

    HtmlTableCell

    The HtmlTableCell bean represents a cell in an HtmlTable. This bean is accessible only from the HtmlTable bean.

    The HtmlTableCell bean has the following properties:

    align
    Use the align property to specify how the information in the data cell is aligned horizontally.

    This property is equivalent to the align property of the HTML td tag.

    alignVertical (VALIGN)
    Use the alignVertical property to specify how the material in the data cell is aligned vertically.

    You can also specify other alignments supported by your browser by typing the appropriate string directly into the field.

    This property is equivalent to the valign property of the HTML td tag.

    background
    Use the background property to specify a graphic image to be displayed as the background of the table cell.

    backgroundColor
    Use the backgroundColor property to specify a color for the background of the HtmlTableCell.

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    borderColor
    Use the borderColor property to specify a color for the border of the HtmlTableCell.

    borderColorDark
    Use the borderColorDark property to specify the color for the dark highlighted edges of the border. Table borders use light and dark shadows to convey a 3D effect. To maintain the 3D effect, the dark shade for the border color (borderColorDark) should be about 25 percent darker than the borderColor.

    borderColorLight
    Use the borderColorLight property to specify the color for the light highlighted edges of the border. Table borders use light and dark shadows to convey a 3D effect. To maintain the 3D effect, the light shade for the border color (borderColorLight) should be about 25 percent lighter than the borderColorLight.

    height
    Use the height property to specify a minimum height for the cell. If the contents of the cell dictate that it should be longer than the value specified for the height property, the browser will increase the height of the cell.

    isHeaderCell
    Use the isHeaderCell property to indicate whether the cell is a header cell. If you set this property to true, VisualAge generates the th element, and the text in the cell is highlighted.

    noWrap
    Use the noWrap property to specify for the browser to not wrap the contents of the table cell. If the noWrap property is specified, the browser displays all of the content of each cell in one line, unless an HtmlParagraph or HtmlLineBreak is used.

    width
    Use the width property to specify the width of the cell. The units used are determined by the widthUnit property.

    widthUnits
    Use the widthUnits property to specify the units used by the width property. Select either Percent and Pixels. The default is Pixels.

    0"> kt$_>7BI6˿6$h(_./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjstext.htm.ivj$$ HtmlText

    HtmlText

    Palette category
    Servlet Builder
    Palette bean
    HtmlText
    Java class
    HtmlText
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlText bean to add text to a Web page. The text can wrap across multiple lines. You must use a separate HtmlText bean for each block of text you want to appear with special formatting (such as underlining or italics) or with a hypertext link.

    The HtmlText bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    bold
    Use the bold property to specify whether or not the HtmlText should be in a boldface font.

    fantasize
    Use the fontSize property to specify the size of the font you want to use for the text specified in this bean. Valid values are any integer between 1 and 7. The specific size of the font at run time depends upon the browser defaults.

    This property is equivalent to the size property of the HTML font element.

    foregroundColor
    Use the foregroundColor property to specify the text color of the text on the page. (Some browsers might not support changing text color.)

    This property is equivalent to the color property of the HTML font element.

    headerLevel
    Use the headerLevel property to specify the level of text for a heading. Valid values are the integers from 1 to 6. (If the text is not a heading, set this property to <Default>.)

    This property is equivalent to the HTML h1 through h6 elements.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    italic
    Use the italic property specifies whether or not you want the text to appear in italic type face.

    This property is equivalent to the HTML i tag.

    link
    Use the link property to specify where you want to link to from a text or image. If you do not want to place a link on the text or image, leave this property blank.

    This property is equivalent to the href property of the HTML a (anchor) element.

    literal
    Use the literal property to indicate whether the text of the bean is to be passed to the Web browser exactly as you typed it. Set literal to true if you want to include HTML tagging in the text. The Web browser must be able to interpret and display the text at run time.

    Use this property if you want to use HTML tagging that is not directly supported by VisualAge.

    At edit time, literal text is displayed in a monospaced font by default. You can specify a different font using the Preferences window.

    preformatted
    Use the preformatted property to specify that the text should appear exactly as it is typed, with line breaks preserved. Most browsers use a monospaced font to display preformatted text.

    This property is equivalent to the HTML pre tag.

    At edit time, a monospaced font is used as the default. You can specify a different font using the Preferences window.

    string
    Use the string property to specify the content of the HtmlText bean. Each HtmlText bean can only have one style, font, color, etc. If you want one word in a sentence to have a different emphasis than the rest of the sentence (for example, italic), you must use separate HtmlText beans. The sentence "Welcome to Wally's Wine World online catalog!" would require three HtmlText beans.

    typewriter
    Use the typewriter property to indicate that the text should be displayed in a typewriter font.

    This property is equivalent to the HTML tt tag.

    At edit time, a monospaced font is used as the default. You can specify a different font using the Preferences window.

    r k2+$?7BI6˿6$t(./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjstxta.htm.ivj$$ HtmlTextArea

    HtmlTextArea

    Palette category
    Servlet Builder
    Palette bean
    HtmlTextArea
    Java class
    HtmlTextArea
    Java superclass
    com.ibm.ivj.servlet.html.HtmlComponent

    Use the HtmlTextArea bean to add a scrollable pane control that collects multiple lines of text from the user. This bean generates the HTML element textarea.

    The HtmlTextArea bean has the following properties:

    beanName
    In the beanName field, type the name you want to use to describe the bean. The beanName property maps to the name field and may appear in the name parameter of the HTML. For non-visual beans, this text appears under the icon for the bean on the free-form surface.

    The name of the bean can consist of alphanumeric characters, and must be unique from all other beans on the layout surface.

    This field is optional. If you do not specify a bean name, VisualAge generates a unique name based on the class name of the bean.

    columns
    Use the columns property to specify the width, in average character widths, of the bean.

    extraAttributes
    Use the extraAttributes property to specify any additional HTML properties that you want included in the HTML tagging generated by the bean. You can use this property to include HTML properties that are not directly supported by VisualAge. The extraAttributes property is also a good place holder for JavaScripts.

    isVisible
    Use the isVisible property to specify whether an element is visible when your visual servlet is rendered in a web browser. This property lets you hide elements from the user. This is useful for adding comments to an HTML page or for hiding an element from the user until some event occurs.

    rows
    Use the rows property to specify the height, in character rows, of the bean.

    This property is equivalent to the rows property of the HTML textarea element.

    string
    Use the string property to insert default text into the HtmlTextArea.

    wrap
    Use the wrap property to indicate how lines of text should be treated when they extend beyond the right edge of the bean. If you have horizontal scroll bars displayed, this property has no effect. Valid values include:

    • Off

    • Virtual

    • Physical

    • <Default> (browser default)

    This property is equivalent to the wrap property of the HTML textarea element.

     kj$?7BI6˿6$0'./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjstxts.htm.ivj$$ Text, Entry Field, Text Area, and Image Beans

    Text, Entry Field, Text Area, and Image Beans

    The Servlet Builder text and image beans are used to display text and graphical images on an HTML page or to allow the user of the servlet to enter text on an HTML page.
    Bean Description Requires HtmlForm
    HtmlText A block of text No
    HtmlImage A graphic image No
    HtmlEntryField A single-line text field Yes
    HtmlTextArea A multi-line text area Yes

    ant inc kn$ ?7BI6˿6$0( ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjvfact.htm.ivj$$ Factory

    Factory

    Palette category
    Other
    Palette bean
    Factory
    Project
    None
    Package
    None
    Type
    None

    A Factory bean dynamically creates instances of a Java bean that you specify. A Factory is not a Java class, and is not an instance of the bean it creates. The Factory creates a bean instance whenever an event occurs, based on a connection you make from the event.

    Generally, when you add a bean to a composite bean, a fixed instance of that bean is created. When you add a Factory bean, however, a bean instance is not created. Instead, you can make a connection to dynamically create a bean instance of the type specified for the Factory. Connections to the Factory's features then operate on the created bean instance. If you create another bean instance, connections to the Factory's features operate on the newly created bean instance rather than on the previously created instance. The Factory bean serves as a bean instance generator.


    Related procedures
    Dynamically Creating and Accessing a Bean Instance

    Related references
    Factory and Variable Beans
    Beans for Visual Composition

    . /P kO$ ?7BI6˿6$ ( ./usr/IBMVJava/html/enterp/en_US/visbuild/html/rhjvvrbl.htm.ivj$$ Variable

    Variable

    Palette category
    Other
    Palette bean
    Variable
    Project
    None
    Package
    None
    Type
    None

    Use a Variable bean to reference any instance of a particular class. A Variable is not a Java class, and is not an instance of the class it represents. Variable beans are commonly used to represent tear-off properties and objects from other composite beans.

    Generally, when you add a bean to a composite bean, a single fixed instance of that bean is created. When you add a Variable bean, however, a bean instance is not created. Instead, you can make a connection to assign any bean instance of the type specified for the Variable. Connections to the Variable's features then operate on the assigned bean instance. If you assign another bean instance to the Variable, connections to the Variable's features operate on the newly assigned bean instance rather than on the previously assigned instance. The Variable bean serves as a reference for bean instances.


    Related procedures
    Dynamically Creating and Accessing a Bean Instance

    Related references
    Factory and Variable Beans
    Beans for Visual Composition

     kQ$ ?7HI6˿6$0( ./usr/IBMVJava/html/enterp/en_US/visbuild/html/t5ejnucs.htm.ivj$$ Writing your own services

    Writing your own services

    If you are not using a relational database to persist your object model, you need to write your own data services. However, you can still use the code generation services to create code stubs that you can complete according to your data store requirements. Before writing your data services, you must first do the following:

    1. Define the model.
    2. Define the schema.
    3. Define a data store map.
    4. Generate the persistence support code using code generation services.

    Defining the persistence support code

    The code stubs generated by the code generation services can be completed in the appropriate manner for your specific data store. In particular, the execute methods for the service classes must be completed and the data object class must be implemented to retrieve values from the appropriate data structures.

    See the implementation of the "execute..." scripts in RelationalServiceObject class to see how results should be cached, returned, and errors reported. These scripts illustrate the typical operations needed to work with a data store.


    Related procedures
    Managing business objects
    Performance tuning

    ./hg k~$Q ?7^5˿6$(Q ./usr/IBMVJava/html/enterp/en_US/visbuild/html/t5ejqstr.htm.ivj$$ Choosing an Approach to Persistence

    Choosing an Approach to Persistence

    There are different ways to begin using Persistence Builder:

    • From scratch. In this scenario, you would define your model, define your schema (or generate one from the model), define the data store map, and then use the code generation services to create the domain classes and services.

    • From legacy database. In this scenario, a legacy database exists but no object model. You could import the schema from the existing database, define your model (or generate one from the schema), define the data store map, then use the code generation services as noted earlier.

    Shortcuts: As mentioned, from an existing model, you can generate a default schema and vice versa. Generating models from schemas , and schemas from models is accomplished by using the Persistence Builder tools. The Model Browser has a menu option for generating schemas, and the Schema Browser has one for generating models. Consider this: if you have an existing database, you could import your schema, generate your model from your schema, define the data store map, and then use the code generation services.

    The following discussion assumes you are using Persistence Builder to build an object model from scratch. That is, you are defining the model, schema, and data store map, and then using the code generation services. Rather than a concrete example to follow, these highlights are intended to help you undertstand the overall process for using Persistence Builder.

    Creating the data services layer automatically or manually

    Before we begin, a first consideration is how the data services layer will be built. The data services layer is created using code generation services after you define a model, schema, and data store map. You can use the code generations services to create a complete set of data services when persisting to relational databases. The code is complete and ready to run. You can fine tune it if necessary. If you are not persisting to a relational data store, however, then you need to write your own data services, but not completely from scratch. You can use the code generation services to create code stubs which you can then complete according to the requirements of your data store..